From 7d47a81f2cd22aa3531bd73cfd532d954f0aadd0 Mon Sep 17 00:00:00 2001 From: "Sameeksha Vaity (from Dev Box)" Date: Tue, 31 Oct 2023 11:59:38 -0700 Subject: [PATCH 1/6] add test sample --- .../AnalyzeBusinessCardFromUrl.java | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeBusinessCardFromUrl.java diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeBusinessCardFromUrl.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeBusinessCardFromUrl.java new file mode 100644 index 000000000000..60d7ad66ea02 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeBusinessCardFromUrl.java @@ -0,0 +1,78 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.http.policy.HttpLogDetailLevel; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.SyncPoller; + +import java.io.File; +import java.nio.file.Path; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * Sample for analyzing business card information from a URL. + */ +public class AnalyzeBusinessCardFromUrl { + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{apikey}")) + .endpoint("https:{endpoint}.cognitiveservices.azure.com") + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS).setAllowedHeaderNames(Set.of("Ocp-Apim-Subscription-Key"))) + .buildClient(); + + String businessCardUrl = + "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer" + + "/azure-ai-formrecognizer/src/samples/resources/sample-forms/businessCards/businessCard.jpg"; + + SyncPoller analyzeBusinessCardPoller = + client.beginAnalyzeDocument("prebuilt-businessCard", null, null, null, null, null, null, + new AnalyzeDocumentRequest().setUrlSource(businessCardUrl)); + + AnalyzeResult businessCardPageResults = analyzeBusinessCardPoller.getFinalResult(); + + for (int i = 0; i < businessCardPageResults.getDocuments().size(); i++) { + System.out.printf("--------Analyzing business card %d%n--------", i); + Document analyzedBusinessCard = businessCardPageResults.getDocuments().get(i); + Map businessCardFields = analyzedBusinessCard.getFields(); + DocumentField contactNamesDocumentField = businessCardFields.get("ContactNames"); + if (contactNamesDocumentField != null) { + if (DocumentFieldType.ARRAY == contactNamesDocumentField.getType()) { + List contactNamesList = contactNamesDocumentField.getValueArray(); + contactNamesList.stream() + .filter(contactName -> DocumentFieldType.OBJECT == contactName.getType()) + .map(contactName -> { + System.out.printf("Contact name: %s%n", contactName.getContent()); + return contactName.getValueObject(); + }) + .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> { + if ("FirstName".equals(key)) { + if (DocumentFieldType.STRING == contactName.getType()) { + String firstName = contactName.getValueString(); + System.out.printf("\tFirst Name: %s, confidence: %.2f%n", + firstName, contactName.getConfidence()); + } + } + })); + } + } + } + } +} From 1075306be8e831eb5e29d6f8fff0b030b083cfa3 Mon Sep 17 00:00:00 2001 From: "Sameeksha Vaity (from Dev Box)" Date: Thu, 2 Nov 2023 19:01:20 -0700 Subject: [PATCH 2/6] new generation --- .../documentintelligence/AnalyzeBusinessCardFromUrl.java | 8 ++++---- .../azure-ai-documentintelligence/tsp-location.yaml | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/tsp-location.yaml diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeBusinessCardFromUrl.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeBusinessCardFromUrl.java index 60d7ad66ea02..16e0d4be7251 100644 --- a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeBusinessCardFromUrl.java +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeBusinessCardFromUrl.java @@ -33,17 +33,17 @@ public class AnalyzeBusinessCardFromUrl { public static void main(final String[] args) { // Instantiate a client that will be used to call the service. DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() - .credential(new AzureKeyCredential("{apikey}")) - .endpoint("https:{endpoint}.cognitiveservices.azure.com") + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS).setAllowedHeaderNames(Set.of("Ocp-Apim-Subscription-Key"))) .buildClient(); String businessCardUrl = "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer" - + "/azure-ai-formrecognizer/src/samples/resources/sample-forms/businessCards/businessCard.jpg"; + + "/azure-ai-formrecognizer/src/samples/resources/sample-forms/receipts/contoso-allinone.jpg"; SyncPoller analyzeBusinessCardPoller = - client.beginAnalyzeDocument("prebuilt-businessCard", null, null, null, null, null, null, + client.beginAnalyzeDocument("prebuilt-receipt", null, null, null, null, null, null, new AnalyzeDocumentRequest().setUrlSource(businessCardUrl)); AnalyzeResult businessCardPageResults = analyzeBusinessCardPoller.getFinalResult(); diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/tsp-location.yaml b/sdk/documentintelligence/azure-ai-documentintelligence/tsp-location.yaml new file mode 100644 index 000000000000..2ef76b14579a --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/tsp-location.yaml @@ -0,0 +1,3 @@ +directory: specification/cognitiveservices/DocumentIntelligence +commit: f60bb011012ccbeacc09ebb268dd9284966e3400 +repo: Azure/azure-rest-api-specs-pr From 50a8b990c6bea188f8bdd4cc89ed80b48116615d Mon Sep 17 00:00:00 2001 From: "Sameeksha Vaity (from Dev Box)" Date: Sun, 5 Nov 2023 22:20:34 -0800 Subject: [PATCH 3/6] 11/05 generation --- .../CHANGELOG.md | 13 + .../azure-ai-documentintelligence/README.md | 65 + .../azure-ai-documentintelligence/assets.json | 6 + .../azure-ai-documentintelligence/pom.xml | 100 + .../DocumentAnalysisAsyncClient.java | 270 ++ .../DocumentAnalysisClient.java | 270 ++ .../DocumentAnalysisClientBuilder.java | 300 ++ .../DocumentIntelligenceServiceVersion.java | 34 + ...ocumentModelAdministrationAsyncClient.java | 963 +++++ .../DocumentModelAdministrationClient.java | 885 ++++ ...umentModelAdministrationClientBuilder.java | 301 ++ .../DocumentAnalysisClientImpl.java | 879 ++++ ...DocumentModelAdministrationClientImpl.java | 3675 +++++++++++++++++ .../implementation/package-info.java | 9 + .../models/AddressValue.java | 257 ++ .../models/AnalyzeDocumentRequest.java | 79 + .../models/AnalyzeResult.java | 295 ++ .../models/AnalyzeResultOperation.java | 118 + .../models/AuthorizeCopyRequest.java | 101 + .../models/AzureBlobContentSource.java | 71 + .../AzureBlobFileListContentSource.java | 63 + .../models/BoundingRegion.java | 68 + .../BuildDocumentClassifierRequest.java | 93 + .../models/BuildDocumentModelRequest.java | 187 + .../models/ClassifierDocumentTypeDetails.java | 113 + .../models/ClassifyDocumentRequest.java | 79 + .../models/ComponentDocumentModelDetails.java | 42 + .../models/ComposeDocumentModelRequest.java | 123 + .../models/ContentFormat.java | 50 + .../models/ContentSourceKind.java | 56 + .../models/CopyAuthorization.java | 146 + .../models/CurrencyValue.java | 76 + .../models/CustomDocumentModelsDetails.java | 62 + .../documentintelligence/models/Document.java | 119 + .../models/DocumentAnalysisFeature.java | 65 + .../models/DocumentBarcode.java | 126 + .../models/DocumentBarcodeKind.java | 95 + .../models/DocumentBuildMode.java | 50 + .../models/DocumentCaption.java | 97 + ...cumentClassifierBuildOperationDetails.java | 54 + .../models/DocumentClassifierDetails.java | 136 + .../models/DocumentField.java | 351 ++ .../models/DocumentFieldSchema.java | 111 + .../models/DocumentFieldType.java | 86 + .../models/DocumentFigure.java | 111 + .../models/DocumentFootnote.java | 97 + .../models/DocumentFormula.java | 126 + .../models/DocumentFormulaKind.java | 50 + .../models/DocumentKeyValueElement.java | 80 + .../models/DocumentKeyValuePair.java | 80 + .../models/DocumentLanguage.java | 87 + .../models/DocumentLine.java | 85 + .../models/DocumentList.java | 64 + .../models/DocumentListItem.java | 118 + .../DocumentModelBuildOperationDetails.java | 54 + .../DocumentModelComposeOperationDetails.java | 54 + .../DocumentModelCopyToOperationDetails.java | 54 + .../models/DocumentModelDetails.java | 201 + .../models/DocumentPage.java | 222 + .../models/DocumentParagraph.java | 97 + .../models/DocumentSection.java | 60 + .../models/DocumentSelectionMark.java | 106 + .../models/DocumentSelectionMarkState.java | 50 + .../models/DocumentSignatureType.java | 50 + .../models/DocumentSpan.java | 61 + .../models/DocumentStyle.java | 168 + .../models/DocumentTable.java | 155 + .../models/DocumentTableCell.java | 189 + .../models/DocumentTableCellKind.java | 59 + .../models/DocumentTypeDetails.java | 94 + .../models/DocumentWord.java | 109 + .../ai/documentintelligence/models/Error.java | 114 + .../models/FontStyle.java | 50 + .../models/FontWeight.java | 50 + .../models/InnerError.java | 68 + .../models/LengthUnit.java | 53 + .../models/OperationDetails.java | 205 + .../models/OperationStatus.java | 59 + .../models/ParagraphRole.java | 65 + .../models/QuotaDetails.java | 84 + .../models/ResourceDetails.java | 63 + .../models/SplitMode.java | 53 + .../models/StringIndexType.java | 53 + .../models/package-info.java | 9 + .../ai/documentintelligence/package-info.java | 9 + .../src/main/java/module-info.java | 15 + .../azure-ai-documentintelligence.properties | 2 + .../documentintelligence/ReadmeSamples.java | 12 + .../tsp-location.yaml | 2 +- 89 files changed, 14785 insertions(+), 1 deletion(-) create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/CHANGELOG.md create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/README.md create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/assets.json create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/pom.xml create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisAsyncClient.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisClient.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisClientBuilder.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceServiceVersion.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationAsyncClient.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationClient.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationClientBuilder.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentAnalysisClientImpl.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentModelAdministrationClientImpl.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/package-info.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AddressValue.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeDocumentRequest.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResult.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResultOperation.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AuthorizeCopyRequest.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobContentSource.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobFileListContentSource.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BoundingRegion.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentClassifierRequest.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentModelRequest.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifierDocumentTypeDetails.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifyDocumentRequest.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComponentDocumentModelDetails.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComposeDocumentModelRequest.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentFormat.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentSourceKind.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CopyAuthorization.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CurrencyValue.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CustomDocumentModelsDetails.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Document.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentAnalysisFeature.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcode.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcodeKind.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBuildMode.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentCaption.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierBuildOperationDetails.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierDetails.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentField.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldSchema.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldType.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFigure.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFootnote.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormula.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormulaKind.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValueElement.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValuePair.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLanguage.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLine.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentList.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentListItem.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelBuildOperationDetails.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelComposeOperationDetails.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelCopyToOperationDetails.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelDetails.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentPage.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentParagraph.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSection.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMark.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMarkState.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSignatureType.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSpan.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentStyle.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTable.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCell.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCellKind.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTypeDetails.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentWord.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Error.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontStyle.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontWeight.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/InnerError.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/LengthUnit.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationDetails.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationStatus.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ParagraphRole.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/QuotaDetails.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ResourceDetails.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/SplitMode.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/StringIndexType.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/package-info.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/package-info.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/module-info.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/resources/azure-ai-documentintelligence.properties create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/ReadmeSamples.java diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/CHANGELOG.md b/sdk/documentintelligence/azure-ai-documentintelligence/CHANGELOG.md new file mode 100644 index 000000000000..d3d0c4b5692c --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/CHANGELOG.md @@ -0,0 +1,13 @@ +# Release History + +## 1.0.0-beta.1 (Unreleased) + +- Azure DocumentIntelligence client library for Java. This package contains Microsoft Azure DocumentIntelligence client library. + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/README.md b/sdk/documentintelligence/azure-ai-documentintelligence/README.md new file mode 100644 index 000000000000..591d1fe6d5ca --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/README.md @@ -0,0 +1,65 @@ +# Azure DocumentIntelligence client library for Java + +Azure DocumentIntelligence client library for Java. + +This package contains Microsoft Azure DocumentIntelligence client library. + +## Documentation + +Various documentation is available to help you get started + +- [API reference documentation][docs] +- [Product documentation][product_documentation] + +## Getting started + +### Prerequisites + +- [Java Development Kit (JDK)][jdk] with version 8 or above +- [Azure Subscription][azure_subscription] + +### Adding the package to your product + +[//]: # ({x-version-update-start;com.azure:azure-ai-documentintelligence;current}) +```xml + + com.azure + azure-ai-documentintelligence + 1.0.0-beta.1 + +``` +[//]: # ({x-version-update-end}) + +### Authentication + +[Azure Identity][azure_identity] package provides the default implementation for authenticating the client. + +## Key concepts + +## Examples + +```java com.azure.ai.documentintelligence.readme +``` + +## Troubleshooting + +## Next steps + +## Contributing + +For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md). + +1. Fork it +1. Create your feature branch (`git checkout -b my-new-feature`) +1. Commit your changes (`git commit -am 'Add some feature'`) +1. Push to the branch (`git push origin my-new-feature`) +1. Create new Pull Request + + +[product_documentation]: https://azure.microsoft.com/services/ +[docs]: https://azure.github.io/azure-sdk-for-java/ +[jdk]: https://learn.microsoft.com/azure/developer/java/fundamentals/ +[azure_subscription]: https://azure.microsoft.com/free/ +[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-java%2Fsdk%2Fdocumentintelligence%2Fazure-ai-documentintelligence%2FREADME.png) diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/assets.json b/sdk/documentintelligence/azure-ai-documentintelligence/assets.json new file mode 100644 index 000000000000..f35191297bb5 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/assets.json @@ -0,0 +1,6 @@ +{ + "AssetsRepo" : "Azure/azure-sdk-assets", + "AssetsRepoPrefixPath" : "java", + "TagPrefix" : "java/documentintelligence/azure-ai-documentintelligence", + "Tag" : "" +} \ No newline at end of file diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/pom.xml b/sdk/documentintelligence/azure-ai-documentintelligence/pom.xml new file mode 100644 index 000000000000..10c44ce5a06f --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/pom.xml @@ -0,0 +1,100 @@ + + + 4.0.0 + + com.azure + azure-client-sdk-parent + 1.7.0 + ../../parents/azure-client-sdk-parent + + + com.azure + azure-ai-documentintelligence + 1.0.0-beta.1 + jar + + Microsoft Azure SDK for DocumentIntelligence + This package contains Microsoft Azure DocumentIntelligence client library. + https://github.com/Azure/azure-sdk-for-java + + + + The MIT License (MIT) + http://opensource.org/licenses/MIT + repo + + + + + https://github.com/Azure/azure-sdk-for-java + scm:git:git@github.com:Azure/azure-sdk-for-java.git + scm:git:git@github.com:Azure/azure-sdk-for-java.git + HEAD + + + + microsoft + Microsoft + + + + UTF-8 + + + + com.azure + azure-core + 1.45.0 + + + com.azure + azure-core-http-netty + 1.13.10 + + + org.junit.jupiter + junit-jupiter-api + 5.9.3 + test + + + org.junit.jupiter + junit-jupiter-engine + 5.9.3 + test + + + org.mockito + mockito-core + 4.11.0 + test + + + com.azure + azure-core-test + 1.22.0 + test + + + com.azure + azure-identity + 1.10.4 + test + + + org.slf4j + slf4j-simple + 1.7.36 + test + + + com.azure + azure-core-experimental + 1.0.0-beta.46 + + + diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisAsyncClient.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisAsyncClient.java new file mode 100644 index 000000000000..f464a40b57cf --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisAsyncClient.java @@ -0,0 +1,270 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.implementation.DocumentAnalysisClientImpl; +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.ClassifyDocumentRequest; +import com.azure.ai.documentintelligence.models.ContentFormat; +import com.azure.ai.documentintelligence.models.DocumentAnalysisFeature; +import com.azure.ai.documentintelligence.models.SplitMode; +import com.azure.ai.documentintelligence.models.StringIndexType; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.PollerFlux; +import com.azure.core.util.serializer.CollectionFormat; +import com.azure.core.util.serializer.JacksonAdapter; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** Initializes a new instance of the asynchronous DocumentAnalysisClient type. */ +@ServiceClient(builder = DocumentAnalysisClientBuilder.class, isAsync = true) +public final class DocumentAnalysisAsyncClient { + @Generated private final DocumentAnalysisClientImpl serviceClient; + + /** + * Initializes an instance of DocumentAnalysisAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + DocumentAnalysisAsyncClient(DocumentAnalysisClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Analyzes document with document model. + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginAnalyzeDocument(String modelId, RequestOptions requestOptions) { + return this.serviceClient.beginAnalyzeDocumentAsync(modelId, requestOptions); + } + + /** + * Classifies document with document classifier. + * + *

Query Parameters + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param classifierId Unique document classifier name. + * @param classifyRequest Classify request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginClassifyDocument( + String classifierId, BinaryData classifyRequest, RequestOptions requestOptions) { + return this.serviceClient.beginClassifyDocumentAsync(classifierId, classifyRequest, requestOptions); + } + + /** + * Analyzes document with document model. + * + * @param modelId Unique document model name. + * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9". + * @param locale Locale hint for text recognition and document analysis. Value may contain only the language code + * (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + * @param stringIndexType Method used to compute string offset and length. + * @param features List of optional analysis features. + * @param queryFields List of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". + * @param outputContentFormat Format of the analyze result top-level content. + * @param analyzeRequest Analyze request parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginAnalyzeDocument( + String modelId, + String pages, + String locale, + StringIndexType stringIndexType, + List features, + List queryFields, + ContentFormat outputContentFormat, + AnalyzeDocumentRequest analyzeRequest) { + // Generated convenience method for beginAnalyzeDocumentWithModel + RequestOptions requestOptions = new RequestOptions(); + if (pages != null) { + requestOptions.addQueryParam("pages", pages, false); + } + if (locale != null) { + requestOptions.addQueryParam("locale", locale, false); + } + if (stringIndexType != null) { + requestOptions.addQueryParam("stringIndexType", stringIndexType.toString(), false); + } + if (features != null) { + requestOptions.addQueryParam( + "features", + JacksonAdapter.createDefaultSerializerAdapter().serializeIterable(features, CollectionFormat.CSV), + false); + } + if (queryFields != null) { + requestOptions.addQueryParam( + "queryFields", + queryFields.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (outputContentFormat != null) { + requestOptions.addQueryParam("outputContentFormat", outputContentFormat.toString(), false); + } + if (analyzeRequest != null) { + requestOptions.setBody(BinaryData.fromObject(analyzeRequest)); + } + return serviceClient.beginAnalyzeDocumentWithModelAsync(modelId, requestOptions); + } + + /** + * Analyzes document with document model. + * + * @param modelId Unique document model name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginAnalyzeDocument(String modelId) { + // Generated convenience method for beginAnalyzeDocumentWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginAnalyzeDocumentWithModelAsync(modelId, requestOptions); + } + + /** + * Classifies document with document classifier. + * + * @param classifierId Unique document classifier name. + * @param classifyRequest Classify request parameters. + * @param stringIndexType Method used to compute string offset and length. + * @param split Document splitting mode. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginClassifyDocument( + String classifierId, + ClassifyDocumentRequest classifyRequest, + StringIndexType stringIndexType, + SplitMode split) { + // Generated convenience method for beginClassifyDocumentWithModel + RequestOptions requestOptions = new RequestOptions(); + if (stringIndexType != null) { + requestOptions.addQueryParam("stringIndexType", stringIndexType.toString(), false); + } + if (split != null) { + requestOptions.addQueryParam("split", split.toString(), false); + } + return serviceClient.beginClassifyDocumentWithModelAsync( + classifierId, BinaryData.fromObject(classifyRequest), requestOptions); + } + + /** + * Classifies document with document classifier. + * + * @param classifierId Unique document classifier name. + * @param classifyRequest Classify request parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginClassifyDocument( + String classifierId, ClassifyDocumentRequest classifyRequest) { + // Generated convenience method for beginClassifyDocumentWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginClassifyDocumentWithModelAsync( + classifierId, BinaryData.fromObject(classifyRequest), requestOptions); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisClient.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisClient.java new file mode 100644 index 000000000000..b467f40d7c36 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisClient.java @@ -0,0 +1,270 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.implementation.DocumentAnalysisClientImpl; +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.ClassifyDocumentRequest; +import com.azure.ai.documentintelligence.models.ContentFormat; +import com.azure.ai.documentintelligence.models.DocumentAnalysisFeature; +import com.azure.ai.documentintelligence.models.SplitMode; +import com.azure.ai.documentintelligence.models.StringIndexType; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.SyncPoller; +import com.azure.core.util.serializer.CollectionFormat; +import com.azure.core.util.serializer.JacksonAdapter; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** Initializes a new instance of the synchronous DocumentAnalysisClient type. */ +@ServiceClient(builder = DocumentAnalysisClientBuilder.class) +public final class DocumentAnalysisClient { + @Generated private final DocumentAnalysisClientImpl serviceClient; + + /** + * Initializes an instance of DocumentAnalysisClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + DocumentAnalysisClient(DocumentAnalysisClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Analyzes document with document model. + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginAnalyzeDocument(String modelId, RequestOptions requestOptions) { + return this.serviceClient.beginAnalyzeDocument(modelId, requestOptions); + } + + /** + * Classifies document with document classifier. + * + *

Query Parameters + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param classifierId Unique document classifier name. + * @param classifyRequest Classify request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginClassifyDocument( + String classifierId, BinaryData classifyRequest, RequestOptions requestOptions) { + return this.serviceClient.beginClassifyDocument(classifierId, classifyRequest, requestOptions); + } + + /** + * Analyzes document with document model. + * + * @param modelId Unique document model name. + * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9". + * @param locale Locale hint for text recognition and document analysis. Value may contain only the language code + * (ex. "en", "fr") or BCP 47 language tag (ex. "en-US"). + * @param stringIndexType Method used to compute string offset and length. + * @param features List of optional analysis features. + * @param queryFields List of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". + * @param outputContentFormat Format of the analyze result top-level content. + * @param analyzeRequest Analyze request parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginAnalyzeDocument( + String modelId, + String pages, + String locale, + StringIndexType stringIndexType, + List features, + List queryFields, + ContentFormat outputContentFormat, + AnalyzeDocumentRequest analyzeRequest) { + // Generated convenience method for beginAnalyzeDocumentWithModel + RequestOptions requestOptions = new RequestOptions(); + if (pages != null) { + requestOptions.addQueryParam("pages", pages, false); + } + if (locale != null) { + requestOptions.addQueryParam("locale", locale, false); + } + if (stringIndexType != null) { + requestOptions.addQueryParam("stringIndexType", stringIndexType.toString(), false); + } + if (features != null) { + requestOptions.addQueryParam( + "features", + JacksonAdapter.createDefaultSerializerAdapter().serializeIterable(features, CollectionFormat.CSV), + false); + } + if (queryFields != null) { + requestOptions.addQueryParam( + "queryFields", + queryFields.stream() + .map(paramItemValue -> Objects.toString(paramItemValue, "")) + .collect(Collectors.joining(",")), + false); + } + if (outputContentFormat != null) { + requestOptions.addQueryParam("outputContentFormat", outputContentFormat.toString(), false); + } + if (analyzeRequest != null) { + requestOptions.setBody(BinaryData.fromObject(analyzeRequest)); + } + return serviceClient.beginAnalyzeDocumentWithModel(modelId, requestOptions); + } + + /** + * Analyzes document with document model. + * + * @param modelId Unique document model name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginAnalyzeDocument(String modelId) { + // Generated convenience method for beginAnalyzeDocumentWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginAnalyzeDocumentWithModel(modelId, requestOptions); + } + + /** + * Classifies document with document classifier. + * + * @param classifierId Unique document classifier name. + * @param classifyRequest Classify request parameters. + * @param stringIndexType Method used to compute string offset and length. + * @param split Document splitting mode. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginClassifyDocument( + String classifierId, + ClassifyDocumentRequest classifyRequest, + StringIndexType stringIndexType, + SplitMode split) { + // Generated convenience method for beginClassifyDocumentWithModel + RequestOptions requestOptions = new RequestOptions(); + if (stringIndexType != null) { + requestOptions.addQueryParam("stringIndexType", stringIndexType.toString(), false); + } + if (split != null) { + requestOptions.addQueryParam("split", split.toString(), false); + } + return serviceClient.beginClassifyDocumentWithModel( + classifierId, BinaryData.fromObject(classifyRequest), requestOptions); + } + + /** + * Classifies document with document classifier. + * + * @param classifierId Unique document classifier name. + * @param classifyRequest Classify request parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginClassifyDocument( + String classifierId, ClassifyDocumentRequest classifyRequest) { + // Generated convenience method for beginClassifyDocumentWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginClassifyDocumentWithModel( + classifierId, BinaryData.fromObject(classifyRequest), requestOptions); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisClientBuilder.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisClientBuilder.java new file mode 100644 index 000000000000..0167b2a255b7 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisClientBuilder.java @@ -0,0 +1,300 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.implementation.DocumentAnalysisClientImpl; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.EndpointTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.KeyCredentialTrait; +import com.azure.core.credential.KeyCredential; +import com.azure.core.http.HttpClient; +import com.azure.core.http.HttpHeaderName; +import com.azure.core.http.HttpHeaders; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.HttpPipelinePosition; +import com.azure.core.http.policy.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.HttpPolicyProviders; +import com.azure.core.http.policy.KeyCredentialPolicy; +import com.azure.core.http.policy.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.util.ClientOptions; +import com.azure.core.util.Configuration; +import com.azure.core.util.CoreUtils; +import com.azure.core.util.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** A builder for creating a new instance of the DocumentAnalysisClient type. */ +@ServiceClientBuilder(serviceClients = {DocumentAnalysisClient.class, DocumentAnalysisAsyncClient.class}) +public final class DocumentAnalysisClientBuilder + implements HttpTrait, + ConfigurationTrait, + KeyCredentialTrait, + EndpointTrait { + @Generated private static final String SDK_NAME = "name"; + + @Generated private static final String SDK_VERSION = "version"; + + @Generated + private static final Map PROPERTIES = + CoreUtils.getProperties("azure-ai-documentintelligence.properties"); + + @Generated private final List pipelinePolicies; + + /** Create an instance of the DocumentAnalysisClientBuilder. */ + @Generated + public DocumentAnalysisClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated private HttpPipeline pipeline; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentAnalysisClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The HTTP client used to send the request. + */ + @Generated private HttpClient httpClient; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentAnalysisClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated private HttpLogOptions httpLogOptions; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentAnalysisClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated private ClientOptions clientOptions; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentAnalysisClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated private RetryOptions retryOptions; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentAnalysisClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentAnalysisClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated private Configuration configuration; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentAnalysisClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The KeyCredential used for authentication. + */ + @Generated private KeyCredential keyCredential; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentAnalysisClientBuilder credential(KeyCredential keyCredential) { + this.keyCredential = keyCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated private String endpoint; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentAnalysisClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated private DocumentIntelligenceServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the DocumentAnalysisClientBuilder. + */ + @Generated + public DocumentAnalysisClientBuilder serviceVersion(DocumentIntelligenceServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + return this; + } + + /* + * The retry policy that will attempt to retry failed requests, if applicable. + */ + @Generated private RetryPolicy retryPolicy; + + /** + * Sets The retry policy that will attempt to retry failed requests, if applicable. + * + * @param retryPolicy the retryPolicy value. + * @return the DocumentAnalysisClientBuilder. + */ + @Generated + public DocumentAnalysisClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of DocumentAnalysisClientImpl with the provided parameters. + * + * @return an instance of DocumentAnalysisClientImpl. + */ + @Generated + private DocumentAnalysisClientImpl buildInnerClient() { + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + DocumentIntelligenceServiceVersion localServiceVersion = + (serviceVersion != null) ? serviceVersion : DocumentIntelligenceServiceVersion.getLatest(); + DocumentAnalysisClientImpl client = + new DocumentAnalysisClientImpl( + localPipeline, + JacksonAdapter.createDefaultSerializerAdapter(), + this.endpoint, + localServiceVersion); + return client; + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration = + (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = new HttpHeaders(); + localClientOptions + .getHeaders() + .forEach(header -> headers.set(HttpHeaderName.fromString(header.getName()), header.getValue())); + if (headers.getSize() > 0) { + policies.add(new AddHeadersPolicy(headers)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + if (keyCredential != null) { + policies.add(new KeyCredentialPolicy("Ocp-Apim-Subscription-Key", keyCredential)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(httpLogOptions)); + HttpPipeline httpPipeline = + new HttpPipelineBuilder() + .policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of DocumentAnalysisAsyncClient class. + * + * @return an instance of DocumentAnalysisAsyncClient. + */ + @Generated + public DocumentAnalysisAsyncClient buildAsyncClient() { + return new DocumentAnalysisAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of DocumentAnalysisClient class. + * + * @return an instance of DocumentAnalysisClient. + */ + @Generated + public DocumentAnalysisClient buildClient() { + return new DocumentAnalysisClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(DocumentAnalysisClientBuilder.class); +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceServiceVersion.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceServiceVersion.java new file mode 100644 index 000000000000..f1de30ca5b5b --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceServiceVersion.java @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence; + +import com.azure.core.util.ServiceVersion; + +/** Service version of DocumentIntelligenceClient. */ +public enum DocumentIntelligenceServiceVersion implements ServiceVersion { + /** Enum value 2023-10-31-preview. */ + V2023_10_31_PREVIEW("2023-10-31-preview"); + + private final String version; + + DocumentIntelligenceServiceVersion(String version) { + this.version = version; + } + + /** {@inheritDoc} */ + @Override + public String getVersion() { + return this.version; + } + + /** + * Gets the latest service version supported by this client library. + * + * @return The latest {@link DocumentIntelligenceServiceVersion}. + */ + public static DocumentIntelligenceServiceVersion getLatest() { + return V2023_10_31_PREVIEW; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationAsyncClient.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationAsyncClient.java new file mode 100644 index 000000000000..6bb4ea325c81 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationAsyncClient.java @@ -0,0 +1,963 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.implementation.DocumentModelAdministrationClientImpl; +import com.azure.ai.documentintelligence.models.AuthorizeCopyRequest; +import com.azure.ai.documentintelligence.models.BuildDocumentClassifierRequest; +import com.azure.ai.documentintelligence.models.BuildDocumentModelRequest; +import com.azure.ai.documentintelligence.models.ComposeDocumentModelRequest; +import com.azure.ai.documentintelligence.models.CopyAuthorization; +import com.azure.ai.documentintelligence.models.DocumentClassifierDetails; +import com.azure.ai.documentintelligence.models.DocumentModelDetails; +import com.azure.ai.documentintelligence.models.OperationDetails; +import com.azure.ai.documentintelligence.models.ResourceDetails; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.experimental.models.PollResult; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.polling.PollerFlux; +import java.util.stream.Collectors; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +/** Initializes a new instance of the asynchronous DocumentModelAdministrationClient type. */ +@ServiceClient(builder = DocumentModelAdministrationClientBuilder.class, isAsync = true) +public final class DocumentModelAdministrationAsyncClient { + @Generated private final DocumentModelAdministrationClientImpl serviceClient; + + /** + * Initializes an instance of DocumentModelAdministrationAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + DocumentModelAdministrationAsyncClient(DocumentModelAdministrationClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Builds a custom document analysis model. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     buildMode: String(template/neural) (Required)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginBuildDocumentModel( + BinaryData buildRequest, RequestOptions requestOptions) { + return this.serviceClient.beginBuildDocumentModelAsync(buildRequest, requestOptions); + } + + /** + * Creates a new document model from document types of existing document models. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     componentModels (Required): [
+     *          (Required){
+     *             modelId: String (Required)
+     *         }
+     *     ]
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param composeRequest Compose request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginComposeModel( + BinaryData composeRequest, RequestOptions requestOptions) { + return this.serviceClient.beginComposeModelAsync(composeRequest, requestOptions); + } + + /** + * Generates authorization to copy a document model to this location with specified modelId and optional + * description. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     targetResourceId: String (Required)
+     *     targetResourceRegion: String (Required)
+     *     targetModelId: String (Required)
+     *     targetModelLocation: String (Required)
+     *     accessToken: String (Required)
+     *     expirationDateTime: OffsetDateTime (Required)
+     * }
+     * }
+ * + * @param authorizeCopyRequest Authorize copy request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return authorization to copy a document model to the specified target resource and modelId along with {@link + * Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> authorizeModelCopyWithResponse( + BinaryData authorizeCopyRequest, RequestOptions requestOptions) { + return this.serviceClient.authorizeModelCopyWithResponseAsync(authorizeCopyRequest, requestOptions); + } + + /** + * Copies document model to the target resource, region, and modelId. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     targetResourceId: String (Required)
+     *     targetResourceRegion: String (Required)
+     *     targetModelId: String (Required)
+     *     targetModelLocation: String (Required)
+     *     accessToken: String (Required)
+     *     expirationDateTime: OffsetDateTime (Required)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param copyToRequest Copy to request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCopyModelTo( + String modelId, BinaryData copyToRequest, RequestOptions requestOptions) { + return this.serviceClient.beginCopyModelToAsync(modelId, copyToRequest, requestOptions); + } + + /** + * Gets detailed document model information. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     buildMode: String(template/neural) (Optional)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     docTypes (Optional): {
+     *         String (Optional): {
+     *             description: String (Optional)
+     *             buildMode: String(template/neural) (Optional)
+     *             fieldSchema (Required): {
+     *                 String (Required): {
+     *                     type: String(string/date/time/phoneNumber/number/integer/selectionMark/countryRegion/signature/array/object/currency/address/boolean) (Required)
+     *                     description: String (Optional)
+     *                     example: String (Optional)
+     *                     items (Optional): (recursive schema, see items above)
+     *                     properties (Optional): {
+     *                         String (Optional): (recursive schema, see String above)
+     *                     }
+     *                 }
+     *             }
+     *             fieldConfidence (Optional): {
+     *                 String: double (Optional)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return detailed document model information along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getModelWithResponse(String modelId, RequestOptions requestOptions) { + return this.serviceClient.getModelWithResponseAsync(modelId, requestOptions); + } + + /** + * List all document models. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     buildMode: String(template/neural) (Optional)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     docTypes (Optional): {
+     *         String (Optional): {
+     *             description: String (Optional)
+     *             buildMode: String(template/neural) (Optional)
+     *             fieldSchema (Required): {
+     *                 String (Required): {
+     *                     type: String(string/date/time/phoneNumber/number/integer/selectionMark/countryRegion/signature/array/object/currency/address/boolean) (Required)
+     *                     description: String (Optional)
+     *                     example: String (Optional)
+     *                     items (Optional): (recursive schema, see items above)
+     *                     properties (Optional): {
+     *                         String (Optional): (recursive schema, see String above)
+     *                     }
+     *                 }
+     *             }
+     *             fieldConfidence (Optional): {
+     *                 String: double (Optional)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentModelDetails items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listModels(RequestOptions requestOptions) { + return this.serviceClient.listModelsAsync(requestOptions); + } + + /** + * Deletes document model. + * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteModelWithResponse(String modelId, RequestOptions requestOptions) { + return this.serviceClient.deleteModelWithResponseAsync(modelId, requestOptions); + } + + /** + * Return information about the current resource. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     customDocumentModels (Required): {
+     *         count: int (Required)
+     *         limit: int (Required)
+     *     }
+     *     customNeuralDocumentModelBuilds (Required): {
+     *         used: int (Required)
+     *         quota: int (Required)
+     *         quotaResetDateTime: OffsetDateTime (Required)
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return general information regarding the current resource along with {@link Response} on successful completion + * of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getResourceInfoWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getResourceInfoWithResponseAsync(requestOptions); + } + + /** + * Gets operation info. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String (Required)
+     *     status: String(notStarted/running/failed/succeeded/canceled) (Required)
+     *     percentCompleted: Integer (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     lastUpdatedDateTime: OffsetDateTime (Required)
+     *     resourceLocation: String (Required)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         innererror (Optional): {
+     *             code: String (Optional)
+     *             message: String (Optional)
+     *             innererror (Optional): (recursive schema, see innererror above)
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param operationId Operation ID. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return operation info along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getOperationWithResponse(String operationId, RequestOptions requestOptions) { + return this.serviceClient.getOperationWithResponseAsync(operationId, requestOptions); + } + + /** + * Lists all operations. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String (Required)
+     *     status: String(notStarted/running/failed/succeeded/canceled) (Required)
+     *     percentCompleted: Integer (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     lastUpdatedDateTime: OffsetDateTime (Required)
+     *     resourceLocation: String (Required)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         innererror (Optional): {
+     *             code: String (Optional)
+     *             message: String (Optional)
+     *             innererror (Optional): (recursive schema, see innererror above)
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of OperationDetails items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listOperations(RequestOptions requestOptions) { + return this.serviceClient.listOperationsAsync(requestOptions); + } + + /** + * Builds a custom document classifier. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginBuildClassifier( + BinaryData buildRequest, RequestOptions requestOptions) { + return this.serviceClient.beginBuildClassifierAsync(buildRequest, requestOptions); + } + + /** + * Gets detailed document classifier information. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Required)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param classifierId Unique document classifier name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return detailed document classifier information along with {@link Response} on successful completion of {@link + * Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getClassifierWithResponse(String classifierId, RequestOptions requestOptions) { + return this.serviceClient.getClassifierWithResponseAsync(classifierId, requestOptions); + } + + /** + * List all document classifiers. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Required)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentClassifierDetails items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listClassifiers(RequestOptions requestOptions) { + return this.serviceClient.listClassifiersAsync(requestOptions); + } + + /** + * Deletes document classifier. + * + * @param classifierId Unique document classifier name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteClassifierWithResponse(String classifierId, RequestOptions requestOptions) { + return this.serviceClient.deleteClassifierWithResponseAsync(classifierId, requestOptions); + } + + /** + * Builds a custom document analysis model. + * + * @param buildRequest Build request parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginBuildDocumentModel( + BuildDocumentModelRequest buildRequest) { + // Generated convenience method for beginBuildDocumentModelWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginBuildDocumentModelWithModelAsync(BinaryData.fromObject(buildRequest), requestOptions); + } + + /** + * Creates a new document model from document types of existing document models. + * + * @param composeRequest Compose request parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginComposeModel(ComposeDocumentModelRequest composeRequest) { + // Generated convenience method for beginComposeModelWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginComposeModelWithModelAsync(BinaryData.fromObject(composeRequest), requestOptions); + } + + /** + * Generates authorization to copy a document model to this location with specified modelId and optional + * description. + * + * @param authorizeCopyRequest Authorize copy request parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return authorization to copy a document model to the specified target resource and modelId on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono authorizeModelCopy(AuthorizeCopyRequest authorizeCopyRequest) { + // Generated convenience method for authorizeModelCopyWithResponse + RequestOptions requestOptions = new RequestOptions(); + return authorizeModelCopyWithResponse(BinaryData.fromObject(authorizeCopyRequest), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(CopyAuthorization.class)); + } + + /** + * Copies document model to the target resource, region, and modelId. + * + * @param modelId Unique document model name. + * @param copyToRequest Copy to request parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCopyModelTo( + String modelId, CopyAuthorization copyToRequest) { + // Generated convenience method for beginCopyModelToWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginCopyModelToWithModelAsync( + modelId, BinaryData.fromObject(copyToRequest), requestOptions); + } + + /** + * Gets detailed document model information. + * + * @param modelId Unique document model name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return detailed document model information on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getModel(String modelId) { + // Generated convenience method for getModelWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getModelWithResponse(modelId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(DocumentModelDetails.class)); + } + + /** + * List all document models. + * + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return paged collection of DocumentModelDetails items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listModels() { + // Generated convenience method for listModels + RequestOptions requestOptions = new RequestOptions(); + PagedFlux pagedFluxResponse = listModels(requestOptions); + return PagedFlux.create( + () -> + (continuationToken, pageSize) -> { + Flux> flux = + (continuationToken == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationToken).take(1); + return flux.map( + pagedResponse -> + new PagedResponseBase( + pagedResponse.getRequest(), + pagedResponse.getStatusCode(), + pagedResponse.getHeaders(), + pagedResponse.getValue().stream() + .map( + protocolMethodData -> + protocolMethodData.toObject( + DocumentModelDetails.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), + null)); + }); + } + + /** + * Deletes document model. + * + * @param modelId Unique document model name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteModel(String modelId) { + // Generated convenience method for deleteModelWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteModelWithResponse(modelId, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Return information about the current resource. + * + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return general information regarding the current resource on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getResourceInfo() { + // Generated convenience method for getResourceInfoWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getResourceInfoWithResponse(requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(ResourceDetails.class)); + } + + /** + * Gets operation info. + * + * @param operationId Operation ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return operation info on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getOperation(String operationId) { + // Generated convenience method for getOperationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getOperationWithResponse(operationId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(OperationDetails.class)); + } + + /** + * Lists all operations. + * + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return paged collection of OperationDetails items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listOperations() { + // Generated convenience method for listOperations + RequestOptions requestOptions = new RequestOptions(); + PagedFlux pagedFluxResponse = listOperations(requestOptions); + return PagedFlux.create( + () -> + (continuationToken, pageSize) -> { + Flux> flux = + (continuationToken == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationToken).take(1); + return flux.map( + pagedResponse -> + new PagedResponseBase( + pagedResponse.getRequest(), + pagedResponse.getStatusCode(), + pagedResponse.getHeaders(), + pagedResponse.getValue().stream() + .map( + protocolMethodData -> + protocolMethodData.toObject( + OperationDetails.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), + null)); + }); + } + + /** + * Builds a custom document classifier. + * + * @param buildRequest Build request parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginBuildClassifier( + BuildDocumentClassifierRequest buildRequest) { + // Generated convenience method for beginBuildClassifierWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginBuildClassifierWithModelAsync(BinaryData.fromObject(buildRequest), requestOptions); + } + + /** + * Gets detailed document classifier information. + * + * @param classifierId Unique document classifier name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return detailed document classifier information on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getClassifier(String classifierId) { + // Generated convenience method for getClassifierWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassifierWithResponse(classifierId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(DocumentClassifierDetails.class)); + } + + /** + * List all document classifiers. + * + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return paged collection of DocumentClassifierDetails items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listClassifiers() { + // Generated convenience method for listClassifiers + RequestOptions requestOptions = new RequestOptions(); + PagedFlux pagedFluxResponse = listClassifiers(requestOptions); + return PagedFlux.create( + () -> + (continuationToken, pageSize) -> { + Flux> flux = + (continuationToken == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationToken).take(1); + return flux.map( + pagedResponse -> + new PagedResponseBase( + pagedResponse.getRequest(), + pagedResponse.getStatusCode(), + pagedResponse.getHeaders(), + pagedResponse.getValue().stream() + .map( + protocolMethodData -> + protocolMethodData.toObject( + DocumentClassifierDetails.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), + null)); + }); + } + + /** + * Deletes document classifier. + * + * @param classifierId Unique document classifier name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteClassifier(String classifierId) { + // Generated convenience method for deleteClassifierWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteClassifierWithResponse(classifierId, requestOptions).flatMap(FluxUtil::toMono); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationClient.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationClient.java new file mode 100644 index 000000000000..5da532ff2f55 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationClient.java @@ -0,0 +1,885 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.implementation.DocumentModelAdministrationClientImpl; +import com.azure.ai.documentintelligence.models.AuthorizeCopyRequest; +import com.azure.ai.documentintelligence.models.BuildDocumentClassifierRequest; +import com.azure.ai.documentintelligence.models.BuildDocumentModelRequest; +import com.azure.ai.documentintelligence.models.ComposeDocumentModelRequest; +import com.azure.ai.documentintelligence.models.CopyAuthorization; +import com.azure.ai.documentintelligence.models.DocumentClassifierDetails; +import com.azure.ai.documentintelligence.models.DocumentModelDetails; +import com.azure.ai.documentintelligence.models.OperationDetails; +import com.azure.ai.documentintelligence.models.ResourceDetails; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.experimental.models.PollResult; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.SyncPoller; + +/** Initializes a new instance of the synchronous DocumentModelAdministrationClient type. */ +@ServiceClient(builder = DocumentModelAdministrationClientBuilder.class) +public final class DocumentModelAdministrationClient { + @Generated private final DocumentModelAdministrationClientImpl serviceClient; + + /** + * Initializes an instance of DocumentModelAdministrationClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + DocumentModelAdministrationClient(DocumentModelAdministrationClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Builds a custom document analysis model. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     buildMode: String(template/neural) (Required)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginBuildDocumentModel( + BinaryData buildRequest, RequestOptions requestOptions) { + return this.serviceClient.beginBuildDocumentModel(buildRequest, requestOptions); + } + + /** + * Creates a new document model from document types of existing document models. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     componentModels (Required): [
+     *          (Required){
+     *             modelId: String (Required)
+     *         }
+     *     ]
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param composeRequest Compose request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginComposeModel( + BinaryData composeRequest, RequestOptions requestOptions) { + return this.serviceClient.beginComposeModel(composeRequest, requestOptions); + } + + /** + * Generates authorization to copy a document model to this location with specified modelId and optional + * description. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     targetResourceId: String (Required)
+     *     targetResourceRegion: String (Required)
+     *     targetModelId: String (Required)
+     *     targetModelLocation: String (Required)
+     *     accessToken: String (Required)
+     *     expirationDateTime: OffsetDateTime (Required)
+     * }
+     * }
+ * + * @param authorizeCopyRequest Authorize copy request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return authorization to copy a document model to the specified target resource and modelId along with {@link + * Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response authorizeModelCopyWithResponse( + BinaryData authorizeCopyRequest, RequestOptions requestOptions) { + return this.serviceClient.authorizeModelCopyWithResponse(authorizeCopyRequest, requestOptions); + } + + /** + * Copies document model to the target resource, region, and modelId. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     targetResourceId: String (Required)
+     *     targetResourceRegion: String (Required)
+     *     targetModelId: String (Required)
+     *     targetModelLocation: String (Required)
+     *     accessToken: String (Required)
+     *     expirationDateTime: OffsetDateTime (Required)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param copyToRequest Copy to request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCopyModelTo( + String modelId, BinaryData copyToRequest, RequestOptions requestOptions) { + return this.serviceClient.beginCopyModelTo(modelId, copyToRequest, requestOptions); + } + + /** + * Gets detailed document model information. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     buildMode: String(template/neural) (Optional)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     docTypes (Optional): {
+     *         String (Optional): {
+     *             description: String (Optional)
+     *             buildMode: String(template/neural) (Optional)
+     *             fieldSchema (Required): {
+     *                 String (Required): {
+     *                     type: String(string/date/time/phoneNumber/number/integer/selectionMark/countryRegion/signature/array/object/currency/address/boolean) (Required)
+     *                     description: String (Optional)
+     *                     example: String (Optional)
+     *                     items (Optional): (recursive schema, see items above)
+     *                     properties (Optional): {
+     *                         String (Optional): (recursive schema, see String above)
+     *                     }
+     *                 }
+     *             }
+     *             fieldConfidence (Optional): {
+     *                 String: double (Optional)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return detailed document model information along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getModelWithResponse(String modelId, RequestOptions requestOptions) { + return this.serviceClient.getModelWithResponse(modelId, requestOptions); + } + + /** + * List all document models. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     buildMode: String(template/neural) (Optional)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     docTypes (Optional): {
+     *         String (Optional): {
+     *             description: String (Optional)
+     *             buildMode: String(template/neural) (Optional)
+     *             fieldSchema (Required): {
+     *                 String (Required): {
+     *                     type: String(string/date/time/phoneNumber/number/integer/selectionMark/countryRegion/signature/array/object/currency/address/boolean) (Required)
+     *                     description: String (Optional)
+     *                     example: String (Optional)
+     *                     items (Optional): (recursive schema, see items above)
+     *                     properties (Optional): {
+     *                         String (Optional): (recursive schema, see String above)
+     *                     }
+     *                 }
+     *             }
+     *             fieldConfidence (Optional): {
+     *                 String: double (Optional)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentModelDetails items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listModels(RequestOptions requestOptions) { + return this.serviceClient.listModels(requestOptions); + } + + /** + * Deletes document model. + * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteModelWithResponse(String modelId, RequestOptions requestOptions) { + return this.serviceClient.deleteModelWithResponse(modelId, requestOptions); + } + + /** + * Return information about the current resource. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     customDocumentModels (Required): {
+     *         count: int (Required)
+     *         limit: int (Required)
+     *     }
+     *     customNeuralDocumentModelBuilds (Required): {
+     *         used: int (Required)
+     *         quota: int (Required)
+     *         quotaResetDateTime: OffsetDateTime (Required)
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return general information regarding the current resource along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getResourceInfoWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getResourceInfoWithResponse(requestOptions); + } + + /** + * Gets operation info. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String (Required)
+     *     status: String(notStarted/running/failed/succeeded/canceled) (Required)
+     *     percentCompleted: Integer (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     lastUpdatedDateTime: OffsetDateTime (Required)
+     *     resourceLocation: String (Required)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         innererror (Optional): {
+     *             code: String (Optional)
+     *             message: String (Optional)
+     *             innererror (Optional): (recursive schema, see innererror above)
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param operationId Operation ID. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return operation info along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getOperationWithResponse(String operationId, RequestOptions requestOptions) { + return this.serviceClient.getOperationWithResponse(operationId, requestOptions); + } + + /** + * Lists all operations. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String (Required)
+     *     status: String(notStarted/running/failed/succeeded/canceled) (Required)
+     *     percentCompleted: Integer (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     lastUpdatedDateTime: OffsetDateTime (Required)
+     *     resourceLocation: String (Required)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         innererror (Optional): {
+     *             code: String (Optional)
+     *             message: String (Optional)
+     *             innererror (Optional): (recursive schema, see innererror above)
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of OperationDetails items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listOperations(RequestOptions requestOptions) { + return this.serviceClient.listOperations(requestOptions); + } + + /** + * Builds a custom document classifier. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginBuildClassifier( + BinaryData buildRequest, RequestOptions requestOptions) { + return this.serviceClient.beginBuildClassifier(buildRequest, requestOptions); + } + + /** + * Gets detailed document classifier information. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Required)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param classifierId Unique document classifier name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return detailed document classifier information along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getClassifierWithResponse(String classifierId, RequestOptions requestOptions) { + return this.serviceClient.getClassifierWithResponse(classifierId, requestOptions); + } + + /** + * List all document classifiers. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Required)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentClassifierDetails items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listClassifiers(RequestOptions requestOptions) { + return this.serviceClient.listClassifiers(requestOptions); + } + + /** + * Deletes document classifier. + * + * @param classifierId Unique document classifier name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteClassifierWithResponse(String classifierId, RequestOptions requestOptions) { + return this.serviceClient.deleteClassifierWithResponse(classifierId, requestOptions); + } + + /** + * Builds a custom document analysis model. + * + * @param buildRequest Build request parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginBuildDocumentModel( + BuildDocumentModelRequest buildRequest) { + // Generated convenience method for beginBuildDocumentModelWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginBuildDocumentModelWithModel(BinaryData.fromObject(buildRequest), requestOptions); + } + + /** + * Creates a new document model from document types of existing document models. + * + * @param composeRequest Compose request parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginComposeModel(ComposeDocumentModelRequest composeRequest) { + // Generated convenience method for beginComposeModelWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginComposeModelWithModel(BinaryData.fromObject(composeRequest), requestOptions); + } + + /** + * Generates authorization to copy a document model to this location with specified modelId and optional + * description. + * + * @param authorizeCopyRequest Authorize copy request parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return authorization to copy a document model to the specified target resource and modelId. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public CopyAuthorization authorizeModelCopy(AuthorizeCopyRequest authorizeCopyRequest) { + // Generated convenience method for authorizeModelCopyWithResponse + RequestOptions requestOptions = new RequestOptions(); + return authorizeModelCopyWithResponse(BinaryData.fromObject(authorizeCopyRequest), requestOptions) + .getValue() + .toObject(CopyAuthorization.class); + } + + /** + * Copies document model to the target resource, region, and modelId. + * + * @param modelId Unique document model name. + * @param copyToRequest Copy to request parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCopyModelTo( + String modelId, CopyAuthorization copyToRequest) { + // Generated convenience method for beginCopyModelToWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginCopyModelToWithModel(modelId, BinaryData.fromObject(copyToRequest), requestOptions); + } + + /** + * Gets detailed document model information. + * + * @param modelId Unique document model name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return detailed document model information. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public DocumentModelDetails getModel(String modelId) { + // Generated convenience method for getModelWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getModelWithResponse(modelId, requestOptions).getValue().toObject(DocumentModelDetails.class); + } + + /** + * List all document models. + * + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return paged collection of DocumentModelDetails items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listModels() { + // Generated convenience method for listModels + RequestOptions requestOptions = new RequestOptions(); + return serviceClient + .listModels(requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(DocumentModelDetails.class)); + } + + /** + * Deletes document model. + * + * @param modelId Unique document model name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteModel(String modelId) { + // Generated convenience method for deleteModelWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteModelWithResponse(modelId, requestOptions).getValue(); + } + + /** + * Return information about the current resource. + * + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return general information regarding the current resource. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public ResourceDetails getResourceInfo() { + // Generated convenience method for getResourceInfoWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getResourceInfoWithResponse(requestOptions).getValue().toObject(ResourceDetails.class); + } + + /** + * Gets operation info. + * + * @param operationId Operation ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return operation info. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public OperationDetails getOperation(String operationId) { + // Generated convenience method for getOperationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getOperationWithResponse(operationId, requestOptions).getValue().toObject(OperationDetails.class); + } + + /** + * Lists all operations. + * + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return paged collection of OperationDetails items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listOperations() { + // Generated convenience method for listOperations + RequestOptions requestOptions = new RequestOptions(); + return serviceClient + .listOperations(requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(OperationDetails.class)); + } + + /** + * Builds a custom document classifier. + * + * @param buildRequest Build request parameters. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginBuildClassifier( + BuildDocumentClassifierRequest buildRequest) { + // Generated convenience method for beginBuildClassifierWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginBuildClassifierWithModel(BinaryData.fromObject(buildRequest), requestOptions); + } + + /** + * Gets detailed document classifier information. + * + * @param classifierId Unique document classifier name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return detailed document classifier information. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public DocumentClassifierDetails getClassifier(String classifierId) { + // Generated convenience method for getClassifierWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassifierWithResponse(classifierId, requestOptions) + .getValue() + .toObject(DocumentClassifierDetails.class); + } + + /** + * List all document classifiers. + * + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return paged collection of DocumentClassifierDetails items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listClassifiers() { + // Generated convenience method for listClassifiers + RequestOptions requestOptions = new RequestOptions(); + return serviceClient + .listClassifiers(requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(DocumentClassifierDetails.class)); + } + + /** + * Deletes document classifier. + * + * @param classifierId Unique document classifier name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteClassifier(String classifierId) { + // Generated convenience method for deleteClassifierWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteClassifierWithResponse(classifierId, requestOptions).getValue(); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationClientBuilder.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationClientBuilder.java new file mode 100644 index 000000000000..043294a16be9 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationClientBuilder.java @@ -0,0 +1,301 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.implementation.DocumentModelAdministrationClientImpl; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.EndpointTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.KeyCredentialTrait; +import com.azure.core.credential.KeyCredential; +import com.azure.core.http.HttpClient; +import com.azure.core.http.HttpHeaderName; +import com.azure.core.http.HttpHeaders; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.HttpPipelinePosition; +import com.azure.core.http.policy.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.HttpPolicyProviders; +import com.azure.core.http.policy.KeyCredentialPolicy; +import com.azure.core.http.policy.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.util.ClientOptions; +import com.azure.core.util.Configuration; +import com.azure.core.util.CoreUtils; +import com.azure.core.util.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** A builder for creating a new instance of the DocumentModelAdministrationClient type. */ +@ServiceClientBuilder( + serviceClients = {DocumentModelAdministrationClient.class, DocumentModelAdministrationAsyncClient.class}) +public final class DocumentModelAdministrationClientBuilder + implements HttpTrait, + ConfigurationTrait, + KeyCredentialTrait, + EndpointTrait { + @Generated private static final String SDK_NAME = "name"; + + @Generated private static final String SDK_VERSION = "version"; + + @Generated + private static final Map PROPERTIES = + CoreUtils.getProperties("azure-ai-documentintelligence.properties"); + + @Generated private final List pipelinePolicies; + + /** Create an instance of the DocumentModelAdministrationClientBuilder. */ + @Generated + public DocumentModelAdministrationClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated private HttpPipeline pipeline; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentModelAdministrationClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The HTTP client used to send the request. + */ + @Generated private HttpClient httpClient; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentModelAdministrationClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated private HttpLogOptions httpLogOptions; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentModelAdministrationClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated private ClientOptions clientOptions; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentModelAdministrationClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated private RetryOptions retryOptions; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentModelAdministrationClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentModelAdministrationClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated private Configuration configuration; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentModelAdministrationClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The KeyCredential used for authentication. + */ + @Generated private KeyCredential keyCredential; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentModelAdministrationClientBuilder credential(KeyCredential keyCredential) { + this.keyCredential = keyCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated private String endpoint; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentModelAdministrationClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated private DocumentIntelligenceServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the DocumentModelAdministrationClientBuilder. + */ + @Generated + public DocumentModelAdministrationClientBuilder serviceVersion(DocumentIntelligenceServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + return this; + } + + /* + * The retry policy that will attempt to retry failed requests, if applicable. + */ + @Generated private RetryPolicy retryPolicy; + + /** + * Sets The retry policy that will attempt to retry failed requests, if applicable. + * + * @param retryPolicy the retryPolicy value. + * @return the DocumentModelAdministrationClientBuilder. + */ + @Generated + public DocumentModelAdministrationClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of DocumentModelAdministrationClientImpl with the provided parameters. + * + * @return an instance of DocumentModelAdministrationClientImpl. + */ + @Generated + private DocumentModelAdministrationClientImpl buildInnerClient() { + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + DocumentIntelligenceServiceVersion localServiceVersion = + (serviceVersion != null) ? serviceVersion : DocumentIntelligenceServiceVersion.getLatest(); + DocumentModelAdministrationClientImpl client = + new DocumentModelAdministrationClientImpl( + localPipeline, + JacksonAdapter.createDefaultSerializerAdapter(), + this.endpoint, + localServiceVersion); + return client; + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration = + (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = new HttpHeaders(); + localClientOptions + .getHeaders() + .forEach(header -> headers.set(HttpHeaderName.fromString(header.getName()), header.getValue())); + if (headers.getSize() > 0) { + policies.add(new AddHeadersPolicy(headers)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + if (keyCredential != null) { + policies.add(new KeyCredentialPolicy("Ocp-Apim-Subscription-Key", keyCredential)); + } + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(httpLogOptions)); + HttpPipeline httpPipeline = + new HttpPipelineBuilder() + .policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of DocumentModelAdministrationAsyncClient class. + * + * @return an instance of DocumentModelAdministrationAsyncClient. + */ + @Generated + public DocumentModelAdministrationAsyncClient buildAsyncClient() { + return new DocumentModelAdministrationAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of DocumentModelAdministrationClient class. + * + * @return an instance of DocumentModelAdministrationClient. + */ + @Generated + public DocumentModelAdministrationClient buildClient() { + return new DocumentModelAdministrationClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(DocumentModelAdministrationClientBuilder.class); +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentAnalysisClientImpl.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentAnalysisClientImpl.java new file mode 100644 index 000000000000..7d02159da53c --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentAnalysisClientImpl.java @@ -0,0 +1,879 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.implementation; + +import com.azure.ai.documentintelligence.DocumentIntelligenceServiceVersion; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.HttpHeaderName; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.util.BinaryData; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.polling.DefaultPollingStrategy; +import com.azure.core.util.polling.PollerFlux; +import com.azure.core.util.polling.PollingStrategyOptions; +import com.azure.core.util.polling.SyncDefaultPollingStrategy; +import com.azure.core.util.polling.SyncPoller; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.core.util.serializer.TypeReference; +import java.time.Duration; +import reactor.core.publisher.Mono; + +/** Initializes a new instance of the DocumentAnalysisClient type. */ +public final class DocumentAnalysisClientImpl { + /** The proxy service used to perform REST calls. */ + private final DocumentAnalysisClientService service; + + /** The Document Intelligence service endpoint. */ + private final String endpoint; + + /** + * Gets The Document Intelligence service endpoint. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** Service version. */ + private final DocumentIntelligenceServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public DocumentIntelligenceServiceVersion getServiceVersion() { + return this.serviceVersion; + } + + /** The HTTP pipeline to send requests through. */ + private final HttpPipeline httpPipeline; + + /** + * Gets The HTTP pipeline to send requests through. + * + * @return the httpPipeline value. + */ + public HttpPipeline getHttpPipeline() { + return this.httpPipeline; + } + + /** The serializer to serialize an object into a string. */ + private final SerializerAdapter serializerAdapter; + + /** + * Gets The serializer to serialize an object into a string. + * + * @return the serializerAdapter value. + */ + public SerializerAdapter getSerializerAdapter() { + return this.serializerAdapter; + } + + /** + * Initializes an instance of DocumentAnalysisClient client. + * + * @param endpoint The Document Intelligence service endpoint. + * @param serviceVersion Service version. + */ + public DocumentAnalysisClientImpl(String endpoint, DocumentIntelligenceServiceVersion serviceVersion) { + this( + new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), + endpoint, + serviceVersion); + } + + /** + * Initializes an instance of DocumentAnalysisClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint The Document Intelligence service endpoint. + * @param serviceVersion Service version. + */ + public DocumentAnalysisClientImpl( + HttpPipeline httpPipeline, String endpoint, DocumentIntelligenceServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of DocumentAnalysisClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint The Document Intelligence service endpoint. + * @param serviceVersion Service version. + */ + public DocumentAnalysisClientImpl( + HttpPipeline httpPipeline, + SerializerAdapter serializerAdapter, + String endpoint, + DocumentIntelligenceServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service = + RestProxy.create(DocumentAnalysisClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for DocumentAnalysisClient to be used by the proxy service to perform + * REST calls. + */ + @Host("{endpoint}/documentintelligence") + @ServiceInterface(name = "DocumentAnalysisClie") + public interface DocumentAnalysisClientService { + @Post("/documentModels/{modelId}:analyze") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> analyzeDocument( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("modelId") String modelId, + @HeaderParam("content-type") String contentType, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Post("/documentModels/{modelId}:analyze") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response analyzeDocumentSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("modelId") String modelId, + @HeaderParam("content-type") String contentType, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Post("/documentClassifiers/{classifierId}:analyze") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> classifyDocument( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("classifierId") String classifierId, + @HeaderParam("content-type") String contentType, + @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData classifyRequest, + RequestOptions requestOptions, + Context context); + + @Post("/documentClassifiers/{classifierId}:analyze") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response classifyDocumentSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("classifierId") String classifierId, + @HeaderParam("content-type") String contentType, + @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData classifyRequest, + RequestOptions requestOptions, + Context context); + } + + /** + * Analyzes document with document model. + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> analyzeDocumentWithResponseAsync(String modelId, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + requestOptionsLocal.addRequestCallback( + requestLocal -> { + if (requestLocal.getBody() != null + && requestLocal.getHeaders().get(HttpHeaderName.CONTENT_TYPE) == null) { + requestLocal.getHeaders().set(HttpHeaderName.CONTENT_TYPE, "application/json"); + } + }); + return FluxUtil.withContext( + context -> + service.analyzeDocument( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + modelId, + contentType, + accept, + requestOptionsLocal, + context)); + } + + /** + * Analyzes document with document model. + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response analyzeDocumentWithResponse(String modelId, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + requestOptionsLocal.addRequestCallback( + requestLocal -> { + if (requestLocal.getBody() != null + && requestLocal.getHeaders().get(HttpHeaderName.CONTENT_TYPE) == null) { + requestLocal.getHeaders().set(HttpHeaderName.CONTENT_TYPE, "application/json"); + } + }); + return service.analyzeDocumentSync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + modelId, + contentType, + accept, + requestOptionsLocal, + Context.NONE); + } + + /** + * Analyzes document with document model. + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginAnalyzeDocumentAsync(String modelId, RequestOptions requestOptions) { + return PollerFlux.create( + Duration.ofSeconds(1), + () -> this.analyzeDocumentWithResponseAsync(modelId, requestOptions), + new DefaultPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), + TypeReference.createInstance(BinaryData.class)); + } + + /** + * Analyzes document with document model. + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginAnalyzeDocument(String modelId, RequestOptions requestOptions) { + return SyncPoller.createPoller( + Duration.ofSeconds(1), + () -> this.analyzeDocumentWithResponse(modelId, requestOptions), + new SyncDefaultPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), + TypeReference.createInstance(BinaryData.class)); + } + + /** + * Analyzes document with document model. + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginAnalyzeDocumentWithModelAsync( + String modelId, RequestOptions requestOptions) { + return PollerFlux.create( + Duration.ofSeconds(1), + () -> this.analyzeDocumentWithResponseAsync(modelId, requestOptions), + new DefaultPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(AnalyzeResultOperation.class), + TypeReference.createInstance(AnalyzeResult.class)); + } + + /** + * Analyzes document with document model. + * + *

Query Parameters + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginAnalyzeDocumentWithModel( + String modelId, RequestOptions requestOptions) { + return SyncPoller.createPoller( + Duration.ofSeconds(1), + () -> this.analyzeDocumentWithResponse(modelId, requestOptions), + new SyncDefaultPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(AnalyzeResultOperation.class), + TypeReference.createInstance(AnalyzeResult.class)); + } + + /** + * Classifies document with document classifier. + * + *

Query Parameters + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param classifierId Unique document classifier name. + * @param classifyRequest Classify request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> classifyDocumentWithResponseAsync( + String classifierId, BinaryData classifyRequest, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.classifyDocument( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + classifierId, + contentType, + accept, + classifyRequest, + requestOptions, + context)); + } + + /** + * Classifies document with document classifier. + * + *

Query Parameters + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param classifierId Unique document classifier name. + * @param classifyRequest Classify request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response classifyDocumentWithResponse( + String classifierId, BinaryData classifyRequest, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.classifyDocumentSync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + classifierId, + contentType, + accept, + classifyRequest, + requestOptions, + Context.NONE); + } + + /** + * Classifies document with document classifier. + * + *

Query Parameters + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param classifierId Unique document classifier name. + * @param classifyRequest Classify request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginClassifyDocumentAsync( + String classifierId, BinaryData classifyRequest, RequestOptions requestOptions) { + return PollerFlux.create( + Duration.ofSeconds(1), + () -> this.classifyDocumentWithResponseAsync(classifierId, classifyRequest, requestOptions), + new DefaultPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), + TypeReference.createInstance(BinaryData.class)); + } + + /** + * Classifies document with document classifier. + * + *

Query Parameters + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param classifierId Unique document classifier name. + * @param classifyRequest Classify request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginClassifyDocument( + String classifierId, BinaryData classifyRequest, RequestOptions requestOptions) { + return SyncPoller.createPoller( + Duration.ofSeconds(1), + () -> this.classifyDocumentWithResponse(classifierId, classifyRequest, requestOptions), + new SyncDefaultPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), + TypeReference.createInstance(BinaryData.class)); + } + + /** + * Classifies document with document classifier. + * + *

Query Parameters + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param classifierId Unique document classifier name. + * @param classifyRequest Classify request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginClassifyDocumentWithModelAsync( + String classifierId, BinaryData classifyRequest, RequestOptions requestOptions) { + return PollerFlux.create( + Duration.ofSeconds(1), + () -> this.classifyDocumentWithResponseAsync(classifierId, classifyRequest, requestOptions), + new DefaultPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(AnalyzeResultOperation.class), + TypeReference.createInstance(AnalyzeResult.class)); + } + + /** + * Classifies document with document classifier. + * + *

Query Parameters + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
+ * + * You can add these to a request with {@link RequestOptions#addQueryParam} + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     urlSource: String (Optional)
+     *     base64Source: byte[] (Optional)
+     * }
+     * }
+ * + * @param classifierId Unique document classifier name. + * @param classifyRequest Classify request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginClassifyDocumentWithModel( + String classifierId, BinaryData classifyRequest, RequestOptions requestOptions) { + return SyncPoller.createPoller( + Duration.ofSeconds(1), + () -> this.classifyDocumentWithResponse(classifierId, classifyRequest, requestOptions), + new SyncDefaultPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(AnalyzeResultOperation.class), + TypeReference.createInstance(AnalyzeResult.class)); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentModelAdministrationClientImpl.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentModelAdministrationClientImpl.java new file mode 100644 index 000000000000..88a6a85bbb17 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentModelAdministrationClientImpl.java @@ -0,0 +1,3675 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.implementation; + +import com.azure.ai.documentintelligence.DocumentIntelligenceServiceVersion; +import com.azure.ai.documentintelligence.models.DocumentClassifierDetails; +import com.azure.ai.documentintelligence.models.DocumentModelDetails; +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.experimental.models.PollResult; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.util.BinaryData; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.polling.PollerFlux; +import com.azure.core.util.polling.PollingStrategyOptions; +import com.azure.core.util.polling.SyncPoller; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.core.util.serializer.TypeReference; +import java.time.Duration; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import reactor.core.publisher.Mono; + +/** Initializes a new instance of the DocumentModelAdministrationClient type. */ +public final class DocumentModelAdministrationClientImpl { + /** The proxy service used to perform REST calls. */ + private final DocumentModelAdministrationClientService service; + + /** The Document Intelligence service endpoint. */ + private final String endpoint; + + /** + * Gets The Document Intelligence service endpoint. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** Service version. */ + private final DocumentIntelligenceServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public DocumentIntelligenceServiceVersion getServiceVersion() { + return this.serviceVersion; + } + + /** The HTTP pipeline to send requests through. */ + private final HttpPipeline httpPipeline; + + /** + * Gets The HTTP pipeline to send requests through. + * + * @return the httpPipeline value. + */ + public HttpPipeline getHttpPipeline() { + return this.httpPipeline; + } + + /** The serializer to serialize an object into a string. */ + private final SerializerAdapter serializerAdapter; + + /** + * Gets The serializer to serialize an object into a string. + * + * @return the serializerAdapter value. + */ + public SerializerAdapter getSerializerAdapter() { + return this.serializerAdapter; + } + + /** + * Initializes an instance of DocumentModelAdministrationClient client. + * + * @param endpoint The Document Intelligence service endpoint. + * @param serviceVersion Service version. + */ + public DocumentModelAdministrationClientImpl(String endpoint, DocumentIntelligenceServiceVersion serviceVersion) { + this( + new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), + endpoint, + serviceVersion); + } + + /** + * Initializes an instance of DocumentModelAdministrationClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint The Document Intelligence service endpoint. + * @param serviceVersion Service version. + */ + public DocumentModelAdministrationClientImpl( + HttpPipeline httpPipeline, String endpoint, DocumentIntelligenceServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of DocumentModelAdministrationClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint The Document Intelligence service endpoint. + * @param serviceVersion Service version. + */ + public DocumentModelAdministrationClientImpl( + HttpPipeline httpPipeline, + SerializerAdapter serializerAdapter, + String endpoint, + DocumentIntelligenceServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service = + RestProxy.create( + DocumentModelAdministrationClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for DocumentModelAdministrationClient to be used by the proxy service to + * perform REST calls. + */ + @Host("{endpoint}/documentintelligence") + @ServiceInterface(name = "DocumentModelAdminis") + public interface DocumentModelAdministrationClientService { + @Post("/documentModels:build") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> buildDocumentModel( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData buildRequest, + RequestOptions requestOptions, + Context context); + + @Post("/documentModels:build") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response buildDocumentModelSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData buildRequest, + RequestOptions requestOptions, + Context context); + + @Post("/documentModels:compose") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> composeModel( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData composeRequest, + RequestOptions requestOptions, + Context context); + + @Post("/documentModels:compose") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response composeModelSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData composeRequest, + RequestOptions requestOptions, + Context context); + + @Post("/documentModels:authorizeCopy") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> authorizeModelCopy( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData authorizeCopyRequest, + RequestOptions requestOptions, + Context context); + + @Post("/documentModels:authorizeCopy") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response authorizeModelCopySync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData authorizeCopyRequest, + RequestOptions requestOptions, + Context context); + + @Post("/documentModels/{modelId}:copyTo") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> copyModelTo( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("modelId") String modelId, + @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData copyToRequest, + RequestOptions requestOptions, + Context context); + + @Post("/documentModels/{modelId}:copyTo") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response copyModelToSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("modelId") String modelId, + @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData copyToRequest, + RequestOptions requestOptions, + Context context); + + @Get("/documentModels/{modelId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getModel( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("modelId") String modelId, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("/documentModels/{modelId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getModelSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("modelId") String modelId, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("/documentModels") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listModels( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("/documentModels") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listModelsSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Delete("/documentModels/{modelId}") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteModel( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("modelId") String modelId, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Delete("/documentModels/{modelId}") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteModelSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("modelId") String modelId, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("/info") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getResourceInfo( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("/info") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getResourceInfoSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("/operations/{operationId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getOperation( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("operationId") String operationId, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("/operations/{operationId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getOperationSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("operationId") String operationId, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("/operations") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listOperations( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("/operations") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listOperationsSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Post("/documentClassifiers:build") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> buildClassifier( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData buildRequest, + RequestOptions requestOptions, + Context context); + + @Post("/documentClassifiers:build") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response buildClassifierSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData buildRequest, + RequestOptions requestOptions, + Context context); + + @Get("/documentClassifiers/{classifierId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getClassifier( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("classifierId") String classifierId, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("/documentClassifiers/{classifierId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getClassifierSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("classifierId") String classifierId, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("/documentClassifiers") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listClassifiers( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("/documentClassifiers") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listClassifiersSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Delete("/documentClassifiers/{classifierId}") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteClassifier( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("classifierId") String classifierId, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Delete("/documentClassifiers/{classifierId}") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteClassifierSync( + @HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("classifierId") String classifierId, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listModelsNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listModelsNextSync( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listOperationsNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listOperationsNextSync( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listClassifiersNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType( + value = ClientAuthenticationException.class, + code = {401}) + @UnexpectedResponseExceptionType( + value = ResourceNotFoundException.class, + code = {404}) + @UnexpectedResponseExceptionType( + value = ResourceModifiedException.class, + code = {409}) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listClassifiersNextSync( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, + RequestOptions requestOptions, + Context context); + } + + /** + * Builds a custom document analysis model. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     buildMode: String(template/neural) (Required)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> buildDocumentModelWithResponseAsync( + BinaryData buildRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.buildDocumentModel( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + buildRequest, + requestOptions, + context)); + } + + /** + * Builds a custom document analysis model. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     buildMode: String(template/neural) (Required)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response buildDocumentModelWithResponse(BinaryData buildRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.buildDocumentModelSync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + buildRequest, + requestOptions, + Context.NONE); + } + + /** + * Builds a custom document analysis model. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     buildMode: String(template/neural) (Required)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginBuildDocumentModelAsync( + BinaryData buildRequest, RequestOptions requestOptions) { + return PollerFlux.create( + Duration.ofSeconds(1), + () -> this.buildDocumentModelWithResponseAsync(buildRequest, requestOptions), + new com.azure.core.experimental.util.polling.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), + TypeReference.createInstance(BinaryData.class)); + } + + /** + * Builds a custom document analysis model. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     buildMode: String(template/neural) (Required)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginBuildDocumentModel( + BinaryData buildRequest, RequestOptions requestOptions) { + return SyncPoller.createPoller( + Duration.ofSeconds(1), + () -> this.buildDocumentModelWithResponse(buildRequest, requestOptions), + new com.azure.core.experimental.util.polling.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), + TypeReference.createInstance(BinaryData.class)); + } + + /** + * Builds a custom document analysis model. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     buildMode: String(template/neural) (Required)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginBuildDocumentModelWithModelAsync( + BinaryData buildRequest, RequestOptions requestOptions) { + return PollerFlux.create( + Duration.ofSeconds(1), + () -> this.buildDocumentModelWithResponseAsync(buildRequest, requestOptions), + new com.azure.core.experimental.util.polling.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(PollResult.class), + TypeReference.createInstance(DocumentModelDetails.class)); + } + + /** + * Builds a custom document analysis model. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     buildMode: String(template/neural) (Required)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginBuildDocumentModelWithModel( + BinaryData buildRequest, RequestOptions requestOptions) { + return SyncPoller.createPoller( + Duration.ofSeconds(1), + () -> this.buildDocumentModelWithResponse(buildRequest, requestOptions), + new com.azure.core.experimental.util.polling.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(PollResult.class), + TypeReference.createInstance(DocumentModelDetails.class)); + } + + /** + * Creates a new document model from document types of existing document models. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     componentModels (Required): [
+     *          (Required){
+     *             modelId: String (Required)
+     *         }
+     *     ]
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param composeRequest Compose request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> composeModelWithResponseAsync( + BinaryData composeRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.composeModel( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + composeRequest, + requestOptions, + context)); + } + + /** + * Creates a new document model from document types of existing document models. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     componentModels (Required): [
+     *          (Required){
+     *             modelId: String (Required)
+     *         }
+     *     ]
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param composeRequest Compose request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response composeModelWithResponse(BinaryData composeRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.composeModelSync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + composeRequest, + requestOptions, + Context.NONE); + } + + /** + * Creates a new document model from document types of existing document models. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     componentModels (Required): [
+     *          (Required){
+     *             modelId: String (Required)
+     *         }
+     *     ]
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param composeRequest Compose request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginComposeModelAsync( + BinaryData composeRequest, RequestOptions requestOptions) { + return PollerFlux.create( + Duration.ofSeconds(1), + () -> this.composeModelWithResponseAsync(composeRequest, requestOptions), + new com.azure.core.experimental.util.polling.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), + TypeReference.createInstance(BinaryData.class)); + } + + /** + * Creates a new document model from document types of existing document models. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     componentModels (Required): [
+     *          (Required){
+     *             modelId: String (Required)
+     *         }
+     *     ]
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param composeRequest Compose request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginComposeModel( + BinaryData composeRequest, RequestOptions requestOptions) { + return SyncPoller.createPoller( + Duration.ofSeconds(1), + () -> this.composeModelWithResponse(composeRequest, requestOptions), + new com.azure.core.experimental.util.polling.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), + TypeReference.createInstance(BinaryData.class)); + } + + /** + * Creates a new document model from document types of existing document models. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     componentModels (Required): [
+     *          (Required){
+     *             modelId: String (Required)
+     *         }
+     *     ]
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param composeRequest Compose request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginComposeModelWithModelAsync( + BinaryData composeRequest, RequestOptions requestOptions) { + return PollerFlux.create( + Duration.ofSeconds(1), + () -> this.composeModelWithResponseAsync(composeRequest, requestOptions), + new com.azure.core.experimental.util.polling.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(PollResult.class), + TypeReference.createInstance(DocumentModelDetails.class)); + } + + /** + * Creates a new document model from document types of existing document models. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     componentModels (Required): [
+     *          (Required){
+     *             modelId: String (Required)
+     *         }
+     *     ]
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + * @param composeRequest Compose request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginComposeModelWithModel( + BinaryData composeRequest, RequestOptions requestOptions) { + return SyncPoller.createPoller( + Duration.ofSeconds(1), + () -> this.composeModelWithResponse(composeRequest, requestOptions), + new com.azure.core.experimental.util.polling.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(PollResult.class), + TypeReference.createInstance(DocumentModelDetails.class)); + } + + /** + * Generates authorization to copy a document model to this location with specified modelId and optional + * description. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     targetResourceId: String (Required)
+     *     targetResourceRegion: String (Required)
+     *     targetModelId: String (Required)
+     *     targetModelLocation: String (Required)
+     *     accessToken: String (Required)
+     *     expirationDateTime: OffsetDateTime (Required)
+     * }
+     * }
+ * + * @param authorizeCopyRequest Authorize copy request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return authorization to copy a document model to the specified target resource and modelId along with {@link + * Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> authorizeModelCopyWithResponseAsync( + BinaryData authorizeCopyRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.authorizeModelCopy( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + authorizeCopyRequest, + requestOptions, + context)); + } + + /** + * Generates authorization to copy a document model to this location with specified modelId and optional + * description. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     * }
+     * }
+ * + *

Response Body Schema + * + *

{@code
+     * {
+     *     targetResourceId: String (Required)
+     *     targetResourceRegion: String (Required)
+     *     targetModelId: String (Required)
+     *     targetModelLocation: String (Required)
+     *     accessToken: String (Required)
+     *     expirationDateTime: OffsetDateTime (Required)
+     * }
+     * }
+ * + * @param authorizeCopyRequest Authorize copy request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return authorization to copy a document model to the specified target resource and modelId along with {@link + * Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response authorizeModelCopyWithResponse( + BinaryData authorizeCopyRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.authorizeModelCopySync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + authorizeCopyRequest, + requestOptions, + Context.NONE); + } + + /** + * Copies document model to the target resource, region, and modelId. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     targetResourceId: String (Required)
+     *     targetResourceRegion: String (Required)
+     *     targetModelId: String (Required)
+     *     targetModelLocation: String (Required)
+     *     accessToken: String (Required)
+     *     expirationDateTime: OffsetDateTime (Required)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param copyToRequest Copy to request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> copyModelToWithResponseAsync( + String modelId, BinaryData copyToRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.copyModelTo( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + modelId, + accept, + copyToRequest, + requestOptions, + context)); + } + + /** + * Copies document model to the target resource, region, and modelId. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     targetResourceId: String (Required)
+     *     targetResourceRegion: String (Required)
+     *     targetModelId: String (Required)
+     *     targetModelLocation: String (Required)
+     *     accessToken: String (Required)
+     *     expirationDateTime: OffsetDateTime (Required)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param copyToRequest Copy to request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response copyModelToWithResponse( + String modelId, BinaryData copyToRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.copyModelToSync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + modelId, + accept, + copyToRequest, + requestOptions, + Context.NONE); + } + + /** + * Copies document model to the target resource, region, and modelId. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     targetResourceId: String (Required)
+     *     targetResourceRegion: String (Required)
+     *     targetModelId: String (Required)
+     *     targetModelLocation: String (Required)
+     *     accessToken: String (Required)
+     *     expirationDateTime: OffsetDateTime (Required)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param copyToRequest Copy to request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCopyModelToAsync( + String modelId, BinaryData copyToRequest, RequestOptions requestOptions) { + return PollerFlux.create( + Duration.ofSeconds(1), + () -> this.copyModelToWithResponseAsync(modelId, copyToRequest, requestOptions), + new com.azure.core.experimental.util.polling.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), + TypeReference.createInstance(BinaryData.class)); + } + + /** + * Copies document model to the target resource, region, and modelId. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     targetResourceId: String (Required)
+     *     targetResourceRegion: String (Required)
+     *     targetModelId: String (Required)
+     *     targetModelLocation: String (Required)
+     *     accessToken: String (Required)
+     *     expirationDateTime: OffsetDateTime (Required)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param copyToRequest Copy to request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCopyModelTo( + String modelId, BinaryData copyToRequest, RequestOptions requestOptions) { + return SyncPoller.createPoller( + Duration.ofSeconds(1), + () -> this.copyModelToWithResponse(modelId, copyToRequest, requestOptions), + new com.azure.core.experimental.util.polling.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), + TypeReference.createInstance(BinaryData.class)); + } + + /** + * Copies document model to the target resource, region, and modelId. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     targetResourceId: String (Required)
+     *     targetResourceRegion: String (Required)
+     *     targetModelId: String (Required)
+     *     targetModelLocation: String (Required)
+     *     accessToken: String (Required)
+     *     expirationDateTime: OffsetDateTime (Required)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param copyToRequest Copy to request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginCopyModelToWithModelAsync( + String modelId, BinaryData copyToRequest, RequestOptions requestOptions) { + return PollerFlux.create( + Duration.ofSeconds(1), + () -> this.copyModelToWithResponseAsync(modelId, copyToRequest, requestOptions), + new com.azure.core.experimental.util.polling.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(PollResult.class), + TypeReference.createInstance(DocumentModelDetails.class)); + } + + /** + * Copies document model to the target resource, region, and modelId. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     targetResourceId: String (Required)
+     *     targetResourceRegion: String (Required)
+     *     targetModelId: String (Required)
+     *     targetModelLocation: String (Required)
+     *     accessToken: String (Required)
+     *     expirationDateTime: OffsetDateTime (Required)
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param copyToRequest Copy to request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginCopyModelToWithModel( + String modelId, BinaryData copyToRequest, RequestOptions requestOptions) { + return SyncPoller.createPoller( + Duration.ofSeconds(1), + () -> this.copyModelToWithResponse(modelId, copyToRequest, requestOptions), + new com.azure.core.experimental.util.polling.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(PollResult.class), + TypeReference.createInstance(DocumentModelDetails.class)); + } + + /** + * Gets detailed document model information. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     buildMode: String(template/neural) (Optional)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     docTypes (Optional): {
+     *         String (Optional): {
+     *             description: String (Optional)
+     *             buildMode: String(template/neural) (Optional)
+     *             fieldSchema (Required): {
+     *                 String (Required): {
+     *                     type: String(string/date/time/phoneNumber/number/integer/selectionMark/countryRegion/signature/array/object/currency/address/boolean) (Required)
+     *                     description: String (Optional)
+     *                     example: String (Optional)
+     *                     items (Optional): (recursive schema, see items above)
+     *                     properties (Optional): {
+     *                         String (Optional): (recursive schema, see String above)
+     *                     }
+     *                 }
+     *             }
+     *             fieldConfidence (Optional): {
+     *                 String: double (Optional)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return detailed document model information along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getModelWithResponseAsync(String modelId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.getModel( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + modelId, + accept, + requestOptions, + context)); + } + + /** + * Gets detailed document model information. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     buildMode: String(template/neural) (Optional)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     docTypes (Optional): {
+     *         String (Optional): {
+     *             description: String (Optional)
+     *             buildMode: String(template/neural) (Optional)
+     *             fieldSchema (Required): {
+     *                 String (Required): {
+     *                     type: String(string/date/time/phoneNumber/number/integer/selectionMark/countryRegion/signature/array/object/currency/address/boolean) (Required)
+     *                     description: String (Optional)
+     *                     example: String (Optional)
+     *                     items (Optional): (recursive schema, see items above)
+     *                     properties (Optional): {
+     *                         String (Optional): (recursive schema, see String above)
+     *                     }
+     *                 }
+     *             }
+     *             fieldConfidence (Optional): {
+     *                 String: double (Optional)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return detailed document model information along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getModelWithResponse(String modelId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getModelSync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + modelId, + accept, + requestOptions, + Context.NONE); + } + + /** + * List all document models. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     buildMode: String(template/neural) (Optional)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     docTypes (Optional): {
+     *         String (Optional): {
+     *             description: String (Optional)
+     *             buildMode: String(template/neural) (Optional)
+     *             fieldSchema (Required): {
+     *                 String (Required): {
+     *                     type: String(string/date/time/phoneNumber/number/integer/selectionMark/countryRegion/signature/array/object/currency/address/boolean) (Required)
+     *                     description: String (Optional)
+     *                     example: String (Optional)
+     *                     items (Optional): (recursive schema, see items above)
+     *                     properties (Optional): {
+     *                         String (Optional): (recursive schema, see String above)
+     *                     }
+     *                 }
+     *             }
+     *             fieldConfidence (Optional): {
+     *                 String: double (Optional)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentModelDetails items along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listModelsSinglePageAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.listModels( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + requestOptions, + context)) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "value"), + getNextLink(res.getValue(), "nextLink"), + null)); + } + + /** + * List all document models. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     buildMode: String(template/neural) (Optional)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     docTypes (Optional): {
+     *         String (Optional): {
+     *             description: String (Optional)
+     *             buildMode: String(template/neural) (Optional)
+     *             fieldSchema (Required): {
+     *                 String (Required): {
+     *                     type: String(string/date/time/phoneNumber/number/integer/selectionMark/countryRegion/signature/array/object/currency/address/boolean) (Required)
+     *                     description: String (Optional)
+     *                     example: String (Optional)
+     *                     items (Optional): (recursive schema, see items above)
+     *                     properties (Optional): {
+     *                         String (Optional): (recursive schema, see String above)
+     *                     }
+     *                 }
+     *             }
+     *             fieldConfidence (Optional): {
+     *                 String: double (Optional)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentModelDetails items as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listModelsAsync(RequestOptions requestOptions) { + RequestOptions requestOptionsForNextPage = new RequestOptions(); + requestOptionsForNextPage.setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE); + return new PagedFlux<>( + () -> listModelsSinglePageAsync(requestOptions), + nextLink -> listModelsNextSinglePageAsync(nextLink, requestOptionsForNextPage)); + } + + /** + * List all document models. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     buildMode: String(template/neural) (Optional)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     docTypes (Optional): {
+     *         String (Optional): {
+     *             description: String (Optional)
+     *             buildMode: String(template/neural) (Optional)
+     *             fieldSchema (Required): {
+     *                 String (Required): {
+     *                     type: String(string/date/time/phoneNumber/number/integer/selectionMark/countryRegion/signature/array/object/currency/address/boolean) (Required)
+     *                     description: String (Optional)
+     *                     example: String (Optional)
+     *                     items (Optional): (recursive schema, see items above)
+     *                     properties (Optional): {
+     *                         String (Optional): (recursive schema, see String above)
+     *                     }
+     *                 }
+     *             }
+     *             fieldConfidence (Optional): {
+     *                 String: double (Optional)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentModelDetails items along with {@link PagedResponse}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private PagedResponse listModelsSinglePage(RequestOptions requestOptions) { + final String accept = "application/json"; + Response res = + service.listModelsSync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + requestOptions, + Context.NONE); + return new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "value"), + getNextLink(res.getValue(), "nextLink"), + null); + } + + /** + * List all document models. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     buildMode: String(template/neural) (Optional)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     docTypes (Optional): {
+     *         String (Optional): {
+     *             description: String (Optional)
+     *             buildMode: String(template/neural) (Optional)
+     *             fieldSchema (Required): {
+     *                 String (Required): {
+     *                     type: String(string/date/time/phoneNumber/number/integer/selectionMark/countryRegion/signature/array/object/currency/address/boolean) (Required)
+     *                     description: String (Optional)
+     *                     example: String (Optional)
+     *                     items (Optional): (recursive schema, see items above)
+     *                     properties (Optional): {
+     *                         String (Optional): (recursive schema, see String above)
+     *                     }
+     *                 }
+     *             }
+     *             fieldConfidence (Optional): {
+     *                 String: double (Optional)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentModelDetails items as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listModels(RequestOptions requestOptions) { + RequestOptions requestOptionsForNextPage = new RequestOptions(); + requestOptionsForNextPage.setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE); + return new PagedIterable<>( + () -> listModelsSinglePage(requestOptions), + nextLink -> listModelsNextSinglePage(nextLink, requestOptionsForNextPage)); + } + + /** + * Deletes document model. + * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteModelWithResponseAsync(String modelId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.deleteModel( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + modelId, + accept, + requestOptions, + context)); + } + + /** + * Deletes document model. + * + * @param modelId Unique document model name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteModelWithResponse(String modelId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteModelSync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + modelId, + accept, + requestOptions, + Context.NONE); + } + + /** + * Return information about the current resource. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     customDocumentModels (Required): {
+     *         count: int (Required)
+     *         limit: int (Required)
+     *     }
+     *     customNeuralDocumentModelBuilds (Required): {
+     *         used: int (Required)
+     *         quota: int (Required)
+     *         quotaResetDateTime: OffsetDateTime (Required)
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return general information regarding the current resource along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getResourceInfoWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.getResourceInfo( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + requestOptions, + context)); + } + + /** + * Return information about the current resource. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     customDocumentModels (Required): {
+     *         count: int (Required)
+     *         limit: int (Required)
+     *     }
+     *     customNeuralDocumentModelBuilds (Required): {
+     *         used: int (Required)
+     *         quota: int (Required)
+     *         quotaResetDateTime: OffsetDateTime (Required)
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return general information regarding the current resource along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getResourceInfoWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getResourceInfoSync( + this.getEndpoint(), this.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Gets operation info. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String (Required)
+     *     status: String(notStarted/running/failed/succeeded/canceled) (Required)
+     *     percentCompleted: Integer (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     lastUpdatedDateTime: OffsetDateTime (Required)
+     *     resourceLocation: String (Required)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         innererror (Optional): {
+     *             code: String (Optional)
+     *             message: String (Optional)
+     *             innererror (Optional): (recursive schema, see innererror above)
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param operationId Operation ID. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return operation info along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getOperationWithResponseAsync(String operationId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.getOperation( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + operationId, + accept, + requestOptions, + context)); + } + + /** + * Gets operation info. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String (Required)
+     *     status: String(notStarted/running/failed/succeeded/canceled) (Required)
+     *     percentCompleted: Integer (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     lastUpdatedDateTime: OffsetDateTime (Required)
+     *     resourceLocation: String (Required)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         innererror (Optional): {
+     *             code: String (Optional)
+     *             message: String (Optional)
+     *             innererror (Optional): (recursive schema, see innererror above)
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param operationId Operation ID. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return operation info along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getOperationWithResponse(String operationId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getOperationSync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + operationId, + accept, + requestOptions, + Context.NONE); + } + + /** + * Lists all operations. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String (Required)
+     *     status: String(notStarted/running/failed/succeeded/canceled) (Required)
+     *     percentCompleted: Integer (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     lastUpdatedDateTime: OffsetDateTime (Required)
+     *     resourceLocation: String (Required)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         innererror (Optional): {
+     *             code: String (Optional)
+     *             message: String (Optional)
+     *             innererror (Optional): (recursive schema, see innererror above)
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of OperationDetails items along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listOperationsSinglePageAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.listOperations( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + requestOptions, + context)) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "value"), + getNextLink(res.getValue(), "nextLink"), + null)); + } + + /** + * Lists all operations. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String (Required)
+     *     status: String(notStarted/running/failed/succeeded/canceled) (Required)
+     *     percentCompleted: Integer (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     lastUpdatedDateTime: OffsetDateTime (Required)
+     *     resourceLocation: String (Required)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         innererror (Optional): {
+     *             code: String (Optional)
+     *             message: String (Optional)
+     *             innererror (Optional): (recursive schema, see innererror above)
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of OperationDetails items as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listOperationsAsync(RequestOptions requestOptions) { + RequestOptions requestOptionsForNextPage = new RequestOptions(); + requestOptionsForNextPage.setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE); + return new PagedFlux<>( + () -> listOperationsSinglePageAsync(requestOptions), + nextLink -> listOperationsNextSinglePageAsync(nextLink, requestOptionsForNextPage)); + } + + /** + * Lists all operations. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String (Required)
+     *     status: String(notStarted/running/failed/succeeded/canceled) (Required)
+     *     percentCompleted: Integer (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     lastUpdatedDateTime: OffsetDateTime (Required)
+     *     resourceLocation: String (Required)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         innererror (Optional): {
+     *             code: String (Optional)
+     *             message: String (Optional)
+     *             innererror (Optional): (recursive schema, see innererror above)
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of OperationDetails items along with {@link PagedResponse}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private PagedResponse listOperationsSinglePage(RequestOptions requestOptions) { + final String accept = "application/json"; + Response res = + service.listOperationsSync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + requestOptions, + Context.NONE); + return new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "value"), + getNextLink(res.getValue(), "nextLink"), + null); + } + + /** + * Lists all operations. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String (Required)
+     *     status: String(notStarted/running/failed/succeeded/canceled) (Required)
+     *     percentCompleted: Integer (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     lastUpdatedDateTime: OffsetDateTime (Required)
+     *     resourceLocation: String (Required)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         innererror (Optional): {
+     *             code: String (Optional)
+     *             message: String (Optional)
+     *             innererror (Optional): (recursive schema, see innererror above)
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of OperationDetails items as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listOperations(RequestOptions requestOptions) { + RequestOptions requestOptionsForNextPage = new RequestOptions(); + requestOptionsForNextPage.setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE); + return new PagedIterable<>( + () -> listOperationsSinglePage(requestOptions), + nextLink -> listOperationsNextSinglePage(nextLink, requestOptionsForNextPage)); + } + + /** + * Builds a custom document classifier. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> buildClassifierWithResponseAsync( + BinaryData buildRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.buildClassifier( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + buildRequest, + requestOptions, + context)); + } + + /** + * Builds a custom document classifier. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response buildClassifierWithResponse(BinaryData buildRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.buildClassifierSync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + buildRequest, + requestOptions, + Context.NONE); + } + + /** + * Builds a custom document classifier. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginBuildClassifierAsync( + BinaryData buildRequest, RequestOptions requestOptions) { + return PollerFlux.create( + Duration.ofSeconds(1), + () -> this.buildClassifierWithResponseAsync(buildRequest, requestOptions), + new com.azure.core.experimental.util.polling.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), + TypeReference.createInstance(BinaryData.class)); + } + + /** + * Builds a custom document classifier. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginBuildClassifier( + BinaryData buildRequest, RequestOptions requestOptions) { + return SyncPoller.createPoller( + Duration.ofSeconds(1), + () -> this.buildClassifierWithResponse(buildRequest, requestOptions), + new com.azure.core.experimental.util.polling.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), + TypeReference.createInstance(BinaryData.class)); + } + + /** + * Builds a custom document classifier. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginBuildClassifierWithModelAsync( + BinaryData buildRequest, RequestOptions requestOptions) { + return PollerFlux.create( + Duration.ofSeconds(1), + () -> this.buildClassifierWithResponseAsync(buildRequest, requestOptions), + new com.azure.core.experimental.util.polling.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(PollResult.class), + TypeReference.createInstance(DocumentClassifierDetails.class)); + } + + /** + * Builds a custom document classifier. + * + *

Request Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param buildRequest Build request parameters. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of long-running operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginBuildClassifierWithModel( + BinaryData buildRequest, RequestOptions requestOptions) { + return SyncPoller.createPoller( + Duration.ofSeconds(1), + () -> this.buildClassifierWithResponse(buildRequest, requestOptions), + new com.azure.core.experimental.util.polling.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint( + "{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint())) + .setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(PollResult.class), + TypeReference.createInstance(DocumentClassifierDetails.class)); + } + + /** + * Gets detailed document classifier information. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Required)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param classifierId Unique document classifier name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return detailed document classifier information along with {@link Response} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getClassifierWithResponseAsync( + String classifierId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.getClassifier( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + classifierId, + accept, + requestOptions, + context)); + } + + /** + * Gets detailed document classifier information. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Required)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param classifierId Unique document classifier name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return detailed document classifier information along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getClassifierWithResponse(String classifierId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getClassifierSync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + classifierId, + accept, + requestOptions, + Context.NONE); + } + + /** + * List all document classifiers. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Required)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentClassifierDetails items along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listClassifiersSinglePageAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.listClassifiers( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + requestOptions, + context)) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "value"), + getNextLink(res.getValue(), "nextLink"), + null)); + } + + /** + * List all document classifiers. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Required)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentClassifierDetails items as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listClassifiersAsync(RequestOptions requestOptions) { + RequestOptions requestOptionsForNextPage = new RequestOptions(); + requestOptionsForNextPage.setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE); + return new PagedFlux<>( + () -> listClassifiersSinglePageAsync(requestOptions), + nextLink -> listClassifiersNextSinglePageAsync(nextLink, requestOptionsForNextPage)); + } + + /** + * List all document classifiers. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Required)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentClassifierDetails items along with {@link PagedResponse}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private PagedResponse listClassifiersSinglePage(RequestOptions requestOptions) { + final String accept = "application/json"; + Response res = + service.listClassifiersSync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + accept, + requestOptions, + Context.NONE); + return new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "value"), + getNextLink(res.getValue(), "nextLink"), + null); + } + + /** + * List all document classifiers. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Required)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentClassifierDetails items as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listClassifiers(RequestOptions requestOptions) { + RequestOptions requestOptionsForNextPage = new RequestOptions(); + requestOptionsForNextPage.setContext( + requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE); + return new PagedIterable<>( + () -> listClassifiersSinglePage(requestOptions), + nextLink -> listClassifiersNextSinglePage(nextLink, requestOptionsForNextPage)); + } + + /** + * Deletes document classifier. + * + * @param classifierId Unique document classifier name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteClassifierWithResponseAsync(String classifierId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.deleteClassifier( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + classifierId, + accept, + requestOptions, + context)); + } + + /** + * Deletes document classifier. + * + * @param classifierId Unique document classifier name. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteClassifierWithResponse(String classifierId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteClassifierSync( + this.getEndpoint(), + this.getServiceVersion().getVersion(), + classifierId, + accept, + requestOptions, + Context.NONE); + } + + /** + * Get the next page of items. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     buildMode: String(template/neural) (Optional)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     docTypes (Optional): {
+     *         String (Optional): {
+     *             description: String (Optional)
+     *             buildMode: String(template/neural) (Optional)
+     *             fieldSchema (Required): {
+     *                 String (Required): {
+     *                     type: String(string/date/time/phoneNumber/number/integer/selectionMark/countryRegion/signature/array/object/currency/address/boolean) (Required)
+     *                     description: String (Optional)
+     *                     example: String (Optional)
+     *                     items (Optional): (recursive schema, see items above)
+     *                     properties (Optional): {
+     *                         String (Optional): (recursive schema, see String above)
+     *                     }
+     *                 }
+     *             }
+     *             fieldConfidence (Optional): {
+     *                 String: double (Optional)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentModelDetails items along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listModelsNextSinglePageAsync( + String nextLink, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.listModelsNext(nextLink, this.getEndpoint(), accept, requestOptions, context)) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "value"), + getNextLink(res.getValue(), "nextLink"), + null)); + } + + /** + * Get the next page of items. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     modelId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     buildMode: String(template/neural) (Optional)
+     *     azureBlobSource (Optional): {
+     *         containerUrl: String (Required)
+     *         prefix: String (Optional)
+     *     }
+     *     azureBlobFileListSource (Optional): {
+     *         containerUrl: String (Required)
+     *         fileList: String (Required)
+     *     }
+     *     docTypes (Optional): {
+     *         String (Optional): {
+     *             description: String (Optional)
+     *             buildMode: String(template/neural) (Optional)
+     *             fieldSchema (Required): {
+     *                 String (Required): {
+     *                     type: String(string/date/time/phoneNumber/number/integer/selectionMark/countryRegion/signature/array/object/currency/address/boolean) (Required)
+     *                     description: String (Optional)
+     *                     example: String (Optional)
+     *                     items (Optional): (recursive schema, see items above)
+     *                     properties (Optional): {
+     *                         String (Optional): (recursive schema, see String above)
+     *                     }
+     *                 }
+     *             }
+     *             fieldConfidence (Optional): {
+     *                 String: double (Optional)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentModelDetails items along with {@link PagedResponse}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private PagedResponse listModelsNextSinglePage(String nextLink, RequestOptions requestOptions) { + final String accept = "application/json"; + Response res = + service.listModelsNextSync(nextLink, this.getEndpoint(), accept, requestOptions, Context.NONE); + return new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "value"), + getNextLink(res.getValue(), "nextLink"), + null); + } + + /** + * Get the next page of items. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String (Required)
+     *     status: String(notStarted/running/failed/succeeded/canceled) (Required)
+     *     percentCompleted: Integer (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     lastUpdatedDateTime: OffsetDateTime (Required)
+     *     resourceLocation: String (Required)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         innererror (Optional): {
+     *             code: String (Optional)
+     *             message: String (Optional)
+     *             innererror (Optional): (recursive schema, see innererror above)
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of OperationDetails items along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listOperationsNextSinglePageAsync( + String nextLink, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.listOperationsNext( + nextLink, this.getEndpoint(), accept, requestOptions, context)) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "value"), + getNextLink(res.getValue(), "nextLink"), + null)); + } + + /** + * Get the next page of items. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     operationId: String (Required)
+     *     status: String(notStarted/running/failed/succeeded/canceled) (Required)
+     *     percentCompleted: Integer (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     lastUpdatedDateTime: OffsetDateTime (Required)
+     *     resourceLocation: String (Required)
+     *     apiVersion: String (Optional)
+     *     tags (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         innererror (Optional): {
+     *             code: String (Optional)
+     *             message: String (Optional)
+     *             innererror (Optional): (recursive schema, see innererror above)
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of OperationDetails items along with {@link PagedResponse}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private PagedResponse listOperationsNextSinglePage(String nextLink, RequestOptions requestOptions) { + final String accept = "application/json"; + Response res = + service.listOperationsNextSync(nextLink, this.getEndpoint(), accept, requestOptions, Context.NONE); + return new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "value"), + getNextLink(res.getValue(), "nextLink"), + null); + } + + /** + * Get the next page of items. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Required)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentClassifierDetails items along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listClassifiersNextSinglePageAsync( + String nextLink, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> + service.listClassifiersNext( + nextLink, this.getEndpoint(), accept, requestOptions, context)) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "value"), + getNextLink(res.getValue(), "nextLink"), + null)); + } + + /** + * Get the next page of items. + * + *

Response Body Schema + * + *

{@code
+     * {
+     *     classifierId: String (Required)
+     *     description: String (Optional)
+     *     createdDateTime: OffsetDateTime (Required)
+     *     expirationDateTime: OffsetDateTime (Optional)
+     *     apiVersion: String (Required)
+     *     docTypes (Required): {
+     *         String (Required): {
+     *             sourceKind: String(url/base64/azureBlob/azureBlobFileList) (Optional)
+     *             azureBlobSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 prefix: String (Optional)
+     *             }
+     *             azureBlobFileListSource (Optional): {
+     *                 containerUrl: String (Required)
+     *                 fileList: String (Required)
+     *             }
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return paged collection of DocumentClassifierDetails items along with {@link PagedResponse}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private PagedResponse listClassifiersNextSinglePage(String nextLink, RequestOptions requestOptions) { + final String accept = "application/json"; + Response res = + service.listClassifiersNextSync(nextLink, this.getEndpoint(), accept, requestOptions, Context.NONE); + return new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + getValues(res.getValue(), "value"), + getNextLink(res.getValue(), "nextLink"), + null); + } + + private List getValues(BinaryData binaryData, String path) { + try { + Map obj = binaryData.toObject(Map.class); + List values = (List) obj.get(path); + return values.stream().map(BinaryData::fromObject).collect(Collectors.toList()); + } catch (RuntimeException e) { + return null; + } + } + + private String getNextLink(BinaryData binaryData, String path) { + try { + Map obj = binaryData.toObject(Map.class); + return (String) obj.get(path); + } catch (RuntimeException e) { + return null; + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/package-info.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/package-info.java new file mode 100644 index 000000000000..6722303da5d4 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/package-info.java @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * Package containing the implementations for DocumentIntelligence. Extracts content, layout, and structured data from + * documents. + */ +package com.azure.ai.documentintelligence.implementation; diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AddressValue.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AddressValue.java new file mode 100644 index 000000000000..a4131e3c6c9b --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AddressValue.java @@ -0,0 +1,257 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Address field value. */ +@Immutable +public final class AddressValue { + /* + * House or building number. + */ + @Generated + @JsonProperty(value = "houseNumber") + private String houseNumber; + + /* + * Post office box number. + */ + @Generated + @JsonProperty(value = "poBox") + private String poBox; + + /* + * Street name. + */ + @Generated + @JsonProperty(value = "road") + private String road; + + /* + * Name of city, town, village, etc. + */ + @Generated + @JsonProperty(value = "city") + private String city; + + /* + * First-level administrative division. + */ + @Generated + @JsonProperty(value = "state") + private String state; + + /* + * Postal code used for mail sorting. + */ + @Generated + @JsonProperty(value = "postalCode") + private String postalCode; + + /* + * Country/region. + */ + @Generated + @JsonProperty(value = "countryRegion") + private String countryRegion; + + /* + * Street-level address, excluding city, state, countryRegion, and postalCode. + */ + @Generated + @JsonProperty(value = "streetAddress") + private String streetAddress; + + /* + * Apartment or office number + */ + @Generated + @JsonProperty(value = "unit") + private String unit; + + /* + * Districts or boroughs within a city, such as Brooklyn in New York City or City + * of Westminster in London. + */ + @Generated + @JsonProperty(value = "cityDistrict") + private String cityDistrict; + + /* + * Second-level administrative division used in certain locales. + */ + @Generated + @JsonProperty(value = "stateDistrict") + private String stateDistrict; + + /* + * Unofficial neighborhood name, like Chinatown. + */ + @Generated + @JsonProperty(value = "suburb") + private String suburb; + + /* + * Build name, such as World Trade Center. + */ + @Generated + @JsonProperty(value = "house") + private String house; + + /* + * Floor number, such as 3F. + */ + @Generated + @JsonProperty(value = "level") + private String level; + + /** Creates an instance of AddressValue class. */ + @Generated + private AddressValue() {} + + /** + * Get the houseNumber property: House or building number. + * + * @return the houseNumber value. + */ + @Generated + public String getHouseNumber() { + return this.houseNumber; + } + + /** + * Get the poBox property: Post office box number. + * + * @return the poBox value. + */ + @Generated + public String getPoBox() { + return this.poBox; + } + + /** + * Get the road property: Street name. + * + * @return the road value. + */ + @Generated + public String getRoad() { + return this.road; + } + + /** + * Get the city property: Name of city, town, village, etc. + * + * @return the city value. + */ + @Generated + public String getCity() { + return this.city; + } + + /** + * Get the state property: First-level administrative division. + * + * @return the state value. + */ + @Generated + public String getState() { + return this.state; + } + + /** + * Get the postalCode property: Postal code used for mail sorting. + * + * @return the postalCode value. + */ + @Generated + public String getPostalCode() { + return this.postalCode; + } + + /** + * Get the countryRegion property: Country/region. + * + * @return the countryRegion value. + */ + @Generated + public String getCountryRegion() { + return this.countryRegion; + } + + /** + * Get the streetAddress property: Street-level address, excluding city, state, countryRegion, and postalCode. + * + * @return the streetAddress value. + */ + @Generated + public String getStreetAddress() { + return this.streetAddress; + } + + /** + * Get the unit property: Apartment or office number. + * + * @return the unit value. + */ + @Generated + public String getUnit() { + return this.unit; + } + + /** + * Get the cityDistrict property: Districts or boroughs within a city, such as Brooklyn in New York City or City of + * Westminster in London. + * + * @return the cityDistrict value. + */ + @Generated + public String getCityDistrict() { + return this.cityDistrict; + } + + /** + * Get the stateDistrict property: Second-level administrative division used in certain locales. + * + * @return the stateDistrict value. + */ + @Generated + public String getStateDistrict() { + return this.stateDistrict; + } + + /** + * Get the suburb property: Unofficial neighborhood name, like Chinatown. + * + * @return the suburb value. + */ + @Generated + public String getSuburb() { + return this.suburb; + } + + /** + * Get the house property: Build name, such as World Trade Center. + * + * @return the house value. + */ + @Generated + public String getHouse() { + return this.house; + } + + /** + * Get the level property: Floor number, such as 3F. + * + * @return the level value. + */ + @Generated + public String getLevel() { + return this.level; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeDocumentRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeDocumentRequest.java new file mode 100644 index 000000000000..09871604c8ea --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeDocumentRequest.java @@ -0,0 +1,79 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.CoreUtils; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Document analysis parameters. */ +@Fluent +public final class AnalyzeDocumentRequest { + /* + * Document URL to analyze. Either urlSource or base64Source must be specified. + */ + @Generated + @JsonProperty(value = "urlSource") + private String urlSource; + + /* + * Base64 encoding of the document to analyze. Either urlSource or base64Source + * must be specified. + */ + @Generated + @JsonProperty(value = "base64Source") + private byte[] base64Source; + + /** Creates an instance of AnalyzeDocumentRequest class. */ + @Generated + public AnalyzeDocumentRequest() {} + + /** + * Get the urlSource property: Document URL to analyze. Either urlSource or base64Source must be specified. + * + * @return the urlSource value. + */ + @Generated + public String getUrlSource() { + return this.urlSource; + } + + /** + * Set the urlSource property: Document URL to analyze. Either urlSource or base64Source must be specified. + * + * @param urlSource the urlSource value to set. + * @return the AnalyzeDocumentRequest object itself. + */ + @Generated + public AnalyzeDocumentRequest setUrlSource(String urlSource) { + this.urlSource = urlSource; + return this; + } + + /** + * Get the base64Source property: Base64 encoding of the document to analyze. Either urlSource or base64Source must + * be specified. + * + * @return the base64Source value. + */ + @Generated + public byte[] getBase64Source() { + return CoreUtils.clone(this.base64Source); + } + + /** + * Set the base64Source property: Base64 encoding of the document to analyze. Either urlSource or base64Source must + * be specified. + * + * @param base64Source the base64Source value to set. + * @return the AnalyzeDocumentRequest object itself. + */ + @Generated + public AnalyzeDocumentRequest setBase64Source(byte[] base64Source) { + this.base64Source = CoreUtils.clone(base64Source); + return this; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResult.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResult.java new file mode 100644 index 000000000000..bd34022507d0 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResult.java @@ -0,0 +1,295 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Document analysis result. */ +@Immutable +public final class AnalyzeResult { + /* + * API version used to produce this result. + */ + @Generated + @JsonProperty(value = "apiVersion") + private String apiVersion; + + /* + * Document model ID used to produce this result. + */ + @Generated + @JsonProperty(value = "modelId") + private String modelId; + + /* + * Method used to compute string offset and length. + */ + @Generated + @JsonProperty(value = "stringIndexType") + private StringIndexType stringIndexType; + + /* + * Format of the analyze result top-level content. + */ + @Generated + @JsonProperty(value = "contentFormat") + private ContentFormat contentFormat; + + /* + * Concatenate string representation of all textual and visual elements in reading + * order. + */ + @Generated + @JsonProperty(value = "content") + private String content; + + /* + * Analyzed pages. + */ + @Generated + @JsonProperty(value = "pages") + private List pages; + + /* + * Extracted paragraphs. + */ + @Generated + @JsonProperty(value = "paragraphs") + private List paragraphs; + + /* + * Extracted tables. + */ + @Generated + @JsonProperty(value = "tables") + private List tables; + + /* + * Extracted figures. + */ + @Generated + @JsonProperty(value = "figures") + private List figures; + + /* + * Extracted lists. + */ + @Generated + @JsonProperty(value = "lists") + private List lists; + + /* + * Extracted sections. + */ + @Generated + @JsonProperty(value = "sections") + private List sections; + + /* + * Extracted key-value pairs. + */ + @Generated + @JsonProperty(value = "keyValuePairs") + private List keyValuePairs; + + /* + * Extracted font styles. + */ + @Generated + @JsonProperty(value = "styles") + private List styles; + + /* + * Detected languages. + */ + @Generated + @JsonProperty(value = "languages") + private List languages; + + /* + * Extracted documents. + */ + @Generated + @JsonProperty(value = "documents") + private List documents; + + /** + * Creates an instance of AnalyzeResult class. + * + * @param apiVersion the apiVersion value to set. + * @param modelId the modelId value to set. + * @param stringIndexType the stringIndexType value to set. + * @param content the content value to set. + * @param pages the pages value to set. + */ + @Generated + @JsonCreator + private AnalyzeResult( + @JsonProperty(value = "apiVersion") String apiVersion, + @JsonProperty(value = "modelId") String modelId, + @JsonProperty(value = "stringIndexType") StringIndexType stringIndexType, + @JsonProperty(value = "content") String content, + @JsonProperty(value = "pages") List pages) { + this.apiVersion = apiVersion; + this.modelId = modelId; + this.stringIndexType = stringIndexType; + this.content = content; + this.pages = pages; + } + + /** + * Get the apiVersion property: API version used to produce this result. + * + * @return the apiVersion value. + */ + @Generated + public String getApiVersion() { + return this.apiVersion; + } + + /** + * Get the modelId property: Document model ID used to produce this result. + * + * @return the modelId value. + */ + @Generated + public String getModelId() { + return this.modelId; + } + + /** + * Get the stringIndexType property: Method used to compute string offset and length. + * + * @return the stringIndexType value. + */ + @Generated + public StringIndexType getStringIndexType() { + return this.stringIndexType; + } + + /** + * Get the contentFormat property: Format of the analyze result top-level content. + * + * @return the contentFormat value. + */ + @Generated + public ContentFormat getContentFormat() { + return this.contentFormat; + } + + /** + * Get the content property: Concatenate string representation of all textual and visual elements in reading order. + * + * @return the content value. + */ + @Generated + public String getContent() { + return this.content; + } + + /** + * Get the pages property: Analyzed pages. + * + * @return the pages value. + */ + @Generated + public List getPages() { + return this.pages; + } + + /** + * Get the paragraphs property: Extracted paragraphs. + * + * @return the paragraphs value. + */ + @Generated + public List getParagraphs() { + return this.paragraphs; + } + + /** + * Get the tables property: Extracted tables. + * + * @return the tables value. + */ + @Generated + public List getTables() { + return this.tables; + } + + /** + * Get the figures property: Extracted figures. + * + * @return the figures value. + */ + @Generated + public List getFigures() { + return this.figures; + } + + /** + * Get the lists property: Extracted lists. + * + * @return the lists value. + */ + @Generated + public List getLists() { + return this.lists; + } + + /** + * Get the sections property: Extracted sections. + * + * @return the sections value. + */ + @Generated + public List getSections() { + return this.sections; + } + + /** + * Get the keyValuePairs property: Extracted key-value pairs. + * + * @return the keyValuePairs value. + */ + @Generated + public List getKeyValuePairs() { + return this.keyValuePairs; + } + + /** + * Get the styles property: Extracted font styles. + * + * @return the styles value. + */ + @Generated + public List getStyles() { + return this.styles; + } + + /** + * Get the languages property: Detected languages. + * + * @return the languages value. + */ + @Generated + public List getLanguages() { + return this.languages; + } + + /** + * Get the documents property: Extracted documents. + * + * @return the documents value. + */ + @Generated + public List getDocuments() { + return this.documents; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResultOperation.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResultOperation.java new file mode 100644 index 000000000000..9ed4aa7df51b --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResultOperation.java @@ -0,0 +1,118 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Status and result of the analyze operation. */ +@Immutable +public final class AnalyzeResultOperation { + /* + * Operation status. + */ + @Generated + @JsonProperty(value = "status") + private OperationStatus status; + + /* + * Date and time (UTC) when the analyze operation was submitted. + */ + @Generated + @JsonProperty(value = "createdDateTime") + private OffsetDateTime createdDateTime; + + /* + * Date and time (UTC) when the status was last updated. + */ + @Generated + @JsonProperty(value = "lastUpdatedDateTime") + private OffsetDateTime lastUpdatedDateTime; + + /* + * Encountered error during document analysis. + */ + @Generated + @JsonProperty(value = "error") + private Error error; + + /* + * Document analysis result. + */ + @Generated + @JsonProperty(value = "analyzeResult") + private AnalyzeResult analyzeResult; + + /** + * Creates an instance of AnalyzeResultOperation class. + * + * @param status the status value to set. + * @param createdDateTime the createdDateTime value to set. + * @param lastUpdatedDateTime the lastUpdatedDateTime value to set. + */ + @Generated + @JsonCreator + private AnalyzeResultOperation( + @JsonProperty(value = "status") OperationStatus status, + @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime, + @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime) { + this.status = status; + this.createdDateTime = createdDateTime; + this.lastUpdatedDateTime = lastUpdatedDateTime; + } + + /** + * Get the status property: Operation status. + * + * @return the status value. + */ + @Generated + public OperationStatus getStatus() { + return this.status; + } + + /** + * Get the createdDateTime property: Date and time (UTC) when the analyze operation was submitted. + * + * @return the createdDateTime value. + */ + @Generated + public OffsetDateTime getCreatedDateTime() { + return this.createdDateTime; + } + + /** + * Get the lastUpdatedDateTime property: Date and time (UTC) when the status was last updated. + * + * @return the lastUpdatedDateTime value. + */ + @Generated + public OffsetDateTime getLastUpdatedDateTime() { + return this.lastUpdatedDateTime; + } + + /** + * Get the error property: Encountered error during document analysis. + * + * @return the error value. + */ + @Generated + public Error getError() { + return this.error; + } + + /** + * Get the analyzeResult property: Document analysis result. + * + * @return the analyzeResult value. + */ + @Generated + public AnalyzeResult getAnalyzeResult() { + return this.analyzeResult; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AuthorizeCopyRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AuthorizeCopyRequest.java new file mode 100644 index 000000000000..47fae46c6d64 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AuthorizeCopyRequest.java @@ -0,0 +1,101 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** Request body to authorize document model copy. */ +@Fluent +public final class AuthorizeCopyRequest { + /* + * Unique document model name. + */ + @Generated + @JsonProperty(value = "modelId") + private String modelId; + + /* + * Document model description. + */ + @Generated + @JsonProperty(value = "description") + private String description; + + /* + * List of key-value tag attributes associated with the document model. + */ + @Generated + @JsonProperty(value = "tags") + private Map tags; + + /** + * Creates an instance of AuthorizeCopyRequest class. + * + * @param modelId the modelId value to set. + */ + @Generated + @JsonCreator + public AuthorizeCopyRequest(@JsonProperty(value = "modelId") String modelId) { + this.modelId = modelId; + } + + /** + * Get the modelId property: Unique document model name. + * + * @return the modelId value. + */ + @Generated + public String getModelId() { + return this.modelId; + } + + /** + * Get the description property: Document model description. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Document model description. + * + * @param description the description value to set. + * @return the AuthorizeCopyRequest object itself. + */ + @Generated + public AuthorizeCopyRequest setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the tags property: List of key-value tag attributes associated with the document model. + * + * @return the tags value. + */ + @Generated + public Map getTags() { + return this.tags; + } + + /** + * Set the tags property: List of key-value tag attributes associated with the document model. + * + * @param tags the tags value to set. + * @return the AuthorizeCopyRequest object itself. + */ + @Generated + public AuthorizeCopyRequest setTags(Map tags) { + this.tags = tags; + return this; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobContentSource.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobContentSource.java new file mode 100644 index 000000000000..124f37ec6528 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobContentSource.java @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Azure Blob Storage content. */ +@Fluent +public final class AzureBlobContentSource { + /* + * Azure Blob Storage container URL. + */ + @Generated + @JsonProperty(value = "containerUrl") + private String containerUrl; + + /* + * Blob name prefix. + */ + @Generated + @JsonProperty(value = "prefix") + private String prefix; + + /** + * Creates an instance of AzureBlobContentSource class. + * + * @param containerUrl the containerUrl value to set. + */ + @Generated + @JsonCreator + public AzureBlobContentSource(@JsonProperty(value = "containerUrl") String containerUrl) { + this.containerUrl = containerUrl; + } + + /** + * Get the containerUrl property: Azure Blob Storage container URL. + * + * @return the containerUrl value. + */ + @Generated + public String getContainerUrl() { + return this.containerUrl; + } + + /** + * Get the prefix property: Blob name prefix. + * + * @return the prefix value. + */ + @Generated + public String getPrefix() { + return this.prefix; + } + + /** + * Set the prefix property: Blob name prefix. + * + * @param prefix the prefix value to set. + * @return the AzureBlobContentSource object itself. + */ + @Generated + public AzureBlobContentSource setPrefix(String prefix) { + this.prefix = prefix; + return this; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobFileListContentSource.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobFileListContentSource.java new file mode 100644 index 000000000000..7acd63a3fe41 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobFileListContentSource.java @@ -0,0 +1,63 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** File list in Azure Blob Storage. */ +@Immutable +public final class AzureBlobFileListContentSource { + /* + * Azure Blob Storage container URL. + */ + @Generated + @JsonProperty(value = "containerUrl") + private String containerUrl; + + /* + * Path to a JSONL file within the container specifying a subset of documents. + */ + @Generated + @JsonProperty(value = "fileList") + private String fileList; + + /** + * Creates an instance of AzureBlobFileListContentSource class. + * + * @param containerUrl the containerUrl value to set. + * @param fileList the fileList value to set. + */ + @Generated + @JsonCreator + public AzureBlobFileListContentSource( + @JsonProperty(value = "containerUrl") String containerUrl, + @JsonProperty(value = "fileList") String fileList) { + this.containerUrl = containerUrl; + this.fileList = fileList; + } + + /** + * Get the containerUrl property: Azure Blob Storage container URL. + * + * @return the containerUrl value. + */ + @Generated + public String getContainerUrl() { + return this.containerUrl; + } + + /** + * Get the fileList property: Path to a JSONL file within the container specifying a subset of documents. + * + * @return the fileList value. + */ + @Generated + public String getFileList() { + return this.fileList; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BoundingRegion.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BoundingRegion.java new file mode 100644 index 000000000000..b67dc31612bd --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BoundingRegion.java @@ -0,0 +1,68 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Bounding polygon on a specific page of the input. */ +@Immutable +public final class BoundingRegion { + /* + * 1-based page number of page containing the bounding region. + */ + @Generated + @JsonProperty(value = "pageNumber") + private int pageNumber; + + /* + * Bounding polygon on the page, or the entire page if not specified. + * Coordinates specified relative to the top-left of the page. The numbers + * represent the x, y values of the polygon vertices, clockwise from the left + * (-180 degrees inclusive) relative to the element orientation. + */ + @Generated + @JsonProperty(value = "polygon") + private List polygon; + + /** + * Creates an instance of BoundingRegion class. + * + * @param pageNumber the pageNumber value to set. + * @param polygon the polygon value to set. + */ + @Generated + @JsonCreator + private BoundingRegion( + @JsonProperty(value = "pageNumber") int pageNumber, @JsonProperty(value = "polygon") List polygon) { + this.pageNumber = pageNumber; + this.polygon = polygon; + } + + /** + * Get the pageNumber property: 1-based page number of page containing the bounding region. + * + * @return the pageNumber value. + */ + @Generated + public int getPageNumber() { + return this.pageNumber; + } + + /** + * Get the polygon property: Bounding polygon on the page, or the entire page if not specified. Coordinates + * specified relative to the top-left of the page. The numbers represent the x, y values of the polygon vertices, + * clockwise from the left (-180 degrees inclusive) relative to the element orientation. + * + * @return the polygon value. + */ + @Generated + public List getPolygon() { + return this.polygon; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentClassifierRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentClassifierRequest.java new file mode 100644 index 000000000000..0ce31d48258a --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentClassifierRequest.java @@ -0,0 +1,93 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** Request body to build a new custom document classifier. */ +@Fluent +public final class BuildDocumentClassifierRequest { + /* + * Unique document classifier name. + */ + @Generated + @JsonProperty(value = "classifierId") + private String classifierId; + + /* + * Document classifier description. + */ + @Generated + @JsonProperty(value = "description") + private String description; + + /* + * List of document types to classify against. + */ + @Generated + @JsonProperty(value = "docTypes") + private Map docTypes; + + /** + * Creates an instance of BuildDocumentClassifierRequest class. + * + * @param classifierId the classifierId value to set. + * @param docTypes the docTypes value to set. + */ + @Generated + @JsonCreator + public BuildDocumentClassifierRequest( + @JsonProperty(value = "classifierId") String classifierId, + @JsonProperty(value = "docTypes") Map docTypes) { + this.classifierId = classifierId; + this.docTypes = docTypes; + } + + /** + * Get the classifierId property: Unique document classifier name. + * + * @return the classifierId value. + */ + @Generated + public String getClassifierId() { + return this.classifierId; + } + + /** + * Get the description property: Document classifier description. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Document classifier description. + * + * @param description the description value to set. + * @return the BuildDocumentClassifierRequest object itself. + */ + @Generated + public BuildDocumentClassifierRequest setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the docTypes property: List of document types to classify against. + * + * @return the docTypes value. + */ + @Generated + public Map getDocTypes() { + return this.docTypes; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentModelRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentModelRequest.java new file mode 100644 index 000000000000..433bb7baf805 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentModelRequest.java @@ -0,0 +1,187 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** Request body to build a new custom document model. */ +@Fluent +public final class BuildDocumentModelRequest { + /* + * Unique document model name. + */ + @Generated + @JsonProperty(value = "modelId") + private String modelId; + + /* + * Document model description. + */ + @Generated + @JsonProperty(value = "description") + private String description; + + /* + * Custom document model build mode. + */ + @Generated + @JsonProperty(value = "buildMode") + private DocumentBuildMode buildMode; + + /* + * Azure Blob Storage location containing the training data. Either + * azureBlobSource or azureBlobFileListSource must be specified. + */ + @Generated + @JsonProperty(value = "azureBlobSource") + private AzureBlobContentSource azureBlobSource; + + /* + * Azure Blob Storage file list specifying the training data. Either + * azureBlobSource or azureBlobFileListSource must be specified. + */ + @Generated + @JsonProperty(value = "azureBlobFileListSource") + private AzureBlobFileListContentSource azureBlobFileListSource; + + /* + * List of key-value tag attributes associated with the document model. + */ + @Generated + @JsonProperty(value = "tags") + private Map tags; + + /** + * Creates an instance of BuildDocumentModelRequest class. + * + * @param modelId the modelId value to set. + * @param buildMode the buildMode value to set. + */ + @Generated + @JsonCreator + public BuildDocumentModelRequest( + @JsonProperty(value = "modelId") String modelId, + @JsonProperty(value = "buildMode") DocumentBuildMode buildMode) { + this.modelId = modelId; + this.buildMode = buildMode; + } + + /** + * Get the modelId property: Unique document model name. + * + * @return the modelId value. + */ + @Generated + public String getModelId() { + return this.modelId; + } + + /** + * Get the description property: Document model description. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Document model description. + * + * @param description the description value to set. + * @return the BuildDocumentModelRequest object itself. + */ + @Generated + public BuildDocumentModelRequest setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the buildMode property: Custom document model build mode. + * + * @return the buildMode value. + */ + @Generated + public DocumentBuildMode getBuildMode() { + return this.buildMode; + } + + /** + * Get the azureBlobSource property: Azure Blob Storage location containing the training data. Either + * azureBlobSource or azureBlobFileListSource must be specified. + * + * @return the azureBlobSource value. + */ + @Generated + public AzureBlobContentSource getAzureBlobSource() { + return this.azureBlobSource; + } + + /** + * Set the azureBlobSource property: Azure Blob Storage location containing the training data. Either + * azureBlobSource or azureBlobFileListSource must be specified. + * + * @param azureBlobSource the azureBlobSource value to set. + * @return the BuildDocumentModelRequest object itself. + */ + @Generated + public BuildDocumentModelRequest setAzureBlobSource(AzureBlobContentSource azureBlobSource) { + this.azureBlobSource = azureBlobSource; + return this; + } + + /** + * Get the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data. Either + * azureBlobSource or azureBlobFileListSource must be specified. + * + * @return the azureBlobFileListSource value. + */ + @Generated + public AzureBlobFileListContentSource getAzureBlobFileListSource() { + return this.azureBlobFileListSource; + } + + /** + * Set the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data. Either + * azureBlobSource or azureBlobFileListSource must be specified. + * + * @param azureBlobFileListSource the azureBlobFileListSource value to set. + * @return the BuildDocumentModelRequest object itself. + */ + @Generated + public BuildDocumentModelRequest setAzureBlobFileListSource( + AzureBlobFileListContentSource azureBlobFileListSource) { + this.azureBlobFileListSource = azureBlobFileListSource; + return this; + } + + /** + * Get the tags property: List of key-value tag attributes associated with the document model. + * + * @return the tags value. + */ + @Generated + public Map getTags() { + return this.tags; + } + + /** + * Set the tags property: List of key-value tag attributes associated with the document model. + * + * @param tags the tags value to set. + * @return the BuildDocumentModelRequest object itself. + */ + @Generated + public BuildDocumentModelRequest setTags(Map tags) { + this.tags = tags; + return this; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifierDocumentTypeDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifierDocumentTypeDetails.java new file mode 100644 index 000000000000..c1257327fe97 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifierDocumentTypeDetails.java @@ -0,0 +1,113 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Classifier document type info. */ +@Fluent +public final class ClassifierDocumentTypeDetails { + /* + * Type of training data source. + */ + @Generated + @JsonProperty(value = "sourceKind") + private ContentSourceKind sourceKind; + + /* + * Azure Blob Storage location containing the training data for a classifier + * document type. Either azureBlobSource or azureBlobFileListSource must be + * specified. + */ + @Generated + @JsonProperty(value = "azureBlobSource") + private AzureBlobContentSource azureBlobSource; + + /* + * Azure Blob Storage file list specifying the training data for a classifier + * document type. Either azureBlobSource or azureBlobFileListSource must be + * specified. + */ + @Generated + @JsonProperty(value = "azureBlobFileListSource") + private AzureBlobFileListContentSource azureBlobFileListSource; + + /** Creates an instance of ClassifierDocumentTypeDetails class. */ + @Generated + public ClassifierDocumentTypeDetails() {} + + /** + * Get the sourceKind property: Type of training data source. + * + * @return the sourceKind value. + */ + @Generated + public ContentSourceKind getSourceKind() { + return this.sourceKind; + } + + /** + * Set the sourceKind property: Type of training data source. + * + * @param sourceKind the sourceKind value to set. + * @return the ClassifierDocumentTypeDetails object itself. + */ + @Generated + public ClassifierDocumentTypeDetails setSourceKind(ContentSourceKind sourceKind) { + this.sourceKind = sourceKind; + return this; + } + + /** + * Get the azureBlobSource property: Azure Blob Storage location containing the training data for a classifier + * document type. Either azureBlobSource or azureBlobFileListSource must be specified. + * + * @return the azureBlobSource value. + */ + @Generated + public AzureBlobContentSource getAzureBlobSource() { + return this.azureBlobSource; + } + + /** + * Set the azureBlobSource property: Azure Blob Storage location containing the training data for a classifier + * document type. Either azureBlobSource or azureBlobFileListSource must be specified. + * + * @param azureBlobSource the azureBlobSource value to set. + * @return the ClassifierDocumentTypeDetails object itself. + */ + @Generated + public ClassifierDocumentTypeDetails setAzureBlobSource(AzureBlobContentSource azureBlobSource) { + this.azureBlobSource = azureBlobSource; + return this; + } + + /** + * Get the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data for a + * classifier document type. Either azureBlobSource or azureBlobFileListSource must be specified. + * + * @return the azureBlobFileListSource value. + */ + @Generated + public AzureBlobFileListContentSource getAzureBlobFileListSource() { + return this.azureBlobFileListSource; + } + + /** + * Set the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data for a + * classifier document type. Either azureBlobSource or azureBlobFileListSource must be specified. + * + * @param azureBlobFileListSource the azureBlobFileListSource value to set. + * @return the ClassifierDocumentTypeDetails object itself. + */ + @Generated + public ClassifierDocumentTypeDetails setAzureBlobFileListSource( + AzureBlobFileListContentSource azureBlobFileListSource) { + this.azureBlobFileListSource = azureBlobFileListSource; + return this; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifyDocumentRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifyDocumentRequest.java new file mode 100644 index 000000000000..831ded860be6 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifyDocumentRequest.java @@ -0,0 +1,79 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.CoreUtils; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Document classification parameters. */ +@Fluent +public final class ClassifyDocumentRequest { + /* + * Document URL to classify. Either urlSource or base64Source must be specified. + */ + @Generated + @JsonProperty(value = "urlSource") + private String urlSource; + + /* + * Base64 encoding of the document to classify. Either urlSource or base64Source + * must be specified. + */ + @Generated + @JsonProperty(value = "base64Source") + private byte[] base64Source; + + /** Creates an instance of ClassifyDocumentRequest class. */ + @Generated + public ClassifyDocumentRequest() {} + + /** + * Get the urlSource property: Document URL to classify. Either urlSource or base64Source must be specified. + * + * @return the urlSource value. + */ + @Generated + public String getUrlSource() { + return this.urlSource; + } + + /** + * Set the urlSource property: Document URL to classify. Either urlSource or base64Source must be specified. + * + * @param urlSource the urlSource value to set. + * @return the ClassifyDocumentRequest object itself. + */ + @Generated + public ClassifyDocumentRequest setUrlSource(String urlSource) { + this.urlSource = urlSource; + return this; + } + + /** + * Get the base64Source property: Base64 encoding of the document to classify. Either urlSource or base64Source must + * be specified. + * + * @return the base64Source value. + */ + @Generated + public byte[] getBase64Source() { + return CoreUtils.clone(this.base64Source); + } + + /** + * Set the base64Source property: Base64 encoding of the document to classify. Either urlSource or base64Source must + * be specified. + * + * @param base64Source the base64Source value to set. + * @return the ClassifyDocumentRequest object itself. + */ + @Generated + public ClassifyDocumentRequest setBase64Source(byte[] base64Source) { + this.base64Source = CoreUtils.clone(base64Source); + return this; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComponentDocumentModelDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComponentDocumentModelDetails.java new file mode 100644 index 000000000000..c2b275961514 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComponentDocumentModelDetails.java @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** A component of a composed document model. */ +@Immutable +public final class ComponentDocumentModelDetails { + /* + * Unique document model name. + */ + @Generated + @JsonProperty(value = "modelId") + private String modelId; + + /** + * Creates an instance of ComponentDocumentModelDetails class. + * + * @param modelId the modelId value to set. + */ + @Generated + @JsonCreator + public ComponentDocumentModelDetails(@JsonProperty(value = "modelId") String modelId) { + this.modelId = modelId; + } + + /** + * Get the modelId property: Unique document model name. + * + * @return the modelId value. + */ + @Generated + public String getModelId() { + return this.modelId; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComposeDocumentModelRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComposeDocumentModelRequest.java new file mode 100644 index 000000000000..1d3b3ae7b4e2 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComposeDocumentModelRequest.java @@ -0,0 +1,123 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** Request body to create a composed document model from component document models. */ +@Fluent +public final class ComposeDocumentModelRequest { + /* + * Unique document model name. + */ + @Generated + @JsonProperty(value = "modelId") + private String modelId; + + /* + * Document model description. + */ + @Generated + @JsonProperty(value = "description") + private String description; + + /* + * List of component document models to compose. + */ + @Generated + @JsonProperty(value = "componentModels") + private List componentModels; + + /* + * List of key-value tag attributes associated with the document model. + */ + @Generated + @JsonProperty(value = "tags") + private Map tags; + + /** + * Creates an instance of ComposeDocumentModelRequest class. + * + * @param modelId the modelId value to set. + * @param componentModels the componentModels value to set. + */ + @Generated + @JsonCreator + public ComposeDocumentModelRequest( + @JsonProperty(value = "modelId") String modelId, + @JsonProperty(value = "componentModels") List componentModels) { + this.modelId = modelId; + this.componentModels = componentModels; + } + + /** + * Get the modelId property: Unique document model name. + * + * @return the modelId value. + */ + @Generated + public String getModelId() { + return this.modelId; + } + + /** + * Get the description property: Document model description. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Document model description. + * + * @param description the description value to set. + * @return the ComposeDocumentModelRequest object itself. + */ + @Generated + public ComposeDocumentModelRequest setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the componentModels property: List of component document models to compose. + * + * @return the componentModels value. + */ + @Generated + public List getComponentModels() { + return this.componentModels; + } + + /** + * Get the tags property: List of key-value tag attributes associated with the document model. + * + * @return the tags value. + */ + @Generated + public Map getTags() { + return this.tags; + } + + /** + * Set the tags property: List of key-value tag attributes associated with the document model. + * + * @param tags the tags value to set. + * @return the ComposeDocumentModelRequest object itself. + */ + @Generated + public ComposeDocumentModelRequest setTags(Map tags) { + this.tags = tags; + return this; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentFormat.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentFormat.java new file mode 100644 index 000000000000..4cb060b4cdf6 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentFormat.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Format of the content in analyzed result. */ +public final class ContentFormat extends ExpandableStringEnum { + /** Plain text representation of the document content without any formatting. */ + @Generated public static final ContentFormat TEXT = fromString("text"); + + /** Markdown representation of the document content with section headings, tables, etc. */ + @Generated public static final ContentFormat MARKDOWN = fromString("markdown"); + + /** + * Creates a new instance of ContentFormat value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public ContentFormat() {} + + /** + * Creates or finds a ContentFormat from its string representation. + * + * @param name a name to look for. + * @return the corresponding ContentFormat. + */ + @Generated + @JsonCreator + public static ContentFormat fromString(String name) { + return fromString(name, ContentFormat.class); + } + + /** + * Gets known ContentFormat values. + * + * @return known ContentFormat values. + */ + @Generated + public static Collection values() { + return values(ContentFormat.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentSourceKind.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentSourceKind.java new file mode 100644 index 000000000000..fa8ca4ffed93 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentSourceKind.java @@ -0,0 +1,56 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Type of content source. */ +public final class ContentSourceKind extends ExpandableStringEnum { + /** Content at a specific URL. */ + @Generated public static final ContentSourceKind URL = fromString("url"); + + /** Content represented via Base64 encoding. */ + @Generated public static final ContentSourceKind BASE64 = fromString("base64"); + + /** Files in a path within an Azure Blob Storage container. */ + @Generated public static final ContentSourceKind AZURE_BLOB = fromString("azureBlob"); + + /** A file list specifying individual files in an Azure Blob Storage container. */ + @Generated public static final ContentSourceKind AZURE_BLOB_FILE_LIST = fromString("azureBlobFileList"); + + /** + * Creates a new instance of ContentSourceKind value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public ContentSourceKind() {} + + /** + * Creates or finds a ContentSourceKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding ContentSourceKind. + */ + @Generated + @JsonCreator + public static ContentSourceKind fromString(String name) { + return fromString(name, ContentSourceKind.class); + } + + /** + * Gets known ContentSourceKind values. + * + * @return known ContentSourceKind values. + */ + @Generated + public static Collection values() { + return values(ContentSourceKind.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CopyAuthorization.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CopyAuthorization.java new file mode 100644 index 000000000000..207372671138 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CopyAuthorization.java @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Authorization to copy a document model to the specified target resource and modelId. */ +@Immutable +public final class CopyAuthorization { + /* + * ID of the target Azure resource where the document model should be copied to. + */ + @Generated + @JsonProperty(value = "targetResourceId") + private String targetResourceId; + + /* + * Location of the target Azure resource where the document model should be copied + * to. + */ + @Generated + @JsonProperty(value = "targetResourceRegion") + private String targetResourceRegion; + + /* + * Identifier of the target document model. + */ + @Generated + @JsonProperty(value = "targetModelId") + private String targetModelId; + + /* + * URL of the copied document model in the target account. + */ + @Generated + @JsonProperty(value = "targetModelLocation") + private String targetModelLocation; + + /* + * Token used to authorize the request. + */ + @Generated + @JsonProperty(value = "accessToken") + private String accessToken; + + /* + * Date/time when the access token expires. + */ + @Generated + @JsonProperty(value = "expirationDateTime") + private OffsetDateTime expirationDateTime; + + /** + * Creates an instance of CopyAuthorization class. + * + * @param targetResourceId the targetResourceId value to set. + * @param targetResourceRegion the targetResourceRegion value to set. + * @param targetModelId the targetModelId value to set. + * @param targetModelLocation the targetModelLocation value to set. + * @param accessToken the accessToken value to set. + * @param expirationDateTime the expirationDateTime value to set. + */ + @Generated + @JsonCreator + public CopyAuthorization( + @JsonProperty(value = "targetResourceId") String targetResourceId, + @JsonProperty(value = "targetResourceRegion") String targetResourceRegion, + @JsonProperty(value = "targetModelId") String targetModelId, + @JsonProperty(value = "targetModelLocation") String targetModelLocation, + @JsonProperty(value = "accessToken") String accessToken, + @JsonProperty(value = "expirationDateTime") OffsetDateTime expirationDateTime) { + this.targetResourceId = targetResourceId; + this.targetResourceRegion = targetResourceRegion; + this.targetModelId = targetModelId; + this.targetModelLocation = targetModelLocation; + this.accessToken = accessToken; + this.expirationDateTime = expirationDateTime; + } + + /** + * Get the targetResourceId property: ID of the target Azure resource where the document model should be copied to. + * + * @return the targetResourceId value. + */ + @Generated + public String getTargetResourceId() { + return this.targetResourceId; + } + + /** + * Get the targetResourceRegion property: Location of the target Azure resource where the document model should be + * copied to. + * + * @return the targetResourceRegion value. + */ + @Generated + public String getTargetResourceRegion() { + return this.targetResourceRegion; + } + + /** + * Get the targetModelId property: Identifier of the target document model. + * + * @return the targetModelId value. + */ + @Generated + public String getTargetModelId() { + return this.targetModelId; + } + + /** + * Get the targetModelLocation property: URL of the copied document model in the target account. + * + * @return the targetModelLocation value. + */ + @Generated + public String getTargetModelLocation() { + return this.targetModelLocation; + } + + /** + * Get the accessToken property: Token used to authorize the request. + * + * @return the accessToken value. + */ + @Generated + public String getAccessToken() { + return this.accessToken; + } + + /** + * Get the expirationDateTime property: Date/time when the access token expires. + * + * @return the expirationDateTime value. + */ + @Generated + public OffsetDateTime getExpirationDateTime() { + return this.expirationDateTime; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CurrencyValue.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CurrencyValue.java new file mode 100644 index 000000000000..f3da4c2abeab --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CurrencyValue.java @@ -0,0 +1,76 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Currency field value. */ +@Immutable +public final class CurrencyValue { + /* + * Currency amount. + */ + @Generated + @JsonProperty(value = "amount") + private double amount; + + /* + * Currency symbol label, if any. + */ + @Generated + @JsonProperty(value = "currencySymbol") + private String currencySymbol; + + /* + * Resolved currency code (ISO 4217), if any. + */ + @Generated + @JsonProperty(value = "currencyCode") + private String currencyCode; + + /** + * Creates an instance of CurrencyValue class. + * + * @param amount the amount value to set. + */ + @Generated + @JsonCreator + private CurrencyValue(@JsonProperty(value = "amount") double amount) { + this.amount = amount; + } + + /** + * Get the amount property: Currency amount. + * + * @return the amount value. + */ + @Generated + public double getAmount() { + return this.amount; + } + + /** + * Get the currencySymbol property: Currency symbol label, if any. + * + * @return the currencySymbol value. + */ + @Generated + public String getCurrencySymbol() { + return this.currencySymbol; + } + + /** + * Get the currencyCode property: Resolved currency code (ISO 4217), if any. + * + * @return the currencyCode value. + */ + @Generated + public String getCurrencyCode() { + return this.currencyCode; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CustomDocumentModelsDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CustomDocumentModelsDetails.java new file mode 100644 index 000000000000..5ce09fb67ed5 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CustomDocumentModelsDetails.java @@ -0,0 +1,62 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details regarding custom document models. */ +@Immutable +public final class CustomDocumentModelsDetails { + /* + * Number of custom document models in the current resource. + */ + @Generated + @JsonProperty(value = "count") + private int count; + + /* + * Maximum number of custom document models supported in the current resource. + */ + @Generated + @JsonProperty(value = "limit") + private int limit; + + /** + * Creates an instance of CustomDocumentModelsDetails class. + * + * @param count the count value to set. + * @param limit the limit value to set. + */ + @Generated + @JsonCreator + private CustomDocumentModelsDetails( + @JsonProperty(value = "count") int count, @JsonProperty(value = "limit") int limit) { + this.count = count; + this.limit = limit; + } + + /** + * Get the count property: Number of custom document models in the current resource. + * + * @return the count value. + */ + @Generated + public int getCount() { + return this.count; + } + + /** + * Get the limit property: Maximum number of custom document models supported in the current resource. + * + * @return the limit value. + */ + @Generated + public int getLimit() { + return this.limit; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Document.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Document.java new file mode 100644 index 000000000000..05900113f246 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Document.java @@ -0,0 +1,119 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** An object describing the location and semantic content of a document. */ +@Immutable +public final class Document { + /* + * Document type. + */ + @Generated + @JsonProperty(value = "docType") + private String docType; + + /* + * Bounding regions covering the document. + */ + @Generated + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the document in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /* + * Dictionary of named field values. + */ + @Generated + @JsonProperty(value = "fields") + private Map fields; + + /* + * Confidence of correctly extracting the document. + */ + @Generated + @JsonProperty(value = "confidence") + private double confidence; + + /** + * Creates an instance of Document class. + * + * @param docType the docType value to set. + * @param spans the spans value to set. + * @param confidence the confidence value to set. + */ + @Generated + @JsonCreator + private Document( + @JsonProperty(value = "docType") String docType, + @JsonProperty(value = "spans") List spans, + @JsonProperty(value = "confidence") double confidence) { + this.docType = docType; + this.spans = spans; + this.confidence = confidence; + } + + /** + * Get the docType property: Document type. + * + * @return the docType value. + */ + @Generated + public String getDocType() { + return this.docType; + } + + /** + * Get the boundingRegions property: Bounding regions covering the document. + * + * @return the boundingRegions value. + */ + @Generated + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Get the spans property: Location of the document in the reading order concatenated content. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } + + /** + * Get the fields property: Dictionary of named field values. + * + * @return the fields value. + */ + @Generated + public Map getFields() { + return this.fields; + } + + /** + * Get the confidence property: Confidence of correctly extracting the document. + * + * @return the confidence value. + */ + @Generated + public double getConfidence() { + return this.confidence; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentAnalysisFeature.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentAnalysisFeature.java new file mode 100644 index 000000000000..969c00e1f18e --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentAnalysisFeature.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Document analysis features to enable. */ +public final class DocumentAnalysisFeature extends ExpandableStringEnum { + /** Perform OCR at a higher resolution to handle documents with fine print. */ + @Generated public static final DocumentAnalysisFeature OCR_HIGH_RESOLUTION = fromString("ocrHighResolution"); + + /** Enable the detection of the text content language. */ + @Generated public static final DocumentAnalysisFeature LANGUAGES = fromString("languages"); + + /** Enable the detection of barcodes in the document. */ + @Generated public static final DocumentAnalysisFeature BARCODES = fromString("barcodes"); + + /** Enable the detection of mathematical expressions in the document. */ + @Generated public static final DocumentAnalysisFeature FORMULAS = fromString("formulas"); + + /** Enable the detection of general key value pairs (form fields) in the document. */ + @Generated public static final DocumentAnalysisFeature KEY_VALUE_PAIRS = fromString("keyValuePairs"); + + /** Enable the recognition of various font styles. */ + @Generated public static final DocumentAnalysisFeature STYLE_FONT = fromString("styleFont"); + + /** Enable the extraction of additional fields via the queryFields query parameter. */ + @Generated public static final DocumentAnalysisFeature QUERY_FIELDS = fromString("queryFields"); + + /** + * Creates a new instance of DocumentAnalysisFeature value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public DocumentAnalysisFeature() {} + + /** + * Creates or finds a DocumentAnalysisFeature from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentAnalysisFeature. + */ + @Generated + @JsonCreator + public static DocumentAnalysisFeature fromString(String name) { + return fromString(name, DocumentAnalysisFeature.class); + } + + /** + * Gets known DocumentAnalysisFeature values. + * + * @return known DocumentAnalysisFeature values. + */ + @Generated + public static Collection values() { + return values(DocumentAnalysisFeature.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcode.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcode.java new file mode 100644 index 000000000000..06515314be5e --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcode.java @@ -0,0 +1,126 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** A barcode object. */ +@Immutable +public final class DocumentBarcode { + /* + * Barcode kind. + */ + @Generated + @JsonProperty(value = "kind") + private DocumentBarcodeKind kind; + + /* + * Barcode value. + */ + @Generated + @JsonProperty(value = "value") + private String value; + + /* + * Bounding polygon of the barcode, with coordinates specified relative to the + * top-left of the page. The numbers represent the x, y values of the polygon + * vertices, clockwise from the left (-180 degrees inclusive) relative to the + * element orientation. + */ + @Generated + @JsonProperty(value = "polygon") + private List polygon; + + /* + * Location of the barcode in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "span") + private DocumentSpan span; + + /* + * Confidence of correctly extracting the barcode. + */ + @Generated + @JsonProperty(value = "confidence") + private double confidence; + + /** + * Creates an instance of DocumentBarcode class. + * + * @param kind the kind value to set. + * @param value the value value to set. + * @param span the span value to set. + * @param confidence the confidence value to set. + */ + @Generated + @JsonCreator + private DocumentBarcode( + @JsonProperty(value = "kind") DocumentBarcodeKind kind, + @JsonProperty(value = "value") String value, + @JsonProperty(value = "span") DocumentSpan span, + @JsonProperty(value = "confidence") double confidence) { + this.kind = kind; + this.value = value; + this.span = span; + this.confidence = confidence; + } + + /** + * Get the kind property: Barcode kind. + * + * @return the kind value. + */ + @Generated + public DocumentBarcodeKind getKind() { + return this.kind; + } + + /** + * Get the value property: Barcode value. + * + * @return the value value. + */ + @Generated + public String getValue() { + return this.value; + } + + /** + * Get the polygon property: Bounding polygon of the barcode, with coordinates specified relative to the top-left of + * the page. The numbers represent the x, y values of the polygon vertices, clockwise from the left (-180 degrees + * inclusive) relative to the element orientation. + * + * @return the polygon value. + */ + @Generated + public List getPolygon() { + return this.polygon; + } + + /** + * Get the span property: Location of the barcode in the reading order concatenated content. + * + * @return the span value. + */ + @Generated + public DocumentSpan getSpan() { + return this.span; + } + + /** + * Get the confidence property: Confidence of correctly extracting the barcode. + * + * @return the confidence value. + */ + @Generated + public double getConfidence() { + return this.confidence; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcodeKind.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcodeKind.java new file mode 100644 index 000000000000..66172fffa3e3 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcodeKind.java @@ -0,0 +1,95 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Barcode kind. */ +public final class DocumentBarcodeKind extends ExpandableStringEnum { + /** QR code, as defined in ISO/IEC 18004:2015. */ + @Generated public static final DocumentBarcodeKind QRCODE = fromString("QRCode"); + + /** PDF417, as defined in ISO 15438. */ + @Generated public static final DocumentBarcodeKind PDF417 = fromString("PDF417"); + + /** GS1 12-digit Universal Product Code. */ + @Generated public static final DocumentBarcodeKind UPCA = fromString("UPCA"); + + /** GS1 6-digit Universal Product Code. */ + @Generated public static final DocumentBarcodeKind UPCE = fromString("UPCE"); + + /** Code 39 barcode, as defined in ISO/IEC 16388:2007. */ + @Generated public static final DocumentBarcodeKind CODE39 = fromString("Code39"); + + /** Code 128 barcode, as defined in ISO/IEC 15417:2007. */ + @Generated public static final DocumentBarcodeKind CODE128 = fromString("Code128"); + + /** GS1 8-digit International Article Number (European Article Number). */ + @Generated public static final DocumentBarcodeKind EAN8 = fromString("EAN8"); + + /** GS1 13-digit International Article Number (European Article Number). */ + @Generated public static final DocumentBarcodeKind EAN13 = fromString("EAN13"); + + /** GS1 DataBar barcode. */ + @Generated public static final DocumentBarcodeKind DATA_BAR = fromString("DataBar"); + + /** Code 93 barcode, as defined in ANSI/AIM BC5-1995. */ + @Generated public static final DocumentBarcodeKind CODE93 = fromString("Code93"); + + /** Codabar barcode, as defined in ANSI/AIM BC3-1995. */ + @Generated public static final DocumentBarcodeKind CODABAR = fromString("Codabar"); + + /** GS1 DataBar Expanded barcode. */ + @Generated public static final DocumentBarcodeKind DATA_BAR_EXPANDED = fromString("DataBarExpanded"); + + /** Interleaved 2 of 5 barcode, as defined in ANSI/AIM BC2-1995. */ + @Generated public static final DocumentBarcodeKind ITF = fromString("ITF"); + + /** Micro QR code, as defined in ISO/IEC 23941:2022. */ + @Generated public static final DocumentBarcodeKind MICRO_QRCODE = fromString("MicroQRCode"); + + /** Aztec code, as defined in ISO/IEC 24778:2008. */ + @Generated public static final DocumentBarcodeKind AZTEC = fromString("Aztec"); + + /** Data matrix code, as defined in ISO/IEC 16022:2006. */ + @Generated public static final DocumentBarcodeKind DATA_MATRIX = fromString("DataMatrix"); + + /** MaxiCode, as defined in ISO/IEC 16023:2000. */ + @Generated public static final DocumentBarcodeKind MAXI_CODE = fromString("MaxiCode"); + + /** + * Creates a new instance of DocumentBarcodeKind value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public DocumentBarcodeKind() {} + + /** + * Creates or finds a DocumentBarcodeKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentBarcodeKind. + */ + @Generated + @JsonCreator + public static DocumentBarcodeKind fromString(String name) { + return fromString(name, DocumentBarcodeKind.class); + } + + /** + * Gets known DocumentBarcodeKind values. + * + * @return known DocumentBarcodeKind values. + */ + @Generated + public static Collection values() { + return values(DocumentBarcodeKind.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBuildMode.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBuildMode.java new file mode 100644 index 000000000000..2d511828e503 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBuildMode.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Custom document model build mode. */ +public final class DocumentBuildMode extends ExpandableStringEnum { + /** Target documents with similar visual templates. */ + @Generated public static final DocumentBuildMode TEMPLATE = fromString("template"); + + /** Support documents with diverse visual templates. */ + @Generated public static final DocumentBuildMode NEURAL = fromString("neural"); + + /** + * Creates a new instance of DocumentBuildMode value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public DocumentBuildMode() {} + + /** + * Creates or finds a DocumentBuildMode from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentBuildMode. + */ + @Generated + @JsonCreator + public static DocumentBuildMode fromString(String name) { + return fromString(name, DocumentBuildMode.class); + } + + /** + * Gets known DocumentBuildMode values. + * + * @return known DocumentBuildMode values. + */ + @Generated + public static Collection values() { + return values(DocumentBuildMode.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentCaption.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentCaption.java new file mode 100644 index 000000000000..8c96345fed8d --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentCaption.java @@ -0,0 +1,97 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** A caption object describing a table or figure. */ +@Immutable +public final class DocumentCaption { + /* + * Content of the caption. + */ + @Generated + @JsonProperty(value = "content") + private String content; + + /* + * Bounding regions covering the caption. + */ + @Generated + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the caption in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /* + * Child elements of the caption. + */ + @Generated + @JsonProperty(value = "elements") + private List elements; + + /** + * Creates an instance of DocumentCaption class. + * + * @param content the content value to set. + * @param spans the spans value to set. + */ + @Generated + @JsonCreator + private DocumentCaption( + @JsonProperty(value = "content") String content, @JsonProperty(value = "spans") List spans) { + this.content = content; + this.spans = spans; + } + + /** + * Get the content property: Content of the caption. + * + * @return the content value. + */ + @Generated + public String getContent() { + return this.content; + } + + /** + * Get the boundingRegions property: Bounding regions covering the caption. + * + * @return the boundingRegions value. + */ + @Generated + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Get the spans property: Location of the caption in the reading order concatenated content. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } + + /** + * Get the elements property: Child elements of the caption. + * + * @return the elements value. + */ + @Generated + public List getElements() { + return this.elements; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierBuildOperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierBuildOperationDetails.java new file mode 100644 index 000000000000..5420294fb57e --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierBuildOperationDetails.java @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.time.OffsetDateTime; + +/** Get Operation response object. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("documentClassifierBuild") +@Immutable +public final class DocumentClassifierBuildOperationDetails extends OperationDetails { + /* + * Operation result upon success. + */ + @Generated + @JsonProperty(value = "result") + private DocumentClassifierDetails result; + + /** + * Creates an instance of DocumentClassifierBuildOperationDetails class. + * + * @param status the status value to set. + * @param createdDateTime the createdDateTime value to set. + * @param lastUpdatedDateTime the lastUpdatedDateTime value to set. + * @param resourceLocation the resourceLocation value to set. + */ + @Generated + @JsonCreator + private DocumentClassifierBuildOperationDetails( + @JsonProperty(value = "status") OperationStatus status, + @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime, + @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime, + @JsonProperty(value = "resourceLocation") String resourceLocation) { + super(status, createdDateTime, lastUpdatedDateTime, resourceLocation); + } + + /** + * Get the result property: Operation result upon success. + * + * @return the result value. + */ + @Generated + public DocumentClassifierDetails getResult() { + return this.result; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierDetails.java new file mode 100644 index 000000000000..a8c5bff585e1 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierDetails.java @@ -0,0 +1,136 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.Map; + +/** Document classifier info. */ +@Immutable +public final class DocumentClassifierDetails { + /* + * Unique document classifier name. + */ + @Generated + @JsonProperty(value = "classifierId", access = JsonProperty.Access.WRITE_ONLY) + private String classifierId; + + /* + * Document classifier description. + */ + @Generated + @JsonProperty(value = "description") + private String description; + + /* + * Date and time (UTC) when the document classifier was created. + */ + @Generated + @JsonProperty(value = "createdDateTime") + private OffsetDateTime createdDateTime; + + /* + * Date and time (UTC) when the document classifier will expire. + */ + @Generated + @JsonProperty(value = "expirationDateTime") + private OffsetDateTime expirationDateTime; + + /* + * API version used to create this document classifier. + */ + @Generated + @JsonProperty(value = "apiVersion") + private String apiVersion; + + /* + * List of document types to classify against. + */ + @Generated + @JsonProperty(value = "docTypes") + private Map docTypes; + + /** + * Creates an instance of DocumentClassifierDetails class. + * + * @param createdDateTime the createdDateTime value to set. + * @param apiVersion the apiVersion value to set. + * @param docTypes the docTypes value to set. + */ + @Generated + @JsonCreator + private DocumentClassifierDetails( + @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime, + @JsonProperty(value = "apiVersion") String apiVersion, + @JsonProperty(value = "docTypes") Map docTypes) { + this.createdDateTime = createdDateTime; + this.apiVersion = apiVersion; + this.docTypes = docTypes; + } + + /** + * Get the classifierId property: Unique document classifier name. + * + * @return the classifierId value. + */ + @Generated + public String getClassifierId() { + return this.classifierId; + } + + /** + * Get the description property: Document classifier description. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the createdDateTime property: Date and time (UTC) when the document classifier was created. + * + * @return the createdDateTime value. + */ + @Generated + public OffsetDateTime getCreatedDateTime() { + return this.createdDateTime; + } + + /** + * Get the expirationDateTime property: Date and time (UTC) when the document classifier will expire. + * + * @return the expirationDateTime value. + */ + @Generated + public OffsetDateTime getExpirationDateTime() { + return this.expirationDateTime; + } + + /** + * Get the apiVersion property: API version used to create this document classifier. + * + * @return the apiVersion value. + */ + @Generated + public String getApiVersion() { + return this.apiVersion; + } + + /** + * Get the docTypes property: List of document types to classify against. + * + * @return the docTypes value. + */ + @Generated + public Map getDocTypes() { + return this.docTypes; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentField.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentField.java new file mode 100644 index 000000000000..7b2567bfb215 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentField.java @@ -0,0 +1,351 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.LocalDate; +import java.util.List; +import java.util.Map; + +/** An object representing the content and location of a field value. */ +@Immutable +public final class DocumentField { + /* + * Data type of the field value. + */ + @Generated + @JsonProperty(value = "type") + private DocumentFieldType type; + + /* + * String value. + */ + @Generated + @JsonProperty(value = "valueString") + private String valueString; + + /* + * Date value in YYYY-MM-DD format (ISO 8601). + */ + @Generated + @JsonProperty(value = "valueDate") + private LocalDate valueDate; + + /* + * Time value in hh:mm:ss format (ISO 8601). + */ + @Generated + @JsonProperty(value = "valueTime") + private String valueTime; + + /* + * Phone number value in E.164 format (ex. +19876543210). + */ + @Generated + @JsonProperty(value = "valuePhoneNumber") + private String valuePhoneNumber; + + /* + * Floating point value. + */ + @Generated + @JsonProperty(value = "valueNumber") + private Double valueNumber; + + /* + * Integer value. + */ + @Generated + @JsonProperty(value = "valueInteger") + private Long valueInteger; + + /* + * Selection mark value. + */ + @Generated + @JsonProperty(value = "valueSelectionMark") + private DocumentSelectionMarkState valueSelectionMark; + + /* + * Presence of signature. + */ + @Generated + @JsonProperty(value = "valueSignature") + private DocumentSignatureType valueSignature; + + /* + * 3-letter country code value (ISO 3166-1 alpha-3). + */ + @Generated + @JsonProperty(value = "valueCountryRegion") + private String valueCountryRegion; + + /* + * Array of field values. + */ + @Generated + @JsonProperty(value = "valueArray") + private List valueArray; + + /* + * Dictionary of named field values. + */ + @Generated + @JsonProperty(value = "valueObject") + private Map valueObject; + + /* + * Currency value. + */ + @Generated + @JsonProperty(value = "valueCurrency") + private CurrencyValue valueCurrency; + + /* + * Address value. + */ + @Generated + @JsonProperty(value = "valueAddress") + private AddressValue valueAddress; + + /* + * Boolean value. + */ + @Generated + @JsonProperty(value = "valueBoolean") + private Boolean valueBoolean; + + /* + * Field content. + */ + @Generated + @JsonProperty(value = "content") + private String content; + + /* + * Bounding regions covering the field. + */ + @Generated + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the field in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /* + * Confidence of correctly extracting the field. + */ + @Generated + @JsonProperty(value = "confidence") + private Double confidence; + + /** + * Creates an instance of DocumentField class. + * + * @param type the type value to set. + */ + @Generated + @JsonCreator + private DocumentField(@JsonProperty(value = "type") DocumentFieldType type) { + this.type = type; + } + + /** + * Get the type property: Data type of the field value. + * + * @return the type value. + */ + @Generated + public DocumentFieldType getType() { + return this.type; + } + + /** + * Get the valueString property: String value. + * + * @return the valueString value. + */ + @Generated + public String getValueString() { + return this.valueString; + } + + /** + * Get the valueDate property: Date value in YYYY-MM-DD format (ISO 8601). + * + * @return the valueDate value. + */ + @Generated + public LocalDate getValueDate() { + return this.valueDate; + } + + /** + * Get the valueTime property: Time value in hh:mm:ss format (ISO 8601). + * + * @return the valueTime value. + */ + @Generated + public String getValueTime() { + return this.valueTime; + } + + /** + * Get the valuePhoneNumber property: Phone number value in E.164 format (ex. +19876543210). + * + * @return the valuePhoneNumber value. + */ + @Generated + public String getValuePhoneNumber() { + return this.valuePhoneNumber; + } + + /** + * Get the valueNumber property: Floating point value. + * + * @return the valueNumber value. + */ + @Generated + public Double getValueNumber() { + return this.valueNumber; + } + + /** + * Get the valueInteger property: Integer value. + * + * @return the valueInteger value. + */ + @Generated + public Long getValueInteger() { + return this.valueInteger; + } + + /** + * Get the valueSelectionMark property: Selection mark value. + * + * @return the valueSelectionMark value. + */ + @Generated + public DocumentSelectionMarkState getValueSelectionMark() { + return this.valueSelectionMark; + } + + /** + * Get the valueSignature property: Presence of signature. + * + * @return the valueSignature value. + */ + @Generated + public DocumentSignatureType getValueSignature() { + return this.valueSignature; + } + + /** + * Get the valueCountryRegion property: 3-letter country code value (ISO 3166-1 alpha-3). + * + * @return the valueCountryRegion value. + */ + @Generated + public String getValueCountryRegion() { + return this.valueCountryRegion; + } + + /** + * Get the valueArray property: Array of field values. + * + * @return the valueArray value. + */ + @Generated + public List getValueArray() { + return this.valueArray; + } + + /** + * Get the valueObject property: Dictionary of named field values. + * + * @return the valueObject value. + */ + @Generated + public Map getValueObject() { + return this.valueObject; + } + + /** + * Get the valueCurrency property: Currency value. + * + * @return the valueCurrency value. + */ + @Generated + public CurrencyValue getValueCurrency() { + return this.valueCurrency; + } + + /** + * Get the valueAddress property: Address value. + * + * @return the valueAddress value. + */ + @Generated + public AddressValue getValueAddress() { + return this.valueAddress; + } + + /** + * Get the valueBoolean property: Boolean value. + * + * @return the valueBoolean value. + */ + @Generated + public Boolean isValueBoolean() { + return this.valueBoolean; + } + + /** + * Get the content property: Field content. + * + * @return the content value. + */ + @Generated + public String getContent() { + return this.content; + } + + /** + * Get the boundingRegions property: Bounding regions covering the field. + * + * @return the boundingRegions value. + */ + @Generated + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Get the spans property: Location of the field in the reading order concatenated content. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } + + /** + * Get the confidence property: Confidence of correctly extracting the field. + * + * @return the confidence value. + */ + @Generated + public Double getConfidence() { + return this.confidence; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldSchema.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldSchema.java new file mode 100644 index 000000000000..52f7cf1d52a1 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldSchema.java @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** Description of the field semantic schema using a JSON Schema style syntax. */ +@Immutable +public final class DocumentFieldSchema { + /* + * Semantic data type of the field value. + */ + @Generated + @JsonProperty(value = "type") + private DocumentFieldType type; + + /* + * Field description. + */ + @Generated + @JsonProperty(value = "description") + private String description; + + /* + * Example field content. + */ + @Generated + @JsonProperty(value = "example") + private String example; + + /* + * Field type schema of each array element. + */ + @Generated + @JsonProperty(value = "items") + private DocumentFieldSchema items; + + /* + * Named sub-fields of the object field. + */ + @Generated + @JsonProperty(value = "properties") + private Map properties; + + /** + * Creates an instance of DocumentFieldSchema class. + * + * @param type the type value to set. + */ + @Generated + @JsonCreator + private DocumentFieldSchema(@JsonProperty(value = "type") DocumentFieldType type) { + this.type = type; + } + + /** + * Get the type property: Semantic data type of the field value. + * + * @return the type value. + */ + @Generated + public DocumentFieldType getType() { + return this.type; + } + + /** + * Get the description property: Field description. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the example property: Example field content. + * + * @return the example value. + */ + @Generated + public String getExample() { + return this.example; + } + + /** + * Get the items property: Field type schema of each array element. + * + * @return the items value. + */ + @Generated + public DocumentFieldSchema getItems() { + return this.items; + } + + /** + * Get the properties property: Named sub-fields of the object field. + * + * @return the properties value. + */ + @Generated + public Map getProperties() { + return this.properties; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldType.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldType.java new file mode 100644 index 000000000000..f0a87931fc8e --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldType.java @@ -0,0 +1,86 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Semantic data type of the field value. */ +public final class DocumentFieldType extends ExpandableStringEnum { + /** Plain text. */ + @Generated public static final DocumentFieldType STRING = fromString("string"); + + /** Date, normalized to ISO 8601 (YYYY-MM-DD) format. */ + @Generated public static final DocumentFieldType DATE = fromString("date"); + + /** Time, normalized to ISO 8601 (hh:mm:ss) format. */ + @Generated public static final DocumentFieldType TIME = fromString("time"); + + /** Phone number, normalized to E.164 (+{CountryCode}{SubscriberNumber}) format. */ + @Generated public static final DocumentFieldType PHONE_NUMBER = fromString("phoneNumber"); + + /** Floating point number, normalized to double precision floating point. */ + @Generated public static final DocumentFieldType NUMBER = fromString("number"); + + /** Integer number, normalized to 64-bit signed integer. */ + @Generated public static final DocumentFieldType INTEGER = fromString("integer"); + + /** Is field selected?. */ + @Generated public static final DocumentFieldType SELECTION_MARK = fromString("selectionMark"); + + /** Country/region, normalized to ISO 3166-1 alpha-3 format (ex. USA). */ + @Generated public static final DocumentFieldType COUNTRY_REGION = fromString("countryRegion"); + + /** Is signature present?. */ + @Generated public static final DocumentFieldType SIGNATURE = fromString("signature"); + + /** List of subfields of the same type. */ + @Generated public static final DocumentFieldType ARRAY = fromString("array"); + + /** Named list of subfields of potentially different types. */ + @Generated public static final DocumentFieldType OBJECT = fromString("object"); + + /** Currency amount with optional currency symbol and unit. */ + @Generated public static final DocumentFieldType CURRENCY = fromString("currency"); + + /** Parsed address. */ + @Generated public static final DocumentFieldType ADDRESS = fromString("address"); + + /** Boolean value, normalized to true or false. */ + @Generated public static final DocumentFieldType BOOLEAN = fromString("boolean"); + + /** + * Creates a new instance of DocumentFieldType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public DocumentFieldType() {} + + /** + * Creates or finds a DocumentFieldType from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentFieldType. + */ + @Generated + @JsonCreator + public static DocumentFieldType fromString(String name) { + return fromString(name, DocumentFieldType.class); + } + + /** + * Gets known DocumentFieldType values. + * + * @return known DocumentFieldType values. + */ + @Generated + public static Collection values() { + return values(DocumentFieldType.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFigure.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFigure.java new file mode 100644 index 000000000000..5b69f6aa2908 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFigure.java @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** An object representing a figure in the document. */ +@Immutable +public final class DocumentFigure { + /* + * Bounding regions covering the figure. + */ + @Generated + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the figure in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /* + * Child elements of the figure, excluding any caption or footnotes. + */ + @Generated + @JsonProperty(value = "elements") + private List elements; + + /* + * Caption associated with the figure. + */ + @Generated + @JsonProperty(value = "caption") + private DocumentCaption caption; + + /* + * List of footnotes associated with the figure. + */ + @Generated + @JsonProperty(value = "footnotes") + private List footnotes; + + /** + * Creates an instance of DocumentFigure class. + * + * @param spans the spans value to set. + */ + @Generated + @JsonCreator + private DocumentFigure(@JsonProperty(value = "spans") List spans) { + this.spans = spans; + } + + /** + * Get the boundingRegions property: Bounding regions covering the figure. + * + * @return the boundingRegions value. + */ + @Generated + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Get the spans property: Location of the figure in the reading order concatenated content. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } + + /** + * Get the elements property: Child elements of the figure, excluding any caption or footnotes. + * + * @return the elements value. + */ + @Generated + public List getElements() { + return this.elements; + } + + /** + * Get the caption property: Caption associated with the figure. + * + * @return the caption value. + */ + @Generated + public DocumentCaption getCaption() { + return this.caption; + } + + /** + * Get the footnotes property: List of footnotes associated with the figure. + * + * @return the footnotes value. + */ + @Generated + public List getFootnotes() { + return this.footnotes; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFootnote.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFootnote.java new file mode 100644 index 000000000000..3697a4287547 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFootnote.java @@ -0,0 +1,97 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** A footnote object describing a table or figure. */ +@Immutable +public final class DocumentFootnote { + /* + * Content of the footnote. + */ + @Generated + @JsonProperty(value = "content") + private String content; + + /* + * Bounding regions covering the footnote. + */ + @Generated + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the footnote in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /* + * Child elements of the footnote. + */ + @Generated + @JsonProperty(value = "elements") + private List elements; + + /** + * Creates an instance of DocumentFootnote class. + * + * @param content the content value to set. + * @param spans the spans value to set. + */ + @Generated + @JsonCreator + private DocumentFootnote( + @JsonProperty(value = "content") String content, @JsonProperty(value = "spans") List spans) { + this.content = content; + this.spans = spans; + } + + /** + * Get the content property: Content of the footnote. + * + * @return the content value. + */ + @Generated + public String getContent() { + return this.content; + } + + /** + * Get the boundingRegions property: Bounding regions covering the footnote. + * + * @return the boundingRegions value. + */ + @Generated + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Get the spans property: Location of the footnote in the reading order concatenated content. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } + + /** + * Get the elements property: Child elements of the footnote. + * + * @return the elements value. + */ + @Generated + public List getElements() { + return this.elements; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormula.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormula.java new file mode 100644 index 000000000000..436fdf28a213 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormula.java @@ -0,0 +1,126 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** A formula object. */ +@Immutable +public final class DocumentFormula { + /* + * Formula kind. + */ + @Generated + @JsonProperty(value = "kind") + private DocumentFormulaKind kind; + + /* + * LaTex expression describing the formula. + */ + @Generated + @JsonProperty(value = "value") + private String value; + + /* + * Bounding polygon of the formula, with coordinates specified relative to the + * top-left of the page. The numbers represent the x, y values of the polygon + * vertices, clockwise from the left (-180 degrees inclusive) relative to the + * element orientation. + */ + @Generated + @JsonProperty(value = "polygon") + private List polygon; + + /* + * Location of the formula in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "span") + private DocumentSpan span; + + /* + * Confidence of correctly extracting the formula. + */ + @Generated + @JsonProperty(value = "confidence") + private double confidence; + + /** + * Creates an instance of DocumentFormula class. + * + * @param kind the kind value to set. + * @param value the value value to set. + * @param span the span value to set. + * @param confidence the confidence value to set. + */ + @Generated + @JsonCreator + private DocumentFormula( + @JsonProperty(value = "kind") DocumentFormulaKind kind, + @JsonProperty(value = "value") String value, + @JsonProperty(value = "span") DocumentSpan span, + @JsonProperty(value = "confidence") double confidence) { + this.kind = kind; + this.value = value; + this.span = span; + this.confidence = confidence; + } + + /** + * Get the kind property: Formula kind. + * + * @return the kind value. + */ + @Generated + public DocumentFormulaKind getKind() { + return this.kind; + } + + /** + * Get the value property: LaTex expression describing the formula. + * + * @return the value value. + */ + @Generated + public String getValue() { + return this.value; + } + + /** + * Get the polygon property: Bounding polygon of the formula, with coordinates specified relative to the top-left of + * the page. The numbers represent the x, y values of the polygon vertices, clockwise from the left (-180 degrees + * inclusive) relative to the element orientation. + * + * @return the polygon value. + */ + @Generated + public List getPolygon() { + return this.polygon; + } + + /** + * Get the span property: Location of the formula in the reading order concatenated content. + * + * @return the span value. + */ + @Generated + public DocumentSpan getSpan() { + return this.span; + } + + /** + * Get the confidence property: Confidence of correctly extracting the formula. + * + * @return the confidence value. + */ + @Generated + public double getConfidence() { + return this.confidence; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormulaKind.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormulaKind.java new file mode 100644 index 000000000000..48e871a16c36 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormulaKind.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Formula kind. */ +public final class DocumentFormulaKind extends ExpandableStringEnum { + /** A formula embedded within the content of a paragraph. */ + @Generated public static final DocumentFormulaKind INLINE = fromString("inline"); + + /** A formula in display mode that takes up an entire line. */ + @Generated public static final DocumentFormulaKind DISPLAY = fromString("display"); + + /** + * Creates a new instance of DocumentFormulaKind value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public DocumentFormulaKind() {} + + /** + * Creates or finds a DocumentFormulaKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentFormulaKind. + */ + @Generated + @JsonCreator + public static DocumentFormulaKind fromString(String name) { + return fromString(name, DocumentFormulaKind.class); + } + + /** + * Gets known DocumentFormulaKind values. + * + * @return known DocumentFormulaKind values. + */ + @Generated + public static Collection values() { + return values(DocumentFormulaKind.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValueElement.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValueElement.java new file mode 100644 index 000000000000..7f2eaabe8052 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValueElement.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** An object representing the field key or value in a key-value pair. */ +@Immutable +public final class DocumentKeyValueElement { + /* + * Concatenated content of the key-value element in reading order. + */ + @Generated + @JsonProperty(value = "content") + private String content; + + /* + * Bounding regions covering the key-value element. + */ + @Generated + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the key-value element in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /** + * Creates an instance of DocumentKeyValueElement class. + * + * @param content the content value to set. + * @param spans the spans value to set. + */ + @Generated + @JsonCreator + private DocumentKeyValueElement( + @JsonProperty(value = "content") String content, @JsonProperty(value = "spans") List spans) { + this.content = content; + this.spans = spans; + } + + /** + * Get the content property: Concatenated content of the key-value element in reading order. + * + * @return the content value. + */ + @Generated + public String getContent() { + return this.content; + } + + /** + * Get the boundingRegions property: Bounding regions covering the key-value element. + * + * @return the boundingRegions value. + */ + @Generated + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Get the spans property: Location of the key-value element in the reading order concatenated content. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValuePair.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValuePair.java new file mode 100644 index 000000000000..b534734f1c99 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValuePair.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** An object representing a form field with distinct field label (key) and field value (may be empty). */ +@Immutable +public final class DocumentKeyValuePair { + /* + * Field label of the key-value pair. + */ + @Generated + @JsonProperty(value = "key") + private DocumentKeyValueElement key; + + /* + * Field value of the key-value pair. + */ + @Generated + @JsonProperty(value = "value") + private DocumentKeyValueElement value; + + /* + * Confidence of correctly extracting the key-value pair. + */ + @Generated + @JsonProperty(value = "confidence") + private double confidence; + + /** + * Creates an instance of DocumentKeyValuePair class. + * + * @param key the key value to set. + * @param confidence the confidence value to set. + */ + @Generated + @JsonCreator + private DocumentKeyValuePair( + @JsonProperty(value = "key") DocumentKeyValueElement key, + @JsonProperty(value = "confidence") double confidence) { + this.key = key; + this.confidence = confidence; + } + + /** + * Get the key property: Field label of the key-value pair. + * + * @return the key value. + */ + @Generated + public DocumentKeyValueElement getKey() { + return this.key; + } + + /** + * Get the value property: Field value of the key-value pair. + * + * @return the value value. + */ + @Generated + public DocumentKeyValueElement getValue() { + return this.value; + } + + /** + * Get the confidence property: Confidence of correctly extracting the key-value pair. + * + * @return the confidence value. + */ + @Generated + public double getConfidence() { + return this.confidence; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLanguage.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLanguage.java new file mode 100644 index 000000000000..0c7a005da1fc --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLanguage.java @@ -0,0 +1,87 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** An object representing the detected language for a given text span. */ +@Immutable +public final class DocumentLanguage { + /* + * Detected language. Value may an ISO 639-1 language code (ex. "en", "fr") + * or BCP 47 language tag (ex. "zh-Hans"). + */ + @Generated + @JsonProperty(value = "locale") + private String locale; + + /* + * Location of the text elements in the concatenated content the language applies + * to. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /* + * Confidence of correctly identifying the language. + */ + @Generated + @JsonProperty(value = "confidence") + private double confidence; + + /** + * Creates an instance of DocumentLanguage class. + * + * @param locale the locale value to set. + * @param spans the spans value to set. + * @param confidence the confidence value to set. + */ + @Generated + @JsonCreator + private DocumentLanguage( + @JsonProperty(value = "locale") String locale, + @JsonProperty(value = "spans") List spans, + @JsonProperty(value = "confidence") double confidence) { + this.locale = locale; + this.spans = spans; + this.confidence = confidence; + } + + /** + * Get the locale property: Detected language. Value may an ISO 639-1 language code (ex. "en", "fr") or BCP 47 + * language tag (ex. "zh-Hans"). + * + * @return the locale value. + */ + @Generated + public String getLocale() { + return this.locale; + } + + /** + * Get the spans property: Location of the text elements in the concatenated content the language applies to. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } + + /** + * Get the confidence property: Confidence of correctly identifying the language. + * + * @return the confidence value. + */ + @Generated + public double getConfidence() { + return this.confidence; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLine.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLine.java new file mode 100644 index 000000000000..0a7c5bf5c8cb --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLine.java @@ -0,0 +1,85 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** A content line object consisting of an adjacent sequence of content elements, such as words and selection marks. */ +@Immutable +public final class DocumentLine { + /* + * Concatenated content of the contained elements in reading order. + */ + @Generated + @JsonProperty(value = "content") + private String content; + + /* + * Bounding polygon of the line, with coordinates specified relative to the + * top-left of the page. The numbers represent the x, y values of the polygon + * vertices, clockwise from the left (-180 degrees inclusive) relative to the + * element orientation. + */ + @Generated + @JsonProperty(value = "polygon") + private List polygon; + + /* + * Location of the line in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /** + * Creates an instance of DocumentLine class. + * + * @param content the content value to set. + * @param spans the spans value to set. + */ + @Generated + @JsonCreator + private DocumentLine( + @JsonProperty(value = "content") String content, @JsonProperty(value = "spans") List spans) { + this.content = content; + this.spans = spans; + } + + /** + * Get the content property: Concatenated content of the contained elements in reading order. + * + * @return the content value. + */ + @Generated + public String getContent() { + return this.content; + } + + /** + * Get the polygon property: Bounding polygon of the line, with coordinates specified relative to the top-left of + * the page. The numbers represent the x, y values of the polygon vertices, clockwise from the left (-180 degrees + * inclusive) relative to the element orientation. + * + * @return the polygon value. + */ + @Generated + public List getPolygon() { + return this.polygon; + } + + /** + * Get the spans property: Location of the line in the reading order concatenated content. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentList.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentList.java new file mode 100644 index 000000000000..35c684361324 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentList.java @@ -0,0 +1,64 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** An object representing a list in the document. */ +@Immutable +public final class DocumentList { + /* + * Location of the list in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /* + * Items in the list. + */ + @Generated + @JsonProperty(value = "items") + private List items; + + /** + * Creates an instance of DocumentList class. + * + * @param spans the spans value to set. + * @param items the items value to set. + */ + @Generated + @JsonCreator + private DocumentList( + @JsonProperty(value = "spans") List spans, + @JsonProperty(value = "items") List items) { + this.spans = spans; + this.items = items; + } + + /** + * Get the spans property: Location of the list in the reading order concatenated content. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } + + /** + * Get the items property: Items in the list. + * + * @return the items value. + */ + @Generated + public List getItems() { + return this.items; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentListItem.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentListItem.java new file mode 100644 index 000000000000..f69f5d9fc678 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentListItem.java @@ -0,0 +1,118 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** An object representing a list item in the document. */ +@Immutable +public final class DocumentListItem { + /* + * Level of the list item (1-indexed). + */ + @Generated + @JsonProperty(value = "level") + private int level; + + /* + * Content of the list item. + */ + @Generated + @JsonProperty(value = "content") + private String content; + + /* + * Bounding regions covering the list item. + */ + @Generated + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the list item in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /* + * Child elements of the list item. + */ + @Generated + @JsonProperty(value = "elements") + private List elements; + + /** + * Creates an instance of DocumentListItem class. + * + * @param level the level value to set. + * @param content the content value to set. + * @param spans the spans value to set. + */ + @Generated + @JsonCreator + private DocumentListItem( + @JsonProperty(value = "level") int level, + @JsonProperty(value = "content") String content, + @JsonProperty(value = "spans") List spans) { + this.level = level; + this.content = content; + this.spans = spans; + } + + /** + * Get the level property: Level of the list item (1-indexed). + * + * @return the level value. + */ + @Generated + public int getLevel() { + return this.level; + } + + /** + * Get the content property: Content of the list item. + * + * @return the content value. + */ + @Generated + public String getContent() { + return this.content; + } + + /** + * Get the boundingRegions property: Bounding regions covering the list item. + * + * @return the boundingRegions value. + */ + @Generated + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Get the spans property: Location of the list item in the reading order concatenated content. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } + + /** + * Get the elements property: Child elements of the list item. + * + * @return the elements value. + */ + @Generated + public List getElements() { + return this.elements; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelBuildOperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelBuildOperationDetails.java new file mode 100644 index 000000000000..cd0659f14a03 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelBuildOperationDetails.java @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.time.OffsetDateTime; + +/** Get Operation response object. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("documentModelBuild") +@Immutable +public final class DocumentModelBuildOperationDetails extends OperationDetails { + /* + * Operation result upon success. + */ + @Generated + @JsonProperty(value = "result") + private DocumentModelDetails result; + + /** + * Creates an instance of DocumentModelBuildOperationDetails class. + * + * @param status the status value to set. + * @param createdDateTime the createdDateTime value to set. + * @param lastUpdatedDateTime the lastUpdatedDateTime value to set. + * @param resourceLocation the resourceLocation value to set. + */ + @Generated + @JsonCreator + private DocumentModelBuildOperationDetails( + @JsonProperty(value = "status") OperationStatus status, + @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime, + @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime, + @JsonProperty(value = "resourceLocation") String resourceLocation) { + super(status, createdDateTime, lastUpdatedDateTime, resourceLocation); + } + + /** + * Get the result property: Operation result upon success. + * + * @return the result value. + */ + @Generated + public DocumentModelDetails getResult() { + return this.result; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelComposeOperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelComposeOperationDetails.java new file mode 100644 index 000000000000..7964df152a0c --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelComposeOperationDetails.java @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.time.OffsetDateTime; + +/** Get Operation response object. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("documentModelCompose") +@Immutable +public final class DocumentModelComposeOperationDetails extends OperationDetails { + /* + * Operation result upon success. + */ + @Generated + @JsonProperty(value = "result") + private DocumentModelDetails result; + + /** + * Creates an instance of DocumentModelComposeOperationDetails class. + * + * @param status the status value to set. + * @param createdDateTime the createdDateTime value to set. + * @param lastUpdatedDateTime the lastUpdatedDateTime value to set. + * @param resourceLocation the resourceLocation value to set. + */ + @Generated + @JsonCreator + private DocumentModelComposeOperationDetails( + @JsonProperty(value = "status") OperationStatus status, + @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime, + @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime, + @JsonProperty(value = "resourceLocation") String resourceLocation) { + super(status, createdDateTime, lastUpdatedDateTime, resourceLocation); + } + + /** + * Get the result property: Operation result upon success. + * + * @return the result value. + */ + @Generated + public DocumentModelDetails getResult() { + return this.result; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelCopyToOperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelCopyToOperationDetails.java new file mode 100644 index 000000000000..feeabfe56041 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelCopyToOperationDetails.java @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.time.OffsetDateTime; + +/** Get Operation response object. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("documentModelCopyTo") +@Immutable +public final class DocumentModelCopyToOperationDetails extends OperationDetails { + /* + * Operation result upon success. + */ + @Generated + @JsonProperty(value = "result") + private DocumentModelDetails result; + + /** + * Creates an instance of DocumentModelCopyToOperationDetails class. + * + * @param status the status value to set. + * @param createdDateTime the createdDateTime value to set. + * @param lastUpdatedDateTime the lastUpdatedDateTime value to set. + * @param resourceLocation the resourceLocation value to set. + */ + @Generated + @JsonCreator + private DocumentModelCopyToOperationDetails( + @JsonProperty(value = "status") OperationStatus status, + @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime, + @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime, + @JsonProperty(value = "resourceLocation") String resourceLocation) { + super(status, createdDateTime, lastUpdatedDateTime, resourceLocation); + } + + /** + * Get the result property: Operation result upon success. + * + * @return the result value. + */ + @Generated + public DocumentModelDetails getResult() { + return this.result; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelDetails.java new file mode 100644 index 000000000000..262b023a5088 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelDetails.java @@ -0,0 +1,201 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.Map; + +/** Document model info. */ +@Immutable +public final class DocumentModelDetails { + /* + * Unique document model name. + */ + @Generated + @JsonProperty(value = "modelId", access = JsonProperty.Access.WRITE_ONLY) + private String modelId; + + /* + * Document model description. + */ + @Generated + @JsonProperty(value = "description") + private String description; + + /* + * Date and time (UTC) when the document model was created. + */ + @Generated + @JsonProperty(value = "createdDateTime") + private OffsetDateTime createdDateTime; + + /* + * Date and time (UTC) when the document model will expire. + */ + @Generated + @JsonProperty(value = "expirationDateTime") + private OffsetDateTime expirationDateTime; + + /* + * API version used to create this document model. + */ + @Generated + @JsonProperty(value = "apiVersion") + private String apiVersion; + + /* + * List of key-value tag attributes associated with the document model. + */ + @Generated + @JsonProperty(value = "tags") + private Map tags; + + /* + * Custom document model build mode. + */ + @Generated + @JsonProperty(value = "buildMode") + private DocumentBuildMode buildMode; + + /* + * Azure Blob Storage location containing the training data. Either + * azureBlobSource or azureBlobFileListSource must be specified. + */ + @Generated + @JsonProperty(value = "azureBlobSource") + private AzureBlobContentSource azureBlobSource; + + /* + * Azure Blob Storage file list specifying the training data. Either + * azureBlobSource or azureBlobFileListSource must be specified. + */ + @Generated + @JsonProperty(value = "azureBlobFileListSource") + private AzureBlobFileListContentSource azureBlobFileListSource; + + /* + * Supported document types. + */ + @Generated + @JsonProperty(value = "docTypes") + private Map docTypes; + + /** + * Creates an instance of DocumentModelDetails class. + * + * @param createdDateTime the createdDateTime value to set. + */ + @Generated + @JsonCreator + private DocumentModelDetails(@JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime) { + this.createdDateTime = createdDateTime; + } + + /** + * Get the modelId property: Unique document model name. + * + * @return the modelId value. + */ + @Generated + public String getModelId() { + return this.modelId; + } + + /** + * Get the description property: Document model description. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the createdDateTime property: Date and time (UTC) when the document model was created. + * + * @return the createdDateTime value. + */ + @Generated + public OffsetDateTime getCreatedDateTime() { + return this.createdDateTime; + } + + /** + * Get the expirationDateTime property: Date and time (UTC) when the document model will expire. + * + * @return the expirationDateTime value. + */ + @Generated + public OffsetDateTime getExpirationDateTime() { + return this.expirationDateTime; + } + + /** + * Get the apiVersion property: API version used to create this document model. + * + * @return the apiVersion value. + */ + @Generated + public String getApiVersion() { + return this.apiVersion; + } + + /** + * Get the tags property: List of key-value tag attributes associated with the document model. + * + * @return the tags value. + */ + @Generated + public Map getTags() { + return this.tags; + } + + /** + * Get the buildMode property: Custom document model build mode. + * + * @return the buildMode value. + */ + @Generated + public DocumentBuildMode getBuildMode() { + return this.buildMode; + } + + /** + * Get the azureBlobSource property: Azure Blob Storage location containing the training data. Either + * azureBlobSource or azureBlobFileListSource must be specified. + * + * @return the azureBlobSource value. + */ + @Generated + public AzureBlobContentSource getAzureBlobSource() { + return this.azureBlobSource; + } + + /** + * Get the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data. Either + * azureBlobSource or azureBlobFileListSource must be specified. + * + * @return the azureBlobFileListSource value. + */ + @Generated + public AzureBlobFileListContentSource getAzureBlobFileListSource() { + return this.azureBlobFileListSource; + } + + /** + * Get the docTypes property: Supported document types. + * + * @return the docTypes value. + */ + @Generated + public Map getDocTypes() { + return this.docTypes; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentPage.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentPage.java new file mode 100644 index 000000000000..80c5971a254d --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentPage.java @@ -0,0 +1,222 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Content and layout elements extracted from a page from the input. */ +@Immutable +public final class DocumentPage { + /* + * 1-based page number in the input document. + */ + @Generated + @JsonProperty(value = "pageNumber") + private int pageNumber; + + /* + * The general orientation of the content in clockwise direction, measured in + * degrees between (-180, 180]. + */ + @Generated + @JsonProperty(value = "angle") + private Double angle; + + /* + * The width of the image/PDF in pixels/inches, respectively. + */ + @Generated + @JsonProperty(value = "width") + private Double width; + + /* + * The height of the image/PDF in pixels/inches, respectively. + */ + @Generated + @JsonProperty(value = "height") + private Double height; + + /* + * The unit used by the width, height, and polygon properties. For images, the + * unit is "pixel". For PDF, the unit is "inch". + */ + @Generated + @JsonProperty(value = "unit") + private LengthUnit unit; + + /* + * Location of the page in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /* + * Extracted words from the page. + */ + @Generated + @JsonProperty(value = "words") + private List words; + + /* + * Extracted selection marks from the page. + */ + @Generated + @JsonProperty(value = "selectionMarks") + private List selectionMarks; + + /* + * Extracted lines from the page, potentially containing both textual and visual + * elements. + */ + @Generated + @JsonProperty(value = "lines") + private List lines; + + /* + * Extracted barcodes from the page. + */ + @Generated + @JsonProperty(value = "barcodes") + private List barcodes; + + /* + * Extracted formulas from the page. + */ + @Generated + @JsonProperty(value = "formulas") + private List formulas; + + /** + * Creates an instance of DocumentPage class. + * + * @param pageNumber the pageNumber value to set. + * @param spans the spans value to set. + */ + @Generated + @JsonCreator + private DocumentPage( + @JsonProperty(value = "pageNumber") int pageNumber, + @JsonProperty(value = "spans") List spans) { + this.pageNumber = pageNumber; + this.spans = spans; + } + + /** + * Get the pageNumber property: 1-based page number in the input document. + * + * @return the pageNumber value. + */ + @Generated + public int getPageNumber() { + return this.pageNumber; + } + + /** + * Get the angle property: The general orientation of the content in clockwise direction, measured in degrees + * between (-180, 180]. + * + * @return the angle value. + */ + @Generated + public Double getAngle() { + return this.angle; + } + + /** + * Get the width property: The width of the image/PDF in pixels/inches, respectively. + * + * @return the width value. + */ + @Generated + public Double getWidth() { + return this.width; + } + + /** + * Get the height property: The height of the image/PDF in pixels/inches, respectively. + * + * @return the height value. + */ + @Generated + public Double getHeight() { + return this.height; + } + + /** + * Get the unit property: The unit used by the width, height, and polygon properties. For images, the unit is + * "pixel". For PDF, the unit is "inch". + * + * @return the unit value. + */ + @Generated + public LengthUnit getUnit() { + return this.unit; + } + + /** + * Get the spans property: Location of the page in the reading order concatenated content. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } + + /** + * Get the words property: Extracted words from the page. + * + * @return the words value. + */ + @Generated + public List getWords() { + return this.words; + } + + /** + * Get the selectionMarks property: Extracted selection marks from the page. + * + * @return the selectionMarks value. + */ + @Generated + public List getSelectionMarks() { + return this.selectionMarks; + } + + /** + * Get the lines property: Extracted lines from the page, potentially containing both textual and visual elements. + * + * @return the lines value. + */ + @Generated + public List getLines() { + return this.lines; + } + + /** + * Get the barcodes property: Extracted barcodes from the page. + * + * @return the barcodes value. + */ + @Generated + public List getBarcodes() { + return this.barcodes; + } + + /** + * Get the formulas property: Extracted formulas from the page. + * + * @return the formulas value. + */ + @Generated + public List getFormulas() { + return this.formulas; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentParagraph.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentParagraph.java new file mode 100644 index 000000000000..b3fc7d72bfc7 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentParagraph.java @@ -0,0 +1,97 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** A paragraph object consisting with contiguous lines generally with common alignment and spacing. */ +@Immutable +public final class DocumentParagraph { + /* + * Semantic role of the paragraph. + */ + @Generated + @JsonProperty(value = "role") + private ParagraphRole role; + + /* + * Concatenated content of the paragraph in reading order. + */ + @Generated + @JsonProperty(value = "content") + private String content; + + /* + * Bounding regions covering the paragraph. + */ + @Generated + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the paragraph in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /** + * Creates an instance of DocumentParagraph class. + * + * @param content the content value to set. + * @param spans the spans value to set. + */ + @Generated + @JsonCreator + private DocumentParagraph( + @JsonProperty(value = "content") String content, @JsonProperty(value = "spans") List spans) { + this.content = content; + this.spans = spans; + } + + /** + * Get the role property: Semantic role of the paragraph. + * + * @return the role value. + */ + @Generated + public ParagraphRole getRole() { + return this.role; + } + + /** + * Get the content property: Concatenated content of the paragraph in reading order. + * + * @return the content value. + */ + @Generated + public String getContent() { + return this.content; + } + + /** + * Get the boundingRegions property: Bounding regions covering the paragraph. + * + * @return the boundingRegions value. + */ + @Generated + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Get the spans property: Location of the paragraph in the reading order concatenated content. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSection.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSection.java new file mode 100644 index 000000000000..f4ab5213456a --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSection.java @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** An object representing a section in the document. */ +@Immutable +public final class DocumentSection { + /* + * Location of the section in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /* + * Child elements of the section. + */ + @Generated + @JsonProperty(value = "elements") + private List elements; + + /** + * Creates an instance of DocumentSection class. + * + * @param spans the spans value to set. + */ + @Generated + @JsonCreator + private DocumentSection(@JsonProperty(value = "spans") List spans) { + this.spans = spans; + } + + /** + * Get the spans property: Location of the section in the reading order concatenated content. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } + + /** + * Get the elements property: Child elements of the section. + * + * @return the elements value. + */ + @Generated + public List getElements() { + return this.elements; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMark.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMark.java new file mode 100644 index 000000000000..b784afe8b2bf --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMark.java @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** A selection mark object representing check boxes, radio buttons, and other elements indicating a selection. */ +@Immutable +public final class DocumentSelectionMark { + /* + * State of the selection mark. + */ + @Generated + @JsonProperty(value = "state") + private DocumentSelectionMarkState state; + + /* + * Bounding polygon of the selection mark, with coordinates specified relative + * to the top-left of the page. The numbers represent the x, y values of the + * polygon vertices, clockwise from the left (-180 degrees inclusive) relative + * to the element orientation. + */ + @Generated + @JsonProperty(value = "polygon") + private List polygon; + + /* + * Location of the selection mark in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "span") + private DocumentSpan span; + + /* + * Confidence of correctly extracting the selection mark. + */ + @Generated + @JsonProperty(value = "confidence") + private double confidence; + + /** + * Creates an instance of DocumentSelectionMark class. + * + * @param state the state value to set. + * @param span the span value to set. + * @param confidence the confidence value to set. + */ + @Generated + @JsonCreator + private DocumentSelectionMark( + @JsonProperty(value = "state") DocumentSelectionMarkState state, + @JsonProperty(value = "span") DocumentSpan span, + @JsonProperty(value = "confidence") double confidence) { + this.state = state; + this.span = span; + this.confidence = confidence; + } + + /** + * Get the state property: State of the selection mark. + * + * @return the state value. + */ + @Generated + public DocumentSelectionMarkState getState() { + return this.state; + } + + /** + * Get the polygon property: Bounding polygon of the selection mark, with coordinates specified relative to the + * top-left of the page. The numbers represent the x, y values of the polygon vertices, clockwise from the left + * (-180 degrees inclusive) relative to the element orientation. + * + * @return the polygon value. + */ + @Generated + public List getPolygon() { + return this.polygon; + } + + /** + * Get the span property: Location of the selection mark in the reading order concatenated content. + * + * @return the span value. + */ + @Generated + public DocumentSpan getSpan() { + return this.span; + } + + /** + * Get the confidence property: Confidence of correctly extracting the selection mark. + * + * @return the confidence value. + */ + @Generated + public double getConfidence() { + return this.confidence; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMarkState.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMarkState.java new file mode 100644 index 000000000000..d5892635b58f --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMarkState.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** State of the selection mark. */ +public final class DocumentSelectionMarkState extends ExpandableStringEnum { + /** The selection mark is selected, often indicated by a check ✓ or cross X inside the selection mark. */ + @Generated public static final DocumentSelectionMarkState SELECTED = fromString("selected"); + + /** The selection mark is not selected. */ + @Generated public static final DocumentSelectionMarkState UNSELECTED = fromString("unselected"); + + /** + * Creates a new instance of DocumentSelectionMarkState value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public DocumentSelectionMarkState() {} + + /** + * Creates or finds a DocumentSelectionMarkState from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentSelectionMarkState. + */ + @Generated + @JsonCreator + public static DocumentSelectionMarkState fromString(String name) { + return fromString(name, DocumentSelectionMarkState.class); + } + + /** + * Gets known DocumentSelectionMarkState values. + * + * @return known DocumentSelectionMarkState values. + */ + @Generated + public static Collection values() { + return values(DocumentSelectionMarkState.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSignatureType.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSignatureType.java new file mode 100644 index 000000000000..a4899008a785 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSignatureType.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Presence of signature. */ +public final class DocumentSignatureType extends ExpandableStringEnum { + /** A signature is detected. */ + @Generated public static final DocumentSignatureType SIGNED = fromString("signed"); + + /** No signatures are detected. */ + @Generated public static final DocumentSignatureType UNSIGNED = fromString("unsigned"); + + /** + * Creates a new instance of DocumentSignatureType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public DocumentSignatureType() {} + + /** + * Creates or finds a DocumentSignatureType from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentSignatureType. + */ + @Generated + @JsonCreator + public static DocumentSignatureType fromString(String name) { + return fromString(name, DocumentSignatureType.class); + } + + /** + * Gets known DocumentSignatureType values. + * + * @return known DocumentSignatureType values. + */ + @Generated + public static Collection values() { + return values(DocumentSignatureType.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSpan.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSpan.java new file mode 100644 index 000000000000..8cd8ad488c28 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSpan.java @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Contiguous region of the concatenated content property, specified as an offset and length. */ +@Immutable +public final class DocumentSpan { + /* + * Zero-based index of the content represented by the span. + */ + @Generated + @JsonProperty(value = "offset") + private int offset; + + /* + * Number of characters in the content represented by the span. + */ + @Generated + @JsonProperty(value = "length") + private int length; + + /** + * Creates an instance of DocumentSpan class. + * + * @param offset the offset value to set. + * @param length the length value to set. + */ + @Generated + @JsonCreator + private DocumentSpan(@JsonProperty(value = "offset") int offset, @JsonProperty(value = "length") int length) { + this.offset = offset; + this.length = length; + } + + /** + * Get the offset property: Zero-based index of the content represented by the span. + * + * @return the offset value. + */ + @Generated + public int getOffset() { + return this.offset; + } + + /** + * Get the length property: Number of characters in the content represented by the span. + * + * @return the length value. + */ + @Generated + public int getLength() { + return this.length; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentStyle.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentStyle.java new file mode 100644 index 000000000000..69883f618d99 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentStyle.java @@ -0,0 +1,168 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** An object representing observed text styles. */ +@Immutable +public final class DocumentStyle { + /* + * Is content handwritten? + */ + @Generated + @JsonProperty(value = "isHandwritten") + private Boolean isHandwritten; + + /* + * Visually most similar font from among the set of supported font families, with + * fallback fonts following CSS convention (ex. 'Arial, sans-serif'). + */ + @Generated + @JsonProperty(value = "similarFontFamily") + private String similarFontFamily; + + /* + * Font style. + */ + @Generated + @JsonProperty(value = "fontStyle") + private FontStyle fontStyle; + + /* + * Font weight. + */ + @Generated + @JsonProperty(value = "fontWeight") + private FontWeight fontWeight; + + /* + * Foreground color in #rrggbb hexadecimal format. + */ + @Generated + @JsonProperty(value = "color") + private String color; + + /* + * Background color in #rrggbb hexadecimal format.. + */ + @Generated + @JsonProperty(value = "backgroundColor") + private String backgroundColor; + + /* + * Location of the text elements in the concatenated content the style applies to. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /* + * Confidence of correctly identifying the style. + */ + @Generated + @JsonProperty(value = "confidence") + private double confidence; + + /** + * Creates an instance of DocumentStyle class. + * + * @param spans the spans value to set. + * @param confidence the confidence value to set. + */ + @Generated + @JsonCreator + private DocumentStyle( + @JsonProperty(value = "spans") List spans, + @JsonProperty(value = "confidence") double confidence) { + this.spans = spans; + this.confidence = confidence; + } + + /** + * Get the isHandwritten property: Is content handwritten?. + * + * @return the isHandwritten value. + */ + @Generated + public Boolean isHandwritten() { + return this.isHandwritten; + } + + /** + * Get the similarFontFamily property: Visually most similar font from among the set of supported font families, + * with fallback fonts following CSS convention (ex. 'Arial, sans-serif'). + * + * @return the similarFontFamily value. + */ + @Generated + public String getSimilarFontFamily() { + return this.similarFontFamily; + } + + /** + * Get the fontStyle property: Font style. + * + * @return the fontStyle value. + */ + @Generated + public FontStyle getFontStyle() { + return this.fontStyle; + } + + /** + * Get the fontWeight property: Font weight. + * + * @return the fontWeight value. + */ + @Generated + public FontWeight getFontWeight() { + return this.fontWeight; + } + + /** + * Get the color property: Foreground color in #rrggbb hexadecimal format. + * + * @return the color value. + */ + @Generated + public String getColor() { + return this.color; + } + + /** + * Get the backgroundColor property: Background color in #rrggbb hexadecimal format.. + * + * @return the backgroundColor value. + */ + @Generated + public String getBackgroundColor() { + return this.backgroundColor; + } + + /** + * Get the spans property: Location of the text elements in the concatenated content the style applies to. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } + + /** + * Get the confidence property: Confidence of correctly identifying the style. + * + * @return the confidence value. + */ + @Generated + public double getConfidence() { + return this.confidence; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTable.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTable.java new file mode 100644 index 000000000000..f1eab84706db --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTable.java @@ -0,0 +1,155 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** A table object consisting table cells arranged in a rectangular layout. */ +@Immutable +public final class DocumentTable { + /* + * Number of rows in the table. + */ + @Generated + @JsonProperty(value = "rowCount") + private int rowCount; + + /* + * Number of columns in the table. + */ + @Generated + @JsonProperty(value = "columnCount") + private int columnCount; + + /* + * Cells contained within the table. + */ + @Generated + @JsonProperty(value = "cells") + private List cells; + + /* + * Bounding regions covering the table. + */ + @Generated + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the table in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /* + * Caption associated with the table. + */ + @Generated + @JsonProperty(value = "caption") + private DocumentCaption caption; + + /* + * List of footnotes associated with the table. + */ + @Generated + @JsonProperty(value = "footnotes") + private List footnotes; + + /** + * Creates an instance of DocumentTable class. + * + * @param rowCount the rowCount value to set. + * @param columnCount the columnCount value to set. + * @param cells the cells value to set. + * @param spans the spans value to set. + */ + @Generated + @JsonCreator + private DocumentTable( + @JsonProperty(value = "rowCount") int rowCount, + @JsonProperty(value = "columnCount") int columnCount, + @JsonProperty(value = "cells") List cells, + @JsonProperty(value = "spans") List spans) { + this.rowCount = rowCount; + this.columnCount = columnCount; + this.cells = cells; + this.spans = spans; + } + + /** + * Get the rowCount property: Number of rows in the table. + * + * @return the rowCount value. + */ + @Generated + public int getRowCount() { + return this.rowCount; + } + + /** + * Get the columnCount property: Number of columns in the table. + * + * @return the columnCount value. + */ + @Generated + public int getColumnCount() { + return this.columnCount; + } + + /** + * Get the cells property: Cells contained within the table. + * + * @return the cells value. + */ + @Generated + public List getCells() { + return this.cells; + } + + /** + * Get the boundingRegions property: Bounding regions covering the table. + * + * @return the boundingRegions value. + */ + @Generated + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Get the spans property: Location of the table in the reading order concatenated content. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } + + /** + * Get the caption property: Caption associated with the table. + * + * @return the caption value. + */ + @Generated + public DocumentCaption getCaption() { + return this.caption; + } + + /** + * Get the footnotes property: List of footnotes associated with the table. + * + * @return the footnotes value. + */ + @Generated + public List getFootnotes() { + return this.footnotes; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCell.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCell.java new file mode 100644 index 000000000000..8216ea672bb0 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCell.java @@ -0,0 +1,189 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** An object representing the location and content of a table cell. */ +@Immutable +public final class DocumentTableCell { + /* + * Table cell kind. + */ + @Generated + @JsonProperty(value = "kind") + private DocumentTableCellKind kind; + + /* + * Row index of the cell. + */ + @Generated + @JsonProperty(value = "rowIndex") + private int rowIndex; + + /* + * Column index of the cell. + */ + @Generated + @JsonProperty(value = "columnIndex") + private int columnIndex; + + /* + * Number of rows spanned by this cell. + */ + @Generated + @JsonProperty(value = "rowSpan") + private Integer rowSpan; + + /* + * Number of columns spanned by this cell. + */ + @Generated + @JsonProperty(value = "columnSpan") + private Integer columnSpan; + + /* + * Concatenated content of the table cell in reading order. + */ + @Generated + @JsonProperty(value = "content") + private String content; + + /* + * Bounding regions covering the table cell. + */ + @Generated + @JsonProperty(value = "boundingRegions") + private List boundingRegions; + + /* + * Location of the table cell in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "spans") + private List spans; + + /* + * Child elements of the table cell. + */ + @Generated + @JsonProperty(value = "elements") + private List elements; + + /** + * Creates an instance of DocumentTableCell class. + * + * @param rowIndex the rowIndex value to set. + * @param columnIndex the columnIndex value to set. + * @param content the content value to set. + * @param spans the spans value to set. + */ + @Generated + @JsonCreator + private DocumentTableCell( + @JsonProperty(value = "rowIndex") int rowIndex, + @JsonProperty(value = "columnIndex") int columnIndex, + @JsonProperty(value = "content") String content, + @JsonProperty(value = "spans") List spans) { + this.rowIndex = rowIndex; + this.columnIndex = columnIndex; + this.content = content; + this.spans = spans; + } + + /** + * Get the kind property: Table cell kind. + * + * @return the kind value. + */ + @Generated + public DocumentTableCellKind getKind() { + return this.kind; + } + + /** + * Get the rowIndex property: Row index of the cell. + * + * @return the rowIndex value. + */ + @Generated + public int getRowIndex() { + return this.rowIndex; + } + + /** + * Get the columnIndex property: Column index of the cell. + * + * @return the columnIndex value. + */ + @Generated + public int getColumnIndex() { + return this.columnIndex; + } + + /** + * Get the rowSpan property: Number of rows spanned by this cell. + * + * @return the rowSpan value. + */ + @Generated + public Integer getRowSpan() { + return this.rowSpan; + } + + /** + * Get the columnSpan property: Number of columns spanned by this cell. + * + * @return the columnSpan value. + */ + @Generated + public Integer getColumnSpan() { + return this.columnSpan; + } + + /** + * Get the content property: Concatenated content of the table cell in reading order. + * + * @return the content value. + */ + @Generated + public String getContent() { + return this.content; + } + + /** + * Get the boundingRegions property: Bounding regions covering the table cell. + * + * @return the boundingRegions value. + */ + @Generated + public List getBoundingRegions() { + return this.boundingRegions; + } + + /** + * Get the spans property: Location of the table cell in the reading order concatenated content. + * + * @return the spans value. + */ + @Generated + public List getSpans() { + return this.spans; + } + + /** + * Get the elements property: Child elements of the table cell. + * + * @return the elements value. + */ + @Generated + public List getElements() { + return this.elements; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCellKind.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCellKind.java new file mode 100644 index 000000000000..64fe4f24a61d --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCellKind.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Table cell kind. */ +public final class DocumentTableCellKind extends ExpandableStringEnum { + /** Contains the main content/data. */ + @Generated public static final DocumentTableCellKind CONTENT = fromString("content"); + + /** Describes the content of the row. */ + @Generated public static final DocumentTableCellKind ROW_HEADER = fromString("rowHeader"); + + /** Describes the content of the column. */ + @Generated public static final DocumentTableCellKind COLUMN_HEADER = fromString("columnHeader"); + + /** Describes the row headers, usually located at the top left corner of a table. */ + @Generated public static final DocumentTableCellKind STUB_HEAD = fromString("stubHead"); + + /** Describes the content in (parts of) the table. */ + @Generated public static final DocumentTableCellKind DESCRIPTION = fromString("description"); + + /** + * Creates a new instance of DocumentTableCellKind value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public DocumentTableCellKind() {} + + /** + * Creates or finds a DocumentTableCellKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentTableCellKind. + */ + @Generated + @JsonCreator + public static DocumentTableCellKind fromString(String name) { + return fromString(name, DocumentTableCellKind.class); + } + + /** + * Gets known DocumentTableCellKind values. + * + * @return known DocumentTableCellKind values. + */ + @Generated + public static Collection values() { + return values(DocumentTableCellKind.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTypeDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTypeDetails.java new file mode 100644 index 000000000000..a2439cf6b791 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTypeDetails.java @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** Document type info. */ +@Immutable +public final class DocumentTypeDetails { + /* + * Document model description. + */ + @Generated + @JsonProperty(value = "description") + private String description; + + /* + * Custom document model build mode. + */ + @Generated + @JsonProperty(value = "buildMode") + private DocumentBuildMode buildMode; + + /* + * Description of the document semantic schema using a JSON Schema style syntax. + */ + @Generated + @JsonProperty(value = "fieldSchema") + private Map fieldSchema; + + /* + * Estimated confidence for each field. + */ + @Generated + @JsonProperty(value = "fieldConfidence") + private Map fieldConfidence; + + /** + * Creates an instance of DocumentTypeDetails class. + * + * @param fieldSchema the fieldSchema value to set. + */ + @Generated + @JsonCreator + private DocumentTypeDetails(@JsonProperty(value = "fieldSchema") Map fieldSchema) { + this.fieldSchema = fieldSchema; + } + + /** + * Get the description property: Document model description. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the buildMode property: Custom document model build mode. + * + * @return the buildMode value. + */ + @Generated + public DocumentBuildMode getBuildMode() { + return this.buildMode; + } + + /** + * Get the fieldSchema property: Description of the document semantic schema using a JSON Schema style syntax. + * + * @return the fieldSchema value. + */ + @Generated + public Map getFieldSchema() { + return this.fieldSchema; + } + + /** + * Get the fieldConfidence property: Estimated confidence for each field. + * + * @return the fieldConfidence value. + */ + @Generated + public Map getFieldConfidence() { + return this.fieldConfidence; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentWord.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentWord.java new file mode 100644 index 000000000000..75b80a18c4b2 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentWord.java @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * A word object consisting of a contiguous sequence of characters. For non-space delimited languages, such as Chinese, + * Japanese, and Korean, each character is represented as its own word. + */ +@Immutable +public final class DocumentWord { + /* + * Text content of the word. + */ + @Generated + @JsonProperty(value = "content") + private String content; + + /* + * Bounding polygon of the word, with coordinates specified relative to the + * top-left of the page. The numbers represent the x, y values of the polygon + * vertices, clockwise from the left (-180 degrees inclusive) relative to the + * element orientation. + */ + @Generated + @JsonProperty(value = "polygon") + private List polygon; + + /* + * Location of the word in the reading order concatenated content. + */ + @Generated + @JsonProperty(value = "span") + private DocumentSpan span; + + /* + * Confidence of correctly extracting the word. + */ + @Generated + @JsonProperty(value = "confidence") + private double confidence; + + /** + * Creates an instance of DocumentWord class. + * + * @param content the content value to set. + * @param span the span value to set. + * @param confidence the confidence value to set. + */ + @Generated + @JsonCreator + private DocumentWord( + @JsonProperty(value = "content") String content, + @JsonProperty(value = "span") DocumentSpan span, + @JsonProperty(value = "confidence") double confidence) { + this.content = content; + this.span = span; + this.confidence = confidence; + } + + /** + * Get the content property: Text content of the word. + * + * @return the content value. + */ + @Generated + public String getContent() { + return this.content; + } + + /** + * Get the polygon property: Bounding polygon of the word, with coordinates specified relative to the top-left of + * the page. The numbers represent the x, y values of the polygon vertices, clockwise from the left (-180 degrees + * inclusive) relative to the element orientation. + * + * @return the polygon value. + */ + @Generated + public List getPolygon() { + return this.polygon; + } + + /** + * Get the span property: Location of the word in the reading order concatenated content. + * + * @return the span value. + */ + @Generated + public DocumentSpan getSpan() { + return this.span; + } + + /** + * Get the confidence property: Confidence of correctly extracting the word. + * + * @return the confidence value. + */ + @Generated + public double getConfidence() { + return this.confidence; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Error.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Error.java new file mode 100644 index 000000000000..88fa6cc37baf --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Error.java @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** The error object. */ +@Immutable +public final class Error { + /* + * One of a server-defined set of error codes. + */ + @Generated + @JsonProperty(value = "code") + private String code; + + /* + * A human-readable representation of the error. + */ + @Generated + @JsonProperty(value = "message") + private String message; + + /* + * The target of the error. + */ + @Generated + @JsonProperty(value = "target") + private String target; + + /* + * An array of details about specific errors that led to this reported error. + */ + @Generated + @JsonProperty(value = "details") + private List details; + + /* + * An object containing more specific information than the current object about the error. + */ + @Generated + @JsonProperty(value = "innererror") + private InnerError innererror; + + /** + * Creates an instance of Error class. + * + * @param code the code value to set. + * @param message the message value to set. + */ + @Generated + @JsonCreator + private Error(@JsonProperty(value = "code") String code, @JsonProperty(value = "message") String message) { + this.code = code; + this.message = message; + } + + /** + * Get the code property: One of a server-defined set of error codes. + * + * @return the code value. + */ + @Generated + public String getCode() { + return this.code; + } + + /** + * Get the message property: A human-readable representation of the error. + * + * @return the message value. + */ + @Generated + public String getMessage() { + return this.message; + } + + /** + * Get the target property: The target of the error. + * + * @return the target value. + */ + @Generated + public String getTarget() { + return this.target; + } + + /** + * Get the details property: An array of details about specific errors that led to this reported error. + * + * @return the details value. + */ + @Generated + public List getDetails() { + return this.details; + } + + /** + * Get the innererror property: An object containing more specific information than the current object about the + * error. + * + * @return the innererror value. + */ + @Generated + public InnerError getInnererror() { + return this.innererror; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontStyle.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontStyle.java new file mode 100644 index 000000000000..98e8629a8c72 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontStyle.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Font style. */ +public final class FontStyle extends ExpandableStringEnum { + /** Characters are represented normally. */ + @Generated public static final FontStyle NORMAL = fromString("normal"); + + /** Characters are visually slanted to the right. */ + @Generated public static final FontStyle ITALIC = fromString("italic"); + + /** + * Creates a new instance of FontStyle value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public FontStyle() {} + + /** + * Creates or finds a FontStyle from its string representation. + * + * @param name a name to look for. + * @return the corresponding FontStyle. + */ + @Generated + @JsonCreator + public static FontStyle fromString(String name) { + return fromString(name, FontStyle.class); + } + + /** + * Gets known FontStyle values. + * + * @return known FontStyle values. + */ + @Generated + public static Collection values() { + return values(FontStyle.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontWeight.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontWeight.java new file mode 100644 index 000000000000..30532b9aa9e6 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontWeight.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Font weight. */ +public final class FontWeight extends ExpandableStringEnum { + /** Characters are represented normally. */ + @Generated public static final FontWeight NORMAL = fromString("normal"); + + /** Characters are represented with thicker strokes. */ + @Generated public static final FontWeight BOLD = fromString("bold"); + + /** + * Creates a new instance of FontWeight value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public FontWeight() {} + + /** + * Creates or finds a FontWeight from its string representation. + * + * @param name a name to look for. + * @return the corresponding FontWeight. + */ + @Generated + @JsonCreator + public static FontWeight fromString(String name) { + return fromString(name, FontWeight.class); + } + + /** + * Gets known FontWeight values. + * + * @return known FontWeight values. + */ + @Generated + public static Collection values() { + return values(FontWeight.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/InnerError.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/InnerError.java new file mode 100644 index 000000000000..cc17cdb2156a --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/InnerError.java @@ -0,0 +1,68 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** An object containing more specific information about the error. */ +@Immutable +public final class InnerError { + /* + * One of a server-defined set of error codes. + */ + @Generated + @JsonProperty(value = "code") + private String code; + + /* + * A human-readable representation of the error. + */ + @Generated + @JsonProperty(value = "message") + private String message; + + /* + * Inner error. + */ + @Generated + @JsonProperty(value = "innererror") + private InnerError innererror; + + /** Creates an instance of InnerError class. */ + @Generated + private InnerError() {} + + /** + * Get the code property: One of a server-defined set of error codes. + * + * @return the code value. + */ + @Generated + public String getCode() { + return this.code; + } + + /** + * Get the message property: A human-readable representation of the error. + * + * @return the message value. + */ + @Generated + public String getMessage() { + return this.message; + } + + /** + * Get the innererror property: Inner error. + * + * @return the innererror value. + */ + @Generated + public InnerError getInnererror() { + return this.innererror; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/LengthUnit.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/LengthUnit.java new file mode 100644 index 000000000000..4768d12fe6b5 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/LengthUnit.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The unit used by the width, height, and polygon properties. For images, the unit is "pixel". For PDF, the unit is + * "inch". + */ +public final class LengthUnit extends ExpandableStringEnum { + /** Length unit for image files. */ + @Generated public static final LengthUnit PIXEL = fromString("pixel"); + + /** Length unit for PDF files. */ + @Generated public static final LengthUnit INCH = fromString("inch"); + + /** + * Creates a new instance of LengthUnit value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public LengthUnit() {} + + /** + * Creates or finds a LengthUnit from its string representation. + * + * @param name a name to look for. + * @return the corresponding LengthUnit. + */ + @Generated + @JsonCreator + public static LengthUnit fromString(String name) { + return fromString(name, LengthUnit.class); + } + + /** + * Gets known LengthUnit values. + * + * @return known LengthUnit values. + */ + @Generated + public static Collection values() { + return values(LengthUnit.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationDetails.java new file mode 100644 index 000000000000..06acfa3300f3 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationDetails.java @@ -0,0 +1,205 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.time.OffsetDateTime; +import java.util.Map; + +/** Operation info. */ +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "kind", + defaultImpl = OperationDetails.class) +@JsonTypeName("OperationDetails") +@JsonSubTypes({ + @JsonSubTypes.Type(name = "documentModelBuild", value = DocumentModelBuildOperationDetails.class), + @JsonSubTypes.Type(name = "documentModelCompose", value = DocumentModelComposeOperationDetails.class), + @JsonSubTypes.Type(name = "documentModelCopyTo", value = DocumentModelCopyToOperationDetails.class), + @JsonSubTypes.Type(name = "documentClassifierBuild", value = DocumentClassifierBuildOperationDetails.class) +}) +@Immutable +public class OperationDetails { + /* + * Operation ID + */ + @Generated + @JsonProperty(value = "operationId", access = JsonProperty.Access.WRITE_ONLY) + private String operationId; + + /* + * Operation status. + */ + @Generated + @JsonProperty(value = "status") + private OperationStatus status; + + /* + * Operation progress (0-100). + */ + @Generated + @JsonProperty(value = "percentCompleted") + private Integer percentCompleted; + + /* + * Date and time (UTC) when the operation was created. + */ + @Generated + @JsonProperty(value = "createdDateTime") + private OffsetDateTime createdDateTime; + + /* + * Date and time (UTC) when the status was last updated. + */ + @Generated + @JsonProperty(value = "lastUpdatedDateTime") + private OffsetDateTime lastUpdatedDateTime; + + /* + * URL of the resource targeted by this operation. + */ + @Generated + @JsonProperty(value = "resourceLocation") + private String resourceLocation; + + /* + * API version used to create this operation. + */ + @Generated + @JsonProperty(value = "apiVersion") + private String apiVersion; + + /* + * List of key-value tag attributes associated with the document model. + */ + @Generated + @JsonProperty(value = "tags") + private Map tags; + + /* + * Encountered error. + */ + @Generated + @JsonProperty(value = "error") + private Error error; + + /** + * Creates an instance of OperationDetails class. + * + * @param status the status value to set. + * @param createdDateTime the createdDateTime value to set. + * @param lastUpdatedDateTime the lastUpdatedDateTime value to set. + * @param resourceLocation the resourceLocation value to set. + */ + @Generated + @JsonCreator + protected OperationDetails( + @JsonProperty(value = "status") OperationStatus status, + @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime, + @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime, + @JsonProperty(value = "resourceLocation") String resourceLocation) { + this.status = status; + this.createdDateTime = createdDateTime; + this.lastUpdatedDateTime = lastUpdatedDateTime; + this.resourceLocation = resourceLocation; + } + + /** + * Get the operationId property: Operation ID. + * + * @return the operationId value. + */ + @Generated + public String getOperationId() { + return this.operationId; + } + + /** + * Get the status property: Operation status. + * + * @return the status value. + */ + @Generated + public OperationStatus getStatus() { + return this.status; + } + + /** + * Get the percentCompleted property: Operation progress (0-100). + * + * @return the percentCompleted value. + */ + @Generated + public Integer getPercentCompleted() { + return this.percentCompleted; + } + + /** + * Get the createdDateTime property: Date and time (UTC) when the operation was created. + * + * @return the createdDateTime value. + */ + @Generated + public OffsetDateTime getCreatedDateTime() { + return this.createdDateTime; + } + + /** + * Get the lastUpdatedDateTime property: Date and time (UTC) when the status was last updated. + * + * @return the lastUpdatedDateTime value. + */ + @Generated + public OffsetDateTime getLastUpdatedDateTime() { + return this.lastUpdatedDateTime; + } + + /** + * Get the resourceLocation property: URL of the resource targeted by this operation. + * + * @return the resourceLocation value. + */ + @Generated + public String getResourceLocation() { + return this.resourceLocation; + } + + /** + * Get the apiVersion property: API version used to create this operation. + * + * @return the apiVersion value. + */ + @Generated + public String getApiVersion() { + return this.apiVersion; + } + + /** + * Get the tags property: List of key-value tag attributes associated with the document model. + * + * @return the tags value. + */ + @Generated + public Map getTags() { + return this.tags; + } + + /** + * Get the error property: Encountered error. + * + * @return the error value. + */ + @Generated + public Error getError() { + return this.error; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationStatus.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationStatus.java new file mode 100644 index 000000000000..0eb3ea305db2 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationStatus.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Operation status. */ +public final class OperationStatus extends ExpandableStringEnum { + /** The operation has not started yet. */ + @Generated public static final OperationStatus NOT_STARTED = fromString("notStarted"); + + /** The operation is in progress. */ + @Generated public static final OperationStatus RUNNING = fromString("running"); + + /** The operation has failed. */ + @Generated public static final OperationStatus FAILED = fromString("failed"); + + /** The operation has succeeded. */ + @Generated public static final OperationStatus SUCCEEDED = fromString("succeeded"); + + /** The operation has been canceled. */ + @Generated public static final OperationStatus CANCELED = fromString("canceled"); + + /** + * Creates a new instance of OperationStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public OperationStatus() {} + + /** + * Creates or finds a OperationStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding OperationStatus. + */ + @Generated + @JsonCreator + public static OperationStatus fromString(String name) { + return fromString(name, OperationStatus.class); + } + + /** + * Gets known OperationStatus values. + * + * @return known OperationStatus values. + */ + @Generated + public static Collection values() { + return values(OperationStatus.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ParagraphRole.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ParagraphRole.java new file mode 100644 index 000000000000..925985417f33 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ParagraphRole.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Semantic role of the paragraph. */ +public final class ParagraphRole extends ExpandableStringEnum { + /** Text near the top edge of the page. */ + @Generated public static final ParagraphRole PAGE_HEADER = fromString("pageHeader"); + + /** Text near the bottom edge of the page. */ + @Generated public static final ParagraphRole PAGE_FOOTER = fromString("pageFooter"); + + /** Page number. */ + @Generated public static final ParagraphRole PAGE_NUMBER = fromString("pageNumber"); + + /** Top-level title describing the entire document. */ + @Generated public static final ParagraphRole TITLE = fromString("title"); + + /** Sub heading describing a section of the document. */ + @Generated public static final ParagraphRole SECTION_HEADING = fromString("sectionHeading"); + + /** A note usually placed after the main content on a page. */ + @Generated public static final ParagraphRole FOOTNOTE = fromString("footnote"); + + /** A block of formulas, often with shared alignment. */ + @Generated public static final ParagraphRole FORMULA_BLOCK = fromString("formulaBlock"); + + /** + * Creates a new instance of ParagraphRole value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public ParagraphRole() {} + + /** + * Creates or finds a ParagraphRole from its string representation. + * + * @param name a name to look for. + * @return the corresponding ParagraphRole. + */ + @Generated + @JsonCreator + public static ParagraphRole fromString(String name) { + return fromString(name, ParagraphRole.class); + } + + /** + * Gets known ParagraphRole values. + * + * @return known ParagraphRole values. + */ + @Generated + public static Collection values() { + return values(ParagraphRole.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/QuotaDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/QuotaDetails.java new file mode 100644 index 000000000000..d7b3e530aee6 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/QuotaDetails.java @@ -0,0 +1,84 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Quota used, limit, and next reset date/time. */ +@Immutable +public final class QuotaDetails { + /* + * Amount of the resource quota used. + */ + @Generated + @JsonProperty(value = "used") + private int used; + + /* + * Resource quota limit. + */ + @Generated + @JsonProperty(value = "quota") + private int quota; + + /* + * Date/time when the resource quota usage will be reset. + */ + @Generated + @JsonProperty(value = "quotaResetDateTime") + private OffsetDateTime quotaResetDateTime; + + /** + * Creates an instance of QuotaDetails class. + * + * @param used the used value to set. + * @param quota the quota value to set. + * @param quotaResetDateTime the quotaResetDateTime value to set. + */ + @Generated + @JsonCreator + private QuotaDetails( + @JsonProperty(value = "used") int used, + @JsonProperty(value = "quota") int quota, + @JsonProperty(value = "quotaResetDateTime") OffsetDateTime quotaResetDateTime) { + this.used = used; + this.quota = quota; + this.quotaResetDateTime = quotaResetDateTime; + } + + /** + * Get the used property: Amount of the resource quota used. + * + * @return the used value. + */ + @Generated + public int getUsed() { + return this.used; + } + + /** + * Get the quota property: Resource quota limit. + * + * @return the quota value. + */ + @Generated + public int getQuota() { + return this.quota; + } + + /** + * Get the quotaResetDateTime property: Date/time when the resource quota usage will be reset. + * + * @return the quotaResetDateTime value. + */ + @Generated + public OffsetDateTime getQuotaResetDateTime() { + return this.quotaResetDateTime; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ResourceDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ResourceDetails.java new file mode 100644 index 000000000000..6f6b95d13b25 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ResourceDetails.java @@ -0,0 +1,63 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** General information regarding the current resource. */ +@Immutable +public final class ResourceDetails { + /* + * Details regarding custom document models. + */ + @Generated + @JsonProperty(value = "customDocumentModels") + private CustomDocumentModelsDetails customDocumentModels; + + /* + * Quota used, limit, and next reset date/time. + */ + @Generated + @JsonProperty(value = "customNeuralDocumentModelBuilds") + private QuotaDetails customNeuralDocumentModelBuilds; + + /** + * Creates an instance of ResourceDetails class. + * + * @param customDocumentModels the customDocumentModels value to set. + * @param customNeuralDocumentModelBuilds the customNeuralDocumentModelBuilds value to set. + */ + @Generated + @JsonCreator + private ResourceDetails( + @JsonProperty(value = "customDocumentModels") CustomDocumentModelsDetails customDocumentModels, + @JsonProperty(value = "customNeuralDocumentModelBuilds") QuotaDetails customNeuralDocumentModelBuilds) { + this.customDocumentModels = customDocumentModels; + this.customNeuralDocumentModelBuilds = customNeuralDocumentModelBuilds; + } + + /** + * Get the customDocumentModels property: Details regarding custom document models. + * + * @return the customDocumentModels value. + */ + @Generated + public CustomDocumentModelsDetails getCustomDocumentModels() { + return this.customDocumentModels; + } + + /** + * Get the customNeuralDocumentModelBuilds property: Quota used, limit, and next reset date/time. + * + * @return the customNeuralDocumentModelBuilds value. + */ + @Generated + public QuotaDetails getCustomNeuralDocumentModelBuilds() { + return this.customNeuralDocumentModelBuilds; + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/SplitMode.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/SplitMode.java new file mode 100644 index 000000000000..4b2bc5043f37 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/SplitMode.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Document splitting mode. */ +public final class SplitMode extends ExpandableStringEnum { + /** Automatically split file into documents. */ + @Generated public static final SplitMode AUTO = fromString("auto"); + + /** Treat the entire file as a single document. */ + @Generated public static final SplitMode NONE = fromString("none"); + + /** Treat each page in the file as a separate document. */ + @Generated public static final SplitMode PER_PAGE = fromString("perPage"); + + /** + * Creates a new instance of SplitMode value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public SplitMode() {} + + /** + * Creates or finds a SplitMode from its string representation. + * + * @param name a name to look for. + * @return the corresponding SplitMode. + */ + @Generated + @JsonCreator + public static SplitMode fromString(String name) { + return fromString(name, SplitMode.class); + } + + /** + * Gets known SplitMode values. + * + * @return known SplitMode values. + */ + @Generated + public static Collection values() { + return values(SplitMode.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/StringIndexType.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/StringIndexType.java new file mode 100644 index 000000000000..f5bc628cc2b7 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/StringIndexType.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Method used to compute string offset and length. */ +public final class StringIndexType extends ExpandableStringEnum { + /** User-perceived display character, or grapheme cluster, as defined by Unicode 8.0.0. */ + @Generated public static final StringIndexType TEXT_ELEMENTS = fromString("textElements"); + + /** Character unit represented by a single unicode code point. Used by Python 3. */ + @Generated public static final StringIndexType UNICODE_CODE_POINT = fromString("unicodeCodePoint"); + + /** Character unit represented by a 16-bit Unicode code unit. Used by JavaScript, Java, and .NET. */ + @Generated public static final StringIndexType UTF16CODE_UNIT = fromString("utf16CodeUnit"); + + /** + * Creates a new instance of StringIndexType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public StringIndexType() {} + + /** + * Creates or finds a StringIndexType from its string representation. + * + * @param name a name to look for. + * @return the corresponding StringIndexType. + */ + @Generated + @JsonCreator + public static StringIndexType fromString(String name) { + return fromString(name, StringIndexType.class); + } + + /** + * Gets known StringIndexType values. + * + * @return known StringIndexType values. + */ + @Generated + public static Collection values() { + return values(StringIndexType.class); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/package-info.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/package-info.java new file mode 100644 index 000000000000..21a90898fee7 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/package-info.java @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * Package containing the data models for DocumentIntelligence. Extracts content, layout, and structured data from + * documents. + */ +package com.azure.ai.documentintelligence.models; diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/package-info.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/package-info.java new file mode 100644 index 000000000000..faa25d720491 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/package-info.java @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * Package containing the classes for DocumentIntelligence. Extracts content, layout, and structured data from + * documents. + */ +package com.azure.ai.documentintelligence; diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/module-info.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/module-info.java new file mode 100644 index 000000000000..0c042f848877 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/module-info.java @@ -0,0 +1,15 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +module com.azure.ai.documentintelligence { + requires transitive com.azure.core; + requires transitive com.azure.core.experimental; + + exports com.azure.ai.documentintelligence; + exports com.azure.ai.documentintelligence.models; + + opens com.azure.ai.documentintelligence.models to + com.azure.core, + com.fasterxml.jackson.databind; +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/resources/azure-ai-documentintelligence.properties b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/resources/azure-ai-documentintelligence.properties new file mode 100644 index 000000000000..ca812989b4f2 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/resources/azure-ai-documentintelligence.properties @@ -0,0 +1,2 @@ +name=${project.artifactId} +version=${project.version} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/ReadmeSamples.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/ReadmeSamples.java new file mode 100644 index 000000000000..5ad9053a176c --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/ReadmeSamples.java @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.documentintelligence; + +public final class ReadmeSamples { + public void readmeSamples() { + // BEGIN: com.azure.ai.documentintelligence.readme + // END: com.azure.ai.documentintelligence.readme + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/tsp-location.yaml b/sdk/documentintelligence/azure-ai-documentintelligence/tsp-location.yaml index 2ef76b14579a..eeb14bb90bfc 100644 --- a/sdk/documentintelligence/azure-ai-documentintelligence/tsp-location.yaml +++ b/sdk/documentintelligence/azure-ai-documentintelligence/tsp-location.yaml @@ -1,3 +1,3 @@ directory: specification/cognitiveservices/DocumentIntelligence -commit: f60bb011012ccbeacc09ebb268dd9284966e3400 +commit: eb59d69faa8313504e90bd86f303dee146d7eb85 repo: Azure/azure-rest-api-specs-pr From 0db488fc3420334b14bcb9ecbe60b10f992d5895 Mon Sep 17 00:00:00 2001 From: "Sameeksha Vaity (from Dev Box)" Date: Mon, 6 Nov 2023 13:44:11 -0800 Subject: [PATCH 4/6] add token credential support --- .../DocumentAnalysisClientBuilder.java | 23 +++++++++++++++++++ ...umentModelAdministrationClientBuilder.java | 23 +++++++++++++++++++ .../tsp-location.yaml | 2 +- 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisClientBuilder.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisClientBuilder.java index 0167b2a255b7..392d1981c0a6 100644 --- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisClientBuilder.java +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentAnalysisClientBuilder.java @@ -11,7 +11,9 @@ import com.azure.core.client.traits.EndpointTrait; import com.azure.core.client.traits.HttpTrait; import com.azure.core.client.traits.KeyCredentialTrait; +import com.azure.core.client.traits.TokenCredentialTrait; import com.azure.core.credential.KeyCredential; +import com.azure.core.credential.TokenCredential; import com.azure.core.http.HttpClient; import com.azure.core.http.HttpHeaderName; import com.azure.core.http.HttpHeaders; @@ -21,6 +23,7 @@ import com.azure.core.http.policy.AddDatePolicy; import com.azure.core.http.policy.AddHeadersFromContextPolicy; import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpLoggingPolicy; import com.azure.core.http.policy.HttpPipelinePolicy; @@ -46,12 +49,16 @@ public final class DocumentAnalysisClientBuilder implements HttpTrait, ConfigurationTrait, + TokenCredentialTrait, KeyCredentialTrait, EndpointTrait { @Generated private static final String SDK_NAME = "name"; @Generated private static final String SDK_VERSION = "version"; + @Generated + private static final String[] DEFAULT_SCOPES = new String[] {"https://cognitiveservices.azure.com/.default"}; + @Generated private static final Map PROPERTIES = CoreUtils.getProperties("azure-ai-documentintelligence.properties"); @@ -154,6 +161,19 @@ public DocumentAnalysisClientBuilder configuration(Configuration configuration) return this; } + /* + * The TokenCredential used for authentication. + */ + @Generated private TokenCredential tokenCredential; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentAnalysisClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + /* * The KeyCredential used for authentication. */ @@ -262,6 +282,9 @@ private HttpPipeline createHttpPipeline() { if (keyCredential != null) { policies.add(new KeyCredentialPolicy("Ocp-Apim-Subscription-Key", keyCredential)); } + if (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } this.pipelinePolicies.stream() .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) .forEach(p -> policies.add(p)); diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationClientBuilder.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationClientBuilder.java index 043294a16be9..411e65bc7174 100644 --- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationClientBuilder.java +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentModelAdministrationClientBuilder.java @@ -11,7 +11,9 @@ import com.azure.core.client.traits.EndpointTrait; import com.azure.core.client.traits.HttpTrait; import com.azure.core.client.traits.KeyCredentialTrait; +import com.azure.core.client.traits.TokenCredentialTrait; import com.azure.core.credential.KeyCredential; +import com.azure.core.credential.TokenCredential; import com.azure.core.http.HttpClient; import com.azure.core.http.HttpHeaderName; import com.azure.core.http.HttpHeaders; @@ -21,6 +23,7 @@ import com.azure.core.http.policy.AddDatePolicy; import com.azure.core.http.policy.AddHeadersFromContextPolicy; import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpLoggingPolicy; import com.azure.core.http.policy.HttpPipelinePolicy; @@ -47,12 +50,16 @@ public final class DocumentModelAdministrationClientBuilder implements HttpTrait, ConfigurationTrait, + TokenCredentialTrait, KeyCredentialTrait, EndpointTrait { @Generated private static final String SDK_NAME = "name"; @Generated private static final String SDK_VERSION = "version"; + @Generated + private static final String[] DEFAULT_SCOPES = new String[] {"https://cognitiveservices.azure.com/.default"}; + @Generated private static final Map PROPERTIES = CoreUtils.getProperties("azure-ai-documentintelligence.properties"); @@ -155,6 +162,19 @@ public DocumentModelAdministrationClientBuilder configuration(Configuration conf return this; } + /* + * The TokenCredential used for authentication. + */ + @Generated private TokenCredential tokenCredential; + + /** {@inheritDoc}. */ + @Generated + @Override + public DocumentModelAdministrationClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + /* * The KeyCredential used for authentication. */ @@ -263,6 +283,9 @@ private HttpPipeline createHttpPipeline() { if (keyCredential != null) { policies.add(new KeyCredentialPolicy("Ocp-Apim-Subscription-Key", keyCredential)); } + if (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } this.pipelinePolicies.stream() .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) .forEach(p -> policies.add(p)); diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/tsp-location.yaml b/sdk/documentintelligence/azure-ai-documentintelligence/tsp-location.yaml index eeb14bb90bfc..820db7e096fe 100644 --- a/sdk/documentintelligence/azure-ai-documentintelligence/tsp-location.yaml +++ b/sdk/documentintelligence/azure-ai-documentintelligence/tsp-location.yaml @@ -1,3 +1,3 @@ directory: specification/cognitiveservices/DocumentIntelligence -commit: eb59d69faa8313504e90bd86f303dee146d7eb85 +commit: a3ead5890e6c6b2b41a2c7077c21efcdc406ea52 repo: Azure/azure-rest-api-specs-pr From 93f668228b8e4c5e7670bcaee19c811f9af863df Mon Sep 17 00:00:00 2001 From: "Sameeksha Vaity (from Dev Box)" Date: Thu, 9 Nov 2023 17:12:27 -0800 Subject: [PATCH 5/6] Add pipeline infra --- sdk/documentintelligence/ci.yml | 44 ++++ sdk/documentintelligence/pom.xml | 13 ++ sdk/documentintelligence/test-resources.json | 224 +++++++++++++++++++ sdk/documentintelligence/tests.native.yml | 16 ++ sdk/documentintelligence/tests.yml | 16 ++ 5 files changed, 313 insertions(+) create mode 100644 sdk/documentintelligence/ci.yml create mode 100644 sdk/documentintelligence/pom.xml create mode 100644 sdk/documentintelligence/test-resources.json create mode 100644 sdk/documentintelligence/tests.native.yml create mode 100644 sdk/documentintelligence/tests.yml diff --git a/sdk/documentintelligence/ci.yml b/sdk/documentintelligence/ci.yml new file mode 100644 index 000000000000..bc0e1dea025e --- /dev/null +++ b/sdk/documentintelligence/ci.yml @@ -0,0 +1,44 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. + +trigger: + branches: + include: + - main + - hotfix/* + - release/* + paths: + include: + - sdk/documentintelligence/ + exclude: + - sdk/documentintelligence/pom.xml + - sdk/documentintelligence/azure-ai-documentintelligence/pom.xml + +pr: + branches: + include: + - main + - feature/* + - hotfix/* + - release/* + paths: + include: + - sdk/documentintelligence/ + exclude: + - sdk/documentintelligence/pom.xml + - sdk/documentintelligence/azure-ai-documentintelligence/pom.xml + +parameters: +- name: release_dependsonlivetests + displayName: 'Release depends on live tests' + type: boolean + default: false + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: documentintelligence + EnableBatchRelease: true + Artifacts: + - name: azure-ai-documentintelligence + groupId: com.azure + safeName: azureaidocumentintelligence diff --git a/sdk/documentintelligence/pom.xml b/sdk/documentintelligence/pom.xml new file mode 100644 index 000000000000..b0e7eaa469d1 --- /dev/null +++ b/sdk/documentintelligence/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + com.azure + azure-documentintelligence-service + pom + 1.0.0 + + azure-ai-documentintelligence + + diff --git a/sdk/documentintelligence/test-resources.json b/sdk/documentintelligence/test-resources.json new file mode 100644 index 000000000000..94929cdf387f --- /dev/null +++ b/sdk/documentintelligence/test-resources.json @@ -0,0 +1,224 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "baseName": { + "type": "string", + "defaultValue": "[resourceGroup().name]", + "metadata": { + "description": "The base resource name." + } + }, + "location": { + "type": "string", + "defaultValue": "[resourceGroup().location]", + "metadata": { + "metadata": { + "description": "The location of the resource. By default, this is the same as the resource group." + } + } + }, + "testApplicationOid": { + "type": "string", + "metadata": { + "description": "The principal to assign the role to. This is application object id." + } + }, + "tenantId": { + "type": "string", + "metadata": { + "description": "The tenant id to which the application and resources belong." + } + }, + "testApplicationId": { + "type": "string", + "metadata": { + "description": "The application client id used to run tests." + } + }, + "testApplicationSecret": { + "type": "string", + "metadata": { + "description": "The application client secret used to run tests." + } + }, + "cognitiveServicesEndpointSuffix": { + "defaultValue": ".cognitiveservices.azure.com/", + "type": "string" + }, + "blobStorageAccount": { + "type": "string", + "defaultValue": "azuresdktrainingdata" + }, + "trainingDataContainer": { + "type": "string", + "defaultValue": "trainingdata" + }, + "errorTrainingDataContainer": { + "type": "string", + "defaultValue": "trainingdata-error" + }, + "blobResourceId": { + "type": "string", + "defaultValue": "[resourceId(subscription().subscriptionId, 'TrainingData', 'Microsoft.Storage/storageAccounts', parameters('blobStorageAccount'))]" + }, + "classifierTrainingDataContainer": { + "type": "string", + "defaultValue": "training-data-classifier" + }, + "trainingDataSasProperties": { + "type": "object", + "defaultValue": { + "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('trainingDataContainer'))]", + "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT3H')]", + "signedPermission": "rl", + "signedResource": "c" + } + }, + "errorTrainingDataSasProperties": { + "type": "object", + "defaultValue": { + "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('errorTrainingDataContainer'))]", + "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT3H')]", + "signedPermission": "rl", + "signedResource": "c" + } + }, + "testingDataContainer": { + "type": "string", + "defaultValue": "testingdata" + }, + "selectionMarkTrainingDataContainer": { + "type": "string", + "defaultValue": "selectionmark" + }, + "testingDataSasProperties": { + "type": "object", + "defaultValue": { + "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('testingDataContainer'))]", + "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT3H')]", + "signedPermission": "rl", + "signedResource": "c" + } + }, + "multiPageTestingDataContainer": { + "type": "string", + "defaultValue": "multipage-training-data" + }, + "multiPageTestingDataSasProperties": { + "type": "object", + "defaultValue": { + "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('multiPageTestingDataContainer'))]", + "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT3H')]", + "signedPermission": "rl", + "signedResource": "c" + } + }, + "selectionMarkTrainingDataSasProperties": { + "type": "object", + "defaultValue": { + "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('selectionMarkTrainingDataContainer'))]", + "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT3H')]", + "signedPermission": "rl", + "signedResource": "c" + } + }, + "classifierTrainingDataSasProperties": { + "type": "object", + "defaultValue": { + "canonicalizedResource": "[concat('/blob/', parameters('blobStorageAccount'), '/', parameters('classifierTrainingDataContainer'))]", + "signedExpiry": "[dateTimeAdd(utcNow('u'), 'PT3H')]", + "signedPermission": "rl", + "signedResource": "c" + } + } + }, + "variables": { + "authorizationApiVersion": "2018-09-01-preview", + "formRecognizerBaseName": "[concat('formRecognizer', parameters('baseName'))]", + "formRecognizerApiVersion": "2017-04-18", + "azureFormRecognizerUrl": "[concat('https://', variables('formRecognizerBaseName'), parameters('cognitiveServicesEndpointSuffix'))]", + "cognitiveServiceUserRoleId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/a97b65f3-24c7-4388-baec-2e87135dc908')]" + }, + "resources": [ + { + "type": "Microsoft.Authorization/roleAssignments", + "apiVersion": "[variables('authorizationApiVersion')]", + "name": "[guid(concat(variables('cognitiveServiceUserRoleId'), variables('formRecognizerBaseName')))]", + "dependsOn": [ + "[variables('formRecognizerBaseName')]" + ], + "properties": { + "principalId": "[parameters('testApplicationOid')]", + "roleDefinitionId": "[variables('cognitiveServiceUserRoleId')]" + } + }, + { + "type": "Microsoft.CognitiveServices/accounts", + "name": "[variables('formRecognizerBaseName')]", + "apiVersion": "[variables('formRecognizerApiVersion')]", + "sku": { + "name": "S0" + }, + "kind": "FormRecognizer", + "location": "[parameters('location')]", + "properties": { + "customSubDomainName": "[variables('formRecognizerBaseName')]" + } + } + ], + "outputs": { + "AZURE_TENANT_ID": { + "type": "string", + "value": "[parameters('tenantId')]" + }, + "AZURE_CLIENT_ID": { + "type": "string", + "value": "[parameters('testApplicationId')]" + }, + "AZURE_CLIENT_SECRET": { + "type": "string", + "value": "[parameters('testApplicationSecret')]" + }, + "AZURE_FORM_RECOGNIZER_API_KEY": { + "type": "string", + "value": "[listKeys(resourceId('Microsoft.CognitiveServices/accounts', variables('formRecognizerBaseName')), variables('formRecognizerApiVersion')).key1]" + }, + "AZURE_FORM_RECOGNIZER_ENDPOINT": { + "type": "string", + "value": "[variables('azureFormRecognizerUrl')]" + }, + "FORM_RECOGNIZER_TRAINING_BLOB_CONTAINER_SAS_URL": { + "type": "string", + "value": "[concat(reference(parameters('blobResourceId'), '2019-06-01').primaryEndpoints.blob, parameters('trainingDataContainer'), '?', listServiceSas(parameters('blobResourceId'), '2019-06-01', parameters('trainingDataSasProperties')).serviceSasToken)]" + }, + "FORM_RECOGNIZER_ERROR_TRAINING_BLOB_CONTAINER_SAS_URL": { + "type": "string", + "value": "[concat(reference(parameters('blobResourceId'), '2019-06-01').primaryEndpoints.blob, parameters('errorTrainingDataContainer'), '?', listServiceSas(parameters('blobResourceId'), '2019-06-01', parameters('errorTrainingDataSasProperties')).serviceSasToken)]" + }, + "FORM_RECOGNIZER_TESTING_BLOB_CONTAINER_SAS_URL": { + "type": "string", + "value": "[concat(reference(parameters('blobResourceId'), '2019-06-01').primaryEndpoints.blob, parameters('testingDataContainer'), '?', listServiceSas(parameters('blobResourceId'), '2019-06-01', parameters('testingDataSasProperties')).serviceSasToken)]" + }, + "FORM_RECOGNIZER_MULTIPAGE_TRAINING_BLOB_CONTAINER_SAS_URL": { + "type": "string", + "value": "[concat(reference(parameters('blobResourceId'), '2019-06-01').primaryEndpoints.blob, parameters('multiPageTestingDataContainer'), '?', listServiceSas(parameters('blobResourceId'), '2019-06-01', parameters('multiPageTestingDataSasProperties')).serviceSasToken)]" + }, + "FORM_RECOGNIZER_SELECTION_MARK_BLOB_CONTAINER_SAS_URL": { + "type": "string", + "value": "[concat(reference(parameters('blobResourceId'), '2019-06-01').primaryEndpoints.blob, parameters('selectionMarkTrainingDataContainer'), '?', listServiceSas(parameters('blobResourceId'), '2019-06-01', parameters('selectionMarkTrainingDataSasProperties')).serviceSasToken)]" + }, + "FORM_RECOGNIZER_CLASSIFIER_TRAINING_BLOB_CONTAINER_SAS_URL": { + "type": "string", + "value": "[concat(reference(parameters('blobResourceId'), '2019-06-01').primaryEndpoints.blob, parameters('classifierTrainingDataContainer'), '?', listServiceSas(parameters('blobResourceId'), '2019-06-01', parameters('classifierTrainingDataSasProperties')).serviceSasToken)]" + }, + "FORM_RECOGNIZER_TARGET_RESOURCE_REGION": { + "type": "string", + "value": "[parameters('location')]" + }, + "FORM_RECOGNIZER_TARGET_RESOURCE_ID": { + "type": "string", + "value": "[resourceId('Microsoft.CognitiveServices/accounts', variables('formRecognizerBaseName'))]" + } + } +} diff --git a/sdk/documentintelligence/tests.native.yml b/sdk/documentintelligence/tests.native.yml new file mode 100644 index 000000000000..4fcec3def8e6 --- /dev/null +++ b/sdk/documentintelligence/tests.native.yml @@ -0,0 +1,16 @@ +trigger: none + +stages: + - template: /eng/pipelines/templates/stages/archetype-sdk-native-tests.yml + parameters: + ServiceDirectory: documentintelligence + timeoutInMinutes: 150 # how long to run the job before automatically cancelling + Artifacts: + - name: azure-ai-documentintelligence + groupId: com.azure + safeName: azureaidocumentintelligence + CloudConfig: + Public: + SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources) + Location: 'eastus' + SupportedClouds: 'Public' diff --git a/sdk/documentintelligence/tests.yml b/sdk/documentintelligence/tests.yml new file mode 100644 index 000000000000..dd63b52a854c --- /dev/null +++ b/sdk/documentintelligence/tests.yml @@ -0,0 +1,16 @@ +trigger: none + +stages: + - template: /eng/pipelines/templates/stages/archetype-sdk-tests.yml + parameters: + ServiceDirectory: documentintelligence + timeoutInMinutes: 150 # how long to run the job before automatically cancelling + Artifacts: + - name: azure-ai-documentintelligence + groupId: com.azure + safeName: azureaidocumentintelligence + CloudConfig: + Public: + SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources) + Location: 'centraluseuap' + SupportedClouds: 'Public' From 402461d116f918a0211e9806a941c00ccfa06a47 Mon Sep 17 00:00:00 2001 From: Sameeksha Vaity Date: Fri, 10 Nov 2023 14:04:46 -0800 Subject: [PATCH 6/6] [Document Intelligence] Add samples (#37615) --- .../azure-ai-documentintelligence/README.md | 450 +- .../src/samples/README.md | 104 + .../AnalyzeBusinessCardFromUrl.java | 78 - .../AnalyzeCustomDocumentAsync.java | 122 + .../AnalyzeCustomDocumentFromUrl.java | 91 + .../AnalyzeIdentityDocuments.java | 133 + .../AnalyzeIdentityDocumentsAsync.java | 155 + .../AnalyzeIdentityDocumentsFromUrl.java | 130 + .../AnalyzeIdentityDocumentsFromUrlAsync.java | 150 + .../documentintelligence/AnalyzeInvoices.java | 166 + .../AnalyzeInvoicesAsync.java | 196 + .../AnalyzeInvoicesFromUrl.java | 166 + .../AnalyzeInvoicesFromUrlAsync.java | 188 + .../documentintelligence/AnalyzeLayout.java | 94 + .../AnalyzeLayoutAsync.java | 125 + .../AnalyzeLayoutFromUrl.java | 88 + .../AnalyzeLayoutFromUrlAsync.java | 116 + .../documentintelligence/AnalyzeReceipts.java | 138 + .../AnalyzeReceiptsAsync.java | 162 + .../AnalyzeReceiptsFromUrl.java | 136 + .../AnalyzeReceiptsFromUrlAsync.java | 157 + .../ai/documentintelligence/AnalyzeTaxW2.java | 155 + .../AnalyzeTaxW2Async.java | 168 + ...nalysisAsyncClientJavaDocCodeSnippets.java | 113 + ...mentAnalysisClientJavaDocCodeSnippets.java | 202 + .../documentintelligence/ReadmeSamples.java | 290 +- .../BuildDocumentClassifier.java | 70 + .../BuildDocumentClassifierAsync.java | 70 + .../administration/BuildDocumentModel.java | 66 + .../BuildDocumentModelAsync.java | 88 + .../administration/ComposeDocumentModel.java | 83 + .../ComposeDocumentModelAsync.java | 95 + .../administration/CopyDocumentModel.java | 59 + .../CopyDocumentModelAsync.java | 69 + ...elAdminAsyncClientJavaDocCodeSnippets.java | 498 +++ ...ntModelAdminClientJavaDocCodeSnippets.java | 516 +++ .../administration/GetOperationSummary.java | 51 + .../GetOperationSummaryAsync.java | 51 + .../administration/ManageCustomModels.java | 69 + .../ManageCustomModelsAsync.java | 73 + .../ManageDocumentClassifiers.java | 60 + .../ManageDocumentClassifiersAsync.java | 68 + .../administration/package-info.java | 8 + .../IdentityDocuments/license.png | Bin 0 -> 398069 bytes .../resources/sample-forms/forms/Form_1.jpg | Bin 0 -> 479269 bytes .../sample-forms/forms/Invoice_6.pdf | Bin 0 -> 156827 bytes .../sample-forms/forms/selectionMarkForm.pdf | Bin 0 -> 251215 bytes .../sample-forms/invoices/Invoice_1.pdf | Bin 0 -> 147362 bytes .../sample-forms/invoices/sample_invoice.jpg | Bin 0 -> 184686 bytes .../receipts/contoso-allinone.jpg | Bin 0 -> 154512 bytes .../sample-forms/training/Form_1.jpg | Bin 0 -> 479269 bytes .../training/Form_1.jpg.labels.json | 527 +++ .../sample-forms/training/Form_1.jpg.ocr.json | 3243 +++++++++++++++ .../sample-forms/training/Form_2.jpg | Bin 0 -> 509903 bytes .../training/Form_2.jpg.labels.json | 495 +++ .../sample-forms/training/Form_2.jpg.ocr.json | 3677 +++++++++++++++++ .../sample-forms/training/Form_3.jpg | Bin 0 -> 497081 bytes .../training/Form_3.jpg.labels.json | 495 +++ .../sample-forms/training/Form_3.jpg.ocr.json | 3286 +++++++++++++++ .../sample-forms/training/Form_4.jpg | Bin 0 -> 506578 bytes .../training/Form_4.jpg.labels.json | 511 +++ .../sample-forms/training/Form_4.jpg.ocr.json | 3382 +++++++++++++++ .../sample-forms/training/Form_5.jpg | Bin 0 -> 506538 bytes .../training/Form_5.jpg.labels.json | 495 +++ .../sample-forms/training/Form_5.jpg.ocr.json | 3489 ++++++++++++++++ .../sample-forms/training/fields.json | 79 + .../resources/sample-forms/w2/Sample-W2.jpg | Bin 0 -> 164553 bytes 67 files changed, 25649 insertions(+), 97 deletions(-) create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/README.md delete mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeBusinessCardFromUrl.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeCustomDocumentAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeCustomDocumentFromUrl.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocuments.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsFromUrl.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsFromUrlAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoices.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesFromUrl.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesFromUrlAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayout.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutFromUrl.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutFromUrlAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceipts.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsFromUrl.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsFromUrlAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeTaxW2.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeTaxW2Async.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/DocumentAnalysisAsyncClientJavaDocCodeSnippets.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/DocumentAnalysisClientJavaDocCodeSnippets.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentClassifier.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentClassifierAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentModel.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentModelAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ComposeDocumentModel.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ComposeDocumentModelAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/CopyDocumentModel.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/CopyDocumentModelAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/DocumentModelAdminAsyncClientJavaDocCodeSnippets.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/DocumentModelAdminClientJavaDocCodeSnippets.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/GetOperationSummary.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/GetOperationSummaryAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageCustomModels.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageCustomModelsAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageDocumentClassifiers.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageDocumentClassifiersAsync.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/package-info.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/IdentityDocuments/license.png create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/forms/Form_1.jpg create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/forms/Invoice_6.pdf create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/forms/selectionMarkForm.pdf create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/invoices/Invoice_1.pdf create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/invoices/sample_invoice.jpg create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/receipts/contoso-allinone.jpg create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_1.jpg create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_1.jpg.labels.json create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_1.jpg.ocr.json create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_2.jpg create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_2.jpg.labels.json create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_2.jpg.ocr.json create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_3.jpg create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_3.jpg.labels.json create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_3.jpg.ocr.json create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_4.jpg create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_4.jpg.labels.json create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_4.jpg.ocr.json create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_5.jpg create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_5.jpg.labels.json create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_5.jpg.ocr.json create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/fields.json create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/w2/Sample-W2.jpg diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/README.md b/sdk/documentintelligence/azure-ai-documentintelligence/README.md index 591d1fe6d5ca..c5c279331041 100644 --- a/sdk/documentintelligence/azure-ai-documentintelligence/README.md +++ b/sdk/documentintelligence/azure-ai-documentintelligence/README.md @@ -1,15 +1,17 @@ # Azure DocumentIntelligence client library for Java -Azure DocumentIntelligence client library for Java. +Azure Document Intelligence ([previously known as Document Intelligence][service-rename]) is a cloud service that uses machine +learning to analyze text and structured data from your documents. +It includes the following main features: -This package contains Microsoft Azure DocumentIntelligence client library. +* Layout - Extract text, table structures, and selection marks, along with their bounding region coordinates, from documents. +* Document - Analyze entities, key-value pairs, tables, and selection marks from documents using the general prebuilt document model. +* Prebuilt - Analyze data from certain types of common documents (such as receipts, invoices, identity documents or US W2 tax forms) using prebuilt models. +* Custom - Build custom models to extract text, field values, selection marks, and table data from documents. Custom models are built with your own data, so they're tailored to your documents. +* Read - Read information about textual elements, such as page words and lines in addition to text language information. +* Classifiers - Build custom classifiers to categorize documents into predefined classes. -## Documentation - -Various documentation is available to help you get started - -- [API reference documentation][docs] -- [Product documentation][product_documentation] +[Source code][source_code] | [Package (Maven)][package] | [API reference documentation][api_reference_doc] | [Product Documentation][product_documentation] | [Samples][sample_readme] ## Getting started @@ -17,6 +19,7 @@ Various documentation is available to help you get started - [Java Development Kit (JDK)][jdk] with version 8 or above - [Azure Subscription][azure_subscription] +- [Cognitive Services or Document Intelligence account][form_recognizer_account] to use this package. ### Adding the package to your product @@ -32,18 +35,381 @@ Various documentation is available to help you get started ### Authentication -[Azure Identity][azure_identity] package provides the default implementation for authenticating the client. +In order to interact with the Azure Document Intelligence Service you'll need to create an instance of client class, +[DocumentIntelligenceAsyncClient][document_analysis_async_client] or [DocumentIntelligenceClient][document_analysis_sync_client] by using +[DocumentIntelligenceClientBuilder][document_analysis_client_builder]. To configure a client for use with +Azure DocumentIntelligence, provide a valid endpoint URI to an Azure DocumentIntelligence resource along with a corresponding key credential, +token credential, or [Azure Identity][azure_identity] credential that's authorized to use the Azure DocumentIntelligence resource. + +#### Create a Azure DocumentIntelligence client with key credential +Get Azure DocumentIntelligence `key` credential from the Azure Portal. + +```java com.azure.ai.documentintelligence.readme.createDocumentAnalysisClient +DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .buildClient(); +``` +or +```java readme-sample-createDocumentModelAdministrationClient +DocumentModelAdministrationClient client = + new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .buildClient(); +``` + +#### Create an Azure DocumentIntelligence client with Azure Active Directory credential +Azure SDK for Java supports an Azure Identity package, making it easy to get credentials from Microsoft identity +platform. + +Authentication with AAD requires some initial setup: +* Add the Azure Identity package + +[//]: # ({x-version-update-start;com.azure:azure-identity;dependency}) +```xml + + com.azure + azure-identity + 1.10.4 + +``` +[//]: # ({x-version-update-end}) + +After setup, you can choose which type of [credential][azure_identity_credential_type] from azure.identity to use. +As an example, [DefaultAzureCredential][wiki_identity] can be used to authenticate the client: +Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables: +`AZURE_CLIENT_ID`, `AZURE_TENANT_ID`, `AZURE_CLIENT_SECRET`. + +Authorization is easiest using [DefaultAzureCredential][wiki_identity]. It finds the best credential to use in its +running environment. For more information about using Azure Active Directory authorization with DocumentIntelligence service, please +refer to [the associated documentation][aad_authorization]. + +```java com.azure.ai.documentanalysis.readme.DocumentAnalysisAsyncClient.withAAD +DocumentAnalysisAsyncClient documentAnalysisAsyncClient = new DocumentAnalysisClientBuilder() + .credential(new DefaultAzureCredentialBuilder().build()) + .endpoint("{endpoint}") + .buildAsyncClient(); +``` ## Key concepts +### DocumentAnalysisClient +The [DocumentAnalysisClient][document_analysis_sync_client] and [DocumentAnalysisAsyncClient][document_analysis_async_client] +provide both synchronous and asynchronous operations for analyzing input documents using custom and prebuilt models +through the `beginAnalyzeDocument` API. +See a full list of supported models [here][fr_models]. + +Sample code snippets to illustrate using a DocumentAnalysisClient [here][sample_readme]. +More information about analyzing documents, including supported features, locales, and document types can be found +[here][fr_models]. + +### DocumentModelAdministrationClient +The [DocumentModelAdministrationClient][document_model_admin_sync_client] and +[DocumentModelAdministrationAsyncClient][document_model_admin_async_client] provide both synchronous and asynchronous operations +- Build custom document analysis models to analyze text content, fields, and values found in your custom documents. See example [Build a document model](#build-a-document-model). + A `DocumentModelDetails` is returned indicating the document types that the model can analyze, along with the fields and schemas it will extract. +- Managing models created in your account by building, listing, deleting, and see the limit of custom models your account. See example [Manage models](#manage-your-models). +- Copying a custom model from one Document Intelligence resource to another. +- Creating a composed model from a collection of existing built models. +- Listing document model operations associated with the Document Intelligence resource. + +Sample code snippets are provided to illustrate using a DocumentModelAdministrationClient [here](#examples "Examples"). + +### Long-running operations +Long-running operations are operations that consist of an initial request sent to the service to start an operation, +followed by polling the service at intervals to determine whether the operation has completed or failed, and if it has +succeeded, to get the result. + +Methods that build models, analyze values from documents, or copy and compose models are modeled as long-running operations. +The client exposes a `begin` method that returns a `SyncPoller` or `PollerFlux` instance. +Callers should wait for the operation to be completed by calling `getFinalResult()` on the returned operation from the +`begin` method. Sample code snippets are provided to illustrate using long-running operations +[below](#examples). ## Examples -```java com.azure.ai.documentintelligence.readme +The following section provides several code snippets covering some of the most common Document Intelligence tasks, including: + +* [Extract Layout](#extract-layout "Extract Layout") +* [Use Prebuilt Models](#use-prebuilt-models) +* [Build a Document Model](#build-a-document-model "Build a Document Model") +* [Analyze Documents using a Custom Model](#analyze-documents-using-a-custom-model "Analyze Documents using a Custom Model") +* [Manage Your Models](#manage-your-models "Manage Your Models") + +### Extract Layout +Extract text, table structures, and selection marks like radio buttons and check boxes, along with their bounding box coordinates from documents without the need to build a model. +```java com.azure.ai.documentintelligence.readme.analyzeLayout +File layoutDocument = new File("local/file_path/filename.png"); +Path filePath = layoutDocument.toPath(); +BinaryData layoutDocumentData = BinaryData.fromFile(filePath, (int) layoutDocument.length()); + +SyncPoller analyzeLayoutResultPoller = + documentAnalysisClient.beginAnalyzeDocument("prebuilt-layout", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setBase64Source(Files.readAllBytes(layoutDocument.toPath()))); + +AnalyzeResult analyzeLayoutResult = analyzeLayoutResultPoller.getFinalResult(); + +// pages +analyzeLayoutResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line '%s' is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getPolygon().toString())); + + // selection marks + documentPage.getSelectionMarks().forEach(documentSelectionMark -> + System.out.printf("Selection mark is '%s' and is within a bounding box %s with confidence %.2f.%n", + documentSelectionMark.getState().toString(), + documentSelectionMark.getPolygon().toString(), + documentSelectionMark.getConfidence())); +}); + +// tables +List tables = analyzeLayoutResult.getTables(); +for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); +} +``` + +### Use Prebuilt Models +Extract fields from select document types such as receipts, invoices, and identity documents using prebuilt models provided by the Document Intelligence service. +Supported prebuilt models are: +- Analyze receipts using the `prebuilt-receipt` model (fields recognized by the service can be found [here][service_analyze_receipt_fields]) +- Analyze invoices using the `prebuilt-invoice` model (fields recognized by the service can be found [here][service_analyze_invoices_fields]). +- Analyze identity documents using the `prebuilt-idDocuments` model (fields recognized by the service can be found [here][service_analyze_identity_documents_fields]). +- Analyze US W2 tax forms using the `prebuilt-tax.us.w2` model. [Supported fields][service_analyze_w2_documents_fields]. + +For example, to analyze fields from a sales receipt, into the `beginAnalyzeDocumentFromUrl` method: +```java com.azure.ai.documentintelligence.readme.analyzeReceipt +File sourceFile = new File("../documentintelligence/azure-ai-documentintelligence/src/samples/resources/" + + "sample-forms/receipts/contoso-allinone.jpg"); + +SyncPoller analyzeReceiptPoller = + documentAnalysisClient.beginAnalyzeDocument("prebuilt-receipt", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setBase64Source(Files.readAllBytes(sourceFile.toPath()))); + +AnalyzeResult receiptResults = analyzeReceiptPoller.getFinalResult(); + +for (int i = 0; i < receiptResults.getDocuments().size(); i++) { + Document analyzedReceipt = receiptResults.getDocuments().get(i); + Map receiptFields = analyzedReceipt.getFields(); + System.out.printf("----------- Analyzing receipt info %d -----------%n", i); + DocumentField merchantNameField = receiptFields.get("MerchantName"); + if (merchantNameField != null) { + if (DocumentFieldType.STRING == merchantNameField.getType()) { + String merchantName = merchantNameField.getValueString(); + System.out.printf("Merchant Name: %s, confidence: %.2f%n", + merchantName, merchantNameField.getConfidence()); + } + } + + DocumentField merchantPhoneNumberField = receiptFields.get("MerchantPhoneNumber"); + if (merchantPhoneNumberField != null) { + if (DocumentFieldType.PHONE_NUMBER == merchantPhoneNumberField.getType()) { + String merchantAddress = merchantPhoneNumberField.getValuePhoneNumber(); + System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", + merchantAddress, merchantPhoneNumberField.getConfidence()); + } + } + + DocumentField merchantAddressField = receiptFields.get("MerchantAddress"); + if (merchantAddressField != null) { + if (DocumentFieldType.STRING == merchantAddressField.getType()) { + String merchantAddress = merchantAddressField.getValueString(); + System.out.printf("Merchant Address: %s, confidence: %.2f%n", + merchantAddress, merchantAddressField.getConfidence()); + } + } + + DocumentField transactionDateField = receiptFields.get("TransactionDate"); + if (transactionDateField != null) { + if (DocumentFieldType.DATE == transactionDateField.getType()) { + LocalDate transactionDate = transactionDateField.getValueDate(); + System.out.printf("Transaction Date: %s, confidence: %.2f%n", + transactionDate, transactionDateField.getConfidence()); + } + } +} +``` + +For more information and samples using prebuilt models, see: +- [Identity Documents][analyze_identity_documents_from_url] +- [Invoices][analyze_invoices_from_url] +- [Receipts sample][analyze_receipts_from_url] + +### Build a document model +Build a machine-learned model on your own document type. The resulting model will be able to analyze values from the types of documents it was built on. +Provide a container SAS url to your Azure Storage Blob container where you're storing the training documents. See details on setting this up +in the [service quickstart documentation][quickstart_training]. + +**Note** + +You can use the [Document Intelligence Studio preview][fr-studio] for creating a labeled file for your training forms. +More details on setting up a container and required file structure can be found in [here][fr_build_training_set]. + +```java com.azure.ai.documentintelligence.readme.buildModel +// Build custom document analysis model +String blobContainerUrl = "{SAS_URL_of_your_container_in_blob_storage}"; +// The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. +SyncPoller buildOperationPoller = + administrationClient.beginBuildDocumentModel(new BuildDocumentModelRequest("modelID", DocumentBuildMode.TEMPLATE) + .setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl))); + +DocumentModelDetails documentModelDetails = buildOperationPoller.getFinalResult(); + +// Model Info +System.out.printf("Model ID: %s%n", documentModelDetails.getModelId()); +System.out.printf("Model Description: %s%n", documentModelDetails.getDescription()); +System.out.printf("Model created on: %s%n%n", documentModelDetails.getCreatedDateTime()); + +System.out.println("Document Fields:"); +documentModelDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field)); + }); +}); ``` +### Analyze Documents using a Custom Model +Analyze the key/value pairs and table data from documents. These models are built with your own data, +so they're tailored to your documents. You should only analyze documents of the same doc type that the custom model +was built on. +```java com.azure.ai.documentintelligence.readme.analyzeCustomModel +String documentUrl = "{document-url}"; +String modelId = "{custom-built-model-ID}"; +SyncPoller analyzeDocumentPoller = documentAnalysisClient.beginAnalyzeDocument(modelId, + "1", + "en-US", + StringIndexType.TEXT_ELEMENTS, + Arrays.asList(DocumentAnalysisFeature.LANGUAGES), + null, + ContentFormat.TEXT, + new AnalyzeDocumentRequest().setUrlSource(documentUrl)); + +AnalyzeResult analyzeResult = analyzeDocumentPoller.getFinalResult(); + +for (int i = 0; i < analyzeResult.getDocuments().size(); i++) { + final Document analyzedDocument = analyzeResult.getDocuments().get(i); + System.out.printf("----------- Analyzing custom document %d -----------%n", i); + System.out.printf("Analyzed document has doc type %s with confidence : %.2f%n", + analyzedDocument.getDocType(), analyzedDocument.getConfidence()); +} + +analyzeResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line '%s' is within a bounding polygon %s.%n", + documentLine.getContent(), + documentLine.getPolygon())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word '%s' has a confidence score of %.2f.%n", + documentWord.getContent(), + documentWord.getConfidence())); +}); + +// tables +List tables = analyzeResult.getTables(); +for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); +} +``` + +### Manage your models +Manage the models in your Document Intelligence account. +```java com.azure.ai.documentintelligence.readme.manageModels + +ResourceDetails resourceDetails = administrationClient.getResourceInfo(); +System.out.printf("The resource has %s models, and we can have at most %s models.%n", + resourceDetails.getCustomDocumentModels().getCount(), resourceDetails.getCustomDocumentModels().getLimit()); + +// Next, we get a paged list of all of our models +PagedIterable customDocumentModels = administrationClient.listModels(); +System.out.println("We have following models in the account:"); +customDocumentModels.forEach(documentModelInfo -> { + System.out.println(); + // get custom document analysis model info + DocumentModelDetails documentModel = administrationClient.getModel(documentModelInfo.getModelId()); + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model created on: %s%n", documentModel.getCreatedDateTime()); + if (documentModel.getDocTypes() != null) { + documentModel.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s, ", field); + System.out.printf("Field type: %s, ", documentFieldSchema.getType()); + if (documentTypeDetails.getFieldConfidence() != null) { + System.out.printf("Field confidence: %.2f%n", + documentTypeDetails.getFieldConfidence().get(field)); + } + }); + }); + } +}); +``` + +For more detailed examples, refer to [samples][sample_examples]. + ## Troubleshooting +### Enable client logging +You can set the `AZURE_LOG_LEVEL` environment variable to view logging statements made in the client library. For +example, setting `AZURE_LOG_LEVEL=2` would show all informational, warning, and error log messages. The log levels can +be found here: [log levels][logLevels]. + +### Default HTTP Client +All client libraries by default use the Netty HTTP client. Adding the above dependency will automatically configure +the client library to use the Netty HTTP client. Configuring or changing the HTTP client is detailed in the +[HTTP clients wiki](https://github.com/Azure/azure-sdk-for-java/wiki/HTTP-clients). + +### Default SSL library +All client libraries, by default, use the Tomcat-native Boring SSL library to enable native-level performance for SSL +operations. The Boring SSL library is an uber jar containing native libraries for Linux / macOS / Windows, and provides +better performance compared to the default SSL implementation within the JDK. For more information, including how to +reduce the dependency size, refer to the [performance tuning][performance_tuning] section of the wiki. ## Next steps +- Samples are explained in detail [here][samples_readme]. ## Contributing @@ -56,10 +422,62 @@ For details on contributing to this repository, see the [contributing guide](htt 1. Create new Pull Request -[product_documentation]: https://azure.microsoft.com/services/ -[docs]: https://azure.github.io/azure-sdk-for-java/ -[jdk]: https://learn.microsoft.com/azure/developer/java/fundamentals/ -[azure_subscription]: https://azure.microsoft.com/free/ -[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity +[aad_authorization]: https://docs.microsoft.com/azure/cognitive-services/authentication#authenticate-with-azure-active-directory +[azure_key_credential]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core/src/main/java/com/azure/core/credential/AzureKeyCredential.java +[key]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account?tabs=multiservice%2Cwindows#get-the-keys-for-your-resource +[api_reference_doc]: https://azure.github.io/azure-sdk-for-java +[form_recognizer_doc]: https://aka.ms/azsdk-java-documentIntelligence-ref-doc +[azure_identity_credential_type]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/identity/azure-identity#credentials +[azure_cli]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account-cli?tabs=windows +[azure_cli_endpoint]: https://docs.microsoft.com/cli/azure/cognitiveservices/account?view=azure-cli-latest#az-cognitiveservices-account-show +[azure_identity]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/identity/azure-identity#credentials +[azure_portal]: https://ms.portal.azure.com +[azure_subscription]: https://azure.microsoft.com/free +[cla]: https://cla.microsoft.com +[coc]: https://opensource.microsoft.com/codeofconduct/ +[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ +[coc_contact]: mailto:opencode@microsoft.com +[create_new_resource]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account?tabs=multiservice%2Cwindows#create-a-new-azure-cognitive-services-resource +[form_recognizer_account]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account?tabs=multiservice%2Cwindows +[grant_access]: https://docs.microsoft.com/azure/cognitive-services/authentication#assign-a-role-to-a-service-principal +[http_clients_wiki]: https://github.com/Azure/azure-sdk-for-java/wiki/HTTP-clients +[http_response_exception]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core/src/main/java/com/azure/core/exception/HttpResponseException.java +[jdk_link]: https://docs.microsoft.com/java/azure/jdk/?view=azure-java-stable +[logging]: https://github.com/Azure/azure-sdk-for-java/wiki/Logging-with-Azure-SDK +[package]: https://central.sonatype.com/artifact/com.azure/azure-ai-documentIntelligence +[product_documentation]: https://docs.microsoft.com/azure/cognitive-services/form-recognizer/overview +[register_AAD_application]: https://docs.microsoft.com/azure/cognitive-services/authentication#assign-a-role-to-a-service-principal +[fr-studio]: https://aka.ms/azsdk/formrecognizer/documentIntelligencestudio +[fr_build_training_set]: https://aka.ms/azsdk/formrecognizer/buildcustommodel +[sample_examples]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/samples#examples +[sample_readme]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/samples#readme +[migration_guide]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/documentIntelligence/azure-ai-documentIntelligence/migration-guide.md +[changelog]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/CHANGELOG.md + +[sample_readme]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/samples/ +[document_analysis_async_client]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/main/java/com/azure/ai/documentIntelligence/documentanalysis/DocumentAnalysisAsyncClient.java +[document_analysis_sync_client]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/main/java/com/azure/ai/documentIntelligence/documentanalysis/DocumentAnalysisClient.java +[document_model_admin_async_client]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/main/java/com/azure/ai/documentIntelligence/documentanalysis/administration/DocumentModelAdministrationAsyncClient.java +[document_model_admin_sync_client]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/main/java/com/azure/ai/documentIntelligence/documentanalysis/administration/DocumentModelAdministrationClient.java +[document_analysis_client_builder]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/main/java/com/azure/ai/documentIntelligence/documentanalysis/DocumentAnalysisClientBuilder.java +[manage_custom_models]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/samples/java/com/azure/ai/documentIntelligence/administration/ManageCustomModels.java +[manage_custom_models_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/samples/java/com/azure/ai/documentIntelligence/administration/ManageCustomModelsAsync.java +[build_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/samples/java/com/azure/ai/documentIntelligence/administration/BuildDocumentModel.java +[build_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/samples/java/com/azure/ai/documentIntelligence/administration/BuildDocumentModelAsync.java +[build_document_classifier]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/samples/java/com/azure/ai/documentIntelligence/administration/BuildDocumentClassifier.java +[build_document_classifier_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/samples/java/com/azure/ai/documentIntelligence/administration/BuildDocumentClassifierAsync.java +[analyze_identity_documents_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/samples/java/com/azure/ai/documentIntelligence/AnalyzeIdentityDocumentsFromUrl.java +[analyze_identity_documents_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/samples/java/com/azure/ai/documentIntelligence/AnalyzeIdentityDocumentsFromUrlAsync.java +[analyze_invoices_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/samples/java/com/azure/ai/documentIntelligence/AnalyzeInvoicesFromUrl.java +[analyze_receipts_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src/samples/java/com/azure/ai/documentIntelligence/AnalyzeReceiptsFromUrl.java -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-java%2Fsdk%2Fdocumentintelligence%2Fazure-ai-documentintelligence%2FREADME.png) +[fr_models]: https://aka.ms/azsdk/formrecognizer/models +[service_access]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account?tabs=multiservice%2Cwindows +[service_analyze_invoices_fields]: https://aka.ms/azsdk/formrecognizer/invoicefieldschema +[service_analyze_identity_documents_fields]: https://aka.ms/azsdk/formrecognizer/iddocumentfieldschema +[service_analyze_receipt_fields]: https://aka.ms/azsdk/formrecognizer/receiptfieldschema +[service_analyze_w2_documents_fields]: https://aka.ms/azsdk/formrecognizer/taxusw2fieldschema +[service-rename]: https://techcommunity.microsoft.com/t5/azure-ai-services-blog/azure-form-recognizer-is-now-azure-ai-document-intelligence-with/ba-p/3875765 +[source_code]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentIntelligence/azure-ai-documentIntelligence/src +[quickstart_training]: https://learn.microsoft.com/azure/applied-ai-services/form-recognizer/quickstarts/get-started-sdks-rest-api?view=form-recog-3.0.0&pivots=programming-language-java +[wiki_identity]: https://github.com/Azure/azure-sdk-for-java/wiki/Identity-and-Authentication diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/README.md b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/README.md new file mode 100644 index 000000000000..03b005d8200f --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/README.md @@ -0,0 +1,104 @@ +--- +page_type: sample +languages: + - java +products: + - azure + - azure-cognitive-services + - azure-document-intelligence +urlFragment: documentintelligence-java-samples +--- + +# Azure Document Intelligence client library samples for Java + +Azure Document Intelligence samples are a set of self-contained Java programs that demonstrate interacting with Azure Document Intelligence service/ Document Intelligence +using the client library. Each sample focuses on a specific scenario and can be executed independently. + +## Key concepts +Key concepts are explained in detail [here][SDK_README_KEY_CONCEPTS]. + +## Getting started +Getting started explained in detail [here][SDK_README_GETTING_STARTED]. + +## Examples +The following sections provide code samples covering common scenario operations with the Azure Document Intelligence client library. + +All of these samples need the endpoint to your Document Intelligence resource ([instructions on how to get endpoint][get-endpoint-instructions]), and your Document Intelligence API key ([instructions on how to get key][get-key-instructions]). + +| **File Name** | **Description** | +|--------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------| +| [Authentication][authentication_sample] | Authenticate the client | +| [AnalyzeLayout][analyze_layout] and [AnalyzeLayoutAsync][analyze_layout_async] | Analyze document layout, such as tables, lines, words, and selection marks like radio buttons and check boxes from a file stream | +| [AnalyzeLayoutFromUrl][analyze_layout_from_url] and [AnalyzeLayoutFromUrlAsync][analyze_layout_from_url_async] | Analyze document layout such as tables, lines, words, and selection marks like radio buttons and check boxes from a URL | +| [AnalyzeIdentityDocuments][analyze_id_documents] and [AnalyzeIdentityDocumentsAsync][analyze_id_documents_async] | Analyze data from an identity document like a passport or a US drivers license using a prebuilt model | +| [AnalyzeIdentityDocumentsFromUrl][analyze_id_documents_from_url] and [AnalyzeIdentityDocumentsFromUrlAsync][analyze_id_documents_from_url_async] | Analyze data from a URL of a passport or a US drivers license using a prebuilt model | +| [AnalyzeInvoices][analyze_invoices] and [AnalyzeInvoiceAsync][analyze_invoices_async] | Analyze invoices from an input stream | +| [AnalyzeInvoicesFromUrl][analyze_invoices_from_url] and [AnalyzeInvoicesFromUrlAsync][analyze_invoices_from_url_async] | Analyze invoices from a URL | +| [AnalyzeReceipts][analyze_receipts] and [AnalyzeReceiptsAsync][analyze_receipts_async] | Analyze data from a file of a US sales receipt using a prebuilt model | +| [AnalyzeReceiptsFromUrl][analyze_receipts_from_url] and [AnalyzeReceiptsFromUrlAsync][analyze_receipts_from_url_async] | Analyze data from a URL of a US sales receipt using a prebuilt model | +| [AnalyzeTaxW2][analyze_w2] and [AnalyzeTaxW2Async][analyze_w2_async] | Analyze data from a file of a US W2 Tax document using a prebuilt model | +| [AnalyzeCustomDocumentFromUrl][analyze_custom_documents] and [AnalyzeCustomDocumentAsync][analyze_custom_documents_async] | Analyze forms with your custom model | +| [BuildDocumentModel][build_model] and [BuildDocumentModelAsync][build_model_async] | Build a custom document analysis model | +| [ManageCustomModels][manage_custom_models] and [ManageCustomModelsAsync][manage_custom_models_async] | Manage the custom models in your account | +| [CopyDocumentModel][copy_model] and [CopyDocumentModelAsync][copy_model_async] | Copy custom model from one Document Intelligence resource to another | +| [ComposeDocumentModel][compose_model] and [ComposeDocumentModelAsync][compose_model_async] | Creates a composed model from a collection of existing built models with labels | +| [GetOperation][get_operation] and [GetOperationAsync][get_operation_async] | Get/list all document model associated with the Document Intelligence resource | +| [BuildDocumentClassifier][build_classifier] and [BuildDocumentClassifierAsync][build_classifier_async] | Build custom classifier models that combine layout and language features | + +## Troubleshooting +Troubleshooting steps can be found [here][SDK_README_TROUBLESHOOTING]. + +## Next steps +Check out the [API reference documentation][java_fr_ref_docs] to learn more about +what you can do with the Azure Document Intelligence client library. + +## Contributing +If you would like to become an active contributor to this project please refer to our [Contribution +Guidelines][SDK_README_CONTRIBUTING] for more information. + + +[SDK_README_CONTRIBUTING]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/README.md#contributing +[SDK_README_GETTING_STARTED]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/README.md#getting-started +[SDK_README_TROUBLESHOOTING]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/README.md#troubleshooting +[SDK_README_KEY_CONCEPTS]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/README.md#key-concepts +[SDK_README_DEPENDENCY]: ../../README.md#adding-the-package-to-your-product +[SDK_README_NEXT_STEPS]: ../../README.md#next-steps +[java_fr_ref_docs]: https://aka.ms/azsdk-java-documentintelligence-ref-doc +[get-endpoint-instructions]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/documentintelligence/azure-ai-documentintelligence#create-a-form-recognizer-resource +[get-key-instructions]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/documentintelligence/azure-ai-documentintelligence#create-a-form-recognizer-client-using-azurekeycredential + +[authentication_sample]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/Authentication.java +[build_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentModel.java +[build_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentModelAsync.java +[compose_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ComposeDocumentModel.java +[compose_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ComposeDocumentModelAsync.java +[copy_model]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/CopyDocumentModel.java +[copy_model_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/CopyDocumentModelAsync.java +[manage_custom_models]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageCustomModels.java +[manage_custom_models_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageCustomModelsAsync.java +[analyze_layout]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayout.java +[analyze_layout_async]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutAsync.java +[analyze_layout_from_url]:https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutFromUrl.java +[analyze_layout_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutFromUrlAsync.java +[analyze_custom_documents]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeCustomDocumentFromUrl.java +[analyze_custom_documents_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeCustomDocumentAsync.java +[analyze_id_documents]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocuments.java +[analyze_id_documents_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsAsync.java +[analyze_id_documents_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsFromUrl.java +[analyze_id_documents_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsFromUrlAsync.java +[analyze_invoices]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoices.java +[analyze_invoices_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesAsync.java +[analyze_invoices_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesFromUrl.java +[analyze_invoices_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesFromUrlAsync.java +[analyze_receipts]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceipts.java +[analyze_receipts_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsAsync.java +[analyze_receipts_from_url]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsFromUrl.java +[analyze_receipts_from_url_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsFromUrlAsync.java +[analyze_w2]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeTaxW2.java +[analyze_w2_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeTaxW2Async.java +[get_operation]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/GetOperationSummary.java +[get_operation_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/GetOperationSummaryAsync.java +[build_classifier]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentClassifier.java +[build_classifier_async]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentClassifierAsync.java + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-java%2Fsdk%2Fdocumentintelligence%2Fazure-ai-documentintelligence%2FREADME.png) diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeBusinessCardFromUrl.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeBusinessCardFromUrl.java deleted file mode 100644 index 16e0d4be7251..000000000000 --- a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeBusinessCardFromUrl.java +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.ai.documentintelligence; - -import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; -import com.azure.ai.documentintelligence.models.AnalyzeResult; -import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; -import com.azure.ai.documentintelligence.models.Document; -import com.azure.ai.documentintelligence.models.DocumentField; -import com.azure.ai.documentintelligence.models.DocumentFieldType; -import com.azure.core.credential.AzureKeyCredential; -import com.azure.core.http.policy.HttpLogDetailLevel; -import com.azure.core.http.policy.HttpLogOptions; -import com.azure.core.util.BinaryData; -import com.azure.core.util.polling.SyncPoller; - -import java.io.File; -import java.nio.file.Path; -import java.util.List; -import java.util.Map; -import java.util.Set; - -/** - * Sample for analyzing business card information from a URL. - */ -public class AnalyzeBusinessCardFromUrl { - /** - * Main method to invoke this demo. - * - * @param args Unused. Arguments to the program. - */ - public static void main(final String[] args) { - // Instantiate a client that will be used to call the service. - DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() - .credential(new AzureKeyCredential("{key}")) - .endpoint("https://{endpoint}.cognitiveservices.azure.com/") - .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS).setAllowedHeaderNames(Set.of("Ocp-Apim-Subscription-Key"))) - .buildClient(); - - String businessCardUrl = - "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/formrecognizer" - + "/azure-ai-formrecognizer/src/samples/resources/sample-forms/receipts/contoso-allinone.jpg"; - - SyncPoller analyzeBusinessCardPoller = - client.beginAnalyzeDocument("prebuilt-receipt", null, null, null, null, null, null, - new AnalyzeDocumentRequest().setUrlSource(businessCardUrl)); - - AnalyzeResult businessCardPageResults = analyzeBusinessCardPoller.getFinalResult(); - - for (int i = 0; i < businessCardPageResults.getDocuments().size(); i++) { - System.out.printf("--------Analyzing business card %d%n--------", i); - Document analyzedBusinessCard = businessCardPageResults.getDocuments().get(i); - Map businessCardFields = analyzedBusinessCard.getFields(); - DocumentField contactNamesDocumentField = businessCardFields.get("ContactNames"); - if (contactNamesDocumentField != null) { - if (DocumentFieldType.ARRAY == contactNamesDocumentField.getType()) { - List contactNamesList = contactNamesDocumentField.getValueArray(); - contactNamesList.stream() - .filter(contactName -> DocumentFieldType.OBJECT == contactName.getType()) - .map(contactName -> { - System.out.printf("Contact name: %s%n", contactName.getContent()); - return contactName.getValueObject(); - }) - .forEach(contactNamesMap -> contactNamesMap.forEach((key, contactName) -> { - if ("FirstName".equals(key)) { - if (DocumentFieldType.STRING == contactName.getType()) { - String firstName = contactName.getValueString(); - System.out.printf("\tFirst Name: %s, confidence: %.2f%n", - firstName, contactName.getConfidence()); - } - } - })); - } - } - } - } -} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeCustomDocumentAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeCustomDocumentAsync.java new file mode 100644 index 000000000000..61bc41fa19c1 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeCustomDocumentAsync.java @@ -0,0 +1,122 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.ContentFormat; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentAnalysisFeature; +import com.azure.ai.documentintelligence.models.DocumentTable; +import com.azure.ai.documentintelligence.models.StringIndexType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * Async sample to analyze a custom document with a custom-built model. To learn how to build your own models, + * look at BuildDocumentModelAsync.java and BuildDocumentModel.java. + */ +public class AnalyzeCustomDocumentAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + // The document you are analyzing must be of the same type as the documents provided for building the custom document analysis model + File sourceFile = new File("../documentintelligence/azure-ai-documentintelligence/src/samples/resources/" + + "sample-forms/forms/Invoice_6.pdf"); + byte[] fileContent = Files.readAllBytes(sourceFile.toPath()); + String modelId = "{modelId}"; + PollerFlux analyzeDocumentPoller + = client.beginAnalyzeDocument(modelId, + "1", + "en-US", + StringIndexType.TEXT_ELEMENTS, + Arrays.asList(DocumentAnalysisFeature.LANGUAGES), + null, + ContentFormat.TEXT, + new AnalyzeDocumentRequest().setBase64Source(fileContent)); + + + Mono analyzeDocumentResult = analyzeDocumentPoller + .last() + .flatMap(pollResponse -> { + if (pollResponse.getStatus().isComplete()) { + return pollResponse.getFinalResult(); + } else { + return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" + + pollResponse.getStatus())); + } + }); + + analyzeDocumentResult.subscribe(analyzeResult -> { + for (int i = 0; i < analyzeResult.getDocuments().size(); i++) { + Document analyzedDocument = analyzeResult.getDocuments().get(i); + System.out.printf("----------- Analyzing custom document %d -----------%n", i); + System.out.printf("Analyzed document has doc type %s with confidence : %.2f%n", + analyzedDocument.getDocType(), analyzedDocument.getConfidence()); + } + + analyzeResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line '%s' is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getPolygon().toString())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word '%s' has a confidence score of %.2f.%n", + documentWord.getContent(), + documentWord.getConfidence())); + }); + + // tables + List tables = analyzeResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeCustomDocumentFromUrl.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeCustomDocumentFromUrl.java new file mode 100644 index 000000000000..5115c8552bd3 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeCustomDocumentFromUrl.java @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.ContentFormat; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentAnalysisFeature; +import com.azure.ai.documentintelligence.models.DocumentTable; +import com.azure.ai.documentintelligence.models.StringIndexType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.SyncPoller; + +import java.util.Arrays; +import java.util.List; + +/** + * Sample to analyze a custom document with a custom-built model. To learn how to build your own models, + * look at BuildDocumentModelAsync.java and BuildDocumentModel.java. + */ +public class AnalyzeCustomDocumentFromUrl { + + /** + * Main method to invoke this demo. + * + * @param args Unused arguments to the program. + */ + public static void main(String[] args) { + // Instantiate a client that will be used to call the service. + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + String documentUrl = "{document-url}"; + String modelId = "{custom-built-model-ID}"; + SyncPoller analyzeDocumentPoller = client.beginAnalyzeDocument(modelId, + "1", + "en-US", + StringIndexType.TEXT_ELEMENTS, + Arrays.asList(DocumentAnalysisFeature.LANGUAGES), + null, + ContentFormat.TEXT, + new AnalyzeDocumentRequest().setUrlSource(documentUrl)); + + AnalyzeResult analyzeResult = analyzeDocumentPoller.getFinalResult(); + + for (int i = 0; i < analyzeResult.getDocuments().size(); i++) { + final Document analyzedDocument = analyzeResult.getDocuments().get(i); + System.out.printf("----------- Analyzing custom document %d -----------%n", i); + System.out.printf("Analyzed document has doc type %s with confidence : %.2f%n", + analyzedDocument.getDocType(), analyzedDocument.getConfidence()); + } + + analyzeResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line '%s' is within a bounding polygon %s.%n", + documentLine.getContent(), + documentLine.getPolygon())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word '%s' has a confidence score of %.2f.%n", + documentWord.getContent(), + documentWord.getConfidence())); + }); + + // tables + List tables = analyzeResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocuments.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocuments.java new file mode 100644 index 000000000000..6fe5c5982e6d --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocuments.java @@ -0,0 +1,133 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.SyncPoller; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.time.LocalDate; +import java.util.Map; + +/** + * Sample for analyzing commonly found License document fields from a local file input stream. + * See fields found on an identity document here + */ +public class AnalyzeIdentityDocuments { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * + * @throws IOException from reading file. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + File licenseDocumentFile = new File("../documentintelligence/azure-ai-documentintelligence/src/samples/resources/" + + "sample-forms/identityDocuments/license.png"); + + SyncPoller analyzeIdentityDocumentPoller = + client.beginAnalyzeDocument("prebuilt-idDocument", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setBase64Source(Files.readAllBytes(licenseDocumentFile.toPath()))); + + AnalyzeResult identityDocumentResults = analyzeIdentityDocumentPoller.getFinalResult(); + + for (int i = 0; i < identityDocumentResults.getDocuments().size(); i++) { + Document analyzedIDDocument = identityDocumentResults.getDocuments().get(i); + Map licenseFields = analyzedIDDocument.getFields(); + System.out.printf("----------- Analyzed license info for page %d -----------%n", i); + DocumentField addressField = licenseFields.get("Address"); + if (addressField != null) { + if (DocumentFieldType.STRING == addressField.getType()) { + String address = addressField.getValueString(); + System.out.printf("Address: %s, confidence: %.2f%n", + address, addressField.getConfidence()); + } + } + + DocumentField countryRegionDocumentField = licenseFields.get("CountryRegion"); + if (countryRegionDocumentField != null) { + if (DocumentFieldType.STRING == countryRegionDocumentField.getType()) { + String countryRegion = countryRegionDocumentField.getValueCountryRegion(); + System.out.printf("Country or region: %s, confidence: %.2f%n", + countryRegion, countryRegionDocumentField.getConfidence()); + } + } + + DocumentField dateOfBirthField = licenseFields.get("DateOfBirth"); + if (dateOfBirthField != null) { + if (DocumentFieldType.DATE == dateOfBirthField.getType()) { + LocalDate dateOfBirth = dateOfBirthField.getValueDate(); + System.out.printf("Date of Birth: %s, confidence: %.2f%n", + dateOfBirth, dateOfBirthField.getConfidence()); + } + } + + DocumentField dateOfExpirationField = licenseFields.get("DateOfExpiration"); + if (dateOfExpirationField != null) { + if (DocumentFieldType.DATE == dateOfExpirationField.getType()) { + LocalDate expirationDate = dateOfExpirationField.getValueDate(); + System.out.printf("Document date of expiration: %s, confidence: %.2f%n", + expirationDate, dateOfExpirationField.getConfidence()); + } + } + + DocumentField documentNumberField = licenseFields.get("DocumentNumber"); + if (documentNumberField != null) { + if (DocumentFieldType.STRING == documentNumberField.getType()) { + String documentNumber = documentNumberField.getValueString(); + System.out.printf("Document number: %s, confidence: %.2f%n", + documentNumber, documentNumberField.getConfidence()); + } + } + + DocumentField firstNameField = licenseFields.get("FirstName"); + if (firstNameField != null) { + if (DocumentFieldType.STRING == firstNameField.getType()) { + String firstName = firstNameField.getValueString(); + System.out.printf("First Name: %s, confidence: %.2f%n", + firstName, documentNumberField.getConfidence()); + } + } + + DocumentField lastNameField = licenseFields.get("LastName"); + if (lastNameField != null) { + if (DocumentFieldType.STRING == lastNameField.getType()) { + String lastName = lastNameField.getValueString(); + System.out.printf("Last name: %s, confidence: %.2f%n", + lastName, lastNameField.getConfidence()); + } + } + + DocumentField regionField = licenseFields.get("Region"); + if (regionField != null) { + if (DocumentFieldType.STRING == regionField.getType()) { + String region = regionField.getValueString(); + System.out.printf("Region: %s, confidence: %.2f%n", + region, regionField.getConfidence()); + } + } + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsAsync.java new file mode 100644 index 000000000000..13b63040590b --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsAsync.java @@ -0,0 +1,155 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.time.LocalDate; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +/** + * Async sample for analyzing commonly found license fields from a local file input stream of a license identity + * document. See fields found on license here + */ +public class AnalyzeIdentityDocumentsAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + File licenseDocumentFile = new File("../documentintelligence/azure-ai-documentintelligence/src/samples/resources/" + + "sample-forms/identityDocuments/license.png"); + byte[] fileContent = Files.readAllBytes(licenseDocumentFile.toPath()); + + PollerFlux analyzeIdentityDocumentPoller + = client.beginAnalyzeDocument("prebuilt-idDocument", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setBase64Source(fileContent)); + + Mono identityDocumentPollerResult = analyzeIdentityDocumentPoller + .last() + .flatMap(pollResponse -> { + if (pollResponse.getStatus().isComplete()) { + return pollResponse.getFinalResult(); + } else { + return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" + + pollResponse.getStatus())); + } + }); + + identityDocumentPollerResult.subscribe(idDocumentResults -> { + for (int i = 0; i < idDocumentResults.getDocuments().size(); i++) { + Document analyzedIDDocument = idDocumentResults.getDocuments().get(i); + Map licenseFields = analyzedIDDocument.getFields(); + System.out.printf("----------- Analyzed license info for page %d -----------%n", i); + DocumentField addressField = licenseFields.get("Address"); + if (addressField != null) { + if (DocumentFieldType.STRING == addressField.getType()) { + String address = addressField.getValueString(); + System.out.printf("Address: %s, confidence: %.2f%n", + address, addressField.getConfidence()); + } + } + + DocumentField countryRegionDocumentField = licenseFields.get("CountryRegion"); + if (countryRegionDocumentField != null) { + if (DocumentFieldType.STRING == countryRegionDocumentField.getType()) { + String countryRegion = countryRegionDocumentField.getValueCountryRegion(); + System.out.printf("Country or region: %s, confidence: %.2f%n", + countryRegion, countryRegionDocumentField.getConfidence()); + } + } + + DocumentField dateOfBirthField = licenseFields.get("DateOfBirth"); + if (dateOfBirthField != null) { + if (DocumentFieldType.DATE == dateOfBirthField.getType()) { + LocalDate dateOfBirth = dateOfBirthField.getValueDate(); + System.out.printf("Date of Birth: %s, confidence: %.2f%n", + dateOfBirth, dateOfBirthField.getConfidence()); + } + } + + DocumentField dateOfExpirationField = licenseFields.get("DateOfExpiration"); + if (dateOfExpirationField != null) { + if (DocumentFieldType.DATE == dateOfExpirationField.getType()) { + LocalDate expirationDate = dateOfExpirationField.getValueDate(); + System.out.printf("Document date of expiration: %s, confidence: %.2f%n", + expirationDate, dateOfExpirationField.getConfidence()); + } + } + + DocumentField documentNumberField = licenseFields.get("DocumentNumber"); + if (documentNumberField != null) { + if (DocumentFieldType.STRING == documentNumberField.getType()) { + String documentNumber = documentNumberField.getValueString(); + System.out.printf("Document number: %s, confidence: %.2f%n", + documentNumber, documentNumberField.getConfidence()); + } + } + + DocumentField firstNameField = licenseFields.get("FirstName"); + if (firstNameField != null) { + if (DocumentFieldType.STRING == firstNameField.getType()) { + String firstName = firstNameField.getValueString(); + System.out.printf("First Name: %s, confidence: %.2f%n", + firstName, firstNameField.getConfidence()); + } + } + + DocumentField lastNameField = licenseFields.get("LastName"); + if (lastNameField != null) { + if (DocumentFieldType.STRING == lastNameField.getType()) { + String lastName = lastNameField.getValueString(); + System.out.printf("Last name: %s, confidence: %.2f%n", + lastName, lastNameField.getConfidence()); + } + } + + DocumentField regionField = licenseFields.get("Region"); + if (regionField != null) { + if (DocumentFieldType.STRING == regionField.getType()) { + String region = regionField.getValueString(); + System.out.printf("Region: %s, confidence: %.2f%n", + region, regionField.getConfidence()); + } + } + } + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsFromUrl.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsFromUrl.java new file mode 100644 index 000000000000..e23ce207dd19 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsFromUrl.java @@ -0,0 +1,130 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.SyncPoller; + +import java.io.IOException; +import java.time.LocalDate; +import java.util.Map; + +/** + * Sample for analyzing commonly found ID document fields from a file source URL of an identity document. + * See fields found on an identity document href + */ +public class AnalyzeIdentityDocumentsFromUrl { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + String licenseDocumentUrl = + "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/documentintelligence/" + + "azure-ai-documentintelligence/src/samples/resources/sample-forms/IdentityDocuments/license.png"; + SyncPoller analyzeIdentityDocumentPoller + = client.beginAnalyzeDocument("prebuilt-idDocument", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setUrlSource(licenseDocumentUrl)); + + AnalyzeResult identityDocumentResults = analyzeIdentityDocumentPoller.getFinalResult(); + + for (int i = 0; i < identityDocumentResults.getDocuments().size(); i++) { + Document analyzedIDDocument = identityDocumentResults.getDocuments().get(i); + Map licenseFields = analyzedIDDocument.getFields(); + System.out.printf("----------- Analyzed license info for page %d -----------%n", i); + DocumentField addressField = licenseFields.get("Address"); + if (addressField != null) { + if (DocumentFieldType.STRING == addressField.getType()) { + String address = addressField.getValueString(); + System.out.printf("Address: %s, confidence: %.2f%n", + address, addressField.getConfidence()); + } + } + + DocumentField countryRegionDocumentField = licenseFields.get("CountryRegion"); + if (countryRegionDocumentField != null) { + if (DocumentFieldType.STRING == countryRegionDocumentField.getType()) { + String countryRegion = countryRegionDocumentField.getValueCountryRegion(); + System.out.printf("Country or region: %s, confidence: %.2f%n", + countryRegion, countryRegionDocumentField.getConfidence()); + } + } + + DocumentField dateOfBirthField = licenseFields.get("DateOfBirth"); + if (dateOfBirthField != null) { + if (DocumentFieldType.DATE == dateOfBirthField.getType()) { + LocalDate dateOfBirth = dateOfBirthField.getValueDate(); + System.out.printf("Date of Birth: %s, confidence: %.2f%n", + dateOfBirth, dateOfBirthField.getConfidence()); + } + } + + DocumentField dateOfExpirationField = licenseFields.get("DateOfExpiration"); + if (dateOfExpirationField != null) { + if (DocumentFieldType.DATE == dateOfExpirationField.getType()) { + LocalDate expirationDate = dateOfExpirationField.getValueDate(); + System.out.printf("Document date of expiration: %s, confidence: %.2f%n", + expirationDate, dateOfExpirationField.getConfidence()); + } + } + + DocumentField documentNumberField = licenseFields.get("DocumentNumber"); + if (documentNumberField != null) { + if (DocumentFieldType.STRING == documentNumberField.getType()) { + String documentNumber = documentNumberField.getValueString(); + System.out.printf("Document number: %s, confidence: %.2f%n", + documentNumber, documentNumberField.getConfidence()); + } + } + + DocumentField firstNameField = licenseFields.get("FirstName"); + if (firstNameField != null) { + if (DocumentFieldType.STRING == firstNameField.getType()) { + String firstName = firstNameField.getValueString(); + System.out.printf("First Name: %s, confidence: %.2f%n", + firstName, documentNumberField.getConfidence()); + } + } + + DocumentField lastNameField = licenseFields.get("LastName"); + if (lastNameField != null) { + if (DocumentFieldType.STRING == lastNameField.getType()) { + String lastName = lastNameField.getValueString(); + System.out.printf("Last name: %s, confidence: %.2f%n", + lastName, lastNameField.getConfidence()); + } + } + + DocumentField regionField = licenseFields.get("Region"); + if (regionField != null) { + if (DocumentFieldType.STRING == regionField.getType()) { + String region = regionField.getValueString(); + System.out.printf("Region: %s, confidence: %.2f%n", + region, regionField.getConfidence()); + } + } + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsFromUrlAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsFromUrlAsync.java new file mode 100644 index 000000000000..f5a7819d8917 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeIdentityDocumentsFromUrlAsync.java @@ -0,0 +1,150 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.time.LocalDate; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +/** + * Async sample for analyzing commonly found identity document fields from a file source URL. + * See fields found on a license here + */ +public class AnalyzeIdentityDocumentsFromUrlAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + String licenseDocumentUrl = + "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/documentintelligence/" + + "azure-ai-documentintelligence/src/samples/resources/sample-forms/IdentityDocuments/license.png"; + PollerFlux analyzeIdentityDocumentPoller = + client.beginAnalyzeDocument("prebuilt-idDocument", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setUrlSource(licenseDocumentUrl)); + + Mono identityDocumentPollerResult = analyzeIdentityDocumentPoller + .last() + .flatMap(pollResponse -> { + if (pollResponse.getStatus().isComplete()) { + return pollResponse.getFinalResult(); + } else { + return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" + + pollResponse.getStatus())); + } + }); + + identityDocumentPollerResult.subscribe(identityDocumentResults -> { + for (int i = 0; i < identityDocumentResults.getDocuments().size(); i++) { + Document analyzedIDDocument = identityDocumentResults.getDocuments().get(i); + Map licenseFields = analyzedIDDocument.getFields(); + System.out.printf("----------- Analyzed license info for page %d -----------%n", i); + DocumentField addressField = licenseFields.get("Address"); + if (addressField != null) { + if (DocumentFieldType.STRING == addressField.getType()) { + String address = addressField.getValueString(); + System.out.printf("Address: %s, confidence: %.2f%n", + address, addressField.getConfidence()); + } + } + + DocumentField countryRegionDocumentField = licenseFields.get("CountryRegion"); + if (countryRegionDocumentField != null) { + if (DocumentFieldType.STRING == countryRegionDocumentField.getType()) { + String countryRegion = countryRegionDocumentField.getValueCountryRegion(); + System.out.printf("Country or region: %s, confidence: %.2f%n", + countryRegion, countryRegionDocumentField.getConfidence()); + } + } + + DocumentField dateOfBirthField = licenseFields.get("DateOfBirth"); + if (dateOfBirthField != null) { + if (DocumentFieldType.DATE == dateOfBirthField.getType()) { + LocalDate dateOfBirth = dateOfBirthField.getValueDate(); + System.out.printf("Date of Birth: %s, confidence: %.2f%n", + dateOfBirth, dateOfBirthField.getConfidence()); + } + } + + DocumentField dateOfExpirationField = licenseFields.get("DateOfExpiration"); + if (dateOfExpirationField != null) { + if (DocumentFieldType.DATE == dateOfExpirationField.getType()) { + LocalDate expirationDate = dateOfExpirationField.getValueDate(); + System.out.printf("Document date of expiration: %s, confidence: %.2f%n", + expirationDate, dateOfExpirationField.getConfidence()); + } + } + + DocumentField documentNumberField = licenseFields.get("DocumentNumber"); + if (documentNumberField != null) { + if (DocumentFieldType.STRING == documentNumberField.getType()) { + String documentNumber = documentNumberField.getValueString(); + System.out.printf("Document number: %s, confidence: %.2f%n", + documentNumber, documentNumberField.getConfidence()); + } + } + + DocumentField firstNameField = licenseFields.get("FirstName"); + if (firstNameField != null) { + if (DocumentFieldType.STRING == firstNameField.getType()) { + String firstName = firstNameField.getValueString(); + System.out.printf("First Name: %s, confidence: %.2f%n", + firstName, firstNameField.getConfidence()); + } + } + + DocumentField lastNameField = licenseFields.get("LastName"); + if (lastNameField != null) { + if (DocumentFieldType.STRING == lastNameField.getType()) { + String lastName = lastNameField.getValueString(); + System.out.printf("Last name: %s, confidence: %.2f%n", + lastName, lastNameField.getConfidence()); + } + } + + DocumentField regionField = licenseFields.get("Region"); + if (regionField != null) { + if (DocumentFieldType.STRING == regionField.getType()) { + String region = regionField.getValueString(); + System.out.printf("Region: %s, confidence: %.2f%n", + region, regionField.getConfidence()); + } + } + } + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoices.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoices.java new file mode 100644 index 000000000000..ebeaf8f6df75 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoices.java @@ -0,0 +1,166 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.SyncPoller; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.time.LocalDate; +import java.util.List; +import java.util.Map; + +/** + * Sample for analyzing commonly found invoice fields from a local file input stream of an invoice document. + * See fields found on an invoice here + */ +public class AnalyzeInvoices { + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + File invoice = new File("../documentintelligence/azure-ai-documentintelligence/src/samples/resources/" + + "sample-forms/invoices/sample_invoice.jpg"); + + SyncPoller analyzeInvoicesPoller = + client.beginAnalyzeDocument("prebuilt-invoice", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setBase64Source(Files.readAllBytes(invoice.toPath()))); + + AnalyzeResult analyzeInvoiceResult = analyzeInvoicesPoller.getFinalResult(); + + for (int i = 0; i < analyzeInvoiceResult.getDocuments().size(); i++) { + Document analyzedInvoice = analyzeInvoiceResult.getDocuments().get(i); + Map invoiceFields = analyzedInvoice.getFields(); + System.out.printf("----------- Analyzing invoice %d -----------%n", i); + DocumentField vendorNameField = invoiceFields.get("VendorName"); + if (vendorNameField != null) { + if (DocumentFieldType.STRING == vendorNameField.getType()) { + String merchantName = vendorNameField.getValueString(); + System.out.printf("Vendor Name: %s, confidence: %.2f%n", + merchantName, vendorNameField.getConfidence()); + } + } + + DocumentField vendorAddressField = invoiceFields.get("VendorAddress"); + if (vendorAddressField != null) { + if (DocumentFieldType.STRING == vendorAddressField.getType()) { + String merchantAddress = vendorAddressField.getValueString(); + System.out.printf("Vendor address: %s, confidence: %.2f%n", + merchantAddress, vendorAddressField.getConfidence()); + } + } + + DocumentField customerNameField = invoiceFields.get("CustomerName"); + if (customerNameField != null) { + if (DocumentFieldType.STRING == customerNameField.getType()) { + String merchantAddress = customerNameField.getValueString(); + System.out.printf("Customer Name: %s, confidence: %.2f%n", + merchantAddress, customerNameField.getConfidence()); + } + } + + DocumentField customerAddressRecipientField = invoiceFields.get("CustomerAddressRecipient"); + if (customerAddressRecipientField != null) { + if (DocumentFieldType.STRING == customerAddressRecipientField.getType()) { + String customerAddr = customerAddressRecipientField.getValueString(); + System.out.printf("Customer Address Recipient: %s, confidence: %.2f%n", + customerAddr, customerAddressRecipientField.getConfidence()); + } + } + + DocumentField invoiceIdField = invoiceFields.get("InvoiceId"); + if (invoiceIdField != null) { + if (DocumentFieldType.STRING == invoiceIdField.getType()) { + String invoiceId = invoiceIdField.getValueString(); + System.out.printf("Invoice ID: %s, confidence: %.2f%n", + invoiceId, invoiceIdField.getConfidence()); + } + } + + DocumentField invoiceDateField = invoiceFields.get("InvoiceDate"); + if (customerNameField != null) { + if (DocumentFieldType.DATE == invoiceDateField.getType()) { + LocalDate invoiceDate = invoiceDateField.getValueDate(); + System.out.printf("Invoice Date: %s, confidence: %.2f%n", + invoiceDate, invoiceDateField.getConfidence()); + } + } + + DocumentField invoiceTotalField = invoiceFields.get("InvoiceTotal"); + if (customerAddressRecipientField != null) { + if (DocumentFieldType.NUMBER == invoiceTotalField.getType()) { + Double invoiceTotal = invoiceTotalField.getValueNumber(); + System.out.printf("Invoice Total: %.2f, confidence: %.2f%n", + invoiceTotal, invoiceTotalField.getConfidence()); + } + } + + DocumentField invoiceItemsField = invoiceFields.get("Items"); + if (invoiceItemsField != null) { + System.out.printf("Invoice Items: %n"); + if (DocumentFieldType.ARRAY == invoiceItemsField.getType()) { + List invoiceItems = invoiceItemsField.getValueArray(); + invoiceItems.stream() + .filter(invoiceItem -> DocumentFieldType.OBJECT == invoiceItem.getType()) + .map(documentField -> documentField.getValueObject()) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + // See a full list of fields found on an invoice here: + // https://aka.ms/documentintelligence/invoicefields + if ("Description".equals(key)) { + if (DocumentFieldType.STRING == documentField.getType()) { + String name = documentField.getValueString(); + System.out.printf("Description: %s, confidence: %.2fs%n", + name, documentField.getConfidence()); + } + } + if ("Quantity".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double quantity = documentField.getValueNumber(); + System.out.printf("Quantity: %f, confidence: %.2f%n", + quantity, documentField.getConfidence()); + } + } + if ("UnitPrice".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double unitPrice = documentField.getValueNumber(); + System.out.printf("Unit Price: %f, confidence: %.2f%n", + unitPrice, documentField.getConfidence()); + } + } + if ("ProductCode".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double productCode = documentField.getValueNumber(); + System.out.printf("Product Code: %f, confidence: %.2f%n", + productCode, documentField.getConfidence()); + } + } + })); + } + } + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesAsync.java new file mode 100644 index 000000000000..2b1825344be4 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesAsync.java @@ -0,0 +1,196 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.time.LocalDate; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +/** + * Async sample for analyzing commonly found invoice fields from a local file input stream of an invoice document. + * See fields found on an invoice here + */ +public class AnalyzeInvoicesAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + File invoice = new File("../documentintelligence/azure-ai-documentintelligence/src/samples/resources/" + + "sample-forms/invoices/sample_invoice.jpg"); + byte[] fileContent = Files.readAllBytes(invoice.toPath()); + PollerFlux analyzeInvoicePoller; + try (InputStream targetStream = new ByteArrayInputStream(fileContent)) { + analyzeInvoicePoller = + client.beginAnalyzeDocument("prebuilt-invoice", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setBase64Source(Files.readAllBytes(invoice.toPath())) + ); + } + + Mono analyzeInvoiceResultMono = analyzeInvoicePoller + .last() + .flatMap(pollResponse -> { + if (pollResponse.getStatus().isComplete()) { + System.out.println("Polling completed successfully"); + return pollResponse.getFinalResult(); + } else { + return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" + + pollResponse.getStatus())); + } + }); + + analyzeInvoiceResultMono.subscribe(analyzeInvoiceResult -> { + for (int i = 0; i < analyzeInvoiceResult.getDocuments().size(); i++) { + Document analyzedInvoice = analyzeInvoiceResult.getDocuments().get(i); + Map invoiceFields = analyzedInvoice.getFields(); + System.out.printf("----------- Analyzing invoice %d -----------%n", i); + DocumentField vendorNameField = invoiceFields.get("VendorName"); + if (vendorNameField != null) { + if (DocumentFieldType.STRING == vendorNameField.getType()) { + String merchantName = vendorNameField.getValueString(); + System.out.printf("Vendor Name: %s, confidence: %.2f%n", + merchantName, vendorNameField.getConfidence()); + } + } + + DocumentField vendorAddressField = invoiceFields.get("VendorAddress"); + if (vendorAddressField != null) { + if (DocumentFieldType.STRING == vendorAddressField.getType()) { + String merchantAddress = vendorAddressField.getValueString(); + System.out.printf("Vendor address: %s, confidence: %.2f%n", + merchantAddress, vendorAddressField.getConfidence()); + } + } + + DocumentField customerNameField = invoiceFields.get("CustomerName"); + if (customerNameField != null) { + if (DocumentFieldType.STRING == customerNameField.getType()) { + String merchantAddress = customerNameField.getValueString(); + System.out.printf("Customer Name: %s, confidence: %.2f%n", + merchantAddress, customerNameField.getConfidence()); + } + } + + DocumentField customerAddressRecipientField = invoiceFields.get("CustomerAddressRecipient"); + if (customerAddressRecipientField != null) { + if (DocumentFieldType.STRING == customerAddressRecipientField.getType()) { + String customerAddr = customerAddressRecipientField.getValueString(); + System.out.printf("Customer Address Recipient: %s, confidence: %.2f%n", + customerAddr, customerAddressRecipientField.getConfidence()); + } + } + + DocumentField invoiceIdField = invoiceFields.get("InvoiceId"); + if (invoiceIdField != null) { + if (DocumentFieldType.STRING == invoiceIdField.getType()) { + String invoiceId = invoiceIdField.getValueString(); + System.out.printf("Invoice ID: %s, confidence: %.2f%n", + invoiceId, invoiceIdField.getConfidence()); + } + } + + DocumentField invoiceDateField = invoiceFields.get("InvoiceDate"); + if (customerNameField != null) { + if (DocumentFieldType.DATE == invoiceDateField.getType()) { + LocalDate invoiceDate = invoiceDateField.getValueDate(); + System.out.printf("Invoice Date: %s, confidence: %.2f%n", + invoiceDate, invoiceDateField.getConfidence()); + } + } + + DocumentField invoiceTotalField = invoiceFields.get("InvoiceTotal"); + if (customerAddressRecipientField != null) { + if (DocumentFieldType.NUMBER == invoiceTotalField.getType()) { + Double invoiceTotal = invoiceTotalField.getValueNumber(); + System.out.printf("Invoice Total: %.2f, confidence: %.2f%n", + invoiceTotal, invoiceTotalField.getConfidence()); + } + } + + DocumentField invoiceItemsField = invoiceFields.get("Items"); + if (invoiceItemsField != null) { + System.out.printf("Invoice Items: %n"); + if (DocumentFieldType.ARRAY == invoiceItemsField.getType()) { + List invoiceItems = invoiceItemsField.getValueArray(); + invoiceItems.stream() + .filter(invoiceItem -> DocumentFieldType.OBJECT == invoiceItem.getType()) + .map(documentField -> documentField.getValueObject()) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + // See a full list of fields found on an invoice here: + // https://aka.ms/documentintelligence/invoicefields + if ("Description".equals(key)) { + if (DocumentFieldType.STRING == documentField.getType()) { + String name = documentField.getValueString(); + System.out.printf("Description: %s, confidence: %.2fs%n", + name, documentField.getConfidence()); + } + } + if ("Quantity".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double quantity = documentField.getValueNumber(); + System.out.printf("Quantity: %f, confidence: %.2f%n", + quantity, documentField.getConfidence()); + } + } + if ("UnitPrice".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double unitPrice = documentField.getValueNumber(); + System.out.printf("Unit Price: %f, confidence: %.2f%n", + unitPrice, documentField.getConfidence()); + } + } + if ("ProductCode".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double productCode = documentField.getValueNumber(); + System.out.printf("Product Code: %f, confidence: %.2f%n", + productCode, documentField.getConfidence()); + } + } + })); + } + } + } + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesFromUrl.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesFromUrl.java new file mode 100644 index 000000000000..c75da467e9b9 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesFromUrl.java @@ -0,0 +1,166 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.SyncPoller; + +import java.io.IOException; +import java.time.LocalDate; +import java.util.List; +import java.util.Map; + +/** + * Sample for analyzing commonly found invoice fields from a file source URL of an invoice document. + * See fields found on an invoice here + */ +public class AnalyzeInvoicesFromUrl { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + String invoiceUrl = + "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/documentintelligence/" + + "azure-ai-documentintelligence/samples/sample_forms/forms/sample_invoice.jpg"; + + SyncPoller analyzeInvoicesPoller + = client.beginAnalyzeDocument("prebuilt-invoice", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setUrlSource(invoiceUrl)); + + AnalyzeResult analyzeInvoiceResult = analyzeInvoicesPoller.getFinalResult(); + + for (int i = 0; i < analyzeInvoiceResult.getDocuments().size(); i++) { + Document analyzedInvoice = analyzeInvoiceResult.getDocuments().get(i); + Map invoiceFields = analyzedInvoice.getFields(); + System.out.printf("----------- Analyzing invoice %d -----------%n", i); + DocumentField vendorNameField = invoiceFields.get("VendorName"); + if (vendorNameField != null) { + if (DocumentFieldType.STRING == vendorNameField.getType()) { + String merchantName = vendorNameField.getValueString(); + System.out.printf("Vendor Name: %s, confidence: %.2f%n", + merchantName, vendorNameField.getConfidence()); + } + } + + DocumentField vendorAddressField = invoiceFields.get("VendorAddress"); + if (vendorAddressField != null) { + if (DocumentFieldType.STRING == vendorAddressField.getType()) { + String merchantAddress = vendorAddressField.getValueString(); + System.out.printf("Vendor address: %s, confidence: %.2f%n", + merchantAddress, vendorAddressField.getConfidence()); + } + } + + DocumentField customerNameField = invoiceFields.get("CustomerName"); + if (customerNameField != null) { + if (DocumentFieldType.STRING == customerNameField.getType()) { + String merchantAddress = customerNameField.getValueString(); + System.out.printf("Customer Name: %s, confidence: %.2f%n", + merchantAddress, customerNameField.getConfidence()); + } + } + + DocumentField customerAddressRecipientField = invoiceFields.get("CustomerAddressRecipient"); + if (customerAddressRecipientField != null) { + if (DocumentFieldType.STRING == customerAddressRecipientField.getType()) { + String customerAddr = customerAddressRecipientField.getValueString(); + System.out.printf("Customer Address Recipient: %s, confidence: %.2f%n", + customerAddr, customerAddressRecipientField.getConfidence()); + } + } + + DocumentField invoiceIdField = invoiceFields.get("InvoiceId"); + if (invoiceIdField != null) { + if (DocumentFieldType.STRING == invoiceIdField.getType()) { + String invoiceId = invoiceIdField.getValueString(); + System.out.printf("Invoice ID: %s, confidence: %.2f%n", + invoiceId, invoiceIdField.getConfidence()); + } + } + + DocumentField invoiceDateField = invoiceFields.get("InvoiceDate"); + if (customerNameField != null) { + if (DocumentFieldType.DATE == invoiceDateField.getType()) { + LocalDate invoiceDate = invoiceDateField.getValueDate(); + System.out.printf("Invoice Date: %s, confidence: %.2f%n", + invoiceDate, invoiceDateField.getConfidence()); + } + } + + DocumentField invoiceTotalField = invoiceFields.get("InvoiceTotal"); + if (customerAddressRecipientField != null) { + if (DocumentFieldType.NUMBER == invoiceTotalField.getType()) { + Double invoiceTotal = invoiceTotalField.getValueNumber(); + System.out.printf("Invoice Total: %.2f, confidence: %.2f%n", + invoiceTotal, invoiceTotalField.getConfidence()); + } + } + + DocumentField invoiceItemsField = invoiceFields.get("Items"); + if (invoiceItemsField != null) { + System.out.printf("Invoice Items: %n"); + if (DocumentFieldType.ARRAY == invoiceItemsField.getType()) { + List invoiceItems = invoiceItemsField.getValueArray(); + invoiceItems.stream() + .filter(invoiceItem -> DocumentFieldType.OBJECT == invoiceItem.getType()) + .map(documentField -> documentField.getValueObject()) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + // See a full list of fields found on an invoice here: + // https://aka.ms/documentintelligence/invoicefields + if ("Description".equals(key)) { + if (DocumentFieldType.STRING == documentField.getType()) { + String name = documentField.getValueString(); + System.out.printf("Description: %s, confidence: %.2fs%n", + name, documentField.getConfidence()); + } + } + if ("Quantity".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double quantity = documentField.getValueNumber(); + System.out.printf("Quantity: %f, confidence: %.2f%n", + quantity, documentField.getConfidence()); + } + } + if ("UnitPrice".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double unitPrice = documentField.getValueNumber(); + System.out.printf("Unit Price: %f, confidence: %.2f%n", + unitPrice, documentField.getConfidence()); + } + } + if ("ProductCode".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double productCode = documentField.getValueNumber(); + System.out.printf("Product Code: %f, confidence: %.2f%n", + productCode, documentField.getConfidence()); + } + } + })); + } + } + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesFromUrlAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesFromUrlAsync.java new file mode 100644 index 000000000000..a21143bd4ffe --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeInvoicesFromUrlAsync.java @@ -0,0 +1,188 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.io.IOException; +import java.time.LocalDate; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +/** + * Async sample for analyzing commonly found invoice fields from a file source URL of an invoice document. + * See fields found on an invoice here + */ +public class AnalyzeInvoicesFromUrlAsync { + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + String invoiceUrl = + "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/documentintelligence/" + + "azure-ai-documentintelligence/samples/sample_forms/forms/sample_invoice.jpg"; + + PollerFlux analyzeInvoicePoller + = client.beginAnalyzeDocument("prebuilt-invoice", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setUrlSource(invoiceUrl)); + + Mono analyzeInvoiceResultMono = analyzeInvoicePoller + .last() + .flatMap(pollResponse -> { + if (pollResponse.getStatus().isComplete()) { + System.out.println("Polling completed successfully"); + return pollResponse.getFinalResult(); + } else { + return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" + + pollResponse.getStatus())); + } + }); + + analyzeInvoiceResultMono.subscribe(analyzeInvoiceResult -> { + for (int i = 0; i < analyzeInvoiceResult.getDocuments().size(); i++) { + Document analyzedInvoice = analyzeInvoiceResult.getDocuments().get(i); + Map invoiceFields = analyzedInvoice.getFields(); + System.out.printf("----------- Analyzing invoice %d -----------%n", i); + DocumentField vendorNameField = invoiceFields.get("VendorName"); + if (vendorNameField != null) { + if (DocumentFieldType.STRING == vendorNameField.getType()) { + String merchantName = vendorNameField.getValueString(); + System.out.printf("Vendor Name: %s, confidence: %.2f%n", + merchantName, vendorNameField.getConfidence()); + } + } + + DocumentField vendorAddressField = invoiceFields.get("VendorAddress"); + if (vendorAddressField != null) { + if (DocumentFieldType.STRING == vendorAddressField.getType()) { + String merchantAddress = vendorAddressField.getValueString(); + System.out.printf("Vendor address: %s, confidence: %.2f%n", + merchantAddress, vendorAddressField.getConfidence()); + } + } + + DocumentField customerNameField = invoiceFields.get("CustomerName"); + if (customerNameField != null) { + if (DocumentFieldType.STRING == customerNameField.getType()) { + String merchantAddress = customerNameField.getValueString(); + System.out.printf("Customer Name: %s, confidence: %.2f%n", + merchantAddress, customerNameField.getConfidence()); + } + } + + DocumentField customerAddressRecipientField = invoiceFields.get("CustomerAddressRecipient"); + if (customerAddressRecipientField != null) { + if (DocumentFieldType.STRING == customerAddressRecipientField.getType()) { + String customerAddr = customerAddressRecipientField.getValueString(); + System.out.printf("Customer Address Recipient: %s, confidence: %.2f%n", + customerAddr, customerAddressRecipientField.getConfidence()); + } + } + + DocumentField invoiceIdField = invoiceFields.get("InvoiceId"); + if (invoiceIdField != null) { + if (DocumentFieldType.STRING == invoiceIdField.getType()) { + String invoiceId = invoiceIdField.getValueString(); + System.out.printf("Invoice ID: %s, confidence: %.2f%n", + invoiceId, invoiceIdField.getConfidence()); + } + } + + DocumentField invoiceDateField = invoiceFields.get("InvoiceDate"); + if (customerNameField != null) { + if (DocumentFieldType.DATE == invoiceDateField.getType()) { + LocalDate invoiceDate = invoiceDateField.getValueDate(); + System.out.printf("Invoice Date: %s, confidence: %.2f%n", + invoiceDate, invoiceDateField.getConfidence()); + } + } + + DocumentField invoiceTotalField = invoiceFields.get("InvoiceTotal"); + if (customerAddressRecipientField != null) { + if (DocumentFieldType.NUMBER == invoiceTotalField.getType()) { + Double invoiceTotal = invoiceTotalField.getValueNumber(); + System.out.printf("Invoice Total: %.2f, confidence: %.2f%n", + invoiceTotal, invoiceTotalField.getConfidence()); + } + } + + DocumentField invoiceItemsField = invoiceFields.get("Items"); + if (invoiceItemsField != null) { + System.out.printf("Invoice Items: %n"); + if (DocumentFieldType.ARRAY == invoiceItemsField.getType()) { + List invoiceItems = invoiceItemsField.getValueArray(); + invoiceItems.stream() + .filter(invoiceItem -> DocumentFieldType.OBJECT == invoiceItem.getType()) + .map(documentField -> documentField.getValueObject()) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + // See a full list of fields found on an invoice here: + // https://aka.ms/documentintelligence/invoicefields + if ("Description".equals(key)) { + if (DocumentFieldType.STRING == documentField.getType()) { + String name = documentField.getValueString(); + System.out.printf("Description: %s, confidence: %.2fs%n", + name, documentField.getConfidence()); + } + } + if ("Quantity".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double quantity = documentField.getValueNumber(); + System.out.printf("Quantity: %f, confidence: %.2f%n", + quantity, documentField.getConfidence()); + } + } + if ("UnitPrice".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double unitPrice = documentField.getValueNumber(); + System.out.printf("Unit Price: %f, confidence: %.2f%n", + unitPrice, documentField.getConfidence()); + } + } + if ("ProductCode".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double productCode = documentField.getValueNumber(); + System.out.printf("Product Code: %f, confidence: %.2f%n", + productCode, documentField.getConfidence()); + } + } + })); + } + } + } + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayout.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayout.java new file mode 100644 index 000000000000..ae3558bee14c --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayout.java @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.DocumentTable; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.SyncPoller; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.List; + +/** + * Sample for analyzing layout information from a document given through a file. + */ +public class AnalyzeLayout { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + File selectionMarkDocument = new File("../documentintelligence/azure-ai-documentintelligence/src/samples/resources/" + + "sample-forms/forms/selectionMarkForm.pdf"); + + SyncPoller analyzeLayoutResultPoller = + client.beginAnalyzeDocument("prebuilt-layout", null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setBase64Source(Files.readAllBytes(selectionMarkDocument.toPath()))); + + AnalyzeResult analyzeLayoutResult = analyzeLayoutResultPoller.getFinalResult(); + + // pages + analyzeLayoutResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line '%s; is within a bounding polygon %s.%n", + documentLine.getContent(), + documentLine.getPolygon())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word '%s' has a confidence score of %.2f%n.", + documentWord.getContent(), + documentWord.getConfidence())); + + // selection marks + documentPage.getSelectionMarks().forEach(documentSelectionMark -> + System.out.printf("Selection mark is '%s' and is within a bounding polygon %s with confidence %.2f.%n", + documentSelectionMark.getState().toString(), + documentSelectionMark.getPolygon(), + documentSelectionMark.getConfidence())); + }); + + // tables + List tables = analyzeLayoutResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + + // styles + analyzeLayoutResult.getStyles().forEach(documentStyle + -> System.out.printf("Document is handwritten %s%n.", documentStyle.isHandwritten())); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutAsync.java new file mode 100644 index 000000000000..8bfa492a0270 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutAsync.java @@ -0,0 +1,125 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.DocumentTable; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.LongRunningOperationStatus; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * Async sample for analyzing layout information from a document given through a file. + */ +public class AnalyzeLayoutAsync { + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + File sourceFile = new File("../documentintelligence/azure-ai-documentintelligence/src/samples/resources/" + + "sample-forms/forms/selectionMarkForm.pdf"); + byte[] fileContent = Files.readAllBytes(sourceFile.toPath()); + InputStream targetStream = new ByteArrayInputStream(fileContent); + + PollerFlux analyzeLayoutPoller = + client.beginAnalyzeDocument("prebuilt-layout", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setBase64Source(Files.readAllBytes(sourceFile.toPath()))); + + Mono analyzeLayoutResultMono = + analyzeLayoutPoller + .last() + .flatMap(pollResponse -> { + if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED.equals(pollResponse.getStatus())) { + System.out.println("Polling completed successfully"); + return pollResponse.getFinalResult(); + } else { + return Mono.error( + new RuntimeException( + "Polling completed unsuccessfully with status:" + pollResponse.getStatus())); + } + }); + + analyzeLayoutResultMono.subscribe(analyzeLayoutResult -> { + // pages + analyzeLayoutResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line '%s' is within a bounding polygon %s.%n", + documentLine.getContent(), + documentLine.getPolygon())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word '%s' has a confidence score of %.2f.%n", + documentWord.getContent(), + documentWord.getConfidence())); + + // selection marks + documentPage.getSelectionMarks().forEach(documentSelectionMark -> + System.out.printf("Selection mark is '%s' and is within a bounding polygon %s with confidence %.2f.%n", + documentSelectionMark.getState().toString(), + documentSelectionMark.getPolygon(), + documentSelectionMark.getConfidence())); + }); + + // tables + List tables = analyzeLayoutResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + + // styles + analyzeLayoutResult.getStyles().forEach(documentStyle + -> System.out.printf("Document is handwritten %s.%n", documentStyle.isHandwritten())); + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutFromUrl.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutFromUrl.java new file mode 100644 index 000000000000..ed5e0118d394 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutFromUrl.java @@ -0,0 +1,88 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.DocumentTable; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.SyncPoller; + +import java.util.List; + +/** + * Sample for analyzing content information from a document given through a URL. + */ +public class AnalyzeLayoutFromUrl { + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + SyncPoller analyzeLayoutPoller = + client.beginAnalyzeDocument("prebuilt-layout", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setUrlSource("https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/documentintelligence/" + + "azure-ai-documentintelligence/src/samples/resources/sample-forms/forms/selectionMarkForm.pdf")); + + AnalyzeResult analyzeLayoutResult = analyzeLayoutPoller.getFinalResult(); + + // pages + analyzeLayoutResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line '%s' is within a bounding polygon %s.%n", + documentLine.getContent(), + documentLine.getPolygon())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word '%s' has a confidence score of %.2f.%n", + documentWord.getContent(), + documentWord.getConfidence())); + + // selection marks + documentPage.getSelectionMarks().forEach(documentSelectionMark -> + System.out.printf("Selection mark is '%s' and is within a bounding polygon %s with confidence %.2f.%n", + documentSelectionMark.getState().toString(), + documentSelectionMark.getPolygon(), + documentSelectionMark.getConfidence())); + }); + + // tables + List tables = analyzeLayoutResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + + // styles + analyzeLayoutResult.getStyles().forEach(documentStyle + -> System.out.printf("Document is handwritten %s.%n", documentStyle.isHandwritten())); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutFromUrlAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutFromUrlAsync.java new file mode 100644 index 000000000000..21b3f5a8a625 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeLayoutFromUrlAsync.java @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.DocumentTable; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.LongRunningOperationStatus; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * Async sample for analyzing layout information from a document given through a URL. + */ +public class AnalyzeLayoutFromUrlAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + PollerFlux analyzeLayoutPoller = + client.beginAnalyzeDocument("prebuilt-layout", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setUrlSource("https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/documentintelligence/" + + "azure-ai-documentintelligence/src/samples/resources/sample-forms/forms/selectionMarkForm.pdf")); + + Mono analyzeLayoutResultMono = + analyzeLayoutPoller + .last() + .flatMap(pollResponse -> { + if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED.equals(pollResponse.getStatus())) { + System.out.println("Polling completed successfully"); + return pollResponse.getFinalResult(); + } else { + return Mono.error( + new RuntimeException( + "Polling completed unsuccessfully with status:" + pollResponse.getStatus())); + } + }); + + analyzeLayoutResultMono.subscribe(analyzeLayoutResult -> { + // pages + analyzeLayoutResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line '%s' is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getPolygon())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word '%s' has a confidence score of %.2f.%n", + documentWord.getContent(), + documentWord.getConfidence())); + + // selection marks + documentPage.getSelectionMarks().forEach(documentSelectionMark -> + System.out.printf("Selection mark is '%s' and is within a bounding polygon %s with confidence %.2f.%n", + documentSelectionMark.getState().toString(), + documentSelectionMark.getPolygon(), + documentSelectionMark.getConfidence())); + }); + + // tables + List tables = analyzeLayoutResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + + // styles + analyzeLayoutResult.getStyles().forEach(documentStyle + -> System.out.printf("Document is handwritten %s.%n", documentStyle.isHandwritten())); + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceipts.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceipts.java new file mode 100644 index 000000000000..e31a93530e3a --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceipts.java @@ -0,0 +1,138 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.SyncPoller; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.time.LocalDate; +import java.util.List; +import java.util.Map; + +/** + * Sample for analyzing commonly found receipt fields from a local file input stream. + * See fields found on a receipt here + */ +public class AnalyzeReceipts { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * @throws IOException from reading file. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + File sourceFile = new File("../documentintelligence/azure-ai-documentintelligence/src/samples/resources/" + + "sample-forms/receipts/contoso-allinone.jpg"); + + SyncPoller analyzeReceiptPoller = + client.beginAnalyzeDocument("prebuilt-receipt", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setBase64Source(Files.readAllBytes(sourceFile.toPath()))); + + AnalyzeResult receiptResults = analyzeReceiptPoller.getFinalResult(); + + for (int i = 0; i < receiptResults.getDocuments().size(); i++) { + Document analyzedReceipt = receiptResults.getDocuments().get(i); + Map receiptFields = analyzedReceipt.getFields(); + System.out.printf("----------- Analyzing receipt info %d -----------%n", i); + DocumentField merchantNameField = receiptFields.get("MerchantName"); + if (merchantNameField != null) { + if (DocumentFieldType.STRING == merchantNameField.getType()) { + String merchantName = merchantNameField.getValueString(); + System.out.printf("Merchant Name: %s, confidence: %.2f%n", + merchantName, merchantNameField.getConfidence()); + } + } + + DocumentField merchantPhoneNumberField = receiptFields.get("MerchantPhoneNumber"); + if (merchantPhoneNumberField != null) { + if (DocumentFieldType.PHONE_NUMBER == merchantPhoneNumberField.getType()) { + String merchantAddress = merchantPhoneNumberField.getValuePhoneNumber(); + System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", + merchantAddress, merchantPhoneNumberField.getConfidence()); + } + } + + DocumentField merchantAddressField = receiptFields.get("MerchantAddress"); + if (merchantAddressField != null) { + if (DocumentFieldType.STRING == merchantAddressField.getType()) { + String merchantAddress = merchantAddressField.getValueString(); + System.out.printf("Merchant Address: %s, confidence: %.2f%n", + merchantAddress, merchantAddressField.getConfidence()); + } + } + + DocumentField transactionDateField = receiptFields.get("TransactionDate"); + if (transactionDateField != null) { + if (DocumentFieldType.DATE == transactionDateField.getType()) { + LocalDate transactionDate = transactionDateField.getValueDate(); + System.out.printf("Transaction Date: %s, confidence: %.2f%n", + transactionDate, transactionDateField.getConfidence()); + } + } + + DocumentField receiptItemsField = receiptFields.get("Items"); + if (receiptItemsField != null) { + System.out.printf("Receipt Items: %n"); + if (DocumentFieldType.ARRAY == receiptItemsField.getType()) { + List receiptItems = receiptItemsField.getValueArray(); + receiptItems.stream() + .filter(receiptItem -> DocumentFieldType.OBJECT == receiptItem.getType()) + .map(documentField -> documentField.getValueObject()) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + if ("Name".equals(key)) { + if (DocumentFieldType.STRING == documentField.getType()) { + String name = documentField.getValueString(); + System.out.printf("Name: %s, confidence: %.2fs%n", + name, documentField.getConfidence()); + } + } + if ("Quantity".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double quantity = documentField.getValueNumber(); + System.out.printf("Quantity: %f, confidence: %.2f%n", + quantity, documentField.getConfidence()); + } + } + if ("Price".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double price = documentField.getValueNumber(); + System.out.printf("Price: %f, confidence: %.2f%n", + price, documentField.getConfidence()); + } + } + if ("TotalPrice".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double totalPrice = documentField.getValueNumber(); + System.out.printf("Total Price: %f, confidence: %.2f%n", + totalPrice, documentField.getConfidence()); + } + } + })); + } + } + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsAsync.java new file mode 100644 index 000000000000..643a63e4c58d --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsAsync.java @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.time.LocalDate; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +/** + * Async sample for analyzing commonly found receipt fields from a local file input stream. + * See fields found on a receipt here + */ +public class AnalyzeReceiptsAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + File sourceFile = new File("../documentintelligence/azure-ai-documentintelligence/src/samples/resources/" + + "sample-forms/receipts/contoso-allinone.jpg"); + + PollerFlux analyzeReceiptPoller; + analyzeReceiptPoller = client.beginAnalyzeDocument("prebuilt-receipt", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setBase64Source(Files.readAllBytes(sourceFile.toPath()))); + + + Mono receiptResultsMono = analyzeReceiptPoller + .last() + .flatMap(pollResponse -> { + if (pollResponse.getStatus().isComplete()) { + System.out.println("Polling completed successfully"); + return pollResponse.getFinalResult(); + } else { + return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" + + pollResponse.getStatus())); + } + }); + + receiptResultsMono.subscribe(receiptResults -> { + for (int i = 0; i < receiptResults.getDocuments().size(); i++) { + Document analyzedReceipt = receiptResults.getDocuments().get(i); + Map receiptFields = analyzedReceipt.getFields(); + System.out.printf("----------- Analyzing receipt info %d -----------%n", i); + DocumentField merchantNameField = receiptFields.get("MerchantName"); + if (merchantNameField != null) { + if (DocumentFieldType.STRING == merchantNameField.getType()) { + String merchantName = merchantNameField.getValueString(); + System.out.printf("Merchant Name: %s, confidence: %.2f%n", + merchantName, merchantNameField.getConfidence()); + } + } + + DocumentField merchantPhoneNumberField = receiptFields.get("MerchantPhoneNumber"); + if (merchantPhoneNumberField != null) { + if (DocumentFieldType.PHONE_NUMBER == merchantPhoneNumberField.getType()) { + String merchantAddress = merchantPhoneNumberField.getValuePhoneNumber(); + System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", + merchantAddress, merchantPhoneNumberField.getConfidence()); + } + } + + DocumentField merchantAddressField = receiptFields.get("MerchantAddress"); + if (merchantAddressField != null) { + if (DocumentFieldType.STRING == merchantAddressField.getType()) { + String merchantAddress = merchantAddressField.getValueString(); + System.out.printf("Merchant Address: %s, confidence: %.2f%n", + merchantAddress, merchantAddressField.getConfidence()); + } + } + + DocumentField transactionDateField = receiptFields.get("TransactionDate"); + if (transactionDateField != null) { + if (DocumentFieldType.DATE == transactionDateField.getType()) { + LocalDate transactionDate = transactionDateField.getValueDate(); + System.out.printf("Transaction Date: %s, confidence: %.2f%n", + transactionDate, transactionDateField.getConfidence()); + } + } + + DocumentField receiptItemsField = receiptFields.get("Items"); + if (receiptItemsField != null) { + System.out.printf("Receipt Items: %n"); + if (DocumentFieldType.ARRAY == receiptItemsField.getType()) { + List receiptItems = receiptItemsField.getValueArray(); + receiptItems.stream() + .filter(receiptItem -> DocumentFieldType.OBJECT == receiptItem.getType()) + .map(documentField -> documentField.getValueObject()) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + if ("Name".equals(key)) { + if (DocumentFieldType.STRING == documentField.getType()) { + String name = documentField.getValueString(); + System.out.printf("Name: %s, confidence: %.2fs%n", + name, documentField.getConfidence()); + } + } + if ("Quantity".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double quantity = documentField.getValueNumber(); + System.out.printf("Quantity: %f, confidence: %.2f%n", + quantity, documentField.getConfidence()); + } + } + if ("Price".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double price = documentField.getValueNumber(); + System.out.printf("Price: %f, confidence: %.2f%n", + price, documentField.getConfidence()); + } + } + if ("TotalPrice".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double totalPrice = documentField.getValueNumber(); + System.out.printf("Total Price: %f, confidence: %.2f%n", + totalPrice, documentField.getConfidence()); + } + } + })); + } + } + } + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsFromUrl.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsFromUrl.java new file mode 100644 index 000000000000..e472b6b915b6 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsFromUrl.java @@ -0,0 +1,136 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.SyncPoller; + +import java.time.LocalDate; +import java.util.List; +import java.util.Map; + +/** + * Sample for analyzing commonly found receipt fields from a file source URL. + * See fields found on a receipt here. + * + */ +public class AnalyzeReceiptsFromUrl { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + String receiptUrl = + "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/documentintelligence" + + "/azure-ai-documentintelligence/src/samples/resources/sample-forms/receipts/contoso-allinone.jpg"; + + SyncPoller analyzeReceiptPoller = + client.beginAnalyzeDocument("prebuilt-receipt", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setUrlSource(receiptUrl)); + + AnalyzeResult receiptResults = analyzeReceiptPoller.getFinalResult(); + + for (int i = 0; i < receiptResults.getDocuments().size(); i++) { + Document analyzedReceipt = receiptResults.getDocuments().get(i); + Map receiptFields = analyzedReceipt.getFields(); + System.out.printf("----------- Analyzing receipt info %d -----------%n", i); + DocumentField merchantNameField = receiptFields.get("MerchantName"); + if (merchantNameField != null) { + if (DocumentFieldType.STRING == merchantNameField.getType()) { + String merchantName = merchantNameField.getValueString(); + System.out.printf("Merchant Name: %s, confidence: %.2f%n", + merchantName, merchantNameField.getConfidence()); + } + } + + DocumentField merchantPhoneNumberField = receiptFields.get("MerchantPhoneNumber"); + if (merchantPhoneNumberField != null) { + if (DocumentFieldType.PHONE_NUMBER == merchantPhoneNumberField.getType()) { + String merchantAddress = merchantPhoneNumberField.getValuePhoneNumber(); + System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", + merchantAddress, merchantPhoneNumberField.getConfidence()); + } + } + + DocumentField merchantAddressField = receiptFields.get("MerchantAddress"); + if (merchantAddressField != null) { + if (DocumentFieldType.STRING == merchantAddressField.getType()) { + String merchantAddress = merchantAddressField.getValueString(); + System.out.printf("Merchant Address: %s, confidence: %.2f%n", + merchantAddress, merchantAddressField.getConfidence()); + } + } + + DocumentField transactionDateField = receiptFields.get("TransactionDate"); + if (transactionDateField != null) { + if (DocumentFieldType.DATE == transactionDateField.getType()) { + LocalDate transactionDate = transactionDateField.getValueDate(); + System.out.printf("Transaction Date: %s, confidence: %.2f%n", + transactionDate, transactionDateField.getConfidence()); + } + } + + DocumentField receiptItemsField = receiptFields.get("Items"); + if (receiptItemsField != null) { + System.out.printf("Receipt Items: %n"); + if (DocumentFieldType.ARRAY == receiptItemsField.getType()) { + List receiptItems = receiptItemsField.getValueArray(); + receiptItems.stream() + .filter(receiptItem -> DocumentFieldType.OBJECT == receiptItem.getType()) + .map(documentField -> documentField.getValueObject()) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + if ("Name".equals(key)) { + if (DocumentFieldType.STRING == documentField.getType()) { + String name = documentField.getValueString(); + System.out.printf("Name: %s, confidence: %.2fs%n", + name, documentField.getConfidence()); + } + } + if ("Quantity".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double quantity = documentField.getValueNumber(); + System.out.printf("Quantity: %f, confidence: %.2f%n", + quantity, documentField.getConfidence()); + } + } + if ("Price".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double price = documentField.getValueNumber(); + System.out.printf("Price: %f, confidence: %.2f%n", + price, documentField.getConfidence()); + } + } + if ("TotalPrice".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double totalPrice = documentField.getValueNumber(); + System.out.printf("Total Price: %f, confidence: %.2f%n", + totalPrice, documentField.getConfidence()); + } + } + })); + } + } + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsFromUrlAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsFromUrlAsync.java new file mode 100644 index 000000000000..d255a4fccb38 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeReceiptsFromUrlAsync.java @@ -0,0 +1,157 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.time.LocalDate; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +/** + * Async sample for analyzing commonly found receipt fields from a file source URL. + * See fields found on a receipt here + */ +public class AnalyzeReceiptsFromUrlAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + String receiptUrl = + "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/documentintelligence" + + "/azure-ai-documentintelligence/src/samples/resources/sample-forms/receipts/contoso-allinone.jpg"; + + PollerFlux analyzeReceiptPoller = + client.beginAnalyzeDocument("prebuilt-receipt", null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setUrlSource(receiptUrl)); + + Mono receiptResultsMono = analyzeReceiptPoller + .last() + .flatMap(pollResponse -> { + if (pollResponse.getStatus().isComplete()) { + System.out.println("Polling completed successfully"); + return pollResponse.getFinalResult(); + } else { + return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" + + pollResponse.getStatus())); + } + }); + + receiptResultsMono.subscribe(receiptResults -> { + for (int i = 0; i < receiptResults.getDocuments().size(); i++) { + Document analyzedReceipt = receiptResults.getDocuments().get(i); + Map receiptFields = analyzedReceipt.getFields(); + System.out.printf("----------- Analyzing receipt info %d -----------%n", i); + DocumentField merchantNameField = receiptFields.get("MerchantName"); + if (merchantNameField != null) { + if (DocumentFieldType.STRING == merchantNameField.getType()) { + String merchantName = merchantNameField.getValueString(); + System.out.printf("Merchant Name: %s, confidence: %.2f%n", + merchantName, merchantNameField.getConfidence()); + } + } + + DocumentField merchantPhoneNumberField = receiptFields.get("MerchantPhoneNumber"); + if (merchantPhoneNumberField != null) { + if (DocumentFieldType.PHONE_NUMBER == merchantPhoneNumberField.getType()) { + String merchantAddress = merchantPhoneNumberField.getValuePhoneNumber(); + System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", + merchantAddress, merchantPhoneNumberField.getConfidence()); + } + } + + DocumentField merchantAddressField = receiptFields.get("MerchantAddress"); + if (merchantAddressField != null) { + if (DocumentFieldType.STRING == merchantAddressField.getType()) { + String merchantAddress = merchantAddressField.getValueString(); + System.out.printf("Merchant Address: %s, confidence: %.2f%n", + merchantAddress, merchantAddressField.getConfidence()); + } + } + + DocumentField transactionDateField = receiptFields.get("TransactionDate"); + if (transactionDateField != null) { + if (DocumentFieldType.DATE == transactionDateField.getType()) { + LocalDate transactionDate = transactionDateField.getValueDate(); + System.out.printf("Transaction Date: %s, confidence: %.2f%n", + transactionDate, transactionDateField.getConfidence()); + } + } + + DocumentField receiptItemsField = receiptFields.get("Items"); + if (receiptItemsField != null) { + System.out.printf("Receipt Items: %n"); + if (DocumentFieldType.ARRAY == receiptItemsField.getType()) { + List receiptItems = receiptItemsField.getValueArray(); + receiptItems.stream() + .filter(receiptItem -> DocumentFieldType.OBJECT == receiptItem.getType()) + .map(documentField -> documentField.getValueObject()) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + if ("Name".equals(key)) { + if (DocumentFieldType.STRING == documentField.getType()) { + String name = documentField.getValueString(); + System.out.printf("Name: %s, confidence: %.2fs%n", + name, documentField.getConfidence()); + } + } + if ("Quantity".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double quantity = documentField.getValueNumber(); + System.out.printf("Quantity: %f, confidence: %.2f%n", + quantity, documentField.getConfidence()); + } + } + if ("Price".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double price = documentField.getValueNumber(); + System.out.printf("Price: %f, confidence: %.2f%n", + price, documentField.getConfidence()); + } + } + if ("TotalPrice".equals(key)) { + if (DocumentFieldType.NUMBER == documentField.getType()) { + Double totalPrice = documentField.getValueNumber(); + System.out.printf("Total Price: %f, confidence: %.2f%n", + totalPrice, documentField.getConfidence()); + } + } + })); + } + } + } + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeTaxW2.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeTaxW2.java new file mode 100644 index 000000000000..fc285c03eaba --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeTaxW2.java @@ -0,0 +1,155 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.SyncPoller; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.time.LocalDate; +import java.util.Map; + +/** + * Sample for analyzing commonly found W-2 fields from a local file input stream of a tax W-2 document. + * See fields found on a US Tax W2 document here + */ +public class AnalyzeTaxW2 { + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + File invoice = new File("./documentintelligence/azure-ai-documentintelligence/src/samples/resources/Sample-W2.jpg"); + + SyncPoller analyzeW2Poller = + client.beginAnalyzeDocument("prebuilt-tax.us.w2", null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setBase64Source(Files.readAllBytes(invoice.toPath()))); + + AnalyzeResult analyzeTaxResult = analyzeW2Poller.getFinalResult(); + + for (int i = 0; i < analyzeTaxResult.getDocuments().size(); i++) { + Document analyzedTaxDocument = analyzeTaxResult.getDocuments().get(i); + Map taxFields = analyzedTaxDocument.getFields(); + System.out.printf("----------- Analyzing Document %d -----------%n", i); + DocumentField w2FormVariantField = taxFields.get("W2FormVariant"); + if (w2FormVariantField != null) { + if (DocumentFieldType.STRING == w2FormVariantField.getType()) { + String merchantName = w2FormVariantField.getValueString(); + System.out.printf("Form variant: %s, confidence: %.2f%n", + merchantName, w2FormVariantField.getConfidence()); + } + } + + DocumentField employeeField = taxFields.get("Employee"); + if (employeeField != null) { + System.out.println("Employee Data: "); + if (DocumentFieldType.OBJECT == employeeField.getType()) { + Map employeeDataFieldMap = employeeField.getValueObject(); + DocumentField employeeName = employeeDataFieldMap.get("Name"); + if (employeeName != null) { + if (DocumentFieldType.STRING == employeeName.getType()) { + String merchantAddress = employeeName.getValueString(); + System.out.printf("Employee Name: %s, confidence: %.2f%n", + merchantAddress, employeeName.getConfidence()); + } + } + DocumentField employeeAddrField = employeeDataFieldMap.get("Address"); + if (employeeAddrField != null) { + if (DocumentFieldType.STRING == employeeAddrField.getType()) { + String employeeAddress = employeeAddrField.getValueString(); + System.out.printf("Employee Address: %s, confidence: %.2f%n", + employeeAddress, employeeAddrField.getConfidence()); + } + } + } + } + + DocumentField employerField = taxFields.get("Employer"); + if (employerField != null) { + System.out.println("Employer Data: "); + if (DocumentFieldType.OBJECT == employerField.getType()) { + Map employerDataFieldMap = employerField.getValueObject(); + DocumentField employerNameField = employerDataFieldMap.get("Name"); + if (employerNameField != null) { + if (DocumentFieldType.STRING == employerNameField.getType()) { + String employerName = employerNameField.getValueString(); + System.out.printf("Employee Name: %s, confidence: %.2f%n", + employerName, employerNameField.getConfidence()); + } + } + + DocumentField employerIDNumberField = employerDataFieldMap.get("IdNumber"); + if (employerIDNumberField != null) { + if (DocumentFieldType.STRING == employerIDNumberField.getType()) { + String employerIdNumber = employerIDNumberField.getValueString(); + System.out.printf("Employee ID Number: %s, confidence: %.2f%n", + employerIdNumber, employerIDNumberField.getConfidence()); + } + } + } + } + + DocumentField localTaxInfosField = taxFields.get("LocalTaxInfos"); + if (localTaxInfosField != null) { + System.out.println("Local Tax Info data:"); + if (DocumentFieldType.ARRAY == localTaxInfosField.getType()) { + Map localTaxInfoDataFields = localTaxInfosField.getValueObject(); + DocumentField localWagesTips = localTaxInfoDataFields.get("LocalWagesTipsEtc"); + if (DocumentFieldType.NUMBER == localTaxInfosField.getType()) { + System.out.printf("Local Wages Tips Value: %.2f, confidence: %.2f%n", + localWagesTips.getValueNumber(), localTaxInfosField.getConfidence()); + } + } + } + + DocumentField taxYearField = taxFields.get("TaxYear"); + if (taxYearField != null) { + if (DocumentFieldType.STRING == taxYearField.getType()) { + String taxYear = taxYearField.getValueString(); + System.out.printf("Tax year: %s, confidence: %.2f%n", + taxYear, taxYearField.getConfidence()); + } + } + + DocumentField taxDateField = taxFields.get("TaxDate"); + if (employeeField != null) { + if (DocumentFieldType.DATE == taxDateField.getType()) { + LocalDate taxDate = taxDateField.getValueDate(); + System.out.printf("Tax Date: %s, confidence: %.2f%n", + taxDate, taxDateField.getConfidence()); + } + } + + DocumentField socialSecurityTaxField = taxFields.get("SocialSecurityTaxWithheld"); + if (localTaxInfosField != null) { + if (DocumentFieldType.NUMBER == socialSecurityTaxField.getType()) { + Double socialSecurityTax = socialSecurityTaxField.getValueNumber(); + System.out.printf("Social Security Tax withheld: %.2f, confidence: %.2f%n", + socialSecurityTax, socialSecurityTaxField.getConfidence()); + } + } + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeTaxW2Async.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeTaxW2Async.java new file mode 100644 index 000000000000..65dcf041e7ba --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/AnalyzeTaxW2Async.java @@ -0,0 +1,168 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.io.IOException; +import java.time.LocalDate; +import java.util.Map; + +/** + * Async Sample for analyzing commonly found W-2 fields from a local file input stream of a tax W-2 document. + * See fields found on a US Tax W2 document here + */ +public class AnalyzeTaxW2Async { + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public static void main(final String[] args) throws IOException { + // Instantiate a client that will be used to call the service. + DocumentAnalysisAsyncClient client = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + String w2Url = + "https://raw.githubusercontent.com/Azure/azure-sdk-for-java/main/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/w2/Sample-W2.jpg"; + + PollerFlux analyzeW2Poller = + client.beginAnalyzeDocument("prebuilt-tax.us.w2", null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setUrlSource(w2Url)); + + Mono w2Mono = analyzeW2Poller + .last() + .flatMap(pollResponse -> { + if (pollResponse.getStatus().isComplete()) { + System.out.println("Polling completed successfully"); + return pollResponse.getFinalResult(); + } else { + return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" + + pollResponse.getStatus())); + } + }); + + w2Mono.subscribe(analyzeTaxResult -> { + + for (int i = 0; i < analyzeTaxResult.getDocuments().size(); i++) { + Document analyzedTaxDocument = analyzeTaxResult.getDocuments().get(i); + Map taxFields = analyzedTaxDocument.getFields(); + System.out.printf("----------- Analyzing Document %d -----------%n", i); + DocumentField w2FormVariantField = taxFields.get("W2FormVariant"); + if (w2FormVariantField != null) { + if (DocumentFieldType.STRING == w2FormVariantField.getType()) { + String merchantName = w2FormVariantField.getValueString(); + System.out.printf("Form variant: %s, confidence: %.2f%n", + merchantName, w2FormVariantField.getConfidence()); + } + } + + DocumentField employeeField = taxFields.get("Employee"); + if (employeeField != null) { + System.out.println("Employee Data: "); + if (DocumentFieldType.OBJECT == employeeField.getType()) { + Map employeeDataFieldMap = employeeField.getValueObject(); + DocumentField employeeName = employeeDataFieldMap.get("Name"); + if (employeeName != null) { + if (DocumentFieldType.STRING == employeeName.getType()) { + String merchantAddress = employeeName.getValueString(); + System.out.printf("Employee Name: %s, confidence: %.2f%n", + merchantAddress, employeeName.getConfidence()); + } + } + DocumentField employeeAddrField = employeeDataFieldMap.get("Address"); + if (employeeAddrField != null) { + if (DocumentFieldType.STRING == employeeAddrField.getType()) { + String employeeAddress = employeeAddrField.getValueString(); + System.out.printf("Employee Address: %s, confidence: %.2f%n", + employeeAddress, employeeAddrField.getConfidence()); + } + } + } + } + + DocumentField employerField = taxFields.get("Employer"); + if (employerField != null) { + System.out.println("Employer Data: "); + if (DocumentFieldType.OBJECT == employerField.getType()) { + Map employerDataFieldMap = employerField.getValueObject(); + DocumentField employerNameField = employerDataFieldMap.get("Name"); + if (employerNameField != null) { + if (DocumentFieldType.STRING == employerNameField.getType()) { + String employerName = employerNameField.getValueString(); + System.out.printf("Employee Name: %s, confidence: %.2f%n", + employerName, employerNameField.getConfidence()); + } + } + + DocumentField employerIDNumberField = employerDataFieldMap.get("IdNumber"); + if (employerIDNumberField != null) { + if (DocumentFieldType.STRING == employerIDNumberField.getType()) { + String employerIdNumber = employerIDNumberField.getValueString(); + System.out.printf("Employee ID Number: %s, confidence: %.2f%n", + employerIdNumber, employerIDNumberField.getConfidence()); + } + } + } + } + + DocumentField localTaxInfosField = taxFields.get("LocalTaxInfos"); + if (localTaxInfosField != null) { + System.out.println("Local Tax Info data:"); + if (DocumentFieldType.ARRAY == localTaxInfosField.getType()) { + Map localTaxInfoDataFields = localTaxInfosField.getValueObject(); + DocumentField localWagesTips = localTaxInfoDataFields.get("LocalWagesTipsEtc"); + if (DocumentFieldType.NUMBER == localTaxInfosField.getType()) { + System.out.printf("Local Wages Tips Value: %.2f, confidence: %.2f%n", + localWagesTips.getValueNumber(), localTaxInfosField.getConfidence()); + } + } + } + + DocumentField taxYearField = taxFields.get("TaxYear"); + if (taxYearField != null) { + if (DocumentFieldType.STRING == taxYearField.getType()) { + String taxYear = taxYearField.getValueString(); + System.out.printf("Tax year: %s, confidence: %.2f%n", + taxYear, taxYearField.getConfidence()); + } + } + + DocumentField taxDateField = taxFields.get("TaxDate"); + if (employeeField != null) { + if (DocumentFieldType.DATE == taxDateField.getType()) { + LocalDate taxDate = taxDateField.getValueDate(); + System.out.printf("Tax Date: %s, confidence: %.2f%n", + taxDate, taxDateField.getConfidence()); + } + } + + DocumentField socialSecurityTaxField = taxFields.get("SocialSecurityTaxWithheld"); + if (localTaxInfosField != null) { + if (DocumentFieldType.NUMBER == socialSecurityTaxField.getType()) { + Double socialSecurityTax = socialSecurityTaxField.getValueNumber(); + System.out.printf("Social Security Tax withheld: %.2f, confidence: %.2f%n", + socialSecurityTax, socialSecurityTaxField.getConfidence()); + } + } + } + }); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/DocumentAnalysisAsyncClientJavaDocCodeSnippets.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/DocumentAnalysisAsyncClientJavaDocCodeSnippets.java new file mode 100644 index 000000000000..a6a6dfbd317a --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/DocumentAnalysisAsyncClientJavaDocCodeSnippets.java @@ -0,0 +1,113 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.ClassifyDocumentRequest; +import com.azure.ai.documentintelligence.models.ContentFormat; +import com.azure.ai.documentintelligence.models.SplitMode; +import com.azure.ai.documentintelligence.models.StringIndexType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.AsyncPollResponse; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.List; + +/** + * Code snippet for {@link DocumentAnalysisAsyncClient} + */ +public class DocumentAnalysisAsyncClientJavaDocCodeSnippets { + private final DocumentAnalysisAsyncClient documentAnalysisAsyncClient + = new DocumentAnalysisClientBuilder().buildAsyncClient(); + + /** + * Code snippet for creating a {@link DocumentAnalysisAsyncClient} + */ + public void createDocumentAnalysisAsyncClient() { + // BEGIN: com.azure.ai.documentintelligence.DocumentAnalysisAsyncClient.instantiation + DocumentAnalysisAsyncClient documentAnalysisAsyncClient = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .buildAsyncClient(); + // END: com.azure.ai.documentintelligence.DocumentAnalysisAsyncClient.instantiation + } + + /** + * Code snippet for creating a {@link DocumentAnalysisAsyncClient} with pipeline + */ + public void createDocumentAnalysisAsyncClientWithPipeline() { + // BEGIN: com.azure.ai.documentintelligence.DocumentAnalysisAsyncClient.pipeline.instantiation + HttpPipeline pipeline = new HttpPipelineBuilder() + .policies(/* add policies */) + .build(); + + DocumentAnalysisAsyncClient documentAnalysisAsyncClient = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .pipeline(pipeline) + .buildAsyncClient(); + // END: com.azure.ai.documentintelligence.DocumentAnalysisAsyncClient.pipeline.instantiation + } + + /** + * Code snippet for {@link DocumentAnalysisAsyncClient#beginAnalyzeDocument(String, String, String, StringIndexType, List, List, ContentFormat, AnalyzeDocumentRequest)} + */ + public void beginAnalyzeDocumentFromUrl() { + // BEGIN: com.azure.ai.documentintelligence.DocumentAnalysisAsyncClient.beginAnalyzeDocumentFromUrl#String-String-String-StringIndexType-List-List-ContentFormat-AnalyzeDocumentRequest + String documentUrl = "{document_url}"; + String modelId = "{model_id}"; + documentAnalysisAsyncClient.beginAnalyzeDocument(modelId, + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setUrlSource(documentUrl)) + // if polling operation completed, retrieve the final result. + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(analyzeResult -> + analyzeResult.getDocuments() + .forEach(document -> + document.getFields() + .forEach((key, documentField) -> { + System.out.printf("Field text: %s%n", key); + System.out.printf("Field value data content: %s%n", documentField.getContent()); + System.out.printf("Confidence score: %.2f%n", documentField.getConfidence()); + }))); + // END: com.azure.ai.documentintelligence.DocumentAnalysisAsyncClient.beginAnalyzeDocumentFromUrl#String-String-String-StringIndexType-List-List-ContentFormat-AnalyzeDocumentRequest + } + + /** + * Code snippet for + * {@link DocumentAnalysisAsyncClient#beginClassifyDocument(String, ClassifyDocumentRequest, StringIndexType, SplitMode)} + * with options + * + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public void beginClassifyDocument() throws IOException { + // BEGIN: com.azure.ai.documentintelligence.DocumentAnalysisAsyncClient.beginClassifyDocument#String-ClassifyDocumentRequest-StringIndexType-SplitMode + File document = new File("{local/file_path/fileName.jpg}"); + String classifierId = "{model_id}"; + + // Utility method to convert input stream to Binary Data + BinaryData buffer = BinaryData.fromStream(new ByteArrayInputStream(Files.readAllBytes(document.toPath()))); + + documentAnalysisAsyncClient.beginClassifyDocument(classifierId, new ClassifyDocumentRequest().setBase64Source(Files.readAllBytes(document.toPath()))) + // if polling operation completed, retrieve the final result. + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(analyzeResult -> { + System.out.println(analyzeResult.getModelId()); + analyzeResult.getDocuments() + .forEach(analyzedDocument -> System.out.printf("Doc Type: %s%n", analyzedDocument.getDocType())); + }); + // END: com.azure.ai.documentintelligence.DocumentAnalysisAsyncClient.beginClassifyDocument#String-ClassifyDocumentRequest-StringIndexType-SplitMode + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/DocumentAnalysisClientJavaDocCodeSnippets.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/DocumentAnalysisClientJavaDocCodeSnippets.java new file mode 100644 index 000000000000..a5ec0242bd12 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/DocumentAnalysisClientJavaDocCodeSnippets.java @@ -0,0 +1,202 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence; + +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.AzureBlobContentSource; +import com.azure.ai.documentintelligence.models.BuildDocumentModelRequest; +import com.azure.ai.documentintelligence.models.ClassifyDocumentRequest; +import com.azure.ai.documentintelligence.models.ContentFormat; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentAnalysisFeature; +import com.azure.ai.documentintelligence.models.DocumentBuildMode; +import com.azure.ai.documentintelligence.models.DocumentModelDetails; +import com.azure.ai.documentintelligence.models.DocumentTable; +import com.azure.ai.documentintelligence.models.StringIndexType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.experimental.models.PollResult; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.util.polling.SyncPoller; +import com.azure.identity.DefaultAzureCredentialBuilder; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.Arrays; +import java.util.List; + +/** + * Code snippet for {@link DocumentAnalysisClient} + */ +public class DocumentAnalysisClientJavaDocCodeSnippets { + private final DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder().buildClient(); + private final DocumentModelAdministrationClient documentModelAdminClient = + new DocumentModelAdministrationClientBuilder().buildClient(); + + /** + * Code snippet for creating a {@link DocumentAnalysisClient} + */ + public void createDocumentAnalysisClient() { + // BEGIN: com.azure.ai.documentintelligence.DocumentAnalysisClient.instantiation + DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .buildClient(); + // END: com.azure.ai.documentintelligence.DocumentAnalysisClient.instantiation + } + + public void useAadAsyncClient() { + // BEGIN: readme-sample-createDocumentAnalysisAsyncClientWithAAD + DocumentAnalysisAsyncClient documentAnalysisAsyncClient = new DocumentAnalysisClientBuilder() + .endpoint("{endpoint}") + .credential(new DefaultAzureCredentialBuilder().build()) + .buildAsyncClient(); + // END: readme-sample-createDocumentAnalysisAsyncClientWithAAD + } + + /** + * Code snippet for creating a {@link DocumentAnalysisClient} with pipeline + */ + public void createDocumentAnalysisClientWithPipeline() { + // BEGIN: com.azure.ai.documentintelligence.DocumentAnalysisClient.pipeline.instantiation + HttpPipeline pipeline = new HttpPipelineBuilder() + .policies(/* add policies */) + .build(); + + DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .pipeline(pipeline) + .buildClient(); + // END: com.azure.ai.documentintelligence.DocumentAnalysisClient.pipeline.instantiation + } + + + // Analyze Custom Form + + /** + * Code snippet for {@link DocumentAnalysisClient#beginAnalyzeDocument(String, String, String, StringIndexType, List, List, ContentFormat, AnalyzeDocumentRequest)} + */ + public void beginAnalyzeDocumentFromUrl() { + // BEGIN: com.azure.ai.documentintelligence.DocumentAnalysisClient.beginAnalyzeDocumentFromUrl#String-String-String-StringIndexType-List-List-ContentFormat-AnalyzeDocumentRequest + String documentUrl = "{document_url}"; + String modelId = "{custom_trained_model_id}"; + + documentAnalysisClient.beginAnalyzeDocument(modelId, + "1", + "en-US", + StringIndexType.TEXT_ELEMENTS, + Arrays.asList(DocumentAnalysisFeature.LANGUAGES), + null, + ContentFormat.TEXT, + new AnalyzeDocumentRequest().setUrlSource(documentUrl)).getFinalResult() + .getDocuments().stream() + .map(Document::getFields) + .forEach(documentFieldMap -> documentFieldMap.forEach((key, documentField) -> { + System.out.printf("Field text: %s%n", key); + System.out.printf("Field value data content: %s%n", documentField.getContent()); + System.out.printf("Confidence score: %.2f%n", documentField.getConfidence()); + })); + + // END: com.azure.ai.documentintelligence.DocumentAnalysisClient.beginAnalyzeDocumentFromUrl#String-String-String-StringIndexType-List-List-ContentFormat-AnalyzeDocumentRequest + } + + /** + * Code snippet for + * {@link DocumentAnalysisClient#beginClassifyDocument(String, ClassifyDocumentRequest)} + * + * @throws IOException Exception thrown when there is an error in reading all the bytes from the File. + */ + public void beginClassifyDocumentContext() throws IOException { + // BEGIN: com.azure.ai.documentintelligence.DocumentAnalysisClient.beginClassifyDocument#string-BinaryData-Context + File document = new File("{local/file_path/fileName.jpg}"); + String classifierId = "{custom_trained_classifier_id}"; + + documentAnalysisClient.beginClassifyDocument(classifierId, new ClassifyDocumentRequest().setBase64Source(Files.readAllBytes(document.toPath()))) + .getFinalResult() + .getDocuments() + .forEach(analyzedDocument -> System.out.printf("Doc Type: %s%n", analyzedDocument.getDocType())); + // END: com.azure.ai.documentintelligence.DocumentAnalysisClient.beginClassifyDocument#string-BinaryData-Context + } + + private void buildAndAnalyzeCustomDocument() { + // BEGIN: readme-sample-build-analyze + String blobContainerUrl = "{SAS_URL_of_your_container_in_blob_storage}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your custom documents. + String prefix = "{blob_name_prefix}}"; + // Build custom document analysis model + SyncPoller buildOperationPoller = + documentModelAdminClient.beginBuildDocumentModel( + new BuildDocumentModelRequest("modelId", DocumentBuildMode.TEMPLATE) + .setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl))); + + DocumentModelDetails customBuildModel = buildOperationPoller.getFinalResult(); + + // analyze using custom-built model + String modelId = customBuildModel.getModelId(); + String documentUrl = "documentUrl"; + SyncPoller analyzeDocumentPoller = + documentAnalysisClient.beginAnalyzeDocument(modelId, + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setUrlSource(documentUrl)); + + AnalyzeResult analyzeResult = analyzeDocumentPoller.getFinalResult(); + + for (int i = 0; i < analyzeResult.getDocuments().size(); i++) { + final Document analyzedDocument = analyzeResult.getDocuments().get(i); + System.out.printf("----------- Analyzing custom document %d -----------%n", i); + System.out.printf("Analyzed document has doc type %s with confidence : %.2f%n", + analyzedDocument.getDocType(), analyzedDocument.getConfidence()); + analyzedDocument.getFields().forEach((key, documentField) -> { + System.out.printf("Document Field content: %s%n", documentField.getContent()); + System.out.printf("Document Field confidence: %.2f%n", documentField.getConfidence()); + System.out.printf("Document Field Type: %s%n", documentField.getType()); + System.out.printf("Document Field found within bounding region: %s%n", + documentField.getBoundingRegions().toString()); + }); + } + + analyzeResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line '%s' is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getPolygon().toString())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word '%s' has a confidence score of %.2f.%n", + documentWord.getContent(), + documentWord.getConfidence())); + }); + + // tables + List tables = analyzeResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + // END: readme-sample-build-analyze + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/ReadmeSamples.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/ReadmeSamples.java index 5ad9053a176c..b1b6fffaa234 100644 --- a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/ReadmeSamples.java +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/ReadmeSamples.java @@ -4,9 +4,293 @@ package com.azure.ai.documentintelligence; +import com.azure.ai.documentintelligence.models.AnalyzeDocumentRequest; +import com.azure.ai.documentintelligence.models.AnalyzeResult; +import com.azure.ai.documentintelligence.models.AnalyzeResultOperation; +import com.azure.ai.documentintelligence.models.AzureBlobContentSource; +import com.azure.ai.documentintelligence.models.BuildDocumentModelRequest; +import com.azure.ai.documentintelligence.models.ContentFormat; +import com.azure.ai.documentintelligence.models.Document; +import com.azure.ai.documentintelligence.models.DocumentAnalysisFeature; +import com.azure.ai.documentintelligence.models.DocumentBuildMode; +import com.azure.ai.documentintelligence.models.DocumentField; +import com.azure.ai.documentintelligence.models.DocumentFieldType; +import com.azure.ai.documentintelligence.models.DocumentModelDetails; +import com.azure.ai.documentintelligence.models.DocumentTable; +import com.azure.ai.documentintelligence.models.ResourceDetails; +import com.azure.ai.documentintelligence.models.StringIndexType; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.experimental.models.PollResult; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.SyncPoller; +import com.azure.identity.DefaultAzureCredentialBuilder; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.time.LocalDate; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + public final class ReadmeSamples { - public void readmeSamples() { - // BEGIN: com.azure.ai.documentintelligence.readme - // END: com.azure.ai.documentintelligence.readme + DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder().buildClient(); + DocumentModelAdministrationClient administrationClient = new DocumentModelAdministrationClientBuilder() + .buildClient(); + public void createWithKeyCredential() throws IOException { + // BEGIN: com.azure.ai.documentintelligence.readme.createDocumentAnalysisClient + DocumentAnalysisClient documentAnalysisClient = new DocumentAnalysisClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .buildClient(); + // END: com.azure.ai.documentintelligence.readme.createDocumentAnalysisClient + } + + /** + * Code snippet for creating a {@link DocumentAnalysisAsyncClient} + */ + public void createDocumentAnalysisClientWithAAD() { + // BEGIN: com.azure.ai.documentanalysis.readme.DocumentAnalysisAsyncClient.withAAD + DocumentAnalysisAsyncClient documentAnalysisAsyncClient = new DocumentAnalysisClientBuilder() + .credential(new DefaultAzureCredentialBuilder().build()) + .endpoint("{endpoint}") + .buildAsyncClient(); + // END: com.azure.ai.documentanalysis.readme.DocumentAnalysisAsyncClient.withAAD + } + + public void analyzeLayout() throws IOException { + // BEGIN: com.azure.ai.documentintelligence.readme.analyzeLayout + File layoutDocument = new File("local/file_path/filename.png"); + Path filePath = layoutDocument.toPath(); + BinaryData layoutDocumentData = BinaryData.fromFile(filePath, (int) layoutDocument.length()); + + SyncPoller analyzeLayoutResultPoller = + documentAnalysisClient.beginAnalyzeDocument("prebuilt-layout", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setBase64Source(Files.readAllBytes(layoutDocument.toPath()))); + + AnalyzeResult analyzeLayoutResult = analyzeLayoutResultPoller.getFinalResult(); + + // pages + analyzeLayoutResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line '%s' is within a bounding box %s.%n", + documentLine.getContent(), + documentLine.getPolygon().toString())); + + // selection marks + documentPage.getSelectionMarks().forEach(documentSelectionMark -> + System.out.printf("Selection mark is '%s' and is within a bounding box %s with confidence %.2f.%n", + documentSelectionMark.getState().toString(), + documentSelectionMark.getPolygon().toString(), + documentSelectionMark.getConfidence())); + }); + + // tables + List tables = analyzeLayoutResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + // END: com.azure.ai.documentintelligence.readme.analyzeLayout + } + + public void analyzeReceipts() throws IOException { + // BEGIN: com.azure.ai.documentintelligence.readme.analyzeReceipt + File sourceFile = new File("../documentintelligence/azure-ai-documentintelligence/src/samples/resources/" + + "sample-forms/receipts/contoso-allinone.jpg"); + + SyncPoller analyzeReceiptPoller = + documentAnalysisClient.beginAnalyzeDocument("prebuilt-receipt", + null, + null, + null, + null, + null, + null, + new AnalyzeDocumentRequest().setBase64Source(Files.readAllBytes(sourceFile.toPath()))); + + AnalyzeResult receiptResults = analyzeReceiptPoller.getFinalResult(); + + for (int i = 0; i < receiptResults.getDocuments().size(); i++) { + Document analyzedReceipt = receiptResults.getDocuments().get(i); + Map receiptFields = analyzedReceipt.getFields(); + System.out.printf("----------- Analyzing receipt info %d -----------%n", i); + DocumentField merchantNameField = receiptFields.get("MerchantName"); + if (merchantNameField != null) { + if (DocumentFieldType.STRING == merchantNameField.getType()) { + String merchantName = merchantNameField.getValueString(); + System.out.printf("Merchant Name: %s, confidence: %.2f%n", + merchantName, merchantNameField.getConfidence()); + } + } + + DocumentField merchantPhoneNumberField = receiptFields.get("MerchantPhoneNumber"); + if (merchantPhoneNumberField != null) { + if (DocumentFieldType.PHONE_NUMBER == merchantPhoneNumberField.getType()) { + String merchantAddress = merchantPhoneNumberField.getValuePhoneNumber(); + System.out.printf("Merchant Phone number: %s, confidence: %.2f%n", + merchantAddress, merchantPhoneNumberField.getConfidence()); + } + } + + DocumentField merchantAddressField = receiptFields.get("MerchantAddress"); + if (merchantAddressField != null) { + if (DocumentFieldType.STRING == merchantAddressField.getType()) { + String merchantAddress = merchantAddressField.getValueString(); + System.out.printf("Merchant Address: %s, confidence: %.2f%n", + merchantAddress, merchantAddressField.getConfidence()); + } + } + + DocumentField transactionDateField = receiptFields.get("TransactionDate"); + if (transactionDateField != null) { + if (DocumentFieldType.DATE == transactionDateField.getType()) { + LocalDate transactionDate = transactionDateField.getValueDate(); + System.out.printf("Transaction Date: %s, confidence: %.2f%n", + transactionDate, transactionDateField.getConfidence()); + } + } + } + // END: com.azure.ai.documentintelligence.readme.analyzeReceipt + + } + + public void buildModel() throws IOException { + // BEGIN: com.azure.ai.documentintelligence.readme.buildModel + // Build custom document analysis model + String blobContainerUrl = "{SAS_URL_of_your_container_in_blob_storage}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. + SyncPoller buildOperationPoller = + administrationClient.beginBuildDocumentModel(new BuildDocumentModelRequest("modelID", DocumentBuildMode.TEMPLATE) + .setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl))); + + DocumentModelDetails documentModelDetails = buildOperationPoller.getFinalResult(); + + // Model Info + System.out.printf("Model ID: %s%n", documentModelDetails.getModelId()); + System.out.printf("Model Description: %s%n", documentModelDetails.getDescription()); + System.out.printf("Model created on: %s%n%n", documentModelDetails.getCreatedDateTime()); + + System.out.println("Document Fields:"); + documentModelDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field)); + }); + }); + // END: com.azure.ai.documentintelligence.readme.buildModel + + } + + public void analyzeCustomModel() { + // BEGIN: com.azure.ai.documentintelligence.readme.analyzeCustomModel + String documentUrl = "{document-url}"; + String modelId = "{custom-built-model-ID}"; + SyncPoller analyzeDocumentPoller = documentAnalysisClient.beginAnalyzeDocument(modelId, + "1", + "en-US", + StringIndexType.TEXT_ELEMENTS, + Arrays.asList(DocumentAnalysisFeature.LANGUAGES), + null, + ContentFormat.TEXT, + new AnalyzeDocumentRequest().setUrlSource(documentUrl)); + + AnalyzeResult analyzeResult = analyzeDocumentPoller.getFinalResult(); + + for (int i = 0; i < analyzeResult.getDocuments().size(); i++) { + final Document analyzedDocument = analyzeResult.getDocuments().get(i); + System.out.printf("----------- Analyzing custom document %d -----------%n", i); + System.out.printf("Analyzed document has doc type %s with confidence : %.2f%n", + analyzedDocument.getDocType(), analyzedDocument.getConfidence()); + } + + analyzeResult.getPages().forEach(documentPage -> { + System.out.printf("Page has width: %.2f and height: %.2f, measured with unit: %s%n", + documentPage.getWidth(), + documentPage.getHeight(), + documentPage.getUnit()); + + // lines + documentPage.getLines().forEach(documentLine -> + System.out.printf("Line '%s' is within a bounding polygon %s.%n", + documentLine.getContent(), + documentLine.getPolygon())); + + // words + documentPage.getWords().forEach(documentWord -> + System.out.printf("Word '%s' has a confidence score of %.2f.%n", + documentWord.getContent(), + documentWord.getConfidence())); + }); + + // tables + List tables = analyzeResult.getTables(); + for (int i = 0; i < tables.size(); i++) { + DocumentTable documentTable = tables.get(i); + System.out.printf("Table %d has %d rows and %d columns.%n", i, documentTable.getRowCount(), + documentTable.getColumnCount()); + documentTable.getCells().forEach(documentTableCell -> { + System.out.printf("Cell '%s', has row index %d and column index %d.%n", + documentTableCell.getContent(), + documentTableCell.getRowIndex(), documentTableCell.getColumnIndex()); + }); + System.out.println(); + } + // END: com.azure.ai.documentintelligence.readme.analyzeCustomModel + + } + + public void manageModels() { + // BEGIN: com.azure.ai.documentintelligence.readme.manageModels + + ResourceDetails resourceDetails = administrationClient.getResourceInfo(); + System.out.printf("The resource has %s models, and we can have at most %s models.%n", + resourceDetails.getCustomDocumentModels().getCount(), resourceDetails.getCustomDocumentModels().getLimit()); + + // Next, we get a paged list of all of our models + PagedIterable customDocumentModels = administrationClient.listModels(); + System.out.println("We have following models in the account:"); + customDocumentModels.forEach(documentModelInfo -> { + System.out.println(); + // get custom document analysis model info + DocumentModelDetails documentModel = administrationClient.getModel(documentModelInfo.getModelId()); + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model created on: %s%n", documentModel.getCreatedDateTime()); + if (documentModel.getDocTypes() != null) { + documentModel.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s, ", field); + System.out.printf("Field type: %s, ", documentFieldSchema.getType()); + if (documentTypeDetails.getFieldConfidence() != null) { + System.out.printf("Field confidence: %.2f%n", + documentTypeDetails.getFieldConfidence().get(field)); + } + }); + }); + } + }); + // END: com.azure.ai.documentintelligence.readme.manageModels } } diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentClassifier.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentClassifier.java new file mode 100644 index 000000000000..1d6ad5335462 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentClassifier.java @@ -0,0 +1,70 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.ai.documentintelligence.models.AzureBlobContentSource; +import com.azure.ai.documentintelligence.models.BuildDocumentClassifierRequest; +import com.azure.ai.documentintelligence.models.ClassifierDocumentTypeDetails; +import com.azure.ai.documentintelligence.models.DocumentClassifierDetails; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.experimental.models.PollResult; +import com.azure.core.util.polling.SyncPoller; + +import java.util.HashMap; + +/** + * Sample to build a classifier model with training data. + * For instructions on setting up documents for training in an Azure Storage Blob Container, see + * here. + *

+ * For this sample, you can use the training documents found in + * here + * to create your own custom document analysis models. + * For instructions to create a label file for your training forms, please see: + * here. + *

+ * Further, see AnalyzeDocumentWithClassifier.java to analyze a document with your custom classifier built model. + */ +public class BuildDocumentClassifier { + + /** + * Main method to invoke this demo. + * + * @param args Unused arguments to the program. + */ + public static void main(String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + // Build custom classifier document model + String blobContainerUrl1040D = "{SAS_URL_of_your_container_in_blob_storage}"; + String blobContainerUrl1040A = "{SAS_URL_of_your_container_in_blob_storage}"; + + HashMap docTypes = new HashMap<>(); + docTypes.put("1040-A", new ClassifierDocumentTypeDetails().setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl1040A) + )); + docTypes.put("1040-D", new ClassifierDocumentTypeDetails().setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl1040D) + )); + + SyncPoller buildOperationPoller + = client.beginBuildClassifier(new BuildDocumentClassifierRequest("classifierId", docTypes)); + DocumentClassifierDetails documentClassifierDetails = buildOperationPoller.getFinalResult(); + + System.out.printf("Classifier ID: %s%n", documentClassifierDetails.getClassifierId()); + System.out.printf("Classifier description: %s%n", documentClassifierDetails.getDescription()); + System.out.printf("Classifier created on: %s%n", documentClassifierDetails.getCreatedDateTime()); + System.out.printf("Classifier expires on: %s%n", documentClassifierDetails.getExpirationDateTime()); + documentClassifierDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + if (documentTypeDetails.getAzureBlobSource() != null) { + System.out.printf("Blob Source container Url: %s", documentTypeDetails + .getAzureBlobSource().getContainerUrl()); + } + }); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentClassifierAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentClassifierAsync.java new file mode 100644 index 000000000000..36b4179b46e8 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentClassifierAsync.java @@ -0,0 +1,70 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.ai.documentintelligence.models.AzureBlobContentSource; +import com.azure.ai.documentintelligence.models.BuildDocumentClassifierRequest; +import com.azure.ai.documentintelligence.models.ClassifierDocumentTypeDetails; +import com.azure.ai.documentintelligence.models.DocumentClassifierDetails; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.experimental.models.PollResult; +import com.azure.core.util.polling.SyncPoller; + +import java.util.HashMap; + +/** + * Sample to build a classifier model with training data. + * For instructions on setting up documents for training in an Azure Storage Blob Container, see + * here. + *

+ * For this sample, you can use the training documents found in + * here + * to create your own custom document analysis models. + * For instructions to create a label file for your training forms, please see: + * here. + *

+ * Further, see AnalyzeDocumentWithClassifier.java to analyze a document with your custom classifer built model. + */ +public class BuildDocumentClassifierAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused arguments to the program. + */ + public static void main(String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + String blobContainerUrl1040D = "{SAS_URL_of_your_container_in_blob_storage}"; + String blobContainerUrl1040A = "{SAS_URL_of_your_container_in_blob_storage}"; + HashMap docTypes = new HashMap<>(); + docTypes.put("1040-D", new ClassifierDocumentTypeDetails().setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl1040D) + )); + docTypes.put("1040-A", new ClassifierDocumentTypeDetails().setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl1040A) + )); + + SyncPoller buildOperationPoller = + client.beginBuildClassifier(new BuildDocumentClassifierRequest("classifierID", docTypes)); + + DocumentClassifierDetails documentClassifierDetails = buildOperationPoller.getFinalResult(); + + // Classifier model Info + System.out.printf("Classifier ID: %s%n", documentClassifierDetails.getClassifierId()); + System.out.printf("Classifier description: %s%n", documentClassifierDetails.getDescription()); + System.out.printf("Classifier created on: %s%n", documentClassifierDetails.getCreatedDateTime()); + System.out.printf("Classifier expires on: %s%n", documentClassifierDetails.getExpirationDateTime()); + documentClassifierDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + if (documentTypeDetails.getAzureBlobSource() != null) { + System.out.printf("Blob Source container Url: %s", (documentTypeDetails + .getAzureBlobSource()).getContainerUrl()); + } + }); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentModel.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentModel.java new file mode 100644 index 000000000000..f0121d017caa --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentModel.java @@ -0,0 +1,66 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.ai.documentintelligence.models.AzureBlobContentSource; +import com.azure.ai.documentintelligence.models.BuildDocumentModelRequest; +import com.azure.ai.documentintelligence.models.DocumentBuildMode; +import com.azure.ai.documentintelligence.models.DocumentModelDetails; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.experimental.models.PollResult; +import com.azure.core.util.polling.SyncPoller; + +/** + * Sample to build a model with training data. + * For instructions on setting up documents for training in an Azure Storage Blob Container, see + * here. + *

+ * For this sample, you can use the training documents found in + * here + * to create your own custom document analysis models. + * For instructions to create a label file for your training forms, please see: + * here. + *

+ * Further, see AnalyzeCustomDocumentFromUrl.java to analyze a custom document with your built model. + */ +public class BuildDocumentModel { + + /** + * Main method to invoke this demo. + * + * @param args Unused arguments to the program. + */ + public static void main(String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + // Build custom document analysis model + String blobContainerUrl = "{SAS_URL_of_your_container_in_blob_storage}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. + SyncPoller buildOperationPoller = + client.beginBuildDocumentModel(new BuildDocumentModelRequest("modelID", DocumentBuildMode.TEMPLATE) + .setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl))); + + DocumentModelDetails documentModelDetails = buildOperationPoller.getFinalResult(); + + // Model Info + System.out.printf("Model ID: %s%n", documentModelDetails.getModelId()); + System.out.printf("Model Description: %s%n", documentModelDetails.getDescription()); + System.out.printf("Model created on: %s%n%n", documentModelDetails.getCreatedDateTime()); + + System.out.println("Document Fields:"); + documentModelDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field)); + }); + }); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentModelAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentModelAsync.java new file mode 100644 index 000000000000..03e1c523ef4d --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/BuildDocumentModelAsync.java @@ -0,0 +1,88 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationAsyncClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.ai.documentintelligence.models.AzureBlobContentSource; +import com.azure.ai.documentintelligence.models.BuildDocumentModelRequest; +import com.azure.ai.documentintelligence.models.DocumentBuildMode; +import com.azure.ai.documentintelligence.models.DocumentModelDetails; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.experimental.models.PollResult; +import com.azure.core.util.polling.PollerFlux; +import reactor.core.publisher.Mono; + +import java.util.concurrent.TimeUnit; + +/** + * Async sample to build a model with training data. + * For instructions on setting up documents for training in an Azure Storage Blob Container, see + * here. + *

+ * For this sample, you can use the training documents found in + * here + * to create your own custom document analysis models. + * For instructions to create a label file for your training forms, please see: + * here. + *

+ * Further, see AnalyzeCustomDocumentAsync.java to analyze a custom document with your built model. + */ +public class BuildDocumentModelAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused arguments to the program. + */ + public static void main(String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationAsyncClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + String blobContainerUrl = "{SAS_URL_of_your_container_in_blob_storage}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. + String prefix = "{blob_name_prefix}"; + PollerFlux buildModelPoller = + client.beginBuildDocumentModel(new BuildDocumentModelRequest("modelID", DocumentBuildMode.TEMPLATE) + .setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl))); + + Mono customFormModelResult = buildModelPoller + .last() + .flatMap(pollResponse -> { + if (pollResponse.getStatus().isComplete()) { + // building model completed successfully, retrieving final result. + return pollResponse.getFinalResult(); + } else { + return Mono.error(new RuntimeException("Polling completed unsuccessfully with status:" + + pollResponse.getStatus())); + } + }); + + customFormModelResult.subscribe(documentModel -> { + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model created on: %s%n%n", documentModel.getCreatedDateTime()); + + System.out.println("Document Fields:"); + documentModel.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field)); + }); + }); + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ComposeDocumentModel.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ComposeDocumentModel.java new file mode 100644 index 000000000000..1984a309b608 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ComposeDocumentModel.java @@ -0,0 +1,83 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.ai.documentintelligence.models.AzureBlobContentSource; +import com.azure.ai.documentintelligence.models.BuildDocumentModelRequest; +import com.azure.ai.documentintelligence.models.ComponentDocumentModelDetails; +import com.azure.ai.documentintelligence.models.ComposeDocumentModelRequest; +import com.azure.ai.documentintelligence.models.DocumentBuildMode; +import com.azure.ai.documentintelligence.models.DocumentModelDetails; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.experimental.models.PollResult; +import com.azure.core.util.polling.SyncPoller; + +import java.time.Duration; +import java.util.Arrays; + +/** + * Sample for creating a custom document analysis composed model. + *

+ * This is useful when you have build different analysis models and want to aggregate a group of + * them into a single model that you (or a user) could use to analyze a custom document. When doing + * so, you can let the service decide which model more accurately represents the document to + * analyze, instead of manually trying each built model against the form and selecting + * the most accurate one. + *

+ */ +public class ComposeDocumentModel { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + // Build custom document analysis model + String model1TrainingFiles = "{SAS_URL_of_your_container_in_blob_storage_for_model_1}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. + SyncPoller model1Poller = + client.beginBuildDocumentModel(new BuildDocumentModelRequest("modelID", DocumentBuildMode.TEMPLATE) + .setAzureBlobSource(new AzureBlobContentSource(model1TrainingFiles))); + + // Build custom document analysis model + String model2TrainingFiles = "{SAS_URL_of_your_container_in_blob_storage_for_model_2}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. + SyncPoller model2Poller = + client.beginBuildDocumentModel(new BuildDocumentModelRequest("modelID", DocumentBuildMode.TEMPLATE) + .setAzureBlobSource(new AzureBlobContentSource(model2TrainingFiles))); + + String labeledModelId1 = model1Poller.getFinalResult().getModelId(); + String labeledModelId2 = model2Poller.getFinalResult().getModelId(); + String composedModelId = "my-composed-model"; + final DocumentModelDetails documentModelDetails = + client.beginComposeModel( + new ComposeDocumentModelRequest(composedModelId, Arrays.asList(new ComponentDocumentModelDetails(labeledModelId1), new ComponentDocumentModelDetails(labeledModelId2))) + .setDescription("my composed model description")) + .setPollInterval(Duration.ofSeconds(5)) + .getFinalResult(); + + System.out.printf("Model ID: %s%n", documentModelDetails.getModelId()); + System.out.printf("Model description: %s%n", documentModelDetails.getDescription()); + System.out.printf("Composed model created on: %s%n", documentModelDetails.getCreatedDateTime()); + + System.out.println("Document Fields:"); + documentModelDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field)); + }); + }); + } +} + diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ComposeDocumentModelAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ComposeDocumentModelAsync.java new file mode 100644 index 000000000000..cfcc8a4a13ed --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ComposeDocumentModelAsync.java @@ -0,0 +1,95 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationAsyncClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.ai.documentintelligence.models.AzureBlobContentSource; +import com.azure.ai.documentintelligence.models.BuildDocumentModelRequest; +import com.azure.ai.documentintelligence.models.ComponentDocumentModelDetails; +import com.azure.ai.documentintelligence.models.ComposeDocumentModelRequest; +import com.azure.ai.documentintelligence.models.DocumentBuildMode; +import com.azure.ai.documentintelligence.models.DocumentModelDetails; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.experimental.models.PollResult; +import com.azure.core.util.polling.AsyncPollResponse; +import com.azure.core.util.polling.PollerFlux; + +import java.time.Duration; +import java.util.Arrays; +import java.util.concurrent.TimeUnit; + +/** + * Sample for creating a custom document analysis composed model. + *

+ * This is useful when you have build different analysis models and want to aggregate a group of + * them into a single model that you (or a user) could use to analyze a custom document. When doing + * so, you can let the service decide which model more accurately represents the document to + * analyze, instead of manually trying each built model against the form and selecting + * the most accurate one. + *

+ */ +public class ComposeDocumentModelAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationAsyncClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + // Build custom document analysis model + String model1TrainingFiles = "{SAS_URL_of_your_container_in_blob_storage_for_model_1}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. + PollerFlux model1Poller = + client.beginBuildDocumentModel(new BuildDocumentModelRequest("modelID", DocumentBuildMode.TEMPLATE) + .setAzureBlobSource(new AzureBlobContentSource(model1TrainingFiles))); + + // Build custom document analysis model + String model2TrainingFiles = "{SAS_URL_of_your_container_in_blob_storage_for_model_2}"; + // The shared access signature (SAS) Url of your Azure Blob Storage container with your forms. + PollerFlux model2Poller = + client.beginBuildDocumentModel(new BuildDocumentModelRequest("modelID", DocumentBuildMode.TEMPLATE) + .setAzureBlobSource(new AzureBlobContentSource(model2TrainingFiles))); + + String labeledModelId1 = model1Poller.getSyncPoller().getFinalResult().getModelId(); + String labeledModelId2 = model2Poller.getSyncPoller().getFinalResult().getModelId(); + + client.beginComposeModel( + new ComposeDocumentModelRequest("composedModelId", Arrays.asList(new ComponentDocumentModelDetails(labeledModelId1), new ComponentDocumentModelDetails(labeledModelId2))) + .setDescription("my composed model description")) + .setPollInterval(Duration.ofSeconds(5)) + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(documentModel -> { + + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Composed model created on: %s%n", documentModel.getCreatedDateTime()); + + System.out.println("Document Fields:"); + documentModel.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field)); + }); + }); + }); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.MINUTES.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} + diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/CopyDocumentModel.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/CopyDocumentModel.java new file mode 100644 index 000000000000..5e875d80b617 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/CopyDocumentModel.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.ai.documentintelligence.models.AuthorizeCopyRequest; +import com.azure.ai.documentintelligence.models.CopyAuthorization; +import com.azure.ai.documentintelligence.models.DocumentModelDetails; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.experimental.models.PollResult; +import com.azure.core.util.polling.SyncPoller; + +/** + * Sample for copying a custom document analysis model from a source Form Recognizer resource to a target Form Recognizer resource. + */ +public class CopyDocumentModel { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a source client which has the model that we want to copy. + DocumentModelAdministrationClient sourceClient = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + // Instantiate the target client where we want to copy the custom document analysis model to. + DocumentModelAdministrationClient targetClient = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + String copiedModelId = "my-copied-model"; + + // Get authorization to copy the model to target resource + CopyAuthorization modelDocumentModelCopyAuthorization + = targetClient.authorizeModelCopy(new AuthorizeCopyRequest(copiedModelId)); + + // The ID of the model that needs to be copied to the target resource + String copyModelId = "copy-model-ID"; + // Start copy operation from the source client + SyncPoller copyPoller = sourceClient.beginCopyModelTo(copyModelId, + modelDocumentModelCopyAuthorization); + copyPoller.waitForCompletion(); + + // Get the copied model + DocumentModelDetails copiedModel = targetClient.getModel(modelDocumentModelCopyAuthorization.getTargetModelId()); + + System.out.printf("Copied model has model ID: %s, was created on: %s.%n", + copiedModel.getModelId(), + copiedModel.getCreatedDateTime()); + } +} + diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/CopyDocumentModelAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/CopyDocumentModelAsync.java new file mode 100644 index 000000000000..00fdc783a83f --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/CopyDocumentModelAsync.java @@ -0,0 +1,69 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationAsyncClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.ai.documentintelligence.models.AuthorizeCopyRequest; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.util.polling.AsyncPollResponse; + +import java.util.concurrent.TimeUnit; + +/** + * Async sample for copying a custom document analysis model from a source Form Recognizer resource to a target Form Recognizer resource. + */ +public class CopyDocumentModelAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a source client which has the model that we want to copy. + DocumentModelAdministrationAsyncClient sourceClient = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + // Instantiate the target client where we want to copy the custom document analysis model to. + DocumentModelAdministrationAsyncClient targetClient = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + String copiedModelId = "my-copied-model"; + // The ID of the model that needs to be copied to the target resource + String copyModelId = "copy-model-ID"; + + // Get authorization to copy the model to target resource + targetClient.authorizeModelCopy(new AuthorizeCopyRequest(copyModelId)) + // Start copy operation from the source client + // The ID of the model that needs to be copied to the target resource + .subscribe(copyAuthorization -> sourceClient.beginCopyModelTo(copyModelId, copyAuthorization) + .filter(pollResponse -> pollResponse.getStatus().isComplete()) + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(documentModelInfo -> { + System.out.printf("Original model has model ID: %s and was created on: %s.%n", + documentModelInfo.getModelId(), + documentModelInfo.getCreatedDateTime()); + + // Get the copied model from the target resource + targetClient.getModel(copyAuthorization.getTargetModelId()).subscribe(documentModel -> + System.out.printf("Copied model has model ID: %s was created on: %s.%n", + documentModel.getModelId(), + documentModel.getCreatedDateTime())); + })); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.SECONDS.sleep(30); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/DocumentModelAdminAsyncClientJavaDocCodeSnippets.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/DocumentModelAdminAsyncClientJavaDocCodeSnippets.java new file mode 100644 index 000000000000..b108bd4408bb --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/DocumentModelAdminAsyncClientJavaDocCodeSnippets.java @@ -0,0 +1,498 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationAsyncClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.ai.documentintelligence.models.AuthorizeCopyRequest; +import com.azure.ai.documentintelligence.models.AzureBlobContentSource; +import com.azure.ai.documentintelligence.models.BuildDocumentClassifierRequest; +import com.azure.ai.documentintelligence.models.BuildDocumentModelRequest; +import com.azure.ai.documentintelligence.models.ClassifierDocumentTypeDetails; +import com.azure.ai.documentintelligence.models.ComponentDocumentModelDetails; +import com.azure.ai.documentintelligence.models.ComposeDocumentModelRequest; +import com.azure.ai.documentintelligence.models.CopyAuthorization; +import com.azure.ai.documentintelligence.models.DocumentBuildMode; +import com.azure.ai.documentintelligence.models.DocumentModelBuildOperationDetails; +import com.azure.ai.documentintelligence.models.OperationStatus; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.AsyncPollResponse; +import com.azure.identity.DefaultAzureCredentialBuilder; +import com.nimbusds.oauth2.sdk.Request; + +import java.util.Arrays; +import java.util.HashMap; + +/** + * Code snippet for {@link DocumentModelAdministrationAsyncClient} + */ +public class DocumentModelAdminAsyncClientJavaDocCodeSnippets { + private final DocumentModelAdministrationAsyncClient documentModelAdministrationAsyncClient = + new DocumentModelAdministrationClientBuilder().buildAsyncClient(); + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient} initialization + */ + public void documentModelAdministrationAsyncClientInitialization() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.initialization + DocumentModelAdministrationAsyncClient client = new DocumentModelAdministrationClientBuilder() + .endpoint("{endpoint}") + .credential(new DefaultAzureCredentialBuilder().build()) + .buildAsyncClient(); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.initialization + } + + public void documentModelAdministrationAsyncClientKeyCred() { + // BEGIN: readme-sample-createDocumentModelAdministrationAsyncClient + DocumentModelAdministrationAsyncClient documentModelAdministrationAsyncClient = + new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .buildAsyncClient(); + // END: readme-sample-createDocumentModelAdministrationAsyncClient + } + + /** + * Code snippet for creating a {@link DocumentModelAdministrationAsyncClient} with pipeline + */ + public void createDocumentModelAdministrationAsyncClientWithPipeline() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.pipeline.instantiation + HttpPipeline pipeline = new HttpPipelineBuilder() + .policies(/* add policies */) + .build(); + + DocumentModelAdministrationAsyncClient documentModelAdministrationAsyncClient = + new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .pipeline(pipeline) + .buildAsyncClient(); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.pipeline.instantiation + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#beginBuildDocumentModel(BuildDocumentModelRequest)} + */ + public void beginBuildModel() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.beginBuildDocumentModel#BuildDocumentModelRequest + String blobContainerUrl = "{SAS-URL-of-your-container-in-blob-storage}"; + documentModelAdministrationAsyncClient.beginBuildDocumentModel( + new BuildDocumentModelRequest("modelID", DocumentBuildMode.TEMPLATE) + .setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl))) + // if polling operation completed, retrieve the final result. + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(documentModel -> { + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedDateTime()); + documentModel.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field)); + }); + }); + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.beginBuildDocumentModel#BuildDocumentModelRequest + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#beginBuildClassifier(BinaryData, RequestOptions)} + */ + public void beginBuildClassifier() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.beginBuildClassifier#BuildDocumentClassifierRequest + String blobContainerUrl1040D = "{SAS_URL_of_your_container_in_blob_storage}"; + String blobContainerUrl1040A = "{SAS_URL_of_your_container_in_blob_storage}"; + HashMap documentTypesDetailsMap = new HashMap<>(); + documentTypesDetailsMap.put("1040-D", new ClassifierDocumentTypeDetails().setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl1040D) + )); + documentTypesDetailsMap.put("1040-A", new ClassifierDocumentTypeDetails().setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl1040A) + )); + + documentModelAdministrationAsyncClient.beginBuildClassifier(new BuildDocumentClassifierRequest("classifierID", documentTypesDetailsMap)) + // if polling operation completed, retrieve the final result. + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(classifierDetails -> { + System.out.printf("Classifier ID: %s%n", classifierDetails.getClassifierId()); + System.out.printf("Classifier description: %s%n", classifierDetails.getDescription()); + System.out.printf("Classifier created on: %s%n", classifierDetails.getCreatedDateTime()); + System.out.printf("Classifier expires on: %s%n", classifierDetails.getExpirationDateTime()); + classifierDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + if (documentTypeDetails.getAzureBlobSource() != null) { + System.out.printf("Blob Source container Url: %s", (documentTypeDetails + .getAzureBlobSource()).getContainerUrl()); + } + }); + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.beginBuildClassifier#BuildDocumentClassifierRequest + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#deleteModel(String)} + */ + public void deleteModel() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.deleteModel#string + String modelId = "{model_id}"; + documentModelAdministrationAsyncClient.deleteModel(modelId) + .subscribe(ignored -> System.out.printf("Model ID: %s is deleted%n", modelId)); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.deleteModel#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#deleteModelWithResponse(String, RequestOptions)} + */ + public void deleteModelWithResponse() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.deleteModelWithResponse#string-RequestOptions + String modelId = "{model_id}"; + documentModelAdministrationAsyncClient.deleteModelWithResponse(modelId, null) + .subscribe(response -> { + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + System.out.printf("Model ID: %s is deleted.%n", modelId); + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.deleteModelWithResponse#string-RequestOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#authorizeModelCopy(AuthorizeCopyRequest)} + */ + public void authorizeModelCopy() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.authorizeModelCopy + String modelId = "my-copied-model"; + documentModelAdministrationAsyncClient.authorizeModelCopy(new AuthorizeCopyRequest(modelId)) + .subscribe(copyAuthorization -> + System.out.printf("Copy Authorization for model id: %s, access token: %s, expiration time: %s, " + + "target resource ID; %s, target resource region: %s%n", + copyAuthorization.getTargetModelId(), + copyAuthorization.getAccessToken(), + copyAuthorization.getExpirationDateTime(), + copyAuthorization.getTargetResourceId(), + copyAuthorization.getTargetResourceRegion() + )); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.authorizeModelCopy + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#authorizeModelCopyWithResponse(BinaryData, RequestOptions)} + */ + public void authorizeModelCopyWithResponse() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.authorizeModelCopyWithResponse#Options + /* + String modelId = "my-copied-model"; + Map attrs = new HashMap(); + attrs.put("createdBy", "sample"); + + documentModelAdministrationAsyncClient.authorizeModelCopyWithResponse( + new AuthorizeCopyRequest(modelId) + .setDescription("model desc") + .setTags(attrs), null) + .subscribe(copyAuthorization -> + System.out.printf("Copy Authorization response status: %s, for model id: %s, access token: %s, " + + "expiration time: %s, target resource ID; %s, target resource region: %s%n", + copyAuthorization.getStatusCode(), + copyAuthorization.getValue().getTargetModelId(), + copyAuthorization.getValue().getAccessToken(), + copyAuthorization.getValue().getExpirationDateTime(), + copyAuthorization.getValue().getTargetResourceId(), + copyAuthorization.getValue().getTargetResourceRegion() + )); + */ + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.authorizeModelCopyWithResponse#Options + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getResourceInfo()} + */ + public void getResourceInfo() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getResourceInfo + documentModelAdministrationAsyncClient.getResourceInfo() + .subscribe(resourceInfo -> { + System.out.printf("Max number of models that can be build for this account: %d%n", + resourceInfo.getCustomDocumentModels().getLimit()); + System.out.printf("Current count of built document analysis models: %d%n", + resourceInfo.getCustomDocumentModels().getCount()); + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getResourceInfo + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getResourceInfoWithResponse(RequestOptions)} + */ + public void getResourceInfoWithResponse() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getResourceInfoWithResponse + /*documentModelAdministrationAsyncClient.getResourceInfoWithResponse(new RequestOptions()) + .subscribe(response -> { + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + ResourceDetails resourceDetails = response.getValue(); + System.out.printf("Max number of models that can be build for this account: %d%n", + resourceDetails.getCustomDocumentModelLimit()); + System.out.printf("Current count of built document analysis models: %d%n", + resourceDetails.getCustomDocumentModelCount()); + }); + */ + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getResourceInfoWithResponse + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#beginComposeModel(BinaryData, RequestOptions)} + */ + public void beginCreateComposedModel() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.beginComposeDocumentModel#ComposeDocumentModelRequest + String modelId1 = "{model_Id_1}"; + String modelId2 = "{model_Id_2}"; + documentModelAdministrationAsyncClient.beginComposeModel( + new ComposeDocumentModelRequest("composedModelID", Arrays.asList(new ComponentDocumentModelDetails(modelId1), new ComponentDocumentModelDetails(modelId2)))) + // if polling operation completed, retrieve the final result. + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(documentModel -> { + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedDateTime()); + documentModel.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field)); + }); + }); + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.beginComposeDocumentModel#ComposeDocumentModelRequest + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#beginCopyModelTo(String, CopyAuthorization)} + */ + public void beginCopy() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.beginCopyDocumentModelTo#AuthorizeCopyRequest + String copyModelId = "copy-model"; + // Get authorization to copy the model to target resource + documentModelAdministrationAsyncClient.authorizeModelCopy(new AuthorizeCopyRequest(copyModelId)) + // Start copy operation from the source client + // The ID of the model that needs to be copied to the target resource + .subscribe(copyAuthorization -> documentModelAdministrationAsyncClient.beginCopyModelTo(copyModelId, + copyAuthorization) + .filter(pollResponse -> pollResponse.getStatus().isComplete()) + .flatMap(AsyncPollResponse::getFinalResult) + .subscribe(documentModel -> + System.out.printf("Copied model has model ID: %s, was created on: %s.%n,", + documentModel.getModelId(), + documentModel.getCreatedDateTime()))); + + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.beginCopyDocumentModelTo#AuthorizeCopyRequest + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#listModels()} + */ + public void listModels() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.listModels + documentModelAdministrationAsyncClient.listModels() + .subscribe(documentModelInfo -> + System.out.printf("Model ID: %s, Model description: %s, Created on: %s.%n", + documentModelInfo.getModelId(), + documentModelInfo.getDescription(), + documentModelInfo.getCreatedDateTime())); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.listModels + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getModel(String)} + */ + public void getModel() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getModel#string + String modelId = "{model_id}"; + documentModelAdministrationAsyncClient.getModel(modelId).subscribe(documentModel -> { + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model Created on: %s%n", documentModel.getCreatedDateTime()); + documentModel.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field)); + }); + }); + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getModel#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getModelWithResponse(String, RequestOptions)} + */ + public void getModelWithResponse() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getModelWithResponse#string-RequestOptions + /*String modelId = "{model_id}"; + documentModelAdministrationAsyncClient.getModelWithResponse(modelId, null) + .subscribe(response -> { + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + DocumentModelDetails documentModelDetails = response.getValue(); + System.out.printf("Model ID: %s%n", documentModelDetails.getModelId()); + System.out.printf("Model Description: %s%n", documentModelDetails.getDescription()); + System.out.printf("Model Created on: %s%n", documentModelDetails.getCreatedDateTime()); + documentModelDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field)); + }); + }); + }); + + */ + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getModelWithResponse#string-RequestOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getModel(String)} + */ + public void getOperation() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getOperation#string + String operationId = "{operation_Id}"; + documentModelAdministrationAsyncClient.getOperation(operationId).subscribe(operationDetails -> { + System.out.printf("Operation ID: %s%n", operationDetails.getOperationId()); + System.out.printf("Operation Status: %s%n", operationDetails.getStatus()); + System.out.printf("Model ID created with this operation: %s%n", + ((DocumentModelBuildOperationDetails) operationDetails).getResult().getModelId()); + if (OperationStatus.FAILED.equals(operationDetails.getStatus())) { + System.out.printf("Operation fail error: %s%n", operationDetails.getError().getMessage()); + } + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getOperation#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getOperationWithResponse(String, RequestOptions)} + */ + public void getOperationWithResponse() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getOperationWithResponse#string-RequestOptions + /*String operationId = "{operation_Id}"; + documentModelAdministrationAsyncClient.getOperationWithResponse(operationId, null) + .subscribe(response -> { + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + OperationDetails operationDetails = response.getValue(); + System.out.printf("Operation ID: %s%n", operationDetails.getOperationId()); + System.out.printf("Operation Status: %s%n", operationDetails.getStatus()); + System.out.printf("Model ID created with this operation: %s%n", + ((DocumentModelBuildOperationDetails) operationDetails).getResult().getModelId()); + if (OperationStatus.FAILED.equals(operationDetails.getStatus())) { + System.out.printf("Operation fail error: %s%n", operationDetails.getError().getMessage()); + } + }); + + */ + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getOperationWithResponse#string-RequestOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#listOperations()} + */ + public void listOperations() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.listOperations + documentModelAdministrationAsyncClient.listOperations() + .subscribe(modelOperationSummary -> { + System.out.printf("Operation ID: %s%n", modelOperationSummary.getOperationId()); + System.out.printf("Operation Status: %s%n", modelOperationSummary.getStatus()); + System.out.printf("Operation Created on: %s%n", modelOperationSummary.getCreatedDateTime()); + System.out.printf("Operation Percent completed: %d%n", modelOperationSummary.getPercentCompleted()); + System.out.printf("Operation Last updated on: %s%n", modelOperationSummary.getLastUpdatedDateTime()); + System.out.printf("Operation resource location: %s%n", modelOperationSummary.getResourceLocation()); + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.listOperations + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#deleteClassifier(String)} + */ + public void deleteClassifier() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.deleteDocumentClassifier#string + String classifierId = "{classifierId}"; + documentModelAdministrationAsyncClient.deleteClassifier(classifierId) + .subscribe(ignored -> System.out.printf("Classifier ID: %s is deleted%n", classifierId)); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.deleteDocumentClassifier#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#deleteClassifierWithResponse(String, RequestOptions)} + */ + public void deleteClassifierWithResponse() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.deleteDocumentClassifierWithResponse#string-RequestOptions + String classifierId = "{classifierId}"; + documentModelAdministrationAsyncClient.deleteClassifierWithResponse(classifierId, new RequestOptions()) + .subscribe(response -> { + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + System.out.printf("Classifier ID: %s is deleted.%n", classifierId); + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.deleteDocumentClassifierWithResponse#string-RequestOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#listClassifiers()} + */ + public void listClassifiers() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.listDocumentClassifiers + documentModelAdministrationAsyncClient.listClassifiers() + .subscribe(documentModelInfo -> + System.out.printf("Classifier ID: %s, Classifier description: %s, Created on: %s.%n", + documentModelInfo.getClassifierId(), + documentModelInfo.getDescription(), + documentModelInfo.getCreatedDateTime())); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.listDocumentClassifiers + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getClassifier(String)} + */ + public void getDocumentClassifier() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getDocumentClassifier#string + String modelId = "{model_id}"; + documentModelAdministrationAsyncClient.getClassifier(modelId).subscribe(documentClassifier -> { + System.out.printf("Classifier ID: %s%n", documentClassifier.getClassifierId()); + System.out.printf("Classifier Description: %s%n", documentClassifier.getDescription()); + System.out.printf("Classifier Created on: %s%n", documentClassifier.getCreatedDateTime()); + documentClassifier.getDocTypes().forEach((key, documentTypeDetails) -> { + if (documentTypeDetails.getAzureBlobSource() != null) { + System.out.printf("Blob Source container Url: %s", (documentTypeDetails + .getAzureBlobSource()).getContainerUrl()); + } + if (documentTypeDetails.getAzureBlobFileListSource() != null) { + System.out.printf("Blob File List Source container Url: %s", + (documentTypeDetails + .getAzureBlobFileListSource()).getContainerUrl()); + } + }); + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getDocumentClassifier#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationAsyncClient#getClassifierWithResponse(String, RequestOptions)} + */ + public void getClassifierWithResponse() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getDocumentClassifierWithResponse#string-RequestOptions + /*String modelId = "{model_id}"; + documentModelAdministrationAsyncClient.getClassifierWithResponse(modelId, new RequestOptions()) + .subscribe(response -> { + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + DocumentClassifierDetails documentClassifierDetails = response.getValue(); + System.out.printf("Classifier ID: %s%n", documentClassifierDetails.getClassifierId()); + System.out.printf("Classifier Description: %s%n", documentClassifierDetails.getDescription()); + System.out.printf("Classifier Created on: %s%n", documentClassifierDetails.getCreatedDateTime()); + documentClassifierDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + if (documentTypeDetails.getContentSource() instanceof AzureBlobContentSource) { + System.out.printf("Blob Source container Url: %s", ((AzureBlobContentSource) documentTypeDetails + .getContentSource()).getContainerUrl()); + } + if (documentTypeDetails.getContentSource() instanceof BlobFileListContentSource) { + System.out.printf("Blob File List Source container Url: %s", + ((BlobFileListContentSource) documentTypeDetails + .getContentSource()).getContainerUrl()); + } + }); + }); + + */ + // END: com.azure.ai.documentintelligence.DocumentModelAdminAsyncClient.getDocumentClassifierWithResponse#string-RequestOptions + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/DocumentModelAdminClientJavaDocCodeSnippets.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/DocumentModelAdminClientJavaDocCodeSnippets.java new file mode 100644 index 000000000000..f23a41489bbd --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/DocumentModelAdminClientJavaDocCodeSnippets.java @@ -0,0 +1,516 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.ai.documentintelligence.models.AuthorizeCopyRequest; +import com.azure.ai.documentintelligence.models.AzureBlobContentSource; +import com.azure.ai.documentintelligence.models.BuildDocumentClassifierRequest; +import com.azure.ai.documentintelligence.models.BuildDocumentModelRequest; +import com.azure.ai.documentintelligence.models.ClassifierDocumentTypeDetails; +import com.azure.ai.documentintelligence.models.CopyAuthorization; +import com.azure.ai.documentintelligence.models.DocumentBuildMode; +import com.azure.ai.documentintelligence.models.DocumentClassifierDetails; +import com.azure.ai.documentintelligence.models.DocumentModelBuildOperationDetails; +import com.azure.ai.documentintelligence.models.DocumentModelDetails; +import com.azure.ai.documentintelligence.models.OperationDetails; +import com.azure.ai.documentintelligence.models.OperationStatus; +import com.azure.ai.documentintelligence.models.ResourceDetails; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.identity.DefaultAzureCredentialBuilder; + +import java.util.HashMap; + +/** + * Code snippet for {@link DocumentModelAdministrationClient} + */ +public class DocumentModelAdminClientJavaDocCodeSnippets { + private final DocumentModelAdministrationClient documentModelAdministrationClient = + new DocumentModelAdministrationClientBuilder().buildClient(); + + /** + * Code snippet for {@link DocumentModelAdministrationClient} initialization + */ + public void documentModelAdministrationClientInInitialization() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.initialization + DocumentModelAdministrationClient client = new DocumentModelAdministrationClientBuilder() + .endpoint("{endpoint}") + .credential(new DefaultAzureCredentialBuilder().build()) + .buildClient(); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.initialization + } + + /** + * Code snippet for getting sync DocumentModelAdministration client using the AzureKeyCredential authentication. + */ + public void documentModelAdministrationClientKeyCred() { + // BEGIN: readme-sample-createDocumentModelAdministrationClient + DocumentModelAdministrationClient client = + new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("{endpoint}") + .buildClient(); + // END: readme-sample-createDocumentModelAdministrationClient + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#beginBuildDocumentModel(BinaryData, RequestOptions)} + */ + public void beginBuildModel() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.beginBuildDocumentModel#BuildDocumentModelRequest + String blobContainerUrl = "{SAS-URL-of-your-container-in-blob-storage}"; + DocumentModelDetails documentModelDetails + = documentModelAdministrationClient.beginBuildDocumentModel( + new BuildDocumentModelRequest("modelID", DocumentBuildMode.TEMPLATE) + .setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl))) + .getFinalResult(); + + System.out.printf("Model ID: %s%n", documentModelDetails.getModelId()); + System.out.printf("Model Created on: %s%n", documentModelDetails.getCreatedDateTime()); + documentModelDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field)); + }); + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.beginBuildDocumentModel#BuildDocumentModelRequest + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getResourceInfo()} + */ + public void getResourceInfo() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.getResourceInfo + ResourceDetails resourceDetails = documentModelAdministrationClient.getResourceInfo(); + System.out.printf("Max number of models that can be build for this account: %d%n", + resourceDetails.getCustomDocumentModels().getLimit()); + System.out.printf("Current count of built document analysis models: %d%n", + resourceDetails.getCustomDocumentModels().getCount()); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.getResourceInfo + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getResourceInfoWithResponse(RequestOptions)} + */ + public void getResourceInfoWithResponse() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.getResourceInfoWithResponse#RequestOptions + /*Response response = + documentModelAdministrationClient.getResourceInfoWithResponse(new RequestOptions()); + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + ResourceDetails resourceDetails = response.getValue(); + System.out.printf("Max number of models that can be build for this account: %d%n", + resourceDetails.getCustomDocumentModels().getLimit()); + System.out.printf("Current count of built document analysis models: %d%n", + resourceDetails.getCustomDocumentModels().getCount()); + + */ + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.getResourceInfoWithResponse#RequestOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#deleteModel(String)} + */ + public void deleteModel() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.deleteDocumentModel#string + String modelId = "{custom-model-id}"; + documentModelAdministrationClient.deleteModel(modelId); + System.out.printf("Model ID: %s is deleted.%n", modelId); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.deleteDocumentModel#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#deleteModelWithResponse(String, RequestOptions)} + */ + public void deleteModelWithResponse() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.deleteDocumentModelWithResponse#string-RequestOptions + String modelId = "{custom-model-id}"; + Response response + = documentModelAdministrationClient.deleteModelWithResponse(modelId, new RequestOptions()); + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + System.out.printf("Model ID: %s is deleted.%n", modelId); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.deleteDocumentModelWithResponse#string-RequestOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#authorizeModelCopy(AuthorizeCopyRequest)} + */ + public void getCopyAuthorization() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.getCopyAuthorization#AuthorizeCopyRequest + CopyAuthorization documentModelCopyAuthorization + = documentModelAdministrationClient.authorizeModelCopy(new AuthorizeCopyRequest("copyModelID")); + System.out.printf("Copy Authorization for model id: %s, access token: %s, expiration time: %s, " + + "target resource ID; %s, target resource region: %s%n", + documentModelCopyAuthorization.getTargetModelId(), + documentModelCopyAuthorization.getAccessToken(), + documentModelCopyAuthorization.getExpirationDateTime(), + documentModelCopyAuthorization.getTargetResourceId(), + documentModelCopyAuthorization.getTargetResourceRegion() + ); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.getCopyAuthorization#AuthorizeCopyRequest + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#authorizeModelCopyWithResponse(BinaryData, RequestOptions)} + */ + public void getCopyAuthorizationWithResponse() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.getCopyAuthorizationWithResponse#AuthorizeCopyRequest-RequestOptions + /*String modelId = "my-copied-model"; + Map attrs = new HashMap(); + attrs.put("createdBy", "sample"); + + Response copyAuthorizationResponse = + documentModelAdministrationClient.authorizeModelCopyWithResponse( + new AuthorizeCopyRequest(modelId) + .setDescription("model-desc") + .setTags(attrs), new RequestOptions()); + + System.out.printf("Copy Authorization operation returned with status: %s", + copyAuthorizationResponse.getStatusCode()); + DocumentModelCopyAuthorization documentModelCopyAuthorization = copyAuthorizationResponse.getValue(); + System.out.printf("Copy Authorization for model id: %s, access token: %s, " + + "expiration time: %s, target resource ID; %s, target resource region: %s%n", + documentModelCopyAuthorization.getTargetModelId(), + documentModelCopyAuthorization.getAccessToken(), + documentModelCopyAuthorization.getExpirationDateTime(), + documentModelCopyAuthorization.getTargetResourceId(), + documentModelCopyAuthorization.getTargetResourceRegion() + ); + + */ + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.getCopyAuthorizationWithResponse#AuthorizeCopyRequest-RequestOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#beginComposeModel(BinaryData, RequestOptions)} + */ + public void beginCreateComposedModel() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.beginComposeDocumentModel#list-RequestOptions + /*String modelId1 = "{custom-model-id_1}"; + String modelId2 = "{custom-model-id_2}"; + final DocumentModelDetails documentModelDetails + = documentModelAdministrationClient.beginComposeModel(new ComposeDocumentModelRequest("composedModelID", Arrays.asList(new ComponentDocumentModelDetails(modelId1), new ComponentDocumentModelDetails(modelId2))), new RequestOptions()) + .getFinalResult(); + + System.out.printf("Model ID: %s%n", documentModelDetails.getModelId()); + System.out.printf("Model Description: %s%n", documentModelDetails.getDescription()); + System.out.printf("Model Created on: %s%n", documentModelDetails.getCreatedDateTime()); + documentModelDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field)); + }); + }); + + */ + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.beginComposeDocumentModel#list-RequestOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#beginCopyModelTo(String, CopyAuthorization)} + */ + public void beginCopy() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.beginCopyDocumentModelTo#string-copyAuthorization + String copyModelId = "copy-model"; + // Get authorization to copy the model to target resource + CopyAuthorization documentModelCopyAuthorization + = documentModelAdministrationClient.authorizeModelCopy(new AuthorizeCopyRequest(copyModelId)); + // Start copy operation from the source client + DocumentModelDetails documentModelDetails + = documentModelAdministrationClient.beginCopyModelTo(copyModelId, documentModelCopyAuthorization) + .getFinalResult(); + System.out.printf("Copied model has model ID: %s, was created on: %s.%n,", + documentModelDetails.getModelId(), + documentModelDetails.getCreatedDateTime()); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.beginCopyDocumentModelTo#string-copyAuthorization + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#listModels()} + */ + public void listModels() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.listModels + documentModelAdministrationClient.listModels() + .forEach(documentModel -> + System.out.printf("Model ID: %s, Model description: %s, Created on: %s.%n", + documentModel.getModelId(), + documentModel.getDescription(), + documentModel.getCreatedDateTime()) + ); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.listModels + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#listModels(RequestOptions)} + */ + public void listModelsWithContext() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.listModels#RequestOptions + /*documentModelAdministrationClient.listModels(new RequestOptions()) + .forEach(documentModel -> + System.out.printf("Model ID: %s, Model description: %s, Created on: %s.%n", + documentModel.getModelId(), + documentModel.getDescription(), + documentModel.getCreatedDateTime()) + ); + + */ + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.listModels#RequestOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getModel(String)} + */ + public void getModel() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.getModel#string + String modelId = "{custom-model-id}"; + DocumentModelDetails documentModelDetails = documentModelAdministrationClient.getModel(modelId); + System.out.printf("Model ID: %s%n", documentModelDetails.getModelId()); + System.out.printf("Model Description: %s%n", documentModelDetails.getDescription()); + System.out.printf("Model Created on: %s%n", documentModelDetails.getCreatedDateTime()); + documentModelDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field)); + }); + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.getModel#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getModelWithResponse(String, RequestOptions)} + */ + public void getModelWithResponse() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.getModelWithResponse#string-RequestOptions + String modelId = "{custom-model-id}"; + /*Response response + = documentModelAdministrationClient.getModelWithResponse(modelId, new RequestOptions()); + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + DocumentModelDetails documentModelDetails = response.getValue(); + System.out.printf("Model ID: %s%n", documentModelDetails.getModelId()); + System.out.printf("Model Description: %s%n", documentModelDetails.getDescription()); + System.out.printf("Model Created on: %s%n", documentModelDetails.getCreatedDateTime()); + documentModelDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s", field); + System.out.printf("Field type: %s", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field)); + }); + }); + + */ + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.getModelWithResponse#string-RequestOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getOperation(String)} + */ + public void getOperation() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.getOperation#string + String operationId = "{operation-id}"; + OperationDetails operationDetails + = documentModelAdministrationClient.getOperation(operationId); + System.out.printf("Operation ID: %s%n", operationDetails.getOperationId()); + System.out.printf("Operation Status: %s%n", operationDetails.getStatus()); + System.out.printf("Model ID created with this operation: %s%n", + ((DocumentModelBuildOperationDetails) operationDetails).getResult().getModelId()); + if (OperationStatus.FAILED.equals(operationDetails.getStatus())) { + System.out.printf("Operation fail error: %s%n", operationDetails.getError().getMessage()); + } + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.getOperation#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getOperationWithResponse(String, RequestOptions)} + */ + public void getOperationWithResponse() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.getOperationWithResponse#string-RequestOptions + /*String operationId = "{operation-id}"; + Response response = + documentModelAdministrationClient.getOperationWithResponse(operationId, new RequestOptions()); + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + OperationDetails operationDetails = response.getValue(); + System.out.printf("Operation ID: %s%n", operationDetails.getOperationId()); + System.out.printf("Operation Status: %s%n", operationDetails.getStatus()); + System.out.printf("Model ID created with this operation: %s%n", + ((DocumentModelBuildOperationDetails) operationDetails).getResult().getModelId()); + if (OperationStatus.FAILED.equals(operationDetails.getStatus())) { + System.out.printf("Operation fail error: %s%n", operationDetails.getError().getMessage()); + } + + */ + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.getOperationWithResponse#string-RequestOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#listOperations()} + */ + public void listOperations() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.listOperations + PagedIterable + modelOperationInfo = documentModelAdministrationClient.listOperations(); + modelOperationInfo.forEach(modelOperationSummary -> { + System.out.printf("Operation ID: %s%n", modelOperationSummary.getOperationId()); + System.out.printf("Operation Status: %s%n", modelOperationSummary.getStatus()); + System.out.printf("Operation Created on: %s%n", modelOperationSummary.getCreatedDateTime()); + System.out.printf("Operation Percent completed: %d%n", modelOperationSummary.getPercentCompleted()); + System.out.printf("Operation Last updated on: %s%n", modelOperationSummary.getLastUpdatedDateTime()); + System.out.printf("Operation resource location: %s%n", modelOperationSummary.getResourceLocation()); + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.listOperations + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#listOperations(RequestOptions)} + */ + public void listOperationsWithContext() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.listOperations#RequestOptions + /*PagedIterable + modelOperationInfo = documentModelAdministrationClient.listOperations(new RequestOptions()); + modelOperationInfo.forEach(modelOperationSummary -> { + System.out.printf("Operation ID: %s%n", modelOperationSummary.getOperationId()); + System.out.printf("Operation Status: %s%n", modelOperationSummary.getStatus()); + System.out.printf("Operation Created on: %s%n", modelOperationSummary.getCreatedDateTime()); + System.out.printf("Operation Percent completed: %d%n", modelOperationSummary.getPercentCompleted()); + System.out.printf("Operation Last updated on: %s%n", modelOperationSummary.getLastUpdatedDateTime()); + System.out.printf("Operation resource location: %s%n", modelOperationSummary.getResourceLocation()); + }); + + */ + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.listOperations#RequestOptions + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#beginBuildClassifier(BuildDocumentClassifierRequest)} + */ + public void beginBuildClassifier() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.beginBuildClassifier#BuildDocumentClassifierRequest + String blobContainerUrl1040D = "{SAS_URL_of_your_container_in_blob_storage}"; + String blobContainerUrl1040A = "{SAS_URL_of_your_container_in_blob_storage}"; + HashMap documentTypes = new HashMap<>(); + documentTypes.put("1040-D", new ClassifierDocumentTypeDetails() + .setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl1040D) + )); + documentTypes.put("1040-A", new ClassifierDocumentTypeDetails() + .setAzureBlobSource(new AzureBlobContentSource(blobContainerUrl1040A) + )); + + DocumentClassifierDetails classifierDetails + = documentModelAdministrationClient.beginBuildClassifier( + new BuildDocumentClassifierRequest("classifierID", documentTypes)) + .getFinalResult(); + + System.out.printf("Classifier ID: %s%n", classifierDetails.getClassifierId()); + System.out.printf("Classifier description: %s%n", classifierDetails.getDescription()); + System.out.printf("Classifier created on: %s%n", classifierDetails.getCreatedDateTime()); + System.out.printf("Classifier expires on: %s%n", classifierDetails.getExpirationDateTime()); + classifierDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + if (documentTypeDetails.getAzureBlobSource() != null) { + System.out.printf("Blob Source container Url: %s", (documentTypeDetails + .getAzureBlobSource()).getContainerUrl()); + } + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.beginBuildClassifier#BuildDocumentClassifierRequest + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#deleteClassifier(String)} + */ + public void deleteDocumentClassifier() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.deleteDocumentClassifier#string + String classifierId = "{classifierId}"; + documentModelAdministrationClient.deleteClassifier(classifierId); + System.out.printf("Classifier ID: %s is deleted.%n", classifierId); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.deleteDocumentClassifier#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#deleteClassifierWithResponse(String, RequestOptions)} + */ + public void deleteDocumentClassifierWithResponse() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.deleteDocumentClassifierWithResponse#string-Context + String classifierId = "{classifierId}"; + Response response + = documentModelAdministrationClient.deleteClassifierWithResponse(classifierId, new RequestOptions()); + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + System.out.printf("Classifier ID: %s is deleted.%n", classifierId); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.deleteDocumentClassifierWithResponse#string-Context + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#listClassifiers()} + */ + public void listDocumentClassifiers() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.listDocumentClassifiers + documentModelAdministrationClient.listClassifiers() + .forEach(documentModel -> + System.out.printf("Classifier ID: %s, Classifier description: %s, Created on: %s.%n", + documentModel.getClassifierId(), + documentModel.getDescription(), + documentModel.getCreatedDateTime()) + ); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.listDocumentClassifiers + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getClassifier(String)} + */ + public void getDocumentClassifier() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.getDocumentClassifier#string + String classifierId = "{classifierId}"; + DocumentClassifierDetails documentClassifierDetails + = documentModelAdministrationClient.getClassifier(classifierId); + System.out.printf("Classifier ID: %s%n", documentClassifierDetails.getClassifierId()); + System.out.printf("Classifier Description: %s%n", documentClassifierDetails.getDescription()); + System.out.printf("Classifier Created on: %s%n", documentClassifierDetails.getCreatedDateTime()); + documentClassifierDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + if (documentTypeDetails.getAzureBlobSource() != null) { + System.out.printf("Blob Source container Url: %s", (documentTypeDetails + .getAzureBlobSource()).getContainerUrl()); + } + if (documentTypeDetails.getAzureBlobFileListSource() != null) { + System.out.printf("Blob File List Source container Url: %s", + (documentTypeDetails + .getAzureBlobFileListSource()).getContainerUrl()); + } + }); + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.getDocumentClassifier#string + } + + /** + * Code snippet for {@link DocumentModelAdministrationClient#getClassifierWithResponse(String, RequestOptions)} + */ + public void getDocumentClassifierWithResponse() { + // BEGIN: com.azure.ai.documentintelligence.DocumentModelAdminClient.getDocumentClassifierWithResponse#string-RequestOptions + /*String modelId = "{custom-model-id}"; + Response response + = documentModelAdministrationClient.getClassifierWithResponse(modelId, new RequestOptions()); + System.out.printf("Response Status Code: %d.", response.getStatusCode()); + DocumentClassifierDetails documentClassifierDetails = response.getValue(); + System.out.printf("Classifier ID: %s%n", documentClassifierDetails.getClassifierId()); + System.out.printf("Classifier Description: %s%n", documentClassifierDetails.getDescription()); + System.out.printf("Classifier Created on: %s%n", documentClassifierDetails.getCreatedDateTime()); + documentClassifierDetails.getDocTypes().forEach((key, documentTypeDetails) -> { + if (documentTypeDetails.getContentSource() instanceof AzureBlobContentSource) { + System.out.printf("Blob Source container Url: %s", ((AzureBlobContentSource) documentTypeDetails + .getContentSource()).getContainerUrl()); + } + if (documentTypeDetails.getContentSource() instanceof BlobFileListContentSource) { + System.out.printf("Blob File List Source container Url: %s", + ((BlobFileListContentSource) documentTypeDetails + .getContentSource()).getContainerUrl()); + } + }); + + */ + // END: com.azure.ai.documentintelligence.DocumentModelAdminClient.getDocumentClassifierWithResponse#string-RequestOptions + } + +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/GetOperationSummary.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/GetOperationSummary.java new file mode 100644 index 000000000000..9eb3df0a8f3d --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/GetOperationSummary.java @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.ai.documentintelligence.models.DocumentModelBuildOperationDetails; +import com.azure.ai.documentintelligence.models.OperationDetails; +import com.azure.ai.documentintelligence.models.OperationStatus; +import com.azure.core.credential.AzureKeyCredential; + +/** + * Sample to get/list all document model operations associated with the Form Recognizer resource. + * Kinds of operations returned are "documentModelBuild", "documentModelCompose", and "documentModelCopyTo". + * Note that operation information only persists for 24 hours. + * If the operation was successful, the document model can be accessed using getDocumentModel() or listDocumentModels() APIs + */ +public class GetOperationSummary { + + /** + * Main method to invoke this demo. + * + * @param args Unused arguments to the program. + */ + public static void main(String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + client.listOperations().forEach(modelOperationSummary -> { + System.out.printf("Operation ID: %s%n", modelOperationSummary.getOperationId()); + System.out.printf("Operation Status: %s%n", modelOperationSummary.getStatus()); + System.out.printf("Operation resource location %s%n", modelOperationSummary.getResourceLocation()); + System.out.printf("Operation percent completion status: %d%n", modelOperationSummary.getPercentCompleted()); + + // get the specific operation info + OperationDetails modelOperationDetails = + client.getOperation(modelOperationSummary.getOperationId()); + if (OperationStatus.FAILED.equals(modelOperationSummary.getStatus())) { + System.out.printf("Operation fail error: %s%n", modelOperationDetails.getError().getMessage()); + } else { + System.out.printf("Model ID created with this operation: %s%n", + ((DocumentModelBuildOperationDetails) modelOperationDetails).getResult().getModelId()); + } + }); + + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/GetOperationSummaryAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/GetOperationSummaryAsync.java new file mode 100644 index 000000000000..87c4a4d2020f --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/GetOperationSummaryAsync.java @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationAsyncClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.ai.documentintelligence.models.DocumentModelBuildOperationDetails; +import com.azure.ai.documentintelligence.models.OperationStatus; +import com.azure.core.credential.AzureKeyCredential; + +/** + * Async sample to get/list all document model operations associated with the Form Recognizer resource. + * Kinds of operations returned are "documentModelBuild", "documentModelCompose", and "documentModelCopyTo". + * Note that operation information only persists for 24 hours. + * If the operation was successful, the document model can be accessed using get_model or list_models APIs + */ +public class GetOperationSummaryAsync { + + /** + * Main method to invoke this demo. + * + * @param args Unused arguments to the program. + */ + public static void main(String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationAsyncClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + client.listOperations().subscribe(modelOperationSummary -> { + System.out.printf("Operation ID: %s%n", modelOperationSummary.getOperationId()); + System.out.printf("Operation Status: %s%n", modelOperationSummary.getStatus()); + System.out.printf("Operation resource location %s%n", modelOperationSummary.getResourceLocation()); + System.out.printf("Operation percent completion status: %d%n", modelOperationSummary.getPercentCompleted()); + + // get the specific operation info + client.getOperation(modelOperationSummary.getOperationId()).subscribe(modelOperationDetails -> { + if (OperationStatus.FAILED.equals(modelOperationSummary.getStatus())) { + System.out.printf("Operation fail error: %s%n", modelOperationDetails.getError().getMessage()); + } else { + System.out.printf("Model ID created with this operation: %s%n", + ((DocumentModelBuildOperationDetails) modelOperationDetails).getResult().getModelId()); + } + }); + + }); + + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageCustomModels.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageCustomModels.java new file mode 100644 index 000000000000..8d25e9164c32 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageCustomModels.java @@ -0,0 +1,69 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.ai.documentintelligence.models.DocumentModelDetails; +import com.azure.ai.documentintelligence.models.ResourceDetails; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.RequestOptions; + +import java.util.concurrent.atomic.AtomicReference; + +/** + * Sample for demonstrating common custom document analysis model management operations. + * To learn how to build your own models, look at BuildDocumentModel.java and BuildDocumentModelAsync.java. + */ +public class ManageCustomModels { + + /** + * Main program to invoke the demo for performing operations of a custom document analysis model. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + AtomicReference modelId = new AtomicReference<>(); + + // First, we see how many models we have, and what our limit is + ResourceDetails resourceDetails = client.getResourceInfo(); + System.out.printf("The resource has %s models, and we can have at most %s models.%n", + resourceDetails.getCustomDocumentModels().getCount(), resourceDetails.getCustomDocumentModels().getLimit()); + + // Next, we get a paged list of all of our models + PagedIterable customDocumentModels = client.listModels(); + System.out.println("We have following models in the account:"); + customDocumentModels.forEach(documentModelInfo -> { + System.out.println(); + // get custom document analysis model info + modelId.set(documentModelInfo.getModelId()); + DocumentModelDetails documentModel = client.getModel(modelId.get()); + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model created on: %s%n", documentModel.getCreatedDateTime()); + if (documentModel.getDocTypes() != null) { + documentModel.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s, ", field); + System.out.printf("Field type: %s, ", documentFieldSchema.getType()); + if (documentTypeDetails.getFieldConfidence() != null) { + System.out.printf("Field confidence: %.2f%n", documentTypeDetails.getFieldConfidence().get(field)); + } + }); + }); + } + }); + + // Delete Custom Model + System.out.printf("Deleted model with model ID: %s, operation completed with status: %s%n", modelId.get(), + client.deleteModelWithResponse(modelId.get(), new RequestOptions()).getStatusCode()); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageCustomModelsAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageCustomModelsAsync.java new file mode 100644 index 000000000000..213dd39fc1bc --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageCustomModelsAsync.java @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationAsyncClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.core.credential.AzureKeyCredential; + +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; + + +/** + * Async sample for demonstrating to perform common custom document analysis model management operations on your Form + * Recognizer resource. + * To learn how to build your own models, look at BuildDocumentModelAsync.java and BuildDocumentModel.java. + */ +public class ManageCustomModelsAsync { + + /** + * Main program to invoke the demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationAsyncClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + AtomicReference modelId = new AtomicReference<>(); + + // First, we see how many models we have, and what our limit is + client.getResourceInfo().subscribe(resourceInfo -> + System.out.printf("The resource has %s models, and we can have at most %s models.%n", + resourceInfo.getCustomDocumentModels().getCount(), resourceInfo.getCustomDocumentModels().getLimit())); + // Next, we get a paged list of all of our models + System.out.println("We have following models in the account:"); + client.listModels().subscribe(documentModelInfo -> { + String createdModelId = documentModelInfo.getModelId(); + System.out.println(); + // get custom document analysis model info + modelId.set(createdModelId); + client.getModel(documentModelInfo.getModelId()).subscribe(documentModel -> { + System.out.printf("Model ID: %s%n", documentModel.getModelId()); + System.out.printf("Model Description: %s%n", documentModel.getDescription()); + System.out.printf("Model created on: %s%n", documentModel.getCreatedDateTime()); + documentModel.getDocTypes().forEach((key, documentTypeDetails) -> { + documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> { + System.out.printf("Field: %s, ", field); + System.out.printf("Field type: %s, ", documentFieldSchema.getType()); + System.out.printf("Field confidence: %.2f%n", documentTypeDetails.getFieldConfidence().get(field)); + }); + }); + }); + }); + + // Delete Custom Model + client.deleteModel(modelId.get()); + System.out.printf("Deleted model with model ID: %s%n", modelId.get()); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.SECONDS.sleep(15); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageDocumentClassifiers.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageDocumentClassifiers.java new file mode 100644 index 000000000000..fd73c73f183e --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageDocumentClassifiers.java @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.ai.documentintelligence.models.AzureBlobContentSource; +import com.azure.ai.documentintelligence.models.DocumentClassifierDetails; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.util.Context; + +import java.util.concurrent.atomic.AtomicReference; + +/** + * Sample for demonstrating commonly performed document classifier management operations. + * To learn how to build your own classifiers, look at BuildDocumentClassifier.java and BuildDocumentClassifierAsync.java. + */ +public class ManageDocumentClassifiers { + + /** + * Main program to invoke the demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildClient(); + + AtomicReference classifierId = new AtomicReference<>(); + + // Next, we get a paged list of all document classifiers + PagedIterable documentClassifierDetailList = client.listClassifiers(); + System.out.println("We have following classifiers in the account:"); + documentClassifierDetailList.forEach(documentClassifierDetails -> { + System.out.println(); + // get Classifier info + classifierId.set(documentClassifierDetails.getClassifierId()); + DocumentClassifierDetails documentClassifier = client.getClassifier(documentClassifierDetails.getClassifierId()); + System.out.printf("Classifier ID: %s%n", documentClassifier.getClassifierId()); + System.out.printf("Classifier Description: %s%n", documentClassifier.getDescription()); + System.out.printf("Classifier created on: %s%n", documentClassifier.getCreatedDateTime()); + documentClassifier.getDocTypes().forEach((key, documentTypeDetails) -> { + if (documentTypeDetails.getAzureBlobSource() != null) { + System.out.printf("Blob Source container Url: %s%n", (documentTypeDetails + .getAzureBlobSource()).getContainerUrl()); + } + }); + }); + + // Delete classifier + System.out.printf("Deleted Classifier with Classifier ID: %s, operation completed with status: %s%n", classifierId.get(), + client.deleteClassifierWithResponse(classifierId.get(), new RequestOptions()).getStatusCode()); + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageDocumentClassifiersAsync.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageDocumentClassifiersAsync.java new file mode 100644 index 000000000000..fe0a13552ab0 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/ManageDocumentClassifiersAsync.java @@ -0,0 +1,68 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.documentintelligence.administration; + +import com.azure.ai.documentintelligence.DocumentModelAdministrationAsyncClient; +import com.azure.ai.documentintelligence.DocumentModelAdministrationClientBuilder; +import com.azure.core.credential.AzureKeyCredential; + +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; + + +/** + * Async sample demonstrating common document classifier management operations on your Form + * Recognizer resource. + * To learn how to build your own classifiers, look at BuildDocumentClassifierAsync.java and BuildDocumentClassifier.java. + */ +public class ManageDocumentClassifiersAsync { + + /** + * Main program to invoke the demo. + * + * @param args Unused. Arguments to the program. + */ + public static void main(final String[] args) { + // Instantiate a client that will be used to call the service. + DocumentModelAdministrationAsyncClient client = new DocumentModelAdministrationClientBuilder() + .credential(new AzureKeyCredential("{key}")) + .endpoint("https://{endpoint}.cognitiveservices.azure.com/") + .buildAsyncClient(); + + AtomicReference classifierId = new AtomicReference<>(); + + // Next, we get a paged list of all document classifiers + System.out.println("We have following classifiers in the account:"); + client.listClassifiers().subscribe(documentClassifierDetails -> { + System.out.println(); + // get Classifier info + classifierId.set(documentClassifierDetails.getClassifierId()); + client.getClassifier(documentClassifierDetails.getClassifierId()).subscribe(documentClassifier -> { + System.out.printf("Classifier ID: %s%n", documentClassifier.getClassifierId()); + System.out.printf("Classifier Description: %s%n", documentClassifier.getDescription()); + System.out.printf("Classifier created on: %s%n", documentClassifier.getCreatedDateTime()); + documentClassifier.getDocTypes().forEach((key, documentTypeDetails) -> { + if (documentTypeDetails.getAzureBlobSource() != null) { + System.out.printf("Blob Source container Url: %s%n", (documentTypeDetails + .getAzureBlobSource()).getContainerUrl()); + } + }); + }); + }); + + + // Delete classifier + client.deleteClassifier(classifierId.get()); + System.out.printf("Deleted Classifier with Classifier ID: %s", classifierId.get()); + + // The .subscribe() creation and assignment is not a blocking call. For the purpose of this example, we sleep + // the thread so the program does not end before the send operation is complete. Using .block() instead of + // .subscribe() will turn this into a synchronous call. + try { + TimeUnit.SECONDS.sleep(15); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/package-info.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/package-info.java new file mode 100644 index 000000000000..71cbb760cd0f --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/java/com/azure/ai/documentintelligence/administration/package-info.java @@ -0,0 +1,8 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +/** + * Package containing sample classes for interacting with {@link com.azure.ai.documentintelligence.DocumentModelAdministrationAsyncClient} to + * perform operations on Azure Form Recognizer + */ +package com.azure.ai.documentintelligence.administration; diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/IdentityDocuments/license.png b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/IdentityDocuments/license.png new file mode 100644 index 0000000000000000000000000000000000000000..661312305a45c15f464c2c2ddab56bebb5d0205d GIT binary patch literal 398069 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�Rb>uK_t_U0{P;rby>zJz8aRhXfMv_}#j<6~aKiJRi`Sp_ zdUQG+?6c2O=ybghd7VTNOon|j;kW$xW-Pz`Haz{vqogAYAdlHA9A`+%(TsdFLyDXK zcx~?ifl7v6jWZO=@63iziT0h(IEUYC;pMMBt>hS`pn5PQnW&KagAYC!r@j95&N$s%chs1E3; zX7z(y)}$MGRrZ(aN1u2gegl3K!Sj4wh+DwZ`g{eS=EQ_2$ly2@p2`AX)g(@J+|?GN zCZR7LsYt;|0M1f`zOP+x!%^Ivm z6uRB6{0;IvL{Wrhvx%{>G0dGi7klls7v|2Li!cn)Znx2HxAUaN6Mvj>%CK?c6ue~0 z>1|JGh*5`wj%gd5a8V)ifVE8$Yb#8j4$nq}KrRbd7lxMLY~ART;P_*6r4?pPK)@LX zpV}^)I?;yX$6yckU=MaH1Vffs4h;Z+4&WD_`YLNL$vu_r=()g!Km92#yX>;curGPZ zOYrft&cfb%FGahXBIEK$ljoVHz>}^tgb=NV-)HfBq)gt*5=N0_T+22{%`*3N!t{JR zp&BYtWP~H*1is-+Fm2cM+5*kjydi*_>T{K5TE;O zxe)go=bVEN|K~??i$YOt^kpFoC>kL}$bm_f=?Adt{(CFiE?u?^XT1A85JFj7(!6<( ztVPHe2Z+F-Pd*r4?prUQwiQU2TJ2Ce_o54HsT->&o7p6s}L@BD2iCM^nC#!?-3#yMKlb4r~9k6=VMS@RHQ^7@T4S|RCinn6$>F{@rwDHCYN zMK@a8V$y{=d4bujR-I4IGeo{@T-8YubTfgL*Sp)Q{JgZgWGO>RLyQeI(C#pFQjRc? z+Ww4FbeXS-KI0h#&%lHS!5LCgG$0I&ItH_wbe1s$d=l_IFfO}C)1V2DGH@>Y6PPlj zQq!uEpMB{Ftn(rrrj*A$P!zzH?Jfx*GH@EmRT(BgMXG}#pJWxn4-hn{a1#1KY%c3i z_t{Kv_=L*dChBOZhsfH!CjdqQ=Qx6=(7i;685nq0CtT#ega5bWESz)9o;@3!bKG#l z4OqEyCDyNBkLhVyg-R)v{UCHd45sBdVHjf0oH&dJ(;9MkY}!i5THb6gb9k9cEEutO1!qE&cHg6US7B1%x#aF)iwbJp% zSz!h1>aMJ=9ksp6Qb#^8(RJ;`P1G|kFr5lar?LaBr-~n`;rwF+9sqh~7#Yjp(Lg_! zW92n8)bDExDV>w#zSAT|nj{FqPzF(c2tS#^P}o2aMo5zwL)zj}Amb5$2yvD->*JZM zd*`gAX77M&7ni{EB;n4a6HEXGKTHw$o+kQ0A&Dt9t+IXX9gkk#kW4nVG9l|Kq`$p9 zUxn3W;c?F(oo;}9y}@B~2>_ul8(a0Vx$Na}uNztA* zCib3j{dnN=H-_ZVrSBs&0OK&JMO^j*|V|Ve*59jLl4DahaCpr_pyEZ_9rZpFY>r+G>p&+e2g`S zCh4Xfri;u2Wzs($r^qsfPLg4YNgGT6ZYxX^+OvN9=2Cark_5-n)vGMM=){QQ31pqg zQq!wF*n>TId=N%Wcr=hVJjO~l{W#^N%sTaCHl5~V?dmHobINhfIp-YAojcdCsgxwB zxS238F1yEqh)N-^mlwZE`G+Fr?kq|`MPBqOz=Z(g1SBU=oC~ytD0MFFq}3loAq0|) zff6Z6N*RZrQAB}s3aW!gr2buzKOs_Z9)MDUz4u<~{LIFU8!>n8TwSQ?5sF?lyEX5;rD&VDjlQB-19Pdcflp)kzHY{nekRg(Ci~Onl@I_JkKla z40EFI*A$m4aGoLKfvy{fb5JrGfhfG9(NHIP=4R}%tlxA6O=U8aOP1T)Gm?Y30865?lhk$m`Y=qiRUuE>= z{-o7q#oyj|>~$q6e|zHd-C^* z1n|Lh01)Np)l;hvT%8+QdNj$t`P)zz6o_1HL1+NRQ!wJeGs(YEJ7K0``^18e8z`lq zlw#JbS$N=q2XOxR=VM}G0*eiF_iydlqEJ*<%^xc-k0t-`s6dhxnM)UjBM&0a z(q>#{&AE`->4Y=*gloNhmN&Gj14sTok<0V}dXqYp!8Q?RKqCYur`pcX%wMz*raBBv za4;soz-leHX-*RDeGLx}SGK+U^50<1nuoD$**^M46nN50oM&9>l{uGsV}W8NBxPF4 z!jP{bP!EJD;w0-H^!JxaD@?{XmMmRXX-;pmopdLX zS#Y^xLb%X2hbCP6y!`UZaO6?X03ifX;2}w6P(yRKrFN%{&;9pjOP@LVZ~g{z=gh$s zmtS6b-CU_qlANKi{u(g1t;mcOhukk;AR|O~>}8B;Vj62LcD@8( zBiB*(l4?GjX9)bj=tm*9%eW{N4%Z>e68IvMT6iwtc>#hjM4BXEQLAXMW-(}=0?mLU zjiofF*&0F^4I$2eZaj^4XIiQNcv=eNG8#hg;>%a>jd#0}=zAW5u#wjgfY3k_eD%5zOut_Dn0Em0_S{} zTyVlL#DWD2z&Xdg_uh+Dt5)HtqmII{#~zEl_ud=R)6gk< zi2ypelTI%(A5npTco=C#7>fclvJ@*<0Ns>>L+tAVK)^ht9z(X}kxI5c99{@-xLLBc zG&|Coq~6Zb>+F4F44xnE7DK8%*n>T&2hSM1FmUP%y9r0;QC&wxAT`_^0-GLP=ae~| zc;d?eA+zXQAh*U-8eplj7sLY>d4|@L(iCctDg}=a-AJkzs2mhNmDzg6W!Bj9NM1~v zd#4kk9ZO88jEt1?2v7hi;~)vCwcrG#Os3S-i3D<{Lg3Ejw^p`avUC|}*hI_$VtB>Z z`P_4ZD5`9^Pbr>!=;6-oPdVk)_|cCq#NJDnA@Be~1c(q2Tn1ONX^?aRGE{#AlU4XAHC+auftcq_}}Gyo^uZV>5PBJP^*~-6dav|=R}a>=08=v?O*ZoSK{s! z)h19X3-5VUOLBSzmuh9hEnl*I#8GO-WWu8qtw`zgJ-sdSREJl2Eo6ci9`)66QYJI^ zoCEDR1j#e8Q4nadPrU%mAjxay>gm1G>uX64Rm3#_Xn>S=!B~bc2x=W<(v+iI;_V)(i>*l3O7fL4bbGSTQg^;}Z&+*Af7d=&Q$&@cf*YAG5rl0(k;_?p2av{`~ov zoSejOfBRdkS+fR=F>Khd0RS*(&Ya!WTube5-n@B8(-b$|bQ4yrSb-ysI07$t!3(fp z!2)dAvIRhIN!;!LXDm;m7Y(Zb*_AdCz<8U3u?#VX_PV!gU<1#`a4w^3h6H0#pjXW18Gj|?SfgJ#)S@lx{G*XV^8Ug*$7KXc_yc(s;PiI*n>UT zt%#EtT>YKVKxT$W059;7fdY)@el-O+=eYf@Dlr0pCqLyVOvZ(uFd;e7=K_o~ZT+Z7 zl&Oa|;d#=}o#mZy>)=r${rCw$xByWFnM6Pc3J?aClj1sek-(#91Qc%a43>|_)v zao;$mx*)5vezxFFX;; z@4Tz>`mJ}Yz(I#R89o)7pv9R7WE|b3dMz-{k)%}usU$t6j<>l36|W(UW?%sn`h7+C zmH)mP*R`I&g>2#m04bNU79u#>ae_FL1U>R4@ty2+(Fl7tr(!Ha$~l^T5d<(U(C`UT zN|9wrUujR4G5EfxyVY`*Lgd=+EMpMFN2?hC%^~o#gN$=@x-$64nSs>g8+;&T41y<6 zvU5&DWSIwsqI<1RWB5d9f~&gcs_$cGGyUdvCPVS{Bg;MbJ;P6vR>*(GgM#2^(jwEg zw=~^v5+i^r)-@QA6tAn50S<=HI=rB$LYDuol{#80Y`*un%W_njKy7A#nRZnul;ufHCD{p(-xn%BGr`|rO$wr<_J+xJ-k zp$M1<2HAzS6N}zto(7uCH$xx3@4@qZ40}Wq`fi$Fa(WUIag3>yRWgnz7wk6N}J+hoV*n`I&CAXYd=DcVMbO8^6Q|q2E;GtFb zS6+YBDW}1UTC%`ZNGA=E7fkAwi1*%+lwDP(l*< zKQ4Iwn%v-_2Uk_bkiPgNFNz~T9(?$OS2C{(F$1XJdQ~G61dIu6-?j~(_^%J(7Dut^ zDW{$ej|w>^r5J8_NHT`DgERv2JjeNA6Qg*Jf#9?^y{$s-75;zhy?4AMS9#|DJ)x>P z-86S*G^5cdpa=*olmL-M6md;5mdPgihru?6Wo<8E*MYUMy~zOmMT6aMMOAkIUbTYwYj;L9h>x6 z=XlD~o;3pQuekiXJnr#NEamzVYf-|ov@p*X&il;3vS&Zz92!%zV{b7<0#a1UozxW5 z7Ri{7!qht2mCvt#y_j+vRnTsXB^jfZQn6TBoU3CAydjoU0ccOnvElgYzY`jhc1W!ykfX~4 zVMwRf!=xPu8eUglYQn%*`7;aktW7s@U{eN6s&k;4l7oKR1p_Jv`BFz-_R;h5ap)0T=Wp*Ut@^MYJ2e+j>=n>n)SJyWtOcXX<4N-IS=ds zs*DaVn$UkQKdTYR%hh5g()%s49LzAr&}y}))oOg@D_`N_i!VlN&4vvd2Bm2>W0)&Z>vv?i#p?^o-MEkS+On;W3(90=6Q z)=a6Ib0`kQq4@cQ(%Sc(RTXmb=YqbfMit~MCD^v@o{??M&P-De{120LemRqCrOUk8 zN#cJHQ)7|BqNK|C@CC=Xzr6uKyGqyTXFfA(81+EITF;GEGS3m5rwRGy!SUe!tN(GH zmv+pn?*QNW<~R7(MHh};{?9+~LF$t;EXO|aQBttd^VR!dE_xC502+ZH$t=bd;LumL zk3ZoA{_#_v<@K+8*{bLDfxmn|ANb4n^VDZPo8Nr-t9k6>oor$l%_G+%b_Uhco>}9;@Wv^h( zn%S~LPvAAem6o()kIj{^{#eGCG)W)*`m8ebri`7Fw1-x<}m zfANc7Qfaat3^N3rstMk>L|5iXV{!dfMW?ECr_2em%meOpOp=fo*w=OCKF7syBki~x z;JT}?;<~G^8oT}jiFVJ>?ZtFcOFaw;!YEHV`V^eHhHjQ~^7SZqS5nZ+2c#B;;QGHY z!ewY363`~i3}GZFaAvXnFbGI!LT?@&)(}#W_S#sRm3;*P#)E$4_it?mA_E&^WQ5ic zN@_9-ahB!OwEXxmrRq)LoGV>#thT*>>;r#YNj&=%`PKQ@g$mB_I^&|xr!TIzf|jxR z3`sRH$V}0sY)Gx_Q=P`e&xu2Rf5Tc!tJNY5Lq7Z2&vMmOS1~&~OB6-FFlX69nP*{P zfq(wzf9931d?hEHbP{{^?0L}knIst$z`6m49D--i8)T)DtAcu|HMY_U?@U_Kc&ecOL6}`R6o=wa93XU1 zBM7}594_s1Lo;7pDkuO&1=)kY@qqV)6Hh`5uu`HVG$Top3F6EVDstX)!O`mb+)+x_1D@BiVu`1KdQ9GzoWrEeF- zvu)cpC)?(P$+m6Vw(V)MYqBxfC)<3_|Lsdxr>jrh&vWm+)^D$!IR!dnoC|2Ak0_XE ztSQJ%M@rF3$>D6++MXnk` zn--ZNBNsw@?JXe=B5#Yf@bwT>`Y2PwvBTCZkWMH)T}=lu38WKrHuxgE!!4hw6Uvvf zBETD5IL|;(=?3gywh$7DDitdGbV}_U6=d*W-4qUl@#Npo^;x(eZ@W2BF@jl3cwif( ziEx8>OM|NSJ2l%Us%OpBPCE+kg?&GW_hg~hjjH4r1soGbKN#?Al$$Lb1XvR5gTFwd zri!!sCM*naG+tThXNZ3Z^$R8x5BBxZ_5LBQmKCzWP|uYt8L$v~*QxKmlLd~n1*)E5 zLtWI2aR~_MgMF;_KD7bcsHltWo_CS?A#6~HYDu+LsQzwM)Co#*=gcCErQkU=hfXJ% zo+?RtWqCe$Tpv<^PI@$P8VTk96!jHxDT8K;?20;%*mhX?v4OUK?Sw4Yq1 zNXne0L$X2X+2+$-El@RH1H_>)slSS;T<(d3+QL-Siafp-M~+M4kBPs&$a9^~s$PG` zgpUo*)ku?#N^yrBLHr$S*_y=sA7fkoF(l_?3 z_tU*^F{`;|MWoO5zlrPa+jcKNfFJhv&d+Vh+}A989SStX)T`lxD*)FsvF8`O0Snkw z-&fha*9`CMDBtXl?dBr`dmP>4RYPy4&bDx#X`aUib}1SOkIg4BBCk6!E9y^KyQJNC z6D3Td-l0{8q(p@!Oc`rSYJIM^miy zaDoH)mb!e+}`(VfG=_W)mRVrBs9 z1+h-2uUB!dp2COfDL|MsLI-0+GuFhcLqN2L*7F5DF4DWO3i1^}>*$SX*?F)EmL(s% zfQd1dXa4LBLe@sQYq)27&HP{Usk_kawWV>@N)>fsi}_*ey7OGIzRMit2KGlH{gu_1`M$_;Q1$Qk7`vbCjg74cp3za79bQ`YTxrL` zoSg3+tcU&Urt$KxB)8osx;EL|UjYsW63l+M0Kcal-s|pJr)#>j54&gEqs<*( zT0p_K7ng$|+fLX}k@US!u+uL#IZYZw+Au5>njIWQN{TGv_B9%LbK!my;%85$&O;yH z?+M_+?(>Uw@HhD(0lUlmz51S{dc*JF^|QW)S^7TufX8E%EMDlABDU?vrw;QKQH zdi#BJmASNwZ5Buqfc&{@mIJOn2Jp^GX@`i!avmk=rqgl9HC`{kN3Ue=m$mTrGeR*X zkPYZx9ar-fv#_9%Z-asqrOU5CwXKZZcGsZA4rE^MT3HB&n$~ECu;+QLe%Dh*v9Scy8KJv>_ry~HQ@09zglbEN zK6jTVNrGpzefq?lfQM2fmg6+}U%iJ*ZRiSIZoo9w55$j<)G+a*Uz@I<%iV_~%#yErMU5tRk!ag0wgLi9~%w#sumc# zyNewXFDcT$eFgwh{XH3G58O>)p0Kbw;i*w4z`elT`E2NGb)T=ky+}&Y2zRTw? z1Bk1)Nywj!tA_k^;9j#UjNJf%>pk>>7wXdFvY&OD`GyWI74yN(YBZ`av=b%`Vg9x? zii2UPM>+`sUK{@4SMg&nD16=rf9mqnZJTtX1u{F^4zWKRj&E{z#-|Il!n8_ z4!es=;sv7@XLwu=Te^?WuJ5NT@?*%~^^^uDfs4QM--8W_Ysw7c z=z2^D{y0GRZ=kn<6a@#FPHKmYzJ~vkZBS&b0qND@Y?BZzxm6rL0DP3H?xG>|78_9L zFC4dmV$V7Yl|1%=4W!vLFtQ)qma7EOyBO|U&NvB zc8gsG8RHBmfIo^>H^~fw4&j}3BG0uw0W@efQrV%%@N_g}!tkWCf1D`MJxmmP?%VQ> zlAR7Lb34tb)GVL4^69z%GYd76#tH9p?eC2Q+r3_E3SkBcDBV|X4dl^e3$EW2YREKt z+he+3w5i3extCNkTBi}}F5y+&AaXLIn+8k@b#R@E6&WbhpQh>+a_}^Da-9lux?(K6 zaTk=XTJDHAYH8P)vV71mxZ;i7@;*BRlJE8(|39@MIHG$M`%n(~zy)D<;dw#C|GKSx zmsF(UY|rBPd(aff;Ud9;So6bEj(^Pyc}VZkX9nHrZU+T>(=@HfaXqO@q`#gT9S|Tj zRqK_qrq{ReRNNn{D?_d^aQ+pbd0f9P;XXY(#Z;SJz~VbPa5y7=>E9_VHGFOmy5XLh zzC1{l>m9lN-u@|-{#o+QhUnW&0F1Kf0_NIEe# z-WhbfUY&9i*j*CnO~P|^LjJnd-W}&M>&F{#x3fJShV5^6$Rl`{)CcS?ZwrJU@Y~ap zL!+CbqW%gI0|!rU*$;xxR9>wnTope zq*hEYcdssbB}EBpnEaAx@ErKKF~eKta*_n996c*aNpPfRq&b=C-cvTB`V+JVF!$_? zjTGVS`Qr~ZIH?L_|9b2aU8vlcax$6iCgh^X>dG(qaFW4t!bX{YIVj#kF+rUAzk`)Y z|FC3S&m76Zj}CwadY;bF6CCh7avq)F2C>U9Iq6K%M1N{NKqt4rdEQTmHK$@oY3oA>Q*AgZYm0psID00-vJ-ge*JZvLz=N)sSGJ zp@D9Bjwv}}+X!Er?%!eY6n7s;+66|wNd#G&;5Uf*3rPp_rbdgve0F1VH;`Y3kdO84 zCx*G&9xS5(WrAq2rUIB?6hg?}td%N}OFdHhT+i>5j=6YrB_1c!pISh6^WtAughE6e zxVX+9vYz3pV4G*u1RRb$TLT|?Sw_wLDB21b*b!)LTl^@fp6KFKA^7Df-2#0Vw(sfS zr{+=i`_Nu4KA+Uj35oa;K@iHu4AEbCChqQt%zmeGRvbCqw~rye-m+`@X4ABM6IzI# zJxzN*jkp(`j9kc>cG`DEekY=pku-u?5Q?fUSnbQFDP)1bc;2ZM%!~;=@^0Tu?BM+S zdhYeWt;lnFOXP19qZ1(^oq@aR`QEHitkno%WF*W3rCvd>aj7$d#7Fu$x%2rM@w)YW z%}5UNeU5GLcXN~Ae6@jI036O^zv-aflo$TtL`ul}@H63SNb03W=tYdF=WsvidB*qR z;Eo6m8fS&reeEw>hM_+sv*)}+dhXpjy3;Y|>3cy*5h`Q{ZQ9=q*ptI{5n4$h2a}?_ z2THt})lhB=x@2M%uy3cRYRza#jN|&Dj^G40@VHX53n^O4nIrNHA6Sv(mr)hM{ZL5_ z5J!PzQ=K>tnaoO1Pl5L|d*}?jL6RvuOjrN>k|jKPu-H?PbW)A!1XS3G(a<)mY41?Z zWWAAm+sbHrWd=a*cU0$O0x6mO*l?7od$B}&My!(i-KWl?NOYpKuB*1#`HJ*_N!tw_ z4;VEko>cfvE5koxLz6J2QoS$(lW|I>X_~(Lvy13KW9f-u+5maY1`K4IO))<4#qqYQ zng=4>*yTUaL>zfO0D?Nrm^^-u|9AAfysx_#Cn7MU5Wo-V8@iKIlmxRROGFwx5^<yQHY6pX9n|DOk{^Zm*La=nyL0u5}&9dRJ@@vn@y2A1L)Cj0V1eK?p6u2p1g6>(Z{>x}0dgE1Y*P zYo>xzh;MJ2Hr}^AnD)w;KjZY`Mvm7PoA-B5Gg?;WCx1Nl^D!6TLZPMn+njH0$S-LX zuUk<5X{!ZexQw~5`Z9T-NoFzIFaz8Q;@QU|r4#Ja1NVh0nu>XO#x=_e_-ArTw(~mE z?)8D5&*L~%6ZA&L7E#dTm|tD!Vl{94%~tXEZ!lTPqRx*LAtCPF+XNqi2Ct#(n_1%T zzx_|`TU~Z(2e;$t>0l<1>yK562l4vRq|};#$Je$Q3%bxk1Dl)e=N<>!M}PnAkar`G z)jiMSmi(;x?JC9p=Kq+2U_XysRDf zY=|hMNIQw1NAdXfq;lk~A-kaL?@Tts5QNv$LM!u+W+P+z0Ts}42zkOh>KzaPNCEkd zL!zzzBz00Gly2$fbxDh>48BXDEX5$If<2i#A3SGS?bWipd_41!5iQwfShaxwT})|H z1s$7I!BS^7jAEwY5e+vTZC;9TA`{Na_s~?NnADl&ewI}rsmrKL1=WQkvw{H|7jGHe zzk^$wsyTaDANE4G>uC$GBr-{6>fw1r{5@1)LRyB)yg0L3vy4|M9Kw2JJKkvS#~C^u zsS+s0PUlg@N^+1=lum2y8_2be?iQjTpaGGJmonijG z?OqE)L}GROS>Xlu%E>un7d=p#?@XjeeFK)hpr|#kS%y&fyh;bGkm}*Ofh|1rjXb$D z>&E)0ID9jNOFVMiP2~0+qLEFL;5D7ex&Y5d8>v$=!>BvBwVfYW8=IYO>P{Bc-q{@Y)q-KX{{mhgu@eH{zuyDCLu&ejJoS68 z+#F7bO$=lV5Qz}foS(2|u^z(oes02rPAaqE6+XPoN{MmxdaTNqQ>2TmL^4ek_R|WqQH$U`>Q#5%i!o>Bz%H$cDzv5hgMOP27e@6d)aoT?S-Hv9- zDf~)9)T0|K4hPJwHA-qiqWvK-szCt*-x__6N7iB?rF&|PbKXl%b z*L@)y?CnFuvVR4?m6IB+=PQ}VvfIacRYe>_z_q~7j?el!TRvl#j)X7m_`a(0tPGUp zmjf)e_Tbqb38+&JKR!8ITUe9{CtUV>quP>;b+p6uC{?5tJER+Q)(L@nqOS2EOV;0E zO&MaSG$C%l=-#$>NB$;;XZa3=AS3%Kp!e1kZ*ZJAXk5EmtU;f{&6`g~HWB=i;U12^r(1>@ z=De)NE`R{aql9vaTtdMbYcbZGVqUk2S&bt&un;TRoVKSH2V9aU<~dZ20Z4D3?kzyn zN>E{CnTanH-aFN<+9)^7M|age81GY1Im*CZ6d8^iA|77PHvI;`;ilXh2p=l8g* z)nYP+gv5W**wp`L^_;ZqP-oT~3rM5r`M)0Nxh-n|QS$PNihwujw>;vItlokkc(TSW+k6dUfcB#ZrdF$nywdaVo#y50!Ogf zfNd99VUGBjqEO+eT(E;~r0!%tOcdl$J;e;(n^Z?@k~y-9Cr^#6VXU}{8UFD4X54^! zv;*f6bf_)KF^Q(l#+s{(Y#lB;L2FYzf9DNG;7Pk*dmIfDNyLpo59!vbGW|CP7dxjD zuJ48p&VSYAVEWF^zG#rV_!erprmq2$^xVN$nz%NxmRV#LGfVA4#>@c!7a>YxJ4_SC z{g9(@FY=5rHpM^Z6~JCk2KZa^F}Ro%ic+>F-lj556vax3S>^Tp{ove&R&yDi7;3#*y^M}Y7x`si z7A4f=L||pUL0U^tnUR)vS60S)LR6O)0a>DMg`|?x&umUKdkt+#%jBi)C@n2$_47JH z^3U??xs|nub!k0-BQ+FcNW4S@h1ND-dQ3Cuv0O((!TUx$b18hSRw4b7#R{1e9LpO? z0-Kam_xM-W#w}7SpZF?St9=S39GjS3q)YtLLoM_x*?F-wV{v0R90wJlK*e(P(@+BC zO#_%u_o3}^t&~T{;55rggCKKp$k?SeZfR zPUvw3Y#BzLVg&!ypAZrl&AN4FX6E})>K{S>{^@jXF)4X3q^xy&v1jNx!#)G2LD|{a zYwEx6BUuoDijf8I;;sGJezkjhbx(ug1Xd?q>|{eThmE z@(JdHD{e|}w=eKK_j66)x9+ukG&?O_wOWpWlASmDexmA35f28kH-%G%eY+GMH82)X zVX?W{fWv~0)(V2`J4AAKz_G^wVAuByZPNaJ%-x;d_nOmZW@Qyd!D+VKsw=>`lB65c zM)b#Ql>4qMi*owISx51oc3ireq`_I^3M!2ZBg)dfNj-F-BQI+J#uogWYNoCxe8_CaVmqPE=qW0FD*Rw1y;N=}To?r-7ifH6^jNo5iZ!2+vVi$Y!g&6T0ODrc( zMo9XH`ByM@ujj=J=I#29znFh4?=Hsnp2t0E&0;8@(}e0Q0x;A0ff?`I!X}x+yaPW2 z#8OY9yYx6V%BhDWMCu5@E!e$rAJ|UH!;cImdee}) zGS;W4v(2&}#Ph;1_^c$Ur%!Zbn3c-$f<`lAOM8SZteB}z(+fs;qNg2~d*8HaFwAC- z0|lY4(`3I`UWnJ+ArBj#XiSwS0yU3><6MpmgDa+ZbC9|XK4aoYxsFAW25XnCFE%?; zwz@nPt=lBGnFE3O68O9avFs=AT@T&@#{dBD+er!U^QMc}lnIeo*Os}L*DLmM97P$0 zf*KYUmh!umY5>We>JB}s%$O-oQ~kX0fp}g-ZPu^F2MT;D(emO#+gyK=LLwS7wnYka zrxAKR>oU&A6>n9u(cm|_hF;5bh45^%Ni&y1LmNe5WhpLQf2@9OJquUer~f*1C&wY2 zh-q)|Cl=irRav{-kXkgal-ktpyLSH+{Q92k+1UAsuk$`{p@Po~3(skXzIJs%7V<*yRanf&TrJ-ophi@)kKLWl@E}oQlA31iCeu<>^U>4R5TgfnD3|EmWwm8ejx|l6rBL{pl>bX2F=emz( zb-$%G>@F?Nn7R+4(il0*rV7(d&s;v=6!pE&MdCAf?h5QH+Cpx$ZwWMCESXL|Yrq_( zh)|=f-2GLP(r~GEdc#eiTF5q6NHPys9AR`1NaB@Ic%%d!<6WW}H4OP8_=xjk4No3T zr7I!Ju1UC^bMYByaAHYB#)G?J%kRzN9hjK?KE-3l{$ilIJ-`t}Z?MGHM!N ziwj)l%mJpblq(+QmdfgdEu}$Pu|UBe9&jDxb2g18F5I>t7+>D9em;~i@d~j9bF|@O zcUHh3k|)#hMr=zyG?PRD3zVGk;v_?W zkbhds6tG|b>U8-)lhFAvN$Rf7!7oO@=ZQr?;1j-TpC2$0z7v9KRGF2TS!%{8D?tP3 zvw;i@AQA4}G%xGyv#`qI_rOihc<1>!xiVGVPvmUS(?s6=MpnI)Gx#FAL_SN}L)@J8 zUqKNK&D}h8m@796%H-AwO~8YwDznb|@%;Rybo_LAP|O-%y3uZTq_p!+{c-B^4H1al z^RQ_QA9w^0@H02f!|uHq@j9Y$_%n?ut{D?-zLydnJACGg4EgtYaW*L3q%9l1+o6_n zlA2n=zrN;@a|Tq^HeAmwjbfYuS?Cp&{9G^Ka(T1O4L`zR`y$Ug=23IL3oAJH`MTRH z?VjXAO6WtRV@k;HgZQN);Ts%8$#0ZbUP&qAIu3t>?CYaJP}ZQ}Bo(VrPf#*(|$YbST;&amtK&a<3&1sTgw0KPJH3M%b zIr}h%|G|^ZT97iOFqis(xKI_ukz%XO-9^U<2xAt=SUJSVYO8&4X3=(v*)oL5nHO^j z$nHy3=c#Jasn1BZ>9m-c4IIJT0UB>UdVyj2lPLW{peM)#nCko5NHC31X zeUa2?r?Z^N^(cazivpFGxtv!mE+wmcl~k~shLP%u1iPqMNq+J+BeyT?nTS^p0vvV4 zGMp9-;RR{7YIU0GEO@Aij!@#SPZ26X|T0Psh!6i!^P^uBL1GIRG*; zmX#TbfI96-)Ond)?BsPVLdF4#OZ&xoW=# zlfWvtxb3SW$d?pi%f9_bMuA(ON@ZqsMCNags!tu7GssFq*7!8Vv*`wBvpkww9!wK8 zFudW8TX9ZPlqANPB=-zfCyzjXwLovoW!N)xa1C!;zByaU5ExWq@%D!Qn*(b=S(TBV z?^)TuL9B*lB^{|*=Zc5E_VyRQ3l1a%=hr?sv9a^pR_=GlGALy~_RP<%>9)v?fIAaK zAfELRev+ec{=UabKM%b&irWfVdc|L}A7hf$w8nZOIG3z!6WbChn|j7PDiezT-Lg)j z=cXSZkFXo7#KvX6K6OlO3%aDH`jJ=mDHVL){kkn=x;!)wcfrAjG=~rF-Z0fk}R0*LC^ttYc znB8Kpc4cQ0yt@rBcW>T9kC^bpr`80mPsBr3E=3E)8_e~%J!keF*LM7_wGdjBlf#Q} z_H5VA=o*Q>RXh24)tzVJLJW;;ITG1CVO?~1!j)5mS122|*a0nso`iVtRpeCZyt>HR z-%V&S)qc=4R%{lIzP?!gWHP78B*bBJgbpUg?-BR3keeh#1xp5qc%BJp2l2p@T++-bXZEe#|R#0JT`vY%6m^UHusHbXWqlO{hbP^51s`J+_tAC+H zFfq!cZL$gCNg$T<&=)E?5E^E9AfLE_M)^I-pGTq=pgAr_pC)e2i#&iFi+i2uJyV8h z1X?<+sqrIK`Z!MHaEx-7c>DG)x>Z3LG)2DC(q8JR!<%Gbum8mlgZ`>ECZZqbDaXO*ih=b9wPP}{lkEC_Xz*M* zP1qwR#AhOndbW-O%?H)#b}GsCzV5Fonbx3dPn|K9vk zBOXeUBAgcT-!I_ZCmloAXkY~05>GM>uk-jab?qrh80CwZ_8qJ!yMdFFy~|{uCFp8k zpYh~?(=w>ZI-lLfvEX?>ojptj0tBW#)f4hK(qxErPN_}+ANbrk8t3Z7$wW-495uoI?1goCHLWCxOph6Dgd9q6 zr3{c%~q9}^60iCNfc8vwWM-3!%pHAi&Vd{63vVQk$O&ryAgiJ!06(jrZctT zdcw{p_2BKS(JwgLw${gM2)Yy>(#&paS1%NXL6|>&uNlw=bl_PM3+5MS!I1uKj&<)6 z_-(y&{;1tC{n3%0%hH7V^8W8Wq@C??-N3vJQtiA>A0gZW-nR`p(9(SkF$&yp@J72V8Pf&XOG(8wUxv3IVFXj zVIIr7CCNQX+=qTbnjMCQ8x${VW(mmEnsSPdS{eS!m3!`zlQLCcQzYGjcSF>!C$O|6 zdO96O@M8~F2?zAqa8@BVe9YMvCWsS>++~sB*XLf&>+}5=GoauZxA*3C)_LbszBvDD z%Hp=1yC-W*@R;?;CaaC-Cr!C0WcI-9NO1%!7~(I93OoX?)jB2avNX;S)zqE2m_6jfKBVw!}IyT?R@2K z$s(7X#pl*==W(ZU^_+%w!UmIs6?BULK~bpz_n(r6i_na)408-F#DQ=J`2v{|5rF^( z*CfkmVX6lLmvAht$Sn`u)Wrh^x?6!MxESKXXH#W;m%Y2YDZj2PS)C+8s-!stUDN5` zl7IfQ>C4!jfkmZI9HZtuq!V;aE#rxDbb+`aIj0L~BHHBa(Zj+kim>28ZTWZ{1gh4l zuB9EKGTdSE!=|Ix79Cq9OlQit2}Yc>rBCe8R6&k|HP3}f^AKBCY?lVBlQ~@FRuGJ) z7O*+)&|Ii8GP#o$qo;7wjp0eCr*thG5~ic+C_OPFRJ6%OxY&DRjBX*F$3vqU2d93Y ztGVi-!K?*A2|*MHVu=ULb(mc2(1bYnCeq2KwYopsH;&d!5`bqpyR57X+`b0nJ0>QE zrtCiJ0=g<~9BOg6H1#V>6(H2uOqN*7Sy?%0sgUS&6^IYi-Rcs}O|+#XbF zT@hg{A+|p`6%e%`$Wu& z6JIb(H90L`q_%llpTFJZ2vaMqKtJ0o_c4?jn0%<4OAUW?#x4k|D(gJ!*Oj%=m681< zv-=>a`W&k!wdY9AoA#S=Wky?`7g*(6RC;d0;jQ}vLXV%Qxc_M(?r66M8 z1@CwZ`~B3F&-YdC+he!KLg@LG1MgFOEyp@e^StI*<7d15(FA>uVVGOGX3fZAK5z9C zM=l9Y*ITS@Q>`lKV3{da=_5|Rj$sux8w2|No^^8~=?oPN?wjl%85M-9S#|3;vin$2 zOvPQ>@I*W-J_@S@mhAp$QGlN-Ln&ON6?8^DNpY6y@>n)Tdo%QWrX&<%t<3v%8DZl% zj7CK)M~EXWxaCZinx&Dpgj_!{e>K4nGy&J`(~9RW;=`!G>xjQrave>E z%uO}2f4(?Kfevbe3viIwWl@0}@c}N#A=7VtF@N;5qF`ola1dN`&}oJ=^p~?U8i3$G z@S=U&oBqG=z}}%%m+|cJ4OFC;H9RT`mM>57-wS^|9q=*)#wvAx95GuM8wc}z{qvRz zJ6*`klV}G_u2x?)N4ZhVU;{d%N^;zz>a>^3e$NdwWb1Cd9QbrxMAPeJZipq17-GO* zdSRm`x?@=~U(wY(j+m&|6qV3s-e5L=26?wEj65Dg3HK<2b_$B1EwM%j?}VVqLWjmt z&6p17al!LnoB5CRFkEcU0O!$NGq7b+G8wLn>K>PUkA&E1HDr2pF3*o04Q~J9HFFG@ z-Tq^-1V~r4`irMSKrCh~<)Vg3~$3)8ucB(@IE-9wbD1b^^n(S&KmrdDv zrs9R3sG4Y&uE@tnRkvQ~+wd2(Fpy0LN1wS|1HbwKX0}D??$EfnT$aTuuOx-XI*4Sc znFIEWDxT-wHQP4epg1HKZdZ9>5%?P|!LzdTQl11ou*HHFy(7LztL67G1CT2UcGrW} zTtp{f#e(@2yUD=$o}R8 zOC>0DrcxMCAy{iK_y0o(kzB{gX-n#iN}HEvPos1VPj7+xeU8pwR|hv$D1V&#q_ar|&^tbsV%6JRXZvhN+f=r<{K+kM74;TN8JiM4j|8 zJP<~8@#=V0;Kd|*oF>~lt9m5PQu1*#3TU}5JT^M{8$+AF88@9SpECt79J%stVB&ob zt!jBcXyntAT#;o8zkUqqt^z=`%B3Wd)%5RXchZq^d%Za?`guQwEMpmK>NVitS%i(6 zR_+(s&j)HW^Py7JX-Hm)BEgPwqR|TFr;URv878*`#G`S zcE_|M)PLEY(I*sFemsNvyUEwyPFBgX?PpwfwZ$7cbmv%!kkiR`?<1TU)$?CN{9;+T zpLq|Qo`V5DQwj4=hIFlY8Gm&eXA8j$7WQ&%C>4VN)Rd&%)8Gve)Grye&lFYiG#w)i zF3;*meL3j>R^48P#pCg>C%DXbi7*Y?A6Hd5brMz81^aw`wfIL_?VFY_<2pZd_ow)e zt!e#Q8c@MEZYQZtKwHw|T$WRtCuaLI-|UXrnR&JQgkF?(Q)0fcT|i^OU%4oOrhiXVDxOVP#W_hNKPw8kOn ztgf`aOk*fHD`}7nOqmFT(LV+Rs3K7qU14}{m*E}=Fa`Awb4=JQ1r~c;MtlfFhg?m_ z*MUYSO+m>pf?G#&yYDqS!+CT0p?1I);D-;?n7gOpK=t+K2e}Mdd3kweR@Uo3`d!gq zb!JXZsH6};%+B=wc>2egO2Yo{4f}(uu4{7uFc_grA1@9{1p{#|bdbdq=ulk%8B*-- zT}WRbfLFSBs$8=y`D7AHI@#RBQBpuS|TwTFFTFsG;1KooY7kia&cvcFu$x_|~++qu%!YZ;&@s6+$JC zB>JR|q3JRmf6Z%*@nYK<8oujl$dpz@UF!soPXCS4uVUM@zRKbhc?x%(}~kr#Yjc*}wbeNYDQ(WQbJuri9K!r=Htf zvQHZ3?2T8IQ z1nl$*hl)Bi{(&QW$lJ?1p&04>`eZU%FrL__jNW(4GgE7|sW`^^vt%Wkj5Z??!c329 zGzrY8=75E{IWV9V+?sFNJcR{;l?wZurTl|m8Qdnw4vz6nw{Fyg_+5L3=K#U|dVBh} z-Nqka2d`~lKoxHids=Y)@W7#^?}j-B46au4no#?*8w@|H>g}s?yc?^Mi|2l=Jv{u$ zbpbYotrGYaEVW||VU{Kcq%!#Y&28Ig+6k7ZQL3H#MEu%Le@E_F2e{$)(X=-ih9%0P za#Ex8_YyukUQcs7?YUZw#bMovToCOz@I<60H*S;Ia*Xc-duS)v=S^pF zWWSF^p4%p+GG0zO3#+gG4L%GZ7X&T5eLcXo_UUw1Ei{DH(YDdpCPL^9TYv@%y46W( zda=r!OQ3*I?~4f6OiN|n{f|rK6g6`3-uP8PY|*_~5o=DE^3q|w*t&c5qtv`juJtNr58=?uB5?Sgl}<;0QQR|s>MmV48R zR%(rj4k0t?n|i+UNAeetUeaCP1TVxP4k8g7Kj}X(?)fMy2>)$5x=3NX(Z`y#?|WY= z3KM}b;>O~7VPanm40u-i(;a<1#!_+4t2SeKGT})&w!m@sZ z$)z(|$IYi?%(9L+M}^Vrr{+b>nO{;N);X0|i*Bh@`*jLi6P^A@!bat&@2zghRQ@tb znT4`Kh3q*k=V=)Ej6Bi=yq$NXt5DS3Ldcu{K5A-UAIKeKB{RqE7|h3J1I-F!yNa|H zTc#<;nSw1&vKgt)0{Jw;K;Vxa=*boH2YGBgZ7dLUlcY|WWcqy?HfcmCDH<@n=0U$0 z{ZhC}D-qV9VoJ-LBudse;S%*os!2Pm7umAW?UY*kSyL^|nnmWpaN zio5D@r9CW_i^x2fsAGh&e8D7zTTkq-YHDi0bgGEUjrK)L4&Vc@ zbnXV^v8K(@>)dn%5)S^9jvyRJn;-xm3iB43bTb~nf3g-(Uo~$T2j+DSq%-~msv(wj zGK;OHD1OgfJ4a^BKDfZ)4=`Y$AimRbnkrFiwO=}~GD4u&FX0JiDuhWozqY2Q3Pi+* zG>0efGb8oqUKq^fDsBrSV`EeNGO@Z-XK96_pinV7pgq@L4#Xdx#I8C{`P?_X@agYe zzIr5Gc8$NoK;HKpkq9N_#W|A=GR}M51^Mm!!ld%<$yNybIeMPZW-|S=9+e3mqz_6z zP?cQz3)_r&XDS{q3&8=ZV7vI~qNkJ?X%E))E83}7;2+C03`5RFObyr@$?>XXHlB2e zC?m+01!rKN)>dhn2UUW&MF@>EYFx1`G@y#YXLnE=6R5HLt4F1G25pO_dWuN#utXnS zdIf#j8;d_jZH4M%%bX(@6jqCHi{WG%@PMP)HLv;H*Qca4%BE1GlmT0Kr5L5*dM4Y{ z#4FKvKl*dDk_tN9UYq!}&W4yV#}u!I>AJ0us|sWqHN7vtjjOszhdKt4`yCcF8|u!u z;A#6ex0XW;1JqYAH>QPBCZ0wK$zNGJjeVkS1@JYSH#v`RB-TUjrSY3VW!0jaL}XfU z>nD(70RQq*~l!kmfpi;yh0hA zcXRpCK~XTo;KoU7>8HPI_>1Uj9tPc2oIUAjiaDj{Ih*i_4Q;Crvzlnl9OTy1 z-fl(4qomxW!73rubdAJZb$HLZkE|l;8gEVsLz6j0rx?+9409ET8pkhr+GELn2`om*q$;?iqi;!8NE%?b-Y|74OBkxY+4#o}qKZI?mA zqJ8`8l}F#C-}BZO&{+TqS_}*fbEmG-_Y)(-!w@-Kc613P^OlVkvqV6bY)MV&Xomlq z0FPK}MjRnwO9`E=d28iRv0>EQ5<5JitzM`srYc2 z`N{2?v|?9&isUD|vc}vvzHJO#z`Fh@)b{NqaPHdqO`(ocX5FskD78*)YVMuU1q z8x29Eh-5VCG(gl(=9+L9ujRF4jHKM>3mOrJv_WSQzKG<7`!ch6hIIfUc3N36+7EZX z`HEnW(%!>sTEX9jUd*C!5ySWPH4cwklIR#vr4^Dq;#Gqr6RfAq0OvsK+=d6)J#=Dz z)v%`x4{-Z(q?ClRzY5_$+PjtXRUpH};Pt4SA(JOE>w&ZNC)5(&$%hBYN6TISimXJQ z^B&qfbw4#0co?nU?Q~5-)S7at($}!EVstboT3>H8`hhXCM!8)zHyf>^FLuW!Ou5s` zDrT@a5pBDZCLB)wbx55fR2r|s7ALq9hlP2f3Xhof(KN0vX%}+pnzXz_%ik=@Cp-h0 zu`H32)$dtu+WfT<%<~Jzc0jp1O;7eG6|_d<^>=kiB}>r-_vLZ9E95S7pdYKIj=`xz zg_kjuS(@RbKe{*O+Iv3!m6kgFBd+&h$IjIpa?tbyL@UIr5%D27_<_b}-`~z9FiXW1 zRw(2`MiTsCdP46}5>8Xi66fAtkpuZyS#~r;nc1{xLC76}B|HnT795SR#>)k0%2$IAjO zNz|6eW1;CsVDJS%9mN6SigMQRsbB9p4XeN>fJ8wJSjVq*xKLmF?EF`=90OHa2|()& z(DeOn`%e@Y*p*{mLSwvGuF(BD?O<*W1Uo8}Y*0mkUG0B`%nL9qPO8U%dXf!zGqkj{ z*lu@c0TuD0HghYhD4?ZLuirIMzQHiL*6Bw7UjYPUCxM+X%Hf&J3K|5c5e^YYoR5W? zYD%2?De`ccA!GIO=LnD4Sh2C!Kb!kin}q;;HM7w-!ixm0hI4d?l*J>qm8Y7A=0z$+ zKJast-;y4VG!u?9q-n(~xgdZ)0I5~S_vgOJcz%Z=9l1JAkrplk{ErM?h~VP~gq}1r zrtc4-q!B`*r(qXM<{4tJ7i7^)hM|AGUb4V{oBPZ_Wv4ga4{6$$<%zdwmm)+%8XuhV z>E>z-EF0SnaOU6SKTb*$m0e49bQkD>@&DGeKc>xjQj=-U>3@BdpNqs#&~o#{xETjx z{mS*=e-w5-(W8frrvLl!`a3+JGa^qoEKrh!RibVCk$$@5{ME#5#^^?-HbTxt z3wUJ6h$JwUqv3FC#CkgsHiP&IlVrjyEUUy0w^X?~ZISxHHpv7w9pRWBv8SO z*Q?SZ(guUUj+;LBb%3zk?QCtNuMa`n(1SY0_ol$(%sEH!d;I(luGi_a2|aVSY|?ub zN4(AffbLo6xFZeBmmge2dzDwCqi+S>&rI*n*4I1^vY1#|odNj!)qgS~@xW}U1AegA z@Z}_Mzo5KZ8LA^(g zl>mp%x_h7AnEW4w+>f`ORh0v{HRy!w(>FCOe>MgxV?z?urz=BEGNDI&2uO$UWbj0{ z{`AsH<%uL9J1(ufLUJYMvCh9Jvw;+T&Wm%-0#b(m3R!=uXK5xD?Kd|Orq%tRM!h2T zftLc{AcwUGa1fG>0F-xA%1qp5Wteh&Ebg9C;yFYd@5d2~5=|&u*eVx|lvt(-EJ8-~ z(_OwZF{~a@Me~7y_&|y20}l&jjMAo?nC=?z+2lOpx-?g-zW6VCm!07e6};_rBN=MC zVa?G{leMKAdZvO1j`{0xeKm6C_&jo=5O(T|7;VSfukz%TH&8~NPy8EH&eYsA4Nl+5 z#C<#8BQ8-?g5^I_>6X=3ycKO>uq52yT>bDv%4a@v+_UGLANoSTflg?cA;N>fg=d|% z|3-6Hm^7V^mzcQv20ynO>6t%_RSe3eWYI(?*0lgZc^oWgBK$qZDAoSEx~Y_xMxJn* z3AouWs+P_eXt{El&J`|1{Kw(PVo5W?AxXovVs?XCTP^+_TU6SAkQR=|8V61x&DgT+ zAnLR81&D8w$BJ8BLVuz6zYj^gaQFvQii$G^QcGO+%~9SBRkupD0x*LQNt^pdPf=KJ znW?N$b8FsgU?RQvkpi+b;O6~Wg9Jp!1xWWeI5@y&zp`l@82v|OB~CNIq)W_SJ&iB6 zlv`W|Xh+?5*4;zEp#I~2Za$XGtnaax^bENA{sLfiX={TS(}2%gz+T66XDF&;mzs6^ zVJF7I%Bq~JTpleo!SfCrYg>=;FJEII7I9}x`FY%& z4GE=o&;CDn`~ADvnivw@%C8!X=9Xe4nSI_W&yT+yx;TnjXD!uM`$YKDV9V&fMKVr? z#ZuQ=slL@(u*J{~>znUSX2%xEDsEk?rk8Gvliv;#SPMs}^sj^di|k0ag>cf@D7Fsk zK=>&OnGQzjpGF$4WfWGWhB1AVb#mqlt?egt7qbM>!X&^eo0>MPHe zNQUYf;B&DY4CAk=tH+wt%ZKqML=eAMYVXs1H5Kv)eUTe7M;s9+ zcRajL;jK#V)vfmpHX#3x&gypWQC8SW*6fMbI*V78k-pTDeU582CP15vp;Q|iWa49D z%jzr^Ru|3ZjQDgnWS#`GXuMwcl8-4_`e7 zrAKl9(_<`A7{Qv-9Cx5Mf@Zr^&9$*&!*T1wIUAZCiX}mu$Rv;P8%$6*BiR87W;EYl zRJ*plDvT2G$Le z^Nmhmwl!yB(M5aphrA0i`sr|y61zcn2bb%+v}DDud`M#_CeUC-g#YGUaRJe-YR?*i zXgC9!$)yxSI5h#Qt?u?b{&qXNV+WUPXCCHJ(n748TmuGlV(a5aX{VODKCz9Cpy?jq1yIO!eY15P>-^G`q)RhtL?NWa*u&%P7K}WVzp9 z9I|(E-?tcpgzzSRyH>f;$RsG^VsS zB+zcFDep}T4_7zC#f$H%vWlLC19GD5{jw2Dz#PdQD+Pe1*kKU~}1I z^8p&OvIHz13!rsmx)5*vSgArIhaMO3-0uD>giCUvL>AtnI5k)cke$JylWwwTy0$JRiSs|*%`>m$HE#G<53|$O&-btsLJn;LSQ5r#^%P>&coqY?!}<8L<7atQF59Qd znwZ=@%>t&BNC5C=x^eAI$XT`oL%{bN+LITplZqtBUswhF<55BU8V1Vk{w7D7SSyk1O0bKF;h-+eE(|xqDiBBbwS6j-&JUcN(sJJIwfcW1G)|4m<8o`Dy z|1tZ`qtwcnX7Xx%lJvs!^WX7D`OYaZ9=Ic9LiPF5t(^{{;|{Nfo;tet@tDK{`;A?# z4EFyh!Hg^6QDeFs+=VF@t7ES+%P0H%Ya)0dG1|?B(JO5kLDUa=}3{iRe^wE!* zvEiKu2fWW{#sYcV2_wNf_bZ}fwz8UkGPg7WHt|&mSG^jpe~q=MO7;sKC3w%&V~!9x z5qJ9hUWkggvXqHG%{l(MkB0v-Pr=H|0P!v`Zmu9f#1)<|Twj*aAT~W_v$2o6yXyP* zUK6R4hXpKqJS&T9`FD7n_cWs}x>1>-4?5Qpfka-4YZ<`)7tPYVW4Cm+C{&Cw@_o6a zEmo&t4blN1NO7jO)g9#0vj#T!uZQMM7<6;F&P0aZ%mZ+xIxZQ70wM^Y^YuE0>5717 zn0tD9eis}(sdbKK8f$&r&nR0w24;sN9)|f3!qcoR248Se2HV zYR9_@6|9)#zDSbw2+q-5CjI~qBJGI!%OVe+fRTtGFkY4z^_a&aM7)nvF zkS_Ihgn1JxAlkmm=(5VlRbt`iNOarn?=XSAaAYbso^9*?xL7%uZa2@pFwqqFbXUQwZDXHz5Rx2@ zA|^_JfYy}vj;^CN6d_OHZ(Tf5WBz`xm#AE%8(Y7>I&|w zGcl5s+Q3XaiqwkfQlkPc_YhACW;Y&kdPwPxXFOYNC5X3o?Tk7Rtt>Rauti3I4U*uF zoQf>P74<&D#o6`OTxzfKK6@OWG`4@;`^J$}s=UO-o4GC&&Y%yk=hvHQ8E0Uu1A?IG zABnh1*37^GLf>hGIuqauXL{_XbwJk7_kj?Qy#REUtuDw}0iYXtIxLwzzHL1!uXtzz zLAZ}@J1Za-c?#V>*v0_jwIK;n7*+pzE=s) z0148U-f{WV?Rr@;I1vyTIg&J3&K5gqZEayhQjN~mI)2UAMoldK7&0drwGdH8M|bG% zm7J^_VWM?Kp($>`!gsGxB_M}aU~5s7NyS`oJA2&GXjY^SO6oyE)w7xvw1`;GF9)kr(jc(wL~R>DRoB0n2p6>slluP2>bebLj>1Lak|h!8?@LLd#`7 z!Z*EiejPJhL>9$`lDKd>=#u+$J=QyPjPr|}t0+@r>%G^EkJlzoa2@d4FC;mYxQ)3- zjzk&PsUi9DJGzm1#U$U~+zGSou<+l!V(YxP1D%?R@>k5*v|h(zZLfr-1u!8eV{L3LSDwV-_u4>ObW5$ zSxXYhgFfs5^5lhdPE*%4w^C9yvy{tCDTa1argH!Xn@Rx>Ed)1P-2(M5GWMzj5)PlU zXp%Y-B3h5mcTrsAQhZ5dVhatV;QGbhcLyYZL$|D~Y$mSRA&+^3)n(rg(&Co^IHiK& zy!SbCwt-#((EoisC4hN1$Hxrs0OQEoe@WVgBWSdlZ1pt($qmj2%0MJBZnW^7&ROfu zdtehpPh#l~w2)_JuwOZ?=iUc`kHF9u>ojDgR{s4#;%9IRRo=YSWtfam0MjbWW(6^v ztHCDYTi@R9J@~Ox@1}?KPv^j%oI$XBKl3ewn(-geY&oDwL8v ze7#jmlK+fJbgSDp*i<6X_@7orPT7ZuLthl@UO0oC-+u~{ilSMyYmYu=5y~kN7PM5H z_#E`0f^u|E=3D9V{y}^Hp!KDXwHBI8?C}pLyEhI{N-!zOwr5FdK5O>V3%iJQ^0uO-MG3kv$hG`gEo+o*O9aoVZ*03QX%u8r2s^t>RXsAE?hc6205 z38J~!EYc6#yIhtX7&LctB;DHTIFh^}dYAwL6Mn}H zPUa=i;PJo!;mqqB?jl@02+gfg)q~p~u&zbc;NQQm;GdR9v)h{oh+%i~$G@vi94Pz{=<4?s5$|tqT*OQ_X zGAnue?~h~Xp0d!4A~D^F)D(e3+ybviUaf4)AYsj z)f;gF$Jrv#b|}8z$77PH!)26ViZgAdKIw$ojqm4oUacpbWCyJ|YvYtTmk38Vvo~6J ze$%1%Fexd$I4ezM_zJN=g<*zeTrMKmXXvRqSJ^?PmBl;2$SuC>SGoGN6t7KJt4R-3 zsS))THc#vY|Ey8YyBWmy#?+q%S(odArm?u#a$nZ&zgs0kt) znR;Cc&8ly9VBMnMK|$*2dd{Af-ys5B3mB4zby%rvUpu}{e~9M|TD;iqyo zQ#q}}^S+MI-y=(|opl*2etaI*3@${RDh|Ox^ec^b6S*a`6sILrYz?Wn@NuRIt{(mR zcC)9vh-6CsT$2@_Qx-zc2uUl#lIzohIdhf~3VvhPJrC@8OrjFC`}g%OVUGl2#67WX z{{4cJSM9@h8+CQp#F@RW0w?z`f9E%UWYR~u6Zf*zibRe(9=8bWskK02ImG&}@LAdFQ*v%^dSkqp7EZduM~#Z!a~JOV zBc>!Jxzm?!h5m*QMKs-?Hr;cB#u6OFWMn^)D~5hvj}bCz4nx)Z9H@TK6?WuI`B7_O z`jR8v40Al|%BgRVzDiv&_A#|kIj^^3Z%VtRj-U{O{Z{vDGis+B+15df(F~0oXJ5E3 zf-WPmTi~|OXzq;7@jdZ~+Vf}Ats)-ABv06*aj;x=M<$A8|4^BK3%?HO-d5v z2wFVV$g0@a1wFNI@P&G2-!+!h)zBoGSqB2HFCbuPp-Q5)G>jvd9lB*du5( z61rOZ=xm_q-&aRkuYASd3P(!ZmlkuQ!AAN(dL*L=%&!%ievZWr^ifV#n_ga|MU-#D5!HGjd^Fy%z^qLoLmX}sL65VI&ci%2xBh&UAi8d zZcd&-8%}CrC_9GicdK{eIwhnYTl&bFaHr#SY~89aegrr8ae7k^r^R@f1pWciYM7GE z8-KEDa$tnfB6ob*j~y@x_mS=tt@0MIL+n<5B8#|c9!~WeQ$+29e4^PBFD@Fr%Bt|I zO#e7%X0hF^7izT+yXM?L8OXB*q!Bk$>2L;RzwPb93Dmr6z4FzJ@zv)%WqXL>lq}Rl z4lDol)-I1&RGHHdy{6Ad(J;KlEtdks*Z-b(-HIM%-kkx)8l!uM;~zKB_ek|UKdFMk zqn#hlbsdJWl16!06x8I;EZUZ~={I&heeCM7G=h1+D*Ax+HCNU%klT0@a~moham|9A zz|f;UV!YrXC%pElkicPgi=`#oQR!OYw>EtO9&~CzJfp%92`( z!A+Tl@f+f#;C@6~)+$RS`S=*|&rA}*KT`4xv`qh*rsZW6Qi^S&)$Cr2t!_y_KIC_F zu~{Vwiqr=RZG$zf%Wry&7YcGIK6avf>4tB68>jg$6SYnk-*%W+sNDrQPl6_&=Eu2c z9-+qIB!&T&u~Ld>X06zja?)r_la*HMv zVy&4mWNP^DEt1phlqtWO3Oe-pAn$QmHlgsh_5->IP?t;j>ERw$Qtdiyh|8Vyz(o;^He2R0!tG%SCKJd8hf92a9PS_Go*J_;)k#naH+2v;MBDQ51e@JpRW!T4UVD&{H{b{nQ5=Imf$*wT3&Zt z*SYYy*>E&u^k`fGbeAFY6s|&Z`dBtmPN=NuNDG(wsq#cyllQ18j92)8xAkO{5$++y z?}cj8W0_HBsinq`M1DpA+jE{c0Atkro3(nSkrb~tHzl3PC!<_Gr*$OJR%gbXr@tQF zQ0q+~1QG&Qx_BgXcWH51*f6<2H#_+qyz(y4^Q5U~l537TOL*)DH3}UKH7OCt&vJ%& z3^E+C%=cOX!ak)c*7QAIA1`DCw3p(lI~NZfo4JB2CAi1??$$XBYz&@!%-ut z#M}OTHL)}#T#Y+l1o3!6QAk6#HK%j@JIKN|*v*ydzy+Ak~LCi~smG@7l1!lb>4pIuKE9!Z;Kyyfbgm9`*;WmD?8JChCG z{812iSRu(u(P!$sC1V6_Mp1mBzYQbq9uEn(3lZ&9Swbg6qVz)|13C(~*;LyiRJ|EhY(`hmvW(HH+V zoLfq5?A~@)2u2{EqDNqF7z}w7m?ourD>oiR%v*20$P!OA5|#7@7??GS1zHtJ@0%r1 zE1N{%>zbMPiYx`(i0A3z)APlfOaJ?3edzY5LfxZ*sb6m_A?Mi?pzimqt*xO#4=mor zX-K1sfzTx+)B%=xQNoPUA4>gawjThJB3znlO4VBFDB%|uqo$ju?)XM^Ka~$doN@}D zs$PQmvJT3M&3PvxxRIe8XO1?uim)ciPgJZEgCfk2pQR&5hO2m?w$V#aI~&G&(gC4W ztkgw$wo=f4>Bt9MacjEU5!Wx_jf;D&oY_+D9#|Pgp>Qwak;Qm6kC$2^cQG)&izmP- z&QSC7G()G<|2#jSCJ}TV!0H=!{}OZmuJZmOL1q7>A*XK!?iS@UmG%nQZ_asnbo8sK zqlq@fXE`Ob6Zq=xGa|#=Bkg+C<&=XBOh?aa;+!VJ(?UAkn1gn0c%?Wv#Rcx1m;1@< z(M`|8rOWpHq2tG?P*IE?*Or%94HZwMYeqDAInUGgo2|PPaHP;e3rx5}XqrltyavKQ zeGS9tul>J6mW`q0&C+(?=k2{exl$6$%4X7%8|5x}POj?%fVRp_7l1c-S6a7r?_I^g zUe<*NU-yC1#ov(=F1S{HpK7@Jck4E7%Vo1R?5@WG6lHDKksSlw5p@~}>2JGfCqroZ zbsw|jz&FN7zpe*Ymgo83{HRxxk-N@{i;l!~N!0ey%g{Swd56tZ{T;G`SZSo8yQZt& zdrMsJ$LLwUdd&i4bc^{9{SDGy>|pR5B355I%kg0 z`;2HI^TG>5O)w$c%MP5kX1r785R_p@P0Cfe1oL=KwW(XqDkHYh^8QVk0DZcDq^ZY* zhMg0OFMI$r_2(_C1(SJ^w$>q{r7*QBL1XNmBgQaW?0M0S88du-X|Q^FQt*1AG6vl9 z9GcEXXkCc3PdQg9HV1)2nE|-*Cb5ak~-=mmg7FqZLD1UI>LCwZ83EU*2VTa2J9 zzwckwWd=<5uaeLq0-!N4y1x?m>6aQEy$*Zy9{FH~6^8cV?|(%jsJSYkel`7X)J%I_ zo@lhheGu}9%p_0C&9$Pm(4H|(=@>2n}_Rd8Pt-WJSvJ0R|s<~Pl=rZ3mqTN3);db(tpgcVmu#`0CuTLrKS zwHJsV!~`%WhIi~&*_%N0Va3%+QgKF8Nc9v-VJyUNeqk{LHxbf{uoEz81OD>H*5@N) zX@4kTNv3?2Au)WWOx5}3e>BJG=v^;nhKUstC#f;y7;F_k>iduUyMG!e$Wb!g994Lp zAeWLNJtL#WG>EWvnlKG%W&LCnddwq?4EXa>*A4w9ap5}q*EM2<={U}-eE$9-grmy&szKcD~Bqg_Y9lGwEGt982D{?CO3GDIN4 z_xbGG=4hY17u*)Uzpu>~Kkm=nqEp>De6bl8j^KxKiT|Y3DeYLNN8np{6%ukK*mOq* zTiSntjX6x}2oMs)((9IvliL42V&w)O9*=1En8`WD*MBt}nTeEM?^VTC9q%Hro@yT& zNLONFKBET5V{hTdtnaPEA;RU1?zE2j++L>8*E8(^{iuAcimInSez~#gGsm~J3(*eu znC7zdm{y3VtvWU>hfLLxN!=KUELr9inomH9rCnG6c+SPIF1?9#+%hcRX`i9=Dd>Jyt#+=kUR8)lGNWt9c9jM+vh`Cmkv0-cRScD=jHQ zH|df+FXE^G#Sx`!*as#imxma6wf@?3c8b(^qM z?}J~pd^_;5AFoQ1hS=2&48AV9mg$9BVa*YlIiEP-uDMbxSw1D+33Oa4+3!Z#ds4!A zc|`~NKt@MRt*z4A?=nx429Xgyu?f!u0UW%6t?Q&y17sH7d-ta?r#|PNGLI|3=me6( zPH=!26neO|786=+gFE4_+a^}WyV-1I0L^1?eHyB6jBt#@A!v|m~&e?xDZZYe^p?S2eADyzN7z4;98+) zf^8>#HJ6V-#NT4~-aT6xIbr=ZN0<8~q&0T1Mx z>e)1{e-PPZ?07C_QR|D`Mgq=@9AdT$JstFaCxnS9hRhtt5UDq!$FX`1y?yEd3Mpx& zj6``o=@KhIgf?)hPjEG$!5Um*Vs-<{`*Hli3SLrCvF8T9u5GtU8N7%u5dJFUYeu;= z2VByxUsNU>8aZX`J<4Db$S0E%H|z2T`}lFFZgVdTJ1r?}36 zX2epFhK}*yOJz7-{f%g98h@mr7jNg;XH5N(A4ppY+P5kXd(~^&j2n(5oWjCNfM`=L zKBt{1n+mN-?_Jd`JOs@*oz5I3LV9&OWHk^Am_btpeZ_%2-ZU5rgBkhqp#Kcr5+di) zu*AsdYKI-WMml?@L7xQ!XO^jh)9x! ztfNfnmNthc1z6P%RSOfR<@#-uuKAV1lXp!x0uBI*G%|{Wz z^B49`!xX)$2}evXq!__#wecD%rsmZO1TTL&R2@UPw#yLWvBeG8BH5Osg-FCHprb-Ui%)FO7WSbM&27k)tk8DJoI4yFZ zxakR43hR~Xnp!T#HI3J?O|Ex$Bq@e2Sk8akfrG21V)gcRN%lY)t#ANv88i7X4BC?C z6Y#LeQ(e43{oWZsgB!eGN_m4++&?``+P`uuljudXP*5YCsWuZ40@8L;J*zK6wujZ6 z6X=`)ad_Lnj_vPo!?E}zz)KvXxA$S}hAgzyw;br4Q7Ni05H*QUwHnb36o#NrKq$P< zRuRN}+<-4{rGd|U2jl)kuh>Fr8P}%LXlDg4kJJ17s-o? z{JTv^eEJTrCvpOM*Ta|QH4hYYXRp_naT&kt_`8-em6>L2S0}8~iNeyhtB!|<&-Z%$ zXX7&P7fCffff;tK(G#Nxvkk|5dvmj6lRp>No}p(SIV?ls1I(=>_`+pZ&|PK#pN=OL z{46rX{5d*SM{Qcv4b?&}HRv}J4*F`yOZsqyFM{&(J1p}+)Q_n( zMLoZd2uN=kez-sp{ZFZ7UBE5J-e>IF!`3GB6Blt8mbMgdZ0Lq1Z!!{7i{9EFT=u1O zrP|biS4P5|ukRyVK~MSk*N^C3Z1n(jabfK7zi#h{WZS85veY4$a-l75n#-GPyP>zL zv4K`PhwRDgb$jLv90it}O$0%YE4)89 zoU^%WH-!x_Ie6y0HI6ejE<)n6Q7<@=U=T{Oy|zhT8ijQme-`Jt6#;y2AbRE0eM3Fq z)~e%{*?xNxb|=X;?@wj4DlEFc#@ks$V(&i*x(NQo?sNWUv)^mu-tdlP5V0}a@!jZ< zK+QJGr_(~rD^BaNWz-9o;>RS@t>>55^|WEqcQlMBjy;)b6NFl-8tK2ULF)RJ*U*oW z)vMQeIQw1(wq4Ni>}vmgF;m5ggH~rY>|ricv_}+{<7aqFB)pTT@%Z48vl9j$t~WV< zE5KQqRejkDyS3OO;6Hd+k`W!s*my2>>U5oLczqRuygmOKZ~RfY4D)YHuAGL?nHKN7 z-+bxVxrh08Kdp9eYu5Nu11GhGpYrc&kDAVRG=U(CngdqYJ<8)>3sLZS=ONfk{ryEA zreCX~e6QbR_VY77J8w(RWd_Z|O}AgRs3+t+>eCqTu>E`pdJaAh*0l^||8L6Aee+^v z(dl4;In!~pO#kLo!Q+MhAo8@}=aWYE=$91lv5a$J|8om9aLkcXBLHZ1rtVSsBD?k6 zoGc*xcf-vX9S3Jt$|$PvPna7$*pu^M28Hs7JFNjgRoA0dHb=c8U5339ehg;;4$cmWM^IAw$RDt+eWG6$jFC~8PN zi+W10wo7EB@eE5|jc4G@x`b(HB+utz{5%ad-ZJDPL=1ANk5S^Mctq5jZG_DpA~TblJG z>gtXy4WV0Z`vUfc`v0kj=RHokDwtNLX4$=~0vn@&NZk zk5^b><>}SQ;VOOr+GT&%lamJ zH-(e7D$G!8`|mKJqRJaU%dd9Q=J?*f+jo=fda1@Yi*iv3*o@LB&%)0qhHLfod3zO> z{nSsL^IxF0zu(BZzjP;i`e5&~y80$r(71maE@+~5F1RG~>AzofufJ1IwL2fv_kdw!x6G}406&=KIVdqfyEdN z$l5Z<5KK|M^`Yj`p5ZFn3r!tKr;(eD8~6+0ibJ30L9p8%>rh)A%-#6xq)>ku|@Nr%M zjpO^d8sPpL&2O_)4uS3$;lI9M=Dn!{%7m&vt5S-5p$!xx^RSB z^&M2I)}GAXoL^<5QXItea-?-6+ur;9SXXn)Gvxigk)_z?WzguIJMtLlq^kOFc3YBa56E*hPPvB&KZ)$vsP|A zZ&oNfY}S0sZ#lxm-cbD>8}K^IYpMN%bSJhPMBKRWL6Jnd@k}=8Nz=Oc)~;OqgVVaU zNPnm3%Qks5l$9=GIU!hBu=VJ7&QKwmI4-p0nJHgvwmi7eDjR~%h&JeIfg^(g$KKu%-Jo@ zSsVRye`GRP4x+fiPln7wUH@x;UEE|B$f0foi_r3pg&aempzI*2* z$(Vx#*cCmhBoDY*_4du_0IwbkQ?vM+HJ9s{hq>-7?P~Ye64=@PaVzli@YGWCHv#ml zk0y&=fR~GOr{XuN@%T^FJ5dF?>fwDsNk#+gAQ!m(o;Ei%5hfB;Jn1$eFSlzB_njwe zEqx%^JSch916VuM2UF!~+u{qOoV?rRQ?H@hNWSEGxyJ~;=C_mRB$RwWZK z>SX1=I%h=5o`%Gt6HgoP{VVs53pEcQkHP!V`~Q7jODBqQgC4nR{yVUjYWIuIbAV9C z3kze_cYvQwD!#<@*{XrtyvWcM7j*787KSBoD)T3~cR)||eICt#8c&sB9#q1{G%!f)2Dpx1YQ zT>zh_A)AxxygQwK*S=lP^ED}GRI1tM_$;mduNPmEeTgbz@sAn&4i55q&98rZ{R)6Y zXVAf+iig$Xh94wBbRT$+&*_;)T?td*&k;|bP07zND*b>#bP+V1t=R>8{pi6hYXc`= zuS?Vc#QXy|T+Y0B@q=6#v)L`FkdlRO5f}h|ag^c!?)5S{*EaTd=L@mq|IM(J;Yg`T z1*B*r=P)VGOQstQq zJhDZi8Yog`6kvsL0hX#p;1Nka>N!~4_C{qSt{bHR%09-iP^sGw@EPRdNj~UnQ!`e` za|auCsYd`5x|r99C7^j53}DNh0hy-r<6esMs%;C_FuM`K`>&_JM`5)%r&e+MUl(qV z7jcl_0d(lx-|w_ztrq8o&8*C|B<^xiCI1wqTo>l_NH(k-9_BDIifNbGusBvLu_8or zS;ac(;(xu(#dP_qb(4~^%2fRTaXeII{I>mzo{vL}L9V_v@^Iqalzpb0Bh8mDuDh|{ zn0cTdE6o-1_mNtB53HYe%g$hcJ-a~%C(=oErJ?Z4wT=l&V~6GmMDg;PwvhFf>j-C%y4E|`DF~Ld z2t8XB4@EsJLn3?GLV?HR%h0QJ9*&ONQP>H>P~x?_{zog4c5dkSIE9_g+jSV_eX9Us zfFEs20fGBtL@no??X1Kz)VBOi)MT8esW%axFS(nxI#@GBFA99_PrrFQT+&8qm&PF! zQMiFyJOje8(Z^zoD7V@S(YY=64VCO%FHp`IS; zOKrkP{>#Z1+~CZgeFe{#=FxU<0ESI#z>)gEMmFVf5%5gRufMw8z)CiDa=_8ID*TP# zMd);5tiF6ngv@sxY*GPWE4^^>_d@mIqE)qACpT*bVE7gkn7q8-)IiUnLv zh{T(Qu<<(sLv%a-o}qr;{ndxV?#cfhHOTy?ReWDB-x4<4orpHct*t+D=aa2B7p@`T zDE~EQf5y6+x#Dv0u?sjdIy|<3K+)Hj)z3U&;9@C>K$<=~$Dm0W(U(gn;&p&Da$N8G zH8!F>B+B~R+D~W{;%8{YYD--k^>VXunx)NF0gy%CvgYC}XZ@HV3Z;CxLL}Szv)Yn) ztSIx&(D6(GZV7lE-?iLpFLFPN@FeZqe)YOSrQqM~OwSq02m4tKGm6VF4KgsHg>bfs z=Zp8j{fQKE#HJ7QJY`knuC$=-Ddc$6*~+TdIR~mZ;XP-$7r6}CxP1@g!+yI-mig^9 zs}^W)aOne-vuzoZ!OSC+tdFF}M?U{NUJfP>w$BAUdMLm14XA30Ry^aS>U)98V#Cwk z{g?Em-O)WLbn}$u9yDgG&-JTTmp*Bn%H0~P)a$Al%hQ+n8hP-F_Kl*_m9Ee zkfFZyw~O#m0Z{imI|GF~q%@xXtsv@zK=C?2&tGPW9s! zBU|Zni-(uBO***Sr`uz>_#nd?86X$yH$1ulBp;;`Ztq3NJ7#`6lx(6{DFd+a0Q&4i zfjdB)YIM5N1mt0+7gPG{@0oi+Dz@-xbQbi0_M2G4GL_P7pvW;Ol}Sa)6=7SLCZz4! z;d{FhlSDqr68;!hwjC{fMc1U@!7}t(2<{WP+`ILG8i?r2U)IOh zX7+Kh#n}Dp^ls_i$r3s#RRXs3B7?=;+21M)Q7#0}*L7Klhtbd#&;;?Z-N3G?IUv%p zdr@HNPVVt7%V6)0|KN_zqZsN96ZEOQ2YP$_8Q?_At);ygqc-FdCcR;KOrP96j;EX81U<*dP*RY?1R4B)t=4A|AQ z6&G+du(%M#IX}$dA{Of+U+@lnu&~>zNr;q}!pn0)tj(d>xTN*HGdfq-zq-qLIl)gn zXC3&I{KwXXS?nM_wR6<0X%4)!=*(2};I%R>^U0uV@$`W`tuji5L-gq~rond5X|~yC zt;;9-lb5!1a>dX}`qong3nL8nx<=ACHZOLoi0)SoCr{dUyhy_-d(IIe9=NPc4`1+- zJun{W)dDk{d(mjPS~!&imzDK)srhe|@96E_*?0TNIv`V4JE!BjBBzdsA1&HC zN9HGbXY8BcrB&tSRb}0Oge&3X6N+g2S#x}43X~kw$Z zJ$7%8$Lr3@6-|khcE_F<{#WTnIt}o4J873h6 zn|rC>?VzdmJ{SFO`83xdRz-$$#i&*||Fi&8wWeDIGv7wmphq=q<$zsRo@@D81%<+o zzMtQPAf86p_o0fl?k>zEj7TY78KSLMWvP$L;ndIYmYZ4kj0%X*dCTOO8LMkAr5Oa= zyGiHTVkAINkKUT@TARi{NAc($&pQ)^Wym?u0opM$GU!0bqYrYyXGPgB=~R`voKbIa zU+X{mF5AKSeqh&=rM85m$6zc{yYz?6ggxb$QvRPNb_?1i5ZkrgkNOCoJ{(0*KSME! zsN{$!i)fULSAP9{EvwXc-ZDPki25YnLt|irS>IaVe9o@dHVmG7$+`lIs#BEpaWFQR z5^+g|irF`OX1fj7{^jM6*siaBQ3z*8V{zYno{kcwOZjtAf$szi&`6T|8Do%fU8!%2 zw&(ci$!wwF%^Yn^rFP9C%ER6t_Y+g|^*8B~lKLdpw9Pjdroxhme>U(AbpG|>Q$;G< zlx_bA+L-5=@YZY!C2G5D#_7MAs&oBgu##4C|1)&4EAQ*alNzmM5U=pq_zBag%~aTE z;c4C2aGHsEaW625;uTo-5@0tf`hM%KCo63kz+9&s)BbhoAavj{iTwFL4y(~T$#7NA zsos|MDvTb-YbD;K8UwezkCi#Pg7r4HIuS@uMlxi*UYpSD`hx;lu}zo->^FYbZt(LV z%1d-8Nptoo#8|*lkpT6mqVx_)-s4N^=iJU26CxZ`u(a<{i#frXF5#CDat*LH%W_LsYxs!A=uH_hC=8c5HdL?CSU&y$zT7j z39=53eW#c^^7l)k5}TyAS(2-cKH6uSch4+ZlnS1vj*;kkONM&#AoDV+-zIlV?y)OL zB#`NUJu^Zq7)!Htg~hN8{2OfSxO;+kju#1g)RlFq4q!2mSdMi!ku6v~((plpW*Czy zBH}0R7XZY%a(XA`1mZ4HmwyN6MNcgehJArQhKQK?v~Bh_*AR**@9TTn!2oX?Ngs3B zi*UDfo}&S#DPHdaefH%mk81pbmuzX#IRnS2vv)nWa-g6Jk^;h= zad~Q^-j;5v7(Z0ZtkES&1e5a`{3P{iURSc-S4BK!)!;iQ<)&T!V~Z}@e#0pAv zx__CScJ@rW6&T|mZnCl|YRbQ1a?g{Ku9`GlNb@rQvEPrm|xj)JL9{_DZlD_Lvs()lUW3sJw zP?W2qI9bKX@6L7^=-f5CdWT})<-!n!C{+N>ZnHsCaZrt^Fao5*BweN3zOdj%dc0z6z8M5n zkH~yu^}05dqnh1*>$r0DfsXa!;-Y))r@ZbBuO|!w{`8H1Jl1^s?!WmP-u*X!!<+u- zk9o~&f0xC+OT=a-)*}c));B!N>^xZ-xuo30^o!#FBQ1QDM@|vPZ_!j9^XoT`&C6sx z){01j$=$N8b)Ey0iBhCTF4$$12|=kzKWWYdYxFau7Ra1at=C27%T7VeS5VW{AEwJ> zeu7Z#O7*4;fy88e0xu-93WkMNeQ`hay$}X{vZC-X*_@jT2|C8N03n$kHSp#_l6xVT zgsd@(ZxYZ66xCW(h#2+}Mqrxjs)o!8uosC+!z+3z3&k8?NqjFOmkm^&ks9wOPBbVf zH`6{V!FNfqsZ(+CJSPYOcJJQ3Dk<=NpH{0?RrKp1KF@O&78VG@u%hpj9R7OpP;Zny z6eXW~64n@Wra4p;JW0J-$%bUc;)wuX)*Oy&MU5~F#~o_RSWBzE48OCmicfz)MV%}m zHyRFk)9zo9=a$awdT##SfAOQQe~D&y&Q*ke2JY`?k<*x&rT&21?zp7_9+&>& zFHHSiqtT?TJo>E;Z z=&Lc6mAAe1Ewno`r0LqDtlPG^2FpqHmoN-zD~}~n@a3hffPI}~Uk_t)w1hZv$EltO zIO>b2J}cw2ou|V4-TQBR;n6S5cd$d&Hx{@-kB^4T zHM?Wd)jIg21ap*B`$ZD%qphhp`aj7ion_NBCCjo3 zsF%RLd=E|?Crwkn^PTT->#etP^2sODYPGoQuDciv2Bc|7yo^WDm-vww5GVzYXe8jk@n&;fGCDIQE=GL6;_+^-B`a%-w#qD}c12rXOCh&bn4XEkGOJ5QVQ?6gu9KC6t zH@@kQD;1HOZn}Buy400I%0yv*(QQhGiAMso1Gn5`k2|jV{>Y<_yG@BP9>X*T1fc?L-8@Zg=sBK(yGlxm zHdM5n8ZnGLanAV{KNDW{YQWJuKKS?V;-xQp8T*z@Rq?Aw*;uJ_&$;c!UrL(Zc-x(0!2Vr-^{z2jWMW?X_2p&8svxn|8jnl}A?eDF|P!8bK(h z+0c^IX?1#4MbWQ)M|IBw7@E<())PscCnPeQ2RR^*SNGrK@euqJFPwLh!k$Ii1d}KD zjX6}{15RofK&cSZ%vj#Lo0gx`Xw9JYYOIv?GH3;K=jSR)jr2UMrx3YhS$9!h%-sA2 zlGb)s_T7fD2~re^T_ZrIiwN!0>}({9r_;+!o=??lzpr3R39MVK7QJ3?zb>#^YufEL zM;vhkciwp?M;vhkC!KT>!{Ly{#YOu4K5-mZ`u0*v8jS|sZkL&v89dM9`s=S}{rdH6 z*|Mctei`*%fbzRmt5q3f{j`gJ<5l`TePc;8cTW0JfD~hZz8f}~2}6{U%!WSunvJpf ziHedlh{t3t!GU_evp{px_JeDZ6~2?n1V`uDd&g*g5AdpKp63M37C-#j7ubE%k7;yf zeg^FC$C2kbjm`{r-uNSa{LQZrwpKS$Js3l0nkdasN|I?)RkZd8>^&jzm898d(rGto zPTVBwG0-{Zo%gt^@$#*2el!2;fBZS%8dc{y?Wz)3@7%A)((+RE{({GyUjh3x&Ro?L zxctjsp8DIn6BRdmKVUl1mMBe0v?bA&LF)e3R&d9jyNHI4Zc$2dmJPh6gX=X{j{wb< z&0DJXevM0;Bq?p>43?x61Pz~XKgXqR`c%?5p8T|*tG<8h+up{_yH{Kly_d4m&sgfE z+_o>N0ROJVl&BxmRPfmI9$WqPPk;Zn0S8oX+7q#B$u$kv6NNM$-RIL}^uFF75Hx(k zmIMERFKLCMYOHMqUcs@4g}EljYzV8rhNSunm51{3s_G7~ypnS45r>aSBfjkAFXzf@ zzsEy1x0vk))$fC*&*u4nqc^pgnQc``*<_?qMx=9=V?!_2&WU$ow-*(%$Ia3Af zdkN*>&lf)X`Re=qaqjE;3#bywX^p`pZyv^z=#PE!6Wn;Gquul(T{T*lz#hO1mhq)z zzTIT!5epo>aRy@y-@a)dH{BKSyysuW=db$l*z#`NwYzGlu1D!np)EApt!gCXgcDD! zrumnT{0jgx^X`0acV+?j;D^>&6PRhL{f-WliTD1Z1oP|WXIVEt%cgbnY+5%@ zL*%rT82g(I1al21J-NQqU|ZK`Q%AC{9k6Mp!9vStCJ;0gG=y<{ebvTmOpz`E$TWGf z=*+8fL6pX%UPy*SYnMbsX-<^pXq`CfOBmwW3@JPsO3_e?b`Ub#Zqt%rY(l%+Aq+!8 zDG8-S2|?glJQ>nxHb{~_anyI5@VSjh5n}A@l8weR*}xzVG`q8jX8Z&;C#%5FQPGqKE94!fAw^*~01c zft_gXFXA*KwSuHuBZmB*6u3G$!JT_jWjZAaBVV{^<1anld^g^QlRGoJZOPT6@HJI*+pjT<-8Y)N+SUE+Vg?XSk%JkP!0BETg=VP~%T z{MKE!^SRG`p7YLo95YSjoJg|)^&#|n7@MQ5B~%x7}g zb|>4pXYV3k_~>W(uPeUDi6@=R)1USHsrz$81#dqd7|& zWi-113-b%rb@#5ncqf-!d@-GF%gJ`$br)L}=6U&VzqUGuzI4S`c;0iK%X{AUUe?dJ z>ii%4&a1~pJYF(k#&&n3EI7RSm9ON+8*U_yBA)+(U*$;`K7m29A6ijye3d5%%VbIk z%1VFfK&x|$&gaq1Ch1@=!xX|sKw_+;>|`3rGMZUrLE#x_1B@G9Eys>G@24<~7Fjam z*S0SuUbaG>dMqbCgFG7Z8&OK4WQHv&^l6sh2_K~z%+7COdGSsZ8M;{iPzVNtWjxg) z3_HmD;F>~H&vG~VI`3AL06z>vj4`A|pUX5*o##1OmJx;_K@f23t+%p!_ikFP7Ohr` zFbpd$eU@bmheP`PKEvUVMx(*p++5{kJ2~&Vj=m6rX0utX+fN+a7xJlf*~{f5L+h9* z)%1<6Txvm;ljBQ8CkSW;if%JJG>2N9^vKod1|!2J&GtIzb`K5I*VJ^tRsHc>gpCl< z>R^%#?nOJ_`#Pi_aKn{Xu(J0qI_oz6jA#Eqh{8d5>8{(k?!Ugw&L=*dER7%3$Ij$A zrU2)@5Uz2ycn`(HqX71$J$VV{OOQVa_NT=!JomCn^SzA6U--lW{%)Xi9{%uA!|hTs zEefzo7!2 z7hZY^b29;HoN?h}9>MRwW~9~svX{S{zy7Otarzl&5JeG7i%WdtD_5|T47u#t&*74b zFJ@Qfs=B8?^4x0qx9+-~9orA%th3MJ``28{lNPx zeg1RLI-8fi>}B){93rJa3X8Vm>P~x>VjgwoLwVO34qbwfxTSy|x-Xs&mON zz2xb<@I^0NRfz^i1v(gFXr$q=?Z=EAx67XWOy2vy&!^D{x#pT{);veM`x*5D2kN!4 zXyZnP26}q6IL!<+7616rk8tusM)IU*KI+`++>4`_J9h1=Xfkj4vp)me$XMApd-9GG z*s{g-PQ-CEcD`PE$VsLCVu}7f54@ey@;Ks z@8o4Kc}bPb{{8#k$0tAjNsc`72=*=R8{04Eo^>`ae9;TJ?T$NWG+NM{-S58HU(B?c z^oG%x$HS%1cq)xnn?bTX^*58{M6(}Weg*zj3)2Wu%X`o|WyTMn=qb=T#pEl<0K9Mx z6*P+bt5XyzL+6srZ{VARG>btssstc21~ps(88Xn|rPJv&zLey#M?dQkbRCfQg}|yV zQGYMv4Z|M$cJIQU+2q7gY!Qq1~JkKL&wz%QjU+3u4&!RQAjx;*3)%pW9WN`xp zDj7Ckh_MQOrVSYe7+sTPHNT9RR&z`Pe&3>#R20HB#+`KH$(3pjI7iF!0bIsSw~S1z zO0D`V96_G&w}Y}x8YR%|}jmr##VgB{?%{hFh=)DspZauQgjnzL&u<%KVLA=?f=l3#iD zv&R%;rmgppM;!@J(Ywmny|kC0>C;pm4bD%^3qJJ$yV=31($%9QUXtNKDH+REd`8*i#UEBjZZ@YvH!IO(_@ zeDmsWa{lS(R?X1U&b_)e{M_tZ^?t46d+u3h^MMb4h6U z|8B6-r`z$l>Gr$$lRtkuNs?68?Czz#?Edz+lFw5wdJ_Ne(SPI4y^BQA3Yj*no1Yy6 z|0M-!vIn6)OiuDxxANRydC}PYW->Gqh1u^bc~+THnM$!nF*CcKUIFk` z(JQD_fC9WcXSN;SH<~2L$mD8l*=C02r2(O|G+K?S$dYA|v#0VEfmgo+k4Kt=417eI zFf1$GHUrf_DjzZIj}&wObV9o4X0pykJmJ@*G3znHbo0#y{@rl>y(duu=_rcuJdZ}B zL6&8!0CpYV&&I%@zdOFH`1AV%^d*=tU+eEDL%#YIFMWNW8qk?Rwz}jd-EZf)@I!KI zF#ToH-d?i7GUOId`p6(ewKovVZ$LF0c*1kl|6xq3Q}PEW9iq|ha@{w+%#Gju290+2 zr`~w+vpBSnQZZa!q&>U9)`y%-8a;S*@3r;N)`9%cSNMg7@Bt&wv3B&AnVdK^tefrd zurto!oX0$dE!z(#juX-(#sVjvd?K4SY~a!7p3C!J{9;<&IdbD}uG&*5>2btihw-Sh z&*sAOAIIF5?O2_WYQxS`PvL?mJq;ZV2&7`$<}IA@(1-H7ul+q<^Si&p{M;Nfoi;m; zKb~_Qdp;Ys98P8oxrJ`K!3jH#=lsW2zi)^^!byxqG5>l&48DOBjSa`^`0FfmwM(`jZP)j4UQ^?u~mP5if)yqt#|eKa$j&e%FV z{`~WK#c%#PfADAjlZ^`-5ET4=x&}uX|;;_Sc{Q2kel9#`n=KMA%S(v-^G!`hVsbUZJ9<*V3nUN6{L^^#YhJ_8UGj8t*}w{cXJSmIIq8HGdBPJe;0foSk0d9M z(DVg?fIRnzm-lh>kw@|P^Uvoo=RFZ0=nYa%-f<+)c+M}f@Ah3J!-$2sIgUN*XrBG- zXYrRG_%}{IYAaq2-Bz26p7LalIR2q5#hToD=wt=u364MRI3D+uOW1nEL+B?NnK5Xa zV~`kYNist+SYqAWJjWk*96$H-7Zc2EAkH+tk_;2WF^6sES6}(NEHnc|?&0M*3v+WU z%+2wz)6d|t%P!-MZ~7w|?JoUcN_%FON1t;x^D{FD>lA?6%@!Nht>c`t&*ryY@e1Dg zSAXez1BMyGbH}XH40!QNeuG`N-_FwBebsLsfByOW+KXREjzp4^S)XS;^I{(T=*NID z^n1Or`Ty=~e~(wa@lRP=Tw>4CUNSGhTFqdXlBY2n*RALH zDQS{a`{U=I@pO(l;&7B7@K^7ACttbZ3IHyA!V|dk7oJJKKfO?+Fo?qCb$_qI^U%2+ zd-ZZlE)@^QKvbQX#oec*XC^KVK>Wsql1!Fe&T0UD}NX-O$I=5sHX~ z*>!Z94O)Ss6Z&*QpN15)e2MQtL;1+uAWcf(OZ=dP=SgIq;>803r7-o&MJTWaX*Je& z(~_@E5o`LYP}RBbq6F=O!GI)5DvC`B$X{FH|d5x4J9!-)gL%Ok0xmi>uUhWZ1-Sb`hQVs#0&W z1U*d2^$;Dcpj&g~^3b)Wf7&7a0Bbb=`QE=|&#gDo=yZQpx&H}8$)oc;52e(-df}yU zM0b82=l$}_30iHkIKJ2BeSZpT6mp7hMH#-ZWLDq{i^kt?BJT%HHqE<6Nl-!hxHAw zQuHaKq)bN|l3|MSv~!#+nkGZvM+$GvZQZq$l4wJ_)2OP=d*Ynl@_|Q}TA|P8xuE(@ zxjyAS-xKE~!?bE@EkjDNitAlA($@S$cI~>^kx0RwIIqsVfzG+<*4s$4 z7_Yb&%x9$$@~Ty^#L zIO)Wb*}J$lCFfu&_mk8eo!hFCp9_U&^{NU!Q2jqMyB;azD$0)(l3}#W^4{GnY}iZ~ zx}KH(@*U_bV{W~p)zyC&Oi00|xnOC}^@L%E&a7)%9!AR~dv2z+@hFTnL@Rey3OZ%8 ztrQ{6`7LN;@yz&hF3a8V@O}yyMhHQcW!!n^on%>t@B4JSuD9i2p7o`68cF*6fe`$9x6}iNI|z1uBy;aM!ia(c!gvttEo6`>70zO_{O*S z{1xA3-@d(s%Dll_8Z71^J_*@$6&&Fsq##{h!9;rx3e?+S-^pKUU724!Ai;f})0~;- zmaD(XIQlKdt!aN^q5_*xXG@&!= z41k)AaE#Ki5+#I6RG&}&zrT=D5XA|Jwsf1}s{dgm>u8LwsxD<1n^zPZDI`i*N9VDI zP?iUy;EsEnfO+W6(N>Rk3Zs4hV> zz*5g8LaorzfQD)AzMtrGDEl5vW=Jzr$zLYgp!1PleWG)=t#9%dfBGhV=l5Os1ZVPUXl{ zsy#YieVVn&2|@?Wf&w915zSnSRD&nII0d-dL#wK zD4ud`Qe*Lik5J83+ghzxsjc5^(du^C&~*QwyyFDE_x)?=4I}a-A{Po(RO2-sihRHP z`pGB({p2e+fDbV2?IB5q6~NcpC6Fb+pBA~zSl)LFeq(`|nRRF#SO2#=b8Ap%M&Svc zXyq<+meF0ivYdX}Hpx*Q&27^WNc$6Ve1NEjKp_3jua@OZ{4!&x3 zu`0Mr6*&mO%~xN^(Px~ER0{h5Ztz|!gp&Bh1E{>JLt9crfU0s>m=4+T2kXHA`$@OR z@-ttIw5X@0@tFl|R^yqbK#D&(U?}_oBGFhSEFY|Lg{Eb zVK6pjy$(h{{!qi%(P+S0p+t@n&?>G0V^szC$ukl?p1kPXxh8uBNSCYz`KzxnjVD~y z)tJ@okgfeWM$Ac2FY8U`IwMLQ0L*lTwVKQ}AhBQ#2!F>_+23T;{e3oSl1_Rpdb~Vkt z8B$8pG_8Prx$OJ8u-9w^Y?$+j`td=5`Y=xkCb;#1@JIx z+(|_JwQbQKsNp#ClZ|_&3J#RAi+(kIt${Hc2mbE;2=Gr!0!jd)k@!pp{+V^vdw)N9 zT2^1>A^|8L?h1`I79|Bq<`puDE|f@$?a&xwYsOQqSx!oSzg1mhEJFG~Qp{Hs^BtdN zGAc7G>Gr6XI~qse`)KQ^Frn|Gt%sL8kW>erb#Ph-ti5>jy%avC0F{#!|C0SON%oP# zLkZUmJX!g#s`vHdTR6(PYP+jy4Uib)jG_{4TmmqbWRIIbDUnwRKz%wT1ZkY{%HMw- zuY1Gm0Y{B#NVfsn+RDtTUP05=RbbsbAWm}Kv+|~%e)5K7=*~kYxAo2 zjj#3t7+qHqiPaIY9ge zWx~!nq^~epabDQbJwcm@`HdU+&nvGbYy}MZF}LjAJ6dC%;^tmozSFO-iwXF`7KMWm z9VaaDN;%S4`hs|)jVl5E{QM>s7w@d9_SIf10RH^^rm+zNDI{T|LA26C>lmGBqzF;I z!xDAQyQu;D@^cFWen^B%NMtchyXB}XO1J{Yx^-JvS-zbpbpSsUg2Y;S%X{g}2B5;q zb0o`suo}-3+}CP3(?Uu~k|YQrXti1gO|vE$G2MVqOBzT-;*+2p2hT#afB+?TxiX$m;1*{y(jHBFpAHk>YhStJ0ZOr{lT zOp57&5YqR#>xNrc*|!IOO1Ay8xciakIsHMOZl}vx4?l~Ok3WetOX>A`G{OewKJpy) zE$(B_;vQPf*1d8;3MJ9~l-sZUE?bU0v2x0Lu*d#%>+2&UA{+<)`tNNFr zFl4r<+!tVe8mKp@sa48pz`tZ@)Kx|@ovl)sD1pNAU{L)Z#bvcBA@|fO1FJfqmQoZt z_cGMsrVOUe2QH8YKG;r&-p>~{v zGm-)b{Kb!CQV+9I`3y@Ri&X)9^Gbnuw}Jh zv{ltMqwD+0QBSm0pmPS+tOAuKEvZa8!rEh|9DS))`(6a{UarXt3Y;;n*JAQ@+A@`J z=T}g>&|IazfiaHrpJpjhX2yVhJ;~0knE?4UU@jz{QutnqCv$S3)$ma&sFF-qiI-zN z0QD$)G2OD9y2s=QLp>oMyCyS(LE+_+?Q=N(yIO#kfSUFI)kk4(ydDit4{R zhV%2AhzEBOM=`k^VFImFdcD2O%oP0s#W8CJ4N?&j4;HamM$n!`3RzXt0j#G+bVL|2 z9P&~1KOHQS0@iEL%LHUYu$s(z_)3zA1+w%`Mk6yGX`0ZFcj2|?$#PkY47l%q8frOf zg%E-$iYmugxaR=81okT{E34!-@9z-^kJRQwnO+mn`%*Bg1Yy`gXBkPFvWaU5atcM5A{sqAE1iNp#4xOeyGp@Rq!t*@R zG$o27jy~dO&VA%LY}~Ms!C+9CNyJIaOt;IU&pMZn{l~wN=?rxUG>bJO&yhjET{m6F zu(yaGHZXc^&g=gRu|MDsrOH4Z@CRd6|FYn!E%-Kd<|>uW@T5aqqkgu&S zyaHVHU*-mK4c0K!k`P-YKLS-X`Ioo(Qno zCES_tk$#A=5-*QPO?~?n7)vr(M9AhEJp9S~!Nm1h(u<2%CB^8o`m{C!YZz3As8~iJ zRatVJ>+-jLeKbl*kn_aeK5RD5XV<+&hM7jyE2uUjwHA^DFV)0e%yKqKS{!NMk8e{7 zA|TH!#3|?m!WnvAx|+hH8u&pQ`umFiL-(f>^1&jsruPNh7g4I=l*%}hQR?5vaa@^8 z-4iZ+DRH^7vQmve9?Uxaq!WNt<)|rb7GtuPIV>)%Ftm0Rpa)l_pKW$gN*2z@nw2af zGnT=G3$zk`2&Mq-wQ9W#o5Nmf7uhDb- zu))%ux3Tw@8#v;$GZ`-L!EW=I}jvU=D^$(j{aoS={Ob1ggLL#Ttv{g4_vI&2N|JO!VMI#2qLN%HmDI!0jO19N zQI=dx4fN~W$-%A#`a{3y+Ylq_&m`zy3-H&g_3pg`^A%{XRqeI)#{PHfS-dai$+2 zq0NOvcwJ_gi;-RPP6{%RY& zyr7Qc9^r%(=2$O4eI2J%=;NXxIj%j2N|5XL{G)kQ4ZIUFs*^Mv&t||lfS(5RCoBBZ zViN3Ili@J}`AL?M#RD?yxa9SUvO7gGl(KlL!Ek8s`~V>v#8C=)iYH6pUkBl30+m+# zLWu-v6EXur3v8NWb%IJ#!Y}|Sk+NR%AA$bR?Ep-sNr0J#By6^^dn4KnN!XMaBca_u zrvZcEh>PEl0#I0!Ajk<@vrx$O>Iq($E{;QP#)0yPsw1lViOwa;Gu6Fh|98FV7$vXu z5qV`pao9yAj01cb;>XK)Z2_uHuKUI61mLF-5AeN~`ya* zWM(fjzQt>{i*pYevK$>$c%n#=Lsu1Z^e+B3fn@QpF}zV8zL8ee{`D3gaINl239fWW?# z-CkZ^MhL+XM;yW8;v#vTbMwtNGcz;8=FOX{&+ch5B!ov-Is?7sBtz@CsJai)xgwu9 z54vHKmJqbN9Rd%cOcO^j`_gC?J!c_k(r7lw7WVPOAYfSZS16tI$d$r)K7MBbe{KUp zim9M}vPl-!2K8k{-?p4fZBkTcA1EPxpXFVPL@Uck|7YO-o zjV3EAuDY<+MdNuMNs`d*c6sP2r}L@Le+pv_!nI*F^{DX9q5G0PDP}>K^JZf^hC6G$83}5KVA3#poFKemZj3gXAP(2x$K*SA~B z@g9ZxYkj@6^-!LvTy-1L&1YQ3vR?Tg?VPIrK$l68L{FT^#%L1M1V6ma!QcM_cv2mv z1i4?Do3sHvz!!pUQ_<+QSXxXO#xbpi2g0vLw_=^wXgG|$_lk3T-!MbsVYNp*NbysN zmph7#FUnB>F_r`gAxL!5^P)mTG2#-%DJp0?2~9vY+aP=feW%3NC`OqO3S&}8`^y)5&k1f@&TymR$KZ{QK zq=gqn5V(<&WcQ7z&NesS+;VS?Sm$|;@B7Tn&9St!#AiP98NT(cZ}GIJJ&j|IIR>Q^ zNs?3sR{I0X<>zr6lcs6)oGSk&8)M4`Tw@Hzm@x{_T2V@JE-x=L7z|jqZXID5vTofv zj4^!bQ=j678*boP&w3U|AAL0aexG5Hgx+0{pJ~m_dt%bKM?W(YU_Ql{f`$s22}8n0 zNJl!}{YsRuJ4skc#wlPWJ*V3YE1mm6H127j0F($2bMpt*vu|}OP|wN=NjjVg>Qy*{ z*9>vw+Jt+FA#k6DREi`T5)b+Wt@eR`@Us|;l3O1q35OrHoilfy$r0PPlcXvALI2<` z5)X#M0S`I)IIh3(dVX;I51Hw7?|JoJ`Scg}&|loc{FcKXRNx+*uD#Z#Qi;f_YE*HZ z7LsvgC?U|O8US{$`v?C9YaP&s)vtB1KlUrTfBvJCKB{OoD>?ZFMLQ7HP$oD|uzStX zW?Y6K_k66?Bzgp_MiiV$jqgHlS^1UWR6}J9QcJ67FfRGhbv}I^?3cRsiIx~UYG@lK z8OGMZT>)w)s^&mN!>MRGV$^_Jubl5sxkm{>D-?weeOiJ2x?)bf(qC23E2-3+7&&T~ z&IQW}H1w#_zdxFivAF|!wdUDDmJ?><>N@3j^`A>A873aaWXv=ja2`ro^cl$7bRJ=C zKU5T)HDa2Ed;L3YM*zHjW@c8QwRTjWtW1(h^_$h8-_0*4s0u-~#AUL2Ur=xk1>l#J ze1KN7O{xM^8WE*sf6M9(T^Yt86pbKY7{@39%~qq(q7TLz<;xK*Z3U@LoJ_E4V?EGT z;Q?6|ljgny=d}c|ZbGG`z)uZXoYoX^EGh^|hOP-zgaJ0oT%|t@P-33tg0C)0nvNG> zlL*gdv}V==UTws!rbskVX)phm(r0>?+`;wEmA)0_tIRV@<#FLx)8s;tv;&6Acdc4R zW>)Y7$aV)KoPv>`E|Zg>=@io#9F@qB+iWCMYGN|uqoTq$Aa;geMh1i{J(jFO$mUe} zOi%bII*>a4y{nUWq@)nvj&7}IE|mAUp*GKRgb>Wm&SH$=o8SBGdbgoGg!ZVJ%hoZlGHrZNOZ<>8j)*c(M1xS|%!FYD(gF6wnj4mf zQ=4cTDrBMEqUkHz5(dWoK~B3l8XX@F24^c3&fqsYBz8!&`;G&G`u$bvOPY=~7Hsx_ z1oc(q5chi+qaT!JM?a}3xoa!^6`GAEXFvQb9(LLp1Yt*KZlDj8@Rd`n@s%8tv8;pr+?olc3j-ALliJYf z&W*Xa-nn;iECGj z9@^TfPXH*A3X8Uqz&|iODbdD_OcXRBDeS5Qq8$hVf26VlBjq9Y-X$%b)guo60iHwU z_g+2%;f_)>uD4%KTbVLtcI^9d#G>3sQU)#|D$UD^k)d)xqNE$`@3jQ>^{^&G2?*LV z_-a5DPp{%<*0R#?;|Br05Uz5r#uMR+mgIYYhmavre?VjdnymmtK%y;49FS!ZfuEyu zMOG6cFu8|L6EYz&ndh8$bxhzl==Tju7?dYTjYafVXxetMY=Ok!hXD(73k>?pl@CBe zSYiT(Sqi;9v}V?ijoekoqx6NSfqabwJH?T94YR6guTYE#dM^{l2H zgs7Q$q7?_Ga~a~91m6?T2AeayB?GpwSSRu>?@4B=ySgi$eGxPicL z7nS`sd9*^{x#t+QN`G3Mm$}W*qUmtkus^oH&Mj$&z@?8;E!oNEu;au~-Sdpy_t z@EW@9E;)C>SpLZEY9DWogjluItGlQ|Zs`_=BEpEQ?D&F}I9|mAy-2%^h!HbI( z&q%bzS3Z8BX5|Bcv8+UnA0PNWX_nD!bTP*AhS$BGef##ZW%Cw(@mGHx-*1s6g@TtN%(J-gsXt%2qb8YGNng$sAp7#Ke~T}D`jgyv(~U$!cVC^GpW}JI@oOBu z^&x2M@vr~<&)jyyk7##02Ry7eDbM`F7)i6#; z?HQx@jLBi<7~?A2i5}rcu}Xhsa>fW$Pm^h_uj?eR zuZJ}mLD)vAU@BFoe9h_=5IW7T|3mCPkXX%517{CXht1xB@4?j^K+g9_Tj>1dr@ zkBlVM8qWif8&ZnqRO__)GvN}l)WodV09owAKq*Qk96#uQb`+hspv<&H5@-?SM*WKbH-3 zDi{_*0zu&Rcba+x^iksO2~^~{D;8|nuz|r~z(4)dKk=RKd5LKZ_O(?Gq=60+XX{~Msb2oJEiB_1q4h;&qba^c~j zjb<1PS(sbk^ixmg#D|=Kkm7*c`hy8;EuQc=^@LNn{^sk^=AKvY5rScF5uL<%LXbb8 zhnYr^Whq$!I(=0dOw}~feO199WkwVna1Z!(vu$qMwTCyp`KWC%@W-Cb;YXfK5{0Zs%Qp{nzXrShP*Xs4v!P*3Wc#=i5G9E$8GNC-Bmjy^LO@Np%U7N_Cz|C7GP2 z6m%MHgyBWM_G`TRZ~mtG{+D0$>&RAsF)4FxmsphRxxaYoMNi_Ai!bK3p23(DZ3TF+ zenxTqO*itJzy2H5_D#kG7d?g3cbo#iTi*COuDbU72V7nmhi%@*Wk)) zzsK_~{)MUYc>6ov!O1&L;9c)|KaV=|p)B^@F)4xl~sSv*UUQ_1t>xFG;acDs^xh7z*tYiv>2!V zj3)q-z60*F5iM!tLR`v>GA09QOg7fTQO20NuGZ*+6YhZiq)D2ieJEjzglP4Ba*{6R zmhE2aR2>@xM6sjlRKUIl_A_gV(u{VyxvDP*oJvlb44k4$YnHmBH9{eTawC8Nw41f$ zx1g4k6ttB-G(3f9G@Rai?y!W+8{}EvRl*A;99?UO^@K!vP0)j?Q8t!=>o2jIcxfN) z&TM5u6;}Ij+<-4R&y4eX_91!Upoh~cppPw z(Q3}3{3cR_*mQ^qI~8AiGHj9%N3omMQ=@Z8HBi1!lJt?eCJe%{W_l&UDmjSq0m9d$ zo+K>Jfv^F&(SRjCL~Zgs&zYH-AqWDly6P%E`q7Va%PqHX?6Jq9lo~Uj%JZD%<>j&8 zce`Eu`$_*|sVJwEs;c$A?~^16!{M-^6XkhMv)QE6>9DxC$lv|l-*LkYH}I6FJmrw8 z_zmA@rX^Wk8Ir`wn%ecD@Mxy&Q**_>FiJ)8p#T zl0r7M)1!$ocOBR=6NMOGc;CiIpaJ)=I)|C{HOn@S9WB`^<8#BV$XO0{%*W$Brt+-| z(jq6*!^~wZvaGu>Y2eiF3%Ja8k)F2(aYB?h1xK8!7_M2+~byO~MQjJ+~W19G}y zA}3$>t{njfb=mSvZRfsPsyfYlyhZ4xQa99pUBmQ?2MY;d~v z9)YzjJJL$Pf<)RN^y%Y>ch|1zgu`$B-cJ;C4;yI?`BMa6b1gRh8I;4eElBSRCswZn zJ)ECLWUCS*>CLfMc9S2Y9F0)hK{EkaMM8HZWljF%#!Oa&dF`as8r^1E zXmchwFly5{YJ8e%@s1(5SQtJm*GN?1O^Z#l%-v4Gz)+vp5TR|-Q5DsRQRv9$=b(jm zlKZ)4nm%RDz)&8XbyGpuw?!&w% z9S<|#T&C16h6<^{vv?*9D2~?A`7%@X*>4Tq2*A$YAOrkT(_XClD2;Ga=YwfTNg{C4 zQio~f;};#po`CY7*=M!4xV@*~^&Ixl@86L+*fu${ZZUwCUQ!jmb-cMoR{;56QBza1 z!WdA<&AU8RB)Zrd?!nn#P`x$ElviH zoZ8aBK;e8-q5tRWr!V6ETNVrCu`r^eobi5tBL1%Kit$ksA1UV$_Ru^awZN(DOAzL` z5Ivom6i}=mc>EDE*(ZETL3gr|7T_17L>Ho&-wCh#X2On(9Xor`HISk}%uAZe9&_dO(qa?$_L*)q^S6(!i1kWOcoJa#;lAvG`{w6h+M4&uD=BOEO0dO zZ@!M)UaReJvR84%ZtNxJXJi3bu}Z)?*uTI%JRd~!Iyk9duNl*I-)leX zIR*s%x$$Fz>xy6b2$=6A zkOEJ713T<_S5U-E(f%3LJL3gDM%QciuI18+{;WH*V!Bxge0~PCKmDeP-jvLG;_4-J z$AA-UIAYAaYM^u3FI&)62yMA8U+z%^05sVfi29Kl{`prb8WyG~oRh#8HAR zIXgZ`y)%RxQS;$?^IQD}{bpkzZx!vPNwr`6#w_Lgd;n%r*G+hOqDQmF&ejZ3L#axl zuDWUV80A~|Tc@8xtYXFGA0{@LIk-mX!ERZgOa?zTj5e4I)4+W?YYAuF8O8vfbhi=5 zw`T|ay^$LCY@_nU82Cq`3RdwZI=`kR-8)6kxUFb`HDCT7+L97xPSKTiM>kzv!dMGb zV?JrlPjc~;#uu6p1u}T4vW$Iu*JQqMRAPwp?+YRIj5ygruJ=4+DGTAll<`T+D68aB ziI2`S&ktvVtgx3O23#;dpv*QnQ>iOdF?<6A6YZpX0L@>Jzi>Eyd>y#A+Ez0EE4snF zq@)B#T5ZZqAG?(M&?61#x=VjSj6xq5pj$(nqnj@U*gy{2*xLFhUv!byX_#JhI!3>3 z(?!A_pDKawT)LRos}58Cex0Aw9>t}MkC^@H6M0i9rn5!}V#Ug7I9V9MyRw_7hE;rI zh?fD?5j%X`8HnF}0EuaLtCiXrVJ^0XyZ5(H$0MJRN_KT3GvWGUi-sAK~{kb}CV%}vJyo{@*nb!9bvE8_|gJhci_~NS@ z@9|SA++u4})tNv4(j*-WLClXhs|IlKvuK)zr%9~;;b0WhFominwp+<>U?AvY2du4K z4CdB^^#H&ztZ%OB+deC~E=rOiw3k24qcehsSK1y+)6Z4N%}~RQ{XC!SR8I<2V!%(o zgzx!ll6o^Df;$=p`n4^Jo9VVPZF}5=>|!kbrUjm!vm%n9IPj!Fte9y~4EAEk)L$;M zLghD0HBM2bXbd0sEhUz3=0%D0N3UCsTj3VR>vv{{Jspg{n*EM9OQjB$&Abi)V|!FN z*F~;)cL$a)LvNr^uuoubnIJ$0IcHtz9@&U?*Q8N#xr^4g$>VMP341;}hif<+V1k(Y z-6cG0JstsRLe!Vz*HCawM(`5*eSZ30e%941@+OG4?Fjp}z{r;&7nkElLU| zXIVTa#gs01yT%{e4+MhJF$m8ibWka0+-eqEY-}OdI14P_%H>v-lrX758d7uld5N{F zi}yFkftDooEsLQ@n<(!@RJa>c%%!dSvv}7ppQCSCsJX2bG!QS`CyHxL@_q6M^S3T2 zwCIu!GPNT$8AjPYX@u&^;BfT|XQ_JYq;Y)0__$&jyE$bAClNG7kI!eLOoSKuRS|A4 z@eQhT>W2_UD~-Z4Vm7Vd^4KUWCMHE?PH0KP``$mh_gw4n5tSAJ4)D-13v+fl@J%0r znV1PPV~kiW{8yf7LZyX{K}i3>1VOsFLXK+)B01SwldVj}4h^#FP|cjuFg181Vm zzXKMru`lQ!q<{4LT=;~0SVn*7tK7xun0jzE#oYZu$RL5RC0Pa;flGjyP6Z~w6py7Qe zCN-tWciKuw!e8GK?De`d_H0{USwNK211_^d3UcveJP{Q>hZfoQt|$crEREE%iy98s z!So!ZKXWOnIje;ZYQmhyPwChNIXCF}^q!>z7WR!JbEfQ^58`^AHa_w$=Sg+oedCg6 z^J)4yjmTXx451j03qC-xxt(&ODW82T|41)0T!+nnI=RO?W8lt>n6beGb@6F^K+i%3 z99}@v)w*fc!z%zLcD6ML9pR4=NbqmP7pQi9SZ!XhxE^1&nb#N%U`EV1?>lGthOih2 zz__>Vot2BGXolY)q!(U~p9P8fZ~O>#-L1~-6oXAkDiBBD@CVnl@E4g*&D-w_v|K+2 z#6khV81D7A=Q~oz@^*g-^A2WSf1#sr6>g`P`vp7~z z(G1Nir?_pDV~O{Y%$$_^%+H*gO7y+_FT;+7G93Nx6+BoE zw_ZM+WY1kiRf@2kpHfYl-{os;tElw!_a??1sl_{4iQ;7MtKa+5n?fFQ!(Wx#+_1bg z1y+e0^41cqF2Z+<1o|KI@{cE(?h@cyk3fD!%N5B)k<;XlGVVq{31w)U z0&PGvF4-IetA5a9_bldR*x8R^iGglMidXolkGXRz-J2OJK`vO^3?$X z^KqwzTCI^}j(kZWg9cG4VNGq)gX8Xe+7{Nu0>Zmr^*@-EdNGRSdY5ecb+zu%ag2hV z@0tLZQ(~W6r}jGy`t?a-yS$`kuo@YI1TZmrL!wr6KK#5c&E5W_?jl5(dwGKrSs7Y^ z8-IC~oj?X|#kH9ru>FxoK+I!>jOmh)tr?s$=ia60xh5Z|L{JKaZ8~eMF4HE zn8ZA*_fG@`Rse1--@1vG_K)^M6#I+r3P?U-A{P{GSGDD!52Dceb;yKJdKQkMq)3|RCBKrU%s ztigS?6RqU;h72JqUEnXw%`Ku~IPqN3|E#~!J*^;LE8}V5NwWi3gRqP%Hf51D>gjTQ zm3Zn4Egw;5RihZbpL1>Yf&lX2LQ88}lbc`F%S#9H^G^63nbc|<*}ZFa#t|j)>c$_g z7~c*&#=W6mWjAQN%O{A@LVI58e`A5X%o*{@tJMo2uc^!GB@fzyKCFli0go)6J+l&0 z*6j^cYf$JhlGBQDws{s7DH|z9-Tq$W&N%bFL~$2$3DL9={|sPz6y#a|Gx?5y6q!Ypw&kF@M^8$I4rRWQES+>=vq!oW=_PI=z)}=4}L2 zvvsAO4@^tuIms?XH2*ap--{q^OpC%Y!_~vxz~SN4eTWOcIa&KUf5#w_?~<>7=+r`w zo?M`3^B}@y-sjc!-qf?!&IB3~s2WmfirFHc{JzBx1aWw8LvLusR8ZEhre;mWS%w^a#6ogvc0=Nq%>cXwx47e(G{0_ebR zPW&mxcKYL_psQEy>x0cEJ>-v=f}Y;6uAP9?%o_p*iS@sf#(9eGnyEQ7F=h38F2!l4 zV++YLbhU+(@kZ&kbWxh9hu`tI<`Ef}q7;|*%!aTXG%&Ww{}Yh8sV11Ci%G^^YhqWH zD0Zr@s0d;Y9Syhwkm-X)7QmGhkWF7O*O@RNPy(O^dTZ8;z9+`hhwoha;5V=q(9V?V z_hRxco@gLm7p#v0_2-ah#fPev7C*5{EK`gqnPBEYfLGzstOS`d0mj;v>(=9~`;}*r z_du(_LY=+oN}E5myabcxkf-EX*XL{hgoG~nEp>DfoPRToH@5J1Y$&t5I}`ECeL3&i zZHJ;$&97hYDegs8nog!w$|rU>dYqb}&soP`-ET;GU2ot>#M0mjD4vqZ`6FDLcx8r7 zr_x6QN)TR*XxxOdK+?ywx>$3<#{g*RQ5!}n_mXm0X`-LG^34X4cd3d-^l^v}21Yh*T_iy}lkDtPsdl3V<3jbNrhz6mBB`%96-zgcD$dsOYk z|29n*O=Jt;Pr{L{ccgLdSa6-&S5gf4ca?VeZW^_@s}*)NYz4)=`R9p3i)GLv-uy$8 z%8@-TMD>HRZ4mK~eY5>G{Jo=^FuO<0UlRGH_;{zL42~Y#1_JAxh}r2*eHXkMiS<+Hc_`?8v@aR^*xxza3;iVQ++? zg&iRl(pA5@>fU}3RT+9Tc@smH`mmtyoB_9sbQ zv`iQG3@LBBTJd2r1_-j{N|~kqxa$O9gEo&34?;6Wfx^#Mj?X=pGe*ES*8F^Xcnalq zU;u5{B0(mva%GR_Elan&MEQ*VrmI-TRog0s~^)TGSi^7Rbxk9O4& z>Mr=%Ds-|$_6jWDz~Na^xSdb&inK&gV>hKUIJNaKe zCK){fM7#V1Qva9D#(%t?iL7U4(WbRt5a?#WF`zp2>LIK7RRUq+TPdQRNU$^9g;g%cL28ur3j-HLwLxal$?xB2lKd9y=6vG)GQDzZG_)zE) zbbD-9E<~-EV({1S8O3m{Zw9XeV-uDykYBbyUl<6rNPL|hksNQ&pZ@}wE^mj0Uz&xQ zMWPRpj5$7!5W_=iR+tRx8BFB*cJFuRk4{3y8G7QIs@!-2)3M4NHPF+!UiFULR^fP0 z*7$}R!ar(GYP|0U3jO^|;50IHB>X{Ef;pA^T>W`{PM8JK7zf8a$=H zDk^bEK)>=nbEH^c2AI>q3#4@{JN0zt9;kPjpoZ{Jbtn3<@axlfh|NW7$>|9qM+W`{ zSx_vsAq8h4_*3&hZCAZ6dn!!(zHIS%U=Z~I&K9v`Dg?9KhH>g$vNlFQUKIHal2h`| zVj4kC-#Z*84hX`Ku^e|SRFVjs1 z&sck``9y?@ZkgJ2nA`UT=nq_~=mv7ZE2$L}w!F=D*^Pd<1s9>`v$;m&PULv%wd$-# zW}};q_XJpBFW`EPd}elWf>5{S&s7Jje@eVF6R00# z7qm*LB2xoi2mcl4zE94>S#qf7*hb(rsWcya2SB#S@BW1~?13Q-CmrZ>P42?Hhs%;> zz0!JnQMEMLnI4D^ZHtNBg7}mKf=%)KAbT;rTru zfsW6G=#&bX6ogbe2^2MjKV7r>qTauLdM|QV+_DbB`V;VwN50|i=p_vIe0k}pIg#%F zgajwFkutgoM)(s5J1eg^Z!o=`e=lkT`WeH&E~hMXRuPA1lUfD*F(e;&WY4m)o;+VJ zyo5XHqtCs8kmFEn1= zc#mHoDIpckvdfaWyIn3B%mN7B*Q)YT-!$U94+t&KmWUmSmaHr2MgTTMNgM0+3{s3> z)(azQ-nPw%2K8lHelYUkF?tx-LSpsj{sk=+61i?1)i$_K@Jw(29^?J0IaxiCzP%QE zGc=`e9hUhR(QDU3Aoh=UqtXtOa zn{lJdjhv-xR|e>1dlLKPYe+eV_OmJKFMOWXECKW6WbSdhMH?zC=dI%P9^6D zIn&g7L0Z@ZX34XWZX1eZ0rC7>Bt?l-;_`YqD!EEq0qB~;{yov{)p^Z3;mec-F#z&1 zoD3`x)&>{}u4R|pJ*q}?A|;EbfB6Nn8WGQy<4?#)^(|{(P z*Jb!a)QOoG69!|(J@fm-s0rF@Hk)?|taxTV7^@I7Bn>VMm9vBWxV?T-?$$FA`A$Og zGy%dTZbMQzl~dt#NGVG8SdTSoIhHw9ja58hFgF7{Tc4y}8AZnsra|vibm=%Ya3|_*1nZ%HKBsdmxMlnldCe6E#nb zp12(V-g|XXg2ychTuR3pJ|kb)R)0`MfAR3}z*zCl1bQYgkb^6cS8F9uz9v>F1neP= zjTjexph@4Of6iI^718PqMi&E{RS9T&$u z3fTk7=%*M;JZCD9Ma@(L;i8`qDME0lkzj3OyH7RRFgmh%t99x^T&`JX;GhXSQDZGs zVN$$OBLThNR3V=H6=%V4?s^U!w_c_C7n?9ma4Q*~ogR0iy+8f>w}LWkny1xkr0N|I)xe z;%jqzP7TEx-Cw>x1*mZ(LC2qOxxJ_9Vf}oH&+>d% zKkI#`9BQoxf8W%#@%&IN3R#Ap)f;KplY7aTGEsqfTaGSGX-!`AVZY}+TL8IGzNx6~ z_k9?hbopw!{zSjr55N9UadwH<;AS!l1}H~G0--NbQ%~yG!P~@@*T%Xjm;V}xx&K&6 z73WYCzYPbQvTx~9e%Iz63LOA7g#Lu&*GoYEH5u8*gGNT-1Gn1MFIy4)@L|h*Nf|yN zZC#yO_-^(Y9)7}mumA_{9=@sVMb{~(&!En6HGF+G3z6?IZM|D{Fxm}q8n77voY` zMl_1SlZ&85n{{!te576xpy8UkHcM5Ws7;E{lAz|Fdp3>y8#l@w55bUOWW#L`Rt=lL z`Y%z|T`XlQF2SUZym|>d6VMdWa!px!_=AnuG%bUp} zk?xtcEAEn7yZIVa9i_RU^K_X!HF;q`0UC3tKNX5$9=w9+@S+|q9XW-n^^&+^%ow<0 zwlhwpW=UP#`|~&~_NmE|f-VUr^Ai6ql7r+FekR6K%g@$3k^_Dn;JQf=YIF zVbQ~>Mx*b?ua$>$65C41!t<>6-u&LW@0)hCdS_J5#w*I()4Wpe#nfqa5#-aunbm(6 z+FMqTxS_J7OM~!y@)WrGG4RTA(PJV8Vx8qQChZ{X7LJ3q(r@eZq>+h$)bJnRcz^jp z3t+KrkQ0BsFA|>M{_CNSnalTAPp#je$=(&V3vd@-9&gap{h4i>tiHFDKvD4r%63N{ z3c_{Xv_6S?;qh1u)A1o#KAy^UK3?zju6*y|YT#qH5uB#jP3y5Y_DhnRiD8iAdJ5fQki3x{;$ z4hMYbUd(&i?Ex%yr)w$?#IOw5Q19|XZ=gD8)#wzgUG4Bln|b{(cyoFbA}7e5l^4Tr z!ORZ#tK@M5=m_q8y3L!iJRHG5%;4-xPp}x}D--17)!T~F-Z8E{Q@LzBk>gOzEwKH; z9IcNUuJ{l8ljf7`{4Gd-3#1vH)zM!60)ioTJ*{ zEl(+w!-!YR;daE&0_oI0G5e{$6-Xq1HSH2pfR94KMe%?%1ieZCQNRswp zAQHSe`%CQ|ZvL+~^wJJMP(GgJ%DPTqXDvuoOp+mgOf^Nd5ye)TVCyx;15&8)>yrY_ znulC|5N%B=rb5&7Y+HY?3Qntx_<7L17wGc2Jtt9$mnS#O6JcZ)O>C20ee;HM1V&lM z-;rf(;ZdgkFD0>wSr(#7A^(No;`mD&14?^MAK3 zZ%yWlw&o%d#T^2IEHRKMP3(YY72z(ok0I{NV6DJjK~^#h_5uK;^%FZ+vk+&Yyq zBzwuBTz#=vwz#Z1z#-Z`?Hya^6Fj`I7z+Zz+S*`{adH*YfNr!FBd?xOI4HZ#?axQk zsT)bsNjj#8q;JZXk4s3G*9qX`uN`;@2{c`;1-_q=s}I=7F~R^q-1=*P6njFJ!oHNT zMQ8nOI<;|5S6OgZGg@@pi>G7-Zd1zHfQIZEh9gm7{Ycxw;BolO8m3OxCQxxvaPKsE zv8}Y2#(_@DnI8BT3BLh)H(+Z$^X~vy{{!D7_PL;8*K?uUVwLTsz;oWkrhSjHr?FbU zHBr{`LgA-Pyu~x;s0uG&d~;nNlXd;OF#>xT16Naph}9#m_#2LWnm{h{mi4E01v={wJ(&zsWFr(Bz+(SUnMdfUcZpE!%cVy~CVm9TU#33Iv2 zG}b%!7Y8860%kgiCDrE3wR_b66w+|ISI!x!!82UzeKQAx)1)E?+Q|cG)k@3qN)ay$ z6ryn}SQ(4C>r|iEA)9OkZ$ot62=B4WaVYJ?h<+=iLD~{RF#2NmgPmc?Lie`5Mgqh) z7fs|p_=pyHdekb^o0#P-(qm>yt3$O%6vW6lwI%S!M9|hosFuPn11NRhE_#K*0iC6r zn#N@;pXH@#mDSE(p`x;^wLQp@s%3_#nX9W)GXsmvS_9=~LCHXzxSq!W`1;7LWy-_o zf;qb{k8qLVH*E`T0TRt1E=m?#y(k`f+3I4~L#B4@d;;~2$f8eJb57s!4=KjsGcn|H z(-$$A@ED;ycYi`Sv&T~km#j?2k>yEZ+F96knvqAc`Rn&kd5V?FC*{Un0*y-u`wbCttGL8d&Up?ck|WxuIFV{FVHtUUYHW5tN{5Y#!% z>ZS@7SdQfC_tpq?DKb0Bs|GZnd{#c09+Rpez`_+FR#Y<1ptT_K{7;k4ag8y-s1A zSVmr9&eaL%A|2bm{I6a^^|hbnnB| zUkJ9vjF+@OPx1k5e>3`?;*;>zSB}xIFtvIvbq#W_V-0eqeHbN&a`920H%R3r@(f$obEhal5FXgVUmPg;f5gQ8AdQ-_fZ5 znP@|fYAU~XFRI;qfRL{b>a@*=4~lqIZ|AG+U&_J%v_Jj=h|6}fHI;fj5k_YwGZ<+Y zs=3m+_DLk45dQ9$H<$T96ES*;B#WfybnaT2pgpcx?hFyZYDn(~2CAAJG2KK8>BxB` zuDba5iI;T}Y>FE+9ECC>*)To_+x->RmSE$>a~h7S*K#8WGP0 zUrIhTWrMRlb_1b&=AdQ12lJ8F|%m7clNix?rOzx8W}uoJYHJXNJy63#OwBm3v~#Yu1s<=}@9*fJI^o~kD1uF_a#m27Hj`0#sy z>&VQhPUP|e%-FWJH@0~>*5fHjAy+^*+n4X#g`gukqy0ouG@1JR>?7AskYnmQ#6o}gbO7$IEx2g@JHs~pr5Cv}s^(uqd1=_}8HXe6Ikw&*S zX$^%sae5yhiS-IFT{uyc57+W`27Dv$dc}~aoj;-`Nhm-efli8CN-buzc zTf3wg3-MnWZf^&bXX4xpyZ6!e%;s;qq_YvQsZf0DPy$-rnAkj)qxAyXyK{ZAD}Lk?cc5Lr#0e zMJ|_9+MFa<);!wH?kgF6=jj1Z;3-F>VF#Kz7*EQBAA!|HqPmVPcGK|}y-CQ0*qSPF zRk|7TRr>Pd6Zj&f@(ZV*sG0vCluoSR#zyC``S^I#J6!AM5l}W6AN7*&mrsn%o&(>mO1Xv3xu-Wdmo6rmRl8dX2iq7GgH@o=@3*9+QfBdat!My$#hIn+~xA zqXjebutif37wRUgJ^QL6lai7u6Ry9$0lLR|c}F`Q5EOYoK4L7skE3Qt7_APr&aRz~ zr)HR+M$@n!I2BYb+2J97{3lCNiqtzO;&A`&$be)OUDkfidER>JLF6XpS(7_g6DA>4mKic1jncfe2Ah{Jc{e^J@%0zBBS zv&VFV-;(yqCrJUl*tv8s$w?~mOM0KU?H`v83s+r@5GNR+fF~of{nlxxt;|TBK96G= zMjqMaEIK%UyY=~gN$6Vl7o~r{f@t1?Gi-|&%5EbeQb#~^ zc-ZN$*7?hWmRLZRRe#m((@0iC$8dd}1&u1|j-;4KZO>#1 zp26R2Jzotv1nx&>hi2E*exS*z0=e252*MaEjC@sDEU8rY#mZz*W5o9^4h9thQ{eiz zWi~b82k`9Kv^4LxzkIfoL@I6X)r-O*EB(M+_c_NN(NsOOm{jp>z#Ul&bf$`+M)?Oa6I=!DUct5}7iX7!a1+o|uBg2MpRm+w_Yc-N{Djzxs zVY~@`;$Yi{3)qeiWl=jO1H&ZKNR(USj5V~ zBCPb^3*hJS&zZ&cz|Z44@m`Y##0p=zar-&kn#oYILjT;pNxaC8zo^d2wH1a}&HU5e zLg$x1Y+#D~w!QVnF6!BMv9%5=M5M<2*SlEBQ5dA=g7sEij%XM;_%8=wl_BOi(TrFu z5f5WXt&<*mD7T7XWtbTr=@(L(_A*9dwZZKm3m8JnA% zD}~JlW13>9y#?w-ufQhI=_@k1jb(yh^>F)zI{vY^wOGDrCQn0(E(+74cn`#APpBu( zgkn7V&mjO?bkhP9)}ZU%D6ks|B?R_`NZOOpnB4{m>Gs&PqD?}adUlt|Bkz<@_t1-n z*dOnw7b)x?R9J;dM&!bReWf=5csX(~JfLtGxIIbREeBAO-_KwJvA%$zgP{YJ5Yyz{ zNNV}hBopI+uT)rq>3Pw7;lsqdRNtw?sqTWaqLm+8@u&6b{aw!&oz4+mi38N*l$<24 zXT%^OAExVU>Plny==x*riMMYHET7*v`Y$Y`hnT6girkaPu33d5bRch9M4D&}s3N3$ zPwV2>O3Hu50smR;1TJoUO6T}=txwJ9WS%1X77GV@jES6Xp*Ycbz$ONczTiU?=gYP5 z`DW2_dXW_Xfa2BLeYqYtP5_yTwC#0ovYmousYc;Be+g^TYVUhbR!Eeg2HAD0wN&X$gSu78(o--__ydL?ut0_sV&PjB*L@r|BUDK)(^(#?xGt*1Q#F9L!Cs_Pp3B3KRh_$EVSVte2}1;ooWj4Z*_8)Ta04P z(&<+Zt(w`n5Xs{h0kM^kC*_b!4y+b0;b=(gCcc&GmgVj%yOsyZ@8~a9=u_9a5b5Y? zfjCWzrLn#mo_7a%W|nHWQNJ-A){$PpYeT&M4zb&1(f9nFaTRzAcK<}+(bs_`KMpX{ zrkc2$3Qj^E7;2-)^b(^>tVxzkMLg$z&s*1fpKWAy^-#sE zLEA3)%Wl`MkKMnN*U}EFyQEF*y7Awgq4~5FiiB<#{ zBPtX(mwE;U+7q=cP;}{V+oalH18XYvlrVUI*f8~=_T=91b0vF3OMwP zEW&=OG&z+BV4cJ!D8nyG))2lzlKwz|C~>*xNjTbezyUWtH0E7XNzYYz#m-X-55=7k z_;|Bqo~Tr9zZHjpY!(M`vsCLc5jAha<4YOBOzXY5gJoXpc%*wF$j6^Fj{4Q*f`jrP z4|lAhgO|j!>GtUMPfw5Je-@nr0f^`zoye2(OTl2CMXV!?{iBOP@u8vQWy`k=}ag4z>}#!{1alk25V`1!NZAE6&>?y39`R7|(F2toxy& z-W_4+<9)gLf<#}8Cmr(;w>KCqN+ zCaZT@nB5(z5j1dJ`t2K~w2Y=c?(2(v?9;aleoac`e~7_fCsIcvq+~VU#;I4*$(Aa> z_0)MHFhyQXpxnej4AdAV;UMjS{!KmzY=lc5d8?B#h<>)*V@_iARIzOc_>@w6LUfaR zaaE7sEBR5R%Ti-Yv%ld)g-Il!ZzcZdi^x!|K)1Or3qQgmMs~lt#z80hph&8W*K6>PKPwt3P&Zyc3eH0I9edAb?GnPs2TE@*if2OCI zYaO?MvFj~|8;?iz?Va_}ogw%Z|N881|F6ik!at%=3W*Iu3;9+uQ|ZNdu_E90k+e z(f89mY*Q=7jT&VK8=;}K$=@5jB}AD?D6m`M@0J}>pR8qfnEXIidit#j+`X+u2v;OpkqJ+L39V_c`^M}*=+W48!VpLu@Y_xJ92vNQpcXo3mXDMa zPKl{SPm2k^BdbTDL57+(vrKH!BN`w?I>X{(Z_Vt&{0t9$GXV%jNpifg@zRmQw*409 zBCo)VZ>kH8XD&n9}6;klyx*O$O01C zq$p*LPj`EsaL`+@c9Z)-0fb27uk-fviIU^mJh`FKCH@0Ytip@DGwAhF*x08p`j7SEJVGU$cD5f4dOrgH+>rmUN!CeCHHNmem2|7wm_<^%)gA;@J_V<# zB*pY-5#Zd3bassq7crDrCB*JVTHs8QIDF2t^G}N+CDhwh$N)Yn#QM<|=5_hyB}eeT zub|BB_ICKI;#%pf4I8j2IG-hglJzPTp}j<>sap?-^xK%SVwbLuWLH+BEI?rWiH%ND zso;);KA!~iFz7xeM*z8czpr_(f z^dRp&wD+uM)Stf#f}G8RzXqB^>|?#7FN9jY9WlEI@2SvB=tr#_#HLZSZnetcQcC}* zL>(ItX+mGnV%R)jO~j#Jp^G3S^r5_Wjn)C)_f!&ips;Vj% zRb;KLGsSu1>Nztuf>`sp)c8zmiw5uGBW`QngrK%kBCgaZP*q9+a)7rbgz4~;jJq`0 z=^Z<db0e~^@-e9%P^sJ5-iaNtAj7?o@GxgOu-^c%GYG@ zzNOr1Zz#T-Ox$6TG(O7Jk$dm~uz$LfV2L%S#zGc6Bxw}{NP7RLCciEI57{h?@4?c3fZfLDZ$s1iQ>7wr`H!R1NR;Dkadi&+f z=TTI;3^6;J2!B~9Tid4aaUi+T-RSe?8LNNF3q|8ad))4L7e?y-Dn{U%G>atM z_$RphaA6XaSfvM37k(|%a_5t)o8r>Q0Djb+X)!_v$a7Tnu{!7}qVP;yG!S_lhFD8H#D z!5?S%nDTFLC|>8^{6|(ME+IwT!J&Ef3Zu5HPjJbDfko-}ZQ2A{@NHZ-c>9Owyn29Y z-;Mi+Mg0P@J^yBvPCg4r+3Ic#tI(n(s6``e`utd#6L9#wb?bmpdgW80_H8pM2_Mk< z#GlLbYG9Q*zaNq=l7nxR;;8{HOO^ZnG)TFQroyn^Vd=MDVQumU6kxrj1#y?F$tx(J z$)z{(@VJVtD>uAcF?u%3=e$c1_oh-6jdIaIxU*)dwY6SV;ejQu9X6g%8@SKoms&jQ zb0A#$p#34YZQ*{mU{pdc(8MkK1ZVXJUwzH{q&6^smDlLpp6IaI(uA7;i{IrQS7-|r z`0Wx7jh7Z8cjV8=d{I};c+PL~YAp%{JB{_RHvUjWo9q{UbXy>`%ZwpZeuUxx%~E!C zw~N0-27yzIwIs<#GFaM8Fs%Dt^w%L>mh!^~!X*^VA{YFO5)U(Zg~VvrV`HhQ(e{W8vqUZ_em*{OQpW&w1FQMzMHlSn727nM=t^nL?lsF5y0%6{-8ZFuJ$!8c z8Fd9A9Vv$XhbH$a7_j>NFuGIMdx>##?Rbls=h71?@n?~ThfF^Z=B zQ|WyaGoIa&u9`I5a3o}nL{VBHMBXbaSEzOOU4uG&`rmOV?j!TbBm2ku{u#-i*6tB5 z^)c7%k#D|oDKZiM^N~E6yq!r6Qu-{QNgqO3hR{eeobMuz58vTfYD25lh>V}j1~I6r ztpzA5Itk+#X*Gh?(c!K*YP9HpUSVB>(LU5+kw`aNe|^O`2KV~J(qcQ#`2FZ!@%XQv zRE5{j%oc0=z8VVC+<8Zhs+It3VXs?tl^YOctfl{t*RSwqKYL7rj`t_&jXoWa=bX58 zW!Ixn77`Avj@n6V%>|Ty4}6@3x&py&vKo$Iz+bpOUAj zT!>)~(7YqrUj%U=shX&6;JuY(RSE(7%&j&VcZRYfOOd{iyx0W=Bc|_ye)nDbzt{|) zwv3*>1DODli#qsM;_aEjzJRDcbynEDChM@V7UM(ht!8{(kews(63p2IqxloQM%)oj zTZhClwVm3F1a{XGV%*gbEq_;VpAWgAzMq)R_%pe0MS?OV-nuJG-72W9wBfxR{70ne znQb~d{{^l{eS%oRZgAdtjMt63bd_TX^*&+=$3));Mx{Kyy&rkA4GvTiXu0&c`@p#N>#%(%hzrLyJ#EaR)_q!Xw^MCV8sLOD?|ALQ%R z?R($tGhg?9cOXc~9Pl-W<$dPOp$X@eU1_2X}Nb3j@^nJK(S zP2MsiVbfsO@?fkG;iSh4C#BM2L>*kI?S`djFyP1usnQ&J*SNKdj=I{ghD!w)K zx8I+|yT;3RNDax^m$maOi=$zN_?ZTyk(EFXB|NUA}4(LYQ)TUtheI3VwW~TELOsLZW*Lb#r zK#4@UB+clHg+->Z{ia@V(3(?w$o#Gfq64wxYD>$G8?h&{y49gSy=&of-%9-`^8^x)0Ub&^Aagh5CES}ka+-M+8 z_c$wlmBu3;-yoW2%_CWY2`-r>2yV`(tIdcOU z08K2O^Xt+irI;(r7aby|zzi5WWuzZdJYZ~E?}B=mwB!N*n_9f)u_EQy1R8_kg4abH zM(Q~EeU(~*df^Ode6s3a%|G$vBxl#+HxX~K$&-3%{S85GlKpLIwO^L!)(x_BRf&Q( zGW}d#RJUPO;;<@Z@-v*VCNWn%W|zl*eCVx1wQX}_^2$`>UeC6)1O-99a%k0Om+6T} zaf6^JiJU^8k2}I!!Q3(&Ixal>QB|mQvw;bFoR^o1oRW55cwSl41Tz=mdnK7DpGKH` zp3>=tMvB`owqEuRlPSJBX^%{F+gm$wEK4EGfHOvVlH?w5@ElA6Q8}XCh4Clxr_?Ej ziCjOJs1@vLS`XoCXOkPKC?@k)Ok*JAPM-b`nm}d0@TUR&l_;jEQ(Db7#^z(7z6AOu zsJ}aIv}?sQ{8Tp4hJG+UO<`nL?)wt>*G;H$t1(`H%}u5J;(MbCw*UWg_uuidq<4KM z{(eG*4kz3+IY@)jNScvAfCM5bAQV^|3&Yw5vtBP495DFjgzeqM*x2AD*e0yO0>cu# ztOXKTEZJZQBoGopIn0bE&z*Zu?ymHN-ycss6}tP}dq>EuM&H-#-ahAab#+yBb=Bwj zJfH99qXGjhM2_{MyKimWw&5Vc)ih{QJ%e(|f(6ph`rLzT&n1U#e{Kh1!h*D57WlFz z-P)pY1$wzhLyFcJm0O@(jcvh^vjrSpBHg+WY(iJJ@fvTLN-8Wc6|R>VCw$-x3!9?cF+eSzh{#r{QUMrv!C)Pmj&?)tLfOw}3WGdKy?tW-%_2hO#|Vc-cR z*+jX^$8w)cl7!>qV~&oFuE>fSh{-jjxft zkN<=aD5W?!I6w%&_V)Iv06*f3{r&xoPB~YqX!TjwHCtO-R|NO7M04wfo6$B9SP{sd zCb>C{rS~!&G}Sr|mdEUu6(^15sFb5b;8XV|YVWIqgEje0HfXvvCkt%x$XIhv0RBQx ziISh=HmU3ry}bA6M3YXZ_$M&BjTNVlp8bqx2fQjI_uhXmi(Eu1U^-tbUo+ZrkDf8Kso$W2o?d-CntYI66MzWVsA}`-=tETAcITdeaTO;JMFb zduNA}qa&jC#-=jHaPG`GCRs*Nl~+w0jOCmo%_rzYf6N29PsCD6BHIB@u#vM}@Jp=D zAt%idGJvY0tT#5+MM61(fyTAE`MhWO*S0}gRQsOsf;USgNt$&bMbj)DIE$q1gbQ(0_|lL)-{=?ozFbo8nZR9T^U$f*D|^qJ2=Ni zpnveQQj&O?9qP=NRXCfCvm-mt_?p#g+WM-FD=%2+(4VZT1Df41=Gn4Hl)w~X+ixcpbFE6SG7M61FO0w`#~uwK&B(M zIxc6(z}0OC6+psrvCnY8Ra*zP4Et{z)G173_kIJ}j<+?bN|7qT<(s4&Nw>vP9|$&S&VlCc5K;qG@W3JwnJ7E!G1-dLh#831n&abR4i67c1^2PH=kn#t93368ySq!0B%O~u!0or+&b!|AE{ri~tx1xk z1Lkp?hBDL$@b~ui5JIrEwY3r8E2S{TT$5AIrtMxV79C-ErCABB6j=tv$!5t-B~nrt zNo|I#eJTZs@GP5}{n~O+xL~2#O6ij%%midv)&cyrD^djYF{yTwrXCpS>ATlzjZ7x! zY#T9IvBrARu%kY>9Ap#x$6y;-)fKngbSpPqeg zE*~za8;kdr2OoPhXkAU{Cf6$1b!nwY(}b<*oSp4CXLfctzq`xs_73OI?sDPWS+=G# z=385MV>oI%-~Y5Fg$OoPSq1`3QBl=3jcM3BJmT{HK8G!M-#KPLe*V-!a`A6qohTtaE(Zy8z|To$PX=@bE40p#^*&`bBoa+K#4#O9_C#%?qi6le$qDDqo$LJVuU64D@R3Iz;b~8M+FDbs zQVQoBmo8mmu~>xk?%8a_f;;Ef+S=mQTW{r_d+y=Fg$tx<8jMAXqO+!)OeS4VKzt9S zRM*gZ8o+=2@yFTQ+at@a-Og3YAc-!Dg6VX6)m{SUJjd2|@MIOxXRgMJF>@aQeU#lS zO1qw1n~b-)s;U;;=RFjXO5#Ya4C-ZaDyUB;Tgd6WYo_hi*;Euq1rGlta?APHWjW4! zKIQhOb|=bx58TINk3UA1Uirj{(}WlIPk7|=2}NC#DAhV#D2A{0c<_B35^zn2i{iN%e>c`qgj>q!eWlbW79f+BJ+C^KoZ3jzB(UkO zUQ(MhxTLJG|8ZcTqzt;+I>>lp6K!f86al(rdI$tJJLd$~9EaArvmA_IZPhE^i)0O0 z2U&_~HQ?dKo+heI%av`TCcTk zqs+%Rffkl&syeAn7%)WLd;t7$y{pZ;v58j8-X$jv4);(U(?2|RtG1ZNxfW21(Kc2l z%nS@azn=MzgRg{T<*?4OHOV{Io8v-bT+99sSpT8cK5lD}pSAX@O`xNr{=T%LWBYsU zeJiVyzMBnNwx|3w&BBbRpwn9`8Pwv=R2ahd&Kd)>O}LFEPxDqf)Z4WV2gj!+&#u<6 zIe8Ofe;Rua^uJ%>(W2H^ep}V3L^GT3ta;#1+wIw!hWk|v#)}}|+qw;(vRJ85uBP^& zyh4~ZyS6bjssP`!_q2As5F~_Ad!N)LI)&-ZS+veDE~OSrDhE4lv%4`{n92o7&Y&jJ zV0CsXz>j~AKz{WRSONNs1^^#R8951A0j3H7zx`RcC8&AdxI8LLVj4&@CRvV@3M01g zx@1=xM7BF>z)h6z6MCQE?LSI$%CfvFkX|FE>ySZjIo(MPGOiurubWHRXh zf2@deZo26v9(m-Et_Q#v(=qwRm=5I6=X3HrXW6O(thHRed>QZkNTL%l(4|Y4D9e)V z?d@ycC#^O6`}iem3FG)uf~5Gv^sYDFe-%gy0btDrstdtX#zo6PAhp55fT(RItOGaAxNW#$Nm9<(+4`a|V^>_@l$M^*&jvuA9*CIjAA1FYB7J zu2CxO&Yxa8KkNxn6h%ovaQ=Y61sYSgQUgeIkW)l|Zs$yZovw)ld8bFNnx+NBp_WyR zXf@$p=oUn+pOcH)4M28GNe%4(Bo8NiY@po)?!$YIT~PWkAV~zul@WwcAlGdZ1Qxw& z0s~YxcC?A}Y<9li;M;iKJv+AmDKFDPHl`R^NalPOD@CF}!?-zqc#i5^i+=fN%nGF+nHB=@H zv|@wvroM|%VSv-8(ze^|GL}`vER}7uWO!X=`hiM3R@PY-7BZ~?kMW|Dv{>7KO0c#W z%Wwz-iwOL!>-Q}JB_l!l1}!yOYK+tvGiHp1RCs48$^{FVt%XkwQ)k1mk==7)8))}q zd{j^HLaLlEB`)++%04P_fcmZg|FqiP4<-Kw0yn2O143nk-sz3;(*_VaKJ$H#^| z%aM6#Os!1_Mx-crLLwcrG(#s77AJ<{ zxWcRc=BT7&dwbe$S36K$nWaB%<^iI8=Bk7vU3t8EC8FOauX0R&9m|7@q-iTZtTQHB zFkf*I15iSMYdBaIOwL}tC1|d@?mDWf3i9a|a~NYf8IBNw zBuU8g9IZ7?(@<3vMN#nh%+WPjhzW(f!DWhT5jCY05);DJk*Z zanD1S_{c*S5khf(cZd0G!q#LKMyOJ-Gn-L04TmQu9Gx6bwXCS=Sf6Fz+3eZ1#GALjYbeGbP*M^AYFv{G1O`NiM-ZT{e0f5LU=&N81(*_Ky! z0E+S(V=cxQ8e@XYLaR2`xoMqm0;{N%CQ*u=tt}1?kNCfS`i=bKzxg%nZf|pZaIhDy<#zV3cw{PjjNfYDU&Q(W~L)Q?pVKWiSnn~l9r@A6*@>P-j~aEDB|T%V zlw_JZ_6kqdx(^L2GUxq1ShNt#($>8v2@TMZ#m}?=;|Bw$_OWY>4eMCciprP{^hdTm zN_IAdPsL+cHw|gD!)s?SloV}KEDUYZr`;f;4~sf3f}CM%60Ysm)*xma7YmGoR4arU z?1LAf>9z&_u>m*ytJ>q#f>!I0Dx}T=Xq}%5@TIFjW`XH%gR08zUfFcVp&vx_z<-$Y z&?U{rW3&SN<7~wma}Q$>e-%K#TGm27-KH`7qwh3;sVkav)&)_m*3KlQENYH{ovk^u zJf*5CjGR+09Yt|WJ`HKV#@MbusPPh9L+yk9-j_>it=k#O2>vxm4a)c>lH-g4tWCF3c0pC0pk&4* z2kR=lU6Q9;BXBNMMp*_6P}MeqR@S0*4#||}=u+_Xm&qs$OFcmg)?q~eT@(e|+uPUd zPM4->=Odrzc^5bpr7&AtTixG)E>(8b<}$MPk3Jd*Q>7G>$)x)^_WUWOXqqO>>L*DD z_KTw6@bD1tJ-fTRG);qZu9NLtYiX@HIXR)OYj$>aJ|=LVwDPOkc@C?PT6-hlJW}f|{H|Pt#LDeUfi=O|l)RcMbJP zjW^4YqfXS|3q8fj=yLFhU(OoREGNlwoU_PlY|<1$aN+!Qq)AHcYc3yLX8&-1EnF$+ z&K&zkN9-NdWci#|y!gf3eBA}k?(A}QXPY!hx-ZYL8+=g|Ts}D9;OLk~FJ0on#~$O- z{yxWxC1qVP$uhDu?NZxfDW$O9^C$2B0MCE+o!1;FF|6rq%KJa`5kB(31Kf1|bwN_I zp}Y@Lh_b3^jA4@H%%&60Y;AMh*)yC!dzSfhf>yyks;t9uCyONq$HzRrx6l63A%{mt z=tOb+0Wm|$%{Qv(k`r0`cmb1AGSPIdIZ;c$>J?#~;?Ojm=Qn_Hy>1>m zKJJZaI*?$UAGzd6<1ouIfSRUv$f=szU z9fxQ+saQ0zS$5z^WN2p**3)Ij3n%@PbsR3-KlB;ciWI`!vM50 zVdki)8oV@*k*k_Wn)>i zskd54%EktOjU~?#iUQ`^l27I#kSbowP+jAFQPwO9*vWESGNG=6WWhw=`NmM|hQ?XE zRDcelPO87=EbBuKn{citN|8uOBID=Q-`6tf5i;p4G*bqIg-Ec@BBS%spR%t|>jarj zp&H9Xo8lOm?BIR>rB=40EJ|FKqxGx<{@zw$9Y9qt$?}~))iw>wTFYcI;p8OPEnaJ5 z?a(nNrrg$b&15p^nD1499FuB?IK^5^p66_DZ?m_z7hL$1>RfJ`rXfvJlv1N$D+qvm zdwZM7WI|b%EEWrrB*9wC{{H?GN~Vpey%C#T3%Hk3u%!f6hG43phQ4xsEzk;}S|!U` zmOe=`&Q8y;JCV%uDTxTlwN+7c!2VnQ)p!1CH{=%ixghShORCG4PX+a(a!t_F*UOOw z=BCEl>PeKC>Z~QrCnRYawD;El?!zcibMy5#;hZH+Q}*`vI9V*n^YQ4btO`JJ!*#du z!cV=8r`~cC+p`%S+NRW?C5w!*H+{a}G|$<&^%k-;#Td)7C^$Gi;ekgV<>8ALdGN8v zc}>5Y&8O^@dtFGnuq#)N3_@$@n=ELg-&zTzM43$w>SM}QaChkjMIAgP7ddh`6u5;Bh ze>hKYyllu*5!iL-G10k423CJl#T#vqd$h720ze(wWkwKu8mR8I@u7KlsPBgWY>!IY z>gFXwjeoZdek|{Zf2#(~w1-V(ffe9K`uR9O>5kcoTp`l|+(Yl81JRBWAfYmFR2pWf zMoZZRVZ~z&U|jblr5##c@WYZW^r9-ErI$Zf2c9$+7)u`216h zuc?}*o8bwb`bq2T6qfZ?kn3=5v(}8PP>;*d9Gj?K&J^BHqQdER2V3XU4O@9b|Cw4XyJ2_E%&f*8uY2+}Q`Xhd_2nx<@TZwJslnNqgrzDajjEccjc zK;|KNR&C)iF#NvSimE^_qBO}UvYfIg zN8o)<##E{r!DzzWHX#vh3V#HtF{xptp8BD+zsb?V@$p8v^;r z)NfjE1mH?3=JRZl+aAQI;iTSzc2kZU6qBONUDqCnwal2u-oA4SfXk zamL-d72>PC<_=lA02V= z@*ej*_#pQ^^bq$y@(2efCnzb=TJzAwi`@IbgS_DRcT*o;yEI2h$;o2D`#$^;(v~4J z)>2j#);Y2y<(BKO=aw6;=P5Vc#7);<&zY?)w&yb%W2x&J>l}?~C=WNMJ4zuCQj%r~ zpK{x+Joo8O<78QI&jSzg+i&{=e)d;?gQwhlGZ)UD>D*hO54D(2XI$F5eARt1bKs+;lO z;s7AHp{waK|hsqpz|;n~i0kONsq2%BnWCMq9v z_sWBkYfQg&wp-Rz{r6tAiKoIFN-H=jOy_p9DwSGR!NxS(FwoP|lWRd^8tlsRT@QdY zl*Y4_r^JkgG#Sglipq0ls@hxxLqEWoQPefdcH6BNDB&^IbpU^SoQK=C{j!KQ=XvbXV+d6&N5s?-k#6j+CDuXk#YR38TgNj_t? zHRq_kM`lt|Ifpk(viUB)c8GL>ISKnRn{I{W1|V1yW?ZY|L)bY>79Dto_MIQ&Btz8R z7e#T+_f8=MP1A7k;>C`XyB6g@l;*6m_i384v$MnFk3YT!{;%d$zv_j*x3~9%Y%r4~ z;qv9nU4!wp9)o3B^WecDzCLKzlaXhk@ih^O#@i0muQK^(^EtZ{$t+DmXq6W%tVg(k zr@fS9Z3aNu#6hRh$mN1+$i80%)UP(yihKu|PRZtzzOlABJ)Zj$y=+r6J#(IHzRlwJ zfN`VY<}${xeReyz;&@mV1()|OleC@PjcF)~g6BT#IlSOGpN0^U<#K^_?oZ`hV_Gls zvh_AilZ2<b+(hE<2TUs zYpFRZV45YJWM()}sv6H?z~sk$vd*>^jsj~Njx4BnV{02=GadSPin>8b-8uxV_eUf; zp{T0S^TYFDS%m?LZa+tB4bigQI*pbB;{~PhOf!M-bYME{W6Att#8EiWWP=jXQO#pxOZ_+m*g|@wC_rSm1zkzLMWc=fxKc-x78eGQ8 z^Jxd}rPS@Ln%yYRG3|0%Zvgk!2GCy>80*&hK*Az5#?)l_`aRh?i)d#Imdgb?31CNK z$*`U;Y;?wnX|u69+sRX^cfJ{8 zq+CfjUIGGJ3wk#)L0unF`8>#`iiUczz=#P)l_N2SG**zPmcdpzR?dMV4o()Nvjj2N zKCg1z$6)gf0dVJe&SJ6PYqHIBaD7}lM{SE9(6?;S$9P;p1p0Hp;dERk)`2z25-phs#Is|6~UBvAp-F zG-Y%DUvUKK(_!=mjt0(xuBR7RM;5 zt_j$C@4@?xuyr^R20Cd=)P~)1;|<(?^G&?)d3W>hV~_E>Z+{1mUcAJ~;UQY7pcB1@ z5?RLkK5`EaJn{(7d)70#^Qm|6wA*jv)*G&88b^#(#op1;$1>x$`8|c8F^2l&1SJG_ z-}wx(NlsCXnH29mN^5p^&Rq42ZJUP4e48^j-i-Mq)Z51rQUxYX1t>RJ(FPv0-Jx2i z=r*WkQ$^t4IpF}ZJrkqneY~Lu2|(SwPU2hUzfXD%KsYwVx{f(t1^=blECq=`IJzDn7v(YKXc!_Pl$5Hwcfj@v2!5*_Ro@MRHwC%uYw41C<>urBZ67DqX zWmQ`f)j2Iix17pYFku_CaHtiwe|X-Mc5|w%bq-|(#;;0#1bQI7sElQrC4@#Z~ntE;y@=~8Bm2}Aj4IUFTPrPrg-sd~eAt}>hNJ8_my2#wMSayi!C zA0Hne)dcSi>EZ}<#$s9F*P3L*KBkR?<71jej+POk{!<59rfEu16zuNqUi0$%`}@>& z-8tM`OKsZD7^*d&&ne5Y`XMV|lv{RpaP<&HiqECAvbzKMR zrmI2VmFXkd+B}V3=INSIeEW~KkyZ$SbFR}vN-25T?YHxkn{VckOP8qX8gY#}GbttY z$pR@Pf9ch);&VRjQ#sRii7$(S<3-<35jSr*{Uuo0?!o@W?Y-imB><bA@l7pP!IrYDJ)vn-cE>jizN*&o zD9%U(FZJOuUDk^IMZ+|aod!Q{M@(V%BI&?zX&u5x&|kN@cY#?}r0r*!X-}3UL0@kj zlPqgz9D2u|*b5MjS4vf$VAB+(boZQfo}#_s?#yN^3s{!rC^@>Q8^oe)lWhCyn_~sU zb9sX+j&UAh&qezkgqDf+eg8=Z~-$;xP0B5ZHUu6sT<8ZiDSCUq|Pu5GWzYwMI!baLh^C?`D5} zu|Aw1l@sfh)6M`HjT7Bx1Z@b|pnP0koZ&DPSyN+@ZIo$y9MaR}!b0fID?bAJ&Wqn0 znp66PuBD7IOePbKj*eI^m)FE%CrQH5(GkbT$DBEH=9<8LWbY%67=m_dEwkB-h+q#&s#Ru{xi7p{FF%T~K!9Q@<&!YRxU@N=$uw0rW+%a`KMNX?dT3BXWS8PNHC$S*S zvv9&Hh0>Bqo&~!$A-Yu8vTCSmgL4kkG?==^JBL_tjB(C!czleKk_)@LE!Mua5w7>1 zqAdB0=RTWBno-p?N1J*C=ttVJ^}LrV#zK!>fAHbP?Tqa_XRqXP6F!r`wrzS}YaNrx zgh@WZIy-8{izS4>HVx-*eJc5EPWdEi@_wRaPz(`xFTHVe6USCy7In|YwKu%R!9<5t z*|Gn9e@v}Y92e25Qes?xqlwqnA*0{FZmgX**0HGL#?@4fz&g`9oAj*tup$5rvWIF- zH-BZ9oOm0K1KSegWtTSFv1dMLrdQ=8qXEF+{f^49OAbWPuSTyK*3fT04g|WHiTL`? zAHUbouWI{C)EfH~n^uhj5`}5v^1chniUC=%hIW#1P!(NrhR43&jiKG7#ahSqM31&F zSY@gXz^?*->ulJ5*GhgI-FLV1pmzdlhlwsUgF#CCd728UCL`0Ht!aX_sykN4MM*{s z>yq7jL2pF~rgNt$P1U`BXebU1v0gYT(~#*t)G8dS&`U5&C2>+QG<4JH@4c;=wo;M^ z;D-P|k&k&A&v7brCZ1A~EpGZ->7X4LaB45b6Q(68Y@U{fP71Y*Dd z#@0A2N~U-*p=u5hUEYY~Tna38>KbTsow1!|Y-ggA)+{V6qU=V7aI4{SLzaFB=ra}8 zG4{C!z3PBtP8Kxf@u`iq9jHHLa1@z;UsRZ3h}G=ORSx$jR@KV|=Wo4(bGO~W#rr-) zK0BQi_THnFW-^(y8Zph@-eu~h;#Dtw6?fnDe3r+@7;8q>O`9re%<}0Joh0O$W|{|Q zoChA=XaDE~V}nk4I?1^1>^2w9ZDWk3sA`I$qA4rtrdbPzii3ips*s5$&vRB;v`rPi z2-aGT7MlTa1npWUBw311G%Gxos;*gJ086j3_+x_%paZM>Ah5_32J=tHqo@N8e1!X7gJoh7Dms3@IL z{lH<^um~h=PJ7S@Z8uXr)T5Gn)$dtnGPU0N=4%O zqD#(j_F}zp7P1XZvk-3-aoIuRZ2K6SW|dMQh{{4~<9b}HEw_+dos`M6Vi~um4Vi+V zm!IWffHEAI^x;wx@RX;B+2f0m2LfL}GsHgWr_sq5qmYPQ;K#5Xm3wpz{+qq(r zXYDadMs}CR$D9F6S(gZ@1Iuq4Ob47ai`oFaBu7b&z@Vfh(`|#c%s4Jec9jO9NfSlU zZg-xh9dMpbW+Bw7Zq@+4)+uR{tO5M!Ti^NDuhiNApmn4|3KSNL?!57{O|R?rRSgCK z$=Vbzh9gGTKQcgsW+sryg9|isLHx*e@$iR^-U@EGL(O?dg}T6s%x5`SnsD*b zA^+`;TUB3glv*An`GpZjH9Ck_dKx21CL(j@q-h}s=))-o!R19cihNr zH=JX8mUFx;sS}M{mQ-bVD!5OyX3QY;Wvpd3oiWKL>>cd0X~wczE;x77?VNwg9n{5g zeSuGcvPkAyZeZO*Ip;zM4Rp=2i5^OB`Wm_H3{qzSWF5n(94rDL8A>v=ge1+@Z#%xh zIyC?;X~+IU0RNRyArxuT{tcObQ+G^kl>At0LIW*fz_;2&3u6X7O%zqrP&bZ=>Jx8` zR~@ikb;*fMseQv|aMg*-{VMP;hoH*_=6uoW>f>vMX|r1T&K+iRFxSc;MT$;_GtK(- zl~yrJBV(;QP(2F5Y6tCMy8&!xjTt}7qp}a3g5eBBFZIbZEUUo&Z%t&U_cvZJ9Y}qm zmcE|_3deC9I4Xi`&UUU^;O$s6j;u|hw6^ukk3hnQ0YD6~ijB2RnjnF#NhG!M+ zAg%}gF(6H;(A0g{j)?Ls!&*UQ1dDQkka}cU8Cd=Z^bCtStOFZ#>&7ooGO*5NbwVP> z-wkIQX0vVJXe8Z8q@-A$pyz!sUGFv%EcZv5spi(jDV^9j^9L8HN9~~j}1g#Zyd4g#|n3Wol27=?`L#ErUB*|N>P^e+}Q+w>3 z&?A7q3d%Q?zREp#ldG2U4OzZ}DUPX}Ba;%L5*CX?WK}ZXI)fF-T2Pv82a?M=faY2# z%>EurdUA4kv=1()IBamXC+n*A#Hf8ggOOG>vMzCQiX8MSG$#wHNtlt3m5Ba$Ntt#4 zK9Ve{vM8<5G9}p{4{X}&X)^%w($_eVjvk*#4S{^^Jhg|SYAEW^nB90ws>e16dFGQdtX&m2V}kX2q`&#;Vjc> z&OP^EvA^zaq_wdn&AEzo7%yY$LHb>9Tp{BbS({SJZl6x-R%kRA7gX~TczUcE_ zz{@`CZf1GPqmNy}TtleSHPsbJZtp#5p0j&)i%FVt?}Lx?=C{9>_kQRe9(rt_Wm!`< z4UTYuO0$fu`IKkgej}gpoTu{qXWh>Eb6XTy%KkpogX0p`A2f36Dl;C_Y0hjq!=K^= z;JxR@JD*23+om|&|D;N$9aYq)uG}=Dw{U+tq%>tst_4Ywx4~6Grjw^>(4$6p9;c^U zJ?~I2S~QLn*9A`*>nM${VOcq>D@l_i$eUbjqISe& zTjM}UItLvHO|gaqREV2mgvr@W-dL`EJv3W&MMB#vQ}c#2Fw`O z1&H-t{S5|?{!%9VUGRT#X;d`KEM&m-`2o*HRk?0V+kfEwbvEMx>wux!~*)ndYSVtYt{U;xT#Fctss09M-iqlO@7g zq@JMK!GXx9r0NthqCID855fs_qiC8Fnu$h~CAtcOgGNtD>KbeX?SP)T=GYwtOG{Ue ztS!eCt|z%LlwOmIYjKLvqwD3hmXw;>DTFDgT}#r)3dDr!q@g|;JH7dpU_hZ#d?}E1 zi8=vNS`gl)U{u>2`)Mk@i#o z4*|S4r<`M}VE$^Q)EHM<8*pl5(hFDv^4^teKpc874#A#sYnm}hGRN3`RpYdGI&9<@C0$&$Y z`wvkbUZgxe;Mf1#!~C~*e1PYC$}PO;?x*p>yFZ1SZ@j?%-U0guM_r?f_l_h<(OR7f z+~aYaO{d5WgD_(Zv+0bd-g;X&H$O>%eFV;%nu>;hld@&^>%ibA=@zEdcg`kh`+U#( zTbFhXghQ!KWgPXubtqbBMtP0wf@keI5A@Qqy6M?+oMEh z7&rxC+BvY&?ea00WrIr&^iDYu_*)kS3!QV1^W=)Q(RjW3##sQt6gUzBaBSy_%4qhM zhAas(ovJY%W8OQsw4i^meU)>Rt(#2jIat9iI*Ybp+cR|2>48>%cQdHQA-usm!=uKK={9jyiguftZlF3#C0mn0 zpNVZSPGOwqaM2)@CT|m4-SBw1{{4E1PlhuU1un4HGJ&SVph)y7sk4k_I2)xpLp}C2 z0Q@IfrwsyhnzLvvFLUWAU0`sfR_x?K9%2ZARt5!LVXUKZNjHnpxRkmA?Ft-|PF~n} zg^%HME2mI0Y^+fVpJ-@ISWYRttstL~sw6yT2iV3|c&lkditwsCxTk^NXm@#SJo2?4 z+p(*SMmd2j1%s;AtQ*`kL7Tm>MPh=0PO=1$4X$sQghr%f zT49zIQj~y0r(2l10qdF16Y_M9SPflj2gs)Z_*k1*`PE0IGUD)YbuOte6}DUq&KbD| z;!l&-BuXM=&b-~{RaPFtclxkuI4&xVPGRTcy0(((XdSU?=P3vG$04APlAD9thjkCJ zwoI5OikZ%t<*IYf83tFuRje@kEu4_&=eqEzCj#oF){soYhY}lbR~&UXIk|FI&?jJ- zx?+Cj0yjP5IXrgn2Wib+*2|A|;zEcKleD(D_oQh^Qp;1#Y?5>Fu;7>8`Zj+1ZSUcp zk3I~}@RZwc;pJcWd0cSzi1Qej!Mb>p1hQ&!#RG)Q`T8 zXEcxVzW2PB-+%kN`Ga?Th+n zlN6;O)1tFYG%nl>GT&glJ|$QxfMjbO%T{}>q+&5R9GhHn;xFSOdT=+sA=c{gg5jnbYtLr@tz0JNbZ<3IGo57M6S&$O~9;e&h1X|{>OiUTPv6h|d& zPeS^tb%w1x1(9HF{H&uZN_+S^XPJ0C2&{N%1vo?LG-d@jDXD>&4lIZ%uvrounv8Xv z+sZjyENCF4S$6iPzH8)-{`HcOOlf2a)`hnBr!Viqdu6ZrSD6G&p`?- zDuDM@ApfTT_NSIJWLb)-Gm7GvvK{VL4kl7#2%n{&&fr!ttSj zJY|;UZ8ks~Fy$E~*~aox0h+`vM%Oi=QgBURwbjagHwGc?+8|-PfBm`|uY%;LtxdL< zSE|^XFnnAsBT_c;*Qt{Iz`re#&PWFX38_*b$ND31u$xPkbpz80*Kh5TDBsPzq@77u zLNZuKI!QTX%1KqCTdk{36HMLE6vyQ0)>T1#w>>Ltyc3b#UkC7tc7WG5w+}V(07Vl( zY}CfbS_Se#_H240VwhOUBo!l8KGsoPQ!S1uYSSmlZm6N|eruAAWi;o%9<7;S^pJSgWix<>%0rzy-HnEID~frtWKvB9)9!^fBcaT@L%8Y zAs%?-BGq!iQ=f7RFM0V(c;y$rg6nU%o*)0s2RQLZ$PfGm_y69HVVy@N6TCg*p+EXr zTvM?1tS{z=f99=x>(_lY|J%R#r~K^ef0lp#JwL=ZeeIX>*>~N+Lyv|uH}6AZYLX<^ z4DO>hZ2;F{|GW<%>xLW7^ZH->Z~V}I`BlE^uYUz!@z?$ee|S&9+yCeTZ0kpO?Ct*# z2M@gm=N(dNc5l6ln?Lg_@XvfDFMN8+U;FBkpL^pk^VZ*c8}IqRhq?E`NBOUB{{Ua` z>CfWD&$*qmTT>2Bifgjl62NRaTbpHQtYtQt^7K!62DT~TXdf}Xx^3o@v0}4!lwu8! zS)Ae@PW5Y@hDO>du-TI|9oUIQ3CC&dZ_}~=5hx`x_@yI~4f^^a>l?s*)N5BpwKtVs z_7D~vCXxmKHB>67roXVq0YRoElWB@=?BK>2n<>YPuWx`0qDT>P&?mmCt!T{SPk6HqF4QD8g69Lduz`C z%5ybt=Dm_;K7#(m=-#^dyfH2?{KKY>m^N!%0QLKe0D^-L|9CJptYHs^brvrYz_P4D zKSrvv);k{{8?0;K>Jw*6oW~1IQ5Bt}$I~<7!$C@9|10SBIV{)C#yZPmhbK7OkVaj9 z902HWY=X=zo}nqr<#8Bj6If~ERp(Yyy0+h_@hAeY5z_aPoEG>)_zs4kCesfl+kv9B zbh15#?FKf$80eq&^EH&UkY@>1-GBR}N)e_2W+*AT26dcAY%q23Qlrz1tSQiTNhV=B zosngEN1Pe&TE@Sf4eJ)3tEGK|5lQz5jKZWKrSZx7EDC@#B+BE}HjQd1>Lb!F_{%ey zYSLuZNfx0eLSi34{GKn8>u65)$T>zTO)@{rthJPmta}I0S9+_O!lAPrbb5@bn-1WI zOJ-$#&a$eGMwx!hC13jIxbfy2 z0eJZ0f_H!DVR9*Xdkz~mwgFm z&+PCcKlr1Z-I{RQ^}8G%FY(@y<D!DbUnZ;ZtE~HxKEpH2WG8BVU~s&ogv#FnSL!*Yje4p zHXE7(kAe5eaIL5Tk`88#yQRt~k;6{)i>U)R2OeE6l%`;ukGOX(c+o zbx-oH870jMnT%L^XhNbaP}Pj=ek1tT3Nq;djlu`e-S!}in{2~&XW9C`02Ito`^!#R z>up0KE!$H?RbAbqJxixF>`^X`yWfG4oaQu8?xh47aK^~dC{6IT!L-bJ?Lbmfn3Xiy z#*9EafU`yWd;gxB!24G z`uT7i0y}Sv<*2IguI}0Y7GFo}$|$)>(+RWou#N06+ZwX;i_(Swtbub*Y_gqCbFwTO zhghxEfT=etpdJ|M>xZB|?!XfW?)ro;Z!JP8Zom68xbNL>$2QFs8#}MHn#PbOn!onv zKL?!UvEzon{rCSi&wR!mqvZ}xDxBAdat~7;Ad|@ekcO}=TbIVp~^$$`XM1r&7<~Yq#mQ_ubByD4A3;YHbeluWdq4g1W2J2im#atPIbpvqU zvbm>8YT|o@B-ezhX^0_C-F{p}Gk=;j=7?Qy85TY8y^c+{7)NDnchm3fJjZALYFcls zep_uPubCwR5aesUX1JHp^nib;^S0JeHKvmjRZW!DK+pCohVrGD zHfy{L8tgW0c38%X_MEmX99^$Q*seZtHvWBCH%!w6)2wLJgeH{CkOi^TT4xY)Im!>+Lw`hX$WZQFo1D^t?#t=SiG%~$(&Sz9)wfT z4a(H0A42*jB+s_@>2=^AwpFU6WBgZ>XE*gkY&up~s#W$Lg48wJkUZM~`T>h?tfO+U zJ}LFX8x++_YoZlstn`!_!F=#{DRmea3`=T+@hqC&FTb`1dwfDIW-BuReJL5T zBhnJkUsU|2_cXp*i03UlTVl(aPF>9QlY^tuQHiG#R>rQQ^6*6U>C=#JYvYk~HKI-R( ze?P1mj*ab-XGe{;uIat)v+WV{zs}IN+p^+s|L93YRh_H_Rz)jJB{Qt6I9ZldRdouu zUyc&A+NB7{K<%1FU(6Vou4Nm5^9r)RiErY22NvLt}}IAC4%oe#%elP2R?jpLJJ zgjej&XB?b(ysgRdAcKf*QmcVp-kFw>4{kfgD`;nEn!2WR1!5=#iS9|lcaLF4Bpk=I z{Tadfn#s!qt-G}=rhR7zt^0FjBU z0ME`WMW`&uyj+77dHBqRtcf$Dl-WLEHe4B22LjbfUPu4;jej1M5Sqk6ebTw1QeCgp)l$BBnEZa}1aFsM~lW@0!lS@-(k{Zx&3ef@L;mTAhrZJFW_ZmSgz|3*TnvB=HMGvN>3@SoYe^$wo)qR(Y|_5uL6 zTtDZ+w&sCD&AB^X$nj$zz?8>Go#CCOUhZ?lGd~}(bsKrH#cK(dX_wy3nCJB=~!#f8E@D5=OUSHj6>&aGbWsW1c%4yoAQ%2^|I*PhRN=?za-6&cwWZB|jv;RHw9{^Vi=0rl>*w*L1&5hM^#Qty6t*^S*SZhFgwx)T@_SbDX ztsdPxhw_NPy-c1fKo3#0}RJIZti>ZfUPGhz@yx*Adx1CjG+}03m zwHl4C2hxBc>kmPrp5CKDdvLv1C^GH30m@-X=bsO3Oqh-Od1d?A zlEbneARLw9#8#ozjZV2Gi80 z9dL!l<+xOk#wao!XGzj-a1g9m6={;T04^K3FLg)H8zMdqvq+Yr3Cw?*D7G@m(K4JH z!Np2;z7oU!6G&-HgCnJ^RwS~j5BRdQGMx6cL)b2)#yf)&!9!cBG58x+Wbav>8S(-6 zFROJx)B%0r5Gw5wW<}dC5ssHGz5yZKh`edJ;0v)PEff1=is!`Cf~igdQc)1Un;-uK7v;o#v1xcOPn<%T=& zVs`F2{`^ax!*~7XKVW{tr*hk8R6PE{-=V1sWRi2^oiF9=vtPxf!-6mQtXsJ0LZ3L? z)HTb)ecaJyo_G5hOc5L}p6INDRFbNyF^yq5$+-OZ9%pX8jpx1K?zLray?)NE=Tbg$ z$#MO2zlie9KT37{I4YfDo023+x&FDY;KWXN$~n(7o^qyp?ZpqhmwW!;Etr!dp8dS% zP!>&_T6=BB)_YHqB&2ED?W1#!G)bB=fZaFcHc9v_>B9XON45T!zetxu_Zs5p^l3y4j=#<|wFzPFpK8#?wsBfiP1#3yR~ z8;;AMWls}L-Gqi><7gXgn^A*t_)OdFQX%*%Xw3z_v=~?7oMBnjBs#d@Y)S(iGUL`7 zysb&HEv$8|te~VE%!m#5KRk*sBb0^bPf!%K>wNDU=STpd6ls!BH|ql~?}CLV1aJ;? zvK$aSn7>M$2KwWAy|dwnnHq;h){Z#D7=r&q%C6D05h+zuBUMT!L6`!~6b9$Qszk(C z7i1afF3vf;%7G(ny+lp=<7ie4EF#di&QeuNvTWK(RJ2a1swLL#cFQQGJMa}N%n;1` z`=oC$t~tffvi%MU(FI&7oiL5$Uv~lS&zm&~-^%?s$Plw`8@hnQB2g z+d-HDFOxM%jh6{^afq2txNdS5nayyC0}MvV?zP>qTS=l;QX#21xd_?$>)6^k&v9B) z9XoWYFm;Yrn)&wZ3V?mQ&Q*{5=%6!vef)VfId;g%!&s*u+4)r&mSYYMYktqqB_F3HxWXr44Bz&AA#&)s)Emq+*aXqu*TCJ{nV)m2EG zU3ay=rmE|TGw055=iSfco)6!{NB-dVxcHIxbKM=!Z{9JR!hkM z9-MO+JO>5p2kx?_p8~v=l5ue z1Co4~Gf(|Y%+?)b%JG+9^Jz%n;)mbI!|!<~m+rrhd@|wA=ikL_Yev0+J-SkP@6lS5 z>fTw$drzL_L824CVBUZ7$#L3JB23Na0}*v^N@7}gWJdRHDRsvbY9%q&k;w3S91N_z z&jx$K4)_h&e;5Mex_7*3pNY#wx060ps%8JLl+3Cm&aPW#YAHJQf8_Quu+SVfry3{8 zRqvEj8QC?3ZmL!1oUV!1NGj9s!=jFWe*Aq~-KGd^0`uPw5Q0y9KY)nGI0Ea)>PKK7 ze_jlj;h}Cm0_kv!`u7QLMdA5O)42xaDzNU;G+A-Vfe5H$QfXxRN51${b)&@yu!bPc zI=bg|CnFIYm4;>2H?A(L3MFGB;>rxlNVX(UQnNM5!$2li92XVKx?wACty#UIZkmlY zm?L;;Oy`mBtYd#!v+O?4pzn|8ay-6iqByRW2$hm+(YaD3X--quLqbn5GC)A5$V^f=p-7rmrT#gRMra__aJ**93R4?(;mIG+Iry zUHg6H$d`nH@AfVWdxEzOLM1eXC!4x9YauQ_cEIs6<=E_Foo09UY`e%=4(fdpQL{5i z5Lf7*@G_-b9EPo!Y$4JKiPj^c!_*DN)gWhAm1ZYWY#0P&L3V2@iYf#aMz@@kC>Ono zQ%<5ZS)w|JoG7tTD(m$45zG&PeeHbPV0(3mO?aO%m>)`c;`)Y<5IzgvZs%%f)j{Ec z-R24dpGkp`Dc;o`pdT)iDZy5nvpt;#C?P@v$)%5S^x%iM`0lr(W;<-( za5ERKzrf#q&C~dqw?4|lN6+TMg*$Q82{M~wz2xSp;Wc+}vAzFZ-t{~0=F)xlV4Y+4 z{CS@Gw5Krt7=S(WzWZsKgvMDy0M^!Yj?!wtWPS2hZ1zsFlq92Vh7Qkl?5Ycmv+-se zS^NOT+a|mf);}&6S${~nDdq^`0{~1g5pbU}02sNvSck??HNEZ`#_azlulw%xEz>&; zYf6)Z%2YVpj1mkt4G#LoRo%PNBn01oAv@MOyw{kyUaiiL-iFx$Yc0kP1E=U@G`;5A zb-;bNZxL{7=?4k3FqHXpfM2PN5*{;bHgw_l{wh9BnJsMqsmnTM8}#6?GMicd?$}8I zcyi_0&H~7d$8B#J)*sSmRTqX8&qd+e-@U-vCNwmg;dTnDx}mgHtL@jLR9r1AN~LJo z+i(uIb(*DJ55^=9GeI`(o1$$ie~6NxvMv!)qXypvCo_aI1Dj9N9lQ9bq$aBiPKw}C z6Ww#tBw?a!j@p4il1Q3n^PNzt1XBkI+$5h+lm$iIbl|?I8-!F$Co_hEoGgKiFnAe# zK9<($Ms>3yp^|O@5Wzq6jK8_UY*{Ql0Qud|o4}p$!Ch^*%EoX&*|ow%t$3nTx38wv z=`W1yKI1IUS)3eo0KTg@13BpLicN)CHtzx-!3qa1h%cQnRD(f;8cN1w0;ZxmJ|f%N4%aK!pmm1ICRE2q z!RbbBPWx@&n5v8^<0-x_uwo$1Z2j)7G32Q{mDr3-{i^L{bk8Z8@E%ul%o#S^PLi{0 zO}6U}IYE;jQ)`Dn9=NJr9{8BSe0&@>#*TFKjqRIllQxS*4hP`%NSYHJb|OnZP0~)v zV>a{@Ks#rmWlB{qamIA+H&+a^TB$eyFeeMVS%&GO_y)<8Tq`R1BxUVm34zB`)fIO= z^VvM~=)+vv-(xmyZKZ_xxajcfx@IBS|DuO1c^1 zZmFE6aWt-GlBQ${ZNLv0*MoCpG6Ld}!MEs6qNCNivqrqx>z3Ix&JWo7b;p}wifsU` z64&b9wRA*}%T<<^CODe}jqdt+zKQ*ZRn5H#pi!z3o35pxv<{_`jckA4oJwmiIcSm{ zc+dygie3wx0y;TLoF%A?LPsFdH3Wyj#%dr|Z$BwnRt}{UJK154idBCyHFiWFWe)xHd4oDjp*#0z8om?sgQ(5b~{)1r{R{JgiST}|R3BBKa zFY6Jsjj}4CtoxaWI3*PwbF2%AultLpW7bt`!+2C$(quf7q9noZv;EAEmnFgn>&x~i zW1Od`DvAd3ZeRO<@plN|U%HTT`}j#bhT*&9tYv>uvNajlKn`51+8v^)YZ57uDj`V& zpdVIK*SPdF5I-&@MHgbFC4-=-_@Z%+ML#2zbcZ+IKfJAJe9zR!zq@vjC{Z1GCkOck z8b-Z303+)!U!^rx;Vs6XD#C%9A)akY=!hCrkQpFfNN#&uLanDEM)fU`tn*WFMGSo-n}LgR}{U+H>w9Fi`^vmYz7)b*dSBEa; z-J7o+)Nhd9M3x>vCke9kQ*{uU89xr-_y3a$h!(t~ZVdCSZ9eU}&*RtM{M$69=^SP3 z$H@bI-|a87x@RECb8futR<6JGW){aMTz>o#^5k)DQaVZI7&-++X z%I<=mwJtYO4#0nF_c+bMMQt43GXUW>G!AaE#xvG+z&pOKbNCo&(zTMUmN{xoK{-!@ zM799Ut_%jc_irr-m6TXl;amH;F1)1%FNQ4ndNZzZo-9cQ&ADM`(#Om zUOS7Gf#DxK+v@0p%p~gQSA(aFmsGXIxWJkZ(_yu+-SflkhIJOb3!LgeYj~WdP+G+- z35mJ=anqw?xu|=fH>_T|Vp-Jj`LWy}R~|1lRTG%|Wff&Vaa$Ef#&_(0eBY5by$a0o z4A`DTpxN7GMu|>nwzg}%2$A)V+g!HxlYvopoew?7eIa?PHfr+fwAG@jU%`6Z1ji6EX0qmtTc_a;?ta0!f(l@dl6~K*|UA z6yw!k5THq#5~8lVF*MS)8tL#J@hjwA0E1}~jziOKgO|bkzgV1bsP{2CJCnP8&Wbu`Z^5wp=+$=lt=5DHEB(( zC(P2HQo8M7hH%@XuZVC`2}c-Iu@G(pR>wLuONpG0SrX%dW6re`+l<^5oA z;6%!@uEJouF)XYhx1Lf7OjU9yK-6hxg?X(On30K}w4ZZy&xzXgp{!i z1M$Y|jV?LieaDHlS8A{g@3+35A()2{Fa_h#s*a%_yl-Ub!~P1YQ*`vHny@>O9iYDw zOCJXptEHXHNaouCs9z(fhakNvnyLf!5T=dtNsiLG8^O7HiD?@AbPm_#R{n`sUWmZ- zItN0sC<<=9>1LjH=Ux2ayWc^c<``o*S)8!Dvop3Z_!!GMM_oIF5S%%?%b7DfSnEP_ zQOl;w_QnK0G@X1L0sW{%05eTvaL%H&UTeyA&UHX?zO}{H&UUb-Dk>I>1$9|tY+w=3 zrzvR`5_+>NLx?b-`FK~;H0*BgaAtd#dTsrme5^fy)`FzsGciwp|=nWjvV+IL1LJ*`W#zoycY?9Le zEZVl^HAzimNnP)nW83e~qUl+Gut9dRLC)Rj=8f&Z{i=38?pJAHCmUPy85cvfHfI%B zXDLxs-AtRJT=tR`EdubjHfrb-VBLABZY*`vkS0ktnA6e+`^t`qb!<<9Rb-zm+jIcC z5}L}G)(r>xV5xqG7PUdk@b|vSJ0Vx$o>$gQxRx)PR!S8dp`=RCs-`gwThko08znG9 z0OkiL4XBh!mSUa9IYZf6czS|=y&_s(_Kbgf6p*gMJIhgJIWZ@sI>T8(-87wKrEv~z zENM1i{FUyccj5T8>pTVYuYZoG0MJur1C&(l03d9@9MI@smr5K!wkM=(0^w(%DEjYM zg$|)mO2SGrEsdep8sS+tJV-P&2H`A;QXTM*kF^Kil%$oRke0(b3=|S!L8j!wV5^Et zhll7aY+s@kg^~EOMz?f*QyY@%gs_lA`OO-7CB&(~9v~ZhuZL1T{V@=o9cw<=7Go^4 z7PxmM6U;!8gG^Yqfog>deGOJk@x>wg$47V>q;QF^JE;tSuO7!#C8nrpmV4dbQ|B=Q z4Y(>x3b9-pTqFZIWlW7#N|UOVu+aKc7T(&5!c?5BG}Hnkn@eCLh!=7!t%)uN~TOwJxZzF1n7q|1;W)EfjxlE<`XiK%?Y)` z8i0CJ9pRdyj~`B^XswVkLrIG@24|{nB%EqbBjuA@b3f>I_TE#~HP5^AIqV(m^WppM zVP|{$W7peX>0Q0=Kzo$ONGb3H0{XuPC|-SkAq7GPS%4Wd5}#Ja#2^pBbUI;cdk)@X ztwSn_6cXob3zE!#x87Fk9OurQWjdWwR-3~~UO|?iup%{E&S&7?(jL6bAB}2#&0k1JJ(;{%dAw za1dE_a|zE6nm6q_cn|Usi*b^pG9J5lyn^G5L868MKm+DKG~+s^saliGSQ};xDtgzP zzy|knn(+Q%hfZ^(u`Bn6*r;cLie6r`s4b-($RUL582)O&oDWMWN!?f$wPltDSDoqT zlu)g1J~Z}bI{aQ*I+vXAW~w{Z{bP_TDQU4@P*#r8no;PL7M?889TOZKMpg$)nO5vq z4OQdYS)Ks=hZ^%s#}=K2W?JDJjFTa+p#6-aOOBEn<9h2%XsCSKyFp;z!ytfec`Ys0 zc^YGovS=G=y9O50BZTqAPeI_0yj0XafZ@_q zC@j_oIZkA!o5BXRd?j@jnTCOz)T4|BYumqJ!;p3;k$r;cv!{lD0ff9>G=1-nj!n1e z3}FhaH7KRYq(LSL`7{Twg0DYd>XJocnWS^1PCAk>R^wBAW6-Xkmh&}=MmS4iOecBh zUl(Q}8U$KousCMnvrbmytRr<$7d^ST^v8(g+Q43Z1rYb~C@FQg9yS_exLDPVBt2fR z^f}Isx6#=GTa^^q7MBiAI%`emYK%zH-lMCM;`jieryC_jlVyRE(>4ElQLpdonKVV~ z6s2b9B+N$X$ZD^ApPTObR&!D=*4%JnT@AoPaK}lLX(!_Wm?RS>?KDu7)~veZtjcSy zrA|wsUDfSh3D7r#OsMFFvpt=XX*JU4Z<5`tg8BHUr9`y&ylmW65^9IF0_vj&e%OmC zGM#poNv2!|U2|Jenv*6O2HRT#JjqJ|_qm z1Bk{cn$nUcvI9@2h3E93xuY{FN=IoWvsAKbe;HY{RSV2bNwbT=b+&Jeb*+75m?bzf zA74uMPwHUHX?orK>UyJ8XO_yAL3eA8G?js6)i7O2n~l==Vbg5Y^hvW7bbvPM=Cec% z82`8r;kBnV%m&@M!g$z@x_KaqxZ?KtBqdit1{9NKSGBysEvNsz0v6p(OmI|GENb0_ zVuj=FiAlKQ2Ht-AmQ{^)hOInpr9XYJlywp%LpWC5)J!r-bj=xN9Qb-X`0w@frW;^+ zXW3hZreERXjkO)XID@l>XoIe-4{|(zg7F?96gGN;c@IM3y~BFfdg0r!-qCxszel-Z zd$02ZpLe`#>8;ge!rz6EcxSOf0yJ> zw#`Sma;=6|4a@r{Hh{WPr4FbEjB{O4Zy>JH#RB9M;{?VJE?^=J@~770KC4PdrqIri zW$pLw`0z0qH_TlL?bdF->x&3K|~=0r7LoT9bn$47Oy7a7||c>SY>oErdo3Lu#O~o|EHaj;n@~ zro=gi5}sUT%yUhiO_?i!LG(c1hbDh7^kBU;UL*+L^p7$@csQ@%L353OUM9>FMXKiP zP9$kM=^S(xmVs?%yD6tI^zrvN7+5wnj~`s((fvb?j*gIN_=27e?gweLR|EA`xvsZQ z@-6f3-`Pxy-9UdnEOB7~rmGNz-26yy~iB4Z%q!IHJTp)XD_b zG-#b2UP#ITX%O}G5v+zmK^i>o2kWmJSXPEK$vUgak&DmZh8~&zs#sDDHdBg#N)Am$ z(O%y|R$KUcV>~CdXQBnBf`h`dl|iZ%+uL(0(>HjY=I1}`7Z|3^P6@!;S~^xe=+S%0 zQP_`uT~!lZXx2%V!)o2tCo;mbB-m3{Mvrv!T|b2vY$t+gCYf4Cl&SRgorZCzI zBX2t9+S+i_M24`ug=4^s)4AhRWnko$3WGf*MbN-IAKYqUR>B6Crc4LVd@V(nsStp_ zpfcfxohE4;WEF0rRSVLG-uMcG@Z;lJ8iRD<$R3m)MUbfqsXKX6u$UFpRgI+})3SXo z^kqOGLMHiyBuTN>4X&5IZ$9+^VdhrEUkA`w49F#c=1hxz42}lTay5RV~?;9@QFJK(M`BoE&hJWt`dBLF+sy5?VT{v+S%T%VxnO)uj0h z;TjsF@S?=DtY@(AH-iR*t5>Qd-qr|}c8~2d8<+R?>N5hv5-P=4>o{t2GHoc8%#rQ; zWCH*yRf^5efGiP8hV)=tlSz=tgh!1-tJnmwzTV})UP$SLiAuvYLx2;(NI`fR!UVNK ziI99Ogur-^-Z6C+gdougxrBFr;3Js!M43*e+J^=dBKq4WH*Z5Pe+pB5Rp2VCg+xD!kI4)Br!%vUA!P4mej?_tPo@yG`uBF~OVuN}yCp zfs}fjHtQ5h(OChmT3n8_@ri=6YHcHB2i!t4qi8KK2O&5siMCbK%1(^MI776?j=@vb z26krJ#wxBJ4Qs}_u9Ao;h%8!>^X!0DI7~9 zscaY|DXBofvT`h|W@FNAcT6Ii-!?6e+;UW)=#^5;Qb-dykl{q#dC&4kRv*T|)V3Pj zO~5~fOvTrPhTk6ahxf8UUZeZji2n6aTQ8`Zu%0us2>kn`*<}?p_Fm|A+g1XN;vm4m zVdc=$b+(zhtgz0Yq~@qFBbS^wFbcA$1YOtRd`wp4VG;aj*)sm&gx`X;p*(DRQHNQA zd7gBQv{Bz4+OgWEy}$@Wg04E&HZlc@yAqUhwck5AvE8`N z`5dYxrYZ2*Rsd#ztt`vs0d!x7nC5+o0RdWsNsi#{xnG=b(o1<7ws61lcx>`_v(7iE}kl_E#|HYP4J8 z(leviR)g&oIFxp{lL9FZsq7Zc)ggzVDqC>g=|Zx zPO4;Z6^q6q-t)qje+l4rOSAh#sGujWIXF7x z+?jJc{VAV9v+45?3RW5zKUu1%8jMXa#!*^9Qj~2)8R)CdNoa{%LeNzrdistw8p75=3PsP zl`*|^z`nLxb0y)p80+cBE-sR3>NqOHOn{OKDI5;jI%9eE_AZTpJ;3k%{_pdWm%p;R zF-GZ3mMDta1C~U1Dl5owo!%eD;Zm5Oo7YlO+Q8NikGXXoE!@b)6NVC-Fks3W%btZ< z8bYe#EJXnQYy|!B_sX=cA`tWuIJ(Hxex)&2+8cA6=Ui=e3w z&9by?e-Hd^>%}g-X=hEEZl=i&f~Sl#T@!6|$?1=2a6fXSly!xQEMp7)8`Geb?0PrE zii|=_f{vcR{$^UTn`bn2g%=sis^+9rQTH9mfUC4-#G7a(-!a$~6mS|NY zY=t$Ry~8mx`%nMnxA8B(^;=N{hc8Ez(pVgl`#yR<0QY_LejYw5TGdW?P6&bUj-UL` z|2O~YTmLnu)q@W_z(4%Q|CF1)_xt&Q|M(xd@#dR=G54{5aM=C)@PiNX`k#3tU-p;& zQoAi-%q#JD90$k8qh(8Dp`Ak*K6kZx{P2*Ys_Ihku0MAc;Y??HSydI&Y+&=~U2qbb z>~!bsu#9OLO`Rjt8AY`uZ-cBLF#jvz+DsJ)m7$V`O)0a{4X11N7YV|aG&T$p8z;Iv z5CCUu>J?7aTRK4RysV{>_HH4R!wm5ApT?=v(-X?|mIV{bT=;+itljoZqy8SSsQ0@Tgn< zfd?Pv$NtM3`SSnqwP8T$J>J$h1QV^1gA+PzU;q1Zam2OOy^meyqx<^+q)GsjR&Fz4 zl4`ay(Sh+*Ko4W5olO8gR$NDI&4{HRdf&%#W=Y*PP0#Zk3815<-dRU;@c60no5opO zy$6s}BCjYlV505<<{4H9F0LTxHWd)|0q`WKwj*QByZ$`4gD0 z{4*-06pQ7O!=po=C(W@o$X|Nhz3Ccl&&<>A zb*p;%G*K+8aD$294`4P=yVos@r!E`PM0WC-;j)miFrJwfTso?{)Yw=<`AyZh5tBZY z#4PI&(1celJEd^m^X5N(``Tyli$C`>yyWG9xwNjAPxS0KoNI{|FEwUxDn{$eSdlre z8p|GvT!jQ&TlbBySE|^=n`sf6f2Hbs6N+Ggxs%0XF}Ca!&QNY}%88!%(TCnTC`V(Tm7WJ5+wWX*(j@1)vlAvd zG?)WS^pwKD-a&!zhNs`S-JMH)ZN9b@WyS8+?je0efH+GL>Z+O}RG;tJ+kxY0yHCdRt=UlQ~<{*%kNUc<&;RlH@b;=?w3d z>|NR)&01O;&Nu5U*WGX%01rQKPbUMp@#Y&4vS(&paS4Fpa+qX%;1JJIN#>)hwDr!@4W|9JF7~m`#4owX*VWuThz0HNmSl;=Q|K(?S`4@aH zul&N7gky^bZ*iz~n`v(uIVB4C_doE%eA{>bz-Y18eBtMF_g&BB{s$l8cYp6~-2cGC z0Nnq;!+hCSeJwxx6aSGrZoQGh!v3%gX$$H@-L!LNE!?V?+pIJ6-C@}9cP%Apdv5F(gV3u1OFsnl zmGxvwusfM^%XQm4{z!kX*0>Oy(UgZhus=mp4`WatJ@Gr2ofuZ(8tTL2QJ~e6*$VSo z$~lL34)ICI2z&3*N+YDe8HX_z{{%bD|13%f!QtT{ciesl&w1vvSQby>K97&Fl~c=S8{YUve)M%e#KFNq_xu-p{)_pdzwnp2 z>#n;V zTwm5YcIOkeCz?0B@s0ez_kKTR8LaK{e8QK0`Iqs9ulgd+Uv~@EI?_C0rUgI#pI^`G zzVF|W=M&1Z=$8HBKmX@AvwMM}tgu!w&7$@?0NPcFOvldIUa zXUaSO=$-ugfAg<+^pQup<#u;>`Ro_Jm~Z-L|CHH0?FNgJY0885euTgGHQzK^K2}+j z-1(em^Y4D(hdC-Ovw6<>T=0+n!9U=@GqU3-1+P}e9e)Zqr4gck*`SBn6!R|Z+xZ%bd`5(UYf8?+Jl`n&d=CS?7 z*cC`ZmIPU2Q#tmmVk?uR*$lf#S^yoIPSXtp*mr&Bck$xS{w%V|1kuV{6n@QpE;PRO z*X7^(&EFaU`Un{Vng^;J>ulRxp3eBbwc9{>+O^bp_t&;B?5!w>!- zlS$TY+j>wPz<2!XZ{tV)uOFcmc_6WPB4b0i`mg8HKlM3$rU=K;op*mRPzCw7o~kFk>rWD*7g2S<-^)7CbLRwPNz zOhLAm{tDmxZQsooy!bPiOr{{f3l%PpE8yNEL4=GO@Vx2QerE*iU;T!XGGbqqr%G;*deC2ERp11!FwXImxy#gg^LA7YlrMhL%C#{NM)qQ8x3%@%a z8yNdIFlbDW-4u0wDoa27+xf|)bKAKuyMOdPvN|a+rUgOClx*t^NxnrQElqh$b-WMF z5~($Mvc-J&I+EQBh)Iy&;2LC-flTm4MRjyUv3Hr`c&`KYI!T_~ji%n?Rf3m_P2DA{ ze99+VdGFDQCQH*ctSdO+e4>4(P1CTwwZ*62^*o&OShLQye6m-fGDdh$f} zmXxuE>9DKioZ-T`UG^V;l;=I|4!-oYujSE49_2-!{aL*13%`&XZoH9y`R(7q-}~CH zrfw`VE%<@&{eJ%LH+%ySe9Mc-h2i^rLJ~G)hTkTJYyy{TjaNE54lF z-CbV!>Mt5C`-a!Qp6!XoIL|B%4XV>D1W;|~idibVe_HncPSeFd_`n1F%A0!N_!*!1 z!tUpHz4LA4IwZKJDzMh`OtX_Kw%VxB?TH?}|JjLPCkuY_+qq_zs#Z!P$db*ZfpG!! zFKW-C_8gX$!_sn88upf!qr$MiXs8-P)mVe*ilX2d+zxN_ucnV?!EUu z9)9>?e&J2O%E{tEEKXXq?Bb z_{Ccn(r&E_;H$A7-#&sE0edACnM%-jvTTmlX=nTAU4t=o3)(k-SB6QlLMF&`h8f6K zsudR4x~faJU9EgN{R?o+L8W{Tr@Bc7A_`28eMX&zz2_kFzXhkhI(rx@oDa?1bl9p5uL=Zdo6o$q)j|MJ_vgBzdr0{;9Le;Gnfne3it z|0v8}Wa*Se5svw3{}zSoEK3*5W2{Ih>tjsaaDF~xmW4sm!qPRm4(t909^yN{?}q@_ zy37RW*cuBi1j2`zq-9z2&EM9amoNPE=kxvF`K{b~%S}iTf}JKhWipxY)qnjf`Fnro zYr19M{*FK4=il@umUT^{gZ1X7EAzYF^*(<0x8BT|*$k~DjSKlatT-8_QZh|a1aMr9 z#Zddj5zD$FNz(97iqLr7)E%flo9EnqrtfRm)BrpD+fYyMWy(wu-rv=nluI7oyTph0 z4te14kV{1v$PJnL%6cm6nP)k-?(A^K`3u~B?i}-cN@Xl3E9bA4uENPFI-4T20cvb< znI_t(wM@OcKk)s`oJXWUG9V zQ&ttWwishcHr$B*zpRi*n}(**HaU2`TIVC3v`oS$S7|LsS|C4}d9-t>~$ zB*j{~pcyk@92(Pbc6*D*AG^piZo7$3x&0};=iUc+_ET;F;8N*1p9cxV2j2BgmQ@X8 z+<4QCK#)HK7Z=y*Z?p~lkp-6Fu;_hw%inVBQ z5AN1#onLX}BBHMWr=C$Sr1+ah^>N9jG^{0Zx+#)wAU zpn{p)B-?X_-TJP}fJebUjyhIC%z519ey~#B>`=>hl|&Z2{jd<$X@?Al4o8lq$$ljI zT3EnlKc@*lwb?G3<<)Z+R166Khdw%sld`S^8=Gu3aX=~mAHYH08#q3HaU>GMu0?OA zLe4DJF9Ke!l}SkGh3eR;G_y7*pE^MRu1f$M()tL)@E)yd;jHvphhR>!epkC1qUpA} zd#-^{1cn$thZ*k#%Tb$}h=yU=>r;eK{TF<98Hrn8Xf_INVLh?}0L5%cw|;z2la(zX>G{jE&Nn zUGlUbWaWM6KB?v>KMq1_byrJh-29duj{HTFE!ZvlAi$0vANm8AqDbg-NnP9wr5&!6 zoVC%;04A=oov>0*Z-$zt0Y%g2*FYk>Z9>!z)QTSCt zv65+G@}lHfNy61YKL-`1wZ<)WlvBP}l?fGdxh-TyK`PUmG8vX@eESLBYu zK6xWBZ#MMg=~q>DcrjM4>oQ*ex>uUX)RIHX#+uDZ58Ojyu)_G7Q2ZS1_0eBYec`g= z=MxtEA~UeZj}3tnqnu3bgwaHcJSesJJk(LMeGRWqdae`zC%6)zkN6Vky&!lWe2f&1 zU-NI3e7Enjmpb%3@M)rR@78F%t)XKZ8uq1X+~b^-ShFeD9T*Wem;w0`(JN-ZuJpNB z!I?kjPYG57D=tbjF_l;?`c6c$f@HoL3CTm$PZ^u#iYWFx&&0D&FtPeOuBPT@%K{nz zE7RTEb-?jQb(;P%TJ@al4nTGp#!0_fE9Ngq-xo4UfjS)cUB-7g=MPZbBsV}331t8% zyUN<&sy9_Ffi6Lw1m>XhR-Z^Fh3;(J5&=Ir0N$pNjP`=om>sA=jx$A5Qod&~$@jILD!x6>e|zQwrqtAU5k4FpLpjj4obwc)^Hi9O_@SG4 z3j~V4@t{TRbMzPKZ1rGg&^Oe}nu*h>)>_n0MrX19fs(Y@W17rK&RY4Rg<)2brzi36 zLZQ`5i`&GqO&ZnG2yuhP9~K(ktLZWfz3k3&0DINDI#@)Jg%epC9N{uxw7qQ1%l2L1 z1-|Te+4?P#84fqpq;mA#dCh~;kM#407H96y_DHPPr?1-4Icr$jBbWJDN*PCjs`HQ9 zD_SiLQ6jPC_(}#)e-T=ths&$9=c#K#VWk({>yH~&=xZK(v%!aJTi+GXjiU%%rCQlgl6YHn8Z66R#TtlLvae$Xu`(@9MIq*9xu3*pwVDwCpV&2|m z)^%Kp!}L+%-}?|i1|dC`F1g4_@*7NqHRkW0z=zr8MjLhTqsU|c26A|tXH=VKW>dB> z)Lf}#BqJ8`VkH4H0fXZo+ejb9UM?!n8+AnHO%dN2bd0z+{8eNzFJJyKamHHmvd$B6 zcnJ#pn^L7erf+_)1s+Z9DQw>40g02k{=ko3_sZ-pT*pke;Y+hwyd^sjaad61(?#41 zP~M+$v-uXHEU?VEZrbl21y;^1Vl=gqFtL)@F5ahR87z?awcOp>E7c-r%h%zH)sd2N zOwXl@_T*#qG46%srzqC?ZDwo+(GXFha`Kv+k#3rHL(H>S<#9v3A7rVg4|Ww{=e@;+ ze_+FqJMk*7 zv>l4)+Zu__e*e^^WqpxsO6(x9{jCwV! zG7^FQQf(78f%hW(o3&)dKI6Pn#mwbSPTpXNxd*?&wo6H!5JI01d+{%MnJJ!iB9TW{ z?OIBt?`zIEN#Bus_LO1aQA%vffuduQvL3 z-{Dzj@u*zA+!U4R7xgt!5%s=8=9tIqsANP(DMj@*>E;iV+J$>>-fyBzuW+NVPQ7a+ z*}1;R@ZWUpD>lKCm_w#c(Z5>Ey4n+MY)czRFu2)|$DY+nu0}n!A<0;x#^!3h3%L5w z`JlS>wFg% z?zMd~@>K&my83Gf!)gWWR=aaX^!N7=_530{hPInJNuP_m&7u>U0+iS zBO~2D&wFpn&;`(o&a%P-dt-sYIg+({@m=rxLdPXLF1KIkza8JMzh z9S+8D*(dJ7$knysi2g)YSOoLWOF-c)%A4{?KYk6$)Y^(XWZWmvZ0rlr)pj6%js8zH z{w+HeQ-UPbA3I)(FCo904=GFjDZB#Jx7oFBN>gL?^7X)}hJ4}}?nHs$e+JDu9Cq(cLnJ zeS-UVh(1#y(^HEIp!nsfhUT{PCEJB%{447x?Y}fPcX93T0K4_`rM5&Rh?6NVcKv2I zh4*5c)8PPzA2CwS)0~yhku>%AN9yY<|1b9sgLkykJ zP{%7>xwfs_7oKz^VBcgB*feknCly?Ho8@R%&8P3*jBy;sEgFu=NdP|J3!hkbKlao7 zk?qoKSyd0zWq0e`zcIe)l@t9LA+eX|f456|19LMT8o$%~GPRe~1NTGPxUcp~cpznX zG<&@#gdMWMJ|mgqY)fvYp|qMk+EpyZH{mzwO%>;Na*Omd0^-;;76%If?^@!9mh7Xq zYAXcZ&u1uF`R_CsGfTiL%&3Q5DU&5tgBg?8k!s1(o7bRM9ShGm_0iCS1FR(4yYO89 z_4cOD$Fo`QzbqS=yd#gjGKV~hF3mwuiH-B zG%5^aiOC#Gt4uRxP575dT3+8wHQeeysh^%^`BFj$@l4TiqF#Gm=C{m*HO9$B9zsyh z$ue&3M$gO3g^H@s8)4dM9`VFZ9uDrA9LX@aM-o~t^!B3vyo6`o(zZONX?GM8p17NC zZOWmnrCK+A+olwLaT}5LUOViHDu~SdV*Zigb|^bCrXx7;O#0F)XPJ*OV2|LA`x_7D zO`$=Y=lkoBTEgoZxt0tgWZnTzTb0knO1fVx&)tWICMEEL5c9Hv5u3NpNaC>I$0W+r z@plXSs461I=HkwO(axe-BQ8Xg%*qqh_11a>XYUB5SBXToLy3IuPmR8DxSfct+!|_# z@|zD5S}8{av>#s&aQFioKw_z5fscMGK%Hc5*>eQq)&p5oZW?z<~c4v_kfU!R4?*`HN*ZoN|I;3=EYgJKtPiJUbGuhPxJy zeeFr4p_;M5w%Y>}R`o(N?GD>_zp+rdPX#xM{ap!vj~QUuPjY)Iz{NvcYdOJcw=mAl zb7+LpBPpSrmX5s?*bnFgpIf0gA9c@u8MKlUu*@SRvPem0w4hgzkD--UPr%O2EJW2x zs-kJqddIowSX=f{p2R?ERkB4StqE5$5jh9^a_BvKT;j5|^69)+TH|RLT`8sL2`Dw( z`9q!l1PrNw^`g)?^Q!pl?2dtq9tQ;)e8v_`?w2EVU#DC{97}kT?E)w;&Z=DCZ@?8O z+FpWZcunWk9S^q6!xntvEoLQhy3Y2?Q+Eot%4VPf)unNh5tS$657RXE8?VML;5j&yY6NW~H?x?dq=U!kD}k!oM)z_TE+D_F(A|jkD<}U` zk*9ka07$B5NXp_K=ZBTo@1nohU4<~PMv0+TuP1lEGC%K_DR(w)*pE;4&U5P*TB{d> zRRSNw==h3@dBeYp9uVMf_l}nLA$B3*IWE;DW@@MWu7BpUSCq}5Hy7@w(RC1n{RZu9 z2j03<-z=3l&lSK@Ak>d7qF1VcW5!|!Oa?ylG%k7Usmw-n|C(=C_tdiLt0>&gFX*c` z+Cr+LM3&Z#b1CGW07o#U-@I5hoBa5}d_j^#CV!5y1K@1s<^>UeV) zeM&n@`*cFE!Qn=Fwef3g{uzu0D-?WLbDX zb@zAAcZ>KtbH(i|AH+o#(`kB9Vf?5E^qd*7Kz;lV5@sq(#H9AXVl0xU5D5HI7~cP~ z1=+O9Dc*B%@?lX4*ccP^4#+gJTy7J5`)jj}(rv*9{?CgYj7Mecda-PEoz&w;KyfJT zDVwqpIj}cYDUxbN?e&5+?w&#Ef7p@a3e==f;?z{&UVXEdk9hia#_T;J+o23o*l$jMW&i*#C}7e}@TfOrZIeyL@@+cS*M=lmu3VwI=RIwq z;vY3a?X2j5B8zB*4@w{Dl~c~MJs6w`5=_L|fK#6p`gOf|ft5?liMO8`UMl|eW3Mcw z*8j3nH86tkZ+bfdTxi9v-#-kmUEb-s6iyw=zG^{QbMCj?xW2gczL)5Bwf_pd`J-k! zQDs&|Qb6=IG^mKNuSQhGzvvC~doHn;aM?YAqa>sr1sUA|7ZtYZ6Bb8$EBc<^S12Rz z2V?j@@Qv}I<%TB=A8-5n?^hUefckBOP-`{||2 z-SMh#_x7jnD{8u{AHaDLRMFEbT-#MLUu9-*txHL&zHj@9=N)dxWbvjq;n`v1GmH9~ z@Kt$6;CG(BjupE;Mp~=gm)!uXkY4qXiZk@M;a6>=HKN3YAI49NM^D_Bf1=a!{_5@{ z?p2UyZ((mABW)~uglv<*MIFF{dBoe7Q4K9*43LB}?QuhF`W}e2r)=9=G6x)`D2HTX zI7B(J!j*}z=%K|L-6N6#l8eYRH9}!Iw|Ck_8+&0Disbl-4i;BE`iC2~XKQ+A)tQux zlx{8+6ovij0il6H3g=7`DmWfE+Kku)gc)gqw@aK9 z&Li}xubc-(KrAgj>#LKlzZ)c;nD7Okzk0IK#cE5;?xbqJ1h;g;G&`R?YWC-A{Mhh2 z;i{cC9!^_aalUjSAIEOga`uBwpwAu#9cCCcJ|ktFXT&vo7B$`$Rp$rQDvdK1K1f~? zCx0p3#-*3qMJ)3UnFlO=e(sc37K)Il|J+8r=eM`m^j4nj69;yIaY1TKMYYB+S890P zJF`=kzqmflL&;}sPjUkrSL`{+Qs*mw!dN*HGu{Q4z9x-iHGSSWy;ewtDJ#v#xU$=wojBUOH{fiC8DtDp%jAgj*V;OEYCrG zq3x&LHe3B1>)OyiMh@cGt5mw}A!&kRqgi2-8d0(he~GmX{`yUd#BC^~zQ2>-Ns2S} z{-EEyKCBXWMT4YFg)ImVsiw965O*wZ9UjR`{Dyl%-rRih2E?4M-f`XWpMF7D=q|YLu;&lWX@t;0e4Ny;=LVBJ zkFT}B|1bZER)rKHCI7Ne^})yiA$a~nEmq* zdXLreH}26IN}}p*gp zh8Gh~)va0kjZq^fw+kw!vNB>kyM?6{DVAjFvyjfh1Pf6U1o7}JcBy+u_9^qEEE=1d9}P^%>vZ{oqD&TJ)ab5b zsuLVWjO{Ml)}ZjyPmP1TB58aS-vx}KG(V;q0>_VU_~3`$M>0Emz#wRjov7cbwgRaS zEA23x$ny5Oe!>-qI5j%3s&a1ofdl2R1IURJt?Bzj-SP$i5{YJ5iz^q!fO z=N{AO?UcWMUD^4K`4kP<{{JUIe1sN_l%PRA|P|>^3v`9`G zSDUq5K}a)-r^I(x^ew~gv3=_+)mS&gMolD+k`Lomx+uM9mjM!h2Kgn-<@yQYYA{R% zFtYt9nlv96krFF;H-zX zbRF}(j77l1h*SiFho~PJyYJ?sS}zW=Jej*@n3yV$u}E0lbjNqY10MG!0C&=pzN_i< z0)YtVapCqPR<|%ShLCl223>-^)#g42unn4UtC{_YAqoEe9+&)g=`RSG+3^s;tJcjB z>VNAOF8F}k3S(sFhmMW@E}ARtCaz0^-$+roCvT%OJ;eqhm6HH7t-4wO1$w~lM&JzX#b@1UGXwS@ z^E_<~5d3LnQE&p<=~`Czik===`?}F$DrU5ul4rt(lZnX|^G0bW>nCr>AA-Zbd&{&J znqM_vLF5l`#9a2*8Kk4X)Fi)MYn(V<4ZOI`p;;{!7#4hbXgMrC*Vo}`>3-?V`E-{` zn6$aGy4f8XA%6Ex*>5+~8+^K{^J(H0D?WEKTh*4As{_Qk7lE3_Oi5LS3d=%8f6WkJ zg_tioufl>TQcWEV+UvRVeUTP4kW44qL`<|Bjg1|yvcUx?fnYcUbb6WJA z4)s$m#I2=c^Y`Y6GWX-!Ox%`y(UYwduM*vRoE*~gss#r-(!^bLHQ13{GcC|2EPvSht2mDS8 zer>^3kY4(hYt51L57u_E~o zK7B8lH_d|JOBnDFcw^9gGhcJNBu6tg!XO^Y5pYk7==^_XI?jLkw$+kp=8y^UCclKF z#?`lGZOQA)HuYoYGUtyDv_}1Mx1?X!*_9t5Wo8!gYsi7#F&KD3anD+&WwHZ|KNNkK zEM?lNiU2>rZOy5j`gVPznc@(2aa$G((ml-T|L^l(rdKzdQ-!SHY^U3wQEW4)}WN+cbMx-IfBO1gNk>mqBfor+9b<0-))~P7whIx5Y8O)plzK z)w^$i0M)uhbwVbwq{hOwmMt)D?M3IUeR%21hT2j+VezKp^~z#bID^>VefPCS4;Gr9 zE3+n{%TKD}n?F0K0Qdm6bT`!Q>nbOg@w&KwE*m2sa-a{d*1caBTi$vXKd?5oaCy2WF{ufoU@33N51T#L2ZzIMfah^iC*P*+d{G@va? zYg|iNoyG@*ew&+&3bJJM$NI*C^Kbbn(neaI->D*IGR&jGxX@?fh1pe94PM=~5t@5NE*M?HE$))9U6f z7K5mx_hl`KJ-XEXF7{`}>b8q#y+DkM9=yW12x@AKS~t!grwL;eIwGsvZGn$(H{9E2 z=is0*z)&jtvt<>H{)^KHlX&uF;U%RU+3Sxt$x`ayLXcH6X15h5UU|1=!dmfxA2vqpRsKBt$wkM?41jj{R&6&K8 zZtNEiX^ckt?k7C8kdne(p`q~JM~0hy9KSnbi4=is06EgAw)r}$@y|iG5#x%t8X4va z@(KRk0v>cufv03h27djPkG&H#88I&}!h5-^*NA$0H>?C0xlmkLjQyq%g~aR|A-d>+ zYTVv`DU<=|{3_Mh4HtvjSp*##%6bS+EIf;TEfPE=dJ>-nhusS8`;=VG%x?6(AZWk* zZK3asU9aKIh*lX)0ek1Qr`|}@qLH@xh|lzx(LOJ%YF3h+y(qQwX|8?(zuSvRMHrk; zm;PzE#8GH;@ag({YC>hKJkxLG@V703vqf&-MJXeGkAE+E6wC%-RHo7{J~B29-K$H` z_=f-1w8YVmUBjLz{REgV&+R#()Cj)II4)B=gdzUTXvgNYGPScYDOOy`%H3`&>Q$6W z&czLX<313@rjAH@{zthy}QXuG<7gUHO}XC zs?m*Mw_jPos^L=&>B8VXbCOZxBbz3K@tSH(|KS>$T6JV&{+)cjX(enX&ADyC4+GGzSw`EElT zfnA7Fdq`283yN7|%?{8D%(r+IuM!XrdP>-(et8c_WWkV$XL&lD(;dvID4Q&;o){k= zciU#5$`!w!#2x%%Dgr4P3Mrf!%@dw-g?sFkTc#)zB717c2dn6ZV zy{UDv440jHpHvI0_S!}R`7mF0^$KM=1uoV;vj$zFy|d$zavnFPGW-dt@rSAb0_Qc? zwx?D<+J_T&qdfdt1M}+S3BvoO86LVH+Y!sDtGzT*G!iuu%)_QpT^YXtUd(7l@Vnva z-996a$ljM|_qQ|YY?{TkmV|$h+0Yns0Eke)#}b0flFp>f`-trg$k{{hccnJ>*SqR7Z$fc{TQl9FEp}<#7I_ z4|raou^_j*a36J-J`XOC@s&u?3cc(4N9Tlg8>2L!-zB%6Tpn_(gPdf@3jkH1DlqK` zeu^Y=FJ5--*AfMpO|1AVRHj?l`bPFXA|9N>IOmqb-&@1q;ef#2i*+2Ion%4EZ5)2_ zsA~-e3<+Is)eVV7hVY*ot1B`E%?9B0Fj#e+D;jy9l4B{N%BK?;06LA!Bl3bhJObBQ<67 zvgPV8oWf04xK?gmVg`YiC|3@DgmiDGKNdO`N*#RhyubC{2t zWe0*DR0FQ&V@H9+8l=-Od8|GKsiO`lovyhZEcNY)jw6@&fBJ{}_yy2`L!kQ$qVN#P z*{q(pTaE3e5d^)_scd)S$Y2b0tYG*oM4swES4XruCaXYu?YxeG1vIizD6q>U7 zGP2QS<$N}&%iX`%uPpH-CWnR^B}`xNA{fiK-2$4PKWsQ+#d;1}=v;XWwpd*ST0w9r zY$D28catH0y!A$o|5H4OSmOgiquK7|qe}4=%Z(x@E0Q{bNUT{wJ{xY|oFyz}&BBHs4dLfed~<#C zf8M&*#o8Wd8ddZf$;(iBjns!89}Dd)nfdr2bEuS0L>FiH<%jlS*7!U4U2O18ahWWA zdM%C4(qZ$&q^f*R8|dJ<5^91|p~<8ow0@_M4T*7UU@SX=cvL1G_RJ~HukA&=?!nsMw3`fu_ z$_4V}eDR*3ht!@eA^+o@Z?IKPu;CXVC&;C9(e{y6KGi?nss_#6F8Czp7U|fz$eWB~`Qr^|9cf`~ds# zFg7cdO(M63>b#i7hGe!B^*WevKa#xn`GFO9$wP&Af998=7Yf9lFV& z6fA%CW-}crpI(PMe40UR@RV@p{=Dv;y(>t9w3#Ns(p)3k`-pxP)$J%!3R)>zOP;fyB%U0ELtH>LMJ1JKd;WCb z2`A5b-ZJJ;BuugX)fC)EGvG`2%#U!5e7e3$gon%a`_M_p{^th|b#v>)*;h&b9{st` ztB;wlST;!KqN_U8E?keOeEP5$Tz9Y-YJFDm@br2XG*8bMs!uAf(jD8oz1ZV68HzKF zbcGsIb@hOtmGCVqi5GDZ60hqxCtn<-5P;gx?qHXjWG9J7O6un+v#0(2o;{$KCw{xd zXB(vk;y)f}%p7|6b%8KaB)smZ#52~xM$ut~p&!+|;*dKA3FO``{2mrn36t{Uy9Y1X zlvd;IoP!q+XN{~6S6;S4n=dD%W6di5JBgS#I~ps(e^P9{BB@+9F{JP=0>QUAH>YDY zdqJz~z+_QV70$w0CAEJe(bcu)5nJSM)0@mKMW2nQenghOSkrYO-Q^v+-|?Ixc~|^v zL~}AqzN7O3w1zGl0V_qw|AH#tk1_93{eB>AeCw>N#!@N4fz32dcQ{JZ=py!i4E^%Z zAOv-=nzo;pd|YY6wLkmn>Fb8jNofq-3k>J>%*d1>X6^O# zq6ZMmCcv>*E@X6UKd5>}*pzD4=z^D=u)DQ6?c?ugbaee6Btgijq^LdT0>H46k(QR*# zJa`>pc;vbs4i!AMVYt1HYq#F_VsA@&L`&wHd zY?=3KEA!Tx`x7`FzhjC>RnYH#$lnA_!Q86f8LRMUHJHDh!byCMELM+xG|NgYdu;JN zY9<26Tqaybf4EIS0`dDkMqm`hdG>=MKYA|C^y<|d>8LPvaYEEQ6Iz-I_zr zc9rEx9~0j3bfnnNo)awmBpa#j!Oh_JK~?ninJ&%qQAn_nexLqs-D6eXlYPj4Pd#Tl zwM8OLiQ-|q)2k4jadGK&mAQR!SSrPC zFpVJX0$dc$g3rSrDUoVslndQZV}%BLYWZpBNIvhsDHiRf&a&8 zHM^7Gx%Vr&m_T_vld_XXg_?JnNVV(!J0{6PczjRZdH)dgSB5(esSGhb_ zn9a`!#kJ=X_lRCi|5i8ASLQx6AHV{>y{ivW3A|{){2+Mq%WuAyyLV!>rf>FidH&ni znP2Nsxa73bzDfs&i?#d36yA?ym%A>3euQ!~K403_J@lOp2m%8LB|6ShJCAXl-1*34 z>;LBe4RYuF@kjSrUePlA_fP{*N*EeOsBgMOoyhy?pX*U$l{t2|95i5U;PrS(DvMFn zw=qhef6%sB!;A4AqbIHu3^Lgv)=y-JjLI`>BDA4g!55~?lQh-X|6x0S8&a8W+cC`W zqfwnoXnQ(thg1T_l><{0i+5wbn)YOL@;Si)g8n1C^;_(bw{~f|{(R#AHOAaOX3Mu6X-U=xM{#87EwPA;TydELc zV{|r(70Zk@n3|<|(P;_gsE!IgJ_C9=f)~|#>7I=_eQm8Sw|w5+L#}~G?-&!`gtHaj zFps+=)S9`Fy1eew+ZlD^IeC1V(dIB+U(@?fcSsFIxD(LWDG`+fHMG|D&h$C@uFLGS zf-EH9LU34e%T*Bw07M-B9{)XKp@Xyt=UGh&m)Uo`KL5Csn-Co@Fs;p8=6D~c4O1|a z#;?sRS|eS{{xeZvt-02plTdS1BJ4!LUf`nUn|HB(PtrnQCz>IIlxt^L`HOOgDrSYx zavA9G8);y~=`ADNkK^f`arYA;Y+F~w#MTy@p4Ir}xyaxy=5o##JhYf~^3@^zueK38 zkn2V1fLsYLEoVsmgMtosc0Ab_k%~X-CFC%Wh#}hvKyy(Qc)uL_m_dh~2fadN85}x?K zYoEB*Qvx&Sxz5_asqsBFI|MW)2(4^EuFh5czI|cm@HIcllVR&W!N-4~*$0FnF$~#& zh#NgbYP&9qZ2WF(6UvwTM^oLJfH)E0ONpHS8oe#TTNs_-m=ZU{o)`^w2NVOZ^?PLw zDD?1l&Pr@?#ExGK04un>M#xq_EE=^WcdUV{EpQi9&%KJ?vY^P}fN!+f*&&E!=)r5d zS04?y^PS&|4O4ol>&KN1zE$yiU_ykz*udujP{3%gUjbIKt2_O0l#FKLPLy>wQ`6;N znPagsYmCURBDoj&qtyY~kqJFoZ(YNa$oKcC!oGDH#&WOt(0(QWa|8u6^*JTja5*|5J76e!1(Un(La>oqO9y9epnb&00*(tI2*2=c zeSSU-$}>NZ5-=&AFU%=abV6CM)_%*POj38wT-dUxsP{fhaqdXtL?c5leqTYjEYnygBZ8Xu@ts(yKgM}_}UR7!}_ z?{EL2tXTrJ$r95?D7Uqw|5(VM7Kyv>NC=$2{s|cOe^wAGq@DBr^{a<;L!P=EBd>Vb ziU}D~sE8ajv^T>RulFwoO`iY7CO!#WnSzv5*KRxl)RnA-pkYENCg z+QWaME#nA$gOrzY&-ttcG?bJuhBZUORiE`t*;>A{mDK7>^~Cdk82KXKbuDYb z?bI(HRh0fZRK>S9?@4FL=OaI6mfBcgB8NKKL#>xZmL?>x`-P*3Rno7dYT7rFb(a3) ztU7j)xw4b<5An=iCy06_`8E8q_*lp6jeKZ!2EEu(Y@jM)L+lk=w|41XD_uufvs}VF zRbRM3p)(R6b$5a|G?_h}#`OXs-aEE=#}BxQiPAALaxbUNw!uSe{8`(jmaDbP8_Rzy zy1fkAHHiaI;)t}UP^NAI_v42o(xve_a2D6r^qXkUqy)CX90BzB0mC7jgI5(2M*T&b zPv|(S)fRQ9j@Au!kNd4e)QIBkhtHq9CX<{10oU_bs+T>#&24;bLz#rrXi)WfDhB-i zxBba*{W;=p=_TF2B4{4pT?F2t=p0o8BUCl|yL|G7=u`1NW(`TeM%>L}2nj#fcYiq} zObrpmdP2tc{fc$rwB|1+!VixRz;6|+`Yg2W!@n4ZLl%a_upTE$D)MCL#61%uM0VLrlorgsK}2ns{}K zAO*JCr1xJywfzwS%VpnwkDvnPFVla_+Ck4AtnNe)x;?Q)fKgKMdnW@ZWV3#b>P`3u z3jWGNtdh=XB`RGKb{sMJ1U=E?$s&R501_OL)bF~Z?q;PoiDaZ@frl94sJ#q>o1;7|3Ww}lMiz$UweJzKN4X#t(&)m3hX4janvg?6aD4o6f(<5m1m+>j7~ zM?$aUqP6lvNAkQ5eeB208+w+IB}A#JlvMqO{A=QC)u43Lca^oKorJu6U&52x+&+kj zf(#4HxmNz6{(WuoE}@8QB3H6rVGhx2(!v5%pKVMM!5^GjhfFY>1K3-1ngFz|vy!J| ztQT}V;fcz=qW_)4Urn+yUA~*6W)_E97jAPXPsjMM5H0okdOyFm9DM&PLxYFgoY@I& z^yl9{*6oK2Xnc8L88NII?o=X9FDT~=lqOTAf7Zr#loqeoYlMbuYFiUoGoy#F36eRj z<1M&=q=d>!X0M5-fKoE@c8ZkGeSRvsxH3{?ast_r`Hs%{t+j>(QE&Wwa8$ZRX?wG|^=(M=_s06ELAD`6&qmUmP`QOf{C&eg zQZsccAhzvgIFnX#JF6L&P}e?4hKJlk&v7L33s=hg!DmeQ&d$sw{Hc}>9DeJK;$)Xk zx*w0;pySTW)e_S4h6GuD9JgRMdDBt20xlaY4-iCqJ7LPvpB5dkFuvejAX1PeMOb8w zFjL-&Xq1xY&KDCMwjZHjYi64JCZ&=j->HcsHlQ(NRAZS z-HvNw8LVI~$6nDvpRrPxOKC%`Aa-@lwj~}6IlmO-sMwvp)2hure@vQ=G&SmFp)=ct4VB#f`@Y1s}uN3wUjm_`1URt#fkB!@cFi+73@T4K$$RUKyJ z%+kyyL1tk?rY%t=blH|smSfp=Vd4RrG7R#Dea0+Fg+dk>KP=wF)1my#l@}C~nWAp!g9Z%eMKsLQJNCYd;~dAe6$fl^Tb#6%GiUu#9cM zssB)f!ujs5)#Nrt$IiM*&weHFqYp|ral2cRBbyXs^$YY8yne|JTK#Ky>1u@-0{d;* zkRI|t>n5*pE!N?AX*o1$h`AM{1eqNkLgRztqlRz%=slRo{M(liuuyC1NX?`P#Gwa6 zH3Q#Oqhh8r=pUF>RlaG|JHJT_z59CW_bswdc2!AU*#dtP8|8^v@;oAo!7YImUOm5*8iO?t9wgvmE)S17 zOw3l;%Xgu2_3PZ_^eOwnd=}5a;^c=t&boyR@hAa9IZBzOtdoT_!-&JC>q2vzMcl#= zam2!Bq+a5>o4q~r>j8(w9RdBu!v_v}nqBMPe=jm^CTpw!j(7ykM~@H#@akqkL+C1v zI}+`mFHx%_%xc9H59>666OwoBB5nMsHFr%1y-E<2*xj6T)NBj$^y2jlQ`>Xd%H!LZ zn!rRFxb@ebjz=ioA@H$Vph_!|qIu&>!UF+!FOkQgv&kc^E{8Ppz>9bTX5dSPiW~ZG zIYilpJwsQySqoG;eUv%$u?~LwauQi_75155-z-3*YTedlDmb&&C0ZH6*b_F5@B?U| z)UW3?q?(GrC0FBIwxRYt@cEcGJY>4Er9- zwDFqniuhaCMw(mDmF~#Luj*CdiS}dKXa)nHt+c%F%;b=7x=fkYOvAKi__RN88-MyVeS`qoMG9MziiB+cpwqa&@BT$=|x`1{Qu+N^n!6)8g4yijdU!tc zV&9@zA2&nkP^ZHmMSrr1i!7a=ZUm_?jzGLQf#`n#073u0W3mBOsuJ`UCZs~;^BH&^ zRwty|712>9MoN!ntBvOcB}HhodV0-taeWVSJTfzs=FBopY7A+f!0YB(VOCLfD#ux+ z6BWuV`Kee?Ckm-flMN7Q7hT9QN|>740NH?rg&oYz?L(v4Axp=j{GRWTMm=`!-cHb* zq0yQq%i^+XYtnPYoU(9@1N}KL8m)}$=X8{`F@w$TTS9m!(?=%t-(R%nN~zwe6)OV1 zvZZsXlsi8sCEkw8-WHbK5?qx37M>T<>n||aeKTGq`MNQ?jz-`TQj71K^XqB1<|an% ztNj%1s$B7fotqKLXWf1Wl-t-iCd~r|gDj@Iz0P6xn=Kl%8__y*4tkmq=k%d8Po$2G zz?z86x_K&8qox}jWTjA;(Fubz!kWnm&Q)u8&hd(}xKy4h62L<#XnTzk%g%PD37W(G z=zfe;~DydH+9sNO{r^K|5akU}ZNRDV{&{Tvi43 zw}yHneT2AeRs?k>5IV(r0qOb!(A%y-8H3%Ee*7xY`@a-m4?~H}>gqs|Y`fartQxh? zqfOa{P2e|N#QwH7Ww+R}%xTjXz#bf6_kHk_ys%X`9=+E_)wJo0hgH#sQcgZ|kR)gw zpp;MG71wtD@DhFrqzmUDNrw-AtqsfhJd=_`4qTeKSy8hWf z4;=tAEPgUtD5~6V4$LDhCq9&w6e#6nBuB(tDv8R5eo{?P6}8B_Hi|gSm=3`y(ugvF zw~(aFTi1>;LlBi9O|!f23QlEKloFZ+#V5qjOI=dv#wRn9eiCC%hLQ~+D=W%+5}f~(0U6T7WL`+rjVltJZXVMtV!V&PLB+WElTF95W>qO-W8&WnH3?i1bV!9Q849JWtkfZU4BTYX^P|AXm zXe%7=-RP1(oaqFcgH;!;7J#O26MW$=D4_y8rSWAkhN_Yh?gG}sYaz_P P6u`f7 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%0AjfmYRwAdXe0=es7znoE% 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

kM?ccsAYbhi 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 literal 0 HcmV?d00001 diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/forms/Invoice_6.pdf b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/forms/Invoice_6.pdf new file mode 100644 index 0000000000000000000000000000000000000000..53f505d2060799f6527a7e6dbb2a16616a961017 GIT binary patch literal 156827 zcmbq)V|1ilvvzDwY?~e1wl%SB+qP{d6HPENC$?=(Y~#zk&wI4a`SByEjN+`oTW&d&CiFtsD(VEj^0i9yE1*38-b zO98-NbzJ{tCV-Ja$@t^YuGBgNlc}34?}`i7A8ncK{(XA>hjcPR@=d z1~%|8=9`9w#`;M5`iA=YsgMb9(gLJ&GDw;VP{f=sJ-dp8v(D_{#?cT-0D;7MC9v^D zuqxmPMiJHk(ZHU=alvqkTCk{E$S8TBq@Ozt(E%R%2_gE9I2vRc49c+aZ!Ku%u+uq+ zJttV0;*zL0{GcdfWd1;)K%-MAcknP@G5EI@|Bi-}vw@?tyQ7IIJPac|3>lfIycj&p z|BTT8KlK%3R<{3&u`nTknf3n+;lEt>-`uQB$jrf@MhE~f{}1o!>&F}G>%a5^k@D0q z<%5V3ni_1I3!oJ&Qx$y8w} zA%ZH?f_s7-{X$}NgWUE;866Bl(PnK3?CB8!BX-~-$t9@tqoX~^99SpG3_!pTK=>wT zU)k`#y!WrD|2sVdjU4U7>>OMxYOF#Y%IR|+{h zx|nK#r|*dDKm(exLO#QD2WR(C^M)y8rVA78~hdH@ejQJweepz7+V

aCCAeWMSp_kGjLe!N&2o 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

  • {@pW909z^McgOEz)`=zv&Pe1fu=5a5Qm`mfrO^XfUV< zbS8MW&Ci37IMR#Dga?zv^7nVLbW@tOuAa3C5AJ(@;D64we9uFGyHwpBwHR= zFLrDPm2*-%Sca6!D#y+5*yt351a*#6= zAFk{t^_Q}zEp)K=kr%`vx>S(X?mBH(7ss>G#utuZGu*874+Mp7IOjink|b@T$X((h zVVv2~IN+@)!ZgdR%%Hk|=zr)o!zA%qeLd2=NqfP0f}~0CwN_4l3i$!reEhh&fNeW- zeMDPr!FuA6vn&=P*+W}X6@E+>e&$HNO$jD;P^Gg3y_GT_^XVjxmBh(+*{Fz1j()oq zF$3`0u)|{gMa<-|-sySTWKv@FcBM__5O@7XU?_c|B6Ay_Ne;G1HgHT8H=5B6*X-ML z*lLdL%4})Xovu#A>wD->A40L&NTCs7IxPdj@KDb<>e_&qXOe;w#AeH9Odpp)gY&k} zx2HKT*A+hZH=JJWo!)NsJg4PEem8b+GKczz;Hk&HJqJn=asawFnws7rLMxNl=Z{xRQ1EJQxHp`3Pd&fsfmt^L4M_8 ziU(WBC}|ebJ!pdrTs{=YeG&d?{BVYHkCCSpl}`d!{8O2dr-l4$Pi>1a+YqU~4V z!ij8k1V560Cc-earT?y?@!&}4)C;RfSmD#6PB_!bk~wangnfYyDG}nIjvn@VLNChy zM+nWxvvBaU!6|tmK?y-#YCK1--gUu|s zUiCfuC`|;ys}#fW6*?ci6!hT>bZ;BL&0_s+ZZc|4)nHP>V)>T`SbKlPQ#MQY(P!9t zzt024VOa+F)LDGIMpv<^qA3E`nl_vk9lT}hY{*k=}xs;cic_hg!x&80LGSFZk{NoM1GxUxtXwT5Jm@fL&1oW%xV&RC$Wwm=&g*4 zx+cPz10%)x0<&~HY8qqnJlrAt+$;;QUFy}G^3_ zx_hQ=+nTm*+xE0=+qP}nc2C>3ZM*x||Gutglieq|cXMZRBvq-TUe%|NI&*%H(^cmY z<=$`4zPo=J*EM@f==vD$p3LpA)ooNbWZ!9jL)m;oLM6kFGToN|o`rLNz>Z@p^E${J zN5(+{JubV7^TR3?CZs}++o-QRfx=H!6TVL1syGzIv2SO2QY=}=Ar%E#xtwst&*K%m zb_30(&$c2+cZ*d zrEF@idMlZDx~L_Lqt1JndNmkerlJOYZ$MFrAZ80d(sWz;)B>)7U}&kwh$m-|(l~o= zc{{-OQMhL#B-1&cY#GM>MNhdGh^fggjMuoDt>=@|##5J4)1nc>a6@EV^j1d??kQ4V z1#elpO*Wq+Q`SCi#-;*%meyCR^(Tvtr3>Jb89b{z*Jbx9tTH-ksw@OsanGx)tM+^W zDUf+yUWt@0+vdrNHv29MS=9j>K&Rw9<;G6(5BaEXV4e+3CKLRR;66gUBv~q;g%M+3 zyV>QznFKk%bgvq)t>;fUuQ<;QJPkuK4btys^Y{yOn~+Ne7?+cKVB{7^?j%1_Bp7B)Ucww1pLu{q9K+#Za3qyaSh0oVW^lZh$vJ!*m;IJhK z{Fnj@hXM(j)=!~njKU2PA~#tWt>=Fyh;tfAFwD=;db1gr?)Oc|%@e(>1m%Fkg{;=D*QUw1tf7+AT-YCKuNlKaMwFcyD@>jlufU** zQR5urmqD!xE4U)7{fv~m(btPr5aZv7-o|w=uw@&CLH+>p$NQ?;HMSIJh@8$Ox0z1PC_6h}2;5zz*+jZdxDf0wy`4rUz7A4b=nC}}is%kl z^zN^40}R%uWVF(8TNAP<^6dRzOEORpLXiokf9EZGlP3>cen8RppX7G;nj)GV{>F|a zqwK0DAbRPH1YV+othK>kYJVK%V7VP7S$Y4ev?ZFgFlN`mTkf9)*+6HV)ZVGK(+WI4 zda@_F0RfBnL(Vx#4DaOe?ehA}NkTrV9-SWleApLBJtsez!On!{Wwt!?SG~8cw`!?N zppsah%Ldg9crOpxx4T0b2S#Qc-SrI@EC|eDklZ_MKnC`a{N=<|!;2}~QyO#Pn8Q;u zzwB7Jjsr2u95yzbB@;%>y1_u0=cZTXtD=TSo-^S-of&eXazYi0Hxe(-KRSg#4V%;( zJ1^vY&x0YUh@VP#Y2dJA=_&ZRMyo1--!_28Da#~!a+6jyuK5(BiNIoaw{dp)-V^-X zg~GP;6W>Vz$b3Z0;n(DvwY$yR%KZaMvwYtVnSy5wfasa* zmfI{j=IvO5Q0MF z(1nf5I>mU!-|G)@^0+pQOaDH9ZB=nW3}$b73tPr8L^cHo)@fQB3~K;T!bCv1?~l5M zkn6f<;3M3wmeAqcuG$22Mm4HZc%yp1D?TsuTV~$ZJ>>itqcFcXW)@@;VZ`#?%k} z`zdfK{E85EN=||3AakP*E|4km@AzAZvd}m{&P~X(ZhEl|T|Pfw(*d0 zICL7ed$9NPVl#uqOo7GiF`{-Nb-D`jIG;~Sc$@N>2T6mSnHB*1TS+BV=e~8A->ZGm zDNl6M=Q}5cEsfGE2cs#67xU`-Am!z-lr>({9LAisUhtn}j|CEGU7FcjIKXfO$I4C; zi7O-1ZiD|epCtd~Kg@NA;Fo-pSoF3gakS>h;cJp}BFEL50~= zClxN3O@)t1SC$p;Sgd*LR_LzSQ{M)JBX#$MJIp%JAOGOU=dS5dxGe~;qtIdeC`OQc zpUfBI*c0`6B=U)xH2ux3Ad!;pZr9Ef8WddyG~T3?cSey|E};CUU@d@)c?AD(mfBbx zO7ISwjKgoA!bNs3cH5spKuOw8*2n_~amo&qbE3n0)u(Tmd1iO39HAZ-0mdj@-kAwJ*3N4ZyvTa4&0SrCh6x`vsXB znrW*3ES9Gg9oqUGw>N8XB+Q4 zI}cGcA&UdOEozaT%`@B-Z{@@0@f=X6EmPnIaM1jzd23n5ek}YTYQ=k@yXN2rE#{{j z3OoP#>6&u7P<#3_yi|nW=-5EFoKo4#qKYx+^QZ`prYob-dQ2NfRw)IUWQNurhqbz^ zCsZM+%4#%UDNHsg1K0AqHE3Fw&2u}Tf)Jp#qPoyfecCJ8gBPHPtllnwcc>GTexupY z8A!oT|E-k)TINulqWU_; zX@>SO;<@k5=;D;&jRcNcx=1IZl+$aqx<8i1D-fmnyjwz<>@c2T5~Jxo{eja6Vap*m z@?bZrM?t*<6+_G7`G+(GKnFyP;6d_5*k$gU-(G#=cD?z$1*mPUrK$akH^a}Do2yP@ zL03tSsVJ)S6B%Ym!-;e*I!r1vJ$lG^F5JNMGc5dNeu2dbSO&@GyI!zvm4V@dnLg3D z66wV7TcrY#vzb1ssQ=vMs(ZMy!fForXx-uK+v)0kyzyRN61X0yZ>p0rp0Ec)!OyHc z?rh>QBp3Fa$oi|!izwZ%r8~s&+7{C7-n5fdO0hFz6h~Hkm^++Sxcbn^BsfUGdJrE@ zSw&?BJp%bd=qjSvW0a^9w?$JK1;ohZ?=WM%2y$Ro_iQ(V?gE)-TH30&Y>`Q|=zXT# zc)m`aNN2vn1WNk1-28@b9T_K?AuJKQ5MCOhsPmU~P^y-&x>~< zoG>q7o(NJYHcxw@m)0KRtWCliKY@1_xGnr{z7Lb+>mgB!XwgSy6esW*)ZK@HsGv{? z2j$u9Y{yd`CI>X}=Jo+t8^Ts(LZUB40+dHp3PArNI?b0cmK+tVd;5UKV^hAX`dcs5 zmx4*UFM+rgdbtnc(230`wT7w5*WTZ#&xrpLG?VuJu$6Ay^et3=7vGbRP=kpQ*;{76 zf`j)=#YkFNsk(>~Av`)2dn%8?y9e55Jh~;H9faVc-UhT#F+4n5hjZBHe%iH-IdO;^ zq^D3A9PH;;p|F(av%i0{52kU?u4taiYI}$_HOeJ>_41;A^)gMcgESgM zk-6ghrkyiy$SBsQ1$G9}1=g86H${7ULPyY;x?DLIuB1mj>@wxmYn*pZ)ST6wHYhrH zb$SqfKr84}tZATX2$E_<7y~h#?genFnT*)2^oTR5FU#Y`G~o$;8INd;U}|ntsdtY! z6joX8qtXoUV$F8rl!7(`OYY!h>jt|O$lLI*LUnD#{^l#k#|)rHIa6{6ssH&d+j2>2 z#(IHX5Ai0Mbrq$tM2j#JcG(W;2y#t&k{p@LIU^Kf`aFJbkm1!EV9v@7-2+{({YG+* z1nT;XdvONrSm#gLI$|D@o%CjBF6>1pM=&cCz9MVUn86mX|4><%(H-KfK=$J+m+Mh* zjODHr8=x8Zhz3kqcT_`yr&0^M6cSr7NHR90G48v#@*cTQ_5^d*U|StQ_rx*`^6>_I zL+m*NS!wiH>+|~^`xp?W!1{tY_?rfp>QEXi^%_iEghi;h-mz~s-owjdDpHn29-Y4;ZqxD2= z7)|gF$9y2&X~_AeF{b>lTlw5pF@+cR0qn{%>6%{52|p}lep@v<${y9R{?!)o>KL6z z;^N9VXFf>xNgl{t4fh%PY{7|ph?6qeVdPexb>d-%Aw!~CXAB8Z-L;R^7nj`hDNZBg zp@n;lQC~I=Hj;6U0_Xu7;-#qH_Z(f-xVbZPC7INw1J+P$U<;wd;uCoaH2QL6{_uWT zH`5ws+$1*_tR>!}2YINeb4}yeA#>F@thy9;*k_R5bHOR`omrer$)k88oNiLdBj{so zF&u`#*7Kk3zV|GEpAY^q4ZfnU);k|m*I);xxr0aN#RT5jd7rV{&M#?y=WEDr=cSH} z>JK`C?mId);Y(I32J3R}iH_N(;xdn4t{jHQ#sgnFVmSf$_qMFm&HL@}Nc8T5FIkI5DjM2r>J{TF7N0YgjWSrnRi8J)yE9ps5yuSCWXCi{ytiE^8wGD{ z8b-$rEbOT7;~tGNM?efqL;#g}`^tBg?F#IWHSfPTA7PK#Xf<=HLbO%^R|Ad9`3Uxu= zxp;ZPo+_3h9HSiLCNZhg&Q|##u2e~aF)Xui83whtiHYyTIj&dq6*-rTc!g5h0bX37 zJM1ss6Lp_;ns0=pUX7CW=-oTaQQPCspr_Y=K3vQK#s#gaJr7D^eyRpAS^|NC5DfsjBek7eZe2$xomZ#I6gxLW_(~b6PjXZVMjeW7&b< z%?~{C;jn#zmN0Q1@)1C;-EGkxb~fJhB#F3v@0@4{Zr8}pTht6d4BOh{Wdxy6 zjDigKJA+r&MduswcGpc&w&0de+?o^6c4Z zK%QSv(#g)~c||Dy%4_7QlbZl_^omZ*%g*S3j=P#r4|1?9jHd1vyA7!%N+O)2lRdW@ zaSy?to8@Pw{3xpcS$dW8pX$(CWbFl8LOT@lQeP(Ew!*nC%4tkk9^_&_ieZBBZvSyG zc(~))6vW}1vUu+rGHhBr-w@(}ITvgNF7qdVf^?R( z&Kdd+-3N_sA&1C?KmQA5$E5dNMwiev$D@f%K&zPp>HJM7oNht?;9-yR{oo}48C7>+ zHBmha+6u=FU4#N9orXfmV^$}`P28!=_bHSaT~m6kwGT{CO)}K6C)Pil>X0>GoG3 zCggxDqcDu)X;+8!OIczbPmnw18?7RbL8*>l5H#+%ugx&S&bdtRnq(Vv6{gps{fA)W z&mJ269&`F^%H#3-SJvl4TrFj%!QCW}DehxZxd3D)ViI3`BGkg7?;$Oa2%L}szmVvX z`o$1_4bA$6FP*NyD!ZY}CFbD=YhcIS&CoS2Ey;Mz5-Qj>%Hg4u59#ArRzWmM;C5`U zndBU}$7h7j`M8^OtD9VR;GJJIJZtpeT;Cr&=h?9OlsMjR@iV4K+RYi~tRA#Ue~YmS zyI8^+ZWpx-0K9#xZa~g`cz}}o+UfhiF38Pq2PfHs2#m%f!Iip)VVl@IVqCC^5T*%y zNT_1edTGUu8~&3ZdA>DlvgN`J=``!zw)YAY+#88~#C%d0c}&C`i_;9xqe3kQ-C%GnQz-hi^{QNa|4D zgDxDDa!jKG9CsVb@aO)#hG!Pl8LRtkwSYYMAsE^WOD#TGTb7Ri!2v(>9dE z(q_p3r;O!mHXdhmKNvt^KCl?NDq3V*W3uXPR=uJHPK`Uwgt@4pvgB=6xvAky^#bH6 z`id2Y@+h`u?}&A)dAycXK%039+Y-jIi1wWshKE05A9L zC_jxM0ZZ3p?lHnNQZvqgE|3B+$MglsVI1THJsj@LHa8`8`dt(tiV@KFPLz(j(x&rzV73nG&uSnW*5Ba`Y!vc>TJ* zd0VE7r0DM}&xh*4MXVmpeQb?CKg)2Yz@}OEjZPB-BE=_yJxk`ak8VIk=YC{Y-%}T* zliz|XjKaQ6!tcmup*~~vq#j8XBiEdd-wHV1;^m*O_PTvy>I0uvFo#L$HG7?7Yplc5 zrY)0yY}ypIGwQ(DG;w^kV~gAr+J@?Rt??J09Aw!l#1@2eb*JWs}Ax{}?#0hf%N#7k5?I zG^tYu0H{X_YP65TbyGQp&nC1jtdbuwhMhg5S7}$BKHZN_BqwW|Be*!bYJ6P#QiDs? ziwH|zX;6$y~&Bx)`Omh*}$VE%i#*hCi37HfC9MC>yg) zsVHRJzukT%!1MahyEi-0vYp{zHRNWwL18L<>0Nn8=JeP2i14^=u2evrFwXDt+ic|Q z%NkYjh^r&MmE)ubx;L4S+C2__cgu0IKs*|(-x8^IXn7x$zv+c*;T>Vp^6EDWx& zPvep*tebCZRlM_WX?n4~u;w`V2Ixin&OoDfpLoPKTAoK$XUI%{jsLhC@gB3G9}2h_ zPz=pz8CT~B`66%+s$;$`Ke~AuCmuA9DzU1@EqKk{0WO0U*_)UDZTt~$o1^q=KCEO` zyIIl|=g?vnXFKILKRFcRc@c$Y(ieAIpr*!JB@We?hm~}AUbn4Oqq3uGwxE~JqvT&D44pk~m$vtE6*78AhT z+mv)sf~=d1ez{xHXlImKx&T(zKC0#5uL*`{t)o*b@lnyP=Cm@6Xf?sl-680Y6xmJxudKbjBjCeGpXm?ipH zG%0e-rk2{+=WFI!G&WtlB$r($je;`6<=#DsPP$WR87m0w*NM4X3%?#$lhGlz@J44Z z;S=Yom54nT7J_1$HM%IBg=|?ruSk0y=$+DdR#n`|uV^5T>{cK`cDz=AWIf!9r^XGk zlZs)hvW-S@C@((^?LB@jPH0YYp-c>m!@BHWTfbSw2jTb`r^GU4rkQQm={WoexiG+8 z5IB-KYD?f5PCIUGdX(tAy5$%;@9*fc=uy3J;OfD8zV{X#syqw*9z3u>Np{}FdB@!~ z-uV;kF|FYtxFbbRx-0(1E$H!`?izgedlmb1W0k{q<>2>=9OVsiE{|$YjN?(NS(T$Tft6l05a|)?46mYRXCg*udh7*F&1cwOD!A)=nj= zsi&&e#d%6k%7-x3PFu~Tw_QKlZO#g;deVI4e@ z32jx^mWtP{AeElV!ImZk|D!U6EoVxxV4H9)dy zja!VDUk#d1Sj-Dn9qe?=5&)PV@=<`Ct0?MqN8!|k-0l~PbXszlKTM+`(H>no?e&QO+y?}CF$HH&C!YhpF(75X&RoFEirPKHG(*fDqwGm?h zlt5{;Da+GR3)a5Z*x4a_mac*%4LHCdTf;rK=+rne}vX(AG=#pBfR zY&!InxG(QVCU7x8p_LsuQjXOok`p_#ghBBk5VpI{0mc(7%9o z_00Eka!smJ)SRqBHhsG{vz(FK6nd>HTRhueNaa~hVWd6P7BJ; z8#i|&l>05VqUXBvCT zwf8CV7VwbUtIzQ-OslDm_@sEQr|Ql%GRLgf#yiqK3e)oz@r-2m`jE;!xlNd0LS`&jOHY+ z@h?G(=OpvGBP}LAM_-lNV_9s-;p^nIWcCSR5+$aJ2TW;zI_Wz2Ur;gFEw2S~pva z0){Nje{%|VblPf({=vfzhO;@0Xz6FO_SEKTlyr@=SoWCw%}b->$aP3I$Y_!ulqfBM3MN#0+jI^t=DS?M~xc;Tf?)ujq>cc=g2b7{vE=tSDi3u3jL!`|MW_#m!{+z zcjJ-$BnmG!o5bje@bs7}{ylF(eVSdDc<^Fgs08m#V4XTa!6gE@Lo}2&Mp9YBq^w`% z4)wvI!pMqk7_p*AiLIfi-yOT+Ri9}NLtO;#kWPNxB8wfYGWkACi4&}}!`} zu%2*Dc4A20wIF{#F$2w&U>n0Oa0BeE{c5R&J2tiPm(pSqgT4B`^cGbglAf3og*Tsa`^7u~fbc~vca z(5;eZjR~wINXFYRqMr>cJwNd5x=+V7Bb+G(4T3GK0Qc!a6E9dH=eT$sS3S{LJe$(H zD_&!|DdK-s7q{rwt_1}F{`K2^{J-yb7~T_&W%VQ1i_juNs78W^W@xCcf!b!MC$KE8 zu2hAuUsMmjr*?%Y6$^OriRH{V%aSv)5&0K|x$QIJngF_$R-Vl{TC>aX9wnXHcO`2z zKt1+&C||KMA;9wg^1+;WsuK?1w7Bc`zh~B>8RKnC&L!Q~%ik_Zn(Q^0Y%<cx9Iz2(8Jwa_Ath#{!V{wNn>H3;9|!yA)moDrKIuU^WB;KUNVc^ zV<`Pd4Jb3T&slDFaR9)jGQMU#{AO553z?=&K%Mm{igJ;!?|iKv%AgtlJl}Ig3&1MA z}8OhGT{oQ~s?7Ag)!h!YRnO}U*G{=FZyQ?}1E zo*E)`G}}`bA6fSz9*6HCn=i`f$1wjDM6c-q#EIyE^NtxAOdxI+?R>eE3bQ5%=1Oen zg!rKQ4%AHM7<2A1$9bu$Uh?~-M^a&zhg7=}nnRP)5X{m!dk04{FA#JG{C{aWAcVZdmLh7v3eKV06|bwLV=u9j@kKg72lXS7jBfLN!>O zWS9BcCUGEF+aLbZMlHc8JPFOxMPmfNhs@;+``LuylS`t~9in=S?U*%@IrezAyI5vj z?eoB`2knvhpb5ulO5&lV_=^f^L{;O{ziO&TFJwN>sd&qp;yKl(GCA!8>NCc>X6`ze zTN0p%VN#Q?JLw>sg~c$nE>QXMV|zX|FQ74kgF*0*_n_IexDnxF`fU$;d|92s1zMz7 zH&`5ly8dO7nZ(0yH@Vvd)~!BX4c<7OxQNcS-41>qp9S>T726O8rj^t>`WG%MZQD(Y z@orc6AqRkxr-RLdFz1mbDAA2#*8y&$boR49)e-bluj1V!T@>DU#A_G$UM8C?s+rb0kkCv`85RupLAs57(EZMxEgwa z*UMzUF+I9UtwY;BFi+%q&fPpy|OzzuG)^jx7Uxyc`5f0FKT>1gKt`} z`xBXOmnU37ZQQ;NvCpb3hiE;I&UdV)iM+xVBva5wRIe<*h}9a5m(3yXx*EYOI$++c zb!6c>IBvR5|EAgG!oJW3*G%uQ9s{i&ae?vnG_(nfAKI`iFQ4-DAzp~D7vuYT0r01S zv_fDOb|^%%YsNZAT`=rA`abQwYL|qot<*fk+*Efvy{BH8?(EgG3Y-*;{>oi-#=moZ zpyb&g5a;zI9-`M^-!seUp1a3m+Jdp{@~od|1bTMyDW6pf1GHTfBf^iRF*E4FOb!XX z+IOTMwo^P>c3?01+}A)gk-FUvyF%SAsV>NlJ`}Iuu7KBe92MY($jMjYW0bv#_Hfv9 zSmnXq!6sd71ipF*z*KvA-YWMX9}S{de4`NCju4MyYE@pEhc_Q<9l(|Jcu8w%tXxIC z!k6mF?57K^3vyM4NPf3Mv9HJ$xo#(M>Vl=zE>9gNqbeOI3wSTAN)Lus1b0dDu!tO5 zavwD#d7Pqn@Uq_cU0$knK&-q-?z4 zx?dx{P)^xU&NlH1e2-p3A^&y7wTz43z6RQ!=h6$Rd9eog$a>b{?UArS@eWeiqy3_N z!n;{N-O&tIqkUS9m>asGv!0$0C z9ND=ba2~dyeL;wlE2Sh=a(m#b7UfB?DUFbbT`mO+w{Co%De+ob#hHg!>xA~8*nCwy z_)${p$Og6B;MZey4%2IGeV$GI_j$DI?HTUcqNjF<2L&n`QkOIS zOnjsVm=bc>hNhGx%99j{3Nwd{fp4YtYJtf=25-nran9amc?Hds83?4+cmqv@)ZK5E z!xU)Er7;DhWA1Q=TNU>m2i{d)a0BsxdLUjR70}($-4U(I&i6ylXIm7o8i&q{oXr*J z19u1@H2v%Z(M8|D=Z)8&coIS7C^f+l4Bp-{4RQ0$aqBdP=1c4eOi9MNOyimelEO|M zCf>zY7*Wg<`5S{5J&nrXxFcCosG zqJ=IdELc~Z6sC6Ygd&l^A0$MI5}v9lP&P?8>vA3lh>7ut6To}@N+H?~a(kE&8NsLS zJpDBjh(U%=WS;eoU?Vl??eYEEk>|$vV4~TA{a%8t+C`6j zbCci*x>G%@=qu=(kdrgf&du}1K2mQ_QZ*LTeY-)N*s-qUb+5C10L>q7S`r_OEuS~I4ZEP_yS$yxkxrdS62e>VzIaz~qU>LS1|7h-gGiqH zGaHN_*49*X#yJq3w;xVZX8?fvtn)*&5tWW( ze0hdg&$a_=(-|qiEoHG&t*Dk#Q|aQq-y4}fhA>th+D*)hVzeGl?0xp)LgExqp(0*( z_DoXYB(5{+Ug2dC7epHykijK`*B5UcVCf4jI97CZh|pPRmCRq6HoRg>E> zgT0gF+JpXqt0UMnW;sJK6~kycsk<`}se1ceOX=rs{AmyBqRAsDW!obGAX@EDW9Sy8 zvI)8d{=#%oWUmbVqimF@wIi&yO30j`*F3Y21vRn9FU1(zh#orYM>U*O(E3Z%PXQpV zBbsEoK5-CQ@7nz`elRAVDig6{3+Z9zTl9`2RkC(w;uW%5cx z)l0+tqSkCz76TmR$cPVaZ8HTinaKAj%$Hx6Qo;=vr|LT+k%%ErJP4CXp zuUK4UM*4pSN6kZysLDt4MGH3b^H^=(=G#SQjSJvEeI}PE$Ru-{P+Qia7-Ux|Ev`wZ z7tzwiXd6x|;Ankd+S42~SjJxkdV`7D*9}C& zMECTbz;{uQB-IhAbT~2?XQ2(TVHp?z&YZuvd>X#kY_gWuHrz8K-15~MBlZb*j5=SIM(q0D3Fjy>LS-u;Z)VEVeKX@%Q>nk;i#H@j5(pR@kcOIqI_;NtWt~gryQn zPAd8-jjego5DMr6!EJ^kKdIsJsmauaVB4MX@!5lZjDo+Cje)}(VA<;2-L;zzzB}h3#;Rr&@W3e_oLpD<~W3r&&S3ZMyMM?tyFN6~K|00w~?t!8Z z2-Xj>>vt1+!{>_61&@nh-i-?$6AJu4ApC;=7eYwXD-~aQEKOKLnP%6F@JSlhrI8q=)KQZCYe-RP_|Ci8E_)A$7 z1tF||$p~fn9}ukIzp*OYnwRi_EBy71uo%?8M8u+gqw-v!YD&+9ond79OCt!m1H>8Z z0(J#Q-{r(rnP5-?9x?DIL0Bw4F*t+(A_2b`e0(V8|A4>@|1X5*jk5$cr z&7EpLld9&ik`dJvq&uT#Q2<6og3s8}DDNNEQC?&5I}%iaVb=o`Qs}FQ13vekExv9i zE;C>=++tqh?%=0N9zQ>!)|QVlM|*vFYPRQDA41;hV7jU-K>A*Hx^_fv{@kpH)Z#2m zJftqkKFe=ttfVMa=Xyf!68JL+e|LLCbT+h3PwkqhWH^EP(B%xh6rlT{?_<#ej3P@s znpj2ebe1I48oK8p+1C4Xp z4Eg=n^g~^;Mz3Pm<&e{TrIP%kBI$;LL19cJ&yUZeuHV&b#*nywU2*cJ`!au?a9!AV zKeUTI-$|n?Z->9IuC#&O!02*`JnM2kHPLnlY(5WCUEuJ#V>%DU00ax)Uo)hBBD=Sp zL%nQ_(Z23c2WmeIB2PROAfVs~5<+z;ZWzVvs-(O*ktwdA9qT1@vsL87pekcc2T;k( zbAtZ9Hq#T3ZE3~YnX&mmx zL6hV|v{bdeCyO4TnXwnM*Vu|>gK63w;I>_i+}&!%(gZdIrLRmZL;_Gt9JCo^wiE9( z$lF9y9c)e~rLGW8mY~Q8n^`8^8}tA;CXgUwD*eWW z4JXS$9S&@8;xCYLXgTh}GQ?jJ#dd-N=f$3RWHpCq3|zD>TSl+v#UIlGt)uTW-PAEb zj9RdV>HvF@Zu8@eHvmamS%;H}WrQ7I zuZnY!5DVv(jyWB(ozC^?@d6=enflUX`Q(1l?lt7YpRxy&b__##6_57lFzVNRc}Ee9 z>1W$Tva^Ev>?UMlqu&O}A}+a61h|LPAGS#{grWQ~cw@uVvVL3M(Nek#c`_PcY&)be z_~qqkLS(el^ODvds&xXuFKnAvae0T>M*p%hxTk1OC>HbCtJ#!^ShQ= zmq#=mkJ={m=dzshZ8uGpb#WZm#b0F0mjhZ?uSB4nHJ}d4)k<%nSB+;fWm;xQlvVac znaGD@T{Tl)eN|Xgik_F|!&qy#JehxNEb~(_Ad+ZGLAso*^&Q|H}b@J@@?-^HmOmR4v~B`eD}jYl3DSrX9dwuPpha45K~60XVM zH9kJbX?C@+E^ln}mqdx*giDl|v$WLt%iwLbJ654qo~FAimon*K=DhA)yZYDgxyH;V ze=yEJpw=y#-H)VgJ=>7OY9m)NVwnfJO#a;u_WcSkz3sywQ0;~1(T)6RenCu>; zoC=~LqGNOs*}iJV#W>hpQU%y5 z-()B`*m!(c1$-d)pW<>LYr=b_gmOVCxxhbjd~1A3^H4lu!-?gJgiwHVA#(V75I=t+ zCW#R{%rJ%qz~UDwi&4hO66E})f@~1`=U`SluVcec0^V4@qcw6}x2Kw91J`-Gt=koE z38zMF&FX8~bRN-6l5X{4|xfO9991MEjPh=)9{__(~d0SD3<-W6cp~P!FaC*5H<>MsZs3 zkfVW8G8Nz^WBvlQdF}jG>YUu$AzjOc#_~})XNihOyXrH~Z(;&bMOjMm7^Dx;? z*w<{u4%f1vK~4(OMWKxGRz|@1wBhYopUQf(){ZsN z$tLD11HR<@bpl=vQY2?ASIkcS3j!VtB^R2QpWPG+F_&A+Kbvoz4_nz@Y4_&v#_q-b zg@OE6BE}RF8*P9BUmDSO!x6hVYH8YXE)KX0t*uL(FKjOI1N2@l5qJ&ptpxBj;Vlg? zJBdByLE^~oSYg5lK0M+#{8*_g0me`4u5}gK2M52QUW+dw>x@_b`&q_+Tn~J|G7klo7@Gmz; zub19#7J@|O5tVgBOP|6GPB0{Li2^&3-RwXIV|@|HLljDV8BC!dOu-Ika4B-hOraKM zrYNI2>p=o_e!7d#M)1-8c1JiN5j2b*fqt}K7?&du{pBZqkQ&%aY%e8{E8qtS{8cmZ z@pA3ZP2InV=5DF3Q{@Eplrm=X)I6_qzrU3>8#~_K)mQTax`hULG?hW>v) zQFGe=c!fcCJbVV*ENR1aawcaTk?R|SX~220HHc->Uz<#w7cAP=Lc0Z9}j z`;I3_6;sfIJRm!lTS*YChWOj@>=+1HgFJ@s7l;i348e~06VaX+{DNwDih&qeY{Z^C z2vUqst)Vv^1JFF;RdL1L#yput%`GGJok7ShtuJqo<`>vx45vP+VD;J4ziww^(A=i~ zm;vj5lK}(s|IQ$G)BGTE-!8#a=?ZHxs* zPB0$B+|GbJKX7&z_`1H*GmnIpXg^`g~2A`2u$<5Y?R#x9!(b4Mv{%DwPc_vO; zuhT&f>ki7&v6#)0@*&`Ba#Qur{IGB^4Z$%DYYrMqu86T*osU69S}xJPi2e8y3)lZ{ zz(J|lvsSN+7<{a6?FpGiKdCq;@+9&oG({Fzr7V%&u01J#0g73XkM372-!sE^JsKwD z{UgMh;g+q6eFj!c8Ogt*>RAdH=SgiRmF>#Eac~1kDk1U{xOSHts#sV|2KYK7BoWfg z7I*XKa76s}x6qQc*=ZvdGGInows4iDQP4{%()WUj8YV)CID{-Wq!yl8VLF(m)mF#1 zn1q-5amEykS~^{`#vudUB#HvlGEZ#apdsn>QQK*@2A*}Q=zii)CDK~Th{Se6fqrC1dGCZH@S@_aw~)BL*2IqyC9y=U&+d+w7v zn)r#yb#t6kqhCET6LmbAxUc5)lQ~+=uR%|1mzJajpJ|+Nm31QG;pn|tO|hrOv`h(| zR#!MK`-T39*}|>nYbW2huCKIQ^k~b9e3y$yA8PDvt*$VwPCluT>3w$O_?AhcENc%{ zQ6kqM>(0^wD7Zw+_~b4Cv$my(c@I~ z?>|-aH)AH7_yL#|m z-nBCqEp{FU5!yyqZZHK?$SH&h@5c5nQ4l4?&f&)%k2QDKE%-e1yW?~poJ*Q5H169? zJ42lbDPyqDpA)u--@VJ^xrgr#)OzWb2|KS}7?nfMH@!UR&zhst zl-fk?l;n)5W`v7Lrrxt^ayEW)Cx?oouM`(I?0{2EQkZtLxv=4=7xF7v%0wfU-4o_t+IF2##1zxH}+wq@x7$xN;HRY_5* zcUef|gn&o^^Vvt|D)xUIYCiUtakr+v$X!_a1<11)>(W7Ltbnn5qD7Nh3FgmkjP+h08?$rN*^*sgT1@>01s5<)Z~iZO;_& zti3*?CB9*uD#4#n{Y~5D?Z<0V&Ocv%Kl)zRqgscRV0L!=eeY(G$r{teskZFM;UTaiVB?UE`mBG)eDlolsJ~szDfV}t;yV@J z76ixhM6RPJZA>fcJmP4L+$eA?F7xkPpXT{pyGv$7Q%i_Xp2gvI=d%P|+p={oPqVJx z(stg;DP*^_G>`Y_;?7wdW_Nb~k`3Jj*SXhv@>-xX3HL_LI$ATz3QHuKUg*BfNWRq5 z(!96q@v76^fol8h%d=kG&iYvE@4RGvMToZilLnjHMWfpCDpYZW?Z1^bS6j_H*oLmT z#%j!~=(r{QyE(FhvF#>$DxtFrq$oMm%g%F0A5S?(PO02{sXk#<(a%|g-wM+XeYVHk zmlZQRZ9{04nzil8#$BG@r>B>!b@bW2`#y2nl5VBTNmg!scA)en{8#I_Bz89U(>#BL zWo6~(&OgpBJr%lOJXO@LuWCwapOUs@Q$e1;+R|tGyvp)e%c!+hw3a!?Jbu14XYOYI zqNI#Yc(J~9c3Q}$jtKu(Z+L${1;aX?JU_P<*?r=vUu$zkI@`$xT^E@awh5Q#A31UM zF`nX#b!QRwE-fB^?Z_~b&Y+F3AFK{XR{|6&lL7`tVL=D%eHkqD>ziJLFe;XbQSrd5 zlj9zv6-y&v6p+B-3N;tsURZ<&6f!P8h$bWnwVv=wg?B6h2gWWCNn<0VEE(S24abRL z$EdU_3=N1;Db+f53>Pn!X(TWkOB;$oJkTqGMsV>wLj@2l^angO2n^6%=|m|Bq5~|* z6{2IGkfF~7$RvmfLL`vPB0_XFjmf66fVV%q8xBix5Sg4Ez!$u24$E=zD^XO-2Epj) zXxC_ps|E=NAr^}TlE@&LOvEIJx;1K4979y=2z?;$aQLuJiYT~M}Q5~iS4XcMy z+OIgIu^6!yQzE@jNhlmyO{D_+2{3Sg+0OPyG_oiujJOFEQbeQE$kEc{K#&HJ0dfrj zER@R?QW&7nX&ggO2c!om;>e_IOjIRC-Nah0QXv%^_%uj!z=5iv@~8q;!oB0!Pjv6V z@|5V%QiGL-kx^nxE|rq46syCz_!y!LmW!j5DBewgH4Fs6Qcbv85ep+gpjf3f5SzweQy4@NgH0lFKqE;b453D*kgs`% zfjy)oB8eq}XlxpdO&x+UNYWVN?cDQ!p$wKCiX#-V`5I}I;Ypg$cZ-Tr$k+k~na=Z~ zF^N2ifJ&s&yy!$0-wPr#DKxqlnZ@AqJSe?A9IE>d-1%x9DppJ3cepZ0!jQle5>YOv zKtw8oMkh*WFo`G;(`Yo7gvFw>#P4ti>AuD7^MpZjO|SFxm0~j)Hi?4$v*XJnv+D64m6LQaq!Tjx>{2#)b;z0@omFcGx9l+ku?wv8p)iES4wb+pIWbP z4BE3dc3gOY(9#C~yOY;Pneem-US|4jU#nY`)#k0Yd)^dTnChJ$wmojo6}KI&3}jC) zoA;!Ao8I1>UCu&gX}4XiT0LnJ!=m zs62`nok}yTSO+gy-8eiNmBbX#7$g#tN@q|#J?H`^pUX9E0bn4uKLVInQ6H_OFQ}#p) zKMRX1cX%^=T{b_CGsQc+EPiaClaZja-%#_ZW1{R;k}KKgW5=BeE9SPzCfFI`i=WKD c8-^up9gUzd2rRe6K@i;%H*==fLV+dje;R?-X#fBK literal 0 HcmV?d00001 diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/forms/selectionMarkForm.pdf b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/forms/selectionMarkForm.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0721647fa52b7ef94774b3966676a22b5b668ee1 GIT binary patch literal 251215 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%0Apo(8P*Y`@Ex{WF9jhfhX4z)c_bhF5 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 |LOH0$R{Es3;F=EZb;dv?t9w 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 z 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�Q<|Oz>J{_GA@~nkMb?2zG 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 literal 0 HcmV?d00001 diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/receipts/contoso-allinone.jpg b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/receipts/contoso-allinone.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1aaad34387ecdd1bca00d45326fa20c509933408 GIT binary patch literal 154512 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

    O%focg@6?zzQ-*wLhxrpJw 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 literal 0 HcmV?d00001 diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_1.jpg b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..29cae664f1b859964b3813334de551c7f22ca54c GIT binary patch literal 479269 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�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 z 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

    kM?ccsAYbhi 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 literal 0 HcmV?d00001 diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_1.jpg.labels.json b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_1.jpg.labels.json new file mode 100644 index 000000000000..82ba91c2d746 --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_1.jpg.labels.json @@ -0,0 +1,527 @@ +{ + "document": "Form_1.jpg", + "labels": [ + { + "label": "Merchant", + "key": null, + "value": [ + { + "page": 1, + "text": "Hero", + "boundingBoxes": [ + [ + 0.3658823529411765, + 0.09409090909090909, + 0.46352941176470586, + 0.09272727272727273, + 0.46294117647058824, + 0.12090909090909091, + 0.3652941176470588, + 0.12090909090909091 + ] + ] + }, + { + "page": 1, + "text": "Limited", + "boundingBoxes": [ + [ + 0.47705882352941176, + 0.09272727272727273, + 0.6323529411764706, + 0.09181818181818181, + 0.6323529411764706, + 0.12090909090909091, + 0.47705882352941176, + 0.12090909090909091 + ] + ] + } + ] + }, + { + "label": "PhoneNumber", + "key": null, + "value": [ + { + "page": 1, + "text": "555-348-6512", + "boundingBoxes": [ + [ + 0.21588235294117647, + 0.15954545454545455, + 0.3111764705882353, + 0.16, + 0.3111764705882353, + 0.17, + 0.21588235294117647, + 0.17181818181818181 + ] + ] + } + ] + }, + { + "label": "Website", + "key": null, + "value": [ + { + "page": 1, + "text": "www.herolimited.com", + "boundingBoxes": [ + [ + 0.16176470588235295, + 0.17863636363636365, + 0.31058823529411766, + 0.17863636363636365, + 0.3111764705882353, + 0.19, + 0.16117647058823528, + 0.19045454545454546 + ] + ] + } + ] + }, + { + "label": "DatedAs", + "key": null, + "value": [ + { + "page": 1, + "text": "12/20/2020", + "boundingBoxes": [ + [ + 0.6876470588235294, + 0.19136363636363637, + 0.7747058823529411, + 0.19090909090909092, + 0.7747058823529411, + 0.20454545454545456, + 0.6870588235294117, + 0.20454545454545456 + ] + ] + } + ] + }, + { + "label": "Email", + "key": null, + "value": [ + { + "page": 1, + "text": "accounts@herolimited.com", + "boundingBoxes": [ + [ + 0.0976470588235294, + 0.22, + 0.27941176470588236, + 0.21818181818181817, + 0.2782352941176471, + 0.22863636363636364, + 0.0976470588235294, + 0.22863636363636364 + ] + ] + } + ] + }, + { + "label": "PurchaseOrderNumber", + "key": null, + "value": [ + { + "page": 1, + "text": "948284", + "boundingBoxes": [ + [ + 0.7547058823529412, + 0.20954545454545453, + 0.81, + 0.21, + 0.8094117647058824, + 0.22181818181818183, + 0.7541176470588236, + 0.22227272727272726 + ] + ] + } + ] + }, + { + "label": "VendorName", + "key": null, + "value": [ + { + "page": 1, + "text": "Hillary", + "boundingBoxes": [ + [ + 0.20705882352941177, + 0.2772727272727273, + 0.25529411764705884, + 0.2768181818181818, + 0.25470588235294117, + 0.2913636363636364, + 0.20647058823529413, + 0.2913636363636364 + ] + ] + }, + { + "page": 1, + "text": "Swank", + "boundingBoxes": [ + [ + 0.25823529411764706, + 0.2768181818181818, + 0.30470588235294116, + 0.2768181818181818, + 0.30411764705882355, + 0.2909090909090909, + 0.2576470588235294, + 0.2913636363636364 + ] + ] + } + ] + }, + { + "label": "CompanyName", + "key": null, + "value": [ + { + "page": 1, + "text": "Higgly", + "boundingBoxes": [ + [ + 0.22294117647058823, + 0.29409090909090907, + 0.26823529411764707, + 0.29409090909090907, + 0.2676470588235294, + 0.31, + 0.2223529411764706, + 0.31 + ] + ] + }, + { + "page": 1, + "text": "Wiggly", + "boundingBoxes": [ + [ + 0.27176470588235296, + 0.29409090909090907, + 0.32294117647058823, + 0.29363636363636364, + 0.32235294117647056, + 0.30863636363636365, + 0.2711764705882353, + 0.31 + ] + ] + }, + { + "page": 1, + "text": "Books", + "boundingBoxes": [ + [ + 0.3264705882352941, + 0.29363636363636364, + 0.37, + 0.29363636363636364, + 0.36941176470588233, + 0.30727272727272725, + 0.32588235294117646, + 0.30863636363636365 + ] + ] + } + ] + }, + { + "label": "CompanyAddress", + "key": null, + "value": [ + { + "page": 1, + "text": "938", + "boundingBoxes": [ + [ + 0.16294117647058823, + 0.31136363636363634, + 0.19058823529411764, + 0.31136363636363634, + 0.19058823529411764, + 0.3240909090909091, + 0.16294117647058823, + 0.3240909090909091 + ] + ] + }, + { + "page": 1, + "text": "NE", + "boundingBoxes": [ + [ + 0.19411764705882353, + 0.31136363636363634, + 0.21470588235294116, + 0.31136363636363634, + 0.21470588235294116, + 0.3240909090909091, + 0.1935294117647059, + 0.3240909090909091 + ] + ] + }, + { + "page": 1, + "text": "Burner", + "boundingBoxes": [ + [ + 0.21764705882352942, + 0.31136363636363634, + 0.26823529411764707, + 0.31136363636363634, + 0.26823529411764707, + 0.3240909090909091, + 0.21764705882352942, + 0.3240909090909091 + ] + ] + }, + { + "page": 1, + "text": "Road", + "boundingBoxes": [ + [ + 0.27176470588235296, + 0.31136363636363634, + 0.30941176470588233, + 0.3118181818181818, + 0.30941176470588233, + 0.3240909090909091, + 0.2711764705882353, + 0.3240909090909091 + ] + ] + }, + { + "page": 1, + "text": "Boulder", + "boundingBoxes": [ + [ + 0.16411764705882353, + 0.3286363636363636, + 0.22058823529411764, + 0.3277272727272727, + 0.22, + 0.3427272727272727, + 0.1635294117647059, + 0.3427272727272727 + ] + ] + }, + { + "page": 1, + "text": "City,", + "boundingBoxes": [ + [ + 0.22411764705882353, + 0.3277272727272727, + 0.2570588235294118, + 0.3277272727272727, + 0.2564705882352941, + 0.3422727272727273, + 0.2235294117647059, + 0.3427272727272727 + ] + ] + }, + { + "page": 1, + "text": "CO", + "boundingBoxes": [ + [ + 0.2605882352941176, + 0.3277272727272727, + 0.2817647058823529, + 0.3277272727272727, + 0.2811764705882353, + 0.3422727272727273, + 0.26, + 0.3422727272727273 + ] + ] + }, + { + "page": 1, + "text": "92848", + "boundingBoxes": [ + [ + 0.2852941176470588, + 0.3277272727272727, + 0.3341176470588235, + 0.3277272727272727, + 0.3341176470588235, + 0.34136363636363637, + 0.2847058823529412, + 0.3422727272727273 + ] + ] + } + ] + }, + { + "label": "CompanyPhoneNumber", + "key": null, + "value": [ + { + "page": 1, + "text": "938-294-2949", + "boundingBoxes": [ + [ + 0.4194117647058824, + 0.3281818181818182, + 0.52, + 0.3281818181818182, + 0.52, + 0.34045454545454545, + 0.4194117647058824, + 0.3409090909090909 + ] + ] + } + ] + }, + { + "label": "Quantity", + "key": null, + "value": [ + { + "page": 1, + "text": "20", + "boundingBoxes": [ + [ + 0.5064705882352941, + 0.4959090909090909, + 0.5252941176470588, + 0.495, + 0.5264705882352941, + 0.5081818181818182, + 0.5076470588235295, + 0.509090909090909 + ] + ] + } + ] + }, + { + "label": "Subtotal", + "key": null, + "value": [ + { + "page": 1, + "text": "$140.00", + "boundingBoxes": [ + [ + 0.8405882352941176, + 0.7145454545454546, + 0.9, + 0.7136363636363636, + 0.8994117647058824, + 0.7268181818181818, + 0.8405882352941176, + 0.7268181818181818 + ] + ] + } + ] + }, + { + "label": "Tax", + "key": null, + "value": [ + { + "page": 1, + "text": "$4.00", + "boundingBoxes": [ + [ + 0.8594117647058823, + 0.7340909090909091, + 0.9, + 0.7336363636363636, + 0.9, + 0.7459090909090909, + 0.8594117647058823, + 0.7463636363636363 + ] + ] + } + ] + }, + { + "label": "Signature", + "key": null, + "value": [ + { + "page": 1, + "text": "Bernie", + "boundingBoxes": [ + [ + 0.28411764705882353, + 0.76, + 0.3547058823529412, + 0.7595454545454545, + 0.35411764705882354, + 0.7759090909090909, + 0.28352941176470586, + 0.7759090909090909 + ] + ] + }, + { + "page": 1, + "text": "Sanders", + "boundingBoxes": [ + [ + 0.3611764705882353, + 0.7595454545454545, + 0.44941176470588234, + 0.759090909090909, + 0.44882352941176473, + 0.7768181818181819, + 0.36058823529411765, + 0.7763636363636364 + ] + ] + } + ] + }, + { + "label": "Total", + "key": null, + "value": [ + { + "page": 1, + "text": "$144.00", + "boundingBoxes": [ + [ + 0.8405882352941176, + 0.7595454545454545, + 0.8994117647058824, + 0.7586363636363637, + 0.9, + 0.7709090909090909, + 0.8405882352941176, + 0.7713636363636364 + ] + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_1.jpg.ocr.json b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_1.jpg.ocr.json new file mode 100644 index 000000000000..48ce7cd0920d --- /dev/null +++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_1.jpg.ocr.json @@ -0,0 +1,3243 @@ +{ + "status": "succeeded", + "createdDateTime": "2020-04-09T01:30:09Z", + "lastUpdatedDateTime": "2020-04-09T01:30:12Z", + "analyzeResult": { + "version": "2.0.0", + "readResults": [ + { + "page": 1, + "language": "en", + "angle": 0, + "width": 1700, + "height": 2200, + "unit": "pixel", + "lines": [ + { + "language": "en", + "boundingBox": [ + 137, + 140, + 351, + 140, + 351, + 167, + 137, + 166 + ], + "text": "Purchase Order", + "words": [ + { + "boundingBox": [ + 137, + 140, + 263, + 140, + 263, + 168, + 138, + 166 + ], + "text": "Purchase", + "confidence": 0.959 + }, + { + "boundingBox": [ + 271, + 140, + 351, + 140, + 351, + 168, + 272, + 168 + ], + "text": "Order", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 620, + 204, + 1073, + 201, + 1074, + 264, + 620, + 266 + ], + "text": "Hero Limited", + "words": [ + { + "boundingBox": [ + 622, + 207, + 788, + 204, + 787, + 266, + 621, + 266 + ], + "text": "Hero", + "confidence": 0.959 + }, + { + "boundingBox": [ + 811, + 204, + 1075, + 202, + 1075, + 266, + 811, + 266 + ], + "text": "Limited", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 165, + 351, + 529, + 350, + 530, + 377, + 165, + 379 + ], + "text": "Company Phone: 555-348-6512", + "words": [ + { + "boundingBox": [ + 167, + 352, + 275, + 351, + 275, + 379, + 167, + 379 + ], + "text": "Company", + "confidence": 0.959 + }, + { + "boundingBox": [ + 281, + 351, + 362, + 351, + 362, + 378, + 280, + 379 + ], + "text": "Phone:", + "confidence": 0.958 + }, + { + "boundingBox": [ + 367, + 351, + 529, + 352, + 529, + 374, + 367, + 378 + ], + "text": "555-348-6512", + "confidence": 0.946 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1114, + 320, + 1551, + 320, + 1551, + 370, + 1114, + 370 + ], + "text": "Purchase Order", + "words": [ + { + "boundingBox": [ + 1115, + 322, + 1377, + 320, + 1377, + 371, + 1117, + 371 + ], + "text": "Purchase", + "confidence": 0.959 + }, + { + "boundingBox": [ + 1396, + 321, + 1550, + 321, + 1549, + 371, + 1396, + 371 + ], + "text": "Order", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 167, + 392, + 534, + 392, + 534, + 419, + 167, + 418 + ], + "text": "Website: www.herolimited.com", + "words": [ + { + "boundingBox": [ + 168, + 392, + 270, + 393, + 269, + 419, + 167, + 418 + ], + "text": "Website:", + "confidence": 0.957 + }, + { + "boundingBox": [ + 275, + 393, + 528, + 393, + 529, + 418, + 274, + 419 + ], + "text": "www.herolimited.com", + "confidence": 0.872 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 164, + 437, + 236, + 437, + 236, + 459, + 164, + 459 + ], + "text": "Email:", + "words": [ + { + "boundingBox": [ + 165, + 437, + 236, + 437, + 237, + 460, + 165, + 459 + ], + "text": "Email:", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1025, + 420, + 1317, + 419, + 1317, + 449, + 1025, + 449 + ], + "text": "Dated As: 12/20/2020", + "words": [ + { + "boundingBox": [ + 1026, + 420, + 1112, + 421, + 1112, + 450, + 1025, + 449 + ], + "text": "Dated", + "confidence": 0.959 + }, + { + "boundingBox": [ + 1118, + 421, + 1163, + 421, + 1163, + 450, + 1117, + 450 + ], + "text": "As:", + "confidence": 0.957 + }, + { + "boundingBox": [ + 1169, + 421, + 1317, + 420, + 1317, + 450, + 1168, + 450 + ], + "text": "12/20/2020", + "confidence": 0.958 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 166, + 480, + 482, + 479, + 482, + 502, + 166, + 503 + ], + "text": "accounts@herolimited.com", + "words": [ + { + "boundingBox": [ + 166, + 484, + 475, + 480, + 473, + 503, + 166, + 503 + ], + "text": "accounts@herolimited.com", + "confidence": 0.856 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1025, + 461, + 1376, + 461, + 1376, + 488, + 1025, + 490 + ], + "text": "Purchase Order #: 948284", + "words": [ + { + "boundingBox": [ + 1027, + 463, + 1154, + 461, + 1153, + 490, + 1026, + 489 + ], + "text": "Purchase", + "confidence": 0.959 + }, + { + "boundingBox": [ + 1161, + 461, + 1241, + 461, + 1240, + 490, + 1160, + 490 + ], + "text": "Order", + "confidence": 0.959 + }, + { + "boundingBox": [ + 1246, + 461, + 1278, + 461, + 1277, + 489, + 1246, + 489 + ], + "text": "#:", + "confidence": 0.959 + }, + { + "boundingBox": [ + 1283, + 461, + 1377, + 462, + 1376, + 488, + 1282, + 489 + ], + "text": "948284", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 166, + 546, + 397, + 546, + 397, + 594, + 166, + 594 + ], + "text": "Shipped To", + "words": [ + { + "boundingBox": [ + 167, + 546, + 336, + 548, + 337, + 593, + 168, + 595 + ], + "text": "Shipped", + "confidence": 0.959 + }, + { + "boundingBox": [ + 346, + 548, + 396, + 548, + 397, + 593, + 347, + 593 + ], + "text": "To", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 160, + 608, + 518, + 608, + 518, + 640, + 160, + 640 + ], + "text": "Vendor Name: Hillary Swank", + "words": [ + { + "boundingBox": [ + 162, + 610, + 257, + 610, + 255, + 640, + 160, + 637 + ], + "text": "Vendor", + "confidence": 0.959 + }, + { + "boundingBox": [ + 262, + 610, + 347, + 610, + 346, + 641, + 261, + 640 + ], + "text": "Name:", + "confidence": 0.959 + }, + { + "boundingBox": [ + 352, + 610, + 434, + 609, + 433, + 641, + 351, + 641 + ], + "text": "Hillary", + "confidence": 0.959 + }, + { + "boundingBox": [ + 439, + 609, + 518, + 609, + 517, + 640, + 438, + 641 + ], + "text": "Swank", + "confidence": 0.954 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 160, + 648, + 628, + 645, + 629, + 680, + 160, + 682 + ], + "text": "Company Name: Higgly Wiggly Books", + "words": [ + { + "boundingBox": [ + 162, + 648, + 282, + 647, + 281, + 681, + 161, + 678 + ], + "text": "Company", + "confidence": 0.959 + }, + { + "boundingBox": [ + 288, + 647, + 373, + 647, + 372, + 682, + 287, + 682 + ], + "text": "Name:", + "confidence": 0.911 + }, + { + "boundingBox": [ + 379, + 647, + 456, + 647, + 455, + 682, + 378, + 682 + ], + "text": "Higgly", + "confidence": 0.959 + }, + { + "boundingBox": [ + 462, + 647, + 549, + 646, + 548, + 679, + 461, + 682 + ], + "text": "Wiggly", + "confidence": 0.959 + }, + { + "boundingBox": [ + 555, + 646, + 629, + 646, + 628, + 676, + 554, + 679 + ], + "text": "Books", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 161, + 684, + 526, + 684, + 526, + 712, + 161, + 712 + ], + "text": "Address: 938 NE Burner Road", + "words": [ + { + "boundingBox": [ + 162, + 685, + 271, + 685, + 271, + 713, + 162, + 712 + ], + "text": "Address:", + "confidence": 0.958 + }, + { + "boundingBox": [ + 277, + 685, + 324, + 685, + 324, + 713, + 277, + 713 + ], + "text": "938", + "confidence": 0.947 + }, + { + "boundingBox": [ + 330, + 685, + 365, + 685, + 365, + 713, + 329, + 713 + ], + "text": "NE", + "confidence": 0.958 + }, + { + "boundingBox": [ + 370, + 685, + 456, + 685, + 456, + 713, + 370, + 713 + ], + "text": "Burner", + "confidence": 0.958 + }, + { + "boundingBox": [ + 462, + 685, + 526, + 686, + 526, + 713, + 461, + 713 + ], + "text": "Road", + "confidence": 0.958 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 274, + 722, + 603, + 720, + 604, + 751, + 274, + 754 + ], + "text": "Boulder City, CO 92848", + "words": [ + { + "boundingBox": [ + 279, + 723, + 375, + 721, + 374, + 754, + 278, + 754 + ], + "text": "Boulder", + "confidence": 0.959 + }, + { + "boundingBox": [ + 381, + 721, + 437, + 721, + 436, + 753, + 380, + 754 + ], + "text": "City,", + "confidence": 0.959 + }, + { + "boundingBox": [ + 443, + 721, + 479, + 721, + 478, + 753, + 442, + 753 + ], + "text": "CO", + "confidence": 0.886 + }, + { + "boundingBox": [ + 485, + 721, + 568, + 721, + 568, + 751, + 484, + 753 + ], + "text": "92848", + "confidence": 0.937 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 612, + 721, + 884, + 721, + 884, + 749, + 612, + 749 + ], + "text": "Phone: 938-294-2949", + "words": [ + { + "boundingBox": [ + 614, + 722, + 707, + 722, + 707, + 750, + 614, + 750 + ], + "text": "Phone:", + "confidence": 0.952 + }, + { + "boundingBox": [ + 713, + 722, + 884, + 722, + 884, + 749, + 713, + 750 + ], + "text": "938-294-2949", + "confidence": 0.956 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 165, + 783, + 451, + 783, + 451, + 827, + 166, + 830 + ], + "text": "Shipped From", + "words": [ + { + "boundingBox": [ + 167, + 784, + 336, + 784, + 335, + 829, + 166, + 830 + ], + "text": "Shipped", + "confidence": 0.867 + }, + { + "boundingBox": [ + 345, + 784, + 441, + 783, + 440, + 825, + 344, + 829 + ], + "text": "From", + "confidence": 0.918 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 165, + 851, + 446, + 851, + 446, + 881, + 165, + 880 + ], + "text": "Name: Bernie Sanders", + "words": [ + { + "boundingBox": [ + 166, + 851, + 252, + 853, + 251, + 880, + 165, + 881 + ], + "text": "Name:", + "confidence": 0.956 + }, + { + "boundingBox": [ + 258, + 853, + 339, + 854, + 337, + 880, + 257, + 880 + ], + "text": "Bernie", + "confidence": 0.958 + }, + { + "boundingBox": [ + 345, + 854, + 447, + 853, + 445, + 881, + 343, + 880 + ], + "text": "Sanders", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 164, + 889, + 629, + 889, + 629, + 920, + 164, + 920 + ], + "text": "Company Name: Jupiter Book Supply", + "words": [ + { + "boundingBox": [ + 167, + 891, + 287, + 890, + 287, + 920, + 166, + 920 + ], + "text": "Company", + "confidence": 0.958 + }, + { + "boundingBox": [ + 293, + 890, + 376, + 890, + 375, + 921, + 292, + 920 + ], + "text": "Name:", + "confidence": 0.958 + }, + { + "boundingBox": [ + 382, + 890, + 470, + 890, + 469, + 921, + 381, + 921 + ], + "text": "Jupiter", + "confidence": 0.958 + }, + { + "boundingBox": [ + 476, + 890, + 540, + 890, + 539, + 921, + 475, + 921 + ], + "text": "Book", + "confidence": 0.959 + }, + { + "boundingBox": [ + 546, + 890, + 629, + 890, + 629, + 921, + 545, + 921 + ], + "text": "Supply", + "confidence": 0.947 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 164, + 926, + 520, + 926, + 520, + 953, + 164, + 953 + ], + "text": "Address: 383 N Kinnick Road", + "words": [ + { + "boundingBox": [ + 166, + 927, + 277, + 927, + 277, + 953, + 165, + 954 + ], + "text": "Address:", + "confidence": 0.958 + }, + { + "boundingBox": [ + 283, + 927, + 330, + 927, + 329, + 953, + 282, + 953 + ], + "text": "383", + "confidence": 0.958 + }, + { + "boundingBox": [ + 335, + 927, + 353, + 927, + 352, + 953, + 334, + 953 + ], + "text": "N", + "confidence": 0.888 + }, + { + "boundingBox": [ + 362, + 927, + 452, + 927, + 451, + 954, + 361, + 953 + ], + "text": "Kinnick", + "confidence": 0.958 + }, + { + "boundingBox": [ + 457, + 927, + 521, + 927, + 521, + 954, + 457, + 954 + ], + "text": "Road", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 280, + 964, + 516, + 964, + 516, + 991, + 280, + 991 + ], + "text": "Seattle, WA 38383", + "words": [ + { + "boundingBox": [ + 284, + 965, + 381, + 965, + 380, + 992, + 283, + 992 + ], + "text": "Seattle,", + "confidence": 0.959 + }, + { + "boundingBox": [ + 386, + 965, + 432, + 965, + 431, + 992, + 385, + 992 + ], + "text": "WA", + "confidence": 0.944 + }, + { + "boundingBox": [ + 438, + 965, + 516, + 964, + 515, + 991, + 437, + 992 + ], + "text": "38383", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 759, + 963, + 1036, + 963, + 1036, + 991, + 759, + 991 + ], + "text": "Phone: 932-299-0292", + "words": [ + { + "boundingBox": [ + 761, + 964, + 854, + 963, + 852, + 991, + 760, + 990 + ], + "text": "Phone:", + "confidence": 0.959 + }, + { + "boundingBox": [ + 859, + 963, + 1034, + 964, + 1032, + 991, + 857, + 991 + ], + "text": "932-299-0292", + "confidence": 0.953 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 447, + 1045, + 557, + 1045, + 557, + 1079, + 447, + 1079 + ], + "text": "Details", + "words": [ + { + "boundingBox": [ + 448, + 1048, + 555, + 1046, + 556, + 1080, + 449, + 1079 + ], + "text": "Details", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 889, + 1045, + 1030, + 1046, + 1030, + 1084, + 889, + 1084 + ], + "text": "Quantity", + "words": [ + { + "boundingBox": [ + 889, + 1046, + 1029, + 1046, + 1027, + 1084, + 890, + 1083 + ], + "text": "Quantity", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1114, + 1046, + 1271, + 1047, + 1271, + 1078, + 1114, + 1077 + ], + "text": "Unit Price", + "words": [ + { + "boundingBox": [ + 1114, + 1048, + 1184, + 1047, + 1184, + 1078, + 1114, + 1078 + ], + "text": "Unit", + "confidence": 0.959 + }, + { + "boundingBox": [ + 1190, + 1047, + 1271, + 1047, + 1271, + 1079, + 1190, + 1078 + ], + "text": "Price", + "confidence": 0.958 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1384, + 1047, + 1469, + 1046, + 1470, + 1076, + 1385, + 1077 + ], + "text": "Total", + "words": [ + { + "boundingBox": [ + 1387, + 1047, + 1470, + 1046, + 1470, + 1076, + 1387, + 1077 + ], + "text": "Total", + "confidence": 0.858 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 172, + 1094, + 280, + 1096, + 279, + 1124, + 172, + 1121 + ], + "text": "Bindings", + "words": [ + { + "boundingBox": [ + 172, + 1094, + 278, + 1097, + 278, + 1124, + 172, + 1121 + ], + "text": "Bindings", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 859, + 1091, + 894, + 1089, + 895, + 1118, + 860, + 1120 + ], + "text": "20", + "words": [ + { + "boundingBox": [ + 861, + 1091, + 893, + 1089, + 895, + 1118, + 863, + 1120 + ], + "text": "20", + "confidence": 0.958 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1241, + 1095, + 1296, + 1094, + 1296, + 1118, + 1241, + 1118 + ], + "text": "1.00", + "words": [ + { + "boundingBox": [ + 1242, + 1094, + 1295, + 1094, + 1295, + 1118, + 1242, + 1118 + ], + "text": "1.00", + "confidence": 0.958 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1459, + 1095, + 1531, + 1093, + 1531, + 1118, + 1459, + 1119 + ], + "text": "20.00", + "words": [ + { + "boundingBox": [ + 1459, + 1094, + 1530, + 1093, + 1531, + 1118, + 1460, + 1119 + ], + "text": "20.00", + "confidence": 0.957 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 169, + 1135, + 329, + 1134, + 329, + 1162, + 169, + 1163 + ], + "text": "Covers Small", + "words": [ + { + "boundingBox": [ + 173, + 1135, + 257, + 1135, + 256, + 1163, + 172, + 1163 + ], + "text": "Covers", + "confidence": 0.959 + }, + { + "boundingBox": [ + 262, + 1135, + 329, + 1134, + 328, + 1163, + 262, + 1163 + ], + "text": "Small", + "confidence": 0.958 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 860, + 1137, + 893, + 1135, + 893, + 1158, + 861, + 1160 + ], + "text": "20", + "words": [ + { + "boundingBox": [ + 862, + 1137, + 892, + 1135, + 893, + 1158, + 863, + 1160 + ], + "text": "20", + "confidence": 0.958 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1239, + 1136, + 1294, + 1135, + 1294, + 1159, + 1239, + 1159 + ], + "text": "1.00", + "words": [ + { + "boundingBox": [ + 1243, + 1135, + 1293, + 1135, + 1293, + 1159, + 1243, + 1159 + ], + "text": "1.00", + "confidence": 0.908 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1457, + 1136, + 1532, + 1135, + 1532, + 1159, + 1457, + 1160 + ], + "text": "20.00", + "words": [ + { + "boundingBox": [ + 1459, + 1136, + 1529, + 1135, + 1530, + 1160, + 1459, + 1160 + ], + "text": "20.00", + "confidence": 0.958 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 170, + 1179, + 400, + 1178, + 400, + 1205, + 170, + 1206 + ], + "text": "Feather Bookmark", + "words": [ + { + "boundingBox": [ + 172, + 1180, + 271, + 1180, + 270, + 1206, + 171, + 1206 + ], + "text": "Feather", + "confidence": 0.959 + }, + { + "boundingBox": [ + 276, + 1180, + 401, + 1179, + 400, + 1206, + 275, + 1206 + ], + "text": "Bookmark", + "confidence": 0.949 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 863, + 1181, + 893, + 1180, + 893, + 1202, + 863, + 1203 + ], + "text": "20", + "words": [ + { + "boundingBox": [ + 863, + 1181, + 892, + 1180, + 892, + 1202, + 863, + 1203 + ], + "text": "20", + "confidence": 0.958 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1239, + 1179, + 1295, + 1179, + 1295, + 1202, + 1239, + 1202 + ], + "text": "5,00", + "words": [ + { + "boundingBox": [ + 1241, + 1179, + 1294, + 1179, + 1294, + 1202, + 1241, + 1202 + ], + "text": "5,00", + "confidence": 0.423 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1443, + 1180, + 1531, + 1179, + 1532, + 1203, + 1443, + 1204 + ], + "text": "100.00", + "words": [ + { + "boundingBox": [ + 1446, + 1181, + 1530, + 1180, + 1529, + 1203, + 1446, + 1204 + ], + "text": "100.00", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 168, + 1222, + 429, + 1221, + 429, + 1250, + 168, + 1252 + ], + "text": "Copper Swirl Marker", + "words": [ + { + "boundingBox": [ + 173, + 1223, + 263, + 1222, + 263, + 1252, + 172, + 1253 + ], + "text": "Copper", + "confidence": 0.959 + }, + { + "boundingBox": [ + 269, + 1222, + 332, + 1222, + 332, + 1251, + 269, + 1252 + ], + "text": "Swirl", + "confidence": 0.954 + }, + { + "boundingBox": [ + 338, + 1222, + 430, + 1222, + 430, + 1249, + 338, + 1251 + ], + "text": "Marker", + "confidence": 0.956 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 861, + 1223, + 893, + 1222, + 893, + 1246, + 861, + 1248 + ], + "text": "20", + "words": [ + { + "boundingBox": [ + 861, + 1223, + 892, + 1222, + 893, + 1246, + 862, + 1247 + ], + "text": "20", + "confidence": 0.958 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1240, + 1222, + 1295, + 1223, + 1295, + 1246, + 1240, + 1245 + ], + "text": "5,00", + "words": [ + { + "boundingBox": [ + 1241, + 1222, + 1294, + 1223, + 1293, + 1246, + 1240, + 1245 + ], + "text": "5,00", + "confidence": 0.424 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1443, + 1222, + 1531, + 1222, + 1531, + 1247, + 1443, + 1247 + ], + "text": "100.00", + "words": [ + { + "boundingBox": [ + 1445, + 1223, + 1529, + 1222, + 1529, + 1248, + 1444, + 1248 + ], + "text": "100.00", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1148, + 1574, + 1296, + 1574, + 1296, + 1599, + 1148, + 1599 + ], + "text": "SUBTOTAL", + "words": [ + { + "boundingBox": [ + 1149, + 1574, + 1295, + 1575, + 1295, + 1600, + 1149, + 1600 + ], + "text": "SUBTOTAL", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1428, + 1571, + 1530, + 1570, + 1531, + 1598, + 1428, + 1599 + ], + "text": "$140.00", + "words": [ + { + "boundingBox": [ + 1429, + 1572, + 1530, + 1570, + 1529, + 1599, + 1429, + 1599 + ], + "text": "$140.00", + "confidence": 0.957 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1238, + 1619, + 1295, + 1618, + 1295, + 1642, + 1237, + 1642 + ], + "text": "TAX", + "words": [ + { + "boundingBox": [ + 1241, + 1618, + 1294, + 1618, + 1294, + 1641, + 1241, + 1642 + ], + "text": "TAX", + "confidence": 0.958 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1460, + 1616, + 1531, + 1614, + 1531, + 1641, + 1460, + 1641 + ], + "text": "$4.00", + "words": [ + { + "boundingBox": [ + 1461, + 1615, + 1530, + 1614, + 1530, + 1641, + 1461, + 1642 + ], + "text": "$4.00", + "confidence": 0.939 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 481, + 1670, + 764, + 1670, + 764, + 1708, + 481, + 1708 + ], + "text": "Bernie Sanders", + "words": [ + { + "boundingBox": [ + 483, + 1672, + 603, + 1671, + 602, + 1707, + 482, + 1707 + ], + "text": "Bernie", + "confidence": 0.909 + }, + { + "boundingBox": [ + 614, + 1671, + 764, + 1670, + 763, + 1709, + 613, + 1708 + ], + "text": "Sanders", + "confidence": 0.958 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1204, + 1672, + 1296, + 1672, + 1296, + 1699, + 1204, + 1699 + ], + "text": "TOTAL", + "words": [ + { + "boundingBox": [ + 1207, + 1674, + 1295, + 1672, + 1296, + 1700, + 1207, + 1699 + ], + "text": "TOTAL", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 1426, + 1670, + 1530, + 1669, + 1530, + 1695, + 1426, + 1697 + ], + "text": "$144.00", + "words": [ + { + "boundingBox": [ + 1429, + 1671, + 1529, + 1669, + 1530, + 1696, + 1429, + 1697 + ], + "text": "$144.00", + "confidence": 0.949 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 543, + 1718, + 716, + 1719, + 716, + 1743, + 543, + 1742 + ], + "text": "Bernie Sanders", + "words": [ + { + "boundingBox": [ + 544, + 1719, + 621, + 1719, + 621, + 1743, + 544, + 1743 + ], + "text": "Bernie", + "confidence": 0.959 + }, + { + "boundingBox": [ + 626, + 1719, + 717, + 1720, + 716, + 1744, + 626, + 1743 + ], + "text": "Sanders", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 581, + 1754, + 681, + 1756, + 680, + 1777, + 581, + 1776 + ], + "text": "Manager", + "words": [ + { + "boundingBox": [ + 582, + 1755, + 681, + 1756, + 680, + 1778, + 581, + 1776 + ], + "text": "Manager", + "confidence": 0.957 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 173, + 1796, + 480, + 1797, + 480, + 1832, + 173, + 1830 + ], + "text": "Additional Notes:", + "words": [ + { + "boundingBox": [ + 175, + 1798, + 360, + 1797, + 360, + 1833, + 174, + 1830 + ], + "text": "Additional", + "confidence": 0.959 + }, + { + "boundingBox": [ + 366, + 1797, + 481, + 1800, + 481, + 1832, + 366, + 1833 + ], + "text": "Notes:", + "confidence": 0.944 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 173, + 1879, + 705, + 1880, + 705, + 1912, + 173, + 1910 + ], + "text": "Do not Jostle Box. Unpack carefully. Enjoy.", + "words": [ + { + "boundingBox": [ + 176, + 1883, + 209, + 1882, + 208, + 1907, + 174, + 1906 + ], + "text": "Do", + "confidence": 0.959 + }, + { + "boundingBox": [ + 215, + 1882, + 261, + 1881, + 260, + 1908, + 214, + 1907 + ], + "text": "not", + "confidence": 0.951 + }, + { + "boundingBox": [ + 266, + 1881, + 336, + 1881, + 335, + 1909, + 265, + 1908 + ], + "text": "Jostle", + "confidence": 0.958 + }, + { + "boundingBox": [ + 342, + 1881, + 403, + 1880, + 402, + 1910, + 341, + 1909 + ], + "text": "Box.", + "confidence": 0.892 + }, + { + "boundingBox": [ + 410, + 1880, + 504, + 1880, + 503, + 1912, + 408, + 1911 + ], + "text": "Unpack", + "confidence": 0.959 + }, + { + "boundingBox": [ + 510, + 1880, + 628, + 1880, + 627, + 1913, + 509, + 1912 + ], + "text": "carefully.", + "confidence": 0.958 + }, + { + "boundingBox": [ + 633, + 1880, + 705, + 1881, + 704, + 1913, + 632, + 1913 + ], + "text": "Enjoy.", + "confidence": 0.959 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 172, + 1923, + 1508, + 1924, + 1508, + 1959, + 172, + 1959 + ], + "text": "Jupiter Book Supply will refund you 50% per book if returned within 60 days of reading and", + "words": [ + { + "boundingBox": [ + 172, + 1925, + 273, + 1925, + 273, + 1959, + 172, + 1959 + ], + "text": "Jupiter", + "confidence": 0.955 + }, + { + "boundingBox": [ + 280, + 1924, + 359, + 1924, + 359, + 1959, + 280, + 1959 + ], + "text": "Book", + "confidence": 0.959 + }, + { + "boundingBox": [ + 366, + 1924, + 468, + 1924, + 467, + 1959, + 366, + 1959 + ], + "text": "Supply", + "confidence": 0.959 + }, + { + "boundingBox": [ + 474, + 1924, + 522, + 1924, + 521, + 1959, + 474, + 1959 + ], + "text": "will", + "confidence": 0.959 + }, + { + "boundingBox": [ + 529, + 1924, + 628, + 1924, + 628, + 1959, + 528, + 1959 + ], + "text": "refund", + "confidence": 0.958 + }, + { + "boundingBox": [ + 635, + 1924, + 692, + 1924, + 691, + 1959, + 634, + 1959 + ], + "text": "you", + "confidence": 0.958 + }, + { + "boundingBox": [ + 698, + 1924, + 762, + 1924, + 761, + 1959, + 698, + 1959 + ], + "text": "50%", + "confidence": 0.955 + }, + { + "boundingBox": [ + 773, + 1924, + 823, + 1924, + 822, + 1959, + 772, + 1959 + ], + "text": "per", + "confidence": 0.958 + }, + { + "boundingBox": [ + 830, + 1924, + 904, + 1924, + 903, + 1959, + 829, + 1959 + ], + "text": "book", + "confidence": 0.959 + }, + { + "boundingBox": [ + 911, + 1924, + 932, + 1924, + 931, + 1959, + 910, + 1959 + ], + "text": "if", + "confidence": 0.909 + }, + { + "boundingBox": [ + 938, + 1924, + 1065, + 1924, + 1064, + 1959, + 937, + 1959 + ], + "text": "returned", + "confidence": 0.959 + }, + { + "boundingBox": [ + 1072, + 1924, + 1160, + 1924, + 1159, + 1959, + 1071, + 1959 + ], + "text": "within", + "confidence": 0.959 + }, + { + "boundingBox": [ + 1167, + 1924, + 1208, + 1924, + 1206, + 1960, + 1166, + 1959 + ], + "text": "60", + "confidence": 0.929 + }, + { + "boundingBox": [ + 1215, + 1924, + 1287, + 1924, + 1285, + 1960, + 1213, + 1960 + ], + "text": "days", + "confidence": 0.959 + }, + { + "boundingBox": [ + 1294, + 1924, + 1323, + 1924, + 1322, + 1960, + 1292, + 1960 + ], + "text": "of", + "confidence": 0.958 + }, + { + "boundingBox": [ + 1330, + 1924, + 1443, + 1924, + 1441, + 1960, + 1328, + 1960 + ], + "text": "reading", + "confidence": 0.959 + }, + { + "boundingBox": [ + 1450, + 1924, + 1508, + 1924, + 1506, + 1960, + 1448, + 1960 + ], + "text": "and", + "confidence": 0.958 + } + ] + }, + { + "language": "en", + "boundingBox": [ + 169, + 1957, + 786, + 1957, + 786, + 1993, + 169, + 1993 + ], + "text": "offer you 25% off you next total purchase.", + "words": [ + { + "boundingBox": [ + 171, + 1959, + 239, + 1958, + 238, + 1992, + 170, + 1991 + ], + "text": "offer", + "confidence": 0.959 + }, + { + "boundingBox": [ + 245, + 1958, + 302, + 1958, + 300, + 1993, + 244, + 1992 + ], + "text": "you", + "confidence": 0.959 + }, + { + "boundingBox": [ + 308, + 1958, + 371, + 1958, + 369, + 1994, + 307, + 1993 + ], + "text": "25%", + "confidence": 0.934 + }, + { + "boundingBox": [ + 385, + 1958, + 425, + 1958, + 424, + 1994, + 384, + 1994 + ], + "text": "off", + "confidence": 0.958 + }, + { + "boundingBox": [ + 431, + 1958, + 488, + 1958, + 487, + 1994, + 430, + 1994 + ], + "text": "you", + "confidence": 0.959 + }, + { + "boundingBox": [ + 494, + 1958, + 559, + 1958, + 558, + 1994, + 493, + 1994 + ], + "text": "next", + "confidence": 0.959 + }, + { + "boundingBox": [ + 565, + 1958, + 632, + 1959, + 631, + 1993, + 564, + 1994 + ], + "text": "total", + "confidence": 0.959 + }, + { + "boundingBox": [ + 638, + 1959, + 785, + 1960, + 785, + 1990, + 637, + 1993 + ], + "text": "purchase.", + "confidence": 0.959 + } + ] + } + ] + } + ], + "pageResults": [ + { + "page": 1, + "tables": [ + { + "rows": 4, + "columns": 3, + "cells": [ + { + "rowIndex": 1, + "columnIndex": 1, + "text": "SUBTOTAL", + "boundingBox": [ + 1072, + 1566, + 1309, + 1566, + 1309, + 1610, + 1072, + 1610 + ], + "elements": [ + "#/readResults/0/lines/41/words/0" + ] + }, + { + "rowIndex": 1, + "columnIndex": 2, + "text": "$140.00", + "boundingBox": [ + 1309, + 1566, + 1544, + 1566, + 1544, + 1610, + 1309, + 1610 + ], + "elements": [ + "#/readResults/0/lines/42/words/0" + ] + }, + { + "rowIndex": 2, + "columnIndex": 1, + "text": "TAX", + "boundingBox": [ + 1072, + 1610, + 1309, + 1610, + 1309, + 1658, + 1072, + 1658 + ], + "elements": [ + "#/readResults/0/lines/43/words/0" + ] + }, + { + "rowIndex": 2, + "columnIndex": 2, + "text": "$4.00", + "boundingBox": [ + 1309, + 1610, + 1544, + 1610, + 1544, + 1658, + 1309, + 1658 + ], + "elements": [ + "#/readResults/0/lines/44/words/0" + ] + }, + { + "rowIndex": 3, + "columnIndex": 0, + "text": "Bernie Sanders", + "boundingBox": [ + 482, + 1658, + 1072, + 1658, + 1072, + 1708, + 482, + 1708 + ], + "elements": [ + "#/readResults/0/lines/45/words/0", + "#/readResults/0/lines/45/words/1" + ] + }, + { + "rowIndex": 3, + "columnIndex": 1, + "text": "TOTAL", + "boundingBox": [ + 1072, + 1658, + 1309, + 1658, + 1309, + 1708, + 1072, + 1708 + ], + "elements": [ + "#/readResults/0/lines/46/words/0" + ] + }, + { + "rowIndex": 3, + "columnIndex": 2, + "text": "$144.00", + "boundingBox": [ + 1309, + 1658, + 1544, + 1658, + 1544, + 1708, + 1309, + 1708 + ], + "elements": [ + "#/readResults/0/lines/47/words/0" + ] + } + ] + }, + { + "rows": 6, + "columns": 4, + "cells": [ + { + "rowIndex": 0, + "columnIndex": 0, + "text": "Details", + "boundingBox": [ + 156, + 1038, + 847, + 1038, + 847, + 1087, + 156, + 1087 + ], + "elements": [ + "#/readResults/0/lines/21/words/0" + ] + }, + { + "rowIndex": 0, + "columnIndex": 1, + "text": "Quantity", + "boundingBox": [ + 847, + 1038, + 1072, + 1038, + 1072, + 1087, + 847, + 1087 + ], + "elements": [ + "#/readResults/0/lines/22/words/0" + ] + }, + { + "rowIndex": 0, + "columnIndex": 2, + "text": "Unit Price", + "boundingBox": [ + 1072, + 1038, + 1309, + 1038, + 1309, + 1087, + 1072, + 1087 + ], + "elements": [ + "#/readResults/0/lines/23/words/0", + "#/readResults/0/lines/23/words/1" + ] + }, + { + "rowIndex": 0, + "columnIndex": 3, + "text": "Total", + "boundingBox": [ + 1309, + 1038, + 1544, + 1038, + 1544, + 1087, + 1309, + 1087 + ], + "elements": [ + "#/readResults/0/lines/24/words/0" + ] + }, + { + "rowIndex": 1, + "columnIndex": 0, + "text": "Bindings", + "boundingBox": [ + 156, + 1087, + 847, + 1087, + 847, + 1128, + 156, + 1128 + ], + "elements": [ + "#/readResults/0/lines/25/words/0" + ] + }, + { + "rowIndex": 1, + "columnIndex": 1, + "text": "20", + "boundingBox": [ + 847, + 1087, + 1072, + 1087, + 1072, + 1128, + 847, + 1128 + ], + "elements": [ + "#/readResults/0/lines/26/words/0" + ] + }, + { + "rowIndex": 1, + "columnIndex": 2, + "text": "1.00", + "boundingBox": [ + 1072, + 1087, + 1309, + 1087, + 1309, + 1128, + 1072, + 1128 + ], + "elements": [ + "#/readResults/0/lines/27/words/0" + ] + }, + { + "rowIndex": 1, + "columnIndex": 3, + "text": "20.00", + "boundingBox": [ + 1309, + 1087, + 1544, + 1087, + 1544, + 1128, + 1309, + 1128 + ], + "elements": [ + "#/readResults/0/lines/28/words/0" + ] + }, + { + "rowIndex": 2, + "columnIndex": 0, + "text": "Covers Small", + "boundingBox": [ + 156, + 1128, + 847, + 1128, + 847, + 1172, + 156, + 1172 + ], + "elements": [ + "#/readResults/0/lines/29/words/0", + "#/readResults/0/lines/29/words/1" + ] + }, + { + "rowIndex": 2, + "columnIndex": 1, + "text": "20", + "boundingBox": [ + 847, + 1128, + 1072, + 1128, + 1072, + 1172, + 847, + 1172 + ], + "elements": [ + "#/readResults/0/lines/30/words/0" + ] + }, + { + "rowIndex": 2, + "columnIndex": 2, + "text": "1.00", + "boundingBox": [ + 1072, + 1128, + 1309, + 1128, + 1309, + 1172, + 1072, + 1172 + ], + "elements": [ + "#/readResults/0/lines/31/words/0" + ] + }, + { + "rowIndex": 2, + "columnIndex": 3, + "text": "20.00", + "boundingBox": [ + 1309, + 1128, + 1544, + 1128, + 1544, + 1172, + 1309, + 1172 + ], + "elements": [ + "#/readResults/0/lines/32/words/0" + ] + }, + { + "rowIndex": 3, + "columnIndex": 0, + "text": "Feather Bookmark", + "boundingBox": [ + 156, + 1172, + 847, + 1172, + 847, + 1216, + 156, + 1216 + ], + "elements": [ + "#/readResults/0/lines/33/words/0", + "#/readResults/0/lines/33/words/1" + ] + }, + { + "rowIndex": 3, + "columnIndex": 1, + "text": "20", + "boundingBox": [ + 847, + 1172, + 1072, + 1172, + 1072, + 1216, + 847, + 1216 + ], + "elements": [ + "#/readResults/0/lines/34/words/0" + ] + }, + { + "rowIndex": 3, + "columnIndex": 2, + "text": "5,00", + "boundingBox": [ + 1072, + 1172, + 1309, + 1172, + 1309, + 1216, + 1072, + 1216 + ], + "elements": [ + "#/readResults/0/lines/35/words/0" + ] + }, + { + "rowIndex": 3, + "columnIndex": 3, + "text": "100.00", + "boundingBox": [ + 1309, + 1172, + 1544, + 1172, + 1544, + 1216, + 1309, + 1216 + ], + "elements": [ + "#/readResults/0/lines/36/words/0" + ] + }, + { + "rowIndex": 4, + "columnIndex": 0, + "text": "Copper Swirl Marker", + "boundingBox": [ + 156, + 1216, + 847, + 1216, + 847, + 1260, + 156, + 1260 + ], + "elements": [ + "#/readResults/0/lines/37/words/0", + "#/readResults/0/lines/37/words/1", + "#/readResults/0/lines/37/words/2" + ] + }, + { + "rowIndex": 4, + "columnIndex": 1, + "text": "20", + "boundingBox": [ + 847, + 1216, + 1072, + 1216, + 1072, + 1260, + 847, + 1260 + ], + "elements": [ + "#/readResults/0/lines/38/words/0" + ] + }, + { + "rowIndex": 4, + "columnIndex": 2, + "text": "5,00", + "boundingBox": [ + 1072, + 1216, + 1309, + 1216, + 1309, + 1260, + 1072, + 1260 + ], + "elements": [ + "#/readResults/0/lines/39/words/0" + ] + }, + { + "rowIndex": 4, + "columnIndex": 3, + "text": "100.00", + "boundingBox": [ + 1309, + 1216, + 1544, + 1216, + 1544, + 1260, + 1309, + 1260 + ], + "elements": [ + "#/readResults/0/lines/40/words/0" + ] + } + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_2.jpg b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/training/Form_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..afebb5077ce547bff92d01abb056459e773aa974 GIT binary patch literal 509903 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 &5NT3#p$U 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%0AL3hFx+99Z^J^Q0p+hzx1&DT0 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

    EYWROu$#3b%FBMo`VT00UfuDJ)8Z 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
    4r+ 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
    tvXFT(_Mri%;ts7)#;`Awg&wiZ;JNBF z`6=O3EzEz0U82S8H?-Tq6?|9V(z?K|@$2e4d>IX~2+LK^DBsb3%RO`sx6u*)OMZz} zQy;J5P5cx-8iv_f8b-f=kB+e|teeiU5mw2bV`XeNeaL4j4Qww}*{8Y6(%33?n-Bs0 zKy9aQ(nEi&g09icvDej1_4~M=VssokdY=Bu-lS2c*|%`JDY%VVaLXJ*zwaY)>wN>~ zY&XthE^d&mj`yjLIq;cO=2))oqTBQ@x~W}6M^)n{{ba0DeOxDJw(L{(i}p_YDY}Zeqs+@j*&8?!G0do< z_wer}`ZMdnIeg;bd4Ab%tepnvQZ z9T~LIALvuM$6VN(T)gf)j(E!vdx*C3uyUFFEDsN}50FV29+>e=y0OX&sNN}@=gT-7 zw{cH2)7$hB<18B)wZXp&>(rvon_&Gj?BI*+ElApNYZuXH$a^v?=g+{O4=WwVtu=s{ zuF>C7ZCl3W#k~+0nbolLW- zLc75@dB;}U<-Ak5jAx7u`5Sn8<U$k(+W2Ij$@fH_7I{zz$ z1@nx#9(~RuvuEY!<>qA1oH2dc)G6+)$(b3G($ic{ho&l=kvC}6M0Be#VyT73%9SNz zY_veok|Ky$c=@(!CfZnfM4IUnEq$>3)&rKlxTSC0lDYLNsw(m7K|{9&1BM=B8|p*g z4+o5}ZjDI(Ny#6Pd?t902NU#Q&gOt_v4|eDYIbZkgOLE1i%v@S8~%>;5-&y5CxM*= z&dN5nMOpT8CK;X`tc-GUWg;jm&j9o@P5z}2MvMJxR^@^oW5@?jt;-Xolq~9RHu?o;fYJ zxzb`YAENGv>uVc~+WHM4J!nP}wXJQOFpBHT$8`zLn&uBF`8>h#d_`)}l+EMDVi3x( z)B^l>$fj<$6f~t2FulfdM^?uFhSNQsFP#%}x>6>^?Av0NBwtKRL}^tPPaH3uFrE-y zhN&Q4wUE~~ZZOUC3A!3wK&Dw^=rv}C->S`FQ8nEm_=KVxnSMv@yEvoH4KTQ!Hm zNMbXqM6+_LjvDMhebmPeG;9d zhCaW*UD7_k-$%4ZYE>zap0RL=cr^i>M8^)6_HN3my6ehy$tU*d8&&d4 z>`!}#^G8QNzwaj3cG#u?EdEM^Y0Jk}liy9Fqocdrl#q}ArW|)9M7$z_UWzGKX`9+j zQ-K=iYzk}d(gyYkHAA-r@GG(G0_zoIqSw(~GKAtUhjA)g8VFN>H#3*o<8?Y2k27h&yH(C-Ib2ilm3 zH%Ia}#2lHc$nl`yQJ?1_KMJe`dVr0nkC^`$=FP$QF!)J`D-ARQn5+`bg-sRScP-Eo z`1dFBCYd+#7|#ju%b5N*)`|F1ftW;IH-SOm_bIVGh{F@mjW?r3a{olmnZQy$NY$vz zn8-^Tw(kj`^FBgemjDg#)C*i>_ae>}S|6Rjcp*?F(M?P}MNcXJz#jC`F2`~D3FO2V z0RN-{ev9%P1yqLmg|Pm5paW~ZBm1FU#9-e7oudv@9@dHgUGRM+Stn5&j8|e`L$Li^ zoCwr)FVKk^oB+0q_~5@()ExVMk2Q_G3ES)NQ!4QcP=H z1N12Nat-F5e1M)1a1OC9_Jem5HVvcAPmS4R~CrD1Y#jTZ6cO*GbaoKE5XtnM;9YxLnB~9cG=tK-1q%1&+oD< zp#9UE`OLZZzWd|c`#txZbFT#N^<=qBrhF`U$XfRExZa6Wb)pA!j3n*Pz+AXF{e?tn zdTL@^A+!};B%%)d8LEsObHKTfrhPX7D& zM%MCPCq97AkNj$u9evE^;OJ(=aPK%z=9_0W%ePIHEJgPg{`O3}`I?MSpJ--MrX8QI|9{3`>i#b>CuOF|qr4ee zCRYb3nHjvOW9)v{b~y8&wk0RX6WCq8Ss*`6?v!!*t#lt=FS}2_J$JrsdakS`UFw4# ztIb*VT*)5yI$7rINyk2G&+7hC{pGr(&;GOz=$PbM=@_2JDt8u@?u=GC8|Ex@&fuWS zHzfI2`u{{`r*mX=`X>C-X=$6nm$l56MYHVzblq9dUA36KqYOQ~k zJ5RlY=dnJKq5^c~6^qHEJW+T|x2rwZ*K^}eJkB{x;b`t(s9T>i(p{@>Aexs>2b z2BoXzsi33ukW2d6tr?jh!L$dMV>Ysn_n^Ft79Qn<-UahB?p~P;@;6D2nN0q0Oy+s{ zGT$G8-5n=p_%d7Trkiy2kIQiXjEg_>lR47I^=nNWKPsclc*a-CB=d|+@-5|DScyF{ zF1br4Bp)Epx{rB6yxxpyCZmEyl=Hdk^mA*Rv0qlqBU0eTW#M#AaF%{Rn$d zeJN+_tGd?f8R~c;{oFovUdFjTf0IF+(_7FvBkM+ci=`aadvB75SIV5kD!ZFQ9v0)y z?7EqgD1lL6%p6&V?2bGJhhPotfe%bCd6c;;k!hcd#kc8UcPsu($x(uP3)2T67Sfv`13%?)TOOE&vlFozZ2~xu08hsu$A6==JED;J^o#rsx$ADY$7{| zNEJw-V&0}d#OuU^LM2ce>(;Pdziwj`OHa;em?=h=s)qHTrQ|E#bn2!2e?)Fl>g&al zr)Xb=v+bmC*1Hw2N^Vg6BK|9K{Rb#n=Q>W$)vwgCZoK9qc?I*ebLXa=O>ZH+GP#KE*rh z6PTGE)>e8#VXnVOGW;2rwu%0}KFmnzZmA^5t>Ing)%hPY%Iea|Lj{H+mv z|E6U0mS`Zub0Fv2r)0f-F8aoaB;WI+kW=uXSzynRQ>I)VO)l$lZp|M<>GJJEE}u-e zoHCT0r|QvMb7#$8k!##L?^X19Snfivu}-fjZe;mZubVswtwZp8ayxzgj6VOu_p~6s zo+h_ks<;pHEC1xl(Ay$c)WrSUwVsd`g+ z?&a3wc}G@#r*e`1T|J(cMD;ig{%>e|nS7=#_bnoJ?=Bba>0mR>z7gHmNQd}6uD@?# zJ@}yvfuWI1Y?iM0kvw<|c&pk@NMfM6Y38uqicg=I%oQ&+Lmt=I2`R=t$=C&y+aX(|K9p6=vyJgfGzO${ ziGwF)OfX0~(6&h9FifKF1Dx#y?_KGDpTC~}azoiYc!+g~S3#bOF;~&n+6enPEd5}- z=`A-yU;g_d+~c2R?hS72BJVcY;n&CxvrWb_->#f3vZC2uS&?Qx&Bn^w)aPWanIX$_ z`bjD8w^HiMG+sqOl~*zC8r`!iDJhB5w|^)Y{}e1&;>Q10f=cAeZ}^4xl> zT&yN$Cz~@*bEmsIO^uvzcqye>11+ zGSIV|j*a#Xc^H4jorEJC9%X-d4@8ID85L6Av4GKNa7!Ium6fn=e$bc zd$5B2oK&=*>$_F%54lnV92|%C!57e@v3`x|(O7$z zIJ9^96!d6p-cE67?{pFUhR30O_+{wP*g4-AhxQvUqQ{6hw2z4Efqx>F*S)|S^%r5> zpM~6sybU=GeomQpubmv$Uk>|y>pc3i*M|&&`{_eGw*Q1RF#0^YmTi?86Rl&XQvNsc zj?7v*wyq+xwj*4#ZeytHFOkn@)m3-auB*zd=hjA#y4{&P#;&H%uc-GA*WHxSyY4#V zcf<80vqv{>(|Ih{&*I0={g?G}fz7fyy?s;#AqXoSg^F9stcn$#iZG!|Ly>W9 z%M2ZChT(8oG_rx0xrEE0uyW19%CI;)d!GN%u}$qjeQ$f1=S@yCJ?7?ebKLJq?ujN3E^^;% zI^u#n&pq)*;$g1l>U4_B8dhVijk$BAZ$_?~Z{uOJ{6^zlh&TQ})^l;5F^-?0yS5;qr1k@n#qMX%7d=3Uhs-aeVESgp}ubMw(eKeDL&&de?9vR-= zC)&z8BIkv#N^!7A&a-oUpWGV0$-MrAHFTEzP#cYq{=qiJRWHBwpQo*Q862D^c~(0# z+O}hxwDACX=7?-yPYlS`HHnUD*EcV-C(r`zeYo+c)!dmeerq%IhMo7|5t-)ySg!Ps zIenOA6Q80+sSg|N9++YE*C?40-9c`BP|CucQW}(^)5l3^dVma$?vp&#XVGl-rs_3v zbU0Wp3N{F5+>`=4+uQ`(;`@SO*OaS-h`w|K+>+8O(BZ_-2;7 z=TgV4xQ_n!GF>IQ?^};PHS>H zR`q*1^S**JH=!$Z-zj0MX$f01Ein?j7s=6`5Ef9cKqPv|v_ubeSiLKDMYxLpts=h+ zGA-#rnO6EL?k);uJM4re_z)h21~137csca5#5QKTO6&->-+EzjZu!j!V~a;?k$f!pwN$lezNyLtHYJ`EGpqavp*VV4(K`X9y6aP zs--%cpXi6?753nPXdQMB|GCNDkyLxV#aYeO_^!CvSJ>kv@)xmy=fRrm(+{(^h4}Nd z%sy4~nW-)YZ>Aj~Ui1kcl?ty-riEL%+n!BKdd(bE=xecKmt#$={me7)w|JiI`#)yl zT`UC(&sWEJ($qV>tvdGBn6^Xl`wqX7*z2Q&x$6pJ`vL3S%j%c)__kj1(LA-P7i^B` zCFTA+S&63Xsrp0pf;|g!WjMNUildNusqojL8=GaS zwTb74p@8@2W9P$dJbxW~2TX@;?){xo67;35fM=zUdfQ`bNyVgIj`0T52k%oaP;ape zPqpxFEaXDDL+d<=#?x1uIr@SQ-(%q8EXGq)qOejt`sWX6y|u!>1FyK zrL>Q`o3eMe3{jH(*1o6DH2!Auv}$OLqtQTpHjVI%$Fss-Hhg=Ny;MlOMX8TDvu}|f zj?17ph7%8)*?0HDXLkQBjoU+?e~p-jo~F(%nj=&LYivck&Q@LO?Jzqv&Z$Up->`} zsZ1eb3YjyP45dNeZ(sL)yr>ul0TFd!E*FUFSN(KKtyw&z{aH?X)+xGbkTA zs?2Xyr23b^C4FbV-EO5{`DpJWc7=U!e*V;w`GflJ2(8I^{k|rta7o;Q>|R$Z8hfbh zP5E?slv!^7(}OlhVs=kCllMijvgeh2w~HQut(_FFCPtMxxE>s$+r7f@^RbaxvvZ@a z99on4-S+93iN|m6Sl+1aH?6>7N9?1?7d{nDe4)R(^Y<3V71A1%-hFD#T^@SkOwZ`k zH|AW~!!6NSw=gd_FUtJxm)fQK&)r?yet4_U!;e;G>Ikg6)E&Ec_IA|%g#Jluws=VV zY|kl8nU;5dZocogo};!mX_l{Y-I#Cva`tZ9Hgk8cYPuT{>9Mb=U1jVZ1HGqZ_t~rJ zvPx1*#(xXzUvuC1jn1H+kLz&Bi6Ut%V z*M(MgtkXPH&l+41lzNwQKl6dhs{TG7rs+RBP#$M`?~&nS?S1o#$7hTzcsr+!$R=gW ztmDFm+Ee@r)4rr-`Q37#d#iF~!?d~K(Uoxy^>-?bHcrS4FAlx!FmC(cRGWbj-`iDG z=4CE#s?5mq)^&;xOE+^naXh=}+mYv!o9c5S#z)=zVqfmfD|r^A2Ci70Utra1>9S4MgQ6`ho0oM8?z(7E%Z02C(I56I7Oc)m zQn%~HX|X1I(!@@!bY6AdV^!8Ee_B&O*v83a{7HU|UyGu6pI*-4eM;0k<6Un$e@^Yx zIZs7V?R9RMbUl4Ur+$Hz7fX?|`t2p>yBj;sDzA=cx4pt7GU=;nK(bTG7+tq_DaFgK z3*Q{`PR@A6E@_$AdeJbYZn`BKvpVfi*xZVnAGo^xTGO#kf(;iO8x%@rILB_--(s2K zyJPv$-=iLnoM!m0*TasI7Wv6+c`7o?m! zoHuLkqVXmxTzWcuyTp4xrnGbY;YlsZKd){)eLp(qGw<-#q}7-B1~12-ntx&N)Tz7Lo)(5iUSvuo)) z-TL+X>#a<^n#&b3%{)p`A!+ure#uJaT_&a4u?ZS%TW zJ^!5zZ%W68O68e1Z$9o3S*2Zb!)aTE@2R%44GUwsCW*FB`O>BK#^$fiN4K{u_dema zb#83qq_`K6@47zmOPu*(ci#D^dnVeU8wPj|Qa^KTulQ?zzq1eeJP|9*|JH3oY6EAq zYI(}X)yZ{HTf3}HHsdy&nsmug(Rda3oJ=(K*dSX~}pZdO^ zTl%#dHGEo!o|TR_65QTz{#bI(3;Ux#hgLhaW>f>yEoiCoqe;v z;f`IlmbKgTl8qIF>s#+_?NOPs`UtD%uvQ?Ry}~S-HJ-|g z(QD;~KT2@3|MMP`Q}$FfeYmACx82Go0n?9`jDEkGDL4J??k+yPYQomzn@i&~(~9Gh$7!pd z`zqQOHaoSr+rsRQtMgix4H@mT{$Q6hfkCmaTc7t6UNo$HduZ`Br89L~IvQ0zJ7Bfw zkho(|PrI`(-*zkXh)fSG$y2#=)b@EaaeR$?u>e9p|%j_x_<=O1{Dm;DM zYjD&wyMoa3txEk@nMZW2cIsGu)UPT}GI!Bko$@~YN=9VWhvf=2-^K-P9y>5CUdy(9 z)55aA`Bt9V&--6&+B(RC_c=(r!Zvc`h60!KD^!bn7Irx2HFEv%D;ie=vX5-tQm3+Y zX;}KjbD0yXt|w|lC~K-8bvS8m$e!@U_Hwr<(Y$kw1IFF7Srr)`Y+kAGd2T+3<$5mc z{fUR&Z_S+l!Z)*Lw?&zT3T-b0dn$c+sZ-n4oL#QSR;{@$9vvO9F5ulBtBf;d_bol9 zM7)|8pHnFjs$TJ4nH-arG1P~>G%e6+hSNF6`X05LzbtdvfW-CX{^p%o%*DfvrXi>&(2_&p6W?aXt18g z>+9ylEeFChLqqchTO0R6<9f^tR@YOeN!tfVC zUEiO7bkKZG?$zB^!#NFBN;6DiS0oM9KJilLrE$JTsm7~sea`z0da|jgRzvGXdzW=d zMsw8PHT2!q{!z@g^&a6F*WzmrWCplC=(nk`e$lB_!n-b&y}lhd8*$+FHCJc?ZqlN0u)BI-}mkCgt0f;YV)7 z9L(#csawA+r}q&LW%byY^?n9s^@f=W$4uJ~Ny)Jilq7$f-uztTHLtwbq2kR5r#KTupNt(Uf#nfL<4r}r@3%ScPARcm-8*Z> z0PSa^Rd=lGyX8{vLF{AwN^XYMb__kL+L-4))z;{WS)~XA+0sGf}-#0z;b>_*_eEyY|3!Rc~>s1XBw|&%F zLE-i|(E_F2#{D{eyK?eIV5=2QCh^7#Q#U?6)}v&Y>*o>djlDlRyoy~qK}%WecD(*v zn%xQGxJd>LCrpQkTc3y?r&|@-sbrW=Xj_k%kr&OYL-Wesezm-E&ud7h!%Li$+e9Qa zRy030W$WDL_lBk4u1Lt8_3T~2{&80}-)`ONw*QDD@B3KKT{{2jR>r*=C(b}H4I24_p?6Ar^!Oh`hx8#=TPU&iQ>XI&QWbH`MSiktNN6sUaURT@`)&^X> z*SR#p!)Ln1(qrj1A8ZeVWlRj2roun4c9_%2J1>GStE^88?26T@oXi&KM^l`q#l zIr8b2oNHzJC)Uh}7}%%0NsuWQqEH*)y4cEhH>t8bh&%GhDnnWmmMuNdw<@OIU+ z3eCZ%m$qW7P3Us@TI-6^=GV`#_NjJW;&abGtFC$f-5Vb6-m*?Hb#7YUGRwC;S!;Ck z)7I)(ZQ)x@c`(Yn_;A9rw@bDxZ8v3#x1mjg@GF1lbHCJ^DW|O7Ma~oUxfPxo_9XIj zVMT*U#q6jLAG5}L?YCPqDZRR3So+OdqRvOo-+QY2wZ+of9u2J;bTf;VK5?v?SDQWH za9)1pvs8gnlg*X9&Rgfi#u}bC8mx54X!{(+%bcSJB-(yE2JiniXh=WNg^H)z^RA8g zxLH-a>Td3x{C4-hG<$|$PM;8>;4yx`bJS&?*n89j&)ian_}cBNcNXmzZ{7Q#ldkK9 z5Amf5TG{r_opn`K?LRU0N{6izg73tAJMU*a>_gkAc^3)?Bwtl48M0dGz_P8Y2B*0; z6-3^w9FyU(9+?O0m#GETb;@({QcB};&Up5U=5$Hw>!op`;K6|M7?TAii%oVV=-4jo zQpLZt=py~7u4%*k^w$}Gf6VHBK`iFS;`uP0uzYoVI|d*QzYNmG`7*YnEDD%f&5{h7IVnqHSxl zXlsl0rp(Xs0gIR))d_o7IxggYJSTe5@wDJ+_v_&woplqwwf&|NIrj9$uuDT-)vG(+ zAM~xwJEL#)dZSP0w|L$y{^Z5o8wYbs)!&}$J-thv#%F_&HaCZ^&1Nl{*)eJUut?X- z+F`RbjudFQ6_s#T?blE;4~g&`GTYcEQUCfH!T58%ua+!$wXQu(@9)wp%;^HxoR+_V}5+uZnbGG7FTmzNrf zt3wxWpZ&b8-t$&1jpnE=*ZaJxszYR}V^eM~_w1L~JH_SPD&yqjQ+oRXjB7I3R+Vjc zKeW5BIMKH%Zfn_y7qhE3R&%Q6ySii!`R;%BK}O7^m3jWht`t=Tbkl_(IWH|g>0hnywQ>m9EZhF5lsaa4Gr5o~kFaPUJ-QTIo; zb@Tgexj%p57p<(BbK>*59Qf!TdAs(}WR8KxEVt6C9_I?;SDGf@D|_}OV(_WLlkcY< zy7w$Ja>>SsNS{ch!Mn$+oe~%48~Zz-Nd2ICLanG}%;TwNrh2@Q*pJ@*@~QEj>~h!C z^u2ZWw&fL+UC&EeRr}28%kIfs1L zP!n=%W%E0qRE+MgbZprp?o-c)IU9-&e?ML0SvOOQvO99b?D%?B_3U*gH>JKS`P6R41MTs3hx#18 zv-!y8lKC%AM6A{g{<`|iwKr$DM)48o>frHg?&$`}sU*?fn7XcQPKWU3ZPZfoxWk$66gupLu4enfkgg^( zPNb_AIUhLq{le>{Xv1$0CvEIl^zgg5Y}%B)izd!|6E#|?=+v5GN6Y*6%6T(d&z&%P z=$O;%@`q0CI;u8OxK>^H)QTAAJrh%R#!lRqKY8@ZYkO|TR&Z3$4NG&@ms@+-1I6bl3 zvyc^&_bEHpHB8*U%1WSBX!riw$E0@d`-Vr)JhsJucFY8a%t>c;ix1l=Z%o!cdhpP$ z2?yUCnmEJv&V?08XTO{6oO0DQlcT@A(xzgG>1e0B8>|QP7!)|=P?NLo>AY8M+B4sR(tfJ{)so6I!|x5T4z$q zpZ;NO&VTcVwRs}WAO4W`+M*SU*lJ5^Oe_=L@2cInsf)#{l7Ts!dKPSMlku^%b3wOV z&b41vgGaaNx3g+ZWbiouag!&djIQCeFMq#p<`##0Z|~mZKiaPomgIA2k=VuW(96N! z^163dU3~EP)V-URj-Ktdx+{V`_dHo$>av~hoM@akHSA!;p{K!|^D5VIKRt8LCH@NE1hRpsxD%h7l7~)O9cH{5(!mZBeTM%|~@=^WL;YNHdR}y+o~^T_8BMcf{c$uT5{KupWhomx1bFjKB~xv$O2+HfsHTrf*HqFyrT_4K8!OnfgToPYcB zf!B)#d1VuhzS?O&Wy-dK`-+QoAFcPC)na11+4i-uNxZoF$6=c_l~;ZkF)1N`Xv53r z?^3-Hu6*@|HPh7Bcg-8LbjtU#_+Z7{uTOK2JPCgj50=@b zKh+svH7auAaHF+~H|lNE-LT7xs+WcIyRdu4M6(mC zUws|&F!A1Qw*lX#mQ6XiqqDJ*uBXpjn{zC4(LIwvE8`uu7B7gOGW4r%ezU5M8?OE- zy?Or?y#;@y_v(i;&$Bu$shqpw_=8iEuTDFrw>W?8#EX{my-M4#jYcgQeqmGW$+`Vc z_$DnpTez9`Oyg15`0d5bYjcksE^L-8y!_17-mtU6wxcc)%|~AeOs>7`ATGG{AYe@X zabB`Vs8YkC^L=ZTlT9yhhuPMWH+{n=H=nz=^$?LHJge=}syimh?8zOqUm z&%J-mh;?t?{X_Uu{zrDsRr^yq^8YJ3@_wV^8Is$j@_%Z<|D8&QWVhAlN;7>sJ}w#U zIoUT^9CNZ!EhU5Eug)uWX!#WWAYzqHWt@OGQJGo8&9T2EPY zF0sw2%^{rL3-wBpW<98hkgz{h)H&;l(1d9~oVw+tn z_N6VmX1ObP*ILgL8RdKQM=HMRANZ&YMAJ1(57`Dc{; zTRIN+4hjxoaRjn|LV_ja@eIeYc!stSfgXnAU1!>a`28fX*Q2QQMgC>%4u#V$jAskI zi~9}h%yJx}mw%&~Pq0^vme=y^C6^P@<9+YnitnO&FU9%Y>V~F~D_o=Ooz&Bx`aA5$ zpPWCOlNWQn+pF}qy`y?Z?)FkMyRVyKRi5!Gt+si5$%IvBZPK24v%+5%>I`+U5N(Y} zwAXyoX0L9XX^DN*zVBB|Hl64<{?x9j;E0wRQhG<5RnD<4NWXn2;roKH&Kq~Q?7M!b)M#9XtP$!;$8Pm;3!XA2v?1f9cWK-0uWc4YNBKG{miTxtx@B*? z?b5|p7dmkrdw$={OSvBYd0(n|lS0;$(~l!F++ylg65VYLORG8+@=mT;)W&mQtCo{? zuVRgS9xzWmwoG@xy4elS6l|-Xsc$REd7&E^aNGXX{V8YGPd@&nPm$!1&(oG$6D#H% zYxTDKRIReywmWK*QWeIpY!}t-=8dGwN)w(fpPn)B;{K-rT~#_>6?e>hQR1F7dd(dpXbpj~0R?l1Qg-Fny0O2aXHeNg0@O3Twb zF4fF9V-b33IIl$Y-HV`(3$VSz~L@i&NFeYBY-| zojcBMd)h(aXvKl+RXA<;ELl5sK<~Hu0t$@7dZjzoPfo3AQEf`CWCY9>=mck7Jj`OdM4baAsqt_$9i_S$a-m&bxJ9an>{T zhAsE3j;+#a%U24^r|fp^8#uDaHE-R>3yx3JCe9izu4;X5O2*4-UCt?bibpTTaS?SW>eTg_d)VpOrBosLckYw( zquCE@p552*GTgCa-lLIkcu%j5>De)6o^PS^d@td{hb2*(1rO)zYgZr2>sj{X^T!Ie zdn?t>lx(XkjY*n2)1*>6F=o}g5A`wYYIZ2sO#iTDOx-7q&LJ&Ti$9fZHFS<_s(ZQP z+`QSZgz@^8Ibu164{~j6qsC>v!)9oj#6^sYx zo=Gyh7P4>L${m~7oLR0nQ;UOK)p`^aWVp=VqUHT{=jJKA6i;sN{===}61(v@VXhC( zXAC{}y+b|k-Sxx0uW0-3{hkmxZr8(BqN%}OSUN-fwxr)$T6eTEF{r}n!DCGoo!h+w zFY?Y#>K)j?J!{u{;WCXU>76&(OTKh^V^cWx*>krc1)cKm74A7ad7i1QLCY?S*I)RO zs@*B*=3(vp3)Wv2tT#`q9Jt-5;;rN8^bY$f2b|~~{N8Eqz*mVycLKlM*_mtf_U)VY zW;H`}Crwj5k?gRj?(mHv*BjH{a*oe`*rNabk`^6NSlIl0-Ca@arN*~!wqAHXGpEkR zziYg6V(r~T9S84y9};n0@+7^m`i|ST zH?yimt8RrHoByT8kmqa6zcN6t<-xcE+_=ljE3H*S2SujNqZJ1|qS>%k5iw|bAS?@q=T?HDpF-P&8}@@2aL zS%c0Vn>wyNAAi^DT18A{_w^1-4yRlDD~;|s_;SGF3g15Q{%ue0W)mvtr7qjJy z$E2ipgVsAPsrIpMXfplw%5Ylsi%%z`f;Jv{HTK<`!c9i~I)}`iwSL+X#dPag>VpoL zdLQrfB@bRne*5dGf1-4L@rTEH_|FLOV)1xFo}o>sYY5rP$yQ^f>cz?<#Kqku#O0^y zG#(lr=;G$%5yEoynBna|M5i)0Plx60K19b}V8ylyH23iG9yuq-!)DGnTemqrZW4E$ zp(cvP;YQ(pfqsC-3itE%4>k%PqT}Ko;Ob$7GF2Puu$V3(K0|a&sev`w%9>>!5ahuU z7zp*<*c<^%!ZF|od0a7DkHuwk#D;94A(yMq;TZ8aMryEr!dc z!`BcUuaJ;HBSXX4vu7L3<{1P8%`oIhBoae5m%yNhesF|;h)cM>e{gRp5IGzRk6^bT z@4yi60Dl(2b#V;{4H=@NLlgb@Pr9zaUncSoHel9h;1=L#hz3KB0nhNy2D!WaKrS#e z$d^IQ-ObR$*Tc`lKO`9AIDa}0B>ge)50izv1Y!{TuLfCJ{rxaMKf@mc!1|1VyODKJ zfP1K$N05n?w_8v^aDZpX*@GD#^EL8y@t-k7 zCtTm%!_y_yH$=z8#%7`oOCR#&9~|K84T<(}XPJ5X`m#p(hXnw0gCKWbV?!x~KSGw) z{&7ME;oosH1~-h%@$Z#|1O(Xz1o-|lp?)9m%i4c5c~}5f6B2g_x;~p@3vuT|;syF_ zkrA71Z1`Kx-(Xk;xO;m>`~riEakd<;k$`Q)KVbaQ^LH3B9q?a4`L*vK;aFK2 zSp>L+l0=WPFbNIyb~h3a7n=(>BCftApKYnnH)mVuQ-!`r$QD_ebNOamGaj?TKaTwm zxTE}oLtOmbJmhd)J={1Po{+CE7D~kWd=FQ#zKaW%E8<98ggmj>h3ozU?k{6yaHSmo zWzS0$3L_oRC{SjGKeX8&W#xyE{vR&nU-UpxFuu3xF~kL7>K^^YX_wZq?$OYvtsgK5s5d^2k#> z0yYvnoWIKNaF5xttur!hz*X671x1AmZ(?k_?0(ax&)$?SW%rvS z<@9<@`}co>&EIFFf5V0&phW6lqO%9kSQdwHE&X0=E5<@KE&JiX7R1=F5kTH*`6H>m)EZ|OIyBrnd0RuYUyn`qr)z!boB2s z_5RY1#t!_+U2>+p^=$bqbL`>hF9EwVbnJEwnz+B_Rlohyj(i(B#Hp&Ec42+nfgvaN zzuW$3rqYaxAx;UR032fU_oIL0Sm%hzzCT&D@Mr$m!ow}V-NV`?$S>H~*w8${H`LER zm?bc@4)SpKc7p@Y;&4q&42OIBhIj-S4)=u*E*)Yx%EHlD#1(MF=HlUOOZcr8d~?Q$ z{l#T9F*Xy5EhR!Rm(504&E`wQ7CfP;M9i_Y;8>c9C43WS!%_a80W2~7)5sI$d>8T! zCk6zBu*8%SoM>p{J;#G3mJxpPL=R6xdq)n7$Kp8ujK;klxw* zWv$(#W>KxaVB}JhPM2zx_Pv}RIcW0Y=+36x@8(@K`nKtK>1Z3x5gnQ}S7^rG(KhW* z$OKn9C?q_{!&6C-!x1Ve_U&sqez=n2{|7S$LRrQ@$Pvmi1{}5_SEA1m8VSTke2ILI z|C=%JGyFGW@NdR|$zc4F2SC=RK_ekW&{wyiKUy3M~I`LwZ(8lTaWM%#LWn>X#p&@ zp-o6os9T71vBCJZb#Vp>iPT6TLOdMe6?@j3l zjG;6UmO(fWm|t=D`)fk7Lwv4)%m0}i7`c4Ey<@A7#UMS(AGeQh{B^km-Y z*IRGhdLL0ftvu>MxiH{Z?z4)QHSf0;4y`-1qo(LOJ-%sEF@L<}ZgF`hx9IQY0 z@t|aIZq5ncaRy=i%X*d{EsBX*_r7oBJ>mYo2fV^6$LC}ZUEkRvI6N>is5EK>yF7cTib@E&7+ltw_jYAthm6?~HjIx{es-;cW@MAtb%;SPwQgzmg z($-nStpy49LzP_uOA+hVC}u-;l|;LuDkt97i7Jd;iBK;ZfR&- zx4RcSG$*YXQ(NM8@$<;4t0ivVhmLrr)&GRg`dy3PbXu-hJ4`&N@t9K4=V5zqG;dy0 z-erTO>yEOl2F-crw5wG*9{YH_?q+_+%UhIQSh(>0uP?~Gb;hQ9ljF&Z!Gl+X(Z|QS90Rwc36eIAHdP-VehDT#WN=NveT&u z=otLV)`rROw*cm zD9&XAue5h_<+M%)>(6}Jcw>I{24UE&clFOwj;=c;)~-K3?&YyakD7>xZ=cjPb$I8+ zUB6yW$QUQoUlTa_W>(tqrogl6(Rw2Q|+%tseJv+|}jovt50_O?&0NM}upA*1)anr=OI zpsr#1nu3p2ua@rL9F{2HWPDw`tnZ@%qTThwA00ec->5RagNn{r#Ta$3K?l<^`+UrJ zwM5T*$e6X=M^0H~|8!Zq9Dal2sO~F#I>tTuq@7r5=J+(;eClM2L62K3pSXR)#yj2K zJ$=!^f0b#{^aoe(Z64=e5p@1(quTnaxN}$H-zxQIJ8ix5rLnvC8@tojjFIslmaSiA zHc=;J`SzP>-6j3ju8TBnny|<|T64?nhwUb9+8gGsmlaoic;=3kE4wr%mU?^pW*u_d zJ3ai;ra`^B#TE3j3p?0dcj4o~%UUVyS`qqUa~IE*3a4JbY`;FC)$q*=Q(HE)&k53= zoUu7!*tP9Nja^rUwGB^h?iHAJ-k5hKYX9T2?|X-QT)od(G;ATSf9%4{xJ%iS9Xmhj z&OO>pac-3O>KirnMWNY+>s^wv;;w{cC3xnPs2F@66_}}Fp!_ymz3UWRNvrf#IcDjT zN4r*i{Frg7Pv>(l#tuqbY_vb^@y)=m%et4gaNgbCIcjp{#AUiWB@-Ro+8^++y_;5h z%&u#lp54ah1zK6*9g8QQTJ|-e?%-`tt&ki;FF{1g`NIb`WzHGoxjWr;c!|3E@vuD$ z^L<9Cty2rJOHHlbFUX#^EX!?;_pEmPzaJm4tm#&jVmN2+_UKmo*X@<;%Wl3SpiZzr zr}E*{lS<*Y6B0hEW%z2GOnmNTt*zu$qSGKbAL`t)!PeBPx#oY@7tAMca7Mz{Gx_M zzRg?H83QxMrn|2)_lp*4KfXWe+IzM6bypW}8zJ(q~b`|7qm)ZnIPuM|x-RegD_ByGi-+>74z*VhXH zt+*ebUy5?8={TrI8FJ(C{Sh0J^4{Jy9E-5#yaS&7mkHwF10)iSC1>e62Qq>*Oj z-5&S%XB*z@F}(3eW6Cr4uPaN=>sEGF^xtrCan8+Mg90WPtvorPxb=%ob1r`i%jfsr zsdaYV#QXQH^D%qt9$6hueA64#Zp5~tS-V^kdM5;3<)75Jp?B%fy{)Wi+Pz{{n_c|! z#kun4oCSt&ZZ(AtOmS(|`=jX%t3&3q95$p4h`w>%rmtFC4bJ$4Q3mIOZaiJNpgQ_{ z!r{=_*wU{}*jaTb*H}}_^?MUQLZBR`8927Fz$=hzFNIT{EMWypAww&r1 ze7Do(=?sEtf33lt8ZlXwJyG}U`@{2YCJ9N)rtUwBlyFxfwBTK9B= zCw+&r`yWrbl$h;z<$Bos6MZimxLBBP$U1ZJx~bKQ>Nu$H4=e0{8Z%dl)ojvhIUIsl&ue3QoWR0fNxyZ>6d(2!sBH+~^ zqhMt_Yx6Ee7fzkqr+oKyct^{L>5IG!{7nM1@}idsea<(jPH%SkYQ5{99Nb7)n@G!7b z4GE`@8tO0UP*+eKy2+*ObB&6e4D(mBI_$otUi-NE(S|ZB;XwVsW7jlN5|-|J)BSVI zvf!8M%GXW4hTGO%)|T988*^yP>{bu;2hM%Ac>S4Sw-ywdDxA9i*}s1)=M0;-mK`I8 zw4-0!Q8lxx`xMZv>yT@gjNHfcPAeTLu+AGTP`uQ1Yj#@C2M>d04P9Qg>9ShQ_tUeg zhlDQD28vP3L_K*$n1ip3I^P>66y!g1zMjD?H52&j0DJTwTz z(m|+l=Ae(50l|^5xB!IV2(EZ+rVf!6hEabW-;tU)xNz%?u!<*Q!1Kf`#8o0L&|o{# zd_qhn0zOp5;KfEHih2esfTDV8r#gARALGzQWeK0}ECBk_kwT6mfI17&CdFDPaO4ZI z2w+1C5CWL=OT=~*u-VQcV8CUXMLb8~;4I>^L;`6A2qa>02?sItWr|_|5p!5rBZDL; zNlT_iqAO;hGVpema99#)i-eC(zy>JN8}xCOh*=UD$=P6zY$@{P(r^wNaVx@M0?FZU z7+g7E3RJK$jt%AA!8hza-tr;7X_Np5=BB5UjjODcsORpBGJYL-FPCbP$*!D zKxK%OGe-#6#0rurA*4wr9n_zJgEtZn=m*#s%is!ba6~+YwHy(j@PO0_9l>U5M;U!_ z;?3X-MsRS>O)TPw8QdAXhy^4X9H}Tdb0EbWiEIq`!jXXE=);j<4Aw(5Bp86{%mHh- zY^i8*aUYz^mbJ4X3P@EDUAW*2ml7rz!^JKkvEg#SVbFr`;&P?pPcR7&1|QIX-XsMy zj^_Q*Cc~2pesIAXX2*d)T=0g02mWxeelbZActc|e4>|5~I1F5=_%U-)yFei2Ez?In zCygiEAWO_!IzQp#%mwebvMs{J9-%cb^AOE2jwD!)|Btr}7y2fALuYg^nUNkmN#TLACK9i1f{aUJyaYp^q~U zg3kjS2?-MkA%u?^3*qCixsWV2(2{UO&O9-CilMcz?QmDvQ2^a2Bz9oi2xwaqo6siW z39vLi1BD~TYyz-ZEC4nPmd<>LA|GN%^?Wwpk(mu;IXf9r{=#y3{qJwNxctXk#sV2j zocUNepTrDg=R<8U><4_AC_D2ZmVCYxe?A{-32UOZpDcwsAn}rmg#0ZNjo(G$=Qyc& z{r*kcp6cY|WO&dV&U|o&EEmls7cqJN-`~HEClMtag^&_H#`7WCw6*xq*L(?MC-4?A z7D@y~FDAQ%w+JduEP(ie$H2o`02M8OdXU1V{=frUiEtsD8Ih-NQirl_AtasyU-_DZ zkWln@7NEa?curdp>O%~<5JAl4FlZal7Le0h0JSV2I|bf=56%KuSyJ!RF5roYZ>S@+ zE#;Mfcm?T|_Lr&-0k%0G63oEDE+BO-f=VSCGj#+D^H3e(CB{}0Ko!w0!nd;k>RkZ! zPB;pn-U&7~0Q4>!5-x_6GJB0yA|1i(0A_`NB7|+FvP357%trsQM`37ap8^9px&~-nJ{c0iALU>1C)|JFEywvk z@s+L{aA`fXF6m(33w2@1ORg&;AE(2_bn5c_!Vz$VU;X1GogTi7GHn@#qP)iJVh6D zRRX5%*Kf>?O+%JZ;4Fp(CH=_2hrSUrCl+FIRuDZhwVam$6Sg*7mUIy(5 z&{Bf4CJ6;YprwQ>`B@JIBLS{VJrDX(-XEJ@!su)Cht8HjbMcrr`U5ZGg9Ox*5anoo zNS%aS9)btClMpYd9&VC^+#srl+)1Eu;R+$NfRU0wD8&FEfj*W%L&+L28q&!$fG4LiC5(&$h6vPU97P^N8NeZ(L2%#){j3KP@PcU1Ng%xv zk{C#ogjR>WNtRPWK@uc@I4OY?NYKs$HzjcLBxH%Hzl7R=C-A~AT4Es(b7BDs&}35n zF_@z_!X}EF*nmw^f&$F4OkCw+0z*KK8U#WLh5SZ3DzJJn7PPadQ%N+^%o4g&evH$dD z=m)<1=^Oa|2mX*bW*vY3b_T;CUtH`PFb&rXrDhS10OMW(G4gWco(#REh)aQ!<3^Lv z`wxgg>g5b4r}qy8g`%YWBirt@{VC^w&A@})GdqiiR0KjvRFmwJ*A3h#e#8S24!%*K z>;&uvwIC@ZSLuK81}Nx3q%+`3FfavN`SwN=sXyek7+sA5llOq-pq<1c4akE-M|vCw z{WKl)pR^4wEWXH_VA`lV2q$YJDDYBcZ3G3xl(xa0;^6P1$=WDyfml)AMo`GgGce(J z<4cYUL=#_fTwwB%kCEddhKZD!3Dgo0xB+B9PykbZHW3VHQfZR}`}ju_2?7twRMv!4 z#Lp(e1Nv0f1m{WKgp?7|Jfs3?E<~NbHUSMj#X8a^z~DmxlEp%S+9)OjF1UF>W0ABV z>x2Rj;lm#w`-B4ZghG?G5ft(+rEORZA390eMw*Nd7E9Y8clZKl$g-hCV8CQDVJI*U z(x1{srU!W;R8L%HJUG}06tE=V@QaB>xHxzAx${|riqe+GJ}U& zNI4%ol{G;_{%j&LfThwVF>L_Kr%)aZ8xRk;a11~(e2tlm?i=% z@gSFmkcIE}n|}t-WEPpt3kIUVJjg2stpsEs1juiYeM12d$@0qDFt612XW9q~d_rj( za*n@E^dFAk|Jd#f!$R|5=MoAi5Ngl|wA)c2)W|K8wlP(powSWmV?tRPM=48k`=xD= zFnl2pVa7qi@C8N6jDv*XOX@tJKu{oE%=V=u6TUDXtS1W86Iw#nMm-@v(l#WOe{2*g zpb68_ZV({7EO#OCK`@{mknll))Pn%Km(f%L?B4%yL?}ez2*7UXq{MOoxGfz3XZVN5 zB7iT1CYb^eNW?#zkiq@av+8wUK1!}eG0n1Hx~ z5Ln7tA>y(hpdbn&2mq6%Ls|C55Yo^>ipUuHkcI}$>4O3&d3O>ZvXzveV-i5n@*pBo z5MVF*l3|zIRwls$7)%g^Ho09DLm^Nf5tJP2kn2V?g9id>5-lbg#xTkmQTCAm2^P!W zOk4_Zh&H9B9Bn`qV2Jl3AVY|u02+%R^a3Kb2&~0J>Mfxlain|(p8{tPfwI*U+RD#> zV5%Obe5HG(V@6PygE+M8C4%q^G34K}S#W$oJQ8EOQ7;rgYcZolA(%vc zJfvwP6p+N`!Q~Q@b*8|axQT)U8iS+(DufPH#AKT(R+mEL(|HA)3781v*r}ODgTc~f zGRR_ZnBjsLEF|ZO2c&pdBO}ZrIDh0i;{ol!phVV};(jRzCiIt1C!)|Fy8@aRgGjK& zaGMzBijf<^7Z$_dhhrb29L+$2NN*k;Ptl&jL%OL@KmZ4X1lT=H+ETVVX(;~bM`kO) zWMCL6SV}f9f{$zieL+Og4+XJQ3S?Ab$N|@b@s`j5xp!I#j)%yuP?muiMrj5Ki~(bt zDfARU3-h5NDdQ+YgAf!T)yO9|jtkOKVgV22p-2jmT5yD7r)uVl+)k#Q(t(r-KtJ-O zKr%Y9#eo%lfW8bXB&1{|a$lNK3itw7XlGIi6q+4mCNEM#^rRdDLuN`Ma43twYye6l z;7i^nkT~){XxJ|Rg2shvV2Do36akL!unn2sTq!1~ zAuofpoU~es3C{OG1JWPTYC0wbf~X-($lYLiBXusVX1+i+X*JTW(rSnamrVjFZI@#L zisJB4jtL!qGO$5LRLe1e%PFmfU4r43V~PAq7sXw2jqegKsLe$ zW~)N)!QzkvF_s5Al{qnhGLdUCMlXW1q%UbFkyAl=V-ZmeaS<6p(i%b{0P2`GEEf(` zu_7+DKu@4RP6@OUB|ahO0@z7DZ4R?E-y`fP|FWv!9#qz-r?A;jQ|>4{pugyiJQkWVYe zL>}Ucuvl`W#fUNKs1(cuiP4#o(*)oT?7$KvV22P$F$M?iq_%N<@Z(KtLY_xp`aoka z$UucjO&;h?E5M?Dz@XJq%1_2ThOJVEz!`iL{-Wo#&TD5t=W_wN>y zC`3X)c97)k_cu*U3j+fQhTLf*btc9ZW0IvfR}fM-3;~mXSQ5ZvduW!yD;Rh=@eAU*5zh+F5_`1}KImP&Op#_>wReTNwWS)oL*()BYFlAFGrK4ns8( zC|bpzy?;mfFTZ6}llyPKzvWc=r}yvh|LWBF_kJ`VL)zco3~50NW?oVUQj$A!1r$Zl znG2ngqJRL2f=7aj0=1EXf!aa=Rdkj|r^P6siguBRGFlWA;z64kP)L(<>8ypBh3;11 z3(TXF4+;;t6uux&PGg`Tki;MzivKCf!-JwmrkWmPEaCQ}z&zwYv0YF_K$!voC1;Wh zG)mMJDudhz6zBolK`tB$lzo6UCNGjrJ5mU1KnI&##B7XxL4igN0)kCa zO@W&PJ}wG06Z}PndO~O|d_j9N6oN{?mmFbIy`;9J3ne<^R8>YHqO%atr5KX1Gv|>E za99Z3mXXaMBC3nX&Jlk^M0Lb&QvT3UCcdO{j{;^8f#M9+MNm=rf*Z$BokBCN2y|u+ z<>{sfzMwK_xn%zEpraBj7cM^@Q2WesMYLu*pk$Uy2Lm_(mLr3d626e5ASTjDB_2|v zivqQg-X}p4F}Rb0q=cskjtZpGnJXekh3vc(0P%oy4?`~z3=Y%?bwG_2Yfzn%g!rPK zAhvXzH2MOH#BC8sj0g4vGZnKU#!YA1XfVhtr6n@kI7WmbhtnYx03D>h@V7kS9@Bc5 zQ%~l&lbAy1opfGD!bjddb6(1aTR^E2JfuMf3e0USs>b@o*bub+P!Qo3hE&(!Pnf{R zrkc%W2MojDzV{=Fs2tMKq0BDWbSQ%;fRPg6ijj6^&MO79 z7~&ceT#?SAqg2^1(Uqbq?t__TazG#+#h zc@1R7sZ9W}pxY08>`qE(@PQrGBP9lqwBabIqI+Q|z*~lnp%fXHqAWZxn6wVF1&J)u zj^u&TK`vcILjf*1Ix)c&7*7r>%}8}Pz5poVFCE`XK@oqM&4oCO5Cch=As_`0+l9^s zC_JP-lzZnfsZiiRWdciWKl&g^FYCiZiacU6aKLX$f|w*ggb*&%aw%-%l3pR&k(!ep z%hKA2n{+Ts>3$T5o0tlFOa5k(RluLr4{?x;j0iL!kBbuDborG>*Msn&3Gk9e?F7T{pS#k)+f9Mgw61DLkP>6F(8#Xjg&4=j~wBY8n`9@>sN zL2&SpF@Z!cTMSXq+l@^l7!ShR1Iw&WOSstJlc6eY*$J>;31n9i4$g85V&iJ{PJ zjBAGiKw+y(+pu@(i_%$4HSSPBrBLdIPIze=nnHe$mZ7_h2hwzp)HNg4qOUXFSjP`W z<7R>Mx-wZ}ET6#|!+*RXO5|L~G8Y(5jF4(%y!h~CVDD*B7({c+MMRDlQ-=jJ#scj> z0F%LBXiUEV!H5{H1t2*Fw}dh)a5R1qVj-V z9#T?FK_(4i2~CW|1XLpV9l!_IIh-LCpeP@DmDzfH=vE#%KMXc>9TH#ABg8H~{9OECL1@!zQGoOSGv+EWe!IOf?<7Q2n8!Z?GFpSR1>GwxaKxdrY z;!FsvA#M{zP@t)48k?!Vck!!ZsR0 zZma;Fj1&OrJW7Djfffp6G$=(&OCwH7rGR9GDKk<)E0uDKadb&auxLi#U>VHad*VK0 zL%=)6SP-+wIVPCkFfCaQpS}T)U`gww(!;WJb2yA1i`*Fycqx zX)0O)$Va#MDX6FDpYkA-RAAyQU`^+W4FB+#VGy!HMyLmATogcgA^OmMMga_AZf-MX zgM^#e=gigyGBB4A4stfIN!6_f)9ex*cs}k`% zenSW<0uQRd>*v*Md|-_HayAO2Lm^SPX^amVLk5)SNeK%)kgy>hAYnldaF29=m~;na zl^8b~9ex2q9uHmImI8stL%!fIH?1KbfFj1CDUpE()D$TQsJtH+Pw+vL6UU@YKQ7wR zD4H8AlQu!);0wl=I8N8X@qp_{LQ83mpNoU!B3uRGnZ=Q&pzD;<#gSMb-yvHZc}`+% zM_C(9N1L6&7V?ZQQkqPGppfTG?lpdc1#ukYpX?j>L3vn86VTS9^JM1M3Qm-;1mZSj z{)x<#6#qdHQcKL)GqY?Qb^b#z@Cz|Xkx?Q_N*3uYei@yykxAKs(=zoHwa31mq-cHAl>kxyBnlYQc5}nq(ML$6{JfkX{4pQ zY2=KN+K5DS2IE&-d+28SI`8z3@( z$R21yfZu|d4=o0u&Cmw)FY_0W2J;hI8Lwp~@B(ynb}gZS3L)9*TGN5}G_-Pp)!V2pmP zG=s!7fM1F@*l7F5dJ|-zZ5~LJ0CNB&z^q{gn1KufK>~UWGzHR6fr%zS$1nX9@)Cre zLsHgtL9j*g$0Mj}AS6KQA4otjfT{u^2{;x)l|X}g-6b$yAP39`2{V7(vU(1iL{VX zf2|&a1&bAo6eJ-+6AW7BAzA5{_ZpN3cm(x8_pfL6wUP}+1+X{Bx$$~QzZOiud)MMP z^bRE0{3-(pI*>UnlxG8DbX^BTd4L;&xe104+ADybf&{cP4#0p6Bws;D{gsE94z%|N zq2af-!3w<&W)--ASq@DYc3?gO&Jw_6fm9W6fsVu>-3-{Q06Rs%>8`WCET6%o1oxrW z0UkjQAyj}15LrM4AOQ&D+DjWEG_Y5o33fez4=dnX-~uK$pjeQ&z5vY#vP=Y7KsS&F zH)JFX693c86|zVKwk-e-=s&oCm!Js;whbWG3ym`v7f2)q+epyy6d0jvj6(txgh4>4 z&?x|9VFs*Q0T^grK}HPF`8!AeaTl};I;DX;x*)p$(;rT#nAo%$o*Qt zK!O9b0b-g^H~#wl)gFlP0-Ayl%L)h)Tp;cZRSof8R!B+$bOsU-5}=U>?F0H9U_KDL z0!_QNH-;Rgz&0BobkJ`w7ywUz3-SPpgk-gU|GlmmVC1_0|LGT^CP)nhO@OEwI-r5r zKD4qz=YQ9h_K*+LH2_cuIz@pz1tHTWNCf&zA-wk91{?!A2nBjA@I!_u25h#1JD`hT zzv1t5>%TN+$TR}7oBj**U%%H5fnX~b$ld@G*K7pHBtSR;lm#|WzzBmXAQLEX0doW_ zHXs31X6Q@;T2w$`Xa#~!7on96I$wj%B(Dv^LARi;Le}!&8K?pxK!~|Q$_hvTY3Fy5 zU)TVc0d)PlIAC^QAb!&qWG{csXCPV!2XDX`8xR7}(XLB?1mKtuzQAMXK#3DPfXD&z zLE*S&XAosUg!w!FyV}17>MxRkexY9cbsu7Pzob}*9sNQcG+>a<37tS*mjm1Y%w*7Y zFc^^Pz<#Y#{4)H53PXh;{sA=z&=MqTLA&pu;NPtPL1515rFAd_ZS_&{_=q z2q4H%-Ox(G4vd%qZ0I(?1GIHPD06+n#Jz(8{?tpOu z9-!boAoYSifq$sApn2E&4-iS9W{n(2sEIOKf^UEgM1o5?w2?X5>Wd< z%YQ$E+6NYl>m~Nu$riXX{C)<>8PH-2>|5?JJC@8?=;x8aT1qV3* zjz7@*LvW`X{L!?$ZL4G;t59zg%s zbBP0D>EL_>M9%ytln|u${EmhxXKw_v2hlAb{T1(qhDi~871F`c-tE!#R~%_TuuJf< zzw7T9k}>}Y1v>Hk4Mi9Vo#_ZFVrOQ8LhFEUO9FQb@Ek-0)wg{LGcz%D1SsSD9c0sy zi~;PgLSN-DaUf&Aj;!+piekzD85uy2pj8**?(EFk*H6Xut;{SzgP>5IG{5ecS;9ci zz?ednK#_N3^{rt49@7)LujFVCb2Kz%l7+rpXn9>!^;d&{EXXA3s1H75C~R$F`75L- z%t{5wpf7YP&{I+uJDE8&1$5y&9j_Q3p>GO640(Gs7wr~m*f9jVg z)(BE53gXDIGAy4=*~JyuN_OxFLs>NDbq<2FkP5@qlS%yXWMWK}K0J6nNMO}(W|`GD z!}rFp(xHF8`Ka-1bGOlhiR^~HD<+m#d&E`@(TU?H)@h!$Zh`qR+KZ19xTEkx*k!T3 zMUQBSYu-PD*E`sw$~HYbPi&blWQ0paet&71KB{yasSuN-KK*4kMsRxNjX`qTZUX($ zcAUy{xm^wx!cICmALkP^^rH6!zUQ9tQ*YB&U*>aI-G!TosPNNSqB$thaq@cDy*#!Y z^pa=#<;KBi6VhQ1^5?V1U2&Bp1Wzh87y`4y8n5Eg^>SD6vO<|(VSP%k3z%NItt_Ws zXyvN^#5pL!ab-z+!;&mmvB*q0{VuD_J$buvQorf1>U=NpbU3ZJ43vqo;Pz-sEk4;~ zd~d+vNB2gO2xv>kxfzV09ERXZxb=;p$?2Ai=|_o>C)Cw?$BB#)srS0MI=Pr{R#iNX zRyVrr!2G^L)SeL)Zp=%L^}P;Pl_m+N3$41Mg}vuUy^s!NR)ir!(T9M1eO#Gs!crXf zP@z|aE1N{(4S^leGL2R}tO+*#1PyEF{_>!&lH(KPO@`ZOuvT{Qceuzql026oLOJA%DXmF*4q!&zG_IjHKt;$2p%FpFti7j8_?cAtBI0Zk#DilZwp2dhV zDKJ)d@!Zmnym*76(Bs>3xnT#BfnMizo?NRHX~acxWD`LiH30LfU$Y*prZ`hy?d?n zc1ov4Z~04t*uqsEh83-9tGnzOW>FeQk001hNOLAo2CwPgmbjv=wl|hB{lt^|s^$qn zpn@iK>Nh{wAZjVZZwj;WV2SDAe9(m0rO>sfp;B0ZS>q2UIvO!avg zE@`}@6e{Yaqb^_tJu!Fbo^|gv)X*#PJkFkwafU+S=u?Uw?)c;ue{82HhbahNB ztbvFeHAhvY^Ta-eeW88VX7}Z}&NPhmdH!l{T_JZ|hIqc2dD?hENkQSb@n1S;>2na&LmUrBzS#;2jVC{p@GxD znLRjK?+nn3?=#8!uVg;g3<@DUreM0| zj#HQe-^tCF>HR~QVSMPzNhAk!rzzb@Iu@|Jxi>cH6}ne<=*_4T#1>4ubYxzkK=!m zp_=ipU938UwaYtHo#2*iK6L$T-R8(2Udq$G^}Xe(8$8VmmaM*>*VrjrVheBTd#&%I zr1KCOp7<=v79vM-yqNi(!IrWG?#wZk1 zQpCVYjiCQv-CBDGdl`?1mF5v2f5Q(q(-y0hhPZ?Lh|GG;;e82?L3M|vE3@30QE8tH z$&CZ$9BQgn*WKww)9Q34y=h;{!nDfUN(L56j3?Y7z4PYO|3HKy?5(OSk=#hLCJ`#*Qrp1Xau z+IIM6Q}z~<<9+wsI<%jisHZDYAHCVa^Ou_=F4c|ZiP^O1NCd;3 zv>$B06FBB#inQ9+{>s+9(QhzXh~KI(?{r9QzN>{iT=q=hjU;p7*@+u*-)uy^DAzc5 z5TEBI7MDPfJ4=_q6WTv#^guFL$nM;NJGxJfHcJv&Isc_JC@n zYRi`NdtLR0x4~yh65|H+K8;$H12Qh!Be;tDVI4d7aRV~@2Y9eXueeL=zCS9V^W0qT zSs!=mhIhhZ&FC?%xLbCPOocZ;7k&r%ec*Arb~}5$PO>}^%Iyou!F0<7oJlwmjVhds z`1NlcmW$hb@7l zNr!%7O*JKf=AhNizL6HR=GezfCK!CXu)G2)t6)O4z6)Xof@z|TP4qlNm`XNipvE9&7gq92i> zuKwsabL=0aAafC$<^O*_kZ~En&V~a$`j;@in{51 zMy2G*ubA}NtGhvTSd8i9G!ged|yt}Gp&ecPts=0nPsZ+)Gv_GYJ$Td4b zuory~{X2nUoST!r;Aqr0%b8sh52W{YEr)py6<7A0u3I6?Ck&)Ny)W@ACQt01)yIrq zIFs(O%+b$=3J87lw)U2axFHwuR4$+)rQ(?S`zMpm1&Ux+Gpjy2O~cnHk{i7vLBeXx zwm${Kdtbisr>U+u9<%%iU`>%@;5 z3(?`+^=Qj)m5YpC|KOP5p19-rk2yc4x zna61)Y{+DnBCwFcUgMCo6d#t{cS}@bdV5=d{hz>t$_wQPHgs0ZO*$vxPrR{gMLea zj#e7C8~lB47q%*thmnK^+Hg%jQm}43RpZuh`=Qvo7(b)aKV~}ezrT)m^%@bn1LcM+g-`Tn| z&39DNE`3vO4C@g}hsgrD9u${CL;l(4NliJM*%}!PHNH)m2a1YB8G?)KUdfnhkL?cV z8{sDgXVZ}yTfOvW5YFLD5#3)%2#n#7Avm(2Pu$*o#d5gI{dzOIX~3{jVvS+C#nW&c zHV#K5;h}XACHvFDl>K;7+mPtsHBeGmBaTjP#FyL@#P0Ye~-P~_F@{Bb1YIE5pI`1Yuv+%o0 zlS>a;Gt44-v$yQ~wunXtp_q2B7>g3y6tyUeXoXqt265L}rRD|2?bfw?=Wuwm1>*Lf zM;~#AgvU{IKK3(iP!JoEe5WWcb(Qmqkwvst6mTs4X{gptHrI$%Bhwv6Sg9QOZLOp9 z0PpI~EO*=a`<`Io)wc8Q$Exo}jqYyTysKZ*d}cTI-PZ@ z)=Rz1MIwi3m#-c^cP#Vt2m5``^=}uYI=nu!^$Ej1*tI=}du#WdNL=gcRsnp~x<7iN z2}#BoRa@fCm5=ax__lZOZU((TCWE7IoeXe8VAYLgOG#!GiXt3`wPG}NrZ|n-YHj9u z7*FrE&ACyWsuLVy{9rk0u+N_PSb~<-gQnA?{$JC+ed>q(c|^E<9QgNAZbx#)7dr*=Q)a+Xbax+Mrk|ES`kLy9 zWte*aHxzrXQu2b<3gtWsc_`A%OAnJ_P~~yZ!N(DW5+xJU*DCr<=?FfRekA&cd993A zSZnjvThntNyJNKNi2LScNwELFNSeIB`6F!IkL>{-kJ!xY`9JAzeC} zQBS5k5`hP<7)46S6b#gS1BKqjhP!7J65f8!{1Vq=%V*#W>7sJB76IB?`b=}5r=PXIf6gZ7JI+w^;L9Y_6(b*CABLSHqJ>fS~{p? zj&8p3;Lfhj4)1r;>9c{+mG_w%L!mSp?=EA`cF{`;YUYmJjyAoRZnNHw;>LKqf z;|`hC4zt#+6fDoMQpQ5}zwV5vC$s(}X*FyN53CA)wSqsQ#%$d1xTL~!?%v5eRjR=n zku|J?3PznTsdP~f@#amwKQCbVjy>+)_@rdXo8xsdK_`zvzfbtgy0wA8hp5pPnsQ;B zl5(YKczxv-q=w&ks)e^AlVe}Fi_g(@v~)dG>A+H=Ncghcp*SA@S^QPvk>EIvz0b26 zz_1mD6xW}5v?o(Mxggj*cILnEW^A3qc^V-l zhGHF^#oG5f+&jC%TFqA{mtnk5h4|W4d{RD##eEuKL>L*xz)VlwDJpm^@J07Ruua#~ z>VR#3hx>BOX|?9N8R=d~7=`TF$1$_Sq;>i@8NK2?iQ1vYC)VKtKe#X#UfyamUNsh7 zzsuYj7Pb6o$}>IqoXVBDxMfPbBmE;qn>S{y*bEX%o|bq)j@2DCr0H8%-2r_L4TsXM zjTgCw`&L5)7<}toG+7s+dry}L&6+m3Xt-a+y*$=_onE89J0)D19;hvPMaO1BmLE~TIe|S&1#4`g z3#YqHwv|33k4}2W6yC_!H&=4An+E(dsnXu&pzv{M^9^L$;B#Y?}g7ZhSOfXo2L&~96mWVC6J>= zEx#bi;5($l?vfa96lr#JJ3nggl;ZBDKVJ{Fd@_ycC6ZE!cJ%%pzL!P7*-YZT-v?2T z#0UhN+>7m|-b9=9dyRHaI=ypQ^$X5%xEJxevg5jGeX7q{q7E;N-RSpTE(BxwRKzvY zx~N>f9NHnAOFPIzX*Skq_N$9d)HDo+-RVGRMBoV)Oy}`GpIS)M>N~=m7GJ|&Nnv>> z+cG1v(e-v@{O4$@dj>#v^VzX1TOE$UTqTjZhk)YJk+5sapQIJ~a31w$ zjK4YZt z*ZLBSM_#EKOoZt8t|zWAt>G^tt#1tyU$=r%tisD~zj%Eo{ zGP?WJo2>sRX;D+7bWY@foCS&1GTEzQ{u^9rGS&6v}S~Iy)xu~w@ z-f|``as|JZL+m}ZE8`Bt)!q5Ty&z|G?4fTWMd`J}qkT1ZIJ|G?8xkYCvGb<4bx58z z%RH+U%-`YqFmi65_#*u+ffC^aKI>Rxj7$26W2z6ru2pRtJ+g3Ec2j@@WKjeLj9 zaT;>ls-UKP{ejll`&jWfmx0Yu?kToXIu~x$qnVkKo${K%%ZPo}bojog(|5C;2k?U_ zM=Q-ie7x!PpYhqde@IKJCN?H@Pc)?CjdS4K9+>Gi=2{leOmuJ-;0|cvT(<$ZhmVkK&#in zHyOQ^XCEB0tsC!AzDqZUvoFKXgdNJ-XMy`}yZUMLnZR-PtA#qjb#1D%Bs$c|3;Xz5 zdE?rt99hi5ZI^aI;mE6_O|A@n-U6?goWh9|aL54I%4eAs-=AXA*-=`*#jHdJ$E}pZTpxj+o#rn}{>G z-z?j+h4VSnGls)!#))KSXfKW_AZ`RI43t#xql|Y)&PzyK@a|@3AHGl+5Zr#YotpSSXH9-!C^=0$BGA6$~z!@nL( za1XVa#=TsB?8CKkbgvABAMLLH?u`Zh=6Jz79nCN9=-Cr0mXe=^Tm1Wpvxmn)^}aGA+Dy+ReLBcWc#U`rgnyDejYdF!*hf z@t$Shl!J6}-KV7%gx!E%7r|PaShPr&z+isr#V$hjV2{!9%Of|ZA?g?DAF=6mU3K~Q zD)x5;V>Q@x+iLnhy<&Pe!y2qkuDbR;=|h}D%~2P&-s=(O-Q1DSI}4LRDaG;43tu13 zoMZct#-}!n5j6h9Y7tDs^J@yLYm&9zu}+w%SnBLM7TR_y?a9?S09v8gv;Zro=S17G zWVH)&16h=Mp^?fQ|9H%|8P5k^6@;@+%`uX#>wdPIQ5J~-3xg#d)s);mv#+q2Kb?j( zZ!;T8%^KQLYnC=kO0O0P-K+9WdibU0fMPmtXwyzHr6b7WPF&l1S_P+ftW)cccT}ty zPO`4PK>7(?GkP;hhR{fRn2$Jp4riA}%ai%w!j2exu9m5h#5D%pb!#9vbra`n z7qbG=Dr|7CO=n|y&}H$2WVnllzrOwX52E5VVe<=1Z67kW z?%(ygV!CN^vo1S^!(rDx|F%=YvHOTcCW_og>ztpP6a|h=FPu7arEHjBZbyoYYi#{W zb=G&=O_wPuO{uW;ZN%Xg?%Pv;yoibEC5|+_x{~o;U-ekhEG}FVIrKJs<>{5$L%r{ElkP2z$%B1&R!tciDHnn@27jRd>HN^OpkYQD4{Y*W|GPRP#Hn><)rkF+_xC^|byW`$TB`4;k$2W9 zX}Z}FEo)(Fuevrbkl&xKS~S{OD~gV{;RHVu-FKPF(o|~Gh3Kw+;%824G~-v(edHN( zaWiRJVXspvC7Hj8FeK*gs*B5#QqO6O)-peGx~^UnZ$`#Vs(DBOq2r#( zHi3+BATHOX~)@ ze$%kB2}8~c1Kv0_8{w^m*^?GM#>?f;#(tf89ImlJ1C4uQdpFh%x?aji&TRZn#O;IFR(Rv}s9pqq}BF=sF_IaQ7P=Bf~cXjxZ!mLUA zA}pm|s_;3bwYXlZnNM+Hq*patPk|;W=O$#^gxdk)3$o$l@ zVHXJZAVL_&H7hB2ss<^m6Wjuo- zwbNYbfPbcLuu}G6bI3sKuDEiWfb`}bmd~xt$on3l zPVYJbuS|52i%n0L`QN2XyzdL1A#7>tKcRhIUJ6SuFhH(+v~0G`Rkf~JwySL7w1 z^IUlSm8i>c1Zz*ZwEDpefu5%n{#&({Z3a4a3MCR{K^l=Wdf}BVuJwKlpQ`3ns@cMB?n$~y5 zRK1d=ag#VTWs>_2Eb_kz1~^pUc(k*e+&FNdR?wi>q9ABn+e%SBk>Z(tk6fF($FpRY zqI?!0P~b<+D-vz1qxV6PYOC0R3ud?enRf$NKR6eNe=*Z(=Uk~!Zk;MOM?2=;Pxp5i zw_fTzktFH+`C4>ydD-5(M3{Y2M`Z2GQAS{pd~N8F2mHx~dr*I(LlmcNUmH&U^y5Z* zVlHL0v76KIHvW+xF>S+Ex@OAqVqCScP6qlz&L%gATHH7CVpr6<9FnVaFy+2AJVh90 zelvlJmUhMZ38%|{E&Rm~y+`@T+2MixZ&|wf+smizk|-)N(5YurTJ!HOW*+OB3*9Z& z30t-^{kb*hRrZ_$eGNmxGK|hk`*Z&~Qa%^n8Dab7m2W|c7yIA|s*D5UKwB)z_^o;k zHTFq-$+eyEnet_Yus!ybm&kP3CmJbjGA zF-GQ(qP?KJ&89TaK008WPmp(q#g0iJZ)pIVKd;tUHmJjFEP_V>wf-K_!7`S3FXgR% z%1M_fPPX&`SF}%HB zy>Z%v*Eu3vtvAt~2u4&xn7&tqyMz{^%FKDSytTw@azJ!~md~ar65o8q9b-7$AXjk0 zIj)tYHSaKLxoxc>^|X+ONZzE-uYK{TA!BX{HSf^1@B;fBti0-PR?@P_{gW=Or|5j1}4!W-WMj)=ohlRGoGpjn+;d|F8e=o z)@ntban40VIGtsd!Vg`MJ5r@b)0U+hY&ut|s%N2dd?wvTe*c}xm+1vll8OIEJmwo{ zY_RIaVS&q>ZLg~wEqOumj#Z;Fp<4=A-o{5!6MnEmQoWStH|vEjj$R+M2)?{fV#R3Z zJh`OfM?PakCLp8yG3rB|^HWE6!09=Zb)<;F%|ese8xuh_+%g7KW-v~P4;vTF`=UHFFSq=(;wWYvcngIWWq^v!(;SR5 zX1p(vVjh(c5v1*F&$NZzW$*B4lvu(dWk$jOL!#njwz6quSJsN6)KLWu7ZrltA%^2E zi$vP*P6N6Qb}E_g@ZUCjD80f9dq0NO%u1?Z&N|mcEA{+@eA&M}Lq9FMRKz0v<8ih+ zpP0ce#+phPSD+K-X@P^pKzyb7iALoU#X6CP~83Uii9y9t-PiVTLO#5`u4BH~{6TI^i zu@&D(Wi&WNZ2G*F&mCzsKH+C{v?z#c4w{+p8ZeAr@f=xyWFAWFTM6qMOPx7s+N+sy z^IE3rD2lmTfc-J}W$M}6sL@NrTEt!21^t0ro20p@x-;`nJt*EFCTXV;w@Jrd5HHZn zN7v4X%=FW4TX(nco^e=lP=8g9M$WaE$szSkJ@uT#+=6Ra^x|4E@RU!J`6Q?&n=P=G zkH$Ijru*H;W480HgxQD6sJf+br{0sK-pFq7m#JA>-3@1^AG~ol4mBzX1sf3r>k&Lw zhz!vMsG28a`Fb#qm#|N(%lp0CzXw%OSqexr8nbn23wuXv;vPPm_nvg(&2*6$T`uE^ zk0*%yiYwi4(qm_8gLHxC@-5#aZfbtax;f*dW0}XWIVUoYz=6r?V`GKtOrXcUPKWG( zxRWIY)=%;G$v25@KI`lShj39&|6G`FQlvYOFlCz~G5l=Gl{BY(IDhbnD%OhRnC8aO(IRtUpdCf6prj z<61X#4{oIMz*QJAUVqqKc4X=2IO9P5t=E0h&itqIpyL4UoXm;f^W?&T{y6qjE8MlO zQ!~LEM{`y|m(K2ogHj#Oqh7IX@qTCILMz(4+mMWy9!QFEx7LWqWdhS-BeL-oSu=92 z-|G8Z;nV!-iO9yC&%IcOq>pD_mT@hKBqbir%b&}R7YMxMvU?3EAV3o6Kae zpxoa3t0&}Jd+fULa*Amu@Zp@!diO$X(f)$U+=8l%g=oND-*AB}z`^5lB* z@C-fiLpDh+&pN`oU4#Iep=vYn*`?7Mr(A761M6{{sYl#kSGdz7gX)}qLQ zZpjwT`S6^&Q4eHseyPAyS&soeRFgT)@070(pJ#_wEY>FF5Nvp@ zlo~R5^j{8$UhVhZxcH_iUybD8npmwDK_DE12v%i=<2iLVxtW~g%FvB3czDV^-Y<%4{QO<_l>q4{ z9m;i*yoWNfa#@$o$JJ%E(hUv^YI>GIr6-zS)Zs=nKOK1dkU4tm<3c?hT2EZ#OIQULeVb^E@fP(EVqT~eRa6;e6h@BxO{cfOuuJbNWo<$I1SbYeWme9ie!GUXrL zM+yA@^>f+3jj`w@!6)sog6Jlht(7Dphk+m1#%Dw(%l_IsAPVl=CPwB^<9+cS%K3%P zuT86~Vd52e+S z84Ic8^i0pn2~&^4kt!9&i>GqfE)^+4dWTai)`ex(h%X=w$fvh* ziy8@KeXx`(Btn(t2>C!Jk%PSW^xT4!n2+T{p4P~>@X4t4(vYgphZ>&AQ8ZJJu;VG) zqtg;2kxXOoQbW#5o<(d}o-|TDQyU89{qi&z)-i#|Qw6Mc!-d^~`rvlZMSmx+z( znb`UW(MU2+B2fnsmK<<102ZFrOI+bnoZjYfXz$}DhHYd1!BwP)E`Bvs^L$#3g5(*Z zQnZ>XKDuaj1IxFOG^t&2Iy0&fwI8f$F-j&?4~nWhB_~(Sv1aH|4qNM#_z5gt1-L%K z*^&&gsbSXD>3kNDpY(~)|EnusDXMdzLFV0@k@oR=S8W$=8gp~=$Omrw;(W#Bh^3*G zqLi6>vGp8T(r9tJMn!y>6=WJp7XG(ixwr%tBg%z()0@t{q98A%GwWTF?4DCGd4+vf zQ=i01(e1lb5LR@}N=6Z-n| zMpjL`6J2!|@@ruCpD^H2qPHF;e}4Jx zz1LnuS?I+H(xt+SewGLXms~WS&v@K7kbPwf)mgqdV3ypB^heOUk%CCwcVdv(EsVDR z0+k{dyL`uNv-^&;{`~d^H_<}28u=Y~Lgvc%7*#mmu*wKLQTO4L;_uP0l#!tM9vSuV ztGw~9#aRlLrz^uXrj-)=%phX+xDegX0m-bwQ;}j&EkWEVQ%{_G>Ij- zLm@^Z=ZGscJv2gp*$Cm5`C9_xb_9z%QIXCS@VvL!jq7Ok)V!~9uzY5240g7#FMUEg zTQ}^9>FeCPS;3)6nB%!?<}*C)WMAoWCb4vK27fS4#d`z!#vtPlABFm-YgMQQJ(w!~ zg3LF(k&s`!)BbpMbeulgH~477D(QB?C-Z@u$REkJ&21=qhWkR-;?V+i?yzqVeb(Bb zuXDor@n{3Bl5HHHeWTcMSo<+Ezi;X+ znQsDl50Vz&j$B(IQ|>#uuyhBFpA5GcddOp*$vyjFZ7+s~@M?Cpy0YahI$6d~SUB0! zImggvD6i@9>#5oB$6{g6CYN3(9+%;Tk6E!4`GztYS+jB-l?g@e>7(y;{%lE+o7zgj zNx^^SJTY^0)^~K#mwt9IIpOg_^JBl!O}!glzMs82^pfc7Q@>L1Yjrl6=*INsAG@p* zc7FJNr*o#F^uY|`*+;r{@wRr!8bmigL7g(($$)d@!$mD^r2fF}F^-{#7EUkk{>BUd)`x3cq8KLH(mVe`&1*2}?4&7v2q4|4Se4_(#HsDV%sM`deIAMp4K1LVr zp?3z%G8=|g5eCO!ru~uGmbm8Tf-gnBMftY6nLwG$V_asmhTD?}FBj}L;lhaM=yx1y znafvlKY#Xsd#Kr#hm(E-6^}z_xX|N>+xYqF&Q~4XzV;_M6+H$cAFK~`UYM{&+OFl2!YZjqypz12ddjZz*S#{WB$*UfteBEg7PCcF7^AXv z5TA;)P7A9JXZpta)gnzu(P!RenBM=azOL10$0U`##plVwH~uSy)E`{Q6(|&{RrE*< zr*9pFt>zO{bM_IjOxQd%2KaqMHhxGvPsHngcsFN&mA^rkaL$8SN11q09L2D2kMZEf zOsZ6T?@~+Sz!0P zo|6Xqr7DdQC+(M)S@&sV18GFZVtc1p92*>7%ZTX+yTSsTq-MGUux*OxMkKI3-t(cLjZKTLDgR!L80gAYGqij*t>Vkt7~^VXWcWNtg_= z&#Twzu7;#f2jA6PZW^LFPQc-vQ}uM48fz#axyUTMhnPAcv--AVdLy3qA$FZ(0V9sg z=&)q3F@KGujQRVk^rSd<)77=Nx!)-06yGbF-436kp(;QLm5alw3(Qx{`o^GGaaEr4 zjx13@@PFvBE0e$9`Bm2YVnK9 z{WmmN-V>SOVG+bQp0<;m{__eR^mqq(e6QDXVko9C!*V5AIo~{e7`|hg+p-dZgf8A& zo7NORaL=K)sCW3=hdwWR}fmO6C_Ok(CImFTo)cOxlgB_FowwK5`!7O+g>;m~MlP&^MR%Zn;V z+PtOA^bIvI7Wc=lUckz|n0Jzj*dA0#SGlπxB-?SuPj^W6o5YCGnnB(ewATxhKu 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 literal 0 HcmV?d00001 diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/invoices/sample_invoice.jpg b/sdk/documentintelligence/azure-ai-documentintelligence/src/samples/resources/sample-forms/invoices/sample_invoice.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6f8796469d788e6754e21b20052c54343b7112b3 GIT binary patch literal 184686 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 z zE;zb5aPrz9e`!RC+6FCCw8^6JzrkzYvWDSWEG5-4J%f`)HnPe*w+IpMS+IHtg_-n2Nn)YrX5;<%KEAnz_Juj zA6(jxK~7HAs@g?`Mse>4&VrO+RPTCKv~U@G54Ti2Pm4~du>W?H5s&V$GD_H$1cD*SaQ$i^7&29- z{m~K}DhuatfN1Nsfg_iNdgPJ!_FPRS%_g-EGw&`mu{Ao0tDLGv3*&oP6rJ^gT0H7c z{?y^SeBTQPG_iLm3H)TomD$wuADh?NDQ{L-4DsXMU`Okiph}{Ji0@s17EM13(4xgt z%ohP#v>}d$T-d8_9o2OBy7n^18d$X=;WJq*T_{>j*h^7y=|luieMZ4uFUM=ugJ0KU zI88cAkyo<%diY@?(OR=FXso%z5j!caJc63icPiB1IAq?-wEEI^Tbi+2R?j*O-HQ*z z$!XQ;&Yv3?$&kqrp$K6N5=YMXCaw$w$c`-4LzW!K@UTr$5!>sNo^ZOCWd0f=CKfX@lEzd=>sIo1t zCrr-tu0}sLLKggA_8NL(98n6Pm#dZOL3TJVwLT7UiEwWJ%xCPG)A z%BX#fDdbLCJ10ucrDsC8S$r&zCtq zG7x4!;;L6&<-PVXrqtXDw?92BLWQ*WbaMz66X~s@lLJS`&+Divw4BWa%eBk37X7OI zuP%zH$R9rQkmUE2F&D#Qj_xG5Q!XCW$FJ=^*YJ3H#s1>iFu?2$wSn{c7>aF4**@1y z&ZV)XRq7KG50+00W=)^3=KE)Fqxaf>4#*4n{!o%KHjroeRK9l4GI4=xAcGL9-*tlF zHyRqvQ8J=Jq7TKmjP-tV{&}XlBU__N3Duwg#~XDL7`3g1K_xEw!8YqBOv;GchQDEx zw%MaEcLI{Wt3IrE2KUQtD$YFQ0)};KoC)@sv%>wH*6sTJcTm`+^(*^@$Nk$Tb@O=OS@?BKtY4`~}Tg@Y~hNJ%AD3vFd%k8u)NUfoJBF zGPJ9GP>>K5+n)v&AeOt##(yj?D-PMopNME!UQXBYan(Dv0DAYOIjSy}o3)_r-{{}> zju<%0f#4~x=yW7n_alc29?D+B2iq}!;)UN>_4-D`x76d~5_aC`fzwnwKwaceCjq$v zAd~_OL6_WeR;4}LS$}I(?xo^=kp3HcT<@u`?a;N4wNc2M#lefl1(A=kDi4Beg(s^n z|2B!=vBpAph0+Rj=bs;iWCPI1fbWt*hK&JROTg3y^GyJz$z)p8G&4D~DyGo6E^3(_ zCRDFn1@0B?>eEuq$(TR=rReK&+@kx7lG|M;W?++w6o`=9V94_Q8KUR?J+5&XSK{;o z@)BRIGD*1ZZp7W=O>2GRrn&;dgDXEQGJNfg$^WN z&e;+Gd)k50xo-&Gt9*BQbq0qEVeV(~AS+xn*M^R6Nk7Txw`L*L5k1<@{Md6Qv3OBz z$j@9AF~{J|?nJDswyRQg^`mX}2@Jp2fhz+*a_AtngN7CUFRp~++b#Pe?@6HhP&e}( zY+(2c>~g?&_PP4>Zs%OVw9B`r3z-pWt@OHqEPyB-71!R;CuyDCE?G6S;6MrE5-+`= zSZ%<_sS3I~7}_VST_|_8T6;hFchF$!v1-P#fWp_M-$5~JdH>OkG`9E!x_Rf15e#Wa z+R-P|AmfFwo`%2-xZCBMWlRHd!FG3A+?(@{HW^?fjPDb2sn>eUtHrYtB^qq`EaX5| z8s_&UwU~C!2CpxA%6FLw277FoI_J-LJ-&}4vLa?nPsX)j6TkjYXx4CNn(BZTXPQ(p z^yl5x6SK@f5&Y94TlO6tQ8DVdrmWM`?G|~D8X6(eikJz)QI+PZoA{4*tjEcG^K z0`9msRSUw9W8#Q%9iXLs)+X_LTOD#8w2KRS?Wzwbq2z^jRIDOc0E_?|0h@DxTR;x5 zNeh)V1gAg?4_Ibd(M^}-FubpU2~qVQ248Ex9JXpv6+Z1}j|WGK7W8ScrWfY@>Qgng z_=Q_}{Y$W!fbWD*Sf%%e;mZlJ{75Lj76{V;5G1vc0@xv9Dq@&y7@r*rHR|k6r(Q6+ zpbw`C*E)?Yk+1s3_&@YkdL1bgIpog`v-M4qed#oACxWopEK@-ait8Yw5&-^72j>&F%|czg2u0fIg-ssY+b5O+fgK ziOmm>3$J+JEH&$p`Av|0&yquFs;d%fo$X)NN4r2IKtVZL4O{S`QMF>~lxJ)~ZOPP`VDao=2G+9Jx|5Z> zqw_UFzk^P+i3EM*w|Wvv6*29Fqr}9-s>ui12N8u{mG7Il-FtnZXyF>H@pVm3M+b?6 zT;NedoA~_!gNtyKMB(Rlpc30mpp?wQ-Pete|H--CsnLA4>nAp0?-_sQJf5(AOM;MW z&s(nBB6E88Tj`kd*rL-x#YXEe^B{7N$1(aZzxDp=G2rXzl#?+DvnOgU8tQb<1b~7M zW~Jn}Rt_F=C5pE^sNnEh=4Y4IpQL^u$D*S8fw#PG-|fyth-poj=Q zMV;lA`o$6wC`LHr*;u}Fz31zfhaFL`6+LEc<|-v(#a(F?*P@lqRvbCb0UqBu6Q^VI zG4PV}Mr0GT6QCLoSEp~jb~t6y^+-rjDuj2Ksa%Z&YA0F4af)Q3P~OkIp)scU;TWZ0X?EAETx*wPp;AW>`Y`q`Y(* zGY2OfIxnsnqQswXTOo=Y1-ktWmbnF|Yb$XQeI{>BI^4KbX;SpUp^t*Lf*B69>5#~+ z9{dh~15AAQ!Ev(h%(}s$IF4mQtd{NzZ^nC%GiG%O1Nm+pi|rE6M^9o<&wj&+iYh>c z4Ws-n{tjZm3ORk~nn3uiPYoDZ!z{k|4BI!aD?Jul*%CE&u{CP-Wc@9sYQYB*PgkfH z6EaayR&H|5$Qr8lNstg1m;tic`B)ug-4Hiz_B+Vox+~H$hz-i2nMcGKeM7|oD)K_S z;luZ5cE_*B`u0hQC1;P3Z&KLgEnP)%0T8`AGa;IjsKD`0P&A$B{M14stR8fs)Cst1TX2s&#F?a0{B;vWhDM#VV<#rX4 zP?HsDiGXX`>*8NT8_nH{*Kax*nC&5RR0Si0bB07H)lnJ2+JedidD4CZ%~5tp zOw9gb)j>VqRF8~B`G$RzN8Y2CXgW{mRLI`5+tanom!>uD4Pz)fHn6VG49T&oooFbO zFU(P>wf^Tbn!;Hzv#=g5@3FC*FGeWZd+#VQ?~&FB{ks1`xbj`TwQP8&+NA4y+8ZGw zf@%%x!{dK)ESa{J%yxXa^gF2Rbv1jjVg!WY{7@TO7-(wrN(39C^J>hae4WmA$Soy7 zdv!l=y>X@I6U9K$3SojGE)8!s@Hr+o`%Rq~yK@Tj>wYYtJ61YSpbSEwa+v~sl6vCz zRb9NR%8-X*&}nF68j9MxgE#w)i5sAnVxC$JyQcBs5`&@3a|+UubG*qLvD2~J$H^L6 zhjdH({B+%9oji3|#BV73&i{CR#tSe&8hq1a+;BK!;#l#7k0#?ogQq!?|P{90!H?^YQJ9FslVK1IdtwwL4e`Ylrn7stJ;-72FyL6zWm zRmIG2Bp&()l#%NSk1x9v%!X-H5br66-+Rh)fV5M)*CCjZOB1WUhgBGLQ78*2sh^Pk z@o@Tg&`wwPVZHs_$jo@n)3s`UKGJp%ZbYY7-^!SQ`$pKgVzVdaDtMv?fj}`F#Pa2? z(O)WbITuP<>blhg20`A|oDir2ukCP9&3)jQUf%1*|ruh8p#v-z;$b%JY&LmIzPin?wrL5mK{ z{wb~!wPX6cS^MOq>0}pYSpnPwA3SaP*jaeFU=QDZ=`_t&*;iEL(D886A$Z-~`ryON z^aRjLCc8}c`rt>hISm`9IqOCWV)xc}1b}JgT@_L#=Jof!_T8u@Z{g?GWuVR5SMuZ` z=`YPf7`SOR1i(R`zH+L0-9P45dYkn%D}gh~`uRjudS|Rz5b2vKZ#ZbgWOJ?gqgU8S z?+aEjcsg>w_^qdPiEK5Pur100K1NQx&wBi^xtoZs6X(d6I2#g-SusxG{bc+6x?`A! z_`zubZz~Hyn}(@milsF`!#Z)#Gesb@(0}TRug%4%-k*b<7ccL<2U1*l(VD?83MKAb z2FL|NvTQ}Jq6v~e{ATdN3veH}{GVa?hRa=##kZ~`F!O}w(5_PE)G3H%8(SC}PX1r) zy>~dA?Y{Rt7&Qzb5)-3@5u%r1Fj|TdiQan`ee@Dtl*ni!2pKJiUZX~d-XcWr45I`g zO0*F7bKS>&-{ZO0-fOMB_VcWFul*j!{iow#T-P~QInVR=`+h!XRM#p$rG_uFIkKmv zLBzW5KEd^G7+J5rS;W8wX#r8lFm%|hVAEZs|NO@^vakAiyr`TDHMnAt2#q17H|vr_ zS3NC3m3Nr2O@F7nzlQdcdXL3oe~#UaCsXlrr5ZJzFRg&79rmv)kP}36xh2kle|dcQ z>dVtry>xf-#+!$q-<$6+-Y*A12qYwsm}~q{ltg)X!!YzoAtI}fhqy*a#4l}uXGP5N zS}@rVi7G?j8fU)gshjtSH_ay=k;X&eAr+x6G>P&?zDlugP@t~D5^7&gsEY4W5l)a| zPsUkfQA25dXFI)X&$d81|EMQcs-}eYdu&F%pr$;i?u&jR>yRpeF@z_3@`r?%-IWcb zI(K+9qcwUJ=vN3*7YdOCP?kIydx5LRk`XGz;slARBSIOg9z_-HoP|n&``X(^zz}gYD zh;%C$Ef`)QxLfrQ4o;+ukYKhScFTH2)ca`bt{P>qjYR5jLn^nz%-Uiu92Ocn%oIpo z_ODKGR&ehr{uHbA#srjJ27Q^QOVjBg*iJr+s+Z=OaQt_64j>aPiyzv!Yyo&`Uv4%m zJx>n+^b4ZDoB1+ANq_bI24a&8lORp}Z0qomn*V~g;+X|%j*kCRMri@B6wdXg`rsTw1#Y15~#;^kg4m$~=cQ@8$=6~e&E*(IDP-K1Z zFXjo;fujJr;(7K}d2T6?%)=hal3KNaE*dLSMK~T7Q)F+wlV|E6yxQ->O&erP^IqU{ z=$BMm(yxM`ZD2o2c;gJnRu)IKXHqndm$5g*9P4Y;uiRa#v6zNgK7=J^W^AjiOuRST z{PN(N2}XasajV-BrN5e~W?HaqJXzyq#7H)?N@dThB*XyK=5Er7>ozCD9ms!GW0%Ro zMLT0gMQq7lM7noEj1ZQKWr^W&h>nYf;y-Sb7?|D!Vj@?9r&^{CG4Wwp`x~6U0>m#v znXFDnHT=qEdzlU13X*`Bg>EGrf29dilau@*I`06~GIbhXswZNVNj~R10*XrwecWnV z!|XtDX&9KV&Tpq+J`TiQ;j-#T>B@b|iC#;MYmV0d{6htQB-`ui{clG>dC6by%0;HK zi@gs-@~k`6w}C?PJG!6qjVN;~N(%;3d44c`|ICA}S2`;hI%KwUwN;Rug$pWyV2N{> z`s0=Kmne|BqXln12)l-Akb6I&h;&y@EhV!u*{D*)tgr< z&KnT~1npqm$)*D1Mdx$T-o$$E?+d(5@6mxPLTKg;j~#&5WzZ}V@Kby1rb=Rqov!6@ z{WB8OAS!4NPs*Orwp;k7=lbVj6*r$-58sn;X_sKDIIM#cDu==D5}GX(6Twl7ck03p z4n6QYK3CQP$_`!pgy!O#CGi!LO?=PV_8sZUHZl5Z4`wO(>4*)zFY^R63HN=fX>A6|Vn3=SMm15NUQ;49x9i3eJySW@A*AIM+5p|vJD*N1jDk)h}v;@3MY{6P=+hC~`aT+Ao%l%;kE zm1P|p^NtjU*0z6&)T1RChJA-3db8(xBwkjKIh;5+E$&b?St$2@r?7)93oA3p2l)|4 z!>7!aIXhc>#2KHl)WXzs4Y=0j+ zC|jcUwUxcv=4=i3Xw(nB0+K`QO0dS^_JNl*k1LtOPxS*nmoHrnbL;W10p+W(GVo#n zO@9wfGHj(h_5VP}*f{sOF-QfwtU~<;+7HLL_k!aDg*|S(xS$s+33e@1=wlBbm}jW8 zs=l`Yy2C^bi*sO!UZP&zXYajBOh00v-!~{MOaVj*+W9u8J~~TVbx?`D`ISVV-p;Px z<)o>RoEEJ<%@_9Uz)yNB_2QORu=Q^sYZo=~DZcl=eA1>|{GWMUY;&sYrM%BqsQY4k zuj(BN01#vR1e3-yj|x`Q$QB*zgbY>S&hD699|>(%S0Y9LUCGiR$)(fwXMF40*)F23GX(br1l6Jh`f$kl7-WK<$f8&0UD$$X`A|?VfuC2w9!_2MM1?Wz>opmpl z)MFDANs}9d%zLdPhCrH<%o4CEKwfiaui7`1-XL9q&3UBn^?X^J#5RzgB7=wab=!8^ zm1G}0u3K|gOxL)Wr$x4oN)HyBK`-yVa$?KJca1JHeR z#dq{jqcs%nwrWCdVnq?<5Pz3DWf~%{+PG>ZtyI3dKD$$nPljterHQ&naxm>ghn4^tM?>JHp zn^dkxv0WkZv#RqDRRU>8m5$l($4AwsI{+yB48V_0@=OtpN%I&26Fi#Ja(fqr_=1RY zg;7&wA}6$S-&bm6oDw%VC``HQ~X591W+P-i%k==E-EJz!)`~HC7HK< zRdogmliVuIB4K2j5D3E_>Y=T%0bk^ME0;7L`gdQ{jJY5G-U(Xr2Q$6t(4g<+&rO%K z*p}Sq`uAy`$8I(!&kYZ#RSc5s3BMT3k zJlw?Qt>3yTx_|(AVH<>i^`fzins9U0I-j2x`n>R?Ab*Dfqn!CyRkBZnk7AqJ+VR&G zylwZzvhQjt)rEqSxTI7vDasYxbKUoW%lGQgy+o}ZQ<|5Zf=nuEeBjFDp($GkblmyY z3mgpQi43C#+XkqP;Xc&7)Ym^AcK?zh^?GlFt{&RU01J_PHYLBp5_SE0%GhTZ!go3G z)fomxe^0*M$*ZvS`l;dEw=WJxvZJzohr6!dB?ISo&YL}dIey_8zGS`xitZZ8mv#nW zk;qDu1FGyyxsD1Z1alZ*bL0EJI$Z732oc98?JaL9b<;ZY=j2c zuRtWq9AqFMj@P}X5I3Bk|7xqxt#d?v+L=ORe#fY3J z^0l)DTA{OgOm;@LxjAz#7O;TyMD?#|`ik%GuAD%%m{ zRH%U|5|`ZRo?C>lWg7BcR=fMz(X?ToQozdI8R^P3JB$j0Yr{z;II2-@A>!s33Hp+? z`sZbAF=Xj(P#rgxrA}H?xdJy%x1le-!|EiCsg3VbyCk3An4BDKyJaJyEO?L>8MHf} zvBU-N^>-xIIHEk*d#B3)Hp$yFUz8(L8Xk-%a41n)dJ5;jFg{8otEqM$0|PQT1^3} z`>;f;XX!6T)vWvDkSg$#yIKmgHmcU9I_@RyNbbyEj8Y0@E+5_8@Lb)`X+D9SwrnxW zgcgdd+!z%YdLK4@W0T1xXE!^va`@TlbGKr z*3IcaS=BZK+EugIHcrVY+S+6^?gfJgvf%Ig#bM0a#X`HF4Ve2p(?^QabYL~gp9}V= zeFaR-K;+O}2{1G6Fg!tIx8jJW(b%y28Y*Y@=4vYtAJYdT1z^_hf^CPP0^tGLvn&0u zLiWssW2Nj}=w<`Via4CorYf$0?Stfc^Zk{{+5~-r-i-x%c)6T5!!kBg5`QHz!5>}j zV7zs+H50iJvuF*SPq_Q?wxFtfkmNBa=?es}r@HSc8IkLtv3oFLTz%2hn~ISqhz5ry zhM-WA~J#v$RL{jFzH7Qh9pzOcae_U_UhUC{aX|${cmu}1mB&p#7L>*+0q0<#-_ewWth__ z8_kjj9Jc`j4xtC71}&nkywtO_P-_MQxTNVJ+T6hqDpc?5$I^$3f^<%-7dl`4EfMx>Qz z%1sgAg#gjzL1MOvfJt&m1W?Gwy{@E5B*L#2ZAQ%F8DO5Vem%b1{lnRM zvHF`V_Lmbn7=3)5eN69_Z|IHB%SjCEWF#brl@DeSA4q@Ry|L)IbTD>eYPTD7STWy= zpZe}$uw%!!TkkcQB3tKLO8=FalyaGRgW~#xK93>TdZwbE7_}koQ~_=xj;4)izoMrO2TDTY^Jw*kjz$EZvtHfopS)bFG8t z7cEV#y2dU;GJDJb-eN95qei1{JFvMVcH|S|E;uAOLJbHx(oGS?zLJ`v&K_ zL_a5j7}#}62dLx7Ct#FfUZYK;Lh>VFK?%wszaA12c~VkVv}b>AaG(G7Wy{o=yy74A z&1w6jkHw}?4#QV7$wn~RWQ z!22sUZxlvAqmMgXXJ$De2CZ7qf#e}o#)<$E+|Aajd(D%E+LMC?Lk-HWZ*?S?h;d^x z3qXfxJ22%neBA2TIzvEY%)ELj0`{lo^Id z7XIE}{tvq)|MiCopwQ3HWuW|S06KdK+T&e>7=nnzKUytC`uG*z6S!5yca>8926<9V z0;^x?~D zbQxYYkgz-E$+@130EG@4g5YHJMj&n%pEmWnox12-cv0Tw^jipvA!DqIuvFw^5~&H@ z8P}x_ztC>wc(Hqxf_tEkKmrcR6Kca{EJ*Yg6(a5NfI+Ft!qVQtoeukU z;$KtEH57c!6c+c$kXgSThPSuT_42a8?^gDxnSxjWVKEKIzQ9X`g#FoG#wTtv-U`nl z1W;bpM`-KtFc~cj2(Ded|2}Wi=9$anck!QfhqMpicC3|cqzDitMhRzaci(LPk^SS8 ztunr@nS+(bE=ZQN7t4C=Dbf;%TdE?8v1?U{bn5kD`vZ?kGadRun@G4xz62`&B4GO- z8=wcQM7wxA-VZLYK6aU#(BD9~?*7zKJ5{P>IRiT7`wKsI)E%|hd%mI-Zb~sPPQ2w~ z6^0_M1Y;B1q)*Eo4p+cG?<=^L-DJpfZZ%J~0pS}S{u03uu)-{xxNHqxNz&+qu!bkd zuhJ;0+yD3pY z;U;@gFYGWY&TNP4>6DcT#Oj-gVLGY=orFTuI2^iG`KV-=#&jqJU7IX+AXotfhhTPpoPKUc?_u{*tHv$go`Vzc&pW)o) z@IX5$Vo1UIgG`w#OM1N{yqMqsO;*@t{%WbceU&I;xcG?9K2y-y>`AKnW8RT&ejLfY z54TujI}?1J+(}T%?WMz4j2%qjbt>`F7DT9dHszc58`h%F?h&`ClfuK)z`7NoNEQB~ zjoJAfky+)cG!ptKp3D|y;L**{Lu!$nzcsbUmts(MTc3~JGWvldy98_lxJ|&!(|rJc zazc$ zUdS$1Op%CD@p~?aym|-`^lliE`nc>=ZKx=gDi-ibS!pw3_Kckrl%Qk_jzbIe5;eSS z9_zfB?(3t`61I1yu&yR7769hHsX*$D5@w8>Ay%epf7$)>;>K+3i`qoP2d{Z*f)~6W z^Y3>OUZEtE>nANLlZ{pvi$_ZSq`ys2l{m*3P78WW-4f;Q?hAs!Xr8tg6~uaxov?85 z8gXMR?EHioVjEeBg)Z8xLu6;qTx~(L-R-N>;?2W`?~aj zlA3ZHkF9A%!q>U_ejwn1?RsQjMB)&CkwO1gy&3=Ffx^CwAJS{W_x(dH|a%~FMm%Vi1&i#uU~ z`CW-kZcwOq&w8({n6x+#kHYVy z(5YX~Dh|Tp|6+E@0yKxBiWqoaABXrM zm*u}HpcEcD{e>IJCIIof^-1M->yuw`L8r5>0OZAwl6w8MI9sR2X*8M6z#PG?bPMR^pT72S%T|XOEN@9+>1YtE6{$QAQ|KTZ{{cSVKY7s@IGnC0* zKt3rCnxEitt2}g==yr=^*N3)|o%|-m;L}H|v{#sEXe8P#NnH!KfsT+M=HEbXAKqzb zh|SlyrGI-mOP1TMzI@(psZ~h56~NVy1r>ms7PVWn=zFLC^)tsCud+hsfee=chq~GLWaZ+9| z4|Sv76{)X5122!6kX7@!mQbVh4(H_%^RhOgB6y^6ckw5t%=gE!_X%03cXTONB4q=EG-^YT*b2Tj_+(_xZ=h@IWxsO7 zub(7FUvzflf*QbwQ=ecNxs!s=vuPa&dULv< z1Z4`wK#8?}#RAWHuda9A6;cS*#(P9u2~kDhrG>B2#R=)RLepogB{Pl&slD+a^4uBP z-#~6bR>R1wLhxEz)3g7;G#~$eW{&^T8HeywT^lYOy}3Ntn#LCpQQWjCduzxQ!=WvY zU>HMUI4r`J<=hdtI$=ekgKM95ZZq9y4zRyH|2s+54%#E%gW@*& z4{G>vJ%G6yi98*B(%AbtW_m~j9gfDSe|XIGi7S?e@&fi79vbSj&u7gefKNo zKI-a&QbA)bh$8HIj}k8E-pdS0o_7F1K3(J$Z%#}mM4mmoZSyNv%h=nGCP{1`!V{S8 zQ~nqtLmuk#$ow@sd--RI!F(8DDH*WaLJg+z4}V-+qw?_TgW_nB2swb4t_s4JiOs3T zOr+r->L#oW6l(S+VdPd1{C}oLp4_kh=zRE)v66v!L?2%+ERRo5`)kKosxAH>jPeDY z6dgGL*AfJx1d)P3k_0-xfvPPIWhT}N-u(LY^5eUu7W5B%g(|mE$%7`XYsKYJP(6ZI zxK(Rr$?*x(6V;es-j8FpAaY)mfG?8u@G~&YhuSo~(Q4#A5Sk-1>HUNzlzo{i7UTqh zpio_UirTK8QqPW;?rJm+$;ka6W~lp07PG&aUP?tIFb|_dw$j zM2P+(monO&$C||-U^d1iTH%QazS}zAYNVc#ECG1gt6>`Ss*=AeI*TeizgA3H_myX_ zlB#z~i-b`lCsiES`VU74GwaZmimK4+!TD%_i=T3`Tht8M18lqcoExXCiH zoa1;I#U$6{c%hl9jI$o)9u(J}LYe4LnGYBvrH~mkVP~03$HkzD5=1ahj0Gq*JyRji ze~||B^R?#Cw|z(o_85(iy5Z_$L0SD?DoccS^*v0f%{tRxPsP-4C75)fqy9#JAeRnp zA3I|k$R>;sj)P>#QgrO;M)|Gy8gA^2Dc0S4J-;)ey&+=>@E=C&1N2r(Vg)X!?b^Ylya%LnOyCiiIJod0hY)WHqqx*)){FA(e%EWA{7gCoy z&#mo=Cw6-9E#`$}J$oV#9RbOJyFicGm))1%c)$*ShPisZ{TcQajp zT}#iN&mVt`yw8}Jf4WHBFtT>TV@VmV5y@NaLZ&b(tfC}GB(dsU9yF)jy8rF-vHi{2 zA(4~RNH|fPcG#c?Ca12j#~o$x;i#?vS9@+~T(j>Y*C973-@nDsI)Nm-e+M4=)v+F6 z7Yr>j>eoVF!##*M(*y_ek_W>3+DSwEHb`TpYd#p&801PQUlYb&P3UCB9ghAN*4h=q z`@t_Gw-?#T{yMwMD z?FSM>(il*x{@&$UfAgGk22Tn934F^uRT!ph>!}>jHnb;5!wpU2$TEzHtbxbrYUYqo;8kC zaG+V144)Z=nk_(LtIp=?IdEl=!>+yB;kkG5P7y+lb8m}=0=h3x^8FPfekgnTqP0}V zs@&U`BtRiz2cLVP+e`UQdU3u>W{oY4AD;Q;DLEzHII(@GxoDX~njr3C+unN%F>Ltb zBbg(qeoZ8x-?`0@Kw_XeiTHm-QJ;C)n)V^NUbd<3T~*D4g1enpxYTp*my^mCJgN^a zUGk;yjPrZaT~i?8*0@LUy~hY;E=kx8@t8s^oK}@c*J3^9ls>gucRpCPc_eW@;71z1 zIa*zMajWo?E7Qe|>YCV_N>z={c?pd6ysIp#dZamRoQ%O#0jNbb#TfV20R69oyPBW{ z^wE%yIWg4Ot6ZUj=OfLQxURhquL|Q}C*+%8bp*vVNu0+|&$27driUGR`}Xf2yRc#3 zUD-e#GTOTP&}dgI^lM6!_f=H%dlWfR7d-Uf<(hM=T6)?=Fmz2gPU)A2iD@XVBty)z zA?4U0(Z^PNsb)${@ zXW&!pOz$Gmmmg&ge}Cs_P3BH;pJed4-EW{=&4yrzFCpHz(tvg|MVvZX$yI=RCj@oc zZh_rFAaUtmFR6V)YsqeoBrDF;MR0@q0(%okgvlgiyEFazCH^3?LlXQ3y7gxG-1j%o z$hL{zAM>ypd-a#{UxMeo9i$_Hm+^oq#*I!T_OlKgyl;o#EHozkp6Y zoy-05uzz&(jwgLTE7WpdGOX9S=){_c6S}6<*Y{)9{6I3n7y4bGl|_yA$(@vmA<)pb zw=f#|IE}CbIZ_vtaNAX_0JS>DGR;}IC3=%0ib=bsoQM*@Sd0hSFN*Bx485`E=&G+C zeED9e^;ZFZwww!RPuj31{e?aQ#rnw*V9LrX=p!# zvq8ejTyh{t-W1E8s*Mr$m+^6dx^B_6i_ zU+`-3#P4Ty`Zg{5nQ2ZjFW$L%!?__*q``8Y4o!~?jceI%`J0rp+IGjiVX=nI zrvphDO$KKgmvJIl$xYUtcjZRaih3Q(QUaSFfS9#J1gBBigr(2$@Q{i&Rv(sYH6BI! zjm9a@Ux2{WO$jr@<`HqE5=38pnOwUHv_{K#$J~ z8-dXbn1io|kwt`pnV;)DTb4aN1j5D@zQI3;E2K~DxmqUpcXRt+JkJv&V?h>w8b>LC zL;P?*Zw`z)m+y+I)K(^1r3S2~f?`{r_N|#=@%1jXIk?6ryYD^~?>csY9>AzVvUzsC4*xfPjgnS>5c%BynC8WYTS*PM#RzpFmwMf?Ypl>GJUp+OX#9O zw)tRbOB=T_G8z%9I>62fmj%b497zD1%Vj}&84)u!rGn~see;1W1)58fws^)@A>ebWRJS`Goybl zP3KmFemp+`-&TkEni2?Kd1t=5nyAxk|Gc4i7ieN#H8UqA(Ke6qsS{Mp>iOgRSJC4E-@ zsfxj9uF+HeTl!-Nh9O~PG2T zhKzP?k#DAGlDK6`l$u3l-bn5A-f-?oI%E>7wGXa(V87KCzQ^>!QeTN@*{Xd#BGmKheokwGKC57lGUS z29+j#zq2yrq#%o{7`GtCQ*KvEzr|fYVmA@`DB%O++2Xq$zez)C!o@xp+B zlbz7x!fPcSj38ww12T4J!U${SYS>kO8t79z%rsOa*;kpMb5&kzNQt$$5FDEIDg{O> z$bIs+bMcOj|HW82*QwvKUx2vFAM4zfbX93ARzML zLG$2QMAYIO+QR7kU6bKqk<3kFds@++RJXNV*CSUT(RCz?2%tOIH6<8w7k+r^;ZyeL zy~F#`7dIZf3{ixmBjg$p{U8jYuT8WTzeLvB;*{b&NB1dFi7HvW7~R0A{S!@TMc?#) z*WE(jyM1}R<#6#(t>IwSqzRv3i;TF^5Kt--p>g6dwcbmwb#ISy$5T}Lkxh#JbuWWH%8O3fzZDux9>q#Y|8|nG1amANp zXCQ<`_D+wiXA6W{LnF9@Ui`TJxOMfQMHqOoj-LgJ;VV9>4dm|wO2#a+gMvC6m1v_# zc*Uow@7yT^mBju8DZ7q^k=N5%Qwdar30R4^lo`y4ytIZ*7aTudNbJ1}6x))pO=Mn# zLMQGcobYST4Q&!Sa2IJoWx^&i=-2qNS!KJc>IY8k?)NUrOFcr=|S7>o0JDW)JRD)$F~!&a1e%8X}Ss4S){Y1=2CaH#x2L>)OPXfvsuSw?-i;fm@SzGlvv40u35b3*;8hb zg}Wua3Lq$)G5H(_a9(Wv$cB_>zc+yyrtLz<4og1Rb^5v5-Iy&c5vd@!7Vw&3F7ui> zZ0%l%8XQ|G#X@r-An<~3a*;MCMZK$$)tm>?-gs7mWu}~1kJfJ)ytm|#LndP$P6Ub` z&m_GEJP1%vyqW3tu%?VJ`(LIw-Efz&mHh(gtZ#&4%_x1jow+aZ>WK-xvTthcSat@4 z_QM`&R`d*oniWe1l9zcFOL&`x9L+)aHwe3ug6GIN#cnUJ-(nxM+ zC^p-Rc1Sndb#fVRllh9ZdF4q#u80FkIzxx9`AqD|hW-XxW?n*8tj|A*9aL2PMg*(+ z1jD#B5rsU|Id#PqH4AO{eT!W`^F8>)($pj|P;nCBUGp#P9{ER~wEurSNNulAla=-9 z%Yuen86ncb#Y#g$z4U#)L@Tfl-`*{5>OjXlAIht@D^s7mUfu7J{V=m>vg0=u6~u1r zP+w&v%r-agR|aiAq!4(04J!d!6ZAdmWe}a5pI<1OcY`}PQ_$`zEizJtkSzCJxd6m$ zW0wE6C6l3n7CNN%VI+{Ph^ymvZLs-8ZIgKA$zo4!_D)XG`nJ{rsSy+$@fizUgh?N56Bs znTwVJX2rB7Zv~N$Xe*hsZrP3#ai6Q#KgL?6`hjkNo!i=%v#=W?1 z?WxOx%Pk6ne2V*F3KUh}^s-X&_he%j%_7j*@O>%XXp(u@{sBgx(rtL3gsJ#@Ozp>S zDh94XNjEQYp^UF1j1Lg~&<(^8FsmT&Eyo)@i*`x8x|61NHGDjklAN~2E(3Ks3+``>3GdAm;9dGa%Kwk4>1T647`V;|*0%7<9LJO=-uW+)EIre7Si`&FG=qrRdbgn2VD| zL|xvYbAq#0Vyh53L1{Vuv2IVjhYw{XU#Y{s$ckkbVM+38z^9=r-Y((sCjZEyw_!Ls zNU&k=P%fpfd@Pm0##X{4RF0xEscEU!`BbIrO2r(z7~!kru%ro#UaOJ+6N!uPA&Vz!oVQA4 z+17Qxv}P1cZ>xtGPOL%%v#XJ%4S-phLlGRi7AfdhcN$UZTtg$*p5MX)GkTQKaZlI} zF{_P7eKqj66CEy3`Jh{2;n2{f`^KGQKH{8=|ph*qZ51y8>pka#e?7xi_aQUIFdk$x8c0kXdgePs|N=(wj=lB{LOA| zSEpHw>_BG9TMy%#6Ax3MZ9_ypeRI7WN<|gEhJnmCT56jcgzuG}W~vEM6lZkW8{5Iq zVZu^@%Vu4R!kK}$rSC0qAJS9{haUv4xkFUHn4t2oA&Lq;qRkw6cV>KuztvwsBYYO4 zc(BgMp0;EcWpf#=@$`xnDqR!HBTp5(rxV)90|hr$7)^|-5Vl-tcoAkUcsD>JfBsZc zV29DM$XG$o-}qyCY3Tq7fyhbyLwa`~s)wxwY zuoYG4K_WK%ONgSDao}RB*W655-iLF(viHs%AG&!e=kp>t-+5%Z#eU>heXt0dno}E> ztsV`oH5zJ4oYmmTAyXy}>E%%SG))gAZ33_Vy@%Z4Z=hH}gTeAEK;SZzLuELs)^(Z2 zLFIBF6mGQ-#{||xr4rTl^)DA&>qf`J60&4a_o|msSCu#=Bv|7Wslp`n{^+dNSZ4BD zd83u$;}bWla7*R-Z1E`O8eM2d90EpR7xAMhi@y6;u7?*l`4uM>yMtsMgV148P9&rN zWD|$FdtoQtla=2$%=vxH{E%&c7CAxCfTaEC3lUa=Y2eCk`dNitZmsKiFmQ)fU7s|2 zCD>yUBEjo7B#FPBcT#;?eyqZf=j&W1bKWrrw}&XqV`&JezR-AM{EO%Vnvmlhho|%(n}WLD>byOuT5~V*Wy;O2{plI!=CZ)43ZHs znMHXf6%_Fxle$@TwRp(MwlOd(?oJm{`7p)Bax;~5GnfkRioHcmM9jlupXnk0R7(Ya zb6f>u2>XXN9a2!du4!awC6{7Dh&*+)1pBou2mT5}Ot_{q_yAkSr>S}lsA z`##k^B@H!u($x3}{T&#cQE6r$$O_|l-AWb%vVq~H9GGGNHv_3P^ z^L;ThHmugxk)~Jx`7VzjtqVpU_48WSkK|>zN_!*@pmaIx7yJp4peoDw8BPwDRe_wG8bx6QwS zR%9=N>^~j>%j5T*fMZvZB*!gZY~U12XaHX7;kpdBa>kOd z5f^M zKdH-lfBPoZ!_bgAvb7vp^h2 zird}F*?Zk==ThJ7q*bcer3F!Xv28>Nb5V_19paTn$YIg4IeJ2^Rvp)5j|MzC`8)dh znLB|fQn6Tivf!BUWmIjQ(m|w{kSmA0gh#J2I#b3Zn*^RYrB-{{9x*tEOzdquQ8|<> zR9E69F#^*fhR94i8qKI@hVk^ykNnm{nWAH){KU9);IwK|FC?I>%(5S}2|LyUg^z0P ztoyMwL<|bso%CmHq;4k=c^tZ53&~}*w9jNX^m2SDD}!@-&LU*fRn}!Jf=@j3?6ufb zj13SvW_-iYd>(c9u4j{DzW=aCIEu)AqXHSaX`1@ho@GYK@{l8yS9Npg8D)qdgcRm^ zbUSV336+ze|$7SO$8g=+}xyF;v=o38IPxnYA7~s}l z?H3V^t)n)r>M|qbGYO4DVzy6O2q?O;mivapE^;nO#)50uV|E1IVRU9kZzZ`?W~JQ} z>xY60E&VUHr}h35wu0_o*4>uC_KwA0Hyx(CiiB5Vr*A8ET1}{uoiIHFz)jRU`4cWy zVXL$sG$ohQj84jK5mg~51RLOY&@>7tZ_%tXYC|BV-xPf3>tyh%v?HLL+PNqwKK2Q3 z*PD9cS<1INFFAPa75IDLbN<~ROX(nW?;Q!I$nX{IDd-^g;v?`J4-a>vR6X%L$vr&y zCq}4^GxZd3XE3`5Pjv==y*hT`>Uul*nQK|`-Kqy@3>eBS_!~%e45G$LP){7W9OZb4 zh%yXQ;gj_|9BdLRbph#}8N9Ak2a!UD2-uOfHEdUX#X7k7?<1|qZ|N*%_bIz~5}o+L zJvqUYw2qh8@23a+Y7`BtrBe0gyeTZc|+*LyxJFwGNbsBLN^#ZW{;xT@t}p`i-CB7g6OO zw-Cyr72jGe6b*Zi=yKJhpdGI;J&0JIS5>G+Y^|OBT}21y;q6xEOjGOoYj{TC(Tmq@J&PHns$pdp ze+Z}*{^5Il=kRUu#ss5IBDAcWO~*&4550B+YZsp!DAKUgZ_J$fa6iCszSX4CE}H#% zsued0v0VH*5np)HSD`6Rn3iGta>;h&xCOPV`}wF{wB#Mu$*4hqwRB$TZz3*#F@NSDBJB4<7 z9^Kw4#ne`aBudPT3L{^oqK0kp6>bU-jnq8+U+leSR8wo$_q!l;LzR+9fG9zfCPg5D z&^3S{O?s0mBGNmeG(p4wAqXfUMNm2dQl%KAg91vG-g_?sf_T<`o^#%@?|YZ`9`8Bl z!!ySI;$WCT7FoHjYtA+2fByba$3!Ta+#84+B9OJ--IH^AwV8J8KN2)ptMG$-kki2r z%XZ&u@Y=`mwZ?)5bw#cHA?5XjdEUX_ZU_MsmYBzKmr41&0LQ^5F4vf_I>Uww8aJ$C zIkgSsAhzjS+L5aT7S67{7dq=q)oRzZ75eo_JU=6q}VDO}F7vWUS=TeyG&*)=D zS(Q@q;`+`E)!f>eYobC~+uxo0HfN5?k|NLJsg>6g51_JA#7cg6Jd8@R8Q(^Knz)rD z%w)c9D4_k8=K_T@R!SS_R|{0nG{3OzJfLn&elDg5E~j=>ewGtBU7d0<&M2J6UFggg9t?p9ZzG`t0_J-4`O41>+n*#KYpr9`UTK&Q9 zusb%GOg9k@D{;(s4^+QeBrcD2^pkO-bFV#cWes|WrSPnL;?l?_!%I<02h$`ciZCX zAMi>^)6V%OFv(|+K06}E$>=`eRVm-kD1gc2A-csgV{<}N>idT~PamAD;Y-Cv;%kW? zyu4aJ$27-kg$Yh(ANzx@PB-a)0qLs7AkyW9$(MC!+oLrJwx#x~k3ViJ!g=A{@XxM( zp3_ivsjY9LLUE%XpYRZEJys1AEizq=W`LRar3guRVe|5VmlQ>>;d9YZ+L||mxokF}v4ncA%c#m)_jd=c?$&kFVGTJIr^|-D zE`%alpbX5A1|5N2Fe06+p+9{y%uGe{ovUKA`fz6(Fasr9yn1FlXV``|k^iX+St9aO zu+m}ZR!s^ywIb-Z5WA%sTPW$|FSMp&t|6XaJRsfWru7SW9u&qIA?`t~r3NbWXuQ&f zegWV7e{LkzAnvc7xOCUWd=OckIjGA&tu*LWqo#Lik%cod!C=7b{wFovM{W4DXP(`d zZrxC?W2@x2-^IWGuGgU9G939SuNvur;eMe!$#B*7K&JIb+1YYLHt-u< z0zc!aDS^k&$d`e3PY3mvprp%VikDeFnsLTGLp#`3u~7$mNc3zfVMBVHe761awc^M@ zwka%64Gj4;@d7mHhWnZIQ~?Cc+%A`|Mp-zrKIClGV*?BO%F(89SYTxP;Unx$3K-Cf zEBnuWEg1eG>l-DOcsr3#or=@ZCOD+WF6HN!WUwm0Y(Biq(s(|i@Ozo-p*8%3`Wgz;GW?zH?AQrvwO5^1S$OA zml^;5LF|9xtIscY(j|G2=b(sg00J}|p>)>^G>9;nuB?pCQh#lH-1}6M_)xuPRMfG);7^}+Klw+!k4>L-{yGUpT8Q1SfKR107z>x9IjrA=&2rgEu87bZIKu=;jcACe}eI@NLNkC_UqWG%%7QVLK6u1yZPBua0#iq>gU{+;~ej^Oc zNK2Hz#8b^p^VFTY8qKso<|~S;itSE20LJb5RTZm03YCuByjKP;09PH7I%a*>u= zF>UOZ#~#qD&qc70Zc2Tl8h~MV;YdhF>hr??a7W~G& z+C_RRKZj}Zm3`scapD3^DEhOFOg^@=z$DiF1 zRze+k5nF@h9`SzD%dFDcw#Z67b=z}~$*CG_nK?rsDGsm&pNZu6(SkRw>!IF9&Y^Tv zHSv4Y6!@?P_++R+Q?HPKMH^i@5wzp=0E@0{?PdqV3wmS137Hyz4Lk0+%~(v9Abv)U zaUqN#z(1A4bzix&POCi8ywQB^8!D- z8__o$-D%pi{VK^0XBC#uMiCC9j_=L*VQ?R!cmEniRiae*h>vaHI?RU3gLRuKz!$vh zMQR7*W=mX`k38KGR|M7P3vQcL>50jhR6_QuZM5 zE^#W2-RlqNouLDt>mY3WPM44nyeM@BTgKmH(7%7lME>j+mYYXOxY5?fCkK8D=>P=X z2&RSeN~(P1mH_KD(F?I1x9ht)Z~*+2U2vC;YkiDOZub$!Sartq#DQjkRL|FkHCYT#*-?T2qnc zZc!$WZP@fdM+GFKXBVYMCAVC4?-!S%)l@Wtc&9)OedAn*wOTt#Hfl1(nG=2mwr7|;%?vgOp^OhI|g^T2BRPZy*}FNW-`F}%DnGC$(3t`}ofbInl81MLv1Xa_@e zyIZria{^Se5QRWY8w>o@ITWr)Nbs?BNE?@PVtwkxkm!fw=3y@C zik}`%PG-7!h)cAA*_7bJO~V9Vch5k=n7>QB4Q^X^|K)bz5dWz*e#qc(oy&g~Msr+* zSr%NM<&D6^*MX@=IQXKf?Ld_U=ZVVT&As&x9dx^N)Ad4kG}y9-ia!hY3bf>95e@od zcL8q{o*~QY2UonYS)I)$;+1MG!Wh_Vbn=}U~^ZT~EY#}^cgPm`a1PyKqnc(s-q&EdqFSzi#%Fofg=q~At z@D`kVn(5A4M!)i7R*q|Z=j^ZCq7}Exr3^dWJq~e4y+vAIbNTFYtlY=j=auVn*6K?Y zK2%{P@4*!>3rkA%G}@vAZ;A>=eO+XL4dbSQm1Q#e+F8Twl(-x-!^!_^BM z-`#YJzY-5A3(Sa}6jh&d_9%;mG)*P27U6qzC8YjbqeA6gi~2OBH2jkkULN>J&`0 za5#*DZdtIS?4{n#h`H5u8%N>P>z$WvYedAtTC~1w6KNVS)=_KYy9Y!vk(X|~hllR4 z2f?AQd0^PEZgi`yx$4L3GV^|#CFcI_!mXb}se)q%98;~w5ANLjuj=<_%MeTdElb_pXP5m-9TE-P8-_U;Y90ey z?fk&xMSg@sT}{=I_~oiwLs@G|iD)>9t9@0@sSE2qT`_Rhj2W7^B%4=O8Tlo>VKkj> ztX;4j3mRwh-9M#Xsd3vjiue8HXz~iBj&L$9RchX<>0G}W6=#nDjmuUAlUAwE4WVSM zws?mW?}jDwphxxR=$UU^?|XII6h+5FkxQFE4dLgx02EEO@`qTcJ~=ji&z4blz3Arc zSfarb4+f(O@iCkt2^nW>`Y@n8y5`O$nGL0R$*RXvl+;4?w>-nm7pSpTVrW~&Cs^-` zy%~LLw2xmuy+|QwORm^Rz)4@C24;HWEG|7-bJe*2YTMwj_vaP&;G9v53risF)U zlE#U8iZ---u@qiwDW}VP7mM}=zuq1GzGh(eSZfZ)XA`k_a>{3QlV6`CYugB=S!rA9 z62JR@diM=aE-DFseld0xeI(Vk1G{QjwUHs6 zbd!e~mVxo6ieGD;g>-t;Tg^}Q#gJKWUTUg@tR z!QA>B***K=NJKL=#5P|g$Du6_H3BwP3h@i@26Pv_y<@6eNgva-^H=svjB%t%gmq+> zM4z1l`h0aad55H&@`g@jTe($!PmaUkgS)mAn@tPzoDIA}PCYB1SNC8AlAYPl`&mip z99EgK*64QLRDny6O&@aeO8xN87kXEl9-%3dM^Ld(LUX}FQYhP7;WfXjOyNL-p|dM* zf9&6!qdfEb;%S)u%oEwy?FqK_XuD^TFO9wRid1CZded%=bs}as=l_DxqfxO3r7i5&X8h)sRL>Ng<>u^ptWKb&IZgby3Yi{+C`?qLQ1F3=vI$O=5 zq_1Tq?^)-_41J*T8;M#To}o0b6CuD!VM_REMTLNU7s|(u8he(6;0`7j+lF$=t>pAe z^7ZmMJ%+Gqx(vULqzEr449r|AMm5o1|$vdu=4S_8^ujf!6r1#GS zt{B}QhD30ZrNl4ArXfzZSr6CTtBHNbs}bQGrPT+w4M`yzO>G<~(T?^y0^!0~oRncl zHD}~3ldbEsgBp&#m(mqz1lTwqP? za4=ptQaVJ*!V(R1fV*~cYNT22%(&EUv#l$p*kZFbSb6W7ayk=(z9$iV_(*fV@IT8e zUgh1q)3bE2Gpn}mz-^ni0IKP6?s1m)Cb>Mu2R3y4`JxTgx5HoRi%wi@Lv3TYGPSj_M2%Qz;)d|9-0$BYoKpWSVyj* zDJCy2@V`MX0LuqwI?MzwoJ*6p(o*VDM1iGy3N}3su96T^{_uD;cT}kVKFvO0qF-zt z7CO`p5IE3Sg6!a>El86Ohm;3yTUC(xs60AhNS2BKv z7vLGD8yGe@DC}5`;M8Qwscr(zMM>%AS419MrBoN#K@)6qF3vm1lfcJ(1||5DX^R5( z_ZII>@rt)_TE?48ybJRSDGSMabYKMtZV?N;*_cll*DtBni|k=hgPWHi?NWTHY5QUX zwWr=BejjLAzYBkh=xC*5;7OPZ2-^<^r;bST)ga%H{d&;r(UCWhYdaVC-il zIOK!3n|0u-4m!0Ia6ZEoL0mOa4nZc~imn8t5pbXZ8;V|QpkP?}$X-Dpag%Il;m)i?tdY7nN@zZuE2$&zkpA{23P4kL_N~2X5H@RWgnmO3EJ6U z{CTK-a=vhANp$IOn^$e$R^C)#0p8+9B3+d`a)m-ckF$3_rn~^@aeRTHsVj zH(3b*qwqZA&xmagdta&3ldiH9H@Kx^5N>90-jGAOlK+UIW}q>~F#fahGph^9isPzn zOjSE|jFX_{Ca5zJEo;7>1(e{|`DU^7jq7W=p)$V!7J`cVm%pv}|F18>=#Nx8{h+DS z??5Y7zo3ndpe;$48TE)cc3NIsv{<y5Dc^ zm5;#fBltb>?^^J!5C{stTS%8F^2k*v?e^_V@ma1p)_NnDY)J|p8ephj4|f{bs2pXx zouP=-el`_zN=@ld1wv}^kV>VCT3r0k%Cfolvl?@3yQ5JfDgKd#AmpwM-9@PnmQS?0 zPwr3s0zQCU?xy~lKZ76s%YrYHZ+n4_&YxQwsf4(U+PaKCYlSUEfG5VC z>tpx@>_X9<=Jl6sKUSZ!^&x_nVGeKHlopap3^x7%+3PF*cmAKDsh8oYQdWIE59JHG zsn1D}Q~}OEF6TRY4r70^Hx0wt(*E=luswT^Fr?dXWK|c#(J52Hmm#dcS{uAse={fo z7sfDnHk*)`sHJ`jm6}bYa+7gL1R{1#bl|c5aN}tuQU4p8ImDH}5R|_cN_vTItr!Vb{5@6}Iho`Jdmqlo8IY zJVAZC`$eIpfwI%6!MNAa7TD@DQYQL>R64XUiXT5c!OWY!ggRMh>6C8(lx<(Lw^sb**R(=Si zCBd--QE}OYRBH3Pe^&7_KdGGYyPQk;hTEh|!JFLGjfNlPCIg+pG*H9lU#1_laM|E0 zPN6)J?J;&2rXJjUQPnUi)^%?N(Kmi>OJ9aYNo3w%iL=ek#@6Sc@UuGUz8yafEYuj^_klU-K?AbS;2$Mk-f3^ zTVrrqqT;lq`S-(rRe5OLQjI#dIjTHu)ok)HIQTS?cHJm8u{3R3Q)-qo(gle_Ph94^ zfkrXVV$d_diHT&tiuk9Dp3nj^3PdO)GE^o^`&HD!vGnwZwcH}-in~WbFC=PwHlDY* zhs4$_2mC*t7UtkUTP=vmr^O0;zUv%0tLZWZB4E%rHv$Y3%kzrjPmRgE6S76&q@~2k z(BM~->IWph(5f>#AWn(1>l*@ljR4L))xV%E&;nW+`#SKWzWH25xNCyhsU5o%DfgJ* z)P7&n0p2fD_p0BOip7TzJrn^(JvFXJxsX47AB}EqGn28R#F5$o0dbC5=!`(t0tUlH zhQP;l$;ezN($kLIlqfUY`t1I0L$cPa4-to-4RFILanTmWG9E;6J-Ae6Ml?brLuu}k z>n~KbEyXQfcUT_BM0~Wpl`8}aCs52u0-{-<2u1dh=FxQFfp4?UN<))b!Zg||?%I2z zF%W=1&dxw@gf*X8h|2g1w{h;4z!&IV^oKEIk@YZWqwFB~>HNiU$tQYAt9W9g$XG`b z?c6&C52N@L+rt?&+V^p-HOHf5R2<4DrC5n20%MU06T-+wh$V;iw)_Gdy`QXBI@JY_ zZd&8C#I@Fe_4|Sv=3A^X0=ds#enp(SAhbR)X27LB=>tcyhzkm8AB0nWTCqQ;K|zG( zR4H+{3$*tE5s!C-$bSYp3{CGFEL(LKc}{au?ppbdeq=VjXiv!wvyKrA~yvK zjF>;WepoMWGGk2%!O#BK)&jWHii)Bx6a_U{3W8xPmA(4g+#2DHw98_iXUe7hI>Ge+ zx}3n9!uvndph@VlIot+*Mpi$?fg0ZWT7R>m=4ajAq#7Up7a#|^q&#YmwA+0Rt1*q* zJid7+!6M#`x>H9DEWfG&4)}#!NS%}6`6tth-u`di#kvv4BCU>aZq4fEVkmM98rHU# z8>lgDTr0~l>@ZeVtixpg7=wl*y(qR-wap=g=5uMW!f!=JG%UvNB*F!^*_9G?JX7%8 z=?o0CGjd$4?Qe|rYY1#gsQ6%DmZ+^LNOXPNBkFiAYT7t+1*J1D57>6H@d7&pxd2ZK zk)%A;yp~E)sl^F2niq}YrlHP}%conJhKhB3-)zRNF*iOtC&X5Y>m}A6XAgbnPwoe0 zV38Sv(??gU`M?KeWCV#%>mEMlIrqc<>$WYTOJDCl6N=Xa&ZC*yma`9H6{)ojXAxHO zY3Y6y!uF|bMlr@)?=eYs&yY+b9)1g(V5;!>{=HV_+dGAEF(!OoqZAi-c!gwKsCgav zW1jxJ)C^h+u?X?ps*d$};AlM@2Bey~gWGr`s-(y-kLzsW`OzJ8M>9)OT=23Y7cjex zQ$%+Oym>T}Bk7pjeK$@sQ69GzNA!8Z zVaa1!#TfO@cL0ObY^ZF=^3^-Xl3y1d7rkA;H-E486_E19OT-ftXXZ&=v|y4heo$-X zThxgPxa;n(Q*r}L>oBmXzzHZeclAk(P~eo{b%Emzsg0+^SU?xWw9pc-L6Fz2J-CFl@ch zB-9$f{o0sYq78GSt?~d$y+76jHj0^&xY_<#;~?bewKd5 z95WLgqK?*~n${Ll8O)OPuS(FimiY6I4 zJbZg*$D}&(%I(pS;I<(Y+qV8TnwMAL9-ez|$-BWXfH(8bzEn1uNRQ_0$kA2|(ke#$ zt2=&5X{o(+Yk&wkW3~gj-#Lv*d@<_$T|xlt=*1v4c5=UCkL95FP5jR{u;{z)F1(Z{#q_rQ`-G^|;M_jpc;V{+w8M4^W9$;I5vq&+J zVcM`zb(}Ll^n8x!`(Mj>TsIb!dag_b?b2R6;XQcloHNqy z=P>C@Bc1JUEI@xzVne zB%Yk>_r73yLSwB~k*GGi!)-|B8CMCcV@62bT*cZ-Q*YU?7LEKYe{j|OF(idTfb4Dw z2?K;exeu$sEP9p6%d>ixp?C&D2i&qbM5T5B-9iG*X)!M2CYQ5A zt}lDpxsF=x%u7A6*Lkgl5z?A?N)Q;2o__J{ZBXgP0CI!-V3_O34BmEF8UPt|kxH#* zb8R}gc<-W3Z=r$Z@&nc9ac6S6Od=bw7fFas?ex2!wVTg8dIVI}MO{SlL!F;QXvT&5 z?okt{ffVvaUg^Ml(+fS$#O)E=L*fO>(hh^T7rai4N?|EB`O9a%zlJ*J2#KBY<~+_l z^&~p1C@93t#SD?K6k#1!;xyg%ru0m{J5Qo9ew$`8UAU6pZCJ(y-D>*r%dtkTW$VxM z9@XzQ>dZyIfHKzA&iL{e44m#J&jrq>{XxH@C;6UU}qhRI91&{JeDzoGdLo&c(#vj2S53vVghMAO3pC%N6%n;OM2D$!LVVZo&y zRQ|Aq_3uHfMVd>luX6=l`3?AQ^WG_4$fcHjuGS&}PW631t-<}0+4Er(3N`7L7gh{O zhotjd+iv}O)3CQlGNekIuc1o0l&hndn4u1?HN#VJmDJ&_iseh(X9lQBoY{t2>=ey_ zV3^w^qzgi>kh@~)oi@z{>Z;Q^#^(LSoxi;tso<(=#dK?WCePP1k6q=9YKGqwgV&O% zIE9*W<*Uts`z5I~@DrvQrTlSKmyR9{7-9A7)53 zT^4+Z$s*(2tD{3y*Q@t{8HzaH2KK^yi_g>0yHVcX&Ja&A)#z8ZLZ1Eb?D8j3zL6+CRx=tHy~uJHCf~7=vU{_=ev7n>Ja(X|>s#jwo=k!6B8aNM zZe{YT1LX$pyAmp_x7oC$(K=NWGcgjqXO+-1Y_Z+$i zx786)VkV_i=96X}b;qAMwA()H3uIL&wg#ljs8o!bwz3Dk=MRO)-h!Y;vFr@Z$tU%5 zk`v!UUq1KnDQV?Bt1&YN@ks7CunrhFWAXW;RhhN~5MXbkEP;1#cD&8a-&dX(ezyqC)Ou2nd*K#s1c88F zN$XtVRH~Lf{YlN00jwphxvCrq5|pPEjnAD<<@|KaxH;v4TV)dRn`vP=2r#pYh7_zf zko3C4FNg+<9>&bz7g7wa+cqU9KIR$8j)DNZUbi>qb6i;26)qwPv^t(cwsAE@ex$k~!_SG;=7Rr7t_g{Ti&uzOTy+D1_CjfF;A% zHD^r5#DHTJ6bL)N{tVNO z+Ur_Z`mG^DcS}F<$M88QbN4fnYy|B6tTZY#r>Xry1>p?M7sRJo!9y3Yvy9IizTE!n2fX$zhhzUy za1^I@;s?Z#qj5}LPW4*UxII1RV>0TK_aA0ebyShtn4Eg}9TvsXC21kef!JWq6aP&P z7q@1mSr)XRxqC3??IU?Ev-0FG>--UZ_Re2aq#8oPg@bAM-H-%rrPNHhw~qq(Twjm2 zyTz*u9g(;3#aRS9zxE7=($a~gjtQP7^$JI1202|kB~<$8D*uLv#Q`sV&CMO;0)$1r zEvMO#Tyf{5+J5DA*T<@qSiJ{_?_#-?*ld3%1_mIXZD`K5~S_bFtE0UHi}9z|JgWmj3Zd$-ru!B-D;5aP@M8yZUye8MpWIT^s_uR6I$}IIZ_fY zeWs_Uv1_y1MC>3t_FuScngx#PFc-ZRFZ^-$QW;JH~$u z>o6()IA4J^7satI_mF+<8^dLSr%g7?(;_*&7K^q5tDzl@NU7f9u%1w|rIeW3t!$-= z>OSYy)l70h7E4E7Oyhz_rUbchgpL@|&6vJMOXyCx_w}2rN!jdMxM)_FX4|*}Ai?$# z#s}d&QZ`FP^`YtLLfN;oweLROgyYzST&<4kZNd`yA|zs8@R?!Bd{30l%xGMqy+>m_ z@@k!o>Z=x&$4e^hPxZAH2X6y%Z#m;k&62KOwKOIyx5i|-$B@nDY*=t7KYp!B|3qek zIZs5*Fi2PtCF0o|kDso7`y@$M)#i(u(I=mqLd+nRNl5h#2Qn?tfxuA9kv~;KGgsZV zjf_O|h>fxt-EO5woGFrBKn%EqXK3ViNIEN8C;hxaz1}1%#x*PFztlGwe7g9r_TO8D zgF$d;%^lo-AAbRhEQS+J^fb$f1zU`}k@9}e?9c*AXRqxLsetvNbuw6T#hXBlSJ*aR zHC}Cr^|1Hn4G9DWYC2;ES_&%>v`d|#=nf%{$5cR?Qo(p@L_L#q9ee*w(||he2CQb zB#&%Y@H<&0TUEz_mOU^ooR_@dc%I1%-NeMXFSWlX(@Rz`BzuN8Z9#;kRXo2*QTtm``j ziz;@>++_B%zM&>{msPTstTaEa{%m#RQm1u9z;RQ`Y}k`2daHw?ADo%Ys49qr^HQ+7itgJswmFt!3pm&-y%2__Ie*k@+ZQ~JV_&V zoW@qOc)MUmfq+|Of=PW?#y889Z?mG+-0M=*Iv(2cofw`9#qfW)v0@AkVHU8guP+!x zD2Pxsxvi1uKDCmi9A@MrTLkzXp%6v~-mC$A@nhpt>-%k~=8t4~XFMWDiTOzao;`uJ z_NAYt#xB>{DcJ;h3f*;3YqK-7n4y5KHB!#xB@T-+3|CHqox7*Yz7-yu`$By9T|K*jg0mY#yL5){!) zEM03a^F%>&!w&?0VE(|NQC#TJjrz0eqgG`5=WecFvh<(*smL$%x$m#bQ-2t7s@#&* z^nUCuYh5wjA2MD&F}Dq~BB!C4jhGZ!ZwgD>lAm=lweux-@;v8E#VHE3hlTn>8`R(p z-5L2Me#-PX#C%MenO>@e469U9f`g9j7RuYQB)(qJ@))OI0B8Y*W?#0xDyFGL`rL zwG&{@@3gIN{La`H_qndwpS4faSf%Ud6f@r=&^@1!@;FnH2WP>aJ!*&wPZ0R3UYT zpal0&h90q{o20?~Y0i;ClfVX;+B9B4lj&59xHw#iq|i(hcbs79yc6x3dBtr|+{FWC zcaGt;hqz2}JN#lu{MWIGha2l(GKjx`i{}!ozZ4i`#QcPaTVEeL|e0*jYUicz_NF#i%T>`tSPwj%9ADue+0j@2=$K z_!3RNdv{5>3@c$NA=K+3!=-`L4txoPmU`MtRwvA z9+?wrXN#`JJ_Ie!g*ndX*J?wXBNyoid2r8A)y|YjsCeq`FMut)e@{d3GQW3;qaD(P zPP`y}a#M?hX#sV-U4oS{YkapJn`pE~chCscMBr3)<9g+sg11^a*R)z_e9E@k-z$n$ z36xf~ei!?+1gXZIJ=z&uyH3EpGCQi?RmS9U6QBI{n`@f!cv_%D7m-LnqV? zXz`5ccg6J}zZi8^MC))@&BdbdCGF_;7WG!8W}`tYuTznD-6!jBRAikOTg~m&+IG7& zQ@k&m`QZiz)Usnl-;&=|KIN9}3D^^w7G~BtyZ}wZB}IdUg17bv48l)P)j9>ucNj|^Fa=+wF=9K2_36MT>-yc314W5b2Rm&Ku3Q3ereZPuaUm?d4u0P_HSCuj1t zXo(P_J5ha>7!W`Hs@IF=@?hd^Bd4yBEZJwXvni8AYM}s|oE2`WcLS)SD_c~AU|Q%( zidWYFT&~o=g<4TyEG=Sf^^J5K(!>NrC_wInlPQB#zzd7i*Lw40TAnbJ@Wi==^dcu` ztzsTBDN!#5*m<3Q)4O}HyErh;cIpfiQ0PYOp|-X8lQY4&!Sc%Cpt6dfte_yzAYX^E zu8Epf?SaDOWb=RmXJ?u9=&d-SL@3QHQ$Wagfy%#`5bBpZlhd17zx0K@@DROacw-r^ z##{Lyojcv|{EMk2k+*aGB1x_ZM>XD1#tt&*!tE0wA{of7h+!QxGL~r#DcE}~{{^d* zg(O#zS>Tc=kI=rG>K@WV*V}tJr>u;L6cs6Zp+yU5ms2Of`BD3lH_bQ4>fh%jT|k`e z*w)AI&8eZ~THM^^D2=|Vqi}8t@BM2}Tpgd3{Wee( zcfRcM7&*PUaK3lC5fSd$6@E`=wx!$w^~ww55nzbF-141)dX=4ipX<(|NbYPrdu{ z;&UjU(aDz3Dw;QRHjbd>j^ED@7!RSU2<1!|4+$fyP9o5B>4)_sm;2tSyxr3#PP}Lc z2a5+ZZ40ljzFu-)(k(1IRdKnCO1(v$pZFVLxTAcNK052w(plYeB~~6IN_%u#Ut)$3 z?szN1h{x$lug*q%^EqqN(eXi2i^&IZpIznnx06Ae`2TPX(X z;aO-R!x3Is#x-&4dg`sQ2?;5m1s=b&8(#}77mFv<5!>kw!Ni9Ppq#M<1h2uVDeSEJ zm)mQ;*hb;{GGo2l@FC?LuB0imm)TfoF`9I;*vts=b1aJ-c07DvZL@<26<0?B0E9Ef zeKdtdEGDt~?SbKs2fqN>Hj9x;ThFyF&wXj<)+2Nax<&9+1Y5W=l1v`}r+OFwz>B;@ zG8SU8!gBwWUznOAMTB>kjDr(2^&55ulFoMTuMSX&zuHC;SHPR_INte82By>Fb6AYD z7(aqR0>6X*Qg~oEXx302ZH~9DHY9a(J`Ib}hPU{)IKJn3=w>I?*%vkr+aiwRK&5-H+4D!4rxIOCcwlQw7CkH3l`f2&JcS*T8fE zDvDE;6R3-LLjUkw*JW}h*jkA9H&YAlB7#EXb_m+9oOh}7+s(bPay&hy=>cuw}-4GZ2x^)=AGguLuvyz;o|8=I{ z*2!_u%N380OJPz4J$V^+54;YhBTd7(_0koy=Q$Ne$`&v%aFAeyrF&{FJkAz@%Nx%>NeBuNb3rVNaGUD=haB)++#T) zTmH$Zu1ir6@i(Ma{!>IhI0>8Tp28v#RcC&Z{puIsAhhqp{0n%kSvB=N*T%gzpXZVw zaTK45dtm!KkZ0=k=Gyy_OXCWcAE82LfhIc!G-=X}%D-LqwDP-)sz5&ZZ?@zO6x`{9 zvQC>5+U3^gNLl!w-+e7{7$Y0TX}KSR8s_sEo7;^#aoI#Bi!S3w-tFsd1ytG(FxXTl zTg|VpzV@h)3m{iB;b;i>nE|_$_|bl0&yP~?X9P!ExCmB=(iE`nkB`;dZEw9{co~d{ zY=Jem`^i>fjJMS~5%KsGyA&_P-()(rDqvW9SdiGp1a3Ry6tB6*XfX2$ zSd~04x6XP&cFd0=#oCx5Yar-f;>z-0MUcNz5&iT3|J;Fp?!bjtIpZsd-|0&oZE?Iv z**q}8rbW0LfY5BA-vrW;K^xmaTlzsCO&mbh6w@zY0))^_=YSfh((aQ7XF=&M2tsMr z1x0f9X~)N4lO-tr7Z8+%}xYaE`t?pLh0^a^^l?Y5dKOyPohyHAvU0c%f#KH`4? z*=fgNzkrbozkqP~FF;%2kQ!_pfmtq{#7Sziif8hfCdwz~t)Xa^nH^K51+EG_&3kiUTM9sgY8KfhP)z4fg3OXsIMyIa52zJ1Zr zwIQkDH7 zGfs|zmyjvd?;l_~+#NKZ_FWgD0#(cK!+<#ui3Z zIerw_K6v0-?}_)CkuNX&C;a@s52GeBz8_;N%tuZ9500c0cKl7o=5t+Mw20xoG2aVa z|B2oI|K&M?{LKn<3dPQ;``r_BYlne_)uRmo8}ijlmifPT!Tl4HZcr}-)(8oEZ-3sa z+)k|{{|iz~(T&Cr+su6mYoPk@>Y2Z52mFiC_xtyM$P@qX3kZUckmLHGA>|oxg!#Ae z&wp1uR%`PFb*BA%C=BLzcmC{x|H+^9FMmvVAXqQu_L*hYwlMbf{a@smnflykVA4EKO{;?)W?4yzr(PvN(8Y5g^zuJ4Bw*R|&%gtLiR$ zHwQ{@6^!%m)b4?9sI~sqkH$eK+!sf$ijGybuGDi@nnfxnIw}(;<3bDWu`SFM2x>F0 zB;9_e>P)N7DxMNTXhcqaPEE*|cIBymNEmrmIsW-f{F#M2@1Q>Iu4%#Pv%wFnTdYgB zsNS-c2>0jtYoE)6Rom0IY$U3ZxYT*MO2z4=Te;EizpT%cl&g()MB+BT39WZfspLRH z26ysSw$5x^O|b5_GX82A%YkH2LPMvD-3c^E&oF|Z%Cu_qtSpn%6^A4Y&57tL* zp&!O2ZyY&Tf~6JXpp6U=tF&~2-fA9*_2r7r!_Dg}OGmUj_~?jpDIyp?ywtDWI>|^c zt*c|W2bu3V`d>|tALhF!2}ZDW8@^DdUrM?Cd-fRNxL7g0wI$m6NfcUETj)^&ndC zQlx27UCnBb@`>fxm=Wi@*t!e5a)LRV+OgD;@HKlCwofYamTvChwrw4RR!VJN-uNz= z;i=>6TWp2dXPh6}I1%0a582*zY~cwKHH6dEQ^DOeTLZZnu~Of^Xc}W%nyh944XUSP zT>#Q<7t3rh@T5SsKsm{6!7hxKm%@sm#GM{02Lki^motkj%fo92X+ytUStVOa(8IaM zpx?@E`ZoKQn`M<(87H9Hpfyh;T8uU%AVjH<1{9vV6&zucd~xkVW$%o>SofTZ5UhCO ztV$@1AuNXRvR_)uJ4d7MKLYPWV2%r$!`L}zFSx0Y^|&|8zrXLXS0FrJrO6(}Z^fvY zNBnIL$L1IdE`C&{)8o(xlWW1jA;Ed~5*Ox+1l12(JyB7E%q__AywxYjks35+baYco zj7SFQ3;4g-d+)HO+C5!36zLs7N`OF6kfIcU0HG>fL6F{+F4B85bPz*FP^yZEN|)ZN zp@V=FX#$~0?;XOoeD};A_4S>-&$YiZGv^%tOSqDi#j~F0*YEqTo#-Eh-ePT%&w4tQ zdXAn0C;iD>mDPuo>anMH`Q?k$xUio1jWOJMMp}Wb0EMAs(17M3y7hv-#JIcgTgGSV z1e1&x(>_bLxq%$TFm7@fsEKtvyM8J`Y|H2ca>-eS`Ak(AV0H*{Z;^U%Li#9TyV)SMPa zf<#gV%HVnj671}-|FMTS^Y45=Z3!^*arXd5i`nG*!y}_tPNIzNVYvLKBQEi^3gDxM zu2)-ZYiYH@v;xeOyy1raqPSCnp^YeMNI(ynbRPL5W}%d3X0@0%lMc@^`1p^josa@& zAkRUy)ifWB-`z7%T^Jx;ke~D+o#%10lUM&%cT6~WSL+eh_})G{PP^R9s^ykcX|pX$ zT*Lc?i+kHq@DG--#Sq4-fVR9Z_@2AIvRejlJCaTFgnI`5vgz*m1RS`Oi^%PWI=ao= z(Y#Ys2HW!}auJ)`jZy8`BylaS@D0(NdWsYEtD&nyGZb0Lw_m~7O>>w(cpX{~o~ZLC zJ{6K9vf!5;fvj|eV4)%CdD#3r178{1qx<*ExkTFZWaSCY1;NzYACO#85?x28;yk(V zxHP2=GfbNMPzAd)HEFB|woUUC{rbH95VFHyET_u~fKXk!>~3e%|D*NkA$U^6oVISfnj%m1TV4xEiyc zQogo5yqlL3O}(UVm-S(8oFDpO&db!d!$Weo=QG^~K`V4K?+d{}K&ipC`i%RuWV+E$ zKniy=o~DwJq$bZZ&InDGa$nDqe$Q@XY>Wj4IqG50E`Z_`7jSUZSz4+i+2qOxc~5G) zF-3wUBxFGgXp4*rc zy+_UIvaU#TjVZC?v@JPn#`qAKke=9zJUUsIQ1>mk%B*{LzuZdH67w}5A$t(=Zh5S( z8~5tm>cpT^HSD-Q`g(s=q?GY@O^G((4V#yP7;Nn}0t-Tp0Jh%Ej zR|EeL-9D;mPIbKkv;#u3Z+Nn$OaqJX?#sB%78k+Pw)+zjx|JA6JCDNkUYuk}cF!R| zcwJI9)2q(Xx1n`y6~)(iiq?6^dhpVObS$rhRpr_XMMuR(ZHb8Ot-hRtmj=9i_an}C z+zTm``TUFs2PMQP>(%K0|CcOwtT`NL7<;)+a)4f*-aDBE|s zN^hn4`V?5X4k2QfR$n2_U1!Z8d!jh8{WV@WOMOD!wKZxCRDi}Z7Y@bw&WcpZkKi5f z@ZG6;28EgM&x6WJ^jII$Mkdl;3FFB$t`I;rk<_TKCKRPcJ|3T+hn&<_SLKUXv3RS0 z_100(Ue*s5-WR!0q`-Kc(z+=%lq*-&3F_3avxFdXxv_~V$a|4IN?-(#bFXcIV9m

  • NIQ$Kd!{}3RK(hXnXOgU+j~tyw z9=-x~Yy&rN=&R1-qQ^f8ao&~qYD6kUnBkBqt7eP6>J<8_^UznF2TyqrYtQ&MT==RV z=h(mfA#`yDWpbo1>8-4DxWDAv|0Y(D86 zljLfA`92Om>>EkSkj#y%k~2Fy+_SUEiJc8{Go{}g z=nc5&&`~Zrc!++IFs@46lD-u!B|V+s@thfrIK8*WJ=*3I z03eQ^JmH6FhVO}at^1}TKhqRD8->HvU+QS0aV~DOvyz#>y^_t`t5q+ms+wxF*YcIK zKO4Yq6i!GS5^JhC8Ak|!UU-ibAX7iBn%9lHPH3{)HrWvXrMC_h=^4hLwQc~XsR1K| zN^)rn3R~gJZbc&zB?^fWL4hU$P-`tlfUBx5_numcQh0KyP$cxFB~d}iMbyW1B6{Ry zNm;bjdK^M1hN7aEgypRe7@P~??G*c@GR#Dm^Ev>TKiP{{#S*x(W@C8-MQN>n(0N_d>B z$n%`4awuDbGvR$R8)ExCginx6ueZ`TQY~?)koYW^jfwl(m|xY&;QE18yy%|Swvxo= zxFDaQn5IdfS+z~8lvFsIV;rmx`(#?NJIS%maAbAZS*I64rD%_2C@WhE)?Y<-^~x=h&{R{c+hi<|DoE{+Tmd z3->eAnoEzZGBI$+$vuRxIDGgZm#oOf-8QagWIT7&N;%OL_{iaPj`RdO6N5?=LmiBc zHaB<4^pq}Tou{nAjKw9#)|nW%=fu>x&^yb87o1OD)7iJvxu+P77D}nEv^d}=Hb+gB zvp+}|HYo2*Ohco}jb~C^%tGu;47c2U7l~3-){^yBIdXWtxtqpPWK_nf?wL6Xw1HR_KY?V8xc zIJ3D;KHgzcOq!~+F(qmL02f^pC|Y;i`el^T3|9_@v8~Um2%R`}lG9ro2$f>1J!Dx? zW<$Igvyvz-z39G-_O>{F*KN4L3YT4SKh_5G`sn~$XHK9*c#fqly~Dy<4jw+%S+32Y zk39D*TVdruI94Z*-`-ibsSM-F;B07kUFJ>;0q`eE<6VxBJr;#`LC<{OsAv1t>J@l( z0AaVm-gy`YD!&t9c5pI93@!)N4{9)G zk4mpVt#o9!Z$PbHfs!e<+`&%nAxSc_*lV?VCH*WzOM&0LgTc|zeC@_(Fh%GAQd*N9 zx_o;4^3zm1Tc{R&lxl)Ja1^1|DMgpcnYtXic?*>>IFTZKi8BV59>fnXqN>KYd>bh> zvUh;8D#wf>`kd9GCj~3aA9)nX!>4~t)hpQh3%Vd`dJ@(>kKo2 z-ww-VT9IWdwbfr6*;w3cUk-<)#1j>#o?JE!3kf z!2bHX@bCJ0`X{#*^7rL${~Y=Ok0&YaVKwa|wWfdmn( zp;EPiN*mO>s`)~+!_??x4#-Ez%q7uo%#BU5UrWS9WBbfrFqc{a97lQrv!;XGJj$Xwvyw@sX)F;rB|aRM9yCo8H+-Q;TL6QA}v z5^pF(FL1(z2ojEXoDg_43Wvm@l_rtX*@;FSNJ>hXlAGG~)`Z4V<;yU;AUs(X8e~JV zAV?zhr5^X}G4kG1$P{ZToU2;LL^YN0+0O_pco8T!I)lujY*3z2G8k`pJkCp`t8ldv zQRKo$z4?(IAZn_Yt1Hv7DK~<6WJ01q*AI_4%i+zW8C%Z=+EGj-07@xwq(K#ECfe@3 zjqbk?ST8%*S38az3Elg`n{GoGVVZedl+eS>;QYZ7<&r zFOrV)?bi}Ys!rmuU(D`vjHtUGsSrKoF&w3HgeIhClZo7489&Bw3z%Ov?7B!{H zI)gJsm?4VWoXzS9fVmmN%=>AQ;)OQ>cV%F<~d|ci77)bRb`^8mSH#;koAYys_rkt;-zM4I1!BC@_bBXEEOU7 zD61Sl)BG7}i)(3^W$k4NN~P%f9%`Lsw71ns#tR37M6*GAB@&@dCS0ZHE0sC!`zY>dmI_)Tl#p7t|>SyJr$E$GNM6{2ddy{(P`Ra~#DNRq6xtdr^7dgMOiU9_BY6_u}# z&!W%DG>pMj;K~jljHXZ2>rI4dXts&Y=(X+@N@k?mlW5(5aW7MPt!vHI_sP;gA76UQD?7UR`eje%(pUU9PTcx`=bCZP71YlH`XbNSEhh~>zirl)B`HU< z0oUJfGaviM;J@;pe(jB2a9^7Jg`_Mb00ttT`9|Ri3r}8{fx1@yNh%QrJI0J z7>cHnDy(jRU>ndUHGjD>q53Sm$ICJpK?y;c)LienTHTDP2Ak3)%|ln=nDPC=1BI^0 zOak6hT8G0^)}Vgg@TqG86{Ih_@5}n;=7k8<5vdz}dF36-m&njMOeF_6XR%d|t@-%E zRk%8Nh)GMcejj+}iF34Xjoy1EP9j{1sFRUh?@(SXc)%^L-a*iV?{e8|<1QcRBfh2@ zS-dqU9KnnVD(w-rN1{UFVtviGulL=Opj4nk#c~1-pyDB226IiASvojAdL{0S(-Yi^3ivZY1j`X{4)FRgIIFTXFunbi~Y`p zWLj*Q1@?;~uDkuY!GdA6XJq5JV*)hEOSBGE_>H|WgI~>Bntz7Pgp#5G=mvqcC3z93f#a&A zv~KP`7$eguJtZ4J?W#!!paP65!}`HP*mBIyIA{G}aI#$%-c_CCrkyZEplgbPTqhWj z&K;u|iSYE39#W-bS~2XUC?OhP4gs7mle9e7h>1WO@JFz3t)XxM?86jQxX;x zG`jcO$h)t+Kn+3?`uS&m%UK&|mxZ`=h2Ha?Kz{6ji{D=zvUAT}tp4G9mu^E`y2695 zy#_T{A>TRENNAqC?Q`7yP2bg7Hv7}xCSSd{GYfLCZmL~d88+rqi<08m3jLlnorc>e zf)Wj_jtmbphE{+5cb}RA_stzgDj6#GHN|FMFb{K1wEIa}E(7(;!22Q~56mr_=Q+mg zb%2-h3X8_I`1VN+FdA6se|;TlY#^r)L7^O z+p?+{i4w_NtkKn@F+6b$M^dVW1 zF308*Y+Y#vYS-FnL$0j*0le^3Mxbqh5n{?+k4cFTcu!N+S5nq)y3-^n0^sJH)-xGX zP#?d%Ga$rO2%$Utca>(%xztjkrADP5DScfbYpiAcZr1K`s9*%9wGPywI&rJ2vxB5_jZ7=X zHuP9TaFl7)NLofv*#Kmz=D>a6)GLnmb;r0Wa_-yBwr4Z5(ha~|3^e09vRp7KrOG~2l$GTV>6nlx-E01ybpQ_g6pm}G@)@_dNjn^$>G5|9?z6e^I9p*_vwcFUX*GSW zDN#0+^|JNdTn65kz3#9`)WT%JVJTx%ybbC@zP>gVX;jCEYClz;H&mR;TDC`{xn&X= zE4Qlo9cTc42k7S0&!4;%{jz$K^Iv`QT9-<3)^FsPGkXEEN9 z7ZpWWkXzRQ`+-9a6gg=;2ZYk=(ie^7lHTAc3RJo_4HeDx)Ct*5EaLTQoI|*>f%Zk`IE7`ZSXeWLBF_Ar zybBIKv{C>0TEgGH7Yw?#cS%y+G1?k$@1j3{Gb^9IXHL>PhPZTvEB@=Rqu0-4aw_oZ z4;%^?tpN-nC#pjGKbkMel)Un97D<-&1lr zYhWx&DiRS?d5Zd&g-5J`yr>hEF!kFu*HTI~GXkpC_%{n4%8Men`zp3`3s?@+Mq0tN zOE5?iAgO_VMP(`~rzp&nT4ilDg}KI{RDx~IL}XfkR%q#)@!C3>Sq|;zMmqP(iu1Kf zl52STu9kd-8K7T>RuU<7t-?e@&oM3l!pa3uAJ2j%4~IS7U;(J6Je>mqRdBlZ%74HXwo_X>M2RJJ+00q zwKTJjpKnPuYb8M>jqRbAx&ixIDzYSFSi1w8DhL|n#xThP^&z*8qGcaXWhnB3Nt&SC z9w`P@%d4)ftp`Pzdf#V3etTcNt58yrWf?^=bpee)zn}IHDj{1*I5g~2dWmpqlG2AH!5E9FDk?9KJ}0lo*arWdn4w^`6M&-Jqw<kUb=oB%!U-H?WiZ=CxQ~!c`+K;0C`X9b#?tT9L8xRCim|OFeyv6^IarA{!Ba*`zVXDr4VDpLiGecaZzu_%bVnqiny(dEqC3_6{WSg07D{PW69N4!$e*^r zej9AZ*cpchyH=r!pVl)X0LTQ1M`Nbbwz`{s#PuEM2e71N!0eucvZ~mfg!T7p8qGM* zJG2>?R^S0jPXqoB^m~pgl>qYg((q2Q(6b* zF6R>I+>A&_4r0g|Dr!=zxrGMXl+0Kr6GI_1L~4l2kTQ%Tw*^^M;?ji4UO{hi3Mn=H zUdk}-g2(oeh>1+3`9x43UlS^8j2;c3gu}^%11r;}eN#=ytMI*>lzFJ^*A$=1niklv z_f6@B%CnNmz~P?(`@kIF?*MzTz_e=Cs0tdhs@2}0-oJTg+BVn^V-A3SqjhN{O48FA ziBM>rvNA}}GOfY7rzD#L{L+^=(fuw|&ey;!ZQft>b6Hfb`+mHF+77hSWd+KYl+Jg+ ze;iwB1lARu1OVEV|0(yrxEB-1^_*q%_t!>%sW;sQ=4Xkd{yrtM-!;`f2SH4uti1^S zU&Ya1`aUjt!RzsEOm*g~7=n!DR(4nG*x;}Dg~mUZdfX7D4oCwh4dBP3-A{06iKF$-ZOE~x6>+qtgSyH(QWd*4(QBELi;M8|2 z?80M3f)fgn^qK}5?dya@rO>miP&Tsz&N=e3V8Z~uzCnouA=3JxR;%-P*T8dGJLD=g zr5Zs5?188Rf%X%Ce%&Ne(`%^JbmA<9lc6ddEB2MEtLbtoHCa|=)A;J^s-*H2P&ayu zY2&g|3WsMk2}zw677;6;_02e%RXGu8KW$JS!y%DLidKS5OGafl0@0y%mTPOB58zx{ ztP5sN5a<{Es+wCqE(?Y%NtOb{s9zty1G|$7Ro`T-Gk7s=j5Q8S*>$Hq8`z(%)-MCn zS_UwjX*kde)$(>yF)G8l2C1kUvlP~83IoRJ2JBl`SDGD|Xb>P03S&9FYZ{(@)~c4z zHiNg5kW9m?yRrlL?@hGF zmL>`Po&@@om2GAljCD*Z+wky>b%6>{Opr`xU8M?1h;BVp+xOfwNt>jy*}e_?*UU;O z$)G<(Nz1UGQWQaovnor*^^9smp&{J46Qvp;50IoO!+zSC35yM}ZBD9j-QEIYEaR$T zpg^a+1^`vgQB{);Rmt0uYNkJA5pXZ9BULga0QKLqocdzHg!U{K9ztS~U;?O5=AVfP z22=u0AT1Q4B(J9|#3bo(_8XV>78e|;7}q-a5!fffGZ+kOP55d5j`9_@^_)>sk)|1g z21l$gE(`L?;i?HcmFs|gpr*+L$hS3`g8fWF*6Wcb8A^x-@Hb$;2AfuNf5zX>$(feW ztn6#BFI>sU_=dZ0Ov#>gbIr4rbyO`H%;uyE_WS7=rF94JS1v=r9N<42uy-PzO90w` z$KY1J9RS4Df3xD88$!a65b2S57 z7IA%Rk9Zn(>n_f0pP|^@VVq=4(hJ!8i?^^cGY0*#CkKy%ja#5qaW~Gfv9n3x9Hl8b z{CS|M(o30ijzt^PpSOCHLu;#zo9(>`ar(?DpQ!|!_^CP7f|#q+a~4oP6TXs&`m=3L zKLh|T&Y>ZtC<`XF`hid>!{M;=zB6@0Z8Zh;l{84d!kV_oY!JYhcL?EwJf&|$Dsj%^ z>dJi11Yv^HYIs*52-F#w`sRTI;H<{jF_u-bD%^BKC0j#(h*>11C_LU4I5erB^3KD0 z9fb>&m8jyPJ(LQh&FHxaMrf=T*fPgj6O?A+NNbvn6(EJgDvuxyjhIrC2#Z%4Noz{a z*AD<+%W(E>PEq8I+K$7qC)ZHerZHEiUAv9hW?_kGl7rC45GytzNf8mq*0UK7y+nD4 zhU+g{Nl~2Hh}4*v#7In&Kn41fN9lx&ip1NHh=|aDY-ijN7c~cu^O}0&b)CEfV=SSP znzp4nRehK$UBu?m2%5DBO{qmyv747o6RL5r)=OBetF!Ic92Hn+SRZ5!__sE!XBkaq zbJV?w8#k53EUKv_Wt+Pn#~a5V=_YMZI$QN#R>hCYZcIEy)dl#*!J$Dg*eVR2^~QA< z2JjVy5e=X=ZeArP(s;ClK`KLk#gcLE)GA+x2JNcj@{0egvDmoujLN|I2N;#MF%~;p zw8yDrx2Hf03nDpd&qF(`ZQbZa(!3U_I{^?!Ws=2J@JQ)NwMHvRKTSznGjEINI>ymd z?$?LiCh*AJb+!shHEwZLza5EEjm%{z6r`cCRwUrts$BIpq@*fJcK3Ga_fq=9)#kmO z-BF{C(~f>GrE)Sf=2nvixW|IRBCsDLPQ^#6O*>*Du&A+Cx2v^Qf-NYLw37&=#R!)s z$QC7{jP-^3d6+HWLjxgkumwp^BT9o$H99>IKGT*Kl$u0Tc-2EU&EYLmsJfX}qkTbgJg!(iM*U@V9Z% z3tk_#`SJh7Er0Ufg>sh5LR`9nde$Sk^cl}*?GaC7x7cCtwi`K9RZNNzYH%SkTc`iN zH!e&r9`IY&Vz=&MXS7Xa43n~4SeV)o>vm`< z`MZz*6CeA>&$7KY;Vo}{>k=uC{lz~Sm?tzfX_8clkj0o;+U zkt9KGv#iaN%CZa+oFbST4e%%(IsAe`>ZWocoI!ZoG}CrLSqo@4zdMWwGYYXHZE)zy zQ7Uj{knq&rh1A0fydX6DHk6ksPh2dao5cN$;i`(l3RF369VP`vvHf@c1S63*NsIVe5UZv8JXoX~U{ep?= zpT`mEgerUnVtdePxm%+ZV5@}A404fZ3|ENJ_myV}j7NM!f(l~X}l z(^gn7IzYdpej_Yt+Ha^fy)^AK+C`Ai*2rJYWT%;PHl#`rR9GA6Ba^(Oa*lD?ec-h@ z<%__6OQ8~_U~e>`%=bcH!OAKs(TsL?I?o2^%3j75Smy)Pqx9gax|uDEr|rhw=IO@@ zdQa;nX^#pzi=J;qS>Rg9m$MTpGWzv>Gq(SvG1Y((CDHUk=5nk;T| ztRq>_{}Ypnwo|NBDLv_G6G=~H1;SMgC1zG`5*CAffP+~t+%pnQKkaqE{%p*FmwTx` zleF#?vGQJ&VPGuRxD)T_}^O9(4hi{@!~j_9h%ZbyKsCv%&~5Sy@ec ztPMgzv@(Y6@$Q@&&Vk-)qkwZZP!BZA{l$kr!C!sk9{_m!JKnLs6y`Ee-_sg7s3{cI zP5JPxFU`3E`F4XY)Y|vXkh{9sr&ZB!nx5*Dt~1Z(=4Jq3Gc!#|5-O@$t(8?2#T2Br zjE5G5lNHLRI9ZX19y0aK&nVlN=Q+^~3jnDRIz=Zb1L<0t@lZ$&K1gmld}j(;F1guN z)zn-oR-=tEO>?VT0)k^BaRi{txZ`n_ppo~i8+v`+Y#MtMqC94jB%m~^mvzP;0KAw2 zZ7=5JJ{=lKi5D4?5~2E?aV`V&ZI@u@EQ+aArSPr+^byQU%H|k&FA>Vn_tPE#Pw4hn z-h-GnC7Ve5aSkDar+{&ivB=P7Oqoc81Bph6us$IKz6MJ$J&x8|R##UrUQef{>xNgD zSGZXuTe;TD>I!=R&byO>aXn?9>WsC%ZmRapvD&A4KMSf44OF*s*8=B}pB@`^BUp`} zjnP)_SqApwI+YBnG#le?192QztfIF;bUWf}J1yt0wVp;x�V^GtziwBXah=(9Qb? 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�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 z zuYKcA{PznHtKO66G7QmUnYsIHk_3sa!Z>c|F|2|E6 z?^4>{9}W*)>=;^SNfFqI9KqBC$+Crr8ope%orGq6Z)w`dKAy7wR<-P<%0WZt%eoR) zM|t!fBs}1RuHjY{Wi=SKaUASM#s&+}wjOo`w+oTPp~NV%O_%IwGa|5~#~LnqD2=A_vcr%08+8ZmH{wujA2^ zYZA6KRj3?yprE-xL8(;hvZTLv;r8L&11&1Uhp(?cW?#v&*IR3i@UJ3s%4UJgotjv> z!v}flUFEQ52jJom7H_e zWTB0{hQaQo%xYd?pG^BAC~+f^_;k=!zr&o}Uou^$vtOsyP>HVN_+Vf$CojRS;MwD- zH!ns$-~7f#!EvG^V$;Llc?ms$%EEyQOJ<|Mq9aW^EmZnxu; zyx-cWWy4$T*yM@O@Z)R0&zd;#cS@R0cB%fIZr$JivwynG>c6!H$$f>K=gcFkF}WNx zut+qc2e}AR#OC~u+MxS1`_`}4)Y%~yy0#Yh=XnX(A3~e*LsPZ9^%@+AGZomffUrSEd_sX`e@KjM?&|0W$f|5>;ly3NSsRn;82F zqz?BuUmpqW5a@=~P@^g67B0X5McdIek{T@PKDM~b8vC7B?WrKPDXVB&-@L58COe!} z_(3Ixjk7-?+!@yQ(D4UuTGt8kV)9DH3i$0eV2^lB3Rj)wJ>gavnAg;!Zq@FFKZ!xO zYMSmDWA>5dR;h#Gg&%%~mgsllLOkR~4nL+|J8u07SRCY4j5+dHgbziJB3meoaeH*5 z$@9LZEy2zP?2n!@#v2Wi}Mu)g53GIF&J?KwCckq-k_lh$a(W66g6X&ZhrryU!sQw<=E5Gg_ zFCGpkn6ozdRho|7c$Sp6?6iZ5GGrL#P=xZPVhd>1q>g)xRWJtUG1_L-y@sRYpK_JO zvKqQTno&U1_%ID`d?sC87$rh07}ssO-dGq%`!niDLwByxp2*C=Ye6-bkAQrn$X5tw zrLpUSRO6V33?HJ3@vD(~7<_c_9k7Z_u4{nX7-M!<-&3LT4)I0bnx~1_F zN&D=I^76hX)dXe$Qoew5j6#@97VH&(5DS%~#X=2R0VPqUD6IFjpYgkY=l<5zJ6QaN zYhSmqMUu9nJFCtaGHla!j;I{EMlxDb+OfV^>H=~EZszS>!Wfb2ZT#&d+0@dPGXq5S z_U!YlH;F)mK^Z=?x0RnreX(&uqtT(Um6%LMflU(rE zqz>HvsZQmz2lIzRisD7Ho8A~NqAt(0&*1)MZd3-?;K&Vl&0OxFHLRO)RQV-GH-zre zB-_>Mv{zgKG~*Xp$kF}6P(iVe_m%xFgu{7K=alYWPd^^rLQv@E z4Re9Ag#BK+u?OsFReG^L1Dpxsf|L#@Ym#B z1cyMVuFVD*Tat9W%&rMvVT6mF)RT6-yOmyZyo>t@17aAD@$$+}n%{{m!AFKHdr zDjl95Z)UzkYHtT0Th^phD>;^W;>N+|1G=;4BB`;$Dw>ZGjo0ydiSj@JlZitABjC0+cM$PqclAJ}dq1BQ!PIEGE;9rX{XOD^&XHfM zY%hI_k$P8M6Rp;JO?Hjzxm|m;x9(xY8J0}9O>(UjH%7{rGB)=NwFgV$-ZM4}0(%T7 z8?f}O5MouU?eRpzkQ6=97PR5`Q|^iTar4iYHfg->o@(i`6A2hfgq`3t1dSe2>1NdY zC20;>gNJ#n!@?v(=W*31;^{W`Grmsa+3lxUE35Brik6LlMbOC{*+*zC+j&o@{xx=7{j{{cEWLHny|GIT|kyIVEzE zFWR@qwa<29)w8JA2Fw;X`G;h)Ez4;IwJ(X$6b0D=X&BzonNiJ(+*@1w(7D!NZ)N#u zd@ghcHv6j%e*gN=Dl?(YM(jw>{%~Yo(uydSjoQxx2)_i(5BN7|`R+0uycVG1jG9D%5kSVQJVQ2D zOdSjiUVdLdk6wYD9xdI~dM2{+VgFo*@fP~GV+&GVx%x52@k-s)v&*_SE}r7|oizR- z6~?bSe62bxs%9`~tKmGQ%3qNtuG8GF!D=~NrY$qaAT3nthS$~7y5a?OA@Tg=s@^8L z^+tcu&#i5Pm-<^L_VGARW4M+bTmr{pEfTK#o8^s*1oBz=Zw$CUrZs@*Y9~fR?@FvN z+eaaHg_`L(-0TqAj)LY=*8qPIJ6+i&-Jzd#`S<-4kDIPITDWVs8ulozp=YYlu9zx^~$ zlf+|?08PD!o$Zmk2!ch)JpiIEiHWmU%nVPJnhVA6$t@4$Pg`5DaZ+cLe0?J~K>8(c z2Bn01LrsZ*fizLQfPEge?KTo-n)Y0JlG(u4IK`gEP?WP7i|kE+IZmwPv|sWcOJ>t8 z9~TWXk_i6bbjvTd(A{Oci4(pgH;`4qvl{BUUYbax*-wCiF~TCRJr#M`h6GIoVU+Rd0iN)PN8z zH-ebJul3E4=ftY%b;ndVA9yrCuSy5>G7bo*(VWAB2nc5R$3j_c}ELzVCP0 zZG(okUQ3?m`U%PSdb0x;E;$w;<9yU#Nv@NFhC%`dxIi6idOSgk2Iq3}GGq&xrtcC& z4+dO%Tn~M%vvjo5AsY7%Z#sVP#uC4RIS`Etu0VqyyMmO!NCVvCIG1|oF}`!+0@aduj|BzG`W4CTW<;yEi; zM+WdCJJ7-jZpDPD!5YYPiKT}RKCJgXk|)TS<7Ab$!g8y6Qhn00HoZ$X7Oy6Z5LrmR zxon21&^S8>m+w2U7?*%Y)5yfk-vYtSkvgG5-*;O{tR-@xj!%&2Vm_8yeoN_scISK!RJM%EiOY8 zieByqy9=|$MV!*IBHJeFvc}L};c;W`x3iLL4rU9*T0e{{R>M`F3C7D-G2aCU>5+(* zy}rK{rNV#3^i}^SXYaNK8=Jp8Rh-9%yECwoS5Q<->ayaL8<0RHr4%kiZ@}>Pen2W5 zB(6tp<~JM1BMj5wL^Y9L80EDmj8qO}wybU5ecM7AMU8mmtd~;vW76r-YzZ3ZV zmw@O0-i!Yw!04sHLfb(K$RN|i=f|q3@c@;Da=3p=JW|!POH8VilZS^#el?_8QdO@$ z(S5Ue)jUnhOPY5D-Y>alA%82i?^eZhQQDsd?}=Z1$um*W4}Jl@9+q2K_(Otn({(4iS0F)o{6yN;6)6PrY=$~ULiH=_ z`RucZlFXd{V(tLeU6>@GYIgY+vQDiv_EJ}yGjc-fbxnv~gQ>2tXfQ^)P{tG!#7GTP z_cLA^u58U7EUQY%h%eR67;vA~c1=o2Jux-rwS4TSRiBd5d=$MmVzW@M^;kiucxVIW zAn>Qm^Pd~sUO?5~jh$%;a{21|n3eazQ#A4o;tS_OkSV!aEq`|oHF?R7;gywS@ ztFfg54)H75q**gvnCP(%9WBUicpfSp;(c^cnby0Hdpy`B=?2&SX2c{66V+KMeH7WAi87?ms)v`z^3Oh=OM0^NJP#%62x?jywyh3Gp9E~4;>RE|F8*f0v~fz z4EbRbegx;fJ7s3~!zSEoX_xwZunFhBvBMXQHY-%f+%TZy^l)R6%P9tAHPEI{vCc+c z>^G@q8Wc8XYk!%tzCy3nu~+C8l`woF;T@XC_lA2kqT7%@Ri=iS3lJrcqpumwXHO3~ z-Q}7ec1OW-&Vk*vsj<;pEnhaASgY}mjhpZvnIi&7{!dQ@%?@@UOExoJvPXXFAhs}z zCUXG!)8(b^JzN7nn#O?^tF=b*(ZWmgi|U5Qn{p1MOkq6w(6M=$+YGJT9H8M)XW&g_ z18~}+XEJNpnq5^i9prIJ-OG|Q1G{V@Jh!f=_ z2pIw)ddRXcPLJA9EPFQRS6(#PsLdL>z}QmvS2d8$jDTyvKZ6$Rx(Q*{4WMc;6~fKCN*F|m(HYJlf-zH}i?M8Sq4I5GQp+h*a9F72XRKSqF9J*|(hLfl z0t~-IY^j+udquBsK~e&0dDC4t9VsVM4h$*#rv%5#mP%*INbg4zjd1;XlU?s|{r+8J zyKGPNy)KSCT%=?&@8H>~XD;#$KkhTHrkrK}(6?pih@1GFKlN?ZTHZ6<1zkV%Z5M4> zaO+plw_UZ0Yci*va5SV2&?=xOHcFfpQVC#{NjWjg-2-z^-#zq0PHfMSNT2HmsvOIe zBQ=T2Yzh`ACF0dI75jr;VjY3`U@BT$S<-uxCpK*Ero zXXS(gitP{oMqw)DmGkn<2gd<``T1vOy#*Vah?P#`_p0%$K z3YVPA8_&ZhTx*9;o;>NJ_};W$W*}XObJ^%3jQ+$a`2{3t{BJ}}2jOpGHI!(4dF*@)mIAd+BCDjhIge6|h5wG}}S%)iK$ zGywLB5&r!32uv7nOz$I}H5R@qi!u|R_Ct~QGYVM!$iFEPo4aoo(_#XCC=y?`hz^=m zBg^nFTI>vBabD0$)v*evc1YXCuG7}ma-wD)_oZ5PM`;tqch zPTb-RaDtmI5aMenlY=Ox2sb8+V}#0+W2hC9x88r(d&c(MkRz>qJDOziQT9gN!rcjv zL*4KRhm4_<7RUYlftO?+P13cW@sL3QO(`%O7u&>y)XCHDd@VU;yQ>J_Qn9^6?`$kS z#=agTQz2Aij*}x!%HvAF$`$cuPr(fLAA}`dKoJnp`odJnAB06S)V7)lSq(GBvm>i6 zsS*-|tU35wPF^1XDdXnSYDlr9Jl@e6=wd#I8!*J)IV{xyx?;gxA%kN zf?*{5&BfJ=`cepke^FXpU+f`ql3&ItArT>*9%QhIPt^0@C7~U1b*t`HYZ^6;@~;bL z*B3`ReZr+z=bhZlwNmK#i$~8z+kYgMcz}h0B4$hlWh&Hti1;iS<$bATdPg4O{iS5~ zEsgB#m|H8Zh@!QONH6+68z9^IqkW8JoAy?*odcJXJIDF z`?Xv&A=n5T})!VVe9|xeW>|nT9N7y!b09Nhoy~7h*wUjzf9)P8#r5(yi zZ<{I(AKfr~ajUXo!Y9S{tXtybDEl=%bPz*V7stfp%UzsX9vykoY$e)QwXZxZVCB>L zsqZYxW1}L8Q|B2H=g-6qWh=3RD64!fQVDk#Lj0bq{^j&hUdP1p^BGS5{s;TE9A0zq zoJ!14=(sbjD$N{RlO_Z3`Qr1eD(X4TWB{)DH6;+K%H4(bK>*$`%w-r-bsSZ$2I{^E z)thIyB7%76-(s`>#`pQJ{)gOH=rIVn<4zz2JjPf99_+JkttD}ZG94FuhpyBf={SZa z<7xAAzYhGJO8vP|>WPHX-5Wc^$6RXUx$F-@lXW!#Sx_K<`WN}U|6W@4FZ{EAiHz?* zL;3wzdhfpg{rK+(H2kL#5&x|p@IOr}`ENS9{;Q9||Lf=d)7?O5Y##ax4KuebH^+>T zgzvnlPLs;ZVtt{GGX!|rAzoCmMUzNIITG+XM&wT3(vfydeOoAP;OsRwm0<>-*g%7` zxV)2AlwjAuei#D2vzWs}A71A!5qKFLj?VQDLVT0@;zR2{b+3P^6PI9ln!LT5Spx6* ziNn8>LX^$yk@yzN)4x-rJ9DGV%^1G~-tp@+&ip+*Tj`UHWF#uUro9wX*VR%V-_HEL z#bT}YD}`}?xbXpv68RQBW;3YE0mqVB$?5nCxRAT4RcW)^^mpSe?>PdE_huXCzZ=Sk z8bkMNu$_=1wduLM=>*de4nDmOih7;Ule$jQFI|IfVK(f|NE}TJtnl(|PQ|sI9(eRi zPVVC>71O?lvB~?o_J?u?&K-D(Fy@S}C2eIwgRmxE8ic?0oFUI-kOZ#Im91sV@`@=P zDTyzO{Y_sj&&a>EYoEdi;w`l~89nv!zQe*rH4g9pj|)z5xadz);@HWG`QtURxs<20 z8Va_dsoDaI$F-?g#wqzGUU)*k=g()u)Sn+;zI?R-GJPTmSE-k-2VHQ$)9_PyM2ZhE z9;%hA3{BfE=661L&}t(o^M-z!hg0l<3#+b#YMHEEJ=)--I4~d^f>C=4qjowU6f2Z# zhBRe5q`YgHJ>g#a(Ccjl#!#-g)PHRv{ARLc`7vF&VIMcyrp=Q+kv_+Q#G6Lmrd&r8 z&pFEeesLotQu&l|cbY4FnhAwpN`&zQ09mP{l(|x`dmJ-AIh{DH z+)+h26r*fAzc1~kCSX|o{*|tRzw|8s^n1g77?N0}E#j?3LN>P4ymr5Hb=l&Uf;B^! zNB6=f4fh|)Z>O#bQsqZ}fIvv)K+!P3bkYD-4vZgY!d9v=cFBJ`#fqUkfyM`UK4#xd znrruE;!yVIJDv4M7pJ_J=(XI}c|Ge*!CTwwH&YYpZY(-RiXe@JyV0YG$EGD&SHC44DNZri`rhNJ zjw5+Na>H=_yWy834{j5mFg2m^>myGC32G?4-DXacSvEu2F0YcJ%n>YmUux>@rPA!a z8RyQu>{@nOL!h@(XT{2f-LDsLQ$1&(2(GzM9#Lir+zpm=-MFV6+7OR&2i1P}#eaJ8 zSh|Z7dd3{*9(>@W@#%q(4{)%3GENCWVOh)@?YcS2Z#m#CTZv$MXdNW9BBf1c#OW%= zTVWFmc~W<&X+xJJ_epsCs}Y>b?ZDgG#ysh=g4`xf`;eppvzCT1z~a$|($NFy`mx5L zGFKOBvra&7@|ow1F8%9)*G*!37GB!8h*f{V=l%hr0_rT&jh8GHvqTxW%t~FRp19_0 zP6*9YtjW#-iSfOsZ~3Qp*szqoj}?(aUs#5--#jicI;cw;ZhBMCcqVScH9N7zd`?_R zObp`9>u}mFE{r>L7ypT+6_O-XA6S(}ADu0HGvKBg5h}h>dgJ(sMHXWOs2r;T|3E2J z4iH3sM&~R%75yAURSW5H%qw~!HaS}mw?MjS%X;Hy1(!|)9Wpj1u8O_?YTE9DBk3dL zNNh;V1K(m1`g||eBEDNQL5q=@3O=q8l@w+^wEXE#^vgLldv~<&7Hs?V+Kz>5X?g_N zP3$t@41#5Ano19bK42`8pBqKAd>(c*1(^lbH2St_NN)<#qZDGjY#Gb>eRe-szb{xH|P$4^+?7K8xUK3D3&v7)a;`udV>eUl!)l#n~*4EFs7d~ z5z_KSadaWBDuVl24jFlXR7IvKE{X@GT6WaLwY*1+#pp*#_V0cq4Xe0sxkCWtDedn| zhEkkW?aji_zCyx;j)3~33!@-b5F_Qp$tH|OYtFK=s)>wq4Bd?WqA6|B(1f8+^?oe} zV`Tn}i%S&y*a-;g!RsJ_$@NTqxR4?Pv0TAW6%lhCVz}S=a$+EbdE-E**ZzSc?Ojij zM0e;*)LKS}NtZVB$HsY*R5*0*0~iqA$I0)K833Jr%{J^Zw2LNMYpc@8jj|2ugrZx8 zr<(#&NZ55pE#cDAFNacSquy^U>X#_<*o7vd^Qgash?!@?agtAo!z$5!k5+{CrA$1Ryp}&^>fumO$WxBx_|f7G=d~0N ziJ)?aW39Ya8EkoVK0U1Uf+(Z!ZB^J%Z0D?+bUsN9+km_`&tA)x8-J;fZsJSVlh;S@E`9gYTl-9nQlYuBJQ3Dq zKf5DJ5{0odWM&{!q&mQ!&M7QV^Kh`O)(~zAa$RBg%gtlW0K9d5G;c31+pui@N1dh7 ztF}}rjz<5bVBmlF#il|Ewki+b_F0?+T7`cQ1~z1DQyzg?p86gX#m++kSK?6$(L+Y8 z>BPj}sU~Jx2}cBH_#(Sg4S$s!Px)SdVlC-a0CM!oB)p8d6)C5~07s?_iHgLE+vHgw z66z1T?tEN$Mo+cpT(MG*Sx(te(Rv%$RK?}H&5?H^{_tU+^rX+1>QtlYs}#jqxMdx# z>LGRdgYZ_4rV6cD^5=-pUZ=o62+SZ;)f_Y6ZWi3+!Ir$%BCUrnGapt$@mCJIgAzTL zU6Gsk-gg42rV`pKI`2v7bd|R3%_}rEsxhKR96OgsR?Uz0xNhUsFnos~gGeaS8-I0% zBI=NymN`Ig%uQ(KR#{?x!CH+aa@|_}Bv7)(fgIM4Lqb5+31`0=!G<}l<2(K!{GR&} z(9%n3GHnxF^{XzR5rm2i8~Ig+DPKB7U^p}v45?#xE9~~!ocZlze@S>%qx|;~!_(f75)xg(+;7==2BAuOO-3U<>8Wdh*H#Qni_@-idO-$CFHQwdB_{Ix;`@p%#CTh zb#vH{IOtxG6NOGpd=IbPt%f!W@ur={m9P^%v}h*jnRwUb-$SS_QR|90`B6H+mXTi| zEDxlsuJBej)?(Q#xqp50u(@omi}MVzMe-^k{BbDtl~Voo>b2;)N~!G{ zeX%A{B16X&;dft4opXC=90V1DcoJ2%vQ4%!S7vFGETIn49z&)PCT9l#VvgQf6w2wO zb(YcC64sjD+KHRYzSmOQZ$64>7GO_>NWu@vhuN%hj#~b$FxLRTIw6V$_uL0LkgH7v zYMXT+nTjL?QC$4U*CdP1{Y`tMvug$Hj>q*>fyN>xW zXjxmU1#y%d@GM$o`MAy@dI9n~*>RDLbi)wHJkzM0g^fx@)ASNn%CEnnwB5u{$q+0_x&p5U=D=bM*5=d? zVm&}paHob;t{1yQvuFX{XjA*j!c)#3>)y%pzJL@sO8Lga$md6#uRbd%dl3HMP^Zp5 zlrq?Y)=G}Pzu#)~6gw~cnkwHrQM+UIfTZN81@ZAd$0A!T7YBL%$F&#yH*FcaVUJ zuwa6Yr&*sN^x#U&E(&^*6b&E%=SrSJshKzl*Ge^4?Jp#&;`MU2C?|W;o2`)cI2AC8 zPd`hyP`uUfOQF{fakg;yQ4~W8KZ{~Ot=`1pXBg^>d(%psB}SM5<1pGy(!91Zd#sDu z(72~le*3`QzWL*O3`--Jn~?Hq&hQQM1RfQhaKPap?RVajHkrPIR9UthGrj+XR?t`3 zg2jlZQ@?YxL(*!iN(xi`7Mb7<0fI>3vPxY?tGf+XqRhVyKdw+1hrXloI%YH35`$KT zk}AEUZKv0RFBFyhHDM0sy+xEx-IAMHv=96GUXO5^ zAvr8hW>C-~A#CQ)sI;cr>bG|}GB5+29m4F|XFHMqSmA^uH21*NJ&G?5ML3hbMXXd@ znzDHJo?tC$vn* z&oS^bl9T#+m=e}I-Xc|iM^3~zx*}DWv=J;x5&`K4U1~$s4{wjO9E@3}b`{=d# z=Gr5M?(EN@Ro)SsWJ?rB0&xxax{=2jdh#ONHsraGB~ta9D2zd`xvm^>Ma?8>N;%Ji z&n&l(F5$|aSIXI-`u7K6xcv`8w!H0@I?oXf$p$tsPdk+P^uZB6r_+N^E7veDw-bni zIOj)QZObRZ3sWEX&35bJ@e~86YK@Z_?z8)JdT>u-Y9E{pgwF`Sla4Ls4%SIGhnQE< z3Uft@f&kl^x^yh3r_xX#rN&ydAG4}9s_72R{g!@%+Uad1E1#*u9MDoPzUHRpG#OQ| zks2~)$P+mH+Z^;Fv%!;u5Pis2==q`x1?KAQBLN449OU0E!>=vB)Fo7){AT&-du;Wb z3rn2n`N&#;ds6o!d&Rkf3(z$+O!Kx;Gnc(>WNqv;_&l@(ndUjP$Uk*%$a8h5Djx4$ z^u#P}D?+5-uKE`>Z0gRp|eHg0OQm*ac7fXo6J-g;mHit0BjG7Qd369JV+e~`UK463Lvss(<(EDlPfXk4!$J?6!&n~V1bw>n@dH%R!^`+*c1laD}z8F>Sxa9 z1^7xhxE5q0{XLuR;+icG*~MVC_^W70T{03qqv-j}yWaR}i29x{`h)Os9Y>GC?2 z#T<4X4c(vHWg?&tX2QYn9Xl_`o&B|hCRz@u(o{r~E;9Rov|QVTxMT?e#nG z-uG(PQg+SXfd6i8v)Uwvl8T_dx)mP-_sMgZKQWFa^ds%K9u_t&E;GPQ!YS~xJ73x; zaEihuLldo6~~>&)BHW_>ts+c9#jw~$5V zdn8n;|3Ua7x5V1M!&GV9l3GBC3ot&FN0AEjJtFu8vQ6OsAQjvDkh}6^jH6wFW$&NP`jil2uP)iyDuwvIJ#b4E8U^=w9G@rK zf!>N?+AeE<+A>WxXLP215IGvoItVJuS918Vydw8OFa8jz7B%18QcCw07}(;ok6hzv zTQ7Ln?$@58`fd56?9qjiP0PQTed~*zp_Qh?UUuN&SYjZq0>GK6^D#xSTlrm~ayev> z_`J5!TW3CmkT!^etHNadV<+~#-0qDUOSjeM%L?$fxN`iJolxn#)-GQ{msFYws| z6TI@=NZ>ZN_jB6I=8BJH-ti+XkUDn;%`wY}N=tK={hVXp-8V*#eqn-Z#LJ(ObwO?N z+#qszRZzW6Z7of0RAY13=73Ev8t&fv$O|u$ZcvCfnqfWG@%fh#`y_Q^+7j+80wWym zwe5I2dn(x;HWY#q1WUe zIZS8NDX>-5q`}(#DAvXA?M)&JUW#VZd=h>{=tBi~6M&A&7*9x#apj znkYyB;W4|K@tjnrmR67jp%%a0z9L1tvUf#w-}-}BDM8EDM<5g)>dEPhDyJ0n$!3m8 zEhV%>hOhS>3~@y%(FIh^M-$1iMYbHDv_k<;l*6D{Vr0IsVWh0Sx7vItYt$5473ke6 z3W3A_sNuv9PSB-tT1$2LM1?OYk^Nue-2%NIenDM7dDj`ud%0=eiDvaf5#%5kKYP1L zKHAt)PptmljXYZ32+2G&Z$bRaKwzmcx&X<19G27ER9ok3m_gB=_5?CKkI{V2r<@a$dIC$4F z8@kCDVPd>#k+>*o)InMLOTHjbLMrrdRk*qCXVr7e!mihul4ywO;Cv}1Ll;=CZf*jY9!9#?_=iteO! zn!+uYKaXADEt}t;j&0j>^P-3dUK+FO|Hfjv? z6=*E*#i4j}FU-X=57nWpZ5)&vmoFm@%6A#KP$Ny*^Dix*UtRq{`z3WEi#_gTp0sSi zQ}Q(u>T52_0>~*{k9$_aW$m?R1XTAj^NUj${}`2NwwmE^;g&y!zh7|>^ZN1pZ` zU3Yjs-fMWz=Gj=VY{qk3g~jJ!i^n7})ofjc6J#%$!T@z}qs=%xuXW<|4Zkhg^#_kx zrbZk&$Hb2s6r$tDUowVlzfilnBq|v6rIcoXJA>2#e`l7Zw#MO1*Y0<)bhdefWvRXT z<<3Y`{hotI%N?o~xz3DG9bREnYc|cKC%1}%S*1$an(Plh+yfApm&Vy{E29UAdbt^V?35F7^z!3Aj zjC6k=I7Cvsigmd3z!R$qq^snwK84D|St$w=<=_?fmIGnoQ6!>!k^Ba3YXAifWTvlB zWBqQPb@t2OmcAFNU7x2ODt4XncBQ&AVe`CqH{FG-zx<%vl;6)SlFbcAwTC1=P58`y zTKr|s`Aw9kJ0ZU1PYNQ|Efj1tJ9$mHi*}{3> zKaH#<`7`TDDu^Hr`cZU(jNr-`I2mG6K5-;U{(H&sLTPZjC_Q59L8U4q>Z0FP9^YKv zpmAm~fw>EI)_MxRD-@x#y3}fD1)1{vh3H%6PXQG2TnMsH1(`oibx~P%RtNE2ueqU& z`mNaH1v7J-@@oX$$-))~mxCD9Sfz$-C26+(_TMr3KD1=ORlu6*v%7{ZDc)&OT$H-v zLwTQ*zh%#xWSiU0R;!bOKh?%j`0sgLH3r_>nq&*5>llX3R&?b{VH|MEx0`hA!27X|Z^)>IR zfCsmn2F-jQdUS)NQ)8d;2hGC<;Suu&|2kxYdC}a$9^-OP#;u+fI5=Mkg3hx6a8nK)E78z}Gv6n+}% z`v$T#B3N@5iYV_Rh*-QEs2Bc0Snt;3j_Z_A{venw`KP_ozDdG?P%{NNNa-X>e#UO0 zwiU=UvZe1tUxG|A`^#K^zcT%I^~KLhn=+zF`Ce{GV~Zc`2aWV+xDuSIMx4BOe&jzXPN<22BCRb*13c>eoJM?dV2Hm&6z4rp+|9vmv ze_#0Lkp0t!C;U8|&k|Ta=VW^D->WkH7VvLZMcXdqf7IC|KHPAwPADR)c|?~)tC)Dj z8ea)rRlH5rUh2iZ^FMk@{l#DY&j)Ltq-d4tF)XlW{6r@>kE*FL6Yg>OYiejB4c+}s z=_Li6;Un6Kjc?VR$4X_DxqN2`J1Pq}lLy)X&QwSWnkP5yAvn=a7fo)b1YJHGpL+`e z%mi2*nyr6s`N&Dl*-AG!{KOXs6hS8sr4lDBXpso!2Rm@VbhAM}4m^dDQJ zqO!lpUoQDOyZiqVy@P)`gz~=?{r*3S;{WGD?{f`+26~)XO#>E`7dj*`2aD6cv7k)f zGggZgfduuuL-|&f#TFnzjTmYwnK|a_GZrEtgFb?v@EiDbJ>>5+c_&_^~V4og)%wOfFOu5F<(XMG^LgvpqV( z3%+wyuqJAAjz+GUg!NN*C^1R;ZI1YrqWw1I-+wF?cQrA!Cm9N2KpCg$%T8h3KPlrC zuY>5bunRvZ<0@Kl89qQ6zc?+hyynDOgBEaf`|EF;$<$&t(ei3V8uEJ-Z(gVV%d%C; z&i;r9)ShH60h!@Z4O1)fQbT_oUZ3W6z+!5|CS|?cO@D58qJjJp0)`rhM2OKJ%C^aq z%N8LO&guOV;&%mRE>fF`ch^SEM12;Q!)ESC`t)J#=B}vc9P7cqDMkJNYFqr1SNbQS zWFJbero@z~Hgovth-Tz~J2HiAj4dC{|LC-}xTI*BfBd-U+wvpPKIdO>*ariYXA~x&ZmPVI;ns+g8ARZluExmw-KmWXa5E3w_r7{q7?l6Ku+jLe_nc%MqWzhX zG*{+zqTF+X9*}Bm9?~4Wea5M_PgL(R8?%F1+%^Lc%%z=Rn=nl6t(E< zq1(0)FH5gQx+B|lmt{jN)eGJh)96YsE9#9njoYBL7K=8NZ6QU*IU#% zXWaYVyZ4Us-gx7j^TxP;EUiJp+H0>hn{Uqfee%L5EWau4sKidpYk&+VPD<|G9|Oev zJx3=D*ag0UNm2(=J5Uu1bm`(iUx3Q& zc4ylsREW{+#JE`@KRVBiUf1QEPEf%##>4u5q_E{O47un z2BsbgF`y%A3COJC9xcRrac5+kJE=smU*nI`6noB!O%LlO#w%1kOu zFLytybMA|{tbVaQ#X&XzrVy7qes~}+vcrQ}k_CGEBhnqEsT+YZoff6vvl_O3SUp`b zIHLL_?4+6jk%8+^+2XoE2CA+z0m+I0G72N387^YBr$eh@?- znd(cEtOVcB=cHckE*27vDS6=kH`*X=^-jTEl>=b~)lw%T%JSY8f6KQz?znrB=xbWp z`wqH+21Bsh&t%&2LYmVXsoex#1yp=3&}$$QpPn$qBlMP16%)OQ(^c}R9Q#K)?xV@q zA;*JsyXKMP!0BCEU@`->cAQKB>D44E@RdTe4w}ArC?s-Flc;k%B-iuNe zqw_lR)9q)^0QNMOn(J@Yghzec<0j&Xf%1alsF~M2wwbC+Ue&5??9uscf4}CM-4?fn+dQajK;~-W zHre`kyiTjD&I)U1;0Zc_!rSnVSByk#o$O~6UY;Xh+Ipw(Bd9iO{>L}PP4^&@hj?7Q8Kn%^%(-obOXX1e?fQgaK8A(fNxAso;$>@(HI!kY;eerRNnoQ z!G+bIR?U=}Whl99ypy`r|GMJ$P`=HiuXLG=fHM4~Cuwc0B~+YXz|9+>bY7m)r0z%$ zyDV~ZtA3F<^G@@`tw1RI*g!(-ZT}6M*RD?$10FRJ;*IMA8I>t($ioN_Lu9qmQw%NH z6QaF6t*7nKP~4HKsF9tH#PZ2TrRQd zfyhw8;OeeQk`hX8bjo}w-04W%42J|i@9Q^8OLwAB2OeM5iFFg+3hvxqPC z-O~-1)@+|HSDxDPpy`hp%QzNa0QZ(QkAM{OG15O|&1e+id|q@`lGBe+9jdF5!d&0K z6^>rGVErXClnikyr>{SI^5R8&d#W+AXo!b|>Zi#dKImKeTcL?)Kw&pIUC4P51hP>3 zoHqFZAb_nW>Hf9jEBA1ARG}Yz-I*$)!X=7vv>vGOsw~0Ue!Txfh%=ID%CiX&^#Ed% z;B(Ji7#UlqSNT5C`Ek&uO{$r}_cImMkI?Oi>f46nztAMHglxFqiXVZ!u1ONLBBLa- zfs9argw3U9c_QBkAEE;T$<8wgC*HYSQ0aRIB!w*2yQI3BepG4am3ztb%O!#GQfIQD zRE74QQSR1Ss$KQ?QLyB+`6oMG(lehiY`N55CP5sEoV~7lH||!3EB1{3w0g+mcwnmL zVkxEusD~&FVQCr=R|gFM<)l_}dK>@Mfqr6l?Jr1@VA!xFJC{Pf7a%?7pU+d`6Tc(} zXl_YvU#X3MPFP9Zi{P6X2{kIsZI>}N-(ZQITyoS#X#v?&R+{#{X^t`+kR$Sb}> z=q8Xx@Ok}Hk~GAziJW{DN~_g|DrC!^Z8VHw$kv!%HoWpW^=(HQ{W~4H19uJVis8Hj zI~^gjen{b9%QfYhwYoyq^0Au4^pfBO(hzHh8KS;th~DpLk*ALL=UtyyhTp6WEKvZU zuRsn5(xo}@oR*u+6yLL;5dMM*7+qE@8U=1Qf)HQ&m4W;Mc-6J+Ny%ImTckJ9=wzLY z-YX3D(y6-M5jxlT+2`c^8uy5ZV2$R=)?3PJ-^6dT-E+EFdJt{^%Uaz}W#G$dVezb)^ZyzhDw*U1rv`_L#t3 z_}^h9+=k6rBs(RqfPLWvo)(o*lb9rgQ@B74H#opOE&S05BAnOktn%9Iu=L)*W-B#p z8HhfW^5l2Gug(Ei8Im~z*lmPc)JRHZEu9^3kb5MhkY|lzj)<}(-4;glD$b@AF%NRf zJamXFp1rkDUWMC=nh4?kPzeYa<2v?>71@l+R@pjOm%3YihiX-Vl8)9Pr|MpWJ?iB= z40dGJ1SI+Yb#RM99oCt%dA?U_-9r2^MDjtiKqr;dM|M?ypP-I)@G5}__XMV=BhwQn z)V&gvtf6Xmeh0teVLvBah2c-xcBj{SdUxT*bBeo6qols5-(Ino%*0Y^J7#KzNU|QC zU?Vq$v&Uu*ddF_cBdi6L$PuNeXYDHYv|7$)+}5BiR;i!4xaC^C z0yQ3Z9$?J>xCEagmd3)fI949+7`T=6O_-&(?4mq<)<%sQ)=ozEMg7lXMro>hLR%^&~pIZQN@JN zMs=dGYn%%h$?T$kKB&K$h?_c7n|fF}aWNt{8t_|5S|>jsNtnTu5yw1J^eSMiD*03AjXi zhc~!cfJ6&h62eO<^!lrX4>z#{I-tH&PA-a5i>jU4e!)3SjXcZV+V{DCzV7m~<}0U* zq}$*IcQBm_gwQeon;y7`hj{TMS&dmN(gl=~p&8sW<++b>Kr)e`6a zOH1*=@=u@pz!)?Kd}L4QyqBfq<&Om^A5ZBrsUoJ)h-A_QJakPUJLZT-$K?US#Ob>3 zso7)CpB;5%x*n^GCGJ?KEF_r?E{)VCW|8$*DJZCnk|(V}tB5Qy9%1t;8wcq5Z1%^47axS6F!YbjL09f&)2?HkUa$S!h&G9X)|0gD%(I3 zF{4tH(EhOl94DbJxRg+T34A%TPhQ+>`u z+&QROsmMm^%m6gGITn?Cp5a8>UvQ(7-C!X2nOhRr{C!Ryb29q-Q~LkAeU1MLl>st6 zFf4yqKsKOy$kQ-O6fZ2T->GrI`GgQo%-vCjwRhvD`1(D1bI%&xxV|5sT${O3=T4Ji zYe!r(v!+UWtt8bS;0vrit465OCSJDw5qh~N>l1@6-p2V!@DZ1KECsp$8G@_y-U79cG^_VfCBFx6kF z0Z?G6E;@9SXaEO-qfcKMa;(Rj(6UJhBwNAD74&hpIOIdSoZBP=;JPaU;E~xXTJjj{ zgtVMb0qbA4;Zw;fx)(vKyQI7O$G))ZngeGgZ%4J~@qtNmZg0&#YvJ#lv-}A0^Lfa= z(mp`xe99(?OmK$5RQX&&zhPi%E&j@q5^3KJ9p8%p$hoj;hW@9mp6~W)8Ow=mr`Sd_ zgd1w{2$6UlT(HJ_B*A2^Ls?Iq7TS+#r{Of87M$tHp5<_@3$KS&&=ok$Gess_2nvgA7Cd7{CKINf0v<#O&yJYZE9k4S!&jeILLbtvu!AR}`Yd>sL!I zD9`khj&bg$oPB$(Q|UKV7XKmiFI%-NnYt1RB7v=PCn_)WH~ZmK#*cNs#Colp24P09 zgNxqSwO05v4oHT}v?C=~z;@loE91EO&9rSFI~!PBd@sA<#~+nXL5rVSxFchf>+##3 znls_Np4jEAe|9$-YXdd}s9%2o8fitcB@61;f?E5MU?%)8>erid(t=wJhIP~%f%-La z_iR>MGnFUZ1o~u12$9q0Jp@SUc>8le2G`@fB_=FJP>LRO-lNj@UD~^8Rkm7z_eyJK zyVkXf7BgoXK<`cNIzV+|&IHcxs z>!B`7R+YY%d*H^_xlV?ycJm*Kg{shr4nRl&+G@2&`Apdgd=nl=^%YwR-J0+!6Oe|z z)jik7A4P1Qrgt!N%OFQW;>|zzKG1kP{f36l-m|Ml*TlDK2&Pc8z+Bbppth~kGLn|Gv>UCZi{<2Cxqwf0C-b`7ZND<8k%rK4)TJrB2A4k9`J9SHa` z&J#*#3%ug{sUvLKHe?~fyG|04W3QMOPSlw1371^go4NPl&jYyI0jXq5k-qY3^$df( z#K}1j4wa%i5&X~vF#nJCNMga9x?gjyk#s+D=rIriJ^JH5dVZk6PXB)Q%Ilk%47Ek; z@A}tQU2m;ORTy(7gO8)ArC0}BX2b`z$#vgKg^;ezO#+^>7sib_ow`||BJn%;olo_O<%v316~!yAghg@6zuIUbCcvEr|i>fxJ%YsJTM?gyK0tm^rt*8Gu6=*1q- z2IpnA&Rgl0`s(`>8Rsu8>csk>vN<-?AHUFn0%jllnyywcKnSB_4?0lt^X)4f-G@o8 zlx27MnH%rs{k%VUZnixtPy~=Ur3dnRtPoBw6Offzi_Kedw|7$4BcCcrlO9K0x=L6T zbjhy_`y2S6%+T$tcjVo<3q=^L8P?pEhdTk>qCYMcu7UtcVg*nV`%daFg7`-bQSzMP zC}baVv)=lhubMPgbkD>t9ney03P>K=o=$B5r*9QFSW=rrz$TY4xD!Yd1luIT%b!%d z-Uthhqb%WYE1P-jw>WG5<`XVqRV$Y=GgqtM5|o@7U!lmFAl^vl zD(*&8fQ$pNX-At;w6%9DOGV}%em^Ap-tASw?qO_tkaEd7#RBgr*Zv$;=kt@3LYWjO zdToXSYYI2A^9qHlmXqv%-FknhmkEfPtq~sB`mWmb;`NoKqE|;wFKm61 z#}ItB6dAh$>rmX94dsLR zCC4d0+(W0T%Zp2~~b=AxDKJ zUg+f-R!Xh8Fr7B#+5N;hW^E-H=<5k12in(}C9d;e-8!#w>x*ATu2t)I7+p0rDMxy| zx-Kukq0i+H!AxPmjHfghff}dMj&R4$PP}Gbdz!>uof(krviO^=$GV-Y$mv*I{$+Y^ zpoE5ift$Z*^{nNWP2Abg@+;(}6Nbyistm99I3CN){;gW-mJuF3N|VYhE~(cAE8Vzp z&IAXB_XubpU>1C53aER*xI6t=7f`dztij%O*>_iEkJU=YN>%-owD#Pxn{?4yK6p0| z2l6K&9^Xd>pVIY`*(HfU3bCwI8Vy8G0H!Di!J~Ud$m4az_q%;XkT$BYno&M9{mlY2C-)s+d_kVad<@Xc& zZ@r-oD|Y;ss2l(H6~X`2g8p}X`Tw&B^gp=j1`xh}H%x5;VS}>914uw;`Lp_lnjurn zk~vp!~&l^ojh`O(uI{N|T(MV`cFO4I8?R&jh({?^XHEcLFb|=t%_yUsTaD*gk z74K+*%DtMPzMfW+Ds406$Zo7ptRE{oRlu3Ea2oHQc2+toNTp->Kbdav1h3EIQQAM5Zt%OsXN^IoyGum{ z-0fkn(J7fu61LnP2m`NBk-S1$Co4;7Z@5`;rOxi5kM3C>c@9W!fAjA5_D-wy+0}il zm$}*Hl2Uz}bVy-3+2VNY&I}0%kmBmyrRE?z-%ZfL>Qew;X5(&xCG1NUJIXASd!)|e zC!2l*>iyqJO69whgWCU1i9qEoj2t7P>-A+$bCRnaAbwnd?f_n>;wtBcr~+`xi#0oc zjp}BWr^vwkkuUvwL<^Kw8FOMmhSBRi!9o6n=7@R&*;_uV&t{+ehU}NWP^+do9mdaH zm|ZaVI_z!7(_eW*hZuT^Hg@tj-V_lpi(!jKVy}=)Sb(}TUUCj}c}@vHF(|p!rH8gY zlNit3!(sDOJO-y<`b*BWMA5NDoaD<>JMRB+;zKru}QKe|8(8=MM6lt(rEi&bh4Jq&i)wf%l19G!Lnt&_S#Q`|Jc-n7DylXHp7bL965C(7Ex!&Wnnl|Ns*Ab=|W)No;~ z@lchE!gr`oMc9)}fM{E8<-odQj(m7qN%M$8xrcz{3>;56bcQOf!4B6@s2%l#F zCDZ$;iFgNl(BRnzOjWk)6t3|(<<~~x;E1GCRP(CLac}TL4Tp_qwkPl2diAod+%!BclO>B?jNowWm9 z0U$ErfoVF?l7(ryX2y?z>O9=A1FLG`%;SvY)!1tEF;ES27sm@3>{k&|8y|$j#%oTT zbSReIB{WAVGs2y1Z#jOuxzM0|9!Aszm8C#xOifb6M0&}(6NJqKU44%6 zwu+Bo)*Gkd`Zp)Fn_dPfN8P)J?h%45sg611Ao&DxF-rkaKL{$n-bZ7-F5do58N+ zpfmiI_y-ezEA*Z=`iSA@yK64rr1rlFqjCI;xd%N;UNt|G?jAW2Al+wr`TlZ+ot@ay zMZi?+$)8|W)Ibyjc1jXClj>4TiErVlpNE8`ze3c=;o)a%t~5FMWA~zBl!`>Q^8Au_ zM;H#lDb<-L3f`TVZxukTBy>Zo2!Mi1T;%tmGxWX)$+NCn$NLi`o!Y(5`-MP-H_I@g z^}6$pz(>5^w|1`s8FHh0KXu{CqHLqOCD5zHbphG2>txC(xV=k~<)F=!|JW2{5OMn{ zKrYg;7>z$JHko}DD;}kDhnhl*j=P+{!V*~p*&Mt-I46ZRyI+7KHZo6pfe-qOuM(&93Y|fBd9K+fpfqt;oQP!K=Y0k=A z{BC%Gax;*_&1q#+jN}XHX)MGi-Adw%k|HIS(H(-9c?x~l zx#LATq~3Qn&(*OD=6aY{hMw>0lwqDK<^=4_F(?GcN8&_UQYBg&qcX8T@JjzAdQZ4T zNL)dQKU&?j$$7P)f9GDT<#3@Zcne=YkL%^dq`k>`&n%Nq0*!`_{Ja22_GpY)L(?#XY+%9c#+oz1iYUjpI_BG+8<4P<@4QT>p)M!3T3W<}|BXvyCDHAS%? zuD7h|w7!C$ytL7R;BmXrDntHqTQw-h*`B109QlHK?y2$>lrjF#z?;>47a;O?Mn~B! z%%_glg_nvz{vp@#3wyr_F88 zDNeA^^EGHnfaXS(bcahjEWlz8BA0AQ z7vTmknkuae(!th$y;{LTj#*nuNa$+Q^dR#tqodgSu34O3$`md`l9<_%6LtO&l~LvB zz!C$@+j`e|>H@4$B(H|g^AaG$3y(&sq(S6#o1q?dy0>T7AJkvu59H;N&%yYxxDhVO zS<~GK_)v7b=Q~|iu!1I5&(IgFK%M*(tC!fCb*?*1kd^P21uQLb3 zzmQh?-fkOp|FUNdRHse^-X^XeZa7kB-v>9i089h5EM^TSgY(`(_$h z%=ZP-LqNbH|7j3cCuDF_*jX+(_Aje9tL0FxkhX>f3$ll><9B^uUT18cukDMC0ch-! z#VGJ!OHPV;GTjJ12?Qd28BGKyQk;_&dXc)1z6$smQ@%+B_TsBX4&S z$=l(}JFUK7jfJdXz6hFkBgX-VpgNfKBjD4-2NwScugXod9*`e#S)en9ehshH&&Kd* zzIazq-3}mme}0p4LC_VGW%%-VXKiS*6&IYn$)173yRm*U%svRXwK}U^~bDW^a;roKD#cgpxcNDzGJ(L zNr3(X!qk9qRO&%UN$>@L*Hi{xqiv*^ahi_tkcv9}#$hR9n=b%_FOpv>TO0O}uHJ7Wq38HM z{p>vuHN%#)(X5|vGVWZ3dwh4{32?(znl7yq*#Cw@kbjuFo4mxE*a?Ksep0hZsDWjx ztJDejfjtpWc%y!bjm3n=!I)FPy2dKyo^ z&Z2;xKs_Sf(cms9QDJBAlG;Ul9ydQ=O1c%c#WTQmkB#i0bI017@0#jO^~J7|AM#T8 zEGIG7RQ}g258b3+PvUNv+r#PvklEtPJ0P4lIQ}Pz$(!`uUp=#!7E%Ip<|3jtumOguoyVaW$%woHG&Q9e)>Q@;-h&Q)l;QjzxCka5 zW%^yU9%UZS#@3(c(QaR{M$L0K<@TeQ{{fv|>w=i;lNrhmY-ub((M`HUMmr4f7R7^z zD`f^?&QLj^w7C1Qp&;E=N^HL!^JmJt5BPOaJW#>h>*+=o;QG~?AjBQi1&by-!N7A1 z%^Xo_DNV)eUup0~DGHqzP327&y^z}cK$Cu~&Y1+} zZ|BQHaU&4BtF3o=+hDC&b*?ZDx zFZ1Qbrd^hL`F_7cPUgFed9w8|x-Ar2Q7W^8WR67uTNC(2@%kCadj?YSoiTYZrl=j< zk7#M6{8wkjcNoI1VpAdzXB;dwlLJVOEO*3~0jsP$NOhIxJ+-^%=po*dTW~+?R1L44 zcpiu~b-zAOovM$#@AN@> z5<#ta@|P#2YnUA=IULOtVCji3`S0AA2NcBQK9ZyqJZ}xw4^`1c?$R}YpgI3LT^%LW z<5z6jSiwm#EK0mAZDT2qUF3~-xD;}aFZDA_Z|3!h%6AU8zDexnkG5x<#n?*B<>gS= z6o^NVpVNWtw?Ej*^=QUJv|HMQ;j6`N4M6;ddpax3H~i_zpO%Mx+c=r00o8ADhdf zX?zs0KIO%GR6Nscu{TO%mG=ikzoBPnlr(U1>~{YMoOA=GtDgt*2!4SfPo~|5EjuE% z+%GPfOOZk0LON)e(5ZN}iQ72jQ*qt6|MQ8yU1rR84s*6To0Hl0PsCAKhlxS;ifL!3_PVu{;xldtH_1;_0Gcsxqcj^{P8uM7bNiuolC$xH z*7CqLOD~>HUOXz(DhGZiA3l%ovpFh%0tILk04mMM}R(Ea@#Ph zse`TknWHZ0A&nW&m)Tj~JexLYxPX@Yd(qMVh@bn9Mqn4crV`OBd?*c41EtRd2sEL} z^YbVS*B2k{)9q>jjuuv4eJwv1H$eLypv}H{ks^_8ktYC;4_FTX7tV)&c#6+)`X?me z;$y{ph7P5c_Z3^$aS~T1f4<{9@k(L4^A=Gp*mwFmPZi+h8fqBjHX>*UJkscpicEJ0P=^jJra1HnbxZ0$ zeD6UfCC@@RPk63>ajpaf-hQ|7tfu$UgZ)baXsPPJ)^5X2uUt5<9>o^=&XUGBPKrMH{eGYE=!jxXl>cIytHlTjZf5E)nbkNpNqn5KoUi6(D zM_R<wD; zrp_t(rO_bQimKC}V1Yt=1xXjk12f{Xv)H9*g<%4Amw)PKbkK)FYneOTVe_OyT3jHX zuTJF(`{j{SQSzy&bz7Vms2NlCBvk4RfBstmC>tfDLs+DR44PwjDl=rp1ISzpsT@SV z8VgfP4TmrzG*bH0OyiF)Pt%LtiuYgWUOaQ?g;Q151>XVVCXai>_Ekf2y+wDzrMz8W zX-DAzk4Qn}r1ub!OFWrz*qf7@yRq;7x31NpzkaOfbl!5vOF76=dj7|s+9@xZAChW} z@9rWX;3a1MU$v2Fm%y)ofiIt86S)ttrBmWG2^Fo(tIN+r`-Q(ULDA})a`mw+w~zZ? zRL%JPjwe{fk2Y^na@(wpT#coL0}o@ zliZI&*vzK#bHmCR>fKOaC(eMB5Hu0}N#Ht_u5_Naw!X5T?0i`4Boz?o zMK=nsE@e zqz)-+Rz~_hRoZAC_i=crTu@5%+gz1x^*Z0jyWvi`dQqg$&3{rZ+`_8>Z72;4bOV!( zPk^3TPWlNrcuIzFcCHB}&yp99n`*r1{8pjXwv!-Ht&n?uUMh?e8jKQxueYf$?ham? zxh{6AbW~;x3DP44J?Sie9=cAsOz_Iv6Cu{KZXD~W+eUXOw;hN4vwt)S4O&h2#XCj+ zbntoe-3ui{qwo2OUx16;M#h$f0`)n8JfjxRpX#%0#H_@Yao>6P{=spE?gCN#y$8p~ z#ba|HTpuV#tM85OR3C|QY0c1#Uwn9D9TBuCzNKv!t2FYsJrZlQNI*==&bnbw*O2Y{ zWb++X8=Kd68W?u`q5f=4(wj=+9dx_BG}V>k*RHUzalm>u93^OgKS5R<-~!%5r~D?t zm@?JET3Kfq%Joky;h%D4I~s;@;=fH+E+q$6b=?q0nNb3n(*arsed8zRwA<_syGTF1 zLibxv0>h@V6a#TV`CG~#m2L=evQ;@=Ubt}ytDn~Tkdlq7h}sU9&)4nU$1#pQv_#=o z5)!U{+5rs}`$>M0*A$}RPeMpIg1XEd`ylQv%G# zH+8?tJ>3Wv^2PGDb`ewqbv%K3`NKfchU`8lTaOys;#H(WI_`n4IfW*BJ($fu@H# zO3uX1H2L?cezTsDtPUJ?Q63vMr6kEs$s10DyUFy}4P2Et)`f*o2a0pX3rcL^F%b99#vGVAU3<#RXnRF8#p5osCKDuk7gch;xW6QjvwkP+ zKtR(ITk=hQm*s2IHzj!rSUbYIo!x|`z{BHV!8Q;Q>=X>xIQ4$C*&9DBFN(LXz-V-7 z@9MYjBk_n1fYmNTRx((EyQ6?W)1Kb!%4a{DE zL_(wiiE3i%bEEHdPqQ~yByqMTs}F`BrVr@YQKv+q;6SCz@B0D6LL-=BZKk>&M-HP2 z2-}k>t}77SgZ9S>zy0_TJoVJ3LK;Edek{8ygt;w<%B#%TS+?7wMM0$$ZgOKhSCOrU z<}C@pcO=X*Cn4lL3%N0l?`I*mVu~h7eXJlUJ_9_T@hB*P{jIR6F7n4(DkDm2NIfb~ zhxy%8soD6JS4KxVsr!fMy1_K-u3D={!Nuf={3qO&1f|Wyl=9Jez4hTBi1kkrnXNa| zZoIVU6UAM?ONaP>;Fqxi8K~9hr0Bk*Y=cH5pAk0+1(zn$On&En9Q`@C0`-k=GCkOr zIKn6HeAZ-UQ2S-XRaZ3Jfz?wSTWAZ?vfuw!FhHRur+>6%H}e2F*gfh$+Oogo=NcU4 zH@Unvk6Z4h@*6G(WcGlB3Y_a+=8(fPU!$ zx7!1%>Shx22pqdzQO9y4vz5fl(0qCRZI^>bMm&crV?2$T$9wT%72tQJ`=ZYa>S>6iUZEnVjk9HV*rPQ(UaQ#R1- z(Rc}HsEJPn&qcgZXMvgvIZ0O&%a9}pNk!i_^#eiXTRuUXT_lg-FWteufa!dfv0Cn$ zoW&;^`oNV7%@jMmHGgUd@4KBWz-DmfcB7=IU=Z0-*du{*_&7} z>}s_U@PuhLZ-XWh)sNeH;7Vz4bDeUqWu3s$wstN|uPVv5KRph_Ep!A%rD|iejddTz zWMTWsJ#|TQ%6==l!BoPhZvl-dwU5F?vJWe=ZZ$7e`3*eE4iJ-}W$T5{>L4nzkj$HWqru=Sua+!wv>%?QnH(?#CQ!m0j>MNfGWaCfE|8TzI zDAO&%)aXTU!%vth8sSrh?m#RX9Z&0jl%0qv5b~O{E7D?c-_%>ymw*WI@#ppgohZ-# z{`vdsZOl_Omjm)Y8^HMqfV{XQAQt(z!e>rO=m?Cif5j8&0GM!qx01!rhLviG563WF zdBrTWJcM9!!rAW;xU!AVq*i!s+)P`&K0suCeep)5^HU@y-7B^}iY|)qgY( z)qg9_s(c~IbO0Q~lb!*S{ea0IlrNs6kCB68rx%H9&~i+Rtc}+So-_B9l9R2c&JcFn z)*`B_uIr36;Y{edKZ@xg|B|-KK7hM&13Jg(e<|rhU6DC{;AB2>thI%^laadV3U9?N zp_&FE+NdoWHfwgNeVMemO(K1;;o5pI%baBDMIdt-&uu1W^RPDy%xfT9>5Ffi@LO9N zUuzlaYw;kkpx_#-`sON2mcvASW^hU_=|||r{cDDQ!=1bzi)*|Q?YW2^vPHDe?C@`G zGqf0R_)oC>VD1sgpYlrBj}ET#VuG<_vNMFRgt6VVk;QQEaqo18ju596yr9KVLz(br z?^Ei#)^4vi&&$Jg9QdCx??8kFoB=9h{VT>@1vSGrK}F8!UqSAP(@I^eiYNa9a{o%M z&{CRS0J+2VT51^&FY5C83b^zZR%ZeKvpPSpy7Mqtoe5^_m?VS5uEJ~GwW6&Cx+yO48=`}n1-@otw#j?Es`T*L#f)*MI@Z~I- zPN3u{`bJ1!j25+G)~DQ?PcpB09X@sB;796Ind>E5D^N`-Qy7obam}Dl_MW@V)?5?o zh-uuER}KJy(ULi z?Fm;3cmE<>M|&rKy3ih77CC8`sYUC8D;zQeZT;Ox3WL)nY3+xb;;23`iSO4JO~W6) zsc@b1ms*uO^J8hQ;F#k2hzSc=ya5)wB4CJ+xLD@YPkU$(MliU>iCl$wfO0DGn{Osbh~R2j{$+i0Vq* zzMo8m!@GMNu)sgGrsI_}6tfj%-oSEZ0&t522weLR^5onQ)CUg{a)#WEY*6>*#S#aH zxs&jZy%{P$JZ_JyFOf}^4=lajG2%m;*sjb9sIvs_^SNaMs5~E(-=GU2IX3KNijlF{EZ+k>o^3E;UoXBuZ8u6fbtmKFhg% zdeLgr%O?~@Xb{{G1o7`e<&I5KUIMHK=K8HII(?p{zc291>*a;IpZVb9u7voQ5L6#j zR;LE}>{owyV5gJUeOd>DSu~j?wV)ay;Qecf+lKb$6j1QZ`VtAjKy06$-clU)$iBIP zsku_)`c`bjoub}IJ6k`#b)8}d?f=;Tb2zE8l}*0MFrpdtQrDpd;(K+btxrRL>S?Xp zP{xsf>2{Fcy$>`z+>od?Unt#Z7NzoSb*?bzZ-tl@c8lgY(p|x%3Z_gu5L*UGZNKu= zAu>G;=)gMT#6`^{B#pvo{9D1;+1;Vq{06VrWoL7_;>ww1R@F59_qD0s<|*ulOh(M zC5k-A2Vdyv4=H+bEmYorn7I+P*s8eo_Bqp-m||&wOabLd55Z?-8xVaF{t49@!T<0d zrB@Oa28|%y5Dl&PNr##%Q(JmnM(vw=Y!&>;<=%}de>nFlpppC*mh>>(0DmHw8eN(rnLcsUg;gSF8;b%Hf~8DoY{+UGxL+a>4&JDB9W<#K&=n@`A zE(NwHG)Q&WhmC8CQ11JtuZ<8oVuBX;h$^LfWfXZW6nakuQ+)tdFpV-w#%gS?%UsA& zpwYk+xp{x11v2|*B*5VOxZ`Of75X2e^sR=QH7)!TA-g@x3s#(F3psIDO~L(MvI->$ zJ;02M3$UOZ_Gu*tHR%o><)d(Xw0S)9M+L+^B7gAn%!R@R6_JjM-NP}rt-q@#D-LV| z9W|Ujo{Km#g@oB;=s7o);cCLlAZgakOTbya}`w@qi+`>-z=Z?vO4V(YaRtuhXX zHG2uhR03mEng`dQ<@A!U!ixHqX^rl>>vBt9sj5KjMr+H zRhs(@+7+k_@E+#Hkx4Ru7APG-3x*(7lWkM z@NW^f8s57p>5Q|=B3q$280Z&(K`Gu1!Vao0!nyW6lyUvEPT8p=Ev9BwKv;1?YO3x! z`rc2OJm9FJB-&EnPBOox0R|aJ_4;zqRd_qR+F*_6rkNV4zZDZsU z^y209(9W0#&W(ZX3C~8%s82eU&{Iy^pkKgJDIjZ%r-5q5vhP43ObEDElSmZ~plNF< zGnopBA2+eMJ%$>ey(F8x$B$)wHUbfd4i25u6q3t1BRbOJC#?N-tEnESFG6oHOlrcV zGBoW<)xZ9Fp2aone))(U8tOZG(9EdtPIA%|Wu8u|*HkB6$NxiA<_ZVn`sNmR%5JXx zz~xDgEU@Kk_lJps^I!Ay{P1$0<*E>5;-bY?=q{ zI=}Z{3we<>xVYsk;9zyB%yKvpRsIg&Jf=yw`%;|~m5JLRTzUS2if6z~$(h@4uX?I%k(3ta0qY7R}jO( zG7~Q_DmEoa8u*Li#fJLg-8-T3u=eV*auEN>){y$<2Xy~t}-`@Dr*}a z0Z9Ljw=>i+|0#$sz$ZBAx6;u~Dw9$KYOx(ZNlRNGB{{OY+qAv$vzj|=1*rk*dwpUH z!P0oBs6^osNEPXm-cr!Czms4rvq4ExV=4qI2SJ*%A~zp#)opG9_R!|rcgm{7x1)|3 zZFb5l?PCtohH;J}#dc1HRvKRNJ1{Rt;RYX8P-#N0F-m?2H{c0svK{1QbTlgjP;)!G z6^+&0ljl`w#^ipBsx01{2anZa=Xu|I<~pP5@jy&75Y)BcDyC>Zc>5B7f4e=P1pXq< zYT{fcXzIZ_R4d8j7}uX!q3Nbg!vB-M;T7;e>OFBa43%kWb-z zy@gXEj{=!G@E&JkZ20;jEqTI|uQzgWNPTC8$n~|u4A1*>1MUy|$_57UMb7J2iKJED zE3uvt&X)s=#6&hD!4U9kGbKsln+twd9X#BnG1#z9o04&g`TV2v6`_rC@8@+DsY1R> zM3MWJnmERNX_Qr7QMGS%aEj{Peb>+NBYFdhffG|h8^q@P!eYROHZ*i!<|ICr zCn@p}H_?o%0Jd3v)Mt;~{PRDP1801XC1p&{V`qjvRfahtKLNxAB{?1GRf;0E43?fl zb3Eil6+8V7GdnEA+_9Oj*}VAvNqq@O7CJA#jGih>4yei=88SUu=Dtzq+=(`b`$fV* zH#{u?WMB<$a2N!%$2LL%bTE7iH`^pdcGqned$oj)RL4yS(iz{@svMjSNDZDU(&0MT z4i7hgepeR;Q9%g%!#D~HTlxlUo5e?(7S`KdAUjqkFRV0*f!O$pkr%~0X3A05FtUoo zy1lmL8_8V6>+_`Z_ULWO%iJF@eZzrqpH#_f#B;rdh-_;cHh5?i(HVl;#IdWw!SU1U zNQz_FYR6+|xj=%JSd8=9Zbw0WrF|O|WcN@lfreTO zC{afAh&=cl0}9!_%kGpn-?|`O!iWjjw7RY`o6WYe)7NC0?pIm4Gg9+v4~JLrzMzEG z3L_q++#YP{7zp}B4xr=_7;~ReBv@V+qor~fNh}bispGcw?NRS!M{J)dw45s+@Nw0g zo}5;Ie83GN0lnJ3IiOd2{cnZu?PQWF=#jdLPnPYGMq%}sQHShEOd*LxJz0Hx)_ujb zr@A}qS?{~b%;m}kw_uTh&o!5Dt*LnWV-w*5t zM+m#YVkK$rmQSt(DuMGPU^C?c7nzv8P;$3WgJ&vV>8|#^d|wvg{dFh1r^h<$%kJuu zJ>#ieVYQ?s=a%ybYq0Bd!m~$WKnV;)KO@M7v|gXHkT)i#j1W0ais#G@qFuDOE$7(RTVB3JKACj0Fk+Q-;7xy*FcoO+Mn?&)kVPWEtxyS)tU6XehRD~X+8G^LzT_S` zn*cYo-Ylvpk0LZ>#0T9QTw6Mp*keD-sXG0L`>{2X2RJHHJ!uUGJ_)pPP|~+}l~eTD zUpN|!x!stBejDed&92B9jawT=K8rTynEOt9NE)v-Jm*{V9G^4!$H?J01Y6TP8o6}w ze4-69W9lmab(+o~MpbG+uIG7YX56-{nTCWHQyv_ONUxe4ZY!Q-klx^$3=-b0nOf!C zS)-LK8d)#fj^`GDV>k=lVGmA2g7%kS&bDP{B3{1P+%IR|m?0U1>N3ekFMn>)rW{3QpVJ@f(tsu=3s$4_T8v{k-P+llGkez9JKFi*va+y&cTYc(u5}w(0MKQrD;a|tMXTHE+fU9v1c{L>8l_& zAAIq0gk$KE+nHZa6MdK!qO~6?Qm&2C3vL*V?sPw;bwJHwMp1K;hAbo2;gO}GQ6ME{ zifiv94QD;3HevKzs#g16Cd*ghR7eZ_ovD{alHJSmQ;GR2S^a6+mXUgw!b;LCWX4Eh zwY=&cg%U6lL)0d=d?j>Fx)CwwMv!`Ag<}*`LHf1ed#(rF(vnQf8$AXbRG1^VLH)6b zH7adOMm>#x0URBX%F=g`99U>~r!lpl<&nrwh8wp7EmqlDqQ+WNI8; zg<4GSqLPX+>K@SB<{q5#I2Svj2(_HsVBz%}Nx0T%k>q;#GMU^4ZgoofNnSoAnH zN>o^3xw}HNvgjIyKwxU(AZ`q$)V^7 zN_g_aHNaw-!&7+&I}iYU)hK%kzsmu|k2{RCb`&gLd;bG{DZ} z%%I!ngEQoGomgXq@F-xn5+4*;#!L`&k$W}CUpJ;d0-Z-!*$TG%r;nFj*M9Ik2FvO4 zxEou4<=gT3;^sFpwNRx$=zb#VLfnjvlU1BV{4+u|UIj7XS+Xj&MX=vJT3bs$E_?#u z$JZFoVh)uL?cl!MeHcCd{JwhiHltAt+eNByO%z%$awmiI7*?cCIgYr&1AX%{GK?mx zb2bzT-Siu)3;g=uNe3K>PrD>{m6#j9TnMau_|~f*+Oc?5g7)1DXv2zt zACgU=(FqWywBVE^FYun&3+@X5dXAv{RhJ|z5idQhcWS85=eSQnYizRL>U7~k>v?8| zsmm81wEtFq)(ABwAx9|ujES-`ZHZh*UpUKF{-IQc7L5z$1(*Ba!nbupI&vn7frC>=a zNiL3p*^;WSwti*flP!9_o(0!68_JOcbKB66mq3~=TRIoiW8{hv53mW~ktJDTtib0& zOO>uL>PZB%s^=FP3;wEc=qM#SfueblXy_X@nvuGszml}vW$_q_*c=PAuCj>S1x}y1MHYN1*s&V9>e-xos5J z*9-Sn4%DwgO|d|$+^?WXTRL~Mz=oBYCti@p00bFgTx?~sB{m0fgp9SeeYF90Kd9W1EzxFraBhv32U-c1ll z;Z$+vpX%Nkh;=X6(@{N&Q_ejcE_%lTon^ znop;iU*)e{DqAO(0gEA5lFjrZbvjfsOSHrboP=>OqaqysCJCbIQn1Kjfa2Qppxas) z#vgfGqVLMLWG`M*KL>s5aLJg_sv4oQWd0p=ymTHI1}mHe1>l_`KTzDk@5CY8Vwgq7 z@Z`@1o-#FeECAeyyWLoU_sxdl5)IYR(<+U)U@KOgYZz$;jH{3}vzi!1To9$w3kKpT z=DnPSzGo=Yn!sf!MhoxFF3z}Lpu=Uk#M^4vY$&Z={PylZ|JATnP4b`ykFFxBQe-4o zsG8z=g2ZA==Yc3H#WZWQrOW*z;D162j9u3B`k22F`IFmn=T!-|}=)eLd9LG#ebf z00iL$kHmLQSCQPodokm6@hm0{Ql?mwLVD@?Uw5ntW4jw`45pad^?S<-qgH9ytbdt~ zS!oxxE-VQM-S>$OAtFF43NMk)H5X{q=*ws_P>78ry06=EYb$ngM~*|lP)8 z7@Sz)ZSxdkcMU2?42sK!nk8VX+rWajSu-445VR@3XXcW|qG6EQYHPOfR5=4k|PyIF>V>yY237 z2+YnMBA++bKu?F1;Er24*6lotkq6!iql*JgApQ(2RJkpLu8Me+qXn`r*Oh7Be9*yh zEq-X$TimP_QoT)0AyzVHfWAK6qc0bo2w1w%Nf*>%rj{0qft~XJ2gaV;KGisFlB{?O ztdbl3z^^#8-Sn|iX<%V=cd**|t>B5QpAWn&|bCOGv~vkZz2@f&yxkQ?yeZthn3Z-xdeQJ$fWVcPKVU$<-`u~$eH zhk)<|$a#bQ+6(l8*qS`Hc@<+Bk}YtkNey}~?9VT4vD(!8e)hX-$4>>gCOl%)s6D-9 zZ+X?|YS+}Wn*Mr=T3Q_zF_N!t1n6JdBGwN$u72r@D-ydjaG8>9j&!r9 zmE#Qxa#v(>+oHga`W`ezV>?}5a^Ssz4xs-GJkkVG&t1@N70`A9EB`(e;7|0`{UFS-6xz0%Yun=Na#C)4g?#F) zv0&^p?pb|13zJd!H=NP`0eA9G#n$`}j^^(M;`ztpX#U+%@B3fL7o&mg%S)oly>k6} zRN*ZCBN+OvZEZMmZ2Y!~19Caj)s5)(nr_^qu%DZ9OAw7p{t_M@^5Y!4V5Ye$iHkqa znQ5-Nz)_{xN$7VFFPrBdCX%+_Z^w8Rl$?8z4uRe(o@(92^AgdMId&4|dD##h((P`*xDvYe<%$o(sJs zp|MHQjT9f4895%1-Fu|0 zaE2gBO;4ig3FZ{_CT$s%E^9u8Rqb?h{c?cLkkqv9z7m-ER!jC+>4vk@3sFu28mQUg zfM(t0OtC)Tu-Hn*u%s*7*dI>Om4|>N4^*MGiIh!95m0Jf4S#!{Whr*FpsR_uv<#1!T2>C6R31}2u$sa;cllM{ zdX(^&(IgEaLvp3uUa*fLPYw`Xf#+oOMVCK+Mw0!AbP`HirR_m=d{w=*X$@m{)G({J zzdg8NWQ%^DI{+`JFhyEW)f~W*!eD z6AQ!kkG-PMImhcRZqebL-Gl{2BNjsumS*(fwaKxBmQxYNwE=vaJ*}kZLe2e6*%mDg zD;6r8)maLoUUP$M#mgmm_#+Ul#{j2_EEYMCWow;5j;WLA0Mn8zB)@XmFw=K5XW-Hl zp3zHNc-FiIbtdztyyt;ypqMms?Xx%oeN_Mk0oSf9`%sh8>Es{?1=n83bsh!R&NWG# z!ax5UyHGW_0p(n`dBy&sOg`UesYh< z{rm(()6E7k+XJgh)Yi~8?j{f9-$9@GH_%|NJx{Be6N6C@t39M_K^_TYe}&)0de;Nq zn}D*!b;ZT{r>Yj0`NhRiCuuh(#4@NXxZt~36%D6P(gTQQAXcU8+g4Khx`;HFe4%r1 zp~D^2s+)KG%of9k1 zto;B#b91So&Y&0czeLIz`mtB{^Ol^u1qa{S*BHyx0LU#@cpDush7zk)R#dYW^;rt3 zMH&99x}7;w=GqrKGK`mqdT>td0+g&450pIqv_9Hkxn3WB9@5F0h7!dX-Xi?o_Y(oy zq#4v6Lu-|L=g!AXjmnRYdm4OFtCU|7^-A8(l~#?7XDZ{=kR`hTKaCS_&b8j#^BPh_ zHqPxK+JS+`tOn29oN7^1m5g9k4Hb z4C@~^UT~|k-sH;C(KMN}OJ{9a-{AgdU9l1!O*IyOmjK1{-1*bvZuIgk9xsPx%c2^PxG!;;p4l4Q}Z zJtse1@;0XzMc*v%xO?L!HC9prvb>mQ;K-vf(pw0rGl4hJ2Q}OxxRj{kTNaqbF4}ye zUt77hhb>b}Mm4OyppaB;c*t|ie2cyp&;e62f}MCKbtDz(JCNgIdUKL6bJjNMB%I^A zG$t|T>MqEw2-8ZIMv?GzGanokRl7!xIOH9(Je;-QnM04gd3@J8@ zrUOK<(?T%4(o(nWeySzgIb^S);9aU3_Kao>4nx7qUR~EAUte~<=_XZ8k_|)+ zAYCbV)XLLReLr0+i_YFc##BkwTgNv$fuv3>#ry<1@mt15F{aZw=-R;4#%tGc4OXEW zen;&Kpig;SK!G$6T{<^h@NPtiMZ)lv_*hI~Xys-fSHZsG;vSRsa?6vwjrr_4NzRc| z;n{KCuNW!AzoUXQ!8vvJ;glB4A@Na3(a{+Qbvm=ikltYrV1(D;x=PdF60rxM7sLt^ z2=~5X1Vf@JySn60-b6y7O}mB6E2vVFx*oLT-@!e&8IX!*0q#aT{1`CbGC&1fDOtMU z5ZH7N3^Pe0d0{LYG}3JXY`Bs&V+A7Sig%I^sE86SM+XV51?(SUA22?ugVR90+8l4_<5v|eRO{e`KVKrn!Le9g$)b!&ww&_oh0*c(@b~PdJLDtU#xsxQy0zO%oXL$ zLayw<7X}5r%aMtCb!)5qwZQ%cN%S$jIaXo)2k+sTR(axu5nenr+uj)gBMuJ1B%aF3 z0O!y21j_NUUAG_HwsE~OVhu~ir(IXM*ex>zz`c5C!hQ|6c1O&?qo`@1meMH-e9ap{ zmOwKlHu?ol=Ye`4S#>6Q;KI7EHcqWYYn%3mhbLU#Tz74t@$|}_Q&*$XXcJiyKOh#@ z1Gow(`#>UKcn(+&()Hw&y{%R|1O;`efE){u$iX7Nj{$WTWLLS$d?E;g!_^M*Xm4H+ zO(}O2QQ~Py(KsC({7c%CK!6C8?&K@MaQXiV_^mNtQcYfVJF%MmrrT~qKKK3Sgb&fX ztm%eWT<3m~t@Ieqv7wsChzolvWm6kK@eNxAm@&Du^N=qsnqesNi52_wiXvLGrrnL8 z^i`Gx8sl8=4%DzG6TEkPGaZnAs4Oq7NEMmC4U2ta9=}BM?qSphQVi&{!3U->k+pS> zNEi&1&Wdvc8t%wp{Il^JJ)AwyU%=hnBF9f#OxAo_H1~vI)Xlq_JmSK#=ZB1D@n`qa zKy5P-;)2{i8c;-SLIPeo)A>5Neo~#5@otkUUB6O6&PamMbDC(cQruz8u~l^BW|${w zd<(8oNSZqFN`5%>TOnWzp%rv@ zTSwdsCE6WVQaXDC&<$)DnHmA!0if`%L0quYJp+}nc#0*rF;Xf66RH8h(lLg15_YF( zUD3k?hd3%*JP(*vj^pgOrw_qX4tCWf5Mi8QV+e=V8RECY4OI3EZFan4G=6 ziDJxIq`R%S_1pfoMuItqaB|&Jk#+2Ek?gP_1D%&^l0Pe+9Ges`(CP(Wdw`c$mDe%w zk_g*jRLJv0eIb(x6Gc;@Pq2(TBl^D zCq#DAw@f7vLh!Y$VUybTkNwkio2?F!a=yB2I&R6mofoG`D(LjT#FadFwX3RccwlmG zeSrK8-Bq6W8~75RNCqHDfyNF&g1dNkGeajWLSuNN)i%Ai zt`d5ER6`m;+A`+B^Sgult?FQZ;T?3xg`ewwsiGs;SQa!(d=TV`_|yhSiLn?74nd=l zd)Bab(qq3IqZ+0#`j&Kgt6^ygZifcCE15H224Dv&Ps~6+qA;*MGYLNn@+BfBi*obe zc6Wxf-mybIRrf+Soj5sORHkz!QFN3)jg}wa&s;t5vYts^k{AzbZAVObdGVO}R(?kVpkA8nmtTZE{*4b4)*s;O|CW|@BZ2;l z!s1jL)2D}Q4Sh53pjSvzfgWX`Werp~8OuBZ$PShWwUBeLR!z?uM$5331_;g+o|ij} zg;~Ir!t<%`+QP}k&-ayF@byf^T9n-IxM)at1_~(VP46Uhs!Pv>s&>z6glXr_@1nrTXHnltG5o2S8kucGBxJAoFU|IrR!EG;ms*cf;c< z-56SfU4P?VN;i}Hmgmjnnq~fApqGC|# z#-PlQHG}3;?eMQhV)`cAYce}O-L%V0+^cvul4LQ9$&Y}&dP!mpEvZt7Xa%*2UVvd$ z;8|y|wb}JFIdb+(#=NA$2CIcG9SOIrMad{p#1jxxjd~`$YZkZM^clM=K_e4@83!$S zY!%##*OWHl)JgOG7%FaC262k*@@$JuqWV(9SkcyRReL_WHYj8KA~lv7E)L&Ncf-r~ zCEk*uO<9j%fr8S8Se8^5*gz-%khNH0d!d*!H;}>mh^F;}!Q#+Ml~x$jrIB1C~!1GrKIF6D# zpjQcnPa3h>lp#rA;j{$Nf)`DNEz(OSrMe(Eu}=?+u2M9*;Q)5z)86=%HK~YF6>*N0 zk!Th0B#r3{;n?ATyMw8uXsbPNYA90KOIPq)w;~G(nMYqA)4}J)K|VGXLS3Ue>y^oF z*b(JW>K;^z5QA8PG|yZguwl?7k8$gzA35kkrk-UbVSx*B;3ZC{z18hYYQ&Aw4^K`C zS41rX37;kq9Zm7PU!;?k{c5#X0id=>F)?&5ovqb-b-D#Pu;V(f zeHT2@wRM`?rHv0$9(dOrRGv3stoGP(;lYawf0c;^;f;>u*31H|v>V4K(t*%Or%7-6 zWdWKe4?5!gopo9$#4Hd>44yff(lLysHUyBu`^ES8vlPnvu*tJ?%J+of8DnKMWQj2L z0TmQ_4?yf>sbVbrdP2pf^2EVTGKUpD@{LiSu}pI*JI;Ge*w~bA#S?Wmot@8;)}U7{ zlzx((h-CgET_?!`^(QbABczYXeNXTLU#1UD!G>21&%49%Yq9cr;y9ajIr!w}5ms`#hnj=hjP za=Lw2v0ybjeTDV7eKg*A#Y^g+= zzser-Es(3Ov(unSz77uun#4}fW8DoT4;cy+oWMPkhd=MGg_LE(jWu%(N{c?|Sw3wD z5q>lr4f47Ej^nTAeu0YzLtZ>_lLX)zIPHi@bn$_po9Lz{h5+fXgK~WX4;YW1{Eq^ z1l-y(K1`IPsDMSXlU)&!57vt5@2IP%q)kMjZ8`A!4+1Wr#Qq5IyGmH;;vEP`4l59a zSs$6b{;p7!i-azu7eGg$fFY(};?wV_`WYr6=?ke#7-qEnO2H&9kbQeBCEAYPl4b(IksdkY* zet1S!VUy4iii`g)t8me3TbbVvS%sQGoc(PetDwMhYUw&RGGAt@6ObI~lI4Mp_l%$t zyYJ=3{*?Pj9~WP}S*u20TmEh9%r-qW)(doI{N`&$K*Y|uPs8nmMa*&CQ zwA~xFw{qDHS>A}YD^e#sEV%(41LrV$6(QESBsPROpV~5Q91T}c@I04@93P&IFhK>^ z9}v%cpVQx52pR8B^-JWiJ(qi)5Bo3;F#ckDpa*vYFx>)i1tf&$=)M8qRaO_mb&+eA zYqI;lZE7s2%=8PjoE5y#Jnoxu@pWQ1H>uhd`k;!w0J0iVfDMgImIA^HM-k?u$O-&y zQAxZ7Wny@jeEd>wXdI(Rv$or+BiFZEK|cycnq`jVV(_0j(Iao z$)cTztYDK6g=G3XJO~)M3Drv3vYvxMZDk?XK39KYhrt+5mmL)N=q6!_2J7=1FSa2{ zvQ&_gDBi@Sqrd8#3u5C=Ni6M~k9jj%*Dl(IxL6+zoLk^%)tvt_PUZ>$rJOF0nNR%y zjuJLZ#6*jBih!XurDNP2da>0?q9NLXyxMHEuKx!3TdtYonEz+va@8k>09O0fz>aRV zT|s@DjKHUggqSvhVqu9?!IrbIh@d{mSc;qr5S$g8!UGp6b_QX?rn_juFKhKOkAdBs zXeYfBR;qz9_M`OmPxbHxBB???>?7O=YFBn54~i;M-`B80coA{A<4@htO5Nb@pWN++ zB>WbsGeXLEo}V6OT2t}SQuWfBZF%0ut zigH2;Zd&_V^Cp&=w(R|IxAo%X{&S!0<~D|&RPg2QdwJ#4)|+|YtPGUS>_$FX3U^8_ zi~WGBdYvlFhtWI}R>iC#7r2pTfr&d)cl%mNDtdTiJfWu~W?&c)zpVxgyw=helASO0 zNqsbcapXS|u!ORpgHFqriff^m0|NU;0`H7of;xrJwDNSr9d^f8c+kAd`Q-!b_+WJ1 zEuRb9ZEb(`7)`v?Aio2cy*#iKUy2#{y;b_kUN{Y21c|K$2Ut)XM`>IXu*hX^;7f;!5(4@Om}`?6>W3Ypra(??_C7=&d=gnaFCWk@ zmV$fmqS&=E7IKF4u_F0+sVWEHaQA|sC{U&7ZO+3kmoE341CeO_@aU*5J|Oa7()~LP ztK|7df3Eb#1vGJ{+`w=iU92U`MOQHu#kL=;FgfJpD%^sn%~pH7u0L=3)-SLVukzP? z>7X^zyR`n?O3J)}3#jQvAxP*&QBQH^Qd@fTB~S3jXr1?X@^yJy zRJqmCAkWqhsDJd$Am;OR-ZGEt+T~3>hf_Cf$C%GJ#s8XWvn!`go1y}bNayvyBk@dM z;yficw5woFB4rIIh0kjU2@DIjjOIRT{+82tWgAp9CKsw>xSUT|9k$_)BAz=;w$kVW z-co~0tm4E-^`*_oy@(8duRYDDMpPP3KK!Z~8oJ6l(ifeO z1&=*I_1#P!b$tCo3JuKo2e^$H4z>%X1)}_cI&GCL#yI9}JfDCqJU>Y9Ym> z6o2iuOM17~?N~&*AN51sEvqiqDXZfvhKcM0)kOH$MzHL{5Iqq9Z|@|&WEdv1aA=wh zY?j%FJzo$&50o|(J&l|WCoe8}AzFP^&wE9BX+LpUlYIAr(EG#EV@aWeVSRQb7ng)tqJ_!BsHc`#+! zP^BNr+d(K-9z;lCjmA()CD2UtZa5a07d6yw5^bGGBIf`!!{_ z+N%4sY`=6GV=}Qx_)wAp9ierWY$bGXgsE_PTA$-4yB9_6pFti~yfkH9%4y>eMsZ1* zhu=!4F!ghx%3(Oy7v31lt6NZFHqyY|tN|P#m<4A^IzxwAN!JN+TmjDab&zId7I}ml zl*!X6QnB2n;rj6-mtLBhRJB#CywQIs*W|`Z9F(kS!pi#y z(2;;$@xn%Q{CDjGPpH?pX;^F>5cZf%l(_n0smQA00 z^+=riV*0`7Z4*;D*e8oi0=^W;l*Z_Z!ZAz0@$r@VxLSW_@+$cbj2e?0k3os;1u3-{ zzzRYIhss3^B_yi0oeu$&?QhTmla`#2p_a|n%z)<__N&c3drL88aSQFWKhcvRZX9TX zEME}%-E=bWeuNIFa8W_g*n zcFybGRj+2Z@ME0p5UBYO^FiX4P(`1A3ZqT|!AB&R_A1AW4kWT|>^GPxHcyZ8U%O&` zmPGP2U8j8Lq=o#evD%$(VO9qkIdjV!Bbo52$?BuX1!f0daFUzE6dT}|m+GF2>D)2K zY@OLGM-^J9(%$s9XN_cxZCMPwcE%Dsa3DVPDEzYn=e?xwLHmtT-@a6Yz%sHI?<`LX zNHDak&Kef78e2`}NA6<;g08UA>4blpp=)6UdQyeUFuEGj0TQw;+!Q`W(8*=SSp`zt zr2yI=Z7=-h1gw&NK6tv|BmP z6kRW2o=x)oM0N+IZSTcfLHa$5H!s=C=vMkBkObd;D$rpM#z!@%^agA7*xjg8vyQ55 z_mH$cIM{pM7B%t_h;dDcEU7Gd;Yb`a0E%X+N*DX5n+Xm??~3JF^G4LHADZ1cT3S+? zE=e2aLB$QhGU+z`Q^pSQ)xmZ;@t!@B7ZCRvz5pwpFY6A6(xiq29&HZNR~h=SM@KMu zmUO3OB6}In%VJ$W^vj-4HTV(UdUY0dwS#J^$FkWRpnbBII*;NexsW294-iyNeR=Vz zzf`n*B=^-(7rQxB7h7%%>n~~56j$S$4aTZhC#y+bt^Uf`B7h zw4zJe%G4Bm@G=QC@TL;=g#omB zH{iYT=jl)1fT(d(2w!8bpoB#(lx$;1U~AQ_*VgcQ{55($HIkIqr!MdJQhq;mqS|(i zM*lfe^1Ep8<$99a6w@qA7EOWLMl6g;hKIibCXwGxLz*TfaQ(sh6YUy8jtN4Z(*nvBER4!=WI`RFn~!kqM5pYNqDIB77BNR!fNKue_edtxe;L zNfGNZtXk}`Y{S9}J291aLZXWsRfu6*8psNC(L zb;$7&Cu=!nbGg-M6V0z%me44$%p37xVA4CNufW#FB%x=L!CNVievV0!mDwp_tV7GU z9KHpA>*#B7=cb{2();Y@(QJB6&PLcpF16NCtq?)srY49Id6=-P@0K~}lE zz^6Be3Dyug7AmwrYkUdaxGn!dN-Bq69I9$zUMb4!Nvt{;{0^@mDjynzKK}`O2{KZ029IcbYePaJPr#Gky~tL!WRb1X7~AJ-*L4I zSbJ4Va|r$Iq_UREXPcFKt5!Xa>s!D(jfZVGk@|}T%$Nx#*l3?362Uz?m>!pWs6~th za*3 z&W$j-xx|HJe0B05JN?}0cFh)tlccjA=H9iO{?z5lE>Otl*A2(@lw6l_aLvqGW|#XWvA+PwVE)CwbUGZR@P0n z(9P9ruE{=7G{78ce@!oJ7pp@69R~vcKx{0&B($2KgM6(6L7&Q}_ssn9ZuDx-<)fay9AUF?&IMdoQ`(s+&GFh-j}!l>2n|ez=$v8g_i%i zzwL$eqiJ;yME6@~tvPtE4sthn3AKf(Tlsd5RF@Yerx|pt!qo~H_2a@*3w}TXc4LtS|Vvj1!=bMWPEuTFHmcD z2?I{g=o>=JQf$iNz4a-oot>SmfurZ%RuPR|0>V7iwkzUNz%Dzpws%S2G2!2AxRro- zE3Z!1nQSSt5owe0dy9)W!pb1yF)`@YRw&syZ__j^(>&vaKob>b4#drb=8Q8zt$k6s z124zY7T^#9bF<0zyCd6rb2B2z^S#MO^>>+RUy{dt>~BwG&eZj^s+k=&RX{5nTSthc z!>MF+Wto23(M**yaKe3QV~MIuSHy#^nw45}Rz_Lq@3L{ksBQN;jJ`|-Dc;KLnOv4U z!l-u__{39}ldImCHxWpw7r6qJ zBC(dpNxZiJ$d=d8etl)T{lWqq$zm! zRVXUpF4~C!`sdnhRt|uOD%I=}kFbz@rwgjuBe1MvUv4ex4$LeS*(Ai*eylyZq+wMJ z`nE9q0#dvQ_hf^O&IPi5DO9buJ^b093S2E`V5{_F#y3L(o znnG~2a4KGJJ!-HjUYuuT7rfG)bd~bBMskPAy@a0!Of`>9|4s4?BYX#7 zdnL+dBzjI-phu?dV&mqPb$cC2q?NE~b-vb%EWZHm5{)_R7tXSqEa z*EqXSFGj}2cg~s(e5NP%F9EBZ2njS{5j&z@5<7Azrk&MgZJD9M9D?if7#W4q=eGpu zimFwHkxPPCUszWDcDMW`@k#K_s{nISdk#`His`f$UW7x>ivxiqVoW|4FE2jiOIcU9 z+c-cVT+Y1_cHn@9D`Dl*8}X&L4%^z=d;z{+xEqlNtV>u@B(uPTdp2g2KeQ>>>gR1gwNMbfv?A0!o4%H{8qWXVF9c3a*Co8cXX?;)V zg~j=T1YTARJq`oY%xJy8qqHdgg7~)FLOoK?)Km6lW%n&t9mYalj@i2JPK7pU2_wN% zZxL^j+-3SlI0;`totr?4FS2}3HksOKYYI>D=IaI)#avT8pXRW$W5?Qx@`9Ho>ea@T zX={%A$_5B2;LUFJqD|s}X588=@qA0+9l@jbxF&qBE)p#OB9+^i8lCm?%mNt=7`EIt z(ncKh&~N&|=idC6hI@x?H%2!tN?;1D^AATy#|7)Mbzwn#?(XtY9VHQW4WRkZzqICYd zz1U)WcHwS1@1BQr;=pRFdnY1%Uq4#5#`pCdS>wc1)X%>->xf#Pfv?%dl6=ke46^~3 z(?d@_?4P&iIj-(&3nxct5D?E7QLHOXDwE%Oie`;5(!d^|UgDaZ5#h1BFNk}Fn+ zKzB}EQh6|s05VEJerJd*ymIGPmnU!A)dEM8KAk9J4IeP4P<6jNnA2W>f|7Wc6iOv5Q_}`q@A6MJ|_=*3Izy71s`fuWHSH!t$=&K;Z2r%?9P|H2Ho&5|a2?^#?5O{29~LUcjr=8q0f4|GOi}SO ziZ#f3_Q0e_iwK)qcPz;JcuL#L+!HeWCM~Cna~@H&BYOZ7+gb0hfvcRu^A!7@ihYGK z?(eKYItMYEjG~b44NBL*v7m=YSnQ5Q!&qZo~;*!;y6GcB0 zPqr=o+0ZHnF^Rd(;iKR9D8d+>I5z-X2bKoze6%4lFnEThvuSkpMZejXC^K(tJ-K~l)PV3F_(`=sg25MopM}jz z22+xU;HUr6A^AqWJ@~PR{J(m!ec^ucg>m2S=!4Z?zdn1{U+?k*{cqpjcJ;4Mv!6Pd zZ{GjoL#@y6`~CCo{!fi-HfU8?j{^E)ccd$zE`W*Jy9ig5wLJX9FAqf;!_fEXDd@kv z|HqW=?Y}hqV}7zmw!f%d{Cyssgv};w+aHsg?l<>mW`=J#qWWV_3llfo{V~sGe!Bmg z={=ALSWBVL`j|za21G-WL5o!Tf*hUgsqaDbAqN)FRWd~ZAT98{Oo_QmdjYVy{Z}Is zcmJ5c6pIUgF*ACF;fQwZcMEdpx#Yh3ug0hLm${n%{6z}+$N%r5S%i9=`f+3W6Her&!=HtH~_|um||7L}De_2+1Y+`m@=fNLub!|5O zKhDwRKG4)opR$jwgG5WD09w+rwk8w^76L~LOCE|0R!&Hq6$ z;!JER1RC!hu~XZL!vau0eNjc6CPy;!9{&*V{r|1Zlv@H?9MBav2x|1h@#KP;IiD{h zj%gRZ-l7au5U&x7Y2qA35lFIiXq5ksdXF=C5&)q%N@A~Z!uRpXyNNsh?lX>>WYI3Q9{sU-#HZ#_y=> ztAI(HKFDR&0%UL_Vs=2Racb~1rlfs%D3hFQQz4k0PtpiryD`OK4VNWpq=>tY!WH4P z@$h8P7w@$DjNjgeZLJ_Yt{w~Pn05k-103-pW5j^8FEWubpLl_z@M&Yvb5AOZm#5^9 z5sck&182dSa?a=*Xetm4@zEGxk7=a=Vcy!T@I`_NVDk(g@L3?xXwxXxAPC7V)J-#u z&1otDwVG@#AyK@P-oYHo`DP-rr+=#d9fg}X?REMaXmoih&ky31V27i*9Co&JL8EvH z1Yd>xyndB7iwHs}`JwB<-%)v^AVW)sruy7l#zemz5-Nb@L^Oday~;I2VHASoGUyuw z`Z$~BWCJRQeUpi%P!S6^vy>IuAfDAglKgbO~r{_-Z`Hl``B3 zgge7LGn@l1Fo|3k5yk;g*xOj%xA=&lhMa>)YM&^ms*N0#c!eivp7pBIyQ>LrStsl9%K|URo_XhRtib}v# z>jPCS(S`PuNqLji)7bA`@qlrizsL7iyI1{ib*O*fAK%@&taOjOz(vZXPhT3G$iz=Z zg8nEu5$5~qc=G0lLpwV&$IHM|GC2PoL{$$|Lr@jGKMfxSn5HzUetMhp23K zaTzQ={yXYntJ$4?(uCMf{u^baz?C|UF)n)=+`mC^`IbLa#a72pez$B2RwX6GGRhI_%?ifs3X^)B4xN6I%7rWc%yry+^Ke|9MIlo_5vY>$~|i_ zi1Db`3i>ew zvi~;yCfIam;lZ9u0?wgr0(5TRixx!wB{I6i z0*>M}0WtFtFR&E0OQM*8q&Z|u;c4Vr=AcxQ6gwSM@tEwj7w(~-41DMgcx@{2Y@bo9 z-T`Zp5bAP7OV;E*Ss0eM`o!me>0xS-So&dV`F8_yf&yt#5bPd^7uo^6fgDrNZb-3) zuLIPy0wbfhVUyHq!W749l>CmmEaXf~>Qjioe1R|9$vnAD{g(sEzdb)TbG@0+v*Arc zE_h_BCsb*~kbx=#tQLv$t;pe)7%s#$t){NXlW#=P=n5`G|~ylpmd~Z zCQ66VOo!>N`_T8Ati7MT_p+bg+RyL1pWpL)y`F!hX6Byz{(L^yb-l0C`?5VUOc8jw z_<8TMa#4pkaw3!Kw1bI$KH*mQ#BSe~u0|1|JB644TY1x6qS!Kmj25Nk)iu(_y0H~8 z&?W_(O{40n(OZF`?d;AHIUIpnxHAy^Wc}4@+#qbmRetd4+i1Q&!eKHx+ zM5%Q7X!HOBdQA(iFWvnqvv-&NLgo5sspMhXwZL~(`dnSzrE91&M>HX2Wiji;D@w&M zryO{%U}e5fSTV` zsj8({OFIqn@GZX#m*1=9_gmNIO8UH3A~{`L;r#P+{WC|usUXbmEt!UVWS|ddWCfqJPHx*f`(7Y_P-b^o{o&oee@JAAchZdG@fyl_f}d!evwf*x{B9tWzncuaUY9Dr)B|+ELImK#P?|a1yzOWE5o#mUv^z?oV`1MYjlBPZ)VoVcLb`0uxBHk)mc49-O{IcZIrJmQ^=C+0n#&`eh+XQ!NeS z8abFDLQJ{>Vr#@N5Mw2D%r-PalqPEWfhvRYZhAG+@|>O4Cvg+Ti(EP3+W2bfB{c^7 zOzBZ&OcO=ObU+ zaMAZ@FmpNd9i>~c_Eu7$4YvY?GHE3@-FxOkEq6pf_|@O8wSuB{ZdzrRZcE$qS;gF{L7WY{9|8pU!7u`=wce7V?%A%#Vyd9 z!@#!~GgH{sdh*XvZVRC@R6XzGxf$xlz-K!x9z?Vn=&W?|;ntz_4*QSx@;I1Ux|a8H zKtuIi2hz<7Ynvu{Z2DwCV+yJB&L8NymE8|cO4K*??sezlm~;4B(z=`7Z^7MX)&qiEaL-g&Ejvs_<4atYGO1L66`GoHMU zxY6qzsL^F0Gi;?Up(9fHU^Oz~Fk+P=FE+`~u80nGtZo?@_zWcLZMq(-9c;<1zH&;& zFn<egfj(M+Bpdk%DC+!e2{p; zlo&Tug}~tmMT_o`DSWvrP&a8(2B^{#qJ}1wNDEa$S#Sjp(2@ZSu#Ht{IlCwQlO!zx z>gB1?p?DzmN-`cycCCR5gIjlPP%4L)@lSCXHv(_A)@^&ke66aZr@L zPLkJ^jDAdW+WfXu9w%?rbEiIFd>KJcZziU{$2~D$Df=|yu4i8uGYO=Xa}Mr9x4g$N z!qir&{j22Din@2z;-&(xBc?T^MEdhO6Yc>#%{o#DWe-$?RE{4Xu&#+Gq6*pJ z?D58|37*%2UG3kd%h$`Anzt>*nx8(4LH9328bZ)%7M{2n4A;st=lWp&K)$u1N2G<7 z6h`%LiTc%H=ve+O^p+z;%{h%FTvo55uW{~}R%sdV#Y`Qqz_T^)IK*Rk;{U9B;9Wcdz8FRPd|8 zv4gBj#ggtify8ki??aa=aBbyCQCr>f#%CeIG4b-N-zG7>=f^=+4U%pu*S-n655d0L z=}!dHh;35IbS!SGA_9p1Ew(j~>*1VLFl(f3eV{@3bVJgogt$MTVaMKv=F{?KW970E zVnP>?T(iUJ<9%4;+iFi$zD&OB*&k6<_VT84B}3j9!+SKG(Rb9vKftA{QMH`BEApUE zLh}pu^7Hw+)Ej+fMJ`PZ!b>UeNyU;h@q>KM-M-27*4JSgHJHg9;Sn+(tTw>y z9Y|f9Dg+Bl0Pdg65@HUb$v?Z~5O$=HJjke`nD_7J0 zF{)mZ6@B;X9Bowri53GI60~#_3Q8-9oB~?!XXbLQD{vG{#7v6?LxE~8E`RUG<|1vA z0^Ba2nw?dCmUr{=faFM$IwCfKa3IsUb_rag z*DLW@>2W2D;6kNK-%_ue$!pD&gJWI6k;4Fly7Ed)KPP`5-CNHBr)1b_@;>S*9Lswp zfC*-o=`)zCJo2VjitZaH>pZr0Dlg7HBBhOY&!}IWkwJFfCu63}%+BhBbTK6T){#|_ z%@n>j_o3>t@vXj{<^o;9my8DbGs!n-{L;u=$cN&LDA(eWLoUzRk71QJ>GZB;W;&kVc%%;iDWz9jbC7lcJszy=RN>=>7pjsuB{`NzpRI7NfmN9h?YU&?Y#i-dnF#E zoZi_VYly8BS1{_TR7ch3gn)o*kO|QHK%Vk~@?e~jB^~?78*PL+omMjIv&{0uPhF1h z;52nTeb>hfOfCWAQc>WA{KEK!`mGXaID=$%LrZP@^hCdK)ftQ*pOLM|+?w-1X&shp zCG$knz)vgUG}pD7?&-{XVR62$uM174Uc~G<(8Yb{a$wPX$(X}j*qdRSutwYq&0h`J zK3;zXdDEB^fsR`#ITNE>VQl2RL!lqr=ow+NnO@6w3o2RPX%NHcL0asJkjM|voR~`P zU~-Ldt1f)k6hY&hI4$B!%=Ye2p8)mzzw#O%i!rlcYCEtY<8%5sRE*Dw*2n0KW@rr< zPR~QZTN}Z9k94NGhNA8Fxu)RH2F@00(PdX;C(wNt8mX~XWRl2TbW)HZ3Fgj$4&HOh z=AdJNFih(@uhuu1a7S;~MHeJ`6v*dKncuyWezH5oR|N<#=op-}ebjR5DXQqA*9NP8 zdMlECtFS|#*vDhEt(vwu3e`pJTphqOb^iK0%)ACP`YqEss|&^~AJDkj_pnqYd{?#8 zV9M*;F58VNuQA~~1alD%e}=l1=i!pL2Jr=Cd{kkK3Fa?!sLr@c3cOW!$@!jWw^sPo z2UH~Tc}ar->D$lf@Md(xW4}=&hvFN6Lo`h&w^Hgz+2N=cdUo0`J-v@f4mCc|u2_F= zR+Uk%-R+n;S7Tmb_`0P=wFaR37nGq zK%KAuFU$}XTsS#Ai*Q9FefBCqrAORK}L)7f)#i74V2o8cL1UYj|(2T1LH98r08MgwuGfgsvsmIkK<9G|*Mao%Ki+ybE zY?bjvDe*G;gZx_s!(S#?=-byGUe#Rj?wvh*`E`$j7AX@w^j&c+xPK^THj_@HTM{#u?nz~c^i?=4Cqsu4}f-6kbX_bKw?$)tOMciVk) zxDfwML4_HD_O2@yXPu)Herf8n<25fj(tlmgCi>BiKyaIehr-2zs0zUYUqVMLWfzck zh1UcjJY&M{l~Ft4BiqL`|M6I(dqUmy-F2*CPo_KY(;OZ8?4DQ%7rgUdKb3pcvq>@m znA$~N>=C@u{!rNCVs>WLxo*k%y^NDfEbNoquZ614F0wA)0L zW#J|Ql{k|OZLi&-zeAVF>fb?ki{Y3*gZN~s9d9nNnM?=Tc21pZfx1t%c7+{wQ6WF3 z70{!YADiUp(3072`LU=(z){i7b|0(bGwa))$I#5F6Qxv+o9E$QZwKH-4D8$A8ffw( z3Xv+YoSMZwLdLNoav6>L0``b7m)m4cGqn(3V9USmrDF6<9?)o$-{^vfEnk%C|3-S#uQkcmgE zc*s|_>c9RHjh_1IOW;-G?|=A}5EEUgZBnI#dI}yN(p`3BA9TB0QQO|)Om%Kckw9IQ zw^f&l4VS*xZ~0m={UfUvNDM@SqljA!HIRS!UdkXX*08JI{z;Y=r|Ga;Mt@+Nq^vyg zA8w2=@jWJdF08YrcAX}#LjpFe9{nWHsWcXyyHZj)90LNm9( zL%SyTB&{e-V7wE+y5-+f%l(D!GLB4F9wifKdtCF1_#9%fuwmcE3r0TkAUB3qi}9;+ zd2Cnltfw(EO6MZk*xd$NyA{sB?5WYLMn-j{3I~r}IQ-Lz`SHoS-Fap&1+fDf@lUw; z^k|`+Z8F_6;5S+iyG<16tw}t*EsEHBJuqTLH%sPAOuq_7{5qy{lRlMuluXVIY)Brf zf}LX5@|Gw?p=ouTbp6W|SG5DpFJ_NPW1nI}zy29y1Tou~)s74Y^=S2ar6_a8yTA+L zg4)yL0&n%+>%jXDhGRR&w~7?2>9ur~KU9SJaTk%-ONzx{-JTp7(9jWKHy}PSHjv%neeKO<}qn88ZB3}}4MuW43| zAcX*efne=8#=qByq^_}TAq)6dLOgv{+r?+1mTxfOkG z!PSLWYOpQD08NDZCZY8Ur&?1^`Va*&i$n$e`ggNHn|pKDDeNKor`SY08wIhpv$>4h zezWoxcqT6Uu^ELr`S8w|qrM~I0WYNRGU zn`=o%L5S`k?-`Qj;(kK!!YQ8=^nhRK_Kb?O_iJCe3{$E44|MB`T4!}p)tvdb#rkbj zPTq64hd_X2NQ5L^(ym`W7i)%swT;F?E$m6-6H#qMqz~$@edfF(`fd>V2BKCQAmda5 zfZqrWXeu*I>e!a5OXOwu(g$lDoc4VBlK)z*Ir#g3&kr`tn|)00Jd2!@^nyLE2xTRM z`p(s{#|)}}uX#B5r9z|PB*Z!hI8;HkpXyD>2rz)@d3t23#XhM}ZZsAz)Ss?oLwvGP zR#~@|D#3^8wA7;)VKg=U6TQ3cSxD_>RYRPt6c@pGTu`8M|><&VYVuY z;=)C=`T9A6;_u#2qq>B|WJF~^LTr#zi?h^1?#emapBc6omC`cul-9)DX}>&r`%>U< z49?xB0gbE>Mk=qdJr$-sR7JBB1qvTcBCaGKRqb9WAy;^G@1iVc@`*>5(UkT8c+r>E zau>pfB-Aa_p1uTJ3w>S|1IXxMzH$ykta?s7KmY5a_%e@xyr&89NE4J}!yCldDl3*U zA)IR+-%_g|sB zR0SKpvyeTWX#`ZkglTLwv0vHu))*P*u}f81i(cp4&8PBCw6Kd4_YY{C+DyLv84VJp z^Ygvzw!F!;xs5eGrc7V;OxL#A{)+qE5--lZCY^lC`!V&01rTCb)g+4MYjO9JU=A99 zg}5AfKnoY8AA9c&Lx=$M+U=mkAP*8R*|Myz4 zr#Iko3N|%1MnPq}~QcI1Jf@=-O)BBr^|n8HKhVY0&ul>uOTLPYODRh zp=5(PQlL%0i)g}<+@mX4^z-a7Ttw-xiM+?7V~0HV^6YJtXasN_+m(ZP;|E+Zh!(PU zqaW`%9b@MSpVEi>3HHJHj|E|wh8DAH#03Gz9FVZu!&%1baqF7(7jN{@mCGP%N%2); zKmqUlU!y5GK?^-oX>^%mQ*w1JsOUrlFh3mAhsbSc&TF<8R*SF&&!Bk0pX*ESu_iVG z5)3%^@$QnnE6Wm#HlQe*ZUyvDVmW zRQymtOtdL9V+11&AGML<7$c>ARD#7-Fodh6|ZveV!oUnI7gh79V7CAF&Kwn z`nhB+9EZ{d-$Fn$-rS-Ohatqx!BK@W&%O2D7piiiL|4* zIgkdWcbv_eL{%X0EYi8J+IhO~B+w(N`lTqd{|B=(r|Ir$jLzu8a+02)zg1Ab>4Xnx z_}%77crU<4+6by`RNpH3#9}ts<0Eg5mHE!0=2!Kfd70q7A3;aqi>t~@RfqbT%Q`KD z=G5LMktNyyOWGF;=ou=rXW!Lc;sH~HX7QS0`)vTpG$TqO{Um{w(G?Ok_JtHd3zU~e zTbQdYw^T$$woJVLrm4_l*KCWlm4FH`Gl_H!U=TOK8B|XsosB4W_(8KJ$#)!E)q=lem9el@36EW6yHbI%8g9f#W@NWj zfkZIrWboz+m|h!G|K1M|jL45U9P(MRH3wXrYf~WBxK2P-<4F5!c-n8^Uba$|=6)srqR!(LqK`QTN+5f;o2viFC6KqquQOrDRe-idtD&fh1*Z! zG+w`i1{Dk@J?_~;@&j@bUbH?NNxKz1F=*FqZ6|8OjQJ0!!K&Rt5LR^!?$?T#l1hN= z3i-oP?un#Em*Pm9C@m9$2Qp#4U=-M-qj-UY^Cqp#+!o*YGS>h0I|s=cFE35f1V_N8 zbHE@!nqjZJ*enGBb7>G@#;K~um`gk;2lfMlaKiewd;P*kN=;%OZ!&&7o{w#?Xmi^i zQ!nYYILpg#20yLq_PI9F{`35jNWhEF&@{Cn^+0Mnq>}b<#VSNPyNan79j$FgjqhBN zvPGEWxJFZDdhr8PqlLDsM6KKo$v%H}n{%?LX~m@yYX9eBB89hUfwoSAHSoXKH;7NK zPa;EsPTli_ew2F8`*6MMdBMZz?!wm+Y@S%I0}0s;r^ zS#6)0gZ4T45B8ZppMD)}cmR}B*6m&RP+nCn+TMYibFJUzZgc_nCNRDC93q`rk^DL3 z82&89K<#-KE(?tAr5_Mb_1xM|al~P}X@dMFCM-)Z*y<)Q0q^R-5T7H}vf~XnI&TQ)X%**m^6;o@t25`G+FVkWh%9AAUhOi;Q~S5p=Y?b8;@e?B>$ zRm%Pa$%y((P3eT+AlRsHka9wjZ&EOzF_nIkJy@s9m1Hm@Ykn67Re@^5mpq;2{eZb& zJYM~3%b&p}LU4$GNdMUv#BH5H`yqHx(&FkgAATvN-X;&OnfXPgRQc_{*XaiA|2JHa z=)%A#jd;%kqp6p-!mp&!^gM)$c2Mt>DUTA{axzuu*>0r=gR#V-k9vWmejAUm;r(xb zT$8ES##a1}kENZ=lbw^qmp>Jd0)0h@p>j zCJP$GnwYmu`7vAl;`-7p<%f=Sq&igBK0%IfIGTMLqx(=52x`!Bs!)Lq2iF;hXZ&68qc~!uWy8xb&9+ld3AQIgExP+Kww)G zo*ht-P|#0B3q9bD@)mmRGV!ehM|5FD?#2XCur;5amEF1cW^}KpyLk7(ro4JGQRIrA zLDJPmU53;&H;&1<@ru})aHe8FBejR|@ZE@z4?yvH_(=Xa*?0uWw(yTRwzH-uc$FO` z61JASU_aC)#;s7TA;S?j&RAYKdn7fNu&eM9Ymo^!!$vtaA;Gbh>aUfRQoHx8t8JtL zw(}}c1xM7bhwtMauE;a@%O-X)ac$Ww3OY~#y2H7 z(Tnf4#i=+hkyU6ztq?QFJj>ICU~sD+za+=g?LIm z)m@N^5EH^x>&a;J2gX!h@v67E?hWX4zaZIwMv)nZpKcg%moIUsE8xG&*R3gJyJp19 zp>n2*0-Bo6oYl1b#C;D_A%$?47NSq-1bEL+BG&_I-4|F6>HShkYHxdlA~|m~^-`kU zEgbX7b!%20^`gA2taN&kGCDju?0n=q{kRqSvkKX*u|Q%*ipA%jn|8+Tc^@h=L6u2v)V z7pW>x@|^Z&{0P^$f;W+RjndK{Ss%X+!$EKDg309tO`N&p%{PrxGm%fKzNt%}YyPs} z^5Q}d;|uO~dmSMIH48*N$RB;}iM@t^^ZW=XlgjDqQbABANSk^sxgQn5HOC=vG>@8z z-7U1Q*M(_}3Aa6_{gSC_5_||#vr2?UPMmgrLO#Ve3cYk7`fP6YO+l~zE$^Wb(yP4; zAZjc`(+t$4W!g$zD1KWcY;Vf(>S;cU+)uYPDAXUF_3E?58uzi+6J8qAXQO?7T~s-a zSqSEPa^CwhZT*o@!1z@X%m9Vy2BuDLsd?P(FkP=B8RXY4$uE+HGh>60BiM^c3$TzDDch$(8+Qq;tjIAKvXL z!}~-Zg+xzDG?iI)d1udSeEN(Suo@#^BBN!ll|ob?qS+PlEXy6NDvYPsSlA}CUe?@R zRonG+uA|uU(v?mw|6PGb$b!^W5MNxGYF`d{k@oQl2nRA04z}0|Wl3S)!t!I5x`mVb zn~81xXC9?j)y>L`8Jk+bAc$$q+~De`t%yrUjb}dlfp2>U0Hzv&6bUolXR}rzszo2B zGsbBJM8`HevI2rXSn00HLOP3c5vesXK2+s|nd1Jfh+-RU6nBHNmzdvMKeMu@Aij0l z1pyhYDr1QOX&zCRi#j1bcq{Ln)60*-IvCB;g3m_tH^Q_&$vJce*9tf=9ba|R@0%n^ z^)}U4;cLb65pG7GxfsBN?XGZ&>;OTOyzW9i@_$LizXdTjgb0D4CRnu&NS7yY&6K9$ z#`MvI6;)1EzBQJwufrjhAM*o1oT$pXxuZ2%=1rz|LeK#JD)s0`fP+&C5;|iiOMg z`k1d%+gPxE2whW-^QOY$;s zW9sr=Qu^doO2?1Cvmy;qYkY(4N{!5{9DSd{-Yn*K%f>W8CZu#4VGQE)&JUHMa`=kj zzkp<|z`;=gHGA0eL`ayFHPPc*NIY1q_g018C`3_9X{O|6`hg(!JF3ZZ4*>9{0gaR@ zEp|=ZjCFMPB)m(}DD4f()4}KkqR~7(%o{hgQWOURH)Tt7E_7S$Dd2oq!@)Z^9~~q} zx_@VK(kHw48-wucEwfsrMjyf{a8u_&zAc!b-fJM>p@u(kyPqe6OF9VYn16wE^0pd4 z{fpj?-tomhh^w21tKp5mubhL=C3MLw<`@t95X#KY7q>3xJ-zZ!a(FUR;rc8qBbxrH ztEf#v?#Mf2XEQ#ra`rJ56P$^&_8`SE?C!nPN>sWr4(&|IOC&>K_9A%C)`U)PzDt4R z8>XI6)zl`CBYJ+P_Geca4_T(!UflRRyqEq-CCNH%MeAQ0MIJtAxpUdOx*2cc3}+y6 zIe1VoHVZC(6IeJQBn%HYgPQAy+g7b))9T#7;~U9~OQ>_u`u4DaK)`(N)H|s=vsf51 zjaGsN#jL=LWsP^x@3E?a{>!0v^bm^4EAi*RFk_F8swXOwy)o0_3p!wZc2i;q6(QJW z{$ue3?Cy3rId!-xZb#{8Z>n#mEU4EX0;8XXfRmiUQGxyrVo;@UTDJ%y_J$Utrvwu$ z0+T$iRfT>&W&$5A*k1nGE8^FxajcSy2Xq5YwDms@n7o$+THFhQhoCGYOZ4@y1keD? zMddzav^DrpkC^cl$#OJpG4<+TP<^vFh}|I#J`jTWz^FE)MvCyI zzyQlL_MlItMi3j6s`wO7Cwlg)I%)!G!^+Mu@pfE;=&!r9Pu>=>%lH?aHVLFnLGFUi zqWOzaS3b7Tm6(;#D1dbAZ7||GWW0J?M)Kl0UJ$AkxPn@52E~QH*%`XXH5-P;Io}{g zVhbC@!A|3;3aUt99|}anHfEgw_c0-?Dy?<^j#ud zWP#J&z^glp9%P+IQZu6Q*~Avi=yof6Y_}!Cy8os-n%pGKd%XBYr%`QvW0_8Kd*idN z+z!*{b2kdi_F|&1+S#R9pZ7hvJ~{9duEi@rhQT2gu!lP|*gu9cBfEq3Gqdt4dTi0H zrl$72M;pnR7e882H?`al?=grH&b_6#QyoBnxpzI>M}KKF+O8^L4Z?yFdPXP_-=UfX z8I+6Av(xj)Yg5uMn_R1Z54^j`BLe@llQQRT&j<6%`2d^oALm0y`|r<3QD8t9ZdbJH zX!-@e*9eja5$Q~U!j>Pw`?i8N(>=7vX_TjIOMEgYet ze`_P@xbqYJK1z&dsf^%&@wi(mV7$8-^fnlr(+;gZmTXhhe_Gc_sz9p(uUHM+y}b8V z3V%jc?C!d)b3D*zO2ERsC3mRz$o;B(2DX5ae*gn?h1<7#%CrLHD|Wmxrls!Ny{|yf zeUcTe*&p_KKiRzkEfEtv!X;$T7t(G>I_o4f?uu0k8e9wcbdSAF=~Dcy>KZ6;ZSWe(xdjL~DOp0bpJ3^CWh<;0QZ0od$ z_L%wQJvKv=Jmvl$CM}9Ob~~#`+9{(FhhlC4K`k3moI<}pbx8^Jsd-A zUv;M@(z^u@YU=u+@1Zk=b;z^5F`*?Lg8v66_BB9$#WudWbCi$I)t?JF zHp?PkL}9BBrkkGnNld&(KsC0+)IZvsx1@ysPYeF@|BVIz-!R?_OK8|4*AlSG?1#O? zi~|aTMp5yA#zatCmePGX4S^-9jAZheyTZQV*c)6N5s8IAi^GXxoObT?0dVi3vK?1<(sp9T}Zk8`pZO=NA1dS0E6a8U=f2 zeF#;ADQN>5v$plD?ter3;}s}62`2M2%)`w-^>HNU*tdQZJL*^F;{M2T!Effb^TQiHC!SeV!`bbk zvsJZJJgoF6bN9Suvd%8KeqhN(3#N5P-fJJ&5KqqCtSh9;m0no(KY*RDpp3hM))2{m z1ycNOn?%3cCi^Rc(>)yEYv)xJ32L-t!Y9H|c3PL(-DZl^^#0VM zf&p82_@eHPubj0>_hYRm{y8YOy+2m?uY<||#CHD$6yHhwNYwqOM(`g1vj9--&_8Rt z@3u;N_)EWPOTUH;;{LU_C-ukjD*=f9NgM$;{XYAMp4c zO8jy3w->ys|Hk9^3o!cPar`4DA_dRsySx6Z@)6vbLb|DS&p&z>e-xH~CKo%qtmSJ! zW1j?#?ay5g|AtV{MS8h&)JzWUe)ducF<+vH@d(a0D@@lRt>5vFoAvc$np^zmt%opidZ5dTKWRM@`?LO)H=q3T zZ@$Azbom{m|ARz-?Qq?h{y)PVq*q>SqG$Mi(YC%ySJ1Y16?df)Ih~A8@r#r4GF{?Z z)Y=xN2I@w-_l|=IJH7}Pe1*TDrNPDR*D0SvbLDwEna))5LK_c2>8opp?&+>nH+Q?8voPNa~4VT*U0b7UgJ(kH=kFZR9 z+gUo`kV+kW`#7nP)IOi}&y27Z5G-A}`R zFXONe0pYPhKk6ZAy5vR1WVGd)EPN(S-SrTcpbCU1pC?7s>~God(RJ#^2W;D^7WEVS z;ljVa%JBJ1k_bfPyJ)=58(Vp4mi9`E9AqTmm&(}h#jE@`DPk=yL;UqF}>z4-`y#N2? zpGi`YV!Ncznk9$e_YYsb{RZuWi6~=}hGC~z1>yN$lF)+!eD;Y@D$?)aNyN^u5GH2s zrP3RO)mDxC^TaG+>)ylZvBW&(Br5VwOXfkXyIN0=gL~F|0H6{y?vP=fIyi zb^nScuiTB3PKb#K(W*CC5iA)jThMy$T4ktwxbiA@QlqvmHGws{RWK#op$(Fkvq)72 zqEXvpJd?>l-J>}e7){xO>{VSvo1?$F;wm|uV)}IpGbuW;4Ku)(QqKf5ALIg(UJ~MC zG{uj#?mmPu;~Ht>92^|5yidEwu*sYL8D*B$XT^Mz?FB!v>Ss>hE0G7{^ZdMJchpHC z`Md^gq(s}_>xVqeJY|M}lSHOSLu(o)dznTzZ<(jR_te#+%W5AvowPtGeLJ{Ya9ZN} zF#`Zv4sdskJ>?k8wTCI7bYgjV-g06C8OxLL-PIx{m zy6m+711|$Zu|>l-0C>e0*h47`%s-c-V8EzA!aZ)UWcvKKxeH~6UYlMoISI4ZPTkT! zJa6h$@tkkVeE)1+*Vk&j{*%A`GwnnZi_QuZo7r{3Mks(`O~5+fI1`hCWw!;&ptkR_ zI9e^}NaDNtNs29}j;Z8}r=c~{pgkROX?B*gswLHT@i+QETU~?CK;g4uw{R*Zq((M2 za_XW~_oJu@+P=~YkCHy++)jMs06Y7{>cqO-43mc4HGR8o!bKMIcHb(Q@T}t1aCS|! zYC4&QG=QIzI-9CN(p;gRq_L`ieHNnBhYqI;NBg-*`4Q7MDbiNELGP23%#Z(c;Ltx|(}CnD160l+KcvkQwEtkH@aW%Z&A;J& zH2ff{bB0B_1C>8{3*G2&Fr33#LxE6crz(^aAQN1OS<-22c-K%UpJeBp(6ac)Dy_pY z$6I7eUoNqTHM;d6Y=dSnn1hGxsd-DOSM>Xw^SOJJ1&x~LEId>85c?|@N9|CeXXjU> zXg_S3W)qGwy=N^AUS;9Csz>Td2twxv+y_NFAR!5fa-mA8Hy! zx`bg>@%7|3YR)fvhd*#{`X<2B@3yYv$b%tv30pdKnrqT_SQsm(t031L1d2R=Yo5M3 z*{h3qu<6i!rlpkC%Ss;i^9$vh^jJGyy0Xm;$+UQR-*)kh zNrGI12H)5>+n&M2d;$a~C1+y$7X0x#6T?4%<+4^0(Ib+^ix35!*RAFQU+K{L}2QIdidW)u^=O}2AEv%ok4{fkMM;r(o z{_^&rD!Go>)7xTcsbyhd;Jv_`oo>LVIO^P#n=uO#hju^An@2*f_~UZHeL=Yl1(wq8 zA*#1u6{I0e0Od_iDN~Ekk;bgC)QbU)@oDH7>`nWc1He?tE-$MvvyZkgJaT;I6#P4- zgMXLRFj3BB&RiS(;Rd1xZZd{?fo2E^9f8XE5h-GhMDw@g8Drrk`qQh74ii2JSV5t} z(eF6nG4GOFLRyg*yyM6(;>PDMFtjE|lmZaZxN5*jvaFRZqh`9CR#XF9HA-zlM`gVbL zlN~O;++1a{?ziykHb z=PLw(3LPtIR9lL*R5F8CevMX3*vP`io4+TRZ)U{=1a3>-49FrxCYyRM{lJQ%m3ED` z%*|_U!uP~!Bmi;eR5ArpTTD%bL|z5Mlk4gFFu0aopuf2M9&ZU3!3rA913k2@*IjOX zcR1sk-HG{&5j(;uUgd6PfUC*{%o!f~rLN@l3n-B0~L zZA_->T#tNH2Kn+wN{xnCsCKuJ=Njca!I|9Ag3*UGtEWR-^$_U5%%`quT-y&s zf7|?DkvIHT_szbC=37upK7l$K=1eA|&T>1|(Q;}!*4%)c%L^mL;^l zLfxk3)?_+;F8{ng`sz)(Yv?oP#&aWAFBLW03JL}^PH3NCoe}|0%zal#=QW%HZm5wW z*JOiT%3bL=^3Jb~(n&sA=-B3dZ{w}&TNtTqmzNotA-vg{r~8=O1xsz3w;a?^B78Ih zDelk)nMy`SE}5e=?YED}{f?*SvG?cL^lbLnT1Su9>%0y-yLE1!W}AE|@5i5Phx}?I z`1S=eh0GB(s0%=3X=pp*6hmE{>x`1|RNLK>Ul8T`nYi@zUfvEBGY~-Oq)nlYTRPstQ9?kzAo(rB2 zZNCodwNE)lot}10p5ZB>MX&cVD9$-^mZ}$JMcJokW@Y6(3VwdAt?XRuhbtpyO~15m zqSNNtMo{*GT*yV0snjT4+=y6%rE`+7+LGd!rI>esGQ7ZSY@BvXe50Xx86wUt_qrE* ztxj&Q^KLr2hc*;PLkQAZ6_}h^C$1;gbWG8EJJTN7r<^&=3DfSLI)wV*0iA_mj+bH&3cljX^oQ+MJGj&|d~B3-aoS zSRwBfr0d%y>#+k;wstl!iQH=@%Zk&=i&h$JIX8v*=C$M0)f4iY8cI0FUlAnE?Ke|>Aobu!iSHg>qTWN&)7M$Ux?re{}12L3pIX<^l}F;ixDoxGIK8D{l0l4PQ`^BF4<8He>H7hVY{7(Anym-EYERW3jTBT9*LXGDXRr$gkB55*>yM z86ZIxbZIif=JiU!`EQ;Vm#`j8epTa8aM#b-IcTKyH!~-W8LKgL#*a);6hW8aPXC_! z(N9QBPZ;#NO{tEvqMq3mo}lm=9??55(xG#hyxc*)z&uVeA+7w!PxC-n^YsT8^FE!t zNQYQNW67l<{SnY%J{f&J19&TblS;@9X{{>ZAL0|QKyCk#YXMQWv|JF>^nxt_T?YDB=_ zf_#s&qCfhJT)Xp*RC%r5wFJvMA^TEz}^z7vYKHj>~c!x<=9UsaswL$^G+f*Pfv|3+P8Rpop zgE6)~U{CgA_S);ut?C%2JG)>@MMpw#DL(3IGWFJCDVgGC#Jy_Kcw}YaP;W|a1rDM2 zf>Qt?E7_1IrBRdhkE0L}bc0q8=SFG*U+&l^ap@9O^meXj4)6v^&R>HzM51XdxdYg~ z+n6q{%{8kew47z)5SZy+3#?D*k2yfJ^Xl;8`6lI7u8V7Qwv2Ioe!Ah9)9Im~P;60V z`&}iXY9@nn1Mwxqg37cqQzzvrU~5V@I=(Sk9=Ft^()ZS?kc9{6Ihlrq*1sNqMmOfw z&{I3Y1S*sS!`^UhmuNzocnsljU+Egk01i-FW80V46ZT9!ssxTX`{R z#-utr{QTXK%{PY5Q8m03se9X?8n;HWl}xXrMh8gQ=dYOt36o30h*7eRpxWc1o~Wnq z5!KA?0Sj}Rt{H}hADz|Z{IdRs#%EErgsqH&Eozo)-{2aM$paeup*)$bc}y}IgVoy- zorpzB`9*ilv*pL?N=37=eS0Ol*DhIdU@1#=H2LEiir?hFuIa_hiO7D4KB6W3U{QKi zAq`sqMVn`o1y)MUBJtT6x|x2gRPs$r@`%vbz5Xhw&9-Q;JvwX}FM1;Tx06K~oR#mN z*ZbkO|COlfKXu9f_`+9b@v1&f9MWfxTk`Vh3P(;&W20{&t=7{zo4iQaD(N!bBa>Je zYZCU`4rO3jQN(5I$Xk0=nfJqQ{W$iBm*&;Qc{`Z)Rp>W)dc1e^$;_$5cWUb1;TEr` z(GoYO1+UNtX>#+1zRKh`{crpZ$BKg5iwcdzM8%ac)8A?4Vi-b3HjP~ zDl;+?aU0M$$(*gQJe38ILZ>K(srW49q_l{<^p9a7^;7Sa{1RySLg_E@d})0Z7riU! z0plF38m{h68&*wTJ%qS&&g9g`C%xO~PsYkP<2*L+Ot;*%AvVb2QmDC?Olx@B_{U?v z+tn7iIAl+}M*rG>8WI2Mun8#UTPcEgb7}{~n?XgiT&sWd{GaWY@EYpLz)qA9i%SvA zS%Ph4D?;I9B|w}<%0W4(8|u-Q>i-*(I-udL;uy47i_3l!mrS`qyQD^-C_r4yFoDo< zS$iL&#rXxRpixZUlRj?5qegf7Hsz$^G_TwE7+ui;=675B0HS7)lIs_n^!>^LXDJd? zuH-|)9QI;276#lAnW~UTpu?3hh8Mt)i4f05z4gtw`L4q}kOYS0t=JnB_7Hojbh(4asyoHrJDz1w{i2y0*oY~=6lPKYy#HNOK z4p$FmT$&!ZjCF1Di z7NMghqvv_Uw7f zUNwRnB~jWm2#Z0o>6w{wR5@p(5-Aa$qklS47&CUGyjxGp`s|aLy(@ZOm9;r5*=JmnU`|M$( za>}S+(~T=Pg><0I10`)EKx(6t6T2P0c);yAf(( z$>&&5)oz6(Y|fjeoM{KzhXo@)r9Ls}ni=zXXyhpsf9W^hPaM+4D&kagD6MVK__p*F z`h&18x-s+dbwnD`6q|q)iYIVayy+P#+jqQD-1{5)reX3{mT}?aRR32+5Ok6CS#^jagBM&W%gLE7j7x3+egsfrW=|^Y^vMhuwXWBB0!=|EaHy1 z#2=Ko9gg4TN!?*D-?|#MP6qH<1gwQ1eN&X8AYwfHhlPbIJj$i?pq^Brhtni%4tYOH zfA-s(!Oudpk~$t3rRi_(MOx>Hk*-%oE0MU0Az#VY{7;Ep*sI#GNQFeoAZC={mZ0;0 zQ_k6-DCWB;cD3O)JC!5ih9@Tnm1%~>I*ON#AKL7)ig-|@5eQhHwh%Vf4}DE?bpV(o z$3atWKO+5zC|I<9L>Po(K4~b0tkxv{4}0$(59QwOk55sOG!BI*BNeqGL@8;ek|arG zl^imq19F%YA!BYKhtPDSC_^f#G|9Ozjd7@?aSTJ|K;$r)A>(Fd?)ClXd7izW?^><> zdiLJW_qU(@d-czHt!fVU-1p~meXi?$y|4G%G8>WS0#4?*0AQ)}i^yP~e*u{r2#j<~ z+!v$*gkJ8)Mv(JMQ5eA}1=f$1V%q39i3JM>21~Mj*rWJ{f*9{0PCDirgqH=W!VoxW zBqTB%3L**vArFCdx5N(vgh8g$@&C@14uP`4hX9%eJJ3LLk9B}jgYWd=ytinJ2~rK? z;5ENMnr2dSXThgFdP3T!c7H}FJ>>(PJtMhW)nNam!WM1yhotwAzy_@hMvyE(3V{X- z=uvCMIm=*0+-K3zL9b_S0yi7Zu8aQpZ}x& z_uT%USNikm|8EErKiBEcb^1?VrxoD5i2O?GWankqIKV5+s|ldwm`n2^TqG@TD?|_L zHwT8x@zzj+f5GWy?r?*80R|Dzjtpz+rfqU=tl{BrU8!54`-CB)HBvXHk^$h-lZO^YVEa*`^4XzZew|^XH!_=}B+b zXZ`;#h5Wgc|7VvnfbD&8ol&B-LZCp87n#EsxJIlV?nNY)dsK))RKgt{;EUN^E(3Mg z3$n%vwcdRX?xvkCp2G^gXr2BXdFBJWECzRpuw2BMA^VMC1GjQB%oK+Q_9 zbbSD|0r!PYng#@NrU8L!00{62(|~}65dZ|%SpYylBMVsqF#YeO#aYv&#h7dxKw4Y? z00E$k4*-E9v}r(~1w>tm2N^zBJPimWsslhk^DY1c688c?VE)IyEQm94hY6)rEEPWxWl$6@Bu zj#Dm@wA!XQV#}L@lH|A_DLz3bSF{ztcJfD}>M<{U7oQI|p04eG9!x(ErvJ*p^lx=N z4mvU-i%ggGeq1y#CqUAkf{aO?Xd8ZiFco6h>rM{@eFJrU$OmhW}F z>V#;%uz0$zujw|DULv6fT|VRqQW(LkqMS!WvnKtQw6g1zG>i3$y9TKe-r2M6(hqy)^81BWGSl-p|HNBAo9G2b58eBd5f^37< zElct*9LCDoxDBK)e=F(#SZ(~E*Z>v%537wI6&s+U|HCP{@5jXks6Kzc8*F|U)2A!? zpBMV~_1nMZ9sO%LFDnJ*yy|p0FD#D6c~GLJ{PVNGkmU-|^~c_z)HRD+^VDb=DCci; zQig$g1tW2NNKet$e~o&+4#!GE4nB~kg89`!%#=Ov9ZI^Jx=i|%<~{8mo>%*tph9ZK zXie*y&Y@lWCdA(J^>rEKyfqjg%qo~O-*WQg-J^?imtHx3O{2z3riXT6iXc(T7D)t$ zWBE=Pel`c{Xrrg=HSovLC>ULdM;llkJ~QRk++{}y$f+lW-04gsjH~eWn)Y_Q?W@K+ zl4`R=eGRTv`1z232vLD&l_|YVTrD)GmjcPB=$Km7$~{@fj3npTWF0rVUg#cFRb`Ey zikC-C{2ftQQYyVk^8z$}eTkageqlD>Nc;z`zCcPj?_>t5ChYfQU1dUW*V9P+hHfy}N(;QTd=$G<((P;S06pC?e?l%sL~@qIp3v zY{52%j_e+Dz)N76*LG_Q50-T+ggaKBN5?%g9Jk+I&kgJ7Q+K2r-NmJCaQ@tX$McaM z&EvsKA9J>R~-L46+jO41jS?QDle<+YAG>5=Q1p6a`S^H>R>Q z_hK>2Fn8T%pI-@v1j)#^MJFS|uPcQ%j&CRhcSZ{E8M-$FWCd?&FO^n+NvtH*-2x<2 zfK2RfE(?6Q*vHQ^EEp9NqSJiwb8p(iRIRj4A<@m~^@2$&RPB}da-0*uw+M_$DGIP- zq7H!(zx2LDzCcJ%7jq%Hm>K;N$d;aXaG|$D>+XILdXv=P0xo@N+JqC zoOB^hrsf1+EZ%e~g{}T=364QqP=@BECCTuh$Uy1lT-V(%$Cy`|s2424w(zmn-} z)`;lScaHFVl9u!Wm`-PFext+z3VCLRn>*1IuI!#uEZ{Q+xkoVV&9_coVvcM*D}EH+ zyeLQu-R%*uKxctOOS~WXL=zk!un0W;i?ky&mX!k#za(%K#a;L zJ5oJ-5yk>z70dXt5xu@{=Z$5`E#HW5tL>P)!#KtOu4R751<96g3HORd$;UNiFaQH;lL{udtyE z=NbkDJKy|X2A;;2jJ{tA@ecO6r=vDdcjB1?s69T*jRHt%c z(_;SB9Hbj~{MChXo@@$ZY7eW?imZk-&RLPG% zRK&PNfst#$0S9>HeTu+=8mZ}?Bbb=houQ~o{GLHah{l4&ezyw^_qzdmEUl1QN`UN^ z#JC+NQh9UitokP#QN&iUy(>fy2F*-d$6cCll7mPjpw+mJ%yRDR4jJPn_0z+A{LDJ- z{g;-OM2<4vm6b+*2#ub^9hX*@HNAlXkERq$sStD{!hz76ui?3OCtpnyhfY9qe@Ql&-Qf#>@V6p3D0j2UQKSb>U;0sGD8Ty{fzOFlBY{m+C^vi*&=JX) zBDGgN)Jv2F6^8J7MwKSD8m$xp8Utc02eCiJ|43w~U)A&XhD%3fcLbQ<`L%yyyA|e! zWG);g-T~3A!O#V+6VOW?g#@131E5)rpCJh^=2FQ-w~uY-lg3+IE(&A1)>V}jr8;K2 z(fjK|jc(4*`K*rlF`00k=YD!L}>w|eLB9-Qw>sqaOUSiu~x%w<8Q+l&!rD36- zaPbR31ee}ZCCF~;76S(eH`nSpqaKS%UqV}ZfItP5h&2JRz!-3BF?oPmo=tBi?h}YI zd-&(OB)eKFGzI~qT97=i%e8y(<&IRHSShh>Do5!Scz`K~Jg$GZ6qOMbdKOwwAMxPigw!-kjSXz0QZhrETb> z_fLKtV|DG>8T(-jYJ9Wyv#k!sfe57BBK-!yK|+J|(KYs3h`gbov-%@$!MYKJFO7pP z$rPUa*TVWxgZ=~QeeHIuE_HwFu+J%;TClgSugEWJOcq51OGfq_45FCq0oq5BHf&)9 z?ou?Z5X1O%zH1OKNDs-{+c3V_>QE#PT{IwiK6&pQPyS&^X;TH`bNCC_ts9b!%qMzf zL{qe1u)x$5gY(0I0`sy^oo@?1^9cOvzV}N)d}_}=VR0o!BXm9RCbv36&}lAc*C|#q zkj3OzM|m4&EVl`c?;DM0hB|`5{(j{;ql?oQ!AZj8oAasQ3aSOQRTx%n6|zZq zZ^$nfs#JV{iyv2TC7@&;b-6O7w+a2Bx}p9$>MFN0M{Sjiu36sR{dzG?qU+SFK3Y^sJ@Sh%NLLfV&@j3b4n)dt4fEHnG9 zd#mM|X#yW+4JDqv5PZs=;Exow3f)0%9Wvb=_p*VwmUZnB!fZPB{CT>MfY%q;73+E24sZE952Cf+6H%w=R5DILfR{F?=A|TPBPt zDq3Ic)KI8dTW=_XuSU3H9T@4i|JP z+8k`%;*%!y>mS{8>I`>-NK+c)aH*^CPyMFG{y%`?z(2WkW~j;2vNPyL-x z#qWaEf9a1E%fQb|z@x}5!_J`UUH=hyqre^xd{6sd_>vwvw6_P9_+Xu~%b&jG_QAWe%C7Sqd5 z8dm)B5%+wYshz%-RnCqxqgb@_yfbw*mKNn{+bY$I@aC8bvl&w$tbC8vfe4c(+Fl02 z%R`^@a0)WV2uL0&gFO}tb%5#0E@r&feSWXE z@n0fv24D?Ef`kc-VXh4R%NS-d88)(!+_ypG!G=BY3JlO-H8bR(-%YtXLO;^L`p5Mw zP)>agV8E1zOQ89(<14185{yajEqLr9chk1qAlhY@^t1))iX2d-yVlDJ+}xfH>Vi{( zod02g{et$wNTW$o^sX5Uu&X@~3~a>d=cj?2{SiJPU^BAzG*}u5cP&x3d9G+!+wRM4 zu{4!cn@pJ~Q3_yMo=p{xA#+{7YeQwwfHoAE5!&6hU8DL<{cPzbavy(XPSnZo4D5ZPG;B@)YQuM%JdR0 zOr=bt4>ACK7|y{AJ98k`YI^#j2L89-P$+n;60bCDx$MkKH`6X_0wIS%+<3<|fiSM@ zp%c*WZrfMq{v=pzMEXc6CJ)nuu3RU{g2NIS?i0)<7sGP$1xq=u#KLlQ2o8_5Q$>M!(rfA>lt916XGGSk{$7YW z?_8`9_``zB$*cC8*}gU481Cj~W(U-=3u>IlK3R(qP8b28gT5SWnRJ{A%>yk*+y-9| z?;vhzlI#;E@cI*<1+f>yX;#k2JAVKBhAkO!_k8UGg0KfQPW!*#U_zgd!fyM1BBn@7 z%K)olmQ6FVq&lOBBGwte705{pr3N8>1&S7(_N|;|R@iDNKgw{BuK2q6xpCrl5B%Dd z_jK&gZ8X6_CYYJ7qIN=bHkzbE`T!}J(G(;euuacuzu?#1dTnaZi>y#Vfxvj?p%hbB z7Be}D*|YUm=5MOR7s^T0ooX#+-xV|sA@Z?;2|D(d^1Ncr6td+pVQTjTqey*U z#Dwg?dFN!9VWPM=z@SOPz6$I6qUIr32a)+CFy>W|&EF_Kh16meBC^B{1f^;3o$496 zAtU>drsu_)eiFi^?~@M`CvCw$YB^=E27t z;j0AC#T8mjl4Jc~)Qs&{axlFst}k|?>9xKR#bTvoOfGFDS&wExBN%loL*@p68+RR& zl`Mv7;#nc;9K8f?d1z3$BbZf&6OQr@@0^TTsaMpzBVG0qG4f=xd_>GyAAid)Wf6KP zsXz4s(OyVJ6!HafJ6o^|jfPKfaAa21Ia8?8NEp0DSWS!da}F&o4!5%{Gf^cHGXu=l zU$;i7YyY}GQUNu8wFqcFMA{+^Kq!hm>@EJ)sG1s|N~pq-fud2gWcxZV$%dkjtfLj_ z?0srOgnny3@xa5DHJZ+GkxOro>$JBf<1-*mB0HZ}L!DN9DHn`^(cF8MK&6FOE<0rR z*gGkl5cGL+s(SqWhE)0E@v&De0`)1oJt8b=(-1)-fL`$JQPUVfC5}br)=HM0A0Gi2 zfzO_1C*W~2w}YAOEtu@cOFgvJlzt}QPERVxtvOe4zz&3U76em?N=lFUupN-i!6OU1 z^M$7F!X*z=bHk544v(zc-(X-sYEr8tEWdiDc=@&!3E93;TePi#q|AFDuf^_QAoBe} z8ALuDd=O9sh)5CpGpk-gk~N0rJS@e>?-A=$^#<`)kSF5IV1@g2r-3F9CobOlOXxJ>}HGeKIIEaGpdWyt2=P~k{179lK{ zfsrf#i_V5g!T&%A2$xhWpwH5l&}?+7{9 z-3FdVOgwha-G}sEyZCqS>I`eO3An+;HWHx&yP!~-LE~glWGYsXm_Rv#(ymys;LG`% zi-Z#oA4_&NS=t8?n-wDc{i2OEay|1?wVX4Pk3htOTgd?A@|NEAhd8f*ITdF311+!O zHrO5b9>a;qr(X>uvxFAR9_zxQRKJJCrmn6`Pw2C|8{O0L;XL#U60ch$3-eOd?i*F2 zLPg};^d+i8oS2*kl5KE2XhKd4PH6d1I@zj{P~AR1yI)fMSK3S4} z6ISkS`lNBB$W*y6IR$%g#|{z$J`Bj9pjL~0 zI<2{TG2u6qUNgYmgJ=>REm~d?;IvL!*rXxZh@LZ3lnx-aPf)KWNNj{`s&cv#q6!pXvhQ2QmuiCiW6|0 z$GGB&m;$~WPp=%5d>$caE{XDpk?ShKH7(P2kU$u-@S+2TS5F>|4u2?eQw=jPjtC$5 z&%ks-W~U>tG-Sp?C&*fZ_`GaJkx;#gJ*@XauqOTG&7=(V>sQgNVmzrwsv1ygTzA2! zqwJaG`?lAZ=lZcA_+_)7>oe>|=EF|NoZ?3zlv?b{mK_g-<~*l(oHrA_#Ibsc{z3fY zcG>Nn5ux>;w}L)U1!4R}y;)O4m=h4xQbQUjf?p}^K9yMARzzz6+(XEVJO{q-Q!xvi z28*hLz&aQoHb?Bxe0!|?iBY{``O~r}j74|dd!U+R9SR04H&J0j2gw30PB>-Qu7}!A zwuM!_d!lBMtI>&SkXiw74XU$~`B1LLI(!2Oo^qaz)~PrD`iz)!qUzySCG>7-0nL-# zNfo((hZiofklvwj5`YLE^P@!TX}dRnaTKG{`&-DcQBrkv)1b1AcYhtp?_u&GC~W!D zrogprj^LWlfwzVYv5QBBM;^3Gbf#G?^8rACyW|IgaE$i)mUXiW{nidKwV^3rWBUME zJ(S)|CG=gNlhEh51v9w##b0ThLJ*S(7er8=(Pf&)W_^x*_T_nMxCK~aXNgPm`06l2 z1GL3ASMPI6ov6jpGJhip~DY#aVE;9WmA4E&TpG6Q+w{(t+2e}dl9-vq4w zGXdo9VFWbDJpQOKg!zM*W(NAqkAEc-Jq^|FR~K7?(p`{(r0YlmSFisJSVmh1mBFbGcI72am#LJfK@jD(7 zSn$4|8|I%FAY|U+{DFZEMq=VrV+6b61#fYJOHgGVuxeO=7hDD#Y#%T;zA2>yh{*Yq z>{7AKb%a{qvl*yyf%@)`4HneIFF)i%NkB_=T4HP|lwS*49rDlsZ!S{t2=%)x?N9zF zU;|OjY43~3Y3~ajQ)=qAS8h}b-?;*{aMDxk2)%2e*Y3iVS$o!O=q;kcw^bP%AUj79(8>6w7i4x$A;*~^93(d=jrCyC`*H&&+eAHTa zqUr0JbBmtoMyec*T&0Jj-E~5#$iE#SrxF40X4bTgQ{;9y-?^D+o=NJM^6aDrDTFOy zQKEyMxSm-1%_qLE;F6YCXdlnxdF_Xt8R%!0T0OY=a3`qE5+xYk65RgAaUTsrfz)PC zg}SkO=kCW1%z2Mbd+78k)8&>$F|EO*J%{0XA$Ed`ucoo;Yzx{9mYvNx^kuy{tEt`0Nri5yF6R*G#rM}u zRadcEr9$3w^P4$?9Z#EwT@$j*0lol)glFI6`OO!miE%Csg&O|31j+408{dZO%F+?c zsv$UH#u&Z^kcjjpDxjuASA7cO6jxJNH2W7q^VlGV=ROvsH0~!?M^~+qksy6JC1H&QD#9Ygn&wib?v3BQmhu(erNZ#xWKGi zM2W)66*}Ys*YqvoF3&5d4b+Y{L}49x_@AUtN$Un^`EA2uF{lkHZF%L#KfLr$tx))A zNMy`Ybubxw=GzlHQ^Pf>qo=|;+!csPi4T*yK{zlUUUAPGYao4$7$1Vy*B-98#5uVHolS{lg0JtuBy56aelh`&Rmp zq~AeY4cm&Hz0J>mmUsnrE;(N#wssXI^H%Cab`2_7EorUF-yONZL(g&GW4Wg&P5K0x z0s3$XZ9PtWbKz=x0W}7Q#8E`a5BizQ+&&yyt|k%~{RRfXe+wNfV|4{%MbexenHev#)hB6y$#T)FoB#h*M zG`C_QOmGLlelZ>#KO=E3!*g42rMS1~&Gkr!%t!+-Ob5nm8v)xZR4ysd`Tls%qf)qda>(#(^%&1iu|&E4MUf-n3DD ze;U0(*~+qEstwp?93eI1XI1D;EaEPYa%HboIc=Ee#W9`R|qz^**ABbELULSGYJ9|Q+2K7uNnNgGQ z&oO*e@iC$r{-SxReih%&P1trZt*U5>D;UpB&(EL~XeDSku%Je+I;M0HU?REoRa_GS zA33PUiH^R6M<0{sf`@n~eI@KDpz(qead||e>DFdpgx_X=Q&H&nCK+wBjyKY8MPu)m z$C#Xk!bG7Fs0pLa9&q||q4qs>43ai(R#~Xfw3e-eE1+>@1(=Ay+s~ejuYXaf(zOw^ zBsp@TyzT39Wl`_;^{X$syebv*3;q%AxI+TFfLcR| zamkLGCj50+64gIG9j|%OOkC5wp;@xc|7mq$sn|BXZekZvR2uts5X($YTq#ot{T{z{ zM+;R&UEr#SZ$TiMjgNB2O7B%H7)tZe4@K9QWL4L8hTFes~5#l zFVb`|T?I4u>ndH}vLt&rU+gsfevq_-j@wcg;0m)AfB<;;>3D*h*Ygnfok(l0(OoEf za}sr=ubOuK!6SlR=sjbG@6p#c=6DI25;ac|O?nrr1&Fw~@06Y}VOu1k{z-ac&|Ob3 zQsswpX({+z5x5OCF&7%eS{_J4?SVy(064!pcJChKdbHZ`d#Jv5=ob z9P4Y|qY$I&x`(vr&h1TgZbSE`x|oEx?9noEmyC(3#_8F(kIKrEowYcDGld1nse!QH z!|5J>5kaCnQtPe&4${y7B%iHzd@KmJ^ZiKk%THrW6$rXWg3t^NP3BU*U4KWw(6b27x^2l1=$XY?+v-?2=xo&CJ zexFx$X`P$GEjsN$a*>_vb7IlhJxCGDRF1}F?y~EkomjIXU(=Ov5CfU3Mxz+As-rw z^Z{R3JS^Wsj!eZ>zmWZDX-j@w$wu*Ka9O})bHnxCn0$JE9g z)_3qZmz1o_Uny-(R`L6)ySCauchzYSM*zkqa0LZSB!skK7fY|Di1xHrEbR`-qBr=s zn58cfD!KBlel01fc=4in7P;g8+R$P((Ubnr((0OHmrlmMyCKsDh}%ZI5x$8KXsz02 zz-gje(wh+1ZYUYT@O{mgb191kkY(mYkbsP*6fAm53!-d(c61bt`!e~(I$ZeQUJKy| z{-NsQ-|LVc{okL~Ca;4q9i5^z(q!o9ZzxTo3CM2_+=n-D_}P);i!1{ke9(Mt@s5*bbdonfkBTEzudMDLfz6|;rbZZ4 zEzkxRI7l&7sYRI_$^}T{nQs|duRO%Fg;ck0Tw2zkO}sigaQxPsdkJelx!E%BzLpzY z@&B%V!CwPbrbbn`84_J-0dy3)1V{qgUXo(DMZ-;%ytyt z{j_$a3?JV?K;}|G%tfU65;r!Q=1E|g?+~h$k3Kzb{WYw-q(f4}bJB$zoTk$fa1(G%QemPM+q6E$gbPwO`W=!Yd zCZsXDL;A4i-RQ&8(nAEgHZdO!-y8teEYfK)A-}RD@ty(vVj!zcQ`g>X#fz;nx}e=-e;9j1^DAasiI%8} zuEX8|x$u~6_d&LJ|H`1yie`c=)(z*aGN4s9DdFwO4sT|@K}mn5#zX$loy6Sea6YiyoOwIx z{YPYl9*@U6m+TWS*!jtXd1Gm!$A%54aR+z<1XgDiUW-&m1FQ2GSe+COQW&=*(1a*LlsM-i#;aQD~v7pA7N%d`D zNPvW&eJ%V_WbE?nLhyZ;v^3>Yviie~==_AUz2tFq)k$*?^4{!xbQo!l;zN) zl62(=ubF_KrX1EYQjK9bBJxQBN{?K1QUIYaEO$PyQoMg`%^Lmk!xmHFoBj1uLysr( z`n+4=O(dU2`HyAMN0eDmz7{x_jqP=jaq^bC@Vnu_eTx!Y%Lk=%rmMQzN zqL(J-)B7l&*31qkl?shu19Lh%7LUepp0o4uaipaZ&sNe*iEah#-o3C<63oFV(KEZe z)DOn)tu8ERltVs5sZSkOwf`K7wSQ9=y7zrUL|82!)E2TEq}L?JvO*v_rI0FFC?~qo zYIgW+b&<$@Q4>jz=>5F3uqEhrG#CXcF1j>Thau2QMz`Z=oSqHU`=l9wMMdd!6(xav zP;v^4?l^SBiV_4y^i2*5UyOZTrd(c!M!OEV^p&wY8V;xVxN5!D>1B6f^rfd0>`QOi zle-$^u7HJPV8+(^f)fP9^5wXcOYDMk6d|Fih$f$uUMQ5=BalA3D;m1xZ?>|&G?HoD zS$8VHZ{_0nBibjIFFr>r(vSZ}mtJ`g@3coQgozo_&6{y0PybN5^vhn$<{A2^$;f? zQY<(OVt%~XQeqE(64I(@^2ieS`s-j#RpMR&A&!X=TZnJbHoZ#No=XutoDWn~?alYjs z3Jde1KFt$Jw8+b?#K?Tp#JzHx{(!aPb8gJ|Bar$e9!7)b35xm1(-JT6-(4Xy$9l4d zKM6qZG++pykHm)a@bRp37ak5wy?Z%Q$p9_quENN zbs%BMmjiy2hmj^kw+6eSJ{30T5+8|8~b_X4#TVCiSk`@*qW*11Sx_n3mt(J9RSF>4z z=f{gmj|KF0PBt_954m0}WR-siTHUP%RBYF#% z`x`CMkaw6U&T?yT&On>;A-Yd5_C>zDht2Q1nm_Zi2h3&hocGKS-{<2tgp z3PqQS)Y~Wvw47NL)(z`Z6SY^AzbKK`%Dz>sE~s6Cmb>CJt5hcq#)iKVuZ|97JvjiR=hSu{F0lKb_6 z@ND(V&@#%Nv7kk*ez}HyzzbpQp=S7dW4dt)|Lozd3rIWWwageJ$5?6!)3`Lr;zj|E zPANe1bF(F0!UNUorlzoE2= z&acFdHJX`fla0>^vA37hS2;SI*^=^B53<0oM)Xcsp>PKt{aZWZ@2O6I8~Oal{_fAl zrbwrd*6wBS15j4ohFf_?VDjMgt&uWwfgE=v;bJUbUbseVxB4vgRI<}d;HDjDxl(rbX_kC!jLeGkU%c9<7(5>xQWUSz1< z_m1mpSUYmEq{R4;hVCLg+uLW`%w~Y;TxGE%QGNOfWS_#$!cDt`Sjzn`fQ^e_=$SCj z{?wGhfrd5T688BK{o`**Q~T3(Q&&zZmw z>#`oc!;QEu=r}zm3OzNME30gGtD+WvFI^LGNlzN7A+1;)X&li+Xh^`W3bEO7*t3eH zj?|SOY#zR^q`a}jBy>5Zs8g^)AKh?-Bg0|CE51DuuK@AK8|OprINL+wo4dp1JPf?Y zQYHuWywm3;p0!SaneRGT@oSs;YQ;&pHQ(@r?wk>WT~ZylCWdLZQ4$0>k8|vj-bYP(NI;hgLGo#3jj5u{CWr-3A^CW zU=1|EC07T4EjLzMvbXeOp`l5Z*i!xFZjngjG1$gbt`8!-Z1o5H>lIsK9iK0!Y?!;; z8|P~TZ;Y~o69j7s#a@(rPljERYHey!CFoDFt}&i4L_VS1v87_$6sOK!hu$lJbzduX z%#j;>@Q=GL{%BfC0V4o#Ld-gLtowS`l_V&du!^ES_Z&wM0J_8C%$ z^IRONJ8yt5zqU^8#LHqbWfK{UiGY-{(3}okqzQI0FF~q>c-4WaBC=41E1AMv=xroq zygW=AaVlK@QLiOFmgRx-QkQ#+8#L^{b$l*L!h@w^Ln1*Mi{nu6&yDzoLINZ8Mmh#o z?qTzp@ht1hH_xowyuQupYi57>CsD45JS--6L0Mhfg2L=V zcOyH;^4$-B?>CJ?7TF*Q*Trif`nC!~qZC2Wn01K&oAYE1mYI2~De2&hv%vwln~G%` ztyQIK``;AMQr<~lo6Yz_5u8!4zKaH>Y$Rb2pYNZXT9Mg9PDnRs48+U~@!5(m7_>-g zu}CVHu)m1Q1~RK=%JjzDrVe%+kS56KwByw1^CJ>fbwuGJXJj_1S=F0;0xlG9fC+T> z1;QPvoq@F<1M4^Ke39DHg%91B#@Dp@nh{ZNf;2yWkFUV)l*@qVZi&y7rp!5P!wynlyIZ9=Pe2-)$TCh|d^W1~ z`D~}*5wQhvvGfKO4Vtba!{c0N7(M4p%$ETRyHhFZo94BtFpX6m46b9?AL_5!%5u(C z;R^JJ`vnf7`>=DkfFX*4J+nd>jN&ksy}nyBsj=|A>2`m^TO<*y=iTi}dwG>=%BL&m zBSNUJF)$!kNmTVkCqauw=*ZO{PP@Xh6OxwFgsVQY(H0{ zFHYWu>M}qB$cP?pc(wRk2z9qG7L2@Y^d>EDE!e!qZV7HLd0$1dKk36E^J~q{_VVdE zwxiLdqX{35$$UuBQAXa=1iLBij-ril=40Y<=`Bz(EHS4eD_Sg#=EsNT96A-uU;NP| zw`c*wvTxaX-&~fnKri{g+P6!uIV%uIZNMUZI7xi&%XtS-Yn-A*iLh()8b4%EgaFhntyLa3imwN3kU2O1t7Px&TE4t^qeNAjgH^*5jinjLqA%UX z0)DsXx^0^oyTI@4yhg2rlbG_NlF^5!uW#F)=Q(j)yJ9uycFqAXE$DXMt^nQ6UqQE1 zZ(x1u=V&jpPX75Rv5V{MOT1N_^sZB?^-FTA9Jj@6yf<^-(8q|)c2%@I!f-W@&B_Ld zLJ`Ol5lzGXYNI({>a#-50@xtsF)RE=*7@FC*_Uqg$TbCc1VAf+XVCw>3Lfta` zrvnws8)(NAjrbp3E|!ZvIaae;Tk}H?tMTNYeU9nV-dKFgZ2#FS=NsgjLAsFuN5PS1!-CI1VSrob{jD(nV(e9d$nfEed8A#Fc8N9xN9H-zQ$W8tk`4OJ zF(jjWVK&(O9#ZYEQ*X6os<2C23e)zkh9&tA{vsq%Zd#_vzPN`xM(HJh} zBw2xOTeU;%lv8}crW!n7QT=dp=F39b=t-5NhWGPqCdwoXD#xad{a^T&BBYI-M;oRC z=Qs1_3U#Cf2Lc**S;IGJh>wN;UFm~xuY==;Uv*SvP8jS@9`)Bp`O`nKF9Dhsz-VP@ zr*c)dfQqZuUT$xTpQRD64zCn)&JR}=JawWvCKq*UYY<^`qHuTqc0J#-7vRMxN1@TM ztJox@Sd;_a#;5V1n1oQFU8RMoSNCF}jp)H(5#@x=9gSHfDQ|V8MLpM*H;}Sq6k)!2 z5$QdqfL#TkCP=kn9dVLlbL6If{vfq*Y}v|ZFXjI?SVnyXWj{c->axL#!HC~JlR;bkw@m+ zwfbS-ZQWq35MXp|tJtqrPxrKR$7~duB^H@WZ%x||P6bzj#3vS%Hp|azQ>cob_RX{c zYVO?b2jx{WkN7^gw7=WFilf-R>6Oq4=QRQl#T5R5dtTZYcpzg?Gb#I`#My_3o?o90 zgFfHxlIN`%s&m%l_UEOqO7@DbzkC`e6M;VXCp5Z$RMG7F>wZY%o3>RIs!ObLKnMX( zA!`RgvLRjPH&pMG2;V*d#uvppB)UCMADk>;p;oT3Jh0?Bm=FB*e9XPJnwI+BMwMXYbKs20;cICCpBWu zricA)$X7F%o@Py1FjGV&R|3frLQcV9)>VPccga; zXey^z+9@k8Qy$qoVtW_kJPowodOv*_%~V=Gxy^0Ty5HnNzugr@Ak&G+^Tp~UhAm_? zTq?F4z%DK?KdG7ikmgm^x_GBfJ*|_vA{Ek?YIjK~^-7Vigdg^_#n3$19SLBR+#wF< z2j+Q+X0EtP?rR!Tb_l0^M2(ya6;@WEw)nlT*eNr7P!e~cG6-z7YUwi|PsW~RJteDv zhC%*^@2sbN4^R31h4n;qmA?FNXqxr32HhcPmN%p=K7L4g6*@xh&=RRMj1%OMcNDo{ zqSmozc$?72q318wx3&(%JKV_K+|^{)TQ%P!0`rSuvmdHnZ_7p|>pCLu02ayj#t2|i zdQm&-tU+UB%q+G1?)Y?L*TA>d2^SIC06WwOJ3MbdJnybeT{4H0Ww|- zrMIz~0~HGeuUkCJkosogWUtTdcPZ(A0q)=E_}{put5jvOST|y`|34~zp&cyVPWnKR z!<_<^%~T4Yn{9*fVyM!hqtK%0+RF#kMPrIpj+OHo06}U(u===?t;XiDG4mg-c+>a(cMRKaVpDf}A8)3X?hXhhdLnCvSOfO19x zD1vT;pd`B+ux1iH=?$|^Bh`@LU&W-PN2lC%TMO6ay?i}0K=E^L!)*_o+4iX3y4%O9 zZp`?WU1b!5|IRMl3qv52LcX&LQ^Z!*ZGm6DvkRlM0!?KAyAWqQ1S^l>=@fV=`>*7} zdYK-FNqUEOG^7~Ce_2zsnH-^~`UPtVR-!sdcJIfoc8aPWki*Vo^9 zXUQ&qA@c=a0HD%+;x!1XVm?+*nq8sboxV2jg$K*WU1nBmyeVU&TJiH6B}FQQg|yqB zcUd-M9)H7&*a(3Znmk!N7pWwzZjl@nn;;)t@SsvWYj?SJZ_Dx)Lg8vkevD!7)3*HG zN8+wnHmX@RU0F0^)T6fXU)jr4*pJM`i>*L@cpc*Ok|Wp!M*LYkCTv4oohd=zImId# z`Bk&0Mqt|`(V=PrJM*cb%Plj;9VFYQ+mh3fy_6s^CrwB8xj3FK4PHi(E~$gKuY_{H zp>(EwLzEYSRlN8&)R(WW;1FcT;U;I2;W#QXryoFiXV|d6Wb1FJH(&~`${JXH;-)qw z1LQZDheoz!{eWhT!U&b|5@jZG`7=%M36A;=b!8=BwO#^@fXmRgU_(&Kk5pkK7r^k` z&nx_S4}Y%1pF8DewD}ni|Lshn-lTC}um#RQAfSzZ3>;xyaFQ5HV&V#dCCl9n0M?v0 zJMAGgGAIFWZ1uF=&0ah(oE44MQyZDuE7ywqdHDQ1!2jbEW0cStg(#GQm30rU7i&n4 z!$$=ZqTIuF?m}}0M)^xBHWiU;%W&=NC=e%vWXuj*s=YfKB>O|XC@J8Sa$ZpcyNsf6 zd1N{*2BSnf)!G~c6u?aceeqAdb2#DWgI<)!IusWt&ph(Nq<5DI1u5F>`7=-YnQQ(R zvf)Wb(GyT*)o_c5E!Y9=B*$=W@=_le&ycqjx zIZz^feH}B}T!i{R?7e#+lzY23KIK%Qaf(8wRMe7?Q)$dpDp}H~)=DU|q;fV1MUA;d zPDv_75kn`bG|91&!8oiA8buDH%&90$W*o-N%-p?S>wSLje)qF_cB{SjyZ7_{UVl_% z+=uIXeXrB^x;`Hq_}xFp-HzW1yHS7640e1oF#yBtf6fg4oEU%^>OT))ej_mehmzAz z_(yj2&m}`_wwMDH?+aAByxNk|h+lx4Pqvrcb=%od~7G#&B(T?EgxvviQ-6r%_Ig(PIQi^!9wR7dMF=7L(f056$s_1DJoBRexiDWu>gO9iwF&SFQ{+dCh=F-1IZit5~o7G zi(c})(){_1v{#tN_G|Od5C5ENOp|Dq(f^(p85AO>X-WSzdG|Ns%{(+1k%$GYkG1%J z4>NLf_CHBB|Lx(o8agK*Q{KU#!Nwhf3>xLlSCpm?@;ca_TihbG)XrD92gVg`kM#a7`( zN)1q1W}OVbK}2BbFzm|nMaqPVvNmb*DL2fa%grD6&ObPD&_eU00eTG+^bRO50o({C z7pkSHd5ako#kVD>9BX^$BXrZi;-A9E}p|) z03U1Y!L&+!LH$YX^JGTa-93!xf_}RQ;iFhF>)`H$$b-A$)Rh*UowZiqU_H1w&sI<=Ivq06tH^ z%#y0#Ca(uQ%!wYoBjEAr7`1Xy`b4 z^bYBM@V&6H$_w+4ELOoM-d3ca#Tk*;!r@jUA|;;oc~GYlG#_Vge4|))XM-PU%>CK0 zX|R+pktA=&R&H_jIoSXj@{OeCup{W88|+?_j!*#L{TJV4b)F#El;&3So6VVC}dd3J{V(#AobLc9z3Wo^iRNDpb70w$rW z_EWWo##UgXIqUAy zy-(E}mlfmo+fjC;czjvkV46r$uT+PT$NQ5|kuN+d9!df~Q`AMbsD*p=ymSNxzg7)n zjK|+u@Xskm7Nsqe9tEVOFB-snrEfh63|b12GG6q0e?;d^1Y51!NsVdFQ$p3W%*S~{Nz$%EM*Du7KBfZ^E zoAwGjLEjfBG*GKv?@E|`Ww-WrUxVvbh#EksDrpj^%5LC&*(|-9>NS~;fslXzJ4l^_ z3!~#+$=8)+M;#d6l)LLUbNQI9N(=JPTmOT7!~d{lcw$@xO8hC32q^^n^N0(jM4(9z z$iK8A=KK6IRk_h-Tuf4SUG?miRk`nP#t|e~b7y;5m94D`?!8UO#~6nN`SneeiA zbU=^vbP3-Bs&#+@(7HLA0y#vTmPFLXmzD;K?5iH|dbvVwyrQ*X;Ie zFn`Q(uv(pCckCP$*L*FXOG{#x`bsq*WKKLdT_?hiBs*aV&$xz|rai8WQ);6a2e|eh zzZK8B*WEqgbvVJfJBiHop9Q$-JU7T5^+v?{A4C;OaFG@KOsUQ;KB3<13=1Rh2EDS5 zHTcAyMbtW~>H*l82Ms!>>FoR9jJp|Ob)5-j=EOeYs61sf%lq`|hm6QW{rLT6seovU zFc=7Y=X!7srI9GUE4war6X`H=jf8gwzM^Jg-S{S-Rz+AIqWk5Z@VvrJaQ|YoMBpRP zN#BI$ZQbVDpe5S89&_`O$V>okvEria6hhSmagRYo9=iNnW5dG)){6#wsqIM!7+MXu z6(oR;1u&auoj|23!-pihD~e+$zc^)J*e|ffX-12-^f#)A@xZ8A9(yM7yyWrQ(o_YMt3=bSTK z{c_QWpIko^UP+Q_$?*yXAz?=?U6Fq9sm``GFwPMu`c24WI4@lPG3caUezvRPZ>DEn zyMzYHyEa?xxU%Y00YKK=m3Fq`RdDKU@Ri*86a zh%QwZD%N|)Abs?d-Rd>Nc|KI2XT-Xb3)d^{k^u8i>lYyz>IAL+_4v*c z3|*4cbcl7dpY0&D$u88aSYN$z<&Qw~e@#5ppDBO??G(QKJDNtDShkdc&ODOSX=>TSdAMcBcZTMgiZ3)graNjpU z(>6V9UOn#EMfoS2PMdF`90L2Gn9>RGD4C7yc;L95%{m9_Q@QjcqV685Iy~gEOUzV? z46=;A?pm%Hb@<9lZPxku*{_m3_b=0ERw+hBvIQT7zT(H=I_qH!1F9enjz}WOQSePJ zq!L-Oy%>H3qGUe$j9~1x^+IjWyP=O+{#?a&AKdRM4;U*Mf{j~WS}@Er@5!#=g9+dz zggc4dySU?k8CN_H=HG=KYsPccTB{Ao`{8_!ID31C&en|iW9(u;h21lKH!ZzA=v=cs?q(3@kC4n)a}5xttWN$HTIb5Vj4^>`AW%)I#yxv z;ogb_n!Y>IAT zpT?H}N2kYYYDAx!ih637TV1tzHGmXhytf5SN~f{=ZZe_@t$S`3bT`{}ku3WB zg_}Ipm7(Pg_1DK6-ET}Jif4*&G$C6Ix~*eVDK&O(NoBzfHNeu1enn|_!OO-5__%BB zC7yxhBcAEV4Tl{2Lo?@Jds$(t5!QEj#%H>4;}C3=IOr<^q;c_F`e}M8rf#7bPqCQq zY=5Y3x9H-=K|h<&fXP&PmsJ&CVxxcM%Z#|^*~~||1WTD)dN1*TPVyK8rtgY@6$%v3 zcvH3cZh(OjtWyA&Gi%Lg#06v8Wm(<(Dze^D#|-s9516YpXdir3nND37g9edutPWIb zh4;Y&E|+a)ssK?m4^jIJsadD#x)0cBRGhh{w3`@S|Zv92nfn%Y*Jv{X4f zHMQMryw+;Qn<-N55~b8&P)R1u{bXk>)!P9!D$hDCm5jN?4xreJl$r$k{Q!5Rd!;EO zV0UW|!?ZW2_bZB)FzZmt@7Sh~&J7;$U16B`i!7JUVL@l`iV(?U-!7N-s&zbp?u%Nx zkn6NP0hq3yg-Az>YSm2MbN3CgE0DG&nhRU%9ffOZ>)(6BQtB;aVy)ZqG|p|$913g1lW;rN4j76j0ESYZ42fn7|uwM`DeJ_${-dY z#!@>Wrhys{%upRQ3AYd+DPjrv?>_4`W_bld z>qlV$`aQ5g%ml#l$d}3PMi>dVC!YxArS9SoQe5Br7dR4(0D>6X#X_>FSlN3d%C$!i z%UIau^+!e-=5`VKDyH%io04wTaA#3f;=$s#eGI z^+M-6-JcVi>sMb6eu%w-2e`@L$_jm=_6qRNY7s4wqJlhwG{V!l1Yn6vkbD4|Be)%T zx|hY?QJOUi#|#Ooy4uZd*iU(_L;XNC`DN+l63LK@>=r(Nga(_*1E+^HU>;JEY5s0> zVKsIGiI;Z9&MTWn^v`I%>342hMD(JKdGDe$-*xwIY!5S=6c}4P5ACa)@fvAk50{xu zIl%)2*RQBIByG2BaKT^b2bl?&aviBYL1K?EG5Wr5%h1XLbfxittPtu6vCr|9U#tiC z!9XdP3*zbL&7@_+^tVo0)Teo>L-5)soU|Ht7cfe*Q#ot}sVZ#3B`JIwr(&!I*n`Yj z@KLr)g$~p?SrVPMLFpnWb-bh5Z&wUEi{E!!ZkUNE1LT=M*pDLt2w({KDKp^?A(6cR z3*J?}5v*Q|G#p+BINT?pL}b2nFARl=Ag9*aw`1DHZ;MR(GJkzC?0C6+Wcy0%?!pHa zD{acvHygSAj>6bV*SAIxQZT{|XjV2d$C7^lObGW0mWk|IJt~fh7B&`yd2=NM%`SI$ z{|bZ1)B0V{D_l2!*o@?X2zu}S$r2u>fd(5jG0fnliGvlO{-m(H;z8S}CqA)SvjeNl zxiD^P8OSQjIH{=R?vPf>NJ&?r2R2`pY@4|s`|)=r@a&~SX}H-_Q83{v$|p@9c@90W zZNPM8e39^?bCY=oM8*sV-n6JgaIh_Cv0AqS$u=GT<rPXdHow2=uTWZ zWgZOin*{z6Evc#~{#Aa#C&WsG6kHo{@ii=}DS1L~3GS7wRW>rJe;?Y~9)klKjz7Tc z3KKg4`FSHPSvrGkp#uY_T9VGeCly(n4XWZyPNa;Lz9#L~uB=482wkHj3vYBsFCBKG zJtx7&70KXrStVTB;0v${Z)C;R@142KK|#@;0gsM^p4J^p5FN!L#ivKMq}q?l$!5+9 znU5~{;N08IVCF;>IIAgjVT4D}4MWNPcaUc4L$^3Y532JA1sJgZw5~{ZaDEkOO$Ile zp)`g0sOZ{upQ_V~G@`n`+s06LA(56_Oe~-o%WgpX=`234Z%|YqHJ0T-oF1x*biRm| z5TR-(sR8_x#sJMud5zOSNt8`dSpn&PR+`H4Lck9I#fSy(X&5@oE0RTPW zcIrubSwn*?F&XP0B});l8zcl(I75+STgALZHoQHX>iqjqjLVhw`{zv-3zfhuZzk9% z0yLsN)K$VsiMh^Q_Jn^GYWYzfn@AZ(`524kUqZ*;aJU1flg;RL_PqakLW z9G`?U zfEheOeOeL@-A>UBaI;H{A0s4IFDh>h@p(!eq|-+ZlwUektT$iR=uG{FS58VX=oD=9 z9i$5qZY9Di#z82NcphO<@Nk*%1ivGtXml;sRAgDtX4&0L?KK^=>|?52j@3)u%^H`X ze;+BISk2kc=Q1f;kI8_98=#4;X;Q6q$ctl0FWK4g8=z^fa`eBWSzkf_6O0u=B`0bi zVEu-#5IPB;MWE`lW8gSS5^(w(WVQ5_Am}Gecw~zG0W_QOZRoRY$`ohQ-xHGq+@Noe zn#0$HY-B4{su761NKD3$t$jda4Sj>i1WdWrK8A)9&ElXhFgS$XX}YBf|7Qd%dj>KW zJkQ0oWMEp4G3b-${ojhrq-r!|*NWS~ny0}a4g?Lj@-0f`P%R4@KFd}B|9!X>8g0JY z(f=#z8zc|lRsK1t&PRwW2k~)upJWGF9Y84$iJTeqAP`EOk>W!O`p-A%8}aZ~k@Uh1 zh49fgEAH=BwGXk%N783i*zjLvE{&SGoSU$`F*>XcdH^-jQ`mCV##0oFv8l*wfyhY0 z>qz9bmZ<_F0~I?;B4>ciTvYKoFKewcQ+|AD6BPQ`zxvt!gJtRDVRAfv#lZOMVf7Cb;&#_4Ha2BzZFz%&S%M}0o@a>vODh@{LSleQBP_X*%)@K ztSbgeVK)k#!!fCbgZPH9p|8Gq7msij8^OWo4)oZG#E%M!%JXUaoNnxm`k63vYk22x5^jU$!Zh(BSs^kXFzre=?hED%#~Ye$K#|@6 z^)%7-(SwoFXM&f-dlwYMymKaDXU;$LVY5XR$@Y`k?5QXD0Iov@Uo3?DT}+zT8hEZ1 zd=nHS4OVs_#_;e~hD%|kFV#;LMA_gDY@B~c>BY;|{i~ENVJ@k76-o|Kz)8-K09XzAyCU@9W?mZ0(RnJQ z^e#$?lz6oyBnKY%?%-4_**ntd{IaG!k3;r*|ei}-U)Fke2`B%Lshain<=%0Ul)<> zJ7~J?15V&LuU$DM)kX~Pt4^NLOf%xitz7RS7ixtI-y2mQgHDG0(4Bx>B~Ic&wtgzR zKryFuQ5B_@LcS~ML1Z=$eUfZ{7sU1MyoIZlha6rN?8D+4Fv6hh%OOVIRh|@<~N&X^vq}q-iFz z>hy{Y!}k^F=^xd#Y`~$byd&BS$QYzkv8EuCJB<%A0Z8_EZJZ(OQ;(Z1#Ge{7n?s)6 zs@)tC;j+%D>TNGwvbl}Dzg&B~^3fC34-){0Wi3y`LCbJ$jQuXYj#QJucdUnCQ@1({ zy!=%v52Ips5_DN84s2{2?S3(E>8fePw6QuwGbkTJl zUaEbUi5XNI5_gG4q@@3QN=6UgBk6eFC*gaBm#G+Agwo!Fw z9#}ojO`?!MO~scJ1iq40(oon3JaMNV5DBu#<`M6i7~a!;L$(-NWW= zWZMXxEwXkfl%hg0>7j@9ZPud<&I8k>EQ_@!vX+3lJrCWfEcVXaCgj^B=YOi6zwZbF zJ^U;_9xXdlr%2Ucrj>LDD{17S*3#5vG&<)TTaRKzd4?(3k}WLYZ%^maQrQp1$=A)| z%RE1^_zrEPMHQ{ws~1|F%x4DUdLq*~3V$r_$E3ktf!Q_h)gGXGsSXwNH) z6-fui`u*fS5m*wgSrQIUd4|`jR*JOq)Y})r;#5v!iDmzUYx~$b(M@Z|N03 zKXHPA%JF{TkxUP}O1m;&qZZWsj@t@A{vgkSZ%W8W15t&%M6y-7zm=>i8s`eWxy}hDeD2DXPibqdNB_ZdJDBMn1Am@^@pmCXnO72sa=(2x= zkMjS~5C22t_P_nWtsda7`%3d)@Qo$a03f3+WqTgFVtF3=IlXH@3@ZGwdS50uOyiM~K;OpL=Q6ZLB&~r}kn$yDWza)xj$udH(^LDF#Dt~zVV@lw&L6IR0?!i; zh&gbvkjXQy1BKw;MB#49M$wiyS!#hlTj^CVYTuSguF0RQIXplXwJQSM67cw)qf=wmJtzmbA^8)5Sy?A^~_ zd{bUYypCX*?~z_iA)Rv-^S}(8!h_6q@P)Tz9oe*f%yc`?nJGYPM#k;jUsTxtaI=cW zyBlk}Nospc^Uk7<7*_1Pa$t4ya-}zaH@osL-~J~Y7m;a_eUXmHoJXKvqreGHlqir7 zz+1>h)eCJ5mVmNP^D05`wJIH)ulS;lwt95_NAq6H(q=7-D7~aBy+$bXvOmsCTV?kU zTcrEAl3)x7Y8~9cA*u&Z(H;k3Um=4l&OA)Ez12Gl&+~cW`m#E*@;!d?x-B)(XVK$f zZo;gm4qU<@Q*san^c%$hrj`b9l~j%Lg^u-J$_Wf0G?k7&~+-*0RzFcYd{wa+DUZl5qBMghR5sJTH)_E z2Ag@6>}am7tXSO~yxeAT|AZQ27XF~dg6)SAg3(Kmfq_ zS$HidfC?Mw)Z^p&w!m)-K|M7Mt1JrK_7-XOj?y-gY%UdV@xO1B#p~OZeb2%{Ofz|& ztv>(65Nr%k59z$jT4E~bW5JV1EKob#lFozDh+6oTv1F`%diN(g?KJgM8*Z@}%g+WT z3>OJ(_io1mb2R@0!Man4HSaHa6GBL;McNIJ!yZ=K!qMDysd7%O zL1SiG(7|WEtG!0->FK>!if`{7&D3{j@<2^Gh#!E3ijwY}GSXnVaG<)}H7@S#z{+vi z$^3n~Z{QT}`&;=D*ZeEay??d1vb^F^?t&2c49!xFsz1f5Gj)d$+Rs&r;o+$Vdex2l9j zlUCo2Rs`Ia4!qtDsRA$9d0XI%(1`e}9`80+GCnwmDN-#iGuCYijy%0#<+T`WHZKjR z95M%(T!r}}daP6(d_jN{g#oQxOzc<*Ex>CYyhQdO)4=fUwYX;q%7sJ4rlkhk#_|2j znD~*F1}j`T_zfknm`9}k@N3Z2wpK>R`=ljT>j*mYFf=+h25b9`G#s1>&_6E3mki0y zPo*-SvwC9epMMK+8N%YHsOYy62Sotd_emXbGBTDhp7v3+L53jQj4E2og=!^HdqSj!h{{Kt$kZNl`ob&DUUSr+lo$J zf0@G>=>(WX)Xr`(4)&Fxk(UMwWf|3)aN6!RES{V37Ei<`>j4(d6T>F&}f%%hE0Dbb@eu~k5>2(~~RgZ{9i4pIkwc!|>09mKAzgvafz`)sMv*4&l9#V&tnl#^t* zxVzPQ(CQx{E`QJe|Ft+_sufyE8+xu^y&8JLWy`jf_M;?6zO@|x`~R7IgYQ5|s_BgE zXq5n5>@E!<6}eJ0@b32a*=XTRaUUqbJg3w_Q^%^4X`U@g-M{>!u8x0k*#DfRm#ORu zK;_y%oEyZ2bWQ<;1{9T@m_`G2A#gzPI9*i@j1C~Jb;6h2zfu-|ZY7!&Ry98Y_2kr^ z7bkR4`M__0KT5!ozj30>hB#-zS;v(uJoh4=(@&gqGOIO{sj=mpkjo^vf^vHy^m!>=9#jbYzoK3?gZa1T7-58&Y-uJZ6PX1_5UyND7C0bt zZ+=DHxG;rfR=cp^E6UOe1u>RGwQcm#3&dC=yrlFis`pSDd=L%WWg-`xh2UQDN2$`6 zEi@rcKbao&1X)hqeZs=yJ00!Xw877DAJHyh61-(#ck;g1Gj+gNd%f zTq=ol(CFp|;)Wwv&iQ3@oB!s3JSkrIN$xdh^8I`7=lCtn1J%KAc)ve8KY)qyE${aY z=Lcq+{^b3@<9y3QqyFroryufP!ifJeNge@HAdoj2Ud!gu>+qU@H3a6s|#%*kdoeDZVyB$=kG|YvgPj1A!o|$;~1v`Eg3k1Oz@N;F4>r6b^tMP+dtA^}< zy=0-%eVl3nI6~;tf&O&L^zYB>l*~k#Vl|LI<{&20B_dl;F4jZdV-&25bn02E;&k3Z z16E_tT5DzH6#x9nSR0%{N>IAVNve%$0oB}R$!MI|0(R%IPlCP{fg?}T;QrS0(#8;Xnu+Zy^&(ise$-{B$LU>zeuz8ty&M}_h2aK;{Vyo z)PJj-t*eK>qMpiBQFhZh`qv7H-&?L}9sQn!epJrWI{Kp$``!vn>*)6+^rI4=*3lo8 z*!NaoT1USpp&ym_w2uC$#J;xz(>nS+3H_+Vr*-s4CHB1)nAXwnN$5uafN_<*Je^g@MTY+gE z{how=RN~V*`lAy2-U>|X==UV_qY|Ii(I1uA_f}w9N53bbAC>sDj{c~`zPAF?I{G~c z{iwvJb@WFi_PrID*3s`t=tm_!t)o9GvG1+Gw2ppHLO&|;X&wDhiG6Pcrgijt68cez zPwVK9O6+?pFs-BClhBV!d|F3;RAS#-foUE6o`il>;?p|%qZ0ex3QX(h9}*%1kQap_ z07{TRX(JXFFjAds=_TWX5TB~u4aaf66o;M=?W!Ay3?{1@cE7wf+4uXyD>G{>LPrR* z7q9vKSspqY@+HEnzM`aBvE3YhImBVAh!FHRwpyNqjd(My2r9 zZ9~ypR(~&EdH<`!5$+X!#k5Nyzw8ZLdEg|AzV$2WH@Y5N!Xpl@6T0!t(yY72T*B%x zv!%9$fgYDy<(9pFH@SCpvn3zS>AEZd=-;ew(oIPL+T|4D(_*NkNtQ7*8~V(fgH-*M#a8QtpX6?o~bU1H5iG68@u9`A|4vHna3Heo9Uz`3!v0TSaww?<|n zy+p>W$IR$A_(|lLQgjdNb|ZkO7FBp{F^x<$+V>`u8 zI==-mb(hMwSDV8g%qHE&9PxXzTHBt*W&3tcwgxo`w85aDBnf)`B}xwS3CzNUbL5`T zY(;4TYYC2Q4xhg%HGoe_Hb!C?$jWxs+iqlL5B^ zSSmz4;~bvRC|x0=;SWG*J&SN^@M4K`q+FxN+oze`L}y`Is+H_#4ogV)8!qZQH-WF_ zrs>C6HiWZ(j5txztPafz6i3SP>7|K-5{W~kPLswb0ZCQ}K>wiR;4-rZQ8kx$hmlt1 zZcTq4q=-5<8^yQ&to6@J*0cOCPJ{jzeXa_R%<=h(THXtP1-Kpu@D0>SzejnB|I-lt zE9kkW&tvBNjfa4C70)Tamo=r}y$PK}p0U7zYo_9lGkjZRSIzb6?2UJ}niDG@(X*%Z)TlfpLYqCi^0w)4{a6{A=i%uO=&c6j8 zs~tFETK&S;{NW1+pD1sI(w>N-8gqvFr)4ALu3NOCsujXx;;t!zE6xR|)bSMFe~9&D zCw!hqQi&uqK2D6Oit;JkoAYbqmZ4ZdpYjl1pviGwo*2HvamCr?@u*OuFetN; zbOv9lG^ocn((zvbPGZE$Ff-;f1@tqGkh9BLG%;m)jxL&g3N&-gcLowN@{oog8a+-VylQU2oDIW=Mx-znd#T zaxccX)WRk0C&EuFvi+3GDNRI8d?4^@t7uY9oo(I{_kOklWif2aJ0?DsTooadzB2B} zctKFY_{N?fmRw25C-n+4pRHy^6*r)>3={bnz`vy<)v^_D0TwioY$A(+xFWo6l_LP# zbdaD8mXp*6Z0G=?oOQf@(rq$L;6!=-VZs2K{NyJ$1|S{*CZT+r>>gk?!K5Ce&!bpF zwFJsyvfpc3l`-xL=9JWZ;cz!=pL3}ER}@LHZ`b3OH5*_5wrTFFx$92DVO+L=2=v1M zh%go(fSw;|D|VG#FC)a@<)k`dPw`tTZNL`tW+FB+NR`>ycRDcnizuwOwlDhZtRniy z(gzJzHM;n6oxu@sk@MgMY$CTbiM!!2@U4xA&`6u}X)^vP^{f=nA6moe^l%OfTJ%z< zqhbqh!F^P$J2%6ma&ygaTBg;T+A+rjsguYAQ3jWhZvX_wI^rQ(zFtnnth z3dYCEk=9+Mv4JOK<_?NCRoYvetzLwxID zcH6KI%As5$4lg|iy};ZD^eXi3iUxLh;^69))vMsgE>I&CJ;ok1^>J;p_FEO9`g5z{ zKD=w?-l#6~;tI*8Tf5e_9=iDa%|sXXTFQ`6uaKFeG+Yes zt;lxJ{(7X6c>Y`bethRH-j+h)?&f<14}~4cR>h%(??0K?i*n(b5TlV(tx@Ca_eRz2 z$>KLB(XC-!< z@1w`r769f}Tg<@io@(jyyJ zEgepLMhZE2$)~2qUqjDNvU2=>2wv{i*o>Co8|kH)0u*^S z%M0)b+cJs+ymaFjk3&8Y(!)M#Ls_{fYwk6hZ>;Jtc<#jyf_Qd5u>~l>VYSp4eN~e&xo=__4P+FInV{MH{qS3#it` z)Muz!fF5G`DD5JhbFas!9SSmof5Hq3z;#Y_kT=}*$Iq2I?I#C|ep;v8NQ9kDgDLN= zbR$|~8djP^_18XxX!cViCClM{O18l}O z)$w{0L7WZ$#A*we8N9KFJvdTJ`si@jurim$i4wU0u;N>bPh!g$fXa6zke&wwn;Zk6 z5~nbFRi?`lYXR^UULl-#I+1&{kZf(bu3oqNdco)M!%y35wTG4lmcO21o1?CKfd5?G z>p4oXNvi#XlUPfDm!+lR6roz+MGg$bd1(qMWgL1ErqjzvNRN}Q3oP)AJY6U5;YB?| zMQL{^DxY`);h(KOUkDYww3s6c&qJ#MBLmQ>pW8uxW)ed$@MNvl4VWpwSx3U41YFg* z4w^g!s6mf>o0f=)oT+*;Y>G|cA zIfu6@@u^_97&b}g?Lub%%2(Yb23sxG1$q7W6+LevQ^%tqA&7jjE%lx&afUc`6||b^ zF`U0>qvKGOg!YcraC+RVs{onvf(Ampoe<{&U|Zir)kfxj?!kx(Vi0xsOn)=C9eCE@ zv8TPMw=e6?uzE-!;ky0X_c#RwyKjnnWwB`nFsX_e(DQX<0DyXsu@k(n&3P{qfUBA~ zCdn^7m+q*J)3%LPKBEK?OAUvFbQC38s#{e2{5-$^S&KYDa8+Dfh;58LR7&%tIQ zl31$^H!D(!dn=vu6{SwL>wtLoQZ{(T$>`#$%hpe>9NOvC8%7G1zy2x{Tf z_}tn6=%Wv@%NY59mTfb;EjOn3XAtIj03%%2oo}j3>$=*@&Q$;(yORTm)z?7E9y^7`Ok7x8i+fZmFu=H(Ui#F095@f$)CNC4+1}n}~ zfoxSChFnF|Ggt=@mgCZWti}1a`)%u3$|iolX8HGCIxD|k0bd5#62p4jlM{k_VgTuix+y|=&7!nb#mA- z{VQr^qO_O*8zu^Tg>GUH^Tsv+CSbBGrwY2+PgKBJ4Rjob;v;O@`pPPb)v{CGtN8ws zVA7q;A8Abg0KIU(e{%K9O@_arfuZ{Qmk~7lRlh&8dWq~Yos&Qn5{A0noJE)*41fJK?pbg_0<$z_7RX)q?#MZA&wVV~xKZ%vvS?+Whp^n6(gW8z`p39g+i3 ztv#K)OqNe}?OEE6)#0y8Q}*v!TK(*CTk!se#kty#u3p{y68HAQm8RA42EIAVGyKWy zZ%|*EA<9%CUfe3XgWN)|C?Aau* zInm)L+t#zKz5NX`@N5Bm7n$=~;()yO!UDhSL)Vms00A9ACwh!0P?krR)J*Xr#h2X( zNNm)hvh38gtI6gQ9><2bWic)mO_N?*uy;_SLx3MSwHiSE*ZE84An({^)LJw6mn`2{ zitS!>@^O-MY5U}mSV_7q$oJHQ*gcN{;A(kqR&zYByk_8e5GN((VT#HeGIG5=Q zu?`}PyQlIxc7olj(+{n}T(X;get$2hNHojzO2{fxp21KD$a*l~F-_s@TFgVXRAXEm z1$#@jkO@L&tkj7g7`st$?!?KvyhgI)eGaAn*GY-1n3s)RvC6~m}RNra?c;CUh*8{-yLF*%?Fc>M#nfi=xc4-P%B zweq4Yw=-%oK2J6phv3$w*<$WooGw}XRk(UkvheB#^dul}nAP+iUcv)`(Zv&4DAK