From 8ebc3b50d74ecfb87c8216eaeeb2ea29f592c1b6 Mon Sep 17 00:00:00 2001 From: Muhammad Sami Date: Mon, 29 Oct 2018 15:51:15 +0500 Subject: [PATCH 01/76] readme updated --- .../.gitignore | 13 - .../README.md | 37 -- .../pom.xml | 62 --- .../src/main/java/com/groupdocs/ui/Utils.java | 72 --- .../ui/servlet/AddAnnotationServlet.java | 37 -- .../ui/servlet/AnnotationServlet.java | 68 --- .../ui/servlet/DeleteAnnotationServlet.java | 27 - .../ui/servlet/DocumentInfoServlet.java | 30 - .../ui/servlet/DownloadAnnotatedServlet.java | 42 -- .../ui/servlet/ListAnnotationsServlet.java | 36 -- .../ui/servlet/PageCountServlet.java | 29 - .../ui/servlet/PageImageServlet.java | 52 -- .../groupdocs/ui/servlet/PageTextServlet.java | 40 -- .../groupdocs/ui/servlet/RepliesServlet.java | 49 -- .../groupdocs/ui/servlet/ReplyServlet.java | 48 -- .../src/main/resources/project.properties | 3 - .../src/main/webapp/app.config.js | 12 - .../main/webapp/app.controller.pageCanvas.js | 13 - .../src/main/webapp/app.controller.thread.js | 81 --- .../src/main/webapp/app.controller.tools.js | 37 -- .../main/webapp/app.directive.gdxAnnoPage.js | 513 ------------------ .../src/main/webapp/app.factory.annotation.js | 37 -- .../src/main/webapp/app.factory.replies.js | 24 - .../src/main/webapp/app.factory.reply.js | 26 - .../src/main/webapp/app.js | 85 --- .../src/main/webapp/index.html | 200 ------- .../src/main/webapp/loading_indicator.gif | Bin 35490 -> 0 bytes .../src/main/webapp/style.css | 36 -- .../storage/candy.pdf | Bin 396944 -> 0 bytes Showcase/README.md | 6 +- 30 files changed, 3 insertions(+), 1712 deletions(-) delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/.gitignore delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/README.md delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/pom.xml delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/Utils.java delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/AddAnnotationServlet.java delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/AnnotationServlet.java delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/DeleteAnnotationServlet.java delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/DocumentInfoServlet.java delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/DownloadAnnotatedServlet.java delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/ListAnnotationsServlet.java delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/PageCountServlet.java delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/PageImageServlet.java delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/PageTextServlet.java delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/RepliesServlet.java delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/ReplyServlet.java delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/resources/project.properties delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.config.js delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.controller.pageCanvas.js delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.controller.thread.js delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.controller.tools.js delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.directive.gdxAnnoPage.js delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.factory.annotation.js delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.factory.replies.js delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.factory.reply.js delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.js delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/index.html delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/loading_indicator.gif delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/style.css delete mode 100644 Showcase/GroupDocs.Annotation-for-Java-using-Servlets/storage/candy.pdf diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/.gitignore b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/.gitignore deleted file mode 100644 index 4b06665..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -/target/ -/.idea/ -*.iml - -.DS_Store -Thumbs.db - -/storage/[Tt]emp/ -/storage/GroupDocs.annotation*.xml -*.lic -/.settings/ -*.classpath -*.project diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/README.md b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/README.md deleted file mode 100644 index fef65b4..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# GroupDocs.Annotation for Java using Servlets - -This application allows user to view and annotate a document in a web browser. Users can view document pages in image form and draw annotations on it. The annotated file can be downloaded later. - -# Pre-requisites - -* Java Development Kit (JDK) 8 -* Maven 3 -* Any latest browsers (Firefox, Chrome, IE9 or greater, Safari etc. ) - -# How to Run Application - -It is assumed that maven is installed and configured in your system path. You can open the project in your favorite IDE like NetBeans, Eclipse, and IntelliJ IDEA. To run the project from command line, follow the given steps. - -1. Inside the project folder, run `mvn jetty:run` command. -3. Go to browser and type "http://localhost:8080/". - -To use another application server like Tomcat, use the `mvn package` command to build a WAR file for deployment. - -You may find following resources helpful: - -1. Learn how to [install and configure][1] Maven. -2. Maven [support][2] for NetBeans. -3. Maven [support][3] for IntelliJ IDEA. -4. Maven [support][4] for Eclipse IDE. - -# Apply License - -* Apply for a [temporary license][5] for free. -* Download the license file to your computer. -* Set the location of license file in `src/main/resources/project.properties` file. - -[1]: http://www.tutorialspoint.com/maven/maven_environment_setup.htm -[2]: http://www.tutorialspoint.com/maven/maven_netbeans.htm -[3]: http://www.tutorialspoint.com/maven/maven_intellij_idea.htm -[4]: http://www.tutorialspoint.com/maven/maven_eclispe_ide.htm -[5]: http://www.groupdocs.com/corporate/purchase/purchase-policies/temporary-license diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/pom.xml b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/pom.xml deleted file mode 100644 index 019d2c8..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/pom.xml +++ /dev/null @@ -1,62 +0,0 @@ - - 4.0.0 - - com.groupdocs.ui - annotation-servlets-ui - war - 1.0-SNAPSHOT - - - 8 - 8 - false - - - - - javax - javaee-api - 7.0 - provided - - - com.groupdocs - groupdocs-annotation - 17.10.1 - - - com.fasterxml.jackson.core - jackson-databind - 2.9.7 - - - commons-io - commons-io - 2.4 - - - - - - - - src/main/resources - true - - - src/test/resources - true - - - - - org.eclipse.jetty - jetty-maven-plugin - 9.4.0.v20161208 - - - - - - diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/Utils.java b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/Utils.java deleted file mode 100644 index 8aed771..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/Utils.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.groupdocs.ui; - -import com.groupdocs.annotation.common.license.License; -import com.groupdocs.annotation.domain.config.AnnotationConfig; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.annotation.handler.input.IDocumentDataHandler; -import com.groupdocs.annotation.handler.input.dataobjects.Document; - -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.nio.file.FileSystem; -import java.nio.file.FileSystems; -import java.nio.file.Files; -import java.util.Properties; - -public class Utils { - static { - // Load the license as early as possible - loadLicense(); - } - - public static AnnotationImageHandler createAnnotationImageHandler() { - AnnotationConfig cfg = new AnnotationConfig(); - cfg.setStoragePath(getStoragePath()); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - return annotator; - - } - - public static Document findDocumentByName(String name) { - AnnotationImageHandler imageHandler = Utils.createAnnotationImageHandler(); - IDocumentDataHandler documentDataHandler = imageHandler.getDocumentDataHandler(); - Document doc = documentDataHandler.getDocument(name); - if (doc != null) { - return doc; - } - - long documentId = imageHandler.createDocument(name); - - try (InputStream original = new FileInputStream(Utils.getStoragePath() + "/" + name)) { - imageHandler.importAnnotations(original, ""+documentId); - } catch (Exception x) { - throw new RuntimeException(x); - } - return documentDataHandler.get(documentId); - } - - public static void loadLicense() { - License l = new License(); - if (Files.exists(FileSystems.getDefault().getPath(getProjectProperty("license.path")))) { - l.setLicense(getProjectProperty("license.path")); - if (!License.isValidLicense()) { - throw new RuntimeException("Invalid license found."); - } - } - } - - public static String getStoragePath() { - return getProjectProperty("storage.path"); - } - - public static String getProjectProperty(String name) { - Properties p = new Properties(); - try (InputStream i = Utils.class.getResourceAsStream("/project.properties")) { - p.load(i); - } catch (IOException e) { - // Ignore - } - return p.getProperty(name); - } -} diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/AddAnnotationServlet.java b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/AddAnnotationServlet.java deleted file mode 100644 index d846b80..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/AddAnnotationServlet.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.groupdocs.ui.servlet; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.results.CreateAnnotationResult; -import com.groupdocs.annotation.domain.results.ListAnnotationsResult; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.annotation.handler.input.IDocumentDataHandler; -import com.groupdocs.annotation.handler.input.dataobjects.Document; -import com.groupdocs.ui.Utils; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@WebServlet("/annotation/add") -public class AddAnnotationServlet - extends HttpServlet { - protected void doPost(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - response.setHeader("Content-Type", "application/json"); - AnnotationImageHandler imageHandler = Utils.createAnnotationImageHandler(); - IDocumentDataHandler documentDataHandler = imageHandler.getDocumentDataHandler(); - - String filename = request.getParameter("file"); - Document doc = documentDataHandler.getDocument(filename); - long documentId = doc != null ? doc.getId() : imageHandler.createDocument(filename); - - AnnotationInfo annotation = new ObjectMapper().readValue(request.getInputStream(), AnnotationInfo.class); - annotation.setDocumentGuid(documentId); - CreateAnnotationResult result = imageHandler.createAnnotation(annotation); - new ObjectMapper().writeValue(response.getOutputStream(), result); - } -} diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/AnnotationServlet.java b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/AnnotationServlet.java deleted file mode 100644 index 9f3e32a..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/AnnotationServlet.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.groupdocs.ui.servlet; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.Point; -import com.groupdocs.annotation.domain.TextFieldInfo; -import com.groupdocs.annotation.domain.results.DeleteAnnotationResult; -import com.groupdocs.annotation.domain.results.MoveAnnotationResult; -import com.groupdocs.annotation.domain.results.SaveAnnotationTextResult; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.ui.Utils; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@WebServlet("/annotation") -public class AnnotationServlet extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - response.setHeader("Content-Type", "application/json"); - - AnnotationImageHandler imageHandler = Utils.createAnnotationImageHandler(); - String guid = request.getParameter("guid"); - - new ObjectMapper().writeValue(response.getOutputStream(), imageHandler.getAnnotation(guid).getAnnotation()); - } - - protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - response.setHeader("Content-Type", "application/json"); - AnnotationImageHandler imageHandler = Utils.createAnnotationImageHandler(); - - String guid = request.getParameter("guid"); - long annotationId = imageHandler.getAnnotation(guid).getId(); - - DeleteAnnotationResult result = imageHandler.deleteAnnotation(annotationId); - new ObjectMapper().writeValue(response.getOutputStream(), result); - - } - - @Override - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - response.setHeader("Content-Type", "application/json"); - AnnotationImageHandler imageHandler = Utils.createAnnotationImageHandler(); - String guid = request.getParameter("guid"); - String section = request.getParameter("section"); - AnnotationInfo annotationInfo = imageHandler.getAnnotation(guid).getAnnotation(); - long annotationId = imageHandler.getAnnotation(guid).getId(); - - switch (section) { - case "fieldtext": - TextFieldInfo info = new ObjectMapper().readValue(request.getInputStream(), TextFieldInfo.class); - SaveAnnotationTextResult result = imageHandler.saveTextField(annotationId, info); - new ObjectMapper().writeValue(response.getOutputStream(), result); - break; - case "position": - Point point = new ObjectMapper().readValue(request.getInputStream(), Point.class); - imageHandler.moveAnnotationMarker(annotationId, point, annotationInfo.getPageNumber()); - break; - default: - response.sendError(HttpServletResponse.SC_BAD_REQUEST); - break; - } - } -} - diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/DeleteAnnotationServlet.java b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/DeleteAnnotationServlet.java deleted file mode 100644 index 48b1a57..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/DeleteAnnotationServlet.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.groupdocs.ui.servlet; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.groupdocs.annotation.domain.results.DeleteAnnotationResult; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.ui.Utils; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@WebServlet("/annotation/delete") -public class DeleteAnnotationServlet extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - response.setHeader("Content-Type", "application/json"); - AnnotationImageHandler imageHandler = Utils.createAnnotationImageHandler(); - String filename = request.getParameter("file"); - long annotationId = Long.valueOf(request.getParameter("annotationId")); - - DeleteAnnotationResult result = imageHandler.deleteAnnotation(annotationId); - new ObjectMapper().writeValue(response.getOutputStream(), result); - } -} diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/DocumentInfoServlet.java b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/DocumentInfoServlet.java deleted file mode 100644 index d31b57d..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/DocumentInfoServlet.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.groupdocs.ui.servlet; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.RowData; -import com.groupdocs.annotation.domain.containers.DocumentInfoContainer; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.ui.Utils; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -@WebServlet("/document/info") -public class DocumentInfoServlet - extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - AnnotationImageHandler handler = Utils.createAnnotationImageHandler(); - String filename = request.getParameter("file"); - DocumentInfoContainer result = handler.getDocumentInfo(filename); - response.setHeader("Content-Type", "application/json"); - new ObjectMapper().writeValue(response.getOutputStream(), result); - } -} diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/DownloadAnnotatedServlet.java b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/DownloadAnnotatedServlet.java deleted file mode 100644 index 33a10f3..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/DownloadAnnotatedServlet.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.groupdocs.ui.servlet; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.annotation.handler.input.dataobjects.Document; -import com.groupdocs.ui.Utils; -import org.apache.commons.io.IOUtils; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.Arrays; -import java.util.List; - -@WebServlet("/download/annotated") -public class DownloadAnnotatedServlet extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - AnnotationImageHandler imageHandler = Utils.createAnnotationImageHandler(); - String filename = request.getParameter("file"); - - Document document = Utils.findDocumentByName(filename); - - List list = Arrays.asList(imageHandler.getAnnotations(document.getId()).getAnnotations()); - - InputStream exported; - try (InputStream original = new FileInputStream(Utils.getStoragePath() + "/" + filename)) { - exported = imageHandler.exportAnnotationsToDocument(original, list, document.getDocumentType()); - } catch (Exception x) { - throw new RuntimeException(x); - } - - response.setHeader("Content-Type", "application/octet-stream"); - response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\""); - - IOUtils.copy(exported, response.getOutputStream()); - } -} diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/ListAnnotationsServlet.java b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/ListAnnotationsServlet.java deleted file mode 100644 index f5402a4..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/ListAnnotationsServlet.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.groupdocs.ui.servlet; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.results.GetAnnotationResult; -import com.groupdocs.annotation.domain.results.ListAnnotationsResult; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.annotation.handler.input.dataobjects.Document; -import com.groupdocs.ui.Utils; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; - -@WebServlet("/annotation/list") -public class ListAnnotationsServlet extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - response.setHeader("Content-Type", "application/json"); - AnnotationImageHandler imageHandler = Utils.createAnnotationImageHandler(); - String filename = request.getParameter("file"); - - Document doc = Utils.findDocumentByName(filename); - ListAnnotationsResult listResult = imageHandler.getAnnotations(doc.getId()); - - ArrayList list = new ArrayList<>(); - for (AnnotationInfo inf : listResult.getAnnotations()) { - list.add(imageHandler.getAnnotation(inf.getGuid())); - } - - new ObjectMapper().writeValue(response.getOutputStream(), list); - } -} diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/PageCountServlet.java b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/PageCountServlet.java deleted file mode 100644 index 3bf59ba..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/PageCountServlet.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.groupdocs.ui.servlet; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.groupdocs.annotation.domain.containers.DocumentInfoContainer; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.ui.Utils; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.HashMap; - -@WebServlet("/page/count") -public class PageCountServlet - extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - AnnotationImageHandler handler = Utils.createAnnotationImageHandler(); - String filename = request.getParameter("file"); - DocumentInfoContainer info = handler.getDocumentInfo(filename); - HashMap result = new HashMap<>(); - result.put("count", info.getPages().size()); - response.setHeader("Content-Type", "application/json"); - new ObjectMapper().writeValue(response.getOutputStream(), result); - } -} diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/PageImageServlet.java b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/PageImageServlet.java deleted file mode 100644 index e0fc9ff..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/PageImageServlet.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.groupdocs.ui.servlet; - -import com.groupdocs.annotation.domain.image.PageImage; -import com.groupdocs.annotation.domain.options.ImageOptions; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.ui.Utils; -import org.apache.commons.io.IOUtils; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.Arrays; - -/** - * Query String parameters: - * width: Integer: The width of output image. - * height: Integer: The height of output image. - * page: Integer: The page number that needs to be converted. - */ -@WebServlet("/page/image") -public class PageImageServlet - extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - response.setHeader("Content-Type", "image/png"); - AnnotationImageHandler handler = Utils.createAnnotationImageHandler(); - - ImageOptions o = new ImageOptions(); - int pageNumber = Integer.valueOf(request.getParameter("page")); - o.setPageNumbersToConvert(Arrays.asList(pageNumber - 1)); - o.setPageNumber(pageNumber - 1); - o.setCountPagesToConvert(1); - if (request.getParameterMap().containsKey("width")) { - o.setWidth(Integer.valueOf(request.getParameter("width"))); - } - if (request.getParameterMap().containsKey("height")) { - o.setHeight(Integer.valueOf(request.getParameter("height"))); - } - - String filename = request.getParameter("file"); - - for (PageImage pageImage: handler.getPages(filename, o)) { - if (pageImage.getPageNumber() == pageNumber - 1) { - IOUtils.copy(pageImage.getStream(), response.getOutputStream()); - break; - } - } - } -} diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/PageTextServlet.java b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/PageTextServlet.java deleted file mode 100644 index 94c0db8..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/PageTextServlet.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.groupdocs.ui.servlet; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.RowData; -import com.groupdocs.annotation.domain.containers.DocumentInfoContainer; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.ui.Utils; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -@WebServlet("/page/text") -public class PageTextServlet - extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - response.setHeader("Content-Type", "application/json"); - AnnotationImageHandler handler = Utils.createAnnotationImageHandler(); - - int pageNumber = Integer.valueOf(request.getParameter("page")); - String filename = request.getParameter("file"); - - List result = new ArrayList<>(); - DocumentInfoContainer documentInfoContainer = handler.getDocumentInfo(filename); - for (PageData pageData : documentInfoContainer.getPages()) { - if (pageData.getNumber() == pageNumber) { - result = pageData.getRows(); - break; - } - } - new ObjectMapper().writeValue(response.getOutputStream(), result); - } -} diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/RepliesServlet.java b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/RepliesServlet.java deleted file mode 100644 index 4f619f1..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/RepliesServlet.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.groupdocs.ui.servlet; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.groupdocs.annotation.domain.AnnotationReplyInfo; -import com.groupdocs.annotation.domain.results.AddReplyResult; -import com.groupdocs.annotation.domain.results.GetAnnotationResult; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.ui.Utils; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@WebServlet("/replies") -public class RepliesServlet extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - response.setHeader("Content-Type", "application/json"); - - AnnotationImageHandler imageHandler = Utils.createAnnotationImageHandler(); - String guid = request.getParameter("guid"); - - GetAnnotationResult annotationResult = imageHandler.getAnnotation(guid); - if (annotationResult == null) { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - return; - } - long annotationId = annotationResult.getId(); - AnnotationReplyInfo[] list = imageHandler.listAnnotationReplies(annotationId).getReplies(); - - new ObjectMapper().writeValue(response.getOutputStream(), list); - } - - @Override - protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - response.setHeader("Content-Type", "application/json"); - AnnotationImageHandler imageHandler = Utils.createAnnotationImageHandler(); - - AnnotationReplyInfo info = new ObjectMapper().readValue(request.getInputStream(), AnnotationReplyInfo.class); - - long annotationId = imageHandler.getAnnotation(info.getGuid()).getId(); - - AddReplyResult result = imageHandler.createAnnotationReply(annotationId, ""); - new ObjectMapper().writeValue(response.getOutputStream(), result); - } -} - diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/ReplyServlet.java b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/ReplyServlet.java deleted file mode 100644 index e03bbd6..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/java/com/groupdocs/ui/servlet/ReplyServlet.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.groupdocs.ui.servlet; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.groupdocs.annotation.domain.AnnotationReplyInfo; -import com.groupdocs.annotation.domain.results.DeleteReplyResult; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.ui.Utils; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@WebServlet("/reply") -public class ReplyServlet extends HttpServlet { - - protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - response.setHeader("Content-Type", "application/json"); - AnnotationImageHandler imageHandler = Utils.createAnnotationImageHandler(); - - String guid = request.getParameter("guid"); - - DeleteReplyResult result = imageHandler.deleteAnnotationReply(guid); - new ObjectMapper().writeValue(response.getOutputStream(), result); - - } - - @Override - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - response.setHeader("Content-Type", "application/json"); - AnnotationImageHandler imageHandler = Utils.createAnnotationImageHandler(); - String guid = request.getParameter("guid"); - String section = request.getParameter("section"); - - switch (section) { - case "message": - AnnotationReplyInfo info = new ObjectMapper().readValue(request.getInputStream(), AnnotationReplyInfo.class); - imageHandler.editAnnotationReply(guid, info.getMessage()); - break; - default: - response.sendError(HttpServletResponse.SC_BAD_REQUEST); - break; - } - } -} - diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/resources/project.properties b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/resources/project.properties deleted file mode 100644 index 1f1266b..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/resources/project.properties +++ /dev/null @@ -1,3 +0,0 @@ -basedir=${basedir} -storage.path=${basedir}/storage -license.path=${basedir}/GroupDocs.Total.Java.lic diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.config.js b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.config.js deleted file mode 100644 index 2beb042..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.config.js +++ /dev/null @@ -1,12 +0,0 @@ -(function () { - 'use strict'; - - function main(cfpLoadingBarProvider) { - cfpLoadingBarProvider.includeSpinner = false; - cfpLoadingBarProvider.includeBar = true; - } - - angular.module('GroupDocsAnnotationApp').config(['cfpLoadingBarProvider', main]); - -})(); - diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.controller.pageCanvas.js b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.controller.pageCanvas.js deleted file mode 100644 index 868bb57..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.controller.pageCanvas.js +++ /dev/null @@ -1,13 +0,0 @@ -(function () { - 'use strict'; - - function main($rootScope, $scope, AnnotationListFactory, FilesFactory, DocumentInfoFactory) { - - $rootScope.docInfo = DocumentInfoFactory.get(); - $scope.selectedFile = FilesFactory.selectedFile; - $scope.annotationsList = AnnotationListFactory.query(); - $rootScope.selectedDrawingTool = 'select'; - } - angular.module('GroupDocsAnnotationApp').controller('PageCanvasController', main); -})(); - diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.controller.thread.js b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.controller.thread.js deleted file mode 100644 index 1d41062..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.controller.thread.js +++ /dev/null @@ -1,81 +0,0 @@ -(function () { - 'use strict'; - - function main($rootScope, $scope, $resource, AnnotationFactory, RepliesFactory, ReplyFactory) { - - $rootScope.$watch('selectedAnnotationGuid', function () { - $scope.fetchAnnotation(); - }, true); - - $scope.deleteAnnotation = function (item) { - $rootScope.$broadcast('request-annotation-deletion', item.guid); - }; - - $scope.saveAnnotationFieldText = function (item) { - AnnotationFactory - .updateFieldText( - { - guid: item.guid - }, - { - fieldText: item.fieldText - } - ) - .$promise - .then(function (response) { - item.unsaved = false; - }); - }; - - $scope.addReply = function (item) { - RepliesFactory - .put( - {guid: item.guid} - ) - .$promise - .then(function (response) { - $scope.fetchAnnotation(); - }); - }; - - $scope.deleteReply = function (guid) { - ReplyFactory - .remove({guid: guid}) - .$promise - .then(function (response) { - $scope.fetchAnnotation(); - }); - }; - - $scope.saveReplyMessage = function (reply) { - ReplyFactory - .updateMessage( - { - guid: reply.guid - }, - { - message: reply.message - } - ) - .$promise - .then(function (response) { - reply.unsaved = false; - }); - }; - - $scope.fetchAnnotation = function () { - if (typeof($rootScope.selectedAnnotationGuid) === 'string') { - $scope.selectedAnnotation = AnnotationFactory.get({ - guid: $rootScope.selectedAnnotationGuid - }); - } else { - $scope.selectedAnnotation = null; - } - }; - - } - - angular.module('GroupDocsAnnotationApp').controller('ThreadController', main); - -})(); - diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.controller.tools.js b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.controller.tools.js deleted file mode 100644 index 9bd89db..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.controller.tools.js +++ /dev/null @@ -1,37 +0,0 @@ -(function () { - 'use strict'; - - function main($rootScope, $scope) { - - $scope.selectRectangleTool = function ($event) { - $rootScope.selectedDrawingTool = 'rectangle'; - }; - $scope.selectDistanceTool = function ($event) { - $rootScope.selectedDrawingTool = 'distance'; - }; - $scope.selectArrowTool = function ($event) { - $rootScope.selectedDrawingTool = 'arrow'; - }; - $scope.selectPencilTool = function ($event) { - $rootScope.selectedDrawingTool = 'pencil'; - }; - $scope.selectSelectTool = function ($event) { - $rootScope.selectedDrawingTool = 'select'; - }; - $scope.selectPointTool = function ($event) { - $rootScope.selectedDrawingTool = 'point'; - }; - $scope.selectUnderlineTool = function ($event) { - $rootScope.selectedDrawingTool = 'underline'; - }; - $scope.selectStrikeoutTool = function ($event) { - $rootScope.selectedDrawingTool = 'strikeout'; - }; - - $scope.selectSelectTool(); - } - - angular.module('GroupDocsAnnotationApp').controller('ToolsController', main); - -})(); - diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.directive.gdxAnnoPage.js b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.directive.gdxAnnoPage.js deleted file mode 100644 index 6e39215..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.directive.gdxAnnoPage.js +++ /dev/null @@ -1,513 +0,0 @@ -(function () { - 'use strict'; - - function main($rootScope, cfpLoadingBar, AnnotationFactory, AnnotationAddFactory) { - return { - restrict: 'E', - link: { - pre: function (scope, element, attrs) { - }, - post: function (scope, element, attrs) { - setupCanvas($rootScope, scope, element, attrs); - setupPageImage($rootScope, scope, element, attrs); - setupDrawingTools($rootScope, AnnotationFactory, AnnotationAddFactory, scope, element, attrs); - // setupAnnotations has been moved to pageImage.onLoad - setupAnnotationDeletion($rootScope, AnnotationFactory, scope, element, attrs); - } - } - } - } - - function setupCanvas($rootScope, scope, element, attrs) { - element.css('width', attrs.width + 'px'); - element.css('height', attrs.height + 'px'); - - var canvas = document.createElement("canvas"); - canvas.setAttribute('width', attrs.width); - canvas.setAttribute('height', attrs.height); - canvas.setAttribute("id", "page-canvas-" + attrs.number); - element.append(canvas); - - var paperScope = new paper.PaperScope(); - paperScope.setup(canvas); - scope.paperScopeId = paperScope._id; - } - - function setupPageImage($rootScope, scope, element, attrs) { - var ps = paper.PaperScope.get(scope.paperScopeId); - - var pageImageUrl = "/page/image" - + "?file=" + attrs.file - + "&page=" + attrs.number - + "&width=" + attrs.width - + "&height=" + attrs.height; - - var loadingIndicator = new ps.Raster({ - source: '/loading_indicator.gif', - position: ps.view.center - }); - - var pageImage = new ps.Raster({ - source: pageImageUrl, - position: ps.view.center - }); - - pageImage.onLoad = function () { - pageImage.scale(attrs.width / pageImage.width); - setupAnnotations($rootScope, scope, element, attrs); - loadingIndicator.remove(); - }; - } - - function setupDrawingTools($rootScope, AnnotationFactory, AnnotationAddFactory, scope, element, attrs) { - var ps = paper.PaperScope.get(scope.paperScopeId); - - var currentObject = null; - ps.tool = new ps.Tool(); - ps.tool.minDistance = 3; - - ps.tool.onMouseDown = function (event) { - var hitResult = ps.project.activeLayer.hitTest(event.point, { - segments: true, - stroke: true, - fill: true, - tolerance: 0 - }); - - ps.project.deselectAll(); - - switch ($rootScope.selectedDrawingTool) { - case 'select': - if (hitResult && hitResult.item.name) { - currentObject = hitResult.item; - currentObject.selected = true; - $rootScope.selectedAnnotationGuid = currentObject.name; - if (!$rootScope.$$phase) { - $rootScope.$apply(); - } - } - else if (hitResult && hitResult.item._parent._name) { - currentObject = hitResult.item._parent; - currentObject.selected = true; - $rootScope.selectedAnnotationGuid = currentObject._name; - if (!$rootScope.$$phase) { - $rootScope.$apply(); - } - } - break; - case 'rectangle': - var shape = new ps.Rectangle(event.point.x, event.point.y, 1, 1); - currentObject = new ps.Path.Rectangle(shape); - currentObject.strokeColor = 'black'; - currentObject.strokeWidth = 2; - break; - case 'pencil': - currentObject = new ps.Path(); - currentObject.add(event.point); - currentObject.strokeColor = 'black'; - currentObject.strokeWidth = 2; - break; - case 'point': - var pt = new ps.Shape.Circle(event.point, 3); - currentObject = pt.toPath(true); - currentObject.strokeColor = 'black'; - currentObject.fillColor = 'black'; - currentObject.strokeWidth = 2; - break; - case 'underline': - var start = new ps.Point(event.point); - $rootScope.startRow = getStartRow($rootScope.docInfo,start,attrs); - $rootScope.startText = $rootScope.startRow[0].characterCoordinates.filter(x=>Math.floor(x) > Math.floor(start.x)); - if($rootScope.startText.length>1){ - currentObject = new ps.Path.Line(new ps.Point($rootScope.startText[0], $rootScope.startRow[0].lineTop + $rootScope.startRow[0].lineHeight), new ps.Point($rootScope.startText[1], $rootScope.startRow[0].lineTop + $rootScope.startRow[0].lineHeight)); - currentObject.strokeColor = 'black'; - currentObject.strokeWidth = 2; - } - else if($rootScope.startText.length>1){ - currentObject = new ps.Path.Line(new ps.Point($rootScope.startText[0], $rootScope.startRow[0].lineTop + $rootScope.startRow[0].lineHeight), new ps.Point($rootScope.startText[0], $rootScope.startRow[0].lineTop + $rootScope.startRow[0].lineHeight)); - currentObject.strokeColor = 'black'; - currentObject.strokeWidth = 2; - } - break; - case 'strikeout': - var start = new ps.Point(event.point); - $rootScope.startRow = getStartRow($rootScope.docInfo,start,attrs); - $rootScope.startText = $rootScope.startRow[0].characterCoordinates.filter(x=>Math.floor(x) > Math.floor(start.x)); - if($rootScope.startText.length>1){ - currentObject = new ps.Path.Line(new ps.Point($rootScope.startText[0], $rootScope.startRow[0].lineTop + $rootScope.startRow[0].lineHeight/2), new ps.Point($rootScope.startText[1], $rootScope.startRow[0].lineTop + $rootScope.startRow[0].lineHeight/2)); - currentObject.strokeColor = 'black'; - currentObject.strokeWidth = 2; - } - else if($rootScope.startText.length>1){ - currentObject = new ps.Path.Line(new ps.Point($rootScope.startText[0], $rootScope.startRow[0].lineTop + $rootScope.startRow[0].lineHeight/2), new ps.Point($rootScope.startText[0], $rootScope.startRow[0].lineTop + $rootScope.startRow[0].lineHeight/2)); - currentObject.strokeColor = 'black'; - currentObject.strokeWidth = 2; - } - break; - } - }; - - ps.tool.onMouseDrag = function (event) { - switch ($rootScope.selectedDrawingTool) { - case 'select': - angular.forEach(scope.annotationsList, function (item) { - if (currentObject && item.annotation.guid === currentObject.name && item.annotation.type === 4 && item.annotation.type === 8) { - currentObject = null; - } - }); - if (currentObject) { - currentObject.position.x += event.delta.x; - currentObject.position.y += event.delta.y; - } - break; - case 'rectangle': - currentObject.bounds.width += event.delta.x; - currentObject.bounds.height += event.delta.y; - break; - case 'pencil': - currentObject.add(event.point); - break; - case 'point': - currentObject.position.x += event.delta.x; - currentObject.position.y += event.delta.y; - break; - case 'underline': - if(currentObject){ - var end = new ps.Point(event.point); - var endText = $rootScope.startRow[0].characterCoordinates.filter(x=>Math.floor(x) > Math.floor(end.x)); - if(endText.length>1){ - currentObject.add(new ps.Point(endText[1], $rootScope.startRow[0].lineTop + $rootScope.startRow[0].lineHeight)); - } - else if(endText.length>0){ - currentObject.add(new ps.Point(endText[0], $rootScope.startRow[0].lineTop + $rootScope.startRow[0].lineHeight)); - } - } - break; - case 'strikeout': - if(currentObject){ - var end = new ps.Point(event.point); - var endText = $rootScope.startRow[0].characterCoordinates.filter(x=>Math.floor(x) > Math.floor(end.x)); - if(endText.length>1){ - currentObject.add(new ps.Point(endText[1], $rootScope.startRow[0].lineTop + $rootScope.startRow[0].lineHeight/2)); - } - else if(endText.length>0){ - currentObject.add(new ps.Point(endText[0], $rootScope.startRow[0].lineTop + $rootScope.startRow[0].lineHeight/2)); - } - - } - break; - case 'arrow': - if (currentObject) { - currentObject.remove(); - } - var start = new ps.Point(event.downPoint); - var end = new ps.Point(event.point); - - var tailLine = new ps.Path.Line(start, end); - var tailVector = end.subtract(start); - var headLine = tailVector.normalize(10); - - currentObject = new ps.Group([ - new ps.Path([start, end]), - new ps.Path([ - end.add(headLine.rotate(150)), - end, - end.add(headLine.rotate(-150)) - ]) - ]); - currentObject.strokeColor = 'black'; - currentObject.strokeWidth = 2; - break; - case 'distance': - if(currentObject){ - currentObject.remove(); - } - var start = new ps.Point(event.downPoint); - var end = new ps.Point(event.point); - var textX = (start.x + end.x)/2; - var textY = (start.y + end.y)/2; - var textPoint = new ps.Point(textX, textY); - var tailLine = new ps.Path.Line(start, end); - var textPosition = end.add(start); - var tailVector = end.subtract(start); - var headLine = tailVector.normalize(10); - var tailArrow = tailVector.normalize(-10); - currentObject = new ps.Group([ - new ps.Path([start, end]), - new ps.Path([ - end.add(headLine.rotate(150)), - end, - end.add(headLine.rotate(-150)) - ]), - new ps.Path([ - start.add(tailArrow.rotate(-150)), - start, - start.add(tailArrow.rotate(150)) - ]), - new ps.PointText(textPoint) - ]); - - currentObject.strokeColor = 'black'; - currentObject.strokeWidth = 2; - currentObject._children[3].content = Math.floor(currentObject._children[0].length) + " px"; - currentObject._children[3].strokeWidth = 0.5; - break; - } - }; - - ps.tool.onMouseUp = function (event) { - var ant = {}; - - switch ($rootScope.selectedDrawingTool) { - case 'select': - if (currentObject && (event.delta.x !== 0 || event.delta.y !== 0)) { - AnnotationFactory.updatePosition( - { - guid: currentObject.name - }, - { - x: currentObject.bounds.x, - y: currentObject.bounds.y - } - ); - } - break; - case 'rectangle': - ant = { - box: { - x: currentObject.bounds.x, - y: currentObject.bounds.y, - width: currentObject.bounds.width, - height: currentObject.bounds.height - }, - type: 1 - }; - break; - case 'pencil': - ant.type = 4; - ant.svgPath = currentObject.exportSVG().getAttribute('d'); - break; - case 'point': - ant = angular.merge({}, ant, { - type: 2, - box: { - x: event.point.x, - y: event.point.y, - width: 0, - height: 0 - } - }); - break; - case 'arrow': - ant.type = 8; - ant.svgPath = currentObject.exportSVG().firstChild.getAttribute('d'); - ant.svgPath += " " + currentObject.exportSVG().lastChild.getAttribute('d'); - break; - case 'distance': - ant = { - type : 12, - svgPath : currentObject.exportSVG().children[0].getAttribute('d')+ " " + currentObject.exportSVG().children[1].getAttribute('d') + " " + currentObject.exportSVG().children[2].getAttribute('d'), - text : currentObject.children[3].content, - box : { - x: currentObject.children[3].position.x, - y: currentObject.children[3].position.y, - width: 0, - height: 0 - } - }; - break; - case 'underline': - ant = { - type : 11, - svgPath : currentObject.exportSVG().getAttribute('d'), - box: { - x: currentObject.bounds.x, - y: currentObject.bounds.y, - width: 0, - height: 0 - }, - }; - break; - case 'strikeout': - ant = { - type : 11, - svgPath : currentObject.exportSVG().getAttribute('d'), - box: { - x: currentObject.bounds.x, - y: currentObject.bounds.y, - width: 0, - height: 0 - }, - }; - break; - } - - if (ant.type) { - ant.pageNumber = attrs.number; - AnnotationAddFactory.save(ant, function (response) { - currentObject.name = response.guid; - currentObject.selected = true; - currentObject = null; - $rootScope.selectedAnnotationGuid = response.guid; - if (!$rootScope.$$phase) { - $rootScope.$apply(); - } - }); - } else { - currentObject = null; - } - }; - - ps.tool.onKeyDown = function (event) { - if (event.key === 'delete') { - angular.forEach(ps.project.selectedItems, function (item) { - if (item.name) { - $rootScope.$broadcast('request-annotation-deletion', item.name); - } - else if (item._parent._name) { - $rootScope.$broadcast('request-annotation-deletion', item._parent._name); - } - - }); - } - } - } - - function setupAnnotations($rootScope, scope, element, attrs) { - var ps = paper.PaperScope.get(scope.paperScopeId); - - scope.$watch('annotationsList', function () { - - }); - - angular.forEach(scope.annotationsList, function (item) { - - if (attrs.number != item.annotation.pageNumber) { - return; - } - - switch (item.annotation.type) { - case 1: - - var shape = new ps.Rectangle( - item.annotation.box.x, - item.annotation.box.y, - item.annotation.box.width, - item.annotation.box.height - ); - var path = new ps.Path.Rectangle(shape); - path.strokeColor = 'black'; - path.strokeWidth = 2; - path.name = item.annotation.guid; - - break; - - case 5: - var line = new ps.Path(); - line.pathData = item.annotation.svgPath; - line.strokeColor = 'black'; - line.strokeWidth = 2; - line.name = item.annotation.guid; - - break; - case 4: - var line = new ps.Path(); - line.pathData = item.annotation.svgPath; - line.strokeColor = 'black'; - line.strokeWidth = 2; - line.name = item.annotation.guid; - - break; - case 2: - var pt = new ps.Shape.Circle(new ps.Point(item.annotation.box.x + 3, item.annotation.box.y + 3), 3); - var ptp = pt.toPath(true); - ptp.strokeColor = 'black'; - ptp.fillColor = 'black'; - ptp.strokeWidth = 2; - ptp.name = item.annotation.guid; - break; - case 8: - var arrow = new ps.Group([ - new ps.Path(item.annotation.svgPath.split(" ")[0]), - new ps.Path(item.annotation.svgPath.split(" ")[1]) - ]); - arrow.strokeColor = 'black'; - arrow.strokeWidth = 2; - arrow.name = item.annotation.guid; - break; - case 11: - var line = new ps.Path(); - line.pathData = item.annotation.svgPath; - line.strokeColor = 'black'; - line.strokeWidth = 2; - line.name = item.annotation.guid; - break; - case 3: - var line = new ps.Path(); - line.pathData = item.annotation.svgPath; - line.strokeColor = 'black'; - line.strokeWidth = 2; - line.name = item.annotation.guid; - break; - case 12: - var distance = new ps.Group([ - new ps.Path(item.annotation.svgPath.split(" ")[0]), - new ps.Path(item.annotation.svgPath.split(" ")[1]), - new ps.Path(item.annotation.svgPath.split(" ")[2]), - new ps.PointText(new ps.Point(item.annotation.box.x, item.annotation.box.y)) - ]); - distance.strokeColor = 'black'; - distance.strokeWidth = 2; - distance.children[3].content = Math.floor(distance.children[0].length) + " px"; - distance.children[3].strokeWidth = 0.5; - distance.name = item.annotation.guid; - break; - } - }) - } - function getStartRow(docInfo,start,attrs){ - var startRow = []; - for(var i = 0; i<30; i++){ - startRow = docInfo.pages[attrs.number-1].rows.filter(x => Math.floor(x.lineTop) == (Math.floor(start.y)-i )); - if(startRow.length>0) - return startRow; - } - if(startRow.length == 0) - for(var i = 0; i<30; i++){ - startRow = docInfo.pages[attrs.number-1].rows.filter(x => Math.floor(x.lineTop) == (Math.floor(start.y)+i )); - if(startRow.length>0) - return startRow; - } - - } - - function setupAnnotationDeletion($rootScope, AnnotationFactory, scope, element, attrs) { - var ps = paper.PaperScope.get(scope.paperScopeId); - - $rootScope.$on('request-annotation-deletion', function (event, guid) { - if (typeof(guid) !== 'string') { - return; - } - - var item = ps.project.activeLayer.children[guid]; - if (item) { - AnnotationFactory - .remove({guid: guid}) - .$promise - .then(function (response) { - item.remove(); - ps.project.deselectAll(); - $rootScope.selectedAnnotationGuid = null; - if (!$rootScope.$$phase) { - $rootScope.$apply(); - } - }); - } - - }); - } - - angular.module('GroupDocsAnnotationApp').directive('gdxAnnoPage', main, ['cfpLoadingBar']); - -})(); - diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.factory.annotation.js b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.factory.annotation.js deleted file mode 100644 index b7f450c..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.factory.annotation.js +++ /dev/null @@ -1,37 +0,0 @@ -(function () { - 'use strict'; - - function main($resource) { - - return $resource( - '/annotation?guid=:guid§ion=:section', - {}, - { - get: { - method: 'GET', - responseType: 'application/json' - }, - remove: { - method: 'DELETE', - responseType: 'application/json' - }, - updateFieldText: { - method: 'POST', - params: { - section: 'fieldtext' - } - }, - updatePosition: { - method: 'POST', - params: { - section: 'position' - } - } - } - ); - } - - angular.module('GroupDocsAnnotationApp').factory('AnnotationFactory', main); - -})(); - diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.factory.replies.js b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.factory.replies.js deleted file mode 100644 index 5001fa3..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.factory.replies.js +++ /dev/null @@ -1,24 +0,0 @@ -(function () { - 'use strict'; - - function main($resource) { - - return $resource( - '/replies?guid=:guid', - {}, - { - query: { - method: 'GET', - isArray: true - }, - put: { - method: 'PUT' - } - } - ); - } - - angular.module('GroupDocsAnnotationApp').factory('RepliesFactory', main); - -})(); - diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.factory.reply.js b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.factory.reply.js deleted file mode 100644 index a016c6c..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.factory.reply.js +++ /dev/null @@ -1,26 +0,0 @@ -(function () { - 'use strict'; - - function main($resource) { - - return $resource( - '/reply?guid=:guid§ion=:section', - {}, - { - remove: { - method: 'DELETE' - }, - updateMessage: { - method: 'POST', - params: { - section: 'message' - } - } - } - ); - } - - angular.module('GroupDocsAnnotationApp').factory('ReplyFactory', main); - -})(); - diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.js b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.js deleted file mode 100644 index 1866631..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/app.js +++ /dev/null @@ -1,85 +0,0 @@ -(function () { - 'use strict'; - - var ANNOTATION_TYPE_AREA = 1; - - angular - .module('GroupDocsAnnotationApp', ['ngMaterial', 'ngResource', 'angular-loading-bar']) - .factory('FilesFactory', FilesFactory) - .factory('DocumentInfoFactory', DocumentInfoFactory) - .factory('AnnotationListFactory', AnnotationListFactory) - .factory('AnnotationAddFactory', AnnotationAddFactory) - .controller('AvailableFilesController', AvailableFilesController) - .controller('ToolbarController', ToolbarController) - ; - - function FilesFactory() { - var fileList = [ - 'candy.pdf' - ]; - return { - list: function () { - return fileList; - }, - selectedFile: fileList[0] - - }; - } - - function DocumentInfoFactory($resource, FilesFactory) { - return $resource('/document/info?file=:filename', {}, { - get: { - method: 'GET', - params: { - filename: FilesFactory.selectedFile - } - } - }); - } - - function AnnotationListFactory($resource, FilesFactory) { - return $resource('/annotation/list?file=:filename', {}, { - query: { - method: 'GET', - params: { - filename: FilesFactory.selectedFile - }, - isArray: true - } - }); - } - - function AnnotationAddFactory($resource, FilesFactory) { - return $resource('/annotation/add?file=:filename', {}, { - save: { - method: 'POST', - params: { - filename: FilesFactory.selectedFile - } - } - }); - } - - function AvailableFilesController($scope, FilesFactory) { - $scope.list = FilesFactory.list(); - $scope.selectedFile = FilesFactory.selectedFile; - } - - function ToolbarController($scope, $mdToast, FilesFactory) { - $scope.selectedFile = FilesFactory.selectedFile; - - $scope.$on('annotation-added', function (event, args) { - $mdToast.show( - $mdToast.simple().textContent('Annotation added') - ); - }); - - $scope.$on('annotation-deleted', function (event, args) { - $mdToast.show( - $mdToast.simple().textContent('Annotation deleted') - ); - }); - } - -})(); - diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/index.html b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/index.html deleted file mode 100644 index a087bcd..0000000 --- a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/index.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - GroupDocs.Annotation for Java - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - menu - -

GroupDocs.Annotation for Java

- - - file_download - Download the annotated file - -
- - {{ item }} - -
- - more_vert - -
- -
-
- - pan_tool - Select and Move - - - location_on - Point - - - edit_mode - Line - - - check_box_outline_blank - Area - - - arrow_forward - Arrow - - - compare_arrows - Distance - - - format_underlined - Underline - - - format_strikethrough - Strikeout - -
-
- - - - - - - - - - -
- - - - person - - - - {{ selectedAnnotation.creatorName }} - - - Anonymous - - - {{ selectedAnnotation.createdOn|date:'HH:mm'}} - on - {{ selectedAnnotation.createdOn|date:'yyyy-MM-dd'}} - - - - - - - - - - - - reply - - - save - - - delete - - - - - - - person - - - - {{ reply.userName }} - - - Anonymous - - - {{ reply.repliedOn|date:'HH:mm'}} - on - {{ reply.repliedOn|date:'yyyy-MM-dd'}} - - - - - - - - - - - - reply - - - save - - - delete - - - -
-
-
-
- - -
-
- - - diff --git a/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/loading_indicator.gif b/Showcase/GroupDocs.Annotation-for-Java-using-Servlets/src/main/webapp/loading_indicator.gif deleted file mode 100644 index af9afe272e7965e446194fea417b503e7d56b5e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35490 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 z y*xAA=etF3{ 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 wt@x6&vCHmFx_<0lYT&&vDBJ3|kjMS8M9#AF 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

@ZkEKlC@dT@-gJ;8OvQVSVh2YLoSG40@#X^ zz{Cp@Tz@CtxZVM#;I8ffV%XLPkZ}-b{!Aw%?gJzIS4CDb#@KSEQ1Q6F-Kxnq&;Q#5>|=?{Qu zlZXYf5w+GyTyOeQ;NL}f@&YKLpOK%1YhUv}ZgR0mK(A+0+TsL+K&Ft@_RpjE`*8u` zBU^z>(6xM^xzMGr)Eo;upi2l;Qdl5{vWKN4o+@}kq)^B1E<}jE4AQz zq~Pb^&lREU9?{waAR`96vqF&!1zTD2p36`{Gl)R!7 zL~~RsFhOx(b{CO&2_3I~UV;_#rSyR@v4W&PI#fbU$re1J&JzkVp%dyqYz-p28=K~Z36=$#GM?*E3qt34!aAiu&3ERaB9v+Z;!cP4 zm>~5aH#LMWJS*VeBYB-L538fk$OJ8^6aq>}#Xc1FudsDZ974Kmgddsj;~RpFW)z`! z4<=~GsI|=QY3@K>PD#U~k;&CCi_gHujAE93oZxGg@U)sa8r~m_R! z7>tmBeW4*Z_Q&EQYZ<>*`6$Gu!^v!h+9mVi(fUB3$SoN4vP2~V0S88P!98|kOtHB| zr<2Z#Wqi6HiZfHKw;$lM9_tMF2+L}5=<(0S=pS-Z;KtaIP)AW0cVRaW9j{mt;GhW5 zc=U^iFpzzKUXG$C9D^1}ibmH8UxK&&^l=Mzy@vl~5uFIR%1U`(F54AeHms8%=0Pz> zw*O=Xh9wx3>WU{rT9$Yu65Qq@Z&lP44SU6diGz#MI^lss%;m&0gqL88eq`~+8o@a4 zKISwqx_*X>Jwm2tL!*U>yvbkqMB_O2Ga7ba(1CX{aCE*7UyzM_=2hQPh#wyf2R4Wh ziJNE_*aAWb%MCtHFpqYJXM|#eSAev56#gNL;=zsr_SuMRDJsk)?BO0lP8Zm35$YfN zFt^uiEWAe>go@EZl2u@W4LOEZ)fioL{{kN=l*cGliGgl)fKnxe?vorfpOhw-ZgBs| z)>oJKXEdMfLKGLguXQERe=yNBd0p|}SKce*vO|BXD&=v7U{$`CWN*2k5-}|c#{db= zI#g1ZDBw0>g1?lv(qj47AIQH+UgECG^_4gErpL;ZQ7NRY-$kE_pZ^S1Fj9QIVp_L4 zDrf1ycqahLY)*9{Rl?|GRI}r>3^1g#kgyPqn`1C=Q|O{mW&l&TjnY(^=HiLdWDW~z ziTBt9e~o7_T#XSZkjYT`aBx8l$q-1doY1WN3uC1FIS4isyzOgFQe*sTuC4m{ET}rm zXks1cWlWsKtd_gUpu|;D(43-P0n-_&ziXd+Mdof}uxWt++OH{C<(A6CiGZ1mF@ot8 zrbu`wAN84o2nHCr{yoHP?Pxt7SvGAVts>5nc7I&%d*54DoY zHcOfx7LK9$Q@uq+hb>eLQSi}Gu<^PKix@QPT9I<{;$-xw?`PCX%;=d}v7D*9U*K4! ziM)nL@KN|N>?)DMK0I`Yo__?Zp4FbnyY1aMK8F}1o5gcSKQxfP`xJYu9%ji8?M8K; zCsm{U84U1^IQv&fJ?^KPUYiBEy7DnitLho$kOhF3z!Kpdw^$ZJnd30(Y{h&6+^l@! zvi8=|)z=c>T%T9D9?{f>t^?<8xr6Ehup1Kzc`-HaOj0geH7%`&+{kq3xLlV$`1(O$ zMcyoYA@qZ&o(oM7FB@A7`t_gCI7dxS)9#ILsw_u^J}=MA+g(*ka@(A*^Ujpejl2%Z znV-^ni)TU~CyR-`aL3BMG(jfI60~{W-akp|?s7)g_ZUrex8}D>*lGM;>ffrIk@P

From e036819531fe8b3c43d90bcd660423c0b6fe72a6 Mon Sep 17 00:00:00 2001 From: Muhammad Sami Date: Thu, 18 Apr 2019 12:28:07 +0500 Subject: [PATCH 03/76] Examples updated for 19.4 --- .../Data/OutputFiles/annotated-text.pdf | Bin 0 -> 115245 bytes .../Data/OutputFiles/annotated.pdf | Bin 907020 -> 0 bytes .../GroupDocs.annotation.documents.xml | 1 - .../Data/SourceFiles/source.pdf | Bin 0 -> 115528 bytes .../pom.xml | 2 +- .../Examples/Java/EmailAnnotation.java | 9 +-- .../Examples/Java/HtmlAnnotation.java | 9 +-- .../Examples/Java/ImagesAnnotation.java | 11 ++-- .../Annotation/Examples/Java/MainClass.java | 3 + .../Examples/Java/PDFAnnotation.java | 58 ++++++++++++++++-- .../Examples/Java/SlidesAnnotation.java | 9 +-- .../Examples/Java/WordsAnnotation.java | 2 +- 12 files changed, 79 insertions(+), 25 deletions(-) create mode 100644 Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/annotated-text.pdf delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/annotated.pdf delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/GroupDocs.annotation.documents.xml create mode 100644 Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/source.pdf diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/annotated-text.pdf b/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/annotated-text.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f71424e256334ba695474051e5127a03e0ebd742 GIT binary patch literal 115245 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%0Auy~VJq#RcM2moB@$?Ar ztO*DX&cM1PdK7rqik1NLTGLYCUK?5l?7NYc z3;d(UfPgpA3ZP&|S_ve)nSKQ{yoFW)5tC^(P_Z+u0WzkbhFkfq^f(Z*3u?ZN--i5M zc~|W1&bveI$$QdTpk^jL0p#q3WA)~}X&n$W3w8G4edyOf(rj7}H0_Iea(E8HT%L5|QI1B40~?z}A2^VQWZ##MX%Zgsm}c#THN7urZ0wO(Z%u zmFRq(MB(cssy36T+Dzi<^%75;Ypu1`Kste{30hmNEs*X;?M9>sgiVwP+frhvg_YMy zluXjjXlJOEM8?(<8QVxqY%4MGdWnNKN*uHhu)RdU4$RHmz&;Q2&<)JXygPoQKni)FDuI)RlbERMwi>HLV@N{8Un1ZDVBar+aRT)QNu;wd?skcB zLnOxCAu(>K#JD>p#toAgH(X-e2#Ilbu@P(p(CsdE7tl@M-Drt-cT2o0V0W{-fo=lz z3fUMoMgUFag;BN6Og|%zDNB(07Dl@44o%2^Z|*X zvw0+s1bWuxb%A;UPal#<`jAA@g%U#_k{G&BqUXaBJr_yzd_Vu_xQO7wh)U(c@x zt_ciXC^2-Y#L!3i4g3bA3nX1CF?5+k&*c(5ALDI#TOg*u(3QL$ZwGX1&)WkrI{;5t zNIYF8k#sfh#5*BH;OQFRX$oY4p{pc@u8k&7 zKB5Ehh)xlm$?ZsY^rjd`wj-CWb>uq+P!q=>$L(~T^I7K$)ZF=#PSn~MU<{=WuBNW$ zl;XP0bsMF+_PPE+-CT!UCn&>hciU-zd$xNv4Ro(|uLhQiqyC$HjiWZUH6>-YiX~!hTWUa{gC+ExB zMhxyIXwUPHU9qfztAz{W7}rMEJ8ZnWzmKKx#n!u*x>vDHKyT7JfRjnnyCUuZ z&VrnScp!MFiUp4hkPE>R!PCHV!1GaN5#nXwRf^ZC_({bZ!J8Eec`M4i9H4K6zEj1! z5bpu+10Mh%0v|>C7l==RPb)qv83T5eepa4~Xiq4M_Q^IH4lpi};RVN{Y$I?pLhgt-C49aR-B*T;Zr}{Dk8O2+>OA56+WCX?oX!O6kr)~Yj?v@vcyMz) zNpd^AljJUXn%)cCPtTV;1hU`}kOdd$Zi?%$kFXY?wm3%wmS8z?x@eakWDVDnHE#wot*J7WIy54sk z6zsQQ*AdCS{hzsx2=?2s>!f6*yS_E%3-;Nn>x}WF>%6hqZP)YNQ319I=Ih;V{Ef!r&3 zC}hDSAqy^q4CcCfqU2cjG{FL++;jXm<(?0H5qKHoWdg_CtK4(ktMn1>b>JtVZ-l-P z@@DW>Uw+tpzGUTZ?w8SaaIwA<`p$5=dza)yoWI}<_a4c4`e%aO`*^nG0~TZ7A<22L zcd+{?(!qWlbAKV&ead~>eO5n@X_v#JgS{Sy&zF7diB;T4aWlndYb10@L{8?V4p8|KIM}^$fBTCg7J z`9ZKzPd_5Lf&Q6b|NYE!POxFunPfL)Fs4$Gf_a{o3wECK#t7CUy>WuQ@kW$j53o|O zx49lCImt*6?8gB27lK_QyzK-V$=*(qefN{%zR>espBaVTF23m!9v%{nMKd zeTd(;gs%zRJ0jTE_$9TkMK=&E^`_7hpeG1Dx^;Ai=wv-Ix~t&m9{MK9S&DN!bE5}(7Do?7Jkql` zpk2KL``Q%^Y!O_nV>}>v8uv!e0ndj#UyOsI7wJ=?m*H5e1pBU2@qT$-qSxvDybHlg zqMt;2Hws@vTfxzrp>Ne^8Sdx?f}>xCz7u)_=wSaiDSDS+zkNpU5nN)tQH;mHXRvWP zdY@oUz;6dQ5bVR8=u^?B1$*Q5 zBZ7V9jO6IElBdOxZ zB}U4aQJCN0$eQ`2tobKus;R)#CfljS0gO4KaTtZ&)#+pAuep$#`QpE2>ewi{SB1@z=79(6|!^}!MV75WH#5NA$Tjzf- zTH^SpygDmIYlW;O(Y+$QPJ&1gp?1K2T-0#>OPOD!e{I@j{seh0cCk0&dQr3eX^|4~ zuFUhJJiDi)JW8gomGWVPpF4hoy?2T{EH0uOugJaks`xmVniOs z$jd{dhvztDl(sta=6i3x_r834ot3rMUVH7e*IsMy zbN9V=_N$bg?4wi(4@3B5+ei*co26nl85b*t4`GfLK+e|z^)eC4)i;V=}w9DxDTuKH2VDpJQ-Qf%r%a0g7Qtw z;6EV?+z$)P1m#zt{1q(5QMXx|cmmJ|-@uHkU%(802s0Q2{+GbRn4=Sbm#{i$9m(ko zNq<1jj3n(JfEOV?`~r6PFm!kwK6Zw2)du=@;Lm|Sj#1MpQzmj$S9Aw>9FHTe#t|zx z*Plf!Jv+kL=j!l7$WY5UG7JwB=Q$NNLugg1+ zm4j4zsT`%k+2J%jX&0qjw926MylR!}f^RUO04Lv)dAI(jLh-m0&WfqDe=UDVv7z^ujdtv>cqnuBL#w{09SxRk}QCUH_hN4(c6JL1~&(xV^ zwMC=&AzSFV;XT^F{r^lGAvfKsR}u>Eng1iZ?x@Opga3DT-LXHl_m+>@DR#+)BTMk9 zIcuU>{8QMAX>HItauhr6b-n2ta{a+|-F=U{*!@BGB=?8hC1^ud7FAXojz@~=Ub9`cy>7c=FSk#3OmN)8QXG>VA974_+@F!=ddoHJzQbKKTB`ei`&suP_b+et zkI$F7W#NC?=S$hP$8C>OuW#CJ2*t6&@ubMkJ)HYb!k_m>-c=EF9dI2GVRz6S5fS$# z_kc)v>>j&F@n=LfT3t3;T{c=>Hd;kCip@4!Nj6$lw)xhR%YsojtsdJ_D$A(Q>ane) zHnb{ij|9Bv%pna2kHc@nRn&8 z?f*<0p-!PvhPt#U7jr4%E)mPcO0kwsYMaD%u?u%6kBC#^oEQ*8PaB5avlA-7UAld_TOH_B$hs^lVST}#+fs^3JhQOX%| zwyc*M37bdtwQ@aSEwV%|rYI~)?hIKeXA`zo7Rd@(OxS8UQI=D@X32(}A`^r)$doLW zMTD)86xS*GOSxRSWI`H3Di=tuPu3B3mHN%&Ns={kxzZu)mA$f2IiwsW%5u`95o2j( zI}mq=vPU_i(D;>Z<$!Wr=^+cPR2t-JWv#MKS&x2Kk!I@%Ya*>zQg)NFTGlA5Wj$e3 zr_?L0(3$EL(t!GCraoGQsthPsWU(?qu2ZJae9ZU{M(Y2s-;byv-q)%t1)paI9h7s) z+xYx&-F6((`0SKm4QUl}+Y62s>g#|AG6nQb?u)F%+M01EqpbGSnCMevxteQ`{Ggf%GIR zV-yUt$Js6l#krLCaL$NIds+Jm-WjXs9BWt(cF9$Cfm7BJqR&+6BrMXamOb(KRM=8X8LcrJ9Garw>`Hb_lLQE%)OEOR_;iipe!{n|Ka@k`Jc?M zq+FGD7r5U?dFpxhuieMpC*3c&Pf@;l$^EkXtos%BZ`|kIzjI%7|K8nC`Rl8s*8~44 zdcC(sGsv72wJDMag)$FC8=+9_% zAu0*0FkUzc&lJiSlCq4XEF&p%$TBLV7sXby%(co4^9fyVytBwkDhsJpQ>me{{I*g* zs__4fRMxx;-{`_T%~V>&14@muoJzgYsH~yP)T(S$HY?jGJMB_B5run{BNU1Il(WhO zj-Y&JPZ^e~GFIkLocHj3I~kEF!i(fM$_bN|EMTQ_nw&`)qyl+nkz7JKp^oCW6~U3Y zw$Ojut-p4;TXx+RlSfD6e{UTAH%H(<7jNGYY2PcxS}}ZN;8t{f$9rehF$b^(@FXCw z`qPeO93`9!d34UBOm{ws+J4|W0F&G!-Z!Zn59yrzF!+~3|FZ-);N-l;q}YE-Z~|hl zFd^HMI3ET+4baRuU4Sl7PJ@3lAmp$nRC^L|4tRQivjuvfbC2^p!>oG1)g0BcD#=#O z{8mD|!lR%u;ysI_4VK|K5=sk0IUYD>LAeS_A@C|d^r%2XFpMs3!Sn>msP*ddS=SO+x~A8x~LU(qJgBZrPk|- zvV|nJlawxM&EJREM}NH{vpX?&B+pt|{2luS(6JAAw|tLGf1NX*xX!taaL(mocnV-K zU@c%C_(R~~xxD_C`NnP+!JqOQAmTCGmIJmk1Wz7~$fj(!&7*USM_sN`v{CC-@(Q(8 zeOgHM+v>Mz!#*`@p0H=l&#DrUtWRe>Dw0`?vuZ^_R$W$ucz@R8S>F^Bvs$t?iNDTz zE$fPyoqK2QcrhopKX*V><{ixYrTA3-U*reHqtwSeqCos5jjv2RLYZ`-ctRA5Z_wWy z(ITD_50X8P7XE@)zom-KKc$ z1@`wTX-AWzTX~;jzvJi1Jjb(+XO;Pm9>?>_Cmk<19m;2%*-pRmZD-UOQ?@yi&c~JQ z*^g(hk@oCwWVg!v?7z!ylm6`QWVg$3_7AgrBWWSU>BtMq@#~ed`E;l$Phx5bo*ZI->v^<_aCVz~4G5_xT zyX9&37u;WvF9|y9X&0#sQn^ayx{x}VPwPiAR) zDZxg49QDK^tIX=eVx8uZ_~Gs{5E~N-cE2g zN$Aq|=?C>*{iuFYKTY&=`bB+^c)Ikf`gKDX4uW}x#uOu9#Eb%Cj4|GrXp|UJiBe9m zP2XqCqE_3DImUcrfw7ocEj5-ID~y%KYNLthvxu|B*kEijwo=<2gwG#`MNEn>?`$6 zBRJDn;hX2HVwrD)i+oG8K7zG?jMw=Zv;loktMRR(nLX-T>s#kruh;q7d|Ql7zU@Z8 zcQcKs(AUoXrtRc$`F0!UeO-EksiC&nw~zdg=?8tizN31?JJ)y8cbfD$N1j}*b^0zE zd-ZnTpzo^hx?lJm{ye?SuK^DLcW9mdm~q};px5!-`BwSI_{aMv`b&%s|5Sguw@2IQ zpG9k74c1P#e~y2?e}TWmznE&5`j?SS=6Y-VG5-qxN@}~>-((c{Tl^b*tMsc{HRE~? zjV|D8GYWi*yu(@_@fT9Rn;7?R_3t3O!@q~-Xwbix=JdRG*e|?e{rmlg$l8Sa4|~h} z$Gp3Ye*Y=|8UJ}-yT4y+^KxJTIpjsct{@_0qsNoR>mXm~yq}2|>>jRB9@il>F ziVW=My}m_^lkX88Xk|RG5%^{rQ6#X?SG;A62UXy-I)XXAHt$aTYS0t(1tY;! zuqZe#SR9-jEDdx9r|E;inZb(SJc=Y;9Krlk!CA$<1Q!`4!6l?gGsU7(iW?gOJIVit z^`bxx&jtA^@L;Xp7Oc~@1*ZiYf~$gSeJXpq|BTlaT&Jt-5B{OxdZQ`WX4;wfyMkLx zoY$aff2`B4;CAje*lx@U>c6l!Z_XQ7XeZgMhS?)g*tPLLZjt!nP3aIw9z9e`q zc+uEF_#p7Bz;DregV$-M28<2Cqgqc$P%J7BIrKK|cqorXR8I5Q8`89zP#_f3*M|yx zDrbSvn9%spMEzu_Bs7&{Y^dDl36*Hwp;@6hG>^c&b2;{g=7$!97KfIGmKg=16+usE zrG7QEI@H9GKh#3eb!upXuZr+Z)OM?HcW8$`Gt@!!j?kW9n?6%7CHh{yH&_?w4DAmc z3LW+)g1veL>2NHxH-nS@9o~db4V@ydc6g1@8S3{u_1ho1>_6nI3JvK+WW7rE)eYlZ0UEww1 z=5T9xV|X)1s_?e(&hRd6AlylFQ5V=2?&b^?m`$3u5!ZomPxwf9vvxet=@;SS`nfRW z&G1=@vDd;E^rG-U_=?^|W4T5dxjx)YUQrh+2@g}2q^wFgXqmAoq7q&g$?>-YEBr(H z_K1f(IYoK%sCGQ!V>}WGcZO&9MI@zHM2aHgBE^x(-i4vONNL!mwMM3qoQ}v$idwCa z3W^vU2{qO;v^p{`Qbj&+F0v@HBvKoxi!?-5Mb<{vMb<~!^hJ>^k?oQ8$nHp2WS@2| zaxl^xIT|?`IUP9{xfmIYT#a1U_eF)?8+AnUqFOZIZH~rhU6VaIU(>qY94#PxH?Q~T zn9vQaJ32l(FUIwv~c(4q@yB?h94qf4X9qAMbG z(Up-^(bdtW$ognYbOZT=6+^T;7aJSZ(IiVP6#aywz2O8wng`FG+?J>p zMfXP!`88(C(L=m)*?QLMpp_m=#0vFs z6qgKdB78hhO`O|fV`CFylk{`330ghvpn79dNLm@ipALU4HbZNSmQ#eh&ORTT4LFy0 zDq{;{)v+lAYrtOxmtS9S1b=v%Fq{6|8@-!t^wwoFuo! zF2n}(NN`o`3dd*m%+TuCwb*dbqiv22hgOFN;;OMAo)h;ljCC_KMBEpT1dC|b#}Q*+ zpgOqDXo;udMWo5D__%nnc04{gPBY1CDn2bfGt?h1j#n5f3C<)-HtSvSNPHgIldKV3 z7h4`ZLlU;etBf778R6F8I?6KVh(hz_8)O(?q;C&Y$Cq#%jxUK96A$?k&n)TL6D%@H zsP|fPR~B0yue0=Nh_8yTB@JnJ8ed1A&>Wx1^x)B0Wqf_S%{w=EouY(CuL{zd7;$5g7x7wl9(UMA{`b)`#}cO!XAlE+&3Bz(k|YADlx>K94sZBZzN?rCz%C&DR7r} zSJKeB!@KnMWJs${8i|r*g78A7C&wlygjM*OU~BL zCi0SVN8y#g7cw5}ri?i@SxsKLA-0q8#0tg(qwr)6?@wqCSr$)4W(Mnm*F*c0%j2nJ zeQ-CQ1cT?2jkJfEsV_>dF}5Zflg+drNHM>+FIsXNj(q~1ND|~HoxJDq_93HnCR;;? zynV@yz-I&B?428KrCm*Na$9m|a#ym`*pci`9`GhYW0F0gGsz># zRr55OTANyzTAyl5ZAooUwWoHcx>Ea62UESNqp6dr)2VZ*lZG(mq%Nig^|sX2)b+IB ze$x*0dy)H1=b5KzoSiT7**UGTCg}h)xp+&Hbj%!u86o+koG#!qGC_=sPwpfc=WC8j z+?M?OAZL*D7|tN+@k~iiP<>^`JIqCW71@SiP?F8N!q!(*7 z>808(+UInqm!(&vSDNo4%u|1Qb-F3tlHQQsl-_E-b1>~@zEv>K@97=sj`SXLM$GpE z)*B4Gui#dRrRlxt{h{*oq4eRTD_xR4mOhm}lRlsBPhSo;L_9(ne!)I0l($~wo4muX z@txn{R~f!F3pe|Ox)bm@yvvRO{~6#A;NwCW`LV@QL-2DJ{$sq;e*^IMcvJcWAj@=H zlJ^1!rv;Y)P6R|RBmWEVYk+vqJ~A6`Q!fE;=6AW=c4TM-?^^BnTtR&n@Ce}d0Oy0h z74OFnfP%jGCi}<$?g$%zna?Lqvt*OPx3dWz1YFK{;v5Ele#ua7=CR1f7*}V4@)#(C zpqvAz50oax?FM+7KzRl{yFlq?ins9JYj}PKkzS^ zIJDK#%K`fvxP!@*tKfMRJj3YaWk`D&I$Q+(EF=$u^L5mkbFrT9K9fh4!qfOpV`Nb&y010j2`Ge^Ln2QgZ`U7u5t5W-G1lutS&zmceYgGx(ef){0`U6Othk5LU ztuCQ$#H5>=pzU*@-wVnO=yoSGe+px~6JtDzPlzvIE|y`nK8q3U24xs+p9berGt%<+ z62yoZ>&$h>6xj%U!l1N3LLYk1=T)Fig7?maoX?^*50a0AVnf{90`J18ZHs}wXj%q0 zerCb~ccE6IulHjt4`Q8m!;{a!0*BD=EO3@vmO;eB+*Mkw5R)Ol5bN{}aDEm3^8n;L zXW9*#+=1Fb_*DSX&YRXVeIE2X%vc2YVf2*;Xo z_9NJ2lNI4dc&)*1A4IK_zq{Z#Z2Bam6`7gQVR{rOz{g|lzhqh%u+`j$z#r~|9K;j* zDzkUcS7Tnji@sLFZZDW|7;Rqz=QT(R0nb8=dK#@Jn(G>~Hjky*n?dg|qZai1BH$uW zcEg@c4*uRlDdg*jlMS%jHTcrc!TEFaQV(elL$_Kp!hoj{{5HT@7{%l8>XYWYGbIc0 zIcGlGJgXQP5T2IZ3eQBYam-*!Rxwi?bC{AP(PJt6tp_-woc%%c`vY@bKt5(IdmKC; zJ50y7fg=|??tnE)%=H564PbT@Si``YdItUw!$@l}#(MNS8@^O$t}iQBGDSn}PKTL; z`hb^Wr@^(KFy-6LNXrpp5%jEN{+usDw{DCb`&dUcM!gKZ7egQTlA=P+XCV0;pu=u@ zV<{rGfg2R8$wy2*->O4Yuj3VjSvUY&9mRU=!yFY_agudgX!^OiI`Hi}8{kpX!icvM z(C=LM)hu(CA^EVm9|I-d+|OVKc+R9_RelHfi})VQ^9*IawZCONg0+7gW4sfbe=s3> zuY*wmA#=yhcT%N>UM54Ijh0QY zhv&Ox_GxB*G~*R&yRb%{gw9XFLtq*8kMOjo%#(#xTY!B|fb9)BQ9 z@P&Xcqg5H`yFqyjnQkd=4PC;w7+)}P#HgjP+e4855at)_$dQeiMecUY0sdjkNF{Pa zB`5)m>kw0DZ^<+D1V-0~?DK@_3Baqs^D{Hj!Z%(+?QfysPfQAQ{ucPpf`0(~)#gbM z^hfc%y@_a5hmrOH+DvGAIM>>@m^t0F3E*cTVc5)TfQKL-k%2OP1GhpBy^3u6D&w~O zptL}@&th~7)bpfUoyy;RT40{?&~Fv|9IJp%e5? zFR;JaAI1LJ2j4E_?>nkJ_-6BXP#yzk9XzuiZSw#t9FwTkOLmGd%HKosGR)3>cD^nB zMU}^UANK7}+DV!%SKYz5b>1B0(~#PPbwoVsVw?hSrdDw#6~AE~<(JGOegn!SrqKCx z5PL9gI}LK0O&pTPqsMH9;uV}G76ZRzo-_ep1bp5+M-Pu7h<7GZfHDp;Dghk3AVp#X$78*_AH_xv&fC+i5v5thwn(u7JS1}U59!126Lg%IUbW>J|#g?|xr7Gd+n z0kuWbqa8gqVu^f*%pP=gavWjB_Y!`de|N$56Q(F*`8K)oeulP*zzdn* zp;;3Ck>ImTmyfGa!XL47;Xam5u~kAixAt3_^kp%M-?RB zVCXmtyd69>%&$5?>4$_0-~s560KS@`+GwLSseA~n#xk_O4*ACzs-Vcn7}9!(38~~M z6cvRt>uWWQ7J+;6efg366lg{H z6u?!EFSgCi!3{X^Y1Kj;d*{@Kev9N z(JZz3b*Rs@W1My2XQnhze+}k%(Dy2;UrRdj^LBafrqgKMMwj<$dwb!r@^3D&UHEs4 zGGou^#kz1k|Ath?t_|-}wo{*@3%AP@9!sWVbYq)wJ043r^_j6vrti^n$TBix+@0U` zHao7eo>ZUVzuAuK_T?YEY1@o!e)d{AFn%=uB%Y`9&)u|p=9%f6|L6J4JTtnpy^8P) zaX$R^ZS(b~p1rsJcg?rP{a#PYF1Op-wZOE~pL^b%_l9?QjvmKo z-)H%YT}v}@BlAnFz^&)a-@Ucgr>n`;a+7C+YZLd&exHfguC1;et`66pjLmN9W%;OU zuWSF!F*5%l*J0N&l5xs)CbP~nZCvMF{jSTdA=p0Slk{}ma7&iq&T_kM`fKKC#X7g) z4!INVLf~WF6Wo*BQ`}|l8T@Oi9M|!ysZ6VO*SMFv>%rG({Vwk9b4)hmUrv1ooz}m* z+1<)xb8o!WN2Z>CQYVZjV>D$0f@~tdo1EdsilgxI5k5?gQ=~ z_YwE;o3?7WEv}9l>$~Qn(J{p;?mqWf*qO@(_kjC~``YL{*fjPn!&pX@0`&dn5ypMQlF&kD~xPnBnpXNjj4pbg6 z=Tc9bXNzaMr+swp@$B{>7kT!18em7B-_g0f*z^O>K~FD_7h^o?Iq5n5uk2k7d{sx4 zpPBpl-pdDxNMociQbd|Yj1iGiM5Kr`QcN*Tkw&CQ5ox5DQkt?z5fPE47%5UjWHF1F zA0o@vELNm7t(YQG#1vVUMWhs4L}U@!6cLg==Rfzp-1l-55+HnZ`@6q$?z}T+&YU^( zap&H5W~SR=q&wQ}M9^NmJF2%gYGy`OMovcWjJ%A3i~)Lo(~Qv>B^l#*KhuozjEdy3 zF!b5yKU0F^a9j7;7m(-2^K)!npuL5S`#VD9`(vU%Kk)jA-+$wM->-9$kx}VApC`54 zGv?^}_V01HP&wNeYZKaX@b32;GpQdXJ^zAZDf)fj9)Ip9jY$djw)CBsWY47h;?K(D z=W6nOLtwlM-u*i9$Lpcm-n=)i-`_H-GL~~c;9YPtYBDxr=UadGTY~sJ+?VIeCg9z1 z<9(R(3C@rG{^!q)z4SbO^K&9&U&g_BzvsS3{f_%zP+rE7jANm5Z%=N<$&AK?ewZ{y z`C}39uA4BA=Q!%enQmrU%9+gWsV48Qo7o59p_%!q{WA+wCuI)I9FjR4zbQU-dS(&g zDK4`(vlMjV;kz#bw7!{T;F*{?h4bQfRqHvzvw1yp^S#Z7DSRKl)yf~(=|s7^nPQtq zv3HPFiZ7EtY`T-eFChF1hs{?I{vwC%Tk&&0*(p zgzGshAzwhg0*?fbRqC$b+!@=qGIk-^gk%T*R~k!n?i_2r!q{J{jNJ7<^$%-JI9A;a z`FTjS0pU^(8%QPRBHx#h>LlpUQ$kM@ei3Racz%WO5nUE&cmVoLL#+OO{x2vsQW-kc zy`cXH^aDusJ75bu3iJ$wUGNVD{~FL|f&L+AG6VEM2sa`87&O5@;Kl-k;mcuEA?+!I zAB9YOleZ(Fn2>;2g;*no@_rSZ{{a0wB=iIS4dD49cz%cQ9}zyq;plqQ7wRs8IyF(J z?j(c@5q=Ee4H=mq7jt$maX&X@pY|hTTlgLjVZJQCkr|(hWzh?J_fqo0eWxn*Xn;-p%3^a_$~aat5$-JofPEm zrZS9*Wf%|3_-iD1Hh^*~uwX27?5l|V8;5C3E8~9zAm@KU=?R_!@T@>8{hfNO;QbDy z%X@&u628SfDrSlP;!EN&F+gmj>sIj_x(12giUx6;*hANcP>6$I)>HV2-^_MFt7rICqOQc_N8G~FyyiwVo zo;4@ULjIqC_nt8F7@OJFH28{4<5A9|Fx~{p_c$zX1b+(XUtw%LgzzZv3ZTncG* z2v7Co)Z$xoE&JLbycGCm$b0}_Q=dRCO`tr1efXLg8z~6Cj2wRf&RH#AUyb=3t3GGG zpM6g74f!qBX9W9CX7j)QkZ>#TWZ;oHjI`C*uWT3g;LvS=|BK-^Fo|$4Y6E>lUy&#B zML+Rg@jg)~K0qztgJK}n?g*;cA~8yg7M~Dzi811CQ7Z1CHZ()b6m!H}{I~Fu#Eu@s z)r(*ZTG%8p6}wK1Z)e|$r^ODjTkI7F#9_jF2`{1RsK1wlTHU-0|0({J|CMBlk;`Fu zBVzxRW7SxMe~0i>z>C0N?$Me5G$;kY!+|r=9}X}N#j=-k1Ni$uLLa0$2K)$knt(qF zY{I|!7r@$@XW1p1ta(56s6PK6zHY;lz1%3Y%k2ug(w<|_r`)UT<@PGOnsAN1(XJ)> z77Eqb_4ZDJ278}<&^}@xBic#3(LU!W$92-2?oKw%B^dW{^6f^a&>84t+ee%sPQEkT zu5yZ;VyBeyDR;^!7nWL265^LL(NW$t#c}Ob&NPmk+X?3OQYO2J6nmjk-?ck za%!CCo$X|gbHuyL*+WtlB=}HE+A(mNI{IDb>}ToDA?HKQQ5IAS(zMN7KIBUrQbioo$u4z|0xo(uo+uccXySY8=8n>t0D=w|h?TgX{^Cocn zx&5iWs<^bIC5L?A@^eb&WW72A^W8xS`X>Ozt#Y#6q3#HGlshJ_VF1GDOmoM!Xr53C zqPyd{mOWq{D37@Qm6Y#Enm-m1o@$?@JIBniE8XeN4BjQio#!sJtK22-GIu4ljpb;k z`R*FK)?G(j8{DVdr=3mivus1M>o#`>ThiU_?j`x%DMzY9_keqtr0#T&I)&~D_q2O9 zA|iGqC6XD*isVFkNAjp$Rz(U>o0LOjKx8n3dmvIkb%zuj7a0~AiMA8Brna23HZmGD z95N68M4bG74AH{B2tOAy4jhC6kN;7K1aIrws%J6MCSWp zz9_Va+E^Ohs|cu#xxFGKxK`0s9jS?IjMPT9P?|c*p?9P{vNO^U*+Axu}Y|(X?oH8^_$ zi55ljqQ%itw`a7>u8mIQT8d6_y2BO~_Q~k9=#1#B=v=3aN<}>|x`1GDbZ&GhjWwI2 zE8_Or99k;c2>lN!8>lbg~4bE`l)%|o|Y><7B+AqTq-R|sTkz=u;u@SLR)VHgMRud_S zjp5NYHa2oDHa0dsHYqkWHr*M><00u+WABXar<`We_G1X6OHrXzl zYo1EcV4sZ5i!F>TA^Nh|%GjFNI;Su)(mfE{5PK^2v{M#)HnuIcBepxXH+CS>J9apB zG?~|TdZ!3IQgREX(2x{6C54_feVZG3R;6bEz?<>3 zKEv27#gq6X!Zz@#mglq@1pW>9>aZTM3&H;?C|Ijxlz~&vB$k0b4V>#hS%h#l!u7y4 zNHrhf-H>(`;jQfF#rxd)^9k|&rdcEnVPm?cgJ(KC!mz`zJcQUW2p1uC2q^vG>4uXG zWC>!^K7Eg`DnML&(_&o};?H@GequWqNOW)u_`l)DBaI zqDD%P*H&!-Xj=;_RidW4A^gvfvkfvcp~+6&cMwJyjTMkqg?aOK>`k8qTmkxci?e8ZEFI{esihW4F1pUaR0TWUcBwa_q5Ay!>#*N5p1uUF}a2Yf|i&{7UN;N3UQI;d1j6vA#&lSTC7^b!7txRAqNUvgP4p<*(|aT8Ar!rl6Bd%5Upxl=|MK~v=T6EYAyZz3 z?~hD5WxOA!sp=C|HE{S0L6iQSY7#^>J+&J_509_O<84Yx=Y>;ydNhxYwB59wN<#{!r>!}cVVLAnM3qo6IlK^Gyr}Iqh-%|FtUQIfl z?USHy5+vu3GBgG3eJW5tp8b$6>g5@2DRZ3e)gg57%E(vHj&XZ-3-J4QjvExH<3L=z z4*5RRyN?Lya4Iox{O%jL2X!~S`>2rgXA;YpI)-2@!T2OSgJnuCN0J>{-IMZc)fR#f zXtRD9;_aybi$HY0S3t(3cJc}B#t#_TE@E60|bY? z@KJ&j1g8nkreIu86PlK06Qp>2JSO%JsYBnE$#lvqEz>JoAP+x2ElZanVGO)bTT2>m z+a0gM#wAnhl$O&%PwP#PM^F&3Ra@hbZ~L(4QxZLGfM;idw7~?!QWBn1X(I_n6O<&$ z>eT{i;|L~r;mNvg;^50E_wE%0l>~Ei`P+iD`5OFom$t~eSEVF8OVgGUtV&53r_-vv zdyQwu%s|=w=R4UdZKEzP%2-RV#YFg)@pRRJ zF)7#&+ZmTT+TP-Kzi+ki>}hlS4~~t2zMgzfcrJ(CdxXOU^|;X38)m=c{uB26ztBB6 z7KPnAQ$ImFweidh%|GPs*GX{x#P&^hTl!min(hbb-3hV@ay{sy!Jn_j=U={Tg7o}A zA2t*FXuSXVb7Mb$9>3{1kzUxM1Nz=7-T#8}(g&u5&%Hgl=|htGV)7W}jYa9hQxfO# z-E==rFKQ`YdU0Uf_4v|DliG=A@AR_7HXFB*ZwKa?sN?yq+gigOK8z{+9Kz4RqozOq zGsM_>fwB1tWBXRd3fM%f`4H&q89R?Nmf%;QxZrVa1m~YYzZ-Z1V?)b-8DXR~e+SC1 zAoBpiA4XWy??u=G&H!a7!n2Te25=K{OaabC>?v^GgKz{qpcpaG{{ebGP<{yfN5)a; zA3<5%Nx+XGb`>NqL8@CItqidv5IYAl*MYtlcmXJX0!{@b9k>!$0sjwdvKn|AC{F;F zBbQGC!w%+TU~R+hz`q7%G4KT7zQ85Gu#fowbkk+L4f_8C7_qLl!;caBAi{OXu_wYs zz|h$^3~2*_p938>w_tyD5@A@$$pX*!A?FUzYas!2t3SeP5FQKsDkx|nRsq@`pN=TS zae0DIM{IpAfIG|`BTRR!J662ao#oCJJ*a-ZEZ*jR#r=xt>3+@qy0{T10_5UEfcM01 zj@=^O7b}Pri2kwTvE$+cDce$hDF&pxkn(~Un3|E=L)@C0m6|0!e8uw{DukR*ut@Of z7D6s3SVd4xP(!fM`&}zq&Zyzv^`hmh8s_oOtMTDrfG7F98cy$>S;O@Bxiy`Ew7~f` zfirGc51en4@8#9#oomw;3=~7S? z0RJj@5$EQZftGs zz}9rwSx%ZCaR#yG>?724SbH{NcNFh*7MvUGo!4SNBU(;psQ_Lp;-|K-ocQT4-GzT@ zi@+H9wiF*%?E_`N(g)=*%II||-38Qd7PY83FpoA%Jk?)~K{8#z9Fy!A=x`?Jl)AGbSg)&`XQG>qPI=%^S!kcjQK#4nr{zr78 zm?EL)@n^aQi$=OW zB+iJxiy`74bPW~f>H3INQi)-_rJ1;0+B91kE?pTBAC)l~6CabQGF6O}=`vm1Av0u# zD3WiHZxJ7tZ2EJ|r+y-3`{vuH6^u8=Flr{qexQjFsnwzyZWma9dXTqDxlXPV6KJMgBkq&y<$5tuZjc+qXL;T&Cdo~5lek|#C7%+LdG0Mf zCpXK@Vv78!{Hgf7{F(fjm@1!<&xi-)&*jfWxqMDOC%zzmA%7vJ$zRG}iU;Kj@&z$n z{!0Ezd{O>d{#sPX7v+oMA^98m8!$e1tuM?NR(Mc-rouQ52%HqV!slF4xCHbWY|O6{2%8&z&JUC-aOB(OD6P)>`v? zBGk@3P#cP%C%B43Eu9Na-ZiKPxb8}nmG+;ZTw{{B_JwkNGKp({C|606_A^kzo}T{F z)Bf&IoA>afNl#X3i1w|y?g`PpHP_e>?OStwDnxq&HrM*=8X6a(y#WhoX`1Wa5baxY zm4#^En(Nac+PCH!AEG_4%HUpZ5M*I@E+IY>+A3P}O$colt@-W?Z5gfkCWf|+ERR#g z`92$3@2&YJh1Ps)zWYP#zBS+E(Av+6b4rizbD=fcnr}*I-L~fYd}!^q=9?O#pXu3G zbLw{RK!|=}eB~kfh4FnMM87b;X|440*R}K){8dLPUiX@=exQD&{!Kll{zKKrBC(&w zw#0rG+ZuZ&_H69uu{ucVBhm@_hx0Wj(SnOCf;p7Vm~6_^(AhnGS!LU=_k_v zN>2{{PPtX60Pt^_1WY#qz_jAPxzpZx)9P8ZP3=&-)n0W#9acxx3A&$FXQ{#1Mv9SX zWEnX|ZzInrFa{Wd{d+uqm@(2AZIl?}j0whMqui)4DvdeDd|!^S$fz=w8>@_JqsG{1 z)EZliI-}m$X*3x7jDyAz*X(2Fn}y~;bBH-G}o>nibuhq}$Zw<1BniH)N)+oQ8tTEPDYrHkdr(094>DEkZwl&XMXf3gp zwP_bmuXryz2K+f-2fbzn!tm~ucYyLIVEE8$uW|7&z#nGZ48M8p{Ve|m{9eSuhhF=k z%5Q)IpL+q%c=0Zz{UvY?cp{)L0EP!}^AnH&FLwD=V5AaD5q=B8RlpYbGxWFt3jCD? zJY}1)5_%_!OhD|H z5JoGKXg{(L6r@#pjRe*|(0eYYJqLUjV*dlN&mxRf0qOzZ80frG0(#@g))#%`L3$<_ z3C|0DQbhTQqP`vZRAhYQvyrKh2O{N>FGQwAz8E_lYxHDv56tPO6ILYUn;lHoDrxiv|L{uV_6z#p|)RXidxRq8ul)iJPx| zbnzFAMxx~c;?j5rQqds$wA!OIE<+Ylc%U3Yv2}7d#j*~}OL8f8px7ddWVS!3+66-YdSR~*jFMbNF*9HAKp*8Ax;upQTVZ0_#8LGRo_{(_*8d|lfVE!+9v3=;C zPj87m+O_GW)*H{r`_VNqu1VMAlSlJ|0$h{4FHBvPlkPXgUD9TB?-@fdw#%gFU}uKQ zFFl)TAeXKZf^l6aKNow5Uw-*Lg-uUYzDfzox*&(HXgLjC+HxAYwB>1+2n9mNyeD))l&knKc1#n0 zelj&aKe>9ka9_$z>Pxz>b*@L0UWOjgxqSV0J@zuR>&}_|BDKeEeB@ zsb%PF{{GW&Li}lXr8T&aEgP<~EjylnSJ|@T8n7*^;!pAGVVu`>wlqFNxE^%&>vwxAUu~OFqrk3+XB+nCyK;y?WYk|1G^N{r6&?q+>5jFYH{- zeqS1QS^84v^Pb?n2PVHuT*`R;{SIrO-xVj~U9l|Q`mU@FIl`foy{Rwu#vYwHS49hM zf#U<;6t2!Z$Zri-Lj(W2f!`Xgh7Mg*3!R-oUH)3=xCUKU3mwxzf1~&PG=sC@?+E_K zZV2_(3bC8QH>mHBv~dA>_mRZ=N#^GwQy_ObBtPuQX6-xh?_TWn*y~~x<`#E~8+eCc zfbj0gV0(AdyBh>55FbouC8fQ~oN3NB=MgM4mzc}UmF60A9l-|kDf4ObS#z7YgJ8G0 z*F0bzHjkPo2u_=4En(SKij_%_Wgf6{tln0hRX{Mn8f*=-Mw+{=(Uj__Rbq{^CU~5a zt#Yfvs-(~yg89}Wt12noa%+`UO;AI>Hqx(JYYRag{i?TiS`F4d>ma2(VjUxyCrRc> zPv&x~kz_Vn=WJ!Wi8AdpySvqBcek_cT)U5*Z=JLY2?p9jtSWoBU1S#%l-k|RC3YF{ z6%$Ofr`Xf%8Rk)Y7QtM5fxXyXYOgR)*emSS_F8MOy`Dmwh;rKAY;U!nx3^n!?Cth0 zdyl=}T5hhfstIcBL)J$7RcniVoZu8`mTjN0M%zu+XvcJ-PB*K!)5GaW(2Mk}X!lpL zT>`(HzP??Yeop_yUv|DT$Qep7!XDy`VqKgu&RAzW>*7pe&77(BDQCJf6LGV{<1SAN zappM-oh8mfdx5jeS?R2C);Svpo^qaco=t2MiJYBi6A7)L-Fk1YrY}p~I@_Eb&TeO~ zbHF)l4Rekh<8h0Z>t-Hl4 zvD4f-x8AL@vfQ0+1OKv{+&af}cRJlff+v8t+o1Lpf!CwAYoYeK(LPb|jnTVI>ODYZ z6d3!53hevI>#T+EZ?h5@JBNCHGJ2Ya0I&n2_J{HI$J9G}YM&PD z?kAw9_AJu=3EJyPrh@`c2E8Y#_IHwZgZ=`f!M{j;8d!TD1$J*V^sbfCPy4@)OWM0iL%a41Nh8Gl5#xK7LB?tg71*tf%(?722l-JA0}XURymtv3hS=c;YoT zgMTmQZorpDp=Sx`*^HW{enhbfUUov)MUhvtOou)uyyK0+=2OD+nX%9|O!Q?FUV_@o zOYb~u&IQK)zXtk|3BNM)QDFEt8mK`-A(h_Y_a*2v4?5_P;WRYY`wQ##jCM$Uw$|ST zSi)-#evf(`2)|LHJ_%;TXONxqurg?VH$C#OH#Z$Bv=@gE4|iIUVo9Eynb2=!T++pS zv%2`)E4|eYMOP{Rtbi4{R#qj&kG^Ex;MdMD&lU%Urrk(Mnr=5_-wfYe+Bud3|Z4lK&jKeA4{&pL$I|kteV6BIkmB z9q=hyS=b|KXMn!K145W`>Vm zl)NkPA2P3E&B4rpSEZCBXv?ckR*(&^J*{~~Fwg7iD3l}SCfT^F-#o5Nz2wBpDBqAJ zH1Q8{HrgETYB%o`Sn%~{#wJ*$Kq?vn4}rl#pKyh z@7J!#xnmxm`hBsVHyi8g`J5)tJG-{@U8_UK?7;t^@c*St@GYc7EWG4z16^&i+_=W- zI?&hu`lA0;Qld2JZT;HQ*a+xrz#scs*Vx2LiX87BG6O3r7GL8!UpxJ-qvPeZ((gK^ z@3qwLI%?r-r{8td#@AB6>!_9a`x^g`y8_=r#*3w)Pu**8#PGijYTebFnqLvk_4i5s zcYUSMdvz_lPIOoB3t(?J1N+wa{~ce6Rc&wfvMaB7%hz<>TGe&bRzpB zucjwJXY3sOKYy9Hn*Zl_RBK*ImyahY&o|P%eY+<59@cAK4}pS}!Fr{mUIDCE{d((tv7T7s+ylL$SA7~`y@D32mJO^~^j76!6{*5{ zR=w7?8S9Bs9I#hOuXCA3~E{3FQGD`oXsZLIM%=OTMB)*(DAD?7wswL_hs!BZ>=i+|Nd)wvVzoqb#1vDqGRpu7LtILOaz`sX$Fv^25 zxbsMC`|V5W*0cr~>s^IDnFD7kG-0(W>5)gH`3UHl+UEGeqf6W8<)jMU^wO;%d@TbwUxk@Y-tGs))cdzm88w2sRbl>9r_V0CpJIC`$1GS<-?4$cZx*v(( zeLl}F%{b$t89Veh;~b1;tn6<(6|l?lmVT!Owe;3z*wI_lUj;haWb;&{MLX2%$eXiU zdN)~_&!HNLHzKyu_Dh~9(3x@~;ZZ%gXQ@Ut1n(!9F793VaDffW`VfpSqHD#aX{ zYies$kzFfc^$H5tQ2a&!TXF*4bVW;fo3O^Z2_wdNj7Uw`&)_`l(}aF>9zC=PWj~K| zInJYxH(?w&k2PZFVZ){kBJ8}sFU6n2?VWBRMS%#O0QjYL`6Wh_i%Inhp-+oaVmSN& z+C4L)%{VUmq&7i@&{E>(VQKJB#o`@mr%_B1{hmSeS%A5Ce?(0+?P;kOuNJWC{XF(v zXsT89egS(Z8bM}w>zvr5MN*6M)3-I+ zNt$nUeg(JACtS;Kc2LXY)Q=(ch0aN7KlKxrlzQ1ErT*3>rGB!*sk>84<$l$Y`oifb z2deMZdCx`OODl)9=D<<1L~dv3cex+R_PW(0ax@MR9Qn)@g2(be(>z+Sm! zVqGWFbc~N@chd#0^cL7>Wu6ya=-qj4xXcT$^zOm%8iIA;%ftvZjYg&^G%C%YUpz7` z#x(`kH2Agk4LpB00b>W0_}Qq8F$-^$}~+6JX!R!rXVoBODwhot;2WxZnwvDZ)9sPfQA-E)1idsqY|_G-~=wmr$q_|9Ggi4*&Rbm}dX@P8jv? z|J6Zi>)eU2aavgF*Ud2M=~*45hURo;S*V_QVbsPo9i)=|&MgS3?=7MBE51fs!PTX( zWnK)k!MTrKQhVb!Vm|4rtvO=nW{33Nth!O}Zvp--lR$a*VtG`akf-HYC6ujFRHn*O zIjXnHQw4+vsKIKO8mUIB5;aauP?J@;hc&%IRjN5^KBZbjZ*t4kDlb*Fsv*2l)v7J3 zPSvZOszL2j2h|aEOr2DX>YSkr*GN-&Mt39I$Tj*H`9`5J&=^A3Kx4R3WE2~vMw!Yn zCK^+WX~qm=RuFsnYOM1G_IQxCHEzG8#$028vDjE@tT0yVGHOal8FlG`I!8<2YpCpN|WD+NH%C|H2zJ}oomBcqI@7zeelN{c* z#9x3P2LiyEB{sMLc_>I`-ic$WfnM>Yc*sfJg5br_UqBNvhtLw8tLT@CboYRw>3SzceD_m-0@iyd z>K)zm*VKOpzKgL5Y+w$l@XbempD|Di>U#*ostR9zzGF#^IS(t?B@=weJ4OigA%tDH3 zAgpCIupCH<%b)>8hDz3YL~saXFrXU?2+-raNN zylLB{jkRqoZSrT^g#1gANfN(jo|%33eb?Ij>(=k{xu5s*exI3h=FFLAo@bu zOr4^uMuguj&o8CrN*7frQo5@&K<%EV_gzF?)VnDv-NI1`UZ-5o^yuxba&2a)VGPgH zRD13zd7C&M$38EYrCFk7c4p2u{d51yM(+~OD9`^p(^cY`In%XFDh)!r#mMo88OF25 zEaN$2o>5}F54Gxt#z)3xe-H8&4^PCCIwTqXbx31y%aOvS;A$7*eHr4lVLYnx^i)`? zF4S+2#j#B}2c>LB$&=Fy2GMlEzucKM@~dFvH$nA9P=0kAjo;7IUw(a)*B8*0czsR9 z?}CwE1?d9$J&vx#uY59m*5}e9=cbdI}_d6=oaXH0Nod(`)zdJhVDh^?u_oC(tWfZ;%o8>O~C8JF-$ddFFXt7%rK zm8;rm>J;}0i0T_Fwkq|$(dru(S~6%U12Dt9H-TGHXbhg=AKhb(GI1;{P`-q;Va- z3)^q1#i&~2`WxTvI>#1NtTh9@&q%HLKaDvNjVUZE#}H3pl^RosDJ-m5o8n%3r(K&G zYS;Al$~A^=$LsNkt#n?gx65^s9dVB23C!s^Zp!4&?dhld|80&`e|1v16jVQuVk^hE zIYRrx`!-LW^!%a|?c0>M_YCO4MD}jr7wX&Sz77pbc+Ml7^c^whIj#6wnGS#2K{)XC1ovJ=4_7N%eKB?;2t3HgHn{yss zSMyfXp5ST^^pDYvUoaTX$6?q?Wojl1_Fjx(`0P4#tG?_fh}e^1*#9x_LpP>}J&#wg zUCHp9$sZs&N98%R!%s(YGL}#rl}N4zyr~;td9O4iIfkPOtQO|fV06EOh$9d57rc(+ z1`J0tR9{n##;9=sc2BwF3^m?@J$;6=o79XZEk7(V4C7>|G3*Jvu4YE5Sy(v!z|>yy zJ;LOKeGn7Bg7LcOZu7^=EF`hU@)wd><4Q&nWDjgT$n6-JMUEuEm3HvFDr?>0O(?NY zX)7N|m{zXE#)n}tLoHTw)O21i4wKokusq!qCbNRD@|0guW~ywN50y*KtcmUe<#ICA z$VL!Rjr(Aq(8SX{%pVam!X#IyC6@%)4K4rizaO8RG-XY<;iUfMQZJMH8XPy0vRV_- zt1h>&Tp@pP4Hl*4mdb9{ju$r-`&kIo}k*JeJa1NsylhQL2afHak(;CzaL59{< zw?&#DVqK_44OweMjNe2ZVrnc9zgL@OV=3V+Q#GfdD!E6tOppDA%7dPRspdasp3!$D zYZ@P_>9Fmk=3}ZB)$jN&)nZelgroJl)IMWHly0QC={ExM!n}90&C&yA( zhLOBE@I3JVhM|*%z|b?$i1{T&7=8r7#&H+ z(D8I4okFM6nRHI5T;XgML$x`w!t!068l>7N*!ouUgw+gTb%u|jbp4TXIjORwN+!dv z?&{1OHSVn~r7Fp4{8fDuQEikUB7O&9>bpa#PJ=w7W;yoq@)5to6I3S4lUvxfuu_WS za!m21&LdJWW2)3?IYt)7u!k%~9v5I5j_I|X^oacbv+-S=)kn}5MT?!4g!dfSGmFIc zx@TZ6S$XHcJMJR8d*6{YkjCWp%+I5VB#xNv+oZ*l)ayIl5>L`@?A$J%)Po*P6LJ-~S&m}DooHgg{~RdS^~t4Bey@aHMLOxN@7Xw>Sesl77UVMM zbzDtuA${~chj`>%k^q*W5lJPjKr$Jmuf7)`f>b9Ll1reMaydxt8geVS3+K7Y`*H?| zoEy@VbRgH0G;$l*j9l_pGKAbqMutN9vd=}%Cl`?`$hD+1xsha&UZfuxNbV-X$pfKq zj0B;r&>hg|)U`uAN$Hw)ojhY!#bJ=MAb0A3{p(2nLb{UMNjAwNgUC>FpPZ2dVdTt` zYUBb^moz7B$aSD4H<2FX4$`0GlY7Vr@}Lf7lCw!oXce@;_S_B7Ht0!m$N(~!3?uiG z(d2Kv8V~Bl;t}g3rXaRN?9i)cZazyxOh?Q_%tq|nt5?4PYyjeL#IcBz5DO8D5Emlu zMBIybC_A^$ou-NCBE}%bAtoXwXXo|rXEsJ`ir5md9b(6vK6yROE{NR_yCY^H_RbmD zvzM8NI23Ud;&{Z#ee(L`n}vw85Q`A!BQEMQsDG}x6mbROYQ%Mj8zE^u%`J$fhzBKd z3o#})Z*V`JfS82X05JuzS#JMcxx6)Ed&EwNX^82Fnf>m_?!&VY`yviN9D+C;q8Z3X zA&x~XK%9g)wZD8zA>wSr62wJ_%LYhXg}4@R1L9`HZ3BS;z7ugb;y%QKh({z^<{*%} z6@?f?j75w?Oc>O!*8nRCu`yx`#P*0?1`TT1$jU(MftZ7si#QN*DB=jj(TL*^Cjd6K zCL>NmoPjtSu^6z4wE%H3;xfdQh->nJJ8M1SX2czcrHK0m=k@7j9g=7hL<`YHlyx@) zJCaN;ISCgf=T?Cx{5aT}s8evOnVYh`6AQMj5!k6FVErxwOLjTfr7OT*G>4LYCD^=H zV87ZxnZF7wY9v`EtKn`}a8d$&> zO#P|)D5+Z|;e^>hL-zK&yJktz;2d1?}ry+^JLq&2}Rv`VaH);epOwbv$g(2lno+O6#_PJ5@DlM_e@vJXJ4)jMiv)YzygQM02KMXie36tyerV6;PQsx%UHFe+VZ zrSwC~BWh!$KiDkH4-cNT68yCM{#nbx9{{VB0#>CRv>&=cizORcJ^9d<8BNBMNn{$C z2|cF;WC>XTJ(3M%3-loH-POiwTCC|dMbD1Ww3(*4niguhQPabU#x&40OVcTuF4c6e zqUR)PnxW}PP3LR6Q_mZ$`fXcDb64VXLC&nicPy zo2+Tq$T-i94Ua(tkm4ZIsUN}utEz!gUie6Mx(KP%F$ z?y!paR#)p%-2<4;@H>YTO{y80BS|eHH99FH%rC=tt8jl{1^<}e@K3Ga|02>~Z(^iB zIatB({+Im&D)?7M`Wvi@^k14>!9OfgV;T*u;2(*86YAnvz0V5da--3juGCaZt8sM< zeF3yhIzW#l9eOOip)WEN`cGrY1TuvbLT|DJEblU~z3agGZUg(f7c4LV8yuw7X}pf_ zfR0bUr-`;HO^OsvX|L&YMK5cq=}bjaT}`zON-fcJlcJY*&{W%`rk18Dnrd5gh1UEl z`f93eT(fSP>i0F%{5S8SskTKeMksovwn4EXoKnh7^#=WICBeipfH< zl&mCc$wso3>?GQbq~&S4O3@qBH7!-NtIox)T8cMS*L0MoI-YJq(`-$3Zr>cMsn(L4 zb2MF{XnKOCI=*ym_ikyY=`2mPwrA)XE2DE{u4fcS=2FHQ^v6_cX)DVY70W_JZ%x&- zK+*1+yY4#m-L;P0rn$OJ*O!@^+sw(D>fE_q=ko3PJw0?8>Y>X}Pi?h(>ROfX=lmU7QaQR@<>)&9&T)$N)^&ex z&0`;}A$|6RwTHmbcXVWJ(YGKhjnEJ3yC~9sSBpp=U4FWjP&Q_hOHe`dyu!sm^zW` z>5FzV2vg0>mtQNO%{xrabu}L&hSSzbBc_w?q?2=;Va{+8>)h`=K+ba>bRHye&O^?_ z4vm(f*p9o%n@n0cpCG6|n_u30uL| zkT^D#&49kgeCU11^$F|PCbo_3Vtd&EcEq$yVaA#@%|tWVOfg%S?aWSQ8uUrB%)a(Q z!XU5a+Akw5wih9tXTO59#9j<^F1TJrI@ex;wAg+P={$QW(h~c1VgOwRzG4Xd2GY6q za-_xfn@H!`E0C7hZ$ao{dnNehLFl)U&b3z|Eww8VZFLeI0;fUg8XzlU_L zy%uS){XWup_Bx~`_6HEU#9oi-FS0+>{B6+ueWdx@sQLRCLKoSaG?$-f?lx=g{-e3u zqWSt%^R-p;^_k{to91gf^0h~MeEooY?bm$$sHJy6^Y@eH@1W-IXO!L{&E+qe%fp(xUp03} zG+##*Uk*`xIaKlG7>X~4NxmFY@#S#Emt!fu99!|_IEpVPAo+5l6kkrX;>&RrUyi5v za)jc`@g-kQQ1RuQrTB8HDZZSu6<$Tl^5w)TzMOLvUru!;J?A{dpHoBe=bSI4 z=fo*4oeMOVH8q#DGBwKaDMn!5`%cZr(2I-0M#ny)0yS3S*Fea+X!$XBxF z>k`dZ1I^c^ny-eMuSUpMW6f6+%~y)%>oUz(s^;r*k7?RGtF0XExi_+zbjFC zEj53wG=Hr%e{B?hMD`EmUJ6M>_MjPUVAL=!gc_nfwCFSNJH=2kij0R)qroaqAu~u3 zv|pBy)no&->UNQRaAybEO%6cC5=CQZO_~IDx&>`dySN`hJ#m$DgE`UNpk0r-AE7G^ zu5Hw=$J~#>bv1_Dq+O4>pP);I+pJxWx&H~pwJN^z)vG`*YXS^Px$UZ;x-zwc+CSWsmEnZ2-yB*P;fp>2U-QABdeDB>1SDIs(A2FVNUUv+cF2l(9Axwt6 zE8|ypje{~C)P_z72!Ct+)aU|Z!HT+8{hobSP+m`kFpG1f!Gllf(J!rc@a z;%*8tCltPXwWvC4sWHx;h&}0NPdJUyPoG>GA^a()vBI@IP)ZB zIP)}QIPWyNz#E zn4l4)L55+>=vl#I^QJ=;dHPHxd2_t*ky`di*nT!;PhNZcHwAM}GW?y2JNC780h2W) zvuauKR&8R?1>|E^%4$JR>|)jc`d+DQ6dTR{#>TR7(Bt|Co5UVxPeQ+I2K2n1W6!g> zY#w`oy~JK&udz4STWmF3%RXQm*(dB%ww-+maqVW`LJw>oPx6oQD|sv4hF`_o@%H>$ z-jR3aX}lZH;F&y&-^uUd{rMn%H@}yU;3N4cKAMl=WBE8fo)_>5d?KI3C-W(MDxb!u z^Flt8&*nwEgfHMP^TqsC{yKk?zs=v}>-c)Ufp6mf;h*u(`7XYj@8$dXLH-LrYB9^U zqAlM#%R1XS*Q#OFRD4?rR-#qMO0w!($yNiaq1D8?%xY>iw^~_ktgEcY%S_1$E*k$ahYh1t646al5+dZg;nb zo9*U`ZQ={DOY9bV#6GcK91w@Z5#R7l-|`(l$`^h$Kh{t3ll_K%ir>_4;s4uz-k;~c z=)dg0>c8&4>A&s2>%Zr}AM6v%3l0e82ZsiS1q*_5l;~sVKi6V)L1LG%M(i^70DBN5 z_7HoR{T(Fs7)tD)>}mFFr4oCGy$2HeC?v73**74u@7VV|i6`?Gyd`hV+oHreRFGH> z@5}S}Kt6;IJ4uNxjF8y-`~&_W|5!`xEB+1tj{m@aszhSvSr;5fVvVg7kXSRTrPbPM zixSJW21dUS{bKY>6(m;EO$bS>p_}41MTxa@JGh-HNbEE5x%f(aBfb^iiyy>~;%D)z zPkrWd-}VE(=bz=D0CJ9tm<@4-i*l+`B_S#4I2HDoF52lfbils&$>=E9Hci~-mI`7VV@NC|j=kftOpAY53`3ydb&*8;< zKIHW){9?Y8FXt=yYQC0j0J@QH=AZKI{7YWS_warE06)Z!ScYX;QI^NP;+?E>Sb}xF zm20K)uHeeFvaCD#_UJ{f={m0K2HhC9x*O-lyNPZCw~2eX+uUvCUgcinUg!SBO>?`s z8E&SV<>t6~Vu#o%O2uArP#pG&@A^SM#;@+z_Z#?){Zzl1-_n21pXJ*jzRT34CIotUnD ztF`QevZPch7(5ROy)u_g9s@u$M>9%#- zyB*!m6*OwQ_)>f=z7s!*U&K*A+V}ml{d4_#{w01R|1$py|4M(hU*wng3;ad?5`US$ z!e15a8~kf`MUZR5X!t)XCTIM|zj73JoDlwKoI z&>znv+3@Uuu>N#Z*uJRK$P7J8Tb}(%ao0UL-&W4Fmft$%+zR>COMZEmVdS@=MeIjn zKnvz4z|rhyz_IKXzyfP5^rEk{h61*-h5@#*h67&ZpGOR_&p#hix4;j@SF z*@yAjd+^zN@!9+E*&6t4oP5?Afg$fl9Etb<;wZ!i5l18bO``jQME@Ja-4gYe2KgmR z&e=AIMXE)wAsp&-$VFCK?zU=G7BTaC=HYOES@*fs1r65vgE3K6_1Z%%^N)z)<+#_DX{NY1yqSvQl~ z)-Bepl=}vdOr7h039}NX z|87--$LLY2+K2=6ouGbW7ky7%jU^1vEK0z8HvpQ^Pe;#)o{3{z<>Ps3p0PT2GZFW6 zJ$`6;QddB>_x!{DLH}p}kpGMStA7MS2V`r{>I3b}8=$3m6SNs$Cvt8H)_>5Vkogct z%E!j!w-X9E8i%nOCW*(zWX$bkkm9?b$?uW1 zWIH)X1r5?_w1}3_`E)VePmdbHXk;`d@?5-2ywTp@ykXwG-f-_eZ-jThH`05+8|6JH zW{GFTzr}N6wwNPc75@~|#lOTfu|T{co)JZ2t|$@n#f#!4@v?Yc6pE+C3{fm*ih1G% zu}CZyON4B#UP8_T9+I&ZY6q6IGp={K8OnPf(7(ID?)HO{|4LYDOCi0Ca-HUQnn0h> zDSwGBq%TAISJ4gh3maN|v;%qC8|)47hI)5<_jrTJMWha?>kYyA>1wq`19GXn8@`gl zyQh35g}6)Pib3K&@u27}?i78%-&f?4Y`8X1v;wf6<>>;vV=76T_%S zeR`G{0l$%ABt4g&N6)7h&|0*%cnE%D#aLRG)}!M@Khcj)p;N^W_}vY^p<*bVL1)rg zbT*v>Ia7>zvjFnu6>-0~pT0(4r*F_V>09(|F&chsR*dvXowK&}OAe4U*8gHr1Pr7Mlx2-3R=Z1>GzH*O&r zjGfdD8n+9kUji#>FlCxa+%pqcu@$E~JU{B3g$g(fafeIvKR+N%|C>M*m5t(|^%I`ZRrpK1=^ipQF#y zxpW?VfxZYDCiUx8x`ZyJ%jj~tg02K@dxx&3@6t8&J-U{@PuJ1)pnn_b$Mh5WAG(!p zqdPzwaaNqy0azt_|2tNcd~p#Lr}U-{+N&xr7|BkyAmr|fwHtoNnj z3eik77cInqIAUz343dBD#nhM4Gr!bQL#= zZsKN2nu=TS8*+y65WMVR<6$UA253Wqh!UO< z;(QS&YKjDLp-2=LiD=;pUj)TjqMA5c#E5f5tTZ?n-gxitUV--yZ-V!zH_>~{ zo8&$2P4=Gfrg%?!Q@y9WY2H7*>E6G*LhosBhWETT$1C!Ry}8~zuf&`0z2Lp*E$|k4 zFL^I}i@aC7SG~pF5^t&Znzzh*-Fw4Z?mg!{Zdcw4>CyzSnX-dEl(?`v9sKmuoC~b+M zlBUYpKcS2rzl24Wuhmet*6MOqp;UQewXRpCtEXEIl&&Wmw}3{DHO8W@cObPvtIrD4 za;3ddpzX2*NPUmg_VZBR@DReAm7*=BZRC}iU&fg zAB5w#=D7z|+T$l&y4}hCRkuiB{e}-T2skR5^$mtvq^0#``VXuJ8Mft4$05RK`zGa2 zqRj26p2a5Bv#o@u-@%^=i-mYI)wqkjKd?l4NfIrrS|(lQP5v^;rR%`#z0za#OVBi< zDy0;ZmwG>LW4c>4IAo?v^;IjDTi;#HRj4;Z{_$lco$-dgXJwtWFUq2h=AN5{FOG-i zmygtJBC8uuJ6$+LzU+C5y!?t`;{1S0qQUNOSwRqW@Nx7B=Box&F-oJg=U%ituB37^ zc{LHjLOP>YDH~?XAbo9Ti_rkV+gieC9xW)w)Q(aA6!Vr2d=SoVkmf1Bp?R~DIpLc1 zy<}i(PovoD0;oRdoUC&qZh$#7W>b2c(D9g=u$Fb=osz}c0Lf&|n^TYMZPd#C}bE7w* zpF{U1E;Qb68DiM5Od~f92(3Ez>aT;odo@>Uhu^#!o9C-uhM>5eDk^MTsB6!5-L@^h zu%!3<#`!Fbzr?AjBauJHkX>lkn<|^1-7c>#((BcrYdY&e<^x$1TSv})noA<#fwrh0 z*$T-@U-AZkS=2$2_FBk|oo%%Lec%!QJMWL4T2O-5hHqNt+9Mk!O_Ilu%@t6xd5VszDy~DW8O_ErpFv;gpaSe5>qQ+?J^1{lTJRb>%S4n-qAon-$O~V z<~LKJ!S_B77%xBzF@ypy4gs{Oeh8*DXUJcPfFuhH-s;%}Yk!tn+ASNw4~21kM2$h<2+Z#)*mci?UzAiW6>|N0>0 z)oru+jB=BlJmJ9%U%~B`w{DP2{L*d?P`gh7-2Qor<8y$m%s2?RFhF1vJ2x5Q%CY=> zPktlisZT-e1eb|{6F}Cj88pPoPfDQ>ll)oNw4i!s-ue)P`$*<(FLJaw?hKv7Lf zIrLz-xmq!$``bJ|KfNuE6G*Q=r6$>y>q~z_O_r@nPt=;Q1rpzkt#yNdNXGK8B46Jy zU-(;wVUR_j&_bsDD17m3=(f5`QPb>_l|95G-DenSo50@blc|@IVYtB868KYvF_Ck7 z(ZrooQL&KNucn@WoZ%ur^spU~Ma;kkdUCs7bJobmtdW%C_Jw((_R?OiPbhiO?PSFU zEd&R*#gazQ<3{i{{kw+4I;F63M}}uDd~%P5-&m04W{p%@ppLtK<)pMqS@<%Hlx~9y z&eKNA#1)VMP-FafgC;zh`9c|0cp&p7DPorWD0l}U3#aJ=!mh7Nd=v35p-WQ}=B~U; zOcTwnaDN6DOd#XSa2BkCM`5H5cK!BlL<)u{`6eyIDOf}w!OaU|NNvR#yMY1QprcI; zoZZ3kVjm}7dHoS}G2!C|b)b8|(h(*&2L4+$xyxRpCph5n9cQcJZ-BU+?m*lPhTBKE z1@Pxn04qRFPcdRvSMhlo%<^=h^^p}p&KMcMpg+~|Lx?ZA(ZC#n!N}ZM3{2p3#Fuis z;s=%?rYqTM_chXTAKo_x7@l6(7QV&v6dNrhiaL`D!CXkWXBqCebXhw}n_XF8<^e`s z$;{+Sw7QC!Py5()iOCj4NJkcKA8P`x;49tqbNwm+v-r8UvphD8;{>x-HdN!)&jKMB zyV5pM5b9m9O&El7m$R%t9j~qjzW5l>Jg;j}f!y4sYgd8PJiGY94z+n;@ueTYHN1Xk z5y|yq{g^QNMS$CUicNZ?-GVdJIf=S%OLzTIOBmPO!)zUqU6a4Sfc=Z1`j0V3?;7+4 zzI55!cpxmU9Gevbj!ZmiTaZRR_{V1!LWukB0F>M%Vv#GscYU0LGV1w#6snTTKDmHW3$-&~}uyixSr?ku%Yom|t*vr*|>qRfF&aIQv{ zq$TNi+9*{qvQ>3$=W}e=_}b|}irMGK<<7H+1{>ub{D9?~SIb!#qFQ=)eb)|-{n@>0~qyNyB!%*^t zdgZ!p`OD7O&X3WBRcJ-qobFg{SljHjU*{KjUx9P6b-$;+;%i4+)WCM5Z|y~NJ=Zc6 z$)CetfDI{v`J--VoAhq|;nFEIVX6zN3Dc*GBt zsXX`}1K<`^(D_otKVaZl$hgqmbDq$hHW=h)6^=2Hsd2%p119wgDpPjZBK#5fqqxPTopt^9tO>K}lOaBH~ilNOlB zfG(cI>wrf95UL4w&!Y$od?Fw-Y!>hw&5Rmf1NaW682ACb&IR z5h(arKvEcIpbla+vI$BLW&{bo4R97#9ypIs4KP9KA&ua|*8{r44g=-^)o3PoJv0$W z_-H`*#GODvL?`5RG<+3cHcT`S_A*c6CE$qBCLVbK*^CHZRvauVo|`2N4KDASkVRaSLsL*d zQ^5M~_Z_I46md2%=fF+G0TgHIemCG;U@P)B!hQuH5)3r}8^H@_6N0ZUG9b)*LZ?3Q zcwG70vKz7&?xs*24G;?R4!A(vLz%?dM2RDV86xZnn{q#^-U59(U08y+20iQkW_}^}Y$|}t=!&eEn#`!9 z0A60FFL+Y}Z!^;Y=V6QvXkc{`s*~~ASEh7lg@zfktByT2&^M`=}?}*G1B=Tuqk&p*EdP4_(N+;cT z66~Wm!PrOyUc%nleyq zu2ZV!6GzP_8krz*GpS6OAQm$zTbUp{GbvG-plj3MKGWb-(_l-}U;)!$G}BRLclW*CR zeOH3?o8d23j$b_1KNl}9KA|>nVC5#ikK3Tc9wJ~C-^At(zLxo!AtLnSjmB4~!o$K< za`2Zb@>VJDVCde1-pwm+P4O$vWGS%?7u!eJVk4KPmD@5oJLi{g@z44pf`fyO9~|!c z^e1A)HMWduvBssMI$i9UPwPUv^HSlvll4W~}h& zL?$Uyt}VpzyJUE3`KZ(P_T1!Mo;vK%u8AbzH5a}A0`~W2NHEh6Rr()mA>6qV^EVN0 zb)R;U!n4)G)URp9?G&%fvGQ5Q6N4RiM`7FrX;$RAVmJI7%=xYZP3$#>u+hiw_#Q<) z{PY#w6#}QRe%i^qwc=81*wQav{pwcv0GPYA)Rqk^w>=e(L9Nm_c-1)SP<1+V_Hcjj z`ay4l?`Lt$*dQ%cPO|ubTlT%)#`&QNWe!AKP|U_Z;Xv{B(_GrOME#w6THmbeR|yBA z_aC>%ro`=jmVf_rHX!tqmG#^jH>INAi|Xh3*>h}@*f?=P5u|MSq>%V8#3AxHO!A@8 zk%V+xE_&pWf&5qm&NfzgGsK6%M#SHI=CLv5`uW#89(BFEh!t%*UtPlUr*{`}%6R<_ zA2bv>cNesIr_}x$eD~lCCGEE8o)40iz&aK8fV^_A8c3J;q(UVbog)^K>GSrQD13aq z7>{m;X8WOsuI@$&{homKt?5G!799!>a?DNl_|FzP?3+EQM;Bz05kV@Id03dulLJ=? zYbQ$S0qDG#rY0sU<{+9p+7?Ul7g|?tUf%{;=f~`&xyX{e$|iO^iEF8DeR(JfnyQ#< zy)^WX+^KB35F^GC9R>vWRGqJg=o;3^m-g?!8g{32EU-k&0(>JxYmlArlcbTWEy~G0 z^?Ox+5a~JbcMg*+r&M6^|A<|g^ONPEV=*T)?=<#`w*6;@qj3)*7Knf<_VxEH)!PJZ zfy0|jt`4&Hjt^TeWPR6g{lpbzfTM*3#wG?sU)whiv&n$CB4J#Yui99u@ltc^ax=c7 zN_a@%DbtuugZ9a4+|lXZB92Z#YCqia!z zl;TQiq2-kZtIkNg-v?^C;g<^k4GVyE*991iS*?>42O;u+qPObGB}JmSbzPK;hUzPX z3ptcqGBWx3?-_*w$udr!Dqj#av1TN2R2f{MFN1~ij^C3tBQ3|!00-BMt%!|F#&YFO z{TmK;x#~hb%v@SAEWQzw@R9UbfQybiWIrbu|vi_{Oco(y_y&tjHYCeIlT$!EjcK8vZBXo{8MYlW~Y zC+7{SCBJ9SJi|D(=YJFrbIWaZ`V3UPRzrGE_YgsLN0kW34a}9um4O9I#NtLDsgCoE zJE~r#Y6d(F`W*B*FdG4i;f)EVxd2-s?vjt!=I+3VB*uab5tI;>P?Z2mC`w35Xl>}} z0B?*7UMuEZlJTt#ZCJXPx~RIix&U1aT@+m$ zT_jyBT{K-hZ@ddJE2Led@$lT3T&3KRT&~=TT)W((TjCvB^+@#(Sp1zN(?`+J+@@gf0Pi5le(MYv z-4E$zW)hP`+-kY-`9dk%Njm<$Ihcz?)hknLReH4Pc+*~3PViO0RZu&^5z-M$5~qgx z@bU;3ddo;m+$()6ZvHnf73vEXyLnO8ehkF>xj$2W+z{N+3l;1ji-*5j%Q7G?ByDc? zBHTYZE(F%kFE6S|yi98<9`aq^#Z>S37@ATaDq<-T!gtOZ>Y^NJh8*}D94Q`&yri+5Q-LanTSrOiZ7qXvnLpnVZ)9j)!T@_l$qhcE)XhzrXj^Pt>fp*RLS!? zA}8*GK*m4tfg}QDJ+P5*^b^GyqnJzoD}C?zPwxx5UK`+`fg7Ti5(Ea@C!Uj?=x*AO zAF#ZPxl=oLf-m(Tm11LMFIPmacC1#skPBQtumN_4Hg>97vFS@U@=NhlYiZgWyC#ci zJff9&e2RHq!GHas)}#8;)y)`l4V&;A`uXm2J)xFn9T1a~Q^F}mtf9Tb-tqq0%MH0D z2@e5n4;K|56Fh5Q(Iy%q()*f~&XomSwbiMm1tocpHD7(_*9b1cVo2Jir6r|hrH=@r z_q$1*RxfA?c>$TqmBm;Zsa4}MrpljLoJpAsNEcfcp0_A)P0qzlj?bkDNg24ruXpV! z;yj7jV^`dk)=zPHvcB3z?`LzZbd}O`U)+z~(M|jq`Mdy~9(hOVo|Tx^_oYEn-0pjjX3Z_QD5&KAqZBkIzRpXp1}SjltslZBwL5Z^3ydrQ{WsCvEeLhY`gk zRe9^gPxsS;7PFWrnniKYSlEyEYwzppzPvHA&2?5g2tT%DfCQCD*l>Hv+Y#flU;gxT zfS8ggly6LUhK4a~d?F}sGr6pYn%YLAZG6+QPupT^&^FM9l0N?|^H5{q$+=&_4t(yu>5SeOKXR7qaO>9a(R7`2)UNRi6_;+1 z`_cT_bEUtXKoJi0*wJ=a^=(hF%jLKm7*2 z)C~?i?_j(T<$9~hoSycwu*`GoR4D$aG{^RUm$~RzE&Uz8hN*|jLvba?msS@f@q1^P zUbmlBmfYlu(=;32_qUy;HQkRL&`?EFc32E3Sf+tuLq;R#`vt=_#Pm*%=lB-o;ijK& zhMyd2c6vv?vS}Oc@DVGSbkJVgv!?D28PkM>g+NO zW5$Ta+K<&A!Pj*u=^YbOqch7ZQyF#YjTDtZ9DL792XC;ug*v`XT%F2cMLS z=qOu#i3Ep^e@4ONd`jkQLk0ndxf^$q81YOR@TQeM&tw5bMgL`wMm9z8_{1XJ1}QR2 zwbH5FH9_BKh0xg5IeNQ^>O$L{!sk`B><zt=Hza^ne6FDf0P}f%^`s9}6tQ)P+6_6BIa_d4CkI5Np`s&&8a#^dG z`Ww03Z^sfLjw8oIF*WJWQKC@$5}Dez`2

`9~Jrz@tg=`CU#BQ5 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 R;O;>9L6}TTPgI^_{x3@OC$0bh literal 0 HcmV?d00001 diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/annotated.pdf b/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/annotated.pdf deleted file mode 100644 index b5fff2931041164f9c1a617f40dd6126a5748c51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 907020 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

Mj=rs1m2y1lG<` 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

$4hzt1yBDpp7|4;Ab`V61^CDC9|HbusKgNq=)2 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×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

?weaIjcWu%i~9JD%w^m&uS7TEbPJl{I1w z&lQA~M4|AL>Jnpl44^OzEEC*K2Hf?MzXW@~36Pm235gm73dr$uh2jMJLWT5vW|E7Q zLw+f6EP4(SlKdKBWLZ3@TXNTK(WBj@iB?ebrCLtgul?M$XJmFu=aWYfwtZR6%HN{} zsfA)d19<`X`GCm&Hx6i!Lkk)ukZTI;swf^#rna`(d;nK7SCqt=H#p~d8%iSUFL2H? zIX;$)nmoPL;$uV5-BVG14lJR-G@pG_zr83V`zVU)+HWS$?p@yKqrw@!{OvA*G6}~` zaYo+26JL^H(lsZz7}Vr>M0f?K`X25S>yZtFoq;h$-L`QZ5>?S%<CR(oqwhW+kLp&~6-8czT&pzoJsrKH$qH#=iy75Q;^jXJKN6K^N)2<6Zz-+!8 z=N^zq?rcqG)}M240qTHc+zQ(3YZH4)Ecj8MxJ%` zcD#7sDDqkdXJ!y`6-Us9PdvZGRekGhxw4#Gwg&aswcYS6gfLEv4ucYfLV|mDfff0J zT^+D{&pCevllT1f?HZ79?C<}2PL4etCUH~sG;^dun#j^6Kz`1Fw;4u#?2ULKun>uUG&btN-eD-`v9v+pL1e%-WIAM%+3dAq>?s;H4CXjKzCREc1Ho^6R#n$ED{`<-22E;ZyeJ6%Ep?YYIATMnD&dV zvyyHZBc%%j#r5ydTZ66p19rR_Mzh=VoK$%@jm7u@L{lrN>hp82AiV&R>CIdzN+$Ov-(^NP)`O34~}57Rr} z9Cm^~z|L;=xnQX78S_Q;ZZQ(nPo@oQv8UFnGS$`~_aB<@36&(-6cmxMv(?4r%FBUf z@Q~*l^1`Ki!FO|DT#LR4=m{{Ekvn{W#-RU75fl1 zBc14;-;Xh(F(C*%@+r!v19MAwuQP;XI z#ldM*7yu8;V`8>PNdmZkp=kbdtAcM|hC>YZG{dNd`Q+foi8z(1t&q|fEMavY7q}RE zpVstI<2Igx-Z3?-HnD_6<6GC{z9~I_biH1yAe8t_EB~xOG&bJQngW*>WU|U!5{E|s zb3~==y&l5)16vwQTFhoiOz&Zp^Fh)6sj&#sbg3mlzaA`1Q7$lWGY>~Jy{!lX zL>^@ZV4O^HkA5QHC!U1|ll}M54RaJp5&rrNW{}R&MLNJVUn~3VrA*wc&BcT(N?y5WPXJ&x$l-#D$CGm?!3D64iA= zOa5${n@MTjAiw9aLI&70W?F!&TX5Tg5Ua!&&z_suCs`_Us8auUX|!w$z@$2?AwtDy zhFM-Y(BX$ED?*HabY#I%EVD*)L2LxMz4BS?`p0PX`zh4&>b)t?i^$VJXn} z9|#-wLj@r%0-7jgX5F&z9Fwy5uri@RIm!*G}*DMU5pA-l=x@RD317$%F^GCwEWCYHm5>uMiX9Xc&21{DV>?m>^SC>v@C?)KRv zZ&^zdufe@|SEPK<1~G86Cb&(NaY7V9o@;@8_PV)CwcR6Vm}1i*cv9v%*3<`*JH)z^mSg5<6o&misWaQ_J`d)G4y-02h5 zPLh91_Xs=cwpzAL)A%T>I854M<8QQeg4W!xJZmFnW4K7n|ZPkUU?LEqIuzG8KihMq*0< z8Dh7-tK07UH(qz5xi634okCC&CxF!*j3xw*SWHQDAZaVF`_QBrTJ3LvPjHX+s-N|Ydfa`GBPy=UbIsIibz91)Qw$-bjJ zEPEEdBI}`ASb{7Tv%s5>sUQD2Y?_cpzX4}RB%KFOT%b=6r+EN&cqe781Q+`>Pu%32<*HT7q( zHIpZJiRDG8S`9H&_f0Awt~Hr)X*ilLZ+J*mnP^<^Jc@IB^ie%>${w0j=H&^sh`v?TI`` zBtbJi%sZzkXa#l>V$zuTz;49ZMJC0yUU0>T4Ze`IfkaIGs=fJZl~`%)T1y2jL8Z>% zOCwesJSU_Kd;nGn45l5)nxrpnh^cG1MvWvtqv}lVthrX5IWH1E`+}(^_YZ$+!ue$( z;NUsze9q~yK%0Ib`~ScZ8VT-Gxl*@&{m5l#MkqC=K=LX}<(jD&WhFb%#& z4m+6&OTNS+b`uUjf1lq(S|!v=fohVX8W03f1>N?}IOsn+sEv%8@c5MAVa%}bZLY0& zN|!8!M}d5ku|*Ab$XJg|fSxNWZB5d(-SHJ&!vs`B@nIo26wvgdiN6lr2CjRqn!z>5 z&`+rj&Sk3kp~rYR?o@6S&T}%6Nqt8Sqf4-Li}`Fv)W_a2Sh$CFGC=ym>}*;sK>q}s z-=my7rx#_&1S_1|BjjlpT?_XR1n$Yja#~@Nrnbecv@XB!%drJNqPl;GosrFiPsHcV ze`r)r(bxL&2dwSa`HLffgEAQ&XOuu6a_p3b0OJQ}0c|Vde3GbIh=ZHx71N9#Y|Hn5 zrKJh0VyJe z_~C7ARV4zbp5%QnWBp43n)9$$`Xn}&+zCU)ijkII z_iv$evPs183WMSwN|Q`DzAvq5O~RhVX_Io&iLEOt2*h5DNfKr;Il>?`^q_TF7aYMB z5`GX)R8`UeK29Gv_o+qtDw2j0fkSw6zZ=V_&9h@@CGkA#25y4x_oL=$Hp0Z7_5?dp z%adU$X#96_Gya(SWNFSnS4s0{@Sy6r{6P2SP)ccGjm-20Fa;~IyR{LrA^uS8+pj)> zD4e|w?^ zMXaW?U|X0SToea>xQ-dzCJ&&%WVefAenj*rZQ7OX)0LQb>45Q_?AiWS-nzx$pDHuZ zN#E7i^S)s;lJoTR>ZFyn@V67X^=m%(qT zzIpWW`yYpc{QFpuhWrSLBwHXGN<$kv@^m4>kJE#n6;R>@9mS#K0_kS2;)dAI8ohKyWt7qGj8*ZQHhOciFaW+qP}nR+nwp z^uL?MEM}Rk@~x8Gci%Z5Jj$AMO&K1NNAg~zF+F$_X+3H}na_J4FHEje_4H`g7%rI- zz17?rm&v&z@W5(j0mEy$|TjBt8dj?J!VC z@Oo9ajw!sJsgh`q=FS)Lbfh_-5jtVRs>Mhix%x{biXQ7n$Om^~vQy9!rM-8fs4z{% z`4~~{`-nO>(mC6(I&CWSpoi`sNGGWgUIlrZ*eSWSQem6eO(4;yx?aQ&u|4NLW|^uA zMFi6ASXQhi?U(^{Um>6D6po1%#8Cl|(u+|Q`Lk>!KUCR9xy#@b^7wlb3ciZT>YElpPb zlL71y5HXT$jlMj6(2w;`TQu`zLr9@kPmS(m5z$xr;s!TWA$kGQGHV!GKl9!QLM}hL zOYaxNO{z-N%cyjw_~6_FsZPdQJw{03prPr>WyF3zut|Xc?PB`&T(W6pD|N2Q4+xZ+ z%-z`Y>4?d{D&M?k54p%jS?qDfv5#dYk6XmhSVA>n@UL%+mnOQfoeU`_%K|^gC)(!D zHtt_~sv=1OX1QX9l3S&2Y5r;&m5}!z)jO0hxX<~|NHgBuD}a^}DQN6rdIP40aqsR& zfqaqUAtnWvb?AH-+!4a@JE6>?iQl4-?^QWJ(v4bQd4}W_-;2g}E0jhx3fV&HMC&PA zvTBW8gPR&+(Exjgka?C-Jl#eKK8b0gI*2>4;)k#LhhIuA(gHMMpx{Tliq5c;GmXN! zM<+{LLwWDx_LnNBK9cW;bImpP=4} zN!N!^vjD5zfXm0`U$^}YLgYAXqDeMTC0Mp}N+A!to1GynZeRfcLE}!6uXrbIsVB@i ztB=NJKYlmKPCRu>qFFV@XjLtrh_da3bEl-L_Ee2W_Xkx;@ddhKqS%4}zP@g>2Izuc zZxJ?*4vZ>f1Cbs(AS#QIHTuL9&?alYcJ8cT4-Se6Lx9nO$&Wc9EPvy%=w6taK&`2g zXp>YEVOUh+r3`EBCj}W7{HOjpDWeJYY03*{f*co4Iew)<5r`x8o)IG3xFRP)&fhwe z);oy(hUGX>J|l+abOyq8fIX*vP7J_hM_t6WA1WIs?PWDQ6XlG&HCYzQbL=oXdhr{R z%qo~grLHkdV$8@wITvyQC3C_DTee%h()XHI=~u8;U2-=qT*1(&U-O zUR)MBqyT44J04LZfh@TD=V0AP=|mFslSUyF@JA64riX;=p;Rq~aIOBAZ1N=`L^|I3 zxb?h_gjgp|Pjh}=9ST*N$V#(j>Xn=8Zeh*HQkVc!V5USyuJwH5i}=*(tH#mEKWTyP z*uA-Zx)7AcStlt}ZW77Xo&q*7Z=7zNZTj|*=lZ?^CG<1Sz)XI9GtkcL-U@#zlr)Q- z(lSK_N`=XldpLA2bC`4F&rnsR4z0r1HCX{nK7b;l z5Vp5QKxyjc@vYD?ILPRw?n<{Gl*LlSRw$wuhN*eu^N~=TwM_%uFVO*R_RlzT*W@iAPlKodW4iW$A$(nU8wMIS{6f?7#d_N9`5D@Hsvjzw08hts5A_OZ zv+V8futvP=!eg53TgrTF^N89d+kU<0)F+p^-muK3{zGRwP*N1u_)6fj&Pe6ok0l}t^Q9IJkCOmIj}FCz5n;=*?n5R8dwsR~$;M$z z2<+~^$t2sdNuMmnC3*rrpIPnQLSTrjX-r)4L{i-oPSRX=ZwrF`tYl@EG*reu|E>$K zIWJ0bhA=@o_S7JZRBY4M7HzVbjp2X(x+Ba`WN{XEezB&wn_#ITL^JTkSAI`+&Z4V4 z#MO@@Opvuw0~u0*6+pQ`P$`OUjVA+)s~QYBluNE^{^wBgv>fhD&2RUK1Z!de_2Z%C zQjz$#Xya+tx_zyeGy})=7nz-Ht8*xJ#*FV8!tbkIVE?-k59Z?3oQmJvSj8Rtj4+?4VfVV#Zw~yuko>ulK;zUc9(u{#<>~5A}DLt>IIBPL;4AY!3t6Dfg9{ zot%e9*OBhpd&a|EJ=sZo7m8aahpJki<`??$fXs8!K#X7H!AW&g8{kQxg?B2n;FGr^ ze@b;)xR|=oQTDY}1xEhst&@Ez(AdMBlddj|U|i ze(|TAuG^m|m8andLLZaf;GNsa`(z%r17yO*aP0^k)GdHh$vdUfMyrMf@{P}rlVCEt zQ9$}pry9AGlE@&?m8-hPP%z>VOGNINYcGV~)YM>D{vh~PLXhY3{DyCK=ue&VrdhCG@}=*EM{2!bAqUW7fCdZB zR~0{>!*zm`4%!jj9(ja(as9e&wnjwy01dMdnhaM|$l6>{+m4dVGCKPbA*^X<)WXcQ z1{X46M7Ln(7W?KxH+@##S*V7Cdh*)bVCs zO_4)(0~53E>8af_bWZ4`ZLy^y6MSoyc~g6lhwm%@Hs3kRr%P}&CgUQoz-mlblIOXF z>KpZ<6O7+gnJ>jf(3B-|&}ZkB+002{x0M>}GU$TxlJBOU42s&N4$0@H zMAo5(tiTJanU?3}@_lO^XqJw%gEfNy{W{^EEJfQpz?@wl45KVbSna-6%p9tn2UVjY zcE6i+nnm0?n}thPyZIZ4@<-Z=g7}8u5V9&qY`cM{6TXZOu{&`KtjFhE<5g)GOiBC- zoR7_GH5<=#UkI;b2g0k@6Mlw(5(L;tyF7E@g0VYRd5OnTW(RXE#{|`(76!4P4dt7^ zhshmD%1lGbau{>;_ouG?9hbr>PGM1k?mJN_%*nYk#m|`>OPj!rlI0@R%h;soP$HxS zN0kAyxlnN56^^!NU4}n;tG1U+ML=FI%1#@fj!E2BKy7gGCfDj@3eGb7e*w?AI{o8K z_pMT&ZFuVXOoQyRB2OfW;Gh4c-dE8-)=rdoE~%-WKk6qB=H{3YjKHA8>TWot=r$^A zFPcm6Ve0HDHqTKgSHOSEOBrmXbpI^UwH>&#vmA=2V6EbI;K}!>1k* z5yTo>=Kd%{h79i=lNtuJd6YM^OaWA;d~AJ{XmL|Vf@G5tIu3DtiRE{|Ts!dgBF`2~ zeIG=`S)+zW{ZZ3(=bX>|txV6`T!Epj|G*54us*Iz95z=*c5&#>((yn3fT@XCx(Z$2f#%PmKh z`0{2ef~@1rvMR1g;1y_^e_$c7A;GX1?(#;+*L+t+I!E^SQc_%J)1x2r2ExOwEr(~s zsS=bI)k*Z-Nw|~lC*J)44Is7FtP$%(8cLthhkrtPAgFj>Q9f`Z-(X`S-2WJZehD2fbo?=e zIKf%Od}!bsCdW9+^;T830rTCg!IT9ZAJVf`xwZA?8v2&b{Vr{dRAWg;-@5SuVkQpf zxSAJQtzX67bP)!mcj&s)S2Tj1oAmlDX66CPRoQ8iarWtA4fk}JJeQZc3RqSfPgzV#Cb8JSkcW3qmS8JbMiD*FxXQ(w8q@ER9t)+j+0c z>-7{<*m!ooIi@iSl;GTzAsMi!0uaa@Vq({{$;@q7X+wJApolV78C3!Y#oDDP{!q`I zg?HAy5QL9yDK%`T#*o`-o>bC(t_%~7La@aRSn8-)o@SpPfk>^noQ5H_Xl>+A(u6zw zu#&LU#_l$Gs&JeTOW~f%bcHMVj(p~k=<`Ucn61;Lc%CV_;>+RBRszn+8V9JGagQxC~2b9 z*5klvz#r}i5pRMm=j{Ow;8@LLr4IAyv#7Eoo=C7*imtkKE!62ypzj(fzn0l1KxbWhY%}~6Y6qLfVvowub+JYoaylpS?zPwizG0j% zCwo`WYl}6kuq1yCeO{$27L)EjM2gh+nn_1zOwnj-4PY+bmU0j?e~n8k-Jb7i>*TI{ z8f>W9X>zvH3~tBN{cA4rfoh&Tifj_S9#aUxk}mQ%-~j4rz18Z&&TB<#ST19FGeU1T zr=Eb>TDYW#G=Oa4f`S=>+u(niqz55nnASN8Bxh1fZr8WfN7vvd!HyCF_{rs7ug^2T zinktBiQA)vwuz_F6j_vrx_}+fkreM_gJF$BmgDDwb?DK9pr3aEkR?qK^k*A0m@r-Q zzO%nr=os#usl&FX_t+kLlwgJ|iI4N8Y5^N%0K;`qR`UPHI92O>vnNMq zV7Gv?)L^(HCJ5bPNp|3LL3k4rAm64?5irJf0s0kP28XxCa#3FT!FVgXSmn7w+;ywm zEa1>Mp@)QTFY*N6X2ezy##|3yD^mrJtE?Sz4xco#(jJeyj?(gwX){nW- zGfD zQH^YqHRuy|3%|uNyM=rx${v&v@#jcV9kw(P)Oy4MgpKC(5C`6DUew$pzDfSxmB?y4 zp26c6pr7e5JU^#mk1s1$n5t3st!t20rvg}?J4^x{))GSmC4#~NijrCB6PXie`Mcg5W8vYfN}24CvMDZWmXU{&hjITsTB|nqunc4K$TajTj+?l0fcwA##daYUz6fsR z#4N0yJwYe44>wp5|A;!{6KmJModZz)J~MT!=Dq$kTvyZ~F9WD4?;u$>bkaEX8yY3`JHd2Wn`WJ<<02?lUGmf5*vSdblDcsbeJG!SCiNJCwqGXI7_9j0;x+c*BAk^esI z5&qzw%9Di&1~H@-<8p0sj>F+rG!mXNEmkPPa5|e5DU#Y3_iUZYVsUYYY-889RUTd%czUrF1zpTX^!(HN%#GJ*R5 zgLsurK2jwSCm|~LpQ3Qs!^D7Rcsj>Or7^$a62!+iXfS*uR1;)UGE70JEagt(?O<^s zX0(LKg*e4;(f|g8yfC;kc~Cm<+t7bNQU_4s1a;~>fIZE`*ruiG2RqW62Xr1&sOYnUE1KBbFvCLDHHWmnCA49JV-HVDi+u6M_L52Y-v$>|pWLrvrq=rdaf476a+p*ZRK zIku*w)Ma`ia4(iR_5f>)PU!DlSmq%{XOScuiQ0&0BHnCsrrQtX8~>4x0V-3WzIO<& zM_N5u=VUktJ;n3s{qjG_5Dcx5wpTRY3M4psn3cdRn^Zh&ki_*%yF*N`Kg+Rp^i=vSkne~Jk$zYP%EgL`q%R(ik(pEl`uRN=C_DvwXQ|g3q3<6VY2K1IoxkLyWsk}UK zoSJa=T=n~YLm}J_C;xfkIW%fg1Sh=1|3_U0MuUe|uX>UPP8toQ)8L%?x&g}5+;gCg z_(L%w7j^GD#Ii`81})f%o-^2!t`BxYPC=RMb>4?Lp|y}weq-M#y^aF@PrFK3GjCCf zq};a3Y_;Df+v!tUu2ImM${~*7l6p~BTE19rcdV6IG0oP_$A_dcD^tSimMgh3#Tj1Iu5$2)7RuG( zU%8_{w6@8Q*N5dQRi3j2r;8kR0zXU4;eR{xoeqy>r!@uR-oR&wW_{35*Jy5v>E(bQ%wE#{p06{neNKS&{j`bmQb|NF_PBP@oL z5C_pCAh_F9DE|6o<|YIciOYQqfhOJ9$;k0I@x>z+qP^zL)TlBU{|+>;rp2n*HLJ#! zSkYzqK>0j61r}wr4oXGYWABmv!;{S~T}KJer99_4bvwSJFzvh$5*J1&dh03~Im>QT zZ*6rOjS#hTqis(Mj&C7PCtElRsl<}KpU!QU11&XIiHl>fPQjsA7ND4thL1&pRs4Gd z?5Yev{x`dnfB@S`j02q}F4QEZ;BoX+3|52y*9&%J%H%B8y`cfk`D&*yhQ?0_JLNfI znH{_~mzz)x^Z;*5*=v7i1&SO=>RByhSpuV$JEZH?y6?vZjD zTTm3-=wg>E2szHU(w~FlI=N8zNfvNaUf#6o@A2E?{zsdeVOG)_H}?LV z`!UPi#lp%}o{SnK2EKBkvyt>Y*H5`m=a4_v>O)o&L?=hDxdK#y)3FWNi9TK$`+>egiL0+ zKxFVTXYA%q)Ep%4$sZ<&L(rvllWd`ByUlX5_pdiP^val9|Cr{GF`Uhu`PC3 zQnV+`-i%O0QIQi_=K4$?X?>`E#vgCyCrN4~T5v{HaNZAuPvacPcFk0CR{@y2>t$)H;EOTia^ z&ybVU-8JXp;zcBVVnQy5=;ZD5fW_mJ!)2th@g%Jk+*Ri%zoc=bF3G?fE>@(g<-rDi zN51jv`D~nqeKxS;;UB{RkM&rO4LM)#sWE&ox{*QwzgbaypNaa`Wy}#)dMM5<%Kh&J$w7=&i zr~0N%vFx7LVvt~w7g8Qi^}N5mma#5iQJkaKz@sz&!Kvzd7KV-r4Mkv2$Sus(gn_-TgQ@2+QSD9RNr34>XNu$CVGnl~uOcuv%9%9N<%+GmO_BpAT1h zU)zDoF$H&V;&y(x$C@H2n=OwL$mf&YFwfB}V#&l?CGCpB`ce_FZ{x9JP_0=bkRm)( z2#|T4`abk4+noAQGJ-wWYRcLA5u@yRlXF+$f>pU7((RclK1My74|bDi5;6mfNJ54P zl)qly>V4X|&c!E?E;X_O)YC^2VJN}6sWczmQirb|6+>%x8WN1gD z)ul!1Zu{zc`8?szwwWEmd&-6rch4w=>_S7*Z z4EEly@0%sN0jmgI2X#OLW&DD29$* z`2+$v7EtH4L>5vUaQq;s^C*mSj91w3nTz9hVmswS_vVx4vJQ)5@d?GCe{f*4*e*Vv z$JUL01R`IBij>kTLTM?U!$eH6#nlo~I%6(n00DV64}Dpc_%R;_*f%+NpbbA!LIYC2IG~46)$4OH}GMCFjRNRF00L7=pi?IddXTr28TQ+*LQKo zC`)_CSC&e)!O6Ka{HZll#<8NRNQ>9ae@$lr8Yj1_)W4aWI?&BnO0xNKzVvGJhiS{$ zUhh1ZEC|85s`Q3m9%DthlidIc=tmOqLngaW0yS?10P=XCqnUf;3G0Q71i(t3V6Oia zA{nN*6Z2b%;j@H|sBt7rB4V`s4#P{YvARY|$_9d*R*Td4;f>cwc_B>_z<$n^hJTK0 zeeq<^s@y5$0)#G>Cp~%*4Elj8x7x(Urt-1epgWHU6QjW0WBFUawGQ5`-UP^Vbvejp zu}46o$tKbP0EH(su2>7le;g zXgaV;tdXx5^c(Vcw<(>3;>?vmTs1;{x5#XhJ}y~5^nlk!7e`&visJrBxG+@LH{ZZ6B!^YnMz6n0_F47pMAjF;w}) z*_}W=;1~At#D)5+wRQx)D1)0e;t;JtQKh`L&=g z=9K{7>>sR6zvh?t@-W>*)6c{bbCXMnJOkzGVpbh=G@Y8lCRPo(2j1SZkStfWQa^?= zc@`NC6sL&Drn!NodZ@o>swX|jZYLbusxWtlzggW<`$7Zxi&haLn3Yq~9|3|pSX2cC zrF)W$>JaYhx9x+(Q1Ld}&1{#R2a??UvbMHzHn{6V{NsmozQ&Adv#Mx0pskid1P^Zx zRG+g04MxvJCGk!RtGge-AwCg^n6l#8+eG);dC%bI>Vi_ zVWBccCywO@-^1dEw=H+KM=0AAcXLCvqv@+mVWLS?{iWOXdLm}KU3oi-u zQOVNT_2;oX*{@#lPWK}wa{?9ENvZdm&lGVLJ4&=KNa$yKWQW*L%X?B9Dt0Zmf5QZvN`eb4hA-)m z(^4E>e|~RS!5m_=$Jmy||)t(a1KI!PaBNI4o z$z*M|A^d|swf(%2d``oZgG4DPX$wRdhBlb(cWUX{XjzkyN1k>?5aV!l@Yx8oFS=?~ zn+1YFBDoKIQ|znKFR&>{(vkya$M#Mw$Z#%LWoOT@hW$Ldb!ACd z0bgdFMx2{pU|#-Ui1QD)AkB+7#0MJR-+{%zwmU%vIXP00hg9!O>9r1p7}&BEl0r`s zVt6%y=eo;m%y3;9#a?U6_`8*5u1djd5%{Eka~{NI+p~vqQ^c< za9rpSrsXgY_e9QUh?>qI?W_2YRGUKIj%pcW$DAZsY{&qdFn}HUu|pW6)rov9?<;;1 zY|{(u(_h#PnOq`}(B0nz8;vi1!Yrsvcrx9;TH4KDC{%d(_6{GDK>Hcl&h?If&(7m1 zR5MF8GP@`__DS}us58_%CAbzTR4=&>2P0N9Vkb2dUK_AEn%K|I%Qv2yNk>%%dHwkh zZ$Lbd+o%9>2oBqF~!zY02Fs)*O`gg4ul4w zYjU%Ys@lm2G>bRn+xP+MACpoxxr!LbWB` zS7Ywn9oG`Bi05pP`rs;i=U}!lTO4Ft{~G6eA$R}cw+h;!HsHyb*V(ZfYwP#>f|S!^ z>m-)^P80EXqU6c@3k9N8GBkk(RuXW_8}%X8gZGve8Wwsw+w9n>^Gd4?gl^*~8-ddE zA9mlkD^}<8*Bw5auiQiMqI{2b(>!=tcITUsZ=VMI+B-D_!WNP&hMQl^%;C8_HH^+1H^D!j5* z82iY#FH6a$_4Ag#mvVDE9>FezePh`;-z-5g(p1#_dbE?LsCXzIKBnSz8P~d)!k$FR{Y~I2SjH|d|y%{-p;kQPH^C6y1={66fQm#eSjMv3(A)~6-RrOT3PVNP`P|j-j#~?79m>St;rObCneI%!8bqLWQcBlon6O^ zczDgSN9$vxG4KF6{>}Ln_vqwMQ6SYl(^`Y<=%p^ocmU>4^C*W_vhW*2he3t6QHds| z8~1(4fsgFY81R|0b5tjN3t@ns^6E$JD2RpSc@Xxm7s^jQ@j`h0oshk z&2KBc*=3v!wBRLDjs!^`5G;t70J9qX4uIqzN=(@Fx0*8##2`;c2ovc+LK}dkk=whfN(&TPe6JO<_S8>^glk=+x~5yJfnDYtS4{2J>h;H`X($b7q5}@=s#0X_bCLt&18l@JFy! zl?TzdtvhFJ8I;L;E+v~!iTblpLsrosO>LHs{fLIgEI%T5vk8`Mu>Z<$3}WV!3vK$E zJ{(F;hb<_`>bLo()MAIo@%47ky|uW$Cxcc8G5yXSUC7ej(%sDp9_>@Dc~Ki-w_kPa+Sy18zsLuSD3Xb>Ye2 zMafqTp%5O%zd6x}gtnc&Wx#>lzfB^D)W}^#Tq{-0a02Dt_wj(1)hw(mGlOl!M{7lk zBTE&ZT2mJs8oL~^!MyNqRypyi{)ys)R#ZeN-o%CqXKfHcmbFn_O8Udn`H9|=8MaK`U`yChx^)+X!_Uq5 zz0#0rTiLSt(`ZKtd7N?;u&p}az@>8!#QwP=9ey4h3Fq;Ct#|2_lD)3k*V&0S+%j4Zap>2 z4YpQ*F~LgKB#oO~A!gW9n<~8Ow%5N}72Gk_@=OYe>9HVQS~;J~BL-nBFEOUwDt(-bEX^cS`ob*K(nwI=M1p$|~YBz148Qedod? z5ABqUo&9JIZ~AMU1i7Cn<i94pKnU+ydtB2-Qz|FHA4R1qnEfBTjplB&%4!mdkVTE7e?RI*Eg*d zcfs6Sev-{UwnDD^~9HwOyEJ-xL~%l`=tWy# zf1jQds?u#Bspvfcfd;PT%K~`NHkG`D+Rz@g98w+AxdYtgrC1eAt~V(ThTo2SDY^%R z-=5v+ z!A`-h47Ut;v{%Onn^`Q;Gg5Dnpj*9rgRN`Eq|I9=k_#qWpmO0<;m>U)mC0r?U|4>z zrwYTNd~GIV?a_oFw+(Qx5!!Z93MGL6YfP>EDt}=GJgETHN7Pf4 zaM0pGDZCg!Y*B=e!D(cwuf7?kK{RRz-jER3mS@-&IG15hV_jQ@*V#Or+o;Jh%+KQNO9$m zk&C$%l>on0g{xtwgPnR)i+j}53nUW*fj1D;43y!l3p{pJvJLrT2BeYhKQ6O7kR8L< zKQBPGhcN%-ob^i^Z3rq1gaL`tn+B#~W*L(DN%c-PcPtqit$H>f4%bC$x}~V>J82AU zP&LdbcF-;GEF(Z#3ZNwg$-)54^39+K@XfA1ICXcf#J2m1NswhG*0@>+ zmL7MRN+D)MJa`UX6-(CwrZ7V+VJyjrLDRafCIJr6H<<} z6A%73-?dm3!lHpUfeRwPSX2oAHiVc?6i!RW)Vpn1H2(zcGM@JKykyT~Cn(^7PdLtr ztV&7dCb8sA)fn)FNVWJaaj~?$PM;OY$j?>4b?g z@^T}bcJk5Q_5LJQ9G>1nWnUQ(C69zbQ$m|lWENfBfiYv@SydN{XjKbFb>;^j60X4B zA8-|8^wbP3x|kE{vSd&`LWiJzQbL*2eoGMN_t+eS-lUk36dC_EzX6BBs&|$H9Scmq zO0U0O@qi{DI}qd;9mKKa>A{1TL)S9HIBCLNhpp_Rs>lDTTw&CBf~UT}uFB zS#*2~$CfcQgE7^LQK-mkbCRndZ_uhQPquGd9a&*2uHv<@d%kuaSa>dVy9@V#x zxUl6*sf%AY!f8HF8`tCqs^T9^__9?BD)Pkuc(1G!=G)qb!P`1jV(#ySIe4>7xyoo5 z2ux4p@iCa@g~=kPnmzR+-#BEQCD9RX653Di{vy5#)T<^LfS)hy>cQG+c$Dh2UHjV) zyC20_>cXMZ!8me&u&8iBWy$#-#-6lV^5xHoPw4WUG8W|SJg)$4d+3cx0FtrfpYs7_ zMnmRf68f(~I|*}pK%kJ6+iO2rI=sdL_7Crft^1cXlAShIW@wp6(>o(5NeiZ9#uhBto`9x~# zt+tN)mXp?qmNqt4!F&?BC|Pi@TWNU;<6EyXmsua}8*f<;r+`~E)e!T`fKH^)@K8G> z@+hB~kzEP^5bwPvhQKxFEfc)UecAS&oP50cMB;^1S-^nIm8h zFis+d5~|LK-W}n~SCsbQ{GvP+8AQMdfmea$=LY}~Lp5YAqNSzk_Hc8JyJ*=f(81mK z2>TQh3k@c)&qq-1Kt|36!xmC)N+3Xf6JTn#Tr@qhg>LaOR1=<)N+55T;pbjA+j`tU z_NCpZgoH%GNtjGPN`jEdqDV;vp`mbZ2>SCon;ncYc{8N<*{k0jAFph7(-D={zU8*3 z_jwk&7|}c!{Uo|}*X>|oIm93qGny+Y6#65Z7mS1WSld;0lw}TE?5gX4WViXu%YEU@ zqxcx#7mI{F)4>x1g#itsf;k`w890UydK!@FlBJ&V5XOH6`*rE+pgYh3Ydt1+d|}_4 z@K4uAx-7qge*lH{$IiHu8e-8$7>?G=;*E>v9|~Y3{=j=!WK(j0jnae=so%S75O+6; z1wd&x5xBB=aEYJo&2EyZjWhW=4Hgp~8j^% zAloI0qkz{vpO022JzVDKi1fwg_+v3toor@F-omA09Drd~6UQA4&@_ebng<+suCPB4 z9E3dNJbP~6K)`PzKt&U05O5Dj`@|!-k*kJ1j&T6cCZ5ggY(~3@oaOIgY9E$$GyrmX zr59R^9E{AMw8Lp^yH;hAT!v{)QCzfVN=HDV88ttD#}x{K!xHnul{W?N%LU6G%vKNi zUc`C{M${g_%Zz8Zo=zsLILO7F&1ArnSG4_<+)@&{qm;a((F8NjsaF5wgllGfFhCkg z9PEhSl20DO*KMb~cHGui)D8UZn)yT?IuIV{uo(*Fk%8pjqXBYXDJ4JgnjY{1*}sY>^HbMv*@KTY@W9?c|o6X-!eCpxp?p0}&Gb zTU%EtEK$8F2eVwMAxZl-JTQ}|$OAo|ddXMGX(*q-2|@^H2Cd1M`)+@7ZXzXwxBY=$ zYiTihs`-a%jf3{ciEmPdHRxuw>TW}n=mqxh_Tj#Pz*z7+YNZoe**o#_5e6*J7?YFh zRX8bB59GT~Af&a@rrT5nSEV3vhb;y6o#W1y@>Mi}scMS%;f$24o8*b&B~*Zw!hs`H zw2VbW-Y{MZ^kZ{qP-~DWMB0r$oA>Bb=0;k+W_hEN(2}S^Ca)#Y6eiuhLY{FpD+@kP zFlh|TgMQJWF$k>9(7k|-vATJ#ZnuKxnzC3o-9|FQcqW4Ds~DJcu7HdKWO(^~r3Qnt zP`*geNB!f&3VoRAXwKNGT<|C{lOL340Ekp}go4o$s`>*8qic7=X@iAQ?YB5{iwED~ zXzTwu2^@@6P*$ORJAk5S4BqYA91}W2DdWdz6hjB~Q2-FB;(W%nH7BjVaIJx2SD=hp zga!J*V$-S0j8N{3GVCKt8t{w0sFFN%Vy$b5$210oLX!3@>~f(qz#fmV%6nv@n0;WR zJI?FM-#l?G2czo?(WSrVxUrU98R>#zOxjF%sFyTS>y1>P6n4Uq>CaiYS-TBUn6#*g z!_xiD5_0C-XOiwERPyy3A+6Tavfb6(wqV+=1Yu`P5VxX5fkE{E$H{t{e`j(z%)5df z(y>?MVd`>!w+?jQgT@lfXTxu&k@hrxzv7=m5!(X?K%!N`5N~p&q6H>l$uf~fVa5ex z4$K$ezOer=4!ZLh1nxzINp~c`;k;TN8-%qt^rMkbcHM;{Y^QEWwLq1B5JT~rI1Ou% z9j4~}i_-b^ZrAa?9!%xq1b5qfXID3D4|DM5U0s2DMFc}V0>F3Af*CADwv+lXc1A3E zBlzosr_h<;5YbX(x$lhl;L7kv>Xt>J=p6$@y+)0m_UCNIgSCoKkUuo2{?(R_8ee9k zp1BDowipg7)h)TjbPL?1BnEZ!DMcgkO;2Ynm2gCJDd55xtr4LdKPyr=r|BgT`jq9I zqBu4k*jXeHeOQA3*vAxnE*e7p;31-ma;CFS)qu02beo zTwQ-z3ZSM`L5sM_6T&70Fux-7;0jvwX`Y&RCI?2_n{w`k_BbnShBW!zm>?BrtsMPlJ%C+-@f|MyT1>Dl zC51}R|8KRH72r`N2fLB39~&fkx;~f6XBq%7fNh5N$N%a4VElhNKbYB>8UMHQqgvfu z{bCdC`)Aahp9n)z2xwyhPJ*I<1R;`0G`^5!fY?Yd;P-cRvw$ksZ5H=6inwv=!f94_ zHF<oAQ3Tf7h_6gv)RbB$ z-sG|xZ643F1uf$Z^}g?ybIs9>?hC1q^?v|DK)t_RNLGVz`T0wjv!#WcdRkFyAte^F z9SqcsrJ>YMFHpWFr&?o`sPdI=Bx*5TPSzt&oHTn;Ib|>@f*Fo?qA^Z+dcNm;cE(54 z_WZ)zntfkZysr~?gy^NodkaJiP1Es9?h^v31Z1mvE0D*QP}TyOaSncKeSjHoziKlF ziE1>+fvdQ|NL>#tQW({wReJ51k+)wPgCa%Yojz@%d(~96jF8qQFV3}bEsc$_E}t5jI1to>rdOX z+!EPxYyN!_*cQ0A#O*5w9T5_?@oNhfO|tWndzgQixT|I?^~>L#*TI~~EX|f#;Gf}Z2t60k6=o34Oy_y|puP}k2|Cz_K+6(WPU(^kZ5(j) zq0}C1T!l1$zp@p@+T0%6AHKU#wDyuk^JOhi&X7mVCz0vcxS(0n-^Ec-psKe4eMoPr z@UQz~nQpTRE%12`brn-IOU^Rzb$+h7T0Wx(xUy+2#7T$sE11C;;xu)$s(ZI>v!uem zrB_JpnJhcX`8qEaifv43Y}e`RSpG+=x)kiksXtMuf|&y^Vc2Y4NCjM7D&#Mq?W-^{ zl5YhQe02foQ#hK5*D2da`FO5G{T!cGXPtT)ax)K;$NqC#D}*9ZSfDO+lbzC(U&$yY z?NO}9b*IST$?_!*TNkeMt7KZu!>*7Iq)g zA%Gp4!}nOK@4wi#eL>a02{lj-vm42B1*-=76D zy3`Z0nrpXn$dnZ3!OrP}2~UufZpcKeck%%LHZtJ9@xrr8@MI zwM1y<^QCsW=HuxHDk~G2(tyqSIrR^gP-$_s#DyqLHDhT={rQUerE5*UU%qje`W{B} zUCK}-xTHQ<*G*CuUu{y>`Wd{#)E zZ0J&Ztib^EEx`ML3z3d;zt{JFFYX!G{FT1HY8Q|_D@e6h_^1AjTdjGXleccMpm`2+2ym z&-H9a&an|-bI9h#BeS!>-We!u3x?9T6Ll$-j_(v^HoU6xQ}@0*e$Ku`&!QN}8A_xP zCj7=zMgHra3EWc*fz{}Wxx3Wj`QZG&kB#_>RD%D+OP2bTdJl zo(r+BzkGm>^>-L(T|!KQEBXCv6sxKrz{~&WDQc`~LVEyl?=#kWcd!MHU!#Ba6m4+q z8A;S}n|P(#u5KryDhNBU$+Ab`XkhGv)B<*|iyhS6x6CFtqk49mG*#JP6foaU0{uW# zd3@7)`zErFgxRr5jvT+%t|PT6Z*7M1h^sCtqg0al^rfM}->D>pA^blF=~xf_`<#k6H|s&9S7S{z?K0M2T}kPu-nhbcC~HS|3X77%9hvJSp4H z#V=_;tzC~zRhs@E<;^2L$n$LtTK0P;d>*W~q$PCF0@D$-mC-Nw&<+-1jw(WF#|r ziJwNb$T2$f=gM`E5dr!I?aYKaP|}nRY46DZQLSSN=&TBm4wa>msRLIITC^WL)Xx+g zU*|@mjRzKVXbTMO;(e%5jrz5q5x%;zpk$s)KMNYvR7!^eOz~c|xI$6#=-V#Tk4poV zBUoO5+~_o+*{v9af4VrPIJg@ifW`>~J{TuvWM#^?CYRhxC}Q@W^N>)-wDF27SIuDw zx1M2@zEyK9@tJ$xhTa6I)y_N45VMOozY5S2w~L}1s@RqJj|~4wtUpC{2jhRt@W9_e zO5_a38PdmpD%S=D>!tU)lR-lrGXCog`OQbUX^7nC=U@5|+>a zmp32AF%nyJyMK%wt&hcF?mc_=5*k*H%kfthrO;{^#9#~{EU66_T(5InP}^8r%h4*E zC)Ru3bfZD4X-8QDO5sf=e8AtL>;&dF$*^N#2R}YjoP!_94&2)jp@;-2V5|?o#hDd% z^JU9WKG%fb=@)3Xw%szMx!}Wd!fP3Rr(d8g?qSQI>ceK!6AZ87&=4gXxY2$bms9t% zRI>(Aml%f_w0{YAJdd>}ZYN`oWa(l-Ed*dZEuX~(;nK5OnrYPc@JHv5pkaJGtHEL> zyjmDl8@56_Tz3F`o^gIR0IeIxv2D9vyjm<3Y3}0>nJ-s)WtqxkdHo%Hm~!m? zR@C5x!!ngPm}U<`{u2UW{Y?Vc^y;CF=axJqkc-)O1hSf`fz3LP){#~V0;j>*T*u*9 z^s+lB^_!bVBLz${G{|gIY(V7VJfb?}SB5`9y%)BqKua{jwoQDY z7I}KOlsZ{M@hNyG;Qb0D!&ODJ4{h5_9qK0G4P;3Lg1hAX*xF@b*U?wkWgCbbR;izb zQ+*%6k!8~`(98mp&I3c|5-AeCd#C}J1T47&z1_qVD81p$)|q0;b?4~s3xASp!z43@j%SP;~TPhe99?eUgPNgnMs?Elz%Aj z;e(9T_HVqaqb_#ZDF~=o!CkG~Ko!1~gaE zA@P(X5MvWwG2|vbP@rG9vy^2(p#1{2XQe#0vx_~QL6MOt4%)FKOlO?kBz{L{s8GN( z@9+7yQ6SzndyZgicP4uhgQfW9sSxnQs%RIql@}B#oKLI4(Wq%#_~o1Apt{4R@mFt^ z_(J-}4ZcBk!FhJ8~#cK8qkOH0n#U$ILtWNUi2In|`4N7|fEHv(y zAQD$``L=YX(`l4W8M#se{dk5kN|y@ghulDUXh3`Dzy3r&Lg1}o5N!DfSUZst6icZT zh`=>KakY4uwT!Mj*yZ`9bgbN@>>T($S>JJySm=z4)HCN?IC&>T` z#2Y4z61?C<4gM#+t*SU-8EzkScqP)qX@tAit`Yl?D`Fb?$5& z9>D*q_@m=1Gu+4kpO$c36N7Nh1zwV`oUc^yVezE)^biyJOG$Jd1i!?*FBuPte5!bd zYd3}ej~YX{S-l`?kFcZ5rwLD#k!=1mUG_wo*3E$~XGn1>Tp*`4h`H<#+6viEzX;2A z53x{I$R|$}7U^fW8wQ96fE;xhy7ZZdvmqTfL|-K0E_Ek8u|j;=?v7qx!QxxSFpunALbwgSlxI{-;2ejw3!C5?C)ixDzyy3Q=G~8A5!T5IT_9{dwW0&Tm6f3b;p%kUaGc)CH*3fZw%1KR zPItrmK5(gNERPgC3w*d^;BA`DpV?{)X6qM@Zq8dTF7}v34we|l9j2Wf2C{4#e2ed> zJ3z2ody55J1-KeUGY8F6vaBp?as$0R4=ETg0R}}wIMlqv1o5Dcp#%_WfJu7tcSk@<76ulh5OQBT1rK+&}8-bzrl)ghT}ij6(3 zz^c;zM|+j7C9VX~XF(we5J`83u!k*yfVd!nf{tto4k{`l?|-X02?@AdoNwk&MkY&D zSDiX_4t^JAX}n6ps)?3ptHZ7JcuOyg6||(0&;9OF-4tK zB8fUPTWSJbXcd;3Ud5f6P|Ly#FjH!Vy|K-vqEX3q3((at@2X1=vIKy(BD}TO=>sTk z=xGOe=iT6Ijr*35%Re9;jP_8)bU*|hoZ3-%OH5J ziI)lrC{JtoU)p|C!{-_hb$0E0M0{;8;1RJI2oI+*)NaT4T-}ps{5cG>^}JMD3XU+l zl1@GeT|jkqVxI>7sybn2Pl_Gk6S3wfn{N~ozd@wfq?kPlyg}zqKruBhMKZk*8-TuX zg^!G_&0WhVk;BpN)VfvNt*uqpww|aB4-5QfOj&9RpA~d-0;p)sm$gnD^7v@H6adYn z><(%e=O%TQPFdB`nQ?74>Vb2>l3sgz%j;uM)8}ooAl+TjoAybXRC4zh8%aoWXM0%< zVf$hO&sJM)ie%&ZmJ#G}EaUQ59rU>+fE6m$w(IJ%AaQes&4}{yxkP2wDMFR~WiHyuzGd#8#ZEO>iNDxL7hgMqt=9n-tAHp4wSb_#RDDV0 ztE(rQ6erD?fSiW^dKY`9?1S{W)E(JN;!0(w)2;~2EIyj74?yCl`JlcJHZ*rH=4tLf z6xP2*1~7T z@{g%kItm)PF&inA>t9={(=edwH0BA;L`TmUrH+t&E@sI^kQWWhSJR%xcY=9U?X{!n zczmVi=ujh*z4*#Yg0Bu_G6T~V_yr}0`=jLnm4&a)1Kb4>Wencc1 zEbb2&3i|X7Jq^Qx|1#>D9GhI(?8ZxE@-RvMn3SR%zQ_Xq0>NAG<%{5NAozPyf-t-C z(w~!33D+7er_*sYq`iw@@zOpRnt3Cdmn$-9n2{8&9~0eLe^+{PAfTatlm6Y(*-b#P z)#EV9_FvlLZC0n>1HvMJSf>$C(n-YwTH9%kwc%BHcIN7i;Q%jME z$%f(Xz{vxk_0djVq!5gkKCWcL7YoYVU4FO`X_Uy6?u8KyNhF(cTDZcDWWd2?gbmep zbJJqtf|Uwtne3N1Jy45QOJL|4X>@SC&BL|qPpzp4MSBkfsBCQP z=PST&`#De`)2L1wG^$`gorPPf2C<3~X42)%fLrbvrX^7E4!3y*3Xlqx+0cA|Pi2;d zeVRFP+9Q0e(<+jw)T-cQz@{7x;-0Z{$j%zP;kpLAXoGjeH*!?y$(;j^oKe-@r~rmA z&z%dXmtsv7-Xcjd6&JB}8&xWczr!B$a;{81h&6o;BbZypD4gN7%*x$g(e)lHZ{dY& zXd5ya9qW}<%YvBs1TxnEhP`(-xUC|8FWwOrNjOM04zZLyHq72-5lA@XSwR&p<{U_G zyfBEgV779o3W3})G%s0X=IT02CXd%xzEK@3odji(EU2Zot2CfWttd0ATA=c)(RT>I zJDfW$I6;8TrZ9&C1XdgZT1?#3RbgmVQ}LeiJ;IyDD*{GB@!0Kql=3jU0JYl#@Q@lC z+(m4q;5K=SEkbEJ?msXXsA2)yAzDZ+5^@?Q$iza#;sVOKh@%Qo-lg8hqWMNKsS1@u zNfl;K7v3m(bLiy>VO(+qGOq=T3NZTV8zB-@gcm-qzrwDF%PnWV9@BM)kFkx8@6tOpEWi^dTjR1YPt#>pyNN^jc7&2qmBoh$0JmQ1HOB5`g$A7>{F3tx*Cy)70_eM(_H(3`+p z@7vId4KD+E_-Q5h(&bX!Sxq;9_`VLGB*$B;iPnk-(1*9%=FWQwV|jZCA@KQX>bC!4 zAvxKA{(#H_RoJI@WEWnXW?DKkuMbSli=UGsTs+Jn(l#sN$6O_cn2VRGY=q*wVJ^=; z!<=hz*H3BRBa<_eEv0_KpAd#q=$HHnRT}AljaLIgr^Nr|PgIBbdU0#j+eqW{3uVl& zSO}SV#)4;A$Rvp@pq5Sw@sB%x@Qxtw zlZJGfgW*x@+aSMf6{;X=?o3W2--F!QH^}@Y>3{WC_tIx=?xa?)ItX7k$Yl8_a^b&L z{gDmT-{25f^RoR(yWI$A`;(vC@Po$Z8`0QS7A1K;Xl4sE6)R3Vs$s51=S>JxswLWo z)pW4f55-T+GbZNu%&o=or4_YFzi{zdHfAG*62;OZRF-rYhRe&NwYiX8Ks(?OSj?9+ z+Nh6{;ly%&4kpGja3i8RZY}VWDMtkNWc}YOVvc$O`w-NdqK;gU*&C3;;G|Wf} zz@9PD^Yp!AvhdY;pmO`T0R9?x3AQ`2zI(tX!Rf3%lrTjEL(g?~#FvOs{O!xokRA?%2t zf-EYlA}FK7^8asDCnN-L#+iHXmpqydy;N77dJnPlyed^o;V9ISMBNI3YVjFlBy@+? zRw2x%Q+DDfK6ms{f=lae=xL6|e6^hPB3}sZQV?CGaJ~mp?QtVo@31_noZXnS*-=7X z4^aICm9J|wWz4J6`%2jjFdELL<8@yg><-*5=*E4cM$7Ye&38|I{B}dB5C4r>)F)iW zk>XOOYTF)Bsy1Z}c)cB>v}d|C6ZoQJRLE38tEBQ7;Cnc8X>N--hc|-&`nGNKNaAP; zET30awtkiMfZ}OU6|gSD%Cz)N^pz17?;7Ku2J4K+h;10}kLU-(ect_K{Cz%v z0~tmn#U?%qj5wV2m_S?{GTzFj8&vA5=cpnq>aw z?m;amo*hSoN=ikcN+EWcPWCaVS#Bn$TaBPk?N{gAXjl$m%Gg#^-)Cd z!k^1DT?UjIe;#$2haGMq)v}_NRS?mqWZ!4dMcf5e}iIxMiZ0AZ`Vi{b2DLAnhmR8G>7N6 zwnm$@+|5D=9s-thL0B-z9l!Rr1q~i<(g2~&FlzNrq!OyyYpDI7XqhgySdUTof9 z!F}g38VUQ(6ElG@E7>?~Eg+Li*qGAW8AH=2FO(Po5519Z0eei;Bm|)1U&zDR+NOdCd`Svqo`yKQMt+5_k`4mcEy2Z46e5&AiwdihtCU?q-SP#L&f&}>eTA)S!dRC z`?AQVlUU?In`~$T%Aw0m%HK||6Z0QjyO=73KTK%nKHDrKzAo<&+II}cdm;=Q`6wQ2 zLM!gxr5QJX3u*@0qX&(vqXLtzWXj(jpltBwIQvF)>3KX1Ta!=7hwRG_`UtCiCrYQ6 zAn>Min!1z+=A9W1-Xv!IOb>GT=I3$k$rUb%3j+6yUj-L;Ehk_Vd|AK>#!OXW1eQ7m zZN`lYe~w;%#9errzeBHIahLzck*Xl7e@j>nR@I>5ud_%t5!cdGSP&r&)WV7(I&X8=X(OrWYhfzJ(S=j`mc zs)l9Uc2==21IZaJn-qewz!dPn_N#(P)7B>qflfrT6nj7r+SH8>bjm3f$8-nlLsJM< zSZc1ELt<9Pk9+o+W16SY(jRXQ8i9yKfEasIA5gDS2iX$?j$1=YHMifp4mza}ZKo6Y zT$@e)$R?$Zhb9!2-^lx9#v1)%@6NA=!#gD-Sil;z~8#PYv z75?>Am0Y8tV$<(A0Eg5GWp`uEW}ORt$R%%P5SOWI`NcRSTRG~|%Gi=CYdD*ZS9)={ zyHXz*r_|O_#AQr@#bj2857Lhg@KASWg2s%^MJeql?81{dWt`j5M9a*v>-ZyAOk2t6E~;&)f( zlzweFKs0F_Y3gC!df`Txr)H5@vT#7`?~G6pl){@5h^Ja6eN*?91cWjlkRvLG>z>ut3)68o{+z4s569? zxHY=RF*1CwYu^Pp+6c}voF-d|%Fph;>W>N*Du3=WP?v9y+**hf5MywZs(=SizPuOqdsn-_;t!O8t8ox62{!1`4QJJp}kDo5?8h;{98~62~#GJIfN-eKm`N^J*|j{11f{?|L@ur zLJ~yVK7H;NA23v^Y7g&Ti(o@W6t7GeWC|0!D-YI&tLHea9Bd6r!a=ec82jtkW|DE= zE4>os`Y;#J!@dre#R$ z)Kas;g7a3@LN7x}j`*06Wz#?zDmNM2T3;x)_eK(*P9!|gf~bh&BYbTs>~{e0KZ(uS zXMcv>M&Z}g1#FS*8759aaVg9ZUra3yt92x;Usr~empl|muK=7k%nklOra@OA#Y8g1 zF2HVsJ4m7y=aIoy*-QDeEh8Ep>T5l)Gc81G_T6~(vJ=Nc9Q3;^BWr*x1 zj=%-So9@~l=?Lors|7q^cFp}gL!aCln_hoD_g%4hn4aYnA?82+RAl|>1p=N5&^E*D zIE&kl;$dyA1XS+!LqoI4ImQo_yLe0Cli(v1q|vw6D_W7m<&tyyao*MkktK>oM&V7L z7K#v!ODtcoD%CpWrg++}(*dJ6RyoB2A1-7QIhdC_T^XuvGIfidKnRIk$k7L z-09h-Z|R<%9`)Oa<{U!O9W;Usur7!)WYb+?Z>F`;!$Q7~=2eu`0tA_^)(9l^;b=6c z62KHy5zE+2sVa|lLQxFTq#0Mf=vDz2mU}fCjYZj9_)DApGjfVW!rI?bds!vJS-J7=ET)WJ zn#SBhOW{OZ(nfDI?4^spP2 z&H0ONRT^PxaLG&cLErGY%P0dT$a@e&Y()ITOqS$3f3WsRUhU`zCOvKJU>k=#zr&6R z@q^xjdFzdl_*K8^I-Mo&3L#Uj`Sm0@ILRT1h0eDtsos(`tn7*4K@`(|^mYOy4HT-; z4C4DJ;elGE%jFPZK!m#LcWaxy5>OOvSds%c2~TxRs*jpcCYq%&-x)BeZmEc3C{$$$ zk|x1LjKpP9E#AJUawPa9{D2^|jprGa;>XDj8J0_JJS*0YmR%$5s}8eQ&36r7ubP4Q zX{GH90$aOn*V<6RHpHccLnF0tF)uMeAc6V_ zv2hsm@AS$L%||~ft(@PSq(3ElC=2NCvzSx;N4OaKXTQg;IFZjt(Xk1b&*3CO0oNl^b5B@jxPy+!*kv0X*P4S*VzCQLg^_FgGe@CpXh;9pY!%v0%f+ z8Eh2czMtJ)E+%B&o_9>rZZF5Aj0@~;Df2tn{6xwCHYaLHc%3wLaaC#>-GXsbtf^1! zFWG}__PpqC*b~~v9%iFF`1vV&{)jkitN}XT5oefC%H2`mZ-~P*^i}7{)>>bRnw?<4 zh1$K3I!M&ttSWJ@IM$1;cb&T%uyrtSG@+-zln6r{t(85Vc4wkWG(FMr z8LQ7Mq6YK*k5A1$oSAzlbg~am>DpjjMrRfU_IbW#KR~zZ6g)+O%m{)Oc>NO_Wj!D-vtw15hv3exMlrRS_V1aV z3c=IaDm#?u+rE%;#N4Ml_P<{DPr4T;vRto(1 zO8(V7O-t3>O1#6AFM&es`8`uA(T}oROG*jv)_r_65?SE|bJa?%x_&9jo!ki(YN#Q*MlP)dy^(=6D=BU@ZZPFj}9M)Hp>(>}lS*?6$# zDMseeLO7iWr=eKHM@NDDNH|!^=61F1;2SD|F_(aEndK{BdnRWk&k|f#pP8?qai+f2 z+L?XS`U+WLyP)l}#b(sqJhBwyB=PKFXzK&Wa>%AEK6PVmTOb~O>0Ug zd}cv3IPY=3$kR*L=dUE!z98?XLEz&OGsATv%~-!mrWMF{v$n1DfT zT%{ew2-(z^?F{eNELPCUtG_l%un*1VmoACfsPBvtb(Q!7qx8K?!Z!bnQTpB`G1&Zx zQ7Z72CH7CgQyJY^Rbs1YPdGZ!oRwjM7wNQ9)6nGm>vkRo9G6utS7^8nxD_jM&95hs z$cjW78pWQ8rG6t#o=0yd;L(7Fv|NkM(dWzdnXOKAO{$NY(H(W-ktVq_<#ydkOZ90p zqZV_86KfDan&jot%}sGfnpkoW>STK*d`*UcNj)V;1JaQsYH{8w&!5p{zAfW3r)AkT ztZS8zdtXG*Pyfezd2T1JEK&Gb2nK|~l3E}TNeD%f0Fz+|1{`o0CwTu`)e;D7#>YN$ z*8Ss!tX5Zdb@i@qv00|8{}-_#@xSp% z^cR`eU$j3Oq@$#r;u-ur`L##-hC#wGf9sLHVUVaJ_%|LY_6?r#V1{zq37*k~oKAF~ z-8|)ycuTBFkede)L?PxALcOOPT!G>%S|wQ1;`)`$vnvSGO-WRb92WRTw=^5w=KxkZ zX?P*%Krz?|UexK1d%pU19*xtaDY~ehFk2mN6}cQ5GiF@nuHPTR$8Z@vg3D^erH4OA z5wgIkclhgs53xjB3o>9DvNgS5s#gptXw20~`B8&k{*E>>h8_KFEYE?88ag~ahnS%M z7L5lW(p^h`n=Bge`C@o3iMg@Sk!v{gwhn(@nlL_HhX198iY0bna-Tkjc@raedvEV1 z_}wlsk2f_KA{N=@sK9yLMcdl9(Mx;4(qez;;2vYaBkzfKD*bKwE##jcJlltE4KBIa z$F32GdMkm79AcAZ*NI;d!pOz!zSv92O*43HPDYFS(qlT1Mxh8`uekEXW~&bTS&qQd zjwN3xQNDnv>5XTjc0e#_K{~eJs>(Tuh6!YHLWzxwe5@C=fq(9e{hlRK8b_zJ+=#Yp z5Zc+@w|gdK9;YSG*dh=mToqoBXFjTqM~Lb$$H@EWGb(43ZV5(K-Qz3X5L?&5f}6f0 zQA*iYa^CqCQ|iGj%nKK=51dfwRw-Tx%DM^!(r;C$gK))p2P>}KQU`EveR2a-K;hYS z^3vj}YHIR}t=+phw5GZQayog7wGOi=ox zE*4(YYvD8uYPQU8IZzU2uy6Fq{o4G8Iy0PrwQ64KLWpz)AhBuX8=CG=XEO04SwE%e zKwFYYnD}iG_|J^GTcQ*@c<4Dv+xl^B5+bDlBAN`MqUTXy3+PP4yT`MvtNctO4VV4S z2UE5=_kZhPj$g`UX)phN81jm}BC@4zZT2qhhstE~{@dp?4w><9Fn$`gSxCWTuutgtzwc$x9%Pif$M7rIhDLDH z^qNR%UT-N7Mx9iY%Mx>c);6TTrd?z=r5YUtEo9S$CY76s>sdT{G+Sp0<2d86^N9A9 zw!PA-bOPFg%*Wo<4BC`2#ob7vG=g_=9oDgIxSdMOm0-&2!QuFveWkxmGgBCxgWl%1 zk3)w$@WR4xJNM8tub@LF-&?d-((WnFZQAnOor=CoSVCf;PRz>zjA9Hea2+edi)fdA zq>a?4vA0xsA^+0*s(+v?Tebn&30UlM?0bfkt~(HLI@s+7R`f91g>gSBRx<+buvKQ` z!POHy+BVISncVVi7^hF+tsuj^Hixa&i#c%DuGVd#o>JMC!R5jcmoY>9>9O*bslbe|<`t>qDj=Lk-e`|Ag? znV&sU>-H1h#*jIgDqd^$;Nw(i2W}6eqfEy>0ED1KeHR}b9Dr;w_gx2vZtb&)6MdoN zv+;KhZZY6ck3{DUrC@4xhqjv(^nIw-Rm zqC4c5qcP!Q-77R6LQuM63G>vlUFmdC>a6c8JfyCEiNF{=kgk8Bu1m*5U^~xRZ%?TL&XA({9Nwni}(s9uMR`At0 zEiRh0=40}pg(2e{kx+AZaG{Ps2P@5jB4bGKpdw*Ng^#_806N8>hLn-U-BglAQ&4gO z*@gLlp3FHwV6aTIaa`c8AJjB&-i2!}J)C66UfQiWBtZP*Ajb%}F4-`7b9!+B6J;{| z@)BC;_ZT+BTPdH0tX+kvI#G5V%WFg%l@CA~!yM(I>g1uYS;rAVF<%zgqkzqTALDe7 zVfkfBFyYP>n1i!%mcRdY53p_+hhfRA>@#4|>nz|6auRHbG9*mNHAqt+ zTZ_BNL?pL{hHpNO%?~4VBd#6{xPT*_A5xo)AEuUWWTm%Z_t_|K@`j3Ro^kLB2tR}6 zHo(OiP~S6@tatzhHxXb9VOVF6?nY+Lwhnq0wgk1OM`-aNdgg#8GY&(-iy_b{!v@mxAkd z!7q!!3aqYqet3Lf0nQ7fKmhq0u5p(5DXN1R0J!!0G09`+c3DNP1iO(f+&yq`RIr4Q zZl&OlTn7PCb?zqoD)6y8!6b9RYC_>l73#D;O9mTtN}&0SDd1@zLG6hgC<#O@dzA^} z*f_g38TDm%jCW8ggLZ*+)a0-{p%}Zt}lq5TMo!%TdH~q zcf{s6=ZB)e?w7jw+V){?;(zpfpH$$3?K|Hm2+ra5R^yjvJ_}98Ibp_NGN>Mff?2%+g=DoL3>Yh;NN+9tCkmOnv}_np5=4tnRia1j47{k;*t_S1 z0vC!O|KtX}?8wHY9#5vCRRzoK9AQa@Vh9xB2r}pN_y`lcwJ=P~&D=^b4p{(iAD%Us zyqe_cCtgp=PXDQXZv7wh6a5WJ=nwQ$A?SD^xuQyr>ahI+mGd&$A8Cf_9I9oG0#t_2 zIptyACNS~8-eLUHFBocDWVZ5ADai1PT33Nn`XB4n*_JpHMSn{Wfj|N&^j;Er7nR}) z02!_O%Bu@^EUH#Y!?Y&$qfMI%!lJW5 zB2~@;TX<$84V*Oda>`oQc`m2Wo502d)da7wd-$O3&OS(K)9OQowPz(0IHDdVBfTBt zQ3RkjHE#i0>_pT>u9o1E02s&N_9`~qTX!i`xCI6qNgG}?%rV{cX^vnHqf*{I;RuCM zuOS$cOc9{n#*LIrRcZzz>ilJyMsZi?G)|*&B@`wXXMDKxqy*?~9w8WeLF=70#hsAl z3Rn%{>nuccp9Q;0zu!EJ1-6X(v3Vq@a?|{>c|@iD-Z73g&%%9^XU#*)Y+3$ynn&_= z$`+u0(L9gu{QNY8Ah5O1(12tJr_a1_n)r-wf0t}YQ*z`1S{9&j@W*A{!MFP~Nj3y; znvYqNEOwHArHPV6g$YKOM4b`#M%awgxx$e87<^3S_MOM5md4r>5kQY}=H*iY%Uc5z zKOo&LSjT1F^mRg>Qw)EbZ$5fnS4yaz*!FKx20-%F_ zt$JOLzSeOj1Sf%%URVo}Po?}o$3ZMYYg=H*gr6x%n_c6+KcXlZdpt_)>%5)8soF$ke z<|a6o3T(I*+o~MH?y@RAPv7;^O)X0QOBUJn&RhZa&`w+I04h9pWnUL+c#M0*Upg$J z*I?-j7O~iXF1WIq*lQ+Wn%_z=u;sj-yBM^XE)WFvrNMDrhb~xIl`H!$RVAvUO$i5y zM{q&qnqKsHqsn*HB@&GQ)pPWybvH}{H1Sjj@5>6K9pu5qTa|Izm$ITeBinwvQ{1y5 zz!TrMr)gdDW?h^JVazhbJ+YtUzHfN*&}k0oOzq3*PY~Jjg;w*Y4htUFF?A1=Ow=DH zTXxCNRYmElT-vwy(jw;(xJ^#%QW4&&hWBD z&IuunT)M?1tvjw>j1+LBlyZa$>e%lR6q_#A(ffe{BPw{Dy9}IjKTnhu)5P3E83*YH z86x;HM{?dDBcgDbC=epX#}L7&^P@gE5s`|hO2d%*5Y9&PFA?GJX-9M3zav8VUK(bp zXp5S^cGPzu=f&uLGnNy*8tInZCpE}!v{Qa9FeJM5$u8Gwcbyvyc;Y0#oBXSdkv$6x zl>vf$?{CB!DwByXIO5d{-w{-5#1S#pWRjU=l9|6%rz(|H&e;)cKz{4AIR#Q6mU|tD9mCuQwR-84M|GAE0 z^l7jOL2Z=hof)KzXjx3z?P}AYE?-!Kx@{-?bI+mxD&uTQ$JcSBc%D% zUbvwMWb8C$mHb^(S%+riL}a=J2fchwpzD+S`AKr;Jh;2At&F+hWGAGiQ7-|^wF-9y znJB%@hQ`s_T4eI%jhEg+DktPmXs7C#z6F+pUZB2vr62>49J!OQTTCdZ`PgVi`qIu^(b}3KM$V}F?R~oRW^d< zNaaSS)lBvfFUAYgY=s?2o(=Dt1)#Z!WADq2q(4Sy02kgJV}UbL5dEgSBDfNzj$932 z_iNBcA%xpt0wvd>GTZb14~v}cFAJVJG8ucOaO5`=ZJ`!Cx#?CQH8Z%V+;Jz28*u7y zKF9aR;3wr9HnYGI68$EyI;d)RY-S3KB=u&HR7-UaF(Kt!L@7{f(C{wXG`JOGIvN|o z3Qi8fP^stx7I_RxGL`NFrtix-O;sL!64&*80)@3F6`#9T9Bl3y9o{*m9ove6X>(~z z&(6Q*(%uV(YJ!^*fUkMSR6JjLMZCti9;RBNaLgz}6!dta(wUB|SFI1z3r zpysf-wAXw^En{1=aC6$;MkqI@XLW7HABftGlF;^1QE8mB;z;%q6aM2VDEXDggJ-&Z z?wsE zsAPm{8*p_>;*sa_!RYQUwhgR1xz?qAD_%+9>E{=;Jw>!@-QyfEl8Vwc5@x>+hn7M8ofGWfsR&UB@h71KFD=j_O7t8r_ zW?5PUMD#1Bp}1ij#ZMFqemwB~lBq#`BxKb5WLJ$g$JHZm5E0S!(`zI85tO7#rTE`Y z%(ucUaf7{o;xt{t7;Bdb7#Rv&F$Z|Xds)NlArV!(4spyQ<}_A~9ChWqH440qQ*8IfWAa&v0d4(S++QoijTjreMVfk~2a zkkCwj)pGsI7K#tNP`qv=)iDHbiO?}k*ea)JL7Sznxf24kHoFg=EiLzRA(hLD(bvy_ zFdSx$myt8V`m>+Z+PiNzV4((YnKo^mwVf67O!n)6=+3V>c&nv5ncr<=NFS^tsSExTr)L z5AoJI5}Ov|;d6EKn}&DsjgW{_i?gh0xk*!fbB@ z6g8u{SEuuOF`E?K)%b1wlV0W{_y_W{kfQ9C1>&R}mjqCO?Z*9L4xEs_>tNQO^FLQ3yzLp~DPJGF(0M&3 zCi2>&bjpkL$txx%(?R#J>l@yrymvrl20!^-JyJ1Mvijt$KSF`aBi7l6Mo5lANn0#Q zmxAn#>2w)Ch`L4E|EQ#2TXHdwAc)UM`PG0xApTTLmr{?PL!IaL{`4qk#e#t0w7q0K z_>9d7k!@)|EjExZNJy?d14VVXLAi-kSZQP+<(XSBO+&P}uj=q^}otatxT9*#5| z9PaomrKo5lN_Pk=4(J#j^5`WVF91ULMF^udUZso|4m6vo%cYG8$^%M2q*e`=bwh

g%yC#6umOz(>D7MEJQU=@?ZwR4Vl6!F~-k#l&kAg@MfySf*%<`H4H(R2-2~GT7 zmOv!vMtWt)jWAsjPYAc2s%-jxy1W<5`%Q4diFBUNM@X|IQK{a_=WiX(^YC2$=+0&y z%=}b_IG^um5Q&xZ%}z(#udbG|NZ>bL$zTCxt>&c~FqiElne+8H z`!RgXvO4U;)UKd!p09F=y8V7l`Q)tdJ{n;=;6hnJOgOX<`WJXPj?#+B;@WFP8>i-| zABWmpW%r?r6wTVzl_g3jhprBHI)7?ExMCZ-w7u|g3opfdV<8rvFR^Z|F;LCeyCc+Z;U9Or8DLV-hL2V|I)UI#D10-8^a(yfFe$FO zPwHR8=>TX_76kQD0ACtxUBj{XXz3SF6JV?F&NfVSK|5srw)k$e^#Mw*cJ)oKym|w1 zqs-+CWZ_P%lrmk<mE+ncG1b^xBGp*h+(CH5h*Kjxq7K6t?U{b!*h42M5 zeVtw%J(liIsKZfJIG3l=WR3b~+ut-3$=@MIX;tLBf>X%gU9%9*?Ci>X+%Y-d{F3^Z zjXW~y^*I=4Zl1iOS4)mw5|U(F)=rS53$z$vyT=3U!XV)fY=~`tx(A>g0XwfdT`|b! zH(EMx0f`CY%@OC}bpZtfG3;vKzoo@2XGhFw#UUus6#Gp*Wgt;$Z83Rp^9jb~-#cKG zdoT9K%8Mga5mA9(LmkJtvG|OL)1R=U-HD!O<~x7NVRLcWFrQPssI1mWAnGeEyazsp zV>Y7)NCuvalY_xvZ226iS~?p_S2%2PIX;<<|?;e0Ks_b0MOs6Ta1>tv&)Dm zjfba&mMSf5dX1GnFng2o{EREpXOqMdxSa}B^FIu%y}nF1vphG!N`TU{8Mq*oNA*&gaID#I;xYx$`b(*Z19_5=w~ z^awrm?!l-;6h6KZZ;r0<*w(#z0Bk}kM3@{yS&Zx)b>*sO3BS&^k#Y0ZdK@yn0VJ1+-u2rfLnYk(Rj!sQk?2u*Z|qqi zzcZgs7?cs4ZJJz->(~(V0W&n?jU{7dI)li&*aAbTkB|v}o>n>h;@TU)7TIUI!$1+- z&vwn;;gW2nG`=fOishIw;5kc0Z%sw&CwuBqq6BeBJy_DTik=U&vBIS?vfS4M3WbU{ z=(+6Dc_hH*1jj-?y)OWnJSr>W{eau3Z5pMxLrU$oRh5CaAs)C4vl{1RGkWQca2W{* zfKnHClq8+U*5HazwY3A}!1ggiVw|Of7!dzb12bRwke{{#cXsuFOz7aZ4Nq>ITEhHW zcD}o)ycl_c2MfH{PyP+&ke_QVs||GcY!W8){AH5uRJqL?^Q`w~Y81w8yjBzGwLS;D zn;ysxD9h`(fFaxXpIKDCE%1F6;|qNO>_RPe&4mVMmSK7e-_xdS z0ERR&o*PbYzkMv{Q~l0CznOGD;f9Yt{!KO~^Sw#7ALRDB_yJ~JLR{Xf<^c+FsiBO zK+{KP(HB%Wna0Z*M8j*@N7n^G&p;+;@6ule$ye5l)cYamq!dNA3f1a%Chd)&+?o!E z=Ju!V+lyfaQ^R2XG_DbxL}kSf*Eh3$#)CUSmDB+Afu;pK7}PPV+=jfTr`t&d3q@QB z%)XpZy{7H(LY}zA9PvCQ6G-)N!@HopDG9OE(vllJF<)P93OKCrV(u0f5In+PY{60% zwm@zQosfc!Zz}ONlXe(%bJT8Vhmd*iKcUvmc0M0_2w?b>+OCvu>r+!St6&th#-9fQ zHFqloodXjom!2v$S*1b38xI-iY|BP^HiLTD=XdIpuI+TpQAXZ`3>&ZH`ukV!{g8EV z9I6jDr6JZFqqaGX1!kFXKBeT@RnpxGRX`*;L3cX*WVUssS#+FVvRs#h4v+V@3p@f6h;Q&S#ux1q*rC}*>6bCJR6(O;h z60{Qp{1*G#o&$j$$sa8X*{umtB=Y|yXp*C!ll+-bu4R{{vd|HKN?<%Lv-iM99#K(Q8X{-mv) z4>ajZC|oy@d4)1fNqa;wpD|}<>yRB@#Lr+aHhOUl>|Qif zJ2%MWSu2>_yo0KPOpS1hH1{t4y8~M8d^x}CZ{R3FBwM+H*;;CDdmUI&6fTT6t%pq7 zOuKD?!W(e^zHR>}{`QDN_s&c=s61~F>Q05yU@!5d~IjVwa} z_6xA-Hp`%)uP{N#-CTm=Ks2l^rHy?kS#K)8+MI+t6H6pm(J6VO^hVSY{o_x2I8-sZ zEC4fMl|B@X(ae$f)E~ua;Z(#E<@n&P;4xkMo5X<(OD%8iFpgX{{-w2>5@wY(sYJw@ zU1!HFSMM?}J2AO3a|A^5j5tkj8WJT|KN@5Jc{!T8H><(bSEi$LZb;Kiz-;@(3oqaF zY|xF5GY>4R`g*;}MolxcC%Ry|jPBYk=B9DyetDH)fr|9j3vbT`&SKeybNSH-$%?DP zLB5XZ)T%?MydcT{=S``RqxwV3jNiP-)<^$Zhdr;`DjSsXLNtj;?s4k^YW>Y6cP)aA z*0|XWmBwqn&bdD| zc8}$iO7Xs#Cr&-2aJ}E1*4$8^Oq_*=U>H7KC?}j)etD$96A43pPe&}>q;!A+nrIbL zoIDV?0p)69OKHg(uWlJMK=K5dDePZ@J(5SzOWFts z7~AY`Jm|SrBOPi)|*Y9W6QuydvE66KrT9Dx}t|GOV-vlM7eEeQO;S$i6+!C;}2Q z^>mDJ?S)%d2i9c9`0Y@v==sxGANyJNu8!H z@n8NyO9xxe{DNV6j-+>ax$F;)SM5iVu@#QwWHcm5#% zdOPj@0L1Q9S&cih*Ah_I35>5C`vT0tD=d z3I#;krwEEjMg;zCB<^J2xgXpjND8tr*xpH@Z)JW%+&V?gPVJ!N)A5oEqWmX>Tnm%D zNm?rfR>3R~^5tdN?YF}k`GiD`d=n@G&F9^|_YZ8RI=5u7o(zkU$5{O-B|C zKe3nfnV~n-7j@d8O8&V@sui_R%XS0W)cmD83C7-4F=9PlwfwM+Iu897*%L`S{`M2#PIPSd z(#-HEEw)fpN4fwmeIfKCnjQ^}+-H#cPI=(*F*@-KxxR=qAkmDT>r-WhCAsW^k|4#B zlms6>VN$!)F{zM@+>$B7$+>Vt!ZJkUQ>voH#OK+c6& zPb_l-?azw?6o_&3@ZMl@uzYzPBVK&uR+vpp^rL#B5+g!d@>vOt5Dx~+Y1yxLm=koh z^DK_uU>Jdl6+1E7YAaI49La-?2!84Axy-{qz;e-)OW6c&v4)3j`G;s~8Ua@>oGI@R z`qn~Q+;gElh@RNiVOpG3zyFXG)HLl8%N@#MJCG9e+B{CY=%5{>q0e}WgO>L(r(|tr z)Ez|Gfj1{2A}`Pzi)HVi=*CWaN7x@`f}KadZFD}iav5L?yL2TSDb0ZpDil%jwIP#@ zxYpVfHh!ovcO-TdkiPKm(}4RZh>*KUDi2DClw9c@!shkPxR7rU0V7Y$ZXRDh0<9wq z{1;+~U0N6SBBR@B41Lf9&cJ^QoK6khPQ@@NnL|B1@&4zPNgy)fWTAubGTUfz>VGZI za2WMIdfH<)&kD0+5Fiu$WkL5gQ0w9Rc5pn;03eLurB^6Uj6ei#mnFFgh+z;ObfCEY z{4WjC5J9F5IRP>ve+;rbDNc<*=EIva0s?Yo-gN(Dm3VNI{PntjW6!rk_%oZEob%FA zu?1m-&_@f!iRq7m{;HZ?za%FI^zq+=0mg8-xyXoNeWgACpwaAVYj{v~1ab%*I}V9~1)DXNhBNP)!IBiguv^&SJ%mj9Ku z`)8h2|1zMNa_g=IGThX3Cz97(@4JM^J4BxDLsTt6Qy>)ibvuRTGE*P0?2_hb0yv%% z?<#${+b9hFWE|nuNiiUVx&?1#7-6;d23E+%s(E^4f4rbdHf6PpTtK1 z6Y%*;UCXEgRM<(!une9>vZdPl4w0Oq3moFAjwCho2D z)ImCph`I8yR|bh^pLJ9bKxWjNu+Od~$B$0_t8XBd{naNT7Hei8B7h{jm_nIiJOCY^ z_Q#V!bMePo|C2aS@5e%uaMgJCZK3z&Zv1|0={j~|_^5h*U;QJK3d=UH3!9cUs2HSuR~&fx^H7qJ{Ene-!ec| z1GxaPl3INX1V~6=F&1MS#vTx~Dn6AK58DJ(%BrOlD5H51sDVapg+qJ z`2R{jXZ-)8pELZz&zb&r`uU`)rR@eg+85rRAODX${=h6XLJ9?iS~dRoBN?;=PP0sP zr-3r*qjAwi9`soiayW`?0gJ z3RUrf`f3~6FvNt3`pb>#x%`!zX$VwgRZZcPK8M;*brx%RRdfx}DwpCfUD*g}7ZIHt z^RfI>3D7jj6!>z@X6!2oFN)iq#dO!u1c`fsUyMon*=kID1$K$^+)OYZ6k zEvg@>YP<}>2|%}R8J49v6H=o+W9s9t`_0f?^q3Ic6>?6@A1-js_c(D%*N zi~JgkPHfE+JTuN$H@O}wDdlZdP}&OSMtMb7<CDC{g!_?TUyMeqpc-EYa|g-r_)*2w187D3&n7 zFQG72P8PnQ>{v=d*8y+c#V1QF<2<(Eq519X@cg7tp(1VzC~tZ2ULrsrhQ}0gqwz9Iknc26q zZ$&j+OF(r>#EEdr8)U&?5Sfj(7PEWN)YtVY951Ds^6KV3rpBu>;ntdeIulIc;ma|< zb6r)01B=_}mTIO|Shm`)H!8=oGL)AWlOFt7jB6#GcQ_tUyosor(Ew(&0+*dz;LW96 z*;JfYgw{FA#~WO(N~7K`YPFIAm6NEtA_10pAuX~jj}BQ_Juc_lB{N^#^ROmcNn|>v zRC0wprps-yl&kRUiLyG1ze~%xx>n>c*||JTm2L6CCrNu$Gx8}ZTR$cNe}*WjD%u^F zV>X(~Gl!|&*^j45HP0IPslpGf?oIRVeAk8G(_|PPTy|t?ONuQb-H_%#Q1Nd~sVo9&u9LSVs!1B4II-F@6D*j*3Kz zEJafH%=tXWW&0r)$uJh~77lNTM={CG$9cBDbTq1@unr!L9y{13xLBT4K|-XqIj3rd zzK!bJIHuoxv3jqeZrsnMwG>_d+t>=Ssd~5?eRH{a+NMOmXcuT9=Z2(g)VMHWwQJ6h zWxb!aI<~g-cF8n6X@ws_0TgoChuqWf?Q7?26Lh;q4)!;@Gkp=E%#+KHovhen3 z`!g|+@Ohf|-G^zO85g(Zh5p0NVzxTqqGmMrXmQu7+(Y)dU^w6i4w*HsSoTm<;!Vn( zlFH%!Jv|vMORI}x6uVG2>b`#~ZO+Nb$iu^rt5An@vicq)HptvRmvR zfPGM~Z_hYV8Og1io+@qdud=$%-sxEV*2U7P@4o#q&ud}v>$$$YMpjm5<0Vr#kOo5T zp~JUKIdmmiz^=9ZEJ8-Q-oW!&H`i{}45dz^HAC}r=i(>jRd$IddJ-IfO1eU}yt0L8 zw+qCR^38MEN*BmS+XQuei~M<&50$-K%k)m6e_)h$UZTTDhrJN5b$o*nfsDvO?r`=P?!c){x3MH@9a&Ji&8)2A;1ro@aJpvCeMYi5_PU?WYE>p@50;A2(3k=0B2J;Se z4^QqiZ8qMzzUtgg={>W4ch&@X%D2b8&$);VoLdj_@I z$(zkih|K}n^}Kko2*un(Nlx4wYc^Jdxft>{Q(-!Fg4{5YDF!mcy}>V-nv+MLL2@;* z$ZA+yhT|a96C*(K`oS-hd!Iq}HL=9&xDD?KV=NP3ELEH`?QlLp;hixtF4CA#k>f!-=WX-FYX|;wHs*6s_Dg*ijC$7} zeH5Sy7eoMMPyng0kJ?EH%_9#&zMCGVfF3S^9@aDtyDm&rhnNr(R31ZE9*1O(S;CO5 zm?6UbatKIhm_IU*J+gp3I>8OA1fyY4nqRpeDO->8pO{gA5)z1XKL|gh6!KS^L7~ay zV`{)V1rJYJz%d0j7=8#F%-vAz@kbKi;NDM7@jdAT%G$dAyuf!Vu?dm^FK@`;CpVLv z%4E6-6O#fDpf!{Zzwx1HFQ_7r7Xu8l1UqnqIXfsuWN#&W2#MSAE_M~j^@1K0XZ|0U zN6}nPJd3~bR4X}eYC!4qg^2m_?}1vSDJ13GxPeI+ z;2kH8lMJ~WnG@pVtn_B&PpvL1SM-4xLN~hHO+H`vp*&I<`1%WYp6-0%YVu#FXz5+P*wgNDho#*eCvvw8bG4($~)G^9%M*m9P7)=5xa>-qXJ) z@d-M<8raEK_?Vxu$W7Fpx4kb6d^dgbJX(=I6=gxEL1BFBhkhYqLw+WH2?=2iQU}x{ zpzj1wgjh)G|JD-!HXhcdSLIU>U8jyS%4rX)oH6<0Z~!}U!Mc7j@y?2Ga2L!^OR_w| zMW3|AkqYM{qHG=*G*VdGy@e!P{6RUOH!3n3s*gjdG-OsG;#R|(PoE)mnr>H?5I>J zI;%ad6cdop&ojs%QYmtMkx-FBWg$%b(f?d77n1AoPX-!@S#RV#PSs1pNdYID%X`>2 zo?4GW32=p?rNRaM{wIji=A^{}7FA_wlrxGt)2qexZ)XlykHW1A{+yTyE2|+J+`yF( zi=ALuR|$G0K3ruLBX$HL%#Q{B7(aR+t+5A-F&kU~#!{_G&gbhYgL9jd8Zf%P2NVIu z_wM%-Z+#tRhdp^}9mbN~+1&s)7VS<$9Y$X*=+F1~^Xm7~+K9>Jus%uw7HxcB0PtP6R$=sJ zo%1EGC^!w9iPD2M*K~xYrcJ*ca?y7&Lw64v{{MQB6?$qMX%<(H81Yxk`PY2eiy~LG z>w?gor$?2&a+>bzKCbGm5Jf`sbU9Fwez=vmPG6C)RPI|kSC zV!fG2ih!y<_#JWjD(Kj%7!6i|kW2 zXNKqY*%_coCz23Bs61zMGSH{5cl3tUy=rD%bI&JnXyQm^Hp^w!VMfnwM-R783g*VQ zZb7%)wq56JO+Hmz3?>>ZCRE;BNA z+;W^!{9?Sy!n977IX%%8 zt4rn5lCrvvriQkvw|lTSGy54xj&cZRV9%n&M@HE{xKHb3#)TXbQqDYH z26LVH#>YvC8jiEH_}Dl(+3fgi%rPVdE^LjT3Pc#TTpcxDS|-IY4wM7ASyxv>OELOb z%lg>eIN<`te%var7FIp_&u~m&Z_V0^`RW(fu9}34#kYp<^0nEYo2PO|t%lGImenq8 z*D%#dvztqfd>-9>CNj_aMU`IFzq3v8D+4|IhZ%oPCf3a$7=Ki@5vpWXPpuc zv3#bPy8Etou|LzV*T^)gk;@E$Po0x8F14cOe80WQg*|`YE2kXHiW)G}gwc!T7d2AE zpqb8kl{lGFs*|PIP7esqoOsh@$%q$0A)SpyrliV34;PO*NtSvm(^FMml2ySaE1{Vz zjV!iuufUnRHC(b%bpj7pZs^>ArfNeA)j))&>X@|t#!^G8#_iF%w89*!gNR8tHW;s) zmARN!S7E-4T5+kjYt!u5WZNO05g*8Ck4sOsbsTEFmLUr=^czpvX#rkCzd+C>?@hY6 zH399o2y%;?tGL0oL{GKO~OJPw)Mgw3bn^6VwkrrxPjt6tpZ;Pq0iD2Bv z{YgqHM6B^~uswkIHog&om=*f4&vsmg0(usc!v-LREQ3N5a3T+j|2)fHfnI4|$zfg3 zm!G#XQ6DuOpRVsuLQVi?Kr0ZV7DvI*@tJI_AwR*ql=>_U_5$dtAnZi47Q>>JAfhZM zflLxF7BR3>Ai1%d?0K9vz-S_F=sax5*c6CZmqpB|VX;%?Gdm7KJnVK)vewNq9Fr!L z`%j~<)TGyObOq) z1WE`CG4M-5O~5mcGCbeiKKwjNT)710c-6SoIMvwsSk;*280F}5iTm_Pa#4PQUcLfE zN(4&y#l^7IFtebg{Y8*$!mVe3sDQYq)sWRt)zHN-%gPQHgxfsr)%F+YGd6dZsCgGy zswZyHCXE#?pclU(O^roYmyPqz$ewrMCkxL6qWs}fp5DepiSVZ7BAfJdNydACaY)>C z;iy*@CAmhGw9Swg+=g96^aKuO7U199WSIU@W+G)0PFzIqoEdk~+EVf%jU|{JREY3| zVP9xxtGk#;7JvE$#17KsF_FM!X(O3k+Zep;dwKK1ZyA&lSfl^VA>~^@dp7c(@yv1M zJ@MW+Y_H6kb|$#Lv~woAP~1rQ+}6M?x@HwzFwJc5e+_zu#h8}dZqGV{TtHm{(CF4r zUM5}d^^9jUk*MU&aMGOYdN(IFIN!YQ*lclC`jZfRy(EP)X2#_HVDEhUFxe90d?tTU zca98fA&I;loiyEL5UX5Eq+o1EnQ}h%&kH(>!yB8>t0X zfF7+w=A+zt6Vme~@+tGN7!~=zEJX8MtQO(O!IgodqyFETqMucWEf+t-d?fs_be%zg zi!$go*Tu+UMB*xS&PbF}w8-IdG3xIW1OnhD5sG1wzgHF zruM10=*8FNn^RKSwSAFnruzT4px{RG`18Pj_?(Bup0~KY0KE(!y0K%j$Rh_b(6cVe zI4fK$nWiIsNA8A!7hJAC#rt+=A8`@zkHxI74_Jo&v+wJ|+sKfKJ46FyFcNQ|d~g0B zbd9EEq9qgqUi1Id6(Qhq@P12naX2WMf0}7_-j=y;vKAn5Ek!TIaN8V7+a?4zlHyLk zvgYNvst)xO?u&40r_gJatSjY726dD&b+y~nk(My z_G2PVrMZ+3&m5P+;G{Y(R7ZlzIC_3Ml!ssBhnj(BnZ~RWCndTAT!726e&tD$17%s% zqSC#2Zqsp7Vkd1QP@=dhD84cy1(`x%vCDM9qIp>b*yH5nRvagRGtW#Gtac>V@@7M+ z=&wB4gPV^pJ)q_1%64ff8E{c2iTRW6XVA6n#l6N6KSSJqrERZX<*K5+GQ`&6NPe%cY? ztkXe|jdYZ9?3i)Zbm2OXSw%iwS;LtnTLiuT%cC@U(R|{&IK_KzT-So<)WD90?@)h9 zg?C#Y!=>)v)%CLm==!h6s14*|hiP7{Q?H8{S70dpa~dZmg#bPKEYNG_4yTe-MOCQ? z?=n!{oJ~Ve(28s(-jrZO}jk)-p_~uskYNU0PT+jYYVevK^|DrWAUd zGGw9tYguY;joXaIxhuGwW5-!^e8CD_%sanTU|Fx6(@MfhgSm2~cr;CU4M}B8O*l7s@06$4(P7ZXdq3h0XN=C z3e=cM#*`#SUNC}N-U*6p+I%$+$Cdeng_yOuC4dpTqB2r@d_F3fR-Mwo5nQuZb71s4@Whm9!flIE<Vy_LGjHU_T zvWDw0kZF?doC1kcYVc1;Psl>Q@MEB_Kj)Lv3_TJz)kT4LC)eDX){PvN4T*H7r`$}& zc&Fn}>h?*j_|Z9CGtz*l6AjlV!dJ(7eApiscWoT7i7nYsG`Exs2#dB&l|1rbql@+P20;p8&sa! zh0s-zHAh#jN>U|Vqbr8gfeN#E*%I>{|wQPZ*2-TSzO6?~L;TgDNLrj1qr$y)h!YTL8z*j00yb@dL=$6#!yy;)vACPjT;Kom8cCqJD*XpRK0` z{97CFYsaEd%l1BkOWF1=f=W$(q1}!G#t5>7))d6dhv^w3&cY(i$#?HFewK&a;rPbafrWh1%YTI)B_=oROQd3obE8YRRKA*DPkg|E7v%4P{HKqKi_+?eO z$K?ur-ANjEE)9DXw!VO~-H_9z*ZC7*2Zgd3cS+>364+c%Ytr1$1s_M_E$2mF=vofg zBXmt4y439Bd+U}f8CZWrKX>1Q5SLxjiIV{96!6NUn_nlFb`Dl)5%^g7vZ9rzl>Pg< zXY3weRLRmUEaI#i47Ft^n^DgGVo(+k72iYkjM6#bnKj>Q#Mx@Z$;lK43Dwy6I?TU} zAQX&lp_g39YUHEJW-_mB)VTM?4%nsFDmQ;S&n41uo4`d1yEH7vaXZchhfSLs;koyL z=65^0_Gi<>y2OEc`?vG!%!5-#3w8E8MU9$Xw|FFV_q|K+<0(aw^$St2vbx~_oj_eKCI5y;q`*iy=mzog8cexqqClJRx&0@0z=!`q5|Pz9Kd-r5hNLS zWn}-haG8W~ZR~?ccPuPRXOLdHzH{9IkDsGJ{hKup1vsS^+M-qzocrQons}=P!KJ=H zH7?8aoq~rLy-n3hWOan2gXGfMWvWv3LNVKVYM9Uv#{TGjAdfR64u5r7n04@$8pNiF zSTMZten)sjyUl(z&T9*qD@DIV-Eif#Uu#K2`cz7<{1MBns$rGH`GD z#o+z+SW?61`+oG0;=7{Sf8zUjU)1#+nzHkC#Hai7c5#x@vmcz}`}OtZ;s)q^l5+d6 z1IB7nDP%XHD06Jc_;l=+uX5$kF9!`F796M~Aj#1d?X@(QA*BKLN~XWcOwaFVSOPXf z!+TdK2o9Swni1a=2>cIjbU3^sr_tGM5m6f4c`*EAFE|hGw-E&S-h9;j%ABZqEGomR zct|h|3?^1RyOH}SP*tsHt>ln|a)of96-HXU!Te}_ToRF?s)H1ex-k#KquS9T*^8o9 zCZO5QIuN)-a^a#1j*mh8bShl>^geNT&OUqwBlQ8M(d-8-AMi<0JUEhmi3A5rxR51Y zLvn5OT~acdeJ+t@)oTirO?l&k?e(`Thc-i&wVR3kuZ}gE)g~1u@>#d%o&bmU=vks_ z5@K>P?hfP%2rpS_?)kcF1rPsrR_58V0idGlvcy3mwB}NAo@1^^L#0{WrdV#MqI|B@ zQ?OOMh5@t?%ROCckchCKS@jCgE;RC1aPsTUm71|9B9vy84lfs$#xnYHSJ9~)pQvO9 zEQ%Xt8Pu;$#B1-b4yZ?RN~*{<+Ym<~z@58w0nDQ$-QYI+TSq8n67AGm0q=chVVc5V z{W#kg-DndMEJpM?B+4(&tjOihg`O#Fwh?!ECRs)dyLo_=41qKX@*(N))+l@?AJKXS zCdZwKC@@w+aX2~^zD1S1>oXv`zRGA2PiR|XhS^;=s*65BZq71-vcRbvu4>(gX&9#x*;Fy zD5E#E`odv1bC>3kJ_R<*QO(Hlj{};1E(1A=MLq{&u`C`udPXg<%CvTBRCG2u(;fMM zdG9LA?Lm<#*QUv?Ah+2+JAzaY78Eu_7Sw`u(XBY_Sxy7V6%lLkrqo>i!@(~dvx&vR zu4qZz!g~{FtZT1s76X}0?3;d*1olzGCVx>%QnSc0Af1{;(?wy^qYU(+Y?S6Vbk$Sy zEbE7)$HL=4qDoA)5m z_ZL>Hm3B128@u+XDKCVH1O#U<<_UG5soO>z`t6t~;R^&{5BKwfW2yl`moFjHfnnq| z=G8G-(~71%8oEG%M!@d)LmndN?8bzeB;63JL;7ZC}B zUC&r%S4v+(UtC*gS8$uhn7fiy-ErQs#n?X22xh_wV@~0oDdjOrV8S!+0IEjEpl5Kd zKVq~vdmE7vYm%%&9mkI+ORn76je|rmxGkPbzSo~zipWu2dOwsiDz=+n2YDACMx!oH z0k3c`#v##q_xB(7q!S6mzpr0^yuY%yxvx|vQkH1SLcn?`>yf3w3ELp>`4(##Y7_Pn zIrU_BCH$k~>l01ZDVI`UDWDuo_K6>LFBj5r3G|e|0=69PGF=;&8+J>cAeoGk0i}pv zRk=!xIqUA9L8%GEAxSA##QRJ+PKQfwK3r${A7P>Ja1`9Nq(L-8X%-5P`qDF6V|O|A z5NY-L=()vH$+LYmiULl>#Nx-NVz&7`xnynU#fd$O)~$MbI$Q4|v|KAk-udjqmw)}Qc{+6-!l^mNDThLLMJK6b%h_0xOA zhug1_$msF^90G356l#VDEwCGQZg|4S6r-5NVSOX;J&e6xKac8k zKDLh7_`Y9u;C1QvzAtQdXb<>!zn^YW_=@o)>^$?x0}=+>{2wY6)LnX>LQlg7Zp-8AgL^k zjJdq}jwGd2({`qOx_qw$%h{H@T;|#lf~%j`U59lQx{Hl=?&flOhCVt4qD{Z*7?hg3yd9`^jiXxKWINHYL^Q!JVNtrD(?+`8_pcC{Am_#lh%F?DRqMDY~;qzkX zIUq%R{J5oJ+k^*KFhh@B@s|0iB~NBS=#A0>J%gO45Y!-=*tR{qraV)_$%n_t)NUr_ z`2>&u3ZnP)v#GVhz*h^mC!)~f62KCH*oRmNeeV6k;a2c7mAIA1G+-47LuaRlrbE*! zL;73?D9h+T)!g5GBAnC=0g*9BErFOh)j#)u*+I7zmew3Slv*6@6BrCmvl7^GJVBW(dAR|)p34Ydm^@H$@-9=*r@d(IJ+oh-e6!H5w z-Tmtkb|&WO7qhER{S{f#b2fO@i?~;J>i_pvUQJ5IS+e}+-d}!on8eB^?+Lalu$4z> zsOj6*5u;EBDnV<^0?8haFOWgBv;O)CZzk+;e!h53Y z1lG&t>mY1DJ3l|;9n2!F))E9}OuiEsHFe-BaBIetj8`l#Gv z^B>om$Ht`g_0kbq4i(PrW0OPVxgL{x!l~|1TRz~CO=nLbk9}dDhg|o}-yDi<1)QRT z?Qz<1i|0rG{rAD6sYhEovs)7Z9Q3aQD*+Q$p#sK)DJcU7v3CclPH3Ayd{=3e#ERnC z8fGkahDPLL(sAaHL_u$6%TkFfz~T`4%X3al=HcS$iidWS(5c8`$jBxl!=Jy5ufy7T z-c%MQHs4+tiA*s@r%DVj){(HcB}p|yC;L0xQ{W+qP}%Y}>YN+qP}nwr$(C zake$*&a3yTUe$cePf|&x)0MB4?sV32-;_SmGP@nj&?>df=t}QS??4hVc`$idz4+ru z3zdT|g2`O^voSY`?+d&qG$NwbR9&u&t*&uNzAJOuv%UAEQO#Tku_YPjeVc0+fZEr0 za@++`bEvqpl8bt)(kOq`@Y2ZNFEL-LC0 zdNEzhULS?zq@$nPB<%p*lr;@?QJO13%akKQ$DAF*e74XZk+QB4&|^X>z{o0dT|dpT z%=qN~H`5qv{-0(Y{wEIWn1$TzW^ylA6XBx+%mv}aw5per z@!sne<^u=;fGAi^#zfPXlm1!h^C^g$Fx~I1!V$nyys`9Or@nyM4BG zFjFyYc6<55_jkK&Z0o{)O63Od#qE5%e!#Fui856YuVC2T04sfViV=kc`w%x8>{BqM zAcvuO0`z{y3A`I|*q0I;JhtYry?rWqg%=O-t;Sm{@`TyKLmM{J-5Q z&%uXKj2`S}9EzhO*mO+49(q$|kIoTYa?;*Q(=Hen=ut++X2)1sTw-ImklVByJ;iiP zPIqE1Nz59=rql68gPb12{j_5RovTr!1yx{|J0wKWx?1OdVxoDe3eOhBI_KebBG5$h zOfO5_7a_l)b%gNg59I)1WHtC{Lc3Gv;oAo1JUv&VB^dPa!ZQ%H8pB->76!ZP)twit zXhyzqCAKGOj>R-$1G-$p^D&BaE))1jG6{$X!~g2k!;ph{p`JhqMRt6^P$u1J-r_a} z(`J;+2;3>x3%6twlNAV;AIl`>MK+EO8=}#~?+x~7y~jq8NimZ2UT^DOr!Vc+9BT<> zLYGm(ragRUNi(ml4~+_Q4z&h~aU%;(M!@z!azo3aWt*MXDc3&yH63dp?Vp(3_Lg_$ zr^~&5Jb27fEBvDuA*(uw4}8@D`A3t!Zj~^7UB3-2%QWAx!4y@);Y)ACK1hMl`VWc~0ZZJ&66r73OB758>+MSJm`Hex+pZ}Rha2@+VR<76!-LApTDh45)LKPH; zs42o-J}C4c=i_KOiWKhZ_( z3FInTdAV7U2jZ<4V3U3K;U1K-w^NK>Dba?l_?t?s2%}v(%28h`keze z4KlVc2|lrBW($7cihxw5YDIs5sd9Dwczk(Kv0LZX?_pBK?zaLrnAv!OW)f)F_G|0e zk}3q+B}4XdYCJFX07p-_{OY(d=iT-C_<6nB`~AdwhJL!ipKZU&Jgwx- zoo(ga-DSE}R4p8?TwK<7CAbG1#GWNdmU0>p9jO$gH#q9P(j{i3i&#d+r$md- zp+bO!NiygkU?(p^p`w~gufV>)Da>fcQ=%BBM&QXO$B6efAyP~=GlF@I>bDRGertZH zyt`{WIZO<3LXTZzKiy4k*p6s`kwrI>XvT<@{ zBgu?67fAfxM~|WByoau>Gkt3@M)GL{1t$MO2;t)cZmHh)RCSb*QlT9HSSAv}UF%T3 z0HZ?%uXR^=N=zf#GXW(4q-h!P)To|{T})^pNF>+{*H0#p^{D7xO)$kxi2r!h;X;yS zbmLmHERbm`xQQAjj^z;o+Kz&X+`61-YNwCupw}}%={)o`zDVsut#jz1pQcMTD1uC% ztqHwu2&X)#=%P~oU^%OSUfK@&#Pg~N!ZI%p^smX|x5Pj{4;hjbW@iz$gybEh3OFvN zBMgWJzVX~Htam98av&nIIt#WQ4h#GN`hk#mSoFYQ{X%;f3k=Rh4NVS30iPU_%@ePR zq#DWeUpMV=yoYQk^{*6oFic^L?vTNz0Y6!OM2QT2^ib&jyQO_!TSKww8mD|IChx^B zv?BZGl_4)wGiA#8EaKL{Q|x@7nP5F5a0pXG}rJSwcWU0`-dOZ;Es3b1I(HpTHM|IS3fV^Ygf-rbyUp|5@x% zI(h7I;P5heCh$BpuDqIIwdjkNtML)7--siC7zg>yrgset{3Y8HxJ^!1-9O30yVsr$1m>MzfFVy!dy&9W@cQ2 zP{LgdRg{EKgYomsme>NG#+Vw)GC+I?hz5*`Qod3V;e|*}1IY}!>2Zdf>gd2jsOv;~ zrTpm0;8UF@uxQp>FJ$!SA=IN#LLt6E{QSfA5Pd;g1G)sH*uvV#ah(3V05Xq8-{VYz zK48a3{KFp~pjbq`_ECsYQdpJOqaCpF>$Zh@{*V%m=N0d}&uHiS^{942h^fYQp$LL; zanRy_1_l!`O2dvp_4FggJK%WVcD?Sng&{k{ypB-+7$2Cn^$RKx;c46R@GjGsR4kzi z2bhz2cul(oUkDP7>fciY58Bjox3-hLkx3d%Fs}Ggc9KLha*_;5FmmBdczA=2AI6vh z0HI^X6WEZi@$EsR% z7p2iq%_%@oFlsEdhE6vrA_-To5El<8l~j(Gb)1!>LUI|hH|N^25T$%cRh%|S!Jv!p z*bBN7=OYb)aoB&AtCVmoIoojj~J|fo$ zMsM|5_?y7ay6!o=<8g9(0kuuKI|#w-CXzm|ff$W@{}57#g>QHTQ!A@)HM5dZu}_J? z8CV1C9*Lb^M#hZtrQJX0FeI<_HgQejG;tmM75oiC?1YM3g+8-wY)Ymps)|JKby@;U zPaE6Ny%3Q^<=|*?JZwE26_l{yVT_-kBk%}RP6pEDpZ;1gc)k`r7d_2At<92slhm>g zL+|J+HbUg;;Y0DB%^@DW{Wu@w!aOM1~!f z7($FpEQz;kvO~;f3U}-AF8(7O?VTNwH$6)~GhUdkK&_TCZPoNq=^}C(V^*m~=v7qn zyJ5N8u*h>M-;UCdT zfkn4$ZoSPh5N(Z_U;=3^A=X-FBz}&`=xwbu_-{>kJBd)TRA;)XqGBdTfs9U|j6FRX`vycz}*fAMJ4nVD=C6zDubJ%IP9k>@DIv_-y06u;W{$B`pDZ)d0{|9yk9ysCZy0bY^i}1HW zTG8of67;d*jQR*PM|c0gBWC0C{U01}f{p>aV%(0Uy^?mVLAy!OLqvi5yIgPAF zCKHv($YD#675P7;lT^v5<|=tA9*LLAo=VMNl?_xgm5eRD^_|L5vb#ew*iLHAECbjT@IDGrJXszfu zye8Ho>-3E|j<0yL?m9jwlp5IM9G}PP|00GG9flUjJw6qsdyJ2pJv15?Th!WxzLr(B z**D4r8&h~&FC8dCbe@$htvt^lx54xg2v(82_?in}HNz<$4Qr7H4nW#MMS9xbfIgqg zf)ZnYsDS&HxKFkUKx`??`E1m)ECOEo?)a_kOrLex?d|RIZ0GS+^RV-MJ$)U0hCPLa zJ$2Rf$$k%gcZE59&skRtH!APlv&#v zxBgP1*RwmkU*&ZDVU%r8NHCgS%?7e)%H^PGaVgM)4C5!VRP7GAI4wn7(lnE$1w|zC z#3O30Or4z;Gdc(|%?GbusY-c*_4PU%Le@O!E|(_izVa1v>rnFuw*^BywzvpW3gLGG zfzkEv)5d~pA{yuZ#V(6vo95^IHU6K)xF6ZDFPXDVI*2~pc*KV(76M#NsjX_f_=FnQ z#8hgrb(ryXG|JI5Ko<;x7waa!>l6P)Pn%Jr2l+E+yttMc^a0yZBcCl!K(J$gtOJfE zu#VVK18324)7NPi1`Hd9(S?r>{RAKjrNvAs5h_XW8z!d)lzF3MYMJ9;))khfOfh*8$FKTgxk?~mA9v{5698g zRbzIgR%mvHPU?d*3cQQv*)*->r`o5*D$kR7O0muqSJBQ?<5up1TfGETUsMA$TltRK zpHhw{`vom2jZ)roq6h&BL$xjfho>DU4QSNA4GO~7>Dnn8o3KN1T83L;I<2NOkRM## ze}N~L)h6y68&qh=k>6HElwTQVnw{rmn-8j-0dB{ga^Or-D4YkM1y+8Bk z{8MO`sBL0EX=EDG*uO9@c5H%7SFb`U=3HtX$bP$Fuf1iGX1i}ZlyBmV9q_* zM01GJ11xi3*?nQrd-aglJp`*75J?7N%~i-QgUpM!okLfVUV7Yp*9t2?li6FvX^yvM zceSwvYjHsfcqSo}y-@kI$$4gA1B*S($$&$P=UR9SPUOSe-nF~fH$DELTZx5%)pT6m zXbw+CkGT@qZLWZtSrluQatNUxtvr?uWA0OzaUN^ZSbZoXS4izNxMOa|jK1I=C(Z`B za1LAsSlLNBT+_?Z{MmUg#k9omG}v{_-g%8b)FLhefc7Wo8_aJ{v+bob{9fR&oxhvA$j}UEUN> z&&UJMAX)`KbX%ncSO~#lZrTei^it2v{!=7n3|@bdUFcs};N#3ss`d4h!Ya>PVkk^uHZ>SL^b@Q@uQsR7lMlN}$H?>vGQ zYc&h?hharOVjxjrC~s~fKB4v6hMjZdVFo#-G0w&|6{pdXWW1RT=phC7HA_Vq3_-F` z4>Y4fc_~e9SGha)@H8v+k1xr-WB`qrjgTue3*WJG6v#nZ&H;+CLd>52$6bE}**)h3 zs5af`>QySYruSM|Z_+)-x^!+fred1GOQ|=PBD6X~Gu4^VGS{hL;=#A{9Hf!z#ys`- zC%{W3Te-<_f;=>(fqX6}@iPyYpgc z=J$4Xr?=DVz_yNWr{^uik0IvxSNAt8?4H=V>P@4MSU8 zmoj$9Ob)M`NWPQD83J6`QvGO+qt};Xd~gYw`Um-E!;zZv-X$Rc;2n`VF#w;G?J@{1 zO=RCEY6?8#90H|f7kzi9w}<&a+N1omr^OpL6~$FmrFWv%0kwhI1H324T$uKVW%Ei< z#n5qy=m|*;5x#1<0{WiwlMe<0oq~GG8XkiS~g~Y$cu617(dadi6-Fs6!ZjPu9P!My$xTDXS|R zmb83EqayHCq&d~z3bA1K40Tn482RTaJrBiDm1a?U%VXUcd6Dny4aWYp|94$xMND0l zWwvrhu*&mr998K*?+UQ4@!weYfmgAdLyOhOe3j|{oHSX6LmjX6(zz4~Td43n9Cc^> zXYvwkHPcaB85n*dMdTTd@8vVuDFk2H53=&3r%{?=iFoWQuifnJd7GIyL|p|M5SH!U zq0wd2BPJ_6Or=tOq2brpNH(*{K_4ft{kPCFfVjZKi255nC|!!z%s?o{D^4KStGMC; zwP|00goRhI2~l+I?IchIvy020gG>s1DV4%_LrvXTfOP-ZBE*?epJHOFJc=L%!5-wm z1nel3z`cPD{ag_e=eClD7=K+zY&Z=QW}>=%arlTuX#8UX$pgqGr(l6@76pE+b4(Iu_OaUMe0p%fp^b7%o4Io-i&0 zd_>k(00qf|I`7;Hsb0&XWbJpYG3V+l+Ch#-E(gnoNF3+vJa>B^4B)tP z`zm}KZYVA_R2WXo@zb3w5OnA<#6xO*P+nzX=m9n^lItLzx)kv~(gYIc((jtF*t?&QBnB?yVOIYqHS2`vY;C1nIa zbO$WJd*gBf^W$;J9+R^i^Zw*YZNm2{MD@O+78AsK9IiuYKr^sf2>$iA(@YsJ3?Lbr zI)kmTZUKPQC&_$D-;9Uhne`a($v_mC5phWLDJM1x4@zS3|6L`Rsgp<~vto*28nr`t ziYNWr0fVx4q#_i{*xY#1RD{IX+~`lfk%?R&0kA9P$uVSf;Y?~(lWPo|=s(YyQI0jE z#_HT;vN$)yK*h~jGx2}9Lkj%LWL|L*g~;}vXf+K6a1b>nGxBc5A&G^XvDhopZC65t ze`$P1!RVrw5V*$yMebPG*(l|?pN`V*7xtkCAfZ>nC1{OV6&4(t`L^f?>r}S(>s)4e z*w+_eueW97Sk1&|(>LtMw|KHye&BL>ZIhk#$uN3#nPrQeitjurkV|EXlR|!E+IMwyV7aQEKH5*71#)7Jpi%|D`YWCYPMOsM803@hx(I|Vq~LL5@F zzfa$N<>2ReP6@uj;om?RR;bjcU-9bN0^(HkJ|m9M!M*dc(QSi>yswxilEH~h+}AK# zK*Cad&ZZEm01JjxRDgdp>2avSL zwG402u(Kt42P~8B_4lZGuz#kQ!yrgHh7g=*1ZwS|zvnK9@^Ri(Lus!NeiFgS914xp zN96RVry=AtxSPQu!ohSvgo)6%-ex?aAr7Eaj&w~UL*+!R*21re>9%JSB-M;N2t$wd z`CLGiF!LE8G57f7ax4=_H|O4*M)}%dh;hRm#SN#McSf?7+XecN#7dO^@O^t=ScEj6 zZWUxPJ`&MjRH@EpRH6IBk)F#Ru%K2*@cgJeh*u7>M=GF`%-UZoXJ{n^tXHu5_mgKz z|55Z5kwYyf7g$*=a^&6mrwt# zB&J~dAsv;TDVftlBi#?v2Q*$V0;rSavl3&%h+DOeo}3Db>;^e?zdO)J0v21o4@UwA zhUXQi5cY3m{ld_ys=<&<=ykf=NuRTtl%p{rOxGk1ATU_>EUqH!mF^iphmWywS63;s z)`}O{S3(K%Qf0pcch@ogDXrqFPU_f`imu8hG-Vy5ox<`)3#grD8J4U4T)l56OBif> zENZd$6tI1+A?d66CUCMqWI(kgkA#yZ9Z4JkNmmC2u?LQ_lRrgEZ@i{(|N1#9Iv(M2 zvEf#h=ubnntyACG0kIMYrNN)5^^wJa>ddg%-t7alFsWgIoiYX+LecpKLNM@;U&`=m z-cW@tM8Ju8`ARe*WUc&$z=dgiR0G{Du1D)Qaq%)EG&l8`M(J>zt|j6& zgmhwyD)`aJCagKl^PtSV*RN#ouFIA&kR6kslu9qwUc{-=lsW+Vou9CH(TPQ!(KH7B ztK`@rg&vW|0xU0Yn8a?Ufas}zJTY5{b{0e_T*}+(y|RmDGER!~2dV@wXAyslh_ z({~uH!l=PL)Dhw^4`}&T#NFE!Cpb}u@{BJ_?;eJbw2Q9tNn`-Kr=K#iOO3#CL8{WL z9asVT6DqJ*z#yXVnWczzLd0$-3;%k~3a{OOq|s{xMyh%rhlIHh!gY`+thQJ+Zfkr0 zo~_IUi+4iYul$2K3zrO;2muByAEm7XozF~|AChhL&K(y}pXgt2bvx}_dm6ym+0-55 z0U{ss{LR3DyLg&i`06V{=ueGAyI#Y`1o*3U&SATtpO4Kx5k__9PNG>z zV%Ls1`G3dt!NkJA!S?@geWY!uK8~aL z-_2=$BPb9M7b_A%01*-f2=fc07|UaVh=7?qetW5fXf$v2^>DD$BucL2_HAa}7_*EX zE~U$?qKV&5-wrFcP!kV-7DBY`;bz;G+j6+9tgbjK$BZtWT%PFtK1F#_GH|L#bv(mM zU1XiUs4f#cqjN<;iP~s;2{|>+^q);FWp|;Wne~LqoX>XIXx~zl zb$n~|FbPCqhqE?w|7KO-Ic2gc)Pdu=ckA^Z)kob#=u<5EI}D?oqFRG{fnC!7p|aiM z(HpQ}MLt2BV(>5<>?(`Aj5>pca3}zC(2R^DXM9zZ-Dg8yTJ}e9K32P+sRi*tXJo~7 zpE2qx+k7*a$QkGgDaw3Wt274%g?OwA(n-BdOVqt7MZIN*O1wvOGxaPi^#{& z0%1e|5(5H%A0ug2Vq{gX{79CQo)9>>C!$G-qc88ZqW@@gj~I%$a-t!dN&p;^wKI!e z*O!8+>*RJa%pfNKn`l|ccvboEQTY3VyMd<&&A3NZ)h@pmj-Jlh-b}#{x6^RmF?otQ zaBXUS%zu+8f=Vm^tx#suOoCrsxJOyG<`FM75Xhs+)B3R*=%H^Te*PFu;=H^hTqk8$ zj@}P6!IHQ5pdoS9LQFjzNzg!6M#-IcrB+}gC`L8mG*u09XeWxJ;=@8K_$cVq;?Ra( zkG=6xg8?1Jw;cTVudXENeoPfNp44HO5e?D3QanW>cQqzCL4G$h+K-2)Z3Uo~TM@d4 z>KL1SnreIpOYqy4qfw&=j^17XSxH-TbC@CKBS+QU!~ngII&g&~Bh}_%CKO#>$7wV# z2MxC7Yx0>Y>wZLnPDiBnlUHXs>8>c~gO}P>QNoVC0b$sBP6ar6&L4;Zd;cv#G;vLF zTV7sE?A8=YU{&z5v6fHGidB-hQ72#aY1JC0!;fxKR2y9QZ%VJMuEk1z6a`K79y z9U!mCvwFvoT(#ENoC=rm!eDX24`cd_oRt}hkEXNX1eis2&Z5u_fa`8N-pR#CDHG^j zm>C#P2n|W`m|MjWr{q$F``{9z4!mb(-^muF{zxuGu_Fb+boVRI1P={9Ayo_K3^`t| zH(5$xhaz61uq40q*e#95VB4_-ZH+wufgn5sAdm}sTl!qe1*klw*f z9IcERfqVaX@(%B;K^xDatBsd@?OjXWRmuWe`gKs~(-Si+3uWD_mxe((f+<5wPgHTq z(o<D z7dLBqzY6mx$RIjlJeH2_vVnz)P_fn8elI-Q6M6&&pd?Tu35G&(Wt=XEplA9{K5^)h z%t1mZ+LoLeM)=ulo$6Y?f0fZi^&x2e#z*EZrD3V2Q;(LbjQMl;(%+MbWR&%5{DqisNX727Px1|5N+JOy^*Of47o4S(6=5{!0 zJLr0zLYZX_nlQgHNq+U;IchkC;L=@b;%RmqFaMGXh?nAO5&y=<55%zVw@&x6w?8tL zdPAbXv-yoDAAk8%>H(Q3vG)!B)0_n|^iB9T4B5`rV+6&S>)m+|o0gOyegs^bMjUdY(w**D%>^lRg-H+}DsU2mF!zo=(R9!~q!~k7 z&6#1W=YP%1$XF~^0UFk>wDA4XX4nz$dLy2dKdbdR&vOKW=EI6Q_jwXaT8JAZLU;=M z@7{2xVM5%^cGvZxDrCKdIhiss>6wwo$SqYdm7rq0(-< zP3w9R6q~$AUH*AQv|z^x9_!s?ELhd2;lv=CsRkt-2afc@vE|J}lZ#9AL}E6o3Mm~9 z79PHfbU#{P`mB);GQiIGZIV+;XkX(Md03ZETd-!GN~M2jI00v6IJ+Ai4X-m!#!B=4 zjhhWCO45z1!2skk%vEGfR7L*dCg?96;&@^c<>}5fCT2?EzBnA(Xb8nyUkAx5j=?-R z0IijTNTaT!-||Me$L0oy8Uq06`tq-eS<_%FA^lRwwGGv$dFSQ+hZlf{&ek^g;9=5Kwzue`2Xsw^{#GqrRQj zMq{_J7zYG`Mg9jl)}&KF%7&~RDw>?-2(95cSjbe0vvJ+-7E~&q#ebyyg}@F}OcgQQ z%U_%ku(WJ*y+t%7rjFSDX(KX^ACO>HkAc&)-xE#<05j{SPlxZ$&MFO9i9tL4+_V>n-EIkXLCbK>t5L&RCDr_a2XkWYLdm zo&hU+AIrk~$otG&0lGL~C!TWEHE17~icbI=qB?3SvJpLm&HAEFa6^}7K(7kI5cP&S zNzaeilD@y`1g$G_hMPzL4f6hFzdHG+ks8FwUr3c!Zbnu6FKEGY~Ed$Dj%H>Vs^&u(L3p2nF zJc)CJjmttiw4&A%1$&xL;o3R1Bpq*S0ABR%B8AaJ{PTQZ&V9&UGt5WNaii(Ovqe!- zsk(zhf)ZwP)<44Y8wNFUp?HzI6r)Ai{8d%9QU7~OsU{y+O?`9;Y7jP*=4PWQ5dNz| zb^av)gJlYejN-!x?^}S{{F8rpfQK4lr08a`#(%gtokySI8!c!=7yayflNhdpjVeQ9 zGWu>jHbU!9yOd&4^sC8NPp7L^VU?GlHJV(bU)QYu1eCq@zh}B%SywQYSp5Lk%kM&t zM{uLV`x{d{Mp0`>$9OHB>ia*WXz1)H!NazRG{6R*W3PYi(y^fwFBaU$fwWQF=_|Dx!k z{Af^iCD5<}sB3Zd$PPXJ1-_(jBR$wu4;ikx5?gl%lmtNi#=((1@xP|6EfOfH4}lBB zB%3giMY>Ob*lyxf4$!#ww@Sbcbb?{x)hxth^%}y*B)j(Mi5JTBmK4sBsbGqHkl=H) zh$=_-&ZPa&v;de6h{V+ry}+|6yp&kuLkpnyrp?F}8E-?g!745a& zAts0T0hOm2#z`A4nuf%^Q9&d^a|tO(z83LVW&7tsq{TL*ebRh&tmQ0>GQ&cp_@@9M zG*SmU0Hl?}A^Z6(j8tzvU_Y;TBAGe@yW#QfO|K=xj*jOh(~~UGE^$eJX3n>9@wS?Er0Vp;-_KF+T6-~>Z8crGsGHT z1#X6H(3YQYj-{A_r&yY`S6QOjXX1xHMiIr-8Ve`ZiQ%1ZJy1hwEOaK{6|tpPv9+6i zz>vb84q~-Rp-^5s9xZ;fn|31aJ@bwWm=5*aY3adSw04##K@Fp%wjRU5=jE+!B|IAU z3FwmOHRiHbLz7B44w;yYSCE8_TQ>v=8c@Q9KwIT8fiT}?%ICUe#K8_)YQkO@?qdpeZ7}n(eoe;*zCm_Q4ptOW!gGJX7Q_^eO|1KHDzEKl|Om_z}8=^$9 zHLx|#qw6S>cM0kdl6UDUBqT_ems!G3CdiZdnGLF9LAtdtcg|LF%h%N8Q&i20*YtHi z6t=-*H=XJGZ9R-777Q?jnUvtscvIiq=u`D+EIDSQT_1QMx1l9X)PECGE0|PELfvUn zg9%QKz0d7W0Gj6$2LI?GAto7Ul~sLyt>>w)YvS>#j8igI3gTM8Ts_SEQF` zz>Ri6%;08{3>-V?D(Tg{>dg}JBKujtsCi8M>w?lJcUd$yzmN#h<^r7^SL}VqaECP; z494v$L|64ZHYm?Nr8O>90@0#yJYKR-17~yk(!m#0V+(Oa5i~wW;)vKrV>+iyIqX$- z+DP-4$%m%rZmaTr+N;HUxy#JoT(6dK@MQ$iw8lZ;_ZzQU5BHD zvGv%=ZyF$mL(KC24?x=9`5)wJz=*9nF*X+5B~EiI`@6eA?EXwz;p6`*b60YOv!#%M zuo`%q38;)C@W!^c37*LyPm$U|^N#jaG9ORgEXq=XtTIGG)_%lPO2Ol(x)J07fWXWgiP(_-SeCtnJt-tqB$reLhxB$0Asz?x zYbpGKdB6>ij*Rk!a*L_-$5-SD;)x~k&UfJpNu2`XYFU@8A^V{5fb@7&V5-I?cYM4aUgQ8TE7K6 zYb$atI=LInrJO~`O(CY6@}o?jn%}+`?;4vMM%EjYv1j_tpbXc-qYw0(0h91Afab=% zKecx);JH8|5hrMcVK2!FOHenY2$Wu}0oh%L2NFaiC}KL2{4mJA$h>UQXB1rs_5tV# z#VqE|N(g=((aqq2i*e4dXzsh-b$Uo!h5A)bm7VN3Lxa~$kLckZP?+-bfomkz?q;d(nrg@|e+`@YcMAJO?P29+tSJ+LjCETW|CYbuND4Ki(3gZ)DP zb->i4{1I%ZO0o8a$_gm6X^hodp{y-^i9wg9$6!niK=nP?s^;uqt5Q5TDYTuQA{}(P ztWM_};tKbw_ZNd8a@2Xw0PPnh>rl=SytD#|(1)yp50Gk4Fvw6&0VGlFAQqXSV%x}X z#q-3UXmR%G(WES)v}HJMP9K&kxYoyn{CYOlzX4$}Y@8@jXd@D~w)Ps%t6M7gT&8+| zL2a)qo|?2fQU#9k%7p6k+cpSpL+Q~iqtM*CjJ+{WxhYc^jbCBe9KtEyQjAycyNe`Y z39pcr>#CHQ)mPst1U-)f3b##aB^JCy`wqDt=Pfi=B?%M;je)#JuG;I*-`dvg3&>Pe zBq`ttSxHyyfc4Y?+ZCQ(#j^&Hmso2!9WKK(Y$~IRNwWrnLpsUs0sW}Swqvm>=g4Mw zk9%RVk<#8Mytfm;L_!i*oDSgk=TBG82Ne(z1y|P0I{4k|sbUJ)zgY6QP2+}a!{(6DT_Fd>(BDXq-xNEHm($?P`<|&C0W|uuv`N;#>Jtx@|mSjY}ecd4r@63~zzy zczEGY);w+k>PmI7oZ4m|U0RoIy%jeEpcgQ?&AVJK0#vRcHC$E|`B)@B4HW2i5)m2> z|DZE0neKqoQxWK#zDn&A=-ax52!5q6{KS!VL*?J$-D*%|Xtsac=U9@(I1|KAlp@M? zg0wpU!qLwuLmu499Ro=DU4leZf5W~XOM)VEQWzG{r*V`42&^fdE^3HHPURg@Fe3q| zblid!QF$37=^78bp7mF9Bk}h;Hu6=O7$AYX&OiNdz<`7FqY?MSoU}+f2M^K0sH2Ar z-eP{Er5@73k-uB4TMQok+K?Pl(vu-J9P}A!|610msM9nPyrILA^V4}MBKDC{HiCQEHorm-!U61}8c;PF6% zc3hXJPT}FsjUNe0pW9Sl@B{tYH}stq`PMJY#};U}ds zopujOG20AO5&4u(RSJap171pVT?*67#u;_@s@`vtEN#?D>sJFmQu-Nbi~)&;VwTm__U(6-ow z68~)7`-dm)<6`=O+HI0aS2h%uiRDgb>JKQ5fmEj-5G z=858d&#OABe%1JOz(m?2NwEwxyUqRg8sPW`JJKk{6~Ymy`F7R$`1+0#F6f1J{F@y` zOzsJH{F`&+0=o?k=aL)EX;ew5K#&!vlN7%-jT;_16k}bbL$e3YX9-*lx$g`@Z@x+P zE)8j`^>+bhXI9rBYtie2J4S(L%rVPQM4MR%vAa|1GqA1-RQEQ>u+IYv-Gk-ZrxDa@8v_?93Cr@ zjFqP#wRM^UnCZPreiKH9eDIV!$&pG0^w%fab2;|byvMax?ojW;aOqA2RRVv3kG@T7XK8+sc* z+q?l2vURZGi&}Wmi)SSEXd~sWJp&~!AkH=FNp1}?hS$1j^@kHD(I$8)p6!8y*;Zrj zx&l1JgME*2BPN=6pIT1MfxDbhCW_{d7ud-ZrGb^8)Dg*} zu3n~SoA*S}^R3C?=;f(Bx7~x}D8Ge7T{UwV@ULUVodj6{X&t5vE^x2Qvc^ zN)^3L&QAypv<~a}-Q%mPSRKQRp9^O8ScX{GOY00zw#nXnyxTl4ULSJQic8il+uvdh zor3rK4!h1K>>hd`Nu z@Vy%zG=ptA`-evfLP+(6(L}~&bhr{%z|`63Vp^@h({W`MO8q6ftvMArh zLcMf}pC7*$uIM)!4*XEb@D=m{#qLMo$D~Duqy^)c2C2^r{L3C-@hQb${QG0OO@X#< z!*ZtM^s5U$g?YF48kdONd-{9gAuE%XFll=Ga*-|Yr&K+vO!TksTL)XM?%5vQ z)IeHU<{<+PA}=dchfqmD}_Fd!@VpM3*W4?i|%(W*zJbX-pf&TC`{Lf=(dp+ zF{_{lPk(K)K?0&ofw$sJBcT4}nNe%yv_#~HL@Sc=UWNvTLBl(|6t)OGmIVIBt7 zJ%?cO1EtR)4`lITkD&nRETrTuqls18-h^A@#dDsj5!v@y^Hm?d{Ox8eVZAJYWMA#2 zbn2oj)6DJGI{X*iFfENm3$~!-mIoGLL@y;|{woopuSzG26D+uCS*IEfP}UIkPJ{*% zBN`$&@F5nkh0=Y}c-<)BBtgccu=(v{!Ob|mY!uKa ze?OJ}Zau`tOTL+ddBTqRg7i>RUD`k=kF)aTYN}6jFxQCB}=NAsD0={SlchuzH z=prtfp@Gt%np{-;m&-3stU|QT3JSR9hD31P7w2}ojG3W1Tv_%BC7aTLZ3~EDR>e)H z|D&-OiW5_?f}+l?cj`{$7zpZLq{oYrg3;#UI1Yp&RVFUIO^1eK$1<+?$0E)YG|YK8 ztS{h*SOm_4HKe-cFk$xoUnapkR?BHVdV_*iEP9ZoY#J{YHrXDtoo!8U^y2qGnHOUM zgQZ*_ZxxnZR@US`E{Y;2J@iZa#mR>k;|Re8$DHa4HBV%X88L*vI94@jUKfz3$ZhblrsO2K*% zE3ro?^H``jQO5#653oIC%l14T&yGoq`Rz?rR;bt018nWdcHLNO36iG!0<@#SM@GK= z$G6pRJ~md3jl<#rE0_xd9#`NEL=#ONs4z{WxpjYmLiP5ysE2z?aV?YKOG^;ag1=D^ zGT7EU5K1)?1@yXHYyUSdqh*mI_lEb=r_VkldByb9p#Ttd@8fq!al3M80=-74 z%=Sl#G8K}CRN8xkTBHmPzpNR~!b`lYAxO-eKcVxn{@e}uhpPF71){?w;jRM)~^~M4D=hQ^ru?H@HW$C_2>(5f}FVa?GtFAbNG}j-oKibc<_6y*)c@o+7ZEAXY#;ixlNxE4{T>(_+jnOpZbB1Z! z&C;a|u;jdbsQ0qic`}?Q7arpiA!^8b^p2Bta|Pf0G#c(J18LN6laR4qL9e6kbrY1u zu9FkM1;Zjo30ibtxt%c=H`3!Sa;Awds2f_AgPx-1vPuf}UKL~{9t2PplqlgX(xld? z=dgV^xxujjH~6IwaKKAT_Z$XRbY_=d9+wex@fXoiM&r2hQqOd8h z&>tNU2n`ui^A>>{*}4&8N|}zhT%f`p6&+r)@ssjcOTk2|*U|HxEqT7c+2wDLUEFsQ zVPv?l;Nd|Gqy3-ec{$;>dh z;Cn+wLwd*nnsv`2a6ccCVB^QXyCqF@;OA6R(O|`r_7Y<>IQwin$&gGleY0tBEh1N= ztYTQy2n{uPN;l&c-_i4gu%1=DJ|JtO0fF?|f3MF`c@qnbi$H~!QIKJQRwaiQhQ-67Z=f)4qwuU=+F*LxBqYdRQs)77Em~E; zdA1=qKfq97I95jl$qF7fmX{pd;|Ew;2bt^k=O!V8N7^$`E588yvhgjTN8e9bq)$Kf z?;kVBL_|{E70h^{1ybmVAa@kLf@aG`@Oc4mrFuUvh_{Apt{NIO((-+!)L1^8ll)8{ zedH&QGPfG!CHmyeTIzfcQvVs_FNFG%pwS?hO57z$D)FRWW<-CCQjoiKLF6~!4k&q~M(MEfts&Z#*UF5I%QZQHhO+qP}**tU~5wr$(Ccbx3l zINwEIoUZDN{u67ir)rKdlRD&5A|K_3LFsF92%FaS12L)w5Vfx?3r8iNA6(lH2@!>0 zJs)}3y1ag;^T*W|9rFd6*v$+~3tH1rA=D4$S;0@c!xy51*x~7GUfE$|v}#%}t-z@} zF+P;c$YedCo=g8b`S_=87nPPv@CR3W3TLxbP({l~ZPm3)V%E#)|CFp-md&{WSVV39 zx@s@I*GJsWSzaEQH`dG<{4wu25^sE8|M;d>+nh~N-8X0*JNge3$*(+*u}@9=TLOwok#ME|=!x#3JnBE zY0*DX)kCQ>+7&XniU@w?oPJ$HsDGl5jjP4E8zMAf2qCmI-lEhf6OxsPE1)kUZ=UsE ztQEyib*YK#ihWlTih{P5XSBQQ z`-^6i!&xR0qYx{(Ko_*}D}qjB!UZ;{R24lZh{$39TyYj*jT|o`gz)BKT*o6H@T~0|E_qtG z#QSGt&D5|?O3pxXi#4=1m5`ykw0Y5N6lh7aji7Db7?gJew{3K4iv}!kLPv^3X_&k{ zf~B0mtD~bzq0IF=C$(Z>e1UaczdGg@)nx5~_PupS%kzD)W3)E~zVeSv$5r^OI)kFi z_>b>j{r+}VI}Nd#9C69%M4Q{Ol~g-c#J8$~ALPy-AYEt9KT>tllkE-kCmWlXmwuuE z*^*o8g2)5y?+V5cE#Nz`(j*9}4oeFV%?nSyTV9R8_=Y#mnmkEYUX0s!`TtZ&Yut`j zQ(Uz-pXXk1w`p)mG~P491>Su_w4k@x#w_e-6g%CD6JhYsswLt?Q{E*biO1B^$Wd|@ z>>}J+XOrr|$oHwS&8Z>odw4id#&9hw5gx&KCza{w;!JCDZks)2dhp72R_!g*V^v7F zZ+UsN9>%fmD8T&nyT35_NtJF}!SB3c_V~N2QCQjIRN?Q;8KsVApyf$Z(yKS**$rS0 zqCqjxu&tha*0n!by{#chD`1jgI7b@6R3N!3`YzgZFvX$!M%ny=`?3beRv6K>$MJP_vYpJn3iZ2YLkzfT_2^Z2)S%o@EOCVmRPk+|ePhv_Rr` z!Qa@3+RukLN3_nIm_MQrLZddF>98S2N@t1$&2(ol{^p`NoHHtR$1TAbV+IJOBHPw< zc8L_MR>aojvPiMt0RYE_7blvRraKpI^Na!4iixo>My`@$u-rN6a2Fbat#NFpEJsWO(L)c^_U`OHui0!RKJ7c9<%uN>%_aK0_FK7z8xM?!mr)SAPCkHk@35-U zwWZ<2wCnf{r7c?~)U0lLiwDOpJpX#38ENjTEvoZ|3TE|sB%{o|na;zNJuz`ds~eUB zB3~g#RBqce!~Y8QgD~X3CqYUh)g+q#AHJtioq z{!8YSuK4i+)OHZ$81m)TY#EnbX!^_I!Ef2Wvrss0*?YD~36}_n$0z|7pz(sZIC#HJ zaziy^Tl}$+sQU((D<-JKCaf94c+(eYUTme*>j2fN-rI225|-34CipmkMhnZ(s>bi& z;W9|4^H(IC&y66ZOp6H7Uq+;<#Nm0sA83FW4;a7$=8fyg6G_Jo!yan(mGP@?5&Eh3 zcpHSJXu-O0M`BuoC2;YZnNGx0z6Q(lAunMJh&CGY z2LrAou?!a{=<{#?M@3L&@@QNMaLe2!g24@4c>&=3qNEM0T-ov#J9T&Hwz1FtipchN z!64s0%2gljhhA9jTw39rpDaiU6{&;^h9%fu3Hj^y-`-h?vRkhA>Gx4sVs6)~&g;j@ zkg%37)1jTl#@~5l1f#;ovwANXy07 z@&XowtU4P0@DPksuEnv@y6IwHlp4;Y6{#YV{>WHabHRBWKk-RbXkNasz9}g6a z6dzLI=4=pYgK~UW#o-)H-T69O9Y$EE-@OQ)nKIAze2`(errKg(g6n{;(Z0^4%VV`H z`hKxDww@7m>qjB&He9G3b}l`7&~QD7u_Xv|mv3cjJXU=TkV;RqjtR|l-plUtC*6Mg z^w%$p&(j3@*T{VVmfy&#DR9gm>>HQCO_uPNYUiY9UC6SadQ+oLnk)cj#{D9Nk8?^) z8L8@*!r9QMCH`v1XxIK^8?PnI!tyC2W6p*ofkS5Y^$z?t(R{R>adsy{zI|9GdI zo;mKB&0zuVjvnGG(_g>rOIITkLePqDF0*43pyd}KJL6A%+)f`Vpl29(3`AuUy=vnx zd}IQZIdKiW_(B!2(&ZbGZ77o?ibjigm@rJ|bo8PyO8V1#vN*}h%hpb1+~GqwFfS}2 zHe|pn=6?#V;Ac0^lsaPA3jG@y$6RO31z+&T?_RCUtI|7hLq_mhiU;@pB#IP;Ukgia zI?=%MbsWA{omgiukOO=9drJZ_6g~HCjY<%WhTW&X4bI#w&f4t_MH*nGqQ*P-n~g?& z(Yon^l=UuB-PuNr@_KsCzG(l(bcm92@0Nby$k2Jel~C|*KLY$)O`-D|eJ>$zt(g?4 z=GF*6)4)BmO4-*^s^NX}ndC;C>R$6vjE-*! zrC=z+p6sgui#^GVq+k)U`p@JW>?cH;`HW?`h&hB4Z{=nvp{QeUgbi7Rr1CvI$W;K2 z=tqH2_IL_cMO1XA`iRbRg(?zM`bEPmXwLYFx;`5oPxDkEU()$*(-Qe$w;Pq_`qPL=d}!@D(wiWxcFWHT z%_JO}?6Mzl`sW7A)5WC44qY{|pU%ki+2*oEnMVKJ4%GcC;p$6@_|p#bdOQIsN8g+_ zG4@;*e(whN-!2wMd60Aj&5`Ln-o(vUgj}$>bjD>~RXAml)U;456bE0$!t~u!pTBFN z1Aaj1o9k=Uix=$_Rri00SXjGi6>ciP8r=UbH{@PYTIvT|wW}NJq;+eU1Tqyq>=KO) zyXv2+O(xj4XCtZjT(@IDR7JEVxDj6uu9jN@yODWOrrJ^AOPbrQ4|^>t;C#7~E5)dt z+P^*cbt~yiRJ1* zD1p4De716Y9xm)-Wq7}zMA&7-l#{;RTn-E0)9Y=R)jFDgACS@uZJC@Ut-T`wzp6Ik zYq5ms=sR;Y6v4X?-i_hbeOIO%!Qr4(CVDh%3%q2)l4A)R?kt9M%^wi``p3AV;8jJ&X-RkcMfP?;nkn=!Cu;9m&dTU{d^F*+Pl z#z6A^Z@_iQaZ1t`RUjaD=fI&yWvahDMj0rCAF<)(xM65 zGi~t}x8)UJo=cz^`*9$TPXFXKy|cGUkpGx5I__K#XZe_$NE##}&0)F-_C=HzWVVA# z1%rJz>YA#+VmrS@w9^jpK~Mz7C=;WAj$}_nSvuO5t?}kp940s-ygeP>vclaXARdwH zyZsgpv?$8EQuv2LD5utj0)0f-Uj_elb;4#Vs0~)*IYs>Bnr&~byRO(@6fqMwonfB_ z4r)Y)I200^k{OS~{$k`IazT+!ednI6C*(8Z>ff{hpndFq$$<{QHIYKZ(Pr59YzuD7 zyg=ZD=%R!&e#X4skrE=Jp$h4DTbi4~@a;z0LC$(_i!c@ri8?o;-mf<)#j^PEsM>|c zi>4Ad__E?Ogxc|~9#WOGvLI@Ge@|9T%ZI(wflDzs32yo2XJAR@jKClYzWmc_D_J&K)ZKs+ytaL8Vhv}$vAGJ{j!O=iH)Us)<7ASZeDH?$s zapYI198lQtluTSptA=N^n)U?B`z~zI@@0OQ9fkRn?5ZhBdcJ~o1e5>4Q1kl zlRutqK1}DnF+qZ@`(TA-tQYKf&~y2hB+?;ue>ph+{d4|C1}C5KIEKQwkpqLOk(A~$ zoWXiqmVqRmAr2bp$)m`(dpH!n<@fz1fvfT+{lQ^)N=D4R<2dM?7*;KKys{RQ8@^u+ znzJx-m=wq z`xh_qC(PPTy3X}h|EKmPbfwc-&iB9L;+?ySe<45Uzy1N6#LdL~uek4mqsQN~*DX>N z3b7y9i06q5Np_?BIIZWK9u4;tYK3N01ymP#0%6|ynUUKSQoP~7syPvQ$TnOmV8O8> zyecK2p>4O6_f%i2*oUG7YJoKg99+=FGsO-`U@`UVB^6&1-{|3wQ^e-=0$PNRS<7=! z<7vC)hUbD54AJ=g3%DL^re77yiirbAiw~HqrD{ zVXyqc_t&SN*+*o}`**RvP+pwzWkfa5zloN5!i^#0n%T*MVIb5wFuw#c##qTh4b$00 z3I%8$GgPD|S0=Sm)7DLp_}4Lm7m>i+4@51%=HNKR@g=m5Ej|jzBr1$rob5G2KjXex zubBVXjlWt;(1@iJA~#S(u3OW#wp3)db8fwU`?FG{idIMcU%h|s2c_p&EKhmYTUB>` zbL}Bj3u-P?jI!>&?TJJw_$iEU9xNRa3D?J~cjRcA&$J+pF&XTpES}Xz(>_*epWQsW89B8s`H{xaAhH(#2ZxHb$sL-p?U=giXd8B|c?gcn(ZK(VQ zluI=w@@NFrP99)@*FVQ>K}de2hL8Z@41mEY{!bmjI67|}^Tc335rPBUx60NXryoM< zsQS3UZkw`*wEeV^cn(pHMm6VKIEc+h3$jINI2dyLLuRQh9@HRdJ+85jKaNkibE37c z5ipmWk299+Y9czeu@7dXQUlazxAz*8IVAg>O)7Hhoh~kK=y(L)x?15=3LR4$Vrz(B$v|lPIb9QRF3q9=U7Ie`-dE!?w8gsPDRl*+L ztRA((x&k;*Br`{hw8P-(fN(544mk(ZIolbLOEh8GwU@H!=S^Or0py${gMX+xt8}$j z%X!&_!2ru>^`ToO{{({$XI(pIQ=f6ieGe#MGx4!@y=g4vZsb7K!`N25XZi3az0uz_ z*$o$(cq$oT0x2R<&gZYV)0;m=}AMWsQQsDXmW`$DC0w!i*Ye}QO2H!7TDv(VuNiG$X+UR&yZtB}SinH?nDs++ znHZC+A8BiGOV(fsY=C}M$vNOJ522ORWKkmFL+^82!X*(2 zU0xLg|LU-pxCqrvuBnT&4d@>ZyARGK%!aH6g0pdXK}TkGg_b13UP_qE%W@K{eUBe_ zyMcu;545)+sE>+3Ey6X@SI}eg_EyrK_4~1ywb{nKE3aeo;zy`|?mhQI=J78E$8nhdwaZ>XM2RzC@!2^h(n}Odi5$ygrnG+mNK- zn6rtHrE(B5r)iYem7lR&^ox&{SnbXT6!i%X_MXf91f79;Hm5IMy2iOZap664sAZ6d zA9l|;o>0RH!jDJ0Y9Gs3z5ad|JK7$zDM9#s{PZGRT}1tv7GHvioE6|ohhJSi+d=|i=tgDc5+e5jZ$NX?AWbRu^bn|4N$;cdZ5V!5q_oA zRDpL6SjVt6SWhtvx@AR7DFlyZd6O7jS#h!DRzBb;$ZF zwp_YkauW2Q4`t#x*e5qG_foFVB>2X85ydoRn=nS9+ilVBTN3!?CQXMk_L_`mt3cF{ zM=E}q(2l`AZDis95E>(fED!~MX9xls4JOyx*lAQeKx{Gw4W+1uaj$9S92L0Zr0#0p z?QYCKg08)lsY8Xo=-6~H+_0l+Cu%$N=*)CGmHTuo<^WVn^>| z#RFCDRz)2OF6s%-?Dfmx<4Bq-wwv+I7%d!#3+Bln z?V4nOHmO~IaM)ARv=PQJTz!T&}c7@Tx#h9pP zd0EI*Gy2Zt>e5jN%Nlnjpg|q?X0yjwOfhAO+tW5Lw{ggAYVg`Jk2|mv_utSNb-ti~ zRp7aG09o)*!=P|JMb^RksrTnf)VmVC*5UTmtGQ#c;Z7|0u>;pXM7;I>4f@!SO)W3lPD3WB6fzkXRQ@qp)qTGzyN2hC;~Cls5Q{)N7Bwqr;8i$4^!4VHDAu z5U=p(OS&ouwb4srVN+_j9&y><6p*SPF+)!bL?)vlRg^3T#y#=FocrnLCkXuZ$-kX& zD(mETvL;beL_ImCsYrL#Nl5JT4GdkV!C$ICS;C)NzW$WgOhyOF^>Bz;Hcm#s_WCJW-RUbu^ZkPl8@0VS>%}asP4ecl%x9`+*UZ z?!FeL*xw%uCxbp=J3~~<;XzKif4UX)hQ&NBdEF^qjMZB|5K=z2t(sU0KubYb+mZ54 zA!6*kto<{lTo`*To`-d+^o8`W80^PlxbO9_rXFhK@7f_s$(h9k;eT}nqq95$$I|O&2F-IV5!zNe zDIesh#XdM3+fv2Tv!#)M~s+;-M$)SERP;g;}7-%-SH+*Bqu;Os$qo~Kl zzJEO}gu&!pE?xWY7TRX6XLMC8j`Av2dlX4W%qn|@3cXV8npMTgP=mZ>m^)8#%Ln&& zF=y2g73K%jj4#bG+9$|mw1k_UDl}PK+`Iqd7QgVeH@Wp%jr|cdDv1`Y!)Q^1RzSr% zy5~`e|D>@8E^W0LJHvNXXn9?Y#bjW7BM0^~WPnropdHTTG|!wuR<#RlQZI@m+5#o( zTO2TB2pP%hiW!Zw`37qpj3+^=n}o6XV+uKW*vhmqso~-B&O|sHFDY0#J+RagJfqR` z86u}UlmmqOY(=H)>obU{Q>F?o%}BHBOI@&<3=Pf(5m!wVlJQKkW#yJgko6ZP=kQIZ zu-#ZxXTrk~nytcl;rEm<^90t}Gc`4xksv+6LHtl(iE7CY`rFBlc{5Fg;*j5jrT>#t zyBvbd2F_4u^7+XQtE*!ndl>uvrvpnqDV5ceFs{E>5buH;EOryNyf@!TeQKbIM#t9B zAJWKhk-BHwpzwg+$ZN3lvy}Or)W|5!a~#=XRe;|Fa=U;ml5agY&}|QW!0rTkuuwHs z(KmRP5t>lc(`^#W4!VRx5VH$@F&}s=(kp^tlAN2<`@F;CmOm()tk71Er=bpp zXuuw0cZU*`8t)l?tK*}#vLJz-VX3oGvAD^OX^OgdQG_=5fuK8_q6DYztVNlYK<} zax6D5o$zRk;l35P$RpO96&SK>QhrahI@!}lH(lLLuin%wjoMUVp`9Q^pAbVtO&hh( znL{a(@H|^!+bhM|e;;_#HFxGJ@}D?Q{hpq-M{fH*hsTKix2KAA^ySw_@%{HcAB4p5 zAfd<7O7T^3-Wf%ztmAjs_jU=mW1B-jhKtU1hWoOs7;q%t7^+$}bVHc_lq(Er_^E^- zvw)4*32J<=UW>Z=q|%l`h-rgf2T3iTzQ6z9CN3Q)Nawm`Rkqv*d)!{jr)NAqwi|R< z)jA)Y4Hz!ntFOMZc)#p`XI`0hX?W^YijXrC-Esb{F)uuD`rrxm7@|a6sE>fuO@&cq z-5s+}tT5A=5RO2s(j1u!pPzM$IE|ivkU8FE34c@RJRmPRmTSX_(r7!Vs0uQ$>#4*( z25x!QYC{~z7b{jdpg$HVFBVqpPYQd;LsFfB@~57QKM%0!d;xS{2bsSicp+i^4sl>z zH;4k;uN?DQY=vs~IFbmmMLC|)HS|}cUSzfv*}{cv9jxRhT1%9z=#3U>9`>LR1CX@- zfXfyQ#6X{Pau`mW2M$#4Y5s4C5+K3`IdEc$eAoCu_qNfdq3n>6GiC6!l=ck`77f6ar z0$%kROA+LGtM(jBPR^+zDqYNJIo`C~^*$1v?&(A$>EZK4&CKUu7U~b8wYqeocIN4) zD<{JvcJmLd&Z=*{#r}VzSV5xvC4qJeXZ+3Fb|G`s^D*G1I&%${o?tgI$fqNLb0MO9 zi3sQ$!3X9K0hH}(074OD3f9Irs;yvq>|Ll7MN1(-wQcL5N{(*EmFyv~}n5I-*6l7UkWT0~`4uRn_487l2L;jCI74qS>_E z>QWL~Fn|ycXkO!($GQlWH?x9A6rYJ8Hr$8?q*R`q!_JsGsWh_n=*rgR|7lAV>=Q?hKz>J!ku> zUr@BzA4GDU!?<|<3YcJmSD@m7s;K{4Y#(AR0GFq2XkpZrf5(odERYu!C}546&X(VW zhPbbCs2e1tF?`46wP<(r0BaQ0CNu%L+|ocej@_`KB>nb9$SmjhFYlYUO;oENC74pip$<(MMLsQIEDaE;+!wVrN4UGtG(onERoVcBBI`^!$2 z=Qq%uZvEdCUHP8__2MN6wQL$0QwuC7x4Mx1z}Yz@p@QeX5ACgsh$&P?yFC7%K*!2* zk}o2K*xy5zzaus+lhF4*QLt_dHBss4SD0-gF{tc~W8g21d}jf1I}m9;E2DF#HRb1< z8lqv6d}e8@nuSCiujGcED#SkDAjsnxMPV6I6E$UrZ@YUZuzT(#+;m?}-s)#dlMW}m z+l9(aoyvt1g;3L2KHC4h7TP}&c!P?tji99x0J?;020J!kdS2@u{O2h-?>w(H`Zib- zU!2R0~w9Q2z^ z;+J+d{%B@D9OKZ_>7=?>zpFcAOQ6Sz%~d7iO}!>YUAV$@2?+KDnLEYj92dGSPJIS8 z`#kL|lh`dleRVZ3qjlVm{@2AlW8h2^s}}QOk zLCNh|>5r=Re=E8Fd^ln7bX66yK4oKn+%kujS)0+RhO6{kzX4vhK=dR)w87F41R$>0 z(rSIMtcO57!oeG(eJ`p&Ug}I*r=?8rYG; zfB4~V{d_xcsjd;8^>93vB8Q6a2yg!GrB`8u-p`9{!%|Jm(!$6XFfo>vw+ zxG4s)9YwLa83fkL<3chgkwUV%ZrR6f6Jd3xyUTU{P>R+f*V<2QvO5u21s~~6m0Q9L zM-4^W5HdHt=-o)P>O<!I*QcZNx~A1WIsvQ$+WGAk=v^wq1s2XTt^~$SB^=Q_^)$D<1dvw+Rj3+EIkWVI#C23vc(d5RFsD zXnrxk$d|J^VHO%9+H!$;1pv8=JM|qttZY~y*{RS zt%Pnh-%uT>BEJqUZ4gOguU1e$YI<%Y3lI|5WAc!19^r*vd~pG#F0xH|Jw^IMy8YUE z7Ggi}f=)TQoxMTD=f-M&$JrlN3ma=OQ}wY@X9jX_`}Wv)!6#*)I0)Cfmq-m(?4`p# zUhbF|+%dO)!S7Y-3hQ3fLD5#=>wkk;*30P_6t0<9Cs!tV`Td)FYjwew(fBe6n~@Qhxn9Z)9#E_Qhw#9 zB+2TV8S@Vgtr~6QdY1_@m-xBz^0EE!sm+B4g}wTW$9;lVfGjOiG1Q%u8jlW6mdoSryR+M1nga zrOg8t_iBJKZ%F8O#pm?3>ZNhcFZXAv&o#)e`O9Z9XZx_!$Pfecgsk++C*u?RdQrld zWavR%ZNWl|euNl@Zs8BM{8{rw;Pe~b%vv`3svVn%IMQavIQl44Rcfd(0;QM^!I`Fb z>56pQwKV#gZ}l*s817f=6Cf%W7)p*6|LA~@)`)DqheqN~@>am;S^r%6o-6`A)I~j- zd1|T3M*%zd)wvI~&$unIOBh1MH1{MIlJ0!VOSbY#QEd9JtJz=aUSj1X|Ilx^FxqLS z7IH{+{;*2;!U^mK1S)G?!HHeT%0Hp;4(IL?A4Tdy~-A?or1vMcNN7&`C#fNmtVNP2K6jS2j5=_(Fw<1CP_d zp^~PkTpv89A!P&OWfQv=+R5T^6*OT1Wy8yIllpbq4GuU;?7z#?l?!XzWB94JYyISn zOet}R73jIZ$U*D=D?j^fT0ed8%KBDM^zBU%7zL=k5wMaX8zZN6m=44E(hvLi18SfyN?;59Sphi0%v&w&H3Bh+XujC*y65< ze;7uho`q;B)NGl$+ZKU^7fK)FFo(xnd9}A!y^WV3`sR8v8IH3@yWhN-W%p9mHYIZn zrg9xdl|BmEoLYEgRBA2(MQ1kK!g?x4h({3oyC% z(0TG?^v7Sa9m2ZY5z)f;OTKJtAB}j@1g&?F+AZ8k#V0X=D^XmF__ymdYj3KMdGvNS z+fcg$UwDdrhHvfJ5QigcydL-Eh2t~df1v@mS8cjpv$%h0P+guww;Ws>$AVHj@t*27 zv#}d}sy(g6H`|3Q!%-8%o%>6bv{fWd#@u;LaM_&LDLJi{x2yurbsaxZ+%TK{7_yxE1e8f8f!kd>!LZ@p z%RMj)8!A4m{oDKj*na<5yTd{IJ$tW_V4OiSw}ccdK7~#1AjeqGf0!`h!QU1B;oko0 z7hfloH~V7tyEF*W6&6q*q3yRn#bN#G*gy804ZoBn@8GU#Yza>Br3mG*^WUa6q^O0E zTKS2C*2LRJd&G$4TF#or7l$l*ka4k7D_Yleoui&?*pJbu#-)Jw7KhPhcT;f;PJ`@2 z;9>_%sR3L;OM5ZY`Lf{~=|HjaD-i^J@tIXb^ZRug%o~gS*70?x_GH@e-wkSb#%^Lb zoZlzEAmKeGz$(pjXl&eHo+RbXo(+2Mt?01CLja^+t40vL zF`<{MVV%ca^OZlcB?&ZoMktS2NK9H1)9Lbghm#D50wEg6daoaYp$84XE~#uivz(Pb zMj}#(*CT2&DSGXuNj*!BmyqfH2S1G^a~>ID5? zNqM{Z`e8jwI$8Cx^YhDkvab$}ZMk02Wsu~K3)`m4M7EX67%{mcFWF>~tRBJ4(A|vW z*Y7STyN6nFFYL?S*(**ExRV5je$vF!uo~8&ssX2_7#wsxH~JttdI6nNs%J@MuJXeb zBIDR=ivJ~h&RbjyXt-h$#r^mEpwl$Sr^q`67KW1RIf{*UIrnzlRO^iTBU;OE)%Eb3 z;3gtmBdlNZbx=P@`ZB!#Ig*e-5HtwK*@&SGcefBqO=(5CGcJk0F61UId>Vk~4+o*^ zK$>UNyp&;(u4naSBUPpg`vjWVkF)kz?-FFgxl(xqCUXlgeZIO(%tVyU=?Y7LN}6Px z@Fs`v^4UcZUw*%NA1y>~zCrN;WLzC2Z|`+8A*yDS&5^lU0PFjxKCSw1#1o6Xq8jvn zi1}beV3A01hq$=-AUQ+kh&>9sDT{QE!piw?zdC$V1uG}(t1Q6-k=wGm`<(BJR)-xG zeleXLMV?Yq@pGjJCg@gFnxWTXIzpTJ@X~jg$Q3QclZY5fhlm6MVuXEnD~9f%Bn;V6 zgf5~`kVsyQ`7f_;T>uMW4Md2I!+ly-@f?)k1#P2i@Dhm@{RS^^y;zfV85u!EIj-ln zd?)Qm)!%NXpYm+Xe<4qz@s`bSwkaQP9NF>|h%6(-;(iEZh_@aUMyAyo&V#hl9lGu3 zJ3zKUUy>|P#yB4n#h3%)bi&zhXt7khZ}6#fpHz=_`}w&p2^brOu341FzGw0>+LifB0Aj)ctW9&PU!)3XdX9{ zFfB(3@t(UFPb&565V~H2J%o&;zc zEESr7KCtLY7$ex4pmen|1qYR}J(Jy@(Y4*dDqNFEZun4e&P4#>XfB>ah>1WIG(a?u z6$f705z=IVNH2-yNk@81oIu{Quko|(IX;h+&QK~>0|8soRt>vGly+=~UZ^?YII8`G zGyaa8{U4h-dFwy$g6D|IW#7LAGwKlSe_FSb=E3tv=)c|tjE8ou)1f7+!Pcg(cVAj@ zvMu733El1oQ2Lzn#5X%7x>d*y1vZjM(q6kBv$R#RBnYlp1GY%EUKs$cru(Bbho4R# zE(+|6B}q&vZBqhCh}0^13U~OZuK?H8Q}6SPUIl#wj>eUppecIF(#GQbbe01aHJ}oR zoN}p{&&ZF+za{;n7;H8OTPzbe8q)ak+~~NLh1PwIsO#_>wqE`$*Qw=3XXXUD5Ll8u zG`eV|vd=70Otm$L%Jsyx{uSYPdqGDbd`?dP5v^c_>M^eDc$OF2xvC&SitOu7?&$6x z=Aori@6Xk@vl-3$k+<;y@OFta*llpc#Vg>rcoGwOeK+3ck(`%khO49)h%9V_T56#* zp+%{{{3~LF5Sx$+x&w=;>j@n&iL=xVv9Xj(7rIKQ`s~rk0qxR7KmpxGSSU~y4I-yo zzQT6MWfT!--)(U!o@LR~Jx-_QOkLP^|1G1IWvXRVP)QHbZoj)K4|TrxGB{f#mUe}z zuvvl`tlmwTfvMCp56w!oufY7sVMV5~D^+U|)?ZR-^HXdgt|%`bysAqqe29kE!y9A@ zwco0f(hE6IFNXgX1Ds#h@H;dzu? zr6m<_XpN}IJqzT{&It2F;H?n@n|s&c@#Z;Nd~C)VFuqo+*8Ue%O!?rZ?X(#AEh=tK z)oC4n#e6z$%tqgxSovhmoF#X*@>zS)%aq9d3*?}+jzuy;HrK&2wfm2$&6wFkPgg&U zz1lRNjV&lVKnB;={jjOuVWp&1)t_GZtmz+r6CVVHm-!a5pLn*iRP;NN>0f(>vlT@U|OctA{lEyY+1O`adZyE~^A7AA#`;69)ic*^|1X z#nMeEw2^a+TdaPIKrV{BQAUGT37Nr8B_~--B`02K*eQeM6gv6dqA}<#35s3SE9=W5 z@s2|tJo|rU^Wo9d{zp|Ed*9#3RMa5*fQiMhawdY*tG#hzjw)$2ZJ<9A9fnMI{JJfa zTyTQk+55PV&oJaw@hGe&5Yg<5rUU_cOSjaE!Uj-oL3O5&1F0H z2qqdE8ex86C1riKAO*k@iVYe)JZk{vJ{2JScl^LFwrwX(94d*!v@YHoGNz@2m8{)G zA$#r{bMRucDyIwEW*t)zlev7S2jN}h&83+mTOCZdkG+u68#U^kJ-9{f(9w80EHrQM zq|=923WE01hqK!DE5&>uofs3Fe(Hunbc5!B;W=4Z}U{x<{@$gI1J$+K% zL$BM~iF6XJ!IEo*Ob++4mX6e~x(|jR794mY zI)*s3v~&|<<&>v!^9!ysOk1po{WPCF9D;}>neyc5_ZR^8c1Ewhzj7;ds&2iACVsj# zm7nIT{}l?*<;B3lwKQkP*};`G2`H`9LcSu!LAPDYVTuU092oXwWO0DOcok7#XRcm; zhRs1!F-o3pr`x`D9zk$}IjvBj&E!%GWh79miYiJ+5)`AOJ5vJs$mtQf^_&soL9oy! zvIH&pAh3T8(}gpG=|R?tp9v`gx2qgz_1jmciT-F1N(t#61tSGF>~{e8Plm&R`uZ(f z#PD`OH~zaGQ={B9@PfdeQPD@+*hs*OoM3vvDC9hB@>b69hc^#M1Dt{|=oUTF@RtUd zvQjcfPC^+k?g5gyOlQCs<0L-fEabm0?E2U6Yr_W~?wV6;6`9pCO1N*#o&Z|zsf9u! z-zXF1Wf{+#mtU|=V(0AZxq4mw(qBBfrTU-%zQ$@dOJy3O53vJW4QIzgX)fSmbx4Zd z6rhvW7?z3Q^22LZ*l|3Af*!>5NzIwh_&>1zI-GdX9lsJ+R_p75o`hAz5uQmcZ^_3% z2X!k|dilN61pVFr=aF6mfFD_*;2FVg2i*U`;BAKfx@sWdank}^a z(PnJU4-KM%`AuJfN!2(HPIE|F8Wj;IiD@+wCc;V!jlB6y@GMJ3mWq`y^fJ!m&CPn; zbuF0AX4Cb_IJfLNX`y~{G?PGd0HQP5bS-rNt(?!VFx=9J`j8~PhP)19>6~}Aed7rW z-b`M3NYf=0IH6T6-J#6HMV}KSj@-wv`EOUQu60)fki~<%@oU*DF>a-FuXN_ z-iK(f8pR)-4r8;y-YEtFqT1ACpc9+w!WZvxmQ!vl=|0$SfXXj%5--7uXO>560A&hTra;M@FU%rnTbP{12ej!;D*Y?##%QwCjt?M}zDb={r0a@EvGuMJl25p&m)B{^< z&z?m(Aa?3-HaHl1lY+(ddXT(MeETybiys?1xBG7G4;MPn^+w@7H-{;uYCbek{?GF&9-q^c=}* z`Kz@5ZFnPtSuc{Q>#f0TOf{T(n^>Kb>_S*f%xNnvh)S)?3;X+6d8A>-gre@hNS3XC zU^)-(g;Ii>pAOtWlqh~`1!JQz+xR#$C#kDg!)m{76bFVcJMlc@+&>Mp(?$kW4h*?s z*u32aQxa6ltC9({e&u2X$9UDJs(?RIkmC4xNzTOH!b-F4e8C_?63#gj4JV0evbjLR zVWhHftlywngjG;8)~Unly0|Hr9LyhOaIL-{!dN{yv|34lS?_UuNq|&BE@mkBx-B&+ z@KaKM&^#24WJlhYJ5ch4oQ0Al3W0vrxTywVAUyPJ@Gbu`Ct*7_&?ZY4O~F=byju{U z!Eg0oJ_5}w2t#2Z8(E%q71qCfUAoD|t*I#KxN$JeXFv2*yAHo9gNr}W=Da|J3CX7t z-B%ix2&McF0AE0$ze27STKg$DpKfX^n*X}yZWB-?l|AI}lO*_5ED?N7!NT1NoPED1 zfTlgd^7S-kvR7A_MV$=vLu!TD(ME&Xyd)?#;6F17h)9PCA~H~_Y!)Dh!kE4JnIp4L zf$yX>4GuFor-IGfW`!h+PJ#Kdm{z@l*C9a3A@1jcgW29N4?t0D@KSS-?P(9-+h_~E zt%d->4Zt1oDxfN5kt|t|NUIE|ICWszX-^n$T7G7}1BzdQ?@+R@ z=DtzCSRiji3;6QFr~H__Nq8wGjD=F>df9M#1^if$KkXYQ&xu3ROFq?08Rn{O-EYTq=V)nhxZrhtNkjerq?6&^qw5KY;fW`XrD~3XeT9 zjqb{#M5M^BCa4mpL1XuNwE%|_ee=f-Ysx37B3j@$;(t$?|8q1iZbHL|4M=N!k|Wc; zI+~&nf-0UMh*2j@QS&|NFKK&>_Kp@GoaB;KYo*3W+2 zWK=7osHoVUo`g=>i?n!=7`z6F_+F)oQK{NO8YWrRCcW`^fWV%b`TM(&54S1I@%c2K z3^LO672Ec6bE?>2x*am1u84qpqX(Sq2xcU0&%>Amt&`FyD8E#b`|sj+e4tOF5YoU7 zNGEx&Kk@rap& z%nrKR=0d1I90b+`$lkHXuR=Dxt|%#8v0DN>C?Xi9>|0PYY;N(2`wh8je6EOhf9@WNSKf8Yf$b3qMi zlqswKBQNv>c`>L1h3{r5$_s>~PpM(jg~`k9CVBnNM?G-ZQ5O@P`; z(H$TNy79e)0A5H@c0msMnFloGFiqMZdPQ_7CT}hn{INNk_iP%tH59|<*s%jIHE6Al zfz3tL-K&E6W*IqZLg=cLaO7-yztQ7dpdyaLy#8CI-8Y%?5-8zm3}^*z0Dx*%R;3^_{rxYX!KSix_Y)F3;AzEf(xUF+it)hLoO0IB>+;2-ZhA_ zafTaLk+go`=id^twmxN^fLkwFPi_%~AvEF>!L1SMjCl0Jzcd)!9&26mRd<43GcYm+iI*9-mJbf272I?Sl>mJB6) za_3+}45*Sps{kP_6Z9IzX@=^>q6t_NTu=aI{a>_~d4KV26NW!aT1806Vhe&u5NpvD zEvnU))>F6T`@b`Dg;3mYpXL6?56QL7HFM5!qP9mF8Vno51~kd1f+YDv-NSn*LVcyH zb$p;eB$B%H+FvRlN-Bs_^Qnr0a?4o2_B+XQclQ9%4~Mp=k)&7OFVSr#vfz8?e_}WG z9v}`v7?<^L_`FzTisMvPs?3s)^_z6On&o<0Azpns~#UpQsphz}6qMr8h&4{%KYTjme>0M>|qBR0~j8A@+&FfWat1`*fa z$N{t0MZxO2BMw8w^N{Yf+Q#C7=)G9(ag#6IY-by^J^m~EQn(0nDr`Rhn`J z^7|%?4YmpmHkpUu`fS=Kc2A#vzdQ!nM+B&TOqn#hvo?{ZWSBgsQ(R%v2e`CSJWuV! zkxqwLj6k4(BQ^Z#hmTcUH3ris%AifQ4imvltb^TK7q$Tk{a$gfZZ=x=O>smb3y5zr z1>cG#MAgLJ(uBkPelYX#Yo+j>kWAbIpb?bd47UKrqtRU9?IMHQ(Z^CA^)Dpg;Cg6} zaKFV|tb`|{SsmW%fSfearfL+jMdTS36fc*NDx;c+iuZtLs6fynF}$i0nL?l*h*$bj z8LZoyR89Gcij|#ZN%Z8>O9tVA6@hFtJD zRK}5497MhbKgAa3f007?RO1AtXyTOjoR|Kak zsNa`hkTAf_bn)332lZe!Zy*0_a>8x@8sD?nPk5z?uar5lqIGa%co3z|AZe$C!#6S> z8=Be;M#P$+V8tm9U3LN&c!nb8&nVU`7IC=#zPH#yO%(1r<^4u+PC}msxziL^c*ux9 zWj9#n7{2YY+htGVyg^g>H|)mR+5x^DlT)-2)<2Zf4MP)uxr+MtBH0{K z)c;OSdCV8=o@!n?H%JJfh>M02;Hui50ZjwSedTQMLxBX-)X90y{F$a^ViZ1D#^nUo z8Z)KALJI4hz@F3b&v0phF?6Qs^U*Egdwvp8WA;^BGOj*YIx14#9N#&Zx9qY6dGiS# zt#cPphU#_G^{)yqMxxAsW|i<6>Non)agyqWj4H5L6B4AkI3w@*a0}JKU#ykEixg44 z{AC55Iv<}X05<0&&3!u6WR%`8i%xu<0cZg&yGg3!MBGfeN(*?4@!J*g>|44 z3m8qA9ejAl>98X?Lx*#Y34@eDHy6VPae9CUPSD1%xAeaCmQ7>v9~OmhI-F+jvZ73v^kLchtDH5`^wtTKnFUadj8g?xwQ z3CmnUey#j3xm1l?K#mMn*x7yXaq-E7&{3D!V8_P2_}d*44{5yo@JZuQB(CN)Zx_Kl z;ARfP!73!BKL2rpV-I%I-Kl+o%2>mkd-KEkooVKU@?FyV*Cc?_*-E`V2eqi4Eo$c< zO=~@!AHZ6Jzo|z&)Kzu ztucE5|GhTpKUjuF78bqqfJWwr4dn{nst#dC>$+h_^ubTT|0MNOdHw|a4fzM)f0FuX z85jIP(GmRlBj7KfDGdG|{7+Ip*3Ewd{(Sd}bI580CJ%Bhwtc#3Ytdk4l?@*Fw!@fX zk_+1w$}{^wQ)Z&gFGoM`?uH=1cYf5_FckSX&k~w+l&>UOTB1}mT4v9xmboj4s&0cl z)JKpdSJzh7|I$^~AH%rpU8;|J+hO_*0$i$k>D2Obx2Hf5o=U1md&jn>@UvFKDG%0O zujQ@deS#g;1&o}^p0WgqTuI03=A`G_lFc8xeY$!)&7Zw}x_Y{sXYctgzPX||l;_wV zKWUC#;M+q=;wi;i_Y9|_My}Lv@JEh-UX5Jw+rW#E9v{W6LdLf56X9LPT4PVfp~F4U zh&P_HI=Lz!(TD(W~8|0ocnL$_vuYf+ha_Oy~2e>MlFlZtw!$83XUAnFxLn-OS*E4B%?BmscuY)a` znsAU&G(2hE6s4*ef27=C-7^~64@(u>1>oyy5`pf)ckpKrfTR_G9Bm57%YrhP<=apc zAEBMAVyE5?+xDe>i+l0nslahxllyxUX-eQ3seEv*$=XI{(44a9JbWF4Dy9MlT(t*P ztpM7-TgddN0N!)jz!HyzCsDJg8t?Pb*6cnq?g4g6K^~-Hu8k!eEX^O)i}g|mSnwtQ z7PydV++_>fDbv#UBNvy2ILREy}jVD#8d_P>(5=#&kLzSP!w<4U?)CrqlPeBcl!@y;(U1`~4 zXsjuT3IMjitw|5y)uu@cQU+6gJN^bxW+!RF(Rjc;jTFvA{A}#TdorWa7Snt7T3ar#ThS9Y+F{AuwW;{GqT@yc@FHbhN=@ zlPWg9cUHmA96>4I6rkP|cQA7Y{oHyCR1I>0koW<(7VSI-*OClke&giuF!T{ z9i9du$kC<#H2+N|exMNm<7(^o8sT=&&Uo=t?{y*%6agy8G{9d?!`N@LZUs4-RzXvg z+}Mo{G(RQdBl86NU4b*=6%Y1IjZBW}y`7N{O1RDp9$4zG-QmOM^Z+J!S);|pdc@hH zw2bsxizvIf)M!;OXd+f&Lbh}E4HR@D3j2*G(P_x&YOL@?&pgN4dkV%fZQP9K zu?^+r(c3f&Mxk&?84My;1_Ro&tE@c7)A7t{`NuVFd+`SjgT&^an~eBtFXk(Lb^UDy z_XXwJqHkaZT4ihf^l+66uktlmhRg%}ld^NKH(DVVUe2@hUoQO1ssjn~MeBSll)-(x z;ZLPZKE!;igljZ{Obg6rH(*%!&2g*74V|C0 zS}z=*Ts`B5BRpQAyjqnEZ9uPteHA72v6NmJbI5 z9a0g2ew>PKlLNkwIZfp|phD>jutfcgw#>{ED2pGk%wOX(+yf_liO-IE`tUgl0wA~k z0-p&nM!nksb~bJ8C-@8~Q_@uARsJY^ChTl6G~jc)T>?`Lwf--B?&bM#MbN?OncN;e z6Lz+Y;5dBdmYGe>J3O{8@=Aj05J%l3JJQfzxZ{22vPBmadcQ1J>v_}GBjuTk{gzqS zdG-}Y=GL4Dv;I&HCq}sxs@@|?~sQ8dZ zkUqie3C5WP^9gS88zR&g<-hgQd{T4yH)n{O|NIyTyWel-@e3mlZ(>bI!OVvSBo>YPEUi~0T3HTF8 zdQv%aAWPxhfO}m6zVTJ&0Pg!vJ2uFAjCa=5aJ;a1cE&R;bKg&a6Ey)G5{gj9Tj2%8H!H7Y5xg<*r@J8$lnu) zK4kJ1ffOg_4sw{%)jyfI<@1RXq%d3%gwWWV;3nJDQyH8a9mj%4HCE6j=GH#P&vEiS z($Jnyj&g_0AC!N*`Sbv#{+>G_Qm?Vi-em|SmIayKW`*kfNpKw!k)x|?C6rE6Q#hTg zDIz8u-R56PQ#zwdNsD5 z_p8gZ$DT6PM(4ilNg3LpoEpnlx-ll<5tdOuuJhOMOqx}f-FE}t>}uABeowo>R9883 zaqI`F&VCSmWmzV1M-;?tfiC*q1@z-6)Pf6LsHEB51VI=cKr7!oUe3rcn#;IyhQt2P z166j1n)Z+6Yyp-;60a>@wjMERjQGu-%X}_34xl@fVKQmvCrj!6o8u%m2*C`PzMcej zysO#L5=I=%oryVJtDea-rPZL$VJM1qFtg%9DM!x-N|{+rxvN1}WN$8hU--7etSu7L zTQoT#x17$v)`z#c5D*`dfB|P+*F8@)?+>ntO7V~m-NEco!1$Go5g(O3kepvtuPPNG(DyC99L4xSR z-kqd&?sf=&TR14=nx}Bwb&H%HfIgDLi&q4iA6~nMf)CTxIR0qrD{kBfDat7qDC zH?{iLKl9qj4UIw>X21gk6{wqHv1qa33>H?^?!kyzGe!+3yae$d8ub2FVejQt6*THT zCe)ITJqzD$SN2s$;R!&2(ep}z>Ui5k z`LeHghFeqnOxf{Li3SB9qDdo(@K_AP`jww7I3q5(H|GsB{kJ64`oh5LW2{h0;@b3_c#HQ8Nl>QSv9i~y-UBab4siIog+;54 z7jbXIC1+mJr+DTZXw?J8$>5G#{E76QP486mi$DqQS= z5@1hKlbq%>UlOXLRe_7m;~F2XP_oS=4%~Y5Aiw!OGQq0jbH`=Vq=safKL(|*Ygi7a zA$D$`n*7z~F7{;&VHvw`?qg7vS&`K6Q{PPD6yAOoD?$muU4!@b3zWrM6K}s{5cw*2 zH_9x~IMgz(n7aze-nUZ;@WP3TMI)& z3Vwf@B7@4`Tu|tgdIsOn-5KTTSqgmI5FmI6Y8_^yQN}3|&~FyMSCUXwyXR1cK1^*S zpumg<6mRB`${marWguK8$IquvFcb@|1e@T~Jo9U<3e}I7GJL$=#AC`BKqqD&+S${? z!RB;dZXCi}LA$*@BS0{gvqPt2;T0kj7G6Bvt<~l8yXbbXzkQLRvE0UACz$W!3wD~A zdgg04ohwzoYV33pPt*(fWUQPnW|JVxH9J;rNoR|YTcSgFQ&i#4lvGJ>rKTnZDwtd{ z6UZxrrZy-%pLin(=pj<)A869CO8^bdNwN)2Z=b}WOPLa{tTQQ-;%ejBhlkQj`U{1B zV)pcf61(j&JS2p+7;p!QNV0Qj*XWrMaK0k+OC~Rwna8ZUgNQNq)kH)ap!nJ(s{S;O z`2#}a2LSCXs%3<&a;l=~00#yN0HWS*uJu|IhlaW5GTG6LXCT{3*Q zTq!t0SW9pFfjj+bx_GL+AuyafVY0fk!u#BIR2AR=AuwvyY-tqHvceOUbn9& z?$o%-w05*f>k5K-yXeTROz)Zx4=v7wzd&6JpEu7b!V69@F^+PW;Gu|*nP{1&@-XI= z&XJY4^Q1EyPDc@Uo40_JEYHF`2TLnx(mdA= z03kh&?;A>eGCDE?v%@L)6K>jyKOS;azg~%smr@X~)CSz0Wc~C#rFR&Z^y`#m3g3EJ zOipD7J@0}yDx2&5o@)UJ?BZIxiSylW5lV&1MxF~!#5Z+op$Z-^n?9DL+% z<-C=!Y{+9u^RtSCdo_Q;)G96QW9{tH8t8NS0Y)nks)MwpKE~rU0})kpsWUrP=>`>< z7Qe4Ez0}R(1~rDs=Ss6mj=+P;egTN{ZNTx4tH6FrZn=|&pC%JdHWER89JoI)sKO~( z4E=~~dAaOMs8x24=EuB#h%9p47_iIrgNRw0YL?X7x69j>;bnx)qY6;{!hqdLC?ji( zr?02n%P7LpQ;E!ljM)%Z+*fdbD(W4Kz-R<3Sg2FHdBO`#HdHtW{bB}BdG%7o@U*%# zJXu&lsVR$vX@XL}unJzQ8nSVUXtAQe=Ip9~NNPVlSJ1%FU`;K1 z+^teJUc;KqN)N+Cj?Dx4v}IUtuT-Xu)C=lYgiAfy$Wx9Be5xJ2kE1t-Z_fI4^pm5y zS9#TG1NB{Y{mQ#{5wJ*bT2q8Trn}V#ONjav_11o?v z=>1?NN#R7&T9WoG+cbIlVb9zj71A<=+qHBH$@FMOQ|hI-_6LQO#ooBcqJjR13K^rL zkDY<0S}KR1?FeUS58^-`**{jMVDB@M^W zLz>hXTu8F`w5XuS!3I|{IUZaa&Kk_)tTw>tY9VtGciFL$Zv|gWSbbCz@qGoS-gs*M znr~YdD=mkcIy=h!%@{AOO+rmGi)$+rC!4MBxVzi6t^uLkpPT;m7Yyq--rjn(N@>q@ zgR{Krbd2L^Wux~k4iyMjn6}8IOayOC&sUDw1pf|0Aty?FJB#UCmD}gJY*V;vyS!!# zFQ0_|jng7c(@RgMUzjcb#~=Bt)Q8(DzKvY5nafKe!8g8sJXPAa)Uc!H{Vn{Qhb?G|`(b;EIgVud<=jc>gY?>o(H z5iS*t;2l++u6O7++O6{q2wqNQu@{6hnr{&(F^RIdax(NUIHLYA08Ton^L2vt->gFv zx_OJ!W`6oTHs5AfiIBRppecztV>$gAnzv3RvC-mdRc>Xaw0pY4kQ#?ZXI*XAkX8ry zL>}nG)fEUuvyRl;ambDYSRUR(Y@UPn=0IO>5W>qXZcDUANNqq}A~IoSO?ueeD4^8G z6A<cg7K>_MmC^3 zH{$w1#pUTeHRk=~vA()0T;Z64@O~+12M=QVFxA&aE^T~$vH7hwNu_$aY^cvSNm)u7 z<)|!%%Q;1uOnMG?h_LPogbP)fak-$@$3pSFR+LVIJP}H%m43U0%{Xh$PGb2~Y{kxoXK-KT zO27?=Yr5rcR66rO7RL(!gs6*BSBvJ*w1TDxY<%S=%pzys0~V*=!W-a1Wt?wqbv1^I z|3+-$&Fa4rn;YgAn~u~mQW?4he8?GLuEyq(>Gl6XY&dS)tZms|OT-C7yt_3?f-Q!; zbc&bqNps)({MnKo3*o#qEhsXTCCqznt)HoMup2(v*}bP0laPYr7WX&fFgZT8Nfz&x zzY?NwgS;Xv$h{X<=%y5_+(m+%7!hv~t7aBA@Z*a$e!Mu7Izt&^vl%C;!j0tfY-*4m zDe_%r!2v3g2zIFOoRf5ReIJxu7q-r^PIELS|OkZ6Jjrq|;RU2Y^l53SF34L{WJJ2VpeEC1B z5Wa}L6R|zu7}FV5()}nW3+eGR)I}X`b>3-r(NmKN(O#Pl;THZBrMM}yuaozp;+1>@ zO3A^)+>QhU^suR67}6&R&w$FwgLNr3F0Kks@1b$Cq^CYivI{N8LO}fSa)M(5K`r|k z2!(^0fRO%ZdLpVcKi^CT2hSmp_SCQ>e@ZNJ7(C*lgq?MkcRTV+0pcpKsm6A8#%{TH zQOMYF)gMU~S&aI0%pVb+y4e!l zzfxR20wlV38MX3PqU%*$`9|JST-jJIVSx%SI+@H2seoQ;XiTdCGs0u(QS z#&`*smIxd{dk$*&vk)UGs#>f$93|xVVRg7=Pt60J$83)9fT73%Dt+8l>e@8p)&^?@ zLP%@n_e=_-dQm~=${(*-Fue-L3UhM2nnt330*jY#qtf4_2ym)d9_dVJx!jR`3AHLt z)4pNV1v~iSu^@|ub^~;HdE${>vvbv`LH2?h(_DLrf7AeMlgyOP!bZ={~ngYwZ_?b>KsAZ!^5% z)4JRpP+zXSF|9TH@zMA6*G=~>Ud|#I0}2&6{51FI<@!C~kb6gNB}zc$NuTzjm_>6j zWSz~GtO$C^K!)ckyMF7D*nrKYCSn_5sRlzW+7D-VD47SvD%1PbAxrQwp z@6yY2h&+Du59?LhmbMmze+xo^koBCfg&hJU5CKJ@EGi1Pi>)mG|IVC*BrLVIyRCmxV~U_0Yh_jmKWe^Ze06bQg6Jg<=J_=4$rpDvapz(8Hr8j+B>jhX{!P}R>R-{ zcd13N+tn7lvfMW5$7#PTyboS@O>N!r8hvg%zrl}`RT9JC52PzNE3Cmsi#0e;>ptAqhb$4lic+pv%DU`Y zNvzL8_r~>T`cipI2h)g>;BrYQ_I@!x-^l~qpeJ^E|euym~Bdo;RbRGtd7+&&PJibwLV6~L{ zllaCPfsHBvqmBm#VYmy6&04Xlu{4%m#bd&>cjFC|R%ac`T!hmHd-}#3Y)jPq(}Hc+ zub}1lea-(|FwW-pHGj2WRHKwDA|Ot8lQ^rI?G1pJ#Pso~KH?e|Wn7q3LDEUOMkZ3M;9QN7J%PUyT zj@Ls7{YX_1B@e%Rmd)lXk6-)*kxEFrrCUzv>t_**!!DTs z=wO=zAy8^~ivsjC6qtdEb_>9juaYnO*r&RWA2ED%(g@VyBc8Lq27$BTl;-QaX}dkw z9dB76d%c)6eR6fbdgb8rQ}5WwJ6nOb8srZnq$}pUvB>R2rihld1Mq!=jmXSPzG^yk zI9O}qEBkz56b#~`Xn>^x0r6Ys_`*;Opx4&;!iEBGEMrCZh|-78e;TJ<4NwJ7KrCyL zSvQAfQBDzqlu8JJ`)NZ&yL~P{7xHuRNS9jk)~lb*>M_-mb8ru{Y4snqan;eD%_F{(_4Cz@y6${fNz2@C7AE5 zYqr@0Ar>TCYB^U-!UfBcpQpWw6JnWF_rA`t>P}BSvFcuzG;_Go;Z&KIpB^%XS_wyz z*eVWt4hd#@0}V>#Q84lv<-P^tJ`LIqD5~6_Nkuk#%$^SOG0E?pf#ffF`Pt~0YPofj z!uM7Ij6K3$314nzz7l%@n=vo;!ZA$DzL04>@Q_(?rK{!Vwz-cS40$-9ButK^*yLaj zhH++YX(EJwXz*`2h#^kh$+=rz7QZP~GLw`Bc$aAs!ds+jp9M3dWO~}oK}HNw7TKU0 zS#*0s7(+)s;6Fh=tCp961Q8-n+(D|cMTe1Ym9jubW}&;%=Y;98C97tSFoBH_Jbhmj zJjz-=I*%%T;O{OEecqU?noLx4ye3$6TU&PRASxih^DGi!@KogdFv`Ti@!ta_cqlaq z(UU2rH$Lhzz_}(m4I=#1Rkx8d_DaCv%LtnBlz@=5u0FO4^*?Ym6N0;mNTZK0)?acp<+=gmbFQ}4^GiZ|oU1cY z;R{@i)%;p$XJJBbb7qTPuU@4?u1 zI;6Xf4iN$>I}i!r6yTPsD$T)^5aUCvIj63p8WBUQGF06&ZOSP2+m??qjMGJh2(3UJ zYCS`;q1E$6iB1*~15bzp^M{}sNli1>Q0CF@5M8f@HYDN^8_X~j^XOEO3-PF(7VQB! zM!Lh;6=&l!TpOwabrmn6OH&D`s|;&obW6l6b}7z5#$Cz*`ibP(eTUd@(+Rj*Z=h<- zodNxFJ>gcPQBW*BMR(S7Z^efi(;LsjGY^ey!Mj0qz%n9RD75NZ&8YuMbdums)Rr1< zo5@|#8Q?o=xb{o@u>vZnCKxtQxbx7Hk1VrX*tBn(Mv{5%LkJY>c$PtCVm`$n03G>p z$)-xCkG&%5Xw~6^&nCwrt~(dcZ;F zbIWp!;wZOJEwDGE78aKPQ7@I$aLr6Xg|&`*V3HV*k9o!xuy}Vhf^NtBKugxJnKLSV8+2t<4o=gfMb`z(hU4^zuME- zzZ6)QI(P;oJBOivqp|w}TclwT9QkbURe@#e`CE-W5ZHfJ&kKcC8v!si+FCwHB+hy) zkNO_t@n;Dr?#@D!lu#aSUTVriv|D3{K+Ec`UxR=Y)fzE+KjW;2 zY<%`?j_*FeSl0oR=h~6ouODvwdw|SFkP@jZan5)ub&2=IJcNcuNyqBU316oOA)URTZSZG z*pW+5sXY;4$NY_s{5;s3oeS>xC<84c8~${)T+-Ddz|W*kKun8PfZt^Fz=>WyL6D{P zcYnJ^PSVJClTVU*s)d|Ah)VaiD<~w|n0dZOnCt9EEI`$?#<1^@sKbl0@1ybRVIv)O zb^e^(>#M+Zqze1p{lFDWvoB#to6;YE8_MAVgveb;&)Y^03K0R6gj3{UNAm1VvX{^3 z+2UDNn^Z@(yMnOhA9Ixv{B1^ios=D8CGsq9X%cekIViRd^#BNgVQoGJ{-+dh@w9%K9p^ZquX@e0@PA zWrpEQT`Pcmo=1q&0evK=!Ggt-XY$=OutCaWR84Ev#2Z8*@rfgJ>E5b{mEVJ36u zs5rZHL1FY2xXrjX4(}j0L=0$>;!ft-%!6?m+QH6foJH9v!nMx^K*hD4|AgsFBMpz$ zEdpSC0S`w&(L4yKTuYdKb|m1(L>5bZ(*XUq2W!#mc(M7CaJLVoys;R@aTV+3tJ?+>aoSs)!=97E{}Fp2%msdq?6Llj%7*@n%4W#E z{WU!k{}gllJ?QTr@lP)ahXVgq&nWjTfgDg*z#IgLQxi|zo`!+;rn9aeL_c(>m-y9Z zj^b_&Ll3=kWVDjj(qC{|_(jh)=f%9E(`W`iOHo!zq+9AZmPaMJ!F%;)#@Lc0WYW5y=kt z%OB{pxDd}i2Th`^2pP!r{H@P~eE$-jLsg|ryx_Z!FU zV=tR@jq+0U2=N_=ITvNfs3a4-g3Lh+_`;0B-h65yqguti3Fe1UZWaF-66m6wJ)Y`v zV&C>J^}EqxU4BXXNHg^zQ|A;reX!xr{fG+eb}1^5Z^a>MdVfqOcyzoLaPAY)DbUrN zgiOhaWiFEB*;~H}MrExXt&k*?$KeUt>ECh&&P$_ljWYx?cm%%38TJo3Lm=a#GkD4w zA;5t|(~1C59?tiEUgGu1&iF&l5Xj(au5-o;!=|-a+&PxNkBSy~yzniKxW^iL;vN?~ zJfF1V+#7>Eu7)FO4i5@*JSYQ4IiHQx4x8L-!zOQ8@NJ#CSW*UYe$g1HVre$YdZ8f< zMjzlDI_QKSIVf7fFU+zJ8L+NQ0XY*y*&;gV@MqPUD>>Q^#9x6?-D_}Va`h$_To9B9 zykJ8U0iYx*@ZH?;H|r%pEHT|59aml~nX38KGF2teDFeloJdK77dd4!YYZlLd0(KnZ zad3fu89UIucZ|BdTeKjI;#>MOAkXyYA7TfNDo3t;$Q7`O<{LQ{XkWs3Ui=OPx?%i^ zb|!Kz4`K?`T!m*VYxNqY{u86nM*TCU;MmhZ^!u=&RK*5fGLY|jJwSHTP5NII5QO=S z2%04>M9{ec3Y`Dxoai2U)TP|Ruo%R!2PH|9c0VBeN-)KY6+P~B8P$K>CC)Z>C#n2`pgekbF|8A{ta^5*U!D6F8+N!fvIP9!wsddmOT#u@c7*K5aq8OlC zDQ>lRXu#Y29jORZZZZaBq;JH)?Q0II(}sYbi2#ThN`^=I!(|$AS5@GhTITN~?*RuZp%JEJ)HD49s4jOY3opRw73B(R|CLRi-Kb0 z6VO6m>O9+6S4azm!t)_b6`E;;6WkzQF#;dA6qIOu>@oNu92dv&Z19=Bh9}oX{T5w# z$RW3L2eaK4TF+{~@?)UcMfqoPHI0Pj$DY-MJNGl9ZYQa`l99Bkay=ue`b&4agfKF< z4=cd5Qb$jGj^~V&94+CZzK!9(`b-&BUdJ$p*?^Ieye9d6wc$niPO}Sp3#QCW$}=<2 zQi@Ew3sX@gkZ40w-Hvlp_;`=Ml^b}{q-4;BIZQ+OoKipam)rSNvvcPB>*Uf19yeV^ zO1!rrlXMkUlN!Qrc1@G~^2Ci_WO^`GQVEZ_`!Th_qP@&~krMlE*5F;g1;A#jklSJi zvpqGhm4K`PvdkSPx9?#|3A?PuqPEO^D9wxcun{;@o_$)nw@i(!5WXLoq%=g+NW6#1U#n8hDlGzpDH+2GGR+g6*q#qx_3j@}*H%yYbcV3*u;XaTpg@6M7 zx3i%BYQ-tqasWwh-u|>n8?&32SS%D>I)<*0Fu~fi`@z`bZLkioS*VUqyZwMq+m)lZ z4aaKhH_2-{UNikhXzcf%?xRUdA_5B98$7f(rPobkSE~2>GhpQ^iXxi>%eX8bpikG* zmXy}Dl2sWi^(xf`-scT~LVf{N>e{60{GDw|v04AU@1=ubj9KUv*U)i$Jgb759gPLh z&~sh%OV6A@zgnhCA*W~BysPm0{W+x5WRdBj^Y&1akmC|?T^Po*NA5}+yX`ivtgw$U zq@;%e@$Y2#Q60?=n*pVI>^P3{C?KfVEg&M!EegEo+nZpMUMOQ^$ zH!H{j;4jn!H2PQ({l&Fsu|BIE*U-#l1ZW}(UglR5Jj5xaB|6EoR?ujFrB7fRv~z7& zXaw;QHkJ%sg`~71*7HlmSgMnj-Lt<}Q89(rVp13E#$ic_DsUe~a%r~lh_Ps}c(xZM zadCI1lY%cjTGD?od%d1_uN?ukC%ufj=TgYf3uBc6X>$Z(Y4jpnK8J=uzY zW`k(nOPulyqm7XRe>Z>lFy-z&39}4nEd7ABih~^d>>4E7 zfT)g4dLse#jfV3JxRZR@c9%kbg~44um>G-`+-CmN7UHY?(XWwC<=5Lv$FqmHjq4D7 zQT5qFA)qMJiKveXVE+!V0L#KP!;B*FZTfH<$Y2~q;KebUuU1DsD@qwuis2@&^ZPt0 zQ3!!1ndRId4L*0VHOt*eRs;>|_JCh+)HJ?H0Cy`6R}XG+ZUIf<^(L62QNSAW9DTz; z7Vtw(tP9FH4GAhI;VTbdMlc1vl(Tp+3jya4|LGdC6w(i|1XFOZYz~JU3ggkkL|F=? z?3}?{B7mckP`AvYUE#yn6#K(P@aP2kQ`eU!!ji@(kr%Nq<;|ZpBs6 z5_aVKsmpU6n`e7VjkQXx5jiu+aM{ow3-ge%%&Iydtzp@wQ1vlC88zQbxYr*2`YIS0 zk3l%#!*Y}b3zDcd%<{u(zDIk+X~}U0E>h6ku!OKvMO=n<+NGT4)K*9n5!~S|^#@7e zMzm|eGyc*7p8MF25CRKXhjw{$S@XQ&w?@&6FuNUej+n-di-4+TnBB(AzMqN+-&huv z%l9PSh7eTGy%qrHg`6mb%H<|+4+Yl3vddEeAS|Kmcn(O3Pm(kQ>wr^z@#$5G>L6uT zACwy*mslV-NQrf^uxJwKuZIMIoKJ5XDN*rIdj@95==bYd#!#i5YuYtR+d#!Rw?QW1qYM@xqoG*Dd2u;wtZm`Y zaf`MgI)QPil`{k1#D!_FSG-Si1hkfI7eH4%jxb6EK5YluOuH|n+5CQzgK)1(_`!ng zN9#;`&t$0zJptw5R+Ov}scFG&Lv6L&a3*O>MJ~uj6kyd>c+YLkVe}R#?ZbW;3Huz* ztEqle6?#!J0|?NSPfB^JlZQKHAOiA*FRg<_ zYv*B&kq#_aEfNc2(k`j3BZjz*@5eyVZUl%?bt@1riZXPX+67N$zmNPJpixO|lTOe! zxQ5sK(zFfH1C^NDGc%t6JzZP&kn`6ZR#3_5hQAY3!K7>+16jLj;Rxb#R3k7xO}!0E z5xZOn=wv&{;9g0ZA!->>Y6f!kBb3?4pp!v{)UMho5EyUA#6Q z%LNQoGpv5SZlZO)!n(--BC7?XqfQJM@;HJaDGP%Jb8lCcDTnh%IIaXs-CInn2GJ3; zRB|M+4H~=Oa6mogN>#&HD(_LZd&HThJcN9evD4*N-+kyi;;Z)Th+B|UcUADJuOE$} zwdvPCCfP}4b|RmWYYoOvYJE@jI$(6c>+nHLUnkxP)lPXi2Q(0J{lP3v?K= z8&F>il>7KJ<~6L5=W_-4%3Tsv%FbDyhakgtbc<*40VTpVu8?MoY;69EcyHeuF zIBLd|0Ar&G6%pd7|7v^|x}4hQ+;MfJY{Zi1=}&|?duu`lFV~+wAi*!$K?sOg;iQT@ zV*82(J!Lb~lpixRM)(_s{+fH~Hv9COi|P-{RD(4~YHUa0ovondF2?^xovD=|4}GKJ zI9Z2o&?r)qjGaStE=rh1;~U$yjT_sxZQaNUyz_lbdc#WxrsTl-TnK&H<>h;)i)ra!!*o z7`5)#^E8@a2u60HzMkw(FZ|j>hk+Mzu*Q5(EZ_DyanX(h>!17+fP~u7T}F0yBuUK} z6C^UoNj0S<0i{F~JGfn<;7>xT)u?fae`I$`w-5;6pt?pp7DMV-+Ew#xqiI!&r@H%g z$QW}eSw8DgLDIhv-(SGXpB}zd-|NP1MEO67dxzRAvu03-H-tUkvD>De`NJ;0u)b24 z@MY2stD(KuMR&UeVlKu(#6pgnW`L+DtbLg40{DrOnu9r&Gs^AR;;b0Q-jB)^OKEe& zCLtJXZ$mvAv6;}NmG$R4Qsbq^*HbSogVLUjt&OX(PXu5UmN{`1CS)4-L>vwg^+AdB zgUTQ~ABGYT5Wl45-(;n=6Nbi*Jf+CZw+61C@0VY^&q+DB z%`4h>_8e?uP)|-0{q-AbZ=@3zr?sHGX$%XwB7Dxk^FJ#9=;uRe2cq1Yj3yoh&%>*e)a>Xr~c7{&U4iIGS+q#@UT z^Qb5>Y}+g&55MNsaK!m$j%GLC2gd!~FIIL1@&!B~ZsRxTrBFPyliw=IXX{N_u}vs~|7i+;MqqP@ zidmAh;f2LccV{#4ssYZa&A&bQui$gGhtM^|@1=TX>9A(XvP=zQk&??T8tEAS1SK#k z^fDqRY0=W$Yea@i#wr%8&Qgdixkj7?%F#mN0=ma`susfAa6W{PGJVtOddEmR$NI6X z1~h=y!bssLJsY*QQPcjTY^HlD=PUE$*R3pK^GuNma)(;kKeqB*sL*|ssz-vf(#Kh5 zP^}3tC>9>|p}u6*=s|C})4@Duu7onBGV@!RoVuJ^k%Hs6F^mQsUUh=iqVx*Ee_8np zj@9~{HqoPB7sB)X_m|RPjI;8$NK^ZnmN(@A@bh#Q)vCfs7eceVMGYD!JHXn&IS(}w zk7lcbMvjdh|jW`f6 z(tRI1Kz+KY4zjET$9RpuLi~eC*k734yr(01#kE5gJTE@D-uaO6QjFxxdj?tx82k+N zHgDbh4?wZ$5T3b%M|3kc)=AGez9S#ltOJo^A*WKv({~=zN*0{_3SFW#1;Ld=G$Cvu z!!5hyk)^P})V?;y@;YBAx|_>He?(*)GiD2NwY0wrT7o@*q;*?N%#UkTy{y2Be61mAl)5cFj^1VaCkRLm z=kT-GYYVEndm03)x@{;}gattux_EU;Hx1+TBT9}^s?oZA!vp>C zA~6G1+vg8JN2;ifub3AZJV1sl}o z&AvPwQApu#;&ne6C6G=u@mL(r7-AE;sW1ev3&v$pyAw8OsjAJ70Mla7?;Pu|+3m7w z@w2aA*F5xq$j#q{@7P_t>Utv-uJi&#YJONG_E5F?y3;Zmlp{kA&}5>Cz7Uw_^yVf^ z^xNtOPQ=!eS))EeDAz2e%t|K9&>jNdblXQrbHJ9V=3dX+k)a)(V|txNNfV@5z8abQ zCq9zdG;rUMcnk~b4^~Yeql7x!B;fsy3>NbXq-{)&)ILp?rzo2}|0nsv_d#E|EQKLU zV+mR(VQedp@O^D*wxs$h_x}lA{O`1%N!10izLFAE$UZdbHPWF=V9=`wVOcCyQ%&O=0GA z8-Yl-)Ejyst_e8Fv0}bc)I&3Qvm`DZ=I&?8?@trSd?p++^6XZq5FEb7=`xOY_YFs(Jwxn%Yzz%0 z{|c)Y9)vU*NA0+nd!(7bAZWBdR40#S=w(oz~3}9!+>?MqY9D zF9yB|`@*E%Z+_z9f!};G=C5ZTcJqCOCBvW^1jyjbBHX46bjo)b)6Jw@aEa13$+$m@ zJ`?hjho9mN`g*J3h(%Gr?yH-SC`m6+3`#50S~R^^)tKNQdAM-jhAW?miLySH`P#2D zU8ggfd$HSmdfH>OoJ-h`#~EDL;mUEL&qA`F@Y7(fJu2I7V^=~<))|Vw7z~~VgD?og zA~Y0vNtiTW<7W^kV!l~Q6AYO0@ z@)1V1An|_eE(TTXjV3b|LjYlFllXym)KB_u+*rza0r_|Wfs^m*;4Kfi3u%N9N?=-{ z6nw`ivAgeH2;$>%lL*l~{^`y*l}tWQcHW(x$QWva!mmA@Kyfem%LZ6B`IK6!s%Lv! zpVZF~AE{IP!7YH2ED*&IJ(#iJW4KhY)X@?GR5y3@7TR&MTbjjSKD!~n!U!I-dii!e zmWP5vyt0go@`~oUt_v9cBIP3{h@Fk`dC%Q0XC0E4&n?%Dzepf4OO_y8k>VdZ0JCyG zfqm}3Gvxk&PAEfR>Ppo)wl5Auh%CSS+F<`WW`R#JdX_rP%nkoMF#ov z^)<+uU$NLuzD2?=M9rmw@F}w8i@mm+#iWM`rxQ#IJ9M(kk4MVCC#dkO-!4$8*=Ns*J+9 z3pV)$|H$}@Ngz;^(|SKFam}Sm+J`l}nm7Er8UGOfKIW=FN24wqtv$GRZ zn!}QW(>kYw``Qq78~aTJsCW^==S$4*cLC}LhBLk}$1p{Pw6;Qp;@eg-kfg;5g+nBD7$E>SJZ9**%6#c{@Dv%3aV$K)!=?dTB)I9cyt z0TMfE4YMc3GypxcXMYk#XciEpb|rlf$4;d)!~J90`#^e6k1>0ZO!2>y1xoXV9OP_r z?+j!Bk~ciGc}ei5?fBpdJuK-KX`}||?*Z?>kLF;0^ojL8l*l(}fMq)Dk0b5cbm$1k z=gw|8xPlpbdM_3XU`>Ge&A6Vh@uw@Z6(pHce(IbeF1ZVjQ+>Q(s@>>^TPpVSgof#q zU|bYASAVx7<6l|%{utMbEd!NI(xy21=k_}(c35wP-Niw5Qz&!A@_BRtT@DbmAy^0N z?9EaP6}gqtz*IS#O};j`Jg64gsd{A-&pcYo{8CC^6@zzIY;A-c9XvuPipD>zohEM; zF2nZmCVoW7RZm9I+9y<`bkXXoLbx@bV785Ip4fBXP^ZZPh$wCJ^_*~iRA`KOT}oPd zc-HO>r{-IMW;m_*RHo5+5@J{3JyNW);P&cXW2Fz!{Svc)nG@DGsXU|+K@tY)>yvB6 zrUvszQ66O_E19_zjK0$w$bZ!v6ZfgEygU>ecsc z=4pI`YeDuK%qe)`DF-jq3$b3ey{qZDO0tg+{q}R{S9?94L?F}c4CZyIS{r1Nj~-x&bLM9vLAS0`3*v|(f{1?y1EKmdQeh3-NeCl zkRZ(ui}SBZx2XV*K!#xyYmiuVV~Z`@?RmDUn=3Vog&XI^1_zl!tJC|evY0h~?stv` zr#xi{Yr$YVJjFx|Q0~e=$;>dQ?JD+=iK1cYgJ)tmGS-RhT^M4EC1!E5NZwHXH1e2I z>;>a-v?fDKgiz5b?V)#XjxYsF)cv8*pZqL5qYCe%!g2s%qhC-jf9R=94m}@!FJE-P zD}W}a-c){mU9YZws&;W5PDo=N#fs7K)K9QAaaJEWCrfjF33suU9mB%{~f;j zecNz)ae!bdk1dU;E@w9T7;*fY!)qv2Y#+Gz6Qe$8C*JjuXMi^GMO^zsp)t(-J5tG% zs)z5e@#4t3x{_O(51$)SRa9;yI!tIM>L zn3TEkP~vN%651a%c2EBWBd&lzye&a?SnhWp{K&dm)M#lWpwtXFDecO$rcA}Ijwqb=y;lkQQo zIUNyTRxSbu+Oj9JJIlp+NyA&_Lti=SBnqBEQUDadFWPWc( z<_yU~b>EQSZ+Jh@#>62KP(<}a2V-deCRbj~2f7M4{5h$%9R}`f+W-NUytW11YoxI^Z4c?-61%?rtmTk! zs9DdOVT>7asu7E3swuVx#50wdm5;>Cpqzv0qkBvA|t_hvp4J=+cYSU6T zqT{3BiV~VtiOMtTAwr-mseoI&jpWn1tK^kjB>S0o!Yl?Hx;u3^8nP?MsRI0;M%l}* z%;E+^5k7N8^^Bw5Qjl#w%+Kw)i07o#Z_y|?pF)3Fu2G|-$ByM!BNF-vd2E6b#O*n& zZrhx*XDtUYel*@Ps|g!C-k6N}{Y6&PkVqjk<&1MM#;ui1&<$bS_LZ#AM2Xsz@Edi2 z!Zk0)iK?O#m>ejblSn08fQXkM`2!bn@k|GAHngQ{3PZa;Rut>?%lLhd&uM*h5&A0Q z6Y{8sv`bk{oL9mY8;fjJ#qqTY_0zSI<_Z8~I<@x45)+TkTm09?xuLt^d-dYS6L50a zEHok&3GszCTc^~;IUPG$Z?>{GIGyd>ZVB+XFNfIqduuk@s*G}@m&%eLs}NR8TWL=c z@D2g3|GI}WZ6x=AY3%MlTfSwaGA**>f-6&HF`{-@K0!A*JY`&|JkM~d18ghfslc|z ztQM4ov_+Y=M?-`q)vKm@BaUjW%#=Tc=H{Q)aT@D!ZWvay2eTM`0BZ(2+K3`R9P5ud)yS=F7#We7%;;n#i*u&d zzX;?J|5&N2l`C+GBdZHF^x-*#l~{aSlrLQR9RRfTXb`D)PDRWZ zrRCANcn#$@?k)s5^Dwk_iZdlE*XeMCYu(i8v3&867F!gV*R+t0tPcN4TpRx6u2fSP zYzjYE0~+4qY0$Hr3pZ`hyj9SOt<5%45%vKUc`JSn)|%4as6`5)XJT1ct4y=t>``3& z6lQ;`m*OWg^FSziC3}=X5}Ci+#H~euV*Xaw(;apd-uZ_<*8h>zl$j2bYEG(mM%yHT z8zuFtP#)Hduzg5y{4*^$eIrN`JYLHDmF+1*&N-l>G(QaAF+Vg7t4*dM!I8H7OW4z+ zg>1$}@vYS#9{EC22q7n!*ab1+z@P9!qt5^5*X=q-0OX8khFiZYoT}`)d!>5}a-&Ha z7+G90yQlTpr?Q}A^LD}NMbNPWL|%16wRtXEBpc;Oo{wIRUw5na_{n)OaH<5EtTbb!lM2W%^I>_zoN`UmO2SLE6ae zQf{bYnqY)F5KQK;a0VY6a@%V<@yHvH%DAN&tn-N`NG*l$-00$!&Ciwi5@@B9sl)ov zF{67h$_lZ&+#sAO@}WK}EWMID^{*HaiKK$?6|z0bQZaj7VU9t1&p;z7AZq^2A<6-W z&3@2))oi3=O=kYOw9_F8JUuoLt?Jz|hK)h|;Ke(DxL5nXN%&Q`{F!6Pef|L;GUo1f zGh9$#+8-g&bXXxKRFwO26vb4_X@3vp6+4prM)=rF;$PkNax$bj$xb!KrmLm#e|bOu zSE6AFeT1}(Dfsn@gEJh-y?4n+7(F}5$R5U-x~HlO3%X3| z*`y(}w#^LP#uL0Tq+n9M&>St*A9vy~1q}y{pDOp3^7&qB1*gR}vAnv>_clUxr|mPt z7{2JA!>4k+~95y)J2yOT43toiD~YXsx>ult)7`>!n?gGoIUt$%JqzkHfPRaUiv{*1{ zJTglT>SXRC!{o5R+PSDP2P4t1Ue>dD)*vMTRJ1_n9Kos5wy>e~ALaBAIr>^NZVCtb z7_ePuv@UjNOZ^@{hfC#LOQT;PCB1w*I}7JA49-rXtZ}!N=#y8)JBJ%0LlPiK4Vuj1 zkK*Z0RUv~h(qFkLx2{5cemWR)mR2*(rT~jZpTCV9@gFhV1F-nw0oPl_psp7>*?r-}S52R%+C!)w4n`yw{=NTd#C*~Ar|u$xB8}7FXMuBbqO8@Tr(kDsk&B$S zgt?G@3wCLMS6C~$Hy22cI1~Wda4Ej3C}o4TP+5QD#sbD+bqRABs>*#M5x<9ehN#pT z(3HU;E`z*!xHu$Tr4P*TBb0e?HKUoj?x@tQY8#~yg4K7jwNS;uQJSb7+kx0CoI2so z|Me)@&4gFYsgV8HfWpgU?s`;z9RvEZ*qY09VxrD&&OkpxXGUbx4rgBwH+ja!f!n)P zqa1;yYrzwoM0ve;HJ2p)F>nQCw7t@cw7oqz?>52J)kv|FHI9a-KV?F)w_nBxqJV_` zqJPv0Be=~Od6T1A`|il}Re5Rjb+&T5LiVWMk*znL1XDmMdP{D>Hgj-P5-v~lQiUFq z(IxB$^%Vc3$ZGXq;F!Hc!@hw;%r34_y?=OB|L`obJhVG9Y-bVysXb=HBHjNt(<|~T z^_!wkur+SQqxl>bV{g0XIWZY~UudHYq36^xN}nyVeyXvoBEQ#v8=2MW$yJJ(P_Auw zp-B1jx@#_?44%z&kAtPiRIGVly97752GUw-+cRk5j`zmD9JArHbS^4-z3^)rXIrX} z><|GmjD%~idFoDi(ZLXKAbB1PK+&EFpGLcpsr>7j8f$p99F?`sY6QHb6F`$XQuLsL z9e0%mFE0Ykd0){scby!s740ZYTk|=R*%GGNj1mKpOc@fAU8CcXULbxcdsJx^mdPA* zZZ73`{Ke*os6VBF4o|bw34V<8bRmuJyd)~0mWsyGR3`=wLv)P7b=hR#5X@Okv0@f?txCG9NB<3>&PHRRyi1lT$%^BpfwwT z8Yr@cT!~X1YRZN?4JI(OjjZQ6ex(IcHc5E!?{JB99(2G}BDz#UH;w3GgXxsJpIfH# zU2I6W8PKKQNq<=unf&j+YUiV)orVu1qIj1NZ4SJ8Bt&m^iTC#NdHj*&bZ&`DJg2^B z%?LK?2p6Su%GHb0-0Lx+qeEP`W8P$76Lb)2L!;R1i*876OOcm|ULfdpPzTJSqAA6BDTtik)J zLgr`*xl>6%lk5lYO0@EEg^L%wUT$`xFrkl*?y~4M_q-)sxJ{F9^BzLnjLF;hOv)O+J*G?Y)oR*sfa?dp4Ml8m{LVEKfXn$cypw&-Ps5&`x z$_+( zKCrzjhwaI4nb7R2G!jkKuD1X6u1EcOp(ev%Lv3G|?uH`zn>HM`r$2U5qZ|0^qyOJ) z796UFa}?*XyU?!fEtDPfN6Q`q)ru%?+{Tvz5SY0Ke~T|DY<524&B)TK?b9K*zVDKw z9>l^)b-hUDjyWvD@VY+RviPhtp;pX}E$p@lNaZ81HrUGkW96D_t`G6~)CoHV;l-YI z{Sw7vD&%`d0}KUi?Z8-8eD7%l8cMZ8{q@ghtQH%G8!KnzoIbAvJC@B-5~D=- zED9TP_Xd2&B8E)!fPnLKY+Wg;ucCoZllkabYBNmCEj75I*X-Qb(jmk`HAbslW%<_wHE*kl1D+i*&&K7Sg76e}fM^`ZInMBVz)>RZxDc!6=5~a1LF47npMczb=Shb! z_7m)9VkFCeT5pB2mnCbK>XT}4&7sW7kyZ!Fr?~B=&u`iGllWpk57CUopiSc zlsh8X$e4(KiH6ru0Oc zD8i)sD@GK-PX!idm5DmB z!rEBi4BC4F)iKP5j%$oJx>)HMpfG`e6Wh!xdk~-dVw`5xSHHZRTb~@P?`6s_4LHTw zEt>EQe0A^Nn-%IIBv}(9utcCUOwBumA$VL|X3gaigBA%(3o-bNr+eM;Ed)Z?E2WFd z^NQ=IcHlY7IBJLb0+MUg$%I$Ew#U)5h{FH&(*aN86t)hfWkyeB7H)$e_5dC zkp)8VntYCuFnJxJhwt}2DJsAZ48mvls>GW^el-f-*%CgH@7X4wYbKiS?2OARDAgNc$v~e^A!qx!B|B zAcP2Ej!Hx+^Hh{FVxbL`SMKgC-@taF8+Q9oaAgBR9Bkfo(~whuz+U%3m%ePWIT3cV z;7hBA>G<5`^KF;%n~Cj;dr8X{L8wZAt#}3uHXiSi{OPI5mOth12!$xH^N{f2Iag** zi7ecJA*m`4r>JqA*X7E3UAoJ;ri-)>w@pW5dJ0>UzW<2hUS=Emk}4o_;?-?fy+KMo zBuQ~&f!1Gv48r~xF`1JZm+fc4U(@VlJa6Ijmhl(9Djtk|yGFT@AV)y(knLKo&kh&h!(TX^3Y(i5mdVGpM?p+b@r9Qz3UJbB$5)kQA){7T#QJx6h{ zP#J4&)I7-`$ujwthClpcg+#7%h_{Pg9kYA!I*Q)$Sads?h@en14MbX;%E+@=%$*NO zU+VD{08V}#4wtj2k0a+oz_WK+PJ%%z21T)wDz=O46J-qp=6L@G*1#QVKM~IlRVW_K zYfG|nLm;1eLk%2Eg4#f}zp3?~{Ch*2yCjxbH^vll0*t58sW zlS6d>f3aZu*!n_Lz|TVqL`icslIGBPji8-)Vu4A7rh}1WoMXW4J2YzXu=_J)%)&5q z65MGr>mm)xl`_z25?27P<0~oTdVJZxYH1kN-0RdH<>I0lo9na7-j3?_N2asX7v_!t z4ujmI1sKs-qZ1=iBFzan2ys3|O@e|X#;8{I9J9;?AWf~E2xkTzF*Pqo(-cUdB!=RA zO}A&h$IdaBH^HubU1&Ldw$v#_?!BJWz{JMu=JMdB+PfuwUu5=u>3nSNA%)7lPmAVXq5s2j-IBT#WJ z&$~`SJ*tQ&3=9NnHZ1a6%zk4jJ?^*gxjEfDxe3NoG*0%I?Jj|=hX$|?)B6KoHm`lX zX%7x{SH(~Eq4*EcTE!v$hql5Xw)0<}hqA|T?DEazS@F;;sA(CtjJ3IJ@yIL{lIQiF z9N?|uMh>&yg0|N!S1U487v3zJnJJ6cLo7&a}IO14r}l;Xb}BZZkoWF z;)2e%cf{Gnl&r0L?eMPydsvIyQi(YMoeJV>Wf!XJhJkMJSffxs{z~%u z4aLO{>)*R){|>9J#toX9a$?En`ZDqRk^24Y9f1(3%LjS*a^mX2|9Z`zd_VttdwQU` zk4j=#656M%fct#xN96Atb31_7!Ga+`*9_kTYoz+yJYWA~aHYPeYcsT3vODx{=_82N zK{jNaJ4i$ofQ?Xz-{P+GC=fa@QoUrpWma=lZ zOygTfx0a0{1m`!8vXDm>=hqkJ0O)wB6Q{MCR+i!o+_#J9D==il5ek{Be5 zfZ}?r%We(HNaDF#^gu!Ki00sNo`K5^O5!F{XjmGErw;h}BG;R0ah(JRBDyk&bBCY&K9Cm3kwrkH(w%L+%s~RCsTA~vb zWq#N62+oc$+Q}7EkBnx+>x1Fy$aY6cGy4R6|C{E$SwuI(S!>P^4)lHP`G0Gc&5760 zirPJdS(>2Ox{tJ|s_cLY1*qv&@_lKZCfhwk&H+yUH_w_@)#=}zAi&bOIn$)ed& z;l z(c2x_(+UL?pmQZTCcR9YLhVy$O8scS9IivH2js7I&UAHP4R7!jFuFxUGc(23_)f-Z zhQ0cW4E9TbvoWwf5^6{SkQ$>zzZp6K3X!%x)>J6;ew1}CGMQ2tv%cy6)+ysOj#X`_ zWKLbd9vOU2NhA)BE#U3U1$~PWShiPUHh4deYsSRdku9Al+H=k6$4tg>R0oOlYC&ub zZp#?_uB?bYLR$A?!U;CgTSrh468*wSOBI+EB{{1>b*)2+iVEmhQKQee-y7zTO%?w& z_hHE35p33;z}BSVVDzp(za42w$3_$pb-1b@V>TR2_8}6bTd-$HHa!^R?F9>fN<5~9 zL{Xfj;YA0@*w@euW~dbf;(WqM;z>~?jjU4oZZja$w;1WI7&kPRk3RtkESMZ5D0>EG zWwY^L`)EHIIQ3LJbVytfCmdS8N*y)-H;t0LJWg8Zv);Q^bzR|C)Xv;_czYHhsn|{h zS)`X=LDFu1+IUW&5MUN~2mRNOLpX9A8&=*~X*pP@A`gkHkWzc%M0eR*tPMsj23Oy^ zec93$jGnwHCS)LO>1`XwZTB&S@fBZl%p;nbQI7`-iWq9>Bi5PWYB&pW1c+nd8W3P^nbG4;-9 zl&p@8fFFswgJFnVJlk7hZ)s?;PY_`~MYlu3*>U$qp1~347|2P5=2;|y;sAb?ic#=7 z<=+7s8uIgxkP=`=(5NB;R2@Kh;<1*FTI^)!|@(r?VI?hTVq_8l4?2Fgca0Zt%Li3iqm znX=3;d})UREOOqmw}eb_6vzY~*h2Z6k+w^QAhL1#Hb?{3z=uVQF?qO!34DWN67GP> z?Hfn4TfF{sQkh`}oJu!cSkowpx|ogXIIj6Cn>qdPRUC|X#4VF>u%JOw)RS>AcZ^Q(SERn0^P1A%lw<~Bw)FV=}P^gaTlsrV}-C8j> zU&_nw;>#UjsE;hLzTCjN!g0{@8TG{9ziNlQ0n-Xg4c{|#+rK(um{hPkjIsXqwF-YL zl(Ruc<2P@Z1l}{DuQ*it1Qk|}{zhL7)oqljwCl8n-uer@%r0Vq;l0M&OEFHs{SS0Q zgw1L8#8v)*VhDpQ3&9(ma6ExT@rE@qm@1CNIX|C$SMr27AFt%Iot#ZgV5=e&k%Iw- z10UP|TkZT%BPb)M_`5TBn#XHT+m9wr3!`%cv*z17`z`namUQvXmyOJsXH;>jsb7|q z?OSpHegNZ-X1b|*NxVuPOcRgW@@wbhKWUc^mTmJA+|iQDxe0Uy=JIfF~ZjpE^ap^uQI|58oig_$x@4@VCYPo;8`3SO29x|iBO zPfjv_&OP$`y>vii%*hHs{|o|;aGKEPg%szA>g9~$264R}pJBQj$MvadDvZDWArma` z9umDhLLJ#z@&6n{cLI}`y(r8^4q0shu#QJeDE5lj6tG*&Gz~|aCjxN)R6MD+(lPy! zxTKqTGpZKX6DNJR7+c-1;}=GM+eo|hM&HKv%fxZh;9~8CR|t+z*5~&Xfc}vR%@QG! z-e{jdBxf2EvWa%O8)lt#Lhv%Yuj4nSD(imZ{J6UfX3fM(s0rw(ApFXErM8jIiYV*_ zkE-e?MQITr6hK~ql!_`;0TWTAp+o!rz0H8q9xzh)@V$>Pw7uE7-g0`nltK<#}y{*$cr+{J%W*J&)iUI_Y3 z`?Ss>_a(asiWt~dB_I?!z=QbbQ7Y8CbqRbueXzS#rOH}|<)F3;D4gTrRC z7YZB{Lb|1Pwk5UeF#F*i7}wE0Y=5f3p871%ZQS5kbNjD3w$U5{LIBZoqBXDE!DnBV zV8D`yVHIF_PqN|>@8}kVIZJ}|MH)gx@E_S!JlVze!PjCHT~*%`19}Luyv)|==I=fZ z*K~rDa0gR{*n4D!QFA?1C0xY>g5{zjY2N)I?$@I^YO%ulYBpaQ>qx=dRD2}y5_fR~Uo#fGwnaD%;kH0PUg#JaXY2VUx%MWrpOl|Dt zXjI#K3Xs;$RQT~>TXqgu$~f^wsOpyL_QfGpx1wkb*@Eo$EQ=#I4m8}rjk#|c{=on# zM{0$CO-rb2=l*sg7&&zBP^=#0QI)}!txaZ=aL}5to0dycOG=Zbn_ao{xoPua@(1Uy z^9lqs7>*>9BW+r-_cq{=%Nx3DQk%TnlNY!^Yp`8VJgtk0Np#!3S`J;JFq30qzNjG4 z-EBuoI4)LUq_=>WmpbTg&Z_84w$K$dbowy6Y*F~-9hzumlZyjmrdV1J=CMC_XDvqq zDTe6HJP9ZNxb7RA3X4kVA-a?GNMXIERF7VJXhOM7UDL5O0n5lg9nBiE#%u+tVv6Og zfjM>J$$wg)&1cA{?2Kl*9U=kGVkIQ0MT=zjW&Coeo_Mko`mkPabIUY|Oj8Hvr%Rq2 zTYukjn2oW=_k9VFpt+NFB#ybb+VoLw@@_>bt`sKQGeC9!W=;2s*T3(?F*#TIFh;etw-t7T3su;+)DGq-`e8$$x}i@vwM2n_Y{z{QGvDb|{M zkeE*b?rUN~$<9ZrFbi53C(OwOSP`S}JZkSdnM4Z!v8=*imC}kjGW$p!AVcPY5-VKo zoOg#B9y27c{yyI*#03HhMxUNDQ2LTxhH7uyn?tVy%H`flJLJduh^7B~ETtWlW>Q)6fF$!3rQxGI0n{HR z{F0s|9Y^6O`+}6nq$yaSh;OHjwJ5mgUD3(JDD^@I02XRx_mcIbR`Ko^m#8L1 zB>TRIF@6t>*Q}!+wyZN!;GAnsIj4zZ&hSS{31dBBljzR$MlCpW#yckMX;_CKIJB)~ z>j_QOUv`z0Je{zL^a_L!SV#%d&#I6J?F}O9K7=dfI<#huVeajIm&xb{$H6YYo;@oHkLGw$E!K%U zB@|KQ)-(sY$~C@iDbb^oC_8zi8Yc)BbP z@F$=jw7Szy_Vb23?N2PqxyDH`A`rHSV-FLvJfTb<9SV1=h&V=x+HWyy)yZocZo5xk zQA0|+W($KBe-L_B?;T5Qp=Al02~zd!*K1m4F3YscY#LPcyd*ZFR7g{&hD+5LZ>w-- z%qg$|zBo-VUUJFso3P4|H7$kfRy)t9bkrh|z1Kr9-+gDL&Y_gz>)v%5&#{evX0)gw zJ$vHf6tguBhz^+~o0du3)1VVF*DW^7u0xT}m;P$AqE*i4#ZH1A?@YWifTxmvfm*mn z)P8rxjVr)pFwZA1hc#W41Pl|=iY+2r1Gi~^2ti?MI^3-)iyZP&Z~7ePS!Et|^3*C3 zC2062`pWmeGGjN5kWNgkX>IN*MS#{d(ADMq6j`uKuRoe*Xnvfqq~c7gHIAc5<=fBt zk1NvGCC*_vcbLlfM!s4ec~%u+Vnv&K=!k@HcL{fCZ90|tZi6U)8mNT3Y%tIvoUE+? z;jQ9kvd5E)d3v|vl)em5qQ{_=)(EH1`{tgZ^@0@|{)Zkm97pF$Aao>0Gq?z@ug1P? z`Ul@3I!!ht=vEAZa6zt{=CEP8*4aulvPCAwnm!*1o`!v#kV?DmlMaP|aY_bC!jhg1 zwfrKWgNr_X{oE+{S=sVg2mUwq@g@CQti|8hcKU3qt)=PI+B%f3j>61ak%8Yj;JP}U zv~REHKLZ7o1q_R{ClSdxW@H>W@rQ09m{tAMP^VmXBpd5O#ubWm5|J%m&2PQ~mBg0_ zNxukWel0+iw#GGto?ewULpEc1*{oms-*Ww6)#3|B?|xl(P1K-u^ZIEQ?_P0te2f3; zmiLTfEo?2h%@}pt+7)RwT~F^-VXY{*9=C^u7DJ06MIwpkVv@1N{v2X542Q{3qIcEV z6z6;TFO8hVAGT9EYdL-WaaK3tjPY0dQY^oxHzU8u$=o8iX*~kVcM^@iyJzn(*?tOF zyO1@$L0-&iAE`b6rAn6#Fu3>2>Y1U&)EAH)_Cve*xF#yd4Bfx9{d}gspsE`Hn_f1a zDzx|vy+m6C!*9pzYn`s2w7qYA%KknEHOEp6=xg3E!HpUGy#lNY{>9GXLk5?)e5=aLOK>ztGX7b(b{7u<6`XLZ25I?9L;7INHE zIAahahewQcnu@*ofdsi6mT7btL*@G`7f`aC6C1RzI@&KWnI{VoL{zS9R0kn3TG4+)uWiB2Gci@5?^%y68UO_FSL7!7=bLc#=2 zPg-Ic^!rIT2DoWLdb<`3Je89EbA1pL?w69#cs%aZTl{y{&sadvb6W=pf}m@U(6L2y zF*Lxk)DUN`Bq^;Y=8&1y!vs6r{VMuu``Buq#R9~-_rfPFN%nAg0Xv60{D&ZYDbV_V`+gNjfZDzn{UGP zzoa?mblq)e7%HxD6#ZRocL>mV^zx)F61vaKR-s<_M@?hJdXaeM^lLVDF==J&?~iWu zZSDS9-PUL7|Byoj5;S4-f2MZvKT%?H9wIOf6~@XrkjI)FJLoJ zB(s&;PfkiSs}qyVikfA9K-ul>u&$z|i7GQL zx0^QZ66khHA!?)QMwwQ&_PvZCT!chtylIJuoJBq?lF5 zcT|K>7opBBD4(I)UQEYSA=UHFOGi}KL?Uk|ERgaZU~hVH|Aax>O+foAHs5hyoDR3d z8Yax?+%|)*R~kqHbqo?DA1+T!XTfFolXG1CDz4<1ERlg-;@<;!_h(N{xfT*ke-ak4 z9QS0ew1F>Nh3y)7J3i#{1?qB(HvdM__!>J1`%aj`fUaH0zX$T#)E+vF^kNzX z(_SVSWR7p-PhyuuCvxR!;SgxeQqFmsu2`Tau!%U0mvRN9A&60I6ly!;qt~qjj}j|r z)uvB818l{2q)2+`vIj6GW(F+Dqh;{oJ=8}3k_uZM8ljSyQ|TdB;#RdCP%!|&)G#UFs&HM3|bWbF7vHydQCU;4{ z18*-AcU)&6l70kN0j(A03}A0Fe^l>B3yT&Y7o2TEU?7qipc1Gk{c zpZlOIk=+QF(4y*}xn78j-yu@NVYKU^^G)N`@xuz3h^w#wpt70$7*Q$>4Q8xS1qt&lwX ze``1^;HJo0Qkx}U<=bih-alML4Cz*lWC16$yow=*hCi%g`*>%AqwpNHfo#w7C=cwn zksL;;fwTXnURnHXxSuX1je-bi+}i<@1EUx*trwU4t63ME>!yZ%uU9R2bW+dRg}o@F z^XqL5&UN1wzI^`ko?s~{)Q-TRwR{C@<&$oswVP2q6un}1r@N|FnGeq>abWT_{v6k6 zX;RP$7kKGT$js9^vACbuUNN2qS%#CK%d^GrQnqsr$9&CV1sCxY5Ycc4?oftks)GPR ziQdH%WOQ_hYvi)MNw($+bsnH4S${e48=Qc}oRUVn>`K|{H|LUwmm{-yGIlJak?1!c1QtVa){R!a)oM zKN&={*aI8E1R~|)Pwu+Q?`>iy}PB03?*>wvk_(8V+=?_2mVUNSJmI)j&;T7 z?~+=yH>G=WRSV;jKzlHE;2v?C7*?K*-6wbLd~O?qQ-e-kX-Sq_02yE0Nh|c{xz>>h zH)Y!MilqSxgn*$0LJL<$pl=_^B9X-mFwBh!T4qcq^d9#(dm|=jxvvYMD8*>L)<c|!z5jO8IwprurUZ_>$7M8IWkvk$k3YUlw+OU; z)|<*8u@`vMJ_-Zx;D{r`&6=aMwXF*LrN1>?rpt;8~b>faBtaLW{2#O?P! zOoJWx`*)$h;1^JiGZAG+Q-6{JlDRh&aT!Z#53IJ!RE^@)Zp6QYJre4*YL6ZQ}cG&y~+hls7T>XK@}1IL4+x;+Swadj8N)zb6lYzeDpu6ehLJ^D{AOaL$bi-+gz-PrM$C zXvx2LwFtIZ&VNL)d)xY4K-BU67Et=mBO3g(i64ODHi!oJSw`Z!fTRTdc2E*oIo@l% zJPAtn_F<3dej-0Wo6YS56mj-%xhtHa9qYC=)6S(IP(_VjZAqVzn-)NMl#q3h&inp_ zV{!TOtO?ip$wKSW%!%SnwzSpplerm%PE$d3pgln@F-O6WI!LP=N%>o6DD^C#BeSZxiyumCGAi^b^C@q4 zlIp;edGN$MCN;+>M@WxkxB0IO(xR&3uo-aEv}V14x-eOJ?pUv*Lj0OWPnM znvz0nON4D75##&FE+7$r05Y_&X-5{=17X%Ni&)i4!czixLabj3!roDME*ET@$51*O z7KBW`wRs1Y3aTQ|dsR}`RRPVKAwo|1v`%UPtu)4tkFx!kF>HGC)8X;AQXor;R0UTH!&VqL|Xs|mr>ZR{q9R6z;X}uB)Fy3 z11?yku^KoBE5N}biXbK1!O_XGqSeruOddI=1npDMI^qtxm_|wRN<3Q;^R@@Dk(q}5 zPk*&iiOCt!mj>-H1Xnvy7k)-;i=O-}@HW`pj1e_D?0h$Qx^=!SFvYXXvD&GWt-kI|O#Gf&Th-u*as0lxwIwt~O(%e5GZ4%TTD1fnQSLK^7@YaaL z3fb{w3XuZHkqRzIz|$zZ_XR0MgmZw%gv$Pv+1QfK)N$5+P>Q2{egXBdgIoV`RILIB z=yJt3k*(H|876iE>~v~HwM?s@3u)2Ta$Y0Hbzyx_qyX1DyxB5PC4f|V0`W$66yONF5uo!Qp`f&d^Dw~6?czpS z?k+}l@;Bm^9xt`KHDResa-14dgm)mGY6j;mp{wk=ReQ{5%{i31luX-GH6lmQl2@e? z#mc1wMHWZ@aF}q#6iA~rrSz-3kI#rRjD$lo$@%p(07_e}pvp9V7gv?+)pXhzUB3?n6{7N*j* zwrX9Moc*U|!;!3hed&Eg$4?l~U^YMb zR{!-=@R$7LP6<%$;&jv~#}@_s_ygJlA-{ne(!Vg9kD@|?F=|Q`Y`M#wM~UMo`-~7a zVF@*-L-cH}|CIVQ@`@P>S_??MKC?Nki`sfd+L*|~5fpBT2K`<|o+AyzK zAyIH|VLNuhg!{u=GLU@Fh06&=apjhFxenSR{&lc{PNN3~&&GR=8{*eUphi?qYj0`Z z)yv>;y8?YZ4@D#HvExoW4{TLnd13j?+4Qlwcr^7B3vPR0lEe0h*@%`#XQbEokO`3h z*!6dko?eYQHRo?ARKXr>#0FY5I*nj1H6J5|2Hv<~2%~j4-$Qdj(82b0k)|aBdpeM^ z5^#Q`I%Fb?w2ROYHm#HW{pJqYPK+jz<}Tzyhq}h-R%R*PiBT;&4MI!MmlYsIR0ste zFsRB)RtV}QLgp!8V;z6#J;R`b=5r?9;#L8fHo5w7V2IqRzv(#te$QNotubSY1~DEr zY7?wad|j$;+x&KAgO=q5M;_cx>x1QQGd)l9g`=-~TemYDvG6ZBZv6OSfsjP{6F3p# z`Aa#7L%Ji;<9a!_oK{pb2oj7KQ{dIA&=JnO=egPxn=}5ty1~iOapbTGynXzBJbqJ! z^3;9{-?-@#A55^b>u<`c=Vd|quY-K!%-^0m1~X>2W)S&o!U~qn0r(Koxr&~+L6aZU zu`;ZaE7Pij7j1vFPQQ(vDD@>$VkT>>0ea}l3jLOh za=Keo@oX&^mfgUAi^=#f_hvGjR0J#j-Kn0}Oa{rc!$kJ}A?c;zEu8jm} zATN{~1T+>|3rdMKDdftX`q+ZI-$2w<$M+(7eLA*LHr;{6w0$V6$4Kh6*9tZRKcUrP z(mvCAGCQ=`$v9BhSVF3#+&~i;wOG3aDfT@6u_H#Y%nQi$Whq*GCmsXvAU@LRo{3lA zC*Hhb(|{;byQvYiHBHN{5iV34a`lK+{a#l_)p+z$g!fcidNNuTFZ&K2kK@hbN3TLU zdlN+$kaE;M{%IkfUP!NjNfHAdYoB`tS`RCbSdNX68DJ(i-kXQ{c_xiv34W`I%ynA) zwzLq1Y>#P@_t;Yymuq+xdUA7o6Z6-FSJucOIrxPP_|bHu28GLEng`a_UmBmgxuUXi zRV~i$!JrTR^JTLYGv0Lr1o2fws zjLC8ltG$v}g?Um?N&&8<=`IRZJ4$Q_l)F5~?x&$Kv4lqX+oD}KmgwJNH&LOyraFT& zVXC*gR)hhfsh}`eXzqXM*voywh9ZuF_l0xfni`XH|FI02&|WsD>*JJKd)vJ^ENmSG z(}JaxHZJtoy4!PaomtVvs&f9~5!qOjzfCT>)%$U09It`}AJ7vG7uojSw z*4)qPQ32GW+HR;Z#>2rHxIf7gS6O94F9_H6Eah(DwT53X$NFi!V^>6U z&baoTxFiE&b7z1;KRC86*v4y~H35sUkn1%s)CPD=ZEg|Jjw${5nDMs79mRxg5-dX{ z{WB2zoPn)&uky$NVSsSL1EPik&a!?cN!6!5HsynP)Hs4Qm?r=#x~3Q=-)L2chL3_( zZY!XLR!oE?Q7D=RBIA5QrTM7)VJ96EmqjDEEY+^>#J99E3uKPN(Sg{YkIeUr;I=+T zSB$INrp?w<`{^8KRZTFHdQ^&6sre2Ux19jgn>0D}wi&{~(9#52z|!R6e$W2#|!r^K{V*oRJO z#d;7umDn1gO!aQKtzD!WYRI0g*RnqwMyIZli|Fqd@;&dq4Xc6P6T3=M>HX(j$G67F zYi7fRl2J^s-L_>+{HvAj&=#NR(2`a2}GXtQTKA&IX-Dgb}_gt@tUEw)p z)Ek0M0rXBlu8(y1-As+=D8SLFDqPiFYB+!C4&h#G9Z$lL5huL>wo?1^nC5Hu@B!mt zLiz=GOzM&X3e$pY(U#)102})-O$YRYh5wc+gDo z@BO^4nrc4qexwdrOGo4b3rM5ZdB!DzOFYAX%)!{8w*WU= zpwp$9nTF8}4dDw|mn{7G|)MOO@ zz6qINj)Ebppxz+Nxk@EJ{&7mGm@xF|-%Mc;mJr%Mqg z50AZO@1fNP?Oa{W&HweVuh}^dqs+wn)d5YjkUznChys(e``9xh7|L(2%>V=lEeZ7q zJuTW(FCGnA8Oy~sxn8|~tffH5qS(Hs!IMufsl_~!;o$X%ed~+4l2ccMMQS2KSB!r% ztQyyCUK1-&AW9e9?n_bBQ?lLGQ>mj^Oyec=4{5}OSek8@x*C>_t}KT;cPWE8B}Ttz zFN(#2#BgW140F)0<%-5K+?I%So@?98-`9x+()Oek9i%>^>n zeWtci6{@a<=zYC=Hhfo)bC2=tTJd{GGn1`yM}R;WcdGGO2y331)Tv_o0_O;s+;#3wY6|s2 z$V`aL(CT&I7qbdu=)~KnJpnuO5QX?)TE?+2NG9KD4)Sd?$D0*XH9qTXRR$l; zuhp|A(mVtrOPeB(w%CpiDSCb@sQejzC)ou%qWBd+xe&kfd(ZRAfreS6F}`xC>Lsv3 z25u{WaJi~nNguE)1>lV#f_9ZbJu!s;+xBOmfDs{r@s&q4fYcb=dsPW20Cks!{)(mI zP-p8ag<^;%{clqsJ&B=S1@QY;6|e^z6=JPn-{p5fDaTU`E0zzG z9HslEh=xIhK@lMOF7*$`b7>2G@GP|1G5PHUsU*7AHu$0!Im*q&6w^ z^uP~Xq`gbdRA%HEr!KOcChloQjzYjtzr5=JP^9QCqpIv2rC?9H1r#=_%6$Vyiu^&*m zmGttYi+L8@Mq0a~owg8Rr4g_|Oo+hI-zOfLH$kt_Xh0<)tHBo~%W^tK@%rmFL@FJb z6n3T7ZE^vL!^$Y*TFPc#bxNQqP#9c0r83?d=_%oMCb>P1f2>ZGG-(s-tg4rQTKjZR z`;%nL9PuF>xD&ND#aB^}!n8N2+M*X<=^%&vonQ_~mtOwRYrQbc2&?;~#0-M__JTTw z`?Merr_Y`vvOa}03^q``SoABL<711wJKf2Y>os3pEgp(=;KdaQSB#1 z9|VvX6Zx1hhobdQwF@m$I8Wt*GBptwA3DIt%4mm%$8d?Rwr&fU$#uQm-{=8ps0*^Z z27v>lY7W+m3zU+3J>~QnB5sR8X+L)qv46o{0vmk7$r0=Pvrcbvt|sz7i*+`>kG-6M z??~vxeKA8MQHZ?R3PjqxyK`!0j%uW}`>)PH@IXFdNYAX~b(ZvLk;-hqZ!P`nzCLT`GvhLK($mENA>IE5?p~_+|4N;+cOXABIYQg7ZieD8Yk9dzIeHlw}F0zvZ zEo|HDCxA=!!M;y+wFeG6c{lJjd2kkz*Y`zIpl2&!+p7jf*{HsZAu^aIyA>rh9vpk* zkpGQD7(iP)TAr9f?4jz7l-fpk_X9NAgr_qZ+ZiHrYQPJo>=lF89g#OrY@j=IS0ID8 zLtc}~35Puk!rrGsTN9BVBUxv$*bY|y65>F_sg(1n`YsZ#Q%n{%_t`nyw7JEkNO6&k z+})6aRldnTB_^sAM&*h*Nw60vocIdR&fE+4-B8TKU z^Dhn{CmsM%tXV$!b0V5}o@1<`>`t?SXDT`P_}WO?vfd~FTzx1aILWaGiEOOylBxO=rDym! zRkKoGiiRP`%5G356uIHAZHELpO7lv43Up&F@zp-9{=rzQ;eTZvbQ#TYl#8_x_zO|< zR#L%~Eks@Ef>1H;+{V!#^558aHqBoumZ`a#zq&Ptx&lBrr}p3DJ;SPNHxV3)6PEg8 zTY;IQ?-gq^5$=L#q|zN}clKJ;h&7dp#BUH!Qp6ajO!hZ#h}R))0_zMQC5-+kQQRMA z^X*E3;UPclZLvx9WHS)8i4bi~66$PJ%cauDSj}Q}s5`APkj5JB#W(ae6jQSkK@#N+ zDSN=6GOF)Cdc*oADu5eVNfhq%N_01$F>VK;j9ivw$1e$J<>TpjAw)?gv5v=18@C=W zp`N9&*+*tU0sac33Js+KR1wj>=V@qghcTPo%l1Wgu||;Av=>Z*n5nZJh` y9Y71~cx! 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

M* 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 z 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 z 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.pdf062b626fe-8a77-4d97-86ce-c36ca742205d015458828101111 \ No newline at end of file diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/source.pdf b/Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/source.pdf new file mode 100644 index 0000000000000000000000000000000000000000..71722621ee7cf11995195b92f8c915d3b01dcd2c GIT binary patch literal 115528 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 z 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

  • tA4ejM+#=kU=yT9I zGHS3|m-X$IN0z^~zHL7p(G){BIo@9+=LXSzc9&XyN1EzRt|ffbR*VnZMAD94&EyAa zt7Q5z4|n{16tfPTw?|jzQR`l6ZV>+iwvt(WQh35HgRNTW9%%Y4G$$AeM4Qm5>ys;yj9B zK4M*OF{R~nn}~%&y=J?kTEWk0&q7>lGhXwUUrh5gbGG6&zRZ%MmX5Ar4EjBnj&&Z#c zAbmFJHmv)quY08=M3(l{&42^y>2~>{rW?U%;hnutg6iaEL5tN${Ob!MjKY`(rcFy% zep26(gtC>fQhj%~j7+PqF+196lxhTY)CRuy#$K~TtMAHtMWy?)=BRWI$e43>3B05& zH@agpBo>Xb7vJPKXb?>pxIW$*_R_d3upyj|s=a}iNY7}RquLqF5SH^B=ALS04rDa?BwO-$4>UEdI)B9=zwzG)Ed7@Z5CY--e{}vW|EqAY z-me_LLcDrFUS7W6Cm%OA@Yne}4g$ea!7wd;A%AHC=KGxs$Pd%zw=Aq~m@G^V^0(ao z)+x39|ElfZn*86b`%CKojb;DCkiYc!-IaxfIW;|Bnse%?n_F;dSbLcR`M{jodO#2m z41_f&r@DiK3oOC~ROghlw{QS*|I!r}meLdE7MBnQLwLC$;?j~*d|+5qLO@zl03sp&UDvE{vuVLts2^nuu zhBw9yTe}f|1~tZE&kaIluO6zZ%Hz^q@I>=wU`*1SUW)pZ;DPdKv8QJ=-RmxmAiLK++a{!oIKxo`~p;XKTeNWw4k&_zR3gW)Vx!!fKR z5FY1YaWn?m>~>+f8*%eIfPo*t zAP-=?4`49o|3@7#$NmQ<@F&Itb2|T&<9VQ8@jSo-=0yL@`v4DE5B*c_0UkUL@ZfoX z2hRgMzz^^MKfnY001xm3JYeql51nCs@=xpm9^eOffFIxiet-vT9Q{!Txg8$=nULg#M+|@1=-_i`}m%%xZt=4dDUv{;l`_0dl)wi~s-t literal 0 HcmV?d00001 diff --git a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml index 96499cc..7c00928 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml +++ b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml @@ -18,7 +18,7 @@ com.groupdocs groupdocs-annotation - 18.10 + 19.4 commons-io diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java index 89ac389..7dd6d0d 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java @@ -96,10 +96,11 @@ public static void differentAnnotationsForEmail(String fileName) throws Throwabl InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); // Save result stream to file. - try (OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.eml")) { // "../../Annotated.eml" - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } + + OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.eml"); + System.out.println(result.available()); + IOUtils.copy(result, fileStream); + //ExEnd:differentAnnotationsForEmail } } diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java index 52aaf45..106408a 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java @@ -96,10 +96,11 @@ public static void createAnnotationForHtml(String fileName) throws Throwable, Th InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); // Save result stream to file. - try (OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.html")) { // "../../Annotated.html" - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } + + OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.html"); + System.out.println(result.available()); + IOUtils.copy(result, fileStream); + //ExEnd:createAnnotationForHtml } } diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java index 862ef87..02a2320 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java @@ -169,11 +169,10 @@ public static void differentAnnotationsForImages(String fileName) throws Throwab InputStream result = annotator.exportAnnotationsToDocument(cleanPresentation, annotations, DocumentType.Images); - try (OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "Image-annotated.png")) { - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } + OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Image-annotated.png"); + System.out.println(result.available()); + IOUtils.copy(result, fileStream); + // ExEnd:differentAnnotationsForImages } @@ -340,7 +339,7 @@ public static void addWatermarkAnnotationInDiagrams(String fileName) throws Thro watermarkAnnnotation.setFontColor(16711680); watermarkAnnnotation.setFontFamily("Microsoft Sans Serif"); watermarkAnnnotation.setFontSize(17); - watermarkAnnnotation.setOpacity(0.3); + //watermarkAnnnotation.setOpacity(0.3); watermarkAnnnotation.setType(AnnotationType.Watermark); annotations.add(watermarkAnnnotation); diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java index 8e9176e..d559060 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java @@ -25,6 +25,9 @@ public static void main(String[] args) throws Throwable { // PDFAnnotation.addDistanceAnnotationInPDF(); // PDFAnnotation.usersWithDifferentRights(); // PDFAnnotation.gettingTextCoordinates("sample.pdf"); + + // PDFAnnotation.exportAnnotationsUsingExportOption(); + // Annotation in Cells diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java index f86e012..e8fc29c 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java @@ -24,6 +24,7 @@ import com.groupdocs.annotation.domain.RowData; import com.groupdocs.annotation.domain.config.AnnotationConfig; import com.groupdocs.annotation.domain.containers.DocumentInfoContainer; +import com.groupdocs.annotation.domain.options.ExportOptions; import com.groupdocs.annotation.domain.results.CreateAnnotationResult; import com.groupdocs.annotation.domain.results.GetCollaboratorsResult; import com.groupdocs.annotation.domain.results.SetCollaboratorsResult; @@ -40,7 +41,7 @@ public class PDFAnnotation { /* * document name */ - public static String fileName = "sample.pdf"; + public static String fileName = "source.pdf"; // region Working with Annotations in PDF @@ -109,7 +110,7 @@ public static void addAreaAnnotationInPDF() { areaAnnnotation.setPenColor(2222222); areaAnnnotation.setPenStyle((byte) 1); areaAnnnotation.setPenWidth((byte) 1); - areaAnnnotation.setOpacity(0.5); + //areaAnnnotation.setOpacity(0.5); areaAnnnotation.setType(AnnotationType.Area); areaAnnnotation.setCreatorName("Anonym A."); annotations.add(areaAnnnotation); @@ -176,7 +177,7 @@ public static void addStrikeOutAnnotationInPDF() { strikeoutAnnotation.setBox(new Rectangle(68, 154, 102, 9)); strikeoutAnnotation.setPageNumber(0); strikeoutAnnotation.setPenColor(0); - strikeoutAnnotation.setOpacity(0.5); + //strikeoutAnnotation.setOpacity(0.5); strikeoutAnnotation.setType(AnnotationType.TextStrikeout); strikeoutAnnotation.setCreatorName("Anonym A."); annotations.add(strikeoutAnnotation); @@ -453,7 +454,7 @@ public static void addUnderlineAnnotationInPDF() { underlineAnnotation.setBox(new Rectangle(68f, 154f, 102f, 9f)); underlineAnnotation.setPageNumber(0); underlineAnnotation.setPenColor(1201033); - underlineAnnotation.setOpacity(0.5); + //underlineAnnotation.setOpacity(0.5); underlineAnnotation.setType(AnnotationType.TextUnderline); underlineAnnotation.setCreatorName("Anonym A."); annotations.add(underlineAnnotation); @@ -627,4 +628,53 @@ public static void gettingTextCoordinates(String fileName){ } //ExEnd:gettingTextCoordinates } + + /* + * Export Annotations using ExportOptions + */ + public static void exportAnnotationsUsingExportOption() { + //ExStart:exportAnnotationsUsingExportOption + try { + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + annotator.getDocumentDataHandler(); + InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); + + List annotations = new ArrayList(); + // text annotation + AnnotationInfo textAnnotation = new AnnotationInfo(); + textAnnotation.setBox(new Rectangle(68, 154, 102, 9)); + textAnnotation.setPageNumber(0); + textAnnotation.setType(AnnotationType.Text); + textAnnotation.setCreatorName("Anonym A."); + annotations.add(textAnnotation); + + // export options + ExportOptions options = new ExportOptions(); + options.setDocumentType(DocumentType.Pdf); + + /** Export specific types of Annotations **/ + List typesToExport = new ArrayList(); + typesToExport.add(AnnotationType.Text); + options.setAnnotationTypes(typesToExport); + + /** Export only pages with annotations **/ + options.setAnnotatedPages(true); + + /** Export page range **/ + options.setFirstPage(0); + options.setLastPage(1); + + // Add annotation to the document + InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, options); + // Save result stream to file. + OutputStream fileStream = new FileOutputStream( + Utilities.outputPath + File.separator + "annotated-text.pdf"); + IOUtils.copy(result, fileStream); + } catch (Exception e) { + System.out.println("Exception :" + e.getMessage()); + e.printStackTrace(); + } + //ExEnd:exportAnnotationsUsingExportOption + } } diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java index 17de2de..3001115 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java @@ -177,10 +177,11 @@ public static void differentAnnotationsForSlides() throws Throwable{ annotations.add(underlineAnnotation); InputStream result = annotator.exportAnnotationsToDocument(cleanPresentation, annotations, DocumentType.Slides); - try (OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "slides-annotated.pptx")) { - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } + + OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "slides-annotated.pptx"); + System.out.println(result.available()); + IOUtils.copy(result, fileStream); + //ExEnd:differentAnnotationsForSlides } diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java index 1776822..3292ce9 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java @@ -493,7 +493,7 @@ public static void addWatermarkAnnotationInWords() { watermarkAnnnotation.setFontColor(16711680); watermarkAnnnotation.setFontFamily("Microsoft Sans Serif"); watermarkAnnnotation.setFontSize(17); - watermarkAnnnotation.setOpacity(0.3); + //watermarkAnnnotation.setOpacity(0.3); watermarkAnnnotation.setType(AnnotationType.Watermark); annotations.add(watermarkAnnnotation); From 08e584f486fcff608ef3256b2f3dca28480f30fe Mon Sep 17 00:00:00 2001 From: Muhammad Sami Date: Fri, 31 May 2019 10:15:30 +0500 Subject: [PATCH 04/76] Examples updated for 19.5 --- Examples/GroupDocs.Annotation.Examples.Java/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml index 7c00928..abef5a9 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml +++ b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml @@ -18,7 +18,7 @@ com.groupdocs groupdocs-annotation - 19.4 + 19.5 commons-io From 1d1d93781fa9c770a8ee37ce5fc90d58a06ccc22 Mon Sep 17 00:00:00 2001 From: Muhammad Sami Date: Wed, 17 Jul 2019 17:32:44 +0500 Subject: [PATCH 05/76] Examples updated for 19.7 --- .../Data/OutputFiles/Annotated.vsdx | Bin 0 -> 141166 bytes .../Data/OutputFiles/annotated-text.pdf | Bin 115245 -> 0 bytes .../pom.xml | 2 +- .../Examples/Java/CellsAnnotation.java | 35 +++ .../Annotation/Examples/Java/DataStorage.java | 8 +- .../Examples/Java/DiagramsAnnotation.java | 241 ++++++++++++++++++ .../Examples/Java/EmailAnnotation.java | 5 +- .../Examples/Java/HtmlAnnotation.java | 5 +- .../Examples/Java/ImagesAnnotation.java | 210 +++------------ .../Annotation/Examples/Java/MainClass.java | 44 +++- .../Examples/Java/PDFAnnotation.java | 112 +++++++- .../Examples/Java/SlidesAnnotation.java | 34 ++- .../Examples/Java/WordsAnnotation.java | 44 +++- 13 files changed, 532 insertions(+), 208 deletions(-) create mode 100644 Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/Annotated.vsdx delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/annotated-text.pdf create mode 100644 Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/Annotated.vsdx b/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/Annotated.vsdx new file mode 100644 index 0000000000000000000000000000000000000000..b166799f0af59c40602e4a05ec0f6f2697c2a594 GIT binary patch literal 141166 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�<;j}lz>>{eUgDU;WzyS1B>{P|V+9#OV2;~zElh&g0(mJSBv~YJsf&m=l2@qt zlW@!LHQ`%g4ELRTUGW}p<6f7u4~!ZCFy|A_MXEkXdF{F>aw(ae! z3C?UEXWv2XM3-vX-P`?ScwgRn3~88RmyOxZn-A}I_bV*A0ZnenX+EqO_SV#&q&2e` z0B}NNUP5|gkQS7`BY(p|Z2Uv>ZAZVzK8}?^!76fu-Fs2`d(KsLuT`h<%^P3w<80@t z+%o)G20BD|-j>dl#8=s(U*DxHa~8y@wwu^)?uzolr@N&=wZ73;It}2&*FSBNLI`L? zR0#Dz%y5aZwrD})D&G3O2YaQ{mB#8-MK*V?KeZbphLXyong8gdQtdx}vAkgg@U|L< z2E<24pLEr>E@8&85Th>+VnpRw$A*?M3j5+y0@7!0x`QfL6W>lf-QIGOAsF!NO{|=0 zP2?_u>B7|^rJ_L|pW~(Y3>|UWh4$)tIPc22lCh6)X2No(zpEY>-u!)OdA)(IOu$)V z&=&mLZad;y2aQN1_;x@qO!r)V=_mD5lbM+Ez-F6cxQl>e2IB!>Xq7SGi|u_@I>!1% ztV;4qO5thEIker_DoB=>nJoo88tXMZs|$-*lB2M*66T{6fboJ1REc#M*GSe+m8ISC`yhsT8!2}7oE))`1AWm-~IcRvv;Rak4NPG#J4#6GS5#z97 z%}ieBrc3ZRq#*V7nbZ$iX#js-`u#b-QTy7cP(!D?`J+hd6npzmgF#>a(x2+w{YB#L z7E@SjKX5Itp^Uvr2pOocdPN+u>(9jpoNSvt`YVnA0nS*#=U72K@hIue5D7gxLgv$O3s>& zeK*hl!tDiX=(nX7;P@n>R`q6xY>1%etUBfX%Jn$i>7TdVsc zH_ejUjWx<1{yJv;N2ll>|C%&aQCjMdqv*PeazKh<2{=se4{8rXiRiBWuk)~GOvvfT zM)xwHAJXr??Z&DyPkSpFN^_?RJf!|6*io;y-l5LS)4^CAAi0-^y%Jby=(NLiQbeq# zpgwVl&?($yOg4mGAeUPaV;dD$6THtshQyYx;;i#{7O7Hkp%pcTj7xyd^QH zGy)%3S=frw*YisK2`vu)fGf33%ec?O!A}zCpEVSLnW7lR(J=lzb2M zbNBXqj&gSn?61Y7M&?#DPGgKKfh*8oW>aG|6+&zr+ z@0rp2pD}9?uh!ro7B^E`E;=>8_vftO#W=bJYE(1sW&Z?cF>-j*Z>PeWUulJR^Jclf z_S#BaW3B(4OmX@r z^fH+3mKNXrF0LDiS}bAl3dZgELZ9egNfA2;z5h!^^8YD2h+FUu&3lS1iIfe{x8@BHcrQ7yVur?f-jpo`ce)hfUa^ zx{w@`=E;PTZHv1kt+Do-o_XY_OVCh?YCaj#Wy9Yzt;Kv4BzTJ=o^Q4Jqf6K z^ZxbZ*THb6clQg6BFg2A*0Jk?T_D|mbj&WV`BYFBB2pR(z<6c!h~91*<5|CLLy%oh z+vBYa07QE(r)aCC^ul=7Bar8n@`_3q$?qJh81RpQAMM{;=~MU)sz6=@0EP>bE~ zDe{9nj(@+sqc{uO+D8AdE;_kWXXjtX@*nlZ?IzdP7weQ{o8Pw|wdmyA2ju43hFFzV znuBC{uJ;+NzempEAy4-@ELtZi&_yW}x8Di{;vm`#Y!m?=xqW`m>&2rSjudg`@yUTS z$8{W!w!TTt_>;LDr}_R&FRlSov%crd6xdlg|FU0%5SC!I_IGR4wcP@;d^-0ix`C^$ zTg|h_sGn`LHb>n{^P#zmS~*irsV@W$Y5q)@kNGy(JtdIM|XLX z(3Xb6bgKS6s`KFk+L~!i14C=cHRdGeP@v;HzOKs`Cf+)EH~r~(cB`^q=HA9`XXa6n z)789E@pfQztI!zg9TiXF%d~Gu=&)(dlJ!=s<=}MH{6;kJC0Q3+ON%U<2zFo(hXvPh zpK?`SF2%|U-We(X_a+HGYH7$F8Qf!z65yz>Ya+jW`wisK1yF*ClEmX3dY)Hl+O>W-{S?_F z`D++JJeM{P+LX-;F<2D0cwo^wa5h<6tG9h3d}=G7Bk9Lru7{h6G-@^B6KYMg3txd@j(|Xo|SLulVd11Y0^OGv7 zdH4^}Ez4%^?jw*-7On7-?wjH4#n1n)fmPX-qW%qN@(+EF{P=*pTi`5^aUOmSl>jNfm=R`4pt@CPReTziB!Eb@{0 z0B~jedkRA`hUYD0H6bv7;)%bC5xKc9;+Byx;Y9?KS(l!*A*$k_o5&%H`y4lfDWe?~-wd*z7rysX8HR=gU2 z#!-bnZMS|;vR&tZPjea`YfC*}!o>czV0+&FomLYlWtL-uku<{s3a7E~T&({&_qFfs z58`_TX^npr4q@ueON$A3)=pZH+t$FDSkUvaX7w|*_nhf8&=elkdTC5np~ZCRsKn{x zki#04oz$J<%Re1-^I@Jv{Ya)t5a>pPZ9kIfZ-@Ws@dYApkHm8{e%>xt837o8F9#OZe$K~?jk%@* z{?W;rp8)1XjaQIbHvMmDvLf;Rl@s}w-roz+Q}CY&2e>u*c9kj48}&U#`dGiqSpXiR)f|RT-E1itCo9d*7aWO6x$Krg2-xZ1Q;U z>f>j&CN*T&5~y5;x|QKl{SL5WY;`m})CbUEO#_Om#bxP)TWDUCb1JbsSY4ss@O zoGl$kE0n&eBJ0D0^MaIlG_Df!`jEu+|Wmk0p7as8yr6)9BFP*PUE%BRdw+a8ghrV7s<(Ht-hy@R&zPA{>*(=Lq zF8TOn!)0?71F8C^05*a`<-+!wH%8>Yfz>O_bWD97!+fyA2Ym$`FO%ZSlh|^ZXd#fXF;7ginC6s?lVj-=z0BkkTNk{ zH?^RS`g=@)|B~Ss0GMRWU-D3~rFl-UDoLe}(Ogtrr_&kWpYk^QU~Ry>B3*}5@LWQ9 z?+k}i3GIwc7dI^m&qPJ(7sN#Wqw7tEO9dd9{R)oq&Z_~wU^bZ8d4V^UVQ_SI#=(Zd zOY{w+^1uI6e;;jO!B{>;-t6|NwGd*d@^4)3++I;lvOKvA&s}OZ`0ecbG);k0aJrBE zO{o!F-0`+W{P8diuSLtO`)>1|WweQR$|bz!Fd~C@@kSpRo*_w45Lh?(x1qkjV`9Q3 zx1p;K9G(T~44V3OD%H`@!`@tZl1?PvqFWOJA=%RE#MN<(urW|A@bd@fhz>#YyShcG z0>zxJY#U78_13RS{2sgOPyx1t zR20z0!QQ*cL2Ai{KXVkffNQS~tA)Y?MyQ0A)@k52D(Bp&38osvNq%tlA?V6DfF89m zkt;%!i~CS8PT?nU{^aS73oiGw1z~K%hBSqO6iIe3H`VM>kzP_!B74qe4Vd~bE9l1P z#gV`mf7r?wH|r-D?vinZ1GxKPL#t^TNx(d+-+d_V1-qZ3ci*6{S9OhTR}pCpDA_l4o1cYFLd8Irb`x_rvwt zrF+^Yah2Od<5<($jZ?lnjpvR(MJ`^)GpPcc=`~uU*8KCwcQS#w8$(D#SRYbV+jk?A zg6qfPZMz=&bu5`rL??3&Q@OxtYSOnD<5w$;rbwx{h&Uq#Jgx6J)SjU)2oiOK)@4=IaL-uxv$Ze ztU#*O_BCb^GcYHqCi}I!gZ`>OJ1QpYvgjqwSl>Z713XSjX$UKny14P&6?&inwIcRJ zdgVMdoS-Pv2C56E4KR`-v*^llI&VRf;8Qfpr}P z51)Qa&$p}|k}b$oeU)f?znp*aDn0bL~ zV{p&1M>=LTd6){Jw4?7HOuK!4eE0uyfL!U=4!B>0+(AOP=Rs1p2BSm_JS!|~tvwfVN?#^SGyJsf!lqH@;#GKZxbP=2HF(Y!{%0|KQ zas@Jft#&P8V~g>cFpDb&J0k+=3OfBFKD$G#GB1BdERl#ix5jTGkt2FTON5_&V$A|&U z^+b3-dx`PT&J4z@NF!nMfyTXD6q;jbpZ?S`*`X{yf7wFvy6=`>YPo4~mN)zHaKZZg zXHXTQ3yzn!8CfuEAu_k08L_zFL7g~`4Gw&9;$omaGt;cK?K~OMmZse3b<=YZ$m*at z`>9zMyZAiKmy`2a<*Ao1_7Z~Rs?zNj#Me+(Kb_%<%1mqY_de8wJ{V|7F45Yl18M#~ zFC$~mp27y^e;jvg^FAjTqOOLQJC)-W<|AzQdMhZ8NG%61HwAznJr=pAvm}g~Ae;P3d3k+*>lINMjF=~5@PxLkgOsR{Kg}d4pNLCxUIA%SQ z^dz^r+SZ8uWl|IMM#-5S4hpA84yywX}udinzG=cS(2JxLYY zz`9i>+qym(IT8)#eKGnvq;E^75xi(ybLwMCm~Y~#Kk+o2tag=c;nQFqs;;~i)*$Ir zB)0977EO)U%rU~vvq50@NMrx#T*#qIP=TQ54QjEO_34X(@y*stUqVe&m;Gh8kj)0= z8y1-m*m;Ny`eP4E&iArr%Nc^7sbrCX)+_L~t0OZmc~`TCvBUqZib{pF!l+dbh>~vl zKcIGy`smy6B?F>(D0(xJ#fng0MeL4p21o!{Yz_Y#fI9J2NvDkhK3obKZjvCx`Lqi3 z&AjCdE%Cx8@xm9x_I?pfTm!FpOrJQ>l+C&Q3%k)kE*SSscVhXHTo)p|-`Pd_gEU2a zY5tbYni5Cx;>~1sRG1t}j>30SAHpSyK6VoLi%Z)<{(W69f3NHDJR@6Emlm+)(Y|}L zMEdKy$ZMr?%QPF&Q5BQorC zEBn8@__p%aHL58mC`d7r(`-B5zP%ETViVd}=>PuP5sezG$-US~FfC25Q?WVnh3>x8 zZ_*T0T<9aeZ~Q9u7YVbZ)dF5a$)D1Z!6YXFu3PZhpP*-C(V&rnf*-8~zdIJ_t0%@}y5q;JL}9)>Q4Zws>fVXd25!Y2(zyvRF>{7+Vl`Oy!1 z_XO;;#nQM{7p1h>OqyJ$4^^uCe#Ozkd%Ony0%H3nN%`m{iE%!%mH!VgMw4$&I^98)%zMddy*7Z7 zIO7tKLz~7I6h_t?4I@Z8CP`;~nJYVwUCXuDn>mw&Y;Aj)H|_5Bn137%XB9Nf4WHhq z^KC9!bzXiuELcMXMv`M0ZLIjZ%S%HrbxpQS`+D$^>M0QzX>*SCJR9gX|EbZ$uciaW zLvA2O^h_w>S5h)VdPL_E%JAr+p3?XD?o_WvRA{q5K|@#c3lu%w6s%*=64hxcTnRb; zpd@O@M&fd5-AWxbI@CE}lA=#_zY5xN_Y1JfZmocVMeku18yj~p_PB0%G>E8$i^*lf zg0aqWahc5V6k%vVp%0b$JkRF%1*vhvqWdL>Ty*Xw;`mBV>9pN6n;B;-zwX3a8PU7mu_?AD{vtJ1>$^c zkRZu(3I3&3h#UaF9`txfQz_`haI-TZ2Km%zyl@DUqug0%p-0bRP2va)OO~;p*@iANAEmCp$#ryz^2F zuhTiNsEBxy&n&;Uj0cv3Xj(W1m;%NU`ptXm>Q%pWlf!YFwjU|se5bS*8W^YFGEQrh zx4cmOCa-%qmbGohe@llvX~-`w&M{G^)S=sPThG{4Z*@7L(_Drm*CVe$qpa^X*2cPB ze(LJ-!u>H%Jd4UP>*wwj@lw<#@M?9V)raaz;Z)T@`_z%@J)Kk0_OE5Beo&Dx0`$lx z_|O&F&?itrBV{Ge`|y8`O@|9HSkUIH(v%c?r0-vi)al7n%Ein-V0%wl!lNq>q?*>+ zi+aVBn(5zB0XD&OHjPg(M%%|*zu2!#}D-Lv?XGzh2+_#mR7#l!fZw2Kq$o&QC^ZS z6-eJ+JJl@D)A#mgDqpnXS9bWx&hS-STrl1*AshatSwrumNvRC*pk#OsAH2FuagVi9 z)a`O8L?6tr4pDolJhX08S=e3(R9loVDv^Kd`KO3DWU|NVW+ss_Y2=CiQlEXG>tvc36vJpfoa}(;}d+ zZ-Q11x)LzI?RjP$BzqpE$>sNY$YyO~PMmb5IhT#BN*vW2?Nq9^Aw!MO@jE+=H+49` zP7An8>mJk6kqK|#zs(%%+2#n}P%T*MfB4(NH6~sljMsIx#mj!WhJyHAftBlgXZ1xp z)^_Kxn)XrMVFM+H_EZuU5wQY55_4w)uM57iZc*-*3#YG#Jwz@0v}hm)J;^Ms=2}rL z!cptP;hq{V1$izb{VI+_J<#t?{5>aXD1pk8m*VKiWnzfIxI+KYC6$mV(@nq+zdWQh zZ6E7QiA%ZQEulNp)haYJ6|@A>t==dMX0ZqmDR6vX$&Jq3lRdS1psP3OG5Og3fB}A3 zs;7%oh-`rTfQzb`V$>nD<6jK`i z8BgVNvH8#_z5g_y@{A}LDU0D(Z+8F?Q+Enn6-b+wc-gE9m)d~cFVE{6hcI{FmTD%- zET2AwhyC+m!HZ zP}q@?0jEP9q-ZXZ+NyaY=oJy#BNqYVB4;hAPwfEY7qfISCvFm6D;lsG*W}vDK-wFB zjqGAHq|R&~jeSd^540^WSO1jjT5+t@tsVuxfzmD(s8}11E7O|#M`r|TruZNwhDs&P zUym)(@Ysc1>_oNv|4oNnEZXY6>HpR$*Plb_b_cJJu0o|!*JY?w7fUao-h8I70q~z{ zkxX;vk@FreDWN-8@x0<6-3NFSmK7#69USwM=2oAKYc?Xn3D~e)@|=x$r_m*s<5oV> zQDrYg;Z*Uk?(-qU`XB~ONb^p&;>qsQ({VW@_e9z~Hi<0?$uk+5*f_H}Ro6cN<^l{C zqtP4vGI=JWF)q3qjf%7$V#C$^Tsnc!!}W71(v4J63!|*X8H$)ms`jeVbZ{q4n5`>@ z*)lkjy22U!lP0pgLOTf3L4EOQRg7nYM=sMe=p$U%d$xOvfhj|S$@6nafO)q`@sbHE zI^EgH#`7b(w2nJ?KJn0ZOO!OYxd82vQ6>!5RJMVMF-t|K?>QPT!>=WQ+*m&-3Vo8@Pr^Oj#OY3Lm1PUu*mX!eP#9jlBOiR|#_Goz60rRa{bVtw# zIrR_6pEFo_M0uMey7;gbG3i7(I(Q6fhxtRl{~b#(-abutoOk6 zge&t1eki(R5ORC<|r4aw3{;F|PI z2elr3{(AQvrr~;BU}ZiWM8#+oZL?Y||7h89%T7CqiRBAiI`!H7Ro+;8nklk{cj-4) zU&?Kb*sEyBWAc{Fn%yxdl8dl({}{|Hm{0<6jvlmXR#caGeYb93uE%~rBggkGm;O%R zwdY)aJ>0F%;g>f=s&2J3>M0-0J2tYTJxZhk)c=?~7z;hnQ0*DLGig$;XOXH_dOXhB zw}g_?^`~3SqX(?k0i47yg_14ejZ>2X*Gp)tz~x@_M&Pg^bKmYH^%^`|aDSrsL5j#o z>a_2P|3yRDp_=2yBbF#lUC*h_;;ckXZ}oP`*{7ufpH@qj2UNAx>!z1C-cQOK^`D;P zD0fVG-;|5iWE!s+!{lZNw0JIFXCkJx3R3%$WS;DOkb-SYSiesEx*&A1GuCoRK5?}0!K%VUHWY@a4C_It4-uxU0USOQW=7&dn2{qK^nlA6?25hnR=2!S}2%Yx)_ zH!m1~?DA3r1!u`0I+)dN9{-0w#lX`FzlDzeqnpssLHcSJilMme)(qv*c_OnRNEg&Q z*Ixy^eYQty^sxcCK-|*P_`$W_qTemsYK(63xjzwmuvB^XSdqV56=pL|hMocH8s}<) z;|UaA;F;QV>3KdD;_9T8A?LO<0(Yhv2LHCc?vefC?CrdSh%S9+^|ew46{O`#_{E(f zp?gruUKi8^Pp23TIK>UD6G{ya*1LBnLCPbm1U~n#6%LxI*K}2$sGV-EoXVfpVzE^t z6;N*jlcQ0CQH5#!taBY>Y(w~9cYF6BXMIykOH;ky_O`2x>ymSl&f8~N(w%e$us6wW z{hoy5VK+Dj0t4?k2OZ^{f1`MlY)xy=l%g|JkHa*%twC!n@A1?aBJN2`(!6%nxCwRf z%)G9CeAmR)B2e2;D17B`dh3Vbe)#$7=RF=PX?B3!_~uwhaw~o-b+OT(as+%s;LFeD zq`xt$j~|P6#rD1rI`vZl1p6(i@cXyXl$ItBN<@QQCl549)*@*WKQN)T>N|G|FFdiN zy}pEJlQKysvG?4R^=aVjWMcNrXo93&-DLe&5o&NF)eg~Ki;!M#Y6JS)IUa zY%o(;5Jy?9WJOXJ?22Ey#pt#sDX#b=0OWoeJA((qr;@9reX4NW2Mmm#b zupe%DO1Vyx`d`%NR32^{s=H?} zB@?zaWHHDW;k=JR===X`dCoo`@zb(mvgyqv4R;g1G5&oBU2Ya;YFnE=56i&~BKT>$ zrnwiJyI{Lf2=yN6QId7O8m?0&po6fIStWd%aXUAo#F~ujtSgmg5^Ag)&6Z&J=!df4 z7M*UI@}`;WbOFseY;U-<Mc5d{7z8sp=INM>cLI}N$cR4%DJik*CF9YK-?%k&XaBCvv4>v;>b7Bv zIJgVdwmY;}J_tsZ63ewqjE$$g}q zIb;*+HS%;Z<<|N4W{vV`zk&r|1pK|dLXbSEGL)oeYj21%BK~#9`G5EGT(k@aKuT;4 zN;Z|KtmED*;ds9iI{Pjc%wdK@aA>KDdHbT%Z)!hSdCv%x>^!wvzjJ{U7{2-D$G{I9 zyNPlUcV9Zd`CV%IE~^RNE_)Ea>vVD>I#{pAWGqN|(OzJ;!$EEcu|>T@94sEjP_tBg z69&WIXCMzXgx0zpCibrS$qL;~S(OAD|6K74dV8%u7cjAd9Y8G4^ZR*c5+@uZy@=!D zpI6)-#=aXz&6>u-wi)?ChvG9R8gQGdkelIOfC&?A%(lssF`3+CgLD4lH}guDAB6FDOOm( zKHICUD|@W@ZW4Ciug5CWXiK4%xPw?(VOHZhWHfnxfh({iF}H8d@|T!OYKSxMG`D6h zt9Z8)r^4UTa{p4>LDKv4Y1sug&fXJ^7S-2~dywCyeSEX7JK7eb`co&|YMh<(kq&|+ zqc4D$cw{)128SUcz2;e_*I;)?IX0h;dGm`w(d+YgV=J7azqFF?aF08eb@B(2u(z>2 zJK4oEMWnp8V3wv}s$*^;WHzfNIxWTJB@M@!*O(E!C!2$nH9;f|YLWYrAgfEj@|V_h z??o&dIjifwXsEtyB7y~yemeTc+6cJ&s5v%u0ltH>-!}=&-6aW4cK+kMm z*0707N_TiS3XAG7^FKU}r#$w#R;Pr2^9GSN2Sn@Fshazj^woUX=!?O*kolas-ub1T zHC775>;I#JYV@fZ+CT9%o7t+UEP%GbibYO$>OR(|TaA%Y39`A;7m_{-O~tMXv^NK2 ztT>x10_>k5M@(qeqxkOx;;^rk4V-*Ks<^0Jc*nrmivOpp-u7hW$ESVmRpF4Y-Gy)Y z%ndlL^(jXR+3yWRh$*cvwNo6VNFq!qfpY1u-G3Y7)l)o}@B9^({7>zYL#n3O;Jv<0 zRwF`q5Xa;4`~I`3?=I#lxd74m$gkHPxaj3d~hOM zLq!;{Po_3o{#aZVm4$lkm3c~3_8XDKv{9v5Y$0=Vm;6gX&xh8J^vr|SFNP<9bAH|W zGkten;j5@=ehs@RsoB0u1t!=w1{)4`EH9#6Z+g2Bw(S(vC|uQ#0>hlOo!Kmk|C?|; z*?YEivH~=-!RgWA$?#tn;3)I8?OgYe{nSmaH(HG~nJmT=3wL$t3O6vWrvv5)gVP005bmKqoYu9U9wuhZvs+0WWSFE;$fW ze-BOL${Y~NR>Tn{A=}NE)XvPb1m0JJZx|J>XDB}mXWw16o)b&8dV8%kL2%ciqwEWGW$)NVvG(uZ)>k{pNCmhFg%*VrNf_F^r(IGH zl7IgejYJum{it$t(~vtAtbj8B7gj;B^EH-ROT?xlxAPR>8*G^7m0=hs`5~@@zI&b% z09s;>b`TUGuEw1#=bR2oSx<0wr9*`}V#=mp~UYL-ncY7eoKvVnmDF z@MD;GXDd5xWF}EZ<^*UM#6sev8{*C5)!56KO>PkJ+91MI>w%~510WSwo_OuD*( zI&-i6SC^L9?;FgH%&p4vA65NTk50q0+v7ZAmsTERtH-yi_L;q**>IreqI}7Du^n}i ziH&4t2Xd9ObiUp;p zs-3+!mbCr4r7T@C37vGHh`rszXJYJj>eZnCvItr6^$Nct`IDrXZBkvH=CM-RGB0ic z4kRMSF}moHHE?l3K1s7~A^532X)+vH*h=F3d}uG#9dH%FPC0#(8IB?tXwN&09$>e5 zy)q&94)wFH)Pgxwl?su2Kl%_^ivWIrk9}0(lFxd-cd%>Y@RlF<5fj&M#sCj}D*a;5Cx*~p3oP_kvB@Mu za&(f-3{|>Q&!k*cpN57TOQqYMaDBOd!|2^59xYHx_5%|gx1~SS?C~dnqiCBy5u$^6 zD0t$D;~5Ax&na+mToE3Iy-?{jYrA+Ql8PfaCx}P$+jhX2p>Gp@yDA%DJdPYhNJSOm z4-n5Ncj5oXLbl*`RA z-l|`MAr6!B$vm9qd7Wz{l4lGBjQ@T=2?i0$G@5H7Yl12(TpX*$om`W$N6u0b4{=*@ zOY>9hlZyiB3()DF_Bm;C7V+XgI-PprZg>z4)4L7HRPHvKng)$2N{Np)gK3#0+KqLS z0Oth_nrvU!lW=ZyW;mgcVP`wjb;D+IolmuEzeL3ZX`{zcyQ{P6-y*Z@d8*$*RbQZr zXM4nJ{xmJU@!v<&pqSL&a>GMO-Bw!->501Kq4R%qBsmIiX_;U9Ag+g&TD6_HKudU$ zCk2NIh!RC7JDKSX{El1sC-hx-L`Z(Sgq0fEm_;cGufVUDeg6Y~A~ zowTUBfvt|uPV4>w!`WI!d&BS6hW}QXa(VJsqL+*M-|ZmpnfO{@a@Q)`I&W+Tl&jem5Xb`|Y)I(Xu!4Fn`>7w&t9I}#iqR#-O#K0U-_ zlXNehXRge>(N1)iMihQ*k$CsgYNP6y#Rv4|5ZiCM7d!vyM=npWbHw*S`R>v=Z%(-u zj$~sKv-REsR~7uR4Ssj|kdBEHIq7kXYn0xs?rNFBemJBj;fwZ zbk%q3?m}*yD!d{mYe(3OI@fqz)YX24aH09&DuZIeL=Cz5Lfk{Nb+{{IIpl7Kq6`bg z#%sst_jRxx4MlcXL2Z+=^H8v^{Zz?tc@fmK9f&5>jmB+n^}D4(6fCQMF+ljc3URI; zMLO!#QEqbw>v%fuJC+BnI$d1QEj^W3t@r!iA!RKilm5H=4QEAsOk(Ku?l>iav4prY z8e^pOhlIFI?sz$w@vZKm)w+h#rI@A#zW*j4N(h)~`R`4ZZanV>YT#5#*fT7$-;bw! zq=oB1cF}lE+@&hh91YL`4Z2n z+G*E#m7XOsRZ&SF_7k&J5hmE5$$RWN_JSFXS~pP22EBR|=&7|VE(dC$qX~-;P-=_5 zP3W_ubl)^i3Ez@gjhsH#{cj9O@HLr9gvCN%bH_>x}X zTcg_shFSI|J_oHm7(Y>-xtm#4U(gSghcdu5*!1se|Jz zl%v3_t#JpjZOoki8p}&kewZt-;I(9Y##Ih22slB*ACaG?8W*MOvs$DCmq@Om$mLXV z>(3_vPNOC4C;G=W#(@P#0~KigWW#k#agj%ID`+32N#&x>-D&_dpiv0EnqonW9AQEf3PDO?XZ&U)qh}Q9{Xv z5};8p9p)Y{%7q6o6)n;S%D_#D9$joUIR_uPwlUoAs@_Cz3=-%!nwdc=i@y~C-XGY$ z6aJo0mpT~l9;LN#;@%}72{RT>IqfP9!(QteDGite@5X~O+;8yZV@}q2hZ%d2!%Xjr zy~Dhb=glZ7&}3^) zw;;w%m(Zdd>BeOL8qiyWJ&^N#RUww}bn-ve<=OU6*qisfehOy0b6(R%&jyLe$l52> zPOg3P^P^w}4Uy~+nHJdtT{pN6@Jg$KpVSievjSF-EOexcKHEORhiCb*$bcS?ZzrS& z7P=hu;r`lB*Dr*ayq|jW(qiR~Y(YAOuvzX>Mt0U(a3P z8u5?|0?e!?-qq6G4-7YQsH>hUe*MhSmW=Pl@?cPBctbgr6Ue{E{DfKXulE34{I#Vh zxO@Z7zBpQBW9%OI#Z$TLIDqR5C-$+Y$Vot?pWtc&QoQUvYs1O@84NaRiM>K|kS@qw zbhxG|6{H`sIITB!@%iS${Phl@wnaIv`)1ehWj%LlMwXoI<_*Q}F4d+f9ec#GX2n^z zlMY7r05g*h+Lylqw8ff7l0ug)Eus12m5nVvHZCy6KT|r+EZxOABF)wPQs_EXoB~Q? zV7znhoqkMH#nypwoh`M@)sigTFMr1 zM@)pL9yV^D`v7t@U%!ikmY6$+!&+O%vO)T`(EB&QvNUhnXK;Chjk=lwJ0aO%B{$t1KAvAhCy zC&Su8u_7};IHw;}^OdDP0Obc%6c}tCiv9HWUxxnDG$ohtH%z&H5nb%i<4$AINchi_X zZ=A)(o8~kn^~d-A(KT`P?FCK_z2(|^Yp3C2&TGcD%j@aVdIn59k4Yab2=Dh;L%K6F z8Yma%E;g=BBGSUIdg4AD|2;jI8nc)fu4{aMyw56(7-dsEtF5iA`^ADkqZ7u`tQnP` zjz=9O)3WH8{?X|@V$(uTw{CQBD$JsP*y_)4a^p@;UryKkr@Vu2-%V21bxb5=a$o*2 zz>Oz8&%poOZ{l7b8oq&f4+LwwDYA?Vp!)O7@MLkMa${idbP(n7WDQj%4*oMVs@XlE+Y?rY0V~l88 zU}(HIy+cjhfVI-H4aJikqzllM*vgW14jc723Y;mprDbEx%kBKCFiW9R{qE20Y?cy4 zcLRwv?B1ZEMRjlx_O8)$-P+V-AS%c5h)e=eSOTfnE}V%32@{!WG?UM)sdyf_PMkoH zVy>vIt1ZE|Z8uUtbsS(_MlnxQaT8eSd09_HM0=e98SOaYR$8&jLkM!Z(G5z;wf}>w z^A2b8f8Tz$YKxZIt1YTFwP(8QqNtT1RaGM;_Lj8NUbS1ZX6#LBrgl+ct5w9_i5VpM zJoo4Ke1FgJJ)S>v#F6_C_j_E|b)M(TIbT--*I2uvt9Mz;E3KvmW;dU#4Y4SwH{SI2 zVbW2#hvh|G!w^_{<~@>Kkv8W;XfDd&ZPWycCh4V%&>|3r4sNZl_BJvJET#Ge$q(fD`uW|OyQSwRf$@9LwqK<_-W2brv2G&zPf zN{uy^)o!skKdtEhaI`(M> z#PbBYiG*`k&xi2f^#FgCB2h*}LFWPJhW{<1&SKX{K|Ic^b~uN4^T}vyn-tond?k5k z=JdmUg3#mm<*J96lqy3H3Au>qxjt8N_I|iYi+!I{N}LA%r~A#Z9})84hjh# zCOJqK_6q5Wz*bAG!}8eePR4x5^xxqtn69$ z;g+G&OAG3rFMxsF$+^{1BZGQ)P>NnGh9PUowg>rdy3rKh@ViMTfBuC!SZJm+UhlK0 z?TA##mh-Q`MUv}SAKR+itTQG{u|Oc@^iQ}-Jq#vs-8Sq zp1hel?}!x})bppk79dpSR~3QL(fjTAjtV`5;F=HSoteGz{ZeGf^w~!sUj-S>{_qMj zvp6_A-t28O^Ior1Kjnrp{`~lyF#i)2?TMsn*1=j=RqLLDnaD(;&t zWU^+vG|E44_fEg%S{j^qR535!P{6>dD{Y5+Fsi-7kIA(?Xyq5{wi49JFjpFDUgATx zh)}bsE?tS@db*@6*DXKbE%3I445jAdA1{%1YAner#H(MymEi2( zdv7|)fgKe!rIye69+{ONBeMxx@8UJ*;$3@+7Fe1hbhHd>kHnncVtl zNUUscX_UGpRHvo+$8)|sU#EOQi1|R_i*L!=icDY3#b5S@#muKM5}I{Bwotz<>Y0zh zjHhe{c-^oya-9Y1=Dyk}K|}X=jv|la$e)lOuu}}3G>e#N?qfd!_T%o%%dw*wi}&q9 z-0Vc|*ZAYOt7U(4amw616sl$dUC4qAvX*#3&g;ButYV|r#-z?)+dGLl-VeXsq%HDWqPy^#c8b@9 zdp-R50h|i8#ZUXvD^MxxzF$^SogN#j3*-TD|1MNfwGbrpMl0Y?{`97i!8?bWdbT5P zldUct5^0yrR=4~`(~9f+FP_w6Mz0X&hunV|J@%{qm^+F13Eqy^QFat*F?cV%VO*Rp z@XWkiaf%Y^c&<2qviRw%FrG7u5rWRXP^o z7rmW?YR^SO7k5O~ek2RAONETEigM(=sp3Bry;#A;l&#7X!|wJ4Xn z)0Wz#O>U@OL{34`_;<1+#Z@8A!nlug+0lh#3Dq~{0ooC`(Xqb;wNG(Tvxu#$x})u$ zo{J=lWT^)aRC*VpsJle!TrjKsQ&eBPcYd{5_WW3FO=gH%PPg%%$^M(p=4$eH>CkDT`Wga%9~uRgv6JrI=Z+#3AKldLTPa*!f1(t$k-C*+>iki|8Dq{|(?) z7Z!R@T{)Y__y)0IxS#R2(-vPLE7>k=%$D~ssR25FBB_wLXq=&;4b_QVKcG;P3C|92 zUfWBHiQ_9~NAsa4CqNKWop!J>jSJJKtI>l&ZlWh~(>UnO&H4wny$7O9YNu|sNX1n- z`vt<+2+tFzos%=3B_AINMh3JIG3&!p0rH;P=_Idhe&bBVa;qCvs;o0pjY0Cc2txnk~Wx0az#UHx+t^d7!^<2h8+AHx9$%O^=Z5c8CWA z?O*7A#?X(=429FglJ1n6+39uPos6P1jZwCdKbDa&?WUPR5tZS)=sOH}4v*9hs+8Bc z)P6?{(Jf9DjmU2VC9BlYjyDcNv4r=j5U7PB%2978-$>uc=vnc{;^GTNuf!Rj`~>_= z6+f|Es{b7fLAnV{8-o2W!ao7G8KBCr6Qh}#Zo{W7!NU%P=)%}MvvSPr@j!K{TgWq1 zMzSy5By3Jh?5~5E!JIO^*=+Vd^zI6$Fw6~3SF1Xn!o!rLIc&Ihl$7~)nBuD^Nnrks z)7JSY@7#8fWiGiYsGz0TI3tDfayyMAJKj=8m{OK+lLP&FbI{vcv9>vsB>$tS3$>1v zn#dQF%#bh03!(z#*?JD$CUtuOFZmwjrA)6kW0}dh{?H;K)dF)joORtTAk6~5)*;5` z(8&1f)#?nS9#1~EXTE4=#?n#5l6K{`OT^LRP5%QFKmLfhUO!(UVOWIo_$9@>R#9ry zJp-iova-6Wrp83@qD?(I=5`O&#hBlz=T2JANx7uZ1Ft(cOIf*Y9Q%l&pW~XNWtJo) z$_u-p-sD)PB!YOV?_L_hC(dzw<`>nEUmHDc8#=D42k1R;yZyYH3zrO`HDRGeaVKSa z)LgGcSZdu&b?&eqEkvJm|3R#`*!@MSw;EI>bWbN7_nVY4B_9IN)Ob(XFqa#;v@CKY zL;qe#S$^*$^s;{dPLJ6;vK#$y$)rhU;?V+l{WxBeDeFVAoM_tDxxqQGCiU`{Y?Fu+ zJds7erZ};7%B-S`=Zsyf?{RuWx}6PC0Wq!)POn@;%H_kw#@3jws9kmW^y%X@iTTSH zOgJoKHa+e0K)?A3{ zo0ol-E1)(gI=EtL)mSr6&OrL0d_GGC#5=}Sv8;Ueh@Xp5He@`KqkTN!EO;9gQTRP6 zs|7^S;iwoHGR`nn^m5lxf$>b_S1O@ zmvtOT+@0VN%GQCJusMT0Ptue+jthuE3!t!nF0j@Om@L|cn6zPN+|y{-JO19l{~2Y_ zN_#nSxW%&8AUiCi!#kZcSmWg(JgUhXD;x!JVUZ@^S*+)|8PlQLTy-bO^LSNfX72;p zifpvFp>+2_p&Tj)e73)_>5oV19qd3$2he#4hAW>-57))>{vR&uhCIbq3aU*Vnb}OM zU@$!s(Q*Bj40`TE2*=Wu+enEsW0pqu;zft6d`k+Ekm^E@$I(7|tSG3M|Af zL|v&xTfxThaidcPT>5D1>&{M2#C1bzHo?NnM=zO-f`7gW;SyhsFm8<{RIejYA^q!% z8_&{Bn%)5|+7Nk~uidk>YKY7!tn_^E74n~aE{I*(Nk(z{oA`+HbJ`o%T;j5@2dH5& zA*7|XrpTAOhLikJ$fNb>@j6VQRDR>wodUEKFMTh&!0at2{ZA}yzq*CWLj>!n1rt$^ z`g?&cxB8y_`Iv(o=HcYBS0i2Im0%HRu7`4_yCyf;13f=IsJbBId*{>E7Bt^^l65>- z%lm`>Oyl3(d0BxhokW)_ITPH>LQQ6%iCw7A`Xi%Ik=PWaGeXqSLJ+iKxYMxHAR26- z0|d@QXL;zpO20dL;^;0!@40Nf!m`BSNrKr_Iqj&CKNsJo`{3RK=yi&7z|ta!XOn42 zuQL)AccZJXFIP{@>@MrT%jrZuly1JQHs9RTUmT(T`o~yZ)#Ie%OvT`a&q1>h zrzR{vHbg#X_<2w)ia+F+jgM3@)uzRp&u8<#8c-^`b)7T$X4*H?YF?S+WM@r}fB-M0 ze8(LrvPvH-|Bp;Hjqian@oKM)t=5(ZfBZ2t1}(mEQOu~*@v#Wh9^)!M}w6!RbxSFLteUVz}*+kF!`?1vidCPLKi44@Vd(BCWv6*rDF_muE>i z-l5u<*3=cJBbYqboD$J79wH}NwmL`J>GT;lU*lGYf&Wq0DB0M8)p^Ym>SEj7W+w{l zqmtD5x2^L4Pd?}L7+JLHqon9|LqjLW(N_0LL%1?KCNdqdK8 zSGz*;Q5FSLR^J|1uoqoiN|w>IN;1}%vM~Crd%J|%u!!-I^!v=;5s4cUCEQ;z||C^>$8{Y`Cpbwd=8(&9jkf>ss zr3*L5dzQ!GYMN-qX3Gjy7Dq?myW}EnB`_2Wh0M%N=`qgb&+6;JJm9=;GqaGvKn>eK zJF}d4*4#IJea^1~JP9CN-fb8YE^0;A8P4lYG8MM>PD_v?MPdt$@C{IT+-|cD6(5(@6b{{OOP6u+QUS z{QP2lbu6)krgBRaC{84uZ{CQ(>MVHEiWqBNh2Kr`DRH1z08e#}%00PNoxT%s{Yy1f zs?T*J*310yR8neLwJs__A^Q$ft2Uu+hM`RYqPDgaVDDbrlVF zyZo-VJ-OjBR_J%F=&TfyHbR(o>vNnHGu?;5# zj^rG$E)!y3A~JrOL&JNk#svDBUO8d^dZH;*jBdL`Yn2Rz$cqta?lw7&q{ka2zCv)D zKZNGB8J-RF49k@}&}lO#g&5nw-0)n(x%k$tL-+ycnMv$Zp`oPR@|0gs4gQPG_^55+ z?C75hTcZ~4>pTpGnP$8eDs$gt3;lXc?&p4ryb?}3VU!$z$}G-RZsTIIwlqu`-{?J^ zpZRy$|w=k>8j7 zX#cDo>E6Vd4U{qomM4$wK|CiQr>1AEoCC$Zr4JwIY~*^)tp0O>*Q+H|{uj%d+)nI= zJ0loqkgkM_uT%iW@mb-ezHLkb%<(+WIJgLM>}ILd;!q z`pzI=ljHrcTT^^qI5qerOw>A3>CtTRmAFZ~G*O)ucejS`?r5z^1ypkRKrp5IsZ?n^ zY3kfkgJsaq@BG%$9`yds_XOAK(X$Ud(}vMAg=J3bnCx}LLxLv&{kuN@shJOl!c)nsk?eD7eY{(6e#t4Jq$%0s9U4v9_#bJP~RxIFiy1r*q>3C@b7KUIqhi(Wh3Y}-suJhFN=CYi6MXr}k z!C_e!{r}BFbD~Vp+sRteaj_AN2wCl!qWImK#d#Ll&}J8(1syeZ8p}SN$NPV2ZgzuT z9?KFe|IGFQd_f1b;f(K8y+Zh;=Ep@^#YLYxRnJ!pnxW7 zygY5}M8yB~-t~50Q&?U$u%DCavhk~;Q}$umqxb@`G6<9R%JpoUoSx}N3v^apj%vC2 z#?tqNG?{htie4K%*x?&Ho$2xgZ?LU&-u|u)tA;O7ePVy<;zIxF#G3hrR>c!qxqq|B zsego+{-zr%9$!r=FW<8Xs7pZ4BCrWd6V@sErSq68-$|ziHFJBjYc8acperIf>UeDTsz`y+ej=zQ5`s`~0MGV#TrpI0jqk1& z;Gu#=cX)jO__7Jmktr?(xor%cnXp{a8pKJh67{U_AlLYzg0|Irs)VoDAekP|| z9J{r)`p?mQ>m!&f#~f zzRs2`>S3+Dn?hXoPMQyBm|-LrU$5bsRPWy+pqOTp0Ty6H(+0SLY~Tuim9;yw?kIs6 ze@o8x1mMIzWw9MbONi|3?23XR8ERWUg>2vR#*BBqwN;OQR#hmvUe=-BNlR0qqUHZI z6q6ng^?Mv+^C_*mvzvkfB)>EWMG`Zy=X%PbZ5QYwasR0mtXR(qV3uzvWY$<&`RA93 zN?Xvf=az0<@-VEmczP4C`sBB-vfOfiU1>UP^mYWXoGZeGRXemb7c?xa09e?)vqurz z!jCQ!zXC5t4ANQ$x){1cw^%V_(hinBoTs6vOxa~p5$lS;9XB^x>4^i2G!L=Q@Sgc4 zU*iQz9T5+`nRU@s_1`{!$xwf4w-WcTxh@9&X-PPLBCy*ac&_wtGhsV(i=e(QHe%S( zH|hk+_y_Gj`Xi|ET{$V*3EGb+P#?#%7W@y%5l}5e*TU-wMbCM8)>=a z^WTVb&~6P1Er9X6k47|?zkmGvvvpQKdLzamdrz|*>UZ{MB!0E%F7`9Y&wY|2M-b`f zX!b3ca>8<1W)|7AP))tXj%9(*%vROsw*Q7M~ zFP}Gn)+QQPiVYx~8&c)x!S`-F`Og(V@C!AzK>c#zNpYl!eR&{E)w)-O54>!j5>)C% zKO?auT%-2x36%k3Hhd7{jt^xwU@d!eP_9;w@jQc`4UyRc39_h&cBEI@nmeY9PMAMo zC$2}D>_fv`tTI<(ss{kRnQt3TS^-b|7b$f01eYb67S=oQPUsyW22DRR_W9F*38MGIZwqJn-|n$;3t4d&=1HukfAQ~;=g*CfG5>vnPxcn*_?1X~pqzkbv$ zV3v>G)R3H?jLp|<+7|g=618lrENya>CS@-`;+Ew=&u?pL)%kS z5Z`XRp}W5vN;!S=^Kkug47ub)A{SETE5%|!3whl2vK`Q= z^Nwj70xWT4d)B@%AtkDR0H%pbRfM)Q7BYU{%We7-Ul% z83#JKL%bV$Y9A{Vl(W-;#aIn!B{U0mk9~ENWu0cA|B?t|egq~Pe#~H#W}e_@=gmY< z)+V4$3VO~~ylp#t>4N-afvxbmH$eoo_mBEA0;OMI!8 z{&eJJTg=#g&OSa*==80p^FsPwjQbT&p}l95uT-STML<~dSIYHS`z%@&c5kp)1UFYR z#M;dx$6NmhVjuB;653&3yQs%fV0+)8QBz%?`5*G6Cu_vTk zcTee2y~*%*R24SVOXe8XgNGMssq7V0pgg*wdi2}ck9Zq)a)8_s>Fm?0CCnvwVr#o!>WkRG~dej!QB=nMOr=bYV$KGQ&|Exs0u(I~ZS@U8O+*%U%m1 zF1FkqFScz`S& zeMG}-G3hUcLbjVN`b7d^+*IBN8pc56pf`h2Yh}a8t~B-{poM&)fQ(XNt_TR+)kr?k zX{m28`asncpsS9fy1iVt2oA9_AQ(@0utUl~-c3y^u|`GXp}$Lp6MY1w5BzrKf1hzL z+U^(2$Li;j&Ddqa{saP(AAq`Xabz+FQYe%;eLpQn{kouHfR3R3k1 z-80cFvGDx;cVEGq3@Uw;O8h~0=|evy8I$xMJ4_tDz%o?DK#rcwYZ%XkI@WY}LjcLQ-Bzgm&Mb#@I6?EdSGtKmrd;`OuE6yy!_Kbv4n zl(q0NI5>EvIg;1##U4jkTjH0e73+_58Lik7SAj0i2FiVOs-V{HOlnjUl?_ysT!?G_ z;^ce^o&Pi99YRX`v5Eu`J0;tJwqz%$ga+Jt%y6rMaU!E+!-T#|(q4rRKT!pP7uhR( zzVB2!U@!vkAxFHeJyL74Ez>uQqBnZYaudXVT1mcS;uq`DkABH#D%U6SFcnc$f+`MR z({o2=h>`9xP^k9^C<^r`0Rg>AdQyiW$hHCfnaN)K^Q9>9Qy?SAJve!DwZDT)pfO}{ z1lxgOmU4V}&x2E9M6Tir-0RIK zz`9ylt9Lf@u6fswrHU&-x>{C#*%KKE4)MxJ}i z;yi!KpAPulmAv(kCuItEZx@pa%C)^!d9=|Wn3$Kkn@Z|B-kFq>1I0)Tc;BeL5`TSbL5$WziO|dTY<|x+P z^ra*BT7|L@Hn~{v%#>1%BFR14{<83N;}7mTQsRHp#jgPsfQMfK@!fpN67iq;btTl^|h$6Ltg-wkxJ3O2Z| z!z4vrnRc$}&8Pj3E^%1rfYXXme&Y<52BTE{g8&uVi9Y=Z%wx?LXV%B6=J;;6{Fxdt!RfuzB@e}Q@f6W)lj4|_N~D(KMt?Y`FA)ZN`D z^%F9aUI|Yf#a5KOaK`!_U)gq9zV_d-wd>Y*h3Cf?F>ev49Q?iRxV)zl$d(l>8rOc2 z>e$-rhC*&xlhrW`$x!@DXb=*wjhR{%`wRrtuX2eJW0$CF=jr`jiERN^oXIr={_f;t zJ;zHk;Lsll&+(uTo`%f%XCp7F%M$7Pg=3}X2IhcPMu)j(r%x!udua*cW^8ek({#jk z`QM6iOrZKfxl0c4OFcP}2$?FgMevCpdMXvwM3RNMj^?1NbE+Fetwe|P`6Fpf>8up!&@{MpYR`I`Xy zD3aP6)`hHPZtJZT>Mzl`ys%Rd!mLNmLI|!i51DTMrGekxIzt8f(^BXOJ4wBbS$fqi zKgQf?{PdcVVLq6;Ss>H=oikM=(Z7a2hAwP2Z==msZodGq64n;hR)bHPyc}!R#nY{V ze|EoisdkdE+)0O{N|Q$SD7M-_;ofEkvYXj?wrfFkY({*#NWQJ{&xNUa$|K?$ZVuM@ zcqT-}yfM$0u3eFaTd%>r&F;;QmKPsB33*gNnGXYd1&p1uKPD73HjJJhX2fXy<$IGW z;HSi!ZUCf`&_6zkB?>Z!s3?0wIx$p8C%Qj=?JDv_XmvZnGf!5qTteD|b$%XBi#~T8N~u5>N7AS!hJ`SYz)TA2*6LG-C%^ipGe_>qp#vF8U8BnlDxjgFz)CyNSK)a|NkInd}_<5j&H zEdZ@vt)IV}F?D*M5PAHX3=9Ko{~U$4DpCfxIS`B+sT>v8N^nR9k^qWHCN|pk5 z_%vgA4IW3C`W^J4{;af6gGb(gDmZM>KY&_0HL+*Fz5r!k9-sEHFf)k! zD_$bKpJ=yVx4z@HZ;QM7_p3j$yba~R7C>UYHe+BWEaq5Y#M?l3b=EM=Cx74Rers)_ zf(oZAHOqtAcB?8W9s@@Ex`LR&e=aEIA<)Uory*3Kc*$<7V#6X`!8C)YoZS?A-kmM$ zi@K7dBAG7TbXz|r8b#2LeP@1YC6+ngxb~m2i(j#7hBM%RRQ1dx6>tPf)tzNZ5FX$) z3pbAMj{zh(&pvjF?~ib8SIq!5K+3;GIUFXZnZ37xfB`30X;Qe4cjqM!cWF8lyl<&J zeC3ti0Cx(9qBngyM|dBo$4$r$--_9N^5Vk2Y1KN_26XgKl;bT%dEGjVF1~TVeIJl? zLt3a$9HrB6tcfOa!OMsnZ*9>dci!==$i|m1|N8Y?Vwbh&J-iRYhZDOaZ;n58GpU)R z+;TvK&aU`Nv$VbL_Sb_TJ9?gD#iSjd9re%7VTHK5)u%7=?idZ;y>(d8?~?xX+tT|L zLq19Of7bI}kGF!W9b>eJ zy`62=K^L1PTn0lsk!=j!mJf7UtCP&RVKWpqh0KuBYQg3Y%WpfW0 z4wMc7e2#WT0V9LxCe*2nzYb8r%if4{iQg?d{WjhF&_ZR+Vb449WyCdIBBu>il#FvI zXUVPhJI9X`OUH~T4r}O+AF(Cx|ClxKvCp6ViI|(vh)X2JL_Ua{v@R5iO3$RTJX%t7 zjyD(~HE~a}I@*M_8>U-E!^!3uPcB~uTn)Pco1B@2J1Z;IoErZD#9ZStbzh>I4mJvhDaY4V^;d!QySVWg%kEI*`ROV@G}JXZqQQ)67s)^#l$38XY; z)q-k5Nq0;rH?jzQJsol0LI6X1G~2#$796mQct|YEnf7PJZz~|mOO)#?Pmp)v{sLZp zD01A$vx!##UgWBN^~K}I7-l)I&`Qy)`qeVW*LQ8b;JahGCx6$BsiLc+O0E|*rjKmL zCt&(C$P{uMXki!>naMY9H3@QpPt$eG)B5vq3^(~Jk~4T!M2VkDAS`MACdfO@u*EGX z6;Tw&9*rV%s}ddzFfFh#-A}<0vwEUB#8KOieQ6~e1`XGOTkgUXNz*EBvIKtSa9x%g z{#6c>{=+05S>#U&7Gr~%x_SJ89I3)OMdBfUZM{P@T$BxToK}q7a=bKQR)=A5aOr+a znI!=1E&v6hx1Hp^KtzvP3Q@1Wg|ks1Z*di#T)Wdg&IGX=D_uU5E||O zG>>S~K1~z&ICmaqd2iBbTPj0zz+#NmHdX4%r%e02nQCx~ZiZG(w8AUbv?)GMGQG+h zz-fAy`&a^>e`ep9vU7DI^1SGNO+ysX@Eq1-91n3|lGyZQ)-3eq*CbraJVvMb_evR1 zYbm+jzp`gOYd4deNEMz0ARBA^)ooo4v5Ag&} zY@WfgIJX{?yvx+fr8{UNQyPq4)_3C6Od<^&CYY%=eAkYGG}E?99S{#3jq&Q{8L zz(la~(aAAz)#lk!zTC-16)B}7)cKcb;xLw;2)C@PA9n}cwqr|5uE~KZ*lcSnXXfWS zG`dg9utf*YigF2L$1TNa2x>?t=-8bo^{Tx}_>3D%-dG>5c*?`;5g{8lNH1mUwqAHs zf^^|KT{mXhzyboa)$2OJAvJKouXjD`XI3zqdT1**q*;g;gHI<}#3?-|fVxT^^z&Z$ z=R&*0cWw5Zo5K z@n|^2>=`4fZ%fnOPbInpWedw~A8<4JOrDb$b%H2@_U%sBUJM<=Y3z*^m_rYnIN8-k z-)Q^MNb1x_j0{dNuDyHJUL53BCG1;6udA!$Gk$PO$6lu|*Q9mep9|mcM+Bpi{!};2 zzaNTD5iJ2eDo5RG@^F3_i)Ir)tM5GF^djrw;Tmht%CjP48dsgX=05^;Obw|N43Bm@ z;vPZ0Ba7SH3s=#hcgI2H8ZmCs3mwzZ1?C8M^eMC}DFkmSga-M)h~=07E@OeDr+hhO zyBQuF6MLTo1$E=JF!|1UVN*Rft=El09_ofZHi(tVSn{hKO^t4z_EZVIj}!LPk3bnq zFK>A0pgm@A+JNy8?0#K zaZ|6zUXZ_So(^qMu6eSpObWMcmd#4tm_8EWjG=!chZ5*m{mNR9SH|Z)YcsAWFX9Dm zQNphOMoD$75*54~=>jHFK?z6^J%GPTltWXfdkYW~Syh=Ogp$RSz|wN0o!C@FfFaH} z&LzjR%dwm|y4dpjc5FoJou+e6bXpmfE5Vw!?p+N7uNT-%;~QdBuy-bPVJW%7Zc}~FX+zgzJq|tA+0wASUuvArGL`o-+S-2Y zKr<%uA8AgBU@E?mlAv^kG{*S~RSudhqhteqR^`|g^QtCr*-Oq8{U>tRr|E99OG-xh z9)1yLGlkP}kxwqH?PEdxThE7{*`~ia9P~4CU0?CAI&3hYY$^)bi`qEHbq3Eh$UUJ| zqvFl{cxySe*ezezeB3hH9_B>WoyAa@aE7CvC9)@YPLa>}vyZ8EB+oAswHMd6Rq=+$ zmH3oS5lA;TlgBxL655-VT+A=2090+j4B_R3Ey1a7A&ZHq2N_ZlpouPz&LzI*lqJ#26c$4vt85AgiR7nCr3O@!<3#>90c9cF&^IW1=0bAS8k>59>c!(@gKL|MY( zqmhCoONr*BRNaluva2P=I$oP+2zFvc7hTcIV^7^)D+WehXQvF!Yijqat+8{4M_ZQj zOoV_B?ag?iR@tkS8vB+2wlwwecRs@6uXDk*hMmd*Du)?^9PzM&1{GV+8HDZdA5d>@ zT{j>1m#g=fLAqa20l{ymPFGW%#4;b(?9Yn04Jq;A!i85tbz2iW(keA9dO`19U31-J znCN@rh8R-Gib3Ap<@B}A-o0qel7}-S^MaHG{|TS?kGpy35E0Z>SD%pT=V>?NY5e0D4__>MffsUgbN^K@kCE7N`L zf%~RIOdn!Lh>;QdBwDCK`o`d^VSc8WfD~Dre~4i+4rYBXo2kJP-B^7d3kdfXYP0Yf zI!FpNKLPU-K{G79ch?`7{t|@Rz?LNo&V+MQ3t* zO73K-PDr}(W_b{#P|1@DH1{wyzBcEay6o-vp4)K>STa-#C(xqO)>Fh!TqjIUlc%FGtu8nY_-V ze^)<^R9X74Dre5qK2&tRQDS$d(x|xJ9Giku8k7=062~VT#~TBKBn+H~>>@-6I{5gV z?rWzUel*oZ%(Nj`YA2cvwvfR7*P2%F-^`_ofhH5h+@FHf#q%q zq3p6~Kn@@d`0xl+9Oqb=o39(-mR_rAcw@ND+A6Q~vR4&Vg5$~w}@>A)7+f%$0QZPSKBBEXsOUl7pzR4{) z14~qquSWg(-HQ6HBx>*`p`8LbL_O_FN+8vXaRv`C< z=Zt}GK`BKbuR**j!_vr$k5yT$Y?cXlJB?K@mBb}oxx6mViq(&^*o=Mz9*UWxr<4b1 z^^0rrR^qk$0Mg(68$8Z^*X4ixycg7Vg}Yf|>qX&cG6Cv(x4QWjZb?{)EntazUqLTe zMUfbZXNEv;ljsQr75H7G3?vOhYo9W?@2@zyM;ogWZSR813f1;R4{on;1o~;bAug0adTNpZh;b9f;Diu`60hU0VNXuOF z=Q&Lqn*(AxpSe<&6jaO&@V|!3sY@(wqKl}Mgq%jSbi|C880#B-jvLM_*W+`$ms~ZX zVoH|?b9M`oR>Sq z^NbbzUx7P>b6-6E-R7mER3ZGisj6ZD$yJQ*X8Ecn6J-$(v1>xuu1%3ryT(_vU-+sb z82U0R8V-v1uL^*C$(OQsw^id?0>4~+NGHN*E!K`T{hCJmoFk+*qG@{BF3}KJJVJP85`*FrBPv$q-jw%R4=~9=Ees&r&a&FEp($XS`7roVH17aCTk$wMWF>{1}DTY0A#_Tq}sY{Utk4Z;Sh)Bni+BFobmbX}+=HWWq2W zA`TP%3PxI5=thYA;XH}YY9(UyXmQipjlTW{8viDcbK~85cF;>YUXY*#WC#4y{MBYU zk*+cD^~pmTKU{3*>q`2a+J2C{X$5+qjditz7;8U>c_`~#{eI*uXs&Dl$WI5S#f*a#@#k~ zB?(6WNTr&7B@k4Y?M)8i(0uPOtVDjpen9q-vy?5AY$s1Av#qJwz{Ok2#ZtR_tJ?s{AYyjP) zbZ)Bk|7On@pWX|kzQPg3;buhLM{gKZ`z2LREp`J&p$7UzSNDj(^yJDGIWe2aelCpY zht|Zz64YOfNkjG`ptZK0if|V1nI0(po|yEG?s*5)X+)|F-uA`b*DHu5;lh++{cbX) z-tKtE)0$rIF(|gvTr(zL0WorL@}VKkK46=y*ny!HS27gnGmU*;;l(1&3L?cr;||t# z00rCCcjPAEN|mQVi?8?yNDYw@sZ^28oC`=+3-9yxOpYNH7JoUsO?e8=>~P?@YM{q> zv+`nz-d#O=+dKy})5aC_zN+9a-XCTw5v)A;>Q>pFH!ihR)OiULy=6)}auiRHM`+-W zTRFkzy4Q@jc#{7f&Nd$(L*q{0#4AWd*a$s{XVvIweWGmCxa=~3G{9q+-?;r2W~;br zIbCiyzq^(I0`;sM;TiLv)$z0Pk4vBCy;Syc)~nE?R95_mj2fS`9;k_2b=m?P4L1fS z8gx*_OrLJOQ9M4}ibWpV7nx~W2HGpy?YWe0u*`bKNN)7B%6His)LPNn_dnHar{2zc z#Van7)xeimr4rZd5>>hXU)_)gXUrx@+UYXlAN%B zy`}D0u+jKJp)UIK%M{sDOcf~9!0UU}jSSG$778ty$Kgm@IGck4yc15nk$hGWOSwjRUR95u?}A_Z zV{UQt%EY^oH?3o}Sqwz8y-Ybwoja`m{L#A~fkMgk4M}e*uvJq|VxmRc1gX^R?QP0o zY-o?okLE^HP3MTcyQe487pRBvMioTCax{L%Yy!|uWlcdlT{ix?a7Xwdx{^3b@a>+R z1Ns!Lb(s>%dmZx^94>k97~(8;YJ|ZtC>B5w@Y$91T@1I73AIQlLN5W!Ee10Xc?FGK z7>`9S#9ZriVKj>9Y}dY2KPRsOSS(Y-$|*nyu*7sUCBI}-)_1V3$ia8D4yimhky{39 zjNYv(bzqjAJn_w6>DomV4tV%@@J(bRl{-@08qG2qtEA5?Zwj>yMMUJX@9zP2$2hV? zvU96R(onDhi>Z+MsZ~JZ^!1Xl%iD@;TSSxpL)CkRv;F^X|60{yRP9Y$MeV9R(}fRe zw>D|18Y!w)5J_9DJ!;pk8nGfp>{YvJ)vg$k*gG+U$mjq5et*~Rx{m+h;1+ixdB0xI z=XsuwGk?qN?o2|+uj4iR4+=Up8FpX;zhu_QzV>IB-KYEJt;KZCe`Z-emdDUnC5-b9 zLG2VR@+C}Xs(|ZK8e7T>lE$AB9VW#Iz*80#B%}{hJ8x-w1D8?{2^J^6VI0OJFzYuvs6vBi^_kZ!_SW_t2p>O)_?7;Q+tXL_co^vuuS28ml^OQvDUB?x zoMJ3eOPW0!O$)UoUqTk%Khe!yM zR{q$9uIZQU-v?<10Wzp&_?3jer%t&xog4#Y{Qxuzs6=If`xbh>-aZff{3>O~SQ^t> zZ1b?Nt(pB=Sy5D4-P`q}I-AeqA0=%i-70ooiCt6=cEtuRc|Ppu3UBdWxQDatHp@dq z=^;3#FBsK@De==_ImNz7iZrl z=v~gPvh8>;H8t8V_6XR=);o!JI;VT`ssx$Fv}80@8TOYo8kC)(#y7H-4b|SJ{#vXC z3JZ<|%GT>}K5=$~+VeXEL>xR{INqJLru|r>pAZ&Py%ta4vwG~VCHOeV{;4+)rZ{t8 ze7i7Vh+d?@ElpEEWy5D8ym+h{zB8#Q#lgL}`zdqO#NRl7C$*8%m~|cXot)okQ5%pW zPHc;Ssk;LpUbqBQ|{B+am7b8Htx@v0J1{^_XF({i!QpKmAR{__}uLoN+)Yk-#i|( z?T6T>w-$A?#;QmFGuFEx#1hgO@IZ&-Sm45jmmKJb4lNbk-uJs2WBggC*NXL)mnU~8 zXP*9Z<9vnno{&SEa)!63UW$IXoXV+O3HwZRmh8IctFi51A#f5oAbW)^T#476`K*R( znEd9Pfh>D=!_7u&QcHx~4XmeHUUQvkw}o!qmc=tEX(#Jl8~2oPit}Q#llWfA%+6Un zZ7lPEwhnLSOxQ=$f3=IPA4{xGf*+nCjnIuKq-F4?i_>u{E3xiEs$xX%L!+Wofa4~S z2zu~Q+cTk;RhLzJS;{rj?Cu|#@i;{j4)(h=7yd98!Y_ciq6WO-Q!HlBC4Sr6rh%2F z&zN|*VbZcLM&ggto}kD!y?g%xOK&<^5+z6BycA|%qzkRH0lz;uXYR0&>*;Ez8{qZj zO~rh8h!r(-GRaV7w(DU}!tesL{AT`Ni-~WI>>60hz{j!Jp+QOT6PyJa_jtL|PqX6o zyEP051UY=1^}jyA|9E^fneh{w?d2g^t-|%OUp_*aI>nbh9H;G}GYD@q++SoH1doiL zhqn)4D`+F~A7im8+BNg1zKyzn_*43X1>PEKs>dCk)DAnH#X9&_ETKGNX6BS6e>VL7 zbz$cAdx3xpJ>I{Ue8r}UAZzzMZ}%=u{L=~L4=y=!p zPOX84p1w*r2_+w)^;`nYn@$g<+j4{`3E`C`b&?bVn~>D}a-fLQA`%JSR6}h_DFs<1 zIs24s1iY($=~(-tGAg)auIbVvNJiZaXA?8;p0VTxfAdh_^HHbj?dNcv|L}SKYTKd* z6M~H_)ICp6x-rm-4@kn?<$ULHo@EeyB(HXt;&*+Rx=rrrPNBfr1=8 zt5d8m-bmtJZ2pU%nz|~zb!h$RV8wubRP%>+Q2n9T2ZSK}K6OBdqgjMBd;}+dM#E&t zl?%2dI~3_f+3S6tvgLw1lMu->^)lNT$e_H%$e{s4r1Z`f`er?*@dH-X$@h-s&}yIz zpIqnoyFx*)J8gZ{eFN`eMAeuqz89dT;r?y2h{xcot#=R|b7UVpII?QPrna(#j2-g2 z0gbnqs)58Jz~eCcK!iW+WpKr2T|?7kO=d1TYSG@lKT_tkv@ng;hou+ylJ6a~#Hy5a z+aiqau*kV*B=bBr3~v_wCXeIq5OTt+seKN@ zX`P@O&2Ge+yawJYky2vhO#F9G1FRK<)+E%J)RXSy{@bwJvM%Uz(f5r{IxY?AM>`3T zCw6e2(c&UZOzvR_bJmd;Q}nW}B09BArgsgj3D|Wu5ue`*h8j5kFuD2d(!VrX)BKJBSlhc332SGhOAC7csfq_Ms(}@B4q8ZEZPV7-EatYAQoSH$pzV70khFVi{bWT zHKRNfFayz2Z*4RhAHj#W0&9j@+^O6Xib6F~B%qYq^-l}t{vd=hxEOv_WB*Q=b6DPB zME=gu@7=^>fOEFCli8@hIe`#$A#*vz*CB=A62oKm2O6_+&?Vn16(O3skHPKG432vf z?xq=uiT=PXn#er7k_DD*=_+@qkVHkMWJcM4EE?MO7oGWRY!4Uea@$6m_aIympNSM# zvM@;<|0#XH*&Z)oZakLme1p5DI8Ql)pYR60+BYfv&GGyh<5YgiM6AXm!)d+3;#E2e zj+^r+P!nai2iUeJz^w6_T(-fG8NO+tQpIYtM$%fU#-6Q<*S@O}9D$K``0Y_`wSg6F zaPfxt&@zn}GRSH|koWT>6j#k4v+nB$kfL>0xOF;y!>kKKKn?lVm#;DrWV+HL!_N(yN&tbyi-`?uS&5cPb!^6-9#~o+%HTiUfv2( zQ7zUHv`L|T(aHIGXB%?6!M4L=4cl)I#LSgCdgPh|8-d0<#$oK7vLSd&Q=-!}Om$vU zriY;(87ZQhAbmUTIdqAchc4|8sT;wudO~#x9ri}keI2(bkyIJat_xP_6Z&h#Uv>?A zL3akfFeNcB-qy|UfFv3(?9`|>PHM5k6elXI>lAyC3&srKAzSHGd3!grUtOz{Wefx{ zHoWdDpr-%_LIM+XLZi@Pd%fB=^ zr@9}Tm5T=W8d$B}e*B>EAJh@+k`e8yUCprYoSZBK7EcX4zA9ibq!^$l9#l;1ZUJ`s zUxMNMa$Vn5Cd@>*pFQ9(&x!a(XZiu#3g*aMQR&l%W;yE(?#wRX2-E8$?F+;~o!F}= z=>o^LJCVAA+4lf(BPnWs#>+ndgL+k7u6t`iuwGOBMHc@d_e#_K<-wRdzD-}B$z!v) z)MZc{7^|}Z!C|=;v&WYQswwv5SmBebd(wn$Fumm+nf4DKe$sMKE8Z3eU+2ajUd4jU z^Z%tOA`B;#p={a+h;#sgb%*YM@)rMfiO?1iL#rTI|Ji-N%ig&sYpM&O4i@i{`bp9U zp_F*c0)0|An=>V|p&&#le+m55sqJJCZbTJD` z5-)7;o;=ri7vCwGn-H@$R)TOdx^J+Q0A8q8w z0HQ`+A=M=%0^f{epGAJk4>xTi9lx$yTJ2m(5(=+yGA{s1 zU(KJ!7rSO8zqr636CpUc>@AJzD64qZ2-0DWl)w7C<;~Nj+(13*J1yOqW{saK)*-qd zzUP_U^RJ3RoJcF_o|(ZcN8tbq4M6I^C0#vyeRFv>{cVbJIX1SNs%q?MburFZ^CgbCS&>l?grNl6|6bE zZ|EjEquGA<0y9lk&>>AcS}TQvcgb!09Dd38_2J+12|&gQWHLm!K%9!DK8};ey1{=l z`#sdGas~{SmSB}YjUnpqVk|!1=0r_gf*k8>797+PUytWfe&jw+$fU&AlcMI==ldwb z^~=j`EpNYFOi4W&kMuBR!Oin?gR1dTp{7(#IBGfeI*~0s$uAulXFGhEjK3qXvCy13?pJ&I9J{tZcm6^p@yc0P3HPaU|BZ_v7Y}AA>1BRbRfr6SwTn@kO zHPX)up~LM|0rCgDeQ-NmdhEpnMU`N$v}iE#Muwdubsi75ehK5MZNYq%n%vK`_E?P- ziA@=?f*HCikl0I2QFIb!7H%6Epx9-OyY+pp!<~b+omwjA85)+~f$Uj-Xr zn#Egy=fJ!uTAHTxvxWX|Y!u{&6 zXbn&Kx@6wlJ^?)TpESzuMY|-d1yLgjArigz#GSI2s5NY1qrKZ{PP!k{a>^|8&qSVu z*RemQFVUvFc-Vf)a(E?>(<$Y-Z>5TLH%f~~cIYlyjm)US>l16^V`jMqD3Y;0y=`O2 z)zRi~9_<3c?%La$yPJw-2)X;}31gsQp*VR+8SrPC2p~3p113(4 z$4`YH8VkbANSHMRSvsiy^zPwZg-=bjmm%7}U6695Oh4h{?@ph)p1HHH_4QRm{zqCzTxjKWpqP+S zaaHUpwU& zX2UQNI!4^khtqQoET%vku;tXw-xFS9vcz~yT?=)8S>nw6e-Vn`=x7yaoc`lRC!1Vx zTCjEUM%x@&We$o_8z|)ARxC;WG%Cm5*51bToUfCSos?zzc{$o$ZF{9T{UC9nm|KG} zp4tMpI&J_)4ZVHSPk}aWS3~4tyn9bJAL#EIScmfi$>B{zEN@sUctGSL{fk>Xi3v|laEX6U)4SI}bMq7)r_LPt$wj|35t47b z_l9hsDUkhHMc^NySl@k=S7FMb2#_PLQqK*;F~IM@oJsmnNxbDpnC0RwYplBIl$Qef z3e?9MC>cw^qv&t>5kTx4scHf#=X1GX6vY>YgXfFiK2Fl%046N@iqg>AdK--j%(KFx z&Ed0Od!+OtE~dMW3SG-Ebp|177=&&cy#`$oOqT4uuuHRkAJv^3t^k36YD%wCalvxI zgXZRY<3D0Hf(i$w=pL#+t?xrCU%6|PTqap3n-jier>-CMb2LT9w!UcFgKBU5Ncf82 z;b?7>|LAG%L)n0|0daKj^B)!5<;#WIW!QO#{2<8)9q;YF!_({P6Fz!60k%p8iEmTp z@;!{sj-aD6U0{rM%AX&J!9wAJ7bg`ZV|AW@Ue}PW#8zw_c-+2v=O?(1iP>Z|X;48aRyrkH9pvZr{h)RAC=Yxaag*OAo+<$4A|OBSYH*SG zIx@s!nq@=$3O88SP7h-&Yl$1!>m@D~|{MIpH zmkDN0bS_GVO@SGxiV!uxapEuAy}eV&LJaRd=hL0UWY$yr)&APJWlTo0I;z;%JKPXS z0F0Z2-HTOk2VlyX=c2UR6Hz9Taat6E}$K-2FXyA!AvU3~{;s|s5-w@F_~ zS^Ms`1g#6$a;^iWj9)wc4xD7`Gdqg)xGWH;xJqFKf6U?jXejU1wTl(98I@X|kdh6{ zKiWiJq6iZ&qY1hE?m;<8N05-CR`H~ESM9&A5-mRdV|%c}bE>&0qUKkfQHeA#sBi|P z<70b)$qe9;qY2)}~tgR(Q)f}GT44IJ~3vbEV?k09~TNO~tUO>Fl-KrxYySd<6f21geMB(0` z?4GvbP3&;HK?`4}jZkzAj>TB|D31W*Av2qeDCW{ZT7@$$>Qj$A^xmKjCHqV4cPhlL z{|;0M?WA%OwA`Gk)^wU$R* z8>_3HKq~Oki*uyHxjsol{>+%dMp6nJ`|aBYvn5*gn$?N{l43E zviH3XG%{}%>aef9_%VXi)%HapEK*xw!2dKB;SvHm`Y`#O6uupa65Ez0T*B;?YX}hr z6*`Gx?Pjy(hNZd-vZ2ZW*tYO3vpvGqeh2qN_r@}*8)1!FW&kx^3TATZL_)K#vY}EJ zk-FC|pEwykcWc+JdPa(q-X1vikoL7WE7gz-O%XF@(=#^406Z0yTpE}jF#ZTqd*DsxRk@h3gK&KPHyP@OPG;Bn948(blH1j86)Ysc#Hp zjT7RrVNDh$*?4-K^bwK^S3`_b2VnAja*A2`+TvQjuK_PD@+qbE91u?yGK8vkw{}Tv z3&UYBBB8|K=EcbIgvKV~*g5g8HL8xektLX&Zu1CxCyfslZhzuR;Vbgr@QRkLF%%n6IKTINTd}d!|FdcU=B#KM%>ot_o)ONrE?PaDo3E_gBO-$!K;#5Kz+8Urlj7YBlHG(;o09u*3+4H;#; z;p~h$^<_=J_1}8s{H%kupwSTeD36-L@`oCap72*yeR)0-)p-BL?=@YC=kITx9#q6A z-7XSzFBGpI^s@vfEUyImG5-EkOn6bq6s#Vyp7VkEJ*LInsH$bmC9!jxlcfHW*7%YS z-Squi2{G-QCJ*|RLLh%T$Tc}j(6sOrH~lRCrs9JM*^?0V5C{7OCECdQ8cOogrTGpf zmQ7LBwROv#eJKBNDL8MpV4jm`wPyEDT$-GK{+NDqw84Z}P zMAJ2Rh;>-jsc9#(bxJR%6prtS1p7j(nY-Q{Rrc;bn|s**e61mOVP*%x03^F(WEO9L0?|I9ti1kQZF zGT41`bQ#zkOTqdb6_(l=dlP4R)sBklxV*{e$B+m@Rbz8gQQ&gl=cPH7_9!ltSBx6UG!BA?`fN!cQ2bQRte~!=IwSp= zyI;PAMYNFya>u006m|7C2b-a<8@1`$wymt6Lanl%NPhj~dd$MA09oTLyyiZv^-LcZ zPr0|WkRPZR{MBZ@7Hd^iIkqL^hhvANfu`rVh^<*ohu|CTLswGVAl#R_FFkFqkl_xr z__3mUOIOQZ_FkcW7NMx6unE22Kp^bfiD(7gD`R#)wf8FB^*I0?1(Fp(9YUA;IU5ij zDCmB70I;D>B%j$}tQUXOPlBJ?xmO*oc59@_J{}1!Bu0%BuQ? zbpcbSfAJmW#Y>xmYrCz$pZESzh<~7eaeb@%+okWDWlUb@BiCj=B8J{IyIf3iAN3Ak zK-p>m6WGUK*o`DY+qODBo@+BlAY;EBcgZ)NY@M*d^{u<8EmqN5v5lUh73>`StggPT z3Da0TDYJlc^Kndas~EgvY4U(?)#r`&i7Rr~lhPdDu3JCaem58O-UR3sZW`T1aszSbL^>l#ZG@q0m&-re zs?nj%<`7>6gOFQADF*>$5@Ay%2e^NrZ#PC8R9-6s&**uH#Bc#3{J%8+fD3@=vY-L@ z+UIVwT()OL+t*!{^%V1y?cL2*1DefRQVJ%ryf&Q!Uy%;&3FnEHt&LPhBJ)KUh=}Yo zW^Tu$udJhAzDTpoNI9HXKBv}HY+_eR{G^X+2*&Ktc&o;7MI0MB*P$)PAoE;@N+2BV z5iAp}dHw>sHF}CRNj?I)s?zJU|Fj2lj>$p|oAzwi9;8?w09}>ZrxA(j zf<`{L3`$dunTI_tdB+aBZyTaXDgJZFfn+ciCMIDwc??_|P>(ZSmuTw-c)PN#7Xz9R zz#2=-yC1tXd8{$K$lNi^Kye}a5#qzOq%pR!VqF=&wf*-Vjjdf$P+Ipkx^Z}@&ERi@`{T=3^!{6^nHJ=HsNSr+SsDx$g1=F$gazn7ULziQdB*9<;i z-BTykEv!bj(!sQ+sDjYnecOjjqRX+_e|0z;TT|rK-A-FReey^hJ))bvx@^V%=Kc?% z^>8Nd%U2?+vSc9d%XrMQLY4qN|0dUOY~!Jpk!gymik`xhPhX|OIcDyvoWZwi59ris z%wF6DplRTq_sSH_yjh6y$U|NhLE@_~A6cFWrKi`X{5&`2Sbc4E3YF4W6_o&}Sr!dL zw~3^Qw#|m~%}!N8pFbe|L@&a+`i>1P9ZfG$Eaib&Ux|asjr8 zpPblWloqw~`Iwii!l12wbImvgWp3P9KXxcBYg(D3o+A2KV*uHUVbwlK=l9!a1<` zYnKBpEC?`n&2x+a&v!6c(##qVAe0H1v1SqcFjlvhGk2yjCrUVL_}dKp&s3T@AIf4_ zzYSB(sipcsr?SYQmxEd+-)LO^@XUptw5*|D7&hQuY&mUobT*UeHMP5gNOw>P;gn>WPUHPO4 zKrKOJ-Bzi7M8$cg!FYwAfRj;lr-KTyrLZ5u>nmRJ(Bwb>zy!5UIhUO=S{-nxJ`)`ftASyernAzRFF|nf? zBW}H~W9yHgBpg4ZIQMVwjuc~NlK!P>#Dr)PtEpF&&z?i`4j{wP;2TsHiUa`d5k9Xg zbX5y$BJp*ns!3YIs%_r{>AFC;mQB*bWRGPmt_C{J{M2owxXk*Mx_i^n<15S+G>|7_J`0-J?*6SkY=rT*} zI7)0ez-xel)p(hs(UYT9p;k~n)ifw$(W2TKjFuGoBB)9Xh-l>|18Wmz4G2I45R1}~ z4?3!=Z4Ao}c*(J)ek+5?@}CSSwZF{G@{66Y$Y9o#Qb8@JV-=&{GmB-y?f;QXeXPDs|*#&cVtga z&;Ic0IybR_z`wJb*7F|8G4#JxSuGyYQKdN@Z?*MNDi<9$_m~z?4h4iiGjclt!Axex z3x&l;G@BB#-4r4!Dsog{nhWPjceQ(37I8dJoo)LOm!V2SRt`tD(B(vfnQg5OxuZe- z->S{Cuhmiouiqo%AhxTo;lbUrZXfzwjZ!oorHXVNJyH&equiz~QqkNq$8Vz3)*ARy9H>*iw_a;e zyJsx-=^vc5>hFTAm0eMU>3;UEOl+dgdB!2f)?c^j8UMro-h=-O8PV1t z+CCQP9vHE0XH`fX)QDu4yZv!sPw&>VCnopxZeGx3%#iwAmKF z8=A`pzXo$YFY@%1Ze}A+Er35zMaV+ES}JYiB!Xn|K`c|V;X>|pG76?w1O;_+ab0;% zVj7Du42yIM&@#~BXr+yVJ^rPl99CVvQ{fz*09Qb$zYSC5x;yqWI|j_ z+5+HUh5&Z;r`qnmPMlder+^HqrA@XZ?o&C2KhJlXOuQy3$H279-Qn`&q(#V|)n_DJ zmoe*8Sq)PH%CIms@bSFE1rCg;u7Ud17d6pu?&;)HVH6LNt_q1EYM-%_BeqOUzDyJ? zK4Uo&Y?ENImKtewt}fF))?xBV9OY3lMM+qHPWCt{ENev;Y!`-3X4njmM7Z@91qG3I z*Sp!bw{K=L=-O6is& zq~_)su7lA-VqRz@|8m3R?RcrM45V|S1&BCcm^vCU<{Vq9Ihym;?znUKG1W}5B^#3Ozsd=aRZU3Uw>I7@5nZom%p72TA1y4NR%aDn@+%#VBFh+&&EhB6*kv9W_eTIPRgEVbJ3 zhJH^q>F5W4GU}~=$f7=1j%xCHv}ja-HH{9~b1~0@TAEF)*#E%1En(dIhv$a4$`IkR z-Vu-D(&9c$=6Y6AhR+rXF>qGFxxl{};jJ+KHbpqh%L1=RK2sIODcD~g)2U^#{hrpl z>x{jWcq6Fx{>3xI>E?cOr#vdIcy{ST_WRUclO?DMD*xdJziim2mpZa+9?q_H@WwrD zAdfnORyZ5aXzBRy`F}rGx7Gr;dnZ5F=XQ*2fS5sxlVrAkX=GVmoSW{0#ky*bk`*R< zcj4E3f;EEbnzjYojy5!yL$8eL-X+)L93$}q?zwh;WdRR7pLC?d(E7XPpD5lc)VFwl0~wU$g!ScTf%t^ zqP^ zx@Y*x+mZEx4eGV++-`dcivAA~@ML%Kc&mjN zaFjISIM#ZH>T? zQ=^*2?HYt*n8)4X($XE=@(R4^3lt@Bqfl4rQx?keRpvHi{yWYB3v?HLKL!hJ2wj1L z+<5&HN+96s-0f>cu^ttvlO4E);dl+hl9?LhUkbit8Y=dLB)|5%=lqiBT1Oq-tG(zG zGmqUc$Ro?9^<}Ed8aIMfC8*KAyGNrr^Dh&w`@7vy#vImiH-t!ylI zE`_pZJF{+qV?MMO>mpcH%=e$mcM6JunKv_@8sF!%_QZb_{ZzhiB2~q{Z^PoD3MQR+ zRptnH4G9)3Uv(VI*nVBx8f!GXM5)uNCcgxB1kLC96d!^s7oiA^mjz6PjE2#J!Nsn; zCnT@#!AGakx=&JP3`b$=Vqx(gn>CBvZRBy~87cE60l_Z5U*fm=IICt;pX?{&a*&&%L4e3{uoop7P^ zv}Oix<*bca3omZQ1doKQ{8N8oAMCvA-d=F8OKy(>LYdP{#dY#P^%qd&m-)A zrhyoOfe*s_-%UU3e5K%I=5LXeCE9%ccftV@Fem?~FwG)OGCMJ3r|ofK^pP@Iy4)Qb zA3>F|A=e!xk~m8=TgInyG05ne_!upLF&WfFDP=8svNgf&61Q16F> zc$LrV3UaPI{g*}(iYGV(Rk=BP-7gt5Cpe5E6>BUIEp3vmrIQ|#Tk$Ru?VU4cx^!NK zZA{E|!k5kvIg(`07Qi*WvO2ImzdEiXq0wi1x~0?r9NHc>*w5+_s=sc=M&GU8 zS7z>NHjpIk@p_E+Ozt*CI*dCXk0 zDnh{e1l8*q&VA}6IOh%ip(&8QT6Eq!mV)SveE8O*!4-|Bs9+fH{%7K&6Ge}!&FU9I ztdr-)cF*A#a5F^8smozuP2qT^Qpyr)20iz;Z%RRc3kXj4#1ojr45t*L{|+cOI-p;A zlvvq!=xIIg&ffBw8RUK=P+suL^3T$&Y1YznCrjA@iLtu9A@5yEb-a&SviP%@tZ(H> zYw<(qs9d5!?(|I0-YgiZdlrn(LHfwg-d_uNZ2D)sa(<)HsAQ!E<2jA3G)m}Ec}~l5 ze&Nfx@IHk@;+YST>jM$ojg=*f3%<2uzs%dQ#N9*M*3N#+}z zpi3}YApq#Sj%AL9*?R-wmu=+-O<;O5Q0p)it6>Y|>)hNM&vSAHi(GBk2U0hlPMP1= zX2rynBEHqLb(d;D%zW>iygDy`v4mYVtpXA-th$OCb;k#I3yhPIq2%VoG+6gUDESXe zLFejlaD$cPzg*iVa?j#+%xQX%>pYUq$;!0)x&ex1Xax!u^ z0)e9>4|sbdLivt%&tu`t6f+VsPK$pnSCGx1f#}kcOFIKC>zoYA&h0{6neEGWKizH% zb2!yB&>f)!cz9iId+9#%qZTthdf`s1X+j(F9c+dKC#e%*(zqGLto;G@xi_eXK zF?}V1I9^W+*hzbpjup?T*8d(YIy%mB8dxOOCN>#P3zd@k_=~HwZ|m_fmi7Ez>zuIG zyJT6}+WT|6{`CJQLutNUb%`E&@Hr}8>Do1cE_q#<`K$P&7w4`Q-T&uzG}sn(d)8X{ zjPbjd$xb>+JqS*i@6~Tacl}3i)-7JHyWT<-(qoVtKN4q zsQ-}0G=45t|9yFnef5g|C%17kcj}1p&_uz3*Rz5o%i2C6?UatUMXP{&qs|GpN&IK6 z0Cf}uZ!6iPdwtR5;=eSX6(LPCFBs$1q*UBY{;kUwO zX9tC%o0;X^e@s7$jsy`3N8mI0zs*-TPh-Ab*~!Ie+*qXRw0p>?=%2&IV?1q~zRjcg z3awHwxv^fcwzto(QORx_dteEUPx?dk#>86S{&Ooeu#1rO_@1Nq!oq6ry@vTMnu0&S z=+(Ylb-p=ubX{B*t4QZMe-2VCY*EnQ4OoI0L1u<}vVCT3lQD_77e(f?|MU017IEgZzJq<*0D4uK5_+%<#hGmi!_0$ZvhUMh)v5rA`m2EyytuOl>2n=*ebQ8gbrwXxqUG$A+fqLp*^cmv^0 ze%|Hllf(T}26|@oP{$INZm({SLkJTp-g^I~=BzYl<|3_|{+bx0P2++bQ=+3G6&oEd zq8yjq{_lVV>@NfzOEGZ?#V1*xX=wYzXuSLS3b0Y{f^X*=`E8iz8wT&W$)+EO#ygz@ zgi@Oqo*(BGlCHen*AM%;N-I1h9l8$AdTkY7?zk~-Y_PumhuXKGk-n?}`j~&$23>7r z<5ydEY<_l{(Gq?F3O`e9A3qE5e14AjN2Mot^&r34`rZ8LtXt9JJuXij=wk6HoE`nb zH^oX%-DXDU8-i%qpL=mbh>HRS8easNh;@OT66(LRanRnyRYK zJU)%~o|olqm^}rmn!=5Q#HFkNw=!1cH&1{fXkjOXuE64j`F!E z$G0rrB?2cmPg^T8DZ^{V9lX0;#-AroIneEGF$kVkMq4t(B>vfm?`{~ttJV7sb!Uh` zHaFdH7o=@&n$QA9KHbC}s$1b$jiKnVQGNPxKkbi8&Z*u)m`rdiF7XD%!Wevt`xlral&k)+(QW!uK>QZT;S{f*o?Zx^cqhyL z<13O^HCxLXp%G|yf>b8kj@9i?aY58Y) z;jbana%ILSR4nQ6sf;{BY*8s5((`ugbtj7+~@ogM=qn-d>F%|nb|C-S-Z#jWjPjod207pX4EfR3~iPgfMi>i%z1_LV9BH z=S~(MEO=xXhLLW^$_ckVas;}}5SQ{~=Ph z)qkee&g1xl!a&x4U#ULh_5MI8y?U;Utlq6GG3%85Y}diqD5LG?=>WaKweSEiJtf`` zJ&&61o|Cn~9DrQ=7x0q|MG^hwCB>g$ynETi>-tOo|aC@HU z9ppX+_5r6$JIHA1?gyW}g%5KHRmbz}WMzGNfJwniYz>eH-?N<3T{Y{tDD##a_5`GOZOvx}(hCrj?0bmv$Oc znC3BP+H??Z@-DKz^T6X(=yt%%UxE+$qRv+g+s)8M(DE5BVDarve z&VG=h5JCG+)l?^yMrcqRllzIYSLTu{QTp*BvPaXw;Co|yShJ*uuo~9dHOPG9*q@m7 zNqz&nhzSUwzuMpH=GnkQugbC2f2~tRZ#4D#XSX5dz*4)4c~i^7iQIx^Dvy>`^RpUn zYF$C_aXW~77mzl&j(o|GZ?Ky{KGqI;_A~c-v%FT5Uq19*Z##(254v4JF(feAcH5kf zH|9pcxgn?9%R@*4ljp{YZpO|dUbC_q4t986GPyHn=`XJ}oFS3h3Y@BuX4>T0k89m6 z8MEw=O2sT&U|ww~j#_}<6~#v*-e?9aGH(x(lyHm2+iav@3lgpy0>0upPZ!;tro~EB z3Kba+hiQhCx$|mPAdyh9&UyARFX!r9yL!{Nj$G1w67nf=_gZ5?JaT}^Ml91bRzJk% zV{~28QR>;4R#TXY4Zp08?_Qri`)p=)a`s$Jux!G~;-b(8xF!+i;h*}4oMfP#zTEVO za^mShh-MVreVWd>agUU>B3iGF4FIs}^UfMhozq~a;oj%TrzKbDtTpWLAnP3ba8;BRCNP6}>BQt1?|t{)e;`MW%-m&;Ym9TOTQdKyYP_k{!_KL9 zQY0axsYqq|tzn&C647qCGH!~HFhYDiH)c_3!!4y8E)`2Gt8@-4 z3QKrE8cGQc2+XA?W15Fe=|45|`btr8$LeWsqLzyW9*M*#gKG#?vVbmcrFs^uCRI^9 zV+<{>HUume*4p=%_O4ZXNwklLx8Le2HA*+olhPc;XN9RRGPRw-GfQn)%xY{o z%*e6!JBfei#v-r$(?-fC5>dTu8JN3YZ?fm1{!6h9E|Y34AtItqxKJ}T{gO#S^C@MW z#~FsdCxU_&Ms3*;5jdaksOU0&&%W$}fPhs@2-p;yf@tRfw>8vXbys14?`Wr_!*;iD}aR->tzEso{Qkp$j}+jEDZlASe$JFVT#%GZ4VopHt)j zGwK9$(L`)F*h{*m;iEd(x*mm3LaR9>1c4S^_CZ#83Ij~7+>M7Z z{haV*7bBFq&1gx4D^HK)>k^=dvx85X-NUuLYW?Z zI@o(cMrRoR8MM7su=bYY!xWr*sm=LJ_WvOm_cW zY?LLr#qBMI_ztV{+1Imz%LD~vo613(3Cm=rj9$H}tfkmwT%O>J$Ml09y~KE!c5i0dULixx7dD8m zFnxt)`TYYCw9NA;&A0g3L1j5gbkh2`)-n%gyq=w=GE|txuH4UQu)f2o^)kElB})7Y z_~?ZbzDn#F53B(q9MuXx2TweV8q*7 zW3BJaOzk%T=Mv=wXHkOaakwVrad%mkhULL^dUN$g$Pahd4OiVECKir)U#6H3sX>Zwhx!PNa3k5*-7jqj$O z?*0r0k{V(U1ljd$(V)1>r#j*247WcwIXk*xna@z!eabav*^uq=QM2T-M#y?bQ2x1n zqzWHwN}oNp_&i$1s$!u<346QW^Yu>U^QZ~@{QUH^kX6ie*C#Hz7wIlNyyHW^GX2w6 zrH|5>Qejt_ofXvN9Trj-z829(Qn@CZ_c)F%y`|t(&{kz#-S>1-Y#wiIln=;45w0}e zH;uQk0_2MtzFUVVh*gDd8NPf;XsY%Cl?;JFREoZ7mObfiZ5WMIZMbDQE%->p*5SKK-z7^CzU zfm&f$iFx|{cu5n!Ligy*X4jliC+v7`^tfAan#OCMKol=mV9UAm+(#yW*tZpGp^uU} z{+`_zlVw>Pi4Gfz8WRs-#@PBz%)2|$V)^x=11 z>i2&1f8WY4;McxUdAM5@;am?HWXMoLwK#g--JA2(<~JYzUY?+hiN;rDDlhH?9s5xe z`>7_rwBPYNSX@=lQ93=4w?C~|-U3gnYaz=h|At=;xd&xE&WX9XM54jZVFmiG%V-xd z+rh3PQU+C%h~NUtjm;hTg3VtEw~%^bD-S)5^u{pg ze_&PIzV4Ma`au^RZJRE`mTi{7)r4^2E?3wz>piLO2d;KfFOGGiaE8ORyjn|E<3|z=*^x2RJ*JpsTaIk;dy1^$kK@(SJPgEr zV?B=z9I?q47ZHC>Izo1nNK9?5BIM!%-wL=crG2`-2m49+D=$#K?OS)q!0~8y7p^2{@`Ok|DNQ{>*r|FN+1m!n{2<6+^ z+S;5xWffx7;GIqZ(VB536$iX(uLG3ks@mUOmM$=v9DW)OCY&DVHAd9cH~gh1;r{(j zfs$_@M^OYk!vx6`ktOXIYH*(IP^-f+-%ZL(2H}CXH~i>2CdUI3E>|DI&b7b`(%pD3R%1 z5NLrToGZN%5Yaz~ST05KkH}Qn%@|Xn3o0rq4J7P6NEPBQk6NA2L)+(N zd?s0(ea8GD`qwk3hrmsdV$$*RmBmFZ+u2U(W;O2bKK6T9gGsyGm&n8mFr#D-GV<{IeH4rb^C|t&iA-{9e11qu;B}*8ghs}yY2_0en z7tIyF!w3D_4!Sp-W=EQXlOdSUf&?$iHHd^XPT%YJ+&I3!M^g`RVWC*F+}-3^U~XK! z5EK|LP)B2bQL37!#8wT+bPpyFy^`f}&)mnaIBgz~z2TC7TSW_^ zM2Rs%QKBPkq6Jn@mf|hNyJNnI=U;eB$I<0Cfl@p2uqqQ?6J9_J(7v=gLl#R%3-lOt z1?zz8$iLBtJGQ*WT_|+~_`$c_wufCy3kvUzf_3}*otZ1(kCTn6?PF4|`^ zM3p>|_RkHM#~Go-kic50eihnQEC3vPD_Xf}$MERB>n5d2N518U_WO zIS-QiOhp@nhdD-QEQ`Ab+t?AZ;LZn0JU`L9isVEnFZskGYvISjK>((yf8Oi&i z8&xwZZpBcpTV+c)f4*sJdr87G@8=VhU%z@xLk?JW!#_-q=)U@VJ3Ew4tSV0=94shw z>Ay;4;JGOMYM96wH%w8(|ID1qiC?k3QJhGGG<$}SyLtZ2rN;*_vDhdy+zpo7no#mV z>WCh#Rb^R{{*>1k>$VjFZHbn`4a-PVP%S;VYVab>PX*<}|k;sJxN)vXG$}W`WAW)nsk}K4bzaQr=|9g?vl3 zToUaS@!#>L2xE7c0?yRJCvy2oPUx`0KUBW+@?De`KdfNqD<9$&43!*>xk7N(7iXXYUJ^F8EA{Oxy3 zCU+>Y^!g{CDSxfW*yg!!b(E@=df9Ww$vyi0hyPo2Mc<39e;L;*b`IneUV$(E7F1eb z3Fn4_ub~Hw<(fkPG^qe#qCy4gCu~(e3OAKVZjLmE{vu}Lm^y-YY<9n6v^i=W6@%L} zs{)SMe%MUePCfj@!y3oD<+V{**)VHD+9t8b!b&2}uP_rBAVG~0MF0()j z31JE+mq+9r`g*;wd8=5K*6UOON^gm7Auv;dE+RiFJ!8=7&J`!kXH=S&X!KVb99C@g zL%a_w>Z~|2r)`SNFECzZJ>_SjWOdnIa$%H)Iz9uz%TZAElF%Y+38xZGhZ|f!R#R_> zin!7AJEpNzmWpF@6sijM1_E}>8}l5bS(@aSRE&q3@`pq2 z9G#u%LA-6Rq?%jh?ng%}?o&akFk%^@@j>coqGV)zfP{Cnoi)Zc zA9l&ZNsRKI2xh0$SdZ<&C5nMqGI#7rr1!2n8`*vaSY!x!SVnw*NzQoxew@aul|vcU ztAzyxAydl0PxrNO>O7c`ZlQ5S|8a|JPH>z0Ov@p~8cDjzO(lafk%jd^KHvW5;`YyJ z$l4*baahVbpn8(V|NCHpoibxG!gT!9THk2`eOE{UHehrq5WQb}+A>xlX&q?tm1BC} zC{COwJ8bQ`E9@tzAZwzs)EUw=SI?>Z5+4Ea*O~xC>56PpIp(Q;1Vf z*9OTtC>fOH6f+@`tQR$nAKYb|XGXSz_tAe4{pVo17#O@kaq@X zoaz|#7is#A&^#0`+HSSoU_E3P3>TKh0KE}hj!m;0lRi+h&g+`h0`}lL9D*I(O>Od` znir!~eqH)3(R8sZ*jlR)GH4jLV5fDpRR=;q0!CUd-dysnX20nyKp~vK6 zEmyz!Nm-AVa$Th8;Wcw(fR;C1 zy&ZcYZTQ23FNQt__D{OBsp+Cwe7Ro%HSQ=4XQg|x4p0RC@6h{J_H*(i*0g6jr^?;h zBU?xeF2;`nlMHc@wD1P9z>-#hn}79C_X1%da<_0keQ46ZqY73Hbq$amybIM-V-`Q) zU?~oNdFQ1~wEhJiaZ1r19Agkd3)22dIgpKV$r-fB^ocOiFW%kLqrE;a)ZlR$)m{z- z^_2vo^Y%f$%W+o6lSL6_T|yNTE4m9=`dIMjZ*fUfYrWWv5yRuU`il~FKgTL1Gwenr zQ=XCOBlixG9F&)M1G_&4#6)_Jx^Pj_M1QA#dLMXaP$a_JlXop)j!kDhF-tIqu zOWD-BDV%#A*ddXyPk@N25+v6?7C%!Yp)TUd|Aw}7=0edWU+Ey?+7qL|cMgAC+rYAf z^HY?2>KMFzS!bE2Vc3qwK&&^9^0Qt^W#%5XZ+Fz>B`$n^qKe**VRdne=Nh57vkD!6 zvp_h^kH?mNP*!ki~n_{t)gfCIliHM>_$S%!}Bc`LT1Kf54H$1*j(|G*(W>q1p z4-fPD!UI|W&GKbxj%2v-?Zjq4Jyr^HwR% zV%nK|mF$G%s~{lR);?@SSQ6nFZjG?~Oo19=pmH@r%t+Q{iYf$60EC@o*;%6!v-*Ju3!Q7|Ggy=zSJ;Kn?%Q_mvb{$fKfcJf7rb}>i)@17r z8>utO;AN)m)dW$Ocq4h)3lDo$&``lX-{5Y!sEgMPEh@|d4aFLijtzu_cTWZTS8H8! zDiJaZbx7(RFp+-eGBF<1rhSPDuAuNQUP%g8{J^ykS+#dN1_KjpO+1;D{5{f+Tn9z9GA(CIq>kqLXPBdNhB8;JoEgOJN?eN!S*$=EiV~$2 z-LrjLBmLD4F4<7y>GUn!UhL>FwU_HkR06&(%~_#F-axAJxHlj`qdEs~pgA|3P9y*g z;{#ovwldG_Z-_mg({>Kv&=oDJHOG%&DwC&s#ydpY^s?R;u}!ZR(DaKb7m1VI==Vx$ zEy!Pq@!Bl3tGy^lWBS)OT0E58|Iq2;U)GN^<9GI`qE6n|JkYA2Yq+yiUFQxY1PB#- z)!NMR+f^79$pEl(O`^gyv??JVEZ@^b$_2$FXMZ1AbuzOL(Oc^Xd2N>-`G$6DGA}{X zMYp!rX4i8d-US88V!Q77qPOV6=cgmA>B5r3Mro2AQ2tyZTuSYzDBIa%fyo*KshxG* zoqc03BXEzV$Godj1k&2KC&cVJR ziSqid2dimNg~#?4y?kpHV?6U7_5RNX{X?bkD}5xE%UTW|4@zU`SWlhYKdvIj%Zhk3 zW&C7g;dQZrquxrVb>TVfe;p;2*mCSrM=L~&XADmefVOQ{z)30r+ zp=CnOg|~Zn(5k;Rn7a{tX=W+0tHvchX&ffm1u7+MsFQ*L4Xa|^B9HV;RO4%7Lo3V} z@e`;oG$kF=B>r$l!qfHhK|>%p7Yj*qS^4t3oFHM)m^zwjA2J1j*3D;N|4npxzs6Xi zo}ZamT~-2MgZdBdJ>vv%@c1#&3nYxE1bVFDUQetGjW~{TUdMEbb^V{ z`Kk6Ox;8TRf#H{BCN3KL2(Rbe(|ktW!R7 zB93p2p@e(mM;VYrxVe=pPv(2KxNvQX*R+!+I_|09$Ygq>)&cBf_@m(InT@WyS5{%J z&VCPzJYU*qba7UII7IK-&fjowFliRjd1t?}vGSf-*bCo45ODv(r)Zbq-f3U01;4{y zYraRq>H7QS@{hh7J5ruogKFJvNkRwAy?DIsc$rovnaJas#Aq)-?{V!fwS$GsQP!vQ zY-71m3b(ojnD@pytvvfc3!ti&5WWT{mqx$(F2vTdQ=LN{yY|{VQX|u#Xbrf8vi@z^ zizc(AM+S^OFUmLm&d9hHN0QyiKIM~lRN?d^0!F49{fw;9$k(hPq4o3yGcOTJ zly?hx3$d7s{Rd5be9wOGs>cG4)=fLfi?1OB+*?GgNSAj6ACtM9ex`;H>9i-9hrO5X z4SKtZtBTBd6J%|&gE!i31}!G;AH@5NwEH@RJ{IooQ3vb_OgTYHC+2#l^k5$xc)>Yrm(aBb~RRQ}3W6VvBaNQissoYU-jkn*P> z9y9w{1A%r{m!yvtJzoffm|reFyUhWzmz_t3zaLl@Jul0RhasY#+0y4&GU6Ku9?TToUDxh71;DS_^{D!ykM-o_?NFAd>1M_SJim=|GY2X#I8|wrM$x7nAvQ>+thZm>D!#+Bj4-#8n+eL zC;Td=H`x+MPvhcywB)br@JE+Lb+(zrrDX;}s-_nnml?Dj=q%L(nOu$91wIOz&=ZT& zx*0w)(TIrD5*Spsr6_mT1x~6VI!xn_pLOncRZ>`JyGF5L0-f>Rd;$E7a}KQq&JSFe z8|q$F@&EPjWV%-2{3A{Fs}i4od#}H(Zau$9ui$2d*>eSkk4*2Yffx4|+x? zw+xR#>ssmGQ|l+D74G7^5B^SkPyXOYL{?Q^-gwuG15Epqze>FdR~zouO$qCyl?zTb zcq6H@e*qc(@*|)V6L#@fp7O1c_jk>>M&Kz^#}lvjmy^|*xHczFO`7jripTkXYZ*}G zbYo$8-~&B1`o+hJ`r@m_FNc0#b_7=lL(TGL=bw*P+KmI~iLXUs7THUDuA^zFq7&`3 zSHvd*F&s(vV?^t%iZYSp^^?KT13s`)NFm%^h zDAb^tov5V8?gM+Lp(^;%x3#}BeezikPmJxqNyQc3uRF3!CH3u2;pi;Rv{f5}j!fnP z@tCb0T}`jOYV7=*=d#ytB<4xG2bH8{ZI!G3@<*C1JZ16+vyJB@j?EbB_CW7J{tLkP z?}4${DpZG~-!#`^lr=3h*3$308*MjQ^iz`I!rKU?-&6`3y;#q`qjq?BT$88BN5$!S zBVRmU;;~||q^PFR4h96=o>U z2>~>&G%P&#uxC_1(A|Ne-^r&n_6B@~Vm{xu*V#xzySeAt&d=+V=mdvd>xD}V9!<;#wyVVvtwM zJ;#)FJ}WG&a5Fu~?j@?o0avow=t!0FEQMqoC%kB=Zm##?XrjX!(r#I6EmL|(&RDA{TGQth zmvJ#Z@PD?WJ8>?#%_jxEwM(8)T(e$|J;NIb{^+^mThK3AW4Oihtm}?*VLHU|d+E0t zKDt4u;fL~G!P>o%;MU)y8X(3`pW-ZG*=Ze4?BEQYvGh39ox$uu`4D8Q$1k2U~R%PR!sr=6Cy{TAfNJ5E8>UWrXsMB84 zWDOU~-&9<9ia%xLVONux7q!6_pp6R0&#K{xRKhzrFWM&Zx>@b)1H_G%R zGAA+3A4=UK{|^lnC-C>wC3C&K&9E}Cp(D}P#$z&}84XU^MCfUg{yjd^r`}%rb(#!B z;YxbIGg>f<)%}8~{^LH%QGVyJgkRE}blO^Ow}EZ+73}w)k8koQr|H?BDFb~v^3-r##4L+T=feqm{|D%lsEFOMi8Uh0+MIGffS!Bt3`=EG3nalM3J#s<~ zd4Zq`SxRqf79lrvs@2C(1HM6$q7FQrNhMupEj~S7tS>O5N8BpIo@QX6x8w=m&0NPE z%fSbSp3xP2(4yi!sNSThvF(oAxW)V8=|(`%4|{^h;5pia{>}1avNosye@|tQDBg{D z2S`rQVN!S^Q+UYX;vy1Ur1)(#$a*AOyAvEWf02SA7#jfqDHaW(JQ%J$q}iDF_!Ih% zZrH2sM-09flAhLq>Xvt7h-?M~xPn*Zg@W{KwD{+^G}Ox!D#!9lxL1YFBJx&v{{o-Z zE%kcfgV^oiu9VO_!(q{cjBY8fP;Gvgi)nXnE$%w}xxM-n+^po+ov=(9mYLa2aXF!} z74FA07r+m@Ontaw9mSG%Z8m|L^uZ#esmUTE89yzB#^y!!j29Ph)-58De{)UC;o(5z z)H{*p@01OKHXjWaGz~9f?am|HcYs2IIyNRA$6g-#N>0?LO;L19+urQ53eaYZx>Q*n zasGvpc^29n_LvN;e?4ZkEX*(93$|c8m3=VT_=fHr9EkA&v(pJN6auW()(<_ZS1{Nc3^RZ}?RyC089A%njvcH|_ z4OC%hAbL}@>x4UTC%LPO-K8YK2;+uH*_n8YT;*g{M|1nr8**)S4?RfJ=m8s z3Rw?r2-MATH{mz`HL(H>VxURs+1XHA&(XEu>60b&JHTxGk)K21%-G+YWIR`&pr9$- z-!rL{%Sp0M`sQ)bYN8U(O2R$DBcC*m3k`d&#GdJxH;-Xr;|Dn!o_zd(cuEp7q5Cb` zA=bA(lAu(ms`~BwNtS1AA(1$bk`SHwcY7Yad5;hk`XQxzGS=sPOGYjAc44a>@~Zu8 z8xT|of=Yte>L2L%diyfQO3Le~eY%$}W)<^0x%*cIV-(K`>mj8a=wr?}v1_aw+G?cY z>=cSjcmOsE(L@cA+t9Pp8NeXV%M{+m2r;Xh-9RBo59H98^9S6@;~%S?ibIevz6h1C64RHq*j)O&cTmsTz2$3bU_ z9RFb{<|3*u-@mr=;9$Z)%bh`CCJq&98{iGL#Gkct<2Lk?+g-#($KzgC;Z5d13RScv zo8P%5CE8+39EbEj&?3puH(`yP78M+g0r$_j>KA`6rz@HpMPBchhnMGtAF%k=URc05 zs#%Fh=-p^~jo~#UmzbDauh#Y0l5p+u#1PXJKtTLK!?rci1rEa^bxoy$IJCA`N+9o{SfcqqKsH){D&hm&3nC5-OE!?|i>$xm-{pm0wps6{F=to@{Rk zZ4*6372>KW9#S~X_I7ql{Nh~a38|}5BFpC4dqJ}J4(Cf_3Y8CsJ4{5x8t|7O|k1qoIL5BOCAV1ugxj1Q(5Z(eoo zy>tr(RGnq#iE!%9p3BgGCCH}cnI{O}+&nf1C%;YwW^>^IOeWEJ+(wYQcN0S1&${!Q zq8MiVV&jpIw0V3Ns7K%8y+aEt?>+z7%c&Xda2n=Oz%JtYHQvGa8uMy}9kcZ&o;o!O z6KLa8qT~_n!SqyBQg<0~kJ;gaaED>^o4{N0_qoqqo_#KgiY?X~jQZJ-tkQAoTl#Y* zV+}R40ExlJT)W$I*z_~(29my$CoFyCyKkPwGzgPyA~#tOSemK7tG}Icc5xkX1uYqV zpK6|ELQd?u6scXkeLr@`iH)S*kCZ)33gGH3+v>c9LfjWgZLl%(8=|TV;1xD3I|u@= z_QKJ;mKi;;n%mUW{>&#TWaHMx~sva_|t$rt!H53xLPuse3x7D>dq6ZBr{*uOTc*;c2Jje(J0NP!$1LfdxbY9E>-pUPFmBHw2LBkgB1& z49GW6a?PC=-}ej{{W=2{a@k_NV0j^#j?OjN=ZY$@2%GmW|F71&cwuOW9qP_97W?Jod1rl|5>xO2H7^0icm zTs+cpoJQ%{*UHSXGUw?Vl&|a=W?a%f43e6)ziU~w|sV4P;#5yo>%sK9&qAcgyR z|AK!0%$YV2^u!wou)nZLM&L9SV&q@1F^j#Bm0zjLJv^Lr3-0SV9y06Td}#r=k~mbP z*vfC2u8y%qEk!=pDHR7nCFuI*V0Vvh=i~$$(rR~ z1NmCG#&T4qN=5nB{)GstR+rB4vdIF|^RMcLUYinqyEnkS9&i~JvJhjMxRr%X34hf5 ziDyHK;W@5Md$9^hdJ6u4B$@6-0m+V!REZ^RW~%P_w`M)K6NG=ia-^ zHV-b{0@_8H>}bx}j;e+%*2&rh>~f&orNq249fRF3&y4r}D@fneK6h+c=faKh z)MMm;s-v%xBOXv4E)FtMoS(d%Ol2ASa?5v%7Gh2Rt@7{8{DAAnWZ%1>$Jci5-gs^!Q)!TQR9-6;;&sX?H$a<2SS5h*xZ3*eu@Z=%ChzgQ9rrEu;e{8 z&z}H7*6hW5HPctXEh)}bj%ncz ztGUX{Bha9PkwWkmlF?%kws&>?#b!6h>6^5L#^q`Jv0rKy)V}4-YnnbesOzQ-Ddn~f z``aS5Kb&J`H94=kgbR;+Q(X!SggjTUh7^=4K%v?^+!BZie1s!pKUc4x z-pHf~bo4S z$(98P@v6QS`38tXM+nm`JDGPS+-dwlbG5CAybbWBaCRs^kCr->hob$h2cj@9OILWSPy{@KZtO`|`Nfc>}Lyk~Ydp%ZF zTe+$uOGiCSHl_jpQ#!iDy6UjCWRa%o>&BB6^~1&n5WgU3`b#OGldAOW|Gw=8&QItc z`+6nGCRjeYBf+KX&hhA)uGgJQmLHSq2dA&nNwZpd{#HCU#9pLQ!x}Ss9u2{|{d2SZ zLNn>?{x{dJ$Ni4}^CJ#TRgTqSGxNCoiFg~PKJR#IW$^dt7{!J7R`yXvUj1WJ@>)#M zBu#@Npfl<|wnn*4TwunrY-#gQZ{%+%S!}Yv03b)YbhAs5eY6p@0SH0nAGnVJH|Bv> zX&6XfzDT1(y5m1|wNuzY3Gzz*0x^gno7-)8JLo--)X+@)K~*FoZc+ddLc@x{8~TK- z9TjlK9cJ+_nJM~6LepM%ymsr$guVT_yv6rS;?OakD8iVmw_SPj5t`_L6YW`H-E=0W zx-$q*lpE5rM-rFASk+RejiDPav4p|K{qfTnFR6Lu`lI^K*tHnfqR_2jF-K3Inr$Jg zsw$Nx@ZfdB{zjJ8x>=Kupkv_sl!C_9z3iHb&$kdAuSIkY>9P;oH2pWBb~bRm`<0O4 z_t}|K!T?BP;BSLfc48*{QScJeG=CTHZ=(-qo5KMUy{Oa2_Bv$jl7>?H$+H{sHuxhw ze#Y=S4zt$*`G=AgnCKFO2=e##FWTVJB^um!F!lHL7CB0MAAS?mWnGZ#PJ!q!a2v{I zhYOAYS_d+K-P6KY`3*iJBfh(EPShI;K6MW|drq~iJazn?24c0`MfdKX_++ix@{+Ccy&8!)7C*pn_fgDYR}?3YP?(H@^Q z%_2}NqU4`W+=>%(ex>zq@`~w`HaoIIxv`@oB$PR61wSMocf|pHwppfiJa0X+<+@Wa zMtcQkCA@0pB;?3EbTqP@l-_a4T(TpxHHG<>Luq1Uwi17(5~4O6EY`9q*b4*1jFFB_ zKe4S1X_*GQRlI+eCn?w-s&Nca>u%2y6qKW@mS}6xuQ%T~WY;p^gxsjVvdrO-CEP~X z82(@$VW%q<3gOrobtzZb0biZAZW^iC0oqQwl}wK9yxvo33Nta7)9T=ckiBm|IoJ3d z;2qgyd~Ja>ic_`Q)2Jv5JgVx;5uy^^Z+^>bMxk!6JS0u9x;m}C9|Dz6Nr&A1G<&rC z<8f!;meV}@rhULP(T_@cYe)nzI`N(PJ#r>`N2=*HTq%&> z*f$cK=KIQ@8`H#pHo1-=#Zd?oM~w_!nCmFFjFSO4}` zJvUEpWerwvK587;^5K0%mD zjK_rbEiH8#P7T*K(~o3+nOIab#VUmb0D+jsUFvd zqKK401B0J?)0qb0`nX{n>i|T7MKI~fMS%hdiKunUGI4z`O^L0|k&4GAtdKsr1LJV_ zHR0`SK5VX?p{pnK;uu}$i!Ff zcHPAN=J(R5Z1skfGIi@r2u2$jnY2mTvM`bYlnJFoLBJa&WRcU&9 z2s#aN^?a^Yw)9yc3qpv%bnC!NmP~&mp<_H%j@l|-C?+D>Gc{aV!m(eTl2AXsF)))} z?e!nJrYidW{p|c)Hq6z&7GrMT*r4Q^pf{t{8^zI`fx|iwPfv(9%cIM+vX3swmf8?v zM91$%Jz%&X@bHTI3#{&-?6|ySxCF12kXnjY-|=|;I5xfVY&%Q3D1Gt4pAa8I<_K$p zz=eOY_Yp7j47w2&{HAsXKoR*L{Isxi;7Yjl@3W2+9Pg`noH>_YjU&HViz&~w@S+Xw zsTLq)ZcneVbfEchO<*BL{dySp*y#z4VTG)BvRJ=!a>fPM`7X$TcqMa@BJk`kyW6mq z%%DH%eP_`f1GY6Tri5L?h``+*o)=h8lDcBqJL0yGqWWV$Gmo>fP_$7M&3%6oAAP^z z3rS0>{{C@lSzpmM8W!4buY4R@a4suxHVg2!65G%eiJt9>$Rdh6 zVXdb{#x&kF=B!OEysRwoGTiX&TJI&qbS}df+((Qt?u4 zb<}XYiojUdO?lw4DIwt9Lv1Jtno!cA+Sl)EHQoP%$p{-L7hWA_MLldeL&iLhx)$U$ zpOu!ne5*6fb87w3PzY$BCLHg1ErB~U6lU2xI%_N;>8r!|yhi@k9mbTH?RLV}3+Ur`m3jntM1E*c zUYzsgO$^-FvcY1mDE|m*anwY+>P8xMAVVl4XSS4-w)6=*rp_?!j)j|A^sq$x(QkER zLH=upQWjPdaI=7X13?R?N5E+so4J7xkSIEEwy*GHe|r1z-Zc*GQVP>uTRn$O6(Q?# zgVyp%uldc9y4EEsnH&_0yzL&7Dq%ng2fZ4ewRh0DU+e!!Qo64%Bm&Ac2APbFw9$J8EjK+7a0;C< z;?HgL-nJ?S=#d}naN92EHUcl(l0`KVu(Q_GcZNYbL)O}vIH&r{OqD-sI0BP5yIfCj zm-baHG2G=pe#fX#Lg;Zl+oYOqbN%&-nQ;B?`I|l`tk2f+^b}+_q%58LrFZI0j1A{1 zb5L%9IGr2uWsf(Sx)-zuw&2=lIxs!s(2mv%lq{DrI1{Ce7>mATLxB<&I!}I#1jumW z2;O3tSah^q<6M6p{PC!B-Oq##uyL+^WS!^1BL&IWvql#0J}KH06KlVb*TKq(G-awB1&V@&0)b$%aUOXuj@``r5?pbF%@IK~jW5JY z7L8#zs3MD=_q>|*QK+=k8-n{CUeD_tI9+w`PR;=E5eNNFn=b@XLzsO_OJA(#(Xl6| zRo7_ImBJ+q5Gs+6d{031m`(k%ZmLBCtrj*w@xvn+5c@awTHQTp zr>RW5X4~ojGg2@3=S@xPBA`XHn`*0N$6FN$48-VlGBCh&fFTy89aBOX5w{+*O6-?x z?{Er9)QzD57*6j|5Y$Lao0~Z?b&tzqr0yIcKM(W?xgYzTCr~dFcrQAQQ6)&Yjsd2q zaCW#XsWmehmen;mQR-#i!GFD#3+6Sw)R`+c;qqyIH8f1Rk7$#BAnm2}Z*?EG<)vzs zL5B*HXJXg0_UDkEe`lXpHtMN?1M>IE`t>5=RwjlDE2^!Nh+qnUOS;T=Ueu}t_n^3t zvP?$888#6Nw5yx^yy4tnN{u-shuFe3Nlg5h|3mA3%kZH!urbDh*&tkcpL0cOM-{L9 zY$9J`@0BVSney=i`k7kgC|jT1;fh~L$GSsfOTng@S*wP$&1a?4pjvd;ILhT%=7x#| zv(d-zD%&p%bk{2<&{aQn0uHnUHSKx!!;v(g(^RRV&m3iLzPYf9$ot7r>b%irJFR>h z=}p5pi*{SvO#v^~PI|jyIAm#UVG3r_%s_9%&zp#!qf$TQIpLe^4{sapZrKC`Xts`DDi%s!vHG*eYaj0Vq27e4F>Txqw!;Z-4ikE3@ZkJim-3f9w%J5?Wr>OO zdT)rf@?YcxAK&w`6{=#o^G1b`p7zA2aQ(+*!I<9r0);WZ$&FDUYYx|dyA=f&Bd)5l z?*EYtmzP2D=rJ*y=e%kv;WU)li!~){)o{OUUn=X%6;E}$f&zA*r<4Pt_qO*Ug4NNu z3U>Wj7NO+h%g|3%cSkFqk7?YiaCq9TBV0l#NgkWRW+CSxCu|?w*KFzg!6VtcOD%?X zN>^rWKO~4;D{!|Socw*Lzec?ykKQwE*{)m2tTE#|@0pylP=zvx0|=|~lX%~MpHkON`L zm@_c$GTih?Z%XW_Vtu9&W|oUsb?-MT&_z}ylUL6D8)QeXA@#q! zy@U!$`2x{ng8C|e7Ef#TA3*^d2Iol+2}8K>`l1R;__F8YM?W77+!3g!QzXazhprbo zlQperF5ImD>3#&6rhA(`_@yeopy*m0n9%5vOkP6y1nKs#hg`vs10m)VW z_&~b!XxPJ>W(m=S!U=1&THF2)nU>S;iML-5i5$eo^ zaoLJCu$Hf$vV5#*mgzWoZ_Inov>Wo7xH%Bq{eEiKuFG3?3>O?5(%wbUNiY4D=vp(` zbHefoPan9ZnVHnQy0?C2P8;}?@SKqF&=g|uTGJ@m;VrMt^FfpMzf>m=YNbE^_)<&- z^vS~G6GhXrx;SB8q|~b)V=f|C?!zWftcni}o_>;b#P+3gwU9^;E@FC&P54XI31`2l zU-+f0?8F=>&8J_$>cF+2EmwzOSI^t#Bd6Mu zyrxo{Fd=o|8*&t=NW*xY%(f13m)%s?$RbFYir?*N5*N;@$ue$etj=9Yu06h+xveya z?@}UuS2}-lbppqZ(Jlw2%ZBJt0u<<4hb!Ft;hm!%&EkoF83+r4#f%IiU`6BhQ5aL_qy+GLBvFHZuxrhu(nLj zZ}GG;(=zQt5!2F)jKDfn{|5Z&{|-m}FNyv+>~Ph~js@eWUd7*LeukAYe-VT1!X9@& zVZO}p2kSvP1un^*?$;K8AQ8X!K>}ptwLbtLR>;VDOxo`Z;PHX;QPcD*e)@XP}qy$>XyFx0BiN4^UceoMq~7)D`oD zT(gvAYyzKvQ~T!~IUDo$aK}j)^=tI0NssFL$YC(U0q%hba@y%s7BRT8Gq)p*eXs$l zE*r@Gag$-qcs1TSi5`1X=}M96U@r76H|DLV=J=d7Sb zg<82lfjn79vW*2vk;4C}sY<@!>TrFi9mfn)m$=9wP!(g~#!+#5kK28EIr}O}-KKZ> zJ!J$s#0Ru)dtlwPey3=RO5iqZ7`LyMi`UvZBte%VS^!9E`#fX&$w~#>-ie^kHzd%7 zBMWsIz~V2DQuF|Vp_3o??=iEUR%2{jSBO!s37DvQ&3~k%U;aS=@ zXQ?m4PIh&}rhVLRBFcGoT@~P{F!c+GhSjOoP1P*2Okbo3g2DYJ`&f^zH0XubU!o`P zmt8bVK7FL5q0}QilH|^@J>V2<=2a)%x4B{-@jI96v`LM-M~<*~A?S_`f9DLYGcLkb z2uCd;<2okxr#8WCSP0*hgJ5Q>^+O(2Cepqpi$WaG91c%^T@`;R?Uh#c=IVlukN1!Y z>I+>M(cE#YFNl^I6M7tv(!j+ zmoiE9AjAQg%vF9JHvB(RHUo(`7Rz-gYtZ$4uDz}%0y>;;A&VFTP~hPZzMm~JuB_F$ zlK0I+cPLAIv{A8=tJJBHt_inLsHg7ffVjJG#&~|+TyTMn)yAVzwE&pyb!S{2QU~GG z5uhJMQ~8D{eA=MXECe0Bcc`n5|I3Cl`8jX+(~VH))i`7i>$}%J57gGlufUbzVQ94=34^Sw5n|n<*VVe#TC~B46{)b3~GD=U|n|_G@3*~ zF_trDJjI%%m5nb*6N$H;Z>{3>a@#)cEqcs)zur%4Y)fU*9fiL5L4}cs-6*~wJ7klkylqlP=25Hu5IWtzHj z#ze}K@MpWZtvbd%vjnv3NtfaA6V6drPE%U{IQox;Nw`#^gf z7kAW@1HDUEKXr_mX5aC&^>jZ}2xGbqDb)MO-Ghu!qR_xYmR(2lRRyfkzL7e=E-^nQ zMu*Iu2Cl@WTFn{N$-mCd4=k~=n)TnpNR{nM$=phx*cjR1sIP6Tt&hpcURb$e@-6+! zH_!6utCb0tI|HV=;t%MjT3 zD0)|OO&a~SZvqQmvO(}N+k z-_+UN0+-^WPi_i6h$EF0UNK3CzB89GECmd7RyqmdcyYZli+qm8>Qut;iPe7%7c-@3 zeuQ8sC7e7M4oBfZ*ISDaI(Wydl9^6_`_j!L+}gr@a)yOzeDL|s^f!H8c~oL+x+j&r`$T}yMT(kd>|VI$ z%G9MSF!hP@$yFvN80*BjKLui|&;83V%S9>Q;qLZn?VDN5Rmu{7XUu-x2HtYg{#VSWfjQ0el7QJn!{l%w77`Xr8@i3m0|O$q7Yl zK5sjIZ%Wh6hpKAi@>;_&)FLm54vd>Ykb8aCCCuNPXg4#ttdiGf@-}V%Wgr-WB?=;~DWHP;KM^FjKUzKiI{t(VE>b>Xzf z-)F707{IS^X%hnK`q2b5^Zn_MP7%G|a!d#IoKw%5oFDGFuOR1t3O;hQ5H4D(+NdfC ztJE%R7Dvslk4GNoZ#1HlWL+)|SvHW$n+xGBtmFdpg@=}y_d)JoH|W>MUGeTJeb+oU zkZfeBl+^O+zxRKVOEC;F3yN2}FX68D*F)v|B#bFk*mum%Aic5G8D$H!)*`IcvhizU zIcbKTa5~cHOyW82vpzCyO$(F)zDg3&%o8YNtaA*meqbK(N!ce?k^-auBY8!P>%g%* zk4-<#9cXEXvFHWR(Uz7o6x1a2NpLk7w0?4Bjs@BL9bU$RwO^!y(5mF$tW0LMe|Xe%*jL1j&&U$lm8%_g8Y4i@zkpwdRw|FpcHA)3ZZ4 zG_URjc}JR-@|SO%AcM*4m-aWr2H}zTT*5}6s7pnhLcHEeod+g+{Ha|8zI}6yGJ3ID%JpcOP z0?aYp?2UxhO&5z#OaDprS{8Hu3KnSLyn>WK%y#2y+&>Xg+;7nA-~w{^Ei*IUlaI)& z)Qk8uxA1l}6E(Q>P{2&PriLsxZ%xfGN}q7#3(GI5YVvdmo8O64SgA>p8F;ruAT22=(e02mlU z&Fcj}Jw1LdMSBc2vnCM@!^RU`~LM{^}G#jBUN6PP5QKeY&YKsGHCPBn0O8H|Rsq<=Q%j^S99-ehHU@hRi8U^5zkb%(wjfS$xl*>cIP)rAG;Z|hZl8bqhlV)aevJmcYtkBo#+2)Cg zGMkG(Mz(VO9o~G@JPT}>xh|)tG(ehCRTp%VO;{IhoL`(C5Kd@vf0n!uLEDU_p5DV_ zYn%NEc7tCJ45R$k3#+62rmajV;5?S8Ns8!ioKxKNq74;BzJc)S2D7%@uf<`Izma!G z4-SJRI|Gg)4~DjMFw8KSqG>IZ#}fJq!shmHb^T7RX~M+Zkg!3YhpZV;R9kbVkWkm` zr~#oo@=N2UNx{buODoNX5N8ahPl;s}4RAn+c9EI=%pR2)Y6tbj+ng4ulr2lDY-}A( z(ZL5YOo&{3fA$^fV`2$Y%)@Tz1yw78eh5-3Y-5npzCD9(AJB7WnW7eVO&ZizH|w)d zPunRIwzo!JCn%h1CKu2C(*WU&qc$CUT8h@c{jI5uVY0@ykhY}v$(wB@l|pYym9Crn<*()*pi@{KjR0lQO@}kyo7zl)Ef~VCF9HlfL5miIK4&v(^{mnS^kQ|n7T;Z zcQ;L_v~`6~oynbj#w`J;qpI-j;Zr7CKn`8<6@h65@gg4}_6cIK>YOy2QH+8Wh@C0} z8CEz?I>J+`-0{tSTRAsQepJ=^MpcxYE_I5v3U<4O;88rBvp^7GyxRFQJ~|HNLsbgkpf9P6!f2mWf7k&8{h1 zKo$+Dp(5GI(ijqwASq4^L~pNs9qGt^?c12V^l1)h*Clvq)!*hHJt652B_9ov6654c z6E||Sw8|H1T}6jBpx5b%Y0O?v!dM=aZ9SOLD5`JUg@&0t5TrMoHjgxd)wd1@_zffU z3pOUW$?6Xjvi@-2cYVoxp>|h-J>)lgT!$HfXD(6hr!mDmT6h#XpSsC``ezBT818Xk zXBq3H(KdtJOPpLbct8GTxg|uWB6B04x$pAUf$p6vHNl=I_Vp3>fqE zR0^#sEh03FmJ#eza`!*ubZ(lo7wo$=)sTR{r!IsT)sMecmS@}Ubi0wnm4S#Z@_wD5 zX7fslPpZ1GUkj?xTkq3Y?WE5h7wt_I(^V4~!CEEkTQ|`l=vXooM5r>?xgJt<*D%!) zU?P%34ryeEE;G_*lvBxbRGM1C<*39ICTkfQ-??>3w37dB54ES79>UxPH^_d zu&uLKw$zbu1hwQ6F`5XJi3a1)5ul^h_u*awExC@AndGdjF>nO}NGOcIq zgu;*C>PL0}IJG$m6RRpvv>n$0Vxiwb7@p_~buL^dUrf6b2+sn)2p_6S9%eTjadTB* z3ZAHY`y3$s_&&{ALWE1UtxN}N+*30@(k+~j9w@=slv13?6#GN< z@)#Q_-YPPN;!fo~)j)U|kZ@h7FeDGTGd4GG!8ybbTa&6sc8j+UO3+e4m~~qU&p5>d z@qhnIl4s{2>q+kp*Q?=Qh3UJUFMoWQ($1E-e)Y4zxiQ> zCrTRihE|X!LC*jSrV#a<$v*NteHg{1&db?QeF_d&7c~c9?}9V|yZqU|$vSrSKBc-q z_Doc&S!%+4KkRrAwB$Lj=8bZb78wEj!sDpKEM>REV73rwv^%xx@LFM4i(H?{qp^-+ za_#uPBSt_w3>dn`e z#BEtN%`2D;3|{(bUPfU|C2)r~TV~&W3rNxDHdxOnR*aG;1+C+;XTUODu%n*(-H3Ic z(ZLIb$lV=Su4@BvQ*&LcHu|v6kw9Y^c!1b)R4*xu=^QJwXkHZ) z!(_ZUh@4vfZ)e^A`4!a*mDgsvbY=N7OK(rYPvy)oiSAp6ysAr??{xli@cc!Vp>gQg zw2XpZ$3-mgkL!b#?n*6vGT?a2arIw@n_fW< zZ;%dAou|w6P=GQfcOrH^Jd}?kDNtt9wJ&)U7}5APd0!3Z`tt{^WA!zCqfXp~ z&nLFb$**7|#Wy`R#uTlfYbXJ1Qe63Kw~5`{SKrE4gy+YQHvieljkUP52%v1zvDVkA>ew$ zs+k#ttS-FWR)|z;_MHK`73?-RGf#J~?9J^{r!(;;zADjOt=D?A=dNoMJv+H=Y_#h; z+8Qdo_q^B#Oarmb#=;%P;f=Bv(9lPD< zL@ropE=Ioyx_yR5^3s0+a#he)4Ur`rd9!}}5W`PB?Z90`3IzcnLb>WV;yhf7eDoe` zL=X_%HJsde7hiS{>#($WnOODCYWhjtwc!qa%pv!%z52&Tm<`tai+cIu8qSGkx{F%y zI?iAP@CC9Edrbe^mRVLy!${b4gFxeHq}A5AS+h0}hqsCI z0eVITzml$guhkwdvEIT$Ui@&V0yxPSyIaJXOcYZfWF2j6Nc*sM>q8p^^2Sb=#uXaN zK@Vw@CHqC2lYj6d?2NHhlCisJ(HX{`m zk@jAcu8KCvZURTp=!}nU{y7{($)SOxM11piQCNv#jPs+hC|E(d%Yq&NBhbA+m2O`A zphO#10`&&&bL}l^lI-3)9M|ON99LB4fY0;3Kbr6Iv?plFb+It4-rAq#?QS-#Nn@UD zKF|V{OQ9o!tVp|f;hBYed}qd7A=wWMMK0(vZEvB>}eRijCa zl3GODBp%%~{Y5pB%TH0b=TwoEnSF}v@pby%(= z%{RzjrMfW!0_e6r+InHj5XZkB&fuc6y^?ar*b>8t<|%I3Uqo#Yp#3MDAU zsDknO*WuZslY&sOUR|NbqtZ1t+7R{MeGJd4sy%f+=idA*K3Sp{$~Rt&n|~s$KP-v+ zneLIfVHB#eUz>2~{*-z`n%tTvfxF3@i=2Ru^AZ&vNZgHXkt3&eLAf7B1hM1i_02~Q zQJ?6-W2&!DE_Tij>!zlawwyvC;;&eg29R)Q#J&spZHjE6(E1RV{`^!!d2hu;Vqo6K zmG0yXq3r0}CwR@4A*wPrAiZ9$EnC`>dYg|SgUY9?nG?Rl`8k#wA}S)q3ln3h+|7q| zzwRE2+b$fI-~7Px=KUfWFg||+H6>(1aVUWClJ&Zf@lwk76K)Cv8PM&vv&^11Be~`S z#CXz2`lu~qQ}e`!jce&{S!5LcdbF4G%mz&Md2Lh)bqL?QJcvg5u$>ibfSA|gA&n}p z#m{CB90?~=z2?{uc8i`z`<+S;dx_IZDz-9KB9&XH`-t|>M(rj!X~Us4%f42H$YCq> z-4ZZL@??v4_rKvO|DRuARp8anrA*>TWi5ZXtWkd-u*`xeu8rhpPN-D1*d`(`5R|l> zRIL0LO9zP4xk{8KlfkyMGsCisls7CfYcD-BbnCs+JCAW6$esQroSSZ!VYR*S>=L8( z(Euu*lX!QsG#@7iL}CRg*YF`-@D}|4L8Tf)7it>W=rW&80w??e=})zL8r)qk<|4k= zcyqam`M7uNp(9d1TT%Nc?zNvE)Qy?ntGZ1|)s;ABj(XS6h5Yt4G2OeR<7UNcsRo<9G2HG?F8v+_~RuS)YE229s+5@7fTQg&-C&u8@JDw?ws;m|0Dl7_QTyckQLcn|E=GAG}m z+UCqiljUY_R`OO&ASfQpLFYzHQefm~g52c($@JCs7)SDU3op$kZDC`99Mo?~1+MR_ zGP#JI!9`fu&KrwOj}N3?X+vjjDlrCeH3gt=(&BC z@pBIO{Z#dmgMo}61VZOd)@{+WyR~#ARJ7jO1&nXC-b^mlM@x$_85&n`h+XNNF60Jg z1!;h_pFgb2D8`c0UU*Uy{b$M#G@9>q&@dj%wh3gSZXeULkPUfUrj6(0ejV&~AISgC z%FtQ4?eSSji8w3Jn2pAp@M!A|n<1ZR=ZP0Af74{nEnaLX$wz3lSql8i5QDsp$Tq7c zq2C|K@*9uuB*@*Hd}!DrC2zx|`%ZqcF^1Rw(`L#}7%!7VAF6e7+0lFZ1db#~Ei#%kA&nBU*FmYPy7)4>m4~~^&;xB z6RHEC9gDm)=V7N|b(y&h#kSRUKU==$(Q@xas%gv3Q8#-d*Cl=?HO% z>^cAx$-!g25h(Ul!`?AxyC2&YPkuK+U92-d^&BQA20AC`96ybcoFpilPev!ARV`~V zdXXcZqfd{}6fU4q{fQQQDo^D>5bzkR`x0->VyK|xxG;A7P`sx3DZaMC4-W^i+HRyD z906E^5=2}(h0E+{e@Hk+v^3xaZNiF#}8P5i=3jLw3zTK)~-fg^B}XR$~A`y4$LVb0a;&`H2x`CkF-xs!({fx`u7&tdzbsqy_#YKA$9 z8!)p^2NEv5S2dj}3`fCn({X>pgrRcC_v8#BV<^sPmv8nCsXzyFA;@yf;EE9Z^Lz#L zH%KcwIOyTcm*OMINyVBns4)E$8^7wTxE`8$+elgaRN>u{E;f{cFODN_BO5moa(vnn)Phsv-j<{L4RV%m~b>xobE!I`2B0UhQu@)xO+;i5w>)!Kz zxc#BKSAVPD>b0wCSJf`~a`o@y7t3-AHr+3V!A^v>!DrI3o^bH&^{J!1Q)89(pN@a2 z3t++42_BUKEe?Op7ygqVD}+v$-`!}dz9Q2*WK`hR8KF*?RaP2pbvC-fzeJx1fKEp7 z7HvAbG7qOYG4N#~l3^3O@MDajGM9VkFn6T>2>BV~wIr6O=85b;85d&UKZn z+4=Xw+O0e2;0>jeqmdN(7`zV+4xf7s&Q74Y&`wL~N?!D=a2J;q@<>xejOLudmC8zI z(>LYPw91!15KxlPG!E%`2Hs_1Y#&4+i)4r55TiOj>sxfjB`T&`d%!^ix?}Bl`EE}i zDG2$yXWn!4S3*5woD8*3XX@Z5h14F@?T8sm(5K_Y1V|0v}jm z5chS#supVV%c)(x4S<)k)!RfU^b+mD_joMi5Ea5hSWP9QNxv&LdD22s%B*7Q8P#-r z>?NS1e%NkO_fdmMn4nF+)LuI0lSEWcE856vLRh?%l!t}S`=f_KkPk$08aXVy6`t`P z9w>yv3LOnz9dG!0-`NhMawOQSXcC3);u}{pB$z~0iB+_an~<9?7aDx(8}dUc!@Zz+Di~J7x@m%N@vsZVw_G;XQ<1IwC|KBUaCb+?^R(NCz-Gl z<21BgVk)}wj5>$qN|{?0LeXcD3*9>rhlsDUnAGzyrNgkiIL`MXco)+3BC-7RTp>1v z5$i)9kL+SAUc7}WoRH-{=f#$xS)iYO)nem%B#6DzfjC1K;wxFq%d?)7LX}^)eL8;GzcCdLtHou<=BwzVUe^a*+9iGcViVVL5ee#imoN!1R(96hz`J6$pkc;@Xn7^lY z9KLx>i?gNhp;1I5*~m{6=_s$g6g_!mEYH*Ohb%Et4=QdaXXKTp>N&%PNZG>1JVQ{? z)6S$gv?%TPCd^T?03BruvTPmNp$K)onFYzI&~Tx2ckl?EOuKGNZDRAxRSE4vl$I3T zr8~l!Ivm<)d{MeC<4Ko_Cr%hC%!8(#3*E_m4vkCC6 zspD4+R=7CT1O>NM=IaJn^bmAqI8{c~PT~uw{V{}7X_Q{mA5n$Oq+g`jJ9a?|wP<@b z$TcAK&eSsW`j_=Wjja?X!ARpzvG9NBMqDNi+V;IB-auwOEG^~2A3j%7(|m4B7-;75 zcw&#jo(1CF6JS@0J2^(Lrc{q5yL51qmw&aI^fFJ@D0Y6`o=e9v5=lMiWPcsXe2u_d z$A49^JH~1R83vdO6qV#kDQ0X~@AVH0zS)gxO2zbEB!)+3_JnwJuwvZTg^RF@(X zb?McRAeByh`eW$CdTkX}>KkFar#=#_@ZNCEuc?bao8blRqhKTyJP))3$!v@JBa2Os zSj;QKp5`8*o5sGqlh3~I8PvwE+EU8<-vo>rXf5OH1rlchVDu{w3?-sX@;&bz7fswd zm;bfXJMWR4t^mp&hQm`gAACE4Erkbf8ZxmqyLEA`eni|sK7l5o`-O2o55+cty}d>2 z+=cE=mq2`BcDA={KHO6vS46C*tf{y`6DTV=iS0*G?p*Q#DAqMa{8l&mhe;BDMbexI zht*(FblEi-+&l<=0{TH66EX4ZPUDClM$D=92~}^@ENv~kN!y*hqIm7!2TYcB=60Q< zrxx)^ahFiRdu4+R{Z7Jc4|)(q$zu6?L!Du#9ga+uhF*wVRFh z600#qM~JqIaZ*v0J-MjRrI1LbkOXpubjmhQbPXd&s7T*dkJH95P+iol|$PqiR-F)4+CUCR*NwPAXaK8eVc zFVo0vv62HXy#h5Tb#&WvjUv77`?6o=;X8HQgv7`G+O(iL=6AhkQT_qg4+r|8w!Kls z4J#{JAaH&4WHx)(fgxG9W!x6djs*$%3;qQ4f2YVLEB znPOeW={@_(zM;MIhwS}(asBXuRx^O0Oo{+RD}5z$dHP|<+}U=@G5wMr|FMp#zP*ny z@#Rabt=D0F>2m8OfCx(Is*lRMics^R(!#an^jhX2u>MmNBWoM9KNXwMZ7a(_vvxYz zAcDu4+`PT9eH9S^!vMg-wuthY01YJYA|LjC1&_J+zr9dUdV{nSp(+7Ih$az1UE| zLwpw_Yd7`|$P-pkUT0QDa-SZ_p@0?QLl3YC1t;i`cX@q!JKf{&%>7%#^Ia-b{hPA9 z&A>A}sdxPuNPhDnvol^##Msv3knUDS2wl;wGGwjBc8Qo-GjOB+Ga4?{C+mloxByJAtBr~JywPWgu!f-8j;G=c5g>ZZSie!7UL?(CqYz^(Z|ZGy@SWZ4yNPb|DT zjc*sNn^;)X$>Q9W7KsECk_j=l%`;$8zgbu2$&mA(%qEUVSHP4~_goBXscRga{Qxcd z&Pd?NF`_Ku(hl0|D(g!H8L2o+HJ$rHr3EdYXwXQdy1=`c*1)LlerlMOETnzX2t1BN zqi&55yp#$f@d$h^VG4)Zu}TQ;J*cjZf(%VQIRo3D^cjLHtu{-tBX%H;m$~VwXp!?$ zBipAjmf<5D$Z<^7{=HT0JU;vYX<9OCz~Imc-AcE+!VKvME&~*G5NTn=COPmdCaQ0n zZKF420osJ>A0M`IBD7O9)zkH&f4h2?wyJ{kO+jf1&Ugov3EoPqzx1k4|_F)0g(m zpS}$p;%l5vNVM)+Z7ZuIl2Rnv0-wp7Syf+Mv6UaQ1A?VA-vfO$yVM{v5o#N1%P-;p znR{(GH;3D$S{z&DZAy0_rdg82+nWGu&1x7-!2tQF6k`gl0)w`;e^mrFl z^cL27`+&bjwKdH2@$h>W>uWY`^1n7Qz#~O<-^5(H%?w9&oi`+l2j*BK;sID9DIH; z@L8$R44#Mo#)g1DXdjg1bo6t86uj8cwuQ1(@lQAJAH`b|j#{nfn>vv^WxNsrK4o z>gF*%b#TLYB;-N_5`NO7&1K!mkEWcHsFgM0rLUB(?Wm&0^=<`OYSV;vgJ#<>>Hi%B zHlVTJwsnV;dx5IDIAqZ#_L#Fv9T@?%;Aq;sR4o*_A^s2DM1eZ#^CF0wjzie>*Phkox;_T z>E}zwV=X&yoS3yCq{VKrDW+9Ig}cbi!1ZCXU$*S<mcaf;di9*+Rt>boeyK5l9ge2f<-I9Tnh=3rFtsLu0v=n>8*eWe$y8dE1C~pk z(+%cWsc{y12Uz#{u36d61}+x8rvUQ0HZj)nTpNkX5CZ+4{3l-( zv%lr~`(tm^2K0eif+Ipu>6O(s^Ppo@yN>GFWIv?SGRc1zx z*PIRLy970A7@`?AZu4b(Qcj5oRs}t!bFi)w!I;;95S|<|ZV3=ST^BQGiM>tR?`CZ* zY87}vxq{x_^gd_pl?_dX8Mn8W7xxZ(#p=HAuk^p{ z+clKfso2?;C)YO4Idcd^=jmJHp$7yX$UG!P+9Cx#sWVFaNhdpePv3-}&)Snfcsi~CEj-jSKnv`kF#Nvg)Ak67QAmzlb z6>;|>Dk>%husPF?pxM>G`yCXDJYzX=teW0uQ>uLJdtZI8Y1`U85tW`hx+tj5W*XKw z$W|%db6Q%*eG4Q~iR$<44{vJ3j~6;yDE z*-)C>sg%Ving!x2={Kn?{{>aJY$jRa$9y1Y-GCc;z$dZ&1}&m1exHuQ-AfxnWzFLyOmOdkal_MRP=09UCw-|o6y7;v=R1J!rsAOz|e8mn8Z4x z>Kd59eRoJupVQHcFUV3Q^`O)1=yn6SS3z|3s(9g}(>9J)Ofme4B9KAdenEai0?_E0Q$ z(*|MS{&BiU-Tp}8V8QDA=MZ5-plj2TN7R#aj~fzIQ!M+-tw9y%^=74#wm1UTr$Cca zwlVrpRlDa~)`V zFP+T=2`&`LBrZ-Hp^c7!3abDC__L0`$qPOlynS|yD0tG6B|K$KiK+7NK&80*cB&8} z)f_Nv{iMt;=f>k{kQT@)DSmckYnAR4kEFF8q5?GO%$jR4bn^ttkO{VuV4fQVs2DBm zcfAmpF3YD>PL!*FBlk;2-=uA|c;#A3(vPH7r6kYHPr8lnwqei#r2z?J-F!VJv0W1P z*ieJ%yV(L|ZikMS;0vVlKWUCX2pw8fiz{Vt&q-FwKW;VxqS(^g&RxN%To|AA{#ZCq z-`HMw>XQFO8 zKLk;OL;ZRdJ&xgvr?0cN!I1VRnggd|;|f+|G)Nk1um&bprNLJA*$HKXNyHk{r|CiG zp=@1LP6Z&kTHJ1^N-X7x&twamP1-ak;o`YV;`4G)OjWnV3JMax$7^s~Y7&xx)!$g3 zz7iNIYt?{LbM!{ty!oYtoDfPIVJQVn*f-iSP)2FlRL%E5tmaECB$S~jm^HxurtK!8 zVpXN8NIkJV&unlXEi~K$%;aFF0-uuKxsN9@)%MEyYsoDo(ZMSy6<2D*846TK$y`&)R3;cP-gA4g4&d!m^Lpp`bURYMh!~k65l!%*H7ZDrfSO z1FW+tfHjAQ73N_%V@4L|U8)}+u}FDRG-`*;I%ovc@Bs^(>m&NrSMK_1Rh0SHc8K1X==wz` z0undYuG!WrK;hzw>71B`aIwz;6_%Va+5BN@AqtqcHjt-PkGxB3>gOE9jyp_SbmM zjenq4jRIY}PC@W3(nA6euKJJ0o0}Wj$Z_6Pq;?9a*P5h_Ze7?MQqqaOkN1jgkAFH! zc~>Z^)Q{T6`74n0UJg1L+7T9sWg%K>`ysLDkQy3|#^5)Y8X@qmATUS-?6t=S@Y9d-mUV@1HJNCBo3qaBfSyi%``k5T3a-8*ocOFG_Qj1l{sTvQ^-Y3jfN;GVL6d1%89&V3c(M$kVynMQtiU* z?NEKU{D=?*kC!I>hhOaXqEjh(w$-{!nm2(*m!c@^!mC>ltd&L5Vw*|4)~ zUd#CWTank`IOC` zyV((}v>_|8S8JapUU#^5cQ4PLU1f@6-PCH|?4m-u!|sf3>PJ|6MLFJEC8HOqpH;+w z;qQ{BQJC&O8Y^~u*JC3oyN>;?Zc#F?*C_mx$&7KOFBhYYV*~6ioss#r)#OkvbXr%S z2s-2D*siiZ4ejD)?GjaywqoY;`^AQ?f%TNPgUA;dOEun9Dw2vc?u~o!o?$5H;JNaL z-p}X0yX$X)V&z%K{ziw`=~y5Ln{3`=MQ?3o1o=wQAAZMqk7Wz@2f?F}kwjVwgJKrx z9#;pRY(+|6+zsn(2FlSg)-9%N6HDXljzpz49*iRIMKPg)!ykJ^AfM)YgNK;Bz17*v zS&-S{XI|ZrMlk+Q5_seDI`(hJNGXaIr6^e#oD*+Ic&y%9TRkjBaDaj%DLCVu6c;7V z*!cx2vr&qK6%56ii>JLLRvy9;7|%ImL~st{HC|I17iJL@3^8ABhMOh)HmZ z^b~BsN4>{u3(Pk+2b=MQU^l0QQD9QJt`^(FYAz zSJu&DX)Qb}niD_!r*Q`@Df9~4YxYB3xBN7zcQ3vVorIX}2a+fXY3`ko%!to$AI&Yl z#nmY))k=x0)`8igr)@;T(m6yprpSV}xO?YZRSPawMuV4*7nWlE&Z8Chg5|wPMGa;U z?WWF$&u@!z@=u0ePLJWs|HOeT&#vSLJ}Tbx9@^f8WqpTPvpU_hfoEFDOqY{&^DpI4 zB5T#r-*eU;Wv~vT8u*-CQQ8ntZco{-F^s9!*N7NupakNY7WJKB#>eA~h-BwiFxE(^rhN9$RAW@| zRr>?@P*`atLrkUdpBY6j3RU2hLd)pJ^(2&R@zSr?64&wsOSH#S>I{1k7c;sM>ynT? z3#FT&Y@$_}ZvMSyf-aDHbi@2l@5Gr)z7kmu;I_s=3JvHA$Qb>c7TuR-kd?s*kUr`7 z8Nph2)T5La-M6{%CmUpqAiTs#KJf(PV7kxW+I&wM-zpIM-aR_AZ7!Srl@vUPR&Stk znL@NVRPE4T;=s^L#u>sGE7x?cJ1d(AKyq2kxh@9G5H@ZQ+}qraT0B`_0147Q0hR06 zHxU!;Gx;dD7Wm)7lwYfuxEb;deeM=a;sPHV&6y0CQB_y`rjFig{a}n>J zKSkZT$M-b%OfK8WnUSd~VJwwr=K@4C55PEa$A_4)pGsyYBl*-pUY*1>YThGq1y)d_`&;vqP6^j8mwCnklI^pN3@o_EAa53;%N(G9?@a*3%6YP%DrihM}?2HM%1DQcnT{Y|^(%(=!0Fm;ba>WtrYI8!Zz zh$y3RF86!$3Y|;vs(^d5>f4B2BrV>1TVV8NC&BO~oS(+ev0S6`Cb)=AJlXKz5$f;Q z)0|i$!m$5|Nn<^GY*eSHJowDXX*I_p%%x-6qwSrpsCZHa+Y?MZh&!^;i5I25DS~0V zIIM$7wPj>lF}!*b{cH__?xKD78d5dj_+zCHrkL;m-ET?fcx2tQZ z9k%b?CfvQo<-fK$Ts58|nvU6X9h4QJV?-~L}D4x@pE4vrO zztR>mUR=CRwV)1NJDo@5S~G1gq;!uN3eczZ-7O2P*HCvW9f+#;qp|zt={e1v5VAvk zMBEgAwi-*o>o!1g{2_m32S&*xTDWG;#8(tR6Km-hd-K~+E^QPsr$kI zBr5SX1NIJj0RgbC*R(akJb5Y>o#5c7;%CFDq@iMMl7?s8rrbXsoyCb6ZVvm;vhXwu z=HG}zg^h> z-rX#nE$ta>4V_&~ot*#IlitJD=1ODJ?tmTn6N7}oDq$koluIp;5?=T3#woX>^Lk5M zq{ybuShBj&evxRvmzZCz{sOV3Hs<6-5u}zuJpyeKi@6!6a3t@{Yv+k*WUhqXTr`(B zAl5M$CaN*GA;a0l5A*zKzBB6HQN^K;2&8df{y3XqmXUs+OH)MDTEzdMibSO$Lb#{e5kk(fRd89wWG0-_t43AuM z>Z~DtdnVEp9Zg*OxQOT#ZJzyJq_A&Z2GLVdNaUGglk+Motu)PR=Nhu(D6HgKuOpWq zYppbw3x*-6fBXig!~9{fu;DbMG!&8=z}WGV7eTm{feze@BJ?VZuka?rfGO64_gSyz zFXYtVT>QC)PjbAb91L}SG?gOITYOVBdOsSlpx@t7Ss*!7FhMI*h>ecDB@48vKaBl( zIFDc&Z5}=gt0l$)%sFLBh6#yBNkxZwKsx&+H0$?yXAbJ2GF3=MHOIjviEIiR^XrE& z%(w)t)vK+zuo2YrBm^sSQPu*svSqr$9PCg>4%&dC#NtD0ZxP&6F0)eX^%%=eEd7j6 zV#(>meDIw->z*@Zbz#gX4ji%kAaXZS?8-&<6I3Wu9dzpa6;f5dpm3WVAE^ub$@kcY zTW(cN>0;n*UgcA_t3%=9)drx(@JUW)u@0)lbop=Eaj(ksV@$X2SU{ByUc_=OX>W|( z!}<7T^J(2K%^LUj27%iOU=p*XRP4Ja2D%FYJb?|*2nv<5mLh4mIN{fD2n0i}Qy<1LUt`88D%m!bWZr(1^=e@k9 zax$6%Z86o}>iG3|xOoi!GX z@saHCgmM~*G)Zp_lratE{}%W;tTuooWix;I$R+u38@lHxhf^Wlvt!|Dz9KnjT`dC4 z;ykMYE5X6-k;cy(>xIi(GHav z%N-uf91u>n^FTn7U-70+HL*xBp3gDB9!cEZW$X7K>a@3}8RZ%UVsZ8oQ%%fT>|4B2 zDn5g#$+V21@7ZiJiz0=G+hes{d;99Q{;sU-EC4Ki_8|@Q?7&aW)v$;X1^Y~1ctw)- zBv5rko1T+)$tdqOld0OwcLmVENl}jLkK+VT!$}dZ|C;L|mPH*nl>NwK?$h0F^}b-& z*db10FQMQROWMOfbT?>{zHs9d%1IswaiWwdEA|P>i7sNPjK~gHUu`R3BsqPUc4;=M5 zvI@Id@qwvL>(k#VAt3Lr&;ZP|T&NZu6>CcQc$QC?*%lWg4B?)Q(kU2W;8qgfQ70_m zpb~aE^`Lt44x~@y@}Unr9@*i`#}=!2ri?|jJrtL!T7IMWHKAjdt-;5oMwVY@-KpvZ zS2k2zL*AD+Ar4lVHj9B(G9+NEv<}0OE4RpgS`U2N-fGsg0Ew8SzsNyKJQrnR)Ryj0}XzcTirxbS=T?wy2O!UIAy?@v|Ik3I#;OiJ^*R))tWBP&r2dGb6 zT8xY!K|pHILH-+{CjEZ_wZ4<7&Hn?g>HqVgd2SYNfDr-eR-LN*;jrO~h(ygkP(1@l zp`#6BRe;s>bQ2eOs6aiA`0&}s#J%lZaw>g%INwxxS;?TT-raBxxPY&YOI4OWmqi7& z1PmZWdIw-rD8B@Y{oCe(B2ihN+yqI)^Or+qI5>b~HNBgP_ZT#>o`Z#`$+bK5!?LWH zO0HY&b%{gDB`#RM#hqO|a#d;l)X+^QZ@xtDZyy_+8M_QYoyB8jR-`o*Xz#C0KarLj z35_nhZ;1b#MKyRrV8=g813>?~v-m$bEvElCt!7PI=Y4kMFPdwYlK6|^wc}xj?k$9R zVo3^QxWg-Ho&gvKW7^f9?L|3X&o!i*^&q_u3&1@)JOQn0wRhm<+dYgZdf3l9swc~$ zE*m}p?n+xqM1D4$gvNet^m6T0SV<8z71yyAAvK!S{upx(C&|G%m%@6{8htctfe`3Q zNq?XCPLjQ!^Acox+&>M`%v(cjg~C@XgV%(Y$b6d|gTkfX(ILnB&6|maP=4e&UQM2? zLqT#zeyi79HfmLtY`t9*@=OtYExdKt6s#YYuk+aFwIEcwZm@X;DLa>C0rX}Yyr!>r z*i55ah}>KH(<_J!zHn~E<8_roYfh$5E1~_)mXfVkNA2aEKYlNkGUU-+dQQCj>p}U1 zRye3)$LW7-)cVA$-IEvi@o_XLIao&JZqBBA<=SCey>6YEY33%o)n!cEbOBhYXne)j=0OHps-rM}8mxXy%7ZHiM}Q?yCuwu+mH zQQf*Gw5O1{VRx}$WO>Bq_#`{H`~h;2_{c{`^SdQdg8^HNG6}`tpUSCNC~f{tEnk~b z8+PZceTl$LTuc=TzZv3?t5t=UwEc6mT<7}r)0Cbv_rjbrc$+nHG5jWe7o_W6HTeuh zch3IUCtBPXs*2Hwv_G~$x_w;?<-Yxh2=?!(OI{Cj2kf!zdOS{#P?$!{+@tmxw6Gl+ zsDsyCLtj6(8hB_BS?0g5kzvHAnyOwBfsu3bGley}u(KpL{BC@6Zxhfr$MmI^)7^QO zE_E{`1hDN=;|(`#Up#_x$RQul>oh?jS<~spQf^-hkE^IAvqoPHgrSEQ2sP?~LZ{}W zcZ`R9a1C%oQ_Me6$>paL8 z_(Yf`i-X?t5K5Ew1}&Ptd>!ua1B(f@frfFH-TMNP(xJR9t+a8fK^`~M5&bl@^E&(_90^<80xgVY8glkw~nQ<9GP5W zgTjY%-B_syO6bitn&(Xi4JLw`iRW`92O&6b(nZY4h@ zaU1?->8d++T6g{Zh5mbCH;TgfHC3f78z{fwGEwo=%8-||yNQ{HCN=)Fxw^9#-?0nn zGpjqehwbCV$igIu?16Ml^hdu-N{YGC0%HCi)KzU0GTH`=V$QG zLDk6RS9l*xI@F6Dp(w#VP+jyPT5>ikV&dSVuxv(hv)_WS3=p8=WrlxMRo&915@-{s z)l+^A1hzsfw}#{)UVPT;p7?zm%KC9%Sv>9T7kWIM%5y(p1w|#rebjoT2{_Egj~7lA z&fc*+)o7}KWl1bH5wFVqz#-lxr3Wg-|8UX#OPbs&b>>ZMOsTdDAdVHrjJp_ z3KSUxr^6Nb*<{P#C7qeZb9eQ4}Lh8=-QqCA0Uk?uOIHE#vz#5={ni znnE_nSZx0Rt7SaXKsIgaJAL*75vCpeQ_m18H9^!jq;jwlM4(UQY`+WwLV- ztP%I8IxxsLH!?vl0M?L5%hcGv{>R%1fSq!kJLnL6Xulh+K#-^4;YiO#jFPDTwtZ~v zw}Cx-A2rAbNqYj6O^*t#(@&48hr^EE(=)7aW(HJ#DraoZOK&17VJovAhbHD|_nDQ@ z?7zK#;VYT52d=B(Yn(z0G0E}wZPoH$Z9e9@;Y2CEzriwcHZOnmwM+5BDIWzGHBzZ3 z98_gNVzZzhOzUFdxFxzN*zp=d!2+O5H63PB(*qj58>Y*Hsj@+}mJ8w$nRy6PI^>U; zLtEJ?gWY(Gliy1S2Ts84KqTa@NnDD-RkMaupdce7jm&-%wH|j+FV?aG?$!bI?Akl; z_uw<~EsU}H@gD<}A&CH-5gur!B!zeDsnDzs8Y$3< zg^$@lg1$ipWF9-gVTFWsE5;Ovya_T=DiLhR#Xyx^JIr(&CPaPfiJrn3*sRezy0|w7 zCkHjxgLlgQ&xWA-HhdDHajCvWS>6u1!Ph&NC(2khQ|A{o2)@beaF%mVPuee?#1}Vm zc|3WMar2ZyebM0YgR6{y#H*ODt0a}z_@>8iey*QCAe`8&zWi{CU%#0YtJlx4`MTFH zTRO!?Sr5#3)LYeZ?Hng3E!6Koj>Z7p+Lcd!m8wqn-!#JmKIknML8c4`Pn!CZ_{|N zI&Bx3R?F4-LO+e7Ghf>&{mXSpe2ZR^Mfv;P~0Mo9Wgz>a4dkU0p=oj>%Q zovF`Mwn$)LbfOtmKZzkwreG6>4Jia@Df)$ez%@>l{iq7VyjppP>sUlGsJ` zlgbtJy{Q9%HM^x>E#?v7V1{VSoXXf0YLoX`EBfJa%W>Zr)G@@Wa~uD17JDu6u=xRM z`NjRRCyonIsysgDAI9(-4h;)aenS3h7B1XdI^z&u1ls|{DZx%vIho+pvV&2HIYHkF z>6mGD8j6Vzs!Du3^6}Lfe8sjcIFi87Lo&5ZA=?WU zyXT)0_9S#NOw6H1&mt-!Lw*Y+k06e<3_r=6C;9EKpXsk5GAme5cUGXD`k;kBsE@|ZJ0=*`fuk|Jm+9Ul6w4yD_|Y`Db1uI-hEj5SHr7o zLdyeS|0?YnqCP;g3)ApI`>BdA7pBT#u+V}<6HtaiJs%TPrV=TNYt2wbi-uK=9%3^< z7n^Agf?8KsY_^f`n)`dr7Ea|SbgPV$9GBFF!l?T{(d z(VE5JOwtO+-v~8{o>cK(GIF+eggu zTOCs8U=;Kp53opQo?NFtQ%%@NQjg)YPf{A3Sk$s~wMV;$M_7d`lR6M|FKaITq_dCT zVP<+o0B}MOPE0@NWM+>PcPuF$PBJS3oL)gv&1=5lC9RZR@{WU(!KJO+3Vr!R^{7Uk z`x5}sIt#n-Q{Z?}n5yj^^7L&yq-aALU=rp*Yvk<0%H9J4i1- z8QP+UXhoGMyx8=5+H8R5@mz$87V%60du0?Kyl|CVk$y?i-R>=YzSAeMgLDo=z0UrN z-83W!$#Vk>7frbUfA}t!A>Qnf6>ZC@b#tp{)W)~rBBlA9tAFA#cL&oPGK3J#X(_ex zYuB9TXA&toMvb*WUXPW>uLA!8SpLIMGn{`}@$r9~6=VGGtk}WO+|-%jzwZA5*BrG? zr+vO*%ik3NZ@q#HTGjo_C~ z<0=6YQJCA~l!j>2pqEgjZjNe@P}*XHkCmQMUt7|{8T4HhDRE3YtfTzoZ++Yx{Cc!b z?3v=yUML^+<8L4>bsc0guhzDh-0ml0hXeSF0!Fx042PlQBCk<1V)(d^6<)Iif1TZFtIshWlRJ0y_a=n=;*9*=VT;N} z1>^Sid5-p23;?-+5suH~y#RAL`q8r?bmMD>Hyn6aZ4n6+)65(Cp)B84@%R%PdnmP- zSU29BWQ3IpNAA_|1wM0zWjx%&T0<@DK084``VYx7snW1{d{LldvFgsqfklSl_Gr`A zh7&Ow(O&tewCe3kPLk!a zxkNO1ngEotm9a&CybMp6wyl5KGZWNSUB@ef_>F1@e19GiBtLIEzG9TD^?>q#3 zAL_&x%(>QWmHH3M`rvO%dAx!5MrW}boa0}v_4NeDwR@UY6T-}%Kl?meWfE7#^YOpRA0M}eNuS^#ASnp{U4Zs4di%f1 zAO90S{wJsQzft7B7&X&bS-2oZWXRphV4H@Dd3q@-F?Yz;VFIEdrqE16W})*d9)N1c zAB6kqtQNob6x;au;d~F}x@(hVdW?`TWBBa+ZlLF zGsVpF|7MAOerLUfFYv*Wp4t>p-pR^}ra&a=(jW=A{Fm`()s^Zt5Luqj3{)dl9ZTy}CuVK_oYX8lpXg z;=wZdf`2_*0J?&TAjVLu5MdMk_kkc76L6P)ob8`XkVD_%}=!{Tzwe?xyJmVbL(LQ8QuMPeg9|V>e3#+kmh`jjJOem&=SkgqhGD@b5%FEX zX@EAf?hbm_Pk1tRBOVBsb_D20;voY#!_rPv*lQJ<3>wQ~C1UkVsvj?xd025?5Jhx zmP}|vmTd;RU#B$#gm<34FDjnz-SO_}vhmaX{)hawFDD;27r$?|z}#run!G12;pbb? z7sdO0?F((5qs$E_PqN=gQ?1_CkKWr=6@E5FdqdN-=~^kh6GEp_4N1?OEmybpBhM6D z$o2~jbh;7f+34Sk5jK%wKnBXZw&1 zHr)KnQkdY&e;<^iHy8HR59a-@lTzo)x!;G02q;GH3}!~cM+_dBU$dik8Uk?ay<9b$ zc~UUBWB#R+`**;Nv!gEglUF>APq~{X&A03G9sB)phwL)FhDH~s+!*pIwn+6mTE6VK z&g@GA-j0kenO^FdM?>zR6j#a@Ggg_krb^D$dBUUvQf$59Ao(MItsfLyT|lotc`EL( z!g={)H+L_Ko~b$%n#|ZL_aXU2q3x44F3w5lXnmR;VXLp#zIgCZF42`allz9vtam1E z$;FFN5B$c6$+4N{XPfgU5FF$qQZkQ+OuD1S>_X)0G3UWyr!z^0Ixc2+0B>A*JGoei zLfXZCoJen&s=FI<8_3PL6_;@`f09Jb||G#Rz}%dTk@d^o1V zO41*F?MZ)4nqLxkh_~!p{#e)Y_Da^S{oBkGXHwdg9xGmvP=FPyS-^E68X5MPdrgL; zdrE>`XP8?3gk*n!0M4`hxs%%~-+P(!$HaQ(=THVekPB3Z}UKvv19fe zco4hb%{yBm;pNw;(Y~1CHlVitnyYYk%0nlNwAgvZ`Rc_qCbrlPgmpfOWMj13c&&Uc z0+m1WQebo97sha}RKRiT3(oI*(oVKwrgKONNvIiQSAZfzt|zAI?};Y)lY4-L{Kx(Y3im}tEckHuYtQw)aW zsSqbsObQAt2N^*i-9hDwI1H<7;zTsl<`RaWr)#kP-jB5Wmd8K2LpFmGqGYtxJD5ZR z?i@_a>MjZRJ?i#&W-!A)npi(Lpc)Ig^BsB;?)v&3xl#)@u-#RVX`(^uh})Fa$CZyq zVc2Tqz~gYO7MdDz!5K5X*lO$|tj#kSEkc$5c&3PKO>@6ka%%H+ry;Z1)(}Jd(goh%r|un4L2E~rd?3VIVu7v%Xc+-<}+Z#_+=d)$?l+mf4~W+-GT0QG~x@jF-aBAzf|KPTFB zgfKU^<N$EGd#YrINlXS@vh$Rqjw}k*WNpyVck+WsVit~n`fk}KMjc@&Xb98D3f68ok zhe)#-x-pPw1+0cxbZIjr%9k;6>9=Dfgx+3VadQ0y48NXpSZwS`Z0s`(?R>p7{heP7 z^?a3wexpzx?XSGh#+Zse^bP;cf+)^O6NfMlA!2TY!g@kUS1f6nAL%Dncc}YN>+A1xG(C}<}_434Iya^nUxBqN~42lQx>Wi;jVUYm0L!jr|OEYH`4F+ zpCPM=0IN?|D$;$;KzyX%R*#hc`ueKmK5)D$A}Tz<1GWl^__yq=Q=AwUVdIYbBMOb1 zNHLyOu7=d%Q4cA=pTaF2Jz^^mM!`}Dx5w*r*){*XLL#KwlL_~VU!a%o#Z3{ESM+^w zaO#CNBu_I~FIRtbJ775Q*K4RdDyi=aX?|?*+I%=?JQ?I;pi5_ue;(s5UXxI|x=RDPsK9 zt|^#%qiK0qXxVs$)mwLwh1Rs6=vE2?-X`>A6T@I!?lFNbh!=`^%ya=ma_!o?173aypc&o^v&Szo{ z>O#|HUWh#GV+iS5s1_oT{lK!kSPs~9%LQPIFCS~+;vsvMQfq}9<>M9j@|eZ+Mn;Y& z+(dInfW?h}K@DF$3i~tCglv|QJQiSdZ`qFG`_BkNN@s;avcmm*e-Cl3=KAEf`*}*S z6VKX^xuEVD?;4l@&stODEyL$$lWu|gIhks+0@wsGe;!1-D{LM_OAz-Q1nCNw43({p z3RO@VHzZ3f!UX-Vls=8TxQXtcCGtFLr6uxZWSxkV3(U-U<($S}MFE!(%kFbjnc=A7 z>ueeuoi1@0bzv95gT$ssXyqJN;j7&)& z!|pVNI+Bt4gU+JMh1{b0Cp;b2(4wy;5Jna(z7nZ~i+z4DyU6<3}dRiWFwr ztRr>j>zH@ox}$FUp&aOVX1#YM6dto0Tw19AR9wk%wRTdv*`BN>78ow5M0IzYw0ASR z&=5N}4=hwS!7O!L|F_gdO!dEe8a$mHyS?4-n%S4UsL+$RJz1uD6kJX4AErWT_%flm zD3B;ygBcO=ciS!}ZS>C1>`G|$JYIlAS_sg~q&|9RYFchNC8m=@ZKVE0cg$&O1N?C4 z>ReoHMvI>Uq&y3)y-%x{vHGJahVMggyr|sB)8V=+&I&;j!~tVQ1OR2%$uBm!R(9IS zI^__t89yOPwXN7%Hn2(9TdG<6>&1vDliyP7&uC@BH{JSv+Y&X@3EeFqp^;w_m_m;+ z^Rf4JWw|otTvE`Lx>ouoyE01m7{E8oHnH=o`^*)(u_OHFrvtZ{?$F=HQvQi8&NH6!tE` zYA4R1jJW}>{M&x^E+oZIiP#fAmiXfmSC&o!d2vuBglk(*!@+mlElbv(@B;@J#xD4~ zYPsF3AtFama*f)ql;u&_G~2HiosZjl*r*(u_I=C&yj;(>mYMoea#<mhT1^~YJB}$P!kWG>&G_dv`e`kvB1!;20TqWUz#JrLDk+%OWsT*p4q zb{yyE|J_8ATK#!0TKl@UU>k#@ZHYTkY=eM01%;=;2?>=vA1Y$%uPR5BfPR!Qm3wf-grmiRIURC+f8f&>#JY zjQm5CF_MobV<)e|k~5CjRi5>sc+{2IZMMjph5YzQXrOg>9AmX8PDYRCTF*akVhPU9 zMs2ccxX280LUFW88zaKqfGd=6v21r`Z7-;nCp89u-}Q&5n8$lD#-NrGap!Hcd7YVl zIoLQGNtg2gt;#K9dh7)_-)y2jn(q7BP+Sf^8xPF+Vb{M-rxgox2X1sqO&z(r%YwJL zL5|~f@W4OByJY|{i8yZIRblj&W1i?w#=vR1na3LX0hHDK^-pit;cFQN7 zQ;B5>?$2*#z@nq&nNQ~Pl9pk1X8BB{>fkkVJ5^{^O=lA!R~MMQ#&hirnqg9~37(1l=M{mx%{^8Y<`abe$b#qD`Dh`QDTt*kgt{mev zhP;N&uEuo}%b9zRe?pV5mw)=7o zd@+V}GH^-vcL0qq!sM>F)l++@YC49mZLv^`4!UQ3Iu} z6?iC}Lk79|zWIz{n-P5ZY2&!{LNTEDP1i;wq$)@+7uJ{WmuN;(dMw-k;7-ixjP6l&J6#$D+buT${sj(xC7ZV z6IWI+tzAg!9=MM{s%1AJQZwjr(fX}w<`_0Uv64*<(pb}GP}fnW+`TOAo$@kQq*Fy(Y z77VoC3qn4S5i+j&ZY8whfcoFhbuPTkYbuL0x{b31V?TBHYwdrQGArB5suvY?+RM5z zVUwqL^&m+y>`^J&*SVI%iez@#^9taGX(C6k2RG0SNj9@$4DV|@wGE4v9kDiJkM&B* z%gkrdvL*UbL~r!5gJTs1tc~2=O`Jkc*god!c$CA&^@Ur_bMj+tCHPOGp_KXLc1EzO z`{7<5%845^2>elNZttvMRPWXSEsOM+--~O5$k4^_9v=XmOz%*cRc36>oD)zR>&I?y zGb}fx`4`1EJqfUBLQ;3hHsf5-3459q<*JhlXC^KM!==U=$Q>*hCn?pVBr-pJ*gW9t zk=E(f%S`T(*$@0F(($k)ptcraV`z8zGkIpF#t{i-QuIZMn{6}O&c8^52$Nq5Px<%n z?}3?TYnTtuPv)p~wL7rfH+5?;w1zf$YdiA5!ZC%rtKVYYvoIHWMWPl+lg?56<{Vdf zcbJI|Os6#|g;Ls-80bJs>%dR}@tf3GfG=E#ON2Es`%-MSPcTzBS%jhq>@mQz!BmU! zl3t^E^HFj;N9WI(-43l%WnJhtVx?5m`z~!v+os<#f>r;XG>mnl+WP{gV*Da}z$LW> z!YANDtt>@o2vP-lUIBQ4k;_s0Y31e_bP>@>7YBjIL0~Ym8zv5gF#PoP4$DZ7W=IU) zVmk6*ALMV_7{v(2i_aAzQO46nyppbF)6jA$hQaX?H3*lfl~kK&ZX^Oiv>TS)Tuj|l zn5lZc3z^GrmTfqF?>7STnSJQS+Ed8YipY3!BLYU{NMqoWt{`LI)v&PZ`$3rxKLVsW zM`nLvBKY%zz+hz=l?6y*YDH4r8ZW6M0#yQO&18$itrV-w(^Yt{2Y6bH;F%VmrxTCB z(z(|>;lqOKQi>)&zY$5Z5R1SX52fSjVwwVK4-I(+i%Xlxh=BR(6O%|egU0*$cm|0_ zn0?oZ)13wZS25`0f^ToPgKKZGmFC0%g(C7aiu_Swv#=~Hm zp{!L9O+8w5&`B=>XI^YTWGY?V{KTGd7KO~P{6-0hrX^!X)34z}t&3zjayI7W&#`(0 zKf&ay%|EdfP5wa;fQYu32Wd z$bYcVRc*-ncCgDY--9d%>{*#Y*5K&@Oww?uz2wPEwmU%(vZe$@%u`S!=7D`4q8=uTkmF>6a4 zvRI)i&D}u)4QITX3ZA78NYcF@BRH_!SYpdVlYK_8c;Z9x(ivUt#2HV8u3tp#m&v>c zyVquPduD17_}##}_u&YLB&RJNzGG}91O%nQ9kw-kKpur6Uci<}=U%}4&v6W$;)uE1 z-%7o~`b5hgY`wvl>KP9{I-x5@Dr9`6duA8)MjNux9b6QbrB!5^%zTW!-Z4E|088c6 z7TLH`fpjaXg-~U<-qzCqeDH+6-(}%GJkM00{0q<2_w4Vh^azd+qY9+fN;F5Ww4hUN zf2(UQXg=S2@8Qdd42^|Mz1j$lYp(DJPR}}*=tz>&pmTV9%}Lnpa~$hJEB`j>)XZ-L ze$cP2@52ctmaN_*I34V!8T;^XVPJL-(QFs&>H~xmnz=s=T-^C|y@0*Hn{HwpyDqV% z)%vs^Bk9D1_=`v3_>pEIOTCX<_#fFWq}HxXatMTX0=q7q(#ws5Byip5BZanIH<5)4 z`oKoPj;XF52AG0js)z2X0k6ZC0GPco6tLw3(#I(4LSo&_fdnv3W6=;4Zi55yhhT_6 zq1nh@21TP?0Wrdh6_WA5%M|^_)(w-ZM|&=kZr<;}>FQQTMmZn0@d z*4!Ys$#Z9@5V~zv$F>S!4m2r+;P#y88*|^F3l}3=c6wV5;AZzt&D@zv~D=s4M^y^ z6eu0TFfEKnT2BLqF|i~|=yCo^o{BM9)^Fcy+8GxuB3GX-fNih5L+b#8M2G%=uf*7W zLZuLib;+Egqa75mK+91rd@N&J><%`kAhZT!#S7p`vwf0cbHXv41U%)aK4PvO1^7&r z1%!rN7&4`mf+sh}!Cu*bjLytJcsZrvZv()KKoJFs#i0iQtuTW_CwM^0~or_IaL>FiG`NA=hkiMARUuW#egMP2u@WN?0Vd zd%CP;SRXqWBgX)LP{@9e!@RVMIlVfA18gs7tpz`Lg z@XHu~x|Ex2seyN29`oCI$=87CjDLPiS>(6aJ9GKwIX)3pdfjl@UXZBEm4|#%@LM?0 zsQbE_i7Tuk#0}|?R*Oh|DXJzzwY%AvZ0|*mgPcS?eWkA8q%H8<2*sl<{0Cp=Pu$9M zV)QagdfGW`DYr|Yd&n1y01lkMQhP4gnYRv*p?IWL5OSy+{t;IY)D$SyIjNGnvX_9d#ILBE*|kXte;9vZHf%ObF?6;=#9q%IP7i0y5!?b^@4F8t2QM$q1}C>< zPpV(3!dtcfV7MJ`$KKZ&mzOE$OxP0FFd`R=A2)2QY)uzi2<+Ie8;dMOXu$_+4}S~C zh6kJx+h&mU;gM-u*`6!^p)>96?dYt@uO+d^DK(XLu34zB37vJ1gr2;BO94EK-Sy{9JP%t71&JovHo@?Euy-BRPY z>;5yb!JpE`PmzacOEm#!T{V-tBt*KMFF9D>K-6i*plc=A?!8NPVr)_ib~Gd?0#}b+ zOk(x!0)swpmDI9feXW$B%~691e1@MQ!4BSbvu;p<34>Fj;|f_QU*#j3;S9F70lcmGz5 zy2?AR)MJeA-L!YN%PpNHy>w@iOBN1B4IGq9_MfvLt}jop+%Nr6uXKYAmO;~gZ3aqb z@xi|LEh_tgj*B;eQ&dlFQMha0#_VVeT1IsQ(!2K-bd2t^^fQ`qL^~WJEG+RGX_w;+ z^KV!{Uth~P!(#rsRBg-izpwWI8H#YoM{zy>-?xXS*Vp59h&?=qSXhQnwUYat-6IpI zgoXnn8UNn5U*x^S0?Rz*zs2%4Cy!lwEH58EhUg$zs;S7B@MZwp9GK zG%n;RZ2;LGUu^EBwk}CIYY|yEmIF~oDhAUTlBOmH%~ffF&>p|kWKh$ku;qP1o79bF ze7#w!K$`-|I3+6BT^H>qJzLW;Y;v#C(f~f_+WMVBshzc8wQdVYjq9uo*5bKmy24cB ztXb_-5U(uK@jmCR8JEHW)%s^?PagyXpN~C0Ie`;mQmPqCEbFk-tGn>U!IUxzpR9hP z!tJj#28auPfWMBbT5sLb_6Xw=F5Nh--uI@^H`5ll+a#3+pJ|T?#9ysx z5|RdY944Wk&D=QA_(!ZFeI}ktzmMA*dI=!Jheu3|NxhH574jn>*^-f$@1ncLg{iCY zNv#M7p_t6v)Q3m>66S#RX6Mu6TH^0&jeAN9kjeo?KypMRbSSjy$&Ffv&bd0E>lHbq zGP^t79`mg$t-c6K4i1P~{>X>r`~yzh#@sXEw4XM4WNd;D0ww{a?1lJN5|s|lLZ$#en$2G?`>Kb%DX$he1bT$Xsl=48hkTF3u*ki0(G ziSpU^mPYByy1MOP@Ja`M1D_RRMc%Mc(vKG!QDM_<9{O;+HE%i&g z9k5}gQOl-Qrrqu`?|LaHDDGl9s#Ml;hwDB`vGwSi$dhLoRt>9m2if}s9ior5b^kZy z`#Rv2@BMAyJ{Mm42qnB`$NbU-#Z@ ztBhlcccoO{cj1wOxGDBNeeN(4{gCO%fdXm}cmznjK zzs1%T<9sP&b)g@+wkVML?00JNAW@ia~)$J~4c^Z#So z-lGQt&ECx!GG56$*c$uHkVIIs4p*i7Wu&0Kfi0A-c=fUdUkApNZ>jV0L*pyY zUC3q(F7J<1h=|Q;RbrTRzOK_ZLBnh-{>aNODI71=&`B;a2StxpN{+9CDti%6F+GCZ z)tn|k=qDep9~yGJ{~(*;vKF8K2S1S(WYJ+&KJmo}R&nNguX%BMQu%VjGHA}RKT1Kw zD18>-oLvF|jwQ99y6SGR_`Vo}H(2-NUE$^CXlwu4<(M2P2 zhQjg7-9*K%E5!;YDo1Uls`8Fhj<{c|tj0@e(q((R%sALB#SOR}GZmkHoB{3gueo*T zS=*o#cH7cA>51}|Jg?kPXnx~826iPvDIMhf5E_|Tneh}{dy(r~PviCw;=0t!71##6vTIsSJ2u;DCfn1L8syBm_2teY8&4 zAK}h6QE)OjXH2O=QfCcY4KtsIU*+3}*G;oLpaIE)BK&Vm1}|I?_x8Y#>+5Ha`Sces zO&1vAXo7!j#Q~uVms5q4J~NM`~u?IH(8=kXNaLnT>{1A^>_JKd*Znhp-9 zwEg%LJ|>?|?!$__@okZShgx_FQo9dqdtL;<1R_@nC^}TDKG9Ic6Tfd5OWB%(Lr7jx zPlOOu{wlt@zu+8%9JwD)2#!%|Z zzN80*Tuci+A@i9p*6o9>0TT5_W5tRHqX7^y}l8va&J=PlZ zs`(s7KWpfxKzW}qVr4j`%_sXDKY#HbM$28@OFR9%)pS-hQCf0yd}32azT&CKn3P%% zah{pgq%`usSY9j8L#wPSiAw)Zpb9rmm8xY%Pt`DG%DHG$0GacsmCHAShXu*_@P2Q_ z|381^m5XX$(0}O4;)|N_^X=fLJ~u-@_{#lEds`l|d{i^cvc~#tb-nf}Y;BFy8y14q zNTrHGQUwk9#^yImhtoY&N8Cx^dD>CNQGOa~EEclodH9}-KRosme9)C|Xxdofinx{tstK4en*X;o|L@M3b~9Hh zy*=+#6<0C~xOX+4lU*F85TXVHiBokT^NbsYGC}tq1>+bPv}81izb$P<jJZh~N*<(OMC1sdgMpKi>nu2OwENcDxjYj;HJ!+(8|;bbvA zKthF0DwmK8iz!^iH~6MnB|SCQS~5NM&D6a(uqpA|b`ePR#DrNTZ&n`AtogJoYOB+^ z!1fgHAgqdCufDn4<(>~(w3hrl@!J(~Dl{Fr526Q=BtLFgoh|EBUwr_>#eaBWxHDhT zI9Y}~YDd1l7^KP4-dGz5L07rjL+r#FHv6LvJBkMgNTrm$Q>c4B(y-w z%}8PzOaS%0ECYlaFnpzcE;+I3;h~e<+@li+t)+4Q!##aVd|62xhOI^(wUit*@y*FW zDzr~=&fJn8p&-(KWovg~Bc5R2v6e6HR2sbDB+?Svk`b@)`Tth2#vp#_4V$XGuKnd| zM-pMtVf;M@M|oxc+K3PY2uKvR%Wj4*P2RU%=3=C)`!umJcK#1CvppyY-xH4F(_Y0U z9~du91QJD}E?X+Q+nksJ=yapDf%LcHeban^UwAjK%q*oUOT^xB2s(x>so z8^k4oo!D{=piaro`Sj%0VN+4kL~MiVdtwU3QNj+^ zBua{L1VH0^!nJArgCI2E#-t=3&KUrm5OQE+71QebvGW%^h14Yw1gbDx$muQ`3@ZZ- zBL13GM2HSu41N3}IL!rwW-ahU2r~6u#UFo=vt@X-);gud?ThzW*w@scxUSSY-7t7bk@jVh z?pHN4($OU7+l~Ay&o+?So^f&?Rt@m*&?1^}SS|Mo(02bw!BGw5!9~vfl%^AR(o4WukkB78{T&>zOSZMkKZksS{{e#_ zTwNQd$~Qd0u2(oF+sci8UglXlZVqhWG&)=&tinRZ%0Ec}`e@k*`abiC-q>R%d9bP{ zP>2N@2h+oIlk@C*uoz}$RfkyaRhRoYcc;9R-+orLS*>qqJw&!n#6|pWwr?muRjYhG zXO^5tVKs3buzLLiu-2d)#EvZ~p3Z=TJQKab*T7K#7Fqn^^5*1Da7-58!|ZXouc=1k*{#Tv;!X&$vrB!d?+Vd5C_0-t?fSKetc-h( z7WYaFj&Ouec>gMJ&mjHuxGv%sS{U4P=NS8Dw7yZB@lbD=d`hwE$p4tkk;}rLjsY-; zB-UG6k!I;Gji~3*f-Tzj0i6R;cBl|}3Y<(o)s2VzZY8lmY=&uvieFfuuMM;oryoY~ zMFHmxo*)Y&hgg8ZQLp-?HOCf=ycI=q$HEP=m|Gb2VdS>5V&Wzl3L&cvOiyhPXwpjd zlq6)ROf@MUP)T1c-mXrKv;SSevlyZ)xipjv9Rk|a@8hqvhG=H`>wR@pw0+W zYl?0HY4A(!oB}emnn!|iGfmS;HD;j#${Pp>-8>=flwh(xp|BtP;dcPX!fY$SVF5cg zmhCOQ3`qK!z)`2OpT9o-n|~Z{#XE zhh1i*!u{JphEW;|kv(Q#ew<>x*8MRJLZ@aiSx!6A$D`*Pmo`d3nkQ+{{~s@noucW? zAO(?-V&;i~BtWAi0yb#kN2lcnW29A+uC_5Z_aqNq_imymSn%cg)$p?z30QdWLD_9m z*N%R~xP)p8Qs??_3EWd(9tcANI*O5G9&8&Ztvx}}te1RBIo4t4p(j=*`$?3U6>00B zOmEYE00vAUtyXa-gYKauIFKae*!2K z6i^WMPFoxtnU^wob(vz8|VaBr2;PeV0?un*-i9jiqShi zP*z(UnRDb2?KdbJUGZ*1JdW$87!3WoK0XgFep3s7POURM%_da2Mh}^y*uo&9a*A_G zbTVAoOR}!*YTE_DtQTSEDAJk@6S~16M@IghvyaUro*>h7T~Mq&u5gC>EBFjkaKtL@lR z4bG!I(`2&#`vtYYno-kTTje)idAaYT5M__Q9wHd2uUE2~T}EeeN(&k_DbuJsgRFcA z;E+!`}USSzl=0JI)-d$=|^+c9s9chbQkc`Dcrs;8#O-NVjMr zhi`yWDT1DXmKP}3j~x|^CG-imLWE!kCtGDgs1x^{<+e7kLIhr%`4H($9EhEpWM@r? zMs5_Xo^&{I9rwx32)5pV%J|# z<4%N<5~aRXMN( z8wmN|CmDKIUK%)~s7~2FS>zh{#R22}TB8w#D<0Yao45-ucQcU|h-p3OexmU|wGoB* z7IQIr0qziRIG+3~Kr=@!#Sok+wg--C%f!xdb^zpvDiMr>FH)!@UFfQFFEKiOMxr)! z5*r-7J-*?7t;e1>+2(J1op^+SR-AT}J^x>c-M07GEXO;a4)Dq2@Z9UfK6H=Df>iUJ zuZdN9Lc=Tzu)s(F{t-MV5mZJMsK3aySxeDSjgk9UY>1lDegF=`DG zroI?29w2euJtQ;WiZ$O72>nxn_{=Jm0$d^qGq(*^4cMs_$Die^@W&Ac$)BzLC)W~t zYs*IX8#)v*J@3_=evXRBR>eJE-tW-L8dC`#i_-rLLy*BblhN}qWZNH~Uk=gChg~i{mZzuVdqXWZQbCoH&sjA>a zEuSP}@}7y{#B*+ieqq>G86dX8E8CGqf{1rGUbd8^v98uL86z1+G)$W+!yEeY^~iwvz9ao8yc{`&9-F7Q31uXkRvj8N z^rSpeB1Auz)zR!*a;h=#=Qhng9g5k-0mtYrg>$<3>+sSfmeyAYv=_<)Iiw#1*P`sN zQgqjqv}gKWpkJ~~8rHUi3%#|D-y8VP0z<-!&t(Hkw3j`CF%9*EM7Bi1hScL_)zFXCcLlQ_J53FsE&!M*+ryS^B zgYp@)bw9~t+Vg(v^}QM+jAxFq{*m*=g}#sSwjGkF>9jsEiWhc+Xrt>`mGd_h2tux4 z19`e#LV$`>rT48oneX_YmsDZv^?%InN0Na5kpFlAtBSz#KQqBMjDnA}7Yf%&DdKl+ z5(3t9pj)^xO(2OMdUjFyJhROB`9`)sG+C&nL{U_iQhk%yXoG{qHu6IgVG)J^w?&aE zvsD-p<6r*&lgP#XNSDR$`A8YiBZk2wW5vLcGQa-EzBJa5!ai7pH7uvN(0cmbDeD%y zQ8kv(=NXhfX2Z`)x{+0!JX-J(f!1Ce{^@sd&( z9pP-&>@!mVhr~ehrtv>-N~qTNn{rO+3vvv-pL61H=d>A$)O=~cIa>k~Y+!ckm+8Qc zV!(a+V!MXt=su?%<5(=2@+gTm$+=3tEr#Q^&9+_YaR|9R#1>lg@A5|eO@rYuCza!G z`mM9Gwiy%Uv%mI}q3>!M8WrO8{_Xs!J)i8;*LJ`^q-%S;`?vWDS$kU5bd5DNEW>=~ zCX58m;m2D@s&2x#Yqd~}dIp7k9Hu&~_sl4`tLXDfgp?e5VF5|(xj3}JaL?3F2wviE zkapPoGzp0oR@pV3lm%JKms%)EYBnr?9#%9=m;vkNCT<21`8F(n(QE-7BPA>$1-q7D zpbhgCNq@abGy&FFJQkCjao7w~BKy*PfLdSc`IiCsR^%r*?H_1A}LaLz=~>4%98<{B4~_H`eIg!#hk?i&3zhu=H6Mmv&{+hv9GYl&A5enDdjG@i% ziM)q?fWRyXTgwGa)mEFHmT;@XI4~$00p>z&HBr~XcrnMH&tQlimZ6seLeN0wJgJ}+Z_k=N4 zG)S(?8mA7(2OfU?*J>Q!%V7wEBO7^2!R(1|aPhMv98OHIgGUWASJ~07dQB~I+=LR@ zMKxRl{CxV+EwMtlaY2tIowBpl+9y_KpGYf^VXqWimRvFW3qgh0znepAKwH|I>c!~z z&#{CxU2xprnb#9w4Xa&EO6*s%B!k$m^TzW=-y-m6;CpX(N(t6G;u5GBQOq?`Z9;SG zOfW6{OBfau${S>RVTTY08{dhB=ng?7LR*V`kOwfaCJAj#6qdc;nq{zIKlQ$<>J`N% z$j(?zd+$ElPt;+1)Hk)vHWz<}ceLR_c2{;9qgwp8Oq6rZCvn8n(c{v|r5th2zjJQc zsOsxw7Cr|;VWfSgo+@Xt!rHV6^)f(*)nP3~gB^rrYxTF5e;YY`-Bocw^Au<|Xrjfj z`K7LqCVpxXt)1#$MeEN__<1Z~eS20jm2W957+x3xbBd!Qe*|hz_?nU}c}DKZ1CyUV zY74ghVVAmtQtclPOcB2%+=9;~)i}oxkYmVvG^X}W z&E;ye4tz-}*x1pa@+}15yayhsS6C%t%OxdSxRey=0Ik|xXzHwZoMJn<3_)HPIZphk z&&-V^A{!hjMSx^58NXW9NGrm~y>?3zV71o1w4?m!;qs!r z^FZ_0H31pY62z;zg-zwHeq$-Bw}U5pDa$TU2_}zAfiP62a`;7!QyLK3HW>W7S^_~& z>3$j`Rg)yE-jv4{r9f%C2IC&Keb4m-GxFB{+sYn6B3KtYA|q!a`C+IUON3omCs}S? zQW-(705tLa%a6Ron`92vWA5de57F((J#S2chkG;gn`xa)ICmN;s4@)L%q8A+28(vR=U zE$L<^O6e@W!^aL^hq1}UCp%B>HF03h!9Go98STT-yN=P{ezBEMCNQ={&1tyKoc!_- zNwzLBq~oc4(6kYkFW;VH?)aX1k$&pTikJ0@(Dj7L74&XTyc7#nAgy$W5`*bFWdZ9$ zw!NW9wP2lhj#|#S{rd(`TsC`1k^AYPxSYCd$p@;<)y`0(3ccrCiJuuu6Qk@^ODKd@ zY_n*jG!2bbOb6$PgHeL_#e&Y4u4H`hgTV^du(|SD){jQ-{m!{U<3%5)-fH%d2N`2F zF6f`?#joB>0hV}F;OAY0&}pT0DVNZ+mo^P~Ut zabiYQD*oywMR~lDJa!Awz312{WvutcndL-O?lrT<4z7iC-4TW+gq7z=Bt%sWavwEJ{SD+9WYF3bvd<4u&v9#bZk6AcN+)D%?kuX13>Rs@DHz zG1>+d2|biVtGfpg^ZxXE&j@dZZ!t$G*q@k>uJi6FZQn{!h8o135ICN!0B);R`SE6Xw`R&v&KzFs<%9Y|$jkd)3_=mH-$D-Pv{?El?t>vu?&-teE%p6P_Y%%> z$lr;N3?^6yHfZo5K1c6!6StZ>fKEoCNjM}(DhICsX)g3Zs}-;iADDkeBaiw>R~7DJ zid*oM^>-v<$du7C;Q>V zA|T|E9BsoUKX3#pZ%dOLkxPU{$(G=W?6i9doBnL4H3g47ey~j$?c~&@;Ys7l)jg5C zOuo-fUgAa=md`Jq`~OE}**qKh$2xXImf3uil@75P(Y?zkxG86(MXP^KK(T!L>FJMS zsQ*{H8p@+y0gST?@I2EXLXO-_@LeY%U)_amJUWy%I!|vglS59YujuL?5pHJUjsSC$ zRG5_2;7284L1<=K2S-0ZeXezkn2e}&$jN*$^^D#%vi}+wlJbYDmsx;D!yRy!9tF2_ zm;N*2YAjLFu$+FPB#mv)nT2xM3^Ksk!QsQ`A-pYmi=W^4=|tFgV)W4R+&S7}Redid`g zHHDeg+`Hk$U(W}%_H;R_`;T)+@Wa>(exAhpiAHgxo9nVg>5pd`h|+U^q=YkuQI(mh zq8WUf$IFald&gf-i?2rOSK5h&?>!xFw};ce4z2u0R5J0)J?81NCXJZ%K5m}xHS5L- zwi`Yg>HQ#**T{YvvusU#ap3l>Oe=)L!2&g5Pzl+S5!$VY6X@!%k@D>Tm0$1;z82Vsln=< z-imw5v&OvjfqIkq_E3fR;X!y}MHNAi$7X5A{Uab!ZvSI5EAe!^I&DA$xlb~Eef!_+AsM}6A{A)fm@Y(ydo{cTmCd4- zV7*Q(@p~-NhriUJqgzm@0OhcW#M~dTOop4!BdDm*;rD>~_r}o7_E@x)e-vX_zlar$7>@=sY5e;2BohGd1^q zs?3v#1DztxlW^SUNQd%rr&#yL2y7B{aF|<-*2$G>8DKvGPrtI!U$Y3cG9fAj85nIM zHBZQ0bR0%FDwAYB-)@5AP@RnUZX7stMS0(hfI}6Nn+~q<3!D#{j~}GG&@rr*20{Ri zSHvA+T9g@oX3)qSZkxcfIq3iC>#U>N=(aYFyHkq0wRn-@6nBT9#hnrY#kIH;3KT6a z#ih8E;O_3h3KVy@mM?v~?yao%yXTK2E0gD0=j@p|lbk)-KLjm_$=4?CCn7vp!L_8< z+8B>QCb17;Z0Kd2jprKT@2axQp1zU!HnH-C4}M-?O>UOJV)x9OJ1#qAU`GivipRgC zN4#(i>0(=kfI5uqywD@L>*c4S4u0cLI?zX z!ley@?zG$VA1rZ_kD1ODnK257#avX&*h%Wlz#P`DWRsPpFy+AJPu&qz2W_M>67IHQ z0?910reX4VMkFOMJ*;X`SQlQ|WWjAJCF$vlPwy2~>UGrEtz_y<*R+TCY60_Cw{fi)+db(Ck~_Nr(g=7bBnT?*NOs~ zEG$udAio-8UOPmcW8-X1#TN&>vM0sw+sm~d4EB6uY$?}HQHpUKo{1-j8S1v1aAe&b(X6y~iTw(eImpcAN3?zf>%hQA10oyu z!1PJTrP~RBx@~az_&EMVA(oknEQIc^pbhR^GSRy#E$G|%tS~5rc({*d@W2w(4#tst z@y^rJv(c;3YoqgxkI~n_a+})zfwk=f@KF;DVLA zp>>ZMJub@EJEMsgIaopUB{hY}W73uU3tokL7wpK$sgO|T1iMS^c_6@k0POit_mVu` z&21j&c}xHjIwqSH)S=g{lsWpAXS-zZX%cRsnYjd@4!RuN&ERRzM0>|KE|#zB+GASEot||*x{g_?lHDT_s3U%vuotmGAv&^boU%+0X=;&gosGDC z78=*W=aE8Sv$r8McsA2t53%ddh7~#mwkX}KN6CaD51f3-k)2tyeS{TweJsi^gHwIv zqPN;+7xm2#E>|OTvX=&yqP48*YpJaLsk6sE83oY@g`uWJ`trmf5GOYSXO=S7rTAq5 ze%fDVbps zJy2Eh-dIT)2xBe3VUTdUx!kZmqQttHrv=i~_&1PoGQMC4n-#Sy^W!^49^TqSM&xAO zL=J{NXwf7;c4Dqnj3DORh{;Z1|CmpJkbJ$yv`?P$ETC1QcOlA{gNEfmmaHc+@*L%{ z3fVo;vw+@elo!&G#;4|QDQTr0Zn}D-acSp-NY;D9aJ_pBlkdKwipXsAPDL?ZlPR8< zb)ksdZT#5e+I#)X6d}{9bKVXs&02+7<@km!Bhqry3RML8qq{i;yUOurGhZ|jNWo{u zey%wLT5O;8Ej8{8mB_|6LT`~|6-zEY+p8r)Z)wjS2lF=BQz4S%tt9rMNE>VDI*(w~ zkv>Pj=$KQ4>nUR960vV2_mwJX%j#KwxRNeXz-U}J0qu^3)rM#ZkOB!W)8`H6GgA_g z=zzXbO!)9oMrG?MQvX$_NAnwuINlV2D<%|IqQ@Sb;dbXJBBNVo*Uv5$j)`}kU6Ff< zmrZauNN=`;281e0DBx z>4B_gr)8~#6zGEo5vm9+&n7=n|LMNY!uyT+nR40VdHY6MxeVZQUiE9cI>AEvfSScStqq(TZ1 z;tL4n5*JDX3s6&0M8>F8=yl~ChfLC>Upu}g`Wo-M5X$!24;Yyy7i+}}=n2OSy^U$- z!!YZ`%vw?2@9pdhu5s7p+LYa( zrn4^MneS4DLeB( z@m{HLv#5Bbn?Y{yg(gJrNj0M2L>QGVZ2mHr#(3d17g3Sq9Eor49xFSvR0jhMRY$<0 zs3RSOi`^cC_?s_Z{GGaXel)HE&9k*87QdC)>Fc;KC z>L-dyswT?sR$CpoVTjSBGotq*4KrYo5cQl&)DDv5P62%wf@4pdeX<5QM&A^yK4h8OCfI2oZOfAeWing@63Mw{IfWC|ikv}qyNIWaKYmzYfRMmVrKzo{W_}rY;@a+f z@WDU@z)hsHZm*%sT5ax-;k#a=n9FtB=fO6_#fT;Z4;t&9CSxGnZ0zpmIYA~Tlz!~k z&o8wv%7_Gn-j7LFv2R}Gj|mUw$GP-95dSdH(JL0;KDT^))Jo2`l@%$aIwxal$0hWn z5B3fb;cmo%8%?|-x6%F>4tqGY7)RADU^>=BGp!1lf@{VpmJ~U_WPZk0Ni$cyaTFBn$O+D#fONUyN)0?w*P%4ctAJ+{5Q8~x^(g^0G3C?a!x5-o z|I*))S%U@?i;%~QbP03jFQT?UuI`xF8GNn33a4!=Pj9cq(hC6i>YKO1CS?;R+x8jVQGrhP-_-3iG{^)8U`jYs z$hEbW=`vGPG$@@udZazfkh{m>uQ5G1Eg_&}>oAZdHKtC5SOUZfEenAS8?fMYxFoP; z&*#0N8?|pe4|;U2jCNmm@o?RL2VAw2V$eZkWOm) zhWRCO9Bbr^Bue}5->}|}p2i2*u}yjCz7&;3j{wW6>^I1zU%iU44vahXvhteUqYneH zKWPjUFNbUgu9bPDuz~P2w;z*+C77p6pK8Ru`CK>wt_hGA0ka0nxd1G#uAW}df)8Ll z5riu_%+oiTSF*Bo;vs0^dt{}P`>zIe=No$;9tF4`WwRmGK984IrC0t=ZR6m*9}2hk zJ*?l-`eP*$YOv-YXh&CX$qgTM5(mx#^>~c)WhQ&Qhn`YpOnHb4Ojbn@0!sG_JeStX zuJKEeHfslTPuujSnql9$Q5~5laj4^TS$MvKl9#aW6CbMv$yw6swPT@W`q3X;?hTcH z%Lc_wzxA}pm-><$?XfM&2~D=iz4H1OaJ1n~iE>1rQ#6XjmFh(d^~3jO93!*N z#(YXI!6Dg}M!tPJ3X~#Q6}^DipYE9^Yw;g9O!|8JVHydFMKlhyo}@aKg|pEi@PFD8j8okEyt0(tV*Lx$je%W<|h;YgcJ4YCKhqFDjnl+GY9-M)F-y12U=CJ<73zWxazh{aQU-N^pS(%d&6fp8gU{JGB`Ia)ECrAJNMOm zh?uz#Phy+&KU3F?-yJB@N+qz)mYEfn$C9=M@=h1_ezUTmHvCe?bs7cCo z`4$IwL8JPE0r#%QP{(s5twBrzhRv!&B^Bp_g1%%gur4_K6t&3AR$r5_t@n^Kv3fQC298Uo&JKbs~02j+8W0ucV z5?%rXIqpN2)D6RUzO(kLE8S{46VVmo>$kW}Tslh6OT9)bRpGJd$-`X>JRZ==S=n_Op*kgkE~}K{F{y+*<*zBjYL)qx)J@)NN>~&utLY`>CMN1`s0UBH^kKKw(3wHxCGbct z0%|7`JN7hEk=qopakY&Fb513>P+fF+A#0Yv?MlP#m6^N{kPRV0Qiux?M8Lc&I#5B8BZ4O)Us%H?2MPcT*pxC)%Z$i_*i5n`I^+@&@dZ z4dIjxv}06F^L-eX4-Vw{1YsVWHP~&V1hG5g+<&b-RtYDmPGTcFNT(zHUPprR78=;s zie2$DUEhxl8aS*~4H>${{d{&+dIj*7i!W8Sc)Y(?>#Ck!_2{~8rWCXf229jsNnU!k zTrHf1mN!#bDk_KCc*?Ahb+`oSSif(3yu69^ZT7ghYBr-61P%wu6g5W9YOHQnj>oOe zdGEKn3SZRb0hfLG%bE7@$M}Ku?EY4_S`nFy$3quojYo59Bt?SJ2U(U!j=Ujk zx%)&m50&I}2cmU>DZ+iO7%RbcGO~9u2UL~#^H}e%Xdr4tIC$Xq2OKu~<>XWQvUO&; z!u_r>HO%u^>X-Boll=64*P0ey4`lV_bi0u6#@hoka|#=8ck7b+2$FEhdJb=Bw1+=w zpM8w?DHk^cUo|fnuf~V_lv|Dyk{S&seN8X7lzg>ULTtHsC!h72ZoJ_RAX9tUnvyxU z@NK|kw~vIkH6^>JxqLG;wIj|a#y}bXtVUIKt+~TXt&t&{POo~CIY;NUl-+VB!!qrL zpz51}L$BY0A+?0jWUGIp<}#?TsICWwtS25Mxo`UqCh1xG+$Gv)f1jBii*-L=nCdn> z^s13*nX~sh(bJ+|N^_42CK0L?&8n(tLTo`0N3QU`Pis$5}J zHtLw0@M7nOWE5eL%0UykF%y9xfW!YMhLH3JU5Xx-E zZc)c~DO4@+XYIYO4$COznDq_nUG-91Qf5=^XI)44koG_0^>fBuPG9X76VtjUd~tZkT1x9oIUB-c8vWxqkE<{+9BeC=GAFy{c#lEr7|ziWCu)y{xzPy z#QK=N;RFJm(i+ou+VL0jg_$azrv!A#R*^s4u^F4C#m8M9 z98R{>)A)FUNY_!+pS5$v&3&?gVVCNL=BwV=w~BP-XLElg03w7A2?cUeo}DM0$fw1h zOmVExESziA-RNyhrl;H3n~IaKYrv z?fjf+T_-Qs_*pIPC&2NUjZ(;D9&X}wn#}rr--1o)2P7gSsKZGG@JNc)Qj2v9km~Yw ztx=Pwnr!AEyEDoZ(? z4$mr=$Wr9(vFNQ+R!P1Fkd-fu3G4KP474vU+nP(zdU=01Aq><|o5+veZ&Q%vyX!f} zzYMs4H;E_ch`$nThSw|ih%LvXJ#z?cpAV&(?j($muJQ=cS}yy9xWbaPJ9}_x>T|?V z6=}A}<8xKLskQUh*2gwq5$-_aF}ey`1}9&HvYK1i@wQjqpHdLtVU-4iI|@rnAhB+! zUV@iVdM-52P*rA!VbR8*T(wg=m&3K1)tb~Q6P!C-)Py)T7Jm=t8O} z_27~trALEozKY#U&64%o-C`jw0Yq;3*0va;%~>_^nrk1X)jh=D6(M}2=rk|CPLM5* z5a(D;IiORwY7FT1L?2?r-64R{eTj;q%jm9{D*M9vRo1>#t-o(f@IdhN>*vf8<{IS? zl=Y0UaeWV->{NRLKlJ@70*YWBZk>IP*af~TPk~esx)h`_wq>QTa?rN! z>UzF70ng^mP^1b^=g=>lL6qwgC4pu`-A)qsW(>u)Z$1Dvm`F&AjKYr|ffxWEFc&xh ziX{<^)@Z+=4!gzJ>63E;4Eg>u8_d#OD8)hdsSVPPeF_Wr2<8zC3JMC0PsE8bHO(vy z8FZTobbq5m_v)YRC$8onP|M%K>d%*KI;b!(g~~86kN;2spmxwKjp}QVgA=>6wF}VH z-o(a^%>roow})sHm*^T)3xXuW|As8kXfl^@6Rul5o1ce#s`GYI%^1|gC!_BWs^H>e5uFE#X) zE_5(IQ+q!H_^49shwK@ft%HTt z-|_gJ^ZkQh{i~(q!2ZX?#L3y>^&eF4zioa;WdDGI|7sG2f7|>V9`L8>j~M;y=zeEe z{@F2=qQ4z~di{gE`MYDk6Wji@xvuHZu)`S`PFpm|6}tL*7RRY)87`q z7lQZ!GBu(4A6g#{xv+mlY#zpOKkf8+%?Z*Wdi7+mBxTYoLEm z$^J;Z{%SSIaQ~9C{<{mmfBX1T{{`hg`rl89zxBUggZ@0RpHuut|Jyf~zvaJAcYmJP g4p8{gzg)Id6%e6wz>iq~ALbDh2`EVeJ)>d%4`g6U?*IS* literal 0 HcmV?d00001 diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/annotated-text.pdf b/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/annotated-text.pdf deleted file mode 100644 index f71424e256334ba695474051e5127a03e0ebd742..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115245 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%0Auy~VJq#RcM2moB@$?Ar ztO*DX&cM1PdK7rqik1NLTGLYCUK?5l?7NYc z3;d(UfPgpA3ZP&|S_ve)nSKQ{yoFW)5tC^(P_Z+u0WzkbhFkfq^f(Z*3u?ZN--i5M zc~|W1&bveI$$QdTpk^jL0p#q3WA)~}X&n$W3w8G4edyOf(rj7}H0_Iea(E8HT%L5|QI1B40~?z}A2^VQWZ##MX%Zgsm}c#THN7urZ0wO(Z%u zmFRq(MB(cssy36T+Dzi<^%75;Ypu1`Kste{30hmNEs*X;?M9>sgiVwP+frhvg_YMy zluXjjXlJOEM8?(<8QVxqY%4MGdWnNKN*uHhu)RdU4$RHmz&;Q2&<)JXygPoQKni)FDuI)RlbERMwi>HLV@N{8Un1ZDVBar+aRT)QNu;wd?skcB zLnOxCAu(>K#JD>p#toAgH(X-e2#Ilbu@P(p(CsdE7tl@M-Drt-cT2o0V0W{-fo=lz z3fUMoMgUFag;BN6Og|%zDNB(07Dl@44o%2^Z|*X zvw0+s1bWuxb%A;UPal#<`jAA@g%U#_k{G&BqUXaBJr_yzd_Vu_xQO7wh)U(c@x zt_ciXC^2-Y#L!3i4g3bA3nX1CF?5+k&*c(5ALDI#TOg*u(3QL$ZwGX1&)WkrI{;5t zNIYF8k#sfh#5*BH;OQFRX$oY4p{pc@u8k&7 zKB5Ehh)xlm$?ZsY^rjd`wj-CWb>uq+P!q=>$L(~T^I7K$)ZF=#PSn~MU<{=WuBNW$ zl;XP0bsMF+_PPE+-CT!UCn&>hciU-zd$xNv4Ro(|uLhQiqyC$HjiWZUH6>-YiX~!hTWUa{gC+ExB zMhxyIXwUPHU9qfztAz{W7}rMEJ8ZnWzmKKx#n!u*x>vDHKyT7JfRjnnyCUuZ z&VrnScp!MFiUp4hkPE>R!PCHV!1GaN5#nXwRf^ZC_({bZ!J8Eec`M4i9H4K6zEj1! z5bpu+10Mh%0v|>C7l==RPb)qv83T5eepa4~Xiq4M_Q^IH4lpi};RVN{Y$I?pLhgt-C49aR-B*T;Zr}{Dk8O2+>OA56+WCX?oX!O6kr)~Yj?v@vcyMz) zNpd^AljJUXn%)cCPtTV;1hU`}kOdd$Zi?%$kFXY?wm3%wmS8z?x@eakWDVDnHE#wot*J7WIy54sk z6zsQQ*AdCS{hzsx2=?2s>!f6*yS_E%3-;Nn>x}WF>%6hqZP)YNQ319I=Ih;V{Ef!r&3 zC}hDSAqy^q4CcCfqU2cjG{FL++;jXm<(?0H5qKHoWdg_CtK4(ktMn1>b>JtVZ-l-P z@@DW>Uw+tpzGUTZ?w8SaaIwA<`p$5=dza)yoWI}<_a4c4`e%aO`*^nG0~TZ7A<22L zcd+{?(!qWlbAKV&ead~>eO5n@X_v#JgS{Sy&zF7diB;T4aWlndYb10@L{8?V4p8|KIM}^$fBTCg7J z`9ZKzPd_5Lf&Q6b|NYE!POxFunPfL)Fs4$Gf_a{o3wECK#t7CUy>WuQ@kW$j53o|O zx49lCImt*6?8gB27lK_QyzK-V$=*(qefN{%zR>espBaVTF23m!9v%{nMKd zeTd(;gs%zRJ0jTE_$9TkMK=&E^`_7hpeG1Dx^;Ai=wv-Ix~t&m9{MK9S&DN!bE5}(7Do?7Jkql` zpk2KL``Q%^Y!O_nV>}>v8uv!e0ndj#UyOsI7wJ=?m*H5e1pBU2@qT$-qSxvDybHlg zqMt;2Hws@vTfxzrp>Ne^8Sdx?f}>xCz7u)_=wSaiDSDS+zkNpU5nN)tQH;mHXRvWP zdY@oUz;6dQ5bVR8=u^?B1$*Q5 zBZ7V9jO6IElBdOxZ zB}U4aQJCN0$eQ`2tobKus;R)#CfljS0gO4KaTtZ&)#+pAuep$#`QpE2>ewi{SB1@z=79(6|!^}!MV75WH#5NA$Tjzf- zTH^SpygDmIYlW;O(Y+$QPJ&1gp?1K2T-0#>OPOD!e{I@j{seh0cCk0&dQr3eX^|4~ zuFUhJJiDi)JW8gomGWVPpF4hoy?2T{EH0uOugJaks`xmVniOs z$jd{dhvztDl(sta=6i3x_r834ot3rMUVH7e*IsMy zbN9V=_N$bg?4wi(4@3B5+ei*co26nl85b*t4`GfLK+e|z^)eC4)i;V=}w9DxDTuKH2VDpJQ-Qf%r%a0g7Qtw z;6EV?+z$)P1m#zt{1q(5QMXx|cmmJ|-@uHkU%(802s0Q2{+GbRn4=Sbm#{i$9m(ko zNq<1jj3n(JfEOV?`~r6PFm!kwK6Zw2)du=@;Lm|Sj#1MpQzmj$S9Aw>9FHTe#t|zx z*Plf!Jv+kL=j!l7$WY5UG7JwB=Q$NNLugg1+ zm4j4zsT`%k+2J%jX&0qjw926MylR!}f^RUO04Lv)dAI(jLh-m0&WfqDe=UDVv7z^ujdtv>cqnuBL#w{09SxRk}QCUH_hN4(c6JL1~&(xV^ zwMC=&AzSFV;XT^F{r^lGAvfKsR}u>Eng1iZ?x@Opga3DT-LXHl_m+>@DR#+)BTMk9 zIcuU>{8QMAX>HItauhr6b-n2ta{a+|-F=U{*!@BGB=?8hC1^ud7FAXojz@~=Ub9`cy>7c=FSk#3OmN)8QXG>VA974_+@F!=ddoHJzQbKKTB`ei`&suP_b+et zkI$F7W#NC?=S$hP$8C>OuW#CJ2*t6&@ubMkJ)HYb!k_m>-c=EF9dI2GVRz6S5fS$# z_kc)v>>j&F@n=LfT3t3;T{c=>Hd;kCip@4!Nj6$lw)xhR%YsojtsdJ_D$A(Q>ane) zHnb{ij|9Bv%pna2kHc@nRn&8 z?f*<0p-!PvhPt#U7jr4%E)mPcO0kwsYMaD%u?u%6kBC#^oEQ*8PaB5avlA-7UAld_TOH_B$hs^lVST}#+fs^3JhQOX%| zwyc*M37bdtwQ@aSEwV%|rYI~)?hIKeXA`zo7Rd@(OxS8UQI=D@X32(}A`^r)$doLW zMTD)86xS*GOSxRSWI`H3Di=tuPu3B3mHN%&Ns={kxzZu)mA$f2IiwsW%5u`95o2j( zI}mq=vPU_i(D;>Z<$!Wr=^+cPR2t-JWv#MKS&x2Kk!I@%Ya*>zQg)NFTGlA5Wj$e3 zr_?L0(3$EL(t!GCraoGQsthPsWU(?qu2ZJae9ZU{M(Y2s-;byv-q)%t1)paI9h7s) z+xYx&-F6((`0SKm4QUl}+Y62s>g#|AG6nQb?u)F%+M01EqpbGSnCMevxteQ`{Ggf%GIR zV-yUt$Js6l#krLCaL$NIds+Jm-WjXs9BWt(cF9$Cfm7BJqR&+6BrMXamOb(KRM=8X8LcrJ9Garw>`Hb_lLQE%)OEOR_;iipe!{n|Ka@k`Jc?M zq+FGD7r5U?dFpxhuieMpC*3c&Pf@;l$^EkXtos%BZ`|kIzjI%7|K8nC`Rl8s*8~44 zdcC(sGsv72wJDMag)$FC8=+9_% zAu0*0FkUzc&lJiSlCq4XEF&p%$TBLV7sXby%(co4^9fyVytBwkDhsJpQ>me{{I*g* zs__4fRMxx;-{`_T%~V>&14@muoJzgYsH~yP)T(S$HY?jGJMB_B5run{BNU1Il(WhO zj-Y&JPZ^e~GFIkLocHj3I~kEF!i(fM$_bN|EMTQ_nw&`)qyl+nkz7JKp^oCW6~U3Y zw$Ojut-p4;TXx+RlSfD6e{UTAH%H(<7jNGYY2PcxS}}ZN;8t{f$9rehF$b^(@FXCw z`qPeO93`9!d34UBOm{ws+J4|W0F&G!-Z!Zn59yrzF!+~3|FZ-);N-l;q}YE-Z~|hl zFd^HMI3ET+4baRuU4Sl7PJ@3lAmp$nRC^L|4tRQivjuvfbC2^p!>oG1)g0BcD#=#O z{8mD|!lR%u;ysI_4VK|K5=sk0IUYD>LAeS_A@C|d^r%2XFpMs3!Sn>msP*ddS=SO+x~A8x~LU(qJgBZrPk|- zvV|nJlawxM&EJREM}NH{vpX?&B+pt|{2luS(6JAAw|tLGf1NX*xX!taaL(mocnV-K zU@c%C_(R~~xxD_C`NnP+!JqOQAmTCGmIJmk1Wz7~$fj(!&7*USM_sN`v{CC-@(Q(8 zeOgHM+v>Mz!#*`@p0H=l&#DrUtWRe>Dw0`?vuZ^_R$W$ucz@R8S>F^Bvs$t?iNDTz zE$fPyoqK2QcrhopKX*V><{ixYrTA3-U*reHqtwSeqCos5jjv2RLYZ`-ctRA5Z_wWy z(ITD_50X8P7XE@)zom-KKc$ z1@`wTX-AWzTX~;jzvJi1Jjb(+XO;Pm9>?>_Cmk<19m;2%*-pRmZD-UOQ?@yi&c~JQ z*^g(hk@oCwWVg!v?7z!ylm6`QWVg$3_7AgrBWWSU>BtMq@#~ed`E;l$Phx5bo*ZI->v^<_aCVz~4G5_xT zyX9&37u;WvF9|y9X&0#sQn^ayx{x}VPwPiAR) zDZxg49QDK^tIX=eVx8uZ_~Gs{5E~N-cE2g zN$Aq|=?C>*{iuFYKTY&=`bB+^c)Ikf`gKDX4uW}x#uOu9#Eb%Cj4|GrXp|UJiBe9m zP2XqCqE_3DImUcrfw7ocEj5-ID~y%KYNLthvxu|B*kEijwo=<2gwG#`MNEn>?`$6 zBRJDn;hX2HVwrD)i+oG8K7zG?jMw=Zv;loktMRR(nLX-T>s#kruh;q7d|Ql7zU@Z8 zcQcKs(AUoXrtRc$`F0!UeO-EksiC&nw~zdg=?8tizN31?JJ)y8cbfD$N1j}*b^0zE zd-ZnTpzo^hx?lJm{ye?SuK^DLcW9mdm~q};px5!-`BwSI_{aMv`b&%s|5Sguw@2IQ zpG9k74c1P#e~y2?e}TWmznE&5`j?SS=6Y-VG5-qxN@}~>-((c{Tl^b*tMsc{HRE~? zjV|D8GYWi*yu(@_@fT9Rn;7?R_3t3O!@q~-Xwbix=JdRG*e|?e{rmlg$l8Sa4|~h} z$Gp3Ye*Y=|8UJ}-yT4y+^KxJTIpjsct{@_0qsNoR>mXm~yq}2|>>jRB9@il>F ziVW=My}m_^lkX88Xk|RG5%^{rQ6#X?SG;A62UXy-I)XXAHt$aTYS0t(1tY;! zuqZe#SR9-jEDdx9r|E;inZb(SJc=Y;9Krlk!CA$<1Q!`4!6l?gGsU7(iW?gOJIVit z^`bxx&jtA^@L;Xp7Oc~@1*ZiYf~$gSeJXpq|BTlaT&Jt-5B{OxdZQ`WX4;wfyMkLx zoY$aff2`B4;CAje*lx@U>c6l!Z_XQ7XeZgMhS?)g*tPLLZjt!nP3aIw9z9e`q zc+uEF_#p7Bz;DregV$-M28<2Cqgqc$P%J7BIrKK|cqorXR8I5Q8`89zP#_f3*M|yx zDrbSvn9%spMEzu_Bs7&{Y^dDl36*Hwp;@6hG>^c&b2;{g=7$!97KfIGmKg=16+usE zrG7QEI@H9GKh#3eb!upXuZr+Z)OM?HcW8$`Gt@!!j?kW9n?6%7CHh{yH&_?w4DAmc z3LW+)g1veL>2NHxH-nS@9o~db4V@ydc6g1@8S3{u_1ho1>_6nI3JvK+WW7rE)eYlZ0UEww1 z=5T9xV|X)1s_?e(&hRd6AlylFQ5V=2?&b^?m`$3u5!ZomPxwf9vvxet=@;SS`nfRW z&G1=@vDd;E^rG-U_=?^|W4T5dxjx)YUQrh+2@g}2q^wFgXqmAoq7q&g$?>-YEBr(H z_K1f(IYoK%sCGQ!V>}WGcZO&9MI@zHM2aHgBE^x(-i4vONNL!mwMM3qoQ}v$idwCa z3W^vU2{qO;v^p{`Qbj&+F0v@HBvKoxi!?-5Mb<{vMb<~!^hJ>^k?oQ8$nHp2WS@2| zaxl^xIT|?`IUP9{xfmIYT#a1U_eF)?8+AnUqFOZIZH~rhU6VaIU(>qY94#PxH?Q~T zn9vQaJ32l(FUIwv~c(4q@yB?h94qf4X9qAMbG z(Up-^(bdtW$ognYbOZT=6+^T;7aJSZ(IiVP6#aywz2O8wng`FG+?J>p zMfXP!`88(C(L=m)*?QLMpp_m=#0vFs z6qgKdB78hhO`O|fV`CFylk{`330ghvpn79dNLm@ipALU4HbZNSmQ#eh&ORTT4LFy0 zDq{;{)v+lAYrtOxmtS9S1b=v%Fq{6|8@-!t^wwoFuo! zF2n}(NN`o`3dd*m%+TuCwb*dbqiv22hgOFN;;OMAo)h;ljCC_KMBEpT1dC|b#}Q*+ zpgOqDXo;udMWo5D__%nnc04{gPBY1CDn2bfGt?h1j#n5f3C<)-HtSvSNPHgIldKV3 z7h4`ZLlU;etBf778R6F8I?6KVh(hz_8)O(?q;C&Y$Cq#%jxUK96A$?k&n)TL6D%@H zsP|fPR~B0yue0=Nh_8yTB@JnJ8ed1A&>Wx1^x)B0Wqf_S%{w=EouY(CuL{zd7;$5g7x7wl9(UMA{`b)`#}cO!XAlE+&3Bz(k|YADlx>K94sZBZzN?rCz%C&DR7r} zSJKeB!@KnMWJs${8i|r*g78A7C&wlygjM*OU~BL zCi0SVN8y#g7cw5}ri?i@SxsKLA-0q8#0tg(qwr)6?@wqCSr$)4W(Mnm*F*c0%j2nJ zeQ-CQ1cT?2jkJfEsV_>dF}5Zflg+drNHM>+FIsXNj(q~1ND|~HoxJDq_93HnCR;;? zynV@yz-I&B?428KrCm*Na$9m|a#ym`*pci`9`GhYW0F0gGsz># zRr55OTANyzTAyl5ZAooUwWoHcx>Ea62UESNqp6dr)2VZ*lZG(mq%Nig^|sX2)b+IB ze$x*0dy)H1=b5KzoSiT7**UGTCg}h)xp+&Hbj%!u86o+koG#!qGC_=sPwpfc=WC8j z+?M?OAZL*D7|tN+@k~iiP<>^`JIqCW71@SiP?F8N!q!(*7 z>808(+UInqm!(&vSDNo4%u|1Qb-F3tlHQQsl-_E-b1>~@zEv>K@97=sj`SXLM$GpE z)*B4Gui#dRrRlxt{h{*oq4eRTD_xR4mOhm}lRlsBPhSo;L_9(ne!)I0l($~wo4muX z@txn{R~f!F3pe|Ox)bm@yvvRO{~6#A;NwCW`LV@QL-2DJ{$sq;e*^IMcvJcWAj@=H zlJ^1!rv;Y)P6R|RBmWEVYk+vqJ~A6`Q!fE;=6AW=c4TM-?^^BnTtR&n@Ce}d0Oy0h z74OFnfP%jGCi}<$?g$%zna?Lqvt*OPx3dWz1YFK{;v5Ele#ua7=CR1f7*}V4@)#(C zpqvAz50oax?FM+7KzRl{yFlq?ins9JYj}PKkzS^ zIJDK#%K`fvxP!@*tKfMRJj3YaWk`D&I$Q+(EF=$u^L5mkbFrT9K9fh4!qfOpV`Nb&y010j2`Ge^Ln2QgZ`U7u5t5W-G1lutS&zmceYgGx(ef){0`U6Othk5LU ztuCQ$#H5>=pzU*@-wVnO=yoSGe+px~6JtDzPlzvIE|y`nK8q3U24xs+p9berGt%<+ z62yoZ>&$h>6xj%U!l1N3LLYk1=T)Fig7?maoX?^*50a0AVnf{90`J18ZHs}wXj%q0 zerCb~ccE6IulHjt4`Q8m!;{a!0*BD=EO3@vmO;eB+*Mkw5R)Ol5bN{}aDEm3^8n;L zXW9*#+=1Fb_*DSX&YRXVeIE2X%vc2YVf2*;Xo z_9NJ2lNI4dc&)*1A4IK_zq{Z#Z2Bam6`7gQVR{rOz{g|lzhqh%u+`j$z#r~|9K;j* zDzkUcS7Tnji@sLFZZDW|7;Rqz=QT(R0nb8=dK#@Jn(G>~Hjky*n?dg|qZai1BH$uW zcEg@c4*uRlDdg*jlMS%jHTcrc!TEFaQV(elL$_Kp!hoj{{5HT@7{%l8>XYWYGbIc0 zIcGlGJgXQP5T2IZ3eQBYam-*!Rxwi?bC{AP(PJt6tp_-woc%%c`vY@bKt5(IdmKC; zJ50y7fg=|??tnE)%=H564PbT@Si``YdItUw!$@l}#(MNS8@^O$t}iQBGDSn}PKTL; z`hb^Wr@^(KFy-6LNXrpp5%jEN{+usDw{DCb`&dUcM!gKZ7egQTlA=P+XCV0;pu=u@ zV<{rGfg2R8$wy2*->O4Yuj3VjSvUY&9mRU=!yFY_agudgX!^OiI`Hi}8{kpX!icvM z(C=LM)hu(CA^EVm9|I-d+|OVKc+R9_RelHfi})VQ^9*IawZCONg0+7gW4sfbe=s3> zuY*wmA#=yhcT%N>UM54Ijh0QY zhv&Ox_GxB*G~*R&yRb%{gw9XFLtq*8kMOjo%#(#xTY!B|fb9)BQ9 z@P&Xcqg5H`yFqyjnQkd=4PC;w7+)}P#HgjP+e4855at)_$dQeiMecUY0sdjkNF{Pa zB`5)m>kw0DZ^<+D1V-0~?DK@_3Baqs^D{Hj!Z%(+?QfysPfQAQ{ucPpf`0(~)#gbM z^hfc%y@_a5hmrOH+DvGAIM>>@m^t0F3E*cTVc5)TfQKL-k%2OP1GhpBy^3u6D&w~O zptL}@&th~7)bpfUoyy;RT40{?&~Fv|9IJp%e5? zFR;JaAI1LJ2j4E_?>nkJ_-6BXP#yzk9XzuiZSw#t9FwTkOLmGd%HKosGR)3>cD^nB zMU}^UANK7}+DV!%SKYz5b>1B0(~#PPbwoVsVw?hSrdDw#6~AE~<(JGOegn!SrqKCx z5PL9gI}LK0O&pTPqsMH9;uV}G76ZRzo-_ep1bp5+M-Pu7h<7GZfHDp;Dghk3AVp#X$78*_AH_xv&fC+i5v5thwn(u7JS1}U59!126Lg%IUbW>J|#g?|xr7Gd+n z0kuWbqa8gqVu^f*%pP=gavWjB_Y!`de|N$56Q(F*`8K)oeulP*zzdn* zp;;3Ck>ImTmyfGa!XL47;Xam5u~kAixAt3_^kp%M-?RB zVCXmtyd69>%&$5?>4$_0-~s560KS@`+GwLSseA~n#xk_O4*ACzs-Vcn7}9!(38~~M z6cvRt>uWWQ7J+;6efg366lg{H z6u?!EFSgCi!3{X^Y1Kj;d*{@Kev9N z(JZz3b*Rs@W1My2XQnhze+}k%(Dy2;UrRdj^LBafrqgKMMwj<$dwb!r@^3D&UHEs4 zGGou^#kz1k|Ath?t_|-}wo{*@3%AP@9!sWVbYq)wJ043r^_j6vrti^n$TBix+@0U` zHao7eo>ZUVzuAuK_T?YEY1@o!e)d{AFn%=uB%Y`9&)u|p=9%f6|L6J4JTtnpy^8P) zaX$R^ZS(b~p1rsJcg?rP{a#PYF1Op-wZOE~pL^b%_l9?QjvmKo z-)H%YT}v}@BlAnFz^&)a-@Ucgr>n`;a+7C+YZLd&exHfguC1;et`66pjLmN9W%;OU zuWSF!F*5%l*J0N&l5xs)CbP~nZCvMF{jSTdA=p0Slk{}ma7&iq&T_kM`fKKC#X7g) z4!INVLf~WF6Wo*BQ`}|l8T@Oi9M|!ysZ6VO*SMFv>%rG({Vwk9b4)hmUrv1ooz}m* z+1<)xb8o!WN2Z>CQYVZjV>D$0f@~tdo1EdsilgxI5k5?gQ=~ z_YwE;o3?7WEv}9l>$~Qn(J{p;?mqWf*qO@(_kjC~``YL{*fjPn!&pX@0`&dn5ypMQlF&kD~xPnBnpXNjj4pbg6 z=Tc9bXNzaMr+swp@$B{>7kT!18em7B-_g0f*z^O>K~FD_7h^o?Iq5n5uk2k7d{sx4 zpPBpl-pdDxNMociQbd|Yj1iGiM5Kr`QcN*Tkw&CQ5ox5DQkt?z5fPE47%5UjWHF1F zA0o@vELNm7t(YQG#1vVUMWhs4L}U@!6cLg==Rfzp-1l-55+HnZ`@6q$?z}T+&YU^( zap&H5W~SR=q&wQ}M9^NmJF2%gYGy`OMovcWjJ%A3i~)Lo(~Qv>B^l#*KhuozjEdy3 zF!b5yKU0F^a9j7;7m(-2^K)!npuL5S`#VD9`(vU%Kk)jA-+$wM->-9$kx}VApC`54 zGv?^}_V01HP&wNeYZKaX@b32;GpQdXJ^zAZDf)fj9)Ip9jY$djw)CBsWY47h;?K(D z=W6nOLtwlM-u*i9$Lpcm-n=)i-`_H-GL~~c;9YPtYBDxr=UadGTY~sJ+?VIeCg9z1 z<9(R(3C@rG{^!q)z4SbO^K&9&U&g_BzvsS3{f_%zP+rE7jANm5Z%=N<$&AK?ewZ{y z`C}39uA4BA=Q!%enQmrU%9+gWsV48Qo7o59p_%!q{WA+wCuI)I9FjR4zbQU-dS(&g zDK4`(vlMjV;kz#bw7!{T;F*{?h4bQfRqHvzvw1yp^S#Z7DSRKl)yf~(=|s7^nPQtq zv3HPFiZ7EtY`T-eFChF1hs{?I{vwC%Tk&&0*(p zgzGshAzwhg0*?fbRqC$b+!@=qGIk-^gk%T*R~k!n?i_2r!q{J{jNJ7<^$%-JI9A;a z`FTjS0pU^(8%QPRBHx#h>LlpUQ$kM@ei3Racz%WO5nUE&cmVoLL#+OO{x2vsQW-kc zy`cXH^aDusJ75bu3iJ$wUGNVD{~FL|f&L+AG6VEM2sa`87&O5@;Kl-k;mcuEA?+!I zAB9YOleZ(Fn2>;2g;*no@_rSZ{{a0wB=iIS4dD49cz%cQ9}zyq;plqQ7wRs8IyF(J z?j(c@5q=Ee4H=mq7jt$maX&X@pY|hTTlgLjVZJQCkr|(hWzh?J_fqo0eWxn*Xn;-p%3^a_$~aat5$-JofPEm zrZS9*Wf%|3_-iD1Hh^*~uwX27?5l|V8;5C3E8~9zAm@KU=?R_!@T@>8{hfNO;QbDy z%X@&u628SfDrSlP;!EN&F+gmj>sIj_x(12giUx6;*hANcP>6$I)>HV2-^_MFt7rICqOQc_N8G~FyyiwVo zo;4@ULjIqC_nt8F7@OJFH28{4<5A9|Fx~{p_c$zX1b+(XUtw%LgzzZv3ZTncG* z2v7Co)Z$xoE&JLbycGCm$b0}_Q=dRCO`tr1efXLg8z~6Cj2wRf&RH#AUyb=3t3GGG zpM6g74f!qBX9W9CX7j)QkZ>#TWZ;oHjI`C*uWT3g;LvS=|BK-^Fo|$4Y6E>lUy&#B zML+Rg@jg)~K0qztgJK}n?g*;cA~8yg7M~Dzi811CQ7Z1CHZ()b6m!H}{I~Fu#Eu@s z)r(*ZTG%8p6}wK1Z)e|$r^ODjTkI7F#9_jF2`{1RsK1wlTHU-0|0({J|CMBlk;`Fu zBVzxRW7SxMe~0i>z>C0N?$Me5G$;kY!+|r=9}X}N#j=-k1Ni$uLLa0$2K)$knt(qF zY{I|!7r@$@XW1p1ta(56s6PK6zHY;lz1%3Y%k2ug(w<|_r`)UT<@PGOnsAN1(XJ)> z77Eqb_4ZDJ278}<&^}@xBic#3(LU!W$92-2?oKw%B^dW{^6f^a&>84t+ee%sPQEkT zu5yZ;VyBeyDR;^!7nWL265^LL(NW$t#c}Ob&NPmk+X?3OQYO2J6nmjk-?ck za%!CCo$X|gbHuyL*+WtlB=}HE+A(mNI{IDb>}ToDA?HKQQ5IAS(zMN7KIBUrQbioo$u4z|0xo(uo+uccXySY8=8n>t0D=w|h?TgX{^Cocn zx&5iWs<^bIC5L?A@^eb&WW72A^W8xS`X>Ozt#Y#6q3#HGlshJ_VF1GDOmoM!Xr53C zqPyd{mOWq{D37@Qm6Y#Enm-m1o@$?@JIBniE8XeN4BjQio#!sJtK22-GIu4ljpb;k z`R*FK)?G(j8{DVdr=3mivus1M>o#`>ThiU_?j`x%DMzY9_keqtr0#T&I)&~D_q2O9 zA|iGqC6XD*isVFkNAjp$Rz(U>o0LOjKx8n3dmvIkb%zuj7a0~AiMA8Brna23HZmGD z95N68M4bG74AH{B2tOAy4jhC6kN;7K1aIrws%J6MCSWp zz9_Va+E^Ohs|cu#xxFGKxK`0s9jS?IjMPT9P?|c*p?9P{vNO^U*+Axu}Y|(X?oH8^_$ zi55ljqQ%itw`a7>u8mIQT8d6_y2BO~_Q~k9=#1#B=v=3aN<}>|x`1GDbZ&GhjWwI2 zE8_Or99k;c2>lN!8>lbg~4bE`l)%|o|Y><7B+AqTq-R|sTkz=u;u@SLR)VHgMRud_S zjp5NYHa2oDHa0dsHYqkWHr*M><00u+WABXar<`We_G1X6OHrXzl zYo1EcV4sZ5i!F>TA^Nh|%GjFNI;Su)(mfE{5PK^2v{M#)HnuIcBepxXH+CS>J9apB zG?~|TdZ!3IQgREX(2x{6C54_feVZG3R;6bEz?<>3 zKEv27#gq6X!Zz@#mglq@1pW>9>aZTM3&H;?C|Ijxlz~&vB$k0b4V>#hS%h#l!u7y4 zNHrhf-H>(`;jQfF#rxd)^9k|&rdcEnVPm?cgJ(KC!mz`zJcQUW2p1uC2q^vG>4uXG zWC>!^K7Eg`DnML&(_&o};?H@GequWqNOW)u_`l)DBaI zqDD%P*H&!-Xj=;_RidW4A^gvfvkfvcp~+6&cMwJyjTMkqg?aOK>`k8qTmkxci?e8ZEFI{esihW4F1pUaR0TWUcBwa_q5Ay!>#*N5p1uUF}a2Yf|i&{7UN;N3UQI;d1j6vA#&lSTC7^b!7txRAqNUvgP4p<*(|aT8Ar!rl6Bd%5Upxl=|MK~v=T6EYAyZz3 z?~hD5WxOA!sp=C|HE{S0L6iQSY7#^>J+&J_509_O<84Yx=Y>;ydNhxYwB59wN<#{!r>!}cVVLAnM3qo6IlK^Gyr}Iqh-%|FtUQIfl z?USHy5+vu3GBgG3eJW5tp8b$6>g5@2DRZ3e)gg57%E(vHj&XZ-3-J4QjvExH<3L=z z4*5RRyN?Lya4Iox{O%jL2X!~S`>2rgXA;YpI)-2@!T2OSgJnuCN0J>{-IMZc)fR#f zXtRD9;_aybi$HY0S3t(3cJc}B#t#_TE@E60|bY? z@KJ&j1g8nkreIu86PlK06Qp>2JSO%JsYBnE$#lvqEz>JoAP+x2ElZanVGO)bTT2>m z+a0gM#wAnhl$O&%PwP#PM^F&3Ra@hbZ~L(4QxZLGfM;idw7~?!QWBn1X(I_n6O<&$ z>eT{i;|L~r;mNvg;^50E_wE%0l>~Ei`P+iD`5OFom$t~eSEVF8OVgGUtV&53r_-vv zdyQwu%s|=w=R4UdZKEzP%2-RV#YFg)@pRRJ zF)7#&+ZmTT+TP-Kzi+ki>}hlS4~~t2zMgzfcrJ(CdxXOU^|;X38)m=c{uB26ztBB6 z7KPnAQ$ImFweidh%|GPs*GX{x#P&^hTl!min(hbb-3hV@ay{sy!Jn_j=U={Tg7o}A zA2t*FXuSXVb7Mb$9>3{1kzUxM1Nz=7-T#8}(g&u5&%Hgl=|htGV)7W}jYa9hQxfO# z-E==rFKQ`YdU0Uf_4v|DliG=A@AR_7HXFB*ZwKa?sN?yq+gigOK8z{+9Kz4RqozOq zGsM_>fwB1tWBXRd3fM%f`4H&q89R?Nmf%;QxZrVa1m~YYzZ-Z1V?)b-8DXR~e+SC1 zAoBpiA4XWy??u=G&H!a7!n2Te25=K{OaabC>?v^GgKz{qpcpaG{{ebGP<{yfN5)a; zA3<5%Nx+XGb`>NqL8@CItqidv5IYAl*MYtlcmXJX0!{@b9k>!$0sjwdvKn|AC{F;F zBbQGC!w%+TU~R+hz`q7%G4KT7zQ85Gu#fowbkk+L4f_8C7_qLl!;caBAi{OXu_wYs zz|h$^3~2*_p938>w_tyD5@A@$$pX*!A?FUzYas!2t3SeP5FQKsDkx|nRsq@`pN=TS zae0DIM{IpAfIG|`BTRR!J662ao#oCJJ*a-ZEZ*jR#r=xt>3+@qy0{T10_5UEfcM01 zj@=^O7b}Pri2kwTvE$+cDce$hDF&pxkn(~Un3|E=L)@C0m6|0!e8uw{DukR*ut@Of z7D6s3SVd4xP(!fM`&}zq&Zyzv^`hmh8s_oOtMTDrfG7F98cy$>S;O@Bxiy`Ew7~f` zfirGc51en4@8#9#oomw;3=~7S? z0RJj@5$EQZftGs zz}9rwSx%ZCaR#yG>?724SbH{NcNFh*7MvUGo!4SNBU(;psQ_Lp;-|K-ocQT4-GzT@ zi@+H9wiF*%?E_`N(g)=*%II||-38Qd7PY83FpoA%Jk?)~K{8#z9Fy!A=x`?Jl)AGbSg)&`XQG>qPI=%^S!kcjQK#4nr{zr78 zm?EL)@n^aQi$=OW zB+iJxiy`74bPW~f>H3INQi)-_rJ1;0+B91kE?pTBAC)l~6CabQGF6O}=`vm1Av0u# zD3WiHZxJ7tZ2EJ|r+y-3`{vuH6^u8=Flr{qexQjFsnwzyZWma9dXTqDxlXPV6KJMgBkq&y<$5tuZjc+qXL;T&Cdo~5lek|#C7%+LdG0Mf zCpXK@Vv78!{Hgf7{F(fjm@1!<&xi-)&*jfWxqMDOC%zzmA%7vJ$zRG}iU;Kj@&z$n z{!0Ezd{O>d{#sPX7v+oMA^98m8!$e1tuM?NR(Mc-rouQ52%HqV!slF4xCHbWY|O6{2%8&z&JUC-aOB(OD6P)>`v? zBGk@3P#cP%C%B43Eu9Na-ZiKPxb8}nmG+;ZTw{{B_JwkNGKp({C|606_A^kzo}T{F z)Bf&IoA>afNl#X3i1w|y?g`PpHP_e>?OStwDnxq&HrM*=8X6a(y#WhoX`1Wa5baxY zm4#^En(Nac+PCH!AEG_4%HUpZ5M*I@E+IY>+A3P}O$colt@-W?Z5gfkCWf|+ERR#g z`92$3@2&YJh1Ps)zWYP#zBS+E(Av+6b4rizbD=fcnr}*I-L~fYd}!^q=9?O#pXu3G zbLw{RK!|=}eB~kfh4FnMM87b;X|440*R}K){8dLPUiX@=exQD&{!Kll{zKKrBC(&w zw#0rG+ZuZ&_H69uu{ucVBhm@_hx0Wj(SnOCf;p7Vm~6_^(AhnGS!LU=_k_v zN>2{{PPtX60Pt^_1WY#qz_jAPxzpZx)9P8ZP3=&-)n0W#9acxx3A&$FXQ{#1Mv9SX zWEnX|ZzInrFa{Wd{d+uqm@(2AZIl?}j0whMqui)4DvdeDd|!^S$fz=w8>@_JqsG{1 z)EZliI-}m$X*3x7jDyAz*X(2Fn}y~;bBH-G}o>nibuhq}$Zw<1BniH)N)+oQ8tTEPDYrHkdr(094>DEkZwl&XMXf3gp zwP_bmuXryz2K+f-2fbzn!tm~ucYyLIVEE8$uW|7&z#nGZ48M8p{Ve|m{9eSuhhF=k z%5Q)IpL+q%c=0Zz{UvY?cp{)L0EP!}^AnH&FLwD=V5AaD5q=B8RlpYbGxWFt3jCD? zJY}1)5_%_!OhD|H z5JoGKXg{(L6r@#pjRe*|(0eYYJqLUjV*dlN&mxRf0qOzZ80frG0(#@g))#%`L3$<_ z3C|0DQbhTQqP`vZRAhYQvyrKh2O{N>FGQwAz8E_lYxHDv56tPO6ILYUn;lHoDrxiv|L{uV_6z#p|)RXidxRq8ul)iJPx| zbnzFAMxx~c;?j5rQqds$wA!OIE<+Ylc%U3Yv2}7d#j*~}OL8f8px7ddWVS!3+66-YdSR~*jFMbNF*9HAKp*8Ax;upQTVZ0_#8LGRo_{(_*8d|lfVE!+9v3=;C zPj87m+O_GW)*H{r`_VNqu1VMAlSlJ|0$h{4FHBvPlkPXgUD9TB?-@fdw#%gFU}uKQ zFFl)TAeXKZf^l6aKNow5Uw-*Lg-uUYzDfzox*&(HXgLjC+HxAYwB>1+2n9mNyeD))l&knKc1#n0 zelj&aKe>9ka9_$z>Pxz>b*@L0UWOjgxqSV0J@zuR>&}_|BDKeEeB@ zsb%PF{{GW&Li}lXr8T&aEgP<~EjylnSJ|@T8n7*^;!pAGVVu`>wlqFNxE^%&>vwxAUu~OFqrk3+XB+nCyK;y?WYk|1G^N{r6&?q+>5jFYH{- zeqS1QS^84v^Pb?n2PVHuT*`R;{SIrO-xVj~U9l|Q`mU@FIl`foy{Rwu#vYwHS49hM zf#U<;6t2!Z$Zri-Lj(W2f!`Xgh7Mg*3!R-oUH)3=xCUKU3mwxzf1~&PG=sC@?+E_K zZV2_(3bC8QH>mHBv~dA>_mRZ=N#^GwQy_ObBtPuQX6-xh?_TWn*y~~x<`#E~8+eCc zfbj0gV0(AdyBh>55FbouC8fQ~oN3NB=MgM4mzc}UmF60A9l-|kDf4ObS#z7YgJ8G0 z*F0bzHjkPo2u_=4En(SKij_%_Wgf6{tln0hRX{Mn8f*=-Mw+{=(Uj__Rbq{^CU~5a zt#Yfvs-(~yg89}Wt12noa%+`UO;AI>Hqx(JYYRag{i?TiS`F4d>ma2(VjUxyCrRc> zPv&x~kz_Vn=WJ!Wi8AdpySvqBcek_cT)U5*Z=JLY2?p9jtSWoBU1S#%l-k|RC3YF{ z6%$Ofr`Xf%8Rk)Y7QtM5fxXyXYOgR)*emSS_F8MOy`Dmwh;rKAY;U!nx3^n!?Cth0 zdyl=}T5hhfstIcBL)J$7RcniVoZu8`mTjN0M%zu+XvcJ-PB*K!)5GaW(2Mk}X!lpL zT>`(HzP??Yeop_yUv|DT$Qep7!XDy`VqKgu&RAzW>*7pe&77(BDQCJf6LGV{<1SAN zappM-oh8mfdx5jeS?R2C);Svpo^qaco=t2MiJYBi6A7)L-Fk1YrY}p~I@_Eb&TeO~ zbHF)l4Rekh<8h0Z>t-Hl4 zvD4f-x8AL@vfQ0+1OKv{+&af}cRJlff+v8t+o1Lpf!CwAYoYeK(LPb|jnTVI>ODYZ z6d3!53hevI>#T+EZ?h5@JBNCHGJ2Ya0I&n2_J{HI$J9G}YM&PD z?kAw9_AJu=3EJyPrh@`c2E8Y#_IHwZgZ=`f!M{j;8d!TD1$J*V^sbfCPy4@)OWM0iL%a41Nh8Gl5#xK7LB?tg71*tf%(?722l-JA0}XURymtv3hS=c;YoT zgMTmQZorpDp=Sx`*^HW{enhbfUUov)MUhvtOou)uyyK0+=2OD+nX%9|O!Q?FUV_@o zOYb~u&IQK)zXtk|3BNM)QDFEt8mK`-A(h_Y_a*2v4?5_P;WRYY`wQ##jCM$Uw$|ST zSi)-#evf(`2)|LHJ_%;TXONxqurg?VH$C#OH#Z$Bv=@gE4|iIUVo9Eynb2=!T++pS zv%2`)E4|eYMOP{Rtbi4{R#qj&kG^Ex;MdMD&lU%Urrk(Mnr=5_-wfYe+Bud3|Z4lK&jKeA4{&pL$I|kteV6BIkmB z9q=hyS=b|KXMn!K145W`>Vm zl)NkPA2P3E&B4rpSEZCBXv?ckR*(&^J*{~~Fwg7iD3l}SCfT^F-#o5Nz2wBpDBqAJ zH1Q8{HrgETYB%o`Sn%~{#wJ*$Kq?vn4}rl#pKyh z@7J!#xnmxm`hBsVHyi8g`J5)tJG-{@U8_UK?7;t^@c*St@GYc7EWG4z16^&i+_=W- zI?&hu`lA0;Qld2JZT;HQ*a+xrz#scs*Vx2LiX87BG6O3r7GL8!UpxJ-qvPeZ((gK^ z@3qwLI%?r-r{8td#@AB6>!_9a`x^g`y8_=r#*3w)Pu**8#PGijYTebFnqLvk_4i5s zcYUSMdvz_lPIOoB3t(?J1N+wa{~ce6Rc&wfvMaB7%hz<>TGe&bRzpB zucjwJXY3sOKYy9Hn*Zl_RBK*ImyahY&o|P%eY+<59@cAK4}pS}!Fr{mUIDCE{d((tv7T7s+ylL$SA7~`y@D32mJO^~^j76!6{*5{ zR=w7?8S9Bs9I#hOuXCA3~E{3FQGD`oXsZLIM%=OTMB)*(DAD?7wswL_hs!BZ>=i+|Nd)wvVzoqb#1vDqGRpu7LtILOaz`sX$Fv^25 zxbsMC`|V5W*0cr~>s^IDnFD7kG-0(W>5)gH`3UHl+UEGeqf6W8<)jMU^wO;%d@TbwUxk@Y-tGs))cdzm88w2sRbl>9r_V0CpJIC`$1GS<-?4$cZx*v(( zeLl}F%{b$t89Veh;~b1;tn6<(6|l?lmVT!Owe;3z*wI_lUj;haWb;&{MLX2%$eXiU zdN)~_&!HNLHzKyu_Dh~9(3x@~;ZZ%gXQ@Ut1n(!9F793VaDffW`VfpSqHD#aX{ zYies$kzFfc^$H5tQ2a&!TXF*4bVW;fo3O^Z2_wdNj7Uw`&)_`l(}aF>9zC=PWj~K| zInJYxH(?w&k2PZFVZ){kBJ8}sFU6n2?VWBRMS%#O0QjYL`6Wh_i%Inhp-+oaVmSN& z+C4L)%{VUmq&7i@&{E>(VQKJB#o`@mr%_B1{hmSeS%A5Ce?(0+?P;kOuNJWC{XF(v zXsT89egS(Z8bM}w>zvr5MN*6M)3-I+ zNt$nUeg(JACtS;Kc2LXY)Q=(ch0aN7KlKxrlzQ1ErT*3>rGB!*sk>84<$l$Y`oifb z2deMZdCx`OODl)9=D<<1L~dv3cex+R_PW(0ax@MR9Qn)@g2(be(>z+Sm! zVqGWFbc~N@chd#0^cL7>Wu6ya=-qj4xXcT$^zOm%8iIA;%ftvZjYg&^G%C%YUpz7` z#x(`kH2Agk4LpB00b>W0_}Qq8F$-^$}~+6JX!R!rXVoBODwhot;2WxZnwvDZ)9sPfQA-E)1idsqY|_G-~=wmr$q_|9Ggi4*&Rbm}dX@P8jv? z|J6Zi>)eU2aavgF*Ud2M=~*45hURo;S*V_QVbsPo9i)=|&MgS3?=7MBE51fs!PTX( zWnK)k!MTrKQhVb!Vm|4rtvO=nW{33Nth!O}Zvp--lR$a*VtG`akf-HYC6ujFRHn*O zIjXnHQw4+vsKIKO8mUIB5;aauP?J@;hc&%IRjN5^KBZbjZ*t4kDlb*Fsv*2l)v7J3 zPSvZOszL2j2h|aEOr2DX>YSkr*GN-&Mt39I$Tj*H`9`5J&=^A3Kx4R3WE2~vMw!Yn zCK^+WX~qm=RuFsnYOM1G_IQxCHEzG8#$028vDjE@tT0yVGHOal8FlG`I!8<2YpCpN|WD+NH%C|H2zJ}oomBcqI@7zeelN{c* z#9x3P2LiyEB{sMLc_>I`-ic$WfnM>Yc*sfJg5br_UqBNvhtLw8tLT@CboYRw>3SzceD_m-0@iyd z>K)zm*VKOpzKgL5Y+w$l@XbempD|Di>U#*ostR9zzGF#^IS(t?B@=weJ4OigA%tDH3 zAgpCIupCH<%b)>8hDz3YL~saXFrXU?2+-raNN zylLB{jkRqoZSrT^g#1gANfN(jo|%33eb?Ij>(=k{xu5s*exI3h=FFLAo@bu zOr4^uMuguj&o8CrN*7frQo5@&K<%EV_gzF?)VnDv-NI1`UZ-5o^yuxba&2a)VGPgH zRD13zd7C&M$38EYrCFk7c4p2u{d51yM(+~OD9`^p(^cY`In%XFDh)!r#mMo88OF25 zEaN$2o>5}F54Gxt#z)3xe-H8&4^PCCIwTqXbx31y%aOvS;A$7*eHr4lVLYnx^i)`? zF4S+2#j#B}2c>LB$&=Fy2GMlEzucKM@~dFvH$nA9P=0kAjo;7IUw(a)*B8*0czsR9 z?}CwE1?d9$J&vx#uY59m*5}e9=cbdI}_d6=oaXH0Nod(`)zdJhVDh^?u_oC(tWfZ;%o8>O~C8JF-$ddFFXt7%rK zm8;rm>J;}0i0T_Fwkq|$(dru(S~6%U12Dt9H-TGHXbhg=AKhb(GI1;{P`-q;Va- z3)^q1#i&~2`WxTvI>#1NtTh9@&q%HLKaDvNjVUZE#}H3pl^RosDJ-m5o8n%3r(K&G zYS;Al$~A^=$LsNkt#n?gx65^s9dVB23C!s^Zp!4&?dhld|80&`e|1v16jVQuVk^hE zIYRrx`!-LW^!%a|?c0>M_YCO4MD}jr7wX&Sz77pbc+Ml7^c^whIj#6wnGS#2K{)XC1ovJ=4_7N%eKB?;2t3HgHn{yss zSMyfXp5ST^^pDYvUoaTX$6?q?Wojl1_Fjx(`0P4#tG?_fh}e^1*#9x_LpP>}J&#wg zUCHp9$sZs&N98%R!%s(YGL}#rl}N4zyr~;td9O4iIfkPOtQO|fV06EOh$9d57rc(+ z1`J0tR9{n##;9=sc2BwF3^m?@J$;6=o79XZEk7(V4C7>|G3*Jvu4YE5Sy(v!z|>yy zJ;LOKeGn7Bg7LcOZu7^=EF`hU@)wd><4Q&nWDjgT$n6-JMUEuEm3HvFDr?>0O(?NY zX)7N|m{zXE#)n}tLoHTw)O21i4wKokusq!qCbNRD@|0guW~ywN50y*KtcmUe<#ICA z$VL!Rjr(Aq(8SX{%pVam!X#IyC6@%)4K4rizaO8RG-XY<;iUfMQZJMH8XPy0vRV_- zt1h>&Tp@pP4Hl*4mdb9{ju$r-`&kIo}k*JeJa1NsylhQL2afHak(;CzaL59{< zw?&#DVqK_44OweMjNe2ZVrnc9zgL@OV=3V+Q#GfdD!E6tOppDA%7dPRspdasp3!$D zYZ@P_>9Fmk=3}ZB)$jN&)nZelgroJl)IMWHly0QC={ExM!n}90&C&yA( zhLOBE@I3JVhM|*%z|b?$i1{T&7=8r7#&H+ z(D8I4okFM6nRHI5T;XgML$x`w!t!068l>7N*!ouUgw+gTb%u|jbp4TXIjORwN+!dv z?&{1OHSVn~r7Fp4{8fDuQEikUB7O&9>bpa#PJ=w7W;yoq@)5to6I3S4lUvxfuu_WS za!m21&LdJWW2)3?IYt)7u!k%~9v5I5j_I|X^oacbv+-S=)kn}5MT?!4g!dfSGmFIc zx@TZ6S$XHcJMJR8d*6{YkjCWp%+I5VB#xNv+oZ*l)ayIl5>L`@?A$J%)Po*P6LJ-~S&m}DooHgg{~RdS^~t4Bey@aHMLOxN@7Xw>Sesl77UVMM zbzDtuA${~chj`>%k^q*W5lJPjKr$Jmuf7)`f>b9Ll1reMaydxt8geVS3+K7Y`*H?| zoEy@VbRgH0G;$l*j9l_pGKAbqMutN9vd=}%Cl`?`$hD+1xsha&UZfuxNbV-X$pfKq zj0B;r&>hg|)U`uAN$Hw)ojhY!#bJ=MAb0A3{p(2nLb{UMNjAwNgUC>FpPZ2dVdTt` zYUBb^moz7B$aSD4H<2FX4$`0GlY7Vr@}Lf7lCw!oXce@;_S_B7Ht0!m$N(~!3?uiG z(d2Kv8V~Bl;t}g3rXaRN?9i)cZazyxOh?Q_%tq|nt5?4PYyjeL#IcBz5DO8D5Emlu zMBIybC_A^$ou-NCBE}%bAtoXwXXo|rXEsJ`ir5md9b(6vK6yROE{NR_yCY^H_RbmD zvzM8NI23Ud;&{Z#ee(L`n}vw85Q`A!BQEMQsDG}x6mbROYQ%Mj8zE^u%`J$fhzBKd z3o#})Z*V`JfS82X05JuzS#JMcxx6)Ed&EwNX^82Fnf>m_?!&VY`yviN9D+C;q8Z3X zA&x~XK%9g)wZD8zA>wSr62wJ_%LYhXg}4@R1L9`HZ3BS;z7ugb;y%QKh({z^<{*%} z6@?f?j75w?Oc>O!*8nRCu`yx`#P*0?1`TT1$jU(MftZ7si#QN*DB=jj(TL*^Cjd6K zCL>NmoPjtSu^6z4wE%H3;xfdQh->nJJ8M1SX2czcrHK0m=k@7j9g=7hL<`YHlyx@) zJCaN;ISCgf=T?Cx{5aT}s8evOnVYh`6AQMj5!k6FVErxwOLjTfr7OT*G>4LYCD^=H zV87ZxnZF7wY9v`EtKn`}a8d$&> zO#P|)D5+Z|;e^>hL-zK&yJktz;2d1?}ry+^JLq&2}Rv`VaH);epOwbv$g(2lno+O6#_PJ5@DlM_e@vJXJ4)jMiv)YzygQM02KMXie36tyerV6;PQsx%UHFe+VZ zrSwC~BWh!$KiDkH4-cNT68yCM{#nbx9{{VB0#>CRv>&=cizORcJ^9d<8BNBMNn{$C z2|cF;WC>XTJ(3M%3-loH-POiwTCC|dMbD1Ww3(*4niguhQPabU#x&40OVcTuF4c6e zqUR)PnxW}PP3LR6Q_mZ$`fXcDb64VXLC&nicPy zo2+Tq$T-i94Ua(tkm4ZIsUN}utEz!gUie6Mx(KP%F$ z?y!paR#)p%-2<4;@H>YTO{y80BS|eHH99FH%rC=tt8jl{1^<}e@K3Ga|02>~Z(^iB zIatB({+Im&D)?7M`Wvi@^k14>!9OfgV;T*u;2(*86YAnvz0V5da--3juGCaZt8sM< zeF3yhIzW#l9eOOip)WEN`cGrY1TuvbLT|DJEblU~z3agGZUg(f7c4LV8yuw7X}pf_ zfR0bUr-`;HO^OsvX|L&YMK5cq=}bjaT}`zON-fcJlcJY*&{W%`rk18Dnrd5gh1UEl z`f93eT(fSP>i0F%{5S8SskTKeMksovwn4EXoKnh7^#=WICBeipfH< zl&mCc$wso3>?GQbq~&S4O3@qBH7!-NtIox)T8cMS*L0MoI-YJq(`-$3Zr>cMsn(L4 zb2MF{XnKOCI=*ym_ikyY=`2mPwrA)XE2DE{u4fcS=2FHQ^v6_cX)DVY70W_JZ%x&- zK+*1+yY4#m-L;P0rn$OJ*O!@^+sw(D>fE_q=ko3PJw0?8>Y>X}Pi?h(>ROfX=lmU7QaQR@<>)&9&T)$N)^&ex z&0`;}A$|6RwTHmbcXVWJ(YGKhjnEJ3yC~9sSBpp=U4FWjP&Q_hOHe`dyu!sm^zW` z>5FzV2vg0>mtQNO%{xrabu}L&hSSzbBc_w?q?2=;Va{+8>)h`=K+ba>bRHye&O^?_ z4vm(f*p9o%n@n0cpCG6|n_u30uL| zkT^D#&49kgeCU11^$F|PCbo_3Vtd&EcEq$yVaA#@%|tWVOfg%S?aWSQ8uUrB%)a(Q z!XU5a+Akw5wih9tXTO59#9j<^F1TJrI@ex;wAg+P={$QW(h~c1VgOwRzG4Xd2GY6q za-_xfn@H!`E0C7hZ$ao{dnNehLFl)U&b3z|Eww8VZFLeI0;fUg8XzlU_L zy%uS){XWup_Bx~`_6HEU#9oi-FS0+>{B6+ueWdx@sQLRCLKoSaG?$-f?lx=g{-e3u zqWSt%^R-p;^_k{to91gf^0h~MeEooY?bm$$sHJy6^Y@eH@1W-IXO!L{&E+qe%fp(xUp03} zG+##*Uk*`xIaKlG7>X~4NxmFY@#S#Emt!fu99!|_IEpVPAo+5l6kkrX;>&RrUyi5v za)jc`@g-kQQ1RuQrTB8HDZZSu6<$Tl^5w)TzMOLvUru!;J?A{dpHoBe=bSI4 z=fo*4oeMOVH8q#DGBwKaDMn!5`%cZr(2I-0M#ny)0yS3S*Fea+X!$XBxF z>k`dZ1I^c^ny-eMuSUpMW6f6+%~y)%>oUz(s^;r*k7?RGtF0XExi_+zbjFC zEj53wG=Hr%e{B?hMD`EmUJ6M>_MjPUVAL=!gc_nfwCFSNJH=2kij0R)qroaqAu~u3 zv|pBy)no&->UNQRaAybEO%6cC5=CQZO_~IDx&>`dySN`hJ#m$DgE`UNpk0r-AE7G^ zu5Hw=$J~#>bv1_Dq+O4>pP);I+pJxWx&H~pwJN^z)vG`*YXS^Px$UZ;x-zwc+CSWsmEnZ2-yB*P;fp>2U-QABdeDB>1SDIs(A2FVNUUv+cF2l(9Axwt6 zE8|ypje{~C)P_z72!Ct+)aU|Z!HT+8{hobSP+m`kFpG1f!Gllf(J!rc@a z;%*8tCltPXwWvC4sWHx;h&}0NPdJUyPoG>GA^a()vBI@IP)ZB zIP)}QIPWyNz#E zn4l4)L55+>=vl#I^QJ=;dHPHxd2_t*ky`di*nT!;PhNZcHwAM}GW?y2JNC780h2W) zvuauKR&8R?1>|E^%4$JR>|)jc`d+DQ6dTR{#>TR7(Bt|Co5UVxPeQ+I2K2n1W6!g> zY#w`oy~JK&udz4STWmF3%RXQm*(dB%ww-+maqVW`LJw>oPx6oQD|sv4hF`_o@%H>$ z-jR3aX}lZH;F&y&-^uUd{rMn%H@}yU;3N4cKAMl=WBE8fo)_>5d?KI3C-W(MDxb!u z^Flt8&*nwEgfHMP^TqsC{yKk?zs=v}>-c)Ufp6mf;h*u(`7XYj@8$dXLH-LrYB9^U zqAlM#%R1XS*Q#OFRD4?rR-#qMO0w!($yNiaq1D8?%xY>iw^~_ktgEcY%S_1$E*k$ahYh1t646al5+dZg;nb zo9*U`ZQ={DOY9bV#6GcK91w@Z5#R7l-|`(l$`^h$Kh{t3ll_K%ir>_4;s4uz-k;~c z=)dg0>c8&4>A&s2>%Zr}AM6v%3l0e82ZsiS1q*_5l;~sVKi6V)L1LG%M(i^70DBN5 z_7HoR{T(Fs7)tD)>}mFFr4oCGy$2HeC?v73**74u@7VV|i6`?Gyd`hV+oHreRFGH> z@5}S}Kt6;IJ4uNxjF8y-`~&_W|5!`xEB+1tj{m@aszhSvSr;5fVvVg7kXSRTrPbPM zixSJW21dUS{bKY>6(m;EO$bS>p_}41MTxa@JGh-HNbEE5x%f(aBfb^iiyy>~;%D)z zPkrWd-}VE(=bz=D0CJ9tm<@4-i*l+`B_S#4I2HDoF52lfbils&$>=E9Hci~-mI`7VV@NC|j=kftOpAY53`3ydb&*8;< zKIHW){9?Y8FXt=yYQC0j0J@QH=AZKI{7YWS_warE06)Z!ScYX;QI^NP;+?E>Sb}xF zm20K)uHeeFvaCD#_UJ{f={m0K2HhC9x*O-lyNPZCw~2eX+uUvCUgcinUg!SBO>?`s z8E&SV<>t6~Vu#o%O2uArP#pG&@A^SM#;@+z_Z#?){Zzl1-_n21pXJ*jzRT34CIotUnD ztF`QevZPch7(5ROy)u_g9s@u$M>9%#- zyB*!m6*OwQ_)>f=z7s!*U&K*A+V}ml{d4_#{w01R|1$py|4M(hU*wng3;ad?5`US$ z!e15a8~kf`MUZR5X!t)XCTIM|zj73JoDlwKoI z&>znv+3@Uuu>N#Z*uJRK$P7J8Tb}(%ao0UL-&W4Fmft$%+zR>COMZEmVdS@=MeIjn zKnvz4z|rhyz_IKXzyfP5^rEk{h61*-h5@#*h67&ZpGOR_&p#hix4;j@SF z*@yAjd+^zN@!9+E*&6t4oP5?Afg$fl9Etb<;wZ!i5l18bO``jQME@Ja-4gYe2KgmR z&e=AIMXE)wAsp&-$VFCK?zU=G7BTaC=HYOES@*fs1r65vgE3K6_1Z%%^N)z)<+#_DX{NY1yqSvQl~ z)-Bepl=}vdOr7h039}NX z|87--$LLY2+K2=6ouGbW7ky7%jU^1vEK0z8HvpQ^Pe;#)o{3{z<>Ps3p0PT2GZFW6 zJ$`6;QddB>_x!{DLH}p}kpGMStA7MS2V`r{>I3b}8=$3m6SNs$Cvt8H)_>5Vkogct z%E!j!w-X9E8i%nOCW*(zWX$bkkm9?b$?uW1 zWIH)X1r5?_w1}3_`E)VePmdbHXk;`d@?5-2ywTp@ykXwG-f-_eZ-jThH`05+8|6JH zW{GFTzr}N6wwNPc75@~|#lOTfu|T{co)JZ2t|$@n#f#!4@v?Yc6pE+C3{fm*ih1G% zu}CZyON4B#UP8_T9+I&ZY6q6IGp={K8OnPf(7(ID?)HO{|4LYDOCi0Ca-HUQnn0h> zDSwGBq%TAISJ4gh3maN|v;%qC8|)47hI)5<_jrTJMWha?>kYyA>1wq`19GXn8@`gl zyQh35g}6)Pib3K&@u27}?i78%-&f?4Y`8X1v;wf6<>>;vV=76T_%S zeR`G{0l$%ABt4g&N6)7h&|0*%cnE%D#aLRG)}!M@Khcj)p;N^W_}vY^p<*bVL1)rg zbT*v>Ia7>zvjFnu6>-0~pT0(4r*F_V>09(|F&chsR*dvXowK&}OAe4U*8gHr1Pr7Mlx2-3R=Z1>GzH*O&r zjGfdD8n+9kUji#>FlCxa+%pqcu@$E~JU{B3g$g(fafeIvKR+N%|C>M*m5t(|^%I`ZRrpK1=^ipQF#y zxpW?VfxZYDCiUx8x`ZyJ%jj~tg02K@dxx&3@6t8&J-U{@PuJ1)pnn_b$Mh5WAG(!p zqdPzwaaNqy0azt_|2tNcd~p#Lr}U-{+N&xr7|BkyAmr|fwHtoNnj z3eik77cInqIAUz343dBD#nhM4Gr!bQL#= zZsKN2nu=TS8*+y65WMVR<6$UA253Wqh!UO< z;(QS&YKjDLp-2=LiD=;pUj)TjqMA5c#E5f5tTZ?n-gxitUV--yZ-V!zH_>~{ zo8&$2P4=Gfrg%?!Q@y9WY2H7*>E6G*LhosBhWETT$1C!Ry}8~zuf&`0z2Lp*E$|k4 zFL^I}i@aC7SG~pF5^t&Znzzh*-Fw4Z?mg!{Zdcw4>CyzSnX-dEl(?`v9sKmuoC~b+M zlBUYpKcS2rzl24Wuhmet*6MOqp;UQewXRpCtEXEIl&&Wmw}3{DHO8W@cObPvtIrD4 za;3ddpzX2*NPUmg_VZBR@DReAm7*=BZRC}iU&fg zAB5w#=D7z|+T$l&y4}hCRkuiB{e}-T2skR5^$mtvq^0#``VXuJ8Mft4$05RK`zGa2 zqRj26p2a5Bv#o@u-@%^=i-mYI)wqkjKd?l4NfIrrS|(lQP5v^;rR%`#z0za#OVBi< zDy0;ZmwG>LW4c>4IAo?v^;IjDTi;#HRj4;Z{_$lco$-dgXJwtWFUq2h=AN5{FOG-i zmygtJBC8uuJ6$+LzU+C5y!?t`;{1S0qQUNOSwRqW@Nx7B=Box&F-oJg=U%ituB37^ zc{LHjLOP>YDH~?XAbo9Ti_rkV+gieC9xW)w)Q(aA6!Vr2d=SoVkmf1Bp?R~DIpLc1 zy<}i(PovoD0;oRdoUC&qZh$#7W>b2c(D9g=u$Fb=osz}c0Lf&|n^TYMZPd#C}bE7w* zpF{U1E;Qb68DiM5Od~f92(3Ez>aT;odo@>Uhu^#!o9C-uhM>5eDk^MTsB6!5-L@^h zu%!3<#`!Fbzr?AjBauJHkX>lkn<|^1-7c>#((BcrYdY&e<^x$1TSv})noA<#fwrh0 z*$T-@U-AZkS=2$2_FBk|oo%%Lec%!QJMWL4T2O-5hHqNt+9Mk!O_Ilu%@t6xd5VszDy~DW8O_ErpFv;gpaSe5>qQ+?J^1{lTJRb>%S4n-qAon-$O~V z<~LKJ!S_B77%xBzF@ypy4gs{Oeh8*DXUJcPfFuhH-s;%}Yk!tn+ASNw4~21kM2$h<2+Z#)*mci?UzAiW6>|N0>0 z)oru+jB=BlJmJ9%U%~B`w{DP2{L*d?P`gh7-2Qor<8y$m%s2?RFhF1vJ2x5Q%CY=> zPktlisZT-e1eb|{6F}Cj88pPoPfDQ>ll)oNw4i!s-ue)P`$*<(FLJaw?hKv7Lf zIrLz-xmq!$``bJ|KfNuE6G*Q=r6$>y>q~z_O_r@nPt=;Q1rpzkt#yNdNXGK8B46Jy zU-(;wVUR_j&_bsDD17m3=(f5`QPb>_l|95G-DenSo50@blc|@IVYtB868KYvF_Ck7 z(ZrooQL&KNucn@WoZ%ur^spU~Ma;kkdUCs7bJobmtdW%C_Jw((_R?OiPbhiO?PSFU zEd&R*#gazQ<3{i{{kw+4I;F63M}}uDd~%P5-&m04W{p%@ppLtK<)pMqS@<%Hlx~9y z&eKNA#1)VMP-FafgC;zh`9c|0cp&p7DPorWD0l}U3#aJ=!mh7Nd=v35p-WQ}=B~U; zOcTwnaDN6DOd#XSa2BkCM`5H5cK!BlL<)u{`6eyIDOf}w!OaU|NNvR#yMY1QprcI; zoZZ3kVjm}7dHoS}G2!C|b)b8|(h(*&2L4+$xyxRpCph5n9cQcJZ-BU+?m*lPhTBKE z1@Pxn04qRFPcdRvSMhlo%<^=h^^p}p&KMcMpg+~|Lx?ZA(ZC#n!N}ZM3{2p3#Fuis z;s=%?rYqTM_chXTAKo_x7@l6(7QV&v6dNrhiaL`D!CXkWXBqCebXhw}n_XF8<^e`s z$;{+Sw7QC!Py5()iOCj4NJkcKA8P`x;49tqbNwm+v-r8UvphD8;{>x-HdN!)&jKMB zyV5pM5b9m9O&El7m$R%t9j~qjzW5l>Jg;j}f!y4sYgd8PJiGY94z+n;@ueTYHN1Xk z5y|yq{g^QNMS$CUicNZ?-GVdJIf=S%OLzTIOBmPO!)zUqU6a4Sfc=Z1`j0V3?;7+4 zzI55!cpxmU9Gevbj!ZmiTaZRR_{V1!LWukB0F>M%Vv#GscYU0LGV1w#6snTTKDmHW3$-&~}uyixSr?ku%Yom|t*vr*|>qRfF&aIQv{ zq$TNi+9*{qvQ>3$=W}e=_}b|}irMGK<<7H+1{>ub{D9?~SIb!#qFQ=)eb)|-{n@>0~qyNyB!%*^t zdgZ!p`OD7O&X3WBRcJ-qobFg{SljHjU*{KjUx9P6b-$;+;%i4+)WCM5Z|y~NJ=Zc6 z$)CetfDI{v`J--VoAhq|;nFEIVX6zN3Dc*GBt zsXX`}1K<`^(D_otKVaZl$hgqmbDq$hHW=h)6^=2Hsd2%p119wgDpPjZBK#5fqqxPTopt^9tO>K}lOaBH~ilNOlB zfG(cI>wrf95UL4w&!Y$od?Fw-Y!>hw&5Rmf1NaW682ACb&IR z5h(arKvEcIpbla+vI$BLW&{bo4R97#9ypIs4KP9KA&ua|*8{r44g=-^)o3PoJv0$W z_-H`*#GODvL?`5RG<+3cHcT`S_A*c6CE$qBCLVbK*^CHZRvauVo|`2N4KDASkVRaSLsL*d zQ^5M~_Z_I46md2%=fF+G0TgHIemCG;U@P)B!hQuH5)3r}8^H@_6N0ZUG9b)*LZ?3Q zcwG70vKz7&?xs*24G;?R4!A(vLz%?dM2RDV86xZnn{q#^-U59(U08y+20iQkW_}^}Y$|}t=!&eEn#`!9 z0A60FFL+Y}Z!^;Y=V6QvXkc{`s*~~ASEh7lg@zfktByT2&^M`=}?}*G1B=Tuqk&p*EdP4_(N+;cT z66~Wm!PrOyUc%nleyq zu2ZV!6GzP_8krz*GpS6OAQm$zTbUp{GbvG-plj3MKGWb-(_l-}U;)!$G}BRLclW*CR zeOH3?o8d23j$b_1KNl}9KA|>nVC5#ikK3Tc9wJ~C-^At(zLxo!AtLnSjmB4~!o$K< za`2Zb@>VJDVCde1-pwm+P4O$vWGS%?7u!eJVk4KPmD@5oJLi{g@z44pf`fyO9~|!c z^e1A)HMWduvBssMI$i9UPwPUv^HSlvll4W~}h& zL?$Uyt}VpzyJUE3`KZ(P_T1!Mo;vK%u8AbzH5a}A0`~W2NHEh6Rr()mA>6qV^EVN0 zb)R;U!n4)G)URp9?G&%fvGQ5Q6N4RiM`7FrX;$RAVmJI7%=xYZP3$#>u+hiw_#Q<) z{PY#w6#}QRe%i^qwc=81*wQav{pwcv0GPYA)Rqk^w>=e(L9Nm_c-1)SP<1+V_Hcjj z`ay4l?`Lt$*dQ%cPO|ubTlT%)#`&QNWe!AKP|U_Z;Xv{B(_GrOME#w6THmbeR|yBA z_aC>%ro`=jmVf_rHX!tqmG#^jH>INAi|Xh3*>h}@*f?=P5u|MSq>%V8#3AxHO!A@8 zk%V+xE_&pWf&5qm&NfzgGsK6%M#SHI=CLv5`uW#89(BFEh!t%*UtPlUr*{`}%6R<_ zA2bv>cNesIr_}x$eD~lCCGEE8o)40iz&aK8fV^_A8c3J;q(UVbog)^K>GSrQD13aq z7>{m;X8WOsuI@$&{homKt?5G!799!>a?DNl_|FzP?3+EQM;Bz05kV@Id03dulLJ=? zYbQ$S0qDG#rY0sU<{+9p+7?Ul7g|?tUf%{;=f~`&xyX{e$|iO^iEF8DeR(JfnyQ#< zy)^WX+^KB35F^GC9R>vWRGqJg=o;3^m-g?!8g{32EU-k&0(>JxYmlArlcbTWEy~G0 z^?Ox+5a~JbcMg*+r&M6^|A<|g^ONPEV=*T)?=<#`w*6;@qj3)*7Knf<_VxEH)!PJZ zfy0|jt`4&Hjt^TeWPR6g{lpbzfTM*3#wG?sU)whiv&n$CB4J#Yui99u@ltc^ax=c7 zN_a@%DbtuugZ9a4+|lXZB92Z#YCqia!z zl;TQiq2-kZtIkNg-v?^C;g<^k4GVyE*991iS*?>42O;u+qPObGB}JmSbzPK;hUzPX z3ptcqGBWx3?-_*w$udr!Dqj#av1TN2R2f{MFN1~ij^C3tBQ3|!00-BMt%!|F#&YFO z{TmK;x#~hb%v@SAEWQzw@R9UbfQybiWIrbu|vi_{Oco(y_y&tjHYCeIlT$!EjcK8vZBXo{8MYlW~Y zC+7{SCBJ9SJi|D(=YJFrbIWaZ`V3UPRzrGE_YgsLN0kW34a}9um4O9I#NtLDsgCoE zJE~r#Y6d(F`W*B*FdG4i;f)EVxd2-s?vjt!=I+3VB*uab5tI;>P?Z2mC`w35Xl>}} z0B?*7UMuEZlJTt#ZCJXPx~RIix&U1aT@+m$ zT_jyBT{K-hZ@ddJE2Led@$lT3T&3KRT&~=TT)W((TjCvB^+@#(Sp1zN(?`+J+@@gf0Pi5le(MYv z-4E$zW)hP`+-kY-`9dk%Njm<$Ihcz?)hknLReH4Pc+*~3PViO0RZu&^5z-M$5~qgx z@bU;3ddo;m+$()6ZvHnf73vEXyLnO8ehkF>xj$2W+z{N+3l;1ji-*5j%Q7G?ByDc? zBHTYZE(F%kFE6S|yi98<9`aq^#Z>S37@ATaDq<-T!gtOZ>Y^NJh8*}D94Q`&yri+5Q-LanTSrOiZ7qXvnLpnVZ)9j)!T@_l$qhcE)XhzrXj^Pt>fp*RLS!? zA}8*GK*m4tfg}QDJ+P5*^b^GyqnJzoD}C?zPwxx5UK`+`fg7Ti5(Ea@C!Uj?=x*AO zAF#ZPxl=oLf-m(Tm11LMFIPmacC1#skPBQtumN_4Hg>97vFS@U@=NhlYiZgWyC#ci zJff9&e2RHq!GHas)}#8;)y)`l4V&;A`uXm2J)xFn9T1a~Q^F}mtf9Tb-tqq0%MH0D z2@e5n4;K|56Fh5Q(Iy%q()*f~&XomSwbiMm1tocpHD7(_*9b1cVo2Jir6r|hrH=@r z_q$1*RxfA?c>$TqmBm;Zsa4}MrpljLoJpAsNEcfcp0_A)P0qzlj?bkDNg24ruXpV! z;yj7jV^`dk)=zPHvcB3z?`LzZbd}O`U)+z~(M|jq`Mdy~9(hOVo|Tx^_oYEn-0pjjX3Z_QD5&KAqZBkIzRpXp1}SjltslZBwL5Z^3ydrQ{WsCvEeLhY`gk zRe9^gPxsS;7PFWrnniKYSlEyEYwzppzPvHA&2?5g2tT%DfCQCD*l>Hv+Y#flU;gxT zfS8ggly6LUhK4a~d?F}sGr6pYn%YLAZG6+QPupT^&^FM9l0N?|^H5{q$+=&_4t(yu>5SeOKXR7qaO>9a(R7`2)UNRi6_;+1 z`_cT_bEUtXKoJi0*wJ=a^=(hF%jLKm7*2 z)C~?i?_j(T<$9~hoSycwu*`GoR4D$aG{^RUm$~RzE&Uz8hN*|jLvba?msS@f@q1^P zUbmlBmfYlu(=;32_qUy;HQkRL&`?EFc32E3Sf+tuLq;R#`vt=_#Pm*%=lB-o;ijK& zhMyd2c6vv?vS}Oc@DVGSbkJVgv!?D28PkM>g+NO zW5$Ta+K<&A!Pj*u=^YbOqch7ZQyF#YjTDtZ9DL792XC;ug*v`XT%F2cMLS z=qOu#i3Ep^e@4ONd`jkQLk0ndxf^$q81YOR@TQeM&tw5bMgL`wMm9z8_{1XJ1}QR2 zwbH5FH9_BKh0xg5IeNQ^>O$L{!sk`B><zt=Hza^ne6FDf0P}f%^`s9}6tQ)P+6_6BIa_d4CkI5Np`s&&8a#^dG z`Ww03Z^sfLjw8oIF*WJWQKC@$5}Dez`2

    `9~Jrz@tg=`CU#BQ5 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 R;O;>9L6}TTPgI^_{x3@OC$0bh diff --git a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml index abef5a9..de2e0d2 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml +++ b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml @@ -18,7 +18,7 @@ com.groupdocs groupdocs-annotation - 19.5 + 19.7 commons-io diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java index 5dd1f87..a5f6e0d 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java @@ -5,13 +5,17 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; +import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import org.apache.commons.io.IOUtils; import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.DocumentType; import com.groupdocs.annotation.domain.Point; +import com.groupdocs.annotation.domain.Rectangle; import com.groupdocs.annotation.domain.config.AnnotationConfig; import com.groupdocs.annotation.handler.AnnotationImageHandler; @@ -55,4 +59,35 @@ public static void addAnnotationInCells() { } //ExEnd:addAnnotationInCells } + + /* + * Add Ellipse Annotation in Cells + */ + public static void addEllipseAnnotationInCells() { + //ExStart:addEllipseAnnotationInCells + try { + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + annotator.getDocumentDataHandler(); + InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); + List annotations = new ArrayList(); + // Ellipse annotation + AnnotationInfo ellipseAnnotation = new AnnotationInfo(); + ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); + ellipseAnnotation.setPageNumber(0); + ellipseAnnotation.setType(AnnotationType.Ellipse); + ellipseAnnotation.setCreatorName("Anonym A."); + annotations.add(ellipseAnnotation); + // Add annotation to the document + InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Cells); + // Save result stream to file. + OutputStream fileStream = new FileOutputStream( + Utilities.outputPath + File.separator + "cells-annotated.xlsx"); + IOUtils.copy(result, fileStream); + } catch (Exception e) { + System.out.println("Exception: " + e.getMessage()); + e.printStackTrace(); + } + //ExEnd:addEllipseAnnotationInCells + } } diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java index 527da72..ffd1a1f 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java @@ -258,6 +258,7 @@ public static void setBackgroundColor() { } // Updates the text in the annotation + public static void editTextFieldAnnotations() { //ExStart:editTextFieldAnnotations try { @@ -272,7 +273,7 @@ public static void editTextFieldAnnotations() { textFieldAnnotation.setAnnotationPosition(new Point(852.0, 201.0)); textFieldAnnotation.setFieldText("text in the box"); textFieldAnnotation.setFontFamily("Arial"); - textFieldAnnotation.setFontSize(10); + textFieldAnnotation.setFontSize(10D); textFieldAnnotation.setBox(new Rectangle(66f, 201f, 64f, 37f)); textFieldAnnotation.setPageNumber(0); textFieldAnnotation.setType(AnnotationType.TextField); @@ -284,7 +285,7 @@ public static void editTextFieldAnnotations() { final TextFieldInfo textFieldInfo = new TextFieldInfo(); textFieldInfo.setFieldText("new text"); textFieldInfo.setFontFamily("Colibri"); - textFieldInfo.setFontSize(12); + textFieldInfo.setFontSize(12D); SaveAnnotationTextResult saveTextFieldResult = annotator .saveTextField(createTextFieldAnnotationResult.getId(), textFieldInfo); System.out.println(saveTextFieldResult); @@ -472,6 +473,7 @@ public static void getCollaborator() { } // Updates document collaborator + public static void updateCollaborator() { //ExStart:updateCollaborator try { @@ -506,7 +508,7 @@ public static void updateCollaborator() { reviewerInfo.setAccessRights(AnnotationReviewerRights.All); // Update collaborator. Only color and access rights will be // updated. - reviewerInfo.setColor(3355443L); + reviewerInfo.setColor(3355443); SetCollaboratorsResult updateCollaboratorResult = annotator.updateCollaborator(documentId, reviewerInfo); System.out.println(updateCollaboratorResult); } catch (Exception e) { diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java new file mode 100644 index 0000000..98e52d7 --- /dev/null +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java @@ -0,0 +1,241 @@ +package GroupDocs.Annotation.Examples.Java; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import org.apache.commons.io.IOUtils; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.DocumentType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.annotation.domain.RowData; +import com.groupdocs.annotation.domain.config.AnnotationConfig; +import com.groupdocs.annotation.domain.containers.DocumentInfoContainer; +import com.groupdocs.annotation.domain.image.PageImage; +import com.groupdocs.annotation.domain.options.ImageOptions; +import com.groupdocs.annotation.handler.AnnotationImageHandler; + +public class DiagramsAnnotation { + // ExStart:DiagramsAnnotation + /* + * document name + */ + public static String fileName = "sample.vsd"; + + public static void getDocInfoForDiagram() { + // ExStart:getDocInfoForDiagram + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + DocumentInfoContainer documentInfoContainer = annotator.getDocumentInfo(fileName); + + // Go through all pages + for (PageData pageData : documentInfoContainer.getPages()) { + System.out.println("Page number: " + pageData.getNumber()); + // Go through all page rows + for (int i = 0; i < pageData.getRows().size(); i++) { + RowData rowData = pageData.getRows().get(i); + // Write data to console + System.out.println("Row: " + (i + 1)); + System.out.println("Text: " + rowData.getText()); + System.out.println("Text width: " + rowData.getLineWidth()); + System.out.println("Text height: " + rowData.getLineHeight()); + System.out.println("Distance from left: " + rowData.getLineLeft()); + System.out.println("Distance from top: " + rowData.getLineTop()); + // Get words + String[] words = rowData.getText().split(" "); + // Go through all word coordinates + for (int j = 0; j < words.length; j++) { + int coordinateIndex = j == 0 ? 0 : j + 1; + // Write data to console + System.out.println("Word: '" + words[j] + "'"); + System.out.println("Word distance from left: " + rowData.getTextCoordinates().get(coordinateIndex)); + System.out.println("Word width: " + rowData.getTextCoordinates().get(coordinateIndex + 1)); + } + } + } + // ExEnd:getDocInfoForDiagram + } + + public static void getPageImagesForDiagramDocs() throws Throwable { + // ExStart:getPageImagesForDiagramDocs + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + List images = annotator.getPages(fileName, new ImageOptions()); + for (int i = 0; i < images.size(); i++) { + OutputStream fileStream = new FileOutputStream( + Utilities.outputPath + File.separator + "image_" + i + ".png"); + + final PageImage pageImage = images.get(i); + IOUtils.copy(pageImage.getStream(), fileStream); + } + // ExEnd:getPageImagesForDiagramDocs + } + + public static void addAnnotationDiagrams() throws Throwable { + // ExStart:addAnnotationDiagrams + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName); + List annotations = new ArrayList(); + + // Area annotation + AnnotationInfo areaAnnnotation = new AnnotationInfo(); + areaAnnnotation.setCreatedOn(new Date()); + areaAnnnotation.setType(AnnotationType.Area); + areaAnnnotation.setBox(new Rectangle(200, 114.5f, 282.3f, 103.7f)); + + // Polyline annotation + AnnotationInfo polylineAnnotation = new AnnotationInfo(); + polylineAnnotation.setCreatedOn(new Date()); + polylineAnnotation.setType(AnnotationType.Polyline); + polylineAnnotation.setBox(new Rectangle(206.3f, 106.61f, 456.04f, 307.97f)); + polylineAnnotation.setSvgPath( + "M436.293427230047,148.06338028169014l0,-0.9870892018779343l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-4.935446009389671,-1.9741784037558685l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-1.9741784037558685,0l-3.948356807511737,0l-2.961267605633803,0l-3.948356807511737,0l-4.935446009389671,0l-3.948356807511737,0.9870892018779343l-4.935446009389671,0.9870892018779343l-6.90962441314554,0l-3.948356807511737,0.9870892018779343l-3.948356807511737,0l-2.961267605633803,1.9741784037558685l-3.948356807511737,0.9870892018779343l-6.90962441314554,1.9741784037558685l-6.90962441314554,0.9870892018779343l-12.832159624413146,2.961267605633803l-6.90962441314554,1.9741784037558685l-5.922535211267606,0.9870892018779343l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,0.9870892018779343l-4.935446009389671,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-4.935446009389671,1.9741784037558685l-5.922535211267606,2.961267605633803l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-4.935446009389671,3.948356807511737l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-3.948356807511737,5.922535211267606l-3.948356807511737,4.935446009389671l-3.948356807511737,5.922535211267606l-3.948356807511737,6.90962441314554l-3.948356807511737,7.896713615023474l-0.9870892018779343,6.90962441314554l-1.9741784037558685,7.896713615023474l-1.9741784037558685,6.90962441314554l-0.9870892018779343,7.896713615023474l0,12.832159624413146l0,7.896713615023474l0,7.896713615023474l0.9870892018779343,7.896713615023474l1.9741784037558685,5.922535211267606l2.961267605633803,5.922535211267606l0.9870892018779343,5.922535211267606l2.961267605633803,6.90962441314554l3.948356807511737,5.922535211267606l4.935446009389671,4.935446009389671l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l6.90962441314554,5.922535211267606l7.896713615023474,5.922535211267606l7.896713615023474,5.922535211267606l17.767605633802816,8.883802816901408l11.845070422535212,3.948356807511737l11.845070422535212,4.935446009389671l23.690140845070424,8.883802816901408l41.45774647887324,6.90962441314554l31.586854460093896,3.948356807511737l16.780516431924884,0l16.780516431924884,1.9741784037558685l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,-1.9741784037558685l14.806338028169014,-1.9741784037558685l14.806338028169014,-1.9741784037558685l12.832159624413146,-1.9741784037558685l10.857981220657276,-2.961267605633803l10.857981220657276,-2.961267605633803l8.883802816901408,-4.935446009389671l8.883802816901408,-4.935446009389671l6.90962441314554,-6.90962441314554l6.90962441314554,-6.90962441314554l8.883802816901408,-16.780516431924884l4.935446009389671,-7.896713615023474l3.948356807511737,-8.883802816901408l4.935446009389671,-7.896713615023474l4.935446009389671,-7.896713615023474l3.948356807511737,-13.81924882629108l1.9741784037558685,-18.754694835680752l0,-7.896713615023474l0,-12.832159624413146l-1.9741784037558685,-15.793427230046948l-1.9741784037558685,-15.793427230046948l-4.935446009389671,-15.793427230046948l-8.883802816901408,-15.793427230046948l-12.832159624413146,-23.690140845070424l-10.857981220657276,-10.857981220657276l-5.922535211267606,-3.948356807511737l-12.832159624413146,-8.883802816901408l-9.870892018779342,-8.883802816901408l-5.922535211267606,-3.948356807511737l-12.832159624413146,-5.922535211267606l-15.793427230046948,-8.883802816901408l-13.81924882629108,-4.935446009389671l-11.845070422535212,-2.961267605633803l-11.845070422535212,-3.948356807511737l-11.845070422535212,-3.948356807511737l-5.922535211267606,-1.9741784037558685l-11.845070422535212,-2.961267605633803l-11.845070422535212,-1.9741784037558685l-5.922535211267606,-0.9870892018779343l-10.857981220657276,-1.9741784037558685l-10.857981220657276,-2.961267605633803l-9.870892018779342,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l0,-0.9870892018779343l1.9741784037558685,0"); + + // Text field annotation + AnnotationInfo textFieldAnnotation = new AnnotationInfo(); + textFieldAnnotation.setCreatedOn(new Date()); + textFieldAnnotation.setType(AnnotationType.TextField); + textFieldAnnotation.setBox(new Rectangle(162.87f, 267.5f, 91.8f, 42.45f)); + textFieldAnnotation.setBackgroundColor(-15988609); + textFieldAnnotation.setFieldText("Annotation Text"); + + // Arrow annotation + AnnotationInfo arrowAnnotation = new AnnotationInfo(); + arrowAnnotation.setType(AnnotationType.Arrow); + arrowAnnotation.setBox( + new Rectangle(435.77464788732397f, 148.05164319248826f, -66.34389671361504f, 53.07511737089203f)); + + // Resource redaction annotation + AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo(); + resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction); + resourceRedactionAnnotation.setBox(new Rectangle(200, 114.5f, 282.3f, 103.7f)); + + annotations.add(areaAnnnotation); + annotations.add(polylineAnnotation); + annotations.add(textFieldAnnotation); + annotations.add(arrowAnnotation); + annotations.add(resourceRedactionAnnotation); + + // Add annotation to the document + InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations); + + // Save result stream to file. + OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx"); + IOUtils.copy(result, fileStream); + // ExEnd:addAnnotationDiagrams + } + + public static void addDistanceAnnotationInDiagrams() throws Throwable { + // ExStart:addDistanceAnnotationInDiagrams + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName); + List annotations = new ArrayList(); + // Distance annotation + AnnotationInfo distanceAnnotation = new AnnotationInfo(); + distanceAnnotation.setCreatedOn(new Date()); + distanceAnnotation.setType(AnnotationType.Distance); + distanceAnnotation.setBox(new Rectangle((float)248.73202514648438, (float)287.85653686523438, (float)115.9178466796875, (float)25.143020629882812)); + distanceAnnotation.setSvgPath("M248.73201877934272,295.5439436619718 l115.28309859154929,-4.192112676056338"); + + annotations.add(distanceAnnotation); + + // Add annotation to the document + InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations); + // Save result stream to file. + OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx"); + IOUtils.copy(result, fileStream); + // ExEnd:addDistanceAnnotationInDiagrams + } + + public static void addPointAnnotationInDiagrams() throws Throwable { + // ExStart:addPointAnnotationInDiagrams + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName); + List annotations = new ArrayList(); + // Point annotation + AnnotationInfo pointAnnnotation = new AnnotationInfo(); + pointAnnnotation.setCreatedOn(new Date()); + pointAnnnotation.setType(AnnotationType.Point); + pointAnnnotation.setBox(new Rectangle(150.32f, 99.22f, 0, 0)); + pointAnnnotation.setPageNumber(0); + + annotations.add(pointAnnnotation); + + // Add annotation to the document + InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations); + // Save result stream to file. + OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx"); + IOUtils.copy(result, fileStream); + // ExEnd:addPointAnnotationInDiagrams + } + + public static void addWatermarkAnnotationInDiagrams() throws Throwable { + // ExStart:addWatermarkAnnotationInDiagrams + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName); + List annotations = new ArrayList(); + // Watermark annotation + AnnotationInfo watermarkAnnnotation = new AnnotationInfo(); + watermarkAnnnotation.setCreatedOn(new Date()); + watermarkAnnnotation.setFieldText("Watermark text"); + watermarkAnnnotation.setFontColor(16711680); + watermarkAnnnotation.setFontFamily("Microsoft Sans Serif"); + watermarkAnnnotation.setFontSize(17D); + //watermarkAnnnotation.setOpacity(0.3); + watermarkAnnnotation.setType(AnnotationType.Watermark); + + annotations.add(watermarkAnnnotation); + + // Add annotation to the document + InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations); + // Save result stream to file. + OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsd"); + IOUtils.copy(result, fileStream); + // ExEnd:addWatermarkAnnotationInDiagrams + } + + /* + * Add Ellipse Annotation in Diagrams + */ + public static void addEllipseAnnotationInDiagrams() { + //ExStart:addEllipseAnnotationInDiagrams + try { + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + annotator.getDocumentDataHandler(); + InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); + List annotations = new ArrayList(); + // Ellipse annotation + AnnotationInfo ellipseAnnotation = new AnnotationInfo(); + ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); + ellipseAnnotation.setPageNumber(0); + ellipseAnnotation.setType(AnnotationType.Ellipse); + ellipseAnnotation.setCreatorName("Anonym A."); + annotations.add(ellipseAnnotation); + // Add annotation to the document + InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Diagram); + + OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx"); + System.out.println(result.available()); + IOUtils.copy(result, fileStream); + } catch (Exception e) { + System.out.println("Exception: " + e.getMessage()); + e.printStackTrace(); + } + //ExEnd:addEllipseAnnotationInDiagrams + } +} diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java index 7dd6d0d..6ebefc8 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java @@ -20,6 +20,7 @@ import com.groupdocs.annotation.handler.AnnotationImageHandler; public class EmailAnnotation { + //Sami public static void differentAnnotationsForEmail(String fileName) throws Throwable, Throwable{ //ExStart:differentAnnotationsForEmail AnnotationConfig cfg = Utilities.getConfiguration(); @@ -50,14 +51,14 @@ public static void differentAnnotationsForEmail(String fileName) throws Throwabl AnnotationInfo textFieldAnnotation = new AnnotationInfo(); textFieldAnnotation.setFieldText("text in the box"); textFieldAnnotation.setFontFamily("Arial"); - textFieldAnnotation.setFontSize(10); + textFieldAnnotation.setFontSize(10D); textFieldAnnotation.setBox(new Rectangle(92f, 73f, 106f, 45f)); textFieldAnnotation.setPageNumber(0); textFieldAnnotation.setType(AnnotationType.TextField); AnnotationInfo textReplacementAnnotation = new AnnotationInfo(); textReplacementAnnotation.setFieldText(" \"REPLACED TEXT\" "); - textReplacementAnnotation.setFontSize(10); + textReplacementAnnotation.setFontSize(10D); textReplacementAnnotation.setSvgPath("[{\"x\":251.224,\"y\":637.20401},{\"x\":327.89,\"y\":637.20401},{\"x\":251.224,\"y\":628.20401},{\"x\":327.89,\"y\":628.20401}]"); textReplacementAnnotation.setPageNumber(0); textReplacementAnnotation.setType(AnnotationType.TextReplacement); diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java index 106408a..113db60 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java @@ -20,6 +20,7 @@ import com.groupdocs.annotation.handler.AnnotationImageHandler; public class HtmlAnnotation { + //Sami public static void createAnnotationForHtml(String fileName) throws Throwable, Throwable{ //ExStart:createAnnotationForHtml AnnotationConfig cfg = Utilities.getConfiguration(); @@ -50,14 +51,14 @@ public static void createAnnotationForHtml(String fileName) throws Throwable, Th AnnotationInfo textFieldAnnotation = new AnnotationInfo(); textFieldAnnotation.setFieldText("text in the box"); textFieldAnnotation.setFontFamily("Arial"); - textFieldAnnotation.setFontSize(10); + textFieldAnnotation.setFontSize(10D); textFieldAnnotation.setBox(new Rectangle(92f, 73f, 106f, 45f)); textFieldAnnotation.setPageNumber(1); textFieldAnnotation.setType(AnnotationType.TextField); AnnotationInfo textReplacementAnnotation = new AnnotationInfo(); textReplacementAnnotation.setFieldText(" \"REPLACED TEXT\" "); - textReplacementAnnotation.setFontSize(10); + textReplacementAnnotation.setFontSize(10D); textReplacementAnnotation.setSvgPath("[{\"x\":251.224,\"y\":637.20401},{\"x\":327.89,\"y\":637.20401},{\"x\":251.224,\"y\":628.20401},{\"x\":327.89,\"y\":628.20401}]"); textReplacementAnnotation.setPageNumber(0); textReplacementAnnotation.setType(AnnotationType.TextReplacement); diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java index 02a2320..4466782 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java @@ -30,10 +30,13 @@ public class ImagesAnnotation { /* * document name */ + public static String fileName = "image.png"; + // From version 17.1.0 you can work with images of EMF/WMF, CAD-files (DWG), // DICOM, DjVu, PNG, JPG, TIFF, BMP and GIF(static without animation) format // images - public static void differentAnnotationsForImages(String fileName) throws Throwable { + + public static void differentAnnotationsForImages() throws Throwable { // ExStart:differentAnnotationsForImages AnnotationConfig cfg = Utilities.getConfiguration(); AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); @@ -137,7 +140,7 @@ public static void differentAnnotationsForImages(String fileName) throws Throwab watermarkAnnotation.setFieldText("This is watermark"); watermarkAnnotation.setFontFamily("arial"); watermarkAnnotation.setBox(new Rectangle(200, 250, 50, 0)); - watermarkAnnotation.setFontSize(25); + watermarkAnnotation.setFontSize(25D); watermarkAnnotation.setFontColor(15988609); AnnotationInfo distanceAnnotation = new AnnotationInfo(); @@ -175,180 +178,35 @@ public static void differentAnnotationsForImages(String fileName) throws Throwab // ExEnd:differentAnnotationsForImages } - - public static void getDocInfoForDiagram(String fileName) { - // ExStart:getDocInfoForDiagram - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - DocumentInfoContainer documentInfoContainer = annotator.getDocumentInfo(fileName); - - // Go through all pages - for (PageData pageData : documentInfoContainer.getPages()) { - System.out.println("Page number: " + pageData.getNumber()); - // Go through all page rows - for (int i = 0; i < pageData.getRows().size(); i++) { - RowData rowData = pageData.getRows().get(i); - // Write data to console - System.out.println("Row: " + (i + 1)); - System.out.println("Text: " + rowData.getText()); - System.out.println("Text width: " + rowData.getLineWidth()); - System.out.println("Text height: " + rowData.getLineHeight()); - System.out.println("Distance from left: " + rowData.getLineLeft()); - System.out.println("Distance from top: " + rowData.getLineTop()); - // Get words - String[] words = rowData.getText().split(" "); - // Go through all word coordinates - for (int j = 0; j < words.length; j++) { - int coordinateIndex = j == 0 ? 0 : j + 1; - // Write data to console - System.out.println("Word: '" + words[j] + "'"); - System.out.println("Word distance from left: " + rowData.getTextCoordinates().get(coordinateIndex)); - System.out.println("Word width: " + rowData.getTextCoordinates().get(coordinateIndex + 1)); - } - } - } - // ExEnd:getDocInfoForDiagram - } - - public static void getPageImagesForDiagramDocs(String fileName) throws Throwable { - // ExStart:getPageImagesForDiagramDocs - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - List images = annotator.getPages(fileName, new ImageOptions()); - for (int i = 0; i < images.size(); i++) { - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "image_" + i + ".png"); - - final PageImage pageImage = images.get(i); - IOUtils.copy(pageImage.getStream(), fileStream); - } - // ExEnd:getPageImagesForDiagramDocs - } - - public static void addAnnotationDiagrams(String fileName) throws Throwable { - // ExStart:addAnnotationDiagrams - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - - // Area annotation - AnnotationInfo areaAnnnotation = new AnnotationInfo(); - areaAnnnotation.setCreatedOn(new Date()); - areaAnnnotation.setType(AnnotationType.Area); - areaAnnnotation.setBox(new Rectangle(200, 114.5f, 282.3f, 103.7f)); - - // Polyline annotation - AnnotationInfo polylineAnnotation = new AnnotationInfo(); - polylineAnnotation.setCreatedOn(new Date()); - polylineAnnotation.setType(AnnotationType.Polyline); - polylineAnnotation.setBox(new Rectangle(206.3f, 106.61f, 456.04f, 307.97f)); - polylineAnnotation.setSvgPath( - "M436.293427230047,148.06338028169014l0,-0.9870892018779343l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-4.935446009389671,-1.9741784037558685l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-1.9741784037558685,0l-3.948356807511737,0l-2.961267605633803,0l-3.948356807511737,0l-4.935446009389671,0l-3.948356807511737,0.9870892018779343l-4.935446009389671,0.9870892018779343l-6.90962441314554,0l-3.948356807511737,0.9870892018779343l-3.948356807511737,0l-2.961267605633803,1.9741784037558685l-3.948356807511737,0.9870892018779343l-6.90962441314554,1.9741784037558685l-6.90962441314554,0.9870892018779343l-12.832159624413146,2.961267605633803l-6.90962441314554,1.9741784037558685l-5.922535211267606,0.9870892018779343l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,0.9870892018779343l-4.935446009389671,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-4.935446009389671,1.9741784037558685l-5.922535211267606,2.961267605633803l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-4.935446009389671,3.948356807511737l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-3.948356807511737,5.922535211267606l-3.948356807511737,4.935446009389671l-3.948356807511737,5.922535211267606l-3.948356807511737,6.90962441314554l-3.948356807511737,7.896713615023474l-0.9870892018779343,6.90962441314554l-1.9741784037558685,7.896713615023474l-1.9741784037558685,6.90962441314554l-0.9870892018779343,7.896713615023474l0,12.832159624413146l0,7.896713615023474l0,7.896713615023474l0.9870892018779343,7.896713615023474l1.9741784037558685,5.922535211267606l2.961267605633803,5.922535211267606l0.9870892018779343,5.922535211267606l2.961267605633803,6.90962441314554l3.948356807511737,5.922535211267606l4.935446009389671,4.935446009389671l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l6.90962441314554,5.922535211267606l7.896713615023474,5.922535211267606l7.896713615023474,5.922535211267606l17.767605633802816,8.883802816901408l11.845070422535212,3.948356807511737l11.845070422535212,4.935446009389671l23.690140845070424,8.883802816901408l41.45774647887324,6.90962441314554l31.586854460093896,3.948356807511737l16.780516431924884,0l16.780516431924884,1.9741784037558685l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,-1.9741784037558685l14.806338028169014,-1.9741784037558685l14.806338028169014,-1.9741784037558685l12.832159624413146,-1.9741784037558685l10.857981220657276,-2.961267605633803l10.857981220657276,-2.961267605633803l8.883802816901408,-4.935446009389671l8.883802816901408,-4.935446009389671l6.90962441314554,-6.90962441314554l6.90962441314554,-6.90962441314554l8.883802816901408,-16.780516431924884l4.935446009389671,-7.896713615023474l3.948356807511737,-8.883802816901408l4.935446009389671,-7.896713615023474l4.935446009389671,-7.896713615023474l3.948356807511737,-13.81924882629108l1.9741784037558685,-18.754694835680752l0,-7.896713615023474l0,-12.832159624413146l-1.9741784037558685,-15.793427230046948l-1.9741784037558685,-15.793427230046948l-4.935446009389671,-15.793427230046948l-8.883802816901408,-15.793427230046948l-12.832159624413146,-23.690140845070424l-10.857981220657276,-10.857981220657276l-5.922535211267606,-3.948356807511737l-12.832159624413146,-8.883802816901408l-9.870892018779342,-8.883802816901408l-5.922535211267606,-3.948356807511737l-12.832159624413146,-5.922535211267606l-15.793427230046948,-8.883802816901408l-13.81924882629108,-4.935446009389671l-11.845070422535212,-2.961267605633803l-11.845070422535212,-3.948356807511737l-11.845070422535212,-3.948356807511737l-5.922535211267606,-1.9741784037558685l-11.845070422535212,-2.961267605633803l-11.845070422535212,-1.9741784037558685l-5.922535211267606,-0.9870892018779343l-10.857981220657276,-1.9741784037558685l-10.857981220657276,-2.961267605633803l-9.870892018779342,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l0,-0.9870892018779343l1.9741784037558685,0"); - - // Text field annotation - AnnotationInfo textFieldAnnotation = new AnnotationInfo(); - textFieldAnnotation.setCreatedOn(new Date()); - textFieldAnnotation.setType(AnnotationType.TextField); - textFieldAnnotation.setBox(new Rectangle(162.87f, 267.5f, 91.8f, 42.45f)); - textFieldAnnotation.setBackgroundColor(-15988609); - textFieldAnnotation.setFieldText("Annotation Text"); - - // Arrow annotation - AnnotationInfo arrowAnnotation = new AnnotationInfo(); - arrowAnnotation.setType(AnnotationType.Arrow); - arrowAnnotation.setBox( - new Rectangle(435.77464788732397f, 148.05164319248826f, -66.34389671361504f, 53.07511737089203f)); - - // Resource redaction annotation - AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo(); - resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction); - resourceRedactionAnnotation.setBox(new Rectangle(200, 114.5f, 282.3f, 103.7f)); - - annotations.add(areaAnnnotation); - annotations.add(polylineAnnotation); - annotations.add(textFieldAnnotation); - annotations.add(arrowAnnotation); - annotations.add(resourceRedactionAnnotation); - - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations); - - // Save result stream to file. - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx"); - IOUtils.copy(result, fileStream); - // ExEnd:addAnnotationDiagrams - } - public static void addDistanceAnnotationInDiagrams(String fileName) throws Throwable { - // ExStart:addDistanceAnnotationInDiagrams - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Distance annotation - AnnotationInfo distanceAnnotation = new AnnotationInfo(); - distanceAnnotation.setCreatedOn(new Date()); - distanceAnnotation.setType(AnnotationType.Distance); - distanceAnnotation.setBox(new Rectangle((float)248.73202514648438, (float)287.85653686523438, (float)115.9178466796875, (float)25.143020629882812)); - distanceAnnotation.setSvgPath("M248.73201877934272,295.5439436619718 l115.28309859154929,-4.192112676056338"); - - annotations.add(distanceAnnotation); - - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx"); - IOUtils.copy(result, fileStream); - // ExEnd:addDistanceAnnotationInDiagrams - } - - public static void addPointAnnotationInDiagrams(String fileName) throws Throwable { - // ExStart:addPointAnnotationInDiagrams - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Point annotation - AnnotationInfo pointAnnnotation = new AnnotationInfo(); - pointAnnnotation.setCreatedOn(new Date()); - pointAnnnotation.setType(AnnotationType.Point); - pointAnnnotation.setBox(new Rectangle(150.32f, 99.22f, 0, 0)); - pointAnnnotation.setPageNumber(0); - - annotations.add(pointAnnnotation); - - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx"); - IOUtils.copy(result, fileStream); - // ExEnd:addPointAnnotationInDiagrams - } - - public static void addWatermarkAnnotationInDiagrams(String fileName) throws Throwable { - // ExStart:addWatermarkAnnotationInDiagrams - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Watermark annotation - AnnotationInfo watermarkAnnnotation = new AnnotationInfo(); - watermarkAnnnotation.setCreatedOn(new Date()); - watermarkAnnnotation.setFieldText("Watermark text"); - watermarkAnnnotation.setFontColor(16711680); - watermarkAnnnotation.setFontFamily("Microsoft Sans Serif"); - watermarkAnnnotation.setFontSize(17); - //watermarkAnnnotation.setOpacity(0.3); - watermarkAnnnotation.setType(AnnotationType.Watermark); - - annotations.add(watermarkAnnnotation); - - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsd"); - IOUtils.copy(result, fileStream); - // ExEnd:addWatermarkAnnotationInDiagrams + /* + * Add Ellipse Annotation in Images + */ + public static void addEllipseAnnotationInImages() { + //ExStart:addEllipseAnnotationInImages + try { + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + annotator.getDocumentDataHandler(); + InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); + List annotations = new ArrayList(); + // Ellipse annotation + AnnotationInfo ellipseAnnotation = new AnnotationInfo(); + ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); + ellipseAnnotation.setPageNumber(0); + ellipseAnnotation.setType(AnnotationType.Ellipse); + ellipseAnnotation.setCreatorName("Anonym A."); + annotations.add(ellipseAnnotation); + // Add annotation to the document + InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Images); + + OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Image-annotated.png"); + System.out.println(result.available()); + IOUtils.copy(result, fileStream); + } catch (Exception e) { + System.out.println("Exception: " + e.getMessage()); + e.printStackTrace(); + } + //ExEnd:addEllipseAnnotationInImages } } diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java index d559060..d996429 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java @@ -6,7 +6,7 @@ public static void main(String[] args) throws Throwable { // Apply license - // Utilities.applyLicenseFromFile(); + // Utilities.applyLicenseFromFile(); // Annotations in PDF @@ -24,20 +24,27 @@ public static void main(String[] args) throws Throwable { // PDFAnnotation.addUnderlineAnnotationInPDF(); // PDFAnnotation.addDistanceAnnotationInPDF(); // PDFAnnotation.usersWithDifferentRights(); - // PDFAnnotation.gettingTextCoordinates("sample.pdf"); - + // PDFAnnotation.gettingTextCoordinates("sample.pdf"); // PDFAnnotation.exportAnnotationsUsingExportOption(); + // PDFAnnotation.addEllipseAnnotationInPDF(); + // PDFAnnotation.getThumbnailsOfPagesForPDF(); + // PDFAnnotation.setWatermarkAngleForPDF(); + // Annotation in Cells // CellsAnnotation.addAnnotationInCells(); + + // CellsAnnotation.addEllipseAnnotationInCells(); // Annotation in Slides // SlidesAnnotation.addAnnotationInSlides(); // SlidesAnnotation.differentAnnotationsForSlides(); // SlidesAnnotation.importingAnnotationsToSlide(); + + // SlidesAnnotation.addEllipseAnnotationInSlides(); // Annotation in Words @@ -51,12 +58,13 @@ public static void main(String[] args) throws Throwable { // WordsAnnotation.addTextRedactionAnnotationInWords(); // WordsAnnotation.addResourceRedactionAnnotationInWords(); // WordsAnnotation.addUnderlineAnnotationInWords(); - // WordsAnnotation.importingAnnotationsFromWordDoc(); - + // WordsAnnotation.importingAnnotationsFromWordDoc(); // WordsAnnotation.addDistanceAnnotationInWords(); // WordsAnnotation.addPolylineAnnotationInWords(); // WordsAnnotation.addWatermarkAnnotationInWords(); // WordsAnnotation.addPointAnnotationInWords(); + + // WordsAnnotation.addEllipseAnnotationInWords(); // Data Storage Functions @@ -77,16 +85,24 @@ public static void main(String[] args) throws Throwable { // DataStorage.managesCollaboratorRights(); // DataStorage.exportAnnotations(); - // Annotation in Images/Diagrams - - // ImagesAnnotation.differentAnnotationsForImages("image.png"); - // ImagesAnnotation.getDocInfoForDiagram("sample.vsd"); - // ImagesAnnotation.getPageImagesForDiagramDocs("sample.vsd"); - // ImagesAnnotation.addAnnotationDiagrams("sample.vsd"); + // Annotation in Images - // ImagesAnnotation.addDistanceAnnotationInDiagrams("sample.vsd"); - // ImagesAnnotation.addPointAnnotationInDiagrams("sample.vsd"); - // ImagesAnnotation.addWatermarkAnnotationInDiagrams("sample.vsd"); + // ImagesAnnotation.differentAnnotationsForImages(); + + // ImagesAnnotation.addEllipseAnnotationInImages(); + + // Annotation in Diagrams + + // DiagramsAnnotation.getDocInfoForDiagram(); + // DiagramsAnnotation.getPageImagesForDiagramDocs(); + // DiagramsAnnotation.addAnnotationDiagrams(); + // DiagramsAnnotation.addDistanceAnnotationInDiagrams(); + // DiagramsAnnotation.addPointAnnotationInDiagrams(); + // DiagramsAnnotation.addWatermarkAnnotationInDiagrams(); + + // DiagramsAnnotation.addEllipseAnnotationInDiagrams(); + + // Annotation in Emails diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java index e8fc29c..6306a66 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java @@ -24,6 +24,7 @@ import com.groupdocs.annotation.domain.RowData; import com.groupdocs.annotation.domain.config.AnnotationConfig; import com.groupdocs.annotation.domain.containers.DocumentInfoContainer; +import com.groupdocs.annotation.domain.image.PageImage; import com.groupdocs.annotation.domain.options.ExportOptions; import com.groupdocs.annotation.domain.results.CreateAnnotationResult; import com.groupdocs.annotation.domain.results.GetCollaboratorsResult; @@ -233,6 +234,7 @@ public static void addPolyLineAnnotationInPDF() { /* * add text field annotation in PDF */ + public static void addTextFieldAnnotationInPDF() { //ExStart:addTextFieldAnnotationInPDF try { @@ -246,7 +248,7 @@ public static void addTextFieldAnnotationInPDF() { textFieldAnnotation.setAnnotationPosition(new Point(852.0, 201.0)); textFieldAnnotation.setFieldText("text in the box"); textFieldAnnotation.setFontFamily("Arial"); - textFieldAnnotation.setFontSize(10); + textFieldAnnotation.setFontSize(10D); textFieldAnnotation.setBox(new Rectangle(66f, 201f, 64f, 37f)); textFieldAnnotation.setPageNumber(0); textFieldAnnotation.setType(AnnotationType.TextField); @@ -268,6 +270,7 @@ public static void addTextFieldAnnotationInPDF() { /* * add watermark annotation in PDF */ + public static void addWatermarkAnnotationInPDF() { //ExStart:addWatermarkAnnotationInPDF try { @@ -281,11 +284,11 @@ public static void addWatermarkAnnotationInPDF() { watermarkAnnotation.setAnnotationPosition(new Point(852.0, 300.0)); watermarkAnnotation.setFieldText("TEXT STAMP"); watermarkAnnotation.setFontFamily("Microsoft Sans Serif"); - watermarkAnnotation.setFontSize(10); + watermarkAnnotation.setFontSize(10D); watermarkAnnotation.setFontColor(2222222); watermarkAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); watermarkAnnotation.setPageNumber(0); - watermarkAnnotation.setType(AnnotationType.TextField); + watermarkAnnotation.setType(AnnotationType.Watermark); watermarkAnnotation.setCreatorName("Anonym A."); annotations.add(watermarkAnnotation); // Add annotation to the document @@ -304,6 +307,7 @@ public static void addWatermarkAnnotationInPDF() { /* * add text replacement annotation in PDF */ + public static void addTextReplacementAnnotationInPDF() { //ExStart:addTextReplacementAnnotationInPDF try { @@ -316,7 +320,7 @@ public static void addTextReplacementAnnotationInPDF() { AnnotationInfo textReplacementAnnotation = new AnnotationInfo(); textReplacementAnnotation.setAnnotationPosition(new Point(852.0, 172.0)); textReplacementAnnotation.setFieldText("Replaced text"); - textReplacementAnnotation.setFontSize(10); + textReplacementAnnotation.setFontSize(10D); textReplacementAnnotation.setBox(new Rectangle(68f, 154f, 102f, 9f)); textReplacementAnnotation.setPageNumber(0); textReplacementAnnotation.setType(AnnotationType.TextReplacement); @@ -677,4 +681,104 @@ public static void exportAnnotationsUsingExportOption() { } //ExEnd:exportAnnotationsUsingExportOption } + + /* + * Add Ellipse Annotation in PDF + */ + public static void addEllipseAnnotationInPDF() { + //ExStart:addEllipseAnnotationInPDF + try { + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + annotator.getDocumentDataHandler(); + InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); + List annotations = new ArrayList(); + // Ellipse annotation + AnnotationInfo ellipseAnnotation = new AnnotationInfo(); + ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); + ellipseAnnotation.setPageNumber(0); + ellipseAnnotation.setType(AnnotationType.Ellipse); + ellipseAnnotation.setCreatorName("Anonym A."); + annotations.add(ellipseAnnotation); + // Add annotation to the document + InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Pdf); + // Save result stream to file. + OutputStream fileStream = new FileOutputStream( + Utilities.outputPath + File.separator + "annotated-ellipsed.pdf"); + IOUtils.copy(result, fileStream); + } catch (Exception e) { + System.out.println("Exception: " + e.getMessage()); + e.printStackTrace(); + } + //ExEnd:addEllipseAnnotationInPDF + } + + /* + * Get Thumbnails Of Document Pages + */ + public static void getThumbnailsOfPagesForPDF() { + //ExStart:getThumbnailsOfPagesForPDF + try { + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + annotator.getDocumentDataHandler(); + //InputStream inputFile = new FileInputStream(Utilities.storagePath + File.separator + fileName); + List pages = annotator.getPages(fileName); + + // get thumbnails: + for (int i = 0; i < pages.size(); i++) { + InputStream stream = pages.get(i).getThumbnail(); + // do something with stream + } + + // Default image size was 300x180. + for (int i = 0; i < pages.size(); i++) { + InputStream stream = pages.get(i).getThumbnail(100, 100); + // do something with stream + } + } catch (Exception e) { + System.out.println("Exception: " + e.getMessage()); + e.printStackTrace(); + } + //ExEnd:getThumbnailsOfPagesForPDF + } + + /* + * Set Watermark Angle for PDF + */ + public static void setWatermarkAngleForPDF() { + //ExStart:setWatermarkAngleForPDF + try { + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + annotator.getDocumentDataHandler(); + InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); + List annotations = new ArrayList(); + // Watermark annotation + AnnotationInfo watermarkAnnotation = new AnnotationInfo(); + watermarkAnnotation.setFieldText("TEXT STAMP"); + watermarkAnnotation.setFontFamily("Microsoft Sans Serif"); + watermarkAnnotation.setFontSize(10D); + watermarkAnnotation.setFontColor(2222222); + watermarkAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); + watermarkAnnotation.setPageNumber(0); + watermarkAnnotation.setType(AnnotationType.Watermark); + watermarkAnnotation.setCreatorName("Anonym A."); + //set Angle + watermarkAnnotation.setAngle(45.0); + annotations.add(watermarkAnnotation); + // Add annotation to the document + InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Pdf); + // Save result stream to file. + OutputStream fileStream = new FileOutputStream( + Utilities.outputPath + File.separator + "annotated-angled-watermark.pdf"); + IOUtils.copy(result, fileStream); + } catch (Exception e) { + System.out.println("Exception: " + e.getMessage()); + e.printStackTrace(); + } + //ExEnd:setWatermarkAngleForPDF + } + + } diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java index 3001115..8431e30 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java @@ -64,6 +64,7 @@ public static void addAnnotationInSlides() { /* * Creating annotations of different types */ + public static void differentAnnotationsForSlides() throws Throwable{ //ExStart:differentAnnotationsForSlides AnnotationConfig cfg = Utilities.getConfiguration(); @@ -140,7 +141,7 @@ public static void differentAnnotationsForSlides() throws Throwable{ watermarkAnnotation.setFieldText("This is watermark"); watermarkAnnotation.setFontFamily("arial"); watermarkAnnotation.setBox(new Rectangle(100,50,50,0)); - watermarkAnnotation.setFontSize(25); + watermarkAnnotation.setFontSize(25D); watermarkAnnotation.setFontColor(-15988609); //Text annotations @@ -204,4 +205,35 @@ public static void importingAnnotationsToSlide() throws Throwable{ IOUtils.copy(output, fileStream); //ExEnd:importingAnnotationsToSlide } + + /* + * Add Ellipse Annotation in Slides + */ + public static void addEllipseAnnotationInSlides() { + //ExStart:addEllipseAnnotationInSlides + try { + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + annotator.getDocumentDataHandler(); + InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); + List annotations = new ArrayList(); + // Ellipse annotation + AnnotationInfo ellipseAnnotation = new AnnotationInfo(); + ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); + ellipseAnnotation.setPageNumber(0); + ellipseAnnotation.setType(AnnotationType.Ellipse); + ellipseAnnotation.setCreatorName("Anonym A."); + annotations.add(ellipseAnnotation); + // Add annotation to the document + InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Slides); + // Save result stream to file. + OutputStream fileStream = new FileOutputStream( + Utilities.outputPath + File.separator + "slides-annotated.pptx"); + IOUtils.copy(result, fileStream); + } catch (Exception e) { + System.out.println("Exception: " + e.getMessage()); + e.printStackTrace(); + } + //ExEnd:addEllipseAnnotationInSlides + } } diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java index 3292ce9..02f8364 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java @@ -34,6 +34,7 @@ public class WordsAnnotation { /* * add different annotations in words */ + public static void addDifferentAnnotationInWords() { //ExStart:addDifferentAnnotationInWords try { @@ -63,13 +64,13 @@ public static void addDifferentAnnotationInWords() { AnnotationInfo textFieldAnnotation = new AnnotationInfo(); textFieldAnnotation.setFieldText("text in the box"); textFieldAnnotation.setFontFamily("Arial"); - textFieldAnnotation.setFontSize(10); + textFieldAnnotation.setFontSize(10D); textFieldAnnotation.setBox(new Rectangle(92f, 73f, 106f, 45f)); textFieldAnnotation.setPageNumber(1); textFieldAnnotation.setType(AnnotationType.TextField); AnnotationInfo textReplacementAnnotation = new AnnotationInfo(); textReplacementAnnotation.setFieldText(" \"REPLACED TEXT\" "); - textReplacementAnnotation.setFontSize(10); + textReplacementAnnotation.setFontSize(10D); textReplacementAnnotation.setSvgPath( "[{\"x\":251.224,\"y\":637.20401},{\"x\":327.89,\"y\":637.20401},{\"x\":251.224,\"y\":628.20401},{\"x\":327.89,\"y\":628.20401}]"); textReplacementAnnotation.setPageNumber(1); @@ -214,6 +215,7 @@ public static void addStrikeoutAnnotationInWords() { /* * add text field annotation in words */ + public static void addTextFieldAnnotationInWords() { //ExStart:addTextFieldAnnotationInWords try { @@ -225,7 +227,7 @@ public static void addTextFieldAnnotationInWords() { AnnotationInfo textFieldAnnotation = new AnnotationInfo(); textFieldAnnotation.setFieldText("text in the box"); textFieldAnnotation.setFontFamily("Arial"); - textFieldAnnotation.setFontSize(10); + textFieldAnnotation.setFontSize(10D); textFieldAnnotation.setBox(new Rectangle(92f, 73f, 106f, 45f)); textFieldAnnotation.setPageNumber(1); textFieldAnnotation.setType(AnnotationType.TextField); @@ -247,6 +249,7 @@ public static void addTextFieldAnnotationInWords() { /* * add text replacement annotation in words */ + public static void addTextReplacementAnnotationInWords() { //ExStart:addTextReplacementAnnotationInWords try { @@ -257,7 +260,7 @@ public static void addTextReplacementAnnotationInWords() { // init text replacement annotations AnnotationInfo textReplacementAnnotation = new AnnotationInfo(); textReplacementAnnotation.setFieldText(" \"REPLACED TEXT\" "); - textReplacementAnnotation.setFontSize(10); + textReplacementAnnotation.setFontSize(10D); textReplacementAnnotation.setSvgPath( "[{\"x\":251.224,\"y\":637.20401},{\"x\":327.89,\"y\":637.20401},{\"x\":251.224,\"y\":628.20401},{\"x\":327.89,\"y\":628.20401}]"); textReplacementAnnotation.setPageNumber(1); @@ -492,7 +495,7 @@ public static void addWatermarkAnnotationInWords() { watermarkAnnnotation.setFieldText("Watermark text"); watermarkAnnnotation.setFontColor(16711680); watermarkAnnnotation.setFontFamily("Microsoft Sans Serif"); - watermarkAnnnotation.setFontSize(17); + watermarkAnnnotation.setFontSize(17D); //watermarkAnnnotation.setOpacity(0.3); watermarkAnnnotation.setType(AnnotationType.Watermark); @@ -540,4 +543,35 @@ public static void addPointAnnotationInWords() { } //ExEnd:addPointAnnotationInWords } + + /* + * Add Ellipse Annotation in Words + */ + public static void addEllipseAnnotationInWords() { + //ExStart:addEllipseAnnotationInWords + try { + AnnotationConfig cfg = Utilities.getConfiguration(); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + annotator.getDocumentDataHandler(); + InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); + List annotations = new ArrayList(); + // Ellipse annotation + AnnotationInfo ellipseAnnotation = new AnnotationInfo(); + ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); + ellipseAnnotation.setPageNumber(0); + ellipseAnnotation.setType(AnnotationType.Ellipse); + ellipseAnnotation.setCreatorName("Anonym A."); + annotations.add(ellipseAnnotation); + // Add annotation to the document + InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Words); + // Save result stream to file. + OutputStream fileStream = new FileOutputStream( + Utilities.outputPath + File.separator + "words-annotated.docx"); + IOUtils.copy(result, fileStream); + } catch (Exception e) { + System.out.println("Exception: " + e.getMessage()); + e.printStackTrace(); + } + //ExEnd:addEllipseAnnotationInWords + } } From bc305154b8147da19f0bd4e20e4d439dbada2af7 Mon Sep 17 00:00:00 2001 From: Muhammad Sami Date: Sun, 11 Aug 2019 22:42:46 +0500 Subject: [PATCH 06/76] Readme file updated --- Examples/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Examples/README.md b/Examples/README.md index c4e5533..5b9185d 100644 --- a/Examples/README.md +++ b/Examples/README.md @@ -10,7 +10,9 @@ This package contains Java Example Projects for [GroupDocs.Annotation for Java]( # How to Run the Examples? -It is assumed that maven is installed and configured in your system path. You can edit the project by opening in your favorite IDE like NetBeans, Eclipse, and IntelliJ IDEA. +It is assumed that maven is installed and configured in your system path. You can edit the project by opening in your favorite IDE like NetBeans, Eclipse, and IntelliJ IDEA. Please visit our [documentation website](https://docs.groupdocs.com/display/annotationjava/How+to+Run+Examples) for more details. + +##Install and Configure Maven You may find following resources helpful: From 66c8ed1e2b4bd5dd392a82d3592865f986c487ad Mon Sep 17 00:00:00 2001 From: Sami Cheema Date: Sun, 11 Aug 2019 22:45:08 +0500 Subject: [PATCH 07/76] Update README.md --- Examples/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Examples/README.md b/Examples/README.md index 5b9185d..e3f30a4 100644 --- a/Examples/README.md +++ b/Examples/README.md @@ -12,7 +12,7 @@ This package contains Java Example Projects for [GroupDocs.Annotation for Java]( It is assumed that maven is installed and configured in your system path. You can edit the project by opening in your favorite IDE like NetBeans, Eclipse, and IntelliJ IDEA. Please visit our [documentation website](https://docs.groupdocs.com/display/annotationjava/How+to+Run+Examples) for more details. -##Install and Configure Maven +## Install and Configure Maven You may find following resources helpful: @@ -27,4 +27,4 @@ Follow below steps if you have product license 1. Open Utilities.java. 2. Set "licensePath" variable to your license path. -3. Call applyLicenseFromFile method from MainClass \ No newline at end of file +3. Call applyLicenseFromFile method from MainClass From bb2857b91c1ce122d9a22b1d8a2886135d2e84bd Mon Sep 17 00:00:00 2001 From: Sami Cheema Date: Sun, 8 Sep 2019 03:02:25 +0500 Subject: [PATCH 08/76] Update README.md --- README.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index be656d5..28b4453 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# GroupDocs.Annotation for Java +## GroupDocs.Annotation for Java This package contains exmaples and showcase projects that will help you in understanding the API's working and writing your own applications. @@ -16,7 +16,18 @@ Directory | Description [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | Contains the package of all Java examples and sample files that will help you learn how to use product features. [Showcases](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Showcase) | Explore the open source showcase projects that allow users to view and annotate a document in a web browser. -# Resources +## How to Run the Examples + ++ You can either clone the repository using your favorite GitHub client or download the ZIP file from the above button. ++ Extract the contents of the ZIP file to any folder on your computer. ++ Open Java IDE and import the project to get started with it. ++ On the first run, the dependencies will automatically be downloaded. ++ Open MainClass.java file, all the examples are called from here. ++ Uncomment the examples you want to run from within the project. + +Please find more details for how to run the examples [here](https://docs.groupdocs.com/display/annotationjava/How+to+Run+Examples). + +## Resources + **Website:** [www.groupdocs.com](https://www.groupdocs.com) + **Product Home:** [GroupDocs.Annotation for Java](https://products.groupdocs.com/annotation/java) From 7d88fb377811808aa03877c1aeaaac8e61b700a4 Mon Sep 17 00:00:00 2001 From: Alexander Tyutyunnyk Date: Tue, 24 Dec 2019 15:10:08 +0200 Subject: [PATCH 09/76] Update annotation version --- .../pom.xml | 130 +++++++++--------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml index de2e0d2..ef16019 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml +++ b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml @@ -1,70 +1,70 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 - GroupDocs.Annotation.Examples.Java - GroupDocs.Annotation.Examples.Java - 0.0.1-SNAPSHOT - jar + GroupDocs.Annotation.Examples.Java + GroupDocs.Annotation.Examples.Java + 0.0.1-SNAPSHOT + jar - GroupDocs.Annotation.Examples.Java - http://maven.apache.org + GroupDocs.Annotation.Examples.Java + http://maven.apache.org - - UTF-8 - + + UTF-8 + - - - com.groupdocs - groupdocs-annotation - 19.7 - - - commons-io - commons-io - 2.4 - - - com.fasterxml.jackson.dataformat - jackson-dataformat-xml - 2.9.7 - - - - - GroupDocsJavaAPI - GroupDocs Java API - http://repository.groupdocs.com/repo/ - - - - - - org.codehaus.mojo - exec-maven-plugin - 1.3.2 - - - - java - - - - - com.groupdocs.annotation.sample.Main - false - maven - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.6 - 1.6 - - - - - + + + com.groupdocs + groupdocs-annotation + 19.12 + + + commons-io + commons-io + 2.4 + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + 2.9.7 + + + + + GroupDocsJavaAPI + GroupDocs Java API + http://repository.groupdocs.com/repo/ + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.3.2 + + + + java + + + + + com.groupdocs.annotation.sample.Main + false + maven + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.6 + 1.6 + + + + + \ No newline at end of file From 976a6b542361e6f3ad56dccbd9b2bb3f36720140 Mon Sep 17 00:00:00 2001 From: Alexander Tyutyunnyk Date: Tue, 24 Dec 2019 15:26:05 +0200 Subject: [PATCH 10/76] Add legacy code --- .../Annotation/Examples/Java/{ => legacy}/CellsAnnotation.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/DataStorage.java | 2 +- .../Examples/Java/{ => legacy}/DiagramsAnnotation.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/EmailAnnotation.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/HtmlAnnotation.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/ImagesAnnotation.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/JsonFile.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/JsonRepository.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/MainClass.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/PDFAnnotation.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/SlidesAnnotation.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/Utilities.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/WordsAnnotation.java | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/CellsAnnotation.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/DataStorage.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/DiagramsAnnotation.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/EmailAnnotation.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/HtmlAnnotation.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/ImagesAnnotation.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/JsonFile.java (97%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/JsonRepository.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/MainClass.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/PDFAnnotation.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/SlidesAnnotation.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/Utilities.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/WordsAnnotation.java (99%) diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/CellsAnnotation.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/CellsAnnotation.java index a5f6e0d..2dc5358 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/CellsAnnotation.java @@ -1,5 +1,5 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DataStorage.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DataStorage.java index ffd1a1f..80eaa78 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DataStorage.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DiagramsAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DiagramsAnnotation.java index 98e52d7..d15e3c9 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DiagramsAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/EmailAnnotation.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/EmailAnnotation.java index 6ebefc8..42e3e4e 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/EmailAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/HtmlAnnotation.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/HtmlAnnotation.java index 113db60..b83c4ca 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/HtmlAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/ImagesAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/ImagesAnnotation.java index 4466782..151ce90 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/ImagesAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonFile.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonFile.java similarity index 97% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonFile.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonFile.java index 18f3fe8..b292620 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonFile.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonFile.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonRepository.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonRepository.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonRepository.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonRepository.java index 245b7bb..b6de141 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonRepository.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonRepository.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.util.Collections; import java.util.Comparator; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/MainClass.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/MainClass.java index d996429..2806b6e 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/MainClass.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; public class MainClass { diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/PDFAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/PDFAnnotation.java index 6306a66..61ccb93 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/PDFAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/SlidesAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/SlidesAnnotation.java index 8431e30..3205044 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/SlidesAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/Utilities.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/Utilities.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/Utilities.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/Utilities.java index dcad874..7c063cf 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/Utilities.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/Utilities.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/WordsAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/WordsAnnotation.java index 02f8364..cba604f 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/WordsAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; From 19a0536e062dd6073935714f0674043a9da0b1e1 Mon Sep 17 00:00:00 2001 From: Alexander Tyutyunnyk Date: Tue, 24 Dec 2019 15:28:51 +0200 Subject: [PATCH 11/76] Update to 19.7 --- Examples/GroupDocs.Annotation.Examples.Java/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml index ef16019..03ea593 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml +++ b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml @@ -18,7 +18,7 @@ com.groupdocs groupdocs-annotation - 19.12 + 19.7 commons-io From 0a4c2dd73a19fafd40230228a0e64dfb6f46f58b Mon Sep 17 00:00:00 2001 From: Alexander Tyutyunnyk Date: Tue, 24 Dec 2019 15:29:54 +0200 Subject: [PATCH 12/76] Reverse changes --- .../Annotation/Examples/Java/{legacy => }/CellsAnnotation.java | 2 +- .../Annotation/Examples/Java/{legacy => }/DataStorage.java | 2 +- .../Examples/Java/{legacy => }/DiagramsAnnotation.java | 2 +- .../Annotation/Examples/Java/{legacy => }/EmailAnnotation.java | 2 +- .../Annotation/Examples/Java/{legacy => }/HtmlAnnotation.java | 2 +- .../Annotation/Examples/Java/{legacy => }/ImagesAnnotation.java | 2 +- .../Annotation/Examples/Java/{legacy => }/JsonFile.java | 2 +- .../Annotation/Examples/Java/{legacy => }/JsonRepository.java | 2 +- .../Annotation/Examples/Java/{legacy => }/MainClass.java | 2 +- .../Annotation/Examples/Java/{legacy => }/PDFAnnotation.java | 2 +- .../Annotation/Examples/Java/{legacy => }/SlidesAnnotation.java | 2 +- .../Annotation/Examples/Java/{legacy => }/Utilities.java | 2 +- .../Annotation/Examples/Java/{legacy => }/WordsAnnotation.java | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{legacy => }/CellsAnnotation.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{legacy => }/DataStorage.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{legacy => }/DiagramsAnnotation.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{legacy => }/EmailAnnotation.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{legacy => }/HtmlAnnotation.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{legacy => }/ImagesAnnotation.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{legacy => }/JsonFile.java (97%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{legacy => }/JsonRepository.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{legacy => }/MainClass.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{legacy => }/PDFAnnotation.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{legacy => }/SlidesAnnotation.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{legacy => }/Utilities.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{legacy => }/WordsAnnotation.java (99%) diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/CellsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/CellsAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java index 2dc5358..a5f6e0d 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/CellsAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java @@ -1,5 +1,5 @@ -package GroupDocs.Annotation.Examples.Java.legacy; +package GroupDocs.Annotation.Examples.Java; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DataStorage.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DataStorage.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java index 80eaa78..ffd1a1f 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DataStorage.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java.legacy; +package GroupDocs.Annotation.Examples.Java; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DiagramsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DiagramsAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java index d15e3c9..98e52d7 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DiagramsAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java.legacy; +package GroupDocs.Annotation.Examples.Java; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/EmailAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/EmailAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java index 42e3e4e..6ebefc8 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/EmailAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java.legacy; +package GroupDocs.Annotation.Examples.Java; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/HtmlAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/HtmlAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java index b83c4ca..113db60 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/HtmlAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java.legacy; +package GroupDocs.Annotation.Examples.Java; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/ImagesAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/ImagesAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java index 151ce90..4466782 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/ImagesAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java.legacy; +package GroupDocs.Annotation.Examples.Java; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonFile.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonFile.java similarity index 97% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonFile.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonFile.java index b292620..18f3fe8 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonFile.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonFile.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java.legacy; +package GroupDocs.Annotation.Examples.Java; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonRepository.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonRepository.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonRepository.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonRepository.java index b6de141..245b7bb 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonRepository.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonRepository.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java.legacy; +package GroupDocs.Annotation.Examples.Java; import java.util.Collections; import java.util.Comparator; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/MainClass.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/MainClass.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java index 2806b6e..d996429 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/MainClass.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java.legacy; +package GroupDocs.Annotation.Examples.Java; public class MainClass { diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/PDFAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/PDFAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java index 61ccb93..6306a66 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/PDFAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java.legacy; +package GroupDocs.Annotation.Examples.Java; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/SlidesAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/SlidesAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java index 3205044..8431e30 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/SlidesAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java.legacy; +package GroupDocs.Annotation.Examples.Java; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/Utilities.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/Utilities.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/Utilities.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/Utilities.java index 7c063cf..dcad874 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/Utilities.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/Utilities.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java.legacy; +package GroupDocs.Annotation.Examples.Java; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/WordsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/WordsAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java index cba604f..02f8364 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/WordsAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java.legacy; +package GroupDocs.Annotation.Examples.Java; import java.io.File; import java.io.FileInputStream; From e67716322a2beaaa986e5d5c1be55845620c6794 Mon Sep 17 00:00:00 2001 From: Alexander Tyutyunnyk Date: Tue, 24 Dec 2019 15:42:16 +0200 Subject: [PATCH 13/76] Add legacy code --- Examples/GroupDocs.Annotation.Examples.Java/pom.xml | 2 +- .../Annotation/Examples/Java/{ => legacy}/CellsAnnotation.java | 3 +-- .../Annotation/Examples/Java/{ => legacy}/DataStorage.java | 2 +- .../Examples/Java/{ => legacy}/DiagramsAnnotation.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/EmailAnnotation.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/HtmlAnnotation.java | 2 +- .../Examples/Java/{ => legacy}/ImagesAnnotation.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/JsonFile.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/JsonRepository.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/MainClass.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/PDFAnnotation.java | 2 +- .../Examples/Java/{ => legacy}/SlidesAnnotation.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/Utilities.java | 2 +- .../Annotation/Examples/Java/{ => legacy}/WordsAnnotation.java | 2 +- 14 files changed, 14 insertions(+), 15 deletions(-) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/CellsAnnotation.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/DataStorage.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/DiagramsAnnotation.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/EmailAnnotation.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/HtmlAnnotation.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/ImagesAnnotation.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/JsonFile.java (97%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/JsonRepository.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/MainClass.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/PDFAnnotation.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/SlidesAnnotation.java (99%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/Utilities.java (98%) rename Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/{ => legacy}/WordsAnnotation.java (99%) diff --git a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml index de2e0d2..88ae759 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml +++ b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml @@ -18,7 +18,7 @@ com.groupdocs groupdocs-annotation - 19.7 + 19.12 commons-io diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/CellsAnnotation.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/CellsAnnotation.java index a5f6e0d..69e14ef 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/CellsAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/CellsAnnotation.java @@ -1,5 +1,4 @@ - -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DataStorage.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DataStorage.java index ffd1a1f..80eaa78 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DataStorage.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DataStorage.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DiagramsAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DiagramsAnnotation.java index 98e52d7..d15e3c9 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/DiagramsAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DiagramsAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/EmailAnnotation.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/EmailAnnotation.java index 6ebefc8..42e3e4e 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/EmailAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/EmailAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/HtmlAnnotation.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/HtmlAnnotation.java index 113db60..b83c4ca 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/HtmlAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/HtmlAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/ImagesAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/ImagesAnnotation.java index 4466782..151ce90 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/ImagesAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/ImagesAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonFile.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonFile.java similarity index 97% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonFile.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonFile.java index 18f3fe8..b292620 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonFile.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonFile.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonRepository.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonRepository.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonRepository.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonRepository.java index 245b7bb..b6de141 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/JsonRepository.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonRepository.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.util.Collections; import java.util.Comparator; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/MainClass.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/MainClass.java index d996429..2806b6e 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/MainClass.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/MainClass.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; public class MainClass { diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/PDFAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/PDFAnnotation.java index 6306a66..61ccb93 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/PDFAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/PDFAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/SlidesAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/SlidesAnnotation.java index 8431e30..3205044 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/SlidesAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/SlidesAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/Utilities.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/Utilities.java similarity index 98% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/Utilities.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/Utilities.java index dcad874..7c063cf 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/Utilities.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/Utilities.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/WordsAnnotation.java similarity index 99% rename from Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java rename to Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/WordsAnnotation.java index 02f8364..cba604f 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/WordsAnnotation.java +++ b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/WordsAnnotation.java @@ -1,4 +1,4 @@ -package GroupDocs.Annotation.Examples.Java; +package GroupDocs.Annotation.Examples.Java.legacy; import java.io.File; import java.io.FileInputStream; From 0e5d4b6dfe74b1491c64500cbfe9c00e4a9dae02 Mon Sep 17 00:00:00 2001 From: Yevgen Nykytenko Date: Tue, 18 Feb 2020 17:13:21 +0300 Subject: [PATCH 14/76] Examples for GroupDocs.Annotation for Java --- .gitignore | 5 + .../.gitignore | 1 - .../Data/OutputFiles/Annotated.vsdx | Bin 141166 -> 0 bytes .../Data/Screenshots/code.PNG | Bin 94676 -> 0 bytes .../Data/Screenshots/folder.PNG | Bin 10019 -> 0 bytes .../README.md | 26 - .../pom.xml | 70 -- .../Examples/Java/legacy/CellsAnnotation.java | 92 -- .../Examples/Java/legacy/DataStorage.java | 683 --------------- .../Java/legacy/DiagramsAnnotation.java | 241 ------ .../Examples/Java/legacy/EmailAnnotation.java | 107 --- .../Examples/Java/legacy/HtmlAnnotation.java | 107 --- .../Java/legacy/ImagesAnnotation.java | 212 ----- .../Examples/Java/legacy/JsonFile.java | 77 -- .../Examples/Java/legacy/JsonRepository.java | 188 ----- .../Examples/Java/legacy/MainClass.java | 124 --- .../Examples/Java/legacy/PDFAnnotation.java | 784 ------------------ .../Java/legacy/SlidesAnnotation.java | 239 ------ .../Examples/Java/legacy/Utilities.java | 133 --- .../Examples/Java/legacy/WordsAnnotation.java | 577 ------------- Examples/README.md | 38 +- .../SampleFiles}/DEPOSIT.eml | 0 Examples/Resources/SampleFiles/annotated.pdf | Bin 0 -> 52053 bytes .../SampleFiles/annotated_area_replies_5.pdf | Bin 0 -> 8819 bytes .../Resources/SampleFiles/annotated_big.pdf | Bin 0 -> 474528 bytes .../SampleFiles/annotated_import.pdf | Bin 0 -> 8060 bytes .../SampleFiles/annotated_with_replies.pdf | Bin 0 -> 14247 bytes .../annotated_with_replies_new.pdf | Bin 0 -> 7911 bytes .../annotated_with_replies_new_old.pdf | Bin 0 -> 7902 bytes Examples/Resources/SampleFiles/annotation.xml | 22 + Examples/Resources/SampleFiles/clear.pdf | Bin 0 -> 469513 bytes .../SampleFiles}/excel.xlsx | Bin .../SampleFiles}/image.PNG | Bin Examples/Resources/SampleFiles/input.pdf | Bin 0 -> 6465 bytes .../Resources/SampleFiles/input_protected.pdf | Bin 0 -> 10574 bytes .../SampleFiles/remove_anno_1139.pdf | Bin 0 -> 115411 bytes .../SampleFiles/remove_anno_1139_1.pdf | Bin 0 -> 117167 bytes .../SampleFiles}/sample.docx | Bin .../SampleFiles}/sample.pdf | Bin .../SampleFiles}/sample.vsd | Bin .../SampleFiles}/slide.pptx | Bin .../SampleFiles}/source.html | 0 .../SampleFiles}/source.pdf | Bin Examples/pom.xml | 77 ++ .../annotation/examples/Constants.java | 34 + .../annotation/examples/RunExamples.java | 133 +++ .../GenerateDocumentPagesPreview.java | 37 + .../LoadPasswordProtectedDocuments.java | 35 + .../LoadDocumentFromAmazonS3.java | 52 ++ .../LoadDocumentFromAzure.java | 51 ++ .../LoadDocumentFromFtp.java | 51 ++ .../LoadDocumentFromLocalDisk.java | 31 + .../LoadDocumentFromStream.java | 38 + .../LoadDocumentFromUrl.java | 37 + .../saving/FilteringAnnotationTypes.java | 49 ++ .../SavingOnlyPagesWithAnnotations.java | 46 + .../saving/SavingSpecificPageRange.java | 29 + .../examples/basic_usage/AddReplies.java | 95 +++ .../ExtractAnnotationsFromDocument.java | 35 + .../examples/basic_usage/GetFileInfo.java | 26 + .../basic_usage/GetSupportedFileFormats.java | 26 + .../RemoveAnnotationFromDocument.java | 29 + .../examples/basic_usage/RemoveReplies.java | 38 + .../basic_usage/RemoveRepliesById.java | 40 + .../basic_usage/RemoveRepliesByUserName.java | 44 + .../basic_usage/UpdateAnnotation.java | 85 ++ .../AddAreaAnnotation.java | 55 ++ .../AddArrowAnnotation.java | 54 ++ .../AddDistanceAnnotation.java | 54 ++ .../AddEllipseAnnotation.java | 55 ++ .../AddLinkAnnotation.java | 63 ++ .../AddPointAnnotation.java | 49 ++ .../AddPolylineAnnotation.java | 55 ++ .../AddResourcesRedactionAnnotation.java | 49 ++ .../AddTextFieldAnnotation.java | 57 ++ .../AddTextHighlightAnnotation.java | 64 ++ .../AddTextRedactionAnnotation.java | 61 ++ .../AddTextReplacementAnnotation.java | 64 ++ .../AddTextStrikeoutAnnotation.java | 63 ++ .../AddTextUnderlineAnnotation.java | 63 ++ .../AddWatermarkAnnotation.java | 54 ++ .../quick_start/SetLicenseFromFile.java | 38 + .../quick_start/SetLicenseFromStream.java | 45 + .../quick_start/SetMeteredLicense.java | 24 + .../src/main/resources/project.properties | 1 + README.md | 2 +- Showcase/README.md | 8 - 87 files changed, 2131 insertions(+), 3691 deletions(-) create mode 100644 .gitignore delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/.gitignore delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/Annotated.vsdx delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/Data/Screenshots/code.PNG delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/Data/Screenshots/folder.PNG delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/README.md delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/pom.xml delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/CellsAnnotation.java delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DataStorage.java delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DiagramsAnnotation.java delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/EmailAnnotation.java delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/HtmlAnnotation.java delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/ImagesAnnotation.java delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonFile.java delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonRepository.java delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/MainClass.java delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/PDFAnnotation.java delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/SlidesAnnotation.java delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/Utilities.java delete mode 100644 Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/WordsAnnotation.java rename Examples/{GroupDocs.Annotation.Examples.Java/Data/SourceFiles => Resources/SampleFiles}/DEPOSIT.eml (100%) create mode 100644 Examples/Resources/SampleFiles/annotated.pdf create mode 100644 Examples/Resources/SampleFiles/annotated_area_replies_5.pdf create mode 100644 Examples/Resources/SampleFiles/annotated_big.pdf create mode 100644 Examples/Resources/SampleFiles/annotated_import.pdf create mode 100644 Examples/Resources/SampleFiles/annotated_with_replies.pdf create mode 100644 Examples/Resources/SampleFiles/annotated_with_replies_new.pdf create mode 100644 Examples/Resources/SampleFiles/annotated_with_replies_new_old.pdf create mode 100644 Examples/Resources/SampleFiles/annotation.xml create mode 100644 Examples/Resources/SampleFiles/clear.pdf rename Examples/{GroupDocs.Annotation.Examples.Java/Data/SourceFiles => Resources/SampleFiles}/excel.xlsx (100%) rename Examples/{GroupDocs.Annotation.Examples.Java/Data/SourceFiles => Resources/SampleFiles}/image.PNG (100%) create mode 100644 Examples/Resources/SampleFiles/input.pdf create mode 100644 Examples/Resources/SampleFiles/input_protected.pdf create mode 100644 Examples/Resources/SampleFiles/remove_anno_1139.pdf create mode 100644 Examples/Resources/SampleFiles/remove_anno_1139_1.pdf rename Examples/{GroupDocs.Annotation.Examples.Java/Data/SourceFiles => Resources/SampleFiles}/sample.docx (100%) rename Examples/{GroupDocs.Annotation.Examples.Java/Data/SourceFiles => Resources/SampleFiles}/sample.pdf (100%) rename Examples/{GroupDocs.Annotation.Examples.Java/Data/SourceFiles => Resources/SampleFiles}/sample.vsd (100%) rename Examples/{GroupDocs.Annotation.Examples.Java/Data/SourceFiles => Resources/SampleFiles}/slide.pptx (100%) rename Examples/{GroupDocs.Annotation.Examples.Java/Data/SourceFiles => Resources/SampleFiles}/source.html (100%) rename Examples/{GroupDocs.Annotation.Examples.Java/Data/SourceFiles => Resources/SampleFiles}/source.pdf (100%) create mode 100644 Examples/pom.xml create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/LoadPasswordProtectedDocuments.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAmazonS3.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAzure.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromFtp.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromLocalDisk.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromStream.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromUrl.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/FilteringAnnotationTypes.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingOnlyPagesWithAnnotations.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingSpecificPageRange.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddReplies.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetFileInfo.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetSupportedFileFormats.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveAnnotationFromDocument.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesByUserName.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/UpdateAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddArrowAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddDistanceAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddEllipseAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddLinkAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPointAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddResourcesRedactionAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextFieldAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextHighlightAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextRedactionAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextReplacementAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextStrikeoutAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextUnderlineAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddWatermarkAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromFile.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromStream.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetMeteredLicense.java create mode 100644 Examples/src/main/resources/project.properties delete mode 100644 Showcase/README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9704d4e --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/Examples/target +/Examples/Resources/Output +Examples/.classpath +Examples/.project +Examples/.settings/ diff --git a/Examples/GroupDocs.Annotation.Examples.Java/.gitignore b/Examples/GroupDocs.Annotation.Examples.Java/.gitignore deleted file mode 100644 index b83d222..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target/ diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/Annotated.vsdx b/Examples/GroupDocs.Annotation.Examples.Java/Data/OutputFiles/Annotated.vsdx deleted file mode 100644 index b166799f0af59c40602e4a05ec0f6f2697c2a594..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141166 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�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 diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/Screenshots/code.PNG b/Examples/GroupDocs.Annotation.Examples.Java/Data/Screenshots/code.PNG deleted file mode 100644 index 55d9dda6b78b006c1c2845f506779c412fa590e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94676 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 Gt^We*Cc5JQ diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/Screenshots/folder.PNG b/Examples/GroupDocs.Annotation.Examples.Java/Data/Screenshots/folder.PNG deleted file mode 100644 index 32b6fc9c48a5472918d27c72924d04d6ab6cc0f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10019 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 Y*B`$e$=ojgBN^c0Imh3s&fa|ZA6(3>sQ>@~ diff --git a/Examples/GroupDocs.Annotation.Examples.Java/README.md b/Examples/GroupDocs.Annotation.Examples.Java/README.md deleted file mode 100644 index e026112..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# GroupDocs_Annotation_Java - -This package contains [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) that will help you in understanding the API's working and writing your own applications. - -GroupDocs.Annotation is essentially devised to add annotations in documents within a Java applications. API comes with an extensive number of markup tools. These tools permit users to highlight, strikeout, and comment on text and images. This doesn't end up here user can avail numerous properties to control annotation's appearance in the document. - -

    - -Directory | Description ---------- | ----------- -[Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | Contains the package of all Java examples and sample files that will help you learn how to use product features. -## Resources - -+ **Website:** [www.groupdocs.com](http://www.groupdocs.com) -+ **Product Home:** [GroupDocs.Annotation for Java](#) -+ **Product API:** [API of GroupDocs.Annotation for Java](#) -+ **Download:** [Download GroupDocs.Annotation for Java](#) -+ **Documentation:** [GroupDocs.Annotation for Java Documentation](#) -+ **Forum:** [GroupDocs.Annotation for Java Forum](#) -+ **Blog:** [GroupDocs.Annotation for Java Blog](#) - diff --git a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml deleted file mode 100644 index 88ae759..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml +++ /dev/null @@ -1,70 +0,0 @@ - - 4.0.0 - - GroupDocs.Annotation.Examples.Java - GroupDocs.Annotation.Examples.Java - 0.0.1-SNAPSHOT - jar - - GroupDocs.Annotation.Examples.Java - http://maven.apache.org - - - UTF-8 - - - - - com.groupdocs - groupdocs-annotation - 19.12 - - - commons-io - commons-io - 2.4 - - - com.fasterxml.jackson.dataformat - jackson-dataformat-xml - 2.9.7 - - - - - GroupDocsJavaAPI - GroupDocs Java API - http://repository.groupdocs.com/repo/ - - - - - - org.codehaus.mojo - exec-maven-plugin - 1.3.2 - - - - java - - - - - com.groupdocs.annotation.sample.Main - false - maven - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.6 - 1.6 - - - - - diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/CellsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/CellsAnnotation.java deleted file mode 100644 index 69e14ef..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/CellsAnnotation.java +++ /dev/null @@ -1,92 +0,0 @@ -package GroupDocs.Annotation.Examples.Java.legacy; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.io.IOUtils; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.DocumentType; -import com.groupdocs.annotation.domain.Point; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.annotation.domain.config.AnnotationConfig; -import com.groupdocs.annotation.handler.AnnotationImageHandler; - -public class CellsAnnotation { - - // region initialize document name - - /* - * document name - */ - - public static String fileName = "excel.xlsx"; - - // region Working with Annotations in Cells - - /* - * add annotation in Cells - */ - - public static void addAnnotationInCells() { - //ExStart:addAnnotationInCells - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Add bookmark to 3rd cell in 3rd row on 1st page - final AnnotationInfo annotationInfo = new AnnotationInfo(); - annotationInfo.setPageNumber(1); - annotationInfo.setAnnotationPosition(new Point(3, 3)); - annotationInfo.setFieldText("Hello!"); - annotations.add(annotationInfo); - // Export annotations to Cells document - InputStream resultStream = annotator.exportAnnotationsToDocument(inputStream, annotations); - System.out.println(resultStream.available()); - IOUtils.copy(resultStream, - new FileOutputStream(Utilities.outputPath + File.separator + "cells-annotated.xlsx")); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addAnnotationInCells - } - - /* - * Add Ellipse Annotation in Cells - */ - public static void addEllipseAnnotationInCells() { - //ExStart:addEllipseAnnotationInCells - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Ellipse annotation - AnnotationInfo ellipseAnnotation = new AnnotationInfo(); - ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); - ellipseAnnotation.setPageNumber(0); - ellipseAnnotation.setType(AnnotationType.Ellipse); - ellipseAnnotation.setCreatorName("Anonym A."); - annotations.add(ellipseAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Cells); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "cells-annotated.xlsx"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addEllipseAnnotationInCells - } -} diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DataStorage.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DataStorage.java deleted file mode 100644 index 80eaa78..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DataStorage.java +++ /dev/null @@ -1,683 +0,0 @@ -package GroupDocs.Annotation.Examples.Java.legacy; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.List; - -import org.apache.commons.io.IOUtils; - -import com.groupdocs.annotation.common.exception.AnnotatorException; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationReplyInfo; -import com.groupdocs.annotation.domain.AnnotationReviewerRights; -import com.groupdocs.annotation.domain.AnnotationSizeInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.DocumentType; -import com.groupdocs.annotation.domain.Point; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.annotation.domain.ReviewerInfo; -import com.groupdocs.annotation.domain.TextFieldInfo; -import com.groupdocs.annotation.domain.config.AnnotationConfig; -import com.groupdocs.annotation.domain.results.AddReplyResult; -import com.groupdocs.annotation.domain.results.CreateAnnotationResult; -import com.groupdocs.annotation.domain.results.DeleteAnnotationResult; -import com.groupdocs.annotation.domain.results.DeleteReplyResult; -import com.groupdocs.annotation.domain.results.EditReplyResult; -import com.groupdocs.annotation.domain.results.GetAnnotationResult; -import com.groupdocs.annotation.domain.results.GetCollaboratorsResult; -import com.groupdocs.annotation.domain.results.ListAnnotationsResult; -import com.groupdocs.annotation.domain.results.ListRepliesResult; -import com.groupdocs.annotation.domain.results.MoveAnnotationResult; -import com.groupdocs.annotation.domain.results.ResizeAnnotationResult; -import com.groupdocs.annotation.domain.results.SaveAnnotationTextResult; -import com.groupdocs.annotation.domain.results.SetCollaboratorsResult; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.annotation.handler.input.IDocumentDataHandler; -import com.groupdocs.annotation.handler.input.IUserDataHandler; -import com.groupdocs.annotation.handler.input.dataobjects.Document; -import com.groupdocs.annotation.handler.input.dataobjects.User; - -public class DataStorage { - - // document name - public static String fileName = "sample.pdf"; - - // Creates a document data object in the storage - public static void createDocument() { - //ExStart:createDocument - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - // Create document data object in storage - Document document = documentRepository.getDocument(fileName); - long documentId = document == null ? annotator.createDocument(fileName) : document.getId(); - System.out.println("Document ID: " + documentId); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:createDocument - } - - // Assign document access rights - public static void setDocumentAccessRights() { - //ExStart:setDocumentAccessRights - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - // Create document data object in storage - Document document = documentRepository.getDocument(fileName); - long documentId = document == null ? annotator.createDocument(fileName) : document.getId(); - // Set document access rights - annotator.setDocumentAccessRights(documentId, AnnotationReviewerRights.All); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:setDocumentAccessRights - } - - // Maps annotations and creates dcocument data object in the storage - public static GetAnnotationResult createAndGetAnnotations() { - //ExStart:createAndGetAnnotations - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - // Create document data object in storage - Document document = documentRepository.getDocument(fileName); - long documentId = document == null ? annotator.createDocument(fileName) : document.getId(); - // Create annotation object - AnnotationInfo pointAnnotation = new AnnotationInfo(); - pointAnnotation.setAnnotationPosition(new Point(852.0, 81.0)); - pointAnnotation.setBox(new Rectangle(212f, 81f, 142f, 0.0f)); - pointAnnotation.setType(AnnotationType.Point); - pointAnnotation.setPageNumber(0); - pointAnnotation.setCreatorName("Anonym A."); - pointAnnotation.setDocumentGuid(documentId); - // Add annotation to storage - CreateAnnotationResult createPointAnnotationResult = annotator.createAnnotation(pointAnnotation); - // Get annotation from storage - GetAnnotationResult result = annotator.getAnnotation(createPointAnnotationResult.getGuid()); - return result; - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - return null; - } - //ExEnd:createAndGetAnnotations - } - - // Gets annotations from the storage file - public static void getAllAnnotations() { - //ExStart:getAllAnnotations - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - Document document = documentRepository.getDocument(fileName); - long documentId = document == null ? annotator.createDocument(fileName) : document.getId(); - // Create annotation object - AnnotationInfo pointAnnotation = new AnnotationInfo(); - pointAnnotation.setAnnotationPosition(new Point(852.0, 81.0)); - pointAnnotation.setBox(new Rectangle(212f, 81f, 142f, 0.0f)); - pointAnnotation.setType(AnnotationType.Point); - pointAnnotation.setPageNumber(0); - pointAnnotation.setCreatorName("Anonym A."); - pointAnnotation.setDocumentGuid(documentId); - // Add annotation to storage - CreateAnnotationResult createPointAnnotationResult = annotator.createAnnotation(pointAnnotation); - System.out.println(createPointAnnotationResult); - // Get all annotations from storage - ListAnnotationsResult listAnnotationsResult = annotator.getAnnotations(documentId); - System.out.println(listAnnotationsResult); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:getAllAnnotations - } - - // Resize annotation result - public static void resizeAnnotationResult() { - //ExStart:resizeAnnotationResult - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - // Create document data object in storage. - Document document = documentRepository.getDocument(fileName); - long documentId = document == null ? annotator.createDocument(fileName) : document.getId(); - // Create annotation object - AnnotationInfo areaAnnotation = new AnnotationInfo(); - areaAnnotation.setAnnotationPosition(new Point(852.0, 271.7)); - areaAnnotation.setBackgroundColor(3355443); - areaAnnotation.setBox(new Rectangle(466f, 271f, 69f, 62f)); - areaAnnotation.setPageNumber(0); - areaAnnotation.setPenColor(3355443); - areaAnnotation.setType(AnnotationType.Area); - areaAnnotation.setCreatorName("Anonym A."); - areaAnnotation.setDocumentGuid(documentId); - // Add annotation to storage - CreateAnnotationResult createAreaAnnotationResult = annotator.createAnnotation(areaAnnotation); - // Resize annotation - final AnnotationSizeInfo annotationSizeInfo = new AnnotationSizeInfo(); - annotationSizeInfo.setHeight(80); - annotationSizeInfo.setWidth(60); - ResizeAnnotationResult resizeResult = annotator.resizeAnnotation(createAreaAnnotationResult.getId(), - annotationSizeInfo); - System.out.println(resizeResult); - // Check data - GetAnnotationResult resizedAnnotation = annotator.getAnnotation(createAreaAnnotationResult.getGuid()); - System.out.println(resizedAnnotation); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:resizeAnnotationResult - } - - // Moves annotation marker - public static void moveAnnotationResult() { - //ExStart:moveAnnotationResult - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - // Create document data object in storage. - Document document = documentRepository.getDocument(fileName); - long documentId = document == null ? annotator.createDocument(fileName) : document.getId(); - // Create annotation object - AnnotationInfo areaAnnotation = new AnnotationInfo(); - areaAnnotation.setAnnotationPosition(new Point(852.0, 271.7)); - areaAnnotation.setBackgroundColor(3355443); - areaAnnotation.setBox(new Rectangle(466f, 271f, 69f, 62f)); - areaAnnotation.setPageNumber(0); - areaAnnotation.setPenColor(3355443); - areaAnnotation.setType(AnnotationType.Area); - areaAnnotation.setCreatorName("Anonym A."); - areaAnnotation.setDocumentGuid(documentId); - // Add annotation to storage - CreateAnnotationResult createAreaAnnotationResult = annotator.createAnnotation(areaAnnotation); - // Move annotation marker - MoveAnnotationResult moveAnnotationResult = annotator.moveAnnotationMarker( - createAreaAnnotationResult.getId(), new Point(200, 200), /* NewPageNumber */ 1); - System.out.println(moveAnnotationResult); - System.out.println(moveAnnotationResult); - // Check data - GetAnnotationResult resizedAnnotation = annotator.getAnnotation(createAreaAnnotationResult.getGuid()); - System.out.println(resizedAnnotation); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:moveAnnotationResult - } - - // Sets background color of annotation - public static void setBackgroundColor() { - //ExStart:setBackgroundColor - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - // Create document data object in storage. - Document document = documentRepository.getDocument(fileName); - long documentId = document == null ? annotator.createDocument(fileName) : document.getId(); - // Create annotation object - AnnotationInfo areaAnnotation = new AnnotationInfo(); - areaAnnotation.setAnnotationPosition(new Point(852.0, 271.7)); - areaAnnotation.setBackgroundColor(3355443); - areaAnnotation.setBox(new Rectangle(466f, 271f, 69f, 62f)); - areaAnnotation.setPageNumber(0); - areaAnnotation.setPenColor(3355443); - areaAnnotation.setType(AnnotationType.Area); - areaAnnotation.setCreatorName("Anonym A."); - areaAnnotation.setDocumentGuid(documentId); - // Add annotation to storage - CreateAnnotationResult createAreaAnnotationResult = annotator.createAnnotation(areaAnnotation); - // Set background color of annotation - SaveAnnotationTextResult setBackgroundColorResult = annotator - .setAnnotationBackgroundColor(createAreaAnnotationResult.getId(), 16711680); - System.out.println(setBackgroundColorResult); - // Check data - GetAnnotationResult resizedAnnotation = annotator.getAnnotation(createAreaAnnotationResult.getGuid()); - System.out.println(resizedAnnotation); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:setBackgroundColor - } - - // Updates the text in the annotation - - public static void editTextFieldAnnotations() { - //ExStart:editTextFieldAnnotations - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - // Create document data object in storage. - Document document = documentRepository.getDocument(fileName); - long documentId = document == null ? annotator.createDocument(fileName) : document.getId(); - // Create annotation object - AnnotationInfo textFieldAnnotation = new AnnotationInfo(); - textFieldAnnotation.setAnnotationPosition(new Point(852.0, 201.0)); - textFieldAnnotation.setFieldText("text in the box"); - textFieldAnnotation.setFontFamily("Arial"); - textFieldAnnotation.setFontSize(10D); - textFieldAnnotation.setBox(new Rectangle(66f, 201f, 64f, 37f)); - textFieldAnnotation.setPageNumber(0); - textFieldAnnotation.setType(AnnotationType.TextField); - textFieldAnnotation.setCreatorName("Anonym A."); - textFieldAnnotation.setDocumentGuid(documentId); - final CreateAnnotationResult createTextFieldAnnotationResult = annotator - .createAnnotation(textFieldAnnotation); - // Update text in the annotation - final TextFieldInfo textFieldInfo = new TextFieldInfo(); - textFieldInfo.setFieldText("new text"); - textFieldInfo.setFontFamily("Colibri"); - textFieldInfo.setFontSize(12D); - SaveAnnotationTextResult saveTextFieldResult = annotator - .saveTextField(createTextFieldAnnotationResult.getId(), textFieldInfo); - System.out.println(saveTextFieldResult); - // Set text field color - SaveAnnotationTextResult saveTextFieldColorResult = annotator - .setTextFieldColor(createTextFieldAnnotationResult.getId(), 16753920); - System.out.println(saveTextFieldColorResult); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:editTextFieldAnnotations - } - - // Removes annotations - public static void removeAnnotation() { - //ExStart:removeAnnotation - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - // Create document data object in storage. - Document document = documentRepository.getDocument(fileName); - long documentId = document == null ? annotator.createDocument(fileName) : document.getId(); - // Create annotation object - AnnotationInfo pointAnnotation = new AnnotationInfo(); - pointAnnotation.setAnnotationPosition(new Point(852.0, 81.0)); - pointAnnotation.setBox(new Rectangle(212f, 81f, 142f, 0.0f)); - pointAnnotation.setType(AnnotationType.Point); - pointAnnotation.setPageNumber(0); - pointAnnotation.setCreatorName("Anonym A."); - pointAnnotation.setDocumentGuid(documentId); - // Add annotation to storage - CreateAnnotationResult createPointAnnotationResult = annotator.createAnnotation(pointAnnotation); - // Get all annotations from storage - ListAnnotationsResult listAnnotationsResult = annotator.getAnnotations(documentId); - // Get annotation - GetAnnotationResult annotation = annotator - .getAnnotation(listAnnotationsResult.getAnnotations()[0].getGuid()); - // Delete annotation - DeleteAnnotationResult deleteAnnotationResult = annotator.deleteAnnotation(annotation.getId()); - // Delete all annotations - annotator.deleteAnnotations(documentId); - System.out.println(deleteAnnotationResult); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:removeAnnotation - } - - // Adds reply to the annotation, edits reply, creates child reply - public static void addAnnotationReply() { - //ExStart:addAnnotationReply - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - // Create document data object in storage - final Document document = documentRepository.getDocument(fileName); - long documentId = document == null ? annotator.createDocument(fileName) : document.getId(); - // Create annotation object - AnnotationInfo pointAnnotation = new AnnotationInfo(); - pointAnnotation.setAnnotationPosition(new Point(852.0, 81.0)); - pointAnnotation.setBox(new Rectangle(212f, 81f, 142f, 0.0f)); - pointAnnotation.setType(AnnotationType.Point); - pointAnnotation.setPageNumber(0); - pointAnnotation.setCreatorName("Anonym A."); - pointAnnotation.setDocumentGuid(documentId); - // Add annotation to storage - CreateAnnotationResult createPointAnnotationResult = annotator.createAnnotation(pointAnnotation); - // Add simple reply to created annotation - AddReplyResult addSimpleReplyResult = annotator.createAnnotationReply(createPointAnnotationResult.getId(), - "first question"); - // Edit created reply - EditReplyResult editReplyResult = annotator.editAnnotationReply(addSimpleReplyResult.getReplyGuid(), - "changed question"); - System.out.println(editReplyResult); - // Create child reply. This reply will be linked to previously - // created reply. - AddReplyResult addChildReplyResult = annotator.createAnnotationReply(createPointAnnotationResult.getId(), - "answer", addSimpleReplyResult.getReplyGuid()); - System.out.println(addChildReplyResult); - // Delete annotation reply by guid - DeleteReplyResult deleteReplyResult = annotator.deleteAnnotationReply(addChildReplyResult.getReplyGuid()); - System.out.println(deleteReplyResult); - // Delete all replies from annotation - annotator.deleteAnnotationReplies(createPointAnnotationResult.getId()); - // List of replies after deleting all replies - ListRepliesResult listRepliesResultAfterDeleteAll = annotator - .listAnnotationReplies(createPointAnnotationResult.getId()); - System.out.println(listRepliesResultAfterDeleteAll); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addAnnotationReply - } - - // Adds document collaborator - public static void addCollaborator() { - //ExStart:addCollaborator - try { - // Create instance of the annotation handler - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IUserDataHandler userRepository = annotator.getUserDataHandler(); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - // Create owner. - User owner = userRepository.getUserByEmail("john@doe.com"); - if (owner == null) { - final User user = new User(); - user.setFirstName("John"); - user.setLastName("Doe"); - user.setEmail("john@doe.com"); - userRepository.add(user); - owner = userRepository.getUserByEmail("john@doe.com"); - } - // Create document data object in storage - Document document = documentRepository.getDocument(fileName); - if (document != null && document.getOwnerId() != owner.getId()) { - documentRepository.remove(document); - document = null; - } - long documentId = document == null ? annotator.createDocument(fileName, DocumentType.Pdf, owner.getId()) - : document.getId(); - // Create reviewer. - ReviewerInfo reviewerInfo = new ReviewerInfo(); - reviewerInfo.setPrimaryEmail("judy@doe.com"); - reviewerInfo.setFirstName("Judy"); - reviewerInfo.setLastName("Doe"); - reviewerInfo.setAccessRights(AnnotationReviewerRights.All); - // Add collaborator to the document. If user with UserName equals to - // reviewers PrimaryEmail is absent it will be created. - SetCollaboratorsResult addCollaboratorResult = annotator.addCollaborator(documentId, reviewerInfo); - System.out.println(addCollaboratorResult); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addCollaborator - } - - // Gets document collaborator - public static void getCollaborator() { - //ExStart:getCollaborator - try { - // Create instance of the annotation handler - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IUserDataHandler userRepository = annotator.getUserDataHandler(); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - // Create owner. - User owner = userRepository.getUserByEmail("john@doe.com"); - if (owner == null) { - final User user = new User(); - user.setFirstName("John"); - user.setLastName("Doe"); - user.setEmail("john@doe.com"); - userRepository.add(user); - owner = userRepository.getUserByEmail("john@doe.com"); - } - // Create document data object in storage - Document document = documentRepository.getDocument(fileName); - if (document != null && document.getOwnerId() != owner.getId()) { - documentRepository.remove(document); - document = null; - } - long documentId = document == null ? annotator.createDocument(fileName, DocumentType.Pdf, owner.getId()) - : document.getId(); - // Create reviewer. - ReviewerInfo reviewerInfo = new ReviewerInfo(); - reviewerInfo.setPrimaryEmail("judy@doe.com"); - reviewerInfo.setFirstName("Judy"); - reviewerInfo.setLastName("Doe"); - reviewerInfo.setAccessRights(AnnotationReviewerRights.All); - // Get document collaborators - GetCollaboratorsResult getCollaboratorsResult = annotator.getCollaborators(documentId); - System.out.println(getCollaboratorsResult); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:getCollaborator - } - - // Updates document collaborator - - public static void updateCollaborator() { - //ExStart:updateCollaborator - try { - // Create instance of the annotation handler - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IUserDataHandler userRepository = annotator.getUserDataHandler(); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - // Create owner. - User owner = userRepository.getUserByEmail("john@doe.com"); - if (owner == null) { - final User user = new User(); - user.setFirstName("John"); - user.setLastName("Doe"); - user.setEmail("john@doe.com"); - userRepository.add(user); - owner = userRepository.getUserByEmail("john@doe.com"); - } - // Create document data object in storage - Document document = documentRepository.getDocument(fileName); - if (document != null && document.getOwnerId() != owner.getId()) { - documentRepository.remove(document); - document = null; - } - long documentId = document == null ? annotator.createDocument(fileName, DocumentType.Pdf, owner.getId()) - : document.getId(); - // Create reviewer. - ReviewerInfo reviewerInfo = new ReviewerInfo(); - reviewerInfo.setPrimaryEmail("judy@doe.com"); - reviewerInfo.setFirstName("Judy"); - reviewerInfo.setLastName("Doe"); - reviewerInfo.setAccessRights(AnnotationReviewerRights.All); - // Update collaborator. Only color and access rights will be - // updated. - reviewerInfo.setColor(3355443); - SetCollaboratorsResult updateCollaboratorResult = annotator.updateCollaborator(documentId, reviewerInfo); - System.out.println(updateCollaboratorResult); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:updateCollaborator - } - - // Deletes document collaborator - public static void deleteCollaborator() { - //ExStart:deleteCollaborator - try { - // Create instance of the annotation handler - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IUserDataHandler userRepository = annotator.getUserDataHandler(); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - // Create owner. - User owner = userRepository.getUserByEmail("john@doe.com"); - if (owner == null) { - final User user = new User(); - user.setFirstName("John"); - user.setLastName("Doe"); - user.setEmail("john@doe.com"); - userRepository.add(user); - owner = userRepository.getUserByEmail("john@doe.com"); - } - // Create document data object in storage - Document document = documentRepository.getDocument(fileName); - if (document != null && document.getOwnerId() != owner.getId()) { - documentRepository.remove(document); - document = null; - } - long documentId = document == null ? annotator.createDocument(fileName, DocumentType.Pdf, owner.getId()) - : document.getId(); - // Create reviewer. - ReviewerInfo reviewerInfo = new ReviewerInfo(); - reviewerInfo.setPrimaryEmail("judy@doe.com"); - reviewerInfo.setFirstName("Judy"); - reviewerInfo.setLastName("Doe"); - reviewerInfo.setAccessRights(AnnotationReviewerRights.All); - // Delete collaborator - SetCollaboratorsResult deleteCollaboratorResult = annotator.deleteCollaborator(documentId, - reviewerInfo.getPrimaryEmail()); - System.out.println(deleteCollaboratorResult); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:deleteCollaborator - } - - // Manages user rights - public static void managesCollaboratorRights() { - //ExStart:managesCollaboratorRights - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IUserDataHandler userRepository = annotator.getUserDataHandler(); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - // Create owner. - User johnOwner = userRepository.getUserByEmail("john@doe.com"); - if (johnOwner == null) { - final User user = new User(); - user.setFirstName("John"); - user.setLastName("Doe"); - user.setEmail("john@doe.com"); - userRepository.add(user); - johnOwner = userRepository.getUserByEmail("john@doe.com"); - } - // Create document data object in storage - Document document = documentRepository.getDocument(fileName); - long documentId = document == null ? annotator.createDocument(fileName, DocumentType.Pdf, johnOwner.getId()) - : document.getId(); - // Create reviewer. - ReviewerInfo reviewerInfo = new ReviewerInfo(); - reviewerInfo.setPrimaryEmail("judy@doe.com"); - reviewerInfo.setFirstName("Judy"); - reviewerInfo.setLastName("Doe"); - reviewerInfo.setAccessRights(AnnotationReviewerRights.CanView); - // Add collaborator to the document. If user with UserName equals - // to reviewers PrimaryEmail is absent it will be created. - SetCollaboratorsResult addCollaboratorResult = annotator.addCollaborator(documentId, reviewerInfo); - // Get document collaborators - GetCollaboratorsResult getCollaboratorsResult = annotator.getCollaborators(documentId); - User judy = userRepository.getUserByEmail("judy@doe.com"); - // Create annotation object - AnnotationInfo pointAnnotation = new AnnotationInfo(); - pointAnnotation.setAnnotationPosition(new Point(852.0, 81.0)); - pointAnnotation.setBox(new Rectangle(212f, 81f, 142f, 0.0f)); - pointAnnotation.setType(AnnotationType.Point); - pointAnnotation.setPageNumber(0); - pointAnnotation.setCreatorName("Anonym A."); - // John try to add annotations - CreateAnnotationResult johnResult = annotator.createAnnotation(pointAnnotation, documentId, - johnOwner.getId()); - System.out.println(johnResult); - // Judy try to add annotations - try { - CreateAnnotationResult judyResult = annotator.createAnnotation(pointAnnotation, documentId, - judy.getId()); - System.out.println(judyResult); - } catch (AnnotatorException e) { - System.out.println(e.getMessage()); - } - // Allow Judy create annotations. - reviewerInfo.setAccessRights(AnnotationReviewerRights.CanAnnotate); - SetCollaboratorsResult updateCollaboratorResult = annotator.updateCollaborator(documentId, reviewerInfo); - System.out.println(updateCollaboratorResult); - // Judy try to add annotations - CreateAnnotationResult judyResultCanAnnotate = annotator.createAnnotation(pointAnnotation, documentId, - judy.getId()); - System.out.println(judyResultCanAnnotate); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:managesCollaboratorRights - } - - // Export Annotations - public static void exportAnnotations() { - //ExStart:exportAnnotations - try { - // Create instance of annotator. - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - // Get stream of document(in code sample document previously was - // added to embedded - // resources of the assembly. You can get stream of the document in - // other ways.) - InputStream manifestResourceStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Area annotation with 2 replies - AnnotationInfo areaAnnnotation = new AnnotationInfo(); - areaAnnnotation.setAnnotationPosition(new Point(852.0, 59.0)); - AnnotationReplyInfo[] annotationReplyInfos = new AnnotationReplyInfo[2]; - annotationReplyInfos[0] = new AnnotationReplyInfo(); - annotationReplyInfos[0].setMessage("Hello!"); - annotationReplyInfos[0].setRepliedOn(Calendar.getInstance().getTime()); - annotationReplyInfos[0].setUserEmail("John"); - annotationReplyInfos[1] = new AnnotationReplyInfo(); - annotationReplyInfos[1].setMessage("Hi!"); - annotationReplyInfos[1].setRepliedOn(Calendar.getInstance().getTime()); - annotationReplyInfos[1].setUserEmail("Judy"); - areaAnnnotation.setReplies(annotationReplyInfos); - areaAnnnotation.setBackgroundColor(11111111); - areaAnnnotation.setBox(new Rectangle(300f, 200f, 88f, 37f)); - areaAnnnotation.setPageNumber(0); - areaAnnnotation.setPenColor(2222222); - areaAnnnotation.setPenStyle((byte) 1); - areaAnnnotation.setPenWidth((byte) 1); - areaAnnnotation.setType(AnnotationType.Area); - areaAnnnotation.setCreatorName("Anonym A."); - annotations.add(areaAnnnotation); - // Add annotation to the document. Annotator will return stream with - // annotated document. - InputStream stream = annotator.exportAnnotationsToDocument(manifestResourceStream, annotations, - DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "document-annotated.pdf"); - IOUtils.copy(stream, fileStream); - System.out.println("Document exported!"); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:exportAnnotations - } -} diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DiagramsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DiagramsAnnotation.java deleted file mode 100644 index d15e3c9..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/DiagramsAnnotation.java +++ /dev/null @@ -1,241 +0,0 @@ -package GroupDocs.Annotation.Examples.Java.legacy; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import org.apache.commons.io.IOUtils; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.DocumentType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.annotation.domain.RowData; -import com.groupdocs.annotation.domain.config.AnnotationConfig; -import com.groupdocs.annotation.domain.containers.DocumentInfoContainer; -import com.groupdocs.annotation.domain.image.PageImage; -import com.groupdocs.annotation.domain.options.ImageOptions; -import com.groupdocs.annotation.handler.AnnotationImageHandler; - -public class DiagramsAnnotation { - // ExStart:DiagramsAnnotation - /* - * document name - */ - public static String fileName = "sample.vsd"; - - public static void getDocInfoForDiagram() { - // ExStart:getDocInfoForDiagram - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - DocumentInfoContainer documentInfoContainer = annotator.getDocumentInfo(fileName); - - // Go through all pages - for (PageData pageData : documentInfoContainer.getPages()) { - System.out.println("Page number: " + pageData.getNumber()); - // Go through all page rows - for (int i = 0; i < pageData.getRows().size(); i++) { - RowData rowData = pageData.getRows().get(i); - // Write data to console - System.out.println("Row: " + (i + 1)); - System.out.println("Text: " + rowData.getText()); - System.out.println("Text width: " + rowData.getLineWidth()); - System.out.println("Text height: " + rowData.getLineHeight()); - System.out.println("Distance from left: " + rowData.getLineLeft()); - System.out.println("Distance from top: " + rowData.getLineTop()); - // Get words - String[] words = rowData.getText().split(" "); - // Go through all word coordinates - for (int j = 0; j < words.length; j++) { - int coordinateIndex = j == 0 ? 0 : j + 1; - // Write data to console - System.out.println("Word: '" + words[j] + "'"); - System.out.println("Word distance from left: " + rowData.getTextCoordinates().get(coordinateIndex)); - System.out.println("Word width: " + rowData.getTextCoordinates().get(coordinateIndex + 1)); - } - } - } - // ExEnd:getDocInfoForDiagram - } - - public static void getPageImagesForDiagramDocs() throws Throwable { - // ExStart:getPageImagesForDiagramDocs - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - List images = annotator.getPages(fileName, new ImageOptions()); - for (int i = 0; i < images.size(); i++) { - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "image_" + i + ".png"); - - final PageImage pageImage = images.get(i); - IOUtils.copy(pageImage.getStream(), fileStream); - } - // ExEnd:getPageImagesForDiagramDocs - } - - public static void addAnnotationDiagrams() throws Throwable { - // ExStart:addAnnotationDiagrams - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - - // Area annotation - AnnotationInfo areaAnnnotation = new AnnotationInfo(); - areaAnnnotation.setCreatedOn(new Date()); - areaAnnnotation.setType(AnnotationType.Area); - areaAnnnotation.setBox(new Rectangle(200, 114.5f, 282.3f, 103.7f)); - - // Polyline annotation - AnnotationInfo polylineAnnotation = new AnnotationInfo(); - polylineAnnotation.setCreatedOn(new Date()); - polylineAnnotation.setType(AnnotationType.Polyline); - polylineAnnotation.setBox(new Rectangle(206.3f, 106.61f, 456.04f, 307.97f)); - polylineAnnotation.setSvgPath( - "M436.293427230047,148.06338028169014l0,-0.9870892018779343l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-4.935446009389671,-1.9741784037558685l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-1.9741784037558685,0l-3.948356807511737,0l-2.961267605633803,0l-3.948356807511737,0l-4.935446009389671,0l-3.948356807511737,0.9870892018779343l-4.935446009389671,0.9870892018779343l-6.90962441314554,0l-3.948356807511737,0.9870892018779343l-3.948356807511737,0l-2.961267605633803,1.9741784037558685l-3.948356807511737,0.9870892018779343l-6.90962441314554,1.9741784037558685l-6.90962441314554,0.9870892018779343l-12.832159624413146,2.961267605633803l-6.90962441314554,1.9741784037558685l-5.922535211267606,0.9870892018779343l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,0.9870892018779343l-4.935446009389671,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-4.935446009389671,1.9741784037558685l-5.922535211267606,2.961267605633803l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-4.935446009389671,3.948356807511737l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-3.948356807511737,5.922535211267606l-3.948356807511737,4.935446009389671l-3.948356807511737,5.922535211267606l-3.948356807511737,6.90962441314554l-3.948356807511737,7.896713615023474l-0.9870892018779343,6.90962441314554l-1.9741784037558685,7.896713615023474l-1.9741784037558685,6.90962441314554l-0.9870892018779343,7.896713615023474l0,12.832159624413146l0,7.896713615023474l0,7.896713615023474l0.9870892018779343,7.896713615023474l1.9741784037558685,5.922535211267606l2.961267605633803,5.922535211267606l0.9870892018779343,5.922535211267606l2.961267605633803,6.90962441314554l3.948356807511737,5.922535211267606l4.935446009389671,4.935446009389671l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l6.90962441314554,5.922535211267606l7.896713615023474,5.922535211267606l7.896713615023474,5.922535211267606l17.767605633802816,8.883802816901408l11.845070422535212,3.948356807511737l11.845070422535212,4.935446009389671l23.690140845070424,8.883802816901408l41.45774647887324,6.90962441314554l31.586854460093896,3.948356807511737l16.780516431924884,0l16.780516431924884,1.9741784037558685l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,-1.9741784037558685l14.806338028169014,-1.9741784037558685l14.806338028169014,-1.9741784037558685l12.832159624413146,-1.9741784037558685l10.857981220657276,-2.961267605633803l10.857981220657276,-2.961267605633803l8.883802816901408,-4.935446009389671l8.883802816901408,-4.935446009389671l6.90962441314554,-6.90962441314554l6.90962441314554,-6.90962441314554l8.883802816901408,-16.780516431924884l4.935446009389671,-7.896713615023474l3.948356807511737,-8.883802816901408l4.935446009389671,-7.896713615023474l4.935446009389671,-7.896713615023474l3.948356807511737,-13.81924882629108l1.9741784037558685,-18.754694835680752l0,-7.896713615023474l0,-12.832159624413146l-1.9741784037558685,-15.793427230046948l-1.9741784037558685,-15.793427230046948l-4.935446009389671,-15.793427230046948l-8.883802816901408,-15.793427230046948l-12.832159624413146,-23.690140845070424l-10.857981220657276,-10.857981220657276l-5.922535211267606,-3.948356807511737l-12.832159624413146,-8.883802816901408l-9.870892018779342,-8.883802816901408l-5.922535211267606,-3.948356807511737l-12.832159624413146,-5.922535211267606l-15.793427230046948,-8.883802816901408l-13.81924882629108,-4.935446009389671l-11.845070422535212,-2.961267605633803l-11.845070422535212,-3.948356807511737l-11.845070422535212,-3.948356807511737l-5.922535211267606,-1.9741784037558685l-11.845070422535212,-2.961267605633803l-11.845070422535212,-1.9741784037558685l-5.922535211267606,-0.9870892018779343l-10.857981220657276,-1.9741784037558685l-10.857981220657276,-2.961267605633803l-9.870892018779342,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l0,-0.9870892018779343l1.9741784037558685,0"); - - // Text field annotation - AnnotationInfo textFieldAnnotation = new AnnotationInfo(); - textFieldAnnotation.setCreatedOn(new Date()); - textFieldAnnotation.setType(AnnotationType.TextField); - textFieldAnnotation.setBox(new Rectangle(162.87f, 267.5f, 91.8f, 42.45f)); - textFieldAnnotation.setBackgroundColor(-15988609); - textFieldAnnotation.setFieldText("Annotation Text"); - - // Arrow annotation - AnnotationInfo arrowAnnotation = new AnnotationInfo(); - arrowAnnotation.setType(AnnotationType.Arrow); - arrowAnnotation.setBox( - new Rectangle(435.77464788732397f, 148.05164319248826f, -66.34389671361504f, 53.07511737089203f)); - - // Resource redaction annotation - AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo(); - resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction); - resourceRedactionAnnotation.setBox(new Rectangle(200, 114.5f, 282.3f, 103.7f)); - - annotations.add(areaAnnnotation); - annotations.add(polylineAnnotation); - annotations.add(textFieldAnnotation); - annotations.add(arrowAnnotation); - annotations.add(resourceRedactionAnnotation); - - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations); - - // Save result stream to file. - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx"); - IOUtils.copy(result, fileStream); - // ExEnd:addAnnotationDiagrams - } - - public static void addDistanceAnnotationInDiagrams() throws Throwable { - // ExStart:addDistanceAnnotationInDiagrams - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Distance annotation - AnnotationInfo distanceAnnotation = new AnnotationInfo(); - distanceAnnotation.setCreatedOn(new Date()); - distanceAnnotation.setType(AnnotationType.Distance); - distanceAnnotation.setBox(new Rectangle((float)248.73202514648438, (float)287.85653686523438, (float)115.9178466796875, (float)25.143020629882812)); - distanceAnnotation.setSvgPath("M248.73201877934272,295.5439436619718 l115.28309859154929,-4.192112676056338"); - - annotations.add(distanceAnnotation); - - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx"); - IOUtils.copy(result, fileStream); - // ExEnd:addDistanceAnnotationInDiagrams - } - - public static void addPointAnnotationInDiagrams() throws Throwable { - // ExStart:addPointAnnotationInDiagrams - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Point annotation - AnnotationInfo pointAnnnotation = new AnnotationInfo(); - pointAnnnotation.setCreatedOn(new Date()); - pointAnnnotation.setType(AnnotationType.Point); - pointAnnnotation.setBox(new Rectangle(150.32f, 99.22f, 0, 0)); - pointAnnnotation.setPageNumber(0); - - annotations.add(pointAnnnotation); - - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx"); - IOUtils.copy(result, fileStream); - // ExEnd:addPointAnnotationInDiagrams - } - - public static void addWatermarkAnnotationInDiagrams() throws Throwable { - // ExStart:addWatermarkAnnotationInDiagrams - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDiagramFile = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Watermark annotation - AnnotationInfo watermarkAnnnotation = new AnnotationInfo(); - watermarkAnnnotation.setCreatedOn(new Date()); - watermarkAnnnotation.setFieldText("Watermark text"); - watermarkAnnnotation.setFontColor(16711680); - watermarkAnnnotation.setFontFamily("Microsoft Sans Serif"); - watermarkAnnnotation.setFontSize(17D); - //watermarkAnnnotation.setOpacity(0.3); - watermarkAnnnotation.setType(AnnotationType.Watermark); - - annotations.add(watermarkAnnnotation); - - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsd"); - IOUtils.copy(result, fileStream); - // ExEnd:addWatermarkAnnotationInDiagrams - } - - /* - * Add Ellipse Annotation in Diagrams - */ - public static void addEllipseAnnotationInDiagrams() { - //ExStart:addEllipseAnnotationInDiagrams - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Ellipse annotation - AnnotationInfo ellipseAnnotation = new AnnotationInfo(); - ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); - ellipseAnnotation.setPageNumber(0); - ellipseAnnotation.setType(AnnotationType.Ellipse); - ellipseAnnotation.setCreatorName("Anonym A."); - annotations.add(ellipseAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Diagram); - - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.vsdx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addEllipseAnnotationInDiagrams - } -} diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/EmailAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/EmailAnnotation.java deleted file mode 100644 index 42e3e4e..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/EmailAnnotation.java +++ /dev/null @@ -1,107 +0,0 @@ -package GroupDocs.Annotation.Examples.Java.legacy; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.io.IOUtils; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.DocumentType; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.annotation.domain.config.AnnotationConfig; -import com.groupdocs.annotation.handler.AnnotationImageHandler; - -public class EmailAnnotation { - //Sami - public static void differentAnnotationsForEmail(String fileName) throws Throwable, Throwable{ - //ExStart:differentAnnotationsForEmail - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - //there can be also documents of Emlx Msg formats - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); //"../../ClearEmailDocument.eml" - - List annotations = new ArrayList(); - - AnnotationInfo textAnnotation = new AnnotationInfo(); - textAnnotation.setPageNumber(0); - textAnnotation.setSvgPath("[{\"x\":186.698,\"y\":706.196},{\"x\":318.41201,\"y\":706.196},{\"x\":186.698,\"y\":697.196},{\"x\":318.41201,\"y\":697.196}]"); - textAnnotation.setType(AnnotationType.Text); - - AnnotationInfo areaAnnnotation = new AnnotationInfo(); - areaAnnnotation.setBackgroundColor(11111111); - areaAnnnotation.setBox(new Rectangle(87.9f, 276.5f, 435.7f, 87f)); - areaAnnnotation.setPageNumber(0); - areaAnnnotation.setType(AnnotationType.Area); - - AnnotationInfo strikeoutAnnotation = new AnnotationInfo(); - strikeoutAnnotation.setBox(new Rectangle(87.9f, 276.5f, 435.7f, 87f)); - strikeoutAnnotation.setPageNumber(0); - strikeoutAnnotation.setPenColor(1201033); - strikeoutAnnotation.setSvgPath("[{\"x\":208.392,\"y\":313.088},{\"x\":519.659,\"y\":313.088},{\"x\":208.392,\"y\":304.088},{\"x\":519.659,\"y\":304.088}]"); - strikeoutAnnotation.setType(AnnotationType.TextStrikeout); - - AnnotationInfo textFieldAnnotation = new AnnotationInfo(); - textFieldAnnotation.setFieldText("text in the box"); - textFieldAnnotation.setFontFamily("Arial"); - textFieldAnnotation.setFontSize(10D); - textFieldAnnotation.setBox(new Rectangle(92f, 73f, 106f, 45f)); - textFieldAnnotation.setPageNumber(0); - textFieldAnnotation.setType(AnnotationType.TextField); - - AnnotationInfo textReplacementAnnotation = new AnnotationInfo(); - textReplacementAnnotation.setFieldText(" \"REPLACED TEXT\" "); - textReplacementAnnotation.setFontSize(10D); - textReplacementAnnotation.setSvgPath("[{\"x\":251.224,\"y\":637.20401},{\"x\":327.89,\"y\":637.20401},{\"x\":251.224,\"y\":628.20401},{\"x\":327.89,\"y\":628.20401}]"); - textReplacementAnnotation.setPageNumber(0); - textReplacementAnnotation.setType(AnnotationType.TextReplacement); - - AnnotationInfo arrowAnnotation = new AnnotationInfo(); - arrowAnnotation.setBox(new Rectangle(479f, 218f, -261f, -89f)); - arrowAnnotation.setPageNumber(0); - arrowAnnotation.setType(AnnotationType.Arrow); - - AnnotationInfo textRedactionAnnotation = new AnnotationInfo(); - textRedactionAnnotation.setPageNumber(0); - textRedactionAnnotation.setSvgPath("[{\"x\":72,\"y\":676.07},{\"x\":196.427,\"y\":676.074},{\"x\":72,\"y\":662.674},{\"x\":196.427,\"y\":662.674}]"); - textRedactionAnnotation.setType(AnnotationType.TextRedaction); - - AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo(); - resourceRedactionAnnotation.setBox(new Rectangle(69f, 337f, 449f, 118f)); - resourceRedactionAnnotation.setPageNumber(0); - resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction); - - AnnotationInfo underlineAnnotation = new AnnotationInfo(); - underlineAnnotation.setPageNumber(0); - underlineAnnotation.setSvgPath("[{\"x\":415.17499,\"y\":628.874},{\"x\":511.85101,\"y\":628.874},{\"x\":415.17499,\"y\":619.874},{\"x\":511.85101,\"y\":619.874}]"); - underlineAnnotation.setType(AnnotationType.TextUnderline); - - annotations.add(textAnnotation); - annotations.add(areaAnnnotation); - annotations.add(strikeoutAnnotation); - annotations.add(textFieldAnnotation); - annotations.add(textReplacementAnnotation); - annotations.add(arrowAnnotation); - annotations.add(textRedactionAnnotation); - annotations.add(resourceRedactionAnnotation); - annotations.add(underlineAnnotation); - - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - - // Save result stream to file. - - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.eml"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - - //ExEnd:differentAnnotationsForEmail - } -} diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/HtmlAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/HtmlAnnotation.java deleted file mode 100644 index b83c4ca..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/HtmlAnnotation.java +++ /dev/null @@ -1,107 +0,0 @@ -package GroupDocs.Annotation.Examples.Java.legacy; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.io.IOUtils; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.DocumentType; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.annotation.domain.config.AnnotationConfig; -import com.groupdocs.annotation.handler.AnnotationImageHandler; - -public class HtmlAnnotation { - //Sami - public static void createAnnotationForHtml(String fileName) throws Throwable, Throwable{ - //ExStart:createAnnotationForHtml - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - //there can be also documents of Emlx Msg formats - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); //"../../ClearEmailDocument.eml" - - List annotations = new ArrayList(); - - AnnotationInfo textAnnotation = new AnnotationInfo(); - textAnnotation.setPageNumber(0); - textAnnotation.setSvgPath("[{\"x\":186.698,\"y\":706.196},{\"x\":318.41201,\"y\":706.196},{\"x\":186.698,\"y\":697.196},{\"x\":318.41201,\"y\":697.196}]"); - textAnnotation.setType(AnnotationType.Text); - - AnnotationInfo areaAnnnotation = new AnnotationInfo(); - areaAnnnotation.setBackgroundColor(11111111); - areaAnnnotation.setBox(new Rectangle(87.9f, 276.5f, 435.7f, 87f)); - areaAnnnotation.setPageNumber(0); - areaAnnnotation.setType(AnnotationType.Area); - - AnnotationInfo strikeoutAnnotation = new AnnotationInfo(); - strikeoutAnnotation.setBox(new Rectangle(87.9f, 276.5f, 435.7f, 87f)); - strikeoutAnnotation.setPageNumber(0); - strikeoutAnnotation.setPenColor(1201033); - strikeoutAnnotation.setSvgPath("[{\"x\":208.392,\"y\":313.088},{\"x\":519.659,\"y\":313.088},{\"x\":208.392,\"y\":304.088},{\"x\":519.659,\"y\":304.088}]"); - strikeoutAnnotation.setType(AnnotationType.TextStrikeout); - - AnnotationInfo textFieldAnnotation = new AnnotationInfo(); - textFieldAnnotation.setFieldText("text in the box"); - textFieldAnnotation.setFontFamily("Arial"); - textFieldAnnotation.setFontSize(10D); - textFieldAnnotation.setBox(new Rectangle(92f, 73f, 106f, 45f)); - textFieldAnnotation.setPageNumber(1); - textFieldAnnotation.setType(AnnotationType.TextField); - - AnnotationInfo textReplacementAnnotation = new AnnotationInfo(); - textReplacementAnnotation.setFieldText(" \"REPLACED TEXT\" "); - textReplacementAnnotation.setFontSize(10D); - textReplacementAnnotation.setSvgPath("[{\"x\":251.224,\"y\":637.20401},{\"x\":327.89,\"y\":637.20401},{\"x\":251.224,\"y\":628.20401},{\"x\":327.89,\"y\":628.20401}]"); - textReplacementAnnotation.setPageNumber(0); - textReplacementAnnotation.setType(AnnotationType.TextReplacement); - - AnnotationInfo arrowAnnotation = new AnnotationInfo(); - arrowAnnotation.setBox(new Rectangle(479f, 218f, -261f, -89f)); - arrowAnnotation.setPageNumber(0); - arrowAnnotation.setType(AnnotationType.Arrow); - - AnnotationInfo textRedactionAnnotation = new AnnotationInfo(); - textRedactionAnnotation.setPageNumber(1); - textRedactionAnnotation.setSvgPath("[{\"x\":72,\"y\":676.07},{\"x\":196.427,\"y\":676.074},{\"x\":72,\"y\":662.674},{\"x\":196.427,\"y\":662.674}]"); - textRedactionAnnotation.setType(AnnotationType.TextRedaction); - - AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo(); - resourceRedactionAnnotation.setBox(new Rectangle(69f, 337f, 449f, 118f)); - resourceRedactionAnnotation.setPageNumber(1); - resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction); - - AnnotationInfo underlineAnnotation = new AnnotationInfo(); - underlineAnnotation.setPageNumber(1); - underlineAnnotation.setSvgPath("[{\"x\":415.17499,\"y\":628.874},{\"x\":511.85101,\"y\":628.874},{\"x\":415.17499,\"y\":619.874},{\"x\":511.85101,\"y\":619.874}]"); - underlineAnnotation.setType(AnnotationType.TextUnderline); - - annotations.add(textAnnotation); - annotations.add(areaAnnnotation); - annotations.add(strikeoutAnnotation); - annotations.add(textFieldAnnotation); - annotations.add(textReplacementAnnotation); - annotations.add(arrowAnnotation); - annotations.add(textRedactionAnnotation); - annotations.add(resourceRedactionAnnotation); - annotations.add(underlineAnnotation); - - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - - // Save result stream to file. - - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Annotated.html"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - - //ExEnd:createAnnotationForHtml - } -} diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/ImagesAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/ImagesAnnotation.java deleted file mode 100644 index 151ce90..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/ImagesAnnotation.java +++ /dev/null @@ -1,212 +0,0 @@ -package GroupDocs.Annotation.Examples.Java.legacy; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import org.apache.commons.io.IOUtils; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.DocumentType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.annotation.domain.RowData; -import com.groupdocs.annotation.domain.config.AnnotationConfig; -import com.groupdocs.annotation.domain.containers.DocumentInfoContainer; -import com.groupdocs.annotation.domain.image.PageImage; -import com.groupdocs.annotation.domain.options.ImageOptions; -import com.groupdocs.annotation.handler.AnnotationImageHandler; - -public class ImagesAnnotation { - // ExStart:ImagesAnnotation - /* - * document name - */ - public static String fileName = "image.png"; - - // From version 17.1.0 you can work with images of EMF/WMF, CAD-files (DWG), - // DICOM, DjVu, PNG, JPG, TIFF, BMP and GIF(static without animation) format - // images - - public static void differentAnnotationsForImages() throws Throwable { - // ExStart:differentAnnotationsForImages - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - - FileInputStream cleanPresentation = new FileInputStream(Utilities.storagePath + File.separator + fileName); - ArrayList annotations; - annotations = new ArrayList(); - - AnnotationInfo textAnnotation = new AnnotationInfo(); - textAnnotation.setBox(new Rectangle(50, 510.9f, 454.73f, 29.08f)); - textAnnotation.setPageNumber(0); - textAnnotation.setSvgPath( - "[{\"x\":200,\"y\":520.92},{\"x\":454.73,\"y\":520.92},{\"x\":200,\"y\":539.98},{\"x\":454.73,\"y\":539.98}]"); - textAnnotation.setType(AnnotationType.Text); - textAnnotation.setCreatorName("Anonym A."); - - AnnotationInfo textRedactionAnnotation = new AnnotationInfo(); - textRedactionAnnotation.setBox(new Rectangle(50, 510.9f, 454.73f, 29.08f)); - textRedactionAnnotation.setPageNumber(0); - textRedactionAnnotation.setSvgPath( - "[{\"x\":200,\"y\":545.92},{\"x\":454.73,\"y\":545.92},{\"x\":200,\"y\":564.98},{\"x\":454.73,\"y\":564.98}]"); - textRedactionAnnotation.setType(AnnotationType.TextRedaction); - textRedactionAnnotation.setCreatorName("Anonym A."); - - AnnotationInfo strikeoutAnnotation = new AnnotationInfo(); - strikeoutAnnotation.setBox(new Rectangle(0, 510.92f, 454.73f, 29.08f)); - strikeoutAnnotation.setPageNumber(0); - strikeoutAnnotation.setSvgPath( - "[{\"x\":120,\"y\":520.92},{\"x\":454.73,\"y\":520.92},{\"x\":120,\"y\":539.98},{\"x\":454.73,\"y\":539.98}]"); - strikeoutAnnotation.setType(AnnotationType.TextStrikeout); - strikeoutAnnotation.setCreatorName("Anonym A."); - - AnnotationInfo underlineAnnotation = new AnnotationInfo(); - underlineAnnotation.setBox(new Rectangle(0, 510.92f, 454.73f, 29.08f)); - underlineAnnotation.setPageNumber(0); - underlineAnnotation.setSvgPath( - "[{\"x\":120,\"y\":520.92},{\"x\":454.73,\"y\":520.92},{\"x\":120,\"y\":539.98},{\"x\":454.73,\"y\":539.98}]"); - underlineAnnotation.setType(AnnotationType.TextUnderline); - underlineAnnotation.setCreatorName("Anonym A."); - - AnnotationInfo pointAnnotation = new AnnotationInfo(); - pointAnnotation.setPageNumber(0); - pointAnnotation.setType(AnnotationType.Point); - pointAnnotation.setBox(new Rectangle(100, 100, 0, 0)); - pointAnnotation.setFieldText("Hello!"); - pointAnnotation.setCreatorName("John"); - - AnnotationInfo areaAnnotation = new AnnotationInfo(); - areaAnnotation.setCreatedOn(new Date()); - areaAnnotation.setType(AnnotationType.Area); - areaAnnotation.setPageNumber(0); - areaAnnotation.setBox(new Rectangle(200, 72.7f, 50, 50)); - areaAnnotation.setBackgroundColor(-15988609); - - AnnotationInfo polylineAnnotation = new AnnotationInfo(); - polylineAnnotation.setType(AnnotationType.Polyline); - polylineAnnotation.setCreatedOn(new Date()); - polylineAnnotation.setBox(new Rectangle((float) 250.82807922363281, (float) 35.632957458496094, - (float) 102.70676422119141, (float) 12.576337814331055)); - polylineAnnotation.setPageNumber(0); - polylineAnnotation.setPenColor(65015); - polylineAnnotation.setSvgPath( - "M250.8280751173709,48.209295774647885l0.6986854460093896,0l0.6986854460093896, -1.3973708920187793l0.6986854460093896," - + "0l0.6986854460093896,-1.3973708920187793l1.3973708920187793, -0.6986854460093896l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0l2.096056338028169," - + "-1.3973708920187793l3.493427230046948,-1.3973708920187793l0.6986854460093896,-0.6986854460093896l1.3973708920187793," - + "-1.3973708920187793l0.6986854460093896,0l1.3973708920187793,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896," - + "-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0l0,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896," - + "0l1.3973708920187793,0l0,-0.6986854460093896l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793," - + "0l0.6986854460093896,0l2.096056338028169,-0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896," - + "0l1.3973708920187793,0l1.3973708920187793,0l1.3973708920187793,0l2.096056338028169,0l5.589483568075117,0l1.3973708920187793," - + "0l2.096056338028169,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l1.3973708920187793," - + "0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0l2.096056338028169,1.3973708920187793l0.6986854460093896,0l0.6986854460093896," - + "0l0,0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0.6986854460093896l0," - + "0.6986854460093896l0.6986854460093896,0l1.3973708920187793,0.6986854460093896l1.3973708920187793,0.6986854460093896l3.493427230046948," - + "0.6986854460093896l1.3973708920187793,0.6986854460093896l2.096056338028169,0.6986854460093896l1.3973708920187793," - + "0.6986854460093896l1.3973708920187793,0l1.3973708920187793,0.6986854460093896l0.6986854460093896,0l0.6986854460093896," - + "0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l2.7947417840375586,0l1.3973708920187793," - + "0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793," - + "0l0.6986854460093896,0l2.7947417840375586,0l0.6986854460093896,0l2.7947417840375586,0l1.3973708920187793," - + "0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896," - + "0l0.6986854460093896,0l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0"); - - AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo(); - resourceRedactionAnnotation.setCreatedOn(new Date()); - resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction); - resourceRedactionAnnotation.setPageNumber(0); - resourceRedactionAnnotation.setBox(new Rectangle(100, 72.7f, 50, 50)); - - AnnotationInfo textFieldAnnotation = new AnnotationInfo(); - textFieldAnnotation.setCreatedOn(new Date()); - textFieldAnnotation.setType(AnnotationType.TextField); - textFieldAnnotation.setPageNumber(0); - textFieldAnnotation.setBox(new Rectangle(100, 72.7f, 50, 50)); - textFieldAnnotation.setFontColor(-15988609); - textFieldAnnotation.setFieldText("some text"); - textFieldAnnotation.setFontFamily("times new roman"); - - AnnotationInfo watermarkAnnotation = new AnnotationInfo(); - watermarkAnnotation.setCreatedOn(new Date()); - watermarkAnnotation.setType(AnnotationType.Watermark); - watermarkAnnotation.setFieldText("This is watermark"); - watermarkAnnotation.setFontFamily("arial"); - watermarkAnnotation.setBox(new Rectangle(200, 250, 50, 0)); - watermarkAnnotation.setFontSize(25D); - watermarkAnnotation.setFontColor(15988609); - - AnnotationInfo distanceAnnotation = new AnnotationInfo(); - distanceAnnotation.setCreatedOn(new Date()); - distanceAnnotation.setType(AnnotationType.Distance); - distanceAnnotation.setBox(new Rectangle(20, 20, 250, 250)); - distanceAnnotation.setBackgroundColor(-15988609); - distanceAnnotation.setText("500px"); - distanceAnnotation.setFontFamily("Arial"); - - AnnotationInfo arrowAnnotation = new AnnotationInfo(); - arrowAnnotation.setCreatedOn(new Date()); - arrowAnnotation.setType(AnnotationType.Arrow); - arrowAnnotation.setBox(new Rectangle(250, 72.7f, 0, 20)); - arrowAnnotation.setBackgroundColor(-15988609); - - annotations.add(textAnnotation); - annotations.add(pointAnnotation); - annotations.add(areaAnnotation); - annotations.add(textRedactionAnnotation); - annotations.add(resourceRedactionAnnotation); - annotations.add(polylineAnnotation); - annotations.add(watermarkAnnotation); - annotations.add(textFieldAnnotation); - annotations.add(strikeoutAnnotation); - annotations.add(underlineAnnotation); - annotations.add(distanceAnnotation); - annotations.add(arrowAnnotation); - - InputStream result = annotator.exportAnnotationsToDocument(cleanPresentation, annotations, DocumentType.Images); - - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Image-annotated.png"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - - // ExEnd:differentAnnotationsForImages - } - - /* - * Add Ellipse Annotation in Images - */ - public static void addEllipseAnnotationInImages() { - //ExStart:addEllipseAnnotationInImages - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Ellipse annotation - AnnotationInfo ellipseAnnotation = new AnnotationInfo(); - ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); - ellipseAnnotation.setPageNumber(0); - ellipseAnnotation.setType(AnnotationType.Ellipse); - ellipseAnnotation.setCreatorName("Anonym A."); - annotations.add(ellipseAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Images); - - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "Image-annotated.png"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addEllipseAnnotationInImages - } -} diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonFile.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonFile.java deleted file mode 100644 index b292620..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonFile.java +++ /dev/null @@ -1,77 +0,0 @@ -package GroupDocs.Annotation.Examples.Java.legacy; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.OutputStream; - -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.dataformat.xml.XmlMapper; - -public abstract class JsonFile { - protected Object _syncRoot = new Object(); - private String _filePath; - private T _data; - - public JsonFile(String filePath) throws Exception { - if (filePath == null || filePath.trim().isEmpty()) { - throw new Exception("filePath"); - } - _filePath = filePath; - } - - protected void serialize() throws Exception { - if (_data == null) { - return; - } - synchronized (_syncRoot) { - if (_data != null) { - try { - OutputStream stream = new FileOutputStream(_filePath); - ObjectMapper xmlMapper = new XmlMapper(); - xmlMapper.writeValue(stream, _data); - } catch (Exception e) { - throw new Exception("Failed to serialize an object to file: '{0}'.", e); - } - } - } - } - - protected void deserialize() throws Exception { - synchronized (_syncRoot) { - try { - if (!new File(_filePath).exists()) { - InputStream fileStream = new FileInputStream(_filePath); - fileStream.close(); - _data = newInstance(); - return; - } - InputStream stream = new FileInputStream(_filePath); - ObjectMapper xmlMapper = new XmlMapper(); - if (xmlMapper.canDeserialize(xmlMapper.constructType(getClazz().getType()))) { - _data = (T) xmlMapper.readValue(stream, getClazz()); - } - } catch (Exception e) { - throw new Exception("Failed to deserialize an object from file: '{0}'.", e); - } - if (_data == null) { - _data = newInstance(); - } - } - } - - protected abstract T newInstance(); - - protected abstract TypeReference getClazz(); - - protected T getData() throws Exception { - synchronized (_syncRoot) { - if (_data == null) { - deserialize(); - } - return _data; - } - } -} \ No newline at end of file diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonRepository.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonRepository.java deleted file mode 100644 index b6de141..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/JsonRepository.java +++ /dev/null @@ -1,188 +0,0 @@ -package GroupDocs.Annotation.Examples.Java.legacy; - -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import com.groupdocs.annotation.handler.input.IRepository; -import com.groupdocs.annotation.handler.input.dataobjects.IEntity; - -public abstract class JsonRepository extends JsonFile> - implements IRepository { - private final String _entityName = getClazz().getClass().getName(); - - public JsonRepository(String filePath) throws Exception { - super(filePath); - } - - public void commit() { - try { - serialize(); - } catch (Exception e) { - Logger.getAnonymousLogger().log(Level.SEVERE, String.format("Unable to commit changes: %s", _entityName), - e); - } - } - - public void refresh(TEntity entity) { - try { - deserialize(); - } catch (Exception e) { - Logger.getAnonymousLogger().log(Level.SEVERE, String.format("Unable to refresh changes: %s", _entityName), - e); - } - } - - public boolean add(TEntity entity) { - synchronized (_syncRoot) { - try { - List data = this.getData(); - entity.setId(GetNextId(1)); - data.add(entity); - commit(); - return true; - } catch (Exception e) { - Logger.getAnonymousLogger().log(Level.SEVERE, String.format("Unable to add entity: %s", _entityName), - e); - } - } - return true; - } - - public boolean remove(TEntity entity) { - synchronized (_syncRoot) { - try { - for (TEntity e : getData()) { - if (e.getId() == entity.getId()) { - getData().remove(e); - } - } - commit(); - return true; - } catch (Exception e) { - Logger.getAnonymousLogger().log(Level.SEVERE, String.format("Unable to remove entity: %s", _entityName), - e); - } - } - return false; - } - - public boolean update(TEntity entity) { - synchronized (_syncRoot) { - try { - List data = this.getData(); - int index = -1; - for (int n = 0; n < data.size(); n++) { - TEntity x = data.get(n); - if (x.getId() == entity.getId()) { - index = n; - break; - } - } - if (index >= 0) { - data.set(index, entity); - commit(); - return true; - } - return false; - } catch (Exception e) { - Logger.getAnonymousLogger().log(Level.SEVERE, String.format("Unable to update entity: %s", _entityName), - e); - } - } - return true; - } - - public boolean add(List entities) { - synchronized (_syncRoot) { - try { - getData().addAll(entities); - commit(); - return true; - } catch (Exception e) { - Logger.getAnonymousLogger().log(Level.SEVERE, String.format("Unable to add entities: %s", _entityName), - e); - } - } - return true; - } - - public boolean remove(List entities) { - synchronized (_syncRoot) { - try { - List data = this.getData(); - for (IEntity e : entities) { - data.remove(e); - } - commit(); - return true; - } catch (Exception e) { - Logger.getAnonymousLogger().log(Level.SEVERE, - String.format("Unable to remove entities: %s", _entityName), e); - } - } - return true; - } - - public boolean update(List entities) { - synchronized (_syncRoot) { - try { - List data = this.getData(); - for (TEntity e : entities) { - int index = -1; - for (int n = 0; n < data.size(); n++) { - TEntity x = data.get(n); - if (x.getId() == e.getId()) { - index = n; - break; - } - } - if (index >= 0) { - data.set(index, e); - } - } - commit(); - return true; - } catch (Exception e) { - Logger.getAnonymousLogger().log(Level.SEVERE, - String.format("Unable to update entities: %s", _entityName), e); - } - } - return true; - } - - public TEntity get(double id) { - synchronized (_syncRoot) { - try { - for (TEntity e : getData()) { - if (e.getId() == e.getId()) { - return e; - } - } - } catch (Exception e) { - Logger.getAnonymousLogger().log(Level.SEVERE, String.format("Unable to get entity: ID = %s", id), e); - } - } - return null; - } - - public TEntity get(long id) { - return get((double) id); - } - - protected long GetNextId(int increment) throws Exception { - List data = getData(); - long lastId = 0L; - if (!data.isEmpty()) { - Collections.sort(data, new Comparator() { - public int compare(TEntity o1, TEntity o2) { - return (int) (o1.getId() - o2.getId()); - } - }); - lastId = data.get(data.size() - 1).getId(); - } - return (lastId + increment); - } -} diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/MainClass.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/MainClass.java deleted file mode 100644 index 2806b6e..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/MainClass.java +++ /dev/null @@ -1,124 +0,0 @@ -package GroupDocs.Annotation.Examples.Java.legacy; - -public class MainClass { - - public static void main(String[] args) throws Throwable { - - // Apply license - - // Utilities.applyLicenseFromFile(); - - // Annotations in PDF - - // PDFAnnotation.addTextAnnotationInPDF(); - // PDFAnnotation.addAreaAnnotationInPDF(); - // PDFAnnotation.addPointAnnotationInPDF(); - // PDFAnnotation.addStrikeOutAnnotationInPDF(); - // PDFAnnotation.addPolyLineAnnotationInPDF(); - // PDFAnnotation.addTextFieldAnnotationInPDF(); - // PDFAnnotation.addWatermarkAnnotationInPDF(); - // PDFAnnotation.addTextReplacementAnnotationInPDF(); - // PDFAnnotation.addArrowAnnotationInPDF(); - // PDFAnnotation.addTextRedactionAnnotationInPDF(); - // PDFAnnotation.addResourceRedactionAnnotationInPDF(); - // PDFAnnotation.addUnderlineAnnotationInPDF(); - // PDFAnnotation.addDistanceAnnotationInPDF(); - // PDFAnnotation.usersWithDifferentRights(); - // PDFAnnotation.gettingTextCoordinates("sample.pdf"); - // PDFAnnotation.exportAnnotationsUsingExportOption(); - - // PDFAnnotation.addEllipseAnnotationInPDF(); - // PDFAnnotation.getThumbnailsOfPagesForPDF(); - // PDFAnnotation.setWatermarkAngleForPDF(); - - - // Annotation in Cells - - // CellsAnnotation.addAnnotationInCells(); - - // CellsAnnotation.addEllipseAnnotationInCells(); - - // Annotation in Slides - - // SlidesAnnotation.addAnnotationInSlides(); - // SlidesAnnotation.differentAnnotationsForSlides(); - // SlidesAnnotation.importingAnnotationsToSlide(); - - // SlidesAnnotation.addEllipseAnnotationInSlides(); - - // Annotation in Words - - // WordsAnnotation.addDifferentAnnotationInWords(); - // WordsAnnotation.addTextAnnotationInWords(); - // WordsAnnotation.addAreaAnnotationWithRepliesInWords(); - // WordsAnnotation.addStrikeoutAnnotationInWords(); - // WordsAnnotation.addTextFieldAnnotationInWords(); - // WordsAnnotation.addTextReplacementAnnotationInWords(); - // WordsAnnotation.addArrowAnnotationInWords(); - // WordsAnnotation.addTextRedactionAnnotationInWords(); - // WordsAnnotation.addResourceRedactionAnnotationInWords(); - // WordsAnnotation.addUnderlineAnnotationInWords(); - // WordsAnnotation.importingAnnotationsFromWordDoc(); - // WordsAnnotation.addDistanceAnnotationInWords(); - // WordsAnnotation.addPolylineAnnotationInWords(); - // WordsAnnotation.addWatermarkAnnotationInWords(); - // WordsAnnotation.addPointAnnotationInWords(); - - // WordsAnnotation.addEllipseAnnotationInWords(); - - // Data Storage Functions - - // DataStorage.createDocument(); - // DataStorage.setDocumentAccessRights(); - // DataStorage.createAndGetAnnotations(); - // DataStorage.getAllAnnotations(); - // DataStorage.resizeAnnotationResult(); - // DataStorage.moveAnnotationResult(); - // DataStorage.setBackgroundColor() - // DataStorage.editTextFieldAnnotations(); - // DataStorage.removeAnnotation(); - // DataStorage.addAnnotationReply(); - // DataStorage.addCollaborator(); - // DataStorage.getCollaborator(); - // DataStorage.updateCollaborator(); - // DataStorage.deleteCollaborator(); - // DataStorage.managesCollaboratorRights(); - // DataStorage.exportAnnotations(); - - // Annotation in Images - - // ImagesAnnotation.differentAnnotationsForImages(); - - // ImagesAnnotation.addEllipseAnnotationInImages(); - - // Annotation in Diagrams - - // DiagramsAnnotation.getDocInfoForDiagram(); - // DiagramsAnnotation.getPageImagesForDiagramDocs(); - // DiagramsAnnotation.addAnnotationDiagrams(); - // DiagramsAnnotation.addDistanceAnnotationInDiagrams(); - // DiagramsAnnotation.addPointAnnotationInDiagrams(); - // DiagramsAnnotation.addWatermarkAnnotationInDiagrams(); - - // DiagramsAnnotation.addEllipseAnnotationInDiagrams(); - - - - // Annotation in Emails - - // EmailAnnotation.differentAnnotationsForEmail("DEPOSIT.eml"); - - // Annotation in HTML - - // HtmlAnnotation.createAnnotationForHtml("source.html"); - - // Other Operations - - // Get image representation of the document - // Utilities.getImageRepresentation("sample.pdf"); - - // Get text coordinates in image representation of the document - // Utilities.getTextCoordinates("sample.pdf"); - - } -} diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/PDFAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/PDFAnnotation.java deleted file mode 100644 index 61ccb93..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/PDFAnnotation.java +++ /dev/null @@ -1,784 +0,0 @@ -package GroupDocs.Annotation.Examples.Java.legacy; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.List; - -import org.apache.commons.io.IOUtils; - -import com.groupdocs.annotation.common.exception.AnnotatorException; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationReplyInfo; -import com.groupdocs.annotation.domain.AnnotationReviewerRights; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.DocumentType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Point; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.annotation.domain.ReviewerInfo; -import com.groupdocs.annotation.domain.RowData; -import com.groupdocs.annotation.domain.config.AnnotationConfig; -import com.groupdocs.annotation.domain.containers.DocumentInfoContainer; -import com.groupdocs.annotation.domain.image.PageImage; -import com.groupdocs.annotation.domain.options.ExportOptions; -import com.groupdocs.annotation.domain.results.CreateAnnotationResult; -import com.groupdocs.annotation.domain.results.GetCollaboratorsResult; -import com.groupdocs.annotation.domain.results.SetCollaboratorsResult; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.annotation.handler.input.IDocumentDataHandler; -import com.groupdocs.annotation.handler.input.IUserDataHandler; -import com.groupdocs.annotation.handler.input.dataobjects.Document; -import com.groupdocs.annotation.handler.input.dataobjects.User; - -public class PDFAnnotation { - - // region initialize document name - - /* - * document name - */ - public static String fileName = "source.pdf"; - - // region Working with Annotations in PDF - - /* - * add text annotations in PDF - */ - public static void addTextAnnotationInPDF() { - // ExStart:addTextAnnotationInPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // text annotation - AnnotationInfo textAnnotation = new AnnotationInfo(); - textAnnotation.setBox(new Rectangle(68, 154, 102, 9)); - textAnnotation.setPageNumber(0); - textAnnotation.setType(AnnotationType.Text); - textAnnotation.setCreatorName("Anonym A."); - annotations.add(textAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-text.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception :" + e.getMessage()); - e.printStackTrace(); - } - // ExEnd:addTextAnnotationInPDF - } - - /* - * add area annotation in PDF - */ - public static void addAreaAnnotationInPDF() { - // ExStart:addAreaAnnotationInPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Area annotation with 2 replies - AnnotationInfo areaAnnnotation = new AnnotationInfo(); - areaAnnnotation.setAnnotationPosition(new Point(852.0, 59.0)); - final AnnotationReplyInfo[] annotationReplyInfos = { new AnnotationReplyInfo() { - { - setMessage("Hello!"); - setRepliedOn(Calendar.getInstance().getTime()); - setUserName("John"); - } - }, new AnnotationReplyInfo() { - { - setMessage("Hi!"); - setRepliedOn(Calendar.getInstance().getTime()); - setUserName("Judy"); - } - } }; - areaAnnnotation.setReplies(annotationReplyInfos); - areaAnnnotation.setBackgroundColor(11111111); - areaAnnnotation.setBox(new Rectangle(300f, 200f, 88f, 37f)); - areaAnnnotation.setPageNumber(0); - areaAnnnotation.setPenColor(2222222); - areaAnnnotation.setPenStyle((byte) 1); - areaAnnnotation.setPenWidth((byte) 1); - //areaAnnnotation.setOpacity(0.5); - areaAnnnotation.setType(AnnotationType.Area); - areaAnnnotation.setCreatorName("Anonym A."); - annotations.add(areaAnnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-area.pdf"); - IOUtils.copy(result, fileStream); - - } catch (Exception e) { - System.out.println("Exception :" + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addAreaAnnotationInPDF - } - - /* - * add point annotation in PDF - */ - public static void addPointAnnotationInPDF() { - //ExStart:addPointAnnotationInPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Point annotation - AnnotationInfo pointAnnotation = new AnnotationInfo(); - pointAnnotation.setAnnotationPosition(new Point(852.0, 81.0)); - pointAnnotation.setBox(new Rectangle(212f, 81f, 35f, 0.0f)); - pointAnnotation.setPageNumber(0); - pointAnnotation.setType(AnnotationType.Point); - pointAnnotation.setCreatorName("Anonym A."); - annotations.add(pointAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-point.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception:" + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addPointAnnotationInPDF - } - - /* - * add strike out annotation in PDF - */ - public static void addStrikeOutAnnotationInPDF() { - //ExStart:addStrikeOutAnnotationInPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Text strikeout annotation - AnnotationInfo strikeoutAnnotation = new AnnotationInfo(); - strikeoutAnnotation.setAnnotationPosition(new Point(852.0, 154.31)); - strikeoutAnnotation.setBox(new Rectangle(68, 154, 102, 9)); - strikeoutAnnotation.setPageNumber(0); - strikeoutAnnotation.setPenColor(0); - //strikeoutAnnotation.setOpacity(0.5); - strikeoutAnnotation.setType(AnnotationType.TextStrikeout); - strikeoutAnnotation.setCreatorName("Anonym A."); - annotations.add(strikeoutAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-strikeout.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception:" + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addStrikeOutAnnotationInPDF - } - - /* - * add polyline annotation in PDF - */ - public static void addPolyLineAnnotationInPDF() { - //ExStart:addPolyLineAnnotationInPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Polyline annotation - AnnotationInfo polylineAnnotation = new AnnotationInfo(); - polylineAnnotation.setAnnotationPosition(new Point(852.0, 35.0)); - polylineAnnotation.setBox(new Rectangle(250f, 35f, 102f, 12f)); - polylineAnnotation.setPageNumber(0); - polylineAnnotation.setPenColor(1201033); - polylineAnnotation.setPenWidth((byte) 2); - polylineAnnotation.setSvgPath( - "M250.8280751173709,48.209295774647885l0.6986854460093896,0l0.6986854460093896,-1.3973708920187793l0.6986854460093896,0l0.6986854460093896,-1.3973708920187793l1.3973708920187793,-0.6986854460093896l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0l2.096056338028169,-1.3973708920187793l3.493427230046948,-1.3973708920187793l0.6986854460093896,-0.6986854460093896l1.3973708920187793,-1.3973708920187793l0.6986854460093896,0l1.3973708920187793,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0l0,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l0,-0.6986854460093896l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l2.096056338028169,-0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l1.3973708920187793,0l1.3973708920187793,0l2.096056338028169,0l5.589483568075117,0l1.3973708920187793,0l2.096056338028169,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l1.3973708920187793,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0l2.096056338028169,1.3973708920187793l0.6986854460093896,0l0.6986854460093896,0l0,0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0.6986854460093896l0,0.6986854460093896l0.6986854460093896,0l1.3973708920187793,0.6986854460093896l1.3973708920187793,0.6986854460093896l3.493427230046948,0.6986854460093896l1.3973708920187793,0.6986854460093896l2.096056338028169,0.6986854460093896l1.3973708920187793,0.6986854460093896l1.3973708920187793,0l1.3973708920187793,0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l2.7947417840375586,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l2.7947417840375586,0l0.6986854460093896,0l2.7947417840375586,0l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0"); - polylineAnnotation.setType(AnnotationType.Polyline); - polylineAnnotation.setCreatorName("Anonym A."); - annotations.add(polylineAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-polyline.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception:" + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addPolyLineAnnotationInPDF - } - - /* - * add text field annotation in PDF - */ - - public static void addTextFieldAnnotationInPDF() { - //ExStart:addTextFieldAnnotationInPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Text field annotation - AnnotationInfo textFieldAnnotation = new AnnotationInfo(); - textFieldAnnotation.setAnnotationPosition(new Point(852.0, 201.0)); - textFieldAnnotation.setFieldText("text in the box"); - textFieldAnnotation.setFontFamily("Arial"); - textFieldAnnotation.setFontSize(10D); - textFieldAnnotation.setBox(new Rectangle(66f, 201f, 64f, 37f)); - textFieldAnnotation.setPageNumber(0); - textFieldAnnotation.setType(AnnotationType.TextField); - textFieldAnnotation.setCreatorName("Anonym A."); - annotations.add(textFieldAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-textfield.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception :" + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addTextFieldAnnotationInPDF - } - - /* - * add watermark annotation in PDF - */ - - public static void addWatermarkAnnotationInPDF() { - //ExStart:addWatermarkAnnotationInPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Watermark annotation - AnnotationInfo watermarkAnnotation = new AnnotationInfo(); - watermarkAnnotation.setAnnotationPosition(new Point(852.0, 300.0)); - watermarkAnnotation.setFieldText("TEXT STAMP"); - watermarkAnnotation.setFontFamily("Microsoft Sans Serif"); - watermarkAnnotation.setFontSize(10D); - watermarkAnnotation.setFontColor(2222222); - watermarkAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); - watermarkAnnotation.setPageNumber(0); - watermarkAnnotation.setType(AnnotationType.Watermark); - watermarkAnnotation.setCreatorName("Anonym A."); - annotations.add(watermarkAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-watermark.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addWatermarkAnnotationInPDF - } - - /* - * add text replacement annotation in PDF - */ - - public static void addTextReplacementAnnotationInPDF() { - //ExStart:addTextReplacementAnnotationInPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Text replacement annotation - AnnotationInfo textReplacementAnnotation = new AnnotationInfo(); - textReplacementAnnotation.setAnnotationPosition(new Point(852.0, 172.0)); - textReplacementAnnotation.setFieldText("Replaced text"); - textReplacementAnnotation.setFontSize(10D); - textReplacementAnnotation.setBox(new Rectangle(68f, 154f, 102f, 9f)); - textReplacementAnnotation.setPageNumber(0); - textReplacementAnnotation.setType(AnnotationType.TextReplacement); - textReplacementAnnotation.setCreatorName("Anonym A."); - annotations.add(textReplacementAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-textreplacement.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addTextReplacementAnnotationInPDF - } - - /* - * add arrow annotation in PDF - */ - public static void addArrowAnnotationInPDF() { - //ExStart:addArrowAnnotationInPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Arrow annotation - AnnotationInfo arrowAnnotation = new AnnotationInfo(); - arrowAnnotation.setAnnotationPosition(new Point(852.0, 252.0)); - arrowAnnotation.setBox(new Rectangle(279.4742f, 252.9241f, 129.9555f, -9.781596f)); - arrowAnnotation.setPageNumber(0); - arrowAnnotation.setPenColor(1201033); - arrowAnnotation.setPenStyle((byte) 0); - arrowAnnotation.setPenWidth((byte) 1); - arrowAnnotation.setSvgPath("M279.47417840375584,252.92413145539905 L129.9554929577465,-9.781596244131455"); - arrowAnnotation.setType(AnnotationType.Arrow); - arrowAnnotation.setCreatorName("Anonym A."); - annotations.add(arrowAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-arrow.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception:" + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addArrowAnnotationInPDF - } - - /* - * add text redaction annotation in PDF - */ - public static void addTextRedactionAnnotationInPDF() { - //ExStart: - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Text redaction annotation - AnnotationInfo textRedactionAnnotation = new AnnotationInfo(); - textRedactionAnnotation.setAnnotationPosition(new Point(852.0, 154.0)); - textRedactionAnnotation.setBox(new Rectangle(68f, 154f, 102f, 9f)); - textRedactionAnnotation.setPageNumber(0); - textRedactionAnnotation.setType(AnnotationType.TextRedaction); - textRedactionAnnotation.setCreatorName("Anonym A."); - annotations.add(textRedactionAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-textredaction.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exceptino:" + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addTextRedactionAnnotationInPDF - } - - /* - * add resource redaction annotation in PDF - */ - public static void addResourceRedactionAnnotationInPDF() { - //ExStart:addResourceRedactionAnnotationInPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Resource redaction annotation - AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo(); - resourceRedactionAnnotation.setAnnotationPosition(new Point(852.0, 271.78)); - resourceRedactionAnnotation.setBackgroundColor(3355443); - resourceRedactionAnnotation.setBox(new Rectangle(466f, 271f, 69f, 62f)); - resourceRedactionAnnotation.setPageNumber(0); - resourceRedactionAnnotation.setPenColor(3355443); - resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction); - resourceRedactionAnnotation.setCreatorName("Anonym A."); - annotations.add(resourceRedactionAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-resourceredaction.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception:" + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addResourceRedactionAnnotationInPDF - } - - /* - * add underline annotation in PDF - */ - public static void addUnderlineAnnotationInPDF() { - //ExStart:addUnderlineAnnotationInPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Underline annotation - AnnotationInfo underlineAnnotation = new AnnotationInfo(); - underlineAnnotation.setAnnotationPosition(new Point(852.0, 154.3131)); - underlineAnnotation.setBox(new Rectangle(68f, 154f, 102f, 9f)); - underlineAnnotation.setPageNumber(0); - underlineAnnotation.setPenColor(1201033); - //underlineAnnotation.setOpacity(0.5); - underlineAnnotation.setType(AnnotationType.TextUnderline); - underlineAnnotation.setCreatorName("Anonym A."); - annotations.add(underlineAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-underline.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.print("Exception:" + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addUnderlineAnnotationInPDF - } - - /* - * add distance annotation in PDF - */ - public static void addDistanceAnnotationInPDF() { - //ExStart:addDistanceAnnotationInPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Distance annotation - AnnotationInfo distanceAnnotation = new AnnotationInfo(); - distanceAnnotation.setAnnotationPosition(new Point(852.0, 287.0)); - distanceAnnotation.setBox(new Rectangle(248f, 287f, 115f, 25f)); - distanceAnnotation.setPageNumber(0); - distanceAnnotation.setPenColor(1201033); - distanceAnnotation.setPenStyle((byte) 0); - distanceAnnotation.setPenWidth((byte) 1); - distanceAnnotation - .setSvgPath("M248.73201877934272,295.5439436619718 l115.28309859154929,-4.192112676056338"); - distanceAnnotation.setFieldText("\r\nAnonym A.: 115px"); - distanceAnnotation.setType(AnnotationType.Distance); - distanceAnnotation.setCreatorName("Anonym A."); - annotations.add(distanceAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-distance.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addDistanceAnnotationInPDF - } - - public static void usersWithDifferentRights(){ - //ExStart:usersWithDifferentRights - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - IUserDataHandler userRepository = annotator.getUserDataHandler(); - IDocumentDataHandler documentRepository = annotator.getDocumentDataHandler(); - - // Create storage folder - if(!new File(cfg.getStoragePath()).exists() && !new File(cfg.getStoragePath()).mkdirs()) - { - System.out.println("Can't create directory!"); - } - - // Create owner. - User johnOwner = userRepository.getUserByEmail("john@doe.com"); - - if(johnOwner == null) - { - final User user = new User(); - user.setFirstName("John"); - user.setLastName("Doe"); - user.setEmail("john@doe.com"); - userRepository.add(user); - johnOwner = userRepository.getUserByEmail("john@doe.com"); - } - - // Create document data object in storage - Document document = documentRepository.getDocument(fileName); - long documentId = document == null ? annotator.createDocument(fileName, DocumentType.Pdf, johnOwner.getId()) : document.getId(); - - // Create reviewer. - ReviewerInfo reviewerInfo = new ReviewerInfo(); - reviewerInfo.setPrimaryEmail("judy@doe.com"); - reviewerInfo.setFirstName("Judy"); - reviewerInfo.setLastName("Doe"); - reviewerInfo.setAccessRights(AnnotationReviewerRights.CanView); - - // Add collaboorator to the document. If user with UserName equals to reviewers PrimaryEmail is absent it will be created. - SetCollaboratorsResult addCollaboratorResult = annotator.addCollaborator(documentId, reviewerInfo); - System.out.println(addCollaboratorResult); - - // Get document collaborators - GetCollaboratorsResult getCollaboratorsResult = annotator.getCollaborators(documentId); - System.out.println(getCollaboratorsResult); - User judy = userRepository.getUserByEmail("judy@doe.com"); - - // Create annotation object - AnnotationInfo pointAnnotation = new AnnotationInfo(); - pointAnnotation.setAnnotationPosition(new Point(852.0, 81.0)); - pointAnnotation.setBox(new Rectangle(212f, 81f, 142f, 0.0f)); - pointAnnotation.setType(AnnotationType.Point); - pointAnnotation.setPageNumber(0); - pointAnnotation.setCreatorName("Anonym A."); - - // John try to add annotations - CreateAnnotationResult johnResult = annotator.createAnnotation(pointAnnotation, documentId, johnOwner.getId()); - System.out.println(johnResult); - - // Judy try to add annotations - try { - CreateAnnotationResult judyResult = annotator.createAnnotation(pointAnnotation, documentId, judy.getId()); - System.out.println(judyResult); - } catch (AnnotatorException e) { - System.out.println(e.getMessage()); - } - - // Allow Judy create annotations. - reviewerInfo.setAccessRights(AnnotationReviewerRights.CanAnnotate); - SetCollaboratorsResult updateCollaboratorResult = annotator.updateCollaborator(documentId, reviewerInfo); - System.out.println(updateCollaboratorResult); - - // Judy try to add annotations - CreateAnnotationResult judyResultCanAnnotate = annotator.createAnnotation(pointAnnotation, documentId, judy.getId()); - System.out.println(judyResultCanAnnotate); - //ExEnd:usersWithDifferentRights - } - public static void gettingTextCoordinates(String fileName){ - //ExStart:gettingTextCoordinates - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.createDocument(fileName); - DocumentInfoContainer documentInfoContainer = annotator.getDocumentInfo(fileName); - - // Go through all pages - for (PageData pageData : documentInfoContainer.getPages()) - { - System.out.println("Page number: " + pageData.getNumber()); - - //Go through all page rows - for(int i = 0; i < pageData.getRows().size(); i++) - { - RowData rowData = pageData.getRows().get(i); - - // Write data to console - System.out.println("Row: " + (i + 1)); - System.out.println("Text: " + rowData.getText()); - System.out.println("Text width: " + rowData.getLineWidth()); - System.out.println("Text height: " + rowData.getLineHeight()); - System.out.println("Distance from left: " + rowData.getLineLeft()); - System.out.println("Distance from top: " + rowData.getLineTop()); - - // Get words - String[] words = rowData.getText().split(" "); - - // Go through all word coordinates - for(int j = 0; j < words.length; j++) - { - int coordinateIndex = j == 0 ? 0 : j + 1; - // Write data to console - System.out.println(); - System.out.println("Word:'" + words[j] + "'"); - System.out.println("Word distance from left: " + rowData.getTextCoordinates().get(coordinateIndex)); - System.out.println("Word width: " + rowData.getTextCoordinates().get(coordinateIndex + 1)); - System.out.println(); - } - } - } - //ExEnd:gettingTextCoordinates - } - - /* - * Export Annotations using ExportOptions - */ - public static void exportAnnotationsUsingExportOption() { - //ExStart:exportAnnotationsUsingExportOption - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream cleanPdf = new FileInputStream(Utilities.storagePath + File.separator + fileName); - - List annotations = new ArrayList(); - // text annotation - AnnotationInfo textAnnotation = new AnnotationInfo(); - textAnnotation.setBox(new Rectangle(68, 154, 102, 9)); - textAnnotation.setPageNumber(0); - textAnnotation.setType(AnnotationType.Text); - textAnnotation.setCreatorName("Anonym A."); - annotations.add(textAnnotation); - - // export options - ExportOptions options = new ExportOptions(); - options.setDocumentType(DocumentType.Pdf); - - /** Export specific types of Annotations **/ - List typesToExport = new ArrayList(); - typesToExport.add(AnnotationType.Text); - options.setAnnotationTypes(typesToExport); - - /** Export only pages with annotations **/ - options.setAnnotatedPages(true); - - /** Export page range **/ - options.setFirstPage(0); - options.setLastPage(1); - - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, options); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-text.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception :" + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:exportAnnotationsUsingExportOption - } - - /* - * Add Ellipse Annotation in PDF - */ - public static void addEllipseAnnotationInPDF() { - //ExStart:addEllipseAnnotationInPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Ellipse annotation - AnnotationInfo ellipseAnnotation = new AnnotationInfo(); - ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); - ellipseAnnotation.setPageNumber(0); - ellipseAnnotation.setType(AnnotationType.Ellipse); - ellipseAnnotation.setCreatorName("Anonym A."); - annotations.add(ellipseAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-ellipsed.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addEllipseAnnotationInPDF - } - - /* - * Get Thumbnails Of Document Pages - */ - public static void getThumbnailsOfPagesForPDF() { - //ExStart:getThumbnailsOfPagesForPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - //InputStream inputFile = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List pages = annotator.getPages(fileName); - - // get thumbnails: - for (int i = 0; i < pages.size(); i++) { - InputStream stream = pages.get(i).getThumbnail(); - // do something with stream - } - - // Default image size was 300x180. - for (int i = 0; i < pages.size(); i++) { - InputStream stream = pages.get(i).getThumbnail(100, 100); - // do something with stream - } - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:getThumbnailsOfPagesForPDF - } - - /* - * Set Watermark Angle for PDF - */ - public static void setWatermarkAngleForPDF() { - //ExStart:setWatermarkAngleForPDF - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Watermark annotation - AnnotationInfo watermarkAnnotation = new AnnotationInfo(); - watermarkAnnotation.setFieldText("TEXT STAMP"); - watermarkAnnotation.setFontFamily("Microsoft Sans Serif"); - watermarkAnnotation.setFontSize(10D); - watermarkAnnotation.setFontColor(2222222); - watermarkAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); - watermarkAnnotation.setPageNumber(0); - watermarkAnnotation.setType(AnnotationType.Watermark); - watermarkAnnotation.setCreatorName("Anonym A."); - //set Angle - watermarkAnnotation.setAngle(45.0); - annotations.add(watermarkAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Pdf); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "annotated-angled-watermark.pdf"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:setWatermarkAngleForPDF - } - - -} diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/SlidesAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/SlidesAnnotation.java deleted file mode 100644 index 3205044..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/SlidesAnnotation.java +++ /dev/null @@ -1,239 +0,0 @@ -package GroupDocs.Annotation.Examples.Java.legacy; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; - -import org.apache.commons.io.IOUtils; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.DocumentType; -import com.groupdocs.annotation.domain.Point; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.annotation.domain.config.AnnotationConfig; -import com.groupdocs.annotation.handler.AnnotationImageHandler; - -public class SlidesAnnotation { - - // region initialize document name - - /* - * document name - */ - public static String fileName = "slide.pptx"; - - // region Working with Annotations in Slides - - /* - * add annotation in Slides - */ - public static void addAnnotationInSlides() { - //ExStart:addAnnotationInSlides - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - final AnnotationInfo annotationInfo = new AnnotationInfo(); - annotationInfo.setPageNumber(0); - annotationInfo.setAnnotationPosition(new Point(1, 2)); - annotationInfo.setFieldText("Hello!"); - annotationInfo.setCreatorName("John"); - annotations.add(annotationInfo); - // Export annotations to Slides document - InputStream resultStream = annotator.exportAnnotationsToDocument(inputStream, annotations); - System.out.println(resultStream.available()); - IOUtils.copy(resultStream, - new FileOutputStream(Utilities.outputPath + File.separator + "slides-annotated.pptx")); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addAnnotationInSlides - } - - /* - * Creating annotations of different types - */ - - public static void differentAnnotationsForSlides() throws Throwable{ - //ExStart:differentAnnotationsForSlides - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - List annotations; - - - FileInputStream cleanPresentation = new FileInputStream(Utilities.storagePath + File.separator + fileName); - - annotations = new ArrayList(); - - AnnotationInfo pointAnnotation = new AnnotationInfo(); - pointAnnotation.setPageNumber(0); - pointAnnotation.setType(AnnotationType.Point); - pointAnnotation.setBox(new Rectangle(100, 100, 0, 0)); - pointAnnotation.setFieldText("Hello!"); - pointAnnotation.setCreatorName("John"); - - AnnotationInfo areaAnnotation = new AnnotationInfo(); - areaAnnotation.setCreatedOn(new Date()); - areaAnnotation.setType(AnnotationType.Area); - areaAnnotation.setPageNumber(0); - areaAnnotation.setBox(new Rectangle(100, 72.7f, 50, 50)); - areaAnnotation.setBackgroundColor(-15988609); - - AnnotationInfo arrowAnnotation = new AnnotationInfo(); - arrowAnnotation.setType(AnnotationType.Arrow); - arrowAnnotation.setCreatedOn(new Date()); - arrowAnnotation.setPageNumber(0); - arrowAnnotation.setBox(new Rectangle(0, 0, 100, 100)); - arrowAnnotation.setBackgroundColor(15988609); - - AnnotationInfo polylineAnnotation = new AnnotationInfo(); - polylineAnnotation.setType(AnnotationType.Polyline); - polylineAnnotation.setCreatedOn(new Date()); - polylineAnnotation.setBox(new Rectangle((float)250.82807922363281, (float)35.632957458496094, (float)102.70676422119141, (float)12.576337814331055)); - polylineAnnotation.setPageNumber(0); - polylineAnnotation.setPenColor(65015); - polylineAnnotation.setSvgPath( - "M250.8280751173709,48.209295774647885l0.6986854460093896,0l0.6986854460093896,-1.3973708920187793l0.6986854460093896,0l0.6986854460093896,-1.3973708920187793l1.3973708920187793," - + "-0.6986854460093896l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0l2.096056338028169,-1.3973708920187793l3.493427230046948,-1.3973708920187793l0.6986854460093896," - + "-0.6986854460093896l1.3973708920187793,-1.3973708920187793l0.6986854460093896,0l1.3973708920187793,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896," - + "-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0l0,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l0," - + "-0.6986854460093896l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l2.096056338028169," - + "-0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l1.3973708920187793,0l1.3973708920187793," - + "0l2.096056338028169,0l5.589483568075117,0l1.3973708920187793,0l2.096056338028169,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896," - + "0l1.3973708920187793,0l1.3973708920187793,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0l2.096056338028169,1.3973708920187793l0.6986854460093896," - + "0l0.6986854460093896,0l0,0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0.6986854460093896l0," - + "0.6986854460093896l0.6986854460093896,0l1.3973708920187793,0.6986854460093896l1.3973708920187793,0.6986854460093896l3.493427230046948,0.6986854460093896l1.3973708920187793," - + "0.6986854460093896l2.096056338028169,0.6986854460093896l1.3973708920187793,0.6986854460093896l1.3973708920187793,0l1.3973708920187793,0.6986854460093896l0.6986854460093896," - + "0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l2.7947417840375586,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793," - + "0l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l2.7947417840375586,0l0.6986854460093896,0l2.7947417840375586,0l1.3973708920187793,0l0.6986854460093896," - + "0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0" - ); - - AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo(); - resourceRedactionAnnotation.setCreatedOn(new Date()); - resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction); - resourceRedactionAnnotation.setPageNumber(0); - resourceRedactionAnnotation.setBox(new Rectangle(100, 72.7f, 50, 50)); - - AnnotationInfo textFieldAnnotation = new AnnotationInfo(); - textFieldAnnotation.setCreatedOn(new Date()); - textFieldAnnotation.setType(AnnotationType.TextField); - textFieldAnnotation.setPageNumber(0); - textFieldAnnotation.setBox(new Rectangle(100, 72.7f, 50, 50)); - textFieldAnnotation.setFontColor(-15988609); - textFieldAnnotation.setFieldText("some text"); - textFieldAnnotation.setFontFamily("times new roman"); - - AnnotationInfo watermarkAnnotation = new AnnotationInfo(); - watermarkAnnotation.setCreatedOn(new Date()); - watermarkAnnotation.setType(AnnotationType.Watermark); - watermarkAnnotation.setFieldText("This is watermark"); - watermarkAnnotation.setFontFamily("arial"); - watermarkAnnotation.setBox(new Rectangle(100,50,50,0)); - watermarkAnnotation.setFontSize(25D); - watermarkAnnotation.setFontColor(-15988609); - //Text annotations - - AnnotationInfo textAnnotation = new AnnotationInfo(); - textAnnotation.setBox(new Rectangle(50, 510.9f, 454.73f, 29.08f)); - textAnnotation.setPageNumber(0); - textAnnotation.setSvgPath("[{\"x\":200,\"y\":510.92},{\"x\":454.73,\"y\":510.92},{\"x\":200,\"y\":539.98},{\"x\":454.73,\"y\":539.98}]"); - textAnnotation.setType(AnnotationType.Text); - textAnnotation.setCreatorName("Anonym A."); - - AnnotationInfo strikeoutAnnotation = new AnnotationInfo(); - strikeoutAnnotation.setBox(new Rectangle(0, 510.92f, 454.73f, 29.08f)); - strikeoutAnnotation.setPageNumber(0); - strikeoutAnnotation.setSvgPath("[{\"x\":0,\"y\":510.92},{\"x\":454.73,\"y\":510.92},{\"x\":0,\"y\":539.98},{\"x\":454.73,\"y\":539.98}]"); - strikeoutAnnotation.setType(AnnotationType.TextStrikeout); - strikeoutAnnotation.setCreatorName("Anonym A."); - - AnnotationInfo underlineAnnotation = new AnnotationInfo(); - underlineAnnotation.setBox(new Rectangle(0, 510.92f, 454.73f, 29.08f)); - underlineAnnotation.setPageNumber(0); - underlineAnnotation.setSvgPath("[{\"x\":0,\"y\":510.92},{\"x\":454.73,\"y\":510.92},{\"x\":0,\"y\":539.98},{\"x\":454.73,\"y\":539.98}]"); - underlineAnnotation.setType(AnnotationType.TextUnderline); - underlineAnnotation.setCreatorName("Anonym A."); - - annotations.add(pointAnnotation); - annotations.add(areaAnnotation); - annotations.add(arrowAnnotation); - annotations.add(resourceRedactionAnnotation); - annotations.add(polylineAnnotation); - annotations.add(watermarkAnnotation); - annotations.add(textFieldAnnotation); - annotations.add(textAnnotation); - annotations.add(strikeoutAnnotation); - annotations.add(underlineAnnotation); - - InputStream result = annotator.exportAnnotationsToDocument(cleanPresentation, annotations, DocumentType.Slides); - - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "slides-annotated.pptx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - - //ExEnd:differentAnnotationsForSlides - } - - /* - * Importing annotations to slide docuemnts - */ - public static void importingAnnotationsToSlide() throws Throwable{ - //ExStart:importingAnnotationsToSlide - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - FileInputStream input = new FileInputStream(Utilities.storagePath + File.separator + fileName); - - AnnotationInfo[] annotations = annotator.importAnnotations(input, DocumentType.Slides); - // Export imported annotation to another document - InputStream clearDocument = new FileInputStream(Utilities.storagePath + File.separator + "Clear.pptx"); - InputStream output = annotator.exportAnnotationsToDocument(clearDocument, Arrays.asList(annotations), DocumentType.Slides); - - OutputStream fileStream = new FileOutputStream(Utilities.outputPath + File.separator + "slides-annotated.pptx"); - System.out.println(output.available()); - IOUtils.copy(output, fileStream); - //ExEnd:importingAnnotationsToSlide - } - - /* - * Add Ellipse Annotation in Slides - */ - public static void addEllipseAnnotationInSlides() { - //ExStart:addEllipseAnnotationInSlides - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Ellipse annotation - AnnotationInfo ellipseAnnotation = new AnnotationInfo(); - ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); - ellipseAnnotation.setPageNumber(0); - ellipseAnnotation.setType(AnnotationType.Ellipse); - ellipseAnnotation.setCreatorName("Anonym A."); - annotations.add(ellipseAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Slides); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "slides-annotated.pptx"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addEllipseAnnotationInSlides - } -} diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/Utilities.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/Utilities.java deleted file mode 100644 index 7c063cf..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/Utilities.java +++ /dev/null @@ -1,133 +0,0 @@ -package GroupDocs.Annotation.Examples.Java.legacy; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.io.IOUtils; - -import com.groupdocs.annotation.common.license.License; -import com.groupdocs.annotation.common.license.Metered; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.DocumentType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.RowData; -import com.groupdocs.annotation.domain.config.AnnotationConfig; -import com.groupdocs.annotation.domain.containers.DocumentInfoContainer; -import com.groupdocs.annotation.domain.image.PageImage; -import com.groupdocs.annotation.domain.options.ImageOptions; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.annotation.handler.input.IDocumentDataHandler; - - -public class Utilities { - // ExStart:commonutilities - public final static String storagePath = "./Data/SourceFiles/"; - public final static String outputPath = "./Data/OutputFiles/"; - public static final String licensePath = "E://GroupDocs.Total.Java.lic"; - // ExEnd::commonutilities - - // Applies License - public static void applyLicenseFromFile() { - //ExStart:applyLicenseFromFile - try { - // Setup license - License lic = new License(); - lic.setLicense(licensePath); - } catch (Exception exp) { - System.out.println("Exception: " + exp.getMessage()); - exp.printStackTrace(); - } - //ExEnd:applyLicenseFromFile - } - - public static void setMeteredLicense() throws Exception{ - //ExStart:setMeteredLicense - String PublicKey = ""; // Your public license key - String PrivateKey = ""; // Your private license key - Metered metered = new Metered(); - metered.setMeteredKey(PublicKey, PrivateKey); - //ExEnd:setMeteredLicense - } - // Returns AnnotationConfig configurations - public static AnnotationConfig getConfiguration() { - //ExStart:getConfiguration - try { - // Setup annotation configuration - AnnotationConfig conversionConfig = new AnnotationConfig(); - conversionConfig.setStoragePath(storagePath); - return conversionConfig; - } catch (Exception exp) { - System.out.println("Exception: " + exp.getMessage()); - exp.printStackTrace(); - return null; - } - //ExEnd:getConfiguration - } - - // Gets Image Representation - public static void getImageRepresentation(String fileName) { - //ExStart:getImageRepresentation - try { - InputStream document = new FileInputStream(storagePath + File.separator + fileName); - AnnotationConfig cfg = getConfiguration(); - AnnotationImageHandler annotationHandler = new AnnotationImageHandler(cfg); - List images = annotationHandler.getPages(document, new ImageOptions()); - // Save result stream to file. - OutputStream outputStream = new FileOutputStream(Utilities.outputPath + File.separator + "image.png"); - final PageImage pageImage = images.get(0); - IOUtils.copy(pageImage.getStream(), outputStream); - System.out.println("Document exported!"); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:getImageRepresentation - } - - // Get text coordinates - public static void getTextCoordinates(String fileName) { - //ExStart:getTextCoordinates - try { - AnnotationConfig cfg = getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - DocumentInfoContainer documentInfoContainer = annotator.getDocumentInfo(fileName); - // Go through all pages - for (PageData pageData : documentInfoContainer.getPages()) { - System.out.println("Page number: " + pageData.getNumber()); - // Go through all page rows - for (int i = 0; i < pageData.getRows().size(); i++) { - RowData rowData = pageData.getRows().get(i); - // Write data to console - System.out.println("Row: " + (i + 1)); - System.out.println("Text: " + rowData.getText()); - System.out.println("Text width: " + rowData.getLineWidth()); - System.out.println("Text height: " + rowData.getLineHeight()); - System.out.println("Distance from left: " + rowData.getLineLeft()); - System.out.println("Distance from top: " + rowData.getLineTop()); - // Get words - String[] words = rowData.getText().split(" "); - // Go through all word coordinates - for (int j = 0; j < words.length; j++) { - int coordinateIndex = j == 0 ? 0 : j + 1; - // Write data to console - System.out.println(); - System.out.println("Word:'" + words[j] + "'"); - System.out.println( - "Word distance from left: " + rowData.getTextCoordinates().get(coordinateIndex)); - System.out.println("Word width: " + rowData.getTextCoordinates().get(coordinateIndex + 1)); - System.out.println(); - } - } - } - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:getTextCoordinates - } -} diff --git a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/WordsAnnotation.java b/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/WordsAnnotation.java deleted file mode 100644 index cba604f..0000000 --- a/Examples/GroupDocs.Annotation.Examples.Java/src/main/java/GroupDocs/Annotation/Examples/Java/legacy/WordsAnnotation.java +++ /dev/null @@ -1,577 +0,0 @@ -package GroupDocs.Annotation.Examples.Java.legacy; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; - -import org.apache.commons.io.IOUtils; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.DocumentType; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.annotation.domain.config.AnnotationConfig; -import com.groupdocs.annotation.handler.AnnotationImageHandler; - -public class WordsAnnotation { - - // region initialize document name - - /* - * document name - */ - public static String fileName = "sample.docx"; - - // region Working with annotation in Words - - /* - * add different annotations in words - */ - - public static void addDifferentAnnotationInWords() { - //ExStart:addDifferentAnnotationInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // initialize possible types of annotations - AnnotationInfo textAnnotation = new AnnotationInfo(); - textAnnotation.setPageNumber(1); - textAnnotation.setSvgPath( - "[{\"x\":186.698,\"y\":706.196},{\"x\":318.41201,\"y\":706.196},{\"x\":186.698,\"y\":697.196},{\"x\":318.41201,\"y\":697.196}]"); - textAnnotation.setType(AnnotationType.Text); - textAnnotation.setText("Comment"); - AnnotationInfo areaAnnnotation = new AnnotationInfo(); - areaAnnnotation.setBackgroundColor(11111111); - areaAnnnotation.setBox(new Rectangle(87.9f, 276.5f, 435.7f, 87f)); - areaAnnnotation.setPageNumber(1); - areaAnnnotation.setType(AnnotationType.Area); - AnnotationInfo strikeoutAnnotation = new AnnotationInfo(); - strikeoutAnnotation.setBox(new Rectangle(87.9f, 276.5f, 435.7f, 87f)); - strikeoutAnnotation.setPageNumber(1); - strikeoutAnnotation.setPenColor(1201033); - strikeoutAnnotation.setSvgPath( - "[{\"x\":208.392,\"y\":313.088},{\"x\":519.659,\"y\":313.088},{\"x\":208.392,\"y\":304.088},{\"x\":519.659,\"y\":304.088}]"); - strikeoutAnnotation.setType(AnnotationType.TextStrikeout); - AnnotationInfo textFieldAnnotation = new AnnotationInfo(); - textFieldAnnotation.setFieldText("text in the box"); - textFieldAnnotation.setFontFamily("Arial"); - textFieldAnnotation.setFontSize(10D); - textFieldAnnotation.setBox(new Rectangle(92f, 73f, 106f, 45f)); - textFieldAnnotation.setPageNumber(1); - textFieldAnnotation.setType(AnnotationType.TextField); - AnnotationInfo textReplacementAnnotation = new AnnotationInfo(); - textReplacementAnnotation.setFieldText(" \"REPLACED TEXT\" "); - textReplacementAnnotation.setFontSize(10D); - textReplacementAnnotation.setSvgPath( - "[{\"x\":251.224,\"y\":637.20401},{\"x\":327.89,\"y\":637.20401},{\"x\":251.224,\"y\":628.20401},{\"x\":327.89,\"y\":628.20401}]"); - textReplacementAnnotation.setPageNumber(1); - textReplacementAnnotation.setType(AnnotationType.TextReplacement); - AnnotationInfo arrowAnnotation = new AnnotationInfo(); - arrowAnnotation.setBox(new Rectangle(479f, 218f, -261f, -89f)); - arrowAnnotation.setPageNumber(1); - arrowAnnotation.setType(AnnotationType.Arrow); - AnnotationInfo textRedactionAnnotation = new AnnotationInfo(); - textRedactionAnnotation.setPageNumber(2); - textRedactionAnnotation.setSvgPath( - "[{\"x\":72,\"y\":676.07},{\"x\":196.427,\"y\":676.074},{\"x\":72,\"y\":662.674},{\"x\":196.427,\"y\":662.674}]"); - textRedactionAnnotation.setType(AnnotationType.TextRedaction); - AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo(); - resourceRedactionAnnotation.setBox(new Rectangle(69f, 337f, 449f, 118f)); - resourceRedactionAnnotation.setPageNumber(1); - resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction); - AnnotationInfo underlineAnnotation = new AnnotationInfo(); - underlineAnnotation.setPageNumber(2); - underlineAnnotation.setSvgPath( - "[{\"x\":415.17499,\"y\":628.874},{\"x\":511.85101,\"y\":628.874},{\"x\":415.17499,\"y\":619.874},{\"x\":511.85101,\"y\":619.874}]"); - underlineAnnotation.setType(AnnotationType.TextUnderline); - // * annotations.add(textAnnotation); - annotations.add(areaAnnnotation); - // * annotations.add(strikeoutAnnotation); - annotations.add(textFieldAnnotation); - // ** annotations.add(textReplacementAnnotation); - annotations.add(arrowAnnotation); - // * annotations.add(textRedactionAnnotation); - annotations.add(resourceRedactionAnnotation); - // * annotations.add(underlineAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addDifferentAnnotationInWords - } - - /* - * add text annotation in words - */ - public static void addTextAnnotationInWords() { - //ExStart:addTextAnnotationInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // init possible types of annotations - AnnotationInfo textAnnotation = new AnnotationInfo(); - textAnnotation.setPageNumber(1); - textAnnotation.setSvgPath( - "[{\"x\":186.698,\"y\":706.196},{\"x\":318.41201,\"y\":706.196},{\"x\":186.698,\"y\":697.196},{\"x\":318.41201,\"y\":697.196}]"); - textAnnotation.setType(AnnotationType.Text); - textAnnotation.setText("Comment"); - annotations.add(textAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addTextAnnotationInWords - } - - /* - * add area annotation with replies in words - */ - public static void addAreaAnnotationWithRepliesInWords() { - //ExStart:addAreaAnnotationWithRepliesInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // initialize possible types of annotations - AnnotationInfo areaAnnnotation = new AnnotationInfo(); - areaAnnnotation.setBackgroundColor(11111111); - areaAnnnotation.setBox(new Rectangle(87.9f, 276.5f, 435.7f, 87f)); - areaAnnnotation.setPageNumber(1); - areaAnnnotation.setType(AnnotationType.Area); - annotations.add(areaAnnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addAreaAnnotationWithRepliesInWords - } - - /* - * add strikeout annotation in words - */ - public static void addStrikeoutAnnotationInWords() { - //ExStart:addStrikeoutAnnotationInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // init strikeout annotations - AnnotationInfo strikeoutAnnotation = new AnnotationInfo(); - strikeoutAnnotation.setBox(new Rectangle(87.9f, 276.5f, 435.7f, 87f)); - strikeoutAnnotation.setPageNumber(1); - strikeoutAnnotation.setPenColor(1201033); - strikeoutAnnotation.setSvgPath( - "[{\"x\":208.392,\"y\":313.088},{\"x\":519.659,\"y\":313.088},{\"x\":208.392,\"y\":304.088},{\"x\":519.659,\"y\":304.088}]"); - strikeoutAnnotation.setType(AnnotationType.TextStrikeout); - annotations.add(strikeoutAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addStrikeoutAnnotationInWords - } - - /* - * add text field annotation in words - */ - - public static void addTextFieldAnnotationInWords() { - //ExStart:addTextFieldAnnotationInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // init text Field annotations - AnnotationInfo textFieldAnnotation = new AnnotationInfo(); - textFieldAnnotation.setFieldText("text in the box"); - textFieldAnnotation.setFontFamily("Arial"); - textFieldAnnotation.setFontSize(10D); - textFieldAnnotation.setBox(new Rectangle(92f, 73f, 106f, 45f)); - textFieldAnnotation.setPageNumber(1); - textFieldAnnotation.setType(AnnotationType.TextField); - annotations.add(textFieldAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addTextFieldAnnotationInWords - } - - /* - * add text replacement annotation in words - */ - - public static void addTextReplacementAnnotationInWords() { - //ExStart:addTextReplacementAnnotationInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // init text replacement annotations - AnnotationInfo textReplacementAnnotation = new AnnotationInfo(); - textReplacementAnnotation.setFieldText(" \"REPLACED TEXT\" "); - textReplacementAnnotation.setFontSize(10D); - textReplacementAnnotation.setSvgPath( - "[{\"x\":251.224,\"y\":637.20401},{\"x\":327.89,\"y\":637.20401},{\"x\":251.224,\"y\":628.20401},{\"x\":327.89,\"y\":628.20401}]"); - textReplacementAnnotation.setPageNumber(1); - textReplacementAnnotation.setType(AnnotationType.TextReplacement); - annotations.add(textReplacementAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addTextReplacementAnnotationInWords - } - - /* - * add arrow annotation in words - */ - public static void addArrowAnnotationInWords() { - //ExStart:addArrowAnnotationInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // init arrow annotations - AnnotationInfo arrowAnnotation = new AnnotationInfo(); - arrowAnnotation.setBox(new Rectangle(479f, 218f, -261f, -89f)); - arrowAnnotation.setPageNumber(1); - arrowAnnotation.setType(AnnotationType.Arrow); - annotations.add(arrowAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addArrowAnnotationInWords - } - - /* - * add text redaction annotation in words - */ - public static void addTextRedactionAnnotationInWords() { - //ExStart:addTextRedactionAnnotationInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // init text redaction annotations - AnnotationInfo textRedactionAnnotation = new AnnotationInfo(); - textRedactionAnnotation.setPageNumber(2); - textRedactionAnnotation.setSvgPath( - "[{\"x\":72,\"y\":676.07},{\"x\":196.427,\"y\":676.074},{\"x\":72,\"y\":662.674},{\"x\":196.427,\"y\":662.674}]"); - textRedactionAnnotation.setType(AnnotationType.TextRedaction); - annotations.add(textRedactionAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addTextRedactionAnnotationInWords - } - - /* - * add resource redaction annotation in words - */ - public static void addResourceRedactionAnnotationInWords() { - //ExStart:addResourceRedactionAnnotationInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // init possible types of annotations - AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo(); - resourceRedactionAnnotation.setBox(new Rectangle(69f, 337f, 449f, 118f)); - resourceRedactionAnnotation.setPageNumber(1); - resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction); - annotations.add(resourceRedactionAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addResourceRedactionAnnotationInWords - } - - /* - * add underline annotation in words - */ - public static void addUnderlineAnnotationInWords() { - //ExStart:addUnderlineAnnotationInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // init underline annotations - AnnotationInfo underlineAnnotation = new AnnotationInfo(); - underlineAnnotation.setPageNumber(2); - underlineAnnotation.setSvgPath( - "[{\"x\":415.17499,\"y\":628.874},{\"x\":511.85101,\"y\":628.874},{\"x\":415.17499,\"y\":619.874},{\"x\":511.85101,\"y\":619.874}]"); - underlineAnnotation.setType(AnnotationType.TextUnderline); - annotations.add(underlineAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addUnderlineAnnotationInWords - } - /* - * import annotations from word docs - */ - public static void importingAnnotationsFromWordDoc() throws Throwable{ - //ExStart:importingAnnotationsFromWordDoc - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - // Importing annotations from Words document - FileInputStream stream = new FileInputStream(Utilities.storagePath + File.separator + fileName); - AnnotationInfo[] annotations = annotator.importAnnotations(stream, DocumentType.Words); - - // Export imported annotation to another document - InputStream clearDocument = new FileInputStream(Utilities.storagePath + File.separator + "Clear.docx"); - InputStream output = annotator.exportAnnotationsToDocument(clearDocument, Arrays.asList(annotations), DocumentType.Words); - - // Save results after export - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(output.available()); - IOUtils.copy(output, fileStream); - //ExEnd:importingAnnotationsFromWordDoc - } - - public static void addDistanceAnnotationInWords() { - //ExStart:addDistanceAnnotationInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Distance annotation - AnnotationInfo distanceAnnotation = new AnnotationInfo(); - distanceAnnotation.setCreatedOn(new Date()); - distanceAnnotation.setType(AnnotationType.Distance); - distanceAnnotation.setBox(new Rectangle((float)248.73202514648438, (float)287.85653686523438, (float)115.9178466796875, (float)25.143020629882812)); - distanceAnnotation.setSvgPath("M248.73201877934272,295.5439436619718 l115.28309859154929,-4.192112676056338"); - - annotations.add(distanceAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addDistanceAnnotationInWords - } - - public static void addPolylineAnnotationInWords() { - //ExStart:addPolylineAnnotationInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Polyline annotation - AnnotationInfo polylineAnnotation = new AnnotationInfo(); - polylineAnnotation.setCreatedOn(new Date()); - polylineAnnotation.setType(AnnotationType.Polyline); - polylineAnnotation.setBox(new Rectangle(206.3f, 106.61f, 456.04f, 307.97f)); - polylineAnnotation.setSvgPath("M436.293427230047,148.06338028169014l0,-0.9870892018779343l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-4.935446009389671,-1.9741784037558685l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-1.9741784037558685,0l-3.948356807511737,0l-2.961267605633803,0l-3.948356807511737,0l-4.935446009389671,0l-3.948356807511737,0.9870892018779343l-4.935446009389671,0.9870892018779343l-6.90962441314554,0l-3.948356807511737,0.9870892018779343l-3.948356807511737,0l-2.961267605633803,1.9741784037558685l-3.948356807511737,0.9870892018779343l-6.90962441314554,1.9741784037558685l-6.90962441314554,0.9870892018779343l-12.832159624413146,2.961267605633803l-6.90962441314554,1.9741784037558685l-5.922535211267606,0.9870892018779343l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,0.9870892018779343l-4.935446009389671,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-4.935446009389671,1.9741784037558685l-5.922535211267606,2.961267605633803l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-4.935446009389671,3.948356807511737l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-3.948356807511737,5.922535211267606l-3.948356807511737,4.935446009389671l-3.948356807511737,5.922535211267606l-3.948356807511737,6.90962441314554l-3.948356807511737,7.896713615023474l-0.9870892018779343,6.90962441314554l-1.9741784037558685,7.896713615023474l-1.9741784037558685,6.90962441314554l-0.9870892018779343,7.896713615023474l0,12.832159624413146l0,7.896713615023474l0,7.896713615023474l0.9870892018779343,7.896713615023474l1.9741784037558685,5.922535211267606l2.961267605633803,5.922535211267606l0.9870892018779343,5.922535211267606l2.961267605633803,6.90962441314554l3.948356807511737,5.922535211267606l4.935446009389671,4.935446009389671l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l6.90962441314554,5.922535211267606l7.896713615023474,5.922535211267606l7.896713615023474,5.922535211267606l17.767605633802816,8.883802816901408l11.845070422535212,3.948356807511737l11.845070422535212,4.935446009389671l23.690140845070424,8.883802816901408l41.45774647887324,6.90962441314554l31.586854460093896,3.948356807511737l16.780516431924884,0l16.780516431924884,1.9741784037558685l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,-1.9741784037558685l14.806338028169014,-1.9741784037558685l14.806338028169014,-1.9741784037558685l12.832159624413146,-1.9741784037558685l10.857981220657276,-2.961267605633803l10.857981220657276,-2.961267605633803l8.883802816901408,-4.935446009389671l8.883802816901408,-4.935446009389671l6.90962441314554,-6.90962441314554l6.90962441314554,-6.90962441314554l8.883802816901408,-16.780516431924884l4.935446009389671,-7.896713615023474l3.948356807511737,-8.883802816901408l4.935446009389671,-7.896713615023474l4.935446009389671,-7.896713615023474l3.948356807511737,-13.81924882629108l1.9741784037558685,-18.754694835680752l0,-7.896713615023474l0,-12.832159624413146l-1.9741784037558685,-15.793427230046948l-1.9741784037558685,-15.793427230046948l-4.935446009389671,-15.793427230046948l-8.883802816901408,-15.793427230046948l-12.832159624413146,-23.690140845070424l-10.857981220657276,-10.857981220657276l-5.922535211267606,-3.948356807511737l-12.832159624413146,-8.883802816901408l-9.870892018779342,-8.883802816901408l-5.922535211267606,-3.948356807511737l-12.832159624413146,-5.922535211267606l-15.793427230046948,-8.883802816901408l-13.81924882629108,-4.935446009389671l-11.845070422535212,-2.961267605633803l-11.845070422535212,-3.948356807511737l-11.845070422535212,-3.948356807511737l-5.922535211267606,-1.9741784037558685l-11.845070422535212,-2.961267605633803l-11.845070422535212,-1.9741784037558685l-5.922535211267606,-0.9870892018779343l-10.857981220657276,-1.9741784037558685l-10.857981220657276,-2.961267605633803l-9.870892018779342,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l0,-0.9870892018779343l1.9741784037558685,0"); - - annotations.add(polylineAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addPolylineAnnotationInWords - } - - public static void addWatermarkAnnotationInWords() { - //ExStart:addWatermarkAnnotationInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Watermark annotations - AnnotationInfo watermarkAnnnotation = new AnnotationInfo(); - watermarkAnnnotation.setCreatedOn(new Date()); - watermarkAnnnotation.setFieldText("Watermark text"); - watermarkAnnnotation.setFontColor(16711680); - watermarkAnnnotation.setFontFamily("Microsoft Sans Serif"); - watermarkAnnnotation.setFontSize(17D); - //watermarkAnnnotation.setOpacity(0.3); - watermarkAnnnotation.setType(AnnotationType.Watermark); - - annotations.add(watermarkAnnnotation); - - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addWatermarkAnnotationInWords - } - - public static void addPointAnnotationInWords() { - //ExStart:addPointAnnotationInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDoc = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Point annotation - AnnotationInfo pointAnnnotation = new AnnotationInfo(); - pointAnnnotation.setCreatedOn(new Date()); - pointAnnnotation.setType(AnnotationType.Point); - pointAnnnotation.setBox(new Rectangle(150.32f, 99.22f, 0, 0)); - pointAnnnotation.setPageNumber(0); - - annotations.add(pointAnnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addPointAnnotationInWords - } - - /* - * Add Ellipse Annotation in Words - */ - public static void addEllipseAnnotationInWords() { - //ExStart:addEllipseAnnotationInWords - try { - AnnotationConfig cfg = Utilities.getConfiguration(); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - annotator.getDocumentDataHandler(); - InputStream inputStream = new FileInputStream(Utilities.storagePath + File.separator + fileName); - List annotations = new ArrayList(); - // Ellipse annotation - AnnotationInfo ellipseAnnotation = new AnnotationInfo(); - ellipseAnnotation.setBox(new Rectangle(430f, 272f, 66f, 51f)); - ellipseAnnotation.setPageNumber(0); - ellipseAnnotation.setType(AnnotationType.Ellipse); - ellipseAnnotation.setCreatorName("Anonym A."); - annotations.add(ellipseAnnotation); - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(inputStream, annotations, DocumentType.Words); - // Save result stream to file. - OutputStream fileStream = new FileOutputStream( - Utilities.outputPath + File.separator + "words-annotated.docx"); - IOUtils.copy(result, fileStream); - } catch (Exception e) { - System.out.println("Exception: " + e.getMessage()); - e.printStackTrace(); - } - //ExEnd:addEllipseAnnotationInWords - } -} diff --git a/Examples/README.md b/Examples/README.md index e3f30a4..e026112 100644 --- a/Examples/README.md +++ b/Examples/README.md @@ -1,30 +1,26 @@ -# GroupDocs.Annotation for Java Examples +# GroupDocs_Annotation_Java -This package contains Java Example Projects for [GroupDocs.Annotation for Java](https://products.groupdocs.com/annotation/java) and sample input templates used in the examples. +This package contains [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) that will help you in understanding the API's working and writing your own applications. + +GroupDocs.Annotation is essentially devised to add annotations in documents within a Java applications. API comes with an extensive number of markup tools. These tools permit users to highlight, strikeout, and comment on text and images. This doesn't end up here user can avail numerous properties to control annotation's appearance in the document.

    - + +

    -# How to Run the Examples? - -It is assumed that maven is installed and configured in your system path. You can edit the project by opening in your favorite IDE like NetBeans, Eclipse, and IntelliJ IDEA. Please visit our [documentation website](https://docs.groupdocs.com/display/annotationjava/How+to+Run+Examples) for more details. - -## Install and Configure Maven - -You may find following resources helpful: - -1. Learn how to install and configure Maven - Environment Setup -2. Maven support for NetBeans -3. Maven support for IntelliJ IDEA -4. Maven support for Eclipse IDE - -# Apply License +Directory | Description +--------- | ----------- +[Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | Contains the package of all Java examples and sample files that will help you learn how to use product features. +## Resources -Follow below steps if you have product license ++ **Website:** [www.groupdocs.com](http://www.groupdocs.com) ++ **Product Home:** [GroupDocs.Annotation for Java](#) ++ **Product API:** [API of GroupDocs.Annotation for Java](#) ++ **Download:** [Download GroupDocs.Annotation for Java](#) ++ **Documentation:** [GroupDocs.Annotation for Java Documentation](#) ++ **Forum:** [GroupDocs.Annotation for Java Forum](#) ++ **Blog:** [GroupDocs.Annotation for Java Blog](#) -1. Open Utilities.java. -2. Set "licensePath" variable to your license path. -3. Call applyLicenseFromFile method from MainClass diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/DEPOSIT.eml b/Examples/Resources/SampleFiles/DEPOSIT.eml similarity index 100% rename from Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/DEPOSIT.eml rename to Examples/Resources/SampleFiles/DEPOSIT.eml diff --git a/Examples/Resources/SampleFiles/annotated.pdf b/Examples/Resources/SampleFiles/annotated.pdf new file mode 100644 index 0000000000000000000000000000000000000000..31934c8011ad183ff7de6342f5b4fe1b1293bc63 GIT binary patch literal 52053 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 bbVmI0kMvo0k~iX)w*OEI0(czZPqqI7j^}ld literal 0 HcmV?d00001 diff --git a/Examples/Resources/SampleFiles/annotated_area_replies_5.pdf b/Examples/Resources/SampleFiles/annotated_area_replies_5.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6d8799f77fbed3f6646e7e8588cd3b93c48c522e GIT binary patch literal 8819 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 literal 0 HcmV?d00001 diff --git a/Examples/Resources/SampleFiles/annotated_big.pdf b/Examples/Resources/SampleFiles/annotated_big.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5426aeb3026ee1841f94bf16ced581102bf24b2c GIT binary patch literal 474528 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 z zUW5by_=>j(yyk-IF#{c8%$i~G!B(|o^G!`&%@=ezr_QS~Hkt)`4e>Q$0P#0`)M_|U zs^sZV*4JYB=mQCc$-Ke>Z1ip67?)L529^9{9uV@E!D<5VfRB;gd^GU5u2U46wgZys zV0acQN%E~ceK10Iuj*;QKne3|wEV{nVLkIJwGgdO{O{{*&x1o@26*;>(eWoTYi*4URMc=4bTpLc1JCuvGpn6=Fpexq7DLOXg%ii9Void-*~o{+|W z(E4K5n*G)|`u+&NQBif7h?j;aH9_FOgB2Ok7)Y8N#O!^kePtA@+F4$Nd>=v%pL$~4 ze$lA+%kBLJY7!X8ucexmYV#oVm_EgwtOAEF!dKdsBR6jSu5^3eju`Qj=MW_Do28AE z@3s11JD0C7&Ub@Oo~5d!bA{it`uNqcxE)-Y+<;=BF-g=sq=8zj!X@~46Fua;Hasl% z^K_m)jsz%90KN>bB!vupA^!D(@`)z1TK#A4=Q?!RBKN!gn>&JMQ~&~D<;d6lWwFW5 zj@8dpUC*WT27B1Yj1sr)_ zfnv%ke?_1W(&vKA91){{7h%L~NzrK%c(Gno4nznY{0h5YLC>_~te8m|?+UZuM4Fy% zc*MdoHbl5u&Z&rn74OafL1!*`Z?J7sK==KgtvqckDYA10VV?ZszVSNcyi23%_dpie z+QZG`J0Fzcl|+i6L@#H(fBndFnt*PUDnFGIr}2 zSgZ1ONgKi|`Z~qlwO>^YwgTI)K=QD*jik4emGW7UNox8|C0_e^>;XsS2!g*y&DX%a zc^xYC5C^uw0NGLZHB+T-Y{Pmg*mUM&K6>c2pT%YB;S?~e7gRT4$i9M9yu zNFqycO4&Zf4bc#e;blU%B zZdDn(U*wfEzOMe*3c#3Wh!@FbZ6$38IrtB!kHg+PjaFo{KRrsn0itJa|EtJr#ooSn z0RN`Q@l##I)$;}ScUeom`opci*RBz)Ms^8LCb)>#tO2BMzVA3L?hXh2IH_C#iRp-K z?Ztp8IkFWqzbD?KU#?Vk1HP&4*tO4=IuOb}Z>{)CTKyOpxd zcu-;Ljxb4=$;w#zB0lKZ%Sb8<=B13diOq+Uun zR}u5Fn!iHu3fyzMP=UMm_F%&fVe6Zx4s_xRiia+8Pm^cP!=7M^&0&Pm>T-Mqd*TbH zzv=Co!{6K98zD2`wP%?;ZmMoVHmNd0KJaZPR()fYH9A#BKgY>n`@mDADC&0)Dk@{@ zUC{ED#Z?v)+waGd3Wg%&%^YZS+@_25fAMZn5;EMe!LLgIK_neM%!=1~W;8JsxymTw z^}#eVb?I}8z?6#HxM*lM-N#QPgbd%pUU5=B_MCH0icNNue5=!5bE%u}&FnBmJucez zhp`27hF7>~F>w?Si`IyuglPF_8BRQqh>sYQnP&csAQLyKKIyC81zZz8yR<5oM~}}f zq`t~TFFw1&bgiFcYZh_ZnF*6Y&*Cd8;aRPom%Go>ibZnO!y5zE1wPiG&?O~Tag5D} z+xUeykXGEl$!{1RLUHi4s9Ai8No(f(Vgy)nvVzx|Eig(4l;L+&wb1_iYG0E0e3T6C zQ7O@})r#tq$mr9Pbn`k!E>Qd0F?!t*{#46GPfQx-+$Z4N`%>$vI%&0*HOE*#k@)0&s*|~;LjFz-P+%2OdgAFTP4zf zz?TE_f8@#0La!ml;OICG3sEv(di|c-S~51VMj7?o+CK>Jsh^NA3_iLPSEV?Bd^0Cc zbG=41Gqo+C)5Jwb8)ax?6WXkry-5KAmIos$IMhR$>uBv;0L~URBRS<2<+T<{| zym%J_;7(d}l0-&yN_5sHG7okaUD;{3d|h_)djrQ3n5Q-@=;&DIv!^Q%kYrvb2R=YD zn9S7Hn^DhOJ4<5@M^yPSSU2Y+YbHOERx;2S&?Qy+7bmk4>Fl@jzHKTjXi? z+7$;IoB$D^Bnx=XNL9lv2(LTH#3QgTgCl9*4L-4}+u{Simybil0lnfp_vpHO)SB4T z9FxE4TQIs6*ceuF=3CMoaT+~t|H3@@yd8nZ|)Q^LS-uJWc6yMwEa4XuUPxNDx>FD3+ z>Zhe(w}JPIzE=pBxW_5y?x-F zr0HD37N1{|l=2Fvp!6GAbEtN7R+Ov(qq)f}<{!X(E(nY~U$$#VihGY&!wS7yexJ*R zR|`k-v$-JO3cQi`*mmQP_!9jL8FZn3y2ec-KB#O+MDa9qm*?k#LB&qfxw#Rav9Cq^ zKt+?`x}DwgaRQl77v=>vp1re#44-QC^h#nG&bTf0byK%5Jc{4vu*&BMPDI6m9_jKK ze5)f8qnY8cE9jl#S7YKPd}3xY|b-Glx%Pa76g)KTZ%we?+J1}{9X65sBqKiN+ z&XUV~&Oy)t=)0wm9)S6si9*ILXnSem1swxTv|nW3#VODI0|;IHY4KSRxbW+8y-Yf= zj$8hSiW(IB$@CEwJ#fQEd&IMZMNdK_bXa8bTs|T@C0Wud?RL%Edv-HM9Xw<(`|{!1 zS(r<^E7dV>3+BKn7p11-SjH93NyZv+htnqQ>Lr*vun!|tv4exO8w7)p8Fr5#@jC`XnM;(cb;Z;uccvg|_OyB9jngUe`vzFYlBfU5Z$M)Dk+kP{jaGv2TCO1Q#R$h_ z0BUO`JpJb}ZOipd`?Z_fT5fCeVIf13bDIA7r$C#*wB%(wH64lxz;g`=hFU$%^yJN1 zn?ZJEP)_CC2dc6Ku$_Hop;WxLVdRv(F2mH+BhI^o60;v$GQx6A|MZWJ#kj`2(*G_k z+7UF@iWQo!zFmUA6PSg1KBdt#92uIm7^TKu$Ud?CutNTrvY-u{#bC32l z+Z|wx=$n6lyo&f^m2?0XK?0m}c@D4Tpv*q=2?3|NtoU2eum6_&-J7aTH!;cwKvDsa zWOuViiKIk0lZyu8-dG8IuCsI{vc&YEvIvA-hiRGZ50|%zQywjag}Upn z8P!VUSl2ytUWh7x_hts^KsVJseq8gxemqmQ&_Kn5($RK;8mU^SQt&It_w6+P5AI0v zd3Zy?MyC7mKSLcJKZ!I65GjHgLCdnGLY}`WWT!P<;*1H25x5V2s-sn@uVfIVsL_>x z?<`?J#7^UsxG&~VHe*)5erC$-bDAZ(75&*kr>xQBuZ2@y>_cz5Gv`3>{c3NKSs8Pa=RavBut=A(6--|G{C?pUF1idS6BhpNLxWiKafcm(%l( zc{5`ALo`OEMFsyJ>56E_BX@+F+(B= z$;b4Gwj3j--CK0|$+jfwG4x!*_W$2dOq9%O$p2^J|Ggk(CucQex@ni*XP3S+Br@bp z<~{nEDJF@&@?~615>w1)ri#x@qW2%izj?hy5N{j)Qc1{v?Y~Dw%Qv*iceV&1|Np_W zr(cDh8$n*uwtKec)00Tq(e>HU?F^azOtgtgv`I;>Ari28CSqME+#Qu&O`Ub8D)K~q zI)2ML=IdQTiqa-VjoM=|{v@Wa>|*+auT;cd8`<%Gt7qd1r=m)V<`BGzSpQ z{9}+{FFJEl$xQ^*Y!tQ?W+s*V3Lcgr|bF^KjU0FPwq!%@1ZOlD!$#MZ# z7xyU*6Je_-Q(PqOvSEt~0SGhT>jepu@mmNPz>zLpoJeWt5k*eS9R^R*kS7yefV-rT zR?o!+gDo#Its5TNEQp!9&bq8X3oS7Ytr&R~LZq>^K&HgDmnr2~t;CUd40jfFZ=6pZ z={9wwy;QH5{#r%9jjFJgwB2xxR)nDJklq)2nZBGUEt3GAlrhJYNevoJk({aLe$g>@ z_5FSYDe=SH?$T4B6V|WWM~eL+|NVgf9TfPa<~szp%RBm zWWr;*xj*Wdc~QUV zBRM8E)t=$J4EKiH2uqCF9-63ssN;Q`eb&~&t#x>aHGyT-SCOv|{IV`vT>iZuVC0Y_ zCRi@AJNkX@w`;>v@&%Ks+lY>y|HK5DGKGk+m(_$gVEReuLtzR@8WD;vf?ijW5UWq> zl=!FO_q$X=)gKzhiwIM^;4%HAL~<|1SkHkuF|L+~eTmYZ?YmvULp4Q3GA$mFUdFrh z`65$Vp^GFT*2-QXu2CES1LtR?uT1edzg}UgdyRz5Pd&Nx4fIj{AC|*0s~>y5;{g+) z4W6LE*L?yAo)D0J2~oTg5~6sII9nxDDxs#YSIwC8Rq{Q9j}%`%PJTqXlB$H-P=}D_ zn@E|(cH`42qWgK@Hf=XCwT`Je{5EVMgjUmU0L1qwv<-O?5})0YYK>JO6*_MK+V``p z?VY*uNo|cF?GdV_S@i91|JJU78AoBT%NZb|Zf-$CA9LGj2T8 z*#>)IIt#pK;%kbh3D^~*9+R>W$3G-e1`rgaXA_c=etz{xFq|Ea=7k;cLi8>zrk5cV zlxpgBYz&U>{Ep7zzXARi(}rB;&BNmTcvi$Jo#@RZZ?q$UvKJ{u{Ip?LI2rqV#Nz@* zJckJo(I<8nB}sV^Wfz{{Xxs~!1c=|CeoWLT7hyfHFaMWGriO@E9Dtv!JAnL1fZ!8B5WZd!j7b`7(>JF>+2;F8gbL&NgE<9f)KWlLTvyES79{WeGP&8 z?gMO(mwS^Ponr4w;|zde2|a;$8n*OT86ks zIh&`0GgK%l?-#A}K4XgYyATbraw9+fKR(kK{oAsiX-4 zgqNAFG3IjptI1`>yB*a}g=$!yVb^&C=+%OH*gF7gTTVoyP3?xZx+{Yw3$@fB1NE|2J%fnH04hyS9p?jpkpK#CT&XNK|NI$q)$M$csFB5C8O6e83ayj3RQ(r^+3Djv+g$je{w32FmyY+Ogs_J#M_PM5MeXrt zhC%ztBMUME#FKSyO-4vS!CnK_D67Ub26#F!B3_u}Rc}eeTaqRtT_;_1LjYsSe#L&Z z$X@ryzr|O)C%)QC<-w?PG(MOk5Ui0%5k)5J>hTIlBLtyHzLKo$7))H30eH+BRnLrs zjA(>q56e+Kt90aPO%Xd0juOeJC^R9}r+PqDSzZG^GE8#PMcvAp#T3bf@PvHaQ9U;e zJ+5km4nU|Z0hEVzQu*dk>_bc~61o;iBM_@T{`1?uo~PUw3#mXk5>Nz)>Ua&f*)u}Ri+Zo$czFR?m zxIf!Ox4Zj~nJ?4tLSG6dhsQ^<_Iid{#fUm@r$j9avz+ri$uAV6(PzpWkSsuL=MKM# zCN%YoNI*H|)oY{UCX&6b4T&JRR^zi3o5d3#rn94LPs*r#edN~p%fIUhl^#~>6ak!a z37G&JfY?MRWZ>ZN>`Ioxx^iW(@(2eP0db78(y@0{;OHgEbAVt#6wJ%@3ldnfD{4r2 z^>EINJdt36PZgjz<$OE@)#{sJn|ez=SD~l~2H^lmLZ#zTF9JeH2D0Fotj25uf2_^5 zJ0wQe%NEB!mFoCsjZKk&9H1pqd)1Q9NKBbW8sx(GG2Oo9SNj za#D-uiIJMZWorU7R9!rtZ5%iM*Izx8!(e_+!0zc0`HX7D5VV7c#P*_)oIh7F6g zh>d~t?7)#QjRU0s9HgnG#lH z4h=Lvw7RM-SpW=Ea}6rhH6TU7VaavZziQRTSQnOX30t;B?g zRD6kERK1}q2_cB)3K&tXwsy%66uRm^c0Fo3m*fUA{YK~up4j{J6t#A}KMJkz`neiB zmolu|$UQeFU9%QX{&5C6M&!&H-q0YUqUO_zFf%nKOg)Ks;-fUaqwMhI%Xbs*TrYmp zPC4W=0~iu3O9395Ap6!Iq&q z4>T?LmgJ&Nzrz|lfrbIoqMG35Xr!*IdwhmEY%A^@-m@NRJdQYBQi!Bz7(>=uSn z7U)SiQwJyVjyE{TxV`JR{+6*bZxD2$klX2%F?7H?lkg05>tk;+^VIK0$4IL# z#ZKuXT{DV_W1wH6h_PEZDN^FheimT%idKWNVX&S=D%IHshouvX3(S?7q`V#i+KQQ}h+|ZWli9)5-!(u!jtQgSvXedQ%UIbfs}eX<+f4=P2pNj>*3dIhLE883)Deav6F{?sUqxE|ul2>*Bb#<2G}WunS!^7k{j`Kzvh9b&+h%d4eo zasZKAEzKXn?M}%i% zQpvNV9?u?o-zdioXx8E7-lEm*e&vlX{da%iCj6Ng7IKGkF3bj{k{O>?=5Q(0?IH_bL{o{@995#GSHjJTU z@5V)OY1FkU{`nu3EFCTo;`8571L`TF3QeixGN&BO*jS_>pO3~h1^ScoOpQ&7;rKDC zLMd0nl<=HWt&^&(C|e)h$y7RDdOu55{3FL&`thsHkAEuep1V=AdErnj!O)F902$FK z$6H~z5{^^VacCTJ?RcAYrBl5GoQr_vTvY}(CsrPath)6)FZcyg}3bNBymb0ZOIBIyT9p@wLuPPMTXUrcLatZ4^&^XtdD|OQ7 zhOr*T$Px(nk>mjTfBOV$A2JeN&&Y$#AD{%VaDySCGuCnt2$2JYqeeymzM9B%$U`&S zzsAJB%49yOjOrJf9B8~FQ={PrDSB$g)zcb?0y9=5D?-Vqgc#{D3okfcz({H=^LOF{ zRrnfIb`EAvhpXDy#!=_ULG^--qI1*i7lJ}9&R=)Vv{^A1M1}+vFhOu{V|vR4VBQsIbVY?kV)ptS8!2n2ppa#?%@iHLIzv z!CC9$aFbcuu)+*3M9n-mCxl*l3q5FyR%ljHEn1(5Y=}IF$*P9x& zAXRaNP{l{i)KEchZ%S@UOXbGleF!QREb8zZh}w&vd;gbsC*C0mBsG@+Pz@hBN(NzO z9dy`YH=v9NrB%s!;rZG2vl-Pn_)N8U#ZA4Irf6xm`z}RECc~{`AJzTHi5e%A;_v{Z zQUeUS|9P)LB@`%*7g1+%F&8SQ`Z&R8r&G+wuuv`glHA4#JO@sei)d?2#c>uze);n1 zOajx~=6gZlgz&T8a5)R*y!_)o-*fkTQ`Kg#!5iA4RC=Y%SQie4dKFd8+B}?Bo1?2j z7Pbh2sn*05aCK&BHs7qmcnOP{o`S0Wl=PE7ja!3aLN|6fjmLk?m)B15+lxQBt=JcULsma&Q-)xVxxELxjQpcFJ zqsy^j#S4KicAt`cMTEJ?8`_z)cr8C$C$aP)!rF&AprV>Ksf}_;GTjS` zrdcx;XixwnXwJ{wsg4<;!b*sP>0DZ6#2KvK+t*_c(=@BS<%nz*T(JzpZGo^(VuuczU^oVjLbUuOt+MWSXQ73csPlK!*=Zqf&gQ=xl zJqMya40A#MIv1%?ubC?${XDw{-V@GMN>@pW`iF>yj#7!V!XY8{3 zS5POpS%_w2s|ABs8hmLmWwVwUh@yJSNYMM%o+rJ{?$K2(FWY?U+mdgCb?oGqp8V_H zvCE4Iok?Hbhu=dV`WjOe7kx@zXEmW-&WjvkzoO&X;CBIsuir8wF?L0@BTnyPPE<1< zW#4?T^w#D};0I@uxhbMyqzQpfz$%W715WmMl2$fmMj4pX5}X-+lg)!`RzJUWeD(}s zKxeEsxa!v6Fa|>#;qkI&0C^n_?_j)?04sFZg))w*G2s(%>YhRmScEU#!hoqPBSq-g zWMpw6GI|M&m1IAGvLAED`vA5aRcm>OeV+nSPA8ARi8oEyb7f!8;|ctW8C7erB#@(U zjuJsw7?^mX2?L}Z7_MqQUrktBqOOj4L02b7OSNFkU1lv?+tp25;>J5oN4QSk5376d z-HRM=U)9_y^PdxeZw~+>pys-o%D9k>dU4LDQw&o|ojZBVHJ-Bfp5pz(HG&uRlRbYWTC1CjER^?DMmPsl_$;tX9V(I=vql|K^o0@LWA2pQuzWeugN0r z2nI4(VDPBafDn%5zjfH-{!SM7CqO_|5{dA%2%dJvay2Q z@%`v$t{MVzo`p{h+pM%vSq&hqiFS~!@q0)p8vgP z>qoeHhbZris8v>9V_dt@d-Z}sU1TkEhz6bl4g$8KkikljN zy5|}992$ zC05CGt-)c$hV6NL3j6by{+7E}w|ibYnaE*LwF8j))XGR|B-ITyp}rGQ1J!_lFRu$> zD;Urzu~u)hrlT`& zcxd7ev=Qjm|23Vf2GX+Z>BM|Bf`!0;#zam&DyvoloEr&Qax4JiiAm3U>);mN(OG&v zNsngIN(6vRSJjy;81x}nJA*}+7Shy|OoSfSWapuvfsw{~8KJvCO`uSZvY1hR>)h$8 zr?1a{*$OW>60p$R>>Ir|Cbq`=_Xlqe?|o3XvT>)d=@kD-o*IwEWZd$9a?`K>D-J|I z9*z5<`D*>Kjm3=4stD^qgy0w}dNmpcb~DEd@2Yg!7x^&z&S?bZ{$&y1csY^wWy4bKk>%)w$edG;K&T?!m`#(Rs$^5H}% zK%q8io9|3CWL`V`s@d+Bwj;6Ezrgk#ev-suh0Feq;AJ~weOKjduAMw>)c?mxpMZC` z6Yfe($L%)OOBOS;`N8sO%L$!DE0q+LT1RDt&j`|)5=eam3kjAnDmu@yKZ=1HL6yjZ}^Y6l_Lwv}{vNDIAtJr>CN{ zc=3Wn;(F&Igg95F2$&M&!7>U8E}+K@%2feaA4(c@tX^;wU8hBBQjbW>V+@V01cvLI zw@hq*#IWUiR_|O0j(TPBvCZ%D&j*iBi8Mm(e8ch&%H8;kOl|=f{hW9H+D9 z{e?Gh;)i?!*w@_|;diZwPf1#=Z9C90biv?i(Xw$;Z^5nl&6ACtJ z&}0%TBtEZYY-F-_M~;)3h|P`n1%{#3*g&Ys-o!q7gi-}NA>6)5q4KIKbJUew|qBVcG>1%`g$q(eEq4NmMx_$ zs*$0I|C@@#J_)6_H-B^7-mF&vyPv4a9iA=Tt?X(uPZVQe{)|!eo3dED2X`L#Z(9vb zjxaQ9swuUpbVF5n?qEYLW~Y`;UUyq|n$EDfYPwqh*V;N= zvs$)306=ZkmCe}?Ekx{$>OsyNIpcZN%!o1%JZaw(Rwt?>ID5e195Q0eCV1G^SQiFF zrso14%Z+JSSh*x@HWE|)e8LDC4pRg)D_=&Y>D|ymf?OJ0u7|P*Eb!aW%Ehy#d%_-6 z45|Wza(IS+9@kUO`o97LLh!KXXyy}Bp*EgERivvSTsGE70l%BP`GU*>0bkJGJkqZJ z;OUi(fA4*|+Wqv~Z##dAdhE9T4Ezcf0U=MB*(u705A@>NKPIp3f7snp{Jd|E_R*gH zrS}za?&5PdOir5wv zEVNP%YGT8V)fo`+3JMm&ERU78@9uK^aqh7d;r*!9=w!9EcWHj%N0ZDooCyszZdOSL-eip^G^NS8sdL97x>ke2!*9*UIc&QT?Pq2&91W-(Ow*M-Lzuy) z+7N*fm{c%>&6p*E9<~aGvY!tzS<##{_i~OGwpTB1_>FeyUVj*ESMq1VLUG^WV}!fM zE?7LdFg-eYPg>CY`fSb$Ziw=#niRMTAQlh0IRBwTH&yRH_2LYMtJA9%7u_QTX^T!voWUPvU!zM4#t}@&r(clf4}1Src36gKEJ-9;nh(0#1Rkv+gF$S|}$W zjn+UlQez|IEMnyZfI1&Rbywgf@EU{(V_Yg+Kex-TbXQDn6uQGEW{P3Zl2e~hR#1O zcc-7hjdLV&Hjmuw0wt{mxP+=SHzijZ{fef&<941~U4F(hIiEUB&*V2cq?BX39age^ zWxXR~EK-x$baX-{QBuxQSY|GZ!oJ2eVOVOnL?WUFL|%X-pyZ9zcz%KF*a5Z|(SnVp z5kxeTd9E#YEZbNC^sNdrR4G@m@E?;&r)12F0t;5I^v+mRj7Pp??lgk8X4G1WT5|>D zB4>Oi8tu;=V~1e#g3(06m=FSF$rDY<5dw;*o+!dC+sy@mAQ9z4a=CNRdW#TiRNZ4{ z;zb03;LQbn7bPD!>TZZ0a3-WyRuSNp;DEwe4{%jQlB)4!Z+==-^$k59yErX0sipt) z|7xu43z+3ill7CI-rOZ*%y+Mrzb`$1_36f=X7~5j_cj}tI&qfucT!`{U7nuG&*+Ks z7PHp^t?3>_?<8}?^0T)GX)hj^;=H6Nf}A_TzFWm-#Y=o{qti1oI^%gpXuKgi`Fr4> zuf{g*`bu}Tz8|>*AIsY6eJ`Gfm$o(Sln-rL8ycA$o__b{&Tke^E9s3-Vy%ypaP&Df z!Z=D2stbcgTGz_BlJ!+n3dzt~gN& zFqz@YT}4~ti~uM{o}`cidQAWjfO)>04WR2jqCiQo{|XRr-WwfNRt>O+0< zESWAe3|pN-j9!nuzDFu;e&n5>Yu&#pQBw+Nnm@Vg=Wgx(f7E?f_@uv9O7)~__cvqD zd@DK7J$-Akq|nCHdALs7Tvg3yCG61a+4JX^M&mA+6%&|8K?-eT(Xv%0*$(8^A71o2 z8K>gfrA0S_%NqH0mp<35zC3*>Zt0?2Y1@8YYH`Oxvak2Ge12nQYWbC()Kuxx=7l@n zt*;!u4*obc3UadEY`%Kmbm`9Qol~Wfe-thmTz&aGH2h3=%31vLu$0Lh!;VW{2Wfw7 zoK<^1{C=OxQs*V&S>v7ZuXidTQk5cb=&)B|wYsc&azGIVv^@W=2 z!lVb+MM<0Z{jP~Iub&d8d7J4~vr%ACI@=Ps@aDyo>_l;*T=GsUKlh&SJpmgrj_JiV zj#s8=j?UBVwSiyU`Ja^?LrOA}-j;}xqRWL}>=F@sI$yl%oP&SkP}Z=CH1t=!TmmY@zlU3vk|6Ij#<6422#Vr%-tkE4O=} zSLd*fszWIjtx;FGxH7*Xb1Jl#g#j&%rGvLasBCg z_H^mT0ROzUtKyu;Tj#GD)*rmO^y={X2aAQxPmgPjMZ<+2JfTgfA!Gd8UwuW7sLcG3 z>3j%?jLFQK=TbNv@f5zWDL^%ZCyk&YAP{Y*i($%WPfk zXRltZ%@?S(<{|JXLY`i%c<4uS;rJ3dL1N*#OViW7&o#6>uDvNhFspwnqULtxTxnzp z_XDz5@mu$JO9h1~Y5I-Ug1?DFtYS;`)OlvUmMlt^))f&Pb*VT8`T!~74qyJkmr&jYXW*cOWvr&mz%wsO=_xO zJiHTijQYLujXT>hGGW#+{J!B*_fN&ML)uG5w`KRMC9s893iM{XH&b`gv#hY#kESjPeM3~LTKx~RL9+Gzpv^-(X@;?H!TQVfxAqI6 zevP@;eh-Sa`4zFJKkN72rQW|kyM5W-yQh2C#n95>W8E&p`$`$X?PoGIGq|r^8M4lsESIU5w$m$05hyex5h3 zGn=2j{d8~XU8MQ_>8DHkt*)bc^bf)VKlM)kdoT5%|5SWeGL!eIc+cMCe%?>NK(F^| z;9re5Z%>K0|7Y<~!p+vUbKn2OyW6A`8o0dMo?n+<)Zcy?_cpx$6S#5hV_nz9xc2E| zb(s$i_#Mj*d{=s?G1>Yldu7~vWggUjCV|e#;C2?H?1^#wQAgvs&hCR357vHv;&=A= zr(Ml;_J3cNNxr<;dWR|ukx3tFtzvN2H!(p&Dd@VGt2Tbk>9kSR`!D!o(LJkg?zi-;fO%9#d{McqBPlvoka#OeveDN2*dn6s z$MG6k!D?9KM8N#?G;3Pq(EZh>tnYPgqVTma@ol9`wcRXX*9ARTl2(cKZHi#ckg;bF zTmBB&J1TVnHF;d+gLyieqS_1E&Xcw2MWOSNlC4MksK zP+>LNXRq~C%bwngRXVHL(R6iI;r6>%ku|psso!E|4lfkcT>Xonm1I-m|6#pE=R>rO zd8pf|dsbnZe-(?0J+bQ2Xy=tr?+Q))>+xRnrS2_!*q86!w~Zp=4_=C{*cW@d zKFHVi#i7klcDxy@G^IDzKcc2joIM#6w@P=5`7Et*{e}-h^)hO&{@L!FJF^<`ey!c@ zaDTq%;afGHhuduuSLrswm0Jt^D~ZE7!em)M^+ zv(bt(3@f=9plo#TN0W=?c1`iXn~wazKkaByA1_*FtX#din3M2 zTeLL2@M-dV@agu4$-cym%j2K#R9)=*s{8j>QT~)ydM4wGSBhc9=%d8P(o2ut9t!(7 z@=ploy$vq$f@51kb7$bY9S!xivKsxPdSzobnf7VWL#*cXOk`KZB2X2RE*Tc`rUY+oz{l>bIC;XZl~EO z#}GtII${bjvAuZ1qO8J?nLR_gg?PvAP6?Z~S$G#^)4ELAEbj^rt2b{`^PwxAKRB*DP+7=2{fH@TA-kyo>dVd<}#Hy|t!X-#VnQ2|B5y1Kxd% zbanlhqiMR*m)`E}szz~5EI%>Zx5m3?+2BEt)y)G3v2LLkGi@HcirL1++%JrSm+8(Q@<2C0R;ANVDg zeuVZUBRsWVoHP^Yb{`Mw2s$vF^1X+$Hz^cUN)S4@y&B===N4qAfgN)wK&B!aOl9JQ z_t8>GP{tG`F45lsR0>5FO-<5d44Kg))Bn)_0gP*nyQF*l3pTwO%+QDiX`dnfi=@NS zY=lAitKJqdaeLFdAm7b>G%m&{y0H3{*G+Wh1xaYU|HrXrYkG>Fpdc$YzGK1ay9{0| zue&Bm#ogF#cdWl5_JFy{?Xtx4fB)T=#DD+(xTOEO&bY6~2gAL(@e)1Txclb#@iWgW z@`J)6x^Eik$mpg8v(}Gada!q>JdY~K@ZFB~zLk?puXex*yNu&(&ih{|Jh~5Mb74wW z(|O=U<<`{xkt1)#?a_A^KAexML529x-#9A}LyBRtt6qy|?$?GKGxfzBK!xr?x+Y&R zDQIcDN&*jDey^k`>Qv%Cwq5o176vORvaYRj`gaaml$U*TO{fm(W6~~|@N*`f|7vrM zbo1PF-@XHmExKlb_M40_l_LX-gzx8l8NQDW#R>nYI-z+CrD=XomrZH7N^(uU6jR+_ z#LT&Qyyz`@7oQS~h%(Mk4RfN922bi$xvMGOtiJPV_ltj^xT7SYIw^`mmEFYaiGob! z4H~JYei*Sgj53g!6FlSrvF3mp#NePrQJo4QoznGl%!PHxyef%BM4^?3n#O!tn% zRa>@3+}hgZ%xQCn5$;|8Gq1eAOd4S zk83qCy*jiGGCd=F0&@xm>9;j4GDF=*E!}4tz#r>+w<2GuVK!26nP*88;ig)w@DSg8 z{MCb(rNM9T+D%$+*s+9*g^feS{P=S3DOxTZISKT=c@Sy zy(OEs#6fWrx^kBO3k;_6u@hva^HVF@?7HUT)xy~({#ZkYrtE8|+8rC$I2svm)~;vg z*WhOq%3yo@|D|u#SX;QN#rf0}j^O3!jb#?@W2=4qH&+AL0rv})Rxb$3oT+V8BL%tO zEEotD{ZHT!92A2yAS08s;8Jq%b2d1B8r8jb%A^R%r7%|XPeo)=Y#eMN^Gv9!T*jdQ zYn#5DAFh*a3Evk-Oat5EV*9kQD~)P;@09$*NcW>Rf<;vp%NwpNFX!XGE|#8O32^?@ zD;Y&mLJJvr+NMmNU`*EMnrnE-r(TucP_yqa^XBmCVYig&qRFxs7Bg@s_hD+Gr4*Bf zNi&4js(BHuRjt*dcOtXFFLD|*&CHWJJTiY*f7h{|o|*S4j=$^uI7$B;VjekC5UqFX z^ZB5}?oQrS{g{Mwn2_Y9ZU~c&cx1Lpc`^M#p^x>+u7x1Zv^aD}wfC;)q!JUswx~cj zTx=QIP~Z1@zJ4+^RPis-(2v>Nh%T>X8y#QO`7s_>yyD+MPbjQA;}w|WLayy$D1H$g zMcZ7{f8OYPb}7s)sF8mfla>Wd)tRnut`0Fc35ew*qS0H09e zE?kP3J?^p5Ev&KgJluSJ=kX#2tURA{S?F!SD%_$xy=?mf3s5Z`^wl zSt5MocmM-8WgL)6j>i^$wkUeD@!Dc8CUiV0KvZg^Fh&{nbN7iE-OtY$52p_gUIh^q zs)NcNwcJJ&ir=b0#2tm=a)U*Ain08nwy7pp<*Oa? z2d;7cLPhadrfBN8Pjjkb^T=ZS+gE=a4CxQt^ResR_swPT?draYru`YMqB@Jfu~c01 z@tlRs0&^{fK8q2w5aoUCtY!bJrH@MgoRl(dOuU&yPDz7)eMF@ks2BIahT63?sz%%M zMy6gS&Mj8{d%DrO0g5Wb;vy#iBpJl`7>0_K%EWmDE}&4WYy$)z#o(XuE4GbqdLK%syB(EPG@`V~Lc`=pE0o8i+R+9Wr0 z6Kf0_Ian@qJ6))0LE`1Kl<_XS!vCQic)C+>Z{q&Sg~_igi(UI-@11riy=I?O_)kso zlg;Hne^@@S4A8Y$=^R0(($wlhO_o7`f)g*qWB3`!`gT>160tnlVb%iWNyMN$bOz-= zk5(!$dnd8*N);mOa~5*MEq~S7A2cIuUbuPv*PZ8A-J8yBgUM2nk;zOkji%;Gr7ZjB z7<=&rW+tPHiFHArrfAORiXS##4l2|#U#BGJ;Tu&9#W&!!@d=I1|C_i|)AZqiOaCLb zLH+1Olbd+I#K$Q;VKUnt?y~h$3a5`e1(-xBV|;;q4dM48dP(zh&y^@UXAoG$=i22m^O1Jw>D zBRyJZbqpG#qVV5Afc^+Xm!;v!;X8ayy5r5IF8V?BkF<~Vw_71b?bP4KN)a;Ve8y1? z=#X_;lz4yrMB{jq*Zo7~*xH2e%AK#C^j|6U{aOCzKsY8*8aXio4K$tBfR53Lss2rc zHWaN_QNeG!+GPyK3UKzvG{2vtHZD!o5dFJ($sxXX};u~_(pm$ zLLh?DOVhJ3)Ld95gO!?8Wgn9O1~UMq2$i&WK`E;du*xA=KI%LScE)#lu!v?V%;_ z(#8-jyRFLUe{}j^$T>cBwcah~{RQ6qh61rfbpdTL%=Q!?A$gn69|L?LTJ{AaON~kf+m^1E{&K&6C1|-lX_wGxc=#E>3*Vztlm#c4 zxMBCazwMHi&qwRkG{mXCrKKyW(NP3=li@rzu<@VROUfNTD zU|hyJ`?ah@Su6*K9e5LQ;Qt0q%!nn(03hy2@jGr9>F4?)Y&i4sO_u+2i=|-lhAw>oB%qTqWYAyHLj^JBHCXYwt=>(+ z+08$v0~lXzhF^DEUDHl^+g<@4nmm>`#9-vLdMgFRZSL}R?iGFAPyQ(WH~xzxcJt-0 zuO5WQ*#-$WLri;EAc|E3LK@Rhg^yrR{>8pWT$9avo1XFWtUrEgoX>n%vZml6Uhx0Z zp82aN$b5%JvMZRH-@2kHF<_b$>^PM5wmxQse*ck0#^*{lDBLf=M2z!K`ISW-)i|P{ z5ZA?WS1K&yGQ!wxHwz<+fj0m=L-U0vukzYHjI__J*lwrAfCofLJ<`x^Ve1r=pCa|V z5V+^b-C#Eb!upJ#V~eNKg~@U|4NsATmkNsoN>q#Tcj%g6j}oAWMT1Sj^npfL}1*_o_tGY=`o zvVPs0*X~~=hrxnEibw^R9?KPt3ziEe3;=F$I+`aWAsAKOy$ywAR|A`ic{V2Z+u zHCJ{y#N~TR-xv#|4$Juovn^?Kx)%>TZUBswU{S*rz(!guU+qzj0nm=RG_iW{72)|M%mXuaBg0fYiJc9 zseYSXqM&bOtIJdQ6}$g1*uv-U6#I0`JdLUC0Pk zvnL26J>+;b>{INh2BzZhU*A@~TM7AHgLhUM?}#=t&-7^BL#HE3ab4!^8sV&^ZR-a$ z6wi-mX&$zmg3j>AiWG~r>jI9fZ)KyR1VMq265mx7RD{x1#{e5f!dGj zl-!=)No!4d$yxz9)qp$^WK(dk86}#bn&Qqb!@%aiqc%+UzIctJ>5I4B1LChU4c?nK zUJp0h-mJ18x;MTU7nHXvO_By*h-s!smCMOX-<;oi_nX_=o(ndAm)5?tcWJE(^F^_M~t<$B$l?Uf*khBb+YO@W= z;^}(t`F8VthPLDrNwd_M2HwLH*b^%4`Khgv#dmLd%kff6z3C>|_|^6xX7$6EDon=0 zExIX&*Z?%!`8)05r46?x zr{_LkKFnXweHdt&nG-4S8j`&Jyy6?X_Xt_qsWIUS&T^i67bNPa!gPvYptdViJ~G`^ zgE#~C_8sE6;H#AOxCy^!Ui>}K&}p){NsPlHSwcWGN0Ar>NaCYhmsTm3Tr^Ya(0({>%3 z{T2Hq>&Zo5zr=<1K6ZalA#t*lx2ikz78a>>|qUGj2UBk$Aw>IRpCz?}vh4WDR|A{^%M zL-+y}!^pIVNJ_q>?a{UPkY5N;yv;(v+l?>^cF?!$$X~ih} z(QWH2ZL5E%1fByFn1P9#DzJ?FmIZJR1U0~6faV-EBPo&WvHd?l`~2*o%YKPHH#Z)i z|Dtqz?`Gk4^_ssZu*vz;oxaL9WothdEhM7PflU=LCBYyg0xS}t0~(+;{`b_F3`NJ9_tU+~siH{eBZJb#5bhzwZ^a zcuHTk@|(oWcGYA1ti-d4k58LE`kf)VxgllOwP+8FlsDrf{bEV3WkF&A#|WwO%niz9 z_$9@(l+}gV;Ee1U)8D%~&T)xsxGobju}e4S0mTwmMwJD<;;xl3Qz zPM9hco@MXecOK(UIzuQsmfZNZ{Lcr>_D%L~TWGm+9`>!se%uFJ>p)@F`WwrQ4|@78 zxr%%ACd*%bEp(CMny#NxQc`yLBku9ajYltC^fJ>$UTCeAAi?7H*V5}0UewCVh_<;9 z#l+Y(X5jb8YHQNhj2hR>}-Ymqh;F1HrH6kJDNI;(5jnn148mWyD4Y!B;fjk9y^?=DZT<`hVw6?B06;lQOUx=`744hZ4hhzq3=uQWaPRj8%h`-8x@tR2X2nyn#eN|h>cWIpg(8sO z43;QiTxCq;ZH89p(DdoEie2ToE%&2$+wHb49PHGv2nk}#BR%3m~;SGRDP`zMM zo72-|19xoxEyptQ6vH^~5|r;H$Gv&jWda@CJOKoESAyItGRS;E`pkPd#t7=L zHSVB2WxOD{Q`cXa4c)}^-T&8mUQ5faRLdlHr};i_L+$;};e!{aub8(u=Eini3A*f- zZFB3r`FvBrWv$YSNyW3!Pq*IyNTXMEoxirh`ryS!B$x5-A@?6SaSNKneCx5n;JO8b?| zH7-3}3-R`jzeg>fd3^dX7(J)>DISHILpLsCqaG?1=@={pHN7c2#CsKuk`6UI%-0${ zuVvWgFBqLjlR4)tKKT9jJzvyieR?I-x;}G#eEoHMIuim7gRzxupek0jq*AdYFlOSc z(4pkO|Im`}jEQr#G0s*qx%rw`OaKA^0h9kuh5Zh*pUc}?CZ4iq?=*dne7+f?8S1#D zIa=}L-2IBK*v1pr>c*!Q-=C4TpXMK!>VcS!OrovybvWRQCF#kTk|vD;)1W!l?TaPf zk2j1Z(ef273+=x>j|zKQGtCz@RwSEzFMR$Yb~2Es023vsC6)}oCrEzRCXmfyYbWXPwV$5{t!>C zku;{#e06$$Y)@LIxA;E`9rYX&dHXs$hOCE0ZQmNa>pK2CNP9#rc=g%mM^D=Au5C;4 zJzKnD7lgcG)umkqBr=;ea?jn+oV`Y*_u4G7xBPNDJqMD0TKtONKQJ{VrEQ=boH#|w zAR8ZqYTZ&hWBvX8HU0YVyxf9P^PQ$aV;M2DmZc9iKZ`nF1_au9N}f4}Z#&rk`Ef0% zkZi%*h>1rGD1dM})eMn^v@Fu+tuz-OxWCXAq}3-CJ5$#D#0M?H1BLwsv_Q}%H9ht91UD_ z$Lj#VuoCgV#1AvmR2GvXV10Z%dU)=j>yuwl%!;JF0%!j5oFp_iZLF=ypygjWcf4974E;rt}FjT(PCjWHXM89sRimrCBM|G+1kEX1}-mQMzC z*T6%Nm^tv~1GHfjMWtTGM|7Rv!gut+8%7>$vfZJtZj?G5a=||~k>1{C+VlADw~gyv zeC<=K&Mo>OOWU6rgVTbJ5g%{`)c3ryS`pX{lLv?&RoXdy_ zO%bXo4+^=Nfo)$g<2kclBdrR+%zupV0f1P7E+N-4&h->9tDdaCion}@$LyCxeOd@! zfA^eiRqwTy4+3g4M5pA5*i2nY4P5q0oDkidl6-a!Q*B1g0fnoHIl_jA$;q%syR0Y8 z>w>u6uA0@ilji#$>Ci#01*mcnB&b8BlL-&?Bw6`Fkv!n8cM73NandrIG-ilbLD^#P zNfl(a;y$5Ls*qDLM-yR5LuEv#t^-~;+GYFQQ)eofX;MbBF)>2m zAY7IL5WjQalKsHo^$wtYyusMc7jVN{|rVLdX40^sQ8>;G>zZ^*Hb=J?= z(t4~obYC{!I&z=qz=&zFLRZh;k2#!`pP0PIml;Pk)P8i$A=a$Sl_W*3uVZE@eP-?Y z#@?kpg-)+-6;Y@eAYg+Xg=-54v=mRgU{N&~kUCmTTm1FX8ae39@SwHE4s&TA%6?kh zf4&lG-svb5{y(Pv0xqiO`vb-SMM}B^327Ewx{+py1(seKsij*$y1TnWx;sTeS-QJK z5Tpep1VO^*^7;Or=l{QZUbC}1_s+eqnLBgNd7m?LTw6dG6q<^-@Twn_eZwDR5_cY# zzduTngvo4h>9SlMqgjtb~7S<9KI21s&+A zE**t*>R0vXr|eJBFw`{yBY7NA%|rWSf_PBe0)dUPgPuk4u|}o@rbDo0<3cs44m^wu zxrcY{1m;0Ct4DRC>P_5=2mu+wACC5lavX^ln&{E)EAL9vD~i-ou~@YXB3*BRXpk4{ z7sU>i)OWRYA7!VpIT+1Z=gk&aM@R>Ufr#32yiqSk`Ikp?-rT0B@}WEn{enWG-1Hi7 zz(aq^Sd*h7I~-d4lG=IR)*jgKufFU(h5Oerdj>KnPbvz~w2udx21I+is!H&498X*V z!xOGn1_7ZPk`-l6zPv-dX0#XFs3>fJ;KL<@sUVqZ4Mb{e&idi~4<-7q@O=RbuOQ{3 zwRq5*mfKjvwL=akwm~*m?1Pb_N!7@|Jt=L1JBzO01fd<>bC{#*sl|~hALy%!ymR;k z=8DGkO7Q5}8Edo+R79&ALK>oH!z>8ttIz7HjWp6nSbztcMtKFG8`jboSk=$M5>r`$ zI9nV!k~$X9D04k`?XQ+vKl9z0BTXdvfc3?%3bBLGVv{h9RMKB)HZ$YAXzQ_xJ}9U) z-9*GN-!>NkAP8ghj&_^A)`-U0PrM6(!R-q(KE^H95k37zZMaUH-eDFbkqwu5gI2}k z+cNGLYch%pQK~{8w2)%32ouWKnaq=C6MoNc5S%7hCm zhrE71t~bXPUW}`}(&t&HZVr^bLYMpkOg@=#J+x>R$4u^PH_#TvD8pAYiL>PyEe&fY5W?0BoI zyk#~kuFTEXYwYDb*fga zj9n7?7M-ar2R;iLD3ntN!fwYhVH2V8M7@A@s;d{_a+;Fki`TTjeAS@JN5BY{du74K zQKejE5nWruLv7#q1*t;1wQFvZ5R-1J#IBb^(OfldD+xfMkJtbpk_7^y9V)PLgGnTB zo?m!kc6eU><1X?g4|>x8IroBvV$ln3Tr?9@%;XX-N%VJN=ITk*ib629dL}ZV={BQa zz1*{NUIQw+Fd?tswmQI42hF&n!%=LfasdJMV0G7|9I9ZVWcG4;(g=&AW_*rnoL7}G zbkcL&3-)xfogIC3B*oYie74%*7PbzKp*N0>i~@m@3NKg)Wwq^KPrp1TV$i4^U~d(% zDNHhvE?QwnU5#dFA)2(Jp_I&{&?kZg}WZ3U0bW?2k+8by`}bI1q}@aRQpMX8S6f z+T;;KI#!1QrA>97P0~OJh}ojSA4V3Xbh^1ZMl+S9MnvvBGjsz@PvqX{>7`41HQ9Wg z=6(XG5|W>RR|bF<`q*69>;BgC<$V6?@Ld18I@le z1x2liiSdV8Sc{%RQYt^4%UQEaD@W(2W&;=sX5X;3Ia_t(IpK_-?6F1~vy443C&dZ& z6@rqqg`urNpR(KY+*dr^lQL?iCenK?ifLTgTwz?7FRT8L&hk3A3w_*NMG$(`5Q3zo z0Czpsk=HiB(*caDQChRG9Sg>24q8A&hHj0745JWB(r2Rq8;cVpkrA@LRwke;V`S^> zL^jiZ<+kr>YEiCoL{Q$hlAhgMzJ%Q!jrYX+vtYCD~dLoI0G)+6DHk~y@9gQeX z2T-8xtFt?V2m)W5{V<{2XOw@iX1#|)s zTGKW~lj##+w>c720^kdnYyw|B4b(=r6>>h#9~0sk7)75*G}$E-AR5M!BtVr!L48#g z^b|+`X*i}$4p$TxsmbfWmzV@tsMs>;L!p0yqJaGqTlw|kk&K3k zm3Cmd0=9FA#%+io5#2}jV8f3Qyfxq!Ol|bc8&h~tHlVOdnE?B0YoU~2CbFW(g?_+% zg&9`!^cApY7D1%e=LmwAXxunVuTmvbhxzR3xt=bpQ!_*8(q)5nzdtMM{C<%4o{icC zrT~Ad@uDHo%D^UqS|^Z_Gde==VyZs0yIqz@_ZeFxsabfIJr4mEIt-Q6JiKTaI~vPI zvUQ$JCFJeDev~%^D5z*pp8(67(4L^8qN1RpqoSZad5TW>jDU!kgzOa^HwGyeIXw?A zAHSrOfEoiMlQgr5j5CWYMDE`zu(I#*3bfs4cl|}sLrur111chcmomDcf2pBqv`%ci zRPp30ce7D2$}+Rw8Zrng_n5lvBI&QJ;iBC9T#|wXZ#CDbuau^q3z$ijDQdKxgE$`X z@M8*l`r26S#^^R~wTxJ;I7(NSYgov(1|Btc8)b|j#rc`(Cs|18;S}7vc`>7wQ{T9x za*nsrIq&JT%^8^h^2~@&Sq|)^zuwwy=e>AY`%`nVJPpJ|<8TcNw@&?2;}l^Q)n~j= zIcAXF4t6wdI?ikz4w#c@61FPB=2#`r4o25@l$;yigt&j^-39xsGF#lE3Z?+0C zP>8W1bf5>9Kw6?(`}K>`Sm*>ri80l1v2!ou8;-2!B=$nvlG0~+R^{}6fL#_VermZ1 z2A6`G=cc|~J5O8WHx5$7XmBQG2fp`8`=kP1ML5nWxn~=ctbSvjPRe1^2vW=O$3s2~ zK_8>oTv~iJSTxU+w=*|3W;J^L@p4BSeTV;%wlC4bh>Em&NUM}ZF*eE76_2B=YikuI zOet$>VANH0R8@79Rdp|_ImoLyNUP~Wt9Ar2v`2%2Y|mh1pL?{aVPjYo{G9kKbOYa^ zeUHTUA5r#w$L^$|UC3x&Z3^3*P#KKc98QZx54E%TqbJK=DWR1BP|Zftb3=T6TljgGo~IE}~pXviCVxWccN3sbw=10FK_J8cNz%FKigW6A%{b+Q4i+5tO^*@j1^hClGVK! ztIic6+sQE_Oq$lSwQ8lCpD{!C=|<+GbPAYK|L+{C>~j$RwyWLn_MCN-sZ?6n6LuqU zqk35JXx9y6_POH!%9fH9>lssw6`6D7Q*Fb*c+VVzX$s`iy#7}{!uVJYRH?+;m937g zTmjtb%jn3o%v`1GFL6z_t};C@<)-s2?H!G=(bA06F*>CTY$`J8;n025k@;l~V;xj4 z3-ldl^0d#!dZ=FZq&w4UiJ`=F;g+V~C_K_WaXXG1G?N_-bT&F38#JqB*rKhZqqRxd z>$iao2-@iEgO|e^am)zFrl2cf%{Z21GWPDw>arHGAM=V&9UGQi$JxW_fb$q<83n;?|j^t z#rq9SAeJ$Q@=qoc%20k|TZ`WXjU0@s9(J>`mV*xVNv^pY?{Wq42};RZK>Wveih}*Z zz}fEOJUfqD z;}BokBa!?^d|^X;p)TEw9Kt26x{FB^M?PkaM3l_jVQhMLz`_nE1w$Zx_aFW5r@I1n zo>5ZOo|slzS;LQP$v6MMLPbNT|0A`tR%V6|@)5ka9-5w2Ss>!LO1roNyLgb&Bia1F z=>fDL+NPB?3pUSGIo+|9^DZ9rh003>C&8vVp|bF~j|%%^&ZffruZz1#ExUF^nmpND zWuu&E3VQ-$2CZV9M2hh=;}Wf6y)}{bbr5Um*?g*%RP6BS{Ms7D3qoJ1WV|2Cj4s>k zv;?M4eWgRmTZEKWNtlkGQC@{|stjtR%(&KU*@)2p7)l#*lBemHp@FdeSpM^4C2eSq z?8i##n!A9JVn0_^yli;XogZ#9m7Rv6le(dU25fLaAYZ78L$In&u!=*V3S^Jabb~@H zskN(0H9{0qqPCv?{(8OoAzmO~o^q;=ub^QtW&a20a!{MZB}}%;@^!_F->V_EJU@xI zEKLvI#n`@6iriZwoCtIwndQF;?s^crJK;8Vr+j!%N;wbNb29eW>e?Ker0QDT_ul)I z<8HBx`)(C{AhAVN(A8Olwa2z!n6@y@nj579(J~i#`CYlq)`I=~qis6~rV7(2_;1GW z4AS)V{*()E2Nwezqd2{(^`jlT_4ks!$v(Ki1-pL1`KpCtM+*0Id7yA+%zCHQb+y~U zuq|HeW)95?b>3~No{$}%_ZdSlHx0lnbZV;?7k=7bwt9aRR-C6=v9(_=D4&|Z0tt7< z+J-rF8z8D`0)QfF|NEA zI4ab7vzSE53iy0!$7oglQYXxbY_Ev%iEQtP@qWyCMHWuUh2F8~5mYPnV~<1qgp=|q zEsJUo+19uImz+H2PUy?E?C+?x+%@8SUaRXyY1L5x%eWocc$45aq)tijKcr4Bk4chD zB`Fd_ZMK?I>83#V?ft}{oFmT$1Ni(g`Cm)9f}wzuFB?(7sB?8BxEA*Q<$p=*+}L4T^Dz1ftLIq3wBiYNfW6tp_?}c zrj3Yg!z~)anA}!jTi5xW%F!KLwRNdJ%^9IE&jKDd=)rDl9l65yL4b;dvrTA9LhR zf7xOnSx)CrXnGTwSgtp3Ba>JjA18>xlbf4c>R&z^9PK@5^$(>`IB0?%=Y#sgTpa!# z=3A^u=v(ic{?zoDs*im)9r!mgpUmsG(Wy!p>F3KjEVJ0yGfn195dO*E5U2HLYs&J; z$VM+}1-M4??f6_nE}hs&h{zUCmx9C<${*ej--n$-3`?+OCtX?YGRd#I4gaA`MO-LA z^b}3WAnD0{bulFIAN^0K^nYYTmER>k=wXkJ;ZDCfG;3FMr}sw+2V`v`m26y8KM6R& zJv-_2G(jhos&aii>XiC5HNDQ_YS+H9?iCsZIN6bK4L+=_vPG^EJ+E0_rvSW%tDP;> zZvXWI%rHdQ0oUPz@UD!-uIe@7+pq6VKi+Mqa9-kL4~HQr)4=3dyQ+$g$nR&*|Dk*- zyW=2-R8Ht?H!&Ye`Yg)^{0{TXyV&+mZLdyCt*KiVXDN{`oBEo9+^CFfoH~DYCrs+w zN}Q;(O(FJ;ao2$0NdRpYXJ>k5VjsR>G-8jACQ2OsnA+Au-emq?hq3MiIkYds`f}>ze7iY? z)gO9D9z>)4M>yC1h`D~A{?;pk*n)e!is8-2d5}9ieio><(T?tzC8t_`Z-%M}w7L~9Q} z7c1>~AJJ{o=ueUGsY{PAova*^TQP6>RjpL3qOsE1l?{KC7C*ArEScP{kKr{t|1&vF z!U^fvKGG(q0DS-7mkIw+68YQ1rRnrc)F1kta#C)U?#2o4Tzw99#49%mfKEnRrXO7q zQ+g_nPbmIH=^7J;8K#s~BAI@nEKYI|Mr66NNxSW6%;KjlvA>o}n)Z@dKJ7&g(LmXh ztjEj^O*L|=fV@rQL3%1glw;*>^3OIY*`Qk3%#XR^Ikww*vMy40_Www zUvsEiy*HX+b`Fj866PY@ZiCQ7=xAt@HtSPzePn5mw3ecOx{~Lac45_h4`ff`vMpSruqg2djT%}K)3(m$huY^rq zrJcu~&i?^@>{2AnwE4C8?n~RnACEJJU$1=9WjWWW3ZYW|92H}oZ$&&8UZVX&c~Rrn zsj~|-rLLm})ea)9LR+s!n}&qV($gYf(fdqrSLy~r5V_s--o~k5bER8=6G?k=f?55V zMI$36ih+|ZoMG#Fnq_PIq)MlT_U=073WOgtf@D>vMtlAH$TqgGP35{v?59D1z299} z(P=IrW(}uigi@udHLsWKG3NyrcMnzmUmMOUZ#tV%F=Ip1;;h31^O;_Z$O4m+J4Sj! z%suDa@*Sbmhu9)@s__yk!z-;vTS~$2(hJDXMzi8}0g(<4O zqq7qu?;F{SgS4CMP{#Q4D9FfA2`fZijJY@+85F)b3Hwq!_SqvpUEOq9GSKYVsNM{n zkxb`dow^K9{(3Lgvx7WpcYh7dtxq=GBnLq)!~`#{lgwt@^}9M|ITJBmNjBX}ZQw8% zXn>UcQaqJJbCH|&p6<7aADH~;dhYrTKVsTyDDWRjsxa_$Z;Lo0;k$`XtU~{x#G4f~ zj{afY_G)n27zO%-Ycf4Knocq^hV30&{xSC{ry(ye#>yvL=?DPnvNq!v?)~P^{*5e@ zfM6CaIazi~A0^*kc;0hncia!BCno?`a3uww_nvKWF5CP=d6Fc{4rYywejGbj56k~h zZg4QJb0gvK(c#duS)JYQZ-1n0s4!i^DdS@{0+OFpqn8QF`ZT@uWZPt#8@M__N zo{WtrSB+`U;h`CS_G)+^1B)KlBIJ{0aU|GHaH7o^B?NEyLrq{~(|bz~2&%tsNNHW6 z8}|#S$m+5>e@u1t_Cw*{9HB)%Eq2EiDqbC4p4a$sWT>-#Xz>t|(_G@z`uV?V>Z-a! zH+0(>>B!b7#Yl%RTA?TR`YbDF8Oux$M71+&I|mnpjRCjP@bwTbIJ^m_NE7 zliL0ayXJCsD63{gQAv*_+5@Mq#6_vNT}o48`bIgkb15_QHS#4Mf6^H4{Q}TI@faf> zvTRI5U`yLiOzbRgjQzu4m9)IIS-1M2#F=IJ-Zq8y|u#O{01Y zy5JJ)@bEd~pqLWXQ3d-uN6`o(2<@txQh8O4bWs7zhgt;v}8>z338Rpm_ z`s?I)%V|NgCu(#In%bwnyHjLR8O}dG3vF^ez1ZtNPLN1!@JZipS3>f)J24)(GBRPK+Ew|A#{73XH?&G@G)_Egg}*+_Gnw0W%ErCH`-o1>AVI zf8Bm?0R)EdA5!TxL*+A#%4_2oO7ilr1^>u%68j6$vKFUFyhC0)5vY~EX$jTOTh-aS zc6L&UJ017i9C$zVY*av>H~9WtUd zbQlrU$g!VziCs#XbZDO#hDB-rVj@Z=2%42*7l?|l{D`pqzjEr^5n+cBlz?ivTREQF zr@eM=aJ5d^GxVbEZ*{F~P#YDy**Juz@n5<_eJxbq~w z9x&Kvd~ksfRFGtOx9HPQZLU<6_+9z7l2yASgBRWdTnZGBx?8khK_@++C97O1UC0AE?`9MI;b<5UE;Njj zZ5*uV45|Er`pbm2SIjfyE*!IqNaR2t{xSr_F}eU_GJ7u#R(0tA00hx~`XDU!`~0nL zO^h~P=??D%g7W#XvHODX)V!8=H}wBE%N=0qq3rzNmkr!g>hN0Y}BYiP3cG? zRe|X(X=^Xa8h99jBNM2vPOkoeTZ#7U1IKq^DAj-#b7+l-|Ds1LrU-Fig8RtS%*#tM zLx@V6xptZ?pG>fn$t5-bog8ZZPXb2VCI01Fe+dRA1HK0d&K3P(q`vyoqJI5Il>=gQ z_W=&wUpJV?h(bLA?YbCX3S@CeCwdT!79U}(X(?JL8$NWMjv+LgZ3sBG;v`bNk9>=s zp4O~SeA#cnXIiwtjN*a%zzM(g&6t{Pv$KGQc*aMbnlj+Nuo-VG^!xU+fBk%ewbfdV z5|@sQC_? zHce=*9zMSt`kllMeRHlYg;3P|%BG*_7a^Ul@#u;!JGx0Hr#m&OFzCr zU0X=>mTp8m1se|(O+_!y1$v$p#e)Hz@8BqxknD`{RR4^patMU?NL3tcl#2aLgURtJ zVhCYhReZ1Swh}+Rl{4-&TJxE^aPF0K7~3-H1X>@91d^D!PSu_P zKKSY7x^4_)HpgtWPrBZe44LP4$&~i5%ObM{%fZJ#y*W~ zf3W>D-g>8G2NC56_J}#v8~j}Sd)d?NRA=xbDci-siW9HW#cc9Zd*tt>0p*-`&mMMm z@r+G?#NamlZre)HV1(`2q8SHuIi)tGLyj&#g>Gt9U`4lAN=BB*y4mF}r?JUpudq|R zoM>(XH5*vEYG;dD_`;RT>Md4}<<737vGvYwyfKi28JlR9b!Q3cPEAw(R!8E$^!AfC)3@VsCU~EU~RieG? zqLU3VwjrtKiHyCI4(*pOz-Lu2+3fa=l8+){#17T-xEV+65oY8J8aq*V)gX2oGqNFa z9t>#$8jj`skaBEo9-;X)MM#2T1$L}uJx^@cD9;7!*f;|xS9Dh&+lCnlEfHOxkiKQH zh>y-TIy6t1j$bLEcgWy(--adG4YiZ{=sH7fOP|HsegvAFqs=n=b4VFRjkz>`B}KI1 zQK|~Dl9fOkZ>i%&wR@gH?)jS4oK5qI#tV3*$Q`#N2^L0;Rk)F^g`tE-;4kJ%PR2@3 z`pPuqB?Q?DLApbb{MtysIdlQhmxk!$ckd&0|FYn=_ELw1Ar)@KAIg$UOffSZ5}0PL z)t@Rf3Z;^J!+P2;rz)9UCSD*kvP{-FV}%l`br4=Ax5^w;UzV=_rCUa1hlVS7Oq5_K z2)#i!0$8s8iCl(}vA>3kG$qG*W-e*36xK_bA*hnOzB5z?VC#VVrum4iLjvhBm*II7 zceKiev`UXetz`I8$&f{Euwjf7jRl4%HXJ z%hYscdQI_$K`Hf}J|(95jsbP!DTIf&<5~KDl-Yrn9*$C4hg!ygQd;5pER|Fwjs+>{9cp{*{-K@f65zWe1Fp53)6QqJj8^O>ELo83iA*AAC}# zEU~fx_7N?ux6*1oI!W)&(^zV*(!YAIq;h(mTAAq~osyE{t`2O4#(#8@*_}5>-rV_E zYCL&hxAN`r!otlRu+n!CS#qT@WLmhEm*t@SBxae4#L6+qN34|7swM5{D!Dsf12Btd zT=_tiPal#=C2;2|ONESJvnHy1-?0_Nrw(ueK{$an|4}7QU?rvrn{-$(h+w=Xmx9$p zHKG!>nFadI#l*;gUQ!rTiRvsy_ec;XXKkkEq>37uu6c~x(s8es`veHfhMd2oHgt%j zc8I5UNT>f_3e6J~0D)*xwCcbL~>bxA@t;k^-k)!`3uzKcGmVA|$U8ZKE%8mZ74 zv6jWL*fj!zqL6yYHl0@@c9MUNF)gKk#u+o=l_*z z#g!mr(E!#=xW(P9O&LP_EKXEROey43U__BRL|9B1daqiFPO^PY$*|>Zh;e2FqSAz7 zL{}Yxe)HEdBqkcZ~vfF1k?U$1Y@l zu}4$L{@Qn4Zrz2xYgfu^KKP=_`=awdI&{{!aAqDG)?^4UfAyCF4R0>dW+(DH*@!Z}PLR5lNC1i+i%OK7o*C@91MaQbTOHJ*ha2ifL zLWde!Clpw@a05+gs@}4p40Vujp^kedfr+ay?=eK9n?u>bR zKQh?bosni$o03U~jj+SrW<}jGV!5nJij22jtSTMg<1ruC_2_lzdY-kWH+6)azmb}5 za{YEoWp=9GevWf{SU33C$-u_ zj9f5B-<`?Gku!Fo_Ud=vojKlZoU@&&k8pW{uq30e@`5lmpD_&a>kcoN*9&IiOze{9 zD3k6s<4iDJ_$i?Sml0Ds%6Ffic_W-IaQrj>$8m4D+K2aH@>;9??y6ZE7Ay=WP0jq6 zDZB}BBt?IU{?t0^uSL0jluTVpldP3bi^nUB+Eb1rqOuachxutoKjBV1$%dZP4nI^Y z$m#whurJ1JSRHk3WLHp8-fAZ-F28RC|af2|Al4Bx`j+3x+I+1LO3 zI2WpHPNU}fagnlauR93CjobL(+Usp%In@Yc_@me;pX`2>)W(UonmSB(bEzNokP-Z5 z`a@<{xrkTGR5+lpM*kG};I6gC+tdyg5nbL`ic%HV{c_?>WTiY6UhpI?&F!#Gh+$t+ z;^*fZ8amllY=S?Szv=F#@HV_t;=;MTJQ&}9z)dB7z~=5|ARBo70ePq(%l_`W=0B7f zqAsWxzkyFEJHrI)uZ!z|JAaE+!awEfgjnAa_(GxqXu0kmN*FUIZr^aIJpUrv?IwHw zd*jCE0a0t|QXl&yb^uN1m|GQE*=;ipvjqdnRnh3A;)H#B3_CkWA}gY2=&gIDTIZlM zT$awn%7T%_x%MNd{65^b%k9@S&$o;Fh057euBBgB?TJr?I*0c|KEmK|_;A}kH`#CS zJ6J~Oa^)FPONK}!CGFc_sNOGrWIA0#_?VRiZ`=D_*8!C%ZjfB00SETN2+?8;8L{a& ze+qZ#R|*yuwJ=hp@yL+mgYD|C^gn5KS;4SOTh7jS%`Nv5xdrt{xw*0ZoR3C&mMX>} zt@}x8#Qe20X4&Ai<-nmM<}Pk{Sz2l3#H?0={6Cbv{`xlLjR$-${ci%Us2F_ce(0%u zA;!VZLr%X$ljIGA#xsC6B5qDI>gx;qhom1f88;+vo6YeXK9fT#TJ>n`u><}JauPoL za&iupKJb_1$AYh#Bmbc^sQ9Mi|0R^yAcPpC=SCp61Xlpe8nj8Go%YfBMXSTNF8SMe z=5?Gt22oe(n;u%fGC|vn^?b3Vr}{M|Oa`ibjIN3=L`KkJ zbbkHFqmEXkgT-UR-dExfJE4^%0Nf!6@ey4L1mrYC3|_#1ZA;+8T54LAgN>*y_Jon`tFDlT=@~aZz=JR20+OjtT&Z0J zeuM6ryM%9jox%~lztxzbmZz)Qt|glWpx(dy#A105Q1MmIGjbAnX}|-KgtX996zhm>iXO28De|KtH9o z3VgUeS*O20#O%VLC(Xc|LzGlyLJ~{t!`1xXM{L-|trq`j_jm{B-Jyk9*?jY#cFe6< z&NhEFn$fn5;;N4mH#j+gGc_^uu&~uk@+4+nV@+ z-W4v6x{8z9K&dq>JcNMe!%oxd&gbo~eq+j{-REH3r}ynsl*n2ZV*X~b?ZmooG#s{L z<+Qduhuh& zyQOvqd~qjmU9j5vXYY@&sZ;M(uBcXi?fBS0dO~isyW*IiU}S+s+KnTGpz_?s>Xht7 zx$?Bd7Qx>3R06X29}1ks{_R~dJ?lTrHTZWi#P_%83D-ly5*4SnN4yfCUYD3}qf5-RdSCvbT%Cs5 z9}FqUe|a2`y`W7pq7?;En|cC<7cBS_J+Q{Dr`0Blyq^pF-a8Qv-B-{mfB*DKWD9CP zAQuOCD?~V7eA>a-173;YZ&eb$V!4r!bhWJ>LN892N!4A`jfO4!Rz*LVfh5dUJ(*}z z7I#J~x(mJY#y$O~1wO7TRF4RU-wwi2YM&@*baZq*bNu7mRM*tAGG5n6`(=k_1(@Z; zbY~H%NAhSWC9a7&eP30R2dO^QY1}i@hAo+_bxiVp_e1bPU!hsg7VKiA#-+-Gl z_TvWp>v&xb^Y{HP<^|Fe`b2E!edW2k;pb_KasDB3jGkXuRl$Uc9F-xKa}CMcu$Gzji15+<%ND3 z(pLlnKNkf@mvPW_|Fk6yZ;VX%!gvUb^@8u)@oP!F| z#dpX*0?;xS=jJB%x7X3-zHN8Cg#IJSH>#KwoLogqC3v86(=~SfU7?<`(OTn`@A85Z z8(;eax|QyEvuh%J<<+vv)mdzLd3TrKqvR8htgO*TtLLWd$3GNV_QZ+~zt%`i0s}nu zOu&2!b&HDdA27Z(%$Q%@50##C=Z`=<*`x~>!l^ri%2gdp}% z6Lgp2R51zw>*_iD9yzLS`#M+0Ji571lu%V1Lh}(C-+Ob$a@^n#S7YeW2WvF)>&7V8 z!PHm(kaw;?{p7>1R%MS3ZZBp=VUCQkGiP`uRqmLrisRcO7Ob=k{Su8(->3A^4vvV_ zY;8x|I3nJ0-7MZ8r&sHC#BH1p3ftOgscDwBd7!V!Zx8k*EP$RhNuo9sNsPWp>Gi(=1UOZ^^+c^)6d(QD&54Udgv=5SU7&y_(v#6hy}e=q>=Bh zo>?2bvrJcpmb3qDlcu;qFawA!c0zbAGrUj?Z$(eoMD5Mlf4s5bABx@=;i^%~VqQTk zJv}|?n`M;s9P(DxU!guFEI45H=lItrwycR#*qXbhQw>W!ORBWT!qrf)z82j-6eL;E zync*U#6-k-a>6)kWZFd?$hXHnDf-p%*c>{2BH zrnj#*^qA!$yqKy$NvfKW#wQHY%#0UY*)fWkQE8FmFyO_v7DoGpMu9bD!5PTc*lkqqdO zN1GKq4NnNcK}kbd zAbLd#?Q6f8O@fxS1I$1`n3#=Dx^cMir^ml`YxMN^_*$PVtdy*X&=#yq1sKV^4z>il zb<+P@@srhNPq)-!wi0AYjBWn;YVJ{ae>J8um)TOo{=6rTjLWj1f#)x5v+m#+qltz*xXWhyj&@LG`?oW5N^iGjz~ zr(LjX*!0#2Cv*jOb~0i5Ukr5){+?|q_8APR;i2uMtlcNs%H1KTjBr~toz#dsr1{@; z2h}v(C6n`I=o(lcGGkPeZZmS2cy)noj(l${ErEPtTyaGZO{b@4qYp?<8SVxDPzs28 zmN?HJ5pKI$94H-GCEdePc*J_tYFofxa(+EMf|erE^fUw}?ySKbBIfjS`5KVjN}m9+8~ACtQ+#j!IUHYd>QKhB+yd z&k>5YM+LYCOCU=h8?ntADM$HQqxK()ITGnjGBxJ(jb^ z@r;(()DSmLE3`jpvwnogNlc3dffdg5%Qid9B4v4B78wJ^eFdc2 zU>MH!k3wGw)x%@9C4G1*Ke|~>O~BKO#HiU&rE-bV`$dmCmNeYMgUJK@_3=vvo`php zxbWB1@^UfZLx#U9Lp~dy2#K<0O93QM%ri>G7yARSh2rSfv^I9zw!uM8mCmoVonOIC zU%^$YW&N+dQ~D~hF}@A&W&7)H(~36JgWer#8E7zVFbsU0V-0G=ScuBC?>&Q<52{{M z#AUActp~4Xw|@XWiS2>yq00kxr>k;|Y`(DNHtlo%<5Tc)wT~@uMj3dg+S7KOGS;NB zp-79_wAl*hdCO^JfAGZL z;1u}$g#TUW;de5n2-L!mjkHO=EfwkIusl#J%2HT2$Mp(j+9k-yL>ik6^fo%x$T?Ju zqjkMW^zsZYV^t>|6juGbR_3q?Irm696u3x*4fq!Cd$%ru=qNO zb`jY1ol^*NA;{P^PJzU#m5nOZwpMP@kvGZh9#7xlJpQ6|&(!OOPF~oa*}5xn)%Oss zPTqL$)2%!*#;+MsZht?JMb%Nu)9d#$;49g18;wq58BI5p-sbfZ}|OZ=@<#10KzD;c1-8!zJIiR>DrzrZZ@ z3f0~vgx{0YUUA=ng#1Eos1`Fy0gUuk%GobNJTl2qJjn&^#a_Qi|w??(~{qZmwhG6cs%;bV&}0= zx%Khru+2c`sNikZ87;X((p)UCX3Wum54Z6+_LW(8W*U&^kwKDzH)E@fRLYcQOGhg- z3$*&?!yzb()1qk0v3!NIevbJBd=I&Zn5J)6v-}7IVyRM9T&Pn)O|;>{N^=Dyvtz`F(`S z>a9rT-w2hJdA?V|&Ivo1Z_58#d8mbT?Rfe()#&IdwYxw=r+F26<)>(f`baV;v%z6O z2g({+Bl_<&bKFJc(+j8wq3ppRrQpg(3IRzuyMvwmz=BvBeIelo)3K~7!Sh!}${HV3 zI9`;~g&$mPuAqd|B;gD*suhlKGNwq!F^l=sJw#~-?l)Lp3d%)c9l!fsc6I4AM%?OX z%-7W)GPY9}D@pKYn&u+};(+{42CCR43X;HnJ`#;xE_(kD1&YmDRA6^#`$@a6LkFj5 zzmp@T%!nLjhh73^8wKo&4e;%zS-|_f7Vvm)0l!HHPz`-pzTa)X=%a#Im);51KBj-5`$zw4HyHe0qSaM0?uge(7`^|&u&Gp z083UQEbPfJxMqWk^d^i!cc5d~TcsYY{`BN8C?&>IzT~wt~luhK8x2{V6@AkszN+uTs zlZ!i@OBnTYQw7$oRW(C|qM@CFp`GII2-ZVCa*;99I@Xdteofq(cSbV>;X8s@&9LzM zMdsCg$@$$Fe1#l5>1bC^O`_w-)dfl%Ac$rEvijy=7y!a-@5G()9?9=9#rcwCO8!031bY7*e9Nn~e=gF@ ztD&RJ#zl5^%O*{J;2lrHi%r6KXLFZlZxYC?qOHiuCO9~9aAKG<$R_GIatw_G;yH6Q zJUeZYobTP{X&MDyInpLY#aLOs?LTvLk@azTW5Lbm3}cB`17tg5Ie8+8bBUSPil^&4 z=e<%m^AI70V1HxqR%YZ@WOX!s9cy$)5pzCEWJeL5N`Jzt>6#+Z>(QD8)0xT(-A)gG zi30bFZEn(}diRSnCkb29tNJ&lTG8VUd-#iQb`{NE!w;3>{HCa+ERJNUI)bXF`Yv|s z#cYiI`|X@_t(UXT?ZXHg3%mPXvM&#UrEL~6am{}^=WhswI0*)KZIKlS28S7AUqnJ0 zY!fN(cq0{abi?bnQ`?v5r)2plEQ_^*oOlDfW{tc`IxmFXcawjP@1&N>DK<8=noKpC zcPSF3;ifdy?jD)BBdRA>yS~%uHD2tY_j8ly^~|rXiFH3K-F3T+J7XwPZK~zQ%J&iJ z`s?L&bYScy)OGIiT&Ho`Bv5UTZ?ww-Tjr=-|?-i)5yN7vZ%2m>F;M`XMZ=^@3Eug(P_yO zZMu0CQzY^=|0kNVY}8w0ItXWd`tQA?67zIvXP6Eq%Mghm7DLT_~ay6Idns{;e>(N)2&Om*VfI1Li3{k5m+M)%gId(YNg8#eE z6mm;NH*M>U(h^X;X4 zoBvQYjK0zUj$_UTkNS+G;@b!u+K2Zfe(~g8d-#%9pL>U)XS^pKe=y}m0jGTsM~XOY z09Ec^&j20LYH2Whhb`>#Xa7{&=WEpu{U*lxr#>W-2cInfPUzy#F`GNGq0%sq6+Jyqzdt&hg#P!K0bySVYQnq=KoKtf zbQ$@9+D#^Zy2NkYw2f|u9^UQ8>x|xIYP^)pf z)4=9W2Q2`SqozY{D-2m`R8nryHuVw1Z z48CS+oQN3Ij1NOH3SocxXDzo&`7ieSVP}Y*!pN`Yj_8POO|P`g`@3&r{lEiy0RDVW z`sfIgu!j-&KLGS)pPp@R9ee_~bfxvZ>8;*zC0#PC&r9(mDvGJ#aKrpw{TE$AO{B=c zAXL%|L$%Kvt8bw8G9DpjGfR_CA_rm)Xa$;A3lblYRPfgJI2~}Ce$$>UdmPi7Br4F- zJ-?r5?QG|Ep;EaA{{8=O_SIog1^>Gkh=Nkm5&}x>5&|L(N(u-_E!`{~g0#p=mz1zH z(%l^*DBWEvCEW-}mv*chAc(XHK8pot^W}`*~+1tYX1-VMl-%4);=b zakKfN9pN3PeyytLOO^1Y_%EN2B|LjF%M7_4W9yn6Fw#D01BC^b^i8GC>Ai0lloHDA z+|v9$JHx|)T{oS;6vMd z<`R6=!FXXG1X?0pD8SW#TWgs2YX%EOS)pV8Fv^WBPDAU7JryUp|4kvnG)SR5QCj+_ zh6s+PW$`ND6Q(()U9o=F))F`fY0Yv)Mn(=tHX&&?kM>iJAaw0Cop^I#pT7zfFG`*F z7}=uLg=3ag>t?9qa$)Xb*?OEAPdCl}V3@Yew*RC@0-60NKf{AU5#r_qpNDd+&m@2v z4}FtGJ?=+iUCIVwU7V_L$$nd*%RR(J3kyXimWCs`n}02;zJlM8?v8j=fb#_9{vs%oPI|l~#KW-UG&p|kJfrVDG(ebfQUuKRZz7&x-$GVAG4t`lVmQ2BZ4}0w;XoUX2k7tx+wC>mxZMap{ST zt-g(6h6?4ql`#rryUMSst z1G3OCRzi(MI)Ycn=OU-K^S&MhAa1=Um9T`{XqjNqCpbFa9M{oH%<*eVRp7quK;eGD zz``WF@xTy^SxSH@{Iof2w3JPe>8;+#rna)72A19qwmq#NV>Yv1&VOz{w)gc%EicRN z;~TbS_CCkWlq(H?WYnAWLcm>2oajfC>&u}cIKP1*1!;_m0&5wlWq!$2$WPS&!PsZ| zSaL`Q$JH22<85jQnJWlFo@$Ex;3%!UrI#l}08_au%`W#Tw#~k*ER;X!QPk3hQ?=T+9j!sxcrZ60Foh;o=r4&>Z>9Z^lh0L}S+BgS zh?_52R;9F11Y&Ul8hROj&jc&t;Enncrkv}@1e_N1Fn4YSsC%59#RMX3v)ujZe48Sp zXO>He@fA%90$>s@9wHmHE+I#?df9+TE3vBhlE)jLzFeuI`1kG0$G_OVZ`H)dii}Py z$TT+UiymB|;*d+}QBYY~jU?pIkdJ%k9{N7ZB!Tpkub*QHF-&&rI$3w6L}V2?;SGI9`GYvuIyJ0yWo@?tPnjA(`d zDtE0mhf8_bMc%?55oG@RZWNi{O>=iCGV?sy_1wW-OqskN4UahHUVc8$x-)rd8nTr$f0@}k^LK?p*hozk{fwt^vuv-!Za6Nwu>(|_~%9{$;{s6 zl$ry|kXCWh+;g&Jwo>*S>mf-DUAz60dmdDRt zwThQjQJNL3k4d7m27Bf2BvWIYGUemHUnl*hTJ!}DH`WYRjrR3SHGbB#!;0n zw!8vG!mq2Dq!=69QkW2|*whfR2XW)lFEc5w3dAwf%G`E&^P)MN*wMW(!X9GvHS}}A zD_Q;o9pc-sTjNDAkPb49kC8#uDT+PWbf1+YUSpk6M^P_{tFN5UDiPlavNAgkO6B4s zB_3hC^{|a&zNf=bCWMp7wPsiux41vP4#PoWoY%Cd3wR`?3s^n$v$hcTs*2U9+iHN zB=4Oy_uTFu3{Rdt{RmhF9yLG~RDjcW$%$_^y13zc#` z&+M7aBytOn&Ux2_uBd&R=N2qlPgl*FwVncsHV0!)WTD1;i%{hC^1(nbiEnyVuhpPm z1%%~`4+u8Yv(9`n8cggBabqv8wAIi`lW0)q)msNmTu8f;J&vG7SnkFX;Gg&e* z9LqNB70s7>9t#&Wq%6*S$Hl+=mxUZLsC%#9tsPa6KK05!QUz zXujEK1rGSL7z2MlxUDIwJS{E8NJ=UzEpc9}=~6VgOZy+T4d}23JRq<7QEF{am`^g8 zZ`N92!EW(5k2)PU?#=*nP2IIH(U{=W+gn;Dh2@Gtqm_o}T?IF>;WXFShH1I&;u84l z76%TZ)! z7G~6sV$?6(yFRPWicSjGu^n27RtJ#8eeubgf-k*RE2PZ|Z&=>5Hb^BQoD|bCvoyyf z3s-c1v>IZu)Ab;UgsyF88VkQU*+-M{;e`A*tO-AEPU*Q4g7bQB3i4F#oJ=sz}2Oft>dOn=0`a|lvaWN zU0gT&Q>3mrO9)JZBJrl_Po~I{sd`>tLc^@3dF}iJk;lsT20`_hEBM&I%^jC_2=c#4 z=3k@8AhN*kn!P4W-7W6>GN?2vJrg>R=cci2t!v!6%%XMvlrg^gko6=OVK_TceV8uT z+Q?zsqqX?dl&rd~aH}D1-P@`l4H4KAI-VaJY8_w6YIrDbt0P_CqGNR{Ws(sm%i)|b zP-<2bqa3b2T#6&(GNje(-dW8I{37^d&jAI5Xa6~Wgo!xU<&v_8`?4>av^;lobKUVB zf0AzBN=$j}(&o17JAuz)&7Dh|d+*-~<*=JpVs0L$d`%uvD?bhTi5*0CJuO3!C-z;g z!vs;B6lTCq4`h+Ifo4Q=`&w?%^}ontyPn5(1Ejf3F4uFG{NLPQ-W};-O@~s`NH}=h z%qzmY!mYfbzre~%^|XkI+?n@)uBu485v4~nG!JZq)9XVrc;0Yp{DY9joBx38+UVyu zv;Jop`YiN3uZw@aj4*M56x0APT!Ffv<}WA;GV2BMB%R2c@!#xYv4}~)O_WSAMp6Yl z*SkIQt^hLY-Chuo?~EnP`~7lfj3e+m&f}l0)@_f!OQv#stF+u<)p+yxAMV~!W%|jV zBX(U?#&d33bp_{V$5T>>PXc3R9yO)hGj`w}a`+CW+YjkREorft@>L{E{q z@*X{t@(onR-l3`B*SNl7lehV(#Q8%wZ^B&E(5IdDnarW3HNqm*AVG@y`gT9I(ak1< zckH2GW2MBJj=NFrs+$dThk68JJKx8%UF;sS6H-2FGHNO`=ydC*nR_SuH3oCDh8@18 z+dc6$rm4E@*b?RQ$o+{I{!Y_%YSQjv_+B^4C-2Yz@-%mK^;A4{wa?*p*R0zl+SRcUi602 z=9fJpMR|Gof7M?$9f2PzRyEo^YQYkxCw=J{TM9+&L4i) zt0bzg3jgVQTY$b7|3ei#2B>_2KgfUf_vvnxlOzRN0&ENbbtiCo;hVS=%PzC2fr$*R%5=I>V=Q3#(Mux_+EA6rJBR;G*m{JOG*-yRQNbc zG!506$0{l53XowqJj*@tA8x7m7IxR|8Hfi(KUwL0>OyJ7rf{;<4gLJ6G-5(AFyT3W zLhT)k4zx;fzp5b;OP@XRf9}Z<%9z#|V(PUZz0~%*J0yGjfr4JB={S{wx>4<<-N-@B z`g^7q1Y7}_T&V3JDu>$y~q~4Wv zG`N8e zNZRjC?v+oLea10~oxUravVF$kYsVy#WKjLl44*^Z+(7*U zT*;@TocaV6QYq}rVKoPZ>snD&Ydfbm2z53?sh@opJF4wsUZ=D7{C&YB)aAB|Z7^ur zzGFL_jMp#z-l~|;BnkJm(>}BE;G?X1p;!kCfuszzGT92jlVvJUAhN zEtjz>@AW@fEx*sj=JzzU2OYTbS{MPiVGtMJxTqKT{46piFmzS;{;DkaLf^X_C!Nc2 z%t@Avu}(P#8VwZ@pHut>Q-2YmZld=m9jAnP5V2LeL7*A^dFY%XaE!2d2t;BYXSQ}- z(|j2rSx+Jl2J#xk{$Tv(%L#px!}bTm0Yp5Gv#?PTV0TfHwmCH5grd}ND7|(THfBm! z_U`Y52YKHs4tf3kExvxO--Gf<=aU`A-L=_lghq}henGAk(os|mzq5DLPUqRZXO)@P zq5?=ioeCPAdtj+YOE`AdRXH;WK<#fN{jO^;-PtTeMpz6b-Q(A!E`?x!Sb2)q4-t6Q zGxdYEd8-2*F(JhF{NyqUcS#%_upU8wLWHH8rxuvoc&A?)CitmQ1Vm&@9Gf=Gzo&5S zp}`B(Gxy#Rc*2%^>yhwFJ+9`)&j*2*K$KazH$2Qo_l%R~MQCH#H+d-#WRH7%a(jV@TdD!6#mn!(4KF1fZ zo$#>|n#&&aaz>Wy4+c$)$fD4&r!AvnriK}2bcc4)dKZd#+DWa)L$&NJn>R~^4?pe6 z*hoP^u$qlwkiDC;1p5Is`YwPNNTAK#UFBQ^E}0g#-|YP^5?`usKLullA1gg&S!zH4 zdA4=%PXGH>)X(J(`8*r^5R$J!%a0aRxw6i`?;J-S#?s)F$9S`PGXXE}SjAu+QYI0u z<`|36r9hyWBcLp~+r#AOHszT$3LQuteB)t1%aFWJwsL&lXc|l(P40m0LEy7SsV6~) z^8Fxu4kV+=XZnbcj)Hr4O6^Ganwwy3xY52OUT>pLjvuWzBNftYM}&w}aTBn7cMhO# zEgrPrd?~<)#$$ZoNxN3WcaC!H*v})jowp`!h;wH(>8bI z!M3zQvZqK`?>W%JbOjJ2%d9mqQi}poGQM=Yzr{gwevbDsKNY`HcYQ;t@o_m2;KAXU zTH)L@eYALMT_7$oYA>@PeaLevCz$FF2A$L%laa)$;`{Hoe)9cX*JkD=4oZ}1xwHq- z{fH`wEn!w=`zn=Vjx0tQv)|>~;uQK!&`~^K_As>8#r1~x@RUr3YzAWx=|1*|BmM;pLEszti0V- zM``IFthb1Y?2|>BZL1}=M2;9ueHWx(uMv_3naG!a{MjiUoEXzK>)jGo{{0x&L0bWG zYE18Io@Gx@-wVfCc5&J{i78M#I!gac+FG`MdQ&ZSkPCV8bhg?kd0}rlF;v~eL{gY6 z{HY*h4HYBbtM#yiNXfDYker+Dm>T+>9h}_ji_Hwsr}bLweEwnX8Ff~VMRjJ>mXhz0qSP=X|68$hMzArpXk3u({zzdj-BDfG%?yP!dN4L>b z72A48?u$#S8;5t2qka{jy@|}#VG+xfnupsKIUh5=40}um`=8&jDb?=TtjH%GVU^i{ zIdyelW^Krn4P}~@t~`Qg()CG2G!2(WFfb1;r3yX$gK?|`zRqp|nGN|@5Bb1eh_1w{ zB@s*7ziW)<%UJFM7kl<1`6`Bc`&+Au9;-|9woUypHkNS418Pb_W4goSvjlW6d@Xk5 zal(#E*r5x}HDGaMRZtj3lQj3eemEMk7I1qNSSO*$KPWRz^@WwA0V~z$qUzsLBnQN-SrHeW{yI;-!=E7AbvH?Sh^T%;%%`gR|Akynbs)99f z)zo^TgcR3md2>=*r2-Ba`!S4-o;@1Ryipfa`ui@+ivrdc7C5gpqf?5AfwTmBBMq%D zsZrD6YGlRT-N1B7z}1wGn@X<%5@dNDiXMm$Equi2T&#vnC`;e4w6L(gbtp_4>$!R?vy@?d z{do{OmQ}8;chr9|@kT+Fft9D$!;fI9dfALKjdh)>>XH5K;|$fMnenCpY?N=A1q#PX z^oc~3bkA!_+Qw^oek*>tmYXa5#Hl$P`6iRGa#{>&--55RUQus zYx$=GzrKkP4T1=)n!l(YdrUPSRKMQ3zhDB^TLpdA)hfIx6bbK7{uZq-GS6-d3bHc1xn zgK*lpr@eQ5b-EXKu*9{|l^uiZXJ`2=8Y!sCb6X{QelYjV>d0zRsS`mM$Fp_8GrXw& zVo0*Cs&IYLdspqfz1pRvx2U z_w9Foy2kDn8oZ9aZ-1c8D5Ma!RNmd4Js#a(%$kheq73Z(lqh!z>bK6N@cme?<6*6l zApiPEy#=wP#--Y8U5)=h2kid6s})%J2qKA{tI!r62^W@UR}3uiX=W76b7zO<`~yp} zuG-ZFs+{`zuXBJ=bQLp}WeSHAlp}HsWPCpAG3T&Da*CP$1IAo-hMZJjO33JA5oz00 zV^`xQ-A!(guIc*#cjTu)$GU7so@Iwc@IOF;J0O9v7Fh=`zi|!QJ$f`ZyhO*M=S|<9 z_!K(P_bxt!;%&+980cSdwmgVs+^Kxx^H5?yH93RMr z4-}nxuWxu;Y0>;7wi1ZDKrH^6!L;-UwK58D3|_n7PKDZ6|9F-d`obgwQ9grH-Y)3aN6ek z)iejvx&Ka9*QcA%la+vphGWUi|1LnUe8%whn`{*{h?;kMb5vo3ddxCqyTt)pjqwZ6bMN55cxxjFIBM9V?{di5I+`b|-F zPYa{ksn8p?Ju;@n*X%Liic(pNnRX~z0B~4%0Im&&We|SEVYRiH(*iZZd#Dtx{Rx$ zisG2;h7fpgw$B@Vs03eFh-d2u0-kq+cTUHQi>vwzR9fwHSxFsvCV;(&%=FPJhIsqu}R zR#1dWr6srReJV{|a0wH%Cb$bHRd^twZBAuZ(6nH7w4lCfMDEY_BwkzZX~M_!nHaU` z{3b=ivYWgUhY!+r3+5LzTHBPX$od>9;ez;WT&G%^EL@tPUB+_fiTZWLZBm&zl6{VotS{({`Xn}Knv#Rh@EmY^ya)fo2io78%oRZ zyWh8ggd{qgm75%481A437F*(xv#PM{c^Conu`O%D%PdeOr1Q%Zd-Wexi- zb4Q`1y?)^~|IEU_gmWgHb)9p@h;nm(|OE=jv80Nd-6eyMBEkAvLWR{$H( znCi&7KcR5E{qR|O&Gcm`!R2$cK*r0DWb9#t4ES-;a9JGL+uB2VJQxV79Gd-k_u*B8 zAo2Qrir#A<1nw$#pOMQlAsAbv5N(vvFxa`Zl){o;bi(gOU3!}1CrI4LmHSA|M+Fq_ zMWjenpDe$O<)`)a6NAV<7%s&`c*j58DGN#2n^bSx5AHZHm9iSmtxSDY_n*$W=tYs_ zvrzdN^eZiAPD446BO<}~-Upx2RWjFx__*@6*>KfW=q{vj5JyTCsGiU@5nvVs1+bA5 zNH|N^)M-w(C1qVWqnq9Wpns<_?O^80tly4WD-Y3hjRW7=1Zcgb(cXr6jN&FhOxBwJ;| zXO#M`gZ3ECM|8k{5nSI!WI(=b&#?Ru+Y+b%(TWyEE5y04-azyTnbh$zEou7Y1tsQ{dS3hz7=PQCg|& zDrsOHjk?0L^$72{6Dd!sn;e!kR(hg!%Mx%N*#(I6fWwZrFZl}m(QcLVc;(=N7|#Q{TT(&m zaxfA^sA+nN>_-SYr_4x;Z8x1z(_KU~hMir0O8$-23|uH5I(3~KX_Z&G*I53-bV=TO ze2HoE4j6S_h`{Iy9r8|}Tnf@{slOX>>>Pe0G*wiTUK8E>N+Q}?Sieo5&qsuL&P;iz zIKda&Qz^{N#4YcuR#4e@4K+o>%1 zF(pb7_W8DQb?K2{EQkM;7q1^9AGFxdrD;32ttOxYg4ft!4~4IFfzHhz0s1zX(N*v@YW3a)Q0 zFP&=U23Anf2UK@zeZTgw{;O`0`90kNxB6@y93NAVl5H*mk6Cf{eJ_GXqLZDN)e&0e zgjJs&TSQb!QYN;F+zR2fhaSFJS0yXw>U$g1pr)o*RMjBQ#3R5cdS_=r^z9=bHL-A? zrU`@GoniIYb(`MBCz-+|gILiI&lW{)?nxdyxdqoTeV^>!Ru{PH*2c0=b7}`t6;;AO zidt%uTU%7r8VV6Uh)_ek3f%LECAzK{u9x8vfr^O<(GF2vP5LJrF@ZXa?N%u=t?_Ty zc2UfokAI(woZUPc7C-e~y+z~}uLBX%HF?PDQ2l~^e}?XTC`E&W-bi(^RYAo&P%pu{ zfD{+Jw9tIN8=(lLNX$Ix#6!T9!L7EUDl*JFd^8MZkZSDrFXQ!ob}NWKP9sxRvdc(< zTLB}1Qe9dBRoCQezmO3=KPSN+9KVT}xt8QfIzTq^2V;^Ybl;J?Zo*e0Vm?dizN2#8 zZ2FDzS)a1+AwPF=`GZkNvySVe2v2*V>B^df<}a%BP4*~$BA(>ueAR6pq4Ye*a>S1- zGw8g4^)=C}$TkSR3ImFExt&&?}scc>>Fvy8Ro}D$+!txeO+BICV7Fv zY6-D*@0UVUMCQOF_}UkrLhNKA!DFH>B!4uRpz7lo_(a^F4oK#F}iNo0ChV( zi^+0*Q5a!%-7r%WzmPC2LfcoyS1luuLRHi3dFHTjDJwq}q#^^@LND*%navJj<&ww_ z%7kUCYipFsWr*iBMP?1<{7N6vQ;9)l4V$rNC<&smK4RN#q%qrEx#+JYJ zRM~fAFW3W;jr@P0Cebk_=+{hU1Z6k{ozQ&Wz8Bx*$S3N3k;r+{-D9eqtw%76TcSwS zBu8AN@YvjsS6n>)=EX5K)EVFWAKV?*rG3r(>9ybeaDT;wX8U3LeP#;lXT@CB3wRf( z?v_6o8PUfuvJBDOp4QA^ixE^1oU}I%`(`L{a_aZb1;R0M1u|=L>zbyy`4XhNK#4P@N93f&h#Ke9I7#R@!Nclj7tOi^9XdQYA zoeEb}fv>fDCV8IPZN!7(i`1`cE`B$$-9JByj&UZhq7s#Fcx+try}?qZ<$;e&Yy&0l z0eRt}3k&-&L9I)y$c!iP0G-{(s&WxVENm{aFMYIzrrpCv^T!knySIL0e^LG&AODGF z zIR2+Bc94!;y~<$Ly`_d2nhO4pGjW&>GIi#*Kg~6*k+m4GCGa6%4WMkygd5v~Y_(u^ zE7l_L$8^JTBUT?=CxGmClGnt3N`Q1sMC(2}7nER|_{|%t`P79s8b&2U^^PExjkPUjCF^&#%i{{i%7*=!u-KTRE+4fgRa<+T+pBaPGh* zS{Xaz`vJ>FTg!riB8Q3fqH8+-JLZ~P4lc!@7a>!_#YxkgfY?E^Oi~W}561k?USU~S z(E4Xf^~LYW?WP`|MMlzYcXjqTh#8Ak7q~GJimN~Wp8eA1iC-BYUr~CWFEjU;m)FPS zsTi0^0$FdFP!>Y0UcJDT+<+k+b8qx|7!vzQI4M#Y-1{-yai;@$V;$?NrR5ULW-wNX zIcR}Brwv_tQ$)mcN;_x97SntXYr@Ji=hmP@`l`;!17SiFz8!J_lo<;9K7J zX3uyyngM;-no5ERWC`F|6bKWVz!NEsXeAO@e@iqGO^_dYfak3FuaOBst*mSnQTxgqb|HI+d>fnzLcA0M1q zNMdX^(8DOjpJ}9PITW*{j-jse3SOJeW2CNY(xaufA29LTLQ$ZkjaT zvwG>~NB7OnuxCd{^^K0k8#sUt8rC4y0I96LOo8c~I}{JEnbwfv0aQuZg&~*ik|3Y$ zF9`peq4j~ZDxM2}4kLl7e){yw_LZVnT2IeTk_t6(UJ(FEUJ>bkQnEbEW?~66xFtX* zWf~=yCk-p7Xs+}#H(0LMI-y;SQ&x?A*1yyy2c7?i9CYFTEcM8!@yM$8%J>JrjC#MT z5|BX`f<;;Net&T_dzBBt1|=EwLH`^4vaa@XwdUWg{%70&&i*@AjYozW-bf5UxXRyD zMUX=&V3Xa`@I`D{j&zm1X0De7p(0rC3jaCXzZdYIQ}=t2i@b4rWI^Ee&vqrl@O+gj zRb$fV29*f9);1x7xzNn zxB%C5m-i%()So=KP9(YC%KPlm$Z$!eT)rQ~($6B;FV7N(yd6H3=gt!IYXWW4ixZ*TL%w*buuJ8@vJ&PO$cbpOmo z-^}B0KT${$h;hBc*`eH;XYIu^H(C-MtLQ7~(?4SBwkU7{t|*KLgcZ;-{m&8<=ni4| z%WzF#mf+|EW(&xryosZu46c~3s}isOESkOzDuD<%pujf4v`w;Ig`@vpT(kPei{a>3 zJCjf;9+@!oL8=sDc{)UjR0JlK?tn%7&_B|1Br!B;x^l0$ZkZ zL!op)sj}Hf8 z1BV*>>FZNJs-G2h=G$3JU7xzXw|o3djOStVouAXV_OLIh4wOa35zN2pCcgGt31IPL z;LpWT_9^3)Crom(1rwiMhC@zBp>$#ImPi*A*3&s&2*E+`@~tk)=R4?LxBu5yArgs} z7NeUuD0D*;-L?ed1FVC%jy9AQ6hvo$mLn?!t-?;($IJAvK_TJga;vV=3LY7pWmU#H z=3v{IKn4Hp?+uAv0cUse+S)SczFGuGj&53-Xf6~hm%aUuileN}U)&9VJ*TsH@@?ZH>VXfA8E&FP(YOks#>#iB> zNn|zD28J%SM;H9>vl~`b8#Yz{lXlxwp#ci5(CNR-RmtDk|4V97mH+>SV6d9mKLndq z{eQv&z2V;@{yQ0P{s1moO*15W)yS{F&(J(u-PTs3gGQ#~sPXY=kvE3eIO|biH+~jn z_hvTa^^(uDXgcve#KEcm((6rK2wi)SW%gr}>1W@@TE=LI6U+vuhMmQO`n&{e;*a3pa0AVxo3~ym&-!H22Z{TTJJ)Gsig}R*1*k~D zu>f~fJ)T@?ZJZ1M@koKeb#z*E2bc#kd$Oo@=qmlbJ&Hu;@3PGCx(L6tR z?Z27e-2DHbYW|1C{JI55$;#r@NR$C$h=*gYGK#Gg12tvwHFdFQl*KEyI-uwMpjqib zxv6$=ZZveBwG%0Sn9s95&Wf+eN~}pstjS99V9dS-hBa?>7;RMn7yzZAjM+C@pN^tI zwA4zpXeYtT#+=Q@n9X3Q=^%DXkaz2{>ja5-mCx?ueSBkhr1)5oQgnlYk|VXQ3?78S zY4e&0!533ee_=ydN@vrLO(b@Q|EU_o3!b;iKT^ssfKmlVs0xfLC64sL5)6?Cn~!86jp{09K}sT7)R405 z%t$DDu)MBf2s#sy*@awE0-MAjyV=2>R9WitG+b4{o|Nj-R9#;c)@P}@s^snE8k;L+ zy1vRokG99z4UPcz1VN%#FVgsTU?or-gOn+TL^npuUY!+7eVK-VJt=j*Nn(BB1g=HHqlSjaY-*UI_ovN*f^&5`45IS zL7flzk?XL42bb@FA<75yD`8P1yoJ?SG0l$vSr%(j^JeG#-c#_r+E+e9u=XlPzR4td zlE>+5bjITTUP>~!5;erP#&nuR#LA}=r+w@TdykXrjSFFVjf{YzYMh9S*c7?eRl%d# zBAmX5m8CieVQ*GuH70jSgL1A19BDTx=VtU>>1m&$^FJyvHuSoG>2pobx=m6DZl6i$FR$@Y$Zgotc7jKCUVI5*Dg|@=dw< z+Tz`Pt?jikcPUPn<}r$C?31Xu$R>nY+PV@+VB;T*JNK6^%eM==Pxo27tr}f5v<4ej z1i`5yek7}BUzbc^_+qHJvGnd?@kxwk?aMlAVe&*P&Y>@h%hPcG>O9@=supUzewnDSh!{`&6`@zGiXx^Usgk{sVxl?< zBnzqFnzBL-gRRuVI6$(Ay@P&gz!uQ#VSJ!mP(GS1iE(!68oiz9Y zkFvnM32Fa+t3McGQS@s^{YR@#`_}7vpWkLWpZ1TL(uHL@y8lXwS}Yo(f~4%-7~M;% z@x?C0b{+W1k@Bp2?)_L%)pJIt`}Ztx8=SjNbab~@_y8Mtw*YukDT5GNVcS0#K8S7_ zmcxrZ9p@gX2US@k&&G&gaVB;eaSHlCdLfjHkXIW%w^a1&%bo;4 zh6R}2Sk(9V;#{*@ZwIH|v+^3x#PUkqAyyrne~|@CZIg>PiY}>S%Y4^r4wVguf4vcV zU<-~LCBE37usS=|px4+&9fpvnt#~G&!nVFX`@vO2JGuCKgU-p>>F^&6*URdIq`{8- zQ#LXB4i(8M`PYZLS`3}U^)}W&_|r@cZ}G*tRT8gJA3w`NVo2u{ni_+Qaiua#o3suc-DWAP1h*lq*L~o z=6Tld@QU1Mhj`!ZI{LU9)lqH#MUY9$p-`kWv zu(Zb9fJ8>v=+xfPdA-~qMYln_iqaam`eY(__SjFH&q>em8|0-%wmC&2&kl;i^%~rY zrxAs9e8gvb4n3*;a1Z-{dRa!U*~;*PAaZBW6ufW^V&gG;jMs$T3%GR2*)T*ijn^+Q z-jHC68!ctw#*v`^$YZ@hVc*xfnHSfV1zRb@I66+B?cZMi0PAq`4|ncKvF*KIE~U`K zN3^)V*dMn(d*GR`TiFJwm}()t zjm8|oBMHhbArbu4V>qrHRJ0U!&Y7sD3b&*SRA64rCdOI5q`Kg`An%>MOB1m=8?#S* zq2K844=uW^M!a6pIGtTTTePpch>~F{p51po*xHEtZOrD19#>>e?4Nv=wKhp8JgC(Z~AG~Ls9$yIBPRz=ODPo zAizWN_4)4~Si^gGq9;x|C+$2|emW=b_B_g=b&X8InR|S&urr!5YWa=>ofwrr7(I1$ zl!w3t!-IPad^KnIpE&e@$cxXZ=OcXVs~%rD`X_0TzZ+A8*e>I?ZqHynS@qWwJLo)H zq-^{GT{&H9oYRX0p`Ny&MW$vW$|W=i8$vMUr>KI6K&1Oz_4W;AQA4%s$!g zb6(zBqizT|r%RzZ_!B6!a5#p$FidQ?KA`@%6m=c#<7iI z*;{Ngs1oxM78EQ{0H5K;!BD#sy&U>;oTF8b!44YvY1em`_riouye{^}St~A6_M+s~ zs!V|_JQ+3P9W-t{o}Yht=LONqEzc+8pKLy?E~Bufb%5FK=g)D!-|LO(RoZ^5f?fJu ztH)V(mCCegMEK6KT_$~%pF)<7pUwyI5&i1p`!Y{it)?c=#4TZ7ar^95d-1ex=b);n ze$5O2(z_cG@)loDD6gtj(WCue-G~kS_ndsm&rMw4{Z4Fr$u=9!MLD{0>AHCF_OgsI zw<9g+S7aFzO>3ZiJPRjNN|1wG;&WH*x6NV@xmX9R2VRM3@|>F4)n-}_?dvzjnJW2p zGTX-Wdy1w)(Kn!>Mrw>E0->w7)_DJ5-Ko2g9ii8luXl{d70jlOaYPZhvLBn4Ut4_a z;X6DrpPj&|C6gS;g=gkn6bSTEvB*GbV%$J%QPrXO?|ptcPeujgxMS^KPeUm&o>NeT zA9SJ4rhM3armx<&<;x44^v>Clt>leQGsxO69+dbuZ`yCIPO{CEQis{fPgN~l>^Z6R z9|gFHT_)~DDfS%cRXZ+kdY&iHjoz!1Ce^embTmF(XSMc?dY*(?eB%|v>Lg!U=i1lu z8>3}g9rkbP##5$&W*+=}l&q~yJMT-)dwkW<%hc&DuX=w0brWhNJRdvQ#ZsrQK49dE zkjmSNkf5&5)GJaG+eJ&w#YUUyCUd?%xOLm;Lr2!K2*y63)|j&S@LYSHMZr7b{%h@v zhkN6&8>vp8UV|dCR$vd;Xk&JuF?CY##r{I|{z~`?e3FO0)6wB5YZ-Ct(l^>SBV`nB z6*QQ8N?bk^(nLjk!5Ksz9>^joU|pfOY?a1uP~_FlQMeii!W=Gb*=@k^*ypltPW$hc zp!=x1Uy5ct58mzRB{zy7+BS>F36c-|Z8sEXdp;Hg%6pWJ*%QsGToTApPVa4XB3@?` zKaeJ-ggsj5Qd(Y~Zw}f1H85;cx%Ig8^Kk3_OoWqmcAh>woL9-$Meo%_8s<*_&K4^t+KqCe29%P$mFIX)$WKZcG9))W( zL^T|l=-A(m%JZQ5pz@M>u_D4^Di(L~n+}F1tpj%@<_n&XW1g;=h<$d1=v4JNpF-v` zWpabUjF|ArWmzL@8D-V-=s5fA9C1K{Z!+G2Y4{#x>S+3~gxsE&>flCSHGmQya~A1s!UBlBO36x;K4K~@u}%sxk$P-=JT#QSpna@JJD?(AYx zZ1t(`qfXjd(;KSJ5F$7htIwg+qVIKd4=X+eJ#qD0t4Dp{9Jaz&DBG)OPstGMr@Dt$|X8}i))JTthrVrLkqPRy4_aS-qp$U1PoqNTWZjZ461vqqoYHrK^V`+ z5clNuiapP5{_~{Yqfraq8VdPhiBHbneqLcp(z>{UsnIxedp$^^A%@hb^!bJAB=(ky@Ec|n0^1uv*iop_YdGUy0e}Em$Nua2(i-( zH!Qj^M+bX8xmRU6pQ>}Dtnw*%Ji=n^uRpYs%Q0rMsa}Vsyp-)|=X&#ENUWCaOFkoJ zUPlcyt;$nR`NM&Xv&4i~C8OXqT*wdN;;hDZN=X6O&1DZ#{GNWWC!f~g(?<0@to$+Z z@?mcL+htR_VLGXR4$%j?R_v9=^-46kI^fInoMz=>$^FZs>mLl=V#K=fWdd}`y?^dn zj3YQ-d!4(DdYAbImdlliq^gB%a1}0ow{ch5I?LZ5Rc)F?p<8 zN)N}{F0p(g`zxXzCB{j1tw13W=6iRygOR@>>ozH!W_y*=uF>av69xfkVJiI&z3cu| z5jUEc=XjZP=sor>_Kx=PQV4{@tlD|th<2(a;TSg5rS#G(|UkEi97w7@sgaoF+wGPYaRryj#f^Kb*-OaaSFqGoZu=Rv{h} zh|7@act7XEb_7jkNxSI%3Cf!cJ_eT0)$Mik2AT35l?i)4R^k6xI~8x)^Y&qfBlxgOM-f-eOrbeMpqqrWL=BcPUHjvl#3IXa$P(>sVzj(Si{d@kh9z z$jdG|d*9#4le4{}?mBYt!`BHvRa+AL+Mn+@JA$pX_WM`zugC_q?nXurMdVlZ(O)sY z*oQ8P&d2syJKjR^lTXTKl`e{gX6{m`0lIag#4JX-XOGz|4Bz}OroID^sy6;#R<>(z8R6R5D~0P)_8u3R zSGKY;O0rj3*B)_k%`2`I%2sxEh>DP%L?ZS6pX+^pzu*5k&wcK>$8pYco^_t_`F=jh z@mgFHY*CpLcBw}?%4wBS4aA#?C29hIsFgX|aY@$2h)aAhRQ!SA9NZ*l;beHK__i!G zb@B7c`@8;_!HNd0Xg*CU91hF_v5X!4KKwMLWS@O9;=Y#y>md8o9kh~ZdUdRwe>-!4}CRS3ny%ItKaqEi}; zcmYytYt0yJaaJ2poXm$X+P*+p3G9E^Bvq!J;WR}_<`-f|e0#fiDZ5G@+ulX~-e8Ln zJvxn9wwY_KI0KFIhlxGVZ@KaG@!r(q+o#L#eXS0;H5yP$ZqmuU(G*l!JA|_01y;TS z3)Hfett70-qY_o$BAV?&VvO2boV z>224`ZBzlAa~2za4wbTD(AveEbO&V-I0WH0xe5XhRQpJ#uqqdlFv0y}*@_S%0Ff+-IgChaA!)^Ad#vh4Td z-Mqwf#mo{G$sJ8hl6Wn)_=7mb!Y2jZ@=6q8%C#XR)m|#|@Kzh(Mag9O{DiK7UDYT~ z0>yxKOR%i%#U$R!qxAtMGwXE9D>_828(j*4KCmqt{^#KaOBDxk*G7d6G2^G)K1(Ix zvoD4o#_E+760Rp=`D-D%#{I^Fr{PsmrlH@p4jjGCfZJ&N_Ly(E6kA||tE*mbF=myuP9_+c;6`KK7k9_17s_ryNd$M>%z@&I&mP1m-r1VW{9oxp(Kwe^Q%!ByU&-*7^R#KQ=qZrkIgKLk8U6MCBmH9PJT7l@jTXE&TE*Mfy?Q;5 zDpV{ikJgpD*IHFi2|Hmofu4uo2Z@DG8881Zg`4JRUsKu}G|zP2bay>^x9z*FI%jij z)v?*>bP%<%a%TNQtG&;?>Pu=S)8BJ94E>V_NV+GhHLy>kneraMtWNw>ff!@(Q^+?o zM-@a$EgHz&K4EXL1cn9e$p^eDJvuF=#kKFF<+rA(qKp3_XuA?Pe?1!xSr0N!mhXoYx3J@IQxR&es-B_i zW~Iu+6z4Nm&q_zehD?h)mhW%UOp<;O;!6zmgI;+cabEGh^TGHI7^)l%tzC&!89Gni zD?9{=&LbiH=j*5E$3tiKjn8)^wohqvLm#zmKfkT@+w$jK{;Hv=l403W?z#SXu0u%7 zrL&Q>)&4kAKi9;e&}6n))^1X5FLl{JC?!PLi>3xol+_~p-~-55#y~&dI=33)ClxH4 zD5N!+0&690w5#@0B2LVQu3NPMGjz?t>`q-Zjz8ge%AyQZ(z09TboHFlCq1C+LH`N^i)^*DD0x8Pnj0&RP_QT2jo7*m{C;llBVXaTp z@e(IF;9zpEkM+5EJ(P}CO{}2XD4WV4x~Wa7%oPlxQh(c9}~_3I&0v-17~KY2wd23`QaCW01+b( zQ=51;@;4gTde(;(Q%dzHCmfmZXZg3nJ$Zg|tLpsr~Bu^OHppdhO02FK6jcgLyg zT|9P&T?)t#MGH2m8%AH>??2lf3|&z%zH@kz{i=5To2ZiY_B)HvCV2Ud?p$__Y8d#+ zNt_hN@HOJUnTneFE#jN{5l*6-7KvCo_e3mxzh-Anjh?w%^`r&(cF}~p)#xF?ugp?W zxJ5FS?GhV;56lraA>D?-u^MgruNT_}2sgC7o-I7iWrl}FNemK!c{|UCiFxk+4u$$~ zYh?yoj6=P&9)wgI9sdtOD8HuGh{iSZnW>0nu~y7FmS{U@&}B7ZYt&do%ubMhGAR9{ za~eKh;JW(z-zB#)A7WGOa9tS5cfZ$nK^y(}ci3Mk8;vjDN;zOr&EgI@dQ(h?B9GVL zKa~BeGB@76uG`!!cl&TzCtwmnL@y?&Q6!VLUh3(6*o8Lz5b!ojsjdsU0p(0oUEDdN zkvBC)H<)ZVj%y{(Wy9jhW?l?mlnJS z94kCx5f%m>NqV$Nr8cZ5z53xLTZ|i#JU@>|@`t0JA1DYm%Q_X%0n#ftLM>9W1&Wo|*I+BRU_`gqsJ-E!< zhS`+V<;m6=V=IyNshD-PCxbLG*$4u|2u8^`X<&`%7i?f0nd^J2L{)bdQ%*&NlpUaD z$Mv!4WDXpPCaqbr+>($;wYA}im8d95DkEGyB^j7G9>7s1m9a1nN=Q`HU8^X)SnLAp zT?1712DW&wugyB0&1MRDV>TldqjWzx@(VfT{f9BXI@Rxc#r(pl-}hF z8^D-N(*{rE6f|zZ_483^bu%;&NVs6|SPZ zmw9*}D~Lhems7egu2^@qLIQXJ5Mt^CFm-~Ml7uS2qC5h8{MLo98i}vk!F%`r@xnXt z!aMJ_wjV==_E)ijECoZ7%4v5VTz$0<4_Qk5QN?sY@{nCH2-qITEUsGS4@oMfX*BY^ z`goh7HvNaS+y+i}tSmc!@P&N(9dEu@bGJj9E)M&7j+V3J3}gSA`%aC7J@G)Au!jGU zXdR?{7y*JXKnyJ!8rhno8xjqIU_4p0FSYl4%czZocn$Mxk_Vpesu^%y&DM%LdV0(- z7XyxI(VBnVdf3;8buR!)Zu8Sr>3iofa}m0HQUl7Ua^$L}6t7f=in|g$c6OP_Yh6l+ z=K2V4EYTx`MU7xPFcWXj&v&_`02KlnWK!?KunGpT6w<55At7kwN{3;ISAwAtCk2}a z&P)H5Zn6JNLOYR={HBY>z0HpcDASBd1M)p%1O`zmQ>*T>9>6sFKMqX#0T*EV!mF;X zDD;{Q4;Z`89)cTuES=v*RJQb(kP&ViEGkt`==cxyae)d zT0t&K)6*7m7cwLU0B89lJ7T0P7R5SpL z4G+h_!%v!yr?7zl3TK{$+TanxzmfsG4&X6Fb@%~)A$$<^u}$m7k$m8EIpnsl(JwgZ z0_nDTHEY8qg4zpKbUdM64c`o#V>uWinkRyVovA2_dHPlpqYP0$u-zB+)4GM70Ne16 zA9RSRtuoz%lc}Al4Ry+JpLj`!@oM7I@WY0yL-{w@ob!oauNn`qF?dhJbU=~;!;zbX z#qrQdQ79~-63O+NmqV!#p6UT~Q{a=19*!c*WSVwlc6T6gPPXjmmk`yNEB6@u*c6d2 z5H=bc|G%##N|dh{&5#CdO5fMaPm0Zo$41^V*bd6$+>Fwrsq71 z9fn~S&rza}6ZYUvFceVs*V7pniQ#8|ZsB#7RghquLYPfhF2r7Nhv$nW%zU>QM6!b3G1dq7OM$(l!;2&r@u{!4O)6x6TJ*c7x2*y z05@b_i;nb)q`yQi(1sZm1YzR_ylj-BU72NP)|hxI|m9KtP(=qq(gB%+CVuurpw zNP!3qy8q{bsxqAjCrv(m|NH|RCfxQf)hp2Vm|>}E2A?KtdBnGQ@$`9KB1{h}S+_xS zGRQe%2Y!iUoV44}@iHV6Uu?Epksad8Y~~#mJ%-V%t%`Lt>CYyHEj#G*8%+*c1ZpXK z7!V8YHth(tW_e?BPf##4k#s2Iwc$9jrSA6Sxoz|?c5*cSl;x%FExUuV+E#d53A7d7 zVeK5mU>M_x9GY8VIG_7K$%F*e?h5z zxwN$WiC%`+t8R*=H0mgaiV=*)M6O)R)Ca;K7i4olpIe?2JUOogO7m4 z@TNL$9vgYhDC+$M`0tj67X5s*qhJs70!U!-MBwpwKOuF)sHuiUgTi_j#RpoJCerGf znZ#-tCoL45b(8W%g!B#o8wfCh^~M4jjc{x~-ur-I^q9^a%EfuF0Ajh<8qut(o-RL^ z!=H=)z2z4nx1Vsyz~F6WcCjUgSt4Y#ZUlzIX2;j8nHyMW6 z6Bp?7MyT_ySpXioXjXg!<34K4o?Pmz?Ip@zP2~nNf++ihf6ti84|e6048hu{l#qL6 zjd^7hS4N%JYj^UZXV}5@@CiQ`(`X}#>Bjw=TX_0cY#sz01XHDm7Eg_-B)X_MCtEs_ z&h=D}FVeDApBP8;=6Yv&yQg>@vc5fuaOf$q z+{LxDE&|GExEP` zVvp%3^lFWcd8TTd{-uN;0jRttml787GS4 zq&VjRq?Mkgc#s_un+McB@n!-_HENW1t5{X#HJ?6Bi;R|a6zpw`f_PlS1BlZ67o-37 zu+RoK9G;gsE3<^T2K2lpl8k*ZW?JdU9y-otH4XBK-jm2V-!mGVBw6aQRW6tfUA+yX zDc~DZaG5HkvXYW(84PDL&c`+!{0cPaiox8?*YaO0dl1_P`BaJY`kjwdpkg)^Tzwm( zpg4c+wzmbsB!*o-{f*eId->)09GVovOIg4a3{MVSG*Y4A9zV|`*zmt;aAEg=ELRMO z9nS+aj&2Bsoah_nRoDw_2u;4Go!kXzs#gvJNrnbBf-W{%u7nh%GoEUCvg%t@rB|)& zfCq0%QdZIM>)-O7vw+(NP8S zRs!%dmsPvXEOe>XdDHt#Fd=To>i@7V!?kN^!j_=2VGyxrV@uISM9#E7a4|6-TzImi&RUc80u4i9z<*1Qkx{1v?kM)G0Abcjl4-c8#<=U>H-17f{T{) z-=N$^T;$*QfN(JSGiJ4uJxPAvBS^)ycqP~%D~i032((_z_^|?Te2KK`Acx@9Lp{uG zteV$}*}*769Hc7lVtjx7$V(5#^mGTq*?B$F;!2cd;%%rVX`lK%V9GBpD1B zCXu%cy@|Y_ArSp-_ce(L2RVnVA{+6H@L7 zBPVJgP4#bTFIZb624h?_S~U6SSd7^MACbRcp;%C&N~!+2?53Utq^)qRa4&4?dA{J8 zMcZKI!{<$=iHlqMk0#dI_iM2zc%xCz^^2&$Z6p&Gjo2V)E)lkuEf(5*kE7Ct`nn&sol!%}k?M$}&Js=V>_CCQU&7LDncjRn39%K@zQz zms+pPV^`(vWf*9jfeNJ0SZ8GSTaS^SkhNCv%(h+p%?le_G1~mUl}RV-J&XkaagOUA zybM-ro_kphynN(tg$df3S56DMY@B3~`04f_v;b*un$|&6$PRW`XOX)-x$?&=2T7CV|k@m5I1+3&K z?v8eVQTq?~_8fLiLDfk_#0F;!klspWir5HSt@O$_O z3iB^jMYB6@?J!zI=Be^^_&s|7RtPBk*qE3X9iIn?@+gU2lw%NSfMfMzG#)(CQ%(bP zYV5qxXhRQQCD>U_=`5`#=Fl4Q!Y9mbZ?JvjPPx~j5_p_=Sl%CV1l>bne>dff6fODT zg^rT&V#HUXu&kQmN0g#MxJ?gAy9o=m#~QXtf!I_7cGIo;jY0~$`fkoNl?SR!s9+z7 z$UnEjiDF@sIPrEN9Vs=MXM6X)$ZfrvgI9{)b@^PXC{>#%9$;I|#4251=HZnS!PlnH z;+(axV3R(WT;NrzhhvZ9R8{(EGh&?Q;Wb{4;Z;R+M2L|YbCuojhUW&;3BpVJ7W@8= ze@sGK+n8{UTaK<*xm&;yn=%@72;*mSl|GACbe38)k473gl4&KfznAmeRuv6Am)a?)Eu16;DQ8RP5unhv`!cA$lQrrt9k)n-Ri`uP(#$pT`)+j_M31%ZwL985EDsU>ru|Sr?+&K+n7QqbI0s zjHU(E&D4vGdsP_o_jVvMUslsa?0-xnmW9e2dHy_p8 z8GX17KiB<-KsVq{M@=ZPC{MF!Mc7bVe`4;zo4|~<hX$cf=jNyP zDmrYh6*tscB6g{l(De1B1?lI3)Bv_s9t1;SYOuHWuZ|BSNP^|1eqW4Z zyvh2EwcpE7E7B=sJ`E#5H%TfRim9;`ZERqScDITZoEW~jX{fzmJD3U~@Cgyt%OHkS&253m!*oS+8k(cp1v&-jDO*W^D7; zCJRA#!GucTLZT8YYO1-l3-J@NAj>gO3;iwaNH#O?$p$RAT7|K9E$#JOVcBGA8KAH@qYd6lAK@ZDwgUa(W>56SF>8G#PB77 zx%{iXto*DPwtAbU81iZlen*^^nBt^%u@2|S@Kv>0w-g>L_$I3|a|{i4_6@GNX7;&z z9gaKh&QC1bJ=G9CSQpx=z`(~E=UK3lAEzfn9QZYTACEHGydADDRf{r+^Vb~PF z+LxsNav8e8rNP)_UA39n{z_TQJ^1k0lt#ub{QmpAQzh2ODgW`poG3{D&|W)<;?Z4~ zpLWXhZYOpQYBaoUpl8gTwsBuy!E&(XFf)L*%upB__OS%|^!69sFS6UtMCPd{c$)}< zij-iauhH6<$?x;T3cp(|?die0iWw^p`+jSND1ggR^3wCQ7t|u2hUoFV6pD&0{Tiq&hIQVxRdcPDtFs;DH|8EX;x{?O_>Y zOwz#M8E?PWgErjvK-?xuhfJm}(?=r?ZM-g^d6J*P1JyT_H8RsOg;cyoHYpvWtkOV?qdLmV+;gY?lA4d)$A!d?P}xz6P@ zH=}0wX}%pjbG$f>_@0YtZ^k5a&6M{N0_08Ca{dK2w0ah3v)2s465zBmoj5;+s zZ}N(~UI(Uq)*WN+TXgpXwbR<>z3{TBHh*S2X2Td^o;o}NR)BRR3=$mKiM~`i>uQ&2 zOcjZh^flm;WyuU_#(G!EqQN>WK_sRAACpdK^a6c>L9Ts{(ldu;&}O!{KOslXa>?3es>+nPfS9oB&z$V7@7BguA-xJDT2vGxK4n-$UI|e32T}{u!XMX6 zXWbDH*EkxdxDvdb z#J;TSNzkp<0lLB(!CSN|;wOzzG`gb#;Oo7swtRko2H_( z+S2SLX>`PzpzOXiuDSB>6_seLCZnZjz9BAIz+Y?gLc_sKu151j)O!sv_3EW)p#U1s zr9NSL&LGVY4zu@mM1#ii#*XbulhVZ|IYXGE@$J)P`_v-c8uS4J+DK3 zqh1$nb+Go;+M6Xn)v1v2GHZ7ZsP#HrR|1)DjLAE^YF47Dq)HT<3m|B6SAb35C`C;+ zLT5JGuR`_j%9NycJ2VePl8&8LLFmQdx>-W1P+nOudqi^u3jo&j-N|P^;_}^)9@^I*f3F5OB5=Dewis#4Oi^EZ1TNpD@=Gr$l^(CAhO9Zs9q`i=*Gs@; zQU@`afe+svxl~*yY1(RPkKJz_K7}N!D0M{z23Yoo#KIX*NaLN2CFfspYZU%fxU*Gm zry0-6GeE~qW4Cm(e5M)9BDiQ@)uOlZp&ORzBX;{ey34R1!*<4Y^ROQ9r9cpy>pphg{^e{n?q?hMzLHa#+N$VH4P-PHFt&*6dgoSjULme#JR4 z&d@amc*IC}n9}JP7&ILrcB60t3J07Yftj zL|#HssGGeoqLd9O$?@Ux^A(-B)xr2{mo#5_zW(!4#xmqN72`%*BBO(GFga$kWbF5! zAB-AeQ+dBDin5@ZGkGDBY4-G-zy|RVecWm$OVg{z4^{2#810cwCq+BTy!HK3qqWLr zq*{8rkn8&**sEvpm}!UU&!iR7Td$UJ(9k^G>}Iw#y-pI5TZtM3SYG*BrSHX;sx4GL zrucMJM;Z#tRDefWL=>rt0+$<1BAo9M+`c zC1lac2FjeT*!8#tD>c&N$kgk(=1@1$?fclRm&GzqX^oO7MiYp~S6OMUt>6U9*}5<3 zAPu~q;#%}K&38j6;=7Nf45Qf6{p#JNY*1N1z8~j0jp>dZ3*S1kcyumMvs}^Olhoo%VQkpX_q3QFFm@tX%y%}+ zRa2>tn$4b7Hv~WmPi+~w><=ppZ`44IxRsfa8^8w02V6HQU^AF4n?AnD>H|G@<@prDnvuQYexD_mL!Y;{ z^bMxp2%ifsC|bN+Sh)0uWV*m;roC8IBdSgvCUnGLw5qBz40}R8H7e4@b|`&F|Gji% zu+N`e`u^sd1xCKO0nT#G$JXs(rG^UiYuD?}Z$%lMQgEt62w!BJ0R*c*=hvL#M;cy9 zyU(vpe7&*lBkYzL)8OS+^7Mz>?Mw%!%N}%y_fJGv@2pVCJ5FzKk}kUHsiwbO;#@bB zTWJiAz{$SoDa`im7O+#Dvuya2ykA#vz!-{BbqwweF8H4(97S6cu)C~h$*0++Z zTCqAs`EjCz`n`(2HDDrTjpVf-SkBIkYx1_I%8fJq5+f;7_2j)V#f&5Lm{h~ib30?o zrI~iK$VUw}D?9+(o;y-NWV}A6r)gEP0;w(d5HB7;R(ldbR%898Xb!wSbg??;4TiVCtS>Ws zWvcP6*^hqKiMtXUTp8a>yS)@mQj|tcRb}odo$LZ!wfq&Y&ZDX+0eM)Z+`h zy)XXiG={2wbWEu+wTy?{%{l#VM#f{pL6`k%$G1oY^#I{hHwkBX7lMA9KqEI7MKNc` zo|ux-GkVj|=UNL4$SOPfit1}Cn$b2uRDchiiIlpOwxX6FCuXk{S{kaDO46^XX{FP~ z?Q}Jhzbr8<+8RP8i}~#7fe(gqMrWGcy+M z*Ly$$269h$P1j0W8fJKuw=KusUGmnTu^iq$kD=`ox4Bl~xD!WYfRcWutlR4rnAs-L z9DcW7&El9-7V}y&$q71^_uPfKHGO-hv=sVoV)*!u%r>e$N+gmIa4cGD*`-AIChh})+ zA|?}D=8IGPguXA$usc>xvlF2WU+umtsfx284LI##L*m-4i z%^Q_uAEz1iN=;YlJ*%3M#(Db~cu$)~;)tA17rfiO?u%?_&+XZ8YFtd%>zw1YMm4nZYQw<3R`9P?M5+LeI-Wo>9J^1To$YvVyN^{Nz%&nt1eC;-R zW&Nwth)3BU)~Yl7lup)h&YUislj)a-CEpi2R~A!3lm=>;HZnYYSj$}eV)FIltIe8@ z(**8uO}w&gmuqU!>)!}xR5?mcD>8dmUcK9+f%xR|JcukGqx{l`axe1dhKYvy-PJCH?YJj66<&xvT3&Ha+{a*S{N)f zzV6w*6ysd=t~EAB4PNDiTbO0T-9Kf@!7s;+& zy>cp`lns)F)hw@6M0)Ic183BJ$t%xJOT>F~7geB~>$u-SFx}D2N-VhCpi%=(S%_XK z|GXXm;I?Vn!WhAUttRpYNZ{-t8yTO2p|NuxV`A-^+2AujR~$A!^>_)}qC&bThN(wZ ztP7UBrKN^_cY=CN(zDHo)yAsbWoHXblEg5wUP^xIb}xDNc1Vx(LM-fo`m9nVP1J#& z8Us3l*ui2(G+We~M%P8-#!gai*#4vGY@@xBt8j%y;;#W!vscJdzbA*dr8kP@M|nz= z(++k?e#<@?^f5v&$4 zcf(CbT(scrS(#p?O&^Kh8TqCe>Wgf@SI=4(-dAp7>2R4q>&k6SMUcviGF%ch2oCPN z8vE8Hj`$h@cEl?dhAJ8Sx}d3G^cxh$ZtFD2&BT=e-X<<(UH#KRQ=S|n?Ux%KOsq69 zqOo?;Ut22)!OGB|vvNC6C?)oiX5{;q1hLxaE@AEJiMgu8qo!Azc?@(mGH6l0%MoCT zHS`0G-PY7zXw{VCD6C9ve(2KaRrHjpopWIGrOS2XUg-^GIBDnno(!xeCnhjJBne- zEX+=G!-Ma_e0X3JpN!62YSQz>QO5Vbsu}jW+aaE`4f-)!2Tc0dR0LjW0KySCoUiI1 z`cRsYuC;+!?gb_91uDS&p}~}y78lso=r-xw3v7L{H4=gWBSiGtIYy zD@Z~!R&vOnt!tA{+>V3w9l#uWy`%>9)BIe6EHp)uqm{A>6ez?-mE2aZx=FDjc@yIA z%{$ObYv%$dn_rYV2KnUTJi`$Ru`sd(6;7@kAZX+Rz|1EtaR1LP06-gD1yf$sYE zXGq3R35+{SevDcMPcb~glSD><+IYvp@|g3{%C-%EVO!iPqpDNfXF4ZUgY_{AmJYhg zP|Wt$vR{_(tIML14i-Q|)rfi8lYV$uOx61dr7NWb`(Lbrf1wNalk+gF&L-;1j6W#G zFQC~UttCsCvx*^C;y?9XNeed-J5RhTFbUUoF52`?a_v*E(KZs_&Sbwv6Z;1?bMu*B z*DW9aHbA-fzS8KNp5c*n;eLhYC0Igp;-?;781wb$1>2XcXn=!}z;U19sPHR$nn#|J zkQio_W?26{`0YAG=C@zZ0DyhlG=V(wYYwJm;mW|bKW<9&=o{;8Q9gG$ppVz&L5Wg& zkvThKY2|xwbxb2(jQ03(m&W#v<(-I>;{yv9IzsNk0ok36M1>_BZNS5vT` zB}s_}@WI#J;dq%A(O1KYz9ASx8f1J{e3*%(OI$aEyJh$Nel>=$K1e_Ezf-f6A}G22Uq50GT(+WgEvlvqo( zn!_U4aw%AiHlKhibbaBrsrgZW9}vCiM0()n>dnTP0{8S7&Ga0RyA2 zEs@0Z5bxA+FdsV01LtuHXdpZnXF$geOL(tvG(IYb36{x0jg@I`-*u zMpbZ7Jk?J(Dqba%vz$V#=8W*38c^)~oG;Y!-DUdo?G04;AA)esH9^lOs$#slk)Ne+ zvM9mz?U51-ar%w*LxYrH4mW36OJd^Ga?f^I-1(TYWYn*ff1=F-=WggzJlMIz9=G;s zLR5b))A!AN0kY80HU+;T8nC_FpE+@^&7Wz;1d_ky%9R1?%(w>ZDrzYgmj}D=yYMS)h zO!j6w28O$IFzHyZTs@(V(1WltPwTj^UC*{0-dqpIYF2H&QFVXa#r^l`A<_4`q8&2d z4z9ls_V1zkGi*21JnztX&qdQ@46Z|-UaR=fnxsNQkG#X__5qs4Cu^k{yO|QX^R)(r zN45h3g_S)v=FVZ4+3THd#H!Alj3Hd}{-4q}QESqFp825_OnkDca6$J9-d{S6VJ55) zPXAH+gqH##3UpITu^9{BqJEXDG}0RRX5?^|^iB9A=&Sm?7+tf!%OoS->glc@X{9X0 zA(-hR4W+RWYAq%74U*dwxI;@@sjb8t16kaO9Bas0|tDM=l4PkA4IaqKNGRcK?~w2tKF z^u6~kC)Q-y@L^e_H=QM1l}>Kn2{bPV`97&jd5BG$W3~$_^n4+?L#3aN3@q27MNTx5H8yZNF5{53gUJE5EKpU<5apt9o&?#^y zY(I8D8x5As1_9QHE|tHmH_6VYO3xv`?Uc?;U30#+K%tC3?W6|7>Fk?bbcj@hh`S?T z6SzNXI&Q6)H5qYSqSHb>TJ?sloYdmt$9TSix9Q#9F49jAaF>!xda2p$?5Bi_opU?I3wxC^cfX3w@@URXYjBp^PhKy#&)sd85DSn<(-xmS z^v`zSDqo&$6vb`(v)N}sPaMwqf7li}36$FAybjowTB+~kguIn&u|Rlfe^HDGp%9;1 z*+hM;5Ii}0Cz{uUmUvF7?qXac9eY0?`&5Y^k5R-Nj~;&F!x*1F z-BtSV9oog<&&K^X4|t)uD2$Ed%|KSuzS zQLOQ4DaysnV1Hb$n={~v-mAJ`XPbV%G6#*ZH(*8Xf5o8Bb8`9zg!`MchW^Wh-C zCYbzbw&OGAkLh1B=)*TZ4R$|%+p{@sl6;YQih5DbS!aL7{R9r%xc>Z~ega840>Vp# zBt*o7mq;#MxCM?mI>Nvq(U8iRjX$o0m3A z9x6oNtq@_;Hz=gNe-QQ}YWYm{ZTF7X!qEO7?k}HD!c!h>o?Ncd_sP86b`Nl?=$X%8h_{DFEKEGIqY6&==JlR*UvY_I$u7hHhxfT zm?k~rzu3bKaz~b&ih+Y-y_rGfF)_&vX@s*q&SGN7IrShqaMyc)8k-yp^w zCfxRhCxd29YqQf%*QC zVocTd7>#|+zj}J@RYF(x>`2>j+UD7mrT8=mv!Hu=x1w>tt&}2B<@=pN;c=?t%bhd{ z{!g_l7GiXab($TmwbLA39F02CzKX*Rc&Ek6HIhYGJcUC#L*8H$Pp&Q%u>DEa zOTXu|FS746_-@aRB{zxfs-1gp!8Zy&>>Ja?dXM|HM?ZsA6FF-|px*}c=T%co2M_8j zUd|ZL*H>3U{pu@A2jd!GUr8m_LVEw)udM0LwUjn(VWMm$9p+|2op9e~n7iGx8=9Yx zk7|(Gf9y=h=j6MW^sN`z40BB-;)8u-!{aA_}3KRRJ2CV&k{EdYE_c_l*Gyc|wcCT4;v<)%4ZG^3T5^ z30FOIZw(LLEnrdiY}LTVq$S{Um$jx()togvB5!JU^}CW2djV1MS`#R287 zj)!)-%M9AYlRdy7>;;)qm8MxjMWp-ZykI7?0|fyI1&NCD+y8o7>Y-}Cgz|56Q<^A7?2w_1jP?8k?8NBB+m?q8Np%1}j#*~x zjUT~}LFKYkPqN)99!N`L2hSHPa@XXI)rHgKcnRu9{m&6+N;YRPWK6UgstOzc6@xf` zz8O>%tHES(WHa-O)d-?@4l!cwDIN^NAHcnjoM}Oeh*!3hVCoa2tHBOhgt?5)*c;x= z+-Tm`#>6}WPN$``c3x{Zv^o`c?Y~W%PR4&7;vJnTfqBR8vJs5W>Y~|+%F+&n%skw) z*{ss(h4spc4pDB8#4x`Z(=`J>^M)SfjYX7LCgZ-~ZCKWK=U~f~)f3@`FIt~Oq_vZU zWEnsBxR{wPwlgvM#u(6HRlck{nw6J4UNib&a!^~^>}akp2`D;*QJJ?+x z^z6!vv&doOD4QK`qR6)oYAc2e7?rG4Q=pIfpJ!O!DyX&hU=Tr4uNWKbYNEEH*tS(~ zbH98&928uBMPcyG5VM78E{OSzZBmv;qC&7)Ih|>+%mbM+dCoy7ED2WtKTg|hSCd%u9{Pnn90oTOE4kV z~B93*y%o%EbB}^)7_FR zs~Upq@MatRKfc~NAgZTp97jsJSxUN>knRwcS~?e55b16KDM7k(0coUjr5jWbkQR^z zX%r9;P)ZQLclmst_kG?!e!shCC(p#abLPyMbMMSNQFy`rD?^gI`U{N+W2gv~u2egD z%dm)$14r0C{;SYex)<^ozwOt-RSd;dO2WsipXJdV=u)Lk7z!~1f=Ks{Lo_qits9YW z*3aw78ey_>n0v?dI%<`-xyPy%y$pr-e_i&udIdjV{Jef6-+x<(T|hF5I8xoXx&+=LGF$YQdfj8X1wwbn&7_@Mu%2$~A?c`LK~FfP{@G&Vktayzi({ z1+TgVs^K0)qZ81(3trI}tbL+wX|1Q@M))14?41PA#LC+DVeJ6bwGWo`_0AI*e8Y?L zwE}xYMw&9{Uf0igS|2L9 zezATo8mTR6wf8DfS+?eWNm}GLypf=o8vO+)fj|Zrzv)1-joM6O=ISM?R8xvJpaeZ* zPxe*ZfpZpBL)`Td@$m*Pe&tc=7uY%{>Bb@%wJ%4wW={hhcEO`K)rB~5gK$7EGzRwZiV9%zsWR&$txB)(8ia}q*2>AD`<#-oCeDvbl5%*b5(W-Id0zoxIjEo9Ufz&H%#Fb%rh)< zDpoMS$2aP*-I%1owcVPeioJx;kY~{OfH>Js7nE|+)3be$sW)uGsV5%(ax1y;KNajj1^dUqg*430zDT~ z3|nEOJ%duhldvkirk*)^@XTTV~V7Ngs z{*Y0k!YykC;E#3bd;&nWJPRe?@mjf$`jFAuS=|;D699FXphOgyAYossC2WUIF0a^l zZx5AWv_{&Tevx+#*Wsw1s;@hbsNy1Ub1p3|1}oYyAumJzX^lw3G(&?Gs7E#D{f4Ju zs)nz~4E4V8Zl@t*tSWwe2RNKMQ^qh?x;i^qtWvQa-~fB+&Ok(f3(W1QSHTgLB_?EW z8uIzJ@B%Lm?nL}sb@4BnM`cOaTH{)y+^64${ToRc!|sdjK(H3JBdqM5E%3AdL!&85 za6Zr3+9CU{@l!+Whndz_+vm5RTtiZ=wm;`RfVIiC3?K6AxD_aC@eGZ?O>?{)hbuVp za=e0NQ2)YY&MkoCv}A5zYH!g;q7)o09UUF9%E}_kN-eQUL8%c?AOzL;icDeCq*#qg zmPME(F^?6BiZE%(;7j6mSwO!f;rrQMWXRb0rsyJ}*S0z33z>gQU2i zWfnQHh2yh&n7>oJ;GU(`#4T6AB#|BQWu>bE@A83&HO>E`Rrwi|+X&@1&IS0J=y=f! zvD5I3ob&nlU!A$>H5j%vsAQXHFUmF>aKz3jjUdchqF>3g9iiPMr+F zFHF;2^V83FYTUw>`Cjk^2Mz%Jb(s&~X*}FV<4+ZS{M=tDarxnu-#EiJ^jMLZG}1W4 z@sGjpiZh*kyxp6)5LjbT`gzgxwy8D1QAL?E8?#f>FDP}wVGxQ5$^t?)+uEC`0^*QD zfIx_BZjy&?l1F=$t{8S?%S;`#lv_x3&$*8Vzu1HPdfOG3@!|vxKdMU|^Kup+rveqJ zQWDzt=dVZujMA!!0si?aADLGM!(IRbQPmd%L^ZZIP_wiSc1kBOLg^o;m-=?PkO4bj zWeoGA>2aY2K_7q4?4pXhq>GdaAfjSY?&XVK{tzK=0=RE}-r2E*w7PvN9m51yno@ z9I+g)p$DvJ2SWb6P!TD>M8%1ZPstKEh8t8oqwrrAOFuk@sR6{&|M;!iO1Obzxl4Yo8Bls64?%njYQql@PA|d z$9)&5b1{_~g7x#a_^H^!n$Rtvw)UiFzm0x6%6WzHhwWzPhVnLbm@S?y}M(>6S@af#eY}zv}2&bN1Q24STKYj zL@>wx>CoDkHHb9RGu2z>*TVd%Z)Eo7@UcP%BNnjVe2BEQ6%^F96DCJTmMEWo7=in6 zTR;IbI5BoxXH%RW^e&~l?r8>1O1uGM=_nxJwq!QWndmw5+19oK5(P>EwykYR`Nxhz z$pSVg(Se5GANQSuDGcx`+=Yy5sfCo=c(eK7i`b_HH0nQ`({|+C=*1*WU?IhcP-G^F z0oLl^M8M-w?Fh8jn}{uXnBugKtRtmWCF)6ULiyR+|8ev|+1fkE%*>!{uUIxWx6RDs zKbjmdY(11646MDN36%Y?0=N<`XpV$e9?JHc$H&LV-Zg;6zxG{jsJ5%2d8)^skS3l3 z!~mJ5p^E5uMF#Z@;^JR-1sv>sl^v)uhuPACQKPcZCUBjeCwl^JDxu4V59z()N3);t z+YSuu>IHaoo5AWxO?(9Uc3+3U8#Qu00+g-E zgTUJczL+*NybHebMsUU0Q4U9XS(;@Tv++pO7~pM3-g$Fyk=giZRBZfeW+}DDjod70 z+$;#?`fQ3+C<>MgR^rr30$ z$&RP;t-&0|VlnW`N-zuA5Wm}REr?*b7UU;z=uc2fAE@F2to{V`3D9;4nV`Ow*tN~H z76(|?Cf`G;$DA}eD0TGY`fYgtnFA#tL1{F!hhntpBSFPtjD?+7AXyb83j;$)f zDP_oYu%Le2X8An5BF9=X0D>QUdek-cx8Muvx3OlFT(&$0+PF$fP`0GeVQhN-)4|8B zqfJ2dkY6(RQbEeW4`E3|!Sgm{y&9|&(x{f7&W#CZokP|nkk?G z^%e7No8~1_Oqb|YzDpO;MXVr|tK@5FnVieNujn?@vvbAEMjk;_Xy^rP__AK9(+cc8 zZ||A-Bvk1r+eOUgV8s>@ooceJ=1nZs;{Q0hr|b)*U)St-%AYqsuD}5%ZXpc2rY1&I z%I4qo*WFyA8)?Pp1K@}cteQ1mg{*=Kur~8;QG1&Zn6zJfou^9wlMIUMjLo6rkr$Ot zQ}*pWpBkfDMCkV>Ycgys$>>g&Qop!575F%vHV_AL0-5s0WwxrGJ@*8e0$;gsFU^#- zsvgm(r?ntc-yg!KhfIYB>i67PRw{|DMMh0GUu5Lse?@6!mVsflfH!33UP_UaoH@VwfR{K7jfcXo5V#*{&D}uQ56Qni{S^o=a$!Ev_{lVIjDvsPc5%mu$rlZ#~vc^ zxBIRH(%b1}gc#Z6)Pk~t`$eV7A=~q5fY-G|*T)O>gKUQtHW@WZbx3uHZUgUb-G#D& z@?p3fI zb11X%YY`ISK9C(M-D5$N?n!AE46y3i92~@TQ6$=wVsKr*frR0cWTH zZkCxlQ5ZJmro~pQ2VVQ_;EjNa6kfRj8E_zUK$Ck?(9%7I=-Yfw=(KmDKWtBmDExJt z`COc}0jh}9N-K@wX>WR9ePgVmlCC#BfHri@%l7%M-;nEIBu*w0N{FmSs5nwWyc963 zk7Qx$hOtC@a7?5*jQPg`WEspo5~u#>6BvAwLA;!SAM_)r#<~w|!o8y8oeG@REmJ^@ zp+w2Y-!s6Yh$rzbJbu=d_KFCJ+Zn9-es5SzvuZX5ApEWa=0hjLCiU9LrWWaa%gH)b zC-pYpG6&g%=*||fiN5I~@shL=X-i5QXfEQ6{x4en&>rpdsC8H|-V8jy-{4S*)r2h)M`Y9T98mi{T{)OlpJkzbFH z>UkZY9d^?${q?{_VsD{WSlTYphx7$=%F^+cv3>qj?RKeHFw+Nwgp|&PxqCe&REDfdyqwy*;L1eolY>S17(5<(T) z7+Vh7%zi^<71{(|IH0dmRs!5q4*5w-%`9WeewUHFIWFWRol6jJBcUo_M|uz6STyvq7XDThW{ z_nRda)C>+am77*?T~3QtiKrQ2r=>N4yOwK7ifm7QMmUF*=PhgWZGT2+tC^)bh-`lb z1|$=H6MU3ErGqwi1#8MIx-s+dW-52l3hYYzNr1^RW%;x>xz7_$d;zLu`EDog zi1|DfGpHF=v6?^#lS6a{rQ1P{TFn!exNg&7*c6cSrrj?$KBT~#WLD6m;X$heb!_8` z;?fA&uudALA##1)3ak-mfTGdKMDn zKI($3WFygU4dpRyZ{JKRr#@qU%F%hWe3=JQry8@j(3`&9YN* zZwZV%w9JU9?%(Dj34D$NGEiVu7ygt5#9k!oVO106wEoPk^eaG`3}q-FsxAy|dXaF4 zYF!sj8ANuI9y_ZYU1hQlv##|q+IE?hR0TXC%m4tYRUgbbA9|%3EmdPqV@|!oW26zJm`yIj<_3mY|+{s01W4jGiAgAHM-+|t~o0GdIVbuR1UG^J?)Y90EbEKN3& zk6iF9lZY_voMvI%h;aNytt?G>n-^KZA78fs-I?u0>bdG7qYYpwZYMWV$yTvtuk=~6 zu5(zXZo_I&G&Ey$$2(-zHHPN1(n{ms%uIO%w4<}1s(fS=MmAT{!w)? zrvx}=_fqa(G`-6M)lH-7k$&0np%=|YJypsu$oV2SL-qcl*5rk6S<m~1g{G~ISx!tK5q9R{Hj!OR~k)dS$?CJf=OTo9eplU2rb7H;YfaGwx^~@Uv zr7yf^jQ6WAWmVsQuexLy+?!7Kujm~q`UDw1x~@L6_0>d>@}g$g zR)S<2>|MZw+k}59ZP=#q$xaS%H4F;u zIkV54Wx|JNGUEhc&MAhneC{ot9sla5UE)@Kt%y$vcahFS!=9u}?# zkQ%CeR%(RWG<6pu$Qj)^8<9ouI-2<>0Wg`yXH>7Zm=#fWo=Myh{#bB8HlxLj|d`WBTvXidox< zK?MLKAmNO0JeHCzhlGudXSM*)Ad{jd-2Xp7>Hz4O{y%^eCk#i4_s6DI1NjS=#D~T| zP8``4pj0)-9(U>slK(aVZ3fPrLPMENA5iT=)*y=1=>{dVlEP#3eR^3&)y_=Yn%sc9ClS-XQe-zh&0hv?Zfvpr8vHr{Q% zC55bbXQ@EN(&ZEWqA6D#S7k+gP8nJjC}(@bTIhkeI~wpe)q{`T(+8tcEqos>w~G|8`#W&jRS> zNScMu)BYessH6-$klerf7XAuZpml4Q72DW#NlPq8j|Ht?luZY>#H(|hiZe#5g}TVi zE6~TMwgeyeE5?orui#OiBb7U2VJT#$->$eXZ=CM zC;H(~IrYd(YPN!D53AO#10@1=m6Gna;2R;U=GeH=o$-<`nZ?>&H&>0&cdw$buW>@i z>cTG^8hxLN1y(JoG1$q!OvGtUQ%Y1ZjJsBI-smc^ya09L8_9=1StJ)EXElagKFd@! z+<`oE7{|nKZJCIWL3}BFZtU-IBSAqOOlv}lt}n{Shij=XqAw;B6Mv*?OT1mQeau^< za6`?O%jw9v&Z>ybCFNW$%j7LObX2?fscLq~-Bd(I^(?<&Y zogt+1_nt_w%lFAtCXL=${ZNR^GI!WxJ*|6~Gy=JTLUEsedF8{vhM;43GH)eM4(d~K z({?;rgcIJRb1CbX-vr?~nG(AURajPzWecg=6&5zUt_GG4>=yrerg)4lnWORbuy^+Q2rn ziP${3Q)}Ks!Myjmjfk>uE+ zz7GS_O=c7)-jvb?T>J!l=#;d;LPs{pVKUkL`uT{kbEnxk7AGVy zNO9bE=UE$1euvr4vy2I2NwdS@+Gsr1;Unb+zGRZ|)Ax=k)aFEfcxLOZ$m-KNFbY~< zFL^a*!!wRQMrn_yzQMUXgdOP{jzB6u*mo}2}Q{4;9& zK;zLW`)hZyN%2^R-2P^lO_P+%lmgxmeHXZk9vQN|)vT14n!t~U#47ijr^zuWjp(dA zta%bvfcLo%KE^j{64~J_aKW^%#n#Ul8D^jvjuo1+Y=Lnvn!bsS*y>u!1mh|PS^gKz zXwq=U=Y^iV@3Z4wywaNglxcZf_M~&Bb|;f|0^JCu5$#mtO?xd9cbO%wd+bPnxBms$ibw@E^$Wnc8ASp|I1 z7JT`ZSTrfd|C%D-J>Z9|w3KkfK&cGG;?Qh?v{<|utNPhVKaEZWoL@V-N zty^hsq+uC1SdLHM!?IVf9P{79@&W71dl+!~E3h+y(Rt2WyOi*(^{=@xy+SsmmZfv7 z$GAwzbzpfM-W>5g__I6AS_ZO~@IF*h^+Yx2FPFX>NNBUc2b97^IH(811Hh6tlnj$yCod2ofzcuB7lD|ZNclS{IjvjIsp1r51!8$?M^{<{FVeZ^GOEc z9@;QV@?o)tI&eSWF)sB$!c+TNoK*2<_x|z1QbO1{`w}sOS(eGIARdAAp49ZTG73a= z?w(2tB_9*yNnFBaN^axz6G8-9aIX7iSa0KXle_s8#g1F3m-~RlW+#{ndX{fvE}kT` z-}*tU$jJmd$sd}n>Uejpwh&)~ivFTm%>W0evNR$3dz3Gp1s7j;ywiKJ`l<5mkLZU+ zR`K+zrRsidhsW=s^_aUNI1DqUH>xzEPTrn>Y@M3jgjxa~lEU%0f7HUl;=7TQje=&tdZQ)a&zsW~5W%`<4;;&+uQw+t zP}30-)f=Y?z35-BRt4VXTn`s&iI%^@PQ6KXHMw=Bo-&Mo@S%R)U7SuW*joPF==tf( zl5;US%I-I}SngmI&i02r+;kb;RnV2UKg*zuw-xF)uU5TVCU$6_ZnrF1-j>x)zmtg9 zQU4vU1^r!Z`z!n}8u+dJtgO~RpM43vPic5OeQZzo>sN{s2^;K1%>%>r6(@0MzWqI4R>vj)rfw^VW%* zBZ#}cgr;*yX@c5)Yi9S)0wz#c6OSjI^c}u7vEbiOGNj1Iyf<|Cw&F6QHbpNkF>cSh z17M9xn%6yA*jO+Cc5YR%6Rf@A!~|1t8Vx=xP_?Qbw&y|R1(d0M!P=Bh#N)zL&Bx=S z^0V8wLS|)3lvYGld)46p&nV*#t0~hfOS-S5&t3?NFK;&xygTZ zi-IlH=NZ;RKxEUG9!Gi<*mnhd@;xg!{4VoDCz|SzsoTsK%xetaZ{(ghAlI|*7k-wf z-hKDr<5e42_|`iTZl6^n@As)_%VvZ#i0LVxIc z(@Sb}#(QMDNTV|Q$8GH6hj^*VrO7RJjz{|fHvz&?sasPj=%!>3)Q@7c4`+vZjjLWZv5>%`6!)aLC2{2!OQ>m`2Hmy}qIZ zKQ~e_wowefT%qkyCz8)riZ*X^94-p5$CTG1NO;aABThq*30ab!j9M5=n#b!M8+smA z?ALW+n9Qs_^m1Q|ui0-VkwUn|>t$(we8BzIEmxD-2_2A!`O*))h9_}ouz$l{I)8F!dExz za?(<)sldyTA?f}VIt}^*S8`>0s0vB5Lccf@SpM5}C*djHII*JYPxDo>>FL6qL>A&F(-dhRK1k}5ADKF4M*-8ISv zhVwb*w?|5DvyfkXrI$AF%HWz1AG(p1sLRTN)c1eU?xkuI&Ixi9Z|_oY3x&d(?Qb7a zjuMwWQ|4fQO!CQBnYC9pDDKscDyu%}M*Cj!@jN$hPCG$v&1_ApfF1+$rh=4U6HDY? z9!Zag5XKV;?{*IY;YGHkBT`GHu^6#!Ml9u%=SNj?ib=}2zvh(AtJxC>I)?OikKc_O z&?m)6-wz3`A4Q)X3f{-XI%jd)dMys5L(WHfr$$$-1+ zQMi=~wxv9=){%JFWnL_WA?OkNwfmY1t}`9LxKbQ`3U<-PB(Ry;&sbjmvM1#H$kHv|Np}s8FH#8-r`y&GQl)A? zlqAg{271#50^5B6Z>#V!a0aU1Q?K^o4J61=M{Pai<&cdZe+_9RttQUoCVue1xt16{ zv(>uD#Il(eH-nMFDfnsXgBWD2+Q6fMSBBzL9Fpn7(`yu$FJr|JsgD|$qA?$85k!A1 z{%lIwzy#_jKdGIs{`jIF6!{>AAZ~rgVvg;NQ3=jw(r#ES6{4PB z=k?YAIQ709QyXg!w_6^G@fX(dY?h}8( z4BB91h?6e~y?vBB8Hv$N9J#Rjs{ZUUXERklX(V z36U+{=D}4PY0wF=eOaabLWMC|#bY|i%d%c(lAF)9^bpKSyMO4I^4v|y2Vfaxel|Vb zMKs5zN3%<>g)mmm`)%EPAwkABoESIQ5X)w*2_ZZRBE2&CrDFVS4=syeAqoYPq@g6~ z4E&+0U?ndWSZrJUvpFAZ4*E}e_|&qJvHsb zE*Ms#s{ehEL(bfKo+Q25DyN9t2NXbHLSdU`jhPC4HD+y)C>5mxv`=``Jo2Hnf` zNOtJ-nMG#*IBD06x^&OyV6xZ0k$)zSb$&+N#>H++a0O!#M5&OzZkAf4;*?%udMr=I z+Qfp`p=R}0q{oz!#vuxE3ZkOPqKu-{WUyflx5-5($sO?)k{oX^O;Ho_&=CyR z9FMT<;&%$v_4NcFkekd|IIl}=Ex4pz`$<&h_f$6-F_34&x&|uM!Z&8~!%P?^7BZ|P zI0Tf$607MpNvg|U;N=mc3;F_%y zaqyMqK@#+=9ylagM2I;@^J6o7|5XNYy1z^wbi#4Ss+{p+O7D+x@Rdk`VS;2zF2`kM zLt)_9>HWOmT|Z9$zUN8G!b>(w7OU zYgW97=f-A-pI{~8CDJ5C?JG2VC8^)m;PBVR{<_h`JYeX|p>?E4%NU9^&VJBM9{}{i04+#N+X*A2%xg|BygY)C0Sh z8U))0JX7m5DIAKC%GG_-lfRcebTGOp>BfL@LMBq0g^haZgp~dK*;1iaxju7@i)-3a z$w!9k*rDx0V=UsIT0_NsHogj_@9SGe7}*V4CXCe5$ zua%L~M&zwUy^v#o-4@-HV7hZ@jS{(TKw^RYZ~5569?zU^Y98HGLO=7-3%h;e;Dn=lNqo@^y6(=s5$~-8VPdLvZI%Xr`GH#7oHYwS^Q0~St zCTc&S&jVs)Nm_RAvJ&5C7AVBFs=39}WeCQjAAiP>I)4j1_o;V|UT2z&C& zUJ(~=7={SH^HDpc@Ur>VvC7GrCaXyyKQ7KPDg-xrIH#<7_5|SwAoBf;Si2igVx`n<`LaIeG|r!`RsWhKa;K30ya)`BLW`^ z$xI@0Gr{bnz$Y5yZYr!SB3;KBAU=*K3(Qict~?YTu#9NTRvTAvQ?y9UysyTDFa=iW zYxvUGjrvhuXfx9S6VX!jl#J-nun$6OU-M)yQjQ!yOR11ApB#AW`waR`+5+zZ^D{bj zhWlGiL0pNI$8NF|+PXpyC}9O**@@;{jersg&-Zl}q=7Hk*VL>-oJfnR|IkALE{>@%nXBHkg418eB{P z<7tO-`84h0-LM+kKmka3pQ|HYU0U^L`+y7Bz)?-#LMva~an=HX;L{BYU9R~VP{A+7 zxcz97Z!qV+X+D;Jf%nWGO!0W~3sF45Jp1Z7&aY=bFilC5EE&!RN_o_F3U&(4^3DP; zcsAWs=$=vwtS;*kMAF<6n$N0JT9X3%z9mqalv(ELxv0yiq%MGLTn8Ms0KF@qOr;1W zYZkmzpHv0(tI2oz)z@^&em`D>S`8y<=6V+BKt%b4)v3kGH(|4^Zty(UQG>(|Cr?-z zC16yLI(dQs!yTU6hSXc0t9*_$KHIfr&!L?DfipH|@m_&kv-FXV14OdaMJwjx{qV(? z=N2vIF=@Qglp}i<1!Ui7&^iXjiUojgDrgBEQs|^2IKnwQrty$}$Sqs4M!pVmyfxCE z^!1?*mKBM~GRjwq(#df0Xya1{?NlkQv~UFi+u3@}Y#hP!M5`e3X;s+dmf{U1#LMqp zbVyoYNJBp0=MJx5ZL#ce`ioW#5V7HdB~~8a&RHfl0qA&^Q6dG#O)KC13(6W`Jpr8f zh)2;cZnA*ANJay2v?l)RqO+>dyS{=llmGpZAJ zoJ#x+&czBTnBPY&XdXCxkoe^*b3W{p2+swT4^#;{xd4tbLMPn|@MNV&&e2l4&4xgY zTs%P`R@DdKshjcW0}5O&nSU%Z9s|H9Ap_PeYNfu_i!OM-v0Cns(hjP^4|S>stotYn zR)ZhuG}#VA;zw%LGl%cMOrrDN2PvX7(AXYGdc4$)nx{sV3-I~U&RZgV$>uHH;lKF4n}_!}Pd-Nm z5S`U2Y{Cy1*iqIm2KIA`7|)$usiJqb+>YL+HXtbgq|}Ls^p& zGwXvkdN)ZxcWxK$DbrYf{b{UaS4P7;ydPyfiR^K%Z$tWm&ffH`mK{!3Y=&=i%T_pR zGyW8b@d(U=bq>5~aIRfxX+7dGrORv;=W}u6f!|Jt(`Y(yo;)t+?-jOCj!J*9@j}7G z@yoA~&+>a2g%p3$24UV$%kTa{|JcSSZ*xc%X-me(W5Azq zfAsZoOY!NtPVvZ27t+#XRa%61pAh(@U##$We(=kWO*>Wc+yNTPJ0f6=B~ zR$ARm#rbkG$4BjUT#~n2-3-X?_gbxJa&6@kN%Jz5s|074m)xk_pDL1xA*oGSf;m6u zojZbI9~p~#jl1pSd>Q$Aq>r#&M@D>1ELM*hRDO0P_iB8g`xC_hsUrsTnT%figRDAf zvu0P5M3aP-W|x&Fnhrbhe_l2XwIum~5ZoW)2}V}?BGeksW9+HOp0pF9CzE`L7&~2F zfmwL|fD1HRIxIE2!o`r(aIqT8FiO&~go{b*oa9K7PoThhmD0|o;@;H+IArYUPJXCE z&K)Y9IPYNXU@g%59lSTRcT>jV4Ik@`J1Jopb^%%k^iUNa4NlU{zi3zvwSi_$v`wZR zc5SE|${HUP?8>x;CFUZm``8nmU&f;cO-m~}FF%Xui>JS;UlzIe=>JR%az6(YMmq_C zQwL^7G3*pYcQ|BsXn=w%Vcb@ z`+ABGl`f89r^IeY#!QZ~1b8X+&x3(%z(QUn@!34~b=L*tk%sBRUNTDSgUK%(jlTRY zT-Lu~E^?GP6O_*+j63>zRw?=I@h<#~+e6Cqip3AIF08f`Y2He(PGkF#xyJ?hMbnX7 ze`+zCpgcORdmd@NO6j*@oJ5%?0rOai0#0@Lf@D@Hn&Xc&rXgT_-h~M!5C`1{5MWSby#|J>g^m|mpg9Rpj(s^nTImwcuKxr;zH?sX3|cX?->B) z!DnUv7xa$mjPpLy0s3Cao&(Ivh7f$HPTUjmp3m$kwKe^BiQ26mdrBT)306ix6n?C; z8BWgq7JVy`;aMBfRO2(~#6SRh_tExmgW6aR+&8t0_{$l8(LQf~4g9PnYG%#vQGGO4 zW7wJ8MxN~nyi%YqdEIS+mQ;fOu{;U+4f6q?WBZPj5?-P3 zl4e90T7K3%AB*iP zXJn|(D!d_YiLkH8gQP&0mABPk#CHlI?o{S(eR}F=;j&`|%akNv#(-PZ8ZK?j@)WW7 z&Vp&{3$b6yT`#Es_M=vwb{mlHnry3Fd9#b$f7AvX|EF8MsD5VIpqUpgOTOyzn-X5FeOH=_pFKez^RjQ=Hv`VyqL8tTyfmUjsyw_*n~{gfFkU?Uy)q zlAHRvjtAzpwAqMvGU;{~ zg*+ZUZ-Pdn(>p$!DpiadG2~daJQ#8+Tb6HP%)~R!Wud?ztq&io>0Hk<9nsC3TU8mr zY0V}=JUw<9N|JwNRTQA0-%Wl>KO#^tAC+qv-)GA}dDQbIj*pI-W%JKQs>-hkoM0t^ z55*0=Wy|V`s-D?VdzxTFUnOVEdqPAjQFT{%A?X$VNt$wogJBPB4cH4xbdR6T<<%81 zI+qPnsPp%IAMxCt&~;^DebJXsxZZLo#I#MUigwCzX`{ELzc&$P)#~t>iy~FyrEr%D zB*=($PFeqjHDbium&EGr*9yfLa8D~~N)RRfXH+XHUt^O<8#ngHeN=h&mG*;7>gGQr zi%IPXDHfOP$)++ZRwDLgAM_D0D-WhV72@yZTLy0mh1+{h{! zD*qho{dxL_IjT@eTq#m?r2F;vjhsZYR1J$ZnIxZ*yIVN+R0?&!s%&{tc%Je{4LR zT+U1x`Cm~=R??Kj(|E6TbcW9TmTH5YD;f;ANrt=w6w>+E^S;rvXCqQoy#Jy_x%A=> zMNu;tgWW4To{j?46;-kiFa`9&Z<17%46GN!?v><0=(qLxVSyA}_NyLvu@HMPd>Tox zhziZK4?2EYG0TFr*+cFnp>LIDgBi3a{8YG|U0;P&$mO5=O^rwC^{r7t&ph;Htq~IL z&xoBh(}($GD*!zzRe6=UVlHBN3vm^(hD9&U6{M-Y6|s?bU{C-owtulNOPh0HX!%vL zS9B)W&vzDE8VnMaU;@_j5q6b&EH$__Y&>%4_MS-|eVx~ddj4^x{$H+ZTs}}CAkocz zEw2wBSHD1KElP#;TKq7Cvw_I(mCyUy=*sF{zplKkyKUt9ll--OaxuuEY)22jY1fmI z?=RXXUR2jjjE<@W0R4#%3Frqc$~0{JMJp9z1#YmE^5IBf3Ke@m$nW9eE<4`!$Zf3;D&7z# zyT!|DB~638p{OP^^d0J7nVbCz<3!6TGkd_a%-{y^dEPd#xb`hZ^zT0R^oQSZ7vLv> znzOXIiq~qjE``KS(XMNJ8m9d8GFa-}KqP zG>kZini|tI9Eg;|_~CfjlV!JUAMwcA)MQ!LId6Vy%F)j@b|zqUOK`qOSa^E)Wmf(O z-P%Nq*0&M~N5)K?V*W(rVXKq0WkZXl6w+R5;Nbr;_7zZd^!~QAxD+YwR@|kyySw$^ z?u7!yrMO#>;_h&e!a+)LhvHJ)y|{bd(0?F9>?!DtDb&(0;INyZefdU%gUKBRVHvp?c>$ex=`(4OdP5qXg&kanoF zkd^vsJfxt+NaWO)o3UGk-l8HHq`k)vBL7z4$lMD9akU0yzFKbJ zCD(J6K2_*oQ^6=W_!L)?pz__*MtUpY&5zce!B-@~=m;nIM5YWfH)Vt$Zjz`af*i?)v^H?k{2h~Rp#=gLn7r4;u4myGz>>A zPU_lc0OBhJrazP`RQk85ITex@GZ5kl+0g(kIc$c0b#?;^u8JRr&toi+Ud&aICc(53 znSuSQvqSt%_gSBUdisJ*@CGnV96JOvFR$#h%~N-cMI80f*lhb#*tL*;aXy^Q^SF5p zy#8p#gnSZSB>jejRzA+=l%4VCEx_zY>lko*X6_(dFrBKd=;Xqi`1F-67nU2h0*!0+WgyKqq)M(iwckGuJ*> z>Xu;L@s9WUv1m^NJ4@u1gzD!H%qy~c@DxjWgx**ttgxnTA$<-T_-b0IJF^p_uT~(q zU%SLjDq1J!E&f#oW->EFPGf4Unv z!b47>Hs<^Gxfynjn=TTYA^}~quPuEofR|g~r%jW7zyU5pb$dRmmUEWyo0%&_+C!uC z^bx6^f3Um3Et5jEAE#z;FI`u|(PQj%MYV!~q*^VTVQq$FX5z~5;a5n}Fw4DArL4h6 z=HVS(jX=7+HsiEYGi<-w8yivc$`0uQ{~t+eWsQn@l?-qHDa)u5B&vD(%7X&Sm9G!} z2eUJ^mhrn_3&x(5S{##M6*5+X6JJv(`+I%5kMD4Z*paXdLjb-kD$7$%xLCB4;7<)*-Q%k!TR z@Tmm`4A+ACS=02ceTgGb5Jz$56a_<r&g9Rju!ysXiI$?FE z=waI_N2Jj*`hkb3Be*;U6$Rg6!NN{6*-f^}i;&_Y(Bw6f^?h>P`D@BaI@3QDALSQC!`i|O}g^@ao+B+u`Di&>93++nc6`a zC0d*ZkKhIm7xJLNf-{G7`IGD2wf>va=1bZ0(6mwn6Fy2CQ9|(I42&?V^&oABpp`4I z!@X9+W4Z3rG#Ie4oB?i)TfD|zrJ7?D-MobuWb0>rC04vQ!20ej)oUQX-nK) zE}CE8w*IkEo>Cmm!87Yk?8`bD&#}y3&oJUK2yOZwxKy)z^js~!!;Ixch-xku*)h^Q zrB=ywY0V#q5WornIFQFHaX~z|Nz+uEaF+G4g1W7nNevfin%oimyfbzLYyHL_*JzCC{*u^!dWUaF3kW6w^%o_9dvx7~~&uzYq0Nhw*>lX&x<(=P+ z+Dewjm!_C+1echWY)-0>o}HgSq}{v2<=TZ7%i3^j{O-Eyn}CU~b!0`fFeU+J)~0y8 z-%t$2@mKM=UFSToV39k2TSuWB&=%=_aOL<@3Fr_ARH*`i%jdv&Yl)#T36X zeNj4`&uH3DatEzR@^b6y-%y&BU5{EVXqTW3cm3Z`Yr678%)g;dDhdN1pZAd7ljh%0 zoj>8B+a8!4?uj6y2TotVJjSSBh5B$a8UKco9Z~{bk+#fqik~oN%9|t#UgeE_vTA59 zN06FX)?%8=+S6Omv^1P>ybY8VHw`kWu)$2>7}=> z73IJn#hsMGos@o;GklwOmH><%FBa`BtD6y8>-B<--qVejvx?<8)G5G!}p8q1;bm{7BhH zpj9J#S7^(bU8YqF1mp>ct~VkkCt7Pj!?bQ25&5le$tFGc7|L+lgfO&dx;+v=)N<~D z_*0%d0yACJ*~7LPRb`NG+S8yVhJEn+q)VJ8`MWT`v_cCGVC@qKT zu#w^sMu?QCVngOFH~Jl)h%s1>Ua4o76MvhPOl zldiaD%XSKQ4<`q0@%iS0miYIRz>}?I^EdQka8t@ z87cJ^pw&q{(0|CA$ZKmL5F_aL4V6;$Bytj^{Tqtr7cjC0?t1iP?s_aHgqq&PKQ*bB z61ht;kRrvu=7dX?%WQ7iH%LYlWOTF+mKq>2>xD8OG`%K;lRSAdZeJjbugw=6=_9a<2q>PH> zje?7ew#0*C`ydnkO=As{bI&UM@h3_N?xwAG;(<*zD%?zJ@JQ1}z!NF99bzN=a(edx z$#+=#Atl(IDc~?Z=UiUhglG70yYXr@T*8_sj0-0)<2w@k>g(++n_m4}61=I0&^e-F?&n zKwFXa6Dm1@6xVRWLJ3G588@aG#1K#g(o<@oQ_xkHb%#vWfQv@5UE(x$?>S=I*Fu@W zZciF5j!c538zR(RL>G;a`%3#f@m8Q9|#mRt(VgF#%kS@A#TJ>v# zwY%bYAGHi+>)j?ksc}+RBD>xTk;tF43L_ttkTgbt1(nfXfi)-`dV&=wAK7Ci2flJ` zII8yDhh3<8vFQkJh*NO7v;Gnb&QP~L3Z>_5+=P|6WL5W(;8TwX+Wp*GlE%}>;$2Zq zFFrqD0<(zJ8>ZazM5j~JSPUStSQWoSyd{EkG+0Q|gf|02IfH1&O=p7FtoO;)&7Tq+ z)c}i^C#3K_?kf#I#}i=*}tN&9MtoWGR*hyH@Nm?@{SmIN7E9ApfA=0pZ8;7zj%t6(MGl~i0PUb)~-dS>~NR+QcdR+_g zqN!gNqOfdfuEL6@-Zs_WY>F31gy_Dwt>V{yk6wDtQ3Jg4yRg=y;NW(DY^UiA8;r*@ z6SHSJ(VOS37AR+J13nVpDqIZmzI;WT(jRK#!W}MHBw=>u2M&ndr;JC6)nRWg)G6w~ zkWi7>W;gMC9y?vRNbx%z3YX{uwK-o$idGLM-K1IT$w9{-cY|x3XsR>VX9Jgf)I)IB=6>mKY5bEJ;p&dDz^OysSGnas{Hsp_(yq z+r_=%S?3&#G0IPE3qb#gqY&^8Q@=lv@*kMCIx#x8825~pE*uvuYux@`e-I*fA*fB8 zr53vrKPUq7!U=w0_$+PIpG$hZ5D>d>l(7{*(8~Kl{edtbX$K$6Z&;mIJ~2}*?B_7} z!AdlQO@qs#3m^4FgM|VZn?xbENJXBZGzl%n0nt0seUvqdBg}#Yo81@Heqs({*fgU7 zsr$KK=4L$BCg#IUe|<6+O0McA2kc8x{Dw*)>W|bw4@HHM#ny(7I$g~G1g#QDsW19e zQpMo}o%usvPITB&O=ZvH%NwJ=Pc=^n<3Ut9_bdoUB7rl9wz?;`k`lI&@Hf;#2HF_} zh0|eJU0^@?W^vKgiWfrw7-M9>7#pxmER(<-P$2=y+Y*U0E>5$o@-Rf6%c7sV7C6aDi)2IBMxmK ze?ki0)EHGLHskKsWSQdSBw2LtkUGyF=br%nBN4n8fl^5Sq)Aa-vlRO0zU7`4uS$IC zWL71YKiFZ_EV3*}sm`0s5F!}`o;q8f*fCM0T{+1SPe^7%w&SfOy7Rk@2xTOX@+Ds3 zrj@K43o*7Kh!Of*XGBfXPT7nzh@&P?YjJXmyO{=rT#L8|ZP1??j7p(JEb90yL20Z= zKHt(5$&0eyR>KJfToek@3fCnWsU-Mex5Kdq{V`riXcIOCHY6GjQVhpJ>} zn#gle^2-_{sEa7Xb; za90VK|M2PGVtqpl(%Ws|hee8*l?;K};W_NjU9b>rB=bzAj+D=-k4JR|L&O4+P${C3 z-=@A$S3YZirTl^3h4guQ#?}=UCl$#tGL!3?#j;SOO8&i_Ug)hRU@V%IDotJ&h=xZ+ zN3nCJX-PO3PJlur!Ql)i313UZs`@D5?L;nCfv-PN;Y!_QXN4cLj!bk-dC$6r zk2@g76tGUQ{VwCvl}-XzB)W?`TF_)&OjeJZg2EMDI_rz+!~KfWy?kFCUbVOQxl=PS zmUc-LOq{qAYpMhJ8w92Ai$_{HHJNb+ja7F$3dZz0bTqe*4FFZWLI`QI3|{BNke5qJ;XaY@p_CgBOB)V++7fC?d%3X$`n8P27x=ao7Sc$e~Bc7{ysZMQ6mDl zOnZ@pOJc-zhV*{Dw6*4H>NJ_#{0-If$>P zpyN&CBJh)IfKi`9(CSUZ@Mp#xHJN;z7avQ&wAXoZ4S{xMt`QD?Bjf=YfU3 zStm?!ryG&qv}9hScAY@HWMZ!%Hp)%7gd@5Dl05z%NjgkaJ}25P3Ei)5TK0>HAf`my zrvu>8g&M;4O|iwvui*K~{svC_eY;j=cl$0%(Dvc`#Rw>-w?%vWXC0DfSbRA7zjy(w zU_YRPz35(bz)$zH1OL78j(a$T2j8vN1mMuzO5v3Ged>@ohvCCZ_*RyCtI07*d*h;k z>9&9jOjk&32sXY~jFug?s_hZtZgQ4(Rj6Ngv&0N6K``)%0OJ+Dq7l+!pSwoKBWDrH1o4cW) zMhM@H^FRT`T%Eyj6gFZx;*x@KK0Oi}-cmDOdv1DeW75=oIBWq;qi6!vT&3Mn@qWz_2*&ilUmoGy67fjr2m3GC}ALdr^ zVan$mai19UplP~*3F9P66P)rHfb;Z=*AmvVMO9=tglHom97k^sCzpfbnGJ>fhYVFg zZ_N2!9`EdQHG^Nw-4RkrR=!yq@RurenNg)7gR+1}^kQStdoZEm4}a=1s}`tM3qMII z_6VQLos#E%!cojZo`>E!Le}GYPyc4yhZPNh6pP2kFSmBU&3* z+{g>P9u2C^%{{~lsc9C6Ev@t9x2g7RL~`jO z`0K{UwDaB=rnTvJZN7MCf*zt}S5+0tiBd6J_us z0_jxE)HTmZy{CQSF_@bB^x%T#%mud!=X78W>d zGR)j|y4#J~x=Fe}e57dTl^0w7w?=^QtoTo{#2UMG(WzaqopAebXuoVpr?!%^C@bxP0>ypj4w z(%WLuwf?U9CTXmpYR$p0bGa?J#Shu@3HLS0IDXvRLvrH00Ng;}Wjo5gr2UAR1=9uu z=*(|8mk&(8ZghX1{8I|-O_qxD1(#%d9*?z52Sc0oX0oR&9LHlj5kct%wi zR5upat7h!Kh~exz!P`pSzN?IB8x$rnZmQ|92AEw5{=?E{vLM;20AQ>XujINBY%oW# zQoMY+7aqF5w7FF5&liFCkhIp`FVt5&OpcCV7e}z8W4U!;ux<7{WaSWad6tp8wjhErz`bDganpgU|U*FYN$Odsx(8vz(Fyvf#K5mFKf3WJoCgCZa) z5qWd+^r1kR$XHaK7&f1E9jSXvn&4Tr9aeF3PEX{K z>KLZ_ltxKXyvA43rj+<7z0%C;PTiAh2*a&6J}_BuT~_ohL&6qjYH)jPm4WSD^jmQ6 zBTf_U1?WP*!*<*awz7K-Suebil21?R*Gqu6j$QZjB)CfW6O+f{3)`JfOfDy|mH1av zh~TR$-KPqE%w3lfu~%!vG2vmTSEy||}1(4uewq~B12*`5ol zc@^x0HV#_E1Xd=Q$?>5At3G}1?F~dql78=%GrRpH8=uSfojW`*5CbuQiPGKFOMW5n zy%GD>v($1-dF)s?b}qWIS`$`4W(|iTaN&6C=byAIvbHYPp7QVV9^cw|ayF+_#7eG8 zj+2WNiQ8AA+c}w2K$nZV?fF-fM;Gvo4J@r^NXRjgS8IYiNnh3{NRW;}(nu#k(`b8O zlkoPs3j^5VJV){;lknRbF@MF7S(eEBaFpSgc3Jk9XHoPpJWg;rvxBo2#6vo{%7c(J z^rv93$_;j18R^RzE2lFilhF32y0kaVvsHO&z(SheCu*uKesT_+EO{xRn7wz-G}YnC z)43DG^Tp+|8cC3(>4%gtK7?r&s`@W*F};s$2Nwgq@ikNO&SuaYi%WY7bcyBHTdWX_ zN=4$tw!6dKO}3p{H;)QGzB{dtU60$kSNV}Ic9opT7k(V{K$_Qj5-2R`vj$86b^^hR zxFjJozd0sfm`5s0TGge+U3m-=ykMCmBap??BYJ$ckbFPi z50Xw8dUEWswCG-l-H*3P`s|M8wO(3I7k(m4>e%~L(jf1Nj`g|!9II3i>((0jztLLsU(=gs#u6PSr4dQQE4!P&ScV8^h_PY zL_2O(t=19C+C?lar3*io6CZya^SQmQP25|QKjw42bf8twe3U;%@_YTW^ugAk7=SIa zFL9cc?;=6PkCKcZxqKRXii&+S3yQLDwLWtHVtKNh(N>Fn7~)F0Og0A$nts%A##Yo} zJk{(cGyJp-9&FaLoSO%4XLSZ80g}((>V)TXH1~Zd1w2ibqO6GJ^x>&mMt7jqeDYy& z2o?OP`tsoLlWfsEBYxsfMTn@YE}jd00H7esOrAIsxKKB`oZdP8GeJxWadw78axedm zRilDY)3OUqTYPbMFRzH8bFVa{f@J*HZ(_xMa`p#$7I3ChbXIsfiksb5nERs!cNC|c z(!feMS7F*jJmwbU?HI@k;?jhVsD65gfnz1Qp3h7e#+EiagRL*q)w4ihb>wX(Xh+`_ zwN5-xvGuBS_S4vLg~b@*9Y^HlNLG*~j=+qWd084{sEUS~W%yzTG4GD8cj(4J)6~gZ zMt^n0x?N?Ri@|5osYl8mqmo~;1l<>AN6eR*x--(+yDyL~GIOF9fYw&|ep0(`II8r; zN=(aMM$mI-TxfX2t_KNVv8a*+mnRB5f3ff8(F+%0xg144p+HZH!<^0M5;l#fK7{7y zqFpcCuln!Pn8DQ)9`V2YNS%$Jh^Ll<_C3D=c-59MirhjlHZ?fVB{I{Wt+}9$E*`%( zUM^S#d7+A^JRAYvU!-gut_T##`*j}YgAO#~O+r{8jP03M4LwqU(9+(`?8K`%9`FaH zS(3NjDttNM`EZ!nNBXL^hSj&4D$INDHYO!ch;0)DZfFgs6P%jK%aVR!Y54I1rd;JJ zCn_xxPK*%el)dlez}o*ww0TpLu_O7hV3SwmqVLbi7}uGP zxL$eJ17F@OpML43;^7PtGe2Ol?DyLiphRt|>nzLV;SxfT{)XxX*u`UnN(Csr+}!`3 zUVnj;4>RV6_`bOwek31Mo^m9_ifcfZfGJnZj+Ql8$)P1)n!T0){Z9{&O;WVmQzlYw zhkBKcH7SK72@-ei+Skz}BUMm$%(6n%AK;J-OXKzhEFi-L?8Q9vl0;EIbxJh&qOZap zuHQMl7oR4aM2gFdmo4UtL=}({UO`I5oK2M|Q0?wY{k$Tv`V_?4fokPmX6InhFzgWt8iurJw{Vnu9})A}*9D=;r#iHp@;> zYEUC7eV!4fkUvVKKm0jX(jPxGF&)8_epwYpCMtrv4CuB;g-@<8o7g$*gSFluQXAr??fqrNl;p=z|)fU!L#5t^##4w#3rZ8I$h#D`m z|EtA}>v~`F*U0B7`^DrTYH*0jFE+(dSm^Zf2RMhU62pSHeE0O4q;gqu$}^r`JG; z4TYWyTHYZ>?0i&GO!o^n?ht#b2ovKiN2;#yN+h7&(rV8K2eVeldUL+#YMJcy4jrx=qy%@2#E3@8SSA-NLB@sz6M0Om)hdr)iQRz}4$ZrmOBa!(~7A?y7q8gEW zsYN}(^}H7e?b1b5?a>Y^mUlPTl);oOx>S?9o!aA$`leFl1h7i-jiAW8Ggd3gNP7j5 z2o=GEzkjx;;v*dp7arLn>{mVIF(=>nBHnOwSbN?+szS3VhOtQa>id!Fv=&i~N>ff$ zq=thu^ml)53i6fsm1o#h4Wc&=KMLq$}hhWa%_EL9?%%txguG0~0Vi zR0XM@@3BMyJ_c6ZF?J$PRJM~J3m74i>hrre6O6=zfzTK_<9XT{$9e^eQuP*0!x}bl z%u*PczKiU)z<2I+k9hpTB<}*zn4{qguV6GzSPHGfEFzK|08RieDi3633W~82<^gfU zPr2F`oLXETYy7!8pl2^BfW*k@n->QfH(7hou*`lDHXgW}Ewybms?ztyY6W3wf8=Lo zdVFzk7RiawV>-K;06^e|r9ay#n2oNb2Y}mDGe3U-tO1?@62M>04VnLNNLmRc)fcqg zIA{at%^>p{V6Pd}Gfb0raf)^b28Vy&!_ENE48U^cxsY3qatlT`MSiGPjq*_uf_Ct8 z8Zr;#Y8BGODif6|fdhK_J-x2vHohX*q9+5Ws_Gf?0K{Ob0I&o$1IMZ5S+(Y`XLwRJ z+|Z<8)J8iB7GqzSe92ogm$t3afE1OBv`G>0^trimcZOsYc~p3@`{X|U?A{~3^p z)Chz8^&-T=enSm==`)5(e|ej40k1k7a@7pr+|tefpCnQ_WvotwN);;m_{h&?6q8@ z4#oy(f`VmHG&p+OSEU4;s<%uAK!)B$h}A+e7--eTf6CT0P)ihX0A{HWb+5RWTdy&L z=GWfr$7SMR9XM-M{muH_en=Z&7@jsTfq+`1o@`Lga)4gIW?<1^j;#@OjSk?i&+Fj zW=JFIAFo^kh?W@)V2H;my@;E&j67@?Z4zRFf$#i~snk=(?>SA}ViU6r(RKjkH-I&c zL8Z$O^%k49vS~lfa$mrJK?{5bHoOG2?L++j81anxmWy$N5ti#HJ;xe6$GHLL*SWkQ z?Je>v5Zm3Z2eofGXjHgi75%{%|6jwpgYv%wTEK?y;2)|itgGVSmg8S$Z8P;B?BSXJ zdXWB4&Ua;hg8)@;5GX$T{x)iwU6l?aP=UIB3x|Qi6dz~K7n|-}^U)VKRxvte&khLh)U z+dH0Pz zlGl!Rkw+`{nE3MftwDyS2ERal0z3^`(WH-DbTLY`t@K}R-0yOIRsa*T?CK|->1)5o z@}rGQ+@-#K*y|5>kt)KfK8t{uSmUE4%Sm50e9*2P7%6UXmklN}um;bO{M%>A1UOOM zfulQrpXK8c+@&L+j2poeaW77uZw@H@&fkUxAf5Tm;uQXdvI2d1%zciRJQL9XsRW9t z*eOs!+a@Uf&i|b_&D~4^PzDIwNCWBFB{;>up^QM;kN!4(SFojkggVZ@>6Sn`|34eh zS(KMAftrxje?!$VDL=JCXnaHjzqL z?e&xc3JiVlSDw|se2HE1K6L%$Z;>dL<`tl7;=k1&UHgc%9=lB;Nhd6^s8HZ@N#J(* z+$hkZo2V0UecfU?>5o2jH*}TQK=NCQ1^QzSGm7O~_T|fapy?{lA>5_+z}4uw)LydO z55Bg1EYBWrD1V4el{_J`Sls68frovGv`9LS)bzX+MM6=KGO?lc7F!`Tv z-2*NLFr933U;Z?Gt#em?lzXYMrvp0v`80A5|FMW;!{JTU>G zUl#q2NFLg)W*n{MlVK`dI6Yz*x{d(*B_LhQHc2Qb7A$t2>9odA{^=dVLykmO@y^7&4?J7g-!@C|! z>v zWP7XKuc~eW;2{zvX1gH;(*T?6IU|tcU5|n0*0a<4pq=FLH}-rmApVbMiS6;60#pbz z=6|ccHs&(Jt>TaV86a^6`WqN|{tY0D{gFERPjbv<)<3`IYk#!U5MdzgbTx|F#^+s} zD<{!qNKU$+`M_;87VS-(P=c86^o(j2@=Q17gtayh*Ds=bhsVt_2=tt7HvbCZOa;p*k_r z7dgz3-g?t>RWg3w5PdZ2+iH~uC7rl57dLSuTitiVRU1czL%x$WyL1^h7v%RKBL9@L=*YZn%;t}kF8Xd5IvOpty8VI{*zhtSJT=YhZ5k+ zPyM?m<`bS?e-3EX4C+`fTP?W*4>RVY>v8Zpiai%4v=9pj3;ZJ`=O4=o1A=HY9w({-PHPg0 z``?`Oa%Ju5wwaiTYN(nD)eyqW?(l*budCHs*d_r2j*sIPWJfM{$xi}vUG)ra&pUGNo#Gk1+aGQYMSK|BqNZ`8;ZiWh_M_1vO*c4 zEzb7>JdzpR0pmv_B`8h1ES9-3HnBTZ;_#6magL``V6`NUmeHH zn;V_43_jTrR2(A!OHX`?SZyWf$@IGYm`4&Xew$!B`KSHiu~@ixu~b1fOQmVLFct7s zU)a89ywZ z{;tQl^@WKG{q&3LfUhZ(Vp+DG*g+XwAHQxp$C{YaQ`hjbcK#hOg#Q^Z%}gEAXD*_y zkNJrX4UM)tZ$B?OIs8fU7buFt6eYOOpa&@H%36( zOkMLKQWo8i#Nm*{wjJ;57GnN_+F`25y} z#T_2+yQmh;A5DD)DO|3rT&^2k2U#A2tTN;ko~VlaUQY^#Td#E2o$@5sREDF>>fDQp z=w4ZrWFg5!!AeUourkh6^fLB>32~y+lmB%|6odr5jn!qet?Ei{Mygr*8E0~kKF>ee zkr~ByNjLWWTntPOCeF)qU+n0OKVchbd86uExFZKLiL3%s`!QTwL4q}&} zN!7r!=;**O*e4?T77%gF+~yUy;?1HgjcK#gEazQI#t-QyEB5?*UQThWp#AFdABRVJ zU$7T5Q7KC;q?@DzVdRK|P=A#44%L_aIZ6MFeEIx)J(+Ts#foktsE@i?>%|XF z$p{UD;v>V6O^Q8>;i+#{^KY^6CSTW}sf$oVn>X$DFosB>lPh6U zM8?<+chxv~>4MOs_jPC!RuR(H;{=@IuST*xWBU*C zG#!JZFm~*w;RGpy57|s5SqHK`{V3~0Y4|Y0C`ZOhYD!%U?V@EpaJPdovWA~@XHRnz z=5r^k>ikUIW5@{|kZ7pKcatbOjqz@m&GJ14NgQ)MUOv^F;PVXNgZP4%@DqlB7tnL4Q%f}sZZGrZV+*6xAm_%_ z+Zs5CGTA7#uZ|8@FPU=dx%$Rni_5oO;<$H8;iX9Xl3uT85GCR!C4!Tyb!ZwXVW7&D zIUW<2HXX}G0HKChArvK4X=6TbaDPihP!G$HormI^z$rSue!IO?s(8>Y9EwU`b$a*D z8wOo0$4*rHh{vB-i7s<1o@M?HLwm9W$kSBwu+Uey4F#x2m+$ zX0MLqPn2<+`d|}5<-!O*DgJ68YYzQhdCezULr)xU#+0!%iEUf9N)1_Bv1gFpk%t3)JaLVBuu73PKRL@a=(1SJ2(o zm$JF88fOwB*O(rVjgQ(vIGyp|ajX`oLt(nM{(ws(+VkST0zlNWDMa(ucM~m=zoOi0(~Gc{dzts0lwq^X z{U|y4AX(d@7No;-$3!EGs3J)a8J??ZXo$_Pr{R8S6BYwzB+3Mg&=kB-GA3Cw6|fMU zQqA@34o>y5_U+JYQ9an<#x&$iSA9|gjK1Ps14>J4>=il~QAU?Ck&-zkbaf%q;W&O@ zH|tFb4|M%rM*D@lrLP!ElKlnf3@1t;}7gFSTin75cIzE}kFJ=4bnGyXt4I zX%pMb<9tXl)ZA#sW=HGTBt$W52-KUnAAY54p1x=i{0$X0?5CpQ?e82F{K1BOuzux} zUd4W;%0sT?DMBs**wvz`C0DG_$%QtL$H!9pn|?$RLGVkm!U>5?&~~LFzpk|K_XM$?2|$q6aF0$J}nh)NDCsg*w= z{t^{#A{>tzMO{EAqm5UyEPaqAog^OZvWp|{R%5?1w!z3)s@UcY91LwdXg9cb(xx|! zEnLZzw<aqf{djNmVt8KHxx{CiEy2Hl`Tg3nvXV9^LgDb zH5c{r(5|ZedP8JFOnAq7hH0qZR8_r4vMh6=dW#c`F=2cABQ5I0cQ~VW^Vy8{k3axT z#`?y}RD}}iJd+}NQ2J~$-%<*Nbij^SjL&viFI&MoTRCu=AL3lda+!YIC`meg&0%d$ z8;s~YHezh`v_^8|5B35lhb~_vY}HhDM^zKAugUmIBR{w|IfFqbH$edarXDfr?lA;B zwz~ww*eiyzpj7<7bJEB!InqDlgrGf2N(l%k#dOjNyPIiAFK@IxojJzmx!@;im-Zs0hW_>v-*v4PhHYh1!;Op5nRK?vKOWw0 zCOmy6ym==0yS&)aufI-Y>6gUtUXArJw(fhTW)-W~(9j!Wg(G!c3?kfM9S2auHIwdr zGO*|XAkI{N2gqlsu}ZMb%Q+9#B!1c9e-Uv1>d?*PtuX@l5Y{Hta~k!sjQE#^>$9)U zKU3reRykJWELB~zKcpwZ6D!Ai0|!507p2g!>-#qes-lM5yI(Y0TxI2vqD0t1SnDRuO|sg)GYmP9-#izoLr3SG_?+B zZs`xH0}$c|HzpkW8q;zddTF zKR4yzEcIf@T%HDc?cWZ2USR@=7Dy~Qe?Xa+Rmkrknt5szEQ&2k3_Dc2(teVE26+FV ze9us?PNb$M^xQHgsoY!qI(xe6**Cr6FZ`#{-jwt62HOl)cjHS0dx`tn`|PtGZHW5Vq>)Rru2g+&lBlR5jtblnb_y~k8zaoRIk^aaSN92qH8 zXgT?**!5K^H=vXE{x9_RS2gcnlcRsIzyJTFX4wA}eXg;3v2vi9`hc6EdMV%_^4s)( z690Q(Sj(HwLv5gLcqtkpj4krv~~xw*Kr6OFC@JeEc8y%pwm&wNo)S^D^^ zxX-U0sSsC^(E5HuF&oYtYp?F`4Asb6AWKZ^vA5f4dW=%9P9LJ@%rYfT&S4=ay`1kM zdWY(Gpf+DH`CeYY@61|!9Wz;WHm|;Xi9r2CZ#;uKWUA zQ`xd(4u!&$_oh$@Wy>k!yvRjhMf5G*W$jH86G(WV-IH|rYkpf-WG&|#q>=FU=Upq! z3t;I7q!GUt??zV{1Rr26+dfrXpI{dNt1oCfCOz+@9sk6DU7;J|bFA=h+H*|3Q!DW# zsZfB*TKP{TYwX(H=&U2zbYZH+;}U2c-(bzR?c1Z3K&m42_4{nuT9{KkRLNytB& z1gg-}79$`O1gt+d`4p)Pta|o;2}b~W-_NBaiyv{a|Eb}h@Q`!__|>8NA^fK7gFs~u zBTf{%V~QFMtPM-a{9{SP`O7UW$w5W4=E3x+5j@MbO;b3+AM_k38Is2gQaItw$EV5;PU_Z zn;R1*kQMmt{Z=mEY{no~py#TXKsf)_^CvOSW~{*pNc^uu0js1uAMLLXqXl{mWjkRE|jX$JQ0#g7VyiV7OgJ1BC0h}f7#KfFZ`C`E@e)6)Jj z!exv`a?}&)thX@_8(x!}Htd95B-;q{3)$#f`$RfM?_`ax1^yOC-=>!KkcS&oG~iXiEo00<5wtE z_ShFx9w@pg1kXw={NX%sN})}9Us&4M@j7dp)G~Kg>20?2`%3yH=B}MF5e^>57oDV^ z#G1m?qcD5jPf8Rr)(kVx1&l-xH3OLfNGZm>D{qOSvk|;KXP(|ee%h>)JfkN)CO%Um&@5;@qR$+>^L6wtRoZ#E170PS081BAJ?OQpA z(Ed8o(W_e=9i}##7X4F;n}-Ns;&}xv-b#q(>ZZ!3wm8ipMq|m7E1-yw1$!klt@2AZ z;TgjNl4WTB_w02)hxkmbKI)EwxY^E8qJXs;6S7u^>*k~`m@_cDFsegrf8~kd7fT@P zws1rLIV7IY)?fiar|}q!@ue9e8;d49Sj4OZ%@YoD;7u?bc5sqT=}R~rG3^U|Fq|H0 zgKh#Z76S`**CI-PLR}$^H(XUma|0^d0VI}s?Dw6~m@H->oE_%6_Qz6?e3J@7GU3-| z^Te8_sLMe@B^B5c!YDu!s!r%hpIiG}YJiNskJC_HnGT^gBdyC2psS8yMuDCp zsRG)Pa5L%cD=CDSMM`nz@f*tBZGuyiLOCn( zxi{XC64`gdk57~i{k2-UAtS+Ul;XhUjTQ#Pcpu8p#2In$vF+EN%2o4wbiiFg{%w?E zKyoY~@P5lDoOksc_-B@eEA7K4hECrGEC-=(`y`G!e0ZLn-9>*Kq zML#}i^Dt_yCjW?WO78iX>GY22^p*g)4%LrRPk<@+)y?IEB?Q6nqydg*JYHt`boQ#{qb z46P1DAam+UNnPa}=&K7J)AcdM>}FZLd*rjL#S`d?<-Oeu=mHucQNCqzU6vNADt-OK zx7Y(&q&O8@hBw9*!6qplTIr6UGOX+7G+0Q4oo?Fu8`2or57=q#d5xAmAKflmA~07c zNMBX7wQzR(Sks}v@)1Vo(`8d~oZn*aWkIh`aMPYZmzyjl6Z6VyMD2Ca#bwRa>8<)( z*C1|h4K!5RrVE{v%f{+7sF3R14|B0V0yS>R?FHrbJ7g!3K33`aajr7yEokIP-Ya)5 z$oYT-EH$somh)8gp~n4%?r1EfppVpp?lzj-7}yaI<9)_6icrqpopJaH$D5S+s-9YE zve!r$hw8_EjBR>5$MwJ1`pTd8i?}YJ}zWnq?_XgxRn~ z7)8IPU~O-w5-RV~(o=i&*lCW4J}J)TB(BB;n!&o(lk}0-_^p?OBALV!50kN31kBhA zHxg*KJV zfNNrpVXz=geyp@B`18msJAA#8p2zDQ+ay+R%p5xJG4v1rSe9WOz$7kp>o*z;F^soO zhNuOjnW|cMBx%JE{$!1q3puMU$B58gidGPI(-~$Xq*yq6XtK80+SQ9BMz@A->rjG4Z74ZjDWeWVoK zKxo+kTnyGMd;~7|)p^##tre`I03>8bE|UuFlq-c zW8UP$ z>ahm4#p4hyGIoMW{oK)Z$E2}zXN)7-5+RfqTR**-)>yhJ(Vv}pyR+77iE>)epYEZo zV(C3e*`J;Bv~#dxDKtsx`QPq;M*r4|=@PfQ>!l#pLNgI7szHV6=8zvisczUqpwa!Tp|sPK zl%G);{{jiDS8e33PAe~A-}XSWFH`6yW_HN?BznN@ktyj~Z;(trX zpwKE4K;L0&*pzx$U^8LigNsXXY!pZtCBzsCAl%=%cAcPqep=+XFJ+Z$<37#aN6 z`pofT>}3z2j+wrXI$`lUVd*^5$!M(9T9#^^>)YbJfp?Au+rP$DJ$&edi#KdcLKjGCQ!t3_d$HDil{q*WZi$6L_tkmI3wcp&71UP;A3WQpte5NZ`E4YMSTk zT2N2@k@;9>+M%(+Ej#ODPKNoIe#xtHz+uR23b0yM!E@M8_&N!T=gWIO|v z@vHl4>x`TBhuw}7Z_VoV|KB(<;;mKOvO7T!`L_Z7X_njVsw-OS!Vg@la5r92yD&}| zaMluNcDyhST>Dsi$;oOIxMtdw$8I}qXPOv|Baee?8mw?Czr(mF@P!d4<;K8;`(8u zhAGio4M{7EGN~`@SeBXxvV5biWlmqDaMw8=**6dfi<`9F6ufff!0aS!!~Pn6=xsZ( z5Ms+dvkb33WL{%}VwPfJ)(kW#Zp?6%2f8%lxT<3)O;JNGcHo5SxH6*Zc z4PBc4BKEh126vCA>webvh7%a97O_IV3Y}z%-d!(~?k9NMiq!{%go519>RyfdX1vci zd+=R~Xx~A0D>^M{-*A2w5bCS6F}rAM4+B~ZSlivE`z!jZ(nrPeW!sDi!AfTw(7~1; zeTGC%Oq2Si51ZXNb7`P z_q$$!%W5D!aFBG?1ESF)PdhT@SE( zP4h6{hiLMljaz2RT(dkv{jNG(N7iEcphW6k? zXM$n=nfc-uKedpOBd6j<1Qv44BM`5F^ZB*fjShF|@-~QLpeWE$$$TXUuD{k9X_eV1 z&tHa*Pa<4zD}8V152ydWUyfH%+a_UDRS(b{*XQQJwl{Ajvz`3*uU<}_TGI~d*0bUjLdo`DcTQ>BF1)PWM=VztdJ$ha zT-T4~IRC9Zc<43NIYr`8(F>7<2ac-2KrS9kYYs&gUw*B= zq)XuDQmy(?`HPIJN;|w}Z!QQ!-Wgq^YMs@-A8Kn0VyqgE^jPIMT0K~JIDFt|iTFIW zwb}gj&l3SDYIs(luMyebS;fsJ{fz}9H`y2{`+3I2TClM~Rhb$`xfc<*S|S1A!loFU z84KHh#+lQy*{TP2`x~T{z${lLNdA3@eoJKKQkWkYTT!5QL_FUZCpW`%Ubct@^v5CUio-5xDrrmV?JC3LN| zkG`R!{v4)ENH4H9vQr`N_SV?A>3e1BN==k_F&u> z3(^UxWjR!C#lM4v?>TX9x5G@FFNjWVmT@XxEzmLB5!*xRKJkOGY7<0v)pmgKVfWYo z`M<&q&l=qS7Q*r|i0y)#^S2^WY4k2(uoutHQ)dHP^>f5Z zRA({z34UA+&jn{s!B(3~B+Qo=ANT8Z10P;t8b(H%&x+8#E~JFNQq2a1ld6iL-F$d zv{?8Mhy+DXy`p7_)gGe$I!+a~PNoY}jokNw-H5~sjliEfacwL!gCOs|j!S)VJ860s z9p4nxgP9j5yLo~IwLxm;lM!{xM!I!~=~eF7X<4+IQU)ebGJn!;LcAFPgoAmtz?6Ed zp}WKK(t@AOFdANd45q&^eA%NUkwVJW1jmoZ-F2!tpy55YLqTki(c3_Lq^}$wjDI9Y zSLOjxZJ@uZ+xW#h1LR?wo>(zf^dM%*Hl$r-?5wc{f(OG78b3-KV6FUuhd^R@OfTzi z>ans>{amHeXNET$evI=Q-68T&DCjjI>OVA!lj}SN1ua^e*v*}YC7$_ak{28BvxhDe zu5CpwBn7fG59ni+dGRS>KQ3OK0XT@QsLNIjnX$U8_-i%Q>_e4#sj2)E_Hi zezoZOdgez5N0t2%Yp&J~%Q16YE{UmTLk&Oq=VN`8k=htGAr5G0y8dsY4U$r3=_(_0 zeJyElG_pQjz2foAe(5U1-r6D7Xn4J{^0?C=M}UYpJFnq73FfPe6Pxo?vvaXu#m!!) zz@St2RV5oI<~+Fc*B4KKy^shw8NI_tR)Y03xFXan-T>h4h)z9$byEDra34P+i)#Eu z|8urKufvX>i5=|1&K*pqBc*YOVoIIm)y2-_m}@0SE(@KWztSh?hY|5cWQU970X1<3 z%QRU-_uL<$nLi&-{BUvPd>H+@^gOXGeB<@;G_8z>$5ti>(Kac)~aNAC?oVd z3pRt4OG$D{7z}?t1Y5v%VdeK}0QVw{TZVP1!%Mn>T{V>->G4@R=UrB6`CR{jp(Zlg ztm^l`>N0wW2~gum2puZGBT&-y{RAY1^wicZ2j;^Wv8SL+jvyd~(r+%(7F?luT6y=A zHS53XFB=TQF5^d9HySNJ+K|4Y5g1yneX&GV_cJDF`O&7PWX|9Qv*!9Zc_Fu)y((i# zWbPDa7Bf$-VMP;wQ#^8LDZ=l-6T*A9V}ADtYG9>|;HQfdTKgkB0x7*3+z!+f(fu-< z>wC^dXCuE$7;jwLrFi0R;r&eqqctgaWm)ILE|b-GgN4#0p3Q#W#>iYT-}fSs)iQ)Z zmSw(K9-{{N(Is%1bF%+$BaT%#3K_u^hcex(sjG{jU@Ag!d}qFGaLT1>&_^LKT&bC< zfYGfA;hRsHubyo~Wz&sRgA0#W(=YuisgV`RC83j!lA+HGoDp-!wt-ojQZj{s$YQaL zkqKC$_(;I1%hQ>}1o<>Z0b---!55hZLZElNw!kaWCw^9FX6?&XbhFmyf$>ZMVB41- zDW~QRjCWo$!|9I3&BT1P0P*ov<*bhWoY<*#$0W!*9FEKX9&j-gziPg6i*xJwrO&S3kg-Ki61((4qz;V~O{k%q@X8q0N1S-_I zM48jOjy~xe!pj&Tk|Lh!8>Bf1(o}h-fiPv1Q*m`v>HgY7A2M#3{rGIV25^H(Qf>He z!gc{Gne0kURn>RB6mI$@1);SZr_#B&60ZT-td>t`c4IseIVuerm}R)$LBd2!WUPAN zBE=H>FT1IY)+DOLtDDh+?CFo}Ej$KBvChT77%kvsCJAR|#^Anzx^k0Fl7HX}E%#>M zgtqxq4*f5221)k91gbp2Hrlcd$63?0Nk8nQ9Gsw|KbnnF-(|kc`+VL|+G%M0S}USs zJziqymTw;_1zq7a7M5W)gC;tEw6S_Y3>pJ-dRh4}TCSrfV2ni5)!opmxQLQy*<^+h z%*5jn{Ah0gr)ijIJyP^MKn{q^;6BjH`)wKAC|SkRx(~Qt@8zlciU{#kt;Z`)Oo#k% z0hVL*3$3Ux;n{}03)N7WiBSR80d0zU8b|#bpz5q zWvQNY?Bj!*B+#>O6pasC3z#x(I?@rV;5~-{wL%qkNeX;X?oQb`kqiCLWH-Mfp=!&Z zvaq}IHP`9O8@V~8Ah=>XsA87Alp9=BEV9^D!(x|AkeVgyJF=d2Ifbcy;cCAo;KRqu zN|$xvSK`(aZK8esvPSA}yaPG?`q3!%*cxS@O9 zkJaUB^k^Yl?PJiuWgRc%f}_)0HK(zVaGK9vvC?$yN>Y5{0g>59!44JPst&U3Y1r%5 zewWNN(SbEa%d6DX7K}43B$+zZ4lR+7v(zrJwHz&SBKi7~)ANc^T8@PpPx2Tm?Id}E zftcoMS2XhAWvf3i?-Yk(G~3y-jlkhrE|zWg)*2X1S&Y~x=~MD%wM};b3(5BmB4S}~ zx*FG%eL-y`cXujk(UD~-80|7#0A&cxO_qJ^09MNGx*1OD#&unP2q<* zE$YM9Zw~=<8G0h6bs*feUi@X{;V7iXj^BuE^v>&)|Fy!;+MWuhOXWN!s9s{(6{Hf} zE>IqMW>K8W-A%~L_(|p%wNVOPlyx0}M~$yR#mPlL+_y!acgk#;sts#~Q0~o|ml3Ki7uD|1GG8T3M{duD+$|vr5vb|d z%TxApePq8F_!wVO?uXSZbokwgqsdBS*xD*_APO+<`lymRc7Afhw4lL-9bED5FS1(* zFGx5O!>=xfjQ)IM>Q+o(D-X^-%XGwJ(sQe5&;i`ECXFD>jwuhRb>hD_OlDQ#j zDvjOx0jw!tn~|xZ?o{|grde@Y_ear`GouBX_W4zrP|DkCq#359E&A@YbfeQ0oU1Ci zhobKV!5r$bVWZGQ7(uRrzl>GEqiR+>63r`ft7G?}2)3l;kDi)7L%m*mKroj^Wj@bv z;2={s1+bgi$+27;-E`S|(Um17vC-DjWi^FmxAC>%gywFAk$jVBFFHw@TzIshh;dN} zl{Lq{aN(rG>Zh=CN8^JpYKv=Q@rLCKiF*7Ils8{UE&($u!^=g{u7lD+0;lJ&Gk*cX z@u3j}FWPuq9}C4Fg5w1;7|SK_4=`-2MBBy5P${h88WF^>u5hM?v4`c#L0(j{ZL zv39L3g#Sb^A=IzW-QCgix#6XokakWig819qRUON2jPtY6y@78~;GfzWpQ846XgO_v zMS)?HJ`Zg#pF*`lbVxUC(^AOFnmECcK%uElz9SO()|{(a9h%7nzK00U$-2loi0G}e zc3XFDb-VeAAQFgQ-U&18L5cavWL4^k%O`6iW=HX%Hj1$Pa-gHj>U6yABIuWeq}Wf^ zLENcQ*^z!2#3fHn8ovBdf*&vGtyE^i);l=DIIfd(Cr3_2(eE%wD$HEtI;QH37Ls$` zTX#~>pEIZU9<~ z|6b;!8$K4EVUH{udq;7FBsY0-T-cP^4nmvBio&!Tb(zkm>$8@AjO;eOP2opUzl2)3 z@x<>=Z8=+a5e=>So1r|;{H%3J~;1ue7P}O2!j$!JJlYAYGgv*LdX<#1aK9(M89zalhhxf_B|Qh6>l z&nI4B&gUESj4Ngv>`pX=W{_{1JP>cUyo+Np#YzaIU{?Wxv}if7F`pgf&aFmTA5ou( z>bia`+10q-o}TmHML|`pb&xF{8;gsGx2TVuiu&d*#oWx{*nLy9ESBKM1PfBYg)&a{ zmSVV#fsGtt8hSh0=7=C=W&6gt09WR#7%Y36HIDpkQ%&2$CdV?XCdlulnaw~W$P~!L z->9p7s;4pUmx_g4vvuKO*MXo5)?kYUM$5$?o2Wx+Leee_Q>aWOTGQnKb0#)>7QfGg zL5*zu`7AjO`#B{zXti%x4&^^%n%JTUt4p~AAq$W~n)x2m*Jg?bhY8Eh4L+R@v%n0ybY zG>@_KBV68Q%*?K5iCloWARH*#VKUgh$f=`sH3dZ!YsCqz;Wa#Pr(uS%JeTbK6>_e9 z*2JTey;{7o4m&4Mx|foH;oYz7!(ys5=G^V)GZ$?p7#&p3#T}bE{|EB~#c%_&WmC`4 z`nMqGFn3_j=Yl@s*g5LJdfe2wJrJrWHKM01RPuSLng?T>qVT67k8`m0z3DQ8yE&=8 z@7XKb=;F+FD#z8zl9^DjheY|+B-f_P-(tcPB4E$w4)&(J502WI!HlW`eR>l|mS4^w z!@}&wFLqIM-)tJ1F2;OE;)c%WRxO9c=Q`Zf1_H-tGhY;pzyw=Xr2NN}NhSGB9Y=qC z@GUb`U!=j|(?nv&+{d{tE_`|wwO#}MmZX%Y$lY}!9>$uZw2s=trlHQ1*rF~vB?Iws zozYe<#J=aXfnpf3=z$3`ty5yT-pc6%-dU1!R|dZICmNMy22F4Qymp~6Xg^2 z^Ns`hU;j2rQx@1DxRx>)DAODTuV0uStXTT?*e4!Zg2PMrTGSjEUq3aCfG-)2>$!ZLEdW*0`aVFZs z3fp3WG7Q|W_`<*b8G~WQfq{dAgN27jfQN;J`OgOymllUxO3TudCL)8Y9CS0hczYoE z&n65C^Z-~1+CM&vr1J^{ozs3cds`CxYp2c0vU2unPB1j!s&#y7 z-Vm_&cIhGV>+iQISQbLg>U5bVEE% z$Tw=*_Gm@doG$K#!JlLO8oC~g`YO_N#VwL|!>hP#>$CQF8k22~K$AP#PD(8=a=mZn zf8)P5yc33;wSOfM_2nIL`;iY3X*|G(LxhOzU8?)soZggXaLm69Ipmdc540PG>>)A( z^cvNx`alVI=VDW1ZZ>jVvHg5drAVJhQfkKj1u^LqWq@g z&;G~mQUR7P`9}x?R%g>4cbWgd*c=482>^DphVeKAC^=zS$$5~T*?_rc*3W3}5|(3&j#c2c^-=e}abw{$Zd}?HuN@ zZe?vBTS8Q{Wxo(e6^KZ zuFX)J<^<7E0-B8JaS8$GR2Y^a_*dd_;tfGI^&MchFx)U*A8}l?cU+>SO$ZL-6#gsB zPlFNs5&U*Mn(f?DSO)X&67y;A9&W+k04d5h64R(o-(WUEVIRv;7>GykTY+)mH^i^B z@0wx1E zJ5nwss{8yHT5uFre(0 zA{4zyAEv7G-uEsT^=$nQ%t3lhRHKFP=n8SPJ8N#5;kh!$a|&mBb_5Ww2H- z<1H#4S*Eqf)p=N|#60zpdh58vNCuQwOl5t7QUi>7pkZTKkJ}DSS(6WbhTd#<DXSEQH{=2*ITA+jlKDd0U_#hN^iAWxVGVE6E?iPpf|5EJ zOl`NwpaWRZ!Z@e05FEU3h*T&O-@yT;fXnZrBvN=Hi1&sQE{;}OBy&=T%0xL}f%0Zx zQIld-tYm4Fe6%j3c*Nqq6C)OeYMJaD$u?dfeWnL^gaoHBHYuV2x6sLh)58Ooq*65_ z+4^2w^`*E;qx{H}&3l03BR0&wc}8>X##`Ah?B7<=q$hPd^bI*#?65vM%>q6SvD(YT z9itR4vRDmr-=zt|1RYuj0q;+Mcg4+ojZe>}nY@SQlXRogUZn(zw%_om9fVNt9DZGs z?fssgy)t^el|aCR(fNdVYR&ASHo)1fMQ&Fx9fTwJw}bcIJ~ZN$x-JYcD<+CUTd62P z>&_gvDEsEV-L-q%yXj}zuxx?u5rHEv5-_>~wNu6}Zg&tl1z(~|ByA{R!)0=BAPAIjt>L?;AC^ zVEjY^RQnu>mVXPa-uk6mYN5cBdm>72pu!bRU?z3PJfHO*+sC=>OCpnXf9x8@_&~`u z^~P_SH~kiM^!P6^ncDqTAs90@X6X)&1)Fg_d59xmfyo;~$uIqPVU1Ndl@u%edRve;Ltb zHJTr^4Z}=tQD($ueA>=cx&>7pk=>-KqMm<*NqfC`z9*OuzsKG}(tW0^NONRG?)7~R?f|FigB@S52L?{%DPH;ni_4@O3m#Bsq?Umf_l$`CA zYzV+3Gnb$4prT&k$%j-6q2Q^fHo~8)-}hU870J9DU&Zo7f~Hni39EVf?~EgT6o8-H zh^6@24tC`iLp-q_vlLrJ-H{%`+THzUZdP)|W8lWHi!q8yTT&Gp5x&(-V zpZB8rMHc_qpBZAZT76xAp|@@jRvXpWcgSQm+{;nyer@j?h-yu~1gGQpV%?i5hPQAp zmR88h+$h@+F zT^(mju(cZ;mIMFO)yCV%F{prY8=+AeXcn9k)W47C9cyayokOgpb> ztxxP*$L>L|C9g@%Pa?7OCw%_&T-?5b3Y$m~f3$g)8k{TH6?z|pe@gn1k%Y*m#{tK^ zz(w_KuY~RHe!Sei9M<*mOIydkCii-OSmkqPx(a2ya9r1I)0d>;pmO_&#Dg{kAqrkx zk9=EL1BxE1XmsUpnW$N(Hd(Q}JT%)4EV)TrcxbHws|n=y^wB14$_x8CMFo6XtqaMM zyFB|FxCj_@>WM$N5g1(hSAEHyY)kp;K+F1Nf2lha76O#P!QMx^f1F7U`%9O+TOn*%>Hb)RsGJ2ico z@{&m9KoLBqFKM2xXNXbds~w2Q6sSC{x(73#ta!KmqhzsB!IugDz~CO>X}o00B$AQg zHB~IG?`NnOJLBnwMt|B);d%YWgsVwOVFMJ z2LjZz!U)F3_ac#N1ZEia4EB?TLNm7LY@xB5hz@sL9R5B9S|s86_qN+3g^ZN5V^B#( zHkhWuLIaUz5k5jtO*TU|Cos?X^fe77Rye{#@P;dgVgr{My`)NJ8;8NlFe+OkyXc{p zT_9|#*9vyq8vP%b&#Or|akahTDSX985n zIM{qmHV`ilx>5m}@zijmDdku}4+lg|8EwW?LpvBI!yjz^@=+=(mN?0Yotn>FV#`{| zPEl8q<^>^v1EuK z%Z?$F7Ktu&7u#39n}RjTCg?PmR4fA_Sh)@Ntp(r0`f;q_LSnUs>RW9W0)5T%t;9N< z6&&J|75ZKS2JOGGTR3!{c-l4!-dz?o18r&6NXhx=W&}>ZpwdJ$x8tv&tH%a=@EY69r8vKoVOM9UD_ETm%-y!8iT(|J5JbHk>@AtM9lQigyH4pEI%^NO1S(1hs zO;OM5sJ@qO#b?8``q0Mm!O_>edt$+cF|oE{9>p~Ji%r^x!?=bJsZXfP>+6LPrvlqf z8xsuW1OOMu?op{^xhoJp11NsmUK_OCF2YaInWaXCuhLh+6s>%*MkDh~e_A9+rDPSI z3B`Wxg9}1Y^BEwVc4jEHj{Sg~>B@zrKIu_U^rbcW8o}?xK-KZ&bTP#7!1>lW=>BPtEG zRdnG97M}jH42#NRT7J1_7M20>AVg|=v!7+;m#M92L~{34$c~LfpL&>_(w<(YV=q(_9`MVs}SWb zUwo|+3Ir4;SjpxAYFw0&?P(`7HpdQ=A*)t#&x@Ua1ZoZ*aVfg^T!6 zejqhJiVRld@`_3e_r5!f{{!QeL?JgCA>8i*%!6B5V)}w7sn@+t>_{cVyHZt|0ZDv? z+eJZ%Xr!@HBIsdC6Ol839D{|T7(-DUA-WsR%$K$ZVstvJ)W_kbmIe`QkP^yRJd)_%QI5BnL6g-W!p)zCHSr5CmlWPDMrQagzEyfQ6Fx~^Z*MDquZ?sMC~`r6DB+$v z@}nu56iWG0sG29Nqiu4Jip$!h|0gr?%%Tcqa(sQywtJ9EIhv{Nl=Vrf`=0E)XC|HQe5j*D_U`kEb*+e^S*nmq5c>fMnq>VC-942TNhBJXlN&!;I=n!Gpgu z;-`nF3>X%n#L`T*BZ(Dr?vSOuJSPT48RGf6Krkc(L{(fdF>zzyW1;Mc2tgW0IQwQ+ zHZEPv56r*Xj;oX9u}Ux13Os8S;29hA<3CaLTX>OCN7%-1)RURxy;3`Ha`5NsI*7{{ zaBVQ59Ql48dQ_Kj>;-I* z?W0Vl{DLr00FpKv0^#Ld8rU39gf>dk|MP&P?vn@j$y=mx8f%!lml>Z?9g$kwO+N zcM zA*5xL3YCY#Y-1iy&b0q5st9x|$W zjDQD;G4Ywu_4=wWNe`5+n)UQ!HzJ~01OfdIW*P&WSAyi9h?*?2vlcqE=J^*GMGp+w z)6%Jv==r8Vpj8KHWLgIeS*DfhJKX%OLrpII)t~5Rz3QD@owJz?vd-NkaaN1*lppTt zQXEmkP1MKs7eMqWGA7&%pK>Pue3SYTMRJXd;g<)IrF}`z$bJq=T0s*IRzP$W%z-BX z=uk9TyV5oB%a%6*Q1ZQ)6iaDJP{g!6v~Zy=gEKMEra0LjC-<-+6^-v>z9u4Epw(7` z%rbf*S5=OUq7;B@LX<3{ToI9A+g&p%`C34WxN~S>jjXbKXayS&j?myfaXsaUY;mO{ zLgXMM?k=>f?I0295dppNsQ_1vwjxr5PHB~FSGX5$PC}FfB8DSgf)I&cmeHny^FRTz z#b(+e8sjrV9;jz7!7#SlyFiNEng2^K2Udoda;j=(9y`Msk>_ZQ>O(M8m}i5Pjf(zC zhb$okMWOwCu|Li>jg%TK1y2lZ_W|L8ptAzC(1{tC&K zf`1?jXf!0C)Pe7%nkOPjo{X1*#Zt}0QZ-#J_ub(hHGg1Ape#Esi6@9G89||_$`j$G zI&DFGQJ;^3h!1g|{f_9#T>6MA*$e_)YI@<}087#hR|=<#pLxeuLJy7nqYDf#J;h>Q z$HWr-01k21@hOP$8g{Tholxu3ynx@gWebn+nh7RbqkCqUh7ptiWd#Wni(%^*wX!o6 z7?q~6#(wR(5Uw^s>@aN9q+h`MN<9Iq0}1mdY;00;qt4M#AEyuEX1EO{KY zq|Yz&-1RTTQB)QQemnBe8a${|Sm|2=u1o3a!oouDSTt@fcd|8(l*iuUa%qTP-3#%) zTQ(aHN_jht4RHuf&|m=b(YsoeiGZpzf%bjQ+eC$%w-04vtk)|_suEEq9mZ)x0Od@K zPE&}w0yub|bIx&rVF)Yc%H;zK6;%83JQH_XyIUhdgmpm;bCdnvqc(ajZVB2 zsuQn;b(bsYWLSRHV-j8I&*87!4)VbTSxDJJ$fuoZd$xf{uTTt;U089xu1Xt3>f@7%GQn9$)94RxSF?}Ek&|`hFVIV9XxNjJ#JtV?j_z}u z2S43Fe2>Hm@e!&-qrFsGc-!TE#iH9hU?x%YAX;!G_ZsdTPCt^jZ__bJ>8A~S$Y|Db zW}+*0&whU$V5F-`yHbG(0*rX%d6B|yE2o_~x5lzYaa=0%{18DGyU2gaD_}|2?0EhR zIzAvPxTgq4aKvXr*P0nC<{?MoyCefDrYM#J2>$|0Qsiil+4fB%{aD#{9>^j+kGF>B zU38;QRD>AF8by$zge&Pj(;$f8J>WS|o=P8w74^H`-$Qj%3Bl)tu z!A@HAlc9%r($Tb#>IxDQvUppSx|N~@WTG^4eQ(2i>~P8`cabokfEMsXiC?AL=OW zf^7KZ;m4s>rQc*IbuAY8Gs`TQey7U6A6>-(UE-7^z7okHPjAPRaP1+Tf43Dw{hF44 z^pg)4$R_gehCM|wC3)JMpt$UqKIc)qFnsIaLy^32=BK++7EClZmYk)_=Lz|c=ejCL zCgk-DvfXziF=}DY8OoLFm~`zAQjX1pj?WkfG{^9Ggw8h@qkJ6D(^ zmpuLiB|l0-d@1^(poZgP>qeLkh;XTuxOWVf%mb@!m$7d5Q}>d1%F3p0YRmRh1RTcY z;^|&LBDQF`nrHHs>rg6J#aZ$2wN5?}(Md5;F@Dr&3q=)#YNvhT%yb(+pj4X_ zj|BVhKP0TJXVk{i{jM@ix5KXYPc^KdmXTIK0s4%0XiTQ^E8#uS^-^+aU4G>j0saC!05$yvUt_@qZmJ3CSwn z@t7$V|)czB8o4`H!GwOy)1P%D@CC+*#vFKP9Uo$`hXKx{h zU#tOZ$occmf*nJHqc6d?1OL5D)ny=E_nGm+O-c#YhzQChU3-FE985y5%+dC7YChwD z-sp0DT~Jr26F`| zJPG>aX_k={3=Z8;;;ntt%&A9}kns)IFdQeQ!cn7(5bl1qXsEn>3PH@4No>}jiVFS< zRf^sI2S%S0!sC7+F^m69g_u`k{ug2X481()Uu;j9aJ`_jATE+a32LG94xz0SP|sz6^_i4xIpw9Q*N zQ;1&{BkeGE;wh*?N0PZIWl?R|;!g}P;I z@SM=gX1x1z27NX_s+wwlcl!9^?JnNq4P<_+XnLgN6l|$AMOkZ25)*^y%Hxr#F87Ek zu}1vrk@W`4E*DBqy-4frAD{E4B~p)ySVb>PTQ9A@SQSQ-_ol`AtndWjJT1G^d1cCZ zvuu0cKt}~U$e)yILK8aFM+wv`Vew(bbp5zL%i!`b5jxtL7tB7irw(rz_S-u^D5Ki^ zu!eGmAf2+wpCUf5v{z^=3zY-HHKXC&ar4N#&^pvQON!Inp$CI zMrLvDptHL!n#wI?O-^5&mSpuiIqqIy($YzOi&VdvcW+4Tz4i^KW``_naoV7d=iQH4 zB7X%y)V+ULNO0q;OHbxj0MNE|Wo}0y&D7t3m;M_Y_lSX#nhi<~l%v!1O6rO9At|Vd zj;BWnvUJ8MdEWEV*nLU*b3K__gVwtA#5hCUqXX%~1_Wl!Wo$AsM3c4Sz|!F8qamW? zKhwxg)qH9CySNCDqxpmig zM!zamGIBS%!V~a_o{%Q642^l+r>9@;=*Q09Wu?qgQr#U!gjHkY3zLLOvGV-`BN=3l z5`FoDM;EhuLfye7>m?LygwWZ(Fr;(#JRo%Y5v(~`{v7XyUwDRnRRzBFwnUr%?QWP z8B<}H+s-e}1DJr%v-IaB{FxB1>nY{x7ksevg>;h^!>3fKbA=@`7a?I@jm3{n)U~Be`LvO=$=wA^eJqo=tsR!ABN_%t)$mqMVX6Vg3(NV0>@B~?L@>tAE~m= z1wc@pBbxV2>fZ$1z%ei0p-FSi1q4BqaQ+f9?<+nAEB5?T#?Nafy<2u0_~vsm?@cPW zPss0!)DKV*7=7M2XbacM_3jgKpGkZxZ#(7-#K_l4${auTV zT!b{QkQ_96#V#uRz~v_pMP)3_zsWB|ZY{AS?JxuR1r8e8WeRK3Hi;TLsoER*KE)D1 zItX)7&vY4>t`ze(zFBI26(#`Yr`=|0`jT{u;8y)XIe+Bq&)ay9?&WVA7|p(5mbHLH zVb8mWx=tub6IV-C;bV{Umk5vI3a|M6Q z;@Er^M`g`%oY{qLcvZ2cMoZZM=Pp2M0%_%pWViYvt#J zF=b|5Deb)`gjpo%KM~4W$ACKvmFRXR?^G&MlP^B}#dBAyF%EhnJ0~_gcTk@A>_ma% z7Q36?-ywxqxStep`q7jEDDy*YMZjlVBHG6ejwr4|ev#iz@$%T`D<*;u?~@Jen zF_0KN1_LA<(nycdjR;6cNk~gc${1rvZgdHwRa8n!=@ylNsFX4UWFR0QApN|1&)M0| zxqsX^yZ4^o_mf_e;$OE}KFl)~=)9U+VPVIENGP~|lkOV)0cl_8O90OlPr8n%bu9fi z&ZT9(Cbg^`^RIf7t?t>Ii)h1`GMQkI{1ap@5XrZtsc7-6N~cYTobr(3Xq0H3AAJxk zyhnIwXAr|_*x9m38BJ%loaOEPcZGUd zT)_nda;D)gz`UFe8Z$Me0cmW!&%VC^n$5-KL)(;uvEpIoVv43kQV(aEA6G7LzW?KK zx8WC}iD2a6<41eJ(bPjHy)~ObDr&69qaKodY__eay$q?ev1*8+aaAc{Nf@N?@V8T1 zIzAwszs!z=iD9-Ad5>sQnxX=80*4G))Sq$vX>2uFbiv3fNjfjp+k8A_F*7)!oLu7d zxwgU;@+qCV5wl_Kbwbl08ADuhz=Hrdqu$+jLO$9NCc!?5H-`TSaIfm)j+s5&oj+gx z`rJ2lssyriH)CPvc{14wHg?q6^@CfSHgERLL|;5zdU)`iWwn{JVu!vNE~+^u?;d)+ zv(X(FkU;0@$MaV(t@@;QI{3(2Rv?K!7-CKv)90u8<(lTACkYF4$_P{><2KW%j(I5> z9yeme($Q0%RpF{Ays*6=y@9hUY_1ouG7YiFP43YLMu{?5evSROhuB32J)@rjpkc+n z`;;WJx#(c#pAyAFvw{+;{LiHwQB(W2mVV2@K9@ut0{+=pL_wX|_};3ey5GhjkJNxV zJIf=@rDIKB`ofKL|NFJm92eJWWXt=yT4CZP(3&GzzayEs+}b9$rz| zD(Q!I!Q?O~NqRzk-r6(ijrBZ`i7`k9NX~Pd7eph_k8_!z@Y0)qz><8P92w=7VddHe zyt&#R`_>ksb++<}uudz*@mEK^i_0XxUOO(!?0_=CE4X`yg7@@!xI1fa+)*(? zhI8JjBMp5Xzo=XoPWP2m!eV#_6I|7q??VAU!MlkWOkTjnn~6bll__TY{JJdmUtT*-uU2nk z3ZA{27R=Wk8K!x56r%A|sy&Xz=l+k@?AK;OdaADcCYz#kG#K+@t*>E12|GiX{i3?e z3JlQ!lIc;r&<7Yvx~-v0A<`5nj33+Vz@W0ez@WQQ&|O9s=$$Y9$iCp|N@BiC8l92? z8t}YOE>^OCCPE3BVO2HNOE(ARTLnGOq~e(6tXB?9HSZbo=%wC@BR-0BI}JojsqkBi zV~md^4k#t4I(mi*bI2J7H%?3Chvz92n4gYxX>6+^z-PB>lvOhuprqeJzXN*-z85Q& zJd+-^PM~W1%6h>dick}{nz?IG!`ejc(a*$=qEZlLqd$08e9Dvf+UQofij$%9=2XKn zl`vLXMOR^9yLl4#$x`HHNl>Mf*Mo}taeXQNhDHo-87wRe65ps$Lv3YPYre0<+S@#G z1gep(Z`T?^Ojug0(#bzELqwq-(1_x8HV+H3W%-qjsT=4fMv<~lSCzhGds+!h;v^4E zs#uu)6h2#d6qqjF5_-01+Zse|CssKiyZQ(t{#)!LuQOGZDrk&z>|6dtG6r8dl<1$d zU9IrkNaW*Jf&8an@+y*0oAo6O`YSD=G_rp$(ie2=i<~A^CdSdZPAe+2Z&=!9^ql3D zS+mi_-SVVcS^k);jc6uC!}=2@>hsKiVlzIBylPAxb(W?_K}xDiLwlqn@Jo@%UtQ^(R9_7AG8Of*3OWnGlr?KYj^MK7P(XoYl z9-m`btQ47WgSriPkG1D`+U}8*axG3lN!YS@8O!lMDaPl>v%Wbk&4wS|N)z(oKI)KE)~oN}-&MmC8>(Yz@W1ZG) zT-L4}gJ80PA~@>ph1HKISJmAH4R4vUcQ;cW3vQ9+KAI z!kT!i6E!T_r1b4s3|h7;ld(y{s%_TiBjXAU>OR4*J5OZ`^LA9d8D3U*-j?`9_iS)i zHTAR8Ed|J2-n<+ATI{ zm9(ekwf#iCErVUK*u=Qt>5MIYqs$@!E8-6%x{7LnPOBH~L`8Lp+k zUidZ7aFbb0SU+o_G7(ytoYjoP`)C(^Yx>3>sfu05G?(jqXKmbiZwf0@{C1knDVzn z!N(0q0mNjb$HOX_j~iTI-JGV(40i*%*nkXuX7~4RZ^o2dvbC{GlqJZrBq38Zk9m2o zA@1z({L2m9`p6%iVPohD_~wRMnjPr2y6SdIh!McAbpKDJj=MXri@?Thsi_?2o>w8f@3Qn}4kO z>TDM&&x3ejQa+PlE{n;LLb840Q}&B2UE5Sy)ctE)BGsEp-u9Zos2kDc=I=ONJ=J2f zc*e6o=bp0f-I#8Lnsv%@Q`1Xq1ss|@>P>WGq%_BrEU?`R#)_(r_@6-9E>h${KVxy7 z24QlKQdV6TNi9h+FY)r70_nG=)I81#l2V1l736VL=DBUTe*sUgGPjya4)x=j-eq

    GN0X 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 z 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

    yrAdyhx{^!{-uBVfPeJ^f7({~ zeZ(L7n}28z{^eY8^E+woR=>2aKiX6O0JuN>%6WajKl+U`G?a(;l$w9_KkCGP_dn{& z_58p;`h$P&BBr(dpey@ExBl>N{m=Tj{{U7b{{Ymcf8Gbz-@&K<08)?s;y?S9{{Yq# zrT+kVU;Skd9`0BF0J;AFcMG51Kk~}|0QV?&h~o%@{{VjtbFbV<-|lVw;z#?+fAv4^ z<$C^Qc^{ciKe=E2rhod07yY0YPt4SRDA3Zq%*#J%fBxsM^9R@S8daan^?qWyeqyUn z%t+w(D&hHH zdk(d=*%|`2Gf^=mWT`VmZ`8QJ^rh*%Cj-PvrA+X-dH~6pTX?Y)XHj8rGOe*3Y7AyB zQwumQ23>w89;Mpx<_tUPnCk^cvkLNJJ(o7)9ZShnMS33{!EinGF$YysE4u9?hOVZn z6;`+6Wo}Os1I(q#pAyy9Ak&}XV88VM(|Lhnvts`MQq6G?#%edt7#~r)#ISQdh|$KQ z{{SC`(`My&Rm}4*l)qAiwl*(vpK%0Y;O8WGRlX(WoIskg7~cIyUOh}ZVu}8tjMn>& z9LKGbj}YI8yv4fiXJno6e*|9<)}zt6i|$aE)cqy5X>za6iDiGN*tiwz#P*5aBUtJ* zyt6CrEqX$e+%>$ww?C<+`;}+=lpOOgw|STbiBJCkJ{89>KuK8hFIa*EYM{ODIMXn^ zM9=d84x#3Dfu5nLr#CuoBGSMm3Dgc{8H(B zXfJUHwUvS-%Xqk)zW_}V?q1(Bv*7r~E!-nG zGN{4Z7o{Ik&Q%CN(E`~*Wx9cId`F~F@GOtSl?D&Pl2&dvjF8=!%e4uuPf>g#^phvV zG>0d389Ibb2*F8g6Zu2H2*_tb0(R!{07TTdo@0$K2cjAvt<>!Z6}euEZ8O4fM^S+% z9ba|CKT8`|37zI)J**IMsmp?nqK2Ui>M;fzs3kv$K-MqJvki~|-bWBncjg7W+#4&t z;%&cj^+3xf66mhxR&_LOexXzPhCH~Q33?`c#VX9cCRA|u2F+O%VB@)Iym*Hxbj^Lh zu{8p+;%rmCqT)8HX}sK8cX4ZJQ;*D{Z}lq-;s9s9=1)tAlq?tP7f#`3`08EbL?}GU z2MuuopYCk5R}!;YgJB5ynih_dIR$5<9)hE<5oGLAjz+bUG3qH@F;O&4xQ+h+?7L<(7?uV8V%)ybaAsMYOYSW(RTib~R7~~ES~(?yjKDMB za~Q4jh)L!Knt*Wu25aHC7x1cJi-@+`h0mlFUjYkW0KsOf=SZJ$M;VM{#}V9A7j4GW zE9N%hVHC4yeIVR*8~XTep=U5^VevFR5U+;^!e0`D8%t99GJ=33Yn4ix!#?h=rH~4m zV3q{q5N$w>=+gj})5a;3z?|o^o+Y-FHmcaYFqytDm)zB23|IjId~>V!D1% z=kYi@g*9@oUx~&sF8;cj5JjxPW^S?e!qNj&O=1|TmAu^F6$~1SL8z8(^)Us-XHKyI zS>Y|Xmfij%w%8VKsy4O!$EY0c20M%O3o}@ioj?npkpNn{W;E_A8*Xb_m3wKQ>Nb<< zF6_O)?_5jjQF;7D#x*TrcLz67B5GdzbujviSbsBQ=LEFG6?2F>o&Nx+n(AE;x~Jl? zyOnk0sdqDZmrmp3^BCEm%<&4;-~K?THw<`<+*-|V;)>3r{6job0=^h!*)~+#So1L} z4BjRFCd-11y!>d}HkE#e`ipYw8JB_w?pAkkT7z(FSdQYHG1betgN((;QCi~>)~2kf zhD<=Pc4}W27KMg{-jC@{r zgK=x(^HRvvH3dHexRoi6Cf^B&ZWxc0T7;{BTn7W(Ce_*_);A0QprEC&tY4VZr-6O} z%&2pXyAC*)T%xmFRvaMia2F-7Mi&C%iw6?tgeb)t0@a6>-HZ1I>N_SMQ3X`D22zi? zrT(I|MtYZqXqTh+3@-6F8GSN^R%f|by11?rEkXS;C^6}Xnu482IoSb+PzCeuG!7C9 zX#!a@xsp_RsVhekz*YP}mK=3Cap0F?Z_Kc@Z~K;P`az@ig1I#tWZYLB#U9U$LA7`~ zi?{AJfNRvDEt$h{qSdUsySk1HTc~3-3_{Gz-fP^o;?FZ&!NHHX<2=A5ruwL~(TI&? zsZKhaWygu9E@oEhzuajnm@ZfqrZ}!+L@MT9PpM(KeZZ^gI9G6LWHiKGzze&m2-_?_ zt3?*;0#y3Me1ctD{Sc=M&6oO@4Wiq@`haa_tf2ix)GhnJQp{Jc_##E8@A@KHf9mlI z?N9jBM{oSDrQ{up{XtYRH2(nbh#4cBf1+B3JO2Q}1{-d({ZPDuvHt)>aok@=>I#O= zfAX4EKR4bu`lfMD{c#wvKF{J{!*%}v!fk)a>IY^|_|$a*-ctVnP^g-J z?-KG1pYf^Q3yc1Va>n%k07SP#HU9ua!zlPq^$a9D3H~PitFP;V>VUle092?N^TYat zhzWEpexQ3D8^7s{(Vv|E0H{jn_WuCX47(hE$uU`DZGYn^o=^MK-5JQgWnv9;P4WJq zgR@uv0F2HWy#D~>D#?HEsFI*}{V;?yyT4M&patar0Mx0^{QX9Nde8L6C|L3RFhEoP z06LVOd;X}CC;ogvFBhNbkI{FZ>w_(ff6k%Ai=2O4%pAYxP$i-N0DVS`^cVS%BMw0y z)Wh*tsdb9aa`7J=&*p9Mc${P6@iSSPWs@T=*x2~__QYxy=AyvF>D*{b*As7S?q4Le zj%~Sh+Y1gRbuYX#Oll|{eMMStF&IfR{2s@uCBti(hdnHF%f?8o0SmU@*>fGumWRDrEe* zfkd8(NG&?HBQV>%FrEe*qAQ-K;^kY)~;3OEDa`lh)Xh%Qi_S?d_}V5S%^1giOu8? z)-x^2yhj}qsdze;CS_`Yxp>wk^I3z-n3TH5i9=j&Cr8}U-Z_r`O)Y*DS*mWPu2Q2%RxYbOx*O_C5eZX)+E`3WK!3Z2Kc|TIw2|z}< z%v((}C7kyVQIc7lKo+={mE1OBRqdC%&G8H|_?U%ewj}7jv{R*MlcW+^f4c^oHWGDZsko%QG0X<4u20Y zIuYq9EgtEZWff~2PIGv}6P^GSW{uddENDn07}&J-dgPk(3{8^1KP_XQjhTq9rH3(V z;cTgcf*fNI^$nlyDrk+ExZ@0+i$9b9`^TM6Lvxt3a!5ICHfK>eE2Es|d}hdbMu^HG zY;)*@ZK#GYhnx=^lEWNgkqlwPWJ;fud_|>xKYzphxbOS@zOL8n`NXtQ^rzSccfy&y zX{C7>Lp#xa2|GRMTTf-n)RxFEn6ZYaGY0bWHjQ^!h1-f#@Fu3*j){MDy9LOLQt9EZ z7P%XcN`3OKgwm47Y@=YiyGI-(0zjT*km55)wGPeMFg4TW3oCdev@Iu%kb6P~I8tk? z#6Bci1GbN)pB1W-$;2KRt@7MABacjT2Q;x&=Pr*3^yZ_j(=Q3F>rUs2xQTb0sjg_8 z=QwBQe8r_KIa{%LvzRDTh`=-c#16b{Ej0eFv(=$Ap5&P{3AN~jVQFuzb!*6(> zAr`~rm1lIRD`$-C8l}#VPfBn;>MTO!mQ4bkzsN4*VI4QTx-HE~dMc z%VHM>btjf9CZSvo*%fW>`f_YKxjv(M-yr&K!l&_l9<5(EgnR}kF7u|j`#xI~a&l9T zACP%0O_A(l@M~rxbkzQBr2Cn-{4ETAc3gpntgUC;F}Zd^sHuCp(n%U&1@|*^uLkDD zx;sUGEst2;pt~5jv3cY8zM*)e);>TT!7b2O`@5Z%UB9kGHcEG?Z1H@}P^!6r=Ng?s z=;m$)MVx8(MXYpSRy*c6A6~~}{M1`6PO80M6jT>kS{cX4bxK#43K7EgU0$pi4t6~J z`-a2!jZ*jeTM>qMW+hP+FninDMlN+A98e^CZ}nxexcu|~awHoUl%itV)cwsS4cEhj zjM?sa@nHWlg4Fl;Hc;3q%Y6#P?DzalMO$uB- znb}O~)VICajYl=$0ZB}Q#}#aTKq|w==|{2Xk7ABaW3rU{LWe|Cf%3?T1~i&Yx{@OD5CXlcGN& zUvxSW6fr-b>JXn(;FfOtly!sc_j0uU=2Trbc*S3(YW(J|+85?j0CBJ;|CKDk2Nu(s z_2JTHxGDy`gWTBX%hdTM=I0qF791#9VM|56{vPT2{oRf4;hUk?#qt>YWxZkPHX*eN zm08M>rZ8x63Fyx$Gv|9U@Vwoi?dVoH`iBUD8g(bMcxT_=5*`8_Wm|JM9YwM7t|6&P~}V9@6Jf9~=8^ zilkV}0k5|=ZihFus6%pzq7)yc-5?M;RQ$I4t8=+E) zs+`O^2(u*j1#WO5-0x#*F&`g6z3rH$9+1LT1xArGG@aHiI(*t9sJxZIwppSeB7d1s za1oj?RFR1m;xDECXKsM^s{8#Of-t&kpSqyZ>De-F0nX+w@Ra<%TQ zzoTc6ESV5&lv;Y%rE^V|@`aXu%{k8XN`vQVwd@mNk%rd?)G(US-a>ucB6gD}c}X(x z`L5ADLeSvgwkgeC*!2+f?UbNAsFxK~su_S>qTTYlc_hIb&GH}sfQkxQu;J`+w?^0fFBINu-a3sr84CL>HD}uM z*U#y3Vl|+FbKl)9Ij?NfZ`@(0)80Wx{Pwj#e{j@p|42cEy7aO2>Jw{dPvaabnLu68ALVvou|2>(o;J|6nfbC4UFoNNtxB zdHk0Iit=`}NDYbBTz+d;N-9M842|u`+RrOjQ9>E<%R^licSsvO)O>!mVD$_iwx{KP z`&^*(5RA5Tu=A~`Uj&VwT(97{O=rb=;w6^4$e+^g@84T_!`}&6CDrFFHWWMk7K>dz z!vk2}@P4|ZF(7VSCt4FvZ34pOQ;Me_9f>!4$J`#|b?oB5gm%)c*3HbF5aq{6qENjZ z-^6_6cHL_JowIs$<53Ga;aI$m}f7k6pFGeZFL;)hPC6N8t#GBkbwFOYHY<9|l{#C!gNqY4fjh zjOdE`1i$j0kVdd_natP~8J!u7+ZYnw5wW0j8SQoUA7K+3wkpPG8ffv#SD7t)E3A79 zvELmyLQ2DwK0i&Gm4^k{*NVWh%+4AVir9bqDk}R(^en_Gj_KgnsCx@9KgH&;COPtv z;%@?nd*lqX+D`M_40rN)5O&t_NNsMn>Uq@1Tr1mp%EYQ6Lzix!J8x_f{Ey+A&FeKoT+fg1&A$8eemANB_9LUm(6r9N+gp%bLhxr=5Q5p~> zZa`TLagM?uH8vP+Ee8^&6x?&J)n}bi9UY^VQzjXZK4r%W5k|il${x}5K~EFW{0wSj z(`xsx7BL@I(|s<7=DX1s{87^1?12`l7v)^1Jk=~96E89wFPjjt>xoIM_slp#!Tcaw zHE;Nxq!#vE)r<7^`ES0b25Pw_X}7<8gteb%ir0Lld>y(!$0Pp*BNe|8Zu4%(ecH1# z`VOhg+bXF{)U>peXx3g~3fDZ?B;0ojyqawFe;n^K_g64aDp@2F*8cY3N^-poJR(`V zv7wY}b&mxQ3aIZsRi86uHe$bwj_(pREYFmXT10F8EO1y6J_mVY-T$6gKGbB*)BPux z|JjME(vz>Ust#A`H;>ZxYFE=AwS8hX`I)WBilPQv+c!wM5WVttZeWno;-8DI=8Fc8 z!A?m2AwFuWqsVkS@C&KB`<`ogqo z?PtIY8Qo~s=}TO7Fs611YDxcoY^7EeAl^gvw9MB9T!2jGRr9WFZYE@ONke4H&mPJ$ zLP^lv?`9sS>rBsn7__#KNy(0n^!ol{MxWnfJH-+j~vRAy0*saiGQ> z*(eX8It*#iW%tL_^iItaX4S&);&bxNVfr6G7HZJC)VKqvB(npc{2WN3KVaVg2xE$_de+(q2i1~t2zxasne zY`dz)nr76RFtlYD+$lN2J`sxs9P2Rft$Da!2o$hmfS@Ua?2C__L0ij*arC!;HuAG9 z95Kpc`lws|b^Lhj*crdCaQ=5O6_Bgv_NEU5y`wZ2GL`;o zUss|g7S&JZx9Qx|DVfF>37e-P+c#-gEdC->}v{mVc#-92oXgNl5k^Euo{p z2eQJ4@lldU{R@xCW|%=zkbuFLdqBmd01Wpzyc4u*?P-++oUJ{R`ObVRtTzYi7ONH5 zfqHqSRNVz=0N&S_wHbU{MLP4&gw`GHubuUR64-}G0Z0P05p0CF z2W${L_Kt9Y<7(P>W)U&=p zSo}vb#yX?nhagG2DYGdG^*S@!?}?4jl31FSm{;9j2hDs@7T0bcydW^69Jg*zI93#s zRxVDeK$>9T0H!jha41{kWaj?Hnhe^1?o%|e!nr3+%pt%sqbQ(a!y8Fy!+}g8S;6F-ovAPS^d`CGE-A9w!i%2 zhi}KFu7}RIX`GPP$Pr{fwJs6#Ot=3Xm3%)cruK@QNp1_Fp=nIJOjVm|2i$_eMk{w^ z!ir?7VjF4FE!4mkMrF{SZ13CFS$j`l^$|VK2`+D%D7+j}>)XcTP(X6gHiF{Uxd(JN z4;I=pT@xhr%Mu#~9$HxRT*#44Litpy0^+iBxrN&3LK^r0GwWBV*d_v~Vo*zl9wqPq z9^cQ5fXT^!0EX%xD1;VAG~B;tTB?2(B5naq} zf=$)0$sj`PVV0-bBE?PdgQ72Q9)P!#vg0jfvmSKCQik+ZLKB<>E&M_VirK~x&*OIF zj9D)-h%SY1xXO~rBGFOC8R-5J`dDf>t(Ox^`4peJBk3tsG32cNf~k`Ea0v*)--b5d zs&|`QK7>InBD?pTpZlZ_n(@07ODHOgBLf@gPWoBIH!N1WF+Y!;nLPDsXl-oCvHhKU zPTZGfKN?=Bx6XP3Uvw)HEH2=Oau`AWlYEBFd13wIx9vAABUsI`74PaV+-0V8*az{i zo28Op4+-tkdDgs=^Ivn{Eq~5@Y!iy%AVu=F^6t95(W3DPO}352j$@EC;o2SVr3Gvt zXA}kBztBGw`2u*iU`{66wfnCo? z6DY08E~`r~WpsqO$n00LA)C9Vxln+_qH5`wO)VvLUr_M*j2UyDz8 zOfiyq$&xOU;ug%)rByi{3%_)eKBLx>-;zxRi9DPQ z`zSoBQQ8)nXx>jPl`H=+{LY_GX^hlBC!y7^aEhdJdX=<)tw#!-r1#s=-3pqt!+?>KJ_m>t*Z$wE1Ezy5G&w{R; z-_`uUmIiK81hv+-iar&!Gp=!C0)1Fo0TPdoiu@IZob}}@`1hefk;+?O_fvBe5ajjS zM{n4_W#;GXjU@bF5j$O+dXZl+0&y$)FMj3xcMF^3*#4oS%iwmLZvW>K#ETAilip>; zYdcwcRG5cJfvp(MMhEn8W$pYW*+iF0e4dA;~Mf{$ss z@TgiPxE_mVp>|b5!D#FcJYeOw8b0TTMW|2-F=Oky0WW9Y9y8gO&;Oi_pIMSz>Mb?E zEs>$Z);(b087h+e;dEHUi|^E8EN+F~Plr@-Mn^Wr^9zlsbl`NU?ntreAdfsoZ#(^8 zFvy6h?|j|bcm6V=PGr+zl|Me;an)bVv%xq=&+^caFZ)1D$n&#uX3&amP$g46vENt2 zd4+8M#H5JHlUnGDNZ98pJOR=~L&2xcvUt%bJ-I$Q7|cG<5?rxOseW#IP7Z5zI+=p4;!(#B^d-RmK+|#>o9}6qzeEgY=l>0{j;nzmYWHb+)3n4 zuJ5`YuXXJGe;hp27n8y}k{6V?zK`pex!LRMN=r!i6uN39Q(PjI7Opz?k?WaWFCf)4 zYLE?+Mt6!eJwh30I>l`S2Rlxd@R2qHcvaSFE`hMtb?cXbv9QdJI#q3HNOr=Wf~q)o zzgaJCx`n3wi--*T>mcEirSQ^mElBHlIJW(ex0jo5eyoib_9!Cu8O(Q$lA1Nr?kpF( zb>5f|9XP+S2WItV`OtYmwP01eZ7TM4?#(+YZzEaTC~2=|FI4XVH$=90ftt01HyZ_c z$+{Uqjyt?S!c1MEMX2@-tkfC8YDT~v)sS;(xPjpEl#)VcmV)Lu@dW>)>Yd4_Nt!Op z`eufP@&!OuZI5Xd*ADs0Y_~S^GdF%^;xAkKD`_P>PjeG@j{XkyT;)i+Qa$>MG+l;>Et?U9g5b0Lj_MeYfZ4l-QkJLRBf@yj4W)e5b zbw%^Y)tC|RHCdOtJERkAtorjDM8K(T2$+>?6swj~I<5Sush2qz{XPF`Yn^;y7WuGU z=r2*HQ)^K}Q=#~SM(aHY`~~-I~9YX#()B8q`bC*bkg`F(LFF%eTQ0`!NQ(-}H zFhJYqmhX!dN=c>`Mmo2pAO4Z$Rif0qsxX~*mJ_)oL_!9coAq$b*U0~@%)Od80(Jwa z1$z!XMe8IBGrjIax~F+H;)wy+WKVp$Te5g{AA{!k4Q1J(Hw%!<-#!nE(wj+W#s=Jm zYiKjgnOk0XBuvjkJg13n;+=Z#x-=y#{l{SK3*3v2Zu!~+5!bueD3KG%M*7&}ToZ-b ze)z-0*f<&E;NnOs?tjWNF#D*AeYyWxVf1B;_OFi-qve135Z<1ocS=eNCNlzUeg?jx zrb>!$#Oo!d;<-+%svIfBkgs^uf(msuR$5aVE-BGfplK5#z?6` z*GsogWj2j|b{#U)aLjU9ShIKEfJ$fa=}M0&1h-Lym}<Eqe*3P(1i*YRI_bm)j-gXIqG_#Vg`=`HL4`lP$u#*;~pbw7N%P5oVX8r>q!PQ#lA4!!kNzYcxhA_gm$edKzB{xa;5 z(5ZKvr7(z;3`)-6m6HU4{7TTh2F158b@;m^w)~Lq{_rKQl91~JTuQk7Wj(}oSap-l z;7B<*`xe8fPpPD#Si?c6>HVF#+a$=Ps`apwh3K#*U;IEOK@R59g1+qJ-el6PnU%(Mns*AtlA0A7TiO*G zEed0J@}D(7dBPyf=0mj<1@ra0Kb5ot*{1P7hcn;aP1t?g_rGNjw70V5DNLVb2 zX}r&6_U2#xfPqebw^*2`d7hMf-?zVnn~9!+g+YGrcwPT%V;@fI;<-uWTYO{Fb3QdQ z>>ok*Rl8xqi>w}ykJT9rB%Phc54eq9G1Nf6~Zp492H->I5oO2_3~Ksc!r)jrt}Kser5;agKLfS!*tsG!KXyL z63`!SkDa_#xG?&;G;0#9rV!^*=e_O# zjE!d**E-^bGev>%$x5h^ZZ<2hGz{nari=HWz}X_#pS!VvMs)f z|1q3JakoM;9CtrCTgse$lxP)=y0GwiW)l=a{{G{;UB;0>u@a) z96;m#l7i2cmgn0wf$ZH1?p~`L4B9798X$)-kL^8qwcuZc4xjL4abGhWM>H?olM5gh zfshtWB`m!YN^utFZtyDg%_y(G*_5!Fz4U#-%7(zv%^isD<_ibGzIC;aKQ>CcxAy_N z165#arIM@NZ)~c6c=qC1(VUxNLn%3pCT7DEUHKWjz_6$Tsqufq4yTwx<~qAR`du3= zfl+4$*JC@1$4S+u*CAP?si!bLlaW zc6764oM1Hv-|wl{cT`+6eZ}%R6G&4yU2Q?@(y;?7*cunQOEo?*_tFmhF-*NxTnDCZ zWpI5<3N`Q0K}kwoWZrE2&Gt>kXEItLE$&t_o5}p=8Z$Bzoz5a`i&m)Rodm%_6K3@d z(O4tPk?O2-eu}AC+|`eKyI+n5Rlb%)^w5)*Ei%IF#l&$yF6 z(oYF(g?-7lUW{I;xC5YE+eh4w%cv$?3xOhU$5$+IJ&)3mZ~)EIaaMdr@b@OJ>ETh_GY%2k7e`$KFrRwlRC^6cjGayg1EapG`}SN5ZX(~`aqV6ysq4R{mt}77731 z%uf;gd356>9$B8XQ<#O2vlvBilT?n}ryR z>ec%jkf*b=P$Mg`Zo}oJOtp6lXxe+&GscUBFhk_e>RR=Nmg@Sn_y_t^ZyY2a#K3n% zr*H3=)n2p`m_LA)*O7&FSZ6oI{K_=7!Zuy*R|U3RsnNafc+gIps6SQ=eKM7h z%?VFpD|^H-VvGE1)?F%+c={_G1Wq<;7_V98)#V*eolDvo#}30kN622_qr%^3fzPFx zhF0SLiy0?|2}Vv4N?pwsYIeUrU90vH?;p8)Few}wza*WDoV9!j|E|!g{T{C_72Jgu ziS_zB(!720c`>TE+xd85@zGlz#^)SsUeniAt9vHwn#L zw8fcx6)QN+;`-`nu7tX#Bobg+&=CJhT2boRF1S{QCU?n$B0x&LNUturfpV$ONb`*y z^N{Aw?F|zyeQ8B&`l`ZB^Pq;YE+?8HL+pdUx}{} z6a)YyF@|^N=vpPBg>=537m6gk`$={+E;lt{ZeHcP>Bq65qPZE!=Hx|=R zWRUgcQf6T;B}2bT6H?Mj2E(VfLCH>x&Pi`}U;L4XDYVNsOe5=kN zG5uL5u=w~RB}&BQgtE^|a?lROYu*CGhPqeKNnm2$*~9lBYo=bCn2cMNw0usibrA5nRVAVoX*4|Xa5`z@*sd%F@M|RP=q3_=uXW4fepFG5y zGLRdpei|Yo-)6!Ra#m+mk>2W{5P@c`FDmx28+91@ZTsTfw$(OdG;#X`G9))_&u7J% z@A{lAyVWArt92gA^~q=;P}<*wDI`9(b3(1HRg0s$MxG+PC&kgZ{2Qsb|KniZjw$^c zroG0hc!jmhpMI+8k)sDGUcW_{zl7}m7h?5{HZdTogijjSCIxcFT!Q$8_}ta-6k#m1 z@$%vcYayu&`>|Eu1dnB2SM{xA-tSUvEG_`(15{tw@E*`%vlgHkx>?fl zJ%Y63C%HuTmhPG|{=QzHY@t{FWJGtw~wLN;dGmrQ%o%EnmRNzfGRp?tf32)byCs(upGquyiATklay z=&^e`un1;*UZznY?3bcdp`Drt& zqKv-?Q}9jD-!3l&opP2k7{E;0*O8dFVYK8i;i;UY^oN{%#=+jhUxcq-F&;+=1>LVj zaoj3V8W@)K90enuzvfc;Y9!K7_F`W^e-@WxqvU3v>6@-acVN~(S7|3?#-7Q2>%!W+ z*~9Pnh|Ga76OzsB8}Ewrn zpt3y&g6_V_&{}`5aEJkI%yN$S>LZ2Ve?h6#09(>l?emR_pB)$fZmSLVpu(%QM|+bK zraGR_F5bXxnu&Q!hhe_(pVO0=tXa-9V^nF-bp!M`I$;3Mh<$)BHHXZ#Ho%Ek&@_-) zsdXWGP@MbAi?~9V?Sw16%_MY-_H&+$(|_sB0kp1mi;vE&`0>cFu>NXgr18xu!=;iz z6DhMK1reVGCEM56(jTkZ-lEZ1&hBZY z*JNJqp&@PWANID0iC~V{2TxHrladeqrumjmAFqt6RRbOTRfE!ZNPGd5kh9>A`Mtfe zaM7rzo3XijdNF+vRJ8wAH{RbXU+y=BgCa*ED?v0pIg4Xo+<>YfV4B@?e@DQ})Uu4} z<}E+hQnb1z+)7=CGMVj+`3g+1^*Nf-62!kF}wI;WJaDHz}p{Uh})c&py z{06NRJRtK#=s%YGVqhf6uepfTbqZQTc*U&sOmyRthkwqBAF5$`eVXb%w-x%<#|b)~ z@JbB8M%C8|`+py`x{!~3x)pH7W#$HniaeCsGihcMQ+99gH8qqWxBhLhwe+pz$%s8U z-|6_VmhlAU!=)qIh{J*(EVh=j;r}=in)cN@kx5T?4P*Y~I|hk{1trhJO|%$5yRV8O zCBAN!+?gYi6Sp6dVpz2e=*fKf5OOdci3Y`^F!Q$kZgy9TFv^yYA_P~;kvtX^c~XER zbNY5pF37T7@p5-;)zYz7rMBifhJW8PuqMnBpT&9)h6M&`>~O3&W@1lNt+Li zl8i|y9h%YZJHs|E0o%I-I`s_Gr_8@w&%eUDTlDmfK5Wo_IU46jlcuJL_x3Y+h0grZ z`NpWXku4T#WSctkr$D$bA3I8|9!lD4XJ-c_F!2Lwc_!cOeba;yYgR#e@nV58KZXny z9ZE>^4n=zUpj=JPu)TSUhrwp|ES@y))RtVtgp~EN4WqQJY_F8}|H`Pp`s7z;+HLb? zb@t}nSeYM)H8s9ZzcPLvioXk9Z>$SlUcMA;Ql?Z28f6B#ZyXO+exQJIO(>eiM8qNm z2d=KqDyLV@KSgpMV7rYq{g;(%rRM)wb|oN{C{7<#b^8gtqy@ib!Hk zXS04VNm=_K8YnRo?~-R$6x??0Pqvk`;|H-8VC@NS3dw`8C4`n*(a6qbieM!v`TiR+e-Sy3KiWq z8{#cktM#rrdE$?n=X8fGlK55bel%aZNOO09fkaJS+8*Gaj41nzRV_P>lx0R6c$YZE zT+hVu+pd1?@)X9V z5W|El!m0QvN1f|H-HD`HFxcz1mD-MX-j1PoeNKaa^LyF0Zl&_$F#(>B)9b}X+V%oo z0EYVkq-^KriH{Z>w{JM5rL!ZyDn{-Kp!YNR!zB!pq@Ka1cvAe$-poN^cE~C2vTVOm z9lkW&h_8fbRq_e;HR=!iMXZTnu9nPP#ETBG@BP-J{@u32UED^f)(J1#HN`tfm#U(; z`gCiLv-aIJ^3=#5J(WnV_0Q@zi^431-$eGf%ANJ^;WX!`{1^Q{rYR3wgww+$vWoM& z4{w3PeW1=p9BW_vP(+cfYln4K1O^m5=cxeBxr`3^*-D*Kq>EAit8*c6tXYjylwqx+ z>1ve@8KiXkA+j;ESS;_n#1N-5sNO5FX-ObptONA!hcHMKtaUn=+;;AcN{^7uz6a&$ zB_8Q49$k#;?Xa`MejDMS=>E0Hz0aI7ddX1f-PT>{CYk-0JsjoqG%;)Ri!j$#vlp`e zLKqm-{?ehj3n8!fZu+|m5Dus7DoHaDA*Ho$=065~ z-=}0Hj7VJW1oQedleG9`wn)b#+IfsOmDhh4%S5H+n6l;d{)Zop(YMjKzpy2hqeY36 zx@eA?g}MYVqxg3`Ury@(o#Lu08NGJlP|r#b|5e~dgvo(I8H({7aRT}<)H#o8mH$3c zGUpPlH{=r>p$%~bR#7m=HtD`A@Vkb8OUE4goFzL09Q()$7JeK_Kc;0ob~}2 z$=PZnC)WOJ&BsR9wJlmvC+A`J(Mkt-Wo?tY637gbv_f*|r(AbECvux*f*;-E55~5H zrXBXpWmA9B?=BFh7Y%AA(AzWW6y5kd$zZ+~D%__#t?>Qq1zCr+i?&0yY5DesD zHD*j&_qj)E{H9bi9_+zFojyn&jy?wBFR-{;BA00=1`#!>2@mL*sy3)uYhS1vBQ&^2*b3LfE)T@@|cjgTF8w zqWENk$yY=+!V|`lF@-7@ipBstUiiX-29aOxlFHXn?(T?V8?R^aH5`YK+VaBKHny6U zQNM%TAEkr>Gb5J3lrOF1R`&d&t6Hs+i0nSlSD7t(GX-nQV4YVRVWh4VcATADKpR6= z>Ey<+MamBrNAU%MkHe!(Enx+wMI_$?gTkeMvn83g4_$E4CgT3z)V5eoa@|&DZ!LaY zCWdo^Q%XIaXUE)N84_y-ZV}H6%0B!vB>kAs=7T1*a&4sKzL5*UMIjVsZqo|8;#f)m zRQ$x35uUXEIU0XR@(Vj|_hfN!+HKp44^`*7x+m1v*VJ&jXyNq>7-L_rn=f`$wh9{~ z48`1!&PV`5O^Wer&bKIIqhfrj^6Gki2($IItRPMcY!(mWLHOvBEg4UGOyb+qVd z9)kHc`{7+Zdz$lPqCLLxoG*$wi=IXO8KFjOzpOE@3ec5L-=WK z7O!w}RXW(u6XqMwXVo?NkHmxSe}`u~*NpR=q;aR)=&_-&RrZDFzx8tjE@3JN5}3A- zUztg62K;FdC-dnf1tGFbq^IFOAiuf^Pvh%f_OCp6oFc2VoSi)=C&>eGpRPr*1V7=o zXgSWYb+4{wk{OKFZ$>S4haMQ>#749mEkN2Mw1n};pc+_f{7<;tnPc3FqMJvg_dlhN zK~9LN$UDKSr)ls{C_+NLjF3#G-_YZ5CVlLhvMqUseN*O;1IJ&V6g4HrmwmdH`{sxQ z`CXZ-9~~YLuYU6uv0>_^eVYqG@VK=L=2|WMOI|hakgKGq7(4qXIJR6*cPX5Z)?8Cw zUb6WcIgX!uV*N3xe@E;l)qt2GpH^NDhMhjQR6K z#}}=`arOoSaTgsHj1Q|b$vx|sB-uYdHsi0_a$vkK0YvSJhHGhh|Hh=0J~e}{v(W_Y z1AP{zn^Nw7tvdMEvtx^~$k3PKzeg5P;q@t}Xc|(>9YQ+0+P+6m1A6QuGUf#j~W-cs*p-I7nMi;vsD9f_rb zgN++DsnyzIAc!V!LF}|R8(5QXOb(EaLtIEfbG~L;Zf&>wXJSl4Xf92EN7cuU@;!~& z20j`|;A5_!{BftQ1(kN{SXIii&jK;>3Bz@UtDKDIPG6!Uy)RmCMYBk6{9ZAJ!j`di zkLlG=Gdrp@H89KCN3(|*Gtce;p2Xtm4eD_q-Gp!&*Y00<7vfh&sA5>~R4-dIA&MHV z$<(_0plo5!Nv26dZfWFF@CqV(U$=FM+1g{P=^=a{D&ufoPgU)7;JvQ;hcE4HA&Q_D zG2vvn`=ZLo7_>ejgf?Xd7cb@biX(As*B5H~Pf){|-9($*7u{W+-N=_R zS8bQm>G$j`WFu#eu@iCmA?6yaTJhaKS=w&mzdo;^23>ClxMYNGC6p8z(Aulvbp9Bz zxY%1Ixht6(5vjX;Tj4V<2Z;;ifgDr4b;Jjg0lQi`iofy=rs%?2J5K8gkz75njT9D( zGuv%&Y%NL7yKGin?~xMEBukCwhnPsWZda|2Ggt1cWF#%9MrTLUmkC#2b`cT&mBF(* z>K+ZI+RhULlWw<{!*1xsQVYEZQkuMdIL-N7w`Tic`i#BVk*uQiHi zs6O4aA-mbg-wCm3S9Teexyayf@3S54*i~*1&-Ds*9V1C}6rJPxtHxG|L4N&sud&Xe zH>bP4gHY8dLeuqWWS`7B-DVaCt&aeah|8QP&4lb*=)KQe1}ucUX%SQ)?pXBh_^D@w z9ifA24>iM%kiy0V`gq~?cu}j7VLWJev^=Ydj#uYkQy%@c_x``Y$KjNoZI*nsCg zR|aceQhk}8JIjcvv>KslPTzj>?HVxyD0w04L)g)3KlMs~Rz7CpM zTl$nFdUBs@xku=AbdzoQy8{J|Y_f&6eD7v`Pdq4s&!EGhYc3BP2~ERwBY+yQ(>0mX zrnzn*^r5tU{V3xcty9D_0IkdYK@F%rODkESR?WGPULNoX+VL~-RtAS%NofPz(WW&< zNL{O!tuGwxQ~AGK{wGXhcsg`4@=Lc&>+K{-D+88ylmX}PdA%A0vx6JeV-XleLE`55 zV)-GR81M=Gg13?mRErz|f(d6<9R1zYvO49?4G7Ad8eEUkJfUZ{ea z6Wtq50l6e*m^QMiczHc`MV-@V)jp@MxC|R^hZur1)qQZnu*>K->!q}~ zQ)#2|&(*%~7;_zuK_0ry4f|P)B}oI(yB>T(K_ML?cec*SN=|Y{fBw-(Z}J!pc8}!? z)LQ54z9G&M=g@Rla)TeeNyx6yJAH@i)p6hDi4UL7JtQHnwNd{dEI5rb_5lvbQ>Mmc#%#{l z(x$+zT!&NG_LDD+TYr*h>Vb7XWlDXN(U!18(+Z1=7Kl5uiyRX@?`xploT*_m+ZT)z z|4n^-vgS%r`S=!n0qpy5^kG)N$AOIZUzW?))?gQzND>#S5XiZq*7*L1xke6~&1YO1 zR&^JC11@&Kqw)y0Kv9_GI(hb(^(6Cp}4Se_1 zCqKjcU(F=3!(k(Cq<)YbWUtfh1r)j`!94+YksTFF75RSiX@0=Q?i*b1BAB;gC3d_TsHNvXh`+KqWCnyw7 zQyb9;lS5g}Nx+0z8@Gb>YFq~~RsEuMyYN3TY?H_zg5yz2R)@2wAe*DR-wi43k9{;t zpJ;DT`q(go&04TwOFGvItX`@@Z2PEX8qYtDS>;yv(L8~Ztp@sdF~@eEZoQqOaA@_7 zqQy(ee}_$Ot8^|>#1{@JIw7(Y_3*C+_N5uy(D@yi=!vNY{B_Ds?VeX=+3}P>KQT8b zzL}ieijT35(~eg2NS;;D9npA%z%fU=-?Z+@(Q3gB`RQ!IvN=f^<*dKLfnv2xSm@0!G!b+}5&c;)ZB^8jQiuB_176e8 z*6mNhcxw2N3#9IA!y8(WZY%1|uV2%-aA3GDSD&Fh4UIXYk_YKbTH`YT{%~e;$f1awgcHAV>72zJLm*-5Z83aM z5lwHiQ`Ae+NKS<9*(o|Hn4o1q+v6udvgws- z;>!f&*_R_{#Yg3pb0YijFO;VUh=se1M$P}=wQ5jhH<~B-CD26fuerD64>TaS5wPfa%=zohqvF+k#UwroK>cT^eyNRD>JYri+dkcTGb@*E@?j zzNEDY-O9Sr4wjqI9T8$BpefwimP-OEul<0H)pw9c*eOj;_0a$_XIL}f;j4tBeusUR z`6J|RZ^A!iI68SZFy=LdqY(ehWpJU|%kf_=FT!3tL1v$qV?Nd-5GcLv%8_Vf^4~t_ z+OH+C-ob~z+D>PcPW&)$%Fwre-@eF_?sD0!9KJ`8{ZVi2jKbivdO|rQ>l_kgC8P|` z@~R_lsO14pkRk8m9V`A6GhiQ!MSZeWC`}LGM%fT$c=8Ll0DGcYMv20=uFt{ZG%(+% z)O_4yP>@fx&Whyu>5lb7M2D{JQADIYvC9VH&f&OB^Few~Wb>B0`T%krmO2lqb(NaT z2)*peJ1_kJi{J6mjUqHNtEv`16Z}4K13JQSj8<(nCENEBFp!x0Q{B_`mcD~U>c+iC z`DAc_*tqz9)6}%uNjjyc#h+9U-xyN=M&!--(JC{Yw#hC=eiOeQZI|@I`SPFsAW_y-45U;v)g<*XtD8=J@_Vm-d@n)cogqzWuvce?8p~S8^q-giNt4aqj3H)QIoKXdA6}bCYCFph zdQS|3y$;&u_(E>6DQ&Y6VT-e5g+C>DeAppK+qB&XQr?kP5OdmB5(pF{((id@DerJa zaJoNBN>mKJn^IVPG+>t@Ls8RMUB3)=_f7mu5;PryVTe}M->l_Iao9R%rW;_IyU|EI znjrqut|Nil4ht;2U0(CPK*d_qpgl;0pC7^{(Gs++LSM%dY&#*;_eA(j|0Fz0SzX>m z%#=Ni^L-+iP1|#(RQ~Ux;Q5JSX!8QBGI}p_Q@zP*L^(t1joptD{)^d^;?lp|g{F%O z61K~scWTXuL<2SsfiGY~xkj;q#qHkoH69nBxQxfA5Hq2d6Pq;HF@CQx<^-FU_^92bf_A{AzBvMBFE`r?t ztI$p>gj!AdV|+%_lkUhW1AffcHT{Ycq5`N~chyfC#}*AcFu!qUmYFdp-xJIqO@xV# z3tIB2omo{a07lI87brUS?Oo@SEc~Aj{8api1=<7#YUVVQ7SOcK>i^TnOFc3#Ko56K zsS7*XEs7ZmQ>Ey4e#yA;S0!V&Gm2S?FHLhcA|zdea{``{gS0>9Gl;}ZPlEGqzc;hy za`|Qkt(IzE`JJXkZuX3tifW<#gelyL2Yz~>ekc&qwt&GlzlwUZZ+32}WHmM=e6@O)c~Il{^!m&{dDi47pY@X`VdHw~A41 z7A4TeYe$S%E*u)kA2aaHRQGql(x%SgOX^nvD@(QclrMV)YHL9@<9#}gDAvgQhCq-IbiT#JEP`2IV2vH8*z<8$%Ly({OIb;(p8SZ2A`SV)hm&&zOg!M{E-U2Rt0zEq^J)37w( z?Y4Q!P@B01@VYwh$M|TUz{;|mkyCkhP$-FoFXAk%&>6Q}E_+p$tua&8odNsq)AjPW zkQ!S3=qt`qnOJ4wP`sLYAy3F4+U=eiE|IbIu2fp1c;NF}vcj>+NyRqH7COS&uRJ;p zP8f9x3f}!e=fAmXG!l#xTZa!UP@>)q9^%Wv+j8@#;L#P;;HBE_RjrZ1xr1 z%9v0bA1HIrtw?qcS$!{Ku}cY3AstJvnB8Y8Pcnwk4vgvzCU2MJI29i>7fMuGHliiJ zTT}1am(B zu~F-|oEIR^s3fv=&*OQ!5kKDlTq`n|S|XWErN=36yfS&e2~6kZ<*JHx|7WUvJuj@m ztG@1OXAu_neS92Py8RZH9_#VQkQ??6yPZgyoBT`4M142j3?FpxM^Ifu7LkEKMD|lC zTiqSQ{eDmXRdR?MIT0-(nR3;J&T#=Y`c)pUP~C3_&>0|dYAk8RFakvp1)nV&UA*SdgFQ5VEXi9lS@YVni8L}u^Ai~r;uu~ zy9hchJ#?9CE0LcYHfiNH-acC&7l_4L%E_vaaHsFUr zH@P^p{6@hb++*JULAmqyf(om$%!g7(qvaRcEVqJIVsQ4Mw5#f(A!=?M&6%x3G^ew` z>CxS;N=PPKD2ZD2M|wnqTv6!_GG|u3SM>0AW|QmL z&pdC|m^O=t9uo^?3xT{dmF+dWrxddS9II$J&eG$z`7|{@Sgk@@+~c3`_qNEExw1b6 zv2A!qzV}i!KH6;3>%}Q`8-ox!Qn;+S!27-4zr8INPPQ zSQn z&gWxJzjMY5L`j&Cr=ec)mwdQdc~jVwNCSNNdKBZvw=_r$N><_80E4}TQx}8Zvu7Np z8$g3tmY!l0<_BQh<;4gf%jT&CuHrMNN1O2m(Y>+T)BZaZ+3T&X>l=SmhY}-{qEVl4 zSu6~XlF?)Kk*f4x{s-vXyiZ`rE+q;DsV>z#VDgUgmyS0c^D=C1N>UbJt?tXGYB|1c zq*!Vz8&+oCq&Ni1<{oQ+6|G@*ImHqTkOKlmcFu8zYZkZstiB=%mCc;^1SzWiI}`o8 zh$rn*1GTL=N`Tj)hZv4pPlQCQEuix`)=;cr-Ngzg&k6O?U;ZB; z9slcs@0q{*jqQH`W^dMicWN->?AU2X4j*!ANraBNuD>r6*^-&2m5l?V1N6$TIY;|F zbc*De89T4C4=3k_(W1Z(jb*5-kC6|7i-ic>me-|Gwxxl+|Qf#Sw5Wvs3XLnC(jZFq>#h zfK+=yN;6t1dr%MK_8!lkSowuyLH8?N<*W{#?hsaA5SZiB{6`t*7M~YqpBblLkj$m#n^Pb?je2M+{Bb;97Axw0zbv~Pqw3O)Ta(*r0LV@ zSEUS&<=LExP~DjBIe6~n6oF8@nqprpXjmzWnw05vQ21)7a$yM3b_<-Q=tgo0 z)7Z_%1cwe&WfnAcR3Yh!cLH4ccO!ANn~l~@19tmLf9Dx~5kR#A1w|qPTSM9Iu60fQ z9ohE{4FVWslqpH>LL_Frf zCbYe}L2w8?V3y0{iVJRv+Olu6VDhK2*zNNBO6-fyij>K-mlPVs`>&lcMXj`uQs>cH zsc-kz&os`!Rrj(72piDk*300!;mH{S z)g?1-t1l2Ve=Oh5WwoqcdB>}s(>0uE*Vj| zS>5W=jJp{3v99T29eg}^=2`@tZ0uL3)X&9$7WVgI=^wmm8F9g9CTwBKH_6thTr{kq zrG>QS^3jLE1;drHiYuX$?+^G=L-R^jhrPb!$u%x!bXMhVB-om)@ z^dN2GD3?!b<#qI3OQnKCscBb>VsjQxtJ=Hqkf1=~K>Wy*shS0-whGejk~0CUPU1d5 z%e`h~*{fMXVs+Xq_a8L{(u>cg+qsAy&@{Hrt#_D0f|^GU*maIo)?nOx5;pn`QZ?lX zn`MK(4fiQrPSso_*hDFb!w#_w{eKf2}Es{6b%N{_6SABtGTC|zY#`k`u=;H)}1 zae#Nj4jWY`S!%3WCrioS59$WCPY1Q^!#9VxB&*-|(~KwHO&OCzx1MAM40jWwm3DML2lpXDHuQGh${_F=T4%;3T%ky;V`jymCct z&3B-^!Sx{hxe5Ca55n?8G1KNUZM2nnSMf=G3Uh8r?mj^C*|*TbToU+H`Sgd;0`6Wc zWHjBRXg`k9qZm%}FnOXteYN}x1J`m$<|ZZ#z2uUD&VOWzAItYhA3Qgjbi;H&IaUTE z4&jQYz^~du;x3nWFWJZYPi&H$8G8s-q6;13vN@ysT`tH=%!oD7q)h5dRR`_C@E<2C zmrGrDaqqRG+0xN#Zk{G?o6$=>)P_$4SV}Vb)}cadB>tTPDL%ZH3RLxva7q;9d*Xt2 zLmopN+hq{idltd=#}Y*!^!Fd_QB}70vs^D>|23M&ixfjc$HEWpiZ8=*xUG-zCiBLHv;| zjKZ40uisOW@k1O#sO*cTgZVksD1&C@0JM-4JPug z-GY03uJzRV37R5QxZKWXsPb01VcZ0wmK>L-yP?=EBdWPzah)~OGTG&^@$?((cg%(b z)N0y96G3&3Wb3tS$QIAvSP5@g1^-cSX*f0#x7@HcPUP3NxE$sumW&DO`jVL+*ct*f zu~3wEnSIMUwc?|hP;0yIlTI{r zM^nuw+}fNErEsN1rcP^>E@S@#9KwaHMrCite2Ts~kc&|oeBwqDn`VXvgPhc?cqxw; zHkMahDztXW4f|!E>?2PmxRk1nnYtqDD765i#Z%RX!#qy&BPQWa#Z<-O2WZbgxU~vM zP1SZ^!oIz^E;LXdX=dMdN*B}nA=i=1V2mMLR!PL(aWSlDOmSois*V*7s)cXH*cG=#?T^1u>27u0R4U(|K45kDW}MF~b_$()H28>{ z)MR9F!FxmLCDPePSl}5LZR;wypM}yzUN!SK0;h*bR7*nMUi|z?y%a9txE1yf?wjnM z_ep}S%#P?SHV&SU-}x;U`}m{X31m+t@%inLO~cnVdE#&K@2icu0xm%L)s0upXL!6& zM|BQE8Hhh9_r4rYhua}ucWhr3fM;ky1rOFQ7-`N>n*dG?A)18ez>%h3fb4Y8QS`30 zcKBr-mFjofxZZN_u)$VQipkosviOVW*j7sh{TclJbOc1P$?4xJw>1BFxbnRWIedT& z!16N&7#2&JF~3`rvpde~);zeMC#Lx&G#9%_u1(m;i@IZmS@oA zTvA

    ChN)>5U#_LvGF$rTdo|IPa@I?B!W9d-b6(ECw`I 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

    9zn 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 z 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

    - - - - -

  • w} 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 V`9d_(lMy1FPL)+vHMTU7{T~wqS>6Bu literal 0 HcmV?d00001 diff --git a/Examples/Resources/SampleFiles/annotated_import.pdf b/Examples/Resources/SampleFiles/annotated_import.pdf new file mode 100644 index 0000000000000000000000000000000000000000..392350eaaa11bec53b8cd64fd917034b6d335513 GIT binary patch literal 8060 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 Z6?^13Uxq7Xn25}xyE4f3_P%5N{s)vgHIe`T literal 0 HcmV?d00001 diff --git a/Examples/Resources/SampleFiles/annotated_with_replies.pdf b/Examples/Resources/SampleFiles/annotated_with_replies.pdf new file mode 100644 index 0000000000000000000000000000000000000000..087746cd7b32bd5d242bcbb2b09cfaff4d5fc46a GIT binary patch literal 14247 zcmeG@33yXg)`fyVSqhX*7I~Jf723DuWdT~qo|HCimL_Qm16f|vG%LvqO)KaqtBQ&s zBLXTgi14cnI1J+8f(Qu6jL0w!iwYG`&{1(^7!>|21Up+~Tz=DpNjENI*Q(cI~<#x{Q3%c<#yPJ(*6ntyIi|qk- z4jafTH|F9-E*y1orZCGIfMJj1D2b1uSM4TEhGL9pe_$N{PEk1;b524~i zD1OMa1d<4!OcDeQvp_N~sez3IqhTi-0YOy30Ega4j9&jy>3;&1Z!n-+Ki#kf3nSuj?K^dclFOeCSEf%pLq zxQSo_Bp0p@2csb%##@H}fE#gB*dB<45ZBH+TyDe_>@1IyHK=8$w%z>v6+;*v!$ z0+$8?K`v4$D>u3()(7mF9O0XJ8T zkql8-7~#UK-QP1KwmSOI){Nc6pm~=jf6%b+kLxe55_;Bf)wTy@YiDdf^176kT)sME zT!#M9RlOeiqVO!ea`aR0tzGD=Y>gYE4i0Sr6Syv~ah=`Ig8gxsJ;L%M zq+yTUS7O4I0nmXb;KnVUfHV;CG=D~;6l}y9_Jp`#7~>UeU0;^>OrEzUe!wv92wGhWo7dx%2HZXtnLXk}t}P)LaFY0S z9tC?#ZVzc#kGq<~M3fkp&T{j7U;+UNyEhj9KnaBmPskDF%>&kLg zJkNy=7wcY~H0S|YzjGVrp4pi>TlJTV2Zq-#+OGWDo!mWrUwv##Mnlnk^E8ia96MUs z%{ea8^~G(smJaw*ci-gqY(LbD7&V1_>WuO;^SlwGa%Q zL&a59)5kCG|D0eFHvH~`}kFWmzZleFZoP(=w8~W#hoPpc?k}Ged9gm*x z@^E3u{CPL??eB?4?C0if7%+0|Am@Dfj>zafS>h)K?|JjPlGV@e4c}*ZWx|M|k|E2g zm%Y;Spl5Bg%G%wPv+sC%MQ>I*z5gGUucIc79De7)Zbz;i|J&)T?Z2YNrnKsRQI00t zGfC5l_WjpVZ{oIHf7yFv@`c0O2F#be?t6Of+^Xi`eBSvv#STOEE@P)p?(eqQzL@RR@EhTo1KA(sHY}=qcDjGPEBB+w%je&} zKeXPZ*)!(b2bb!|r>Ua`Y?Wih#3hg4cj)g^o_S%l=j-&Zz8o_w>yvASHX$!|ReAu?Z#N9Ltre8#BV%lmeCGP}$>I@UQMGIvuaMCLE9M`rH++~wCJ zvkM~giLm+c;Y%K#bYVr=wHHq|r0;!R5HIJGiYqcX!T(eXw_6oW#_vwr$9_zr{Spe2 zo7hhPQM*YwvDL=InPpqHzH=%19j7O@{N5M}&oqZJ8qOW5rA>s$&{ccp9AzTXWb)44 zjRo@btj;tYDVQ>U$<$xvr_bklH~jgn{?GSWvf{~_4Yxkq`@_9&oy$0yNu_UiXa5oF z+s6iJo!b_4Tx#fSneOh~d1URN?3dF26gEcE3$o~O3)UQSyEeJ27gy#Tlcl}pAcm&g zng4Fd)NXd8+Or@MCfJQ%xDA=}KV!Ge|DN4;WfH?u*^R&LZNEzBKYCwFwP#HvO0+Cm z_{S~#BN6rM^rz*2vGvR7{QKp-daXQg;8GW-e$l%3xX|oNYgfM`ICnO)Aa-)yrv-nU ztbJ)9(HCmnw9-CXn5>uYeRqLmUge3!W9G)5nKvTvr&mvC4j2x79NW6He}m@0l0~JT z3>o!=qln%3^km^)q7I|89zXt=&M$uUo6P-hKE)Mpyms=liyhwFCXlAI@PAQNM73vC z1Qjf=4`f(=;UBl~&wMkp_b1)V?6(VKDGmHzR1{I|SroyY=XC?Ottg@)5w}B9T{HO7 zjL7_N9DH&m-tKrX^6|O*-|ea?E@h4`F7Nu~hv&kbS9YcPS3Ua3(_5e1N-ovEGx!$q zql1SG`SkHMca%>y{Lkr6K7B4NZEW|^D^i*?p$d{lx$0mz$5a;y1~64LT$hW>;m8b* zh;pQnP%y$`#hfd@5$OpA6mZU#qZm&Sq=XOy6bK}wa4bQOA&4=#cuCNeI6y*CaLOVk z1kD2=54)mHwrTNvIE=)q;5aH@r!--tB%jHRp9tDHpcToHN|jQnRDq+HR1cT&SBcaO z7piKF(=Q>NO2e!Qx+JQ%Fi{6>sCKD+vmBmUx7ly5b5d|!L&Qpr0;ae|8ZD96y7ja< z;?kJwY$h^lvziH~Ull2q%k(ZwQN(W172B-7atFovU>;p!viU2h5>jWVMc zC96d|!HegIzgCtKt~v*8t~ID7HO@Ll=I}GKTxu0zw@9MJUUHUAZH^@4O%{pQW{K4o zdsR_~UqVz^4Iu}`$SbTmA1|NOt3YIA`V#aeGSEe{TvnOVLFtm_2%=l%hqoikQ5@q6^#5+7`yErz8;vtsQG8B~^OAs>V+FqBg=70zSPe80(jJFz?GCx;kC5oymC@$piyVQ1zIbxG}#pP;q^k(a;O)onn=v9bTJ$OTp3*`maota; zk13pfGx(9&YoY`x=M@o&x@?}OvsrcZ6&9B-HE*Gmyp^j}0b4mkIxIy#XH81E11)^p zTU70&%EM(U7_W|nY}S&LJnB-*WNn<9~sv~R`B5JfSL`l8Y*Czk>fuBPR0Kbda^jhTNx^miA z54Plry$0~{BEYv=+uOFak?-jU))H&npIkGK`hbtH>D@YoO2;^9*mFjv$Pv)jm&}yP zuG81ea;Rg7KeW$b54(I0h*5S+Nz|l9JW690lDkPvW19DKx!+vt(0C(S#HxD82;zUiC-|UkEK{Y9W6GMCE#=;oRfx@$&+AgBo~NphX>Ar?z^+LhXAtjF zDWsX&2rmcZG_4+TSe+7NE2#z?`s`NQ{PBNGjaVx$gPaFhZY)ZEb%r+S3&q%S+Q2x} z%B>Cs#?RrhSWysBK$qVYFFg5!TGP;uuK5 zH3`%m3I|1UP&W{%_ia$j$4a%&XH!BPOj(=MLT#d|Lu)j~)s*=Z3O-PyUVGD+d%e~( zJ1KKr+!jQ2+wu#a&zblfKIZXelj{XYMQR1FZ&GcCnC_CxYMSIOmK7_#j2kBf?kQ4z z1dW}7Kzto9zr$qJytzxuDKpGtyjnHnA`9t*92HSUj3&PVw|b;OSv)ZC_T?{|Xe;Bi z%k64ko$ZFSc^}|u$NjB|b~)mv)PQRBfFXDT+A0O_J3l2a@UCYnQ~JEA?OHB2`BmHv zYDr6((#%y@e36uMA#_Uhjj@Q=V1)$Q<`4&!U+)nv8ZQX8$HB%IWM zzLoOzb=(FOd~lU1Lr@b()M~VzOjQr|^HumIUbbAu^HJ=F_4JW~+=Tm1I^l5(|J=XS zQDfx%xDGws<{#c;6g(Qg@i{LehKH`#Z%LP%PSy;O_L%dw<$UHxcU5$~=g7!y^9DJG z{ImD>Ted#)-O_J$$DX_W@|7aGa{PkA*lj*7J%0Sk<>I1_UD(NYmJJx({ovfggH7q{ z9$C{_^S!6r3k{P$j;-xkRd=}8w(z{8AKcq8W6MK*X1uH#_?%&ez>2?a4Q1d%#SeRW z#*Y8`-05L2WK^$Dzi->Uk@eC~hm;LHxnxh5-I|eH^`@+eq6I778Q=NDy1la>6uoRs7no)D><}QbNZ2nC{{jNi06V7K$ zu3GYkWt-Cu^@ziPbLHfU4xfpC=<-|5HuK2J1IK)`g%`elBs6Lnt>3ZqK-y<797yZ8 z*+uQz=%aR>Ju*7IINzT&W7Vp>l_wY9{+wg=u{*wNcxld1bj8t}~};_ufw4=JAW;8VU~v$C%AIWcF@?@L#_cJ=MG zUo6;Cxc%txVY7#9kxhusTybXRCwIMge*JmN&{My1&URj!SzBl?y>Rx-pxuu?bMd{; z_gVLxdiWpH_gtEG@=f{7EuZh4lM|*hHw@eN-JaWazERiX@}>vAzHny#vZH_bxc~ZZ z&uaQ!5f}_t1mw~yf^J8y2)g&39UhunD0y<^Q>zyU?!N8lxqUt|zjncgVK4FOu_5=r z^{2Hv-W#?U-@fp}@ZCB2qOND^76z`S&2xXHPj#RmY--i26!OR8)0z)X`2G=eGFC~6 z(1VGa{bLv*)|S7Ut&#klkZ&bQ#bQp7)sJbW&7Xo7%ZH(f~%|6ooLbVl-dBK&z2k&BlFL(vchEkupP zYH}!H6(x~KTzO&v!Q=@Xb}G-ol2jh;WNEQeC=iRPV4f*Q9c3dNoTD|i(dC$`JrNB4 z1Dkftj=JD@8gPczbiCH;^eiDU@Ejy7NPrY1A@T`^p-7SviiCu)P1@q6y0O%WbQ2Cj zn+@|X(~Y+w8cbNc{SR5MtqL`ma06)76!a(PG@cQiLBAiG%WkI0w#k}sO!`ZZwaD)D zCJ1YUZpVNNYd2{Vo*VxXq-|+g*e&69lr`aT@-IQwB+IIx(H9z6+sm?ie{*B3XzY!p zXi+?ZHZ?&v2Tp5A@%4gn;-pvzoQ~x%2kZ6(3bMc0`C2ySaTR1+m=dBSBxkEVn))zn ztk;>G^pG`vQ^iv4U(nG*+|Y;Toaw?7|FeV%SwR-T=q{ z@iFkJAiJ95LgV3pr?xh~md+1`;id*cD^5^2MdiVWyhvSuv&ZrRkr8N#_!>>!r|`f4 zLu=X{!6;XdosHp$3f@Qt*utCnf)CA-LECLXb{P0hRoL{*5H*!HkS=bV}GL>RPQwf67po=kZMd#)y={$ufPsQX($UKJ0ljlz3 ziwOwekfj1H7Ij}k@dT9>33-dJH$>2)8*goyY*U z0#^Za90wr1D+12|=rkXJ9SD31pz{|1Zg~qpmwf=bt_9F-1AvUV0J<*%(1QigQv;ya zFaViAr9SfM)Z$g zbwId|2n<3X9f3{=+=@VF1a3iKFali==!(D)1iB%Rfxu7%x+Bm7fnf;rM4%S}w;_;; zKyL(wBhUwdz6f9)Mj`G;y$fLUV*qk`0?5rr04d^*r2xkM8o)RofIJ(3d>EI?U1DLj zDg!kY_soFi;>H(L3k=O*Ro8K-_XoYOKr@b{AtWW?CAsMnYPSl!b*sf4Xx1<4&09(za1SlvajT1^>uO;Cm3^Y%) z#L=V(YP}>J^nka*3DFNSlEy)imW+e4t<^XIjXEe>&J`dlCgVhsR=Q^hvNaCEL-Jfk zAZ|sMrp5#j7%j!zOK-2MwPMvYRIsxlh029fde f^Ms=U0uB_R$N=rYZ^YPH7|&WuW(9<(iP`@JZ5Ci} literal 0 HcmV?d00001 diff --git a/Examples/Resources/SampleFiles/annotated_with_replies_new.pdf b/Examples/Resources/SampleFiles/annotated_with_replies_new.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b5c2d715703eca0e334291e05d4ffb2b353da80f GIT binary patch literal 7911 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 x97+c^17Wgp#0EyfHK%>NL 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 literal 0 HcmV?d00001 diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/excel.xlsx b/Examples/Resources/SampleFiles/excel.xlsx similarity index 100% rename from Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/excel.xlsx rename to Examples/Resources/SampleFiles/excel.xlsx diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/image.PNG b/Examples/Resources/SampleFiles/image.PNG similarity index 100% rename from Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/image.PNG rename to Examples/Resources/SampleFiles/image.PNG diff --git a/Examples/Resources/SampleFiles/input.pdf b/Examples/Resources/SampleFiles/input.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4468713a8045c3ae9f9c857d48e67726d382444c GIT binary patch literal 6465 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 VrhAG&u?Q>z{J%uS#F``m{TKbIU||3N literal 0 HcmV?d00001 diff --git a/Examples/Resources/SampleFiles/input_protected.pdf b/Examples/Resources/SampleFiles/input_protected.pdf new file mode 100644 index 0000000000000000000000000000000000000000..aec9278dd06e613246d9f5ad4dc016de3ff6b2af GIT binary patch literal 10574 zcmc&)3w%u1)<>TPMbY$XKRq#j(xl2GLDgARmQ_ho1*9UK(=}C77>SozMHK~7eTi74vLqvs8p)Hq$V)n{BSuvzO;C}>vn)#qvd(C%#z0Gu7{oCo32jc- zb%{iz09;at7?4QO3A}-{pu6g~^x^`8a4P=df}oU_?elwrIr(^4AHpeVY5gdNQz{JR zXhnuMNH|qrR&s&ib;QNt|A32M$4UTRxRHOg0iA}|jkSfiFtu50X(NO2ptzvnaLTYs zlFy&-%5ylgTm-^gLlgO%ov28W6GhuZ-RBLeMj*@YDG2)f03WoIT=}qX$?tLH^+^X( zo+~>*(6HT}L06t9OY&yt83YNt4`ku3izMrCVjj2=Lm}u6NZ~26>>EjB z!~hF(O@bmx60epSrYMT6+HVHM3-IfW{;(`Z+|1t_@u=CyaTuu^|G{foBdp)x-^{B( zW1&NiWmyQ`I;f&>SkN@ibbq0NI~-06G#&ISy8;Ft76zf_&GMOgboTdnC2znJB3Qbt zHUI))6G;WK#~%nPIWE5me4?wWfk*(tL@xjuH;0DVB^xGgC=P)21P#@I^+Cu`6yQjV zQXuFzT=|ad?ViBjuk`w%(+6u8o~!&ypLpiE9Vhk^dEa%-i5W4*wK?m~A9Kg-`LN!F z?OiU@pYL2FogOt}W$V=!yPV@@tZ#Rq{>DcWT7K8%mj%P+@-9TdN1IBTjn7?v;o$3A zsNvfEnKyE>RQqM|3~?$iu8*Qo%rtMqJdqr=-KbT-gV*35#O&l zzxTm{b&WTrbz8FNz&B4{Sv&LarB|9)x;}kAF=_P~@#}r_`|fJmVEg}cZo7W^u#>~? zd3tE#1F8AH_5Y;P{Da@DTeoj+W7I$d#%rQ^i z(`kHFWmDz117(O7*F%{C*h8V`=6!iM)npYKP(HAI=3P+(P7eM!w!Fd4b;q~w*mH1f z6Ibr+Oy=YrjZalHn_POOTjGwx_qNQN`0E30e|#o+{=50j_RaX<%B~MfhyE5tIXaYI z9QA{D`N6#tF3^iuaoU1=lO`w4K7iia^YEG}jT`z;Z%KHPik)x&PQGgri|@pSqyF7C6TOUE4@X-C$6c>WP&|45XktQdOhqcj}G z*YjVdPAC_gj4P9lU(SxJKl-)rkK|4(&;GKs&3`WZw0_#gdZp6RapUKGRKG*s6Eh$C za9Q&GlkV=da{q=mTb%f*?3ouHT%N6r={$SXihF<0+m}4$Y;KFb{aEM9SyP{CwYhl6 z{ula2cW!mw_sA#HRjEa$k?|km@Zh&s?VA|&NcW$Yyj$$;9`|bd%TtzTcje6$gHLyj|(^rJFva)FV*d+;kG}Eaphd_2l}T@C9(_b; z_vZH>CG^;m->})19nG3op5C$P)RN2YJNv|zH5!(=b?eF5&yHICglEiquheg|>9c)z z%C9YQ+fhY0feHnw+NW4IkvUPfD|3QRn(Ltzo>AO9S`AwNu2lZEpj&09{omdd`_!wB z$_}UcEpw;cm;7^1(bVU@{V9IYu`iZ9tDJaX?~$W1B}=Imi|c*)#=%D?{nBOVo%NfY zto)li>CNe%&-i9v^e1KMJ16}kdf~Y(_aD1w;DWYtN3rCyZN2>q%J@~o-jZMA68tYe z*kj-qQHOgJ9i0-N@b0ffy0>REox1eYPs^V#`d6!2FYRwo*}7q~qkn0f5zXu>AGvGX zppRe4xF^4FF*CZ^gt-pK*wLrQy6%YmdR5aE53CzZUSzk8-?=KzJK>CHbkPpy=0*=? z?(9B4e^=*U(97pb#>`#x)}i=9{q^OJQ}dR7cy#%MB~i`aJ5RJKncHq}z4!*B^5+~L zU%G5U4v{;j;i1;Y9x7T`0iTD{`F>o*HO@)+O!*_eb}K(;DC^_r)*qDo^n zyMFw&-pR6V-|T9%dtXAld&B&9diCkYdt%#`?`jZL!J_E2M>_Vrn93#}iD&1%Iw!kP z=lTsh?f&%1%n6>f#~pd)^LqUyDyTN?5c5?9IqH|E-KEo(JrtGRS!onEN?Y7;OY!J; zCJ&r2sKwTgQ&J|!zt!VnuqU0?y2zxnw-d&L}_VTvD*KpGCys!37dP`xpK4xz{%y8Fqz1SO`C)^O`h?DY>N87yp zaEW_c%fP^GgL@Ze4J#bzj9OVjAMJi{@0Sh4lU?Rzthk&1-;xvW#^kOS2N!0Hn_SlV zUV8J|?(JSG@~$|0ylI;aX=QVI#*EZAZ0$z(TAuPn(Msa;=BIWB#t-RtI{8;BC;H7x zg)59w*U?wzjY0F9H*VO~)z`5v=Hq`J8}Z%u#+)6!*S37(vDF{_EbNTkbNm{xh9`P| zGOSg1N4NYkLcA`lba?FQO=OU8+mb@i_&kEs0xmmJ98OCq*7b&#XTTM1N;YAg{?&I^ zbhvi_BUEQb;dsSd zrn(xpol{+{+e~{R^i)^#wsWeheIx6lAWTnnHEb4sWI#BZI@B z+T=_#vVdy>)TGP`r`f`Dt6M$2c^DrR90tAd1Dq zoDo_T250+S`2>`DvJ3qNz8i&>zWJH)+b$=){XM~I|q_|KA zF4`m&<_91lAxv$i5{NL>mP$}iX0$woFiU@6>;!9BHcPOUZ9^&2vTmL*g-s;{C?}b- zM1nItCA`i_hc<-Q#U5!61)m6afONlMq=KSSd5^Cs>nrI4KE? zzqe6LKv}oiLP7?D*Q?Gs1F*Qq4V$+1XF094GizJco~&bqup&9U2r##0#Vf)JHXym; zD})MW#G>KKwH8%eP>}XzV{x;gxMl@UXQB%V#<8@_lN>`a2#FdgstUX)U?fGSkc>!p zBp~Y~&5*jHQIg2$Bt^?e7Gz#hDG|!joXlA@e5iHk;s?qRVL11{qvWhHoIz=H-mPDC{mk+u`^C}WZq#>1} zfvjmPNiig=QHWPfnG`6QLZP0BC1njE2`Riz(Yip1I)2+ABN`q`NQ|Zl@UlT>C5jUe z2MvlQS;T6hhB!*&1Xhy}slba1yrM3v3Te$}CUQGReS05t`8$mC`|PqQbGV4D19}R#Zk;REZN5UDFf+-j=}Q0g#ASMM+`d z{eZ41sz50)0oF?K``m?D5ZPmCPGn?S(ly|yF`~xkG=*43)L}5ANg|7o%n1_7bCRkm zio|lVE+I`~DM}V8iee?0BOpm*MN$!H#EB#)i!`girUZ>*bdHumZMp!8hW~S#LIbK8 zc?r=7fy96*SR^S(U@VB`brrv2K{7m?QNT=KIP}mu!@>S^70iHDC`A@D7@?~)JaDPD z%8`C!xC2Vlv;&??RQ(Vf%ffLzyvbD>t}5dn!W*IqGzrdIgN8(K$r?09056QBA&R%n zMLfLQs4)&S1#v5KF2&<}+DIB`-!_g0JFhtoT;EP(aj1>t2mT1oT7w4OQj>;Ad|X71 zBWb&QBrVwVLJGW17Lvh=4n2emuA)Kbvpi!jF z4me7HbF{`d8Xw;^Xb`;YG|{#X4g!*G9EX$G8vJ-%->*p%ZT80rc3nYevaP|B_zg)U zKb{nAYw$GABx;NkapF;f1~J-Bv)dKVfKt#_ZayAv0PxkX zo7H~Z%)!eC5Ee!;vp4-UA_@xN|MP*u{TH^>yd2E{Kur}ha{y4<%GTA)8T!}O$kj~J z%*4SI+Vs-Q-on)qzyan105zbzasarXA1J4C_NHc@Py!bK488uv4^U1Lpd%>7BgH2n z$;BtlBgrGdDaHZf6$f*1K_tb+`J}|5m%@VFT-+R-lH6b}oT1$nUNwzp!(0bv84y zL-EWc?|XqFW<-RzetI9f_S0E6!Bt#FhTX#27D-w*Awg;gi`2*z9+8m+1Wu|)HaY!9 zEXceW8JQV(OI=cFvN`JhH<7?hDlpa}g8-N_o1|^faBK=@r$79>g;CX`o~mU z0H8la`b)?_F?)LlR~H?QKUN{fZ;1mqeosa3uhRX+;oqeD*WKk$v2yWoaSIFoq4ns{ z^?9tf6tg{m?w3=uzXwynMxe#p{T$Tr?W!RJA>oFP2df+T=s^T4MXjh3ClXN9Zt zXg-bjb%niY{9atr?m;R8AMxW|Tvw>6;?u+JL28L_e+W77;jX5n>uKje692MGE7yqRe>7`2RfCFw=>TsR=g zXyUD-_!2p1rZBBWSfjxJRS!CBrC5##_yb?2_H^JdNq%dP@HjdTN#6yzyGQSy3@ec_ zk?*$8=h5pQrCEsj?6Fpe@*S6^J-7RICnc?%)`lq&lnki?#K7;OiUf!jmIS@oCuDAI zTp`g@9exhQ$LM1)k^|=_$0xBWC0*Qsdkd{B#f1DTtyFciAl<38o*99*_IY=YJzQgC zq;FY+6&Ui6ei?;%vhoN=0%JY#OAxzs)Mxr&D``t|I{4uXEMzZJ3Wgz@t<_5nSZ>c}xo=(@ROb|2 z+`Kn2{T>hdW~oF|acpDBG8`+D*Az3YpnZvqP3zsm(s6!gBL4tv!h7sb3hh5`g}Gee zjV_1D0G2nt3}U@lFM}<6DYv?bI#Nr6@=W+ls!7LgJ~mCEr*|j045lA0`v}p9xthA=~_%VGIjZ=ZZ=-I6OX5}$9#-t+po1*v6N6>UVq=ZRxAQ)3zs)W^<7lN*bTKf=y+b=63-r$N1A+*G`(G6?qI5 z=ehtS$RXG;(wTHiJM@If%{dzr>xNabD`rV(7oc!w@r^ccBnHt`|Ky=VWW5owh8wS{ zE(DdJO5_`&KeKlj_LPLKjXBYCw2ECVzJ4Qj5?y6tv~H4_Qd^5Ne!bOGBGV4{X*v=W z7_@EnSY@>V%m_E+;E&5n1D>^Shu;{feb5@I`skZkj!jm8XgMtmu9Y)|iQJKgpU0bT zt{P`LCyLV)Ye?785qU2NT-f~2y0xUECNa>2{} zrutvZ-}K-uLB35pq1eq2*JY=V30*+_LElb5oLSUD24pd4RxA0D{p_-Mb+6 zwEfVKhkRnK@f7XKQjWTE2a<;(?q|maYM7d(c-V<)1qbipaWig!ZAdafS zeY+3VmYwV{V58lwtR_16A&(4$t1VVrQs!`hPgS3KX-@0NmzMV9Egb5Q=BAg0c`6gy zD+CP6t`M)o>u2$0u_+THDDfqzZ`DdzH2nLIkt*HENPxE9&LJMcr(Rk8JwA`jMZ_8t zqU|t=nrE-Mp6ru6X)l~g)-sSoRZm9YQLeXeT2g%Nl4hHC zhHi*IRP7!LloH5NjF2oe5lP88Q(j$o-XYr$X0+kd>sSELBWct;N`6zcG*3iAg&AE{fv$n}Sj0X_jJdi}8(|$%9YL}) zqdbz*K&>X1B-=&0ul#CjuA5Uhgd3EHALE|;rmSuD7E9Xpo_9PCZ@19 zNum?&hdA_%a*S+M=E;#VbDD*6i1Ev~VZ9E>wlVlxi}^~v!+5FKGDTyspZQ!v!neHh z6m!1Jr`|wrMdyd7G-><>qI~nbm?y!{@zV4Xj(ls)0&66W6Y1HZ-F-y0mG+;3vnP_X zZUjiDw^C}+6yLmj*rnh8Owx+$BY9DjNsb~OM7WUBdUBaDm%yAHAzqKz0eU16pKDJj zqqht~tw`HJw4$6Ya3|;>rx7SH-6L18^?5I0Hv4{s0%H~X>dco=TW*MTp*O4|Pdn9fus2`zx`7i18c%}Q8Bs4%gQfzVRLsyW zb^D|BW-nU0VqNN&Om9cVb3VL1mZ_bLj7nxFf&E}Uj7#E>PMb(NbWfLCe#y!wn-JJW z(qe(gCmymoPgRIvrdMGi^&XV}a-Xh0ed?yB_Ss)UW+&BT{pg}QM+^bQ>@ecMU5R=)BSRfsppn_d08F?7y9r-v*yN!GHUyr9E7}A zWN^g(L`G~c4kM%AO`PMPmx3o(1ulCOg6L{l1C<@R-{a?lIlsSiL1Z7Kr+Z2#)~OAX ze8jKdxmZ2#oC*`jjSL~p*Idio8sCo;4^M$eJMIhkBlHwaeq_g-H(r1g%uZ4_u&0!n z+Udoq#uQG(M13?IY^p3)>!8osP{zx8CeI~VWZHpWiHFYYNhlLd9WZY$PK&YZ)MV&U zo7Arns^_eQhOE^)yeuAkR@!vxzhnB;VHe#tta?x=rDOABk;)Gw^u zr$OEk`cA6@Ud5kZQT9&wunBpk0m-0@6oZ18fjRIswFCL4yb>#}B)@%GUaO_hiyB-q zodO>}brR~-B$^$h2GW%cRa`==3Y4+0KeYSL?%?S5o^u-1%}X6TxDGT#FnR(Bs3U?o z$dTH!YiLmta>&K-;5hY%DI_h|k|j5;s++Jw^(kFmiu~xN&37T`r1|@fBI<9ad+$e!u2MU=(F@d#&8c9q6 zK^JK~9VGl6Gvl&&|4(ppdd^a6P|PhBZ%fw+QUgth^0IO&c}veAy>Kq`Qac}H3_TpV zWrfPTHiuyhtTj4D-4n(c>Y*xL`%BGODvvU1^MH}B?Q{H>1emO7%RckEKB=rC z_4Ya@gmKTNr6wZ0`J+)1D}A2>Q316VcLi!n|ud6bXk1wu8Ff-Ju&4bB_9Xjps3Dqn3INtz^< zqRZCg(G|ahC#<}M{V_NT$p?|1MIt>|tMKcQ@T6Sp?J(ag{`ikEok%>%AFo*$XB5Uh zCCoQHx~4`e!<*EPWN3G;y1RukRBn%5xGjT9wshy>rR8*ZzZ%0|TZKWkmd`4`k{!q5 zS!?GDqhIiR@8%XkaT8|ETEw$hZ!!i@+I11_m*e>46c094vmzd@_!68=!6waJj$QTJnbNy57IzPj)F8 zhabfFR2c7{#j9L)IgDGnhrhKUCH%g{Ivboxwq5!)=7!+R+B6=MM@o1OXrYP-=ziD? z)VC~W% z^mqOr(^;T|StWC~)TY?cc34RbdY zZ(7Zas@2y|RC^g?eW8m5fT9YRGruiLyj%1Zd8bAXV>Q!QA91+uLGdpXl@P>L2FI8ji(nnC@)i}EQKEZ zbUNmSxF?D|9V|@N?n>jDd$-^A1wpon97IYlY?@KAV_x!I(57qZFj(6&tGKe_U}NcL z8kW%d5S&lSd%DtWjF874N4`*quyWyc6`-AA*1tnjz`l~R+H>Ow>%piQ(}Ofql@z2H z9)ut{3D)jOWi*r}7ao|XIe-3SqSm|tst_tW0NPa$lp7XFtcv`&2>DDwM}TB*$^2@4 zgCT$vq}YHk8Q7{n?EeadjsST`9xrG?&-&vJJ5ACwo83rCj(eNB>k2))zQrtI^YXfZ zLGK-jqNzSVsUS=>$IjBYSDZ)clnz5+$~=vunZP*`9G?%qlI}%trWd+xpB^6d8uDIk z(erh&@-D#b@uuX6kbOoX(JX|N`>Pk+JUiTaFZ&oK>UR|I=z(^4su2E23mcvg*sWUd zohjavHFYgZChFpa*s4ukc*-y**mC@C$i!htlkg=MeK<^#;2pKuhcaIyo!RzmSoIm> zc9v-%-84msP9;XKS`@`>^Jh@@4Yq?nK~~md&_T%?)q{uRgOb%>c9I2R`RC1bp{}$y z^7cIRQ65i=v@vQ-{l>>1h$SLJa(9xx$b7zfqkbP#BEUu(C%2zwDg@M*qev$HGAE+@ zz~$OLBZGX!s~?7|Gkn}ile2k8>|{MHbE7-CpP5kMFz#LCZE+(Zai2p!Z4jPjjl~i~ zvxY49Q9U9Ja+7k`q~Ku1&HM3(W>xZ(!8=-1xy7WR7^F(IiPG4rk6O}KXD=LSC^>2` zUMO@sv)ne!Jt|Mm!PDH3JNkZ3LXX~8WtfQ5fLFC0Rag)9VH1V4H*FefE7SP&%ngYL`=yBVq*l+ zF)}g!8Uz*z2?^yn3N8u?E+Yv63FCkJc)sz zJ)T3!cvw*0|9m|C721g9Z-^eF{7_j0jBf-@E)bt^%GG{;dN14&MBa z2K+a5;QuNO_!YGK9}W0_Sp$9rYyU?B{$JLBeRIR~6y^s$YRW^R_xbXr5W` zUm3LDNtl0Z4l2;(j}90F;DzRJpgCj!FE@wYA7UbIiZeLCS7Mrb-T0 z&`j3v9^BA8(H}hke;t5>TkoG%qAb*EwEbl{0>zY|DW+Ed&OcK}62G%w&}T`A0YL0v z;41}28D|GKM@a`07xv$eHgdIcu!p9xxVg;DL0~oxGY)e$ZZ2LUHV7Xdgw2?j0|GHO z;RBiQnlb?u7$x~RK^%M>oE&^02pGfxW&wd1pl>Fi8l#xKgT0p>K#ZLUsN~@2<_O^Y zov!-Dq%|YRn1k1pgO8Vu3uFo%pPQGD4Ps)%&Bnvc1>pplfJ{xmV5Yw&sD7ue{t6y9 z1i-_`3*dl&0lXl-{|b1}9?(1g>;d@80MLQ{1s*h+W@Tfh=;rz-M*qa@KLX1f4CXTD z;N^y*!^_3S4gQ6bIR^)u5eUL##9_p1#%BcjZ-ezm_V71Y93T!8Q(kTe8!s=XF?4(r zPN*n~Z*-C$WRM zc>hY%`wvwS%*$tHWM<0C#>vNF#Kz5QZq5ebfsu?ZI+6hvb-9#bBu^o+qgY{nqy<9Hz^ARcq*qj}7E|Bmi|Em_LN^)D~XGgB`? z!9E0p6?&8TY19?l=w+^$xNH(FPSj&*BNE^`PMdjv^KOob1CveghbF z;fpbUuPR;_DXerk>VhwC*49b+74TgyYo79JY}k;B%f)Za{?BlbmYVR{*^lepvSkM5 z@`Gx-kx#-D;mlWDKp)#g)l_cO3I$tBB1IztzLV+g1wCETo0hO=s7SLYGO2_$n#h)j zLR6yb?(p_KpSvy#7;`g;Pkiup`gS$1js3E5AlvIqr80?|kw?t*Thq1Cf|25N@Fr}( zP^6_IF5XnOIivCTyA3DzX1uO#wCM*O!<* zk;Vc{L?Id6>k^b-j*)K+-_bR2~W7|7CnasxS~qv zi+KBL>N?HnvIm>pi7pDXz8#`u;kdf1H@ozi9(mZYi;Z}X{hhKUIzVJzkJHZ4)77b4 zfNE`s>K4?q@ol={WG<=GX&`Qcc9DQAM)07&P=kwRD3V-YuybN5{(V=>1RGUmg?bmX zzN&@RB>rWZ(mt*R>fQSae4=HMfReB&eRSli^xf=s(yLtSn@9bY^DZ66b{wbdwl^e& zl4r0EKJpy+<(ZUHxeoIG9;&}Mi2pHET%3Qavd~Ld`UO?ksUHfknefFsh#S?jlt$Fn z{h(sMz{*!m;wF79gkJaMi7Vm=@HrO~V-5p_$JzW0DfO2>|aR z(ND&3PIIe$+GqKQw(FJ_NY7!nCP%4ZzjB``(!XaNcs|6`hTZU{9}Vs(7bt4It0D0% z(EuHm?Wuo;?N~7Kv`5-&cjukc*JtvOX(pTrnjI#UDA%`1$?=h_DlsEC$x_&5o3i*S zF|MM_@wMim;1@^!rc-yjbuEz2wKx--$G85ILCs{0CZ6;8Y-+outh_aY8MGAYmbCrf zazoC&Tmpr91JEuyG39itt}Y^CsWIr^Nm{jZk#c3k;a>wEr%K)by)6FXs{O~Z;N<-K zE*>Xl-3LOGx)Bad;fm^!`${$Wipg}!%4!jwuPK3qWP$NBb#u*87?YY|$ioxv+VtFG z8AFa}ms2e~eVQO-0BmcEEuAS;)&{$0$KU3>)Gt|tKyeM;n4ZB?TY}s7P@d}($fVFE z`d)d-B4Db>l_^{ka@k9;#mg>>%slJ1?wBA4q+cBi&P8=U$l4b^CNz2^qx6xqls9-P zuIt$#iI(EwF0f`P!&tN^dqve6a3>a>_>)t2`9n)axi{;{mXOPBz>Si-Ns6EuGM#M9 zI`XMcB$YXH4yEL+gWSJ|=`a4wzk%t`xTG{Rfcf{Z zQpUD5Vt^Y&g3Bn8FF@Z*% z*+5*TP~*mg8^mU83WnN`oO}>-PA*Z3=Z@m2{M)!Y> zH(p+li4iXd#KvpJ!N)2qzfopBO_KG=^}PK`l=cK3*^cYKR;C-9P!QzyJ6Z{H>k8iUa@Y zko}@?0L6`5%zl%9X}p=Mm5CAXm64qpG|F%5{#Re;x9a~I>wotkIsYq04hK|&!My*h z#pK}PE)R$6y;mZl@V?_oui zl|kGJ63_7%u~3*0P;C@yK*<3KMjY6`5s1 zG{wZuEy_qrq%UpLxp46;5XWYUl~_Y85K;6W6BrKpB&ULDl~Wve8OfU%ed)6;W*?Us z_+{{gDbbmOP8w>X;>-we-VEtC?2mTbYLn52#Ao0l@>S?zN>19An zGu*LB-{=#?*%3A7xnhE_=QYav!dRboe78hp1c<{z-FHj-JE2{{=SWmfh31s4NTXC& zDDY=*csf#-dt(!LPBi+Ec4QF5$2QH3*VpJEalB`ki4^;DNC$**hA^M6RoAnEyjczQ1Be;+n;`@;RAqhy*=hc3+^&KGE9J{&a${Ds&Ti zBBrq>;0^^3qh-soT!%N-KW4-5Yl&>j<)Lpol9tKb)ncx!fU4(U9Dr8Rkb>&El6)P; zHI{6{7u~>oS{7R5>8QBchi9~0g?gVd3UTf{i7pR~YAeiTmq1PdGU-$sxK~%X3I2d= zh7j+VOXu)mCfS=1*0$VbHeq?V&DbG=p;Ii2piZ%AL@Ta_)`C9FTXTJF(WNM6p0`au zY-F2p>alRC`;Y}4Kc$I&Ms*PPCOj{-i4}V!hs2Y~8icxH;e4u=xPPV*Oc5Dw8tQN< zicPI__Q8}384Ft;S&o4>5uv3!ir$>#?JUO%Piokc+=GtyuP5$_y0=3-tfgiH$3zzmm zLTH)>@Rb2bnrte?Ni=e3HZwSt#k7?LXenm9K39rs4+m?VSNF~SH($FtuPU1T zufHxie7yatv3B>Mv*$nkuoVv8RH6JCaIp5YcN)MHP|(K^EnT$1p_qh*78W*AfQM4J zUjeV&)6T~1>Okr0rMpmqShU~Woy$T(G?J1Zon}Kul8}FQvToT(WN@{j(ul*A{QUc2 zcP=-57C(McJ`;RMuM)M99?I?^hlWU|kRUgA5;>ijgoOOsBxEnjT8La3oi@0PtNdUY zL^SK3q6c#)5H65^t%TA2UAQzc_eHf2t$h0pnn$t>!iRTBUfFZcLwi+jm=v)hjQkR9 z$qdv+5J|pJ6!_*b%p=%I86;u65LL9G{3<#y!-1#J(;R)40_U)!jP8!LgCdYrCs-5y zaKUtjU*sP9YzRg~^m!eXduYB&(-G=1rxcPgm%VrdBEilU7 z)r`mQ5}HtxRQAgS%dfDlh#Wu0rOV3=mTl~Tb+x?I_Ch{=F)G7tBbHu13+T<2u@2Qx z{6aP|?A~g)?QNi@K`@(~BBSb?&?ql|xr5B(U8p*T&dxSAU|uE+mn5YsU+_g;i$dW- z&MmN6Fdbv30}XXdJ;Nwv-oVs)c6QgwS2%hxS0+T!8sW%kyF0|t#Ourcg@E>G0rBV; zxE&f8qjRANY@fXCRCNxsbrg*p{tqJ!Be=`BMcFZ^#7T>llR?CN#z@7z0qUehW_haq zv9uqu;aF27tF|q!RMei?HolC+C@6#{MKoBa6C3dlx#Ic5I+_` zbjPcBg61~KP0@zywlpb zhx|c1UwUZoHlNT9EYsync$gomQ+yk8nKHj$!bINz9E#5tOS)6umM|uDC0C@?B zlIaMMLRM(~gIa#1ud)r97)Pfh7nQ~*XRSCEvv)y+3>`_g`AvL{m6{8e^9W0%!Z&ACVR|ePpJ1!;GHhjNNFr5&eh$TDJe zGU!h}-;yjS0d&3a&UxAAqs)5|@$%41tD_LMKV-s=`r>%b#+5 zjoRc?*?jE2Ete7!Qv;kYNDWl81{W$3dt`;AR(bNOzkYKf<%?|}QqigT(vy+e_OcpL z_S6FGR&`TDW}ug#p>J@2{ZeM;nT3}`QDa+KVI3a>n8mKJYFae2cvixRPOW{;Y|Y2dy#53zZxfX&G$R|G2xEuHLX>+w~wO)t#iV>4>-YUL8fT zLqs2V7e`T#ee|>T2e+2o*GbWCc{xQ5DX+RYw)gM6*|g*|4wbaM7}?@gs^iaH-5j)x zno2ir1r3QnQ8n~rpcp($s!84*+-$;islwp66il3`uIJsRT4%?UnE1+|h%`c}h9RuH zc@2GXY-1QL4yXPpqQuF0Nx2O2{aZ^S?%>iqfO+=&_`KlRk~~t8rej zJU$Aoo}cXexj6&Qu+TpKV(89ucTrgUVJBPErJK zVXxRP@%(N~G>Mn-%!J%ikS)>R1eZT|M751AC4!Ow$gZe#9ExUFMe&on&q@_%?Z(8|CLndR^hbTX2wVYh3gv z+?qZlG(?#hm`_T_DmvR$6?T?eq)M9YFK>k{^rig68k}Ey>9+LDaQvX?Hb>yn z`jl0RZME{@53rSFx<5SHU@e>D6krv?s3P1Yg88|U`9e<$RY+5q{q)3u0SF&u zcXRu9JotawNA*W5rkauHSE_psvk!`+$?ks&U=bA|HUT*Z#iiRL)18eHn_C`@?l zHT1&w3dGV9Z4_j&rPD`pAzE(>_LC-Y^8#Luhxcqv!MeN)re*GX!OZA8$N8C|huEye z08aP7*)cfqF3mC!GnHOI$q4~;C;BNBZtj^>XreY_Ozosuxg8dMZ!wr&$vPeLCuweN%$3c-)oGWD$~CVKtQqXS82YU|AOy$2Drm`iSe60Y zC|z(~)Dev0%lz)$C=Hxq4}%8FCf-gN{4&2b0n#;t6&^;i-oo>|AS{Ym>eap>*ao-{ zlyKuoQ@9SHP`-pQL4h8C(TBo)^Qj81t4Cw>L0o zXhter-jCliSg2PoucQFMRTV>SD(Q85L3RAwd)uGdgDHP3gkuxaWgW9AyiUgVcMx+= z>6g5-%n_!Dzf!8A4@JojIVT%?qa9s36`AV_2Xq8Mq9oTP&F&=hzkRXd-+23_to7$& zX>F183+}fpLExC@zJxD7`vu@&$m4INIBoP6>9D2>mV0;PBR=mtiV-{<+L~&5A9$F8 z|7H6++K~Yz0LAvFsxnTd{^e3MNm-LVz(_u#4stSq@G>RL`0(w zOKo9}R$h~o5-P75nA;MCLyR#_iniLoDk!XL$oV?TNQ_w!|NRH7dRx+H9KPB4N|Lt- zg7m3J9G={Sgipg=&6+?#&L?D>YQtT9?{jSZ%qMuFbiNd$Sib}cr?jSv*uKtP+vHsx zQ=vVRZc-61fw&DIkZEMX%{-mUmCvfY!wS1h*3XO#xX4tBEqPBZ?TU4bOH|5;39kDZ z*rPIl#f5~z#8rJ@&6rCp)o?~n6-85mXlz#kg^Nf$kDu8G zV0?7dieOnYdNGU3;5GoR10>`ZR{SS0jZXk=2Q(**!i>&ntV4oNK(J0k8A< zh_KxRawsi=M)e$OvvIbgk$G5;O2k*Mni#xKf0&NW%4nYX8D@Q;JErMkawOAlW1)T} z&69kOXfEJGLpt)~ptx)zI$F@h#o>m{AbaI%SNRUOTX`!WC{_1((i*+<7~McFG*<(x zTI8miu$lo)tFNcNKk8*f&NinRyZk;sP(DV3l?MoUE=LognIf}9MV9$p) z@)7f?{k_KNGGe6PqeLcrf$0?-P4K98c?#9>IT3d9Yq2|V@d=Lo{6WfGarxt63hKR& z`PURRyL4Nt_seRp>)ne>EDG5MXDQI01s_*uHpRay_QO2lzY1=?EE~F0H5nf_Dfuds z&3x7AXgvpipZ*!Iip1(TV}EGkG;QC8TY4JRql$)0AsVkFN@Rpv$)3}xqkNR2K?+>h}TmjJ3ipQ8}nQm>x>vkgO-SEJKJOl zi}-c8ly?4$U5=`q190yh7~N zE}w#Ql`PLB`oYlXtM!S%&|=3BESExVC1rSfZFtr9h}4+md}dikgR&?SMWXBqn4^(u zF_xYKLdq5R@k05fQmZ!KH$LU=F9mv31ZxB+ba)d3XD=itbQi<(<}8p9MJUX>i!4r_ z!7bYqq-=RLH#64R1i|9g)Ukcf=Ba?hZn7i3l(i9W8|uJ_D>%QdKE}yp|{(Kv0ug z*wJfOaUi^wj1?RCM}!$EV+9wXz0!B~>;-f5H(HFkRV{b^C4~YU0W-)|0^j`Y`wa$8 zHpre#n~N4zGS%DIt_vYDf!Zxu@rcVutt7Cm zrKDPgJEJPPF$efsC3)G4y}+Fbsh6~&t$vC(lEnf9iKOH6IXZVH18juib3n63+G%fxC2?W4m$kuE?j|gLj-v;5F8~e!zuT zW@|HB2g_kk$^GyRytzC`eY}xNWV__ivr*dyHUU6FOBP9Fl4Xrz>CgjBgj$amZZ)?ljl<;%H^IYtsKH%y76p9>Vi}Z0y~4N@*c$NFC0nnyJo!%CBYV%UT#N{5S z(rXf{+*|b1hX=E$P{+BDZ1m1&wdJ^vH0Oj@{~8n&y7ATs}Z>3T=ZVfznhmy0_$ zaVm+|anr)4n8QCfZsNLswu**7Ywz&dHol|HCi8)~-!4A@TgP0~JiU&VJ`Nfn4`vt5 zg&IIsNBvGO>O?v@*|W)?qUI?@0v?b&ZUWA3AKU!{+k)M9;nG!x3t+jlQRNhRz&X#) zbDi{<)DRhR)ZRY(po>Qw4@dRlI#N&xsg$Y?KYWoL!x|3+cczCR5A)HmaCGvAV}yL) z!KZPGlxK4fFdD*7671f$uf89(YW9S13_=8L)huyHi4_Rp!f2gwD&}9#is019ChC@v z;0qAW;Wph=%F16CU}dhGqq~HR25!zEsHJfHRL|u@L~tXMOqRS>mZgOQQJW!IJNIbg zKZKP@+dk~>jIKS<1AP+(geb8mK2vVl2Yp_Jp+1Gb^Q@=pJY|_lrmvtVpsTYPy$(U$ zocb8T=(GDB#h0SJg*JD z<|KXdt**ANt|<3V!J7)=LT3yb_;T&U5}0#5b5c;q;R>Tq)WN8) z>!%4}$<_2-mxHrlKn6sjP`E*Woo?ZW6QA6%Fw$#0zAuC@CkP(Gc-7)_TJo`{fU#x? z#ahw96djNq3$&&ry!N0+L7_pfIW9872D9Y7B#V9(&&T)enUI4^-c0%ic7c+CVS`gy zuK?Yl53kMjIzMz|cCBdH-LG40F5nIBa7FzL%v#2kZCI*I;XXr?uK|)qUoNQka%?JVFo)3x{aKDr~sa!fn5YHypY{ zt;rwuk{P#j;eB#X^Y>*gAF|tl(Y5Us3+eubgRhv6BU(G_PiK#wVN#Yu<&FBg$|8Ku z$Y}wnrsyDs73?7Z?I^5`1-u-gm>zDs`x`s zddxmQsR*`no=aL@4)u->>tp}+se|EA4E$4^n@ioV(G zk@&l9@2XGp4Q0-L!+hjkm)@uNmrGf6HrLf1S3C>s>4d900dU_pP|mfxC#TiWU@c>C zCl)vFR2ty&YXxh~Fq(r6-x_YWNE0$6qfVT?TWWm3FrS^xFqUL5zi%8CNFApv8wb0y z?pzh%JhM*9z?2%h8YE0e|8aiaxSDRne2U@T9P8eu6U; zK}}fbhNrN#gZ|J!7H(iJZeEO=6-ncz;L|(>Za4{ z;YY?zRhK4i$3@=P;rr(ATd5PPKXxsUkVNixqvHZBmwqO)nBGtJbks#2mr$VWj}@cA zr*fZun`f0PtFL|eV)A|IrfgNmOp%I}w#sY7lP|@+Zq!TG(MW=3!7n316~g2$=&tsK zQCTeSh(l;zJ8(_<7?J-xd(h~j&34lUmb4>{j36#QoW5*5jfLl*zY zrQ)w2GaT2Lv3@r1*3vk%wS9{TrjCxCsVhxq_@HUGz129MQYP)KtI6&d#e@Uc4g$dT z4W?REi<5RPCNdV;js|+8<#@D#8#Pm_r${bcLk1FO_un`=e_Y6wo0`IzO1u)S{ONnd zg@u05KmT!$80cKTw0x5M>M=*5^@sY>fpsXM3x*`h$}Qbj@hv0+6HY`5S_4GT#8WDpd$$ zC$;*d>Hyb{tC*rzckW4N02WJ|Wy9gVm?jF+70=d-I`O-jn#Bg!I-L(?b*kRs$5JPD zCv*~b4|F;Nspg<@%rOBnMEfE0_fMoD5??(wau)PQ*Wbubbb*=M5h^LKSl1z9v^3G~}PWje0W90i=buHSeA4AXMp3p{6Q_eJH08Mn92R(G^<(X&a}qol&Yo_1_Oas^~z6-$BmU%Cf@1^qP)n_j#bDRy`_ z)`w_zX+*)T*uak7&W$B1WodJ@3!6M=m^eEV}?E)R!?v4 ziYJmO3b&l;^swu{0gF+skk?x9KOdfO!!sukk3hc};`7o_j@96=&msWmuHL+un49+8 zw(Ym$XjIjdsc*&L#b2Q;h)}Q({#4TQCBM1zs)<7vFwpY-ej-_mOPXiKm_S%~p8321P5@>P??~ zrx2Kp1z2H!Ikq0t9t^%+^;NwO0}JJ}xNcq5til#EE~x>}o`Con)?yj?kqQfywsQ-w zj>n28MIQ*5oflqdB1W{JkCiYml_xWaT*Q*ZKxAj7%WD=;VjX7^&<9iI%c^z1-~

    +E?}A<8R&x7F;U%DI@6zC7}Bx9)q^pbfB3J+McOT+?k=%wy1T1O1za$ErK> z*v?p3vV!i_J&OaWrb581GSam(Ljz&V!f11kK8h@4{JE(&DiaeEJL^r#9$(ebF3j^> z(VE3qRpd35Tb-okRIBuPf^FVuaNAr29izVZTetIeiIpYZPC9{aq)Bei=wd9&ZX10Y zrRVA?Z;w{D5>9P7mLe2QFdX&S9d$A-?j;&n#&1~^!=xm5Z5N|D-N z*HnN`K`u*_4^36>YWnLaC6eXV#f$iy>fHZD*g3}N!UNiRZ0xaZ+nznPZQHhO+qSJe zwr$(?d%xu7CilllPMRi7o3v@#G{t&W*_vAS6&0|++tZ~TNnTDgwO@->x9suGtp0mFAP7`Ce`-fezP=B2LVRZ}$tHhZ4ekHrSlD~;YC?O^bh#MTpX+_>YK z{c%aPYqeXQe&+i21v5vJP9~TJys|A+Xr+nZCGJ-hYU;L!oVMOn6puc7Fe@NTS|_;T z%lAdND>(OKWEGEInkOd&3_#A;kM^wjU{sHU9M z+#IeRFV|A;a`JXH`^xlwk%ssft-nd8Q`sN!Z&wGG%w{FzhdNmLzD}E(a#gwTWpr8^ zPlGFIyR4GyL6p!*Du4+=mF+ZlGh-MKMhTY{7##7MS$COCySJn758;_@#8bX9{AhRp zqsl;aakjoRbYQLES+v73O}+Y9D2G@;QS#PZXTo2d53=n#XWfiUoxjR6f1df)dMk-s z%%;BKwDnV0g1xxM$hT#hGgRE3t`t?xs_2H&Wq2Rgw2+&8SyZE>mx@(v!3lrg4gTx%Up((Bt4 z1!MTxJiX`6I>oPCQvLTxgpUK*JyH4P+eBxm9xxB(HRpxa4=#}B&D3mJO^uWlhs^Ff z7GzYkNP$fxC6W9dCeOt~(erK0X;CBSA=LBnCws0xZ+pi<4>yMtG$=_)K}YM-<&xv& zShn`W)@SOLQWD*U4!;macwd)GA<{1oHQJ6=DpjojLH5*2J|f3WU<0nn`iqNs$)>_r znlQwQwLVV4{)&Hn^7HnaMGHqjC0=!f%F5!!xEQdj>@MeYz%mxG=2!y zDjM;L6Q=(u?Qw1X;r%yc3ph-!ez$G;X8a20AJBKRp#2=gG&>F1hNfElOmYaO7 zvoq=`w2c`0QM;LAx|r#Ks-aEflNN;yme4m&5!f1*w zdV=5CXnnt4w>jOdwp{2{=DuwdZ!Ja`t+rd91`~$R+JTQ@y(ob#s>dROV%(az!ztb} z)5y}C%o|;kds+uqzh$+yV>L`MRf=|_uC8r<8Kp_iga@&THd~~lE_<91{o?m2bV~eY(uu%TKBlxiIe{Oxrul$YpLnJwe5{i_4 zproc!A@sJ(fUkyK!+dD|I+8xxyQq>3TzOFwCPb+BSJgjLIc2|_-kxlddc%&qp6C~Y zU#8sdh~5>Lpc|u;3q= zkhFG=epHP}WT`RK1*bMQOL!opZIcc6ImB>?9n`PQ12vN#jI0 zl_s^_+{}D&sMOgcoU!i>c5hD^;W#e5yu&_iU(0lZ`(I|%Ar(xQDyz@1c}acv6r@&y zs>6y=DaC5UHfA=(4*9@%D6~--%3aT@>y}bAC0Kb>?Xt&msHnakv9(OVJF40IQo=(k z-bzwK-CqQaXbB=J$~YNERnyC|Ekp!~)ePrr9Imuh7bzT}F5J`(Ra4Pe1c&Nw{8MdR z$y-+_@%MaRUx52cCd=7riS07BZ&f`>Io@yyTh;>DVo}(glGClKvTvHS4C4#111t(= zEZDQ^XsV5zcwpEc)4#p{M1L#BN={>W2#6n}FhvSY`5nVE1t6DIkJ(NzO&}9ih)9r8 zay&_<^CtnJJu#98ZoUuKYoIB-ieou=iE1k_m{-By|MN=^8@L{`^MI8apdrXPoJhAX zjvNDw&wN6-fl~H8nHTl>ey!zN^$i>*Q@q-CnMz{;cE1WV`Vd zrf=jXKtw$IgWPTzbosi>YP5XQamx0ImF<+}8x!>&k>PL3ybGsnrppeSc_ey^SR%P> zFXBdNrnM_nzqVD96lUl8D9*GLM*6)=nU8JsqNvI)0@5=)h4(c}H@CF=x9nQAqaT{` z=~FA&49@d2z7vWE4l3NI99^0G#{v93z@G`Sd77s>TZU{F0}ErRMiUcmt3{Wlvu%76 zKt@Z%IV?dUtYF#{D72K&-Ri&PBS123v8V>U?WrQnczhHcRyv&CYTCs9P@yLzRVM zzFiRG^2og92DbjZfHj$# zkE6frjRGkNS(xNs($Fc5XcYFhUH(iaTdzCj4w8pUjTuZo?FcxU8ia@eBGDt|TnryH zK>`|l??WZM5c_2EVRdb51{zIk2FK{O1wP|#!ba*syH5d8w%_uW@$Yk_$rhj>)4`P< zv8evq>LJ-d@bAV}3}43B%NbX=T6+a3%FK_<@aW;}+TUlB2a`AY=WfxK*ngu+d#d>5 zFCWXw%*qaTxpT=c_u_cT?tB~Ufp?F2A*)|mr1B_Ak6EPjfIj;Qk42Sa`l^rF6n=Tg z>d8_~geI;e$ZHiIy^Kn#Q+#0F5M82^7?|;say3G zAH9;we?pVwk@~ApQhcZ@W&A}a$`co!-BWzH`Rp(i9wC&heVU!kUdOkG-*+Qac$J7% z)zwtfhSXDA&LU9%1EpE8a`00>5w8)$;-z%ODTIr~Da1zxo=@X&DpM>h1E@c@msA*>l<4P4;eV$2`$2fgAE%OQqs7; zJba8~$%>kXnGZoOD>H@5&Bz8mEeuWg)DCer`0wwDchI;vxZ5p^B~Wf7 z2U4kwYoxvw9`GW$upzVBOEM7*)?i*Mj45o|+#4$S$3bd>^d5{JZGYj8;WDRm= z27bEP8M)ahIq`glW>$p6K`#p=xp=7qB`cY(zX34_2xOUTxH<5Z%P<|@ChQ~MpESu$ z78V$6RBqhFSKJ7RaE+;j$op%P`-p8S1N{691Ucd(3gUy2S|R2mK|7B_3(D(sc2I9I z^5BE}VW@$**_r9tX;HyN!+bDbadI(*B*xcZl!HjVWTMn!NHg=l&Ll$1%@2{mL~86< zQ2|OZGt;u6rb04cXC=M=Ix90TNRTJlSh29hXWvU-p{$X_X5wUIfYEWyJeW~8^Aj$Q zr>FfasXGYXakx2|V0;W>1?MxM#Y|H9P~jMoIAAs);e|QpGeM8M6MKtU0!+NfiDPGE zxvy%YW?WlK*yv!U-IM821D9OK> zoexnjd_QEr)oY1z%zw=$keJ2E$2m8oiA91wEJ9KSnz79as3lIM>R={cfoi}M#K(bJ za!7@kWyK0h@^J~j4(Md!2DLGKmD@A^c+jc_(W^njA_v9T$QiO2i*vo$=Cx z#4IaNA+{U93~9m||G@GaMgi$)SiA(f!g`Q^V`9pln=Rn0gNSA&L)K=;_1& zTq=>lS^-NT@;67_97^B;`XkZ2DgTk=hx}t~4ZWL??tCvYE60@a19!HbPv{C5vwJXX zRgYtzW}NzDMIs<`GJvxZ%TSA9s?7>eEVzwhzAbE%r^#ad=aDmC2nxhkYLR9IT6Jn~ z%KJ|b5t!qxp>a|J{V4Yfie0fsVv20FTn7Hq|B-Y1L6Ll_D@1eDs%!^I%s-+v)suBl zEXqgFa;oLX!&GxTN9aGVJX>@pq%sbq0hE|_OhatW(NA1M*Cj!s!8xXz9Ah`Sx9w>$ zEJKes=9_Gj93g~4cFAKe%4~xl!qBENqTc37jYfBlCvha;is;ItSLTbX(IM#JVXjieem6hRsEMByj)T zyo#fKk5^-j9&n9TV~I7#uYjdCC3eV8`Us4V3IMmrGWSHgKL0oJrbn2HtbZDbWFa+s zVZv=mqRKIif8?34QP7$GeWn2Mk6Ss~h-cVNykZ-1jvjFbx3tkMWeL{7HCY)TuB>PgI=|DTv5ik^%V!_YWsYr-B9GaQjo zN@Yg16iKZhs35iJRs{Vbih2XfjBBX|Tx(2EY>f6j9OfO@h@k(l9K|^}|09bk;JxEs zn$I3{GRgPumd3|^#9w<``Ma@_iU`0UDy^=B8Rj;=qInAZT{A+;Yo2je6R_(A_tzqkznr5-}wpl%lGQnSN*B- zd#k@R6pD#Zy5Lr-aC(=pDZ5(81A@ROYeGQKXQ>y;Zn7O%}8t(v( zxMft0ehrbEXhhNoJ(GWn`GCMB%Yn1yi z--6AtPjh7KIF+jk{30<0y+Jo!f}$3of65R1^6yAq`OoLA%=5d!w%(gl4%Cwo5RjE8 z$@+ad_2l_y20cq#8NM7FyQYj4sSNRpp*=fW83AIm&S}{m#>Pj+Dx!X}gnQDWJh{;B zXHtfwCuR^8x$1=hK&NgAQvK!hWeObX5~cu=+5oz1vPUYO3RLFokFm;h|0tM`HQ-{4 zT8llB)P9-X>EKuCrpNxFb@oeDqX7G&UYJkIfjy94x_#A@fBv#azlw+C9B>VP1m*-p z$oa+bS7o|CzQ(~dX1yyyej+ZZzgvX!Eote3A54hCE`h|E>i2FyV$L$IE@$+VWTx=7KUlp01RO5bv z*&E^m0Q(BTODB$-efNL<_wZX%2x>6e{&7(aeb7$nO@N|!s`w=_Hv!KS`2hrtso4R) zK}a!U^}p`G1fJG8n)}rhM*>IrA+bea@i7np6Db1E!}_8h{0Ehe!+h6RKJnH?{XzNa z?E59)n!wyrdHTf^NTAUC*IL{8+>rcdbO6=n9MV)Mji1(s0LwfeI=~+27uin|{F|g8;w|7lIVpyXe3;e=#+f6U+*x{E zkM%es;w5@;3&?#eeM69!-j~*+J{-~jfa?Y4xAHakHn>|&m>nb=n5|Wz@Ig14&`%ss zA5bAl+`fyhCwakqm+*zW8-WV|I+@Hs=Koi%G0ers>MIW_rcSbsLEni;3(>YW&e2;wL^W8!-0$u8qcc zfA@U9?Y_5!+5dpOuGwmE8A-cxm0xEx?Dnldtf2c=n^dE%ID67?=6e=}n_A~@rQSvE z)4QWEt`Ff`8$!d;D}ePFRv(cP9$oqU;~?jmHXtga$$UvSDN5_=6? zWr}@opODWNo#l>Zb?9fsyc6oh71qc!{R8(vVRb-kYXAs%x)IB3{yx<69D z^1(JJ$r>3H@V?Mr8t;_Zv>+{V?=|u5MY>_XS_^k#(McfpWOEOB(RmZ|J!2HhndPW@ zz}#j^G@V)p6Z-IpVh_f8)8Eb}n98B&EuR}WlKOk-zVgU9`4E$wDRZmQp zuUi-d}HqXMY%l<0HNRL?xco*t&YU0l#ip3|Lq(o&g%p+E$CR#MMRbZy-hTNEMKyZ zFOkm@ZqL~;yY~e;I#OT_bCT36iP}z{42)4m=YzKtq!PZ_MzCRA${)ty#Q-3tmT`PLEM*;$0d3T$6SO`zHA2{v`dxkt}yabKFz< z|L4EaKbWt~jF$aKbOLVJK$$$0HbB2?b z@8x&(5nNTlWz~17=xf!eRmonNdl};;+$-9v{!`)A{~7Qp`O>V{y>_A6%WvPfwpuf(rPIC=E+hKHmPwMji4;yb>#h{9L$8wR^GLKlk+`Qj>oaLf(_DN{2 zIB$$k|E1^rBlgTSwc3qMo=!ova)`WgsK*P>rQ@!M`}#r8?%W_40Y}XRGm$%Cp2&~> z*XXbY-+SMQ z!SDP^Fz0uCy_eg2b{#&q>-!ql%#rK)czxTsXf7_V_2o8sQLgF7C{W3V5w`)9c z;_vBta@`+md$R41_IE(J7IRlZuIb^J3;=70dTtHq#&e@w0qi@>pvM)|Tuq}cech@Cxp zu|?Rf?>q!SEZh)VL)fsEm-`wTM?|h7D{^nvWrshA;F?n6YYypV7ufe!QiNS!kHGbN zS6a9Vt-pS7qDAzo)~FiBtX1?E%Z*5M5k$r1R;fmPN(yKS0lPHTgPJ+v)6ynFFpMb+qQ ztbrWq3bT7e>(d0Y8%l2|bxcbt*sfnU0k~WHcuOA(8RMY@VV3kTHfssAqB1u)0jnY+ z)$0OLh~glV2IZ(MRIl+YDLmbq(p|JIityD>V$r?ORG|=rbG`~Ux=-UlhDE(&WcC#m zj1Up zVqL_dTb>mG4-ICpFE`ldTg8Z7J(%rN57+a^rfxdi4Jnx$g^e2BX`19l=!x5XDdc(= z9+uP4@|1zUfnNm> zbXC&BR$#1)!7Svam(qzzaV9W9Qr5h(*P$|lE8MAt352Y#V_+g$!&I{pI_aD}r1g_e zEDDAg+yl%{WG+aj-Yt4Ml*Shwz4L3A5(SKlR8d0-`4YqBWUwffLRp>$&WuuJCYWS7 zfoEDAed4ETt2gYIy_!^U@~M{vO;VuJDx}Ct+zo+$+Og4ze>x)N*P@HMNV;s&U-D`% z3gccgHzuSw{p=j<4j1>%R!YJiWVwsv3`~F;YV(tYIV|k?W*^G(v)_RB2`oXsen%|x z?KQz#C^Z0WCX)6Mq}y0LPe~X$(5=sqYX1;)myPT;kSouEf#Y`1F(i_$Ue-d&)xWYw zmjQFfR-YkHX{?d)ijY!0!|4?IJX%0~EY&f9ELd;;a#6=~XJlyWG09-mZJJ7o2dxet zMKj=)igIf!T1bhZwq0fF3isUYU{W=+@L1}U77S*q&CH^W^tX!Eh~)qUDb0^mn(I+!uNB1=Qd}bFo&oCc7NG1% z)AEO`Y9pSyg<7~r@$V@8^6F?)2wq!Jd*$>M2d$w+Q;`ctirYDK+!eUfhF;wYaejO6 zj0a+yF_&8{f``3?HPAVV+f`8DN-d`}O4=qqGEvP7@D7p})CkNtnP7&XTNu8PQwc!? z?gp7fSHLwoE64_k1z3~%Jk;^x{7{9Lc7QHAGC+sA!M89xlb;<(h9DY-o4nyCNX{r7 zmOB#fj|(ynrH30(r|>=MIMF|4!r-8CL8Blungk*tk_5y5BGP|RkxHGXfr%=8V6;>R zgopM7c|9aW+CW{Z6U;63zeKVUeIQ<7Y_=LMCz-bv&AcU^Ehslh481qfbKNMD)%^5j zML}jV>vTcp*x?LKH-0K#=OH#88cp0q1))HkFI*4`H#JnoeU6BOHjdR3y35BSmi-i>|{miP_ z5j+I!@fsD)PYhp5z2I}SGmjLJ9@u?=sbPJX`}&c+hUyaHbT#-Qf|e+Z!j3& zVZR)Ch=-neXbm?sbKZcUGuKz{zUuyJl__(n4{KgPQBPHml@;5L)u~6-jC)pon~FAl z^R^Y2t>@9s+5ZiIlfQ@d{W%Y7o*V$|6(v(rohb=NCb^Fo$5M6Fr@tkXxxT|(JRvw^ z>}|bWi`p4yw9I5YlNz0eZ<@GV_<2`~xLjDWvpTO) zYzk{tc2+K6+Ci=9c4|{z2rI99OPfhLNS!7}Hh!k&ma_UUVFqt#FTNBs9$9P*9MvuB z7j9=J)XutyJGI4)W0WlF>8FB`ZX!Srilj3 zEJ#;uM>Cm`@j|hu{NV1z=xu!eDW%A$M$DQ`HItquHQ=Ap-)sHKC~42M(j2|NuC(pU z^Rcmy@-jC8F{M@!3*zE=aSU$M6|1L;Z@X20NhJiS9i;WySz zL9#^R2w}+5(S&e3)(a~XF6V3Z`4X=g2c6g%?VE!|V>geJ`m*~PIpN1pU=xL!tWCamW#g}qzjvIodtT^N}3g97IVSIC>Ism;o)3KCI7 zcc#mzMX#7}QGqctU3m;H?f6bi8x{UNC6#N5-FFjPN&WX3`@+9+H0x|;UP`VEO(Q8e zOEneRkCLgNt{s!on6_MeFWE}S6A1uQHJVlEqaSacXy_{`Wx>f zJ6q~Ynj;Rs_tQ6%eJ|`V)@($;=&f}<$20b$^`?~yXK+R|ux&o9MMd7Wc+A&w?0MKX z&W7Fk1+8O>Cj8OKChqijIf_^x(+XAaPWb!=tud$HP?y%de)y5y)SD1f17}LOLxgsX z<5-K9I0ZJUJyw*S=b-c7>iK^NEbgqJtB|7fCVbu7ZFGz+jbU0?;jV(c^So|GcjLsJ zJ@pLTBqF;#;tRaAKnKyB&@U~T0@}|RKV7{)VN&WW?eyJI6q!Ky-xR&IE~4f|oE1sF zKkcpYwCI|7U0+GlI*R8B6IIHadz}JBOm!_<;;15_V_WtGy9mVY-H}CngCh|^D z9A{oOQLfp;u9U^y1KI2_FKL{in&)rJi#p==_AWDaKKa)EIV=a$lkjYq-q=!4uO68G z)**X*5gXD)rTs$~^IkPG^16%<%1oIsGg3GML#6sbVbuDhLF9h-zjb^#)Sej>ma$Sr za2hpwiY=w$H(l|yHBIodG`sBhkuh$NnEHKE6EtqpPS7b8zzEKwE^{U_sKEDXdN7g($uNY4a;%9&F>5$pozl89 z+J9L7UO%$1!T*-+B3rWDmr@L<|C{&|Wy4xL`xNX&_^0&+Yh=NMxP%LN2TpjzED^kE zv}}2WQwtp(-DC4Z{iC#84$Di$xL<`jHl;+Plh;t>wk4|NUl@$O>V1=~8_Q&J`|#zT zM~-EUo9n*rb~;+0uQ-Z4t~Fo8keko7d|H3;c17oJSM-0onJTys6hwH*SQzX^^T7|v z1&J~u8&BquP39Pd9ZCOrq|U&Ce^}l=+pMv>Yh(DoelOXvO)#hBEi80RLL$5uP$Yp6 zPbGZee(|2<^IdNGUfm^)fUhi$^AP% zNKI_KGcvMcOzadL-5%#Vf>hxaJ(&_fRoGYf8Ac>xyQlD%k8tYwzu7-SXZ!f2koPE+ zEpk0P^$t9q2D))dl39Vlt1#?1$;3<*wy|x({`40HrLUcNI5E$C&`cYX_B>S)nD}VA zBY_-y!j&7d5??&BnUoHk$)X51t@zBsal)!ucqK{IN()bpf@jr>(Ep&~OVD}emkwBe zYWHtbSIRQlq*wAz_M$@Lx2&I=zo)L|oWoFA;_l+c_n)fCvPE7+vt5+koCtWglr5@g z5F~wMVuW_G!`{b=l~$5WDpz*zG|oQ`&lmXiq8k;nrsCQVc(8X9ln9}Cm6c|09I)Z( z`TLeEb<8WH$9PX{ufDe>jBFxSPnm#G>OR$bnY&|Q~imTa@qM=(}~QeP7et|uo42A;msGi?fThQ|69Pac}S4GjA<@-sA!Yj+is zxw2Gr8&^->Fffm{SRcF0@{Gu{PiS|8f`(#lVqI*-1r>wcBvpIy{&R5;@<(o=-m?%n z!ZH!t+vZ{q`yKj{SNqhA5=svJ9VeVVt0wB2f&v6rHosli%SqTOzT83`DO(3nWu1$U%rMp8w7kFj!AFkN<1>uG?!`49md8caFGuujXrhLH+un~baHGyM zk@=2zr;*-t6gLtCgUzH5QC*P495DDR<(DouEQS&2oNY8OEGN`L@}oOz9#@rU?Nx;L zhbz-LU-PzF-3|36a>Mz*P zfvL6YW8_w(U~-b|M41jN90$`R|DDM)%(iSd4ukUJVfzjl8b2FN|4PczQ#;W6U;YSW zZ4%^qy&m%=f+oYqCa1SYf&dn!_gTO8JH7At-U?=6!$Iai7&PNqlxVj}IVWKH2cbeT zQ!A;w`KB`>{uLNPcqqYI#S)TUokz9V>9{9_9s})}lb3S#v!!w;IIujh zLzDW=_Ag{)e|rPX6>P2S#-67mHzFT~o~#@^inVk#RV%~5E1)ZRjGmq@;|}sF7d9#v zP^|8uJ`*z|kBXC>S(=L*6CV#QNO1mI`P*1HY29!!qh#mA%*a*ziv+{Q5$dp zj}Mq@>3TUoUv6!jh)m4D=H=z);=;?s)5c0_xonL57`nV&=v>&a7875tT~dC!Bx@uo zuCjNxaeCIc76ECKmyd%YQa6E<)Kn9J#^T*G+9<)6R&8vPr0()MZd%yrjJ%*~E$eA& za`I{B77#$^;TG`q03imeucWTustBW45o6=6Ry*3E+Z$V{(qh}Llp8%QU%t=a_Azo( zf+tY!Ub%0;##iu#_8bZVcb#XQnTO6Qg~l!)VwI-`x6EJ%QBx-42c-@SRrg{;1?dYm zD#%G+XMCAQjWvRN;3rxmU^*pP_YR6P_DMPom;;GkfJ!x9VXa`F-1%f;2aB@Y=flhu z@<*1Jks^D|?l52lu>?{6>E5ZIZq{nU^mL!VmEn_TDeIe?5!bYUUEYq%)Na$ z?8IA8%e&Wih(@bs%?<>+k{RN(u{>f_5lgb!1#Ps9tlvHA?$JHxXX)YlZ1fy}M{jSA zXZWSa#X|2b9LE(o^RLb8TV6tY#&`$rlNdS7^g4cm_D?2NO{vs|=&KASG7LWnb99J_ zvKTu2#DjYsZ6n&=%!CC_I&u{=3q{HF*u1<-Q^K;jUfd;(IFcocQZ!O|GuQO<|7a0QBH%f{jNG`w?od!h<07 z#X-%Amx7O2?P6K@Gf~yr)ia!I%(M6sDhp+_@5q`I21{!e^Z6-Bu6~_GsmhaTBWD;n zlaILAL1R<)9#e0_a`yhGq=u!MM0U+d*a)TR63X@z{%#nKABCA?*ps7s)L4ALQ%x!6 zh>z}uiQxkgu))P<{w_5qP4tn|Qn$_!<7-}O54N+yJW5YK6VbS*NY&l2Y-p+bPiT$I zu-Xah>q%or1kK|#wpmGJxMN#?UFqC478i%PrgkcalWpzxVfHPcm)ZYpHK){@G~F|^ zyE#nGS&S5JiZ_demB;G%>AEUnH`rz!p+k9+wbktG#@g-AuD<_b9TfG?a7x~ zp04q>FtVG5uX==JpSDH%@YzXa_bR=!811Y?ewsAaaIDzyH0Ps~~kHFaMGA3p#hRVnI*Rk#M0 z=&|9rk%?v)lRMKWW^)FPaat*ptTFb|GHWcAv@=OGCKfTVsYfU65i@$CBa4U#{a+DW zqf$7MbS9G;X8f?4EBf@6Nos4N{<9yhy*ZvUQZTKv+nv0%r{fo|v+s{Qf&3>f0RLIe z9G3tJ%jmWtzajEzy1@3s{86)Uf6p|j89OG+NjJgo4aKgC#t&>MxuTxo^fHAu0YG9b zzvrjXmi%F~9W&VyFfQ(`eFb=g2TYX^bjGOQ+k3wkrrpVO-^n%*fccfeI zI;MX1uDc-t&)?B-v+tZ8m~zqe4A=mG+fD4!=(NX8@GC$|v^mQas$2h13fuUcJ@%D9pX#jv1lWWp7G{TtS4B~`0=10$q`~{$c*JX{Jt03Pdf)|#9FXN^b!8GGPCtm zFM|u@eeN%}bxV&ka`;SA$%LM$W=Nlu0o!9mkS2l((X>lO=^+6R^|;;8o2rrcFU>(e z1f_B_@&(+!H`3uus5jbmv!FP_wB-PyA*_bvD-5QZ)nbyIPjUzlw7kZH5TVYz#j-w5*k z(HlwM9-L)l9laGE!B_z69@MvF51}`(8HC|sO?V`b?xFtCC9#MKfp!7_g6>XM@QY@p z3lsAA16JtQ-NIva$V1|*%R;TA3yR2<$k9MblPoq{CPnwLKem%DmGz{unBJ$;y1w9U zMaFV&vCPg?s!Pc~%MSVE8-H^Lf{J0D4d%Q4K$sO#GLO`<)_B#HUEPVd_IH2Ae)c~1MwUGr-ya&m z6#G}rKlqkj@x%cts<|qzh}72}TvB04ZmP&Tr&EY_;+8Gv{jiP4My|1zr$$`hN2_#< z7n${XOw`6W2;)|R*G+j796?>ZvwCD06n|&JdoeHc9F8uq@uoI)2{wSZvy4g?7-IUocBTCFhWLY+^FjRv*zdKjC@&F@zOrLD7SHT2 z5hn#^ibKqrP@iA|+~w){>zJESEIifA(C2aomz+8xOy;Z zsckL;%Sf|`-E_1n%T9(swHVuAvx~Wk935Tui&3PLXomcNGiUJ301o#PdNpeLs~#E6@pH{L^f znw+YhhU7fCi*$kuOimr zH=ALDe~o-*5rR_@cO?(%5B#P7{!LnsLlB7fcpr;CbN8n~`$FgF3EtApWhpllT1zhs z&c~QA%Ku0qRHwl^Vzzt{C5NI z0&4^BA(aufNnLr(KyFS?R9jnGlV!uItvoHWlG=JUnV;@QXH*2s-Q>0)Cv%boFEFN4 zbku~xTq*;fBKWj~N7mSj+oTpG+3ji8OgZhGO}dnztFsK=7s+n|O|d`GQ>2eV?LRyp z9+}<|??=7QUE~0HirABUC6K=b-}zIqqn`MdwIh-IG^gp9m<9f6fqGigl=3KIO4@`l zC8DVB^|%%D*E;hl!ugBaYO)Hf;_;>9oWP9&$V#P?p@lPuS# z$5kr6uP4Kd7B`{#^^Gklf!88>z@^wO(cOfn`@)FG*!9&%nJr`npJ67R?@iEiTu zI7CzZU?2O0-{_z$vUZo$(^?eSlemd4o^vja(IvV8_G~=!To~_51x3AcyAhd z{7=P|3evf5MsFUL2#?;?>D86w^W`-9e;+Yn-q`sv~v>Of`= z#@<<-(z406&CP{Q+tcbFeAwJua;=i^2yL;(*fZw#BL27#Sm?%{JU(B$&YvIaR4N}- zFIOMYT`s3iWRoxC_vYor+G~uI*AecDjeB}lR6|U6YmktCF}^{|`bq^)vtY~!AM{TK zHiIll>6%y(;-npQw>U0K8bsxEbMuA#s#upTq`2{jRWCwl%6?8)HFgZ1Nt$FaVI8$- zQ^aR-r0U8%gRixDtCpR=yf`M)GAo;IN0u!fZL)7-d_T>ny%pnO0GBpkfb2xNB_lfP zZ)O-nEkSwP4Q7CZOvu`b5d62gLn#9(A4;yHLA8VJ$qmp#M(K8mn$dl?4PFQB*+~kJ z+4`;LNaV148{~!U8NKI%huk6^cXIX3Ujv63duDhOja7KN6#;u924mcm=`IvmKxpOe z$(_|fTplH3fO2s zB*8r_g_sFjc4=npB)Fh7f>aPkv*SPep2=)4du%P{Rl6ULVr#+0{%JXzyhj(1N^ zNBN-gLB*GY7*qeJwq) zouME00js!M`DNh8^(b8z;;sCedMuOydiqm&agQ^xE1?sU;DyVH@-Os)tv~S_C!-(C z-S{=EhGJk%KiZ$(n`AIHf8fqH;Q}@g5jYoUyZ$?|4&(99t0x>jq6hV(ry(D?|63*d-eSB$hzrwV+S$NuDylGjszqnGxy}di$g!F7K>L!tXrcYwgu(>uV}oR^m_VRnU=zTY5?2}NOFki} z4rrfIT4_3v^v>>r@kDbO{|oy1)C`Ga3VSE)>rzB|P!1#F5v5773aym<^@MSTJVE#u z-6_e$lY>Ak(~Gvl94lf8nSV_VAx`!&+kQybUGPT?thG{oyam_|i%|j_$@V+Y_8X{k zz{&oYv|~*JSOO&8z#dv-x|nfXT)dcNqYV_`=smrjK>oM(18w&1K?aW;Oi7yINA z55rKO@{N!%M55BXC%qW*;#thyJ*b0oFh|ULQ>)D5>5rS% z)FSil)Dn}I_(St};`dE&q80X2=5eeio=LtNGQ&qP$E`Q@;B!9O*l#5_m>kH&t*J`W znx1M}lYeIN6F-7{HWzL7Im9c%yo7I%%iAFn{650fCHI)MvbTVAAB`_I&qNq~O7{UC z1-=h_7w!+Ezh42i(DZU9{Ttr)XEctzyTfrNC`+?f`sQaY4C5^v`{8IDOoiW|XAHyurG&L^=gp)mx z_uCk6IbB7jHe9k2Xt?9h#^WAq$1zdTk((3$uv z$i9DtHPg$GgQl9dB+sC2z616Tn|DAa{Nv=Wp-gBK$mj1;|7hN4Q|7JqMf29okIkD? z?=er=d(Goh&Z3ULXC6)cwRtrClKIv2EYl*m^XE-V>Vs&1UocN4zhvH`zj6WV1-)QM9e6QYXz*>HlbklMS#RGRgFMr1ukiJ8pgl>)uE09^jaH zH0N!g@geh6?4i*d^UWKFlJm3E(*xP*sq1EW>SLxmv)w#;=LgJkp!=>L8;o-|e%_@6 zT7=$o0_k4{JuT)b%qi~`+NE6SLD&zP;nZQXKAoHWN&K>T0{#Ap__xjPrjD4$F!n!& zzWm-P@5UNwrFp_OnJ02u%oCYP^FT5iA+-l%rf2Uor2`d=~2; z`PPg0f(G-%lrO;j1JE)Hd3^`=oe|Pcnop#@2KyHCp9r+22a?xKnE>T{LVz**fhk*~ zxabQ{q^83DHyBf2Lf8+OW|X-MV_j~h+!UqWY^KIPY<>}#8UJB+OKMqmOZ?zyQ)+1R z-N_rE70A5ZOillJgv|HM)YJp!{RrP=uD<+*sV||tMVNoS7Ar}A4P(#OOegG{fO}x? z1J1&}8Rkl{Cw|vF7>}C=(XX0-2SMBWGH){Pf}HqZPMvuWW6}FkSAn-H-iqx<8#v!~*JhPX@3+f&Wx z4^JV_zcBB^{P97c6j%hb1C_wLfLfp_DSP!T;N6SnL-EH=%alJbEji!Ac=S%wa>tiI z*U!Q4KckQR(A0yMEmL-z`YHd_)KA-oZ*x(me}Lap_On)C~ehm4(3;BG!`44WPoZ_xR7q)JR@Vi{zjQnM^^0`v9>6Hgb!W{*d_2j+EP z0k8;twky$qwOcpBcbNjnDRbjbLsnfc=Ya9!2(uWdguMvn9*LiNI-(t8{c4n>KD8X~ zC9PVx&)93+7~rVF6_{&k(=Wq5)htNXV+=fIa?>v&okE}(G3D{(+Q++TyLAU4# z^qEEJe7KWHe>uY6i!l~)F!rrVu0j6oj;>;)Q7Y#%sVlIzpd6*>GreXe#;(PQXI&n3 z=?&n?RI|sLn6<_{4|53U1#*FAV83DkzCR0GfW05)dEiWB#1{RQCa`0ow};D6AXcyp9?eEK9|Zii>1 zbj{Hy9cK!zE7ToJ0$X4ofhlyE2#H4Ic?9NEnBZ@`9p9J3+yPU{-3K6yX#6KcrZRGOP!dkIz3*<{^IZ zVPMF&yRo*%Hq)!^Z(`dCal5uTNxO9U3{KKMgEne5-)t8%g!9`rftI=BVRlaNo7mQ$ zy}9kO4NAR+?QG1>wsd7YV#@-(o=r}VYoZzG?>W7_S2JIuUZ3cyir&f1dVDvT`EqVc zcf26`o!HUrXGE7$^ckt|G|^Puz15MK{gRshP0g>!8Mx^EOf+w))2HUG&K83+;4LmZ z&GGtuG-s=M_p9moO{VYX&Fu5)zVkKf{Y^NdrvBfnnR*^PZGt)HR=R>wU73XHI?ajn z->`1EmHwzRv){V?_t#>+YWpjV@|pZQXe?12bb8CTt?%r&Zux!5YcnU-4|Nn@%^at% zIf?1?W^RKq-Q}+ApkfHvlRA{$A#i#&lK`^L4q$tFV|It46X;icoLeIGGUC0Q-JVHj zcPKi6{!BCM0C?RCbf9luQe05%6T~~RJAmzpUZKsQ6X;Kzh8;*wrqAr^BYOnclbMfv z=4THBdx3pU-{&?+=Og?)U?w0sQFD;i?JynrOwaB~k0Pw#Mc@U*EssFHlaJ&J%3P-7 zR2lV;sDtG6kbcH`{8{VeU#r}=r9A-p-EQDwWM*FyOiK3}&^-iPkM!2`&cmDt*_TA; z8`ue~Q;7SJrg<^miS{H2;@s2@);oQrRdn-SL<;2-{WzgPbm$_Ob(8X^AbU>q>A<6N zqEDy#ZlZs;H>olmP0R--F4t9Ro&J=&XJW8EmYwAA&)p>fF#cSXI}H{{4wxm04!QFo zI(uU}oE>6E*gCn7qNq>uZor6X1B9M^aPJeDSM1CO?s+-e%slFbCKs8;*mhGGKa2I| zRG9q$(gQ?xx{`Pr>pRht1`U~YCM}RK>2(-SL2s;fv_S8Z$i0jEfP3@~#tfxR^g!nU z6+~yH<}^2 z*OI#I?hJ`uVnwFitWP(%yyg?KCYsVB>j*P~Ff)<=J;_?rnx1D01gVXtAif?lmeb+P zjv|dSsfC~o<56NJWRJ^c5Hyq_UX#6S$`eJV0`37|b^Nf&gSjES)3gKk2Id^#9(B(N zOu=R^DBE6?d#~B<;n=$pBr;anU^R=CZT=vE%-KRx&rRKC9b-@WMm zv?-njj-@x6JOR?18{Ui4vBk)pJGtZK?s<)vnlZGPL14kSyL567Y^J*hbTCnews;a) zjxZ5g9j2NU>29o7&zcpmm%v^Edx_Y`u-w!N5>2skXP=Nq0J&pTjc~JX6XsU&ZuuQ! zfWuFj=BpxeI6`t~Y~H_i+K%py*M_mW0LJ{ABhVl1r}s6WF9h0yU>=dkHGKm0cSto& z>Yg_l!Zxpddr{8T08!Z|wy~C25$63ags)2Fy7Q5x6QS|u2~u^YTd_jm(m3h)nsYkB ztMb2jJYFrl$OgJE=Ab-5-;CJ^W^07ls>CL9Dnzm+9#6Jp1Jkqs!>k)U+sg-*r1H$X zbRo(Wg=qjJ{6(Z&GG z)Gti8P5ml$FMi2{{FmsyeqZvtkomrA-lzCLfEmEMli!WaP`nB5^J@MR%-2VdFgKwv zNbfBgN8MxbnJ&|41ilS-PVzL$b=sU%llGHoGam4hHn9EQH{xx;Vjv$#1B-w;Ks}HL z6k8Lk1Xclsiqc!4@87;W|L;X|B>Q}X_;mDx{jcs8llJg?81AR}J`oec|9eHqpIEcH zn{*};vcx)%*dWZ2)M2y8;XLF8Mf%>D&FnJyKzU}s?92?rD`D1% ziL~WByA@_P(3sq28WOuqF4hTUkWKc8iFI>lT69TA%(_&o*$TUa9S~sMzwUNGm_CM8 z3<5jTqLXmbusY*Vt{QHnR|G z6PW2v)0}?MEX6vwJhk3nJ}|>TE#`%#YTq24gHG;`HE|2lZb?BNLRu{o-RTRaJJD>K zlLwKHiI5mD&nlK?j+^exZd2*ZGiGYK%B)FOo5FMrWVMw}#v4eVF};~`(~ot3nKRd+ z9*!gZ9LRo8o6_{XrYU`o(?Jnk;=J@M@O&oxXTY?k3~R@-WIJS!3dnI=P|nq6X}TP3 zp%P&P)mY=#!Centp?!dcqVxgKF7{#YXcfY2N8ZgS*Hy^a#~@daBJFCR)-0yI z&*CnVd{aA2QEJ$frk0smsm*3#dNcf20#y$6_+F6eH^t!j($oMZ@p6<|^a}POzZ%qe znOTy)Zfa1r#SSwRrKUVK%PfuOo27|rU@rJO*U9&l4$qoB$$H3O^`;;_L>Fv|ttU4>OyhLJ#5yT~uyL4iIj1dvS*B;xeNh-WV>Xwp(_2U- z5ntYr*`@t(4Z@2Yw+Uzg(yBKA+T~0?c16#tpM!Z&&!JbT8}g#8f1C_>(z^3z(*qn= z`go39VIw^Qxpyh&!N($=#dc`i=c95s{|!M}S0n$JthMB<9Q-pcM`>~G<>b`LD12i|r*ht?&@;C)-1O}q|ka}~FGF^!3%F!0rG_FPG-@-qsBPpAlZ^vc= ztE2Kbo``mVH3$c}VG#HnS)CF8p#lllXn=zeV#CUY*c9fH>NEd{EQi z`Tk1fjnr9F1Xmw<+6R`{NasP)S{7hk0JI}>T6uL&>Dn6k#iT!pF2pwFtN2N|`=c;9Pf77$#qo%y%g$RjpgEj0cHBQJGzzsna$tVH>n;^+CI;QeH^Empy<=E&Ko1QTYGkUj&)^r2os@!SPt; zMVUinJd`%q6yV>Q-k$|BMoYhvJ_H%W^(mQ~WxkPq)Dx7mXA-ncf=W$8>?Mju%}Y#~ zTdLJAkomt^(HX^cdZI-dR>rrA3FuaO&njdtmT`~sT-9w*eG7DHniXnarg<;dc&h{S zYFG)QbDnbxWKI;>V@T~kZF{;MnkRvbt1Fe~B73aRv@4XK1xl~T#XB{>A&n>bZ&j?& zI_(d_ZBt0t0}An%@kPexdJVfs4KFfVt&PSVsXrNSstjIEmVO~}Lx;ADe)VhBuw@#qT6y27?tZ1EO=<1a{DihbHLI1TUd?-{ zw#7D$U#_&3YWX;JaqMZ8jiA{q;*`&vPRRYQJ$1)xFZ_BPa$QO z_0L+(kMcu3|Leu72vRvt7J89SNOvos}A5@pY5zJpjY~j%yDe@tbf6X=DS4c z6Q0OA_lSnAQ2Nic>pHPb$~srp}lRsUlOEJY!0neY#nYt~c}D8NR#~6u`YtL`?clQTBh` z;*FxhvA2o%F3}`!61jLtSK_%aTTDsp#q8h47ia(0y|Ytk`r}KoqwpL3*LJ)2axf2# z%}Ep7@{W((e@rdRj;8MY>D}&)pJ9FLXEIaX_*t%R{lJtrcrvSz|1zZ20(yT+w|l4O zn5m-4a=JH_PDXDl$-6z^?P#JM;kTQm4$EN&`BdA zd`lOZnVB9_LR!XXYBEE~xn?N+E|W~BO)~XAv$IpXfLoYTc9@bWkD^`8&5qjD=nL{@ z6zuMep*mAKR;SBMr$ZI`t%TcRN;7?M6SeSP2mfvGXV{71C%ALEOlMAo=^1CL{fR-cEPUHDC_n9Y;U7>P>sv zBQqM9PkE#sf#26Ar_ZH9%$__<&L-q{I2tP^E#t4i%)PZKWt-CG&2$~|+7W%97&eYH z;~1mj&DqhZ`KEL#>fnwX;686o9RN0Y^Ny9k;LYaLi@-H+PVBQ&c4XTGIW_|G%Q*)8 zjW=(~uN(OE&E`*=-^BVC-Z(zZ8Q(U>g_{#0zSs=O`+P}v*F08u$LGMW517uW4

    9{n21Fnu!_9rNN+wCwDGD^95+fPN4@iddz1b2q4=t>8G&TJ! z)i*!6%0ma53uzOO*0m~;>sr96mFM)?^udNjmbaILT-rWE4pbcpvbSN=Q9`-V`g82{ zxm{iNNQ5{J4Zx73pU5ymYG50QKQHBvwBN|xl`}|VMUl&TAhciD0{9epKG-Bg%yNal zjK6D;25-?x%66})K1RmDl>Z_ON+ml~63CAAWXujo0*G@$lJp6fW!bMIe%t?*g!)|` zp+_4}%uAN=NCb?&M32sHTq4+ZB*c*y8(c!{-bWTDUCx~hiedEhU{Nw9+J4b#Gk~to z6@J0ynA+;bQK!O;@F0J?jyABfoOPwD#?6XzS%TsyxarI4Pbws!oF{kd_TM8N5&*B`F=6Q_C-_ELGuu9J&TIS6S)Fh+NnjRQv)_63ClOQ*Q~f(LQ0}SnM&Wy&plU(9i*>*TD^C@bxWhSMRo~sf+bJ~D ztU41zaGV@`fOUp(PZPdLOt$yf1Mb^ z_I*EYC*AxZPy3zn5Oc>tZSauz7rhN+BJw?nE~cNU98VCgTHdfhiePVLTq( zBcv+Va>x}_@`SU+VqDAQ-wK*12C0VU{IC+^-DlBYp8sL@3R6X_c3_V1IPiospVp`O zD%O0jq{*|(QG%VB3TrmUt%RP`Og2A$@q^r*6)Cn{l*!!KWllNI8O~T)a^F>z5!8m2 z>?BzinTD&bf$nNox>JII8oOIV7-$~5nK8RYrNpGjbFH7DRXFnVtZf(WV&4JDc8PdZ zI(1aJgx2g`j9igI(Efsj01#j_xh2YgLtYRD9?iqz^_{$e=%c z94R|A1W9%am(gFsZ607T9qzO{H9|D${a$xa(e_~Bx&8pVkRaLr&uBR7{~sF8#?JA- zXgC`)Bm4hB!!==D9hZ#^?QmQEEM~;mL zL&jerV#P9JE6;V;9xI?j3kgW=C|dovxw_~&qYhf^bBr9jC*Qi(8*eUr`N26Dz=Ynr z4g|j=LX5*Y3^jFK-Zt?2RPKocy8G*8%Q_r>7n#ZFx?Bf&y7%+4Qv}}WUxvr5TV?3+ zE+M`NJ_3jpNbGhR52Da9ntY1l@-NO8xHii3&a%0!_E4#ZNuHJ-zU*A=zER+=(_*dK zly_YoNzPnygr>yBH)FlN%ZQ8}7G_>>QgkKAVAm@gB5CzV( z6^9r4`GWN1x*P!j=cl+suI@DNTlIqViQ`!isDI)D>YeLS`ba3bz)s`r-lq|ovz+%G z=>+Q?+X8>R0AJ!gt06mO#CWsCfiqa&SqDTU9NYh^^mGobRJYbt zc-=suq`P~g)V2s5PSzQUXSfkADa|M-q3(ZSbTC*C-t3!#bK?os_`$aM1fKigCE{So zycW}*-bi6xP-sXo|BiX<4p@Nph{a#{2#U&K7wfwk$lL1R%@dqwKopOP49eja>w7u) zEC-f;XJ%%U&yoMFM;v}y<{hrOF{5a{H@%jorEm>!LUy#c8&0jh$#Qb7MRYVXr0b*6 zc)C1V&e}a%2HRfZP58Yd%+2gJE-CvW;Wm$$JuzN$2SCQ=wY<9&Q{`@#d=b3{WV`0Z zg>D6&mi0ZD$&tb@76{unp!Y#7!wPF`v)=j?hOaVqh0Gy9vrGuz+v+^F(S zl}DyB4TNJW)nzpjxeguX)n~<*(`?EWOi~E*L%))24?O`6*q*4ocrX$Hw&{h3hBp$L zUvX-)bp-#M$($))YMV#)xVuXDCyxWrbdO$Yt-c_nFwdHsAD^oNwV zuRL&&3!EegRwj0pikF;i#5a%*F8fOUl1kv!zu+CWoTk-a_Av$)BX2&pU}6iE-^TkL+Nfk`)x*?Ui@=LhQ@Hx$X_V))ILd zuLa&Ym$ago7@Q3-Nz0WFv>RTs#r#jrV5{p8oRTnPop-U%k~VSj|B^Q6{RY1_ zXOgboYn}h_4nPdeSX)|KkO#{&)A9Wu_XP4c*#vY~C2eK+7QsWOEZm*Qq6xf8#+?f0pFHdO8+ z8SXX;fI9sT4)BWfS8u*)i~qdmeMZ{F1z!-@Fki(G_%K8AioCaiEupBXv{`Hwo1Qrd zPPB&XN&bt-vcjJMCtd8r z=OFS_Z+SDS`yDVgv`qKsNePtu5yO%tg&*6hgRJn4tLRHWe7eQsOUbttsgB<|$jyEo zB@P>L!0c@#WxorwHsc-enwavuQWZ>qS~_@g?QqEkgyQDZG;0Rfd~pM<%`xT6HcnB{ z4!{JN)p&swvG{o}Y;a_RARIB5`Xh`y|-;!}b$sL8%_@1iAJ6_Yhb# zM6S;l9}_SJu+I&F1+Jwv4&Q3h&FmVzp`J-vf{$Fid}vGHAHHilPg!t$k87^lFEY#S zc^lg7;C05)h|AK-kTQ1YA;hicter5DtCfq_wcwZvZec_*&vK6GPfCT(YBxTPX5L3c<+$$S0#?zJB_pJxNxh9j?sz> z5X{Vf$1+Gdarlpt`G+oF_N3Bxcl-sXS3ZaM-xD)G-Fy|7TQutmEmj&bmkI7k?wPs& zWT(`-#%*m8L>K)5F4Xnc^(vj1U6wys-qpK$WK|#BH<#H$bdFW-h9| z%0NJ$&S`%<3N(3R3Ea4@u1W5cWa#ZRuE58v3<@OV!eo=Vc4vuR0WJaOfE#tA_P#~y zb%S*SGsk8R4sMO%5b7K{-@>tlDB)?y>jf4IVAg`78`0!pNHg5%Ra{Q9qdna(S9?VL z6a6v#;i0dj4Q$3YPkW|&vcb~bZZ|@_fOqWhXZ5f9qiQ?N`|Z!$WjSi=u6s#pNqDVi zo0*3pPG^>f8Q{&@@Y~1TB7~=nW~a=KR!voDgk5W7m?^~(uLwU!Ck!(^xEQv8j~cI* zKS!V#c7QF(*?lHgOCCtse-EynJir+a;9a4rcEcZAJeYKQldp}+!=X}!=}pwC0Vl>p zn8v71WZ|_~;dPKFdL5SBD?QJPy47WibCwh@JSPVSR}+_e9#B>K3)L1&j;HXaZcblb zh*t(chF?y}oq%nDYa^ZgPIU}*yr&FHR;Nx*&~5Q+1D(B{Bb|d22Q*JmuR>1juT>`2 zwSA{__iQiL_wM&d?#XYyh_xiAl&U9f$GF+#veaQB)MR6y zg5LvPzPg9-j^5W=*Sar~oLVpPoz&b81xO?IX1ACsj28XY(ddXRB6_{ z0uSgu7n7^=Ip3Gtw*#fai)5&{DyjkAia$Y7D+8%wdyebRPI_aYChfWoL`3+#IyGp) z3F3M!i2Ua%o+MK>OMMm-Ru1kV8`YJJIc(VqiSqnJ_`jl=YU&g7ZUbIcD}}0?O|xz* z0e4Bg3pA^&TD;%3bIK9Waw|FHX=p2SW;O13eSKT+H4j(RVsv*Zn6AGk&2+v({D$f- zZ(0AtXLTN!CbYQPTIv~b4OgHMK2bXJraDtN-?|)ETgxVzhg0x(q@>0!kzP+K`-r@z z>b1Lj>?OQ7&(nA4;_f85QBym3608ar>oJ$r$d`3O%VO;0GuQ~RmD^ccWj1uf8(FZM zAebh(tH!D!;1O|r3eR7fhMmjX8DroRg^r*A&3fH%C?3Beqv~p;-tHB?&CU8kmw79d zz0nru?J9iIEGCU>oLcMv9oHpvb_M($aj4c0NyCbB4cs4Y5Cf{-!RqQ!r)A!Cm&hl* z+jT449^kGEk>J)=6`4&*s%5R15)J45noZUUWRG`Fka{C5mgWuA9jF#*&JAN=ele_! z=~{^)B*rpjHN|TO5*mq)4buz??2|t&xG5c7*&DpFlk$VM?PY5EIWT*Q(Y3i{YGJAs0n?V%+cpxG2?RWs8mx$Rq0&=nL2%r7_K z^obmNEhZYS8m(ahe;y52I7=+pnjB2Cih<^Jcz6Y~XB>y7>5FpY_FGs%B3ZO1!fv4x zy}N#czr|t=F~S2yWj?`6mzDOzoZ~`O?DWxw(u-x|i)EP=O_hdBdNb@h!zzY}a!&PU zny=UG7U|HW(F+>HOp~UlX;nA|jULB}>6+1==D&Wg(;P!DL*KrYydzanUL&1qwK)M4 z7w9uBMSCBL2)au8OS@XesLhd0RTR6Lrua9lKsuo;fBNdV*oIjvZdsBk=^QYU_ghD# zst__1-0oD23XFf3J6y zzrzI&lYpA$@8QIhKr#J#;!M8oJ=Y>@@ zTe5fQ_x(`FC!OpsLvOc^t=S!?Ays@(MVsF;{FH3qWP7MM{$*TxgQdKFfZDUWWHao{ z+#G$=F@7eta@U1*_$!b5RB)+OgG}G_&)cC6;|$jwFzH4Z`d^*KLgy_*+#a(l?d9| z=&ISwZ9NYuD_(RW@5zTJmk4zqapWL?_uG0pRz-2 z?6^9izX@~*kpg$PiGxf}=i5f*lhrBlzHZrAvgR^TqW`5xNI!7+LP0UIHyIz%wiG@&U()xX2(B1arV0R+*?Dyp9X_^J-vOleLb7@aoGd%?8q zqJ8fH3(PdDO7dZ zTPi`GYeAT?*&ApA5sL0b=Rm`DX8c%F4tfocDT)=1i>09 zY^h-&ougz<**v&R7&7(g1nHjz_J_1@L=5B^ixVTE+pyy?=gUnC?j=qz>Z1>6#>&cz z#aa?i*wULir87%lDbNzdhWrVZMdusUVUxQJ%2Vs#HrG_qrMB8y zj|m~=@*@v|4I(mIDAd{@Lcu!5St6?AjvJgxGRnf?7WbPI=I&2~B_Xf)Qz_t=M?{ft z>gFA@S|h-LdTUU2$P~FA>lQH*yeqtfD6-k~m->lWu#b*4rt|SJCLC-oEV)wG z@|S6h9uU$Ol$c)X!RcxzZ(z56eRGmSO=rp8fafdn^%-X z1jp!rRUo>Yn{%}y8V&v%MqFHW*Z3(=$P+(^Fd|g`JKML2#KoA9hb^k02*}^fGyTPZ zB6YC1p|Uo=CPW{+=MO{lj3c708zi6cVafG-`6*}!Q>k;=p}4djKLu<)-Z?{?Lpy75 zN2(XZ68Q*3&CtY9;P-NeBvQJccZFzCBfj`s6ziYHbC!uawmAQJE+{(yULe3)5-4Ox z;j2UTEy{r+ozjT_@3-ygt&2HH)pA6!_lm@r^iAO=Au$LEETzPpepcBGD z>5cVMiS5a76STSRUq+bmU6|fiC9}1s1$&mB2l@&xP_%?DVh+DrPoNW3n~USeWZPvs z3Zte!R-QpwEv7vWdOZT08i4qX#MHWf4f=g74990YCXCsqft4B=+{l)`!O&sWk2vqv zSI*doAkn||GcL-%!^SLp1U6zSJ6unY}e? zznEIJ7^b!7V@Q&{Wc;B|I{SFfxG3DH(NH8Y)nhg)jIs0>KZq_n{tU6$5}vpWdiIwr zX(y_(#+94)0+ky+RrQBW8V*Z7cria&xy=6qceU6z%oM8fG8CDL+?^Mz$5=gx>!-+X@u zX>43`Hg%le#Mp7q^|^zD*W18EE=$#09(yXY{5c_EBlWWS#_L))Y(u$ouy$U2+*xV( z>`&Y^_u8Hk_g09q(3#R+9{GfPi3F*O{wcaFGOqcvK=FokzVE?K&7$uZ(b z;+whD8Hj1fL0a1}ywV|TG+pR9b4>ZfxR8J7K*;%8uhjG`B6?hs!yp8o$oQYQ zd$Ir~&d+u`dxuZ@9^?OkC{nbnSHv)fHXf7^ZWVE9;_bVzM8S2pXVYqImT@bHqb-$lI2zpA3_qt#?*je1PYOT%6p zaLeA$gu8iY)_Yyt#whIt+98DQ2Hi>G@#~U-eu$aCLIoWWes?FJa z{wIIij6s547&u&5(csOFkUK8T8fesKxt2i>Z@RJL;lK;&v0lWI2uv_)Q!sEiFCiHN90WY(QpX6t}F&9sER0{HF$x-0QA^ZsVT9~k- zDvUgsA}Yu0?x>caBG;PL5!H6W+Cg>xT5F~qz3=Qb?WDgrCc|q+7^NW>uCTPuP*CJ` zJsCWr;;#Gjb8pVjtI5)3BeNEl>t?3(cC2=JGvs|yIQU%?`ZE?)w*ksI9RrV?c z6jplG2M+mKPEFx8XQ!jKqf%fQUW!*y`lb}Ptnx&Nuvc5=7;SjjSp0f1@YZ9SLS63u zW;$1xnb`I0)@kY6nYIC92)7v*ygy3T{YrRsF&o+IS&TL8r>~azW0|hwE$0Ua7suV+ z^0x5ybDL9~wyhr~13DUORZR{ig|;Jz#o;;%$t&{7Am7$Ri{ifDx9TQxweL@)-aMh5 zZ~V`?{+)hLnCDQB(Z^bPQdWfeMUA)jLFN{X2xo2|T<_Q`cM!#y^k4?<&RYrsiHox zN)jxP^(y@V#gnxh@d_|fRJl@+!9*Sj{a2M3*R+2QQP|*aIqOM~flQEIhbSWU$rhQg z-^C3G7EwhCbt*Y>7g0R)30CQPcgk7zlbo&A_)V3zS)DW#Zt;NgNi_@%qo6ETR33nZ;02bex+%@=a81S5UCC zudZz0n7F$ok^HPwAThzN`4O4;huM<;M%sIdC@Un@c+KJ!c zRs|^Io#J8r<*C73sB~#QF@nb@aE%GW9PO(`o8Mqgc*;v9Z zPBjWNo>Yv1DS_ID2+o}92*ntDN;vr=mx0iQTkfDyjMFgx@2Y4>I7lQ5Y<(ws3GrXo zCj`X)s0Ul7K=DxZBL3Y9pwpeL7$I#?pe?tigWYiKbLZ7)?yRzP)b<#jTB^p>#*eH- z>Rg4L>5~K5*vq96)xq0Ug}a6?3{UvRPk_ldy$H9$En&;{n| z@c6_@&~ut!0qje-B^ui)0YxW%FS8E2l-s`I@s9#N@J=tZ=ls{b+8 zGW|Q${x|m>zzk$(_^+rdW8|P`sOO-^pya6U@J|?4m-+GUsLI3dVxwnZVdMbNH!?8; z@e*IObrA#140(ywSY;SxY=n(W%_Q9HjFjADl?~i13^)ym`T5{@T)14UY^**#16-^u zLH1lOyu^Bj*7` z1~B~73&X#<`5YF*|Bma^_}?e{)DPe#w)-6Sf1Enz|D8I(e@z&GL0!?v81S#ubejYk-00t#9H=|Dj0AP?50ci1vvWapCivT&q*hJWbnFW~` z*@akvKu!@MAr4WYPm_;_1qftf76GyYfy^Q-tStX^26BGZfh=sF?W}w{05||2AKZWI z6~MV<82kc*5F6a#71-{#{R)PJ4{`8sVFb8;s{hC#d=3Brfcv~j&(6Wc&d3;!iH#kO Lj7(Hc4DSB{6ns1^ literal 0 HcmV?d00001 diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/sample.docx b/Examples/Resources/SampleFiles/sample.docx similarity index 100% rename from Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/sample.docx rename to Examples/Resources/SampleFiles/sample.docx diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/sample.pdf b/Examples/Resources/SampleFiles/sample.pdf similarity index 100% rename from Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/sample.pdf rename to Examples/Resources/SampleFiles/sample.pdf diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/sample.vsd b/Examples/Resources/SampleFiles/sample.vsd similarity index 100% rename from Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/sample.vsd rename to Examples/Resources/SampleFiles/sample.vsd diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/slide.pptx b/Examples/Resources/SampleFiles/slide.pptx similarity index 100% rename from Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/slide.pptx rename to Examples/Resources/SampleFiles/slide.pptx diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/source.html b/Examples/Resources/SampleFiles/source.html similarity index 100% rename from Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/source.html rename to Examples/Resources/SampleFiles/source.html diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/source.pdf b/Examples/Resources/SampleFiles/source.pdf similarity index 100% rename from Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/source.pdf rename to Examples/Resources/SampleFiles/source.pdf diff --git a/Examples/pom.xml b/Examples/pom.xml new file mode 100644 index 0000000..3e645fb --- /dev/null +++ b/Examples/pom.xml @@ -0,0 +1,77 @@ + + 4.0.0 + GroupDocs.Annotation-for-Java + GroupDocs.Annotation-for-Java + 0.0.1-SNAPSHOT + + 7 + 7 + + + + + commons-net + commons-net + 3.6 + + + + org.apache.commons + commons-lang3 + 3.4 + + + commons-io + commons-io + 2.4 + + + org.codehaus.plexus + plexus-utils + 3.0.24 + jar + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + 2.6.4 + jar + + + javax + javaee-web-api + 7.0 + provided + + + com.groupdocs + groupdocs-annotation + 20.2 + + + + + GroupDocsArtifactRepository + GroupDocs Artifact Repository + http://repository.groupdocs.com/repo/ + + + GroupDocsJavaAPI + GroupDocs Java API + http://artifact.groupdocs.com/repo/ + + + maven-central + https://repo1.maven.org/maven2 + + + + + + src/main/resources + true + + + + diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java b/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java new file mode 100644 index 0000000..96ab6c6 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java @@ -0,0 +1,34 @@ +package com.groupdocs.annotation.examples; + +public class Constants { + + public static String PROJECT_PATH = System.getProperty("user.dir"); + + public static final String LicensePath = "C:\\GroupDocs.Total.Java.lic"; + public static final String SamplesPath = "\\Resources\\SampleFiles\\"; + public static final String OutputPath = "\\Resources\\Output\\"; + + public static String INPUT = getSampleFilePath("input.pdf"); + public static String CLEAR = getSampleFilePath("clear.pdf"); + public static String ANNOTATED_BIG = getSampleFilePath("annotated_big.pdf"); + public static String ANNOTATED_WITH_REPLIES = getSampleFilePath("annotated_with_replies.pdf"); + public static String ANNOTATED_WITH_REPLIES_NEW = getSampleFilePath("annotated_with_replies_new.pdf"); + public static String ANNOTATED_AREA_REPLIES_5 = getSampleFilePath("annotated_area_replies_5.pdf"); + + public static String INPUT_PROTECTED = getSampleFilePath("input_protected.pdf"); + public static String RESULT = getSampleFilePath("result.pdf"); + public static String ANNOTATED = getSampleFilePath("annotated.pdf"); + public static String ANNOTATED_IMPORT = getSampleFilePath("annotated_import.pdf"); + + private static String getSampleFilePath(String fileName) { + return PROJECT_PATH + SamplesPath + fileName; + } + + public static String getOutputFilePath(String fileName, String fileExtension) { + return PROJECT_PATH + OutputPath + fileName + "." + fileExtension; + } + + public static String getPagePreviewPathFormat(String fileNameFormat) { + return PROJECT_PATH + OutputPath + fileNameFormat; + } +} \ No newline at end of file diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java b/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java new file mode 100644 index 0000000..e70a90e --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java @@ -0,0 +1,133 @@ +package com.groupdocs.annotation.examples; + +import com.groupdocs.annotation.examples.advanced_usage.*; +import com.groupdocs.annotation.examples.advanced_usage.loading.*; +import com.groupdocs.annotation.examples.advanced_usage.loading.loading_documents_from_different_sources.*; +import com.groupdocs.annotation.examples.advanced_usage.saving.*; +import com.groupdocs.annotation.examples.basic_usage.*; +import com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document.*; +import com.groupdocs.annotation.examples.quick_start.*; +import java.io.IOException; + + +public class RunExamples { + + public static void main(String[] args) throws IOException { + System.out.println("Open RunExamples.cs. \nIn Main() method uncomment the example that you want to run."); + System.out.println("====================================================="); + + //NOTE: Please uncomment the example you want to try out + // Quick Start + SetLicenseFromFile.run(); + SetLicenseFromStream.run(); +// SetMeteredLicense.run(); + + // Get supported file formats + GetSupportedFileFormats.run(); + + // Get file info + GetFileInfo.run(); + + // Extract annotations from document + ExtractAnnotationsFromDocument.run(); + + // Remove annotation from document + RemoveAnnotationFromDocument.run(); + + // Generate document pages preview + GenerateDocumentPagesPreview.run(); + + // Saving specific page range + SavingSpecificPageRange.run(); + + // Saving only pages with annotations + SavingOnlyPagesWithAnnotations.run(); + + // Filtering annotation types + // FilteringAnnotationTypes.run(); - Unsupported exception + + // Add area annotation + AddAreaAnnotation.run(); + + // Add arrow annotation + AddArrowAnnotation.run(); + + // Add distance annotation + AddDistanceAnnotation.run(); + + // Add ellipse annotation + AddEllipseAnnotation.run(); + + // Add link annotation + AddLinkAnnotation.run(); + + // Add point annotation + AddPointAnnotation.run(); + + // Add resources redaction annotation + AddResourcesRedactionAnnotation.run(); + + // Add text highlight annotation + AddTextHighlightAnnotation.run(); + + // Add text field annotation + AddTextFieldAnnotation.run(); + + // Add text redaction annotation + AddTextRedactionAnnotation.run(); + + // Add text replacement annotation + AddTextReplacementAnnotation.run(); + + // Add text strikeout annotation + AddTextStrikeoutAnnotation.run(); + + // Add polyline annotation + AddPolylineAnnotation.run(); + + // Add underline annotation + AddTextUnderlineAnnotation.run(); + + // Add watermark annotation + AddWatermarkAnnotation.run(); + + // Add replies annotation + AddReplies.run(); + + // Remove replies + RemoveReplies.run(); + + // Remove replies by Id + RemoveRepliesById.run(); + + // Remove replies by user name + RemoveRepliesByUserName.run(); + + // Update annotation + UpdateAnnotation.run(); + + // Load document from local disk + LoadDocumentFromLocalDisk.run(); + + // Load document from stream + LoadDocumentFromStream.run(); + + // Load password-protected documents + LoadPasswordProtectedDocuments.run(); + + // Load document from url + LoadDocumentFromUrl.run(); + + // Load document from FTP + LoadDocumentFromFtp.run(); + + // Load document from AmazonS3 + // LoadDocumentFromAmazonS3.run(); + + // Load document from Azure + // LoadDocumentFromAzure.run(); + + System.out.println(); + System.out.println("All done."); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java new file mode 100644 index 0000000..ceda08f --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java @@ -0,0 +1,37 @@ +package com.groupdocs.annotation.examples.advanced_usage; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.options.PreviewFormats; +import com.groupdocs.annotation.options.pagepreview.PreviewOptions; +import com.groupdocs.annotation.options.pagepreview.PageStreamFactory; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; + +/** + *

    + * This example demonstrates annotating generating previews from document + *

    + */ +public class GenerateDocumentPagesPreview { + + public static void run() { + final Annotator annotator = new Annotator(Constants.INPUT); + + String outputPathFormat = Constants.getPagePreviewPathFormat("PagePreview_{0}.png"); + + PreviewOptions previewOptions = new PreviewOptions(outputPathFormat); + + previewOptions.setPreviewFormat(PreviewFormats.PNG); + + previewOptions.setPageNumbers(new int[]{1, 2}); + annotator.getDocument().generatePreview(previewOptions); + + annotator.dispose(); + + System.out.println("\nDocument previews generated successfully.\nCheck output in " + Constants.OutputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/LoadPasswordProtectedDocuments.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/LoadPasswordProtectedDocuments.java new file mode 100644 index 0000000..2b2bcb8 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/LoadPasswordProtectedDocuments.java @@ -0,0 +1,35 @@ +package com.groupdocs.annotation.examples.advanced_usage.loading; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation; +import com.groupdocs.annotation.options.LoadOptions; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates annotating documents that are protected with a + * password. + *

    + */ +public class LoadPasswordProtectedDocuments { + + public static void run() { + String outputPath = Constants.getOutputFilePath("LoadPasswordProtectedDocuments", FilenameUtils.getExtension(Constants.INPUT)); + + LoadOptions loadOptions = new LoadOptions(); + loadOptions.setPassword("1234"); + final Annotator annotator = new Annotator(Constants.INPUT_PROTECTED, loadOptions); + + AreaAnnotation area = new AreaAnnotation(); + area.setBox(new Rectangle(100, 100, 100, 100)); + area.setBackgroundColor(65535); + annotator.add(area); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAmazonS3.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAmazonS3.java new file mode 100644 index 0000000..17341c1 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAmazonS3.java @@ -0,0 +1,52 @@ +package com.groupdocs.annotation.examples.advanced_usage.loading.loadingdocumentsfromdifferentsources; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation; + +/** + *

    + * This example demonstrates loading document from Amazon S3 storage. + *

    + */ +public class LoadDocumentFromAmazonS3 { + +// public static void run() { +// String outputPath = Path.Combine(Constants.getOutputDirectoryPath(), "result" + Path.GetExtension(Constants.INPUT)); +// +// String key = "sample.pdf"; +// final Annotator annotator = new Annotator(downloadFile(key)); +// try { +// AreaAnnotation area = new AreaAnnotation(); +// area.setBox(new Rectangle(100, 100, 100, 100); +// area.setBackgroundColor(65535; +// annotator.add(area); +// annotator.save(outputPath); +// } finally { +// if (annotator != null) { +// annotator.dispose(); +// } +// } +// System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); +// } + +// private static Stream downloadFile(String key) { +// AmazonS3Client client = new AmazonS3Client(); +// String bucketName = "my-bucket"; +// GetObjectRequest request = new GetObjectRequest(); +// request.Key = key; +// request.BucketName = bucketName; +// final GetObjectResponse response = client.GetObject(request); +// try { +// MemoryStream stream = new MemoryStream(); +// response.ResponseStream.CopyTo(stream); +// stream.setPosition(0); +// return stream; +// } finally { +// if (response != null) { +// ((IDisposable) response).dispose(); +// } +// } +// } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAzure.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAzure.java new file mode 100644 index 0000000..aa13d9f --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAzure.java @@ -0,0 +1,51 @@ +package com.groupdocs.annotation.examples.advanced_usage.loading.loadingdocumentsfromdifferentsources; + +/** + *

    + * This example demonstrates loading document from Azure. + *

    + */ +public class LoadDocumentFromAzure { + +// public static void run() { +// String outputPath = Path.Combine(Constants.getOutputDirectoryPath(), "result" + Path.GetExtension(Constants.INPUT)); +// +// String blobName = "sample.pdf"; +// final Annotator annotator = new Annotator(downloadFile(blobName)); +// try { +// AreaAnnotation area = new AreaAnnotation(); +// area.setBox(new Rectangle(100, 100, 100, 100); +// area.setBackgroundColor(65535; +// annotator.add(area); +// annotator.save(outputPath); +// } finally { +// if (annotator != null) { +// annotator.dispose(); +// } +// } +// System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); +// } + +// public static Stream downloadFile(String blobName) { +// CloudBlobContainer container = getContainer(); +// CloudBlob blob = container.GetBlobReference(blobName); +// MemoryStream memoryStream = new MemoryStream(); +// blob.DownloadToStream(memoryStream); +// memoryStream.setPosition(0); +// return memoryStream; +// } + +// private static CloudBlobContainer getContainer() { +// String accountName = "***"; +// String accountKey = "***"; +// String endpoint = "https://{accountName}.blob.core.windows.net/"; +// String containerName = "***"; +// StorageCredentials storageCredentials = new StorageCredentials(accountName, accountKey); +// CloudStorageAccount cloudStorageAccount = new CloudStorageAccount( +// storageCredentials, new Uri(endpoint), null, null, null); +// CloudBlobClient cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient(); +// CloudBlobContainer container = cloudBlobClient.GetContainerReference(containerName); +// container.CreateIfNotExists(); +// return container; +// } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromFtp.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromFtp.java new file mode 100644 index 0000000..3b15400 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromFtp.java @@ -0,0 +1,51 @@ +package com.groupdocs.annotation.examples.advanced_usage.loading.loading_documents_from_different_sources; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation; +import org.apache.commons.io.FilenameUtils; + +import org.apache.commons.net.ftp.FTPClient; +import java.io.IOException; +import java.io.InputStream; + +/** + *

    + * This example demonstrates loading document from FTP. + *

    + */ +public class LoadDocumentFromFtp { + + public static void run() { + try { + String outputPath = Constants.getOutputFilePath("LoadDocumentFromFtp", FilenameUtils.getExtension(Constants.INPUT)); + + String filePath = "sample.pdf"; + String server = "localhost"; + + final Annotator annotator = new Annotator(getFileFromFtp(server, filePath)); + + AreaAnnotation area = new AreaAnnotation(); + area.setBox(new Rectangle(100, 100, 100, 100)); + area.setBackgroundColor(65535); + annotator.add(area); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } catch (Throwable e) { + e.getMessage(); + } + } + + private static InputStream getFileFromFtp(String server, String filePath) throws IOException { + FTPClient client = new FTPClient(); + client.connect(server); + InputStream inputStream = client.retrieveFileStream(filePath); + client.disconnect(); + + return inputStream; + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromLocalDisk.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromLocalDisk.java new file mode 100644 index 0000000..98e096f --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromLocalDisk.java @@ -0,0 +1,31 @@ +package com.groupdocs.annotation.examples.advanced_usage.loading.loading_documents_from_different_sources; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates loading document from file path. + *

    + */ +public class LoadDocumentFromLocalDisk { + + public static void run() { + String outputPath = Constants.getOutputFilePath("LoadDocumentFromLocalDisk", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + AreaAnnotation area = new AreaAnnotation(); + area.setBox(new Rectangle(100, 100, 100, 100)); + area.setBackgroundColor(65535); + annotator.add(area); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} \ No newline at end of file diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromStream.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromStream.java new file mode 100644 index 0000000..9c6c741 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromStream.java @@ -0,0 +1,38 @@ +package com.groupdocs.annotation.examples.advanced_usage.loading.loading_documents_from_different_sources; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation; +import java.io.FileInputStream; +import java.io.InputStream; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates loading document from stream. + *

    + */ +public class LoadDocumentFromStream { + + public static void run() { + try { + String outputPath = Constants.getOutputFilePath("LoadDocumentFromStream", FilenameUtils.getExtension(Constants.INPUT)); + + InputStream stream = new FileInputStream(Constants.INPUT); + final Annotator annotator = new Annotator(stream); + + AreaAnnotation area = new AreaAnnotation(); + area.setBox(new Rectangle(100, 100, 100, 100)); + area.setBackgroundColor(65535); + annotator.add(area); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } catch (Throwable e) { + e.getMessage(); + } + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromUrl.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromUrl.java new file mode 100644 index 0000000..6ec23f6 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromUrl.java @@ -0,0 +1,37 @@ +package com.groupdocs.annotation.examples.advanced_usage.loading.loading_documents_from_different_sources; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation; +import org.apache.commons.io.FilenameUtils; +import java.net.URL; + +/** + *

    + * This example demonstrates loading document from URL. + *

    + */ +public class LoadDocumentFromUrl { + + public static void run() { + try { + String outputPath = Constants.getOutputFilePath("LoadDocumentFromUrl", FilenameUtils.getExtension(Constants.INPUT)); + + String url = "https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/raw/api-v2/Examples/Resources/SampleFiles/input.pdf?raw=true"; + final Annotator annotator = new Annotator(new URL(url).openStream()); + + AreaAnnotation area = new AreaAnnotation(); + area.setBox(new Rectangle(100, 100, 100, 100)); + area.setBackgroundColor(65535); + annotator.add(area); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } catch (Throwable e) { + e.getMessage(); + } + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/FilteringAnnotationTypes.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/FilteringAnnotationTypes.java new file mode 100644 index 0000000..dcb0c04 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/FilteringAnnotationTypes.java @@ -0,0 +1,49 @@ +package com.groupdocs.annotation.examples.advanced_usage.saving; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation; +import com.groupdocs.annotation.models.annotationmodels.EllipseAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; +import com.groupdocs.annotation.options.export.SaveOptions; +import java.util.ArrayList; +import java.util.List; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates saving result document with specified annotations + *

    + */ +public class FilteringAnnotationTypes { + + public static void run() { + String outputPath = Constants.getOutputFilePath("FilteringAnnotationTypes", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.ANNOTATED_BIG); + try { + AreaAnnotation area = new AreaAnnotation(); + area.setBox(new Rectangle(100, 100, 100, 100)); + area.setBackgroundColor(65535); + area.setPageNumber(1); + EllipseAnnotation ellipse = new EllipseAnnotation(); + ellipse.setBox(new Rectangle(100, 100, 100, 100)); + ellipse.setBackgroundColor(123456); + ellipse.setPageNumber(4); + List annotations = new ArrayList(); + annotations.add(area); + annotations.add(ellipse); + annotator.add(annotations); + SaveOptions saveOptions = new SaveOptions(); + saveOptions.setAnnotationTypes(AnnotationType.Ellipse); + annotator.save(outputPath, saveOptions); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingOnlyPagesWithAnnotations.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingOnlyPagesWithAnnotations.java new file mode 100644 index 0000000..b8943fc --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingOnlyPagesWithAnnotations.java @@ -0,0 +1,46 @@ +package com.groupdocs.annotation.examples.advanced_usage.saving; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation; +import com.groupdocs.annotation.models.annotationmodels.EllipseAnnotation; +import com.groupdocs.annotation.options.export.SaveOptions; +import java.util.ArrayList; +import java.util.List; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates saving result document with specified pages + *

    + */ +public class SavingOnlyPagesWithAnnotations { + + public static void run() { + String outputPath = Constants.getOutputFilePath("SavingOnlyPagesWithAnnotations", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + AreaAnnotation area = new AreaAnnotation(); + area.setBox(new Rectangle(100, 100, 100, 100)); + area.setBackgroundColor(65535); + area.setPageNumber(1); + EllipseAnnotation ellipse = new EllipseAnnotation(); + ellipse.setBox(new Rectangle(100, 100, 100, 100)); + ellipse.setBackgroundColor(123456); + ellipse.setPageNumber(2); + List annotations = new ArrayList(); + annotations.add(area); + annotations.add(ellipse); + annotator.add(annotations); + SaveOptions saveOptions = new SaveOptions(); + saveOptions.setOnlyAnnotatedPages(true); + annotator.save(outputPath, saveOptions); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingSpecificPageRange.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingSpecificPageRange.java new file mode 100644 index 0000000..2a5ca33 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingSpecificPageRange.java @@ -0,0 +1,29 @@ +package com.groupdocs.annotation.examples.advanced_usage.saving; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.options.export.SaveOptions; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates saving result document with specified pages + *

    + */ +public class SavingSpecificPageRange { + + public static void run() { + String outputPath = Constants.getOutputFilePath("SavingSpecificPageRange", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + SaveOptions saveOptions = new SaveOptions(); + saveOptions.setFirstPage(2); + saveOptions.setLastPage(4); + annotator.save(outputPath, saveOptions); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in {outputPath}."); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddReplies.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddReplies.java new file mode 100644 index 0000000..233a8a6 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddReplies.java @@ -0,0 +1,95 @@ +package com.groupdocs.annotation.examples.basic_usage; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.PenStyle; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.User; +import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding replies to annotation. + *

    + */ +public class AddReplies { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddReplies", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + User user1 = new User(); + user1.setId(1); + user1.setName("Tom"); + user1.setEmail("somemail@mail.com"); + User user2 = new User(); + user2.setId(2); + user2.setName("Jack"); + user2.setEmail("somebody@mail.com"); + User user3 = new User(); + user3.setId(3); + user3.setName("Mike"); + user3.setEmail("somemike@mail.com"); + + AreaAnnotation area = new AreaAnnotation(); + area.setBackgroundColor(65535); + area.setBox(new Rectangle(100, 100, 100, 100)); + area.setCreatedOn(Calendar.getInstance().getTime()); + area.setMessage("This is area annotation"); + area.setOpacity(0.7); + area.setPageNumber(0); + area.setPenColor(65535); + area.setPenStyle(PenStyle.Dot); + area.setPenWidth((byte) 3); + + Reply reply1 = new Reply(); + reply1.setId(1); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + reply1.setUser(user1); + + Reply reply2 = new Reply(); + reply2.setId(2); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + reply2.setUser(user2); + + Reply reply3 = new Reply(); + reply3.setId(3); + reply3.setComment("Third comment"); + reply3.setRepliedOn(Calendar.getInstance().getTime()); + reply3.setUser(user1); + + Reply reply4 = new Reply(); + reply4.setId(4); + reply4.setComment("Fourth comment"); + reply4.setRepliedOn(Calendar.getInstance().getTime()); + reply4.setUser(user2); + + Reply reply5 = new Reply(); + reply5.setId(5); + reply5.setComment("Five comment"); + reply5.setRepliedOn(Calendar.getInstance().getTime()); + reply5.setUser(user3); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + replies.add(reply3); + replies.add(reply4); + replies.add(reply5); + + area.setReplies(replies); + annotator.add(area); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java new file mode 100644 index 0000000..88f7129 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java @@ -0,0 +1,35 @@ +package com.groupdocs.annotation.examples.basic_usage; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.options.LoadOptions; +import java.io.IOException; +import java.util.Iterator; +import java.util.List; + +/** + *

    + * This example demonstrates how to extract annotations + *

    + */ +public class ExtractAnnotationsFromDocument { + + public static void run() throws IOException { + + LoadOptions loadOptions = new LoadOptions(); + loadOptions.setImportAnnotations(true); + final Annotator annotator = new Annotator(Constants.ANNOTATED_IMPORT, loadOptions); + + List annotations = annotator.get(); + + Iterator items = (annotations).iterator(); + while (items.hasNext()) { + AnnotationBase annotation = (AnnotationBase) items.next(); + System.out.println(annotation.getMessage()); + } + System.out.println("Annotations extracted successfully."); + + annotator.dispose(); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetFileInfo.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetFileInfo.java new file mode 100644 index 0000000..0f63756 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetFileInfo.java @@ -0,0 +1,26 @@ +package com.groupdocs.annotation.examples.basic_usage; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.IDocumentInfo; +import com.groupdocs.annotation.examples.Constants; + +/** + *

    + * This example demonstrates document info extraction + *

    + */ +public class GetFileInfo { + + public static void run() { + final Annotator annotator = new Annotator(Constants.INPUT); + + IDocumentInfo info = annotator.getDocument().getDocumentInfo(); + System.out.println( + "\nFile type: " + info.getFileType() + + "\nNumber of pages: " + info.getPageCount() + + "\nDocument size: " + info.getSize() + " bytes"); + + annotator.dispose(); + System.out.println("\nDocument info extracted successfully."); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetSupportedFileFormats.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetSupportedFileFormats.java new file mode 100644 index 0000000..275716c --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetSupportedFileFormats.java @@ -0,0 +1,26 @@ +package com.groupdocs.annotation.examples.basic_usage; + +import com.groupdocs.annotation.options.FileType; +import java.util.Iterator; +import java.util.List; + +/** + *

    + * This example demonstrates file types support + *

    + */ +public class GetSupportedFileFormats { + + public static void run() { + + List fileTypes = FileType.getSupportedFileTypes(); + //foreach to while statements conversion + Iterator items = (fileTypes).iterator(); + while (items.hasNext()) { + FileType fileType = (FileType) items.next(); + System.out.println(fileType.getExtension()); + } + + System.out.println("\nSupported file types retrieved successfully."); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveAnnotationFromDocument.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveAnnotationFromDocument.java new file mode 100644 index 0000000..1855b73 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveAnnotationFromDocument.java @@ -0,0 +1,29 @@ +package com.groupdocs.annotation.examples.basic_usage; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.options.export.AnnotationType; +import com.groupdocs.annotation.options.export.SaveOptions; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates how to remove annotations from document + *

    + */ +public class RemoveAnnotationFromDocument { + + public static void run() { + String outputPath = Constants.getOutputFilePath("RemoveAnnotationFromDocument", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.ANNOTATED_AREA_REPLIES_5); + + SaveOptions saveOptions = new SaveOptions(); + saveOptions.setAnnotationTypes(AnnotationType.None); + annotator.save(outputPath, saveOptions); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java new file mode 100644 index 0000000..2a6d6e3 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java @@ -0,0 +1,38 @@ +package com.groupdocs.annotation.examples.basic_usage; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.options.LoadOptions; +import java.util.List; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates how to remove replies from annotated document + *

    + */ +public class RemoveReplies { + + public static void run() { + String outputPath = Constants.getOutputFilePath("RemoveRepliesById", FilenameUtils.getExtension(Constants.INPUT)); + LoadOptions loadOptions = new LoadOptions(); + loadOptions.setImportAnnotations(true); + + // NOTE: Input document already contain annotations with replies + final Annotator annotator = new Annotator(Constants.ANNOTATED_WITH_REPLIES_NEW, loadOptions); + + // Obtain annotations collection from document + List annotations = annotator.get(); + // Remove first reply by index + annotations.get(0).getReplies().remove(0); + + // Save changes + annotator.update(annotations); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java new file mode 100644 index 0000000..988da32 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java @@ -0,0 +1,40 @@ +package com.groupdocs.annotation.examples.basic_usage; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.options.LoadOptions; +import java.util.List; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates how to remove replies from annotated document by + * reply Id + *

    + */ +public class RemoveRepliesById { + + public static void run() { + String outputPath = Constants.getOutputFilePath("RemoveRepliesById", FilenameUtils.getExtension(Constants.INPUT)); + LoadOptions loadOptions = new LoadOptions(); + loadOptions.setImportAnnotations(true); + + // NOTE: Input document already contain annotations with replies + final Annotator annotator = new Annotator(Constants.ANNOTATED_AREA_REPLIES_5, loadOptions); + + // Obtain annotations collection from document + List annotations = annotator.get(); + + // Remove reply with Id = 4 + annotations.get(0).getReplies().remove(4); + + // Save changes + annotator.update(annotations); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesByUserName.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesByUserName.java new file mode 100644 index 0000000..9c624cb --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesByUserName.java @@ -0,0 +1,44 @@ +package com.groupdocs.annotation.examples.basic_usage; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.options.LoadOptions; +import java.util.List; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates how to remove replies from annotated document by + * user name + *

    + */ +public class RemoveRepliesByUserName { + + public static void run() { + String outputPath = Constants.getOutputFilePath("RemoveRepliesByUserName", FilenameUtils.getExtension(Constants.INPUT)); + LoadOptions loadOptions = new LoadOptions(); + loadOptions.setImportAnnotations(true); + + // NOTE: Input document already contain annotations with replies + final Annotator annotator = new Annotator(Constants.ANNOTATED_AREA_REPLIES_5, loadOptions); + + // Obtain annotations collection from document + List annotations = annotator.get(); + + // Remove all replies where author name is "Tom" + for (int i = 0; i < annotations.get(0).getReplies().size(); i++) { + if (annotations.get(0).getReplies().get(i).getUser().getName().toString().equals("Tom")) { + annotations.get(0).getReplies().remove(i); + } + } + + // Save changes + annotator.update(annotations); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/UpdateAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/UpdateAnnotation.java new file mode 100644 index 0000000..4d025a4 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/UpdateAnnotation.java @@ -0,0 +1,85 @@ +package com.groupdocs.annotation.examples.basic_usage; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation; +import com.groupdocs.annotation.options.LoadOptions; +import java.util.ArrayList; +import java.util.Calendar; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates how to update annotation + *

    + */ +public class UpdateAnnotation { + + public static void run() { + + String outputPath = Constants.getOutputFilePath("UpdateAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("Original first comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Original second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + AreaAnnotation original = new AreaAnnotation(); + original.setId(1); + original.setBackgroundColor(65535); + original.setBox(new Rectangle(100, 100, 100, 100)); + original.setCreatedOn(Calendar.getInstance().getTime()); + original.setMessage("This is original annotation"); + original.setReplies(replies); + // add original annotation + annotator.add(original); + annotator.save(outputPath); + + annotator.dispose(); + + LoadOptions loadOptions = new LoadOptions(); + loadOptions.setImportAnnotations(true); + + // open annotated document + final Annotator annotator1 = new Annotator(outputPath, loadOptions); + + Reply reply3 = new Reply(); + reply3.setComment("Updated first comment"); + reply3.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply4 = new Reply(); + reply4.setComment("Updated second comment"); + reply4.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies1 = new ArrayList(); + replies1.add(reply3); + replies1.add(reply4); + + // suggest we want change some properties of existed annotation + AreaAnnotation updated = new AreaAnnotation(); + updated.setId(1); + updated.setBackgroundColor(255); + updated.setBox(new Rectangle(0, 0, 50, 200)); + updated.setCreatedOn(Calendar.getInstance().getTime()); + updated.setMessage("This is updated annotation"); + updated.setReplies(replies1); + // update annotation + annotator1.update(updated); + annotator1.save(outputPath); + + annotator1.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} \ No newline at end of file diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java new file mode 100644 index 0000000..220c66a --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java @@ -0,0 +1,55 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.PenStyle; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding area annotation. + *

    + */ +public class AddAreaAnnotation { + + public static void run() { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + String outputPath = Constants.getOutputFilePath("AddAreaAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + AreaAnnotation area = new AreaAnnotation(); + area.setBackgroundColor(65535); + area.setBox(new Rectangle(100, 100, 100, 100)); + area.setCreatedOn(Calendar.getInstance().getTime()); + area.setMessage("This is area annotation"); + area.setOpacity(0.7); + area.setPageNumber(0); + area.setPenColor(65535); + area.setPenStyle(PenStyle.Dot); + area.setPenWidth((byte) 3); + area.setReplies(replies); + annotator.add(area); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddArrowAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddArrowAnnotation.java new file mode 100644 index 0000000..e70a1b1 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddArrowAnnotation.java @@ -0,0 +1,54 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.PenStyle; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.ArrowAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding arrow annotation. + *

    + */ +public class AddArrowAnnotation { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddArrowAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + ArrowAnnotation arrow = new ArrowAnnotation(); + arrow.setBox(new Rectangle(100, 100, 100, 100)); + arrow.setCreatedOn(Calendar.getInstance().getTime()); + arrow.setMessage("This is arrow annotation"); + arrow.setOpacity(0.7); + arrow.setPageNumber(0); + arrow.setPenColor(65535); + arrow.setPenStyle(PenStyle.Dot); + arrow.setPenWidth((byte) 3); + arrow.setReplies(replies); + annotator.add(arrow); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddDistanceAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddDistanceAnnotation.java new file mode 100644 index 0000000..be9cf24 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddDistanceAnnotation.java @@ -0,0 +1,54 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.PenStyle; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.DistanceAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding distance annotation. + *

    + */ +public class AddDistanceAnnotation { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddDistanceAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + DistanceAnnotation distance = new DistanceAnnotation(); + distance.setBox(new Rectangle(200, 150, 200, 30)); + distance.setCreatedOn(Calendar.getInstance().getTime()); + distance.setMessage("This is distance annotation"); + distance.setOpacity(0.7); + distance.setPageNumber(0); + distance.setPenColor(65535); + distance.setPenStyle(PenStyle.Dot); + distance.setPenWidth((byte) 3); + distance.setReplies(replies); + annotator.add(distance); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddEllipseAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddEllipseAnnotation.java new file mode 100644 index 0000000..cb391e3 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddEllipseAnnotation.java @@ -0,0 +1,55 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.PenStyle; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.EllipseAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding ellipse annotation. + *

    + */ +public class AddEllipseAnnotation { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + EllipseAnnotation ellipse = new EllipseAnnotation(); + ellipse.setBackgroundColor(65535); + ellipse.setBox(new Rectangle(100, 100, 100, 100)); + ellipse.setCreatedOn(Calendar.getInstance().getTime()); + ellipse.setMessage("This is ellipse annotation"); + ellipse.setOpacity(0.7); + ellipse.setPageNumber(0); + ellipse.setPenColor(65535); + ellipse.setPenStyle(PenStyle.Dot); + ellipse.setPenWidth((byte) 3); + ellipse.setReplies(replies); + annotator.add(ellipse); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddLinkAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddLinkAnnotation.java new file mode 100644 index 0000000..7b15a8d --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddLinkAnnotation.java @@ -0,0 +1,63 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Point; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.LinkAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding link annotation. + *

    + */ +public class AddLinkAnnotation { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + Point point1 = new Point(80, 730); + Point point2 = new Point(240, 730); + Point point3 = new Point(80, 650); + Point point4 = new Point(240, 650); + + List points = new ArrayList(); + points.add(point1); + points.add(point2); + points.add(point3); + points.add(point4); + + LinkAnnotation link = new LinkAnnotation(); + link.setCreatedOn(Calendar.getInstance().getTime()); + link.setMessage("This is link annotation"); + link.setOpacity(0.7); + link.setPageNumber(0); + link.setPoints(points); + link.setReplies(replies); + link.setUrl("https://www.google.com"); + annotator.add(link); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPointAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPointAnnotation.java new file mode 100644 index 0000000..3b22324 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPointAnnotation.java @@ -0,0 +1,49 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.PointAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding point annotation. + *

    + */ +public class AddPointAnnotation { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddPointAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + PointAnnotation point = new PointAnnotation(); + point.setBox(new Rectangle(100, 100, 0, 0)); + point.setCreatedOn(Calendar.getInstance().getTime()); + point.setMessage("This is point annotation"); + point.setPageNumber(0); + point.setReplies(replies); + annotator.add(point); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java new file mode 100644 index 0000000..016624a --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java @@ -0,0 +1,55 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.PenStyle; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.PolylineAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding polyline annotation. + *

    + */ +public class AddPolylineAnnotation { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddPolylineAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + PolylineAnnotation polyline = new PolylineAnnotation(); + polyline.setBox(new Rectangle(250, 35, 102, 12)); + polyline.setCreatedOn(Calendar.getInstance().getTime()); + polyline.setMessage("This is polyline annotation"); + polyline.setOpacity(0.7); + polyline.setPageNumber(0); + polyline.setPenColor(65535); + polyline.setPenStyle(PenStyle.Dot); + polyline.setPenWidth((byte) 3); + polyline.setReplies(replies); + polyline.setSvgPath("M250.8280751173709,48.209295774647885l0.6986854460093896,0l0.6986854460093896,-1.3973708920187793l0.6986854460093896,0l0.6986854460093896,-1.3973708920187793l1.3973708920187793,-0.6986854460093896l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0l2.096056338028169,-1.3973708920187793l3.493427230046948,-1.3973708920187793l0.6986854460093896,-0.6986854460093896l1.3973708920187793,-1.3973708920187793l0.6986854460093896,0l1.3973708920187793,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0l0,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l0,-0.6986854460093896l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l2.096056338028169,-0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l1.3973708920187793,0l1.3973708920187793,0l2.096056338028169,0l5.589483568075117,0l1.3973708920187793,0l2.096056338028169,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l1.3973708920187793,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0l2.096056338028169,1.3973708920187793l0.6986854460093896,0l0.6986854460093896,0l0,0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0.6986854460093896l0,0.6986854460093896l0.6986854460093896,0l1.3973708920187793,0.6986854460093896l1.3973708920187793,0.6986854460093896l3.493427230046948,0.6986854460093896l1.3973708920187793,0.6986854460093896l2.096056338028169,0.6986854460093896l1.3973708920187793,0.6986854460093896l1.3973708920187793,0l1.3973708920187793,0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l2.7947417840375586,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l2.7947417840375586,0l0.6986854460093896,0l2.7947417840375586,0l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0"); + annotator.add(polyline); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} \ No newline at end of file diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddResourcesRedactionAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddResourcesRedactionAnnotation.java new file mode 100644 index 0000000..c2d5ee3 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddResourcesRedactionAnnotation.java @@ -0,0 +1,49 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.ResourcesRedactionAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding resources redaction annotation. + *

    + */ +public class AddResourcesRedactionAnnotation { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddResourcesRedactionAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + ResourcesRedactionAnnotation resourcesRedaction = new ResourcesRedactionAnnotation(); + resourcesRedaction.setBox(new Rectangle(100, 100, 100, 100)); + resourcesRedaction.setCreatedOn(Calendar.getInstance().getTime()); + resourcesRedaction.setMessage("This is resources redaction annotation"); + resourcesRedaction.setPageNumber(0); + resourcesRedaction.setReplies(replies); + annotator.add(resourcesRedaction); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextFieldAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextFieldAnnotation.java new file mode 100644 index 0000000..455ac7d --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextFieldAnnotation.java @@ -0,0 +1,57 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.PenStyle; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.TextFieldAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding text field annotation. + *

    + */ +public class AddTextFieldAnnotation { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddTextFieldAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + TextFieldAnnotation textField = new TextFieldAnnotation(); + textField.setBackgroundColor(65535); + textField.setBox(new Rectangle(100, 100, 100, 100)); + textField.setCreatedOn(Calendar.getInstance().getTime()); + textField.setText("Some text"); + textField.setFontColor(65535); + textField.setFontSize((double) 12); + textField.setMessage("This is text field annotation"); + textField.setOpacity(0.7); + textField.setPageNumber(0); + textField.setPenStyle(PenStyle.Dot); + textField.setPenWidth((byte) 3); + textField.setReplies(replies); + annotator.add(textField); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextHighlightAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextHighlightAnnotation.java new file mode 100644 index 0000000..c85a441 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextHighlightAnnotation.java @@ -0,0 +1,64 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Point; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.HighlightAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding text highlight annotation. + *

    + */ +public class AddTextHighlightAnnotation { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddTextHighlightAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + Point point1 = new Point(80, 730); + Point point2 = new Point(240, 730); + Point point3 = new Point(80, 650); + Point point4 = new Point(240, 650); + + List points = new ArrayList(); + points.add(point1); + points.add(point2); + points.add(point3); + points.add(point4); + + HighlightAnnotation highlight = new HighlightAnnotation(); + highlight.setBackgroundColor(65535); + highlight.setCreatedOn(Calendar.getInstance().getTime()); + highlight.setFontColor(0); + highlight.setMessage("This is highlight annotation"); + highlight.setOpacity(0.5); + highlight.setPageNumber(0); + highlight.setPoints(points); + highlight.setReplies(replies); + annotator.add(highlight); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} \ No newline at end of file diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextRedactionAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextRedactionAnnotation.java new file mode 100644 index 0000000..2597cdf --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextRedactionAnnotation.java @@ -0,0 +1,61 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Point; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.TextRedactionAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding text redaction annotation. + *

    + */ +public class AddTextRedactionAnnotation { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + Point point1 = new Point(80, 730); + Point point2 = new Point(240, 730); + Point point3 = new Point(80, 650); + Point point4 = new Point(240, 650); + + List points = new ArrayList(); + points.add(point1); + points.add(point2); + points.add(point3); + points.add(point4); + + TextRedactionAnnotation textRedaction = new TextRedactionAnnotation(); + textRedaction.setCreatedOn(Calendar.getInstance().getTime()); + textRedaction.setMessage("This is text redaction annotation"); + textRedaction.setPageNumber(0); + textRedaction.setPoints(points); + textRedaction.setReplies(replies); + annotator.add(textRedaction); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextReplacementAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextReplacementAnnotation.java new file mode 100644 index 0000000..802c136 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextReplacementAnnotation.java @@ -0,0 +1,64 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Point; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.ReplacementAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding text replacement annotation. + *

    + */ +public class AddTextReplacementAnnotation { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + Point point1 = new Point(80, 730); + Point point2 = new Point(240, 730); + Point point3 = new Point(80, 650); + Point point4 = new Point(240, 650); + + List points = new ArrayList(); + points.add(point1); + points.add(point2); + points.add(point3); + points.add(point4); + + ReplacementAnnotation replacement = new ReplacementAnnotation(); + replacement.setCreatedOn(Calendar.getInstance().getTime()); + replacement.setFontColor(65535); + replacement.setMessage("This is replacement annotation"); + replacement.setOpacity(0.7); + replacement.setPageNumber(0); + replacement.setPoints(points); + replacement.setReplies(replies); + replacement.setTextToReplace("replaced text"); + annotator.add(replacement); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextStrikeoutAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextStrikeoutAnnotation.java new file mode 100644 index 0000000..57df593 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextStrikeoutAnnotation.java @@ -0,0 +1,63 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Point; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.StrikeoutAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding text strikeout annotation. + *

    + */ +public class AddTextStrikeoutAnnotation { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + Point point1 = new Point(80, 730); + Point point2 = new Point(240, 730); + Point point3 = new Point(80, 650); + Point point4 = new Point(240, 650); + + List points = new ArrayList(); + points.add(point1); + points.add(point2); + points.add(point3); + points.add(point4); + + StrikeoutAnnotation strikeout = new StrikeoutAnnotation(); + strikeout.setCreatedOn(Calendar.getInstance().getTime()); + strikeout.setFontColor(65535); + strikeout.setMessage("This is strikeout annotation"); + strikeout.setOpacity(0.7); + strikeout.setPageNumber(0); + strikeout.setPoints(points); + strikeout.setReplies(replies); + annotator.add(strikeout); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextUnderlineAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextUnderlineAnnotation.java new file mode 100644 index 0000000..e9be4f2 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextUnderlineAnnotation.java @@ -0,0 +1,63 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Point; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.UnderlineAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding text underline annotation. + *

    + */ +public class AddTextUnderlineAnnotation { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddTextUnderlineAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + Point point1 = new Point(80, 730); + Point point2 = new Point(240, 730); + Point point3 = new Point(80, 650); + Point point4 = new Point(240, 650); + + List points = new ArrayList(); + points.add(point1); + points.add(point2); + points.add(point3); + points.add(point4); + + UnderlineAnnotation underline = new UnderlineAnnotation(); + underline.setCreatedOn(Calendar.getInstance().getTime()); + underline.setFontColor(65535); + underline.setMessage("This is underline annotation"); + underline.setOpacity(0.7); + underline.setPageNumber(0); + underline.setPoints(points); + underline.setReplies(replies); + annotator.add(underline); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} \ No newline at end of file diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddWatermarkAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddWatermarkAnnotation.java new file mode 100644 index 0000000..68c3c6c --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddWatermarkAnnotation.java @@ -0,0 +1,54 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.WatermarkAnnotation; +import java.util.ArrayList; +import java.util.Calendar; +import org.apache.commons.io.FilenameUtils; + +/** + *

    + * This example demonstrates adding watermark annotation. + *

    + */ +public class AddWatermarkAnnotation { + + public static void run() { + String outputPath = Constants.getOutputFilePath("AddWatermarkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + + final Annotator annotator = new Annotator(Constants.INPUT); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + + WatermarkAnnotation watermark = new WatermarkAnnotation(); + watermark.setAngle((double) 75); + watermark.setBox(new Rectangle(200, 200, 100, 50)); + watermark.setCreatedOn(Calendar.getInstance().getTime()); + watermark.setText("Watermark"); + watermark.setFontColor(65535); + watermark.setFontSize((double) 12); + watermark.setMessage("This is watermark annotation"); + watermark.setOpacity(0.7); + watermark.setPageNumber(0); + watermark.setReplies(replies); + annotator.add(watermark); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} \ No newline at end of file diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromFile.java b/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromFile.java new file mode 100644 index 0000000..6b4efcb --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromFile.java @@ -0,0 +1,38 @@ +package com.groupdocs.annotation.examples.quick_start; + +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.license.License; +import java.io.File; + +/** + *

    + * This example demonstrates how to set license from file. + *

    + *


    + * The SetLicense method attempts to set a license from several locations + * relative to the executable and GroupDocs.Annotation.dll. You can also use the + * additional overload to load a license from a stream, this is useful for + * instance when the License is stored as an embedded resource. + *

    + */ +public class SetLicenseFromFile { + + public static void run() { + if (new File(Constants.LicensePath).isFile()) { + License license = new License(); + license.setLicense(Constants.LicensePath); + System.out.println("License set successfully."); + + if(!License.isValidLicense()) { + System.out.println("License set is failed"); + } + } else { + System.out.println( + "\nWe do not ship any license with this example. "+ + "\nVisit the GroupDocs site to obtain either a temporary or permanent license. "+ + "\nLearn more about licensing at https://purchase.groupdocs.com/faqs/licensing. "+ + "\nLear how to request temporary license at https://purchase.groupdocs.com/temporary-license." + ); + } + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromStream.java b/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromStream.java new file mode 100644 index 0000000..04af39c --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromStream.java @@ -0,0 +1,45 @@ +package com.groupdocs.annotation.examples.quick_start; + +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.license.License; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; + +/** + *

    + * This example demonstrates how to set license from stream. + *

    + */ +public class SetLicenseFromStream { + + public static void run() { + try { + if (new File(Constants.LicensePath).isFile()) { + final InputStream stream = new FileInputStream(Constants.LicensePath); + try { + License license = new License(); + license.setLicense(stream); + } finally { + if (stream != null) { + stream.close(); + } + } + if(!License.isValidLicense()) { + System.out.println("License set is failed"); + } + System.out.println("License set successfully."); + } else { + System.out.println( + "\nWe do not ship any license with this example. " + + "\nVisit the GroupDocs site to obtain either a temporary or permanent license. " + + "\nLearn more about licensing at https://purchase.groupdocs.com/faqs/licensing. " + + "\nLear how to request temporary license at https://purchase.groupdocs.com/temporary-license." + ); + } + } catch (IOException ex) { + ex.getMessage(); + } + } +} \ No newline at end of file diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetMeteredLicense.java b/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetMeteredLicense.java new file mode 100644 index 0000000..035cd73 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetMeteredLicense.java @@ -0,0 +1,24 @@ +package com.groupdocs.annotation.examples.quick_start; + +import com.groupdocs.annotation.license.Metered; + +/** + *

    + * This example demonstrates how to set Metered license. Learn more about + * Metered license at https://purchase.groupdocs.com/faqs/licensing/metered. + *

    + */ +public class SetMeteredLicense { + + public static void run() { + try { + String publicKey = "*****"; + String privateKey = "*****"; + Metered metered = new Metered(); + metered.setMeteredKey(publicKey, privateKey); + System.out.println("License set successfully."); + } catch (Throwable e) { + e.getMessage(); + } + } +} diff --git a/Examples/src/main/resources/project.properties b/Examples/src/main/resources/project.properties new file mode 100644 index 0000000..3bc87b3 --- /dev/null +++ b/Examples/src/main/resources/project.properties @@ -0,0 +1 @@ +project.basedir=${basedir} \ No newline at end of file diff --git a/README.md b/README.md index 28b4453..b1d7503 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Directory | Description + Extract the contents of the ZIP file to any folder on your computer. + Open Java IDE and import the project to get started with it. + On the first run, the dependencies will automatically be downloaded. -+ Open MainClass.java file, all the examples are called from here. ++ Open RunExamples.java file, all the examples are called from here. + Uncomment the examples you want to run from within the project. Please find more details for how to run the examples [here](https://docs.groupdocs.com/display/annotationjava/How+to+Run+Examples). diff --git a/Showcase/README.md b/Showcase/README.md deleted file mode 100644 index e642717..0000000 --- a/Showcase/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# Showcase - -The showcases provided in this section are open-source. You can explore them in order to learn how can GroupDocs.Annotation for Java be utilized for the front-end projects developmemnt. These projects are easy to manage and can be enhanced as per your requriements. - -Directory | Description ---------- | ----------- -[GroupDocs.Annotation-for-Java-Spring](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) | Our new and improved GroupDocs.Annotation for Java Spring UI Example - native, simple, fully configurable and optimized Java document annotation application. -[GroupDocs.Annotation-for-Java-Dropwizard](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) | Our new and improved GroupDocs.Annotation for Java Dropwizard UI Example - native, simple, fully configurable and optimized Java document annotation application. \ No newline at end of file From 11f2b7085c5fc17b7e33ad564c5def1a126a1c46 Mon Sep 17 00:00:00 2001 From: Alexander Tyutyunnyk Date: Tue, 18 Feb 2020 16:54:20 +0200 Subject: [PATCH 15/76] Remove unnecessary libs --- Examples/pom.xml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/Examples/pom.xml b/Examples/pom.xml index 3e645fb..66deb9a 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -15,7 +15,6 @@ commons-net 3.6 - org.apache.commons commons-lang3 @@ -26,18 +25,6 @@ commons-io 2.4 - - org.codehaus.plexus - plexus-utils - 3.0.24 - jar - - - com.fasterxml.jackson.dataformat - jackson-dataformat-xml - 2.6.4 - jar - javax javaee-web-api From ef3c3e5d5075f9b87f5b4a72bc4a919b1d921d68 Mon Sep 17 00:00:00 2001 From: Alexander Tyutyunnyk Date: Tue, 18 Feb 2020 16:57:14 +0200 Subject: [PATCH 16/76] Remove unnecessary libs --- Examples/pom.xml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/Examples/pom.xml b/Examples/pom.xml index 66deb9a..3eaac45 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -15,22 +15,11 @@ commons-net 3.6 - - org.apache.commons - commons-lang3 - 3.4 - commons-io commons-io 2.4 - - javax - javaee-web-api - 7.0 - provided - com.groupdocs groupdocs-annotation From 68bf38b36dd26490583ade0cd8ad7d57ac8ad947 Mon Sep 17 00:00:00 2001 From: Yevgen Nykytenko Date: Tue, 18 Feb 2020 18:13:13 +0300 Subject: [PATCH 17/76] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b1d7503..4dda5a1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## GroupDocs.Annotation for Java +## GroupDocs.Annotation for Java Examples This package contains exmaples and showcase projects that will help you in understanding the API's working and writing your own applications. From 714b0d3c55993772a12345dd98e3b70f72e1273c Mon Sep 17 00:00:00 2001 From: Yevgen Nykytenko Date: Wed, 10 Jun 2020 23:59:22 +0300 Subject: [PATCH 18/76] Added submodule and content --- .gitmodules | 3 + Docs/content/annotation/_index.md | 9 + Docs/content/annotation/java/_index.md | 27 ++ .../annotation/java/developer-guide/_index.md | 11 + .../developer-guide/advanced-usage/_index.md | 15 ++ .../generate-document-pages-preview.md | 74 ++++++ .../advanced-usage/loading/_index.md | 36 +++ .../load-password-protected-documents.md | 61 +++++ .../_index.md | 15 ++ .../load-document-from-ftp.md | 64 +++++ .../load-document-from-local-disk.md | 53 ++++ .../load-document-from-stream.md | 59 +++++ .../load-document-from-url.md | 53 ++++ .../advanced-usage/saving/_index.md | 26 ++ .../saving/filtering-annotation-types.md | 76 ++++++ .../saving/save-only-annotated-pages.md | 75 ++++++ .../saving/save-specific-page-range.md | 61 +++++ .../developer-guide/basic-usage/_index.md | 14 + .../add-annotation-to-the-document/_index.md | 41 +++ .../add-area-annotation.md | 103 ++++++++ .../add-arrow-annotation.md | 100 +++++++ .../add-distance-annotation.md | 101 +++++++ .../add-ellipse-annotation.md | 103 ++++++++ .../add-highlight-annotation.md | 105 ++++++++ .../add-link-annotation.md | 101 +++++++ .../add-point-annotation.md | 88 +++++++ .../add-polyline-annotation.md | 103 ++++++++ .../add-replacement-annotation.md | 106 ++++++++ .../add-resource-redaction-annotation.md | 88 +++++++ .../add-strikeout-annotation.md | 103 ++++++++ .../add-text-field-annotation.md | 117 +++++++++ .../add-text-redaction-annotation.md | 97 +++++++ .../add-underline-annotation.md | 103 ++++++++ .../add-watermark-annotation.md | 105 ++++++++ .../extract-annotations-from-document.md | 58 ++++ .../basic-usage/get-file-info.md | 61 +++++ .../basic-usage/get-supported-file-formats.md | 55 ++++ .../remove-annotation-from-document.md | 60 +++++ .../basic-usage/update-annotations.md | 116 ++++++++ .../working-with-annotation-replies/_index.md | 16 ++ .../add-replies-to-annotation.md | 123 +++++++++ .../remove-annotation-replies.md | 140 ++++++++++ .../update-annotation-replies.md | 76 ++++++ .../java/developer-guide/migration-notes.md | 86 ++++++ .../annotation/java/getting-started/_index.md | 10 + .../evaluation-limitations-and-licensing.md | 80 ++++++ .../java/getting-started/features-overview.md | 58 ++++ .../how-to-run-the-examples.md | 32 +++ .../java/getting-started/installation.md | 51 ++++ .../supported-document-formats.md | 48 ++++ .../getting-started/system-requirements.md | 17 ++ .../java/images/add-area-annotation.png | Bin 0 -> 67938 bytes .../java/images/add-arrow-annotation.png | Bin 0 -> 77011 bytes .../java/images/add-distance-annotation.png | Bin 0 -> 58585 bytes .../java/images/add-ellipse-annotation.png | Bin 0 -> 54238 bytes .../java/images/add-highlight-annotation.png | Bin 0 -> 24302 bytes .../java/images/add-link-annotation.png | Bin 0 -> 23477 bytes .../java/images/add-point-annotation.png | Bin 0 -> 62032 bytes .../java/images/add-polyline-annotation.png | Bin 0 -> 56638 bytes .../images/add-replacement-annotation.png | Bin 0 -> 18799 bytes .../add-resource-redaction-annotation.png | Bin 0 -> 22731 bytes .../java/images/add-strikeout-annotation.png | Bin 0 -> 13752 bytes .../java/images/add-text-field-annotation.png | Bin 0 -> 14368 bytes .../images/add-text-redaction-annotation.png | Bin 0 -> 16164 bytes .../java/images/add-underline-annotation.png | Bin 0 -> 23156 bytes .../java/images/add-watermark-annotation.png | Bin 0 -> 61695 bytes Docs/content/annotation/java/images/check.png | Bin 0 -> 262 bytes .../java/images/how-to-run-the-examples.png | Bin 0 -> 13714 bytes .../java/images/how-to-run-the-examples_1.png | Bin 0 -> 147422 bytes ...troducing-groupdocs.annotation-for-java.md | 26 ++ .../annotation/java/release-notes/_index.md | 11 + .../release-notes-2016/_index.md | 10 + ...annotation-for-java-3.1.0-release-notes.md | 47 ++++ .../release-notes-2017/_index.md | 10 + ...nnotation-for-java-17.1.0-release-notes.md | 150 +++++++++++ ...annotation-for-java-17.10-release-notes.md | 139 ++++++++++ ...notation-for-java-17.10.1-release-notes.md | 34 +++ ...notation-for-java-17.10.2-release-notes.md | 30 +++ ...nnotation-for-java-17.5.0-release-notes.md | 112 ++++++++ ...nnotation-for-java-17.6.0-release-notes.md | 43 +++ .../release-notes-2018/_index.md | 10 + ...notation-for-java-17.10.3-release-notes.md | 23 ++ ...annotation-for-java-18.10-release-notes.md | 247 ++++++++++++++++++ ....annotation-for-java-18.4-release-notes.md | 92 +++++++ .../release-notes-2019/_index.md | 10 + ....annotation-for-java-19.4-release-notes.md | 186 +++++++++++++ ....annotation-for-java-19.5-release-notes.md | 136 ++++++++++ ....annotation-for-java-19.7-release-notes.md | 92 +++++++ .../release-notes-2020/_index.md | 10 + ....annotation-for-java-20.2-release-notes.md | 78 ++++++ Docs/docs-common | 1 + 91 files changed, 4880 insertions(+) create mode 100644 .gitmodules create mode 100644 Docs/content/annotation/_index.md create mode 100644 Docs/content/annotation/java/_index.md create mode 100644 Docs/content/annotation/java/developer-guide/_index.md create mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/_index.md create mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md create mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md create mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md create mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md create mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md create mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md create mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md create mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md create mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md create mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md create mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md create mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/_index.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md create mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md create mode 100644 Docs/content/annotation/java/developer-guide/migration-notes.md create mode 100644 Docs/content/annotation/java/getting-started/_index.md create mode 100644 Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md create mode 100644 Docs/content/annotation/java/getting-started/features-overview.md create mode 100644 Docs/content/annotation/java/getting-started/how-to-run-the-examples.md create mode 100644 Docs/content/annotation/java/getting-started/installation.md create mode 100644 Docs/content/annotation/java/getting-started/supported-document-formats.md create mode 100644 Docs/content/annotation/java/getting-started/system-requirements.md create mode 100644 Docs/content/annotation/java/images/add-area-annotation.png create mode 100644 Docs/content/annotation/java/images/add-arrow-annotation.png create mode 100644 Docs/content/annotation/java/images/add-distance-annotation.png create mode 100644 Docs/content/annotation/java/images/add-ellipse-annotation.png create mode 100644 Docs/content/annotation/java/images/add-highlight-annotation.png create mode 100644 Docs/content/annotation/java/images/add-link-annotation.png create mode 100644 Docs/content/annotation/java/images/add-point-annotation.png create mode 100644 Docs/content/annotation/java/images/add-polyline-annotation.png create mode 100644 Docs/content/annotation/java/images/add-replacement-annotation.png create mode 100644 Docs/content/annotation/java/images/add-resource-redaction-annotation.png create mode 100644 Docs/content/annotation/java/images/add-strikeout-annotation.png create mode 100644 Docs/content/annotation/java/images/add-text-field-annotation.png create mode 100644 Docs/content/annotation/java/images/add-text-redaction-annotation.png create mode 100644 Docs/content/annotation/java/images/add-underline-annotation.png create mode 100644 Docs/content/annotation/java/images/add-watermark-annotation.png create mode 100644 Docs/content/annotation/java/images/check.png create mode 100644 Docs/content/annotation/java/images/how-to-run-the-examples.png create mode 100644 Docs/content/annotation/java/images/how-to-run-the-examples_1.png create mode 100644 Docs/content/annotation/java/introducing-groupdocs.annotation-for-java.md create mode 100644 Docs/content/annotation/java/release-notes/_index.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2016/_index.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2016/groupdocs.annotation-for-java-3.1.0-release-notes.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2017/_index.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2018/_index.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2019/_index.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2020/_index.md create mode 100644 Docs/content/annotation/java/release-notes/release-notes-2020/groupdocs.annotation-for-java-20.2-release-notes.md create mode 160000 Docs/docs-common diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..ed917ee --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "Docs/docs-common"] + path = Docs/docs-common + url = https://github.com/groupdocs/docs-common.git diff --git a/Docs/content/annotation/_index.md b/Docs/content/annotation/_index.md new file mode 100644 index 0000000..33675cc --- /dev/null +++ b/Docs/content/annotation/_index.md @@ -0,0 +1,9 @@ +--- +id: annotation +url: annotation +title: GroupDocs.Annotation Product Family +description: "" +keywords: +type: "product-family" +layout: "product-family-template" +--- diff --git a/Docs/content/annotation/java/_index.md b/Docs/content/annotation/java/_index.md new file mode 100644 index 0000000..2e473d1 --- /dev/null +++ b/Docs/content/annotation/java/_index.md @@ -0,0 +1,27 @@ +--- +id: home +url: annotation/java +title: GroupDocs.Annotation for Java +weight: 1 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: True +--- +# Home + +{{< alert style="info" >}}Welcome to the GroupDocs.Annotation for JavaGroupDocs.Annotation for Java is a lightweight API that lets you seamlessly enhance your Java app with document viewing and annotation functionality. API supports Microsoft Word DOCX, Excel XLSX, PowerPoint PPTX and PDF documents currently. Image formats will be available soon. Consuming API, you can enable end users to view, annotate, share and print both types of documents from within your Java app.{{< /alert >}} + +## GroupDocs.Annotation for Java Resources + +Following are the links to some useful resources you may need to accomplish your tasks. + +* [GroupDocs.Annotation for Java Online Documentation]({{< ref "annotation/java" >}}) +* [GroupDocs.Annotation for Java Features]({{< ref "annotation/java/getting-started/features-overview.md" >}}) +* [GroupDocs.Annotation for Java Limitations]({{< ref "annotation/java/getting-started/evaluation-limitations-and-licensing.md" >}}) +* [GroupDocs.Annotation for Java Release Notes]({{< ref "annotation/java/release-notes/_index.md" >}}) +* [GroupDocs.Annotation for Java Product Page](https://products.groupdocs.com/annotation/java) +* [Download GroupDocs.Annotation for Java](https://repository.groupdocs.com/webapp/#/artifacts/browse/tree/General/repo/com/groupdocs/groupdocs-annotation) +* [GroupDocs.Annotation for Java API Reference Guide](https://apireference.groupdocs.com/java/annotation) +* [GroupDocs.Annotation for Java Free Support Forum](https://forum.groupdocs.com/c/annotation) +* [GroupDocs.Annotation for Java Paid Support Helpdesk](https://helpdesk.groupdocs.com/) diff --git a/Docs/content/annotation/java/developer-guide/_index.md b/Docs/content/annotation/java/developer-guide/_index.md new file mode 100644 index 0000000..3645c54 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/_index.md @@ -0,0 +1,11 @@ +--- +id: developer-guide +url: annotation/java/developer-guide +title: Developer Guide +weight: 3 +description: "GroupDocs.Annotation for Java developer guide explains document annotator features and shows how to annotate PDF, Word, Excel, PowerPoint documents and images inside your Java applications" +keywords: GroupDocs.Annotation Developer Guide, GroupDocs.Annotation Java Developer Guide, GroupDocs.Annotation Developer Guide Java, Using GroupDocs.Annotation for Java, GroupDocs.Annotation for Java use cases +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This section describes some basic and advanced use cases of GroupDocs.Annotation for Java. Please refer to GitHub repository for more examples and samples.{{< /alert >}} diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/_index.md new file mode 100644 index 0000000..f1ca3b9 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/_index.md @@ -0,0 +1,15 @@ +--- +id: advanced-usage +url: annotation/java/advanced-usage +title: Advanced usage +weight: 2 +description: "Learn about GroupDocs.Annotation advanced usage and its multiple powerful features like customizing document annotating process and annotations appearance etc." +keywords: GroupDocs.Annotation Advanced Features, GroupDocs.Annotation Customization, GroupDocs.Annotation Advanced Features Java +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +# Advanced section for GroupDocs.Annotation API + +Along with the ability to annotate documents using a couple lines of code **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** API allows to fine tune the document processing from start to end - like loading password-protected documents in different ways, saving results in different ways, generate document pages preview in image form and many other.  + +Learn more about advanced GroupDocs.Annotation features from the guides below. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md b/Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md new file mode 100644 index 0000000..a0355c1 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md @@ -0,0 +1,74 @@ +--- +id: generate-document-pages-preview +url: annotation/java/generate-document-pages-preview +title: Generate document pages preview +weight: 1 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to generate document page previews using [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method of a [Document](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document)class. +[PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions)class is used to manage preview generation process - specify desired page numbers, image format etc. + +Here are the steps to generate document preview with GroupDocs.Annotation API: + +* Create new instance of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)class and pass source document path as a constructor parameter. + +* [Document](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document)field of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)object allows to access source document and provides [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method.  + +* Instantiate the [PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) object with path format to generated images; + +* Specify image preview format - PNG / JPG / BMP via [setPreviewFormat](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions#setPreviewFormat(int)) method;  + +* page numbers to process via setPageNumbers method; +* Call [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions))method of [Annotator.getDocument()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#getDocument())method result and pass [PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) to it.  + + + + +GroupDocs.Annotation provides an ability to choose between image quality and size. **BMP** format should be used for the best image quality. **JPG** format will be useful in case of strict requirements to image size - it produces smallest image size (and faster loading image previews), but with lower quality than **BMP**. By default **PNG** format is selected - which is a golden mean between image quality and size. + +The following code snippet demonstrates how to generate document previews. + +## Get document page previews  + +**Java** + +```csharp +Annotator annotator = new Annotator("input.pdf"); +PreviewOptions previewOptions = new PreviewOptions("C://Output//GenerateDocumentPagesPreview_{0}.png"); +previewOptions.setPreviewFormat(PreviewFormats.PNG); +previewOptions.setPageNumbers(new int[]{1, 2}); +annotator.getDocument().generatePreview(previewOptions); +annotator.dispose(); +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md new file mode 100644 index 0000000..9f95cb8 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md @@ -0,0 +1,36 @@ +--- +id: loading +url: annotation/java/loading +title: Loading +weight: 2 +description: "Following this guide you will learn how to load PDF, Word, Excel, PowerPoint documents by local file path, stream or third-party storage for further processing with GroupDocs.Annotation for Java API." +keywords: Load document from local path, Load document from stream +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows you to load password-protected documents and load documents from different sources. For more details please refer to the following guides: + +## More resources + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md new file mode 100644 index 0000000..43aef03 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md @@ -0,0 +1,61 @@ +--- +id: load-password-protected-documents +url: annotation/java/load-password-protected-documents +title: Load password-protected documents +weight: 1 +description: "This article explains how to load password-protected PDF, Word, Excel, PowerPoint documents when using GroupDocs.Annotation for Java." +keywords: Load password-protected document, Load protected document with GroupDocs.Annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +[**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) allows to annotate documents that are protected with a password. + +The following are the steps to process password-protected documents. + +* Instantiate [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object and specify source document password; + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) *object *with document path or stream and [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object created at previous step; + + +The following code sample shows how to work with password protected documents. + +```csharp +String outputPath = "LoadPasswordProtectedDocuments.pdf"; + +LoadOptions loadOptions = new LoadOptions(); +loadOptions.setPassword("1234"); + +Annotator annotator = new Annotator("input_protected.pdf", loadOptions); +AreaAnnotation area = new AreaAnnotation(); +area.setBox(new Rectangle(100, 100, 100, 100)); +area.setBackgroundColor(65535); + +annotator.add(area); +annotator.save(outputPath); +annotator.dispose(); +``` + +## More resources + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md new file mode 100644 index 0000000..a1730e0 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md @@ -0,0 +1,15 @@ +--- +id: loading-documents-from-different-sources +url: annotation/java/loading-documents-from-different-sources +title: Loading documents from different sources +weight: 2 +description: "Following this guide you will learn how to load PDF, Word, Excel, PowerPoint documents by local file path, stream or URL for further processing with GroupDocs.Annotation for Java API." +keywords: Load document from file path, Load document from URL, Load document from stream +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +# Loading documents from different sources + +[**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) allows you to annotate remotely located documents. The document processing would be similar to [Load document from stream]({{< ref "annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md" >}}). + +Following examples demonstrates how to load documents from different sources. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md new file mode 100644 index 0000000..b377fdb --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md @@ -0,0 +1,64 @@ +--- +id: load-document-from-ftp +url: annotation/java/load-document-from-ftp +title: Load document from FTP +weight: 4 +description: "This article explains how to load PDF, Word, Excel, PowerPoint documents from FTP when using GroupDocs.Annotation for Java." +keywords: Load document from URL, Load document by FTP GroupDocs.Annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +Following example demonstrates how to annotate document from FTP. + +```csharp +import org.apache.commons.net.ftp.FTPClient; + +public static void main() { + String outputPath = "LoadDocumentFromFtp.pdf"; + String filePath = "sample.pdf"; + String server = "localhost"; + + Annotator annotator = new Annotator(getFileFromFtp(server, filePath)); + + AreaAnnotation area = new AreaAnnotation(); + area.setBox(new Rectangle(100, 100, 100, 100)); + area.setBackgroundColor(65535); + + annotator.add(area); + annotator.save(outputPath); + annotator.dispose(); +} + +private static InputStream getFileFromFtp(String server, String filePath) throws IOException { + FTPClient client = new FTPClient(); + client.connect(server); + InputStream inputStream = client.retrieveFileStream(filePath); + client.disconnect(); + return inputStream; +} +``` + +## More resources + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md new file mode 100644 index 0000000..a6bdcdd --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md @@ -0,0 +1,53 @@ +--- +id: load-document-from-local-disk +url: annotation/java/load-document-from-local-disk +title: Load document from local disk +weight: 1 +description: "This article explains how to load PDF, Word, Excel, PowerPoint documents from local disk when using GroupDocs.Annotation for Java." +keywords: Load document from local disk, Load document from file path, Load document with GroupDocs.Annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +When the source document is located on the local disk [**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) allows you to load it via [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)class constructor specifying absolute or relative path to it.  +For loading target document located on the local disk you should use [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method that accepts absolute or relative path as parameter.  + +Following code snippet shows how to load documents from local disk. + +```csharp +String outputPath = "LoadDocumentFromLocalDisk.pdf"; + +Annotator annotator = new Annotator("input.pdf"); + +AreaAnnotation area = new AreaAnnotation(); +area.setBox(new Rectangle(100, 100, 100, 100)); +area.setBackgroundColor(65535); + +annotator.add(area); +annotator.save(outputPath); +annotator.dispose(); +``` + +## More resources + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md new file mode 100644 index 0000000..051c097 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md @@ -0,0 +1,59 @@ +--- +id: load-document-from-stream +url: annotation/java/load-document-from-stream +title: Load document from stream +weight: 2 +description: "This article explains how to load PDF, Word, Excel, PowerPoint documents from stream when using GroupDocs.Annotation for Java." +keywords: Load document from stream, Load document with GroupDocs.Annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +There might be the case when source or target document is not physically located on the disk. Instead, you have the document in the form of a stream. In this case, to avoid the overhead of saving stream as a file on disk, [**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) provides a way to work with document streams directly.  +The following are the steps to be followed: + +* Obtain document stream;  +* Pass opened source document stream to [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)class constructor. + +Following code snippet describes this case. + +**Java** + +```csharp +String outputPath = "LoadDocumentFromStream.pdf"; + +InputStream stream = new FileInputStream("input.pdf"); +final Annotator annotator = new Annotator(stream); + +AreaAnnotation area = new AreaAnnotation(); +area.setBox(new Rectangle(100, 100, 100, 100)); +area.setBackgroundColor(65535); + +annotator.add(area); +annotator.save(outputPath); +annotator.dispose(); +``` + +## More resources + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md new file mode 100644 index 0000000..f8cc774 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md @@ -0,0 +1,53 @@ +--- +id: load-document-from-url +url: annotation/java/load-document-from-url +title: Load document from URL +weight: 3 +description: "This article explains how to load PDF, Word, Excel, PowerPoint documents from URL when using GroupDocs.Annotation for Java." +keywords: Load document from URL, Load document by URL GroupDocs.Annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +Following example demonstrates how to annotate document from URL. + +**Java** + +```csharp +String outputPath = "LoadDocumentFromUrl.pdf"; + +String url = "https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/blob/master/Examples/Resources/SampleFiles/input.pdf?raw=true"; +Annotator annotator = new Annotator(new URL(url).openStream()); + +AreaAnnotation area = new AreaAnnotation(); +area.setBox(new Rectangle(100, 100, 100, 100)); +area.setBackgroundColor(65535); +annotator.add(area); +annotator.save(outputPath); + +annotator.dispose();  +``` + +## More resources + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md new file mode 100644 index 0000000..3a41f77 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md @@ -0,0 +1,26 @@ +--- +id: saving +url: annotation/java/saving +title: Saving +weight: 3 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +# Saving + +**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** provides different ways of saving resultant document - with specific annotations type only, save only annotated pages, save specific page range from resultant document, set password on saving resultant document etc. + +The [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) class provides following properties to customize saving process: + +* **AnnotationTypes **\- defines annotation types to be saved into resultant document; + +* **FirstPage** - first page number when saving specific page range; + +* **LastPage** - last page number when saving specific page range; + +* **OnlyAnnotatedPages** - indicates whether to save only annotated pages or not; + + +For more details please refer to the following guides: diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md new file mode 100644 index 0000000..4198547 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md @@ -0,0 +1,76 @@ +--- +id: filtering-annotation-types +url: annotation/java/filtering-annotation-types +title: Filtering annotation types +weight: 1 +description: "Learn this guide to check how to filter annotation types during saving document using GroupDocs.Annotation for Java API." +keywords: save specific annotation types, save annotations +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +This feature can be using when need to save only specific annotation types and ignore others. + +The following are the steps how to filter exported annotations to document:  + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) objectand set [AnnotationType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/AnnotationType) desired annotation type(s), that will presented in resultant document; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; + + +Following code snippet shows how to save only pages with specific annotation type + +**Java** + +```csharp +String outputPath = "FilteringAnnotationTypes.pdf"; + +Annotator annotator = new Annotator("input.pdf"); + +AreaAnnotation area = new AreaAnnotation(); +area.setBox(new Rectangle(100, 100, 100, 100)); +area.setBackgroundColor(65535); +area.setPageNumber(1); + +EllipseAnnotation ellipse = new EllipseAnnotation(); +ellipse.setBox(new Rectangle(100, 100, 100, 100)); +ellipse.setBackgroundColor(123456); +ellipse.setPageNumber(4); + +List tmp0 = new ArrayList(); +tmp0.add(area); +tmp0.add(ellipse); +annotator.add(tmp0); + +SaveOptions tmp1 = new SaveOptions(); +tmp1.setAnnotationTypes(AnnotationType.Ellipse); + +annotator.save(outputPath, tmp1); +annotator.dispose(); +``` + +## More resources + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md new file mode 100644 index 0000000..dc519e8 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md @@ -0,0 +1,75 @@ +--- +id: save-only-annotated-pages +url: annotation/java/save-only-annotated-pages +title: Save only annotated pages +weight: 2 +description: "This article demonstrates how to save only annotated pages when using GroupDocs.Annotation for Java API." +keywords: Save annotated pages, save annotations +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +Result document will contains only pages, which contains any annotation. + +The following are the steps how to export to resultant document only annotated pages:  + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) objectand set [AnnotationType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/AnnotationType) desired annotation type(s), that will presented in resultant document; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; + + +Following code snippet shows how to save only annotated pages of document + +```csharp +String outputPath = "SavingOnlyPagesWithAnnotations.pdf"; + +Annotator annotator = new Annotator("input.pdf"); + +AreaAnnotation area = new AreaAnnotation(); +area.setBox(new Rectangle(100, 100, 100, 100)); +area.setBackgroundColor(65535); +area.setPageNumber(1); + +EllipseAnnotation ellipse = new EllipseAnnotation(); +ellipse.setBox(new Rectangle(100, 100, 100, 100)); +ellipse.setBackgroundColor(123456); +ellipse.setPageNumber(2); + +List annotations = new ArrayList(); +annotations.add(area); +annotations.add(ellipse); + +annotator.add(annotations); + +SaveOptions saveOptions = new SaveOptions(); +saveOptions.setOnlyAnnotatedPages(true); +annotator.save(outputPath, saveOptions); + +annotator.dispose(); +``` + +## More resources + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md new file mode 100644 index 0000000..c70073c --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md @@ -0,0 +1,61 @@ +--- +id: save-specific-page-range +url: annotation/java/save-specific-page-range +title: Save specific page range +weight: 3 +description: "This article demonstrates how to save specific page range when annotating documents with GroupDocs.Annotation for Java API." +keywords: Save specific annotated pages, save specific pages +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +In case of processing large documents (for example 100 pages or more) there is an ability to save only specific pages or desired pages range.  + +The following are the steps how to export resultant specific page range:  + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) objectand use [setFirstPage](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions#setFirstPage(int))and high bound [setLastPage](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions#setLastPage(int))*for setting select borders*; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; + + +The following code demonstrates how to save the range of document page:  + +```csharp +String outputPath = "SavingSpecificPageRange.pdf"; + +Annotator annotator = new Annotator("input.pdf"); + +SaveOptions saveOptions = new SaveOptions(); +saveOptions.setFirstPage(2); +saveOptions.setLastPage(4); + +annotator.save(outputPath, saveOptions); + +annotator.dispose(); +``` + +## More resources + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/_index.md b/Docs/content/annotation/java/developer-guide/basic-usage/_index.md new file mode 100644 index 0000000..370dc66 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/_index.md @@ -0,0 +1,14 @@ +--- +id: basic-usage +url: annotation/java/basic-usage +title: Basic usage +weight: 1 +description: "Quick Start section about main features of GroupDocs.Annotation API, describes how to annotate documents with just couple lines of code." +keywords: GroupDocs.Annotation Quick Start, GroupDocs.Annotation Java Basic Usage, GroupDocs.Annotation Quick Start Java, GroupDocs.Annotation Get Started +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +## Quick Start section for GroupDocs.Annotation API + +Annotate your documents fast and easy with our intuitive and powerful API just with few lines of code. +Let’s review common usage scenarios when documents are stored at a local drive and you want to annotate them using GroupDocs.Annotation API. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md new file mode 100644 index 0000000..c3970be --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md @@ -0,0 +1,41 @@ +--- +id: add-annotation-to-the-document +url: annotation/java/add-annotation-to-the-document +title: Add annotation to the document +weight: 3 +description: "Learn about what is a document annotation, what possible annotation types are, and how to programmatically add annotations to a document using GroupDocs.Annotation API." +keywords: What is annotation, document annotation, add annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +# What is a document annotation? + +**Annotation** is a textual or graphic notes, comments and remarks attached to a specific part of a document content - sections, paragraphs, sentences or even words. Annotations are often used by a group of collaborators to edit and review documents in a quick and handy manner - the document is shared with reviewers who then mark it up and add notes. Then assigned team members read these annotations and modify document content accordingly. + +Today annotations can be programmatically added to a documents and images of various  types - PDF, Microsoft Word and Open Document text documents, Microsoft Excel spreadsheets, Microsoft PowerPoint presentations, PNG / JPG / TIFF images etc.  + +# Add annotation to the document + +**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to apply multiple annotation types to the different document formats. Supported annotations list is described in a table below.  + +## List of supported annotations + +| Annotation | Description | +| --- | --- | +| [Area]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md" >}}) | Rectangle annotation that can be applied in random place on document page. | +| [Arrow]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md" >}}) | Annotation in the form of pointer or arrow. | +| [Distance]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md" >}}) | Annotation looks like arrow but with arrows at both line ends. For most document formats this annotation can contains text value (this feature not support for Word documents). | +| [Ellipse]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md" >}}) | Circle-based annotation. | +| [Highlight]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md" >}}) | This annotation highlight text. Applicable only for text. | +| [Link]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md" >}}) | Represents a web-link that can be applied to the part of text. This annotation supports only for Pdf, WordProcessing documents and Presentations. | +| [Point]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md" >}}) | Represents abstract point annotation. | +| [Polyline]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md" >}}) | Represents free-hand drawing line. | +| [Replacement]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md" >}}) | Replace original document text by user text. Applicable only for text. | +| [Resource redaction]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md" >}}) | Represents free rectangle annotation with fixed position and black background. For this annotation is impossible to move it (in result document), and change any visual properties. | +| [Strikeout]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md" >}}) | Make selected text strikeout. Applicable only for text. | +| [Text field]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md" >}}) | This is a rectangle annotation with some text inside rectangle area. | +| [Text redaction]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md" >}}) | Same as resource redaction annotation, but applicable only for text. | +| [Underline]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md" >}}) | Make selected text underline. Applicable only for text. | +| [Watermark]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md" >}}) | Add text watermark. PageNumber for this annotation is ignored, because annotation adds to all document pages. For some document formats can set Angle property, that determines annotation angle rotation. | + +For detailed explanation about how to apply different annotation types to a document, please check these guides: diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md new file mode 100644 index 0000000..f6c032c --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md @@ -0,0 +1,103 @@ +--- +id: add-area-annotation +url: annotation/java/add-area-annotation +title: Add area annotation +weight: 1 +description: "Learn what is area annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is area annotation, how to add annotation, add area annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Area annotation** allows to mark up an area within the document page with a rectangle like shown at the picture below.  + +![](annotation/java/images/add-area-annotation.png) + +There is an ability to specify the next fields for [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) type: + +* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; + +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; + +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; + +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; + +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); + +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. + + +Follow these steps to add Area annotation to document: + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)objectwith input document path or stream; + +* Instantiate [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) objectwith desired fields (position, page number, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) object; + +* Call [save](https://apireference-qa.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. + + +The following code demonstrates how to add [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) to the document: + +```csharp + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + String outputPath = Constants.getOutputFilePath("AddAreaAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + final Annotator annotator = new Annotator(Constants.INPUT); + try { + AreaAnnotation area = new AreaAnnotation(); + area.setBackgroundColor(65535); + area.setBox(new Rectangle(100, 100, 100, 100)); + area.setCreatedOn(Calendar.getInstance().getTime()); + area.setMessage("This is area annotation"); + area.setOpacity(0.7); + area.setPageNumber(0); + area.setPenColor(65535); + area.setPenStyle(PenStyle.Dot); + area.setPenWidth((byte) 3); + area.setReplies(replies); + annotator.add(area); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md new file mode 100644 index 0000000..1c6f62d --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md @@ -0,0 +1,100 @@ +--- +id: add-arrow-annotation +url: annotation/java/add-arrow-annotation +title: Add arrow annotation +weight: 2 +description: "Learn what is arrow annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is arrow annotation, how to add annotation, add arrow annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Arrow annotation** draws an arrow on the document like shown at the picture below.  + +![](annotation/java/images/add-arrow-annotation.png) + +There  is an ability to specify the next fields for [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) type: + +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; + +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; + +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; + +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); + +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. + + +Follow these steps to add Arrow annotation to document:  + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation)objectwith input document path or stream; + +* Instantiate [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) objectwith desired properties (position, page number, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) object; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. + + +The following code demonstrates how to add [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) to the document: + +```csharp +String outputPath = Constants.getOutputFilePath("AddArrowAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + final Annotator annotator = new Annotator(Constants.INPUT); + try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + ArrowAnnotation arrow = new ArrowAnnotation(); + arrow.setBox(new Rectangle(100, 100, 100, 100)); + arrow.setCreatedOn(Calendar.getInstance().getTime()); + arrow.setMessage("This is arrow annotation"); + arrow.setOpacity(0.7); + arrow.setPageNumber(0); + arrow.setPenColor(65535); + arrow.setPenStyle(PenStyle.Dot); + arrow.setPenWidth((byte) 3); + arrow.setReplies(replies); + annotator.add(arrow); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md new file mode 100644 index 0000000..77ce890 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md @@ -0,0 +1,101 @@ +--- +id: add-distance-annotation +url: annotation/java/add-distance-annotation +title: Add distance annotation +weight: 3 +description: "Learn what is a distance annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is a distance annotation, how to add annotation, add distance annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Distance annotation** measures a distance between objects in a document like shown at the picture below.  + +![](annotation/java/images/add-distance-annotation.png) + +There is an ability to specify the next fields for [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) type: + +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; + +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; + +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; + +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); + +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. + + + +Follow these steps to add Distance annotation to document:   + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) objectwith desired properties (position, page number, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) object; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. + + +The following code demonstrates how to add [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) to the document: + +```csharp +String outputPath = Constants.getOutputFilePath("AddDistanceAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + final Annotator annotator = new Annotator(Constants.INPUT); + try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + DistanceAnnotation distance = new DistanceAnnotation(); + distance.setBox(new Rectangle(200, 150, 200, 30)); + distance.setCreatedOn(Calendar.getInstance().getTime()); + distance.setMessage("This is distance annotation"); + distance.setOpacity(0.7); + distance.setPageNumber(0); + distance.setPenColor(65535); + distance.setPenStyle(PenStyle.Dot); + distance.setPenWidth((byte) 3); + distance.setReplies(replies); + annotator.add(distance); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md new file mode 100644 index 0000000..d007930 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md @@ -0,0 +1,103 @@ +--- +id: add-ellipse-annotation +url: annotation/java/add-ellipse-annotation +title: Add ellipse annotation +weight: 4 +description: "Learn what is an ellipse annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is a ellipse annotation, how to add annotation, add ellipse annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Ellipse annotation** draws elliptic annotation in a document page like shown at the picture below. + +![](annotation/java/images/add-ellipse-annotation.png) + +There is an ability to specify the next fields for [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation)type*:* + +* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; + +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; + +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; + +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; + +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); + +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. + + +Follow these steps to add Ellipse annotation to document:  + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) objectwith desired properties (position, page number, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) object; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. + + +The following code demonstrates how to add [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) to the document:  + +```csharp +String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + final Annotator annotator = new Annotator(Constants.INPUT); + try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + EllipseAnnotation ellipse = new EllipseAnnotation(); + ellipse.setBackgroundColor(65535); + ellipse.setBox(new Rectangle(100, 100, 100, 100)); + ellipse.setCreatedOn(Calendar.getInstance().getTime()); + ellipse.setMessage("This is ellipse annotation"); + ellipse.setOpacity(0.7); + ellipse.setPageNumber(0); + ellipse.setPenColor(65535); + ellipse.setPenStyle(PenStyle.Dot); + ellipse.setPenWidth((byte) 3); + ellipse.setReplies(replies); + annotator.add(ellipse); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md new file mode 100644 index 0000000..92ed7f0 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md @@ -0,0 +1,105 @@ +--- +id: add-highlight-annotation +url: annotation/java/add-highlight-annotation +title: Add highlight annotation +weight: 5 +description: "Learn what is a highlight annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is a highlight annotation, how to add annotation, add highlight annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Highlight** annotation highlights and comments selected text  like shown at the picture below.  + +![](annotation/java/images/add-highlight-annotation.png) + +There is an ability to specify the next fields for [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) type:  + +* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; + +* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; + +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; + +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. + + +Follow these steps to add Highlight annotation to document:  + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) objectwith desired properties (position, page number, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) object; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. + + +The following code demonstrates how to add [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) to the document: + +```csharp + final Annotator annotator = new Annotator(Constants.INPUT); + try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + Point point1 = new Point(80, 730); + Point point2 = new Point(240, 730); + Point point3 = new Point(80, 650); + Point point4 = new Point(240, 650); + List points = new ArrayList(); + points.add(point1); + points.add(point2); + points.add(point3); + points.add(point4); + HighlightAnnotation highlight = new HighlightAnnotation(); + highlight.setBackgroundColor(65535); + highlight.setCreatedOn(Calendar.getInstance().getTime()); + highlight.setFontColor(0); + highlight.setMessage("This is highlight annotation"); + highlight.setOpacity(0.5); + highlight.setPageNumber(0); + highlight.setPoints(points); + highlight.setReplies(replies); + annotator.add(highlight); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md new file mode 100644 index 0000000..6afa335 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md @@ -0,0 +1,101 @@ +--- +id: add-link-annotation +url: annotation/java/add-link-annotation +title: Add link annotation +weight: 6 +description: "Learn what is a link annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is a link annotation, how to add annotation, add link annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Link** annotation adds a hyper link to document  like shown at the picture below.  + +![](annotation/java/images/add-link-annotation.png) + +There is an ability to specify the next fields for [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) type: + +* [Url](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation#getUrl()) - link to the web resource. + +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation#getPoints()) - annotation positions set by array of points. + + +Follow these steps to add Underline annotation to document: + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) objectwith desired properties (position, page number, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) object; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. + + +The following code demonstrates how to add [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) to the document: + +```csharp +String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + final Annotator annotator = new Annotator(Constants.INPUT); + try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + Point point1 = new Point(80, 730); + Point point2 = new Point(240, 730); + Point point3 = new Point(80, 650); + Point point4 = new Point(240, 650); + List points = new ArrayList(); + points.add(point1); + points.add(point2); + points.add(point3); + points.add(point4); + LinkAnnotation link = new LinkAnnotation(); + link.setCreatedOn(Calendar.getInstance().getTime()); + link.setMessage("This is link annotation"); + link.setOpacity(0.7); + link.setPageNumber(0); + link.setPoints(points); + link.setReplies(replies); + link.setUrl("https://www.google.com"); + annotator.add(link); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md new file mode 100644 index 0000000..26ac521 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md @@ -0,0 +1,88 @@ +--- +id: add-point-annotation +url: annotation/java/add-point-annotation +title: Add point annotation +weight: 7 +description: "Learn what is a point annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is a point annotation, how to add annotation, add point annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Point** annotationsticks comments to any point in a document like shown at the picture below.  + +![](annotation/java/images/add-point-annotation.png) + +There is an ability to specify the next fields for [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) type: + +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PointAnnotation#getBox()) - defines annotation position at document page; + + +Follow these steps to add Point annotation to document:   + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) objectwith desired properties (position, page number, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) object; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. + + +The following code demonstrates how to add [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) to the document: + +```csharp +String outputPath = Constants.getOutputFilePath("AddPointAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + final Annotator annotator = new Annotator(Constants.INPUT); + try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + PointAnnotation point = new PointAnnotation(); + point.setBox(new Rectangle(100, 100, 0, 0)); + point.setCreatedOn(Calendar.getInstance().getTime()); + point.setMessage("This is point annotation"); + point.setPageNumber(0); + point.setReplies(replies); + annotator.add(point); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md new file mode 100644 index 0000000..ce4453b --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md @@ -0,0 +1,103 @@ +--- +id: add-polyline-annotation +url: annotation/java/add-polyline-annotation +title: Add polyline annotation +weight: 8 +description: "Learn what is a polyline annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is a polyline annotation, how to add annotation, add polyline annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Polyline** annotation allows to draw shapes and freehand lines like shown at the picture below.  + +![](annotation/java/images/add-polyline-annotation.png) + +There is an ability to specify the next fields for [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) type: + +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; + +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; + +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; + +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); + +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. + +* [SvgPath](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation#getSvgPath()) \- SVG path that describes shape. + + +Follow these steps to add Polyline annotation to document: + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) objectwith desired properties (position, page number, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) object; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. + + +The following code demonstrates how to add [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) to the document: + +```csharp +String outputPath = Constants.getOutputFilePath("AddPolylineAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + final Annotator annotator = new Annotator(Constants.INPUT); + try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + PolylineAnnotation polyline = new PolylineAnnotation(); + polyline.setBox(new Rectangle(250, 35, 102, 12)); + polyline.setCreatedOn(Calendar.getInstance().getTime()); + polyline.setMessage("This is polyline annotation"); + polyline.setOpacity(0.7); + polyline.setPageNumber(0); + polyline.setPenColor(65535); + polyline.setPenStyle(PenStyle.Dot); + polyline.setPenWidth((byte) 3); + polyline.setReplies(replies); + polyline.setSvgPath("M250.8280751173709,48.209295774647885l0.6986854460093896,0l0.6986854460093896,-1.3973708920187793l0.6986854460093896,0l0.6986854460093896,-1.3973708920187793l1.3973708920187793,-0.6986854460093896l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0l2.096056338028169,-1.3973708920187793l3.493427230046948,-1.3973708920187793l0.6986854460093896,-0.6986854460093896l1.3973708920187793,-1.3973708920187793l0.6986854460093896,0l1.3973708920187793,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0l0,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l0,-0.6986854460093896l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l2.096056338028169,-0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l1.3973708920187793,0l1.3973708920187793,0l2.096056338028169,0l5.589483568075117,0l1.3973708920187793,0l2.096056338028169,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l1.3973708920187793,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0l2.096056338028169,1.3973708920187793l0.6986854460093896,0l0.6986854460093896,0l0,0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0.6986854460093896l0,0.6986854460093896l0.6986854460093896,0l1.3973708920187793,0.6986854460093896l1.3973708920187793,0.6986854460093896l3.493427230046948,0.6986854460093896l1.3973708920187793,0.6986854460093896l2.096056338028169,0.6986854460093896l1.3973708920187793,0.6986854460093896l1.3973708920187793,0l1.3973708920187793,0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l2.7947417840375586,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l2.7947417840375586,0l0.6986854460093896,0l2.7947417840375586,0l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0"); + annotator.add(polyline); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md new file mode 100644 index 0000000..a10a951 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md @@ -0,0 +1,106 @@ +--- +id: add-replacement-annotation +url: annotation/java/add-replacement-annotation +title: Add replacement annotation +weight: 9 +description: "Learn what is a replacement annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is a replacement annotation, how to add annotation, add replacement annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Replacement** annotation replaces original text with other provided text fragment. Please check the picture below to know how replacement annotation may look like.  + +![](annotation/java/images/add-replacement-annotation.png) + +There is an ability to specify the next fields for [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) type: + +* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; + +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; + +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. + +* [TextToReplace](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation#getTextToReplace()) - text that will be replaced  + + + Follow these steps to add Replacement annotation to document:   + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) objectwith desired properties (position, page number, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) object; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream; + + +The following code demonstrates how to add [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) to the document: + +```csharp +String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + final Annotator annotator = new Annotator(Constants.INPUT); + try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + Point point1 = new Point(80, 730); + Point point2 = new Point(240, 730); + Point point3 = new Point(80, 650); + Point point4 = new Point(240, 650); + List points = new ArrayList(); + points.add(point1); + points.add(point2); + points.add(point3); + points.add(point4); + ReplacementAnnotation replacement = new ReplacementAnnotation(); + replacement.setCreatedOn(Calendar.getInstance().getTime()); + replacement.setFontColor(65535); + replacement.setMessage("This is replacement annotation"); + replacement.setOpacity(0.7); + replacement.setPageNumber(0); + replacement.setPoints(points); + replacement.setReplies(replies); + replacement.setTextToReplace("replaced text"); + annotator.add(replacement); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md new file mode 100644 index 0000000..515127d --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md @@ -0,0 +1,88 @@ +--- +id: add-resource-redaction-annotation +url: annotation/java/add-resource-redaction-annotation +title: Add resource redaction annotation +weight: 10 +description: "Learn what is a resource redaction annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is a resource redaction annotation, how to add annotation, add resource redaction annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Resource redaction** annotation fills black rectangle with fixed position (used if you want to hide some text) like shown at the picture below.  + +![](annotation/java/images/add-resource-redaction-annotation.png) + +There is an ability to specify the next fields for [ResourcesRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) type: + +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation#getBox()) - defines annotation position at document page; + + +Follow these steps to add Resource redaction annotation to document: + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [ResourceRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) objectwith desired properties (position, page number, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [ResourceRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) object; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. + + +The following code demonstrates how to add [ResourcesRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) to the document: + +```csharp +String outputPath = Constants.getOutputFilePath("AddResourcesRedactionAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + final Annotator annotator = new Annotator(Constants.INPUT); + try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + ResourcesRedactionAnnotation resourcesRedaction = new ResourcesRedactionAnnotation(); + resourcesRedaction.setBox(new Rectangle(100, 100, 100, 100)); + resourcesRedaction.setCreatedOn(Calendar.getInstance().getTime()); + resourcesRedaction.setMessage("This is resources redaction annotation"); + resourcesRedaction.setPageNumber(0); + resourcesRedaction.setReplies(replies); + annotator.add(resourcesRedaction); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md new file mode 100644 index 0000000..ba7052a --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md @@ -0,0 +1,103 @@ +--- +id: add-strikeout-annotation +url: annotation/java/add-strikeout-annotation +title: Add strikeout annotation +weight: 11 +description: " Learn what is a strikeout annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is a strikeout annotation, how to add annotation, add strikeout annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Strikeout** annotation marks text fragment with a strikethrough styling like shown at the picture below. + +![](annotation/java/images/add-strikeout-annotation.png) + +There is an ability to specify the next fields for [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) type: + +* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; + +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; + +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. + + +Follow these steps to add Strikeout annotation to document: + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) objectwith input document path or stream; + +* Instantiate [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) objectwith desired properties (position, page number, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) object; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. + + +The following code demonstrates how to add [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) to the document: + +```csharp +String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + final Annotator annotator = new Annotator(Constants.INPUT); + try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + Point point1 = new Point(80, 730); + Point point2 = new Point(240, 730); + Point point3 = new Point(80, 650); + Point point4 = new Point(240, 650); + List points = new ArrayList(); + points.add(point1); + points.add(point2); + points.add(point3); + points.add(point4); + StrikeoutAnnotation strikeout = new StrikeoutAnnotation(); + strikeout.setCreatedOn(Calendar.getInstance().getTime()); + strikeout.setFontColor(65535); + strikeout.setMessage("This is strikeout annotation"); + strikeout.setOpacity(0.7); + strikeout.setPageNumber(0); + strikeout.setPoints(points); + strikeout.setReplies(replies); + annotator.add(strikeout); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md new file mode 100644 index 0000000..ef87100 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md @@ -0,0 +1,117 @@ +--- +id: add-text-field-annotation +url: annotation/java/add-text-field-annotation +title: Add text field annotation +weight: 12 +description: "Learn what is a text field annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is a text field annotation, how to add annotation, add text field annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Text field** annotation adds rectangle with a text inside, like shown at the picture below.  + +![](annotation/java/images/add-text-field-annotation.png) + +There is an ability to specify the next fields for [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) type: + +* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; + +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; + +* [Text](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getText()) - text that will be appear in rectangle + +* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontColor()) - color of the text + +* [FontFamily](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontFamily()) - name of text font; + +* [FontSize](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontSize())  - size of text font; + +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; + +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; + +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); + +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. + + +Follow these steps to add *TextField* annotation to document:  + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) objectwith desired properties (position, page number, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) object; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. + + +The following code demonstrates how to add [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) to the document: + +```csharp +String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + final Annotator annotator = new Annotator(Constants.INPUT); + try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + Point point1 = new Point(80, 730); + Point point2 = new Point(240, 730); + Point point3 = new Point(80, 650); + Point point4 = new Point(240, 650); + List points = new ArrayList(); + points.add(point1); + points.add(point2); + points.add(point3); + points.add(point4); + StrikeoutAnnotation strikeout = new StrikeoutAnnotation(); + strikeout.setCreatedOn(Calendar.getInstance().getTime()); + strikeout.setFontColor(65535); + strikeout.setMessage("This is strikeout annotation"); + strikeout.setOpacity(0.7); + strikeout.setPageNumber(0); + strikeout.setPoints(points); + strikeout.setReplies(replies); + annotator.add(strikeout); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md new file mode 100644 index 0000000..67f1feb --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md @@ -0,0 +1,97 @@ +--- +id: add-text-redaction-annotation +url: annotation/java/add-text-redaction-annotation +title: Add text redaction annotation +weight: 13 +description: "Learn what is a text redaction annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is a text redaction annotation, how to add annotation, add text redaction annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Text redaction** annotation fills part of text with black rectangle (used if you want to hide some text) like shown at the picture below. + +![](annotation/java/images/add-text-redaction-annotation.png) + +There is an ability to specify the next fields for [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) type + +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation#getPoints()) - annotation positions set by array of points. + + +Follow these steps to add TextRedaction annotation to document: + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) objectwith desired properties (position, page number, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) object; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. + + +The following code demonstrates how to add [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) to the document: + +```csharp +String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + final Annotator annotator = new Annotator(Constants.INPUT); + try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + Point point1 = new Point(80, 730); + Point point2 = new Point(240, 730); + Point point3 = new Point(80, 650); + Point point4 = new Point(240, 650); + List points = new ArrayList(); + points.add(point1); + points.add(point2); + points.add(point3); + points.add(point4); + TextRedactionAnnotation textRedaction = new TextRedactionAnnotation(); + textRedaction.setCreatedOn(Calendar.getInstance().getTime()); + textRedaction.setMessage("This is text redaction annotation"); + textRedaction.setPageNumber(0); + textRedaction.setPoints(points); + textRedaction.setReplies(replies); + annotator.add(textRedaction); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md new file mode 100644 index 0000000..8fa66bb --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md @@ -0,0 +1,103 @@ +--- +id: add-underline-annotation +url: annotation/java/add-underline-annotation +title: Add underline annotation +weight: 14 +description: "Learn what is an underline annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is a underline annotation, how to add annotation, add underline annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Underline **annotation marks text with a underline styling like shown at the picture below.  + +![](annotation/java/images/add-underline-annotation.png) + +There is an ability to specify the next fields for [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) type: + +* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; + +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; + +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. + + +Follow these steps to add Underline annotation to document: + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) objectwith desired properties (position, page number, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) object; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. + + +The following code demonstrates how to add [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) to the document: + +```csharp +String outputPath = Constants.getOutputFilePath("AddTextUnderlineAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + final Annotator annotator = new Annotator(Constants.INPUT); + try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + Point point1 = new Point(80, 730); + Point point2 = new Point(240, 730); + Point point3 = new Point(80, 650); + Point point4 = new Point(240, 650); + List points = new ArrayList(); + points.add(point1); + points.add(point2); + points.add(point3); + points.add(point4); + UnderlineAnnotation underline = new UnderlineAnnotation(); + underline.setCreatedOn(Calendar.getInstance().getTime()); + underline.setFontColor(65535); + underline.setMessage("This is underline annotation"); + underline.setOpacity(0.7); + underline.setPageNumber(0); + underline.setPoints(points); + underline.setReplies(replies); + annotator.add(underline); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md new file mode 100644 index 0000000..b97e8b1 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md @@ -0,0 +1,105 @@ +--- +id: add-watermark-annotation +url: annotation/java/add-watermark-annotation +title: Add watermark annotation +weight: 15 +description: "Learn what is a watermark annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." +keywords: What is a watermark annotation, how to add annotation, add watermark annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**Watermark** annotation adds text watermark like shown at the picture below.  + +![](annotation/java/images/add-watermark-annotation.png) + +There is an ability to specify the next fields for [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) type: + +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PointAnnotation#getBox()) - defines annotation position at document page; + +* [Text](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getText()) - text of watermark; + +* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; + +* [FontFamily](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontFamily()) - name of text font; + +* [FontSize](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontSize())  - size of text font; + +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; + +* [Angle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation#getAngle()) - watermark text angle. + + +Follow these steps to add Watermark annotation to document:  + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; + +* Instantiate [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) objectwith desired properties (position, color, etc); + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) object; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. + + +The following code demonstrates how to add [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) to the document: + +```csharp +String outputPath = Constants.getOutputFilePath("AddWatermarkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + final Annotator annotator = new Annotator(Constants.INPUT); + try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + WatermarkAnnotation watermark = new WatermarkAnnotation(); + watermark.setAngle((double) 75); + watermark.setBox(new Rectangle(200, 200, 100, 50)); + watermark.setCreatedOn(Calendar.getInstance().getTime()); + watermark.setText("Watermark"); + watermark.setFontColor(65535); + watermark.setFontSize((double) 12); + watermark.setMessage("This is watermark annotation"); + watermark.setOpacity(0.7); + watermark.setPageNumber(0); + watermark.setReplies(replies); + annotator.add(watermark); + annotator.save(outputPath); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md b/Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md new file mode 100644 index 0000000..d359975 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md @@ -0,0 +1,58 @@ +--- +id: extract-annotations-from-document +url: annotation/java/extract-annotations-from-document +title: Extract annotations from document +weight: 4 +description: "Learn how to extract annotations from document when collaborate, edit and annotate documents using GroupDocs.Annotation for Java." +keywords: Extract annotations, annotate document, get document annotations +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** provides an ability to extract annotations from document. +To achieve this you should: + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)objectwith input document path or stream; +* Instantiate [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) objectand call [setImportAnnotations](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions#setImportAnnotations(boolean)) with*true *argument; +* Define variable with type *List<*[AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase)*\>;* +* Call [get](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#get()) method and return result to variable above. + +The following code demonstrates how to extract annotations metadata from document: + +```csharp +// for using this example input file ("annotated.pdf") must be with annotations +  +LoadOptions loadOptions = new LoadOptions(); +loadOptions.setImportAnnotations(true); + +final Annotator annotator = new Annotator("annotated.pdf", loadOptions); +List annotations = annotator.get(); +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md b/Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md new file mode 100644 index 0000000..cf42b13 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md @@ -0,0 +1,61 @@ +--- +id: get-file-info +url: annotation/java/get-file-info +title: Get file info +weight: 2 +description: "This article explains how to detect document file type, size and calculate pages count when annotate documents or images with GroupDocs.Annotation." +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to get document information which includes following methods. + +* [getFileType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/IDocumentInfo#getFileType()) +* [getPageCount](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/IDocumentInfo#getPageCount()) +* [getSize](https://apireference-qa.groupdocs.com/java/annotation/com.groupdocs.annotation/IDocumentInfo#getSize()) + +The following code sample demonstrates how to get information about document. + +**Java** + +```csharp +Annotator annotator = new Annotator("input.pdf"); +IDocumentInfo info = annotator.getDocument().getDocumentInfo(); + +System.out.println( + "\nFile type: " + info.getFileType() + +"\nNumber of pages: " + info.getPageCount() + +"\nDocument size: " + info.getSize() + " bytes" +); + +annotator.dispose(); +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md b/Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md new file mode 100644 index 0000000..113aab4 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md @@ -0,0 +1,55 @@ +--- +id: get-supported-file-formats +url: annotation/java/get-supported-file-formats +title: Get supported file formats +weight: 1 +description: "This article explains how to obtain supported file formats list when annotate documents and images with GroupDocs.Annotation within your Java applications." +keywords: supported image formats, supported file formats, annotation, Groupdocs annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to get the list of all supported file formats by following the below steps: + +* Call [getSupportedFileTypes()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType#getSupportedFileTypes()) method of [FileType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType) class; +* Enumerate through the collection of [FileType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType) objects. + +The following code sample demonstrates how to get supported file formats list. + +```csharp + List fileTypes = FileType.getSupportedFileTypes(); + //foreach to while statements conversion + Iterator items = (fileTypes).iterator(); + while (items.hasNext()) { + FileType fileType = (FileType) items.next(); + System.out.println(fileType.getExtension()); + } +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md b/Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md new file mode 100644 index 0000000..6ba4de0 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md @@ -0,0 +1,60 @@ +--- +id: remove-annotation-from-document +url: annotation/java/remove-annotation-from-document +title: Remove annotation from document +weight: 5 +description: "Learn how to extract annotations from document when collaborate, edit and annotate documents using GroupDocs.Annotation for Java. " +keywords: Extract annotations, annotate document, get document annotations +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** provides an ability to remove all previously added annotations from document and save cleaned document as it was before annotating. +There are the steps to remove annotations from document: + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)objectwith input document path or stream; + +* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) objectand set *AnnotationTypes = AnnotationType.None*; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; + + +The following code demonstrates how to remove annotation from document: + +**Java** + +```csharp +Annotator annotator = new Annotator("C://input.pdf"); +SaveOptions saveOptions = new SaveOptions(); +saveOptions.setAnnotationTypes(AnnotationType.None); +annotator.save("C://output.pdf", saveOptions); +annotator.dispose(); +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md b/Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md new file mode 100644 index 0000000..3346afd --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md @@ -0,0 +1,116 @@ +--- +id: update-annotations +url: annotation/java/update-annotations +title: Update annotations +weight: 6 +description: "Check this article and learn how to edit annotation properties - change annotation position, size, appearance etc. when annotate documents using GroupDocs.Annotation for Java." +keywords: Update annotations, Edit annotation, Change annotation properties +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +That case can be used when need to update some annotation properties (move, resize, change color and so on) or even annotation. Note, that for using this case is necessary need to set annotation Id property. It’s need because **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** must know which annotation must be changed. Or you can pass list of annotations. In that case all previous annotation collection will be replaced from new list. + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream with instantiated [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) with *ImportAnnotations = true;* + +* Create some [AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase) implementation and set Id of existed annotation (if annotation with that Id not found, nothing will be changed) or path list of annotations (all existed annotations will be removed); + +* Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List))method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with passed annotations; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; + + +The following code demonstrates how to update annotations: + +**Java** + +```csharp +String outputPath = "UpdateAnnotation.pdf"; + +Annotator annotator = new Annotator("input.pdf"); + +Reply reply1 = new Reply(); +reply1.setComment("Original first comment"); +reply1.setRepliedOn(Calendar.getInstance().getTime()); + +Reply reply2 = new Reply(); +reply2.setComment("Original second comment"); +reply2.setRepliedOn(Calendar.getInstance().getTime()); + +java.util.List replies = new ArrayList(); +replies.add(reply1); +replies.add(reply2); + +AreaAnnotation original = new AreaAnnotation(); +original.setId(1); +original.setBackgroundColor(65535); +original.setBox(new Rectangle(100, 100, 100, 100)); +original.setCreatedOn(Calendar.getInstance().getTime()); +original.setMessage("This is original annotation"); +original.setReplies(replies); + +// add original annotation +annotator.add(original); +annotator.save(outputPath); +annotator.dispose(); + +LoadOptions loadOptions = new LoadOptions(); +loadOptions.setImportAnnotations(true); + +// open annotated document +Annotator annotator1 = new Annotator(outputPath, loadOptions); + +Reply reply3 = new Reply(); +reply3.setComment("Updated first comment"); +reply3.setRepliedOn(Calendar.getInstance().getTime()); + +Reply reply4 = new Reply(); +reply4.setComment("Updated second comment"); +reply4.setRepliedOn(Calendar.getInstance().getTime()); + +java.util.List replies1 = new ArrayList(); +replies1.add(reply3); +replies1.add(reply4); + +// suggest we want change some properties of existed annotation +AreaAnnotation updated = new AreaAnnotation(); +updated.setId(1); +updated.setBackgroundColor(255); +updated.setBox(new Rectangle(0, 0, 50, 200)); +updated.setCreatedOn(Calendar.getInstance().getTime()); +updated.setMessage("This is updated annotation"); +updated.setReplies(replies1); + +// update annotation +annotator1.update(updated); +annotator1.save(outputPath); +annotator1.dispose(); +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md new file mode 100644 index 0000000..e756dbc --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md @@ -0,0 +1,16 @@ +--- +id: working-with-annotation-replies +url: annotation/java/working-with-annotation-replies +title: Working with annotation replies +weight: 7 +description: "What annotation replies are and how to manage them for different document types? Check this this guide and learn how to add, edit, delete annotations using GroupDocs.Annotation for Java API." +keywords: Annotation reply, what are annotation replies, what is reply +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +# What are Annotation Replies? + +**Annotation replies **are the commenting feature of Microsoft Office, PDF, and other document formats that allows to store written discussion inside a document and provides an effective way for users to collaborate during document review and redaction. Different software vendors provide their own way for commenting and annotating document content, so when you need to collaborate over various document types it’s required to have multiple applications installed on every collaborator’s device.  +Fortunately **[GroupDocs.Annotation for Java](https://products.groupdocs.com/annotation/java)** provides an easy and convenient API to add, edit or delete annotation replies for wide range of supported document formats within your application. + +Please check the guides below to learn more about how to add, change and remove annotation replies with several lines of code. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md new file mode 100644 index 0000000..63d1942 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md @@ -0,0 +1,123 @@ +--- +id: add-replies-to-annotation +url: annotation/java/add-replies-to-annotation +title: Add replies to annotation +weight: 1 +description: "Check this guide to learn how to add annotation replies when collaborate over document using GroupDocs.Annotation for Java API." +keywords: How to add annotation reply, add annotation reply, add reply, reply to annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +[**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) provides ability for several users to collaborate over document via annotation replies. Adding reply to an annotation via code is as easy as specifying reply content and related user object. +Here are the steps to add annotation replies: + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; + +* Instantiate [User](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/User)object; + +* Instantiate [Reply](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/Reply)object(s); + +* Instantiate some of [AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase) implementation object; + +* Assign [User](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/User) object to Reply.User property (or by default will be "Guest"); + +* Assign [Reply](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/Reply) object(s) to implementation of [AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase) object Replies property; + +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with passed annotations; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; + + +The following code demonstrates how to add replies to annotation: + +**Java** + +```csharp +String outputPath = "AddReplies.pdf"; + +Annotator annotator = new Annotator("input.pdf"); + +User user1 = new User(); +user1.setId(1); +user1.setName("Tom"); +user1.setEmail("somemail@mail.com"); + +User user2 = new User(); +user2.setId(2); +user2.setName("Jack"); +user2.setEmail("somebody@mail.com"); + +AreaAnnotation area = new AreaAnnotation(); +area.setBackgroundColor(65535); +area.setBox(new Rectangle(100, 100, 100, 100)); +area.setCreatedOn(Calendar.getInstance().getTime()); +area.setMessage("This is area annotation"); +area.setOpacity(0.7); +area.setPageNumber(0); +area.setPenColor(65535); +area.setPenStyle(PenStyle.Dot); +area.setPenWidth((byte) 3); + +Reply reply1 = new Reply(); +reply1.setId(1); +reply1.setComment("First comment"); +reply1.setRepliedOn(Calendar.getInstance().getTime()); +reply1.setUser(user1); + +Reply reply2 = new Reply(); +reply2.setId(2); +reply2.setComment("Second comment"); +reply2.setRepliedOn(Calendar.getInstance().getTime()); +reply2.setUser(user2); + +Reply reply3 = new Reply(); +reply3.setId(3); +reply3.setComment("Third comment"); +reply3.setRepliedOn(Calendar.getInstance().getTime()); +reply3.setUser(user1); + +Reply reply4 = new Reply(); +reply4.setId(4); +reply4.setComment("Fourth comment"); +reply4.setRepliedOn(Calendar.getInstance().getTime()); +reply4.setUser(user2); +java.util.List replies = new ArrayList(); +replies.add(reply1); +replies.add(reply2); +replies.add(reply3); +replies.add(reply4); +area.setReplies(replies); +annotator.add(area); +annotator.save(outputPath); + +annotator.dispose(); +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md new file mode 100644 index 0000000..e7d7800 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md @@ -0,0 +1,140 @@ +--- +id: remove-annotation-replies +url: annotation/java/remove-annotation-replies +title: Remove annotation replies +weight: 2 +description: "Check this guide to learn how to remove all or specific annotation replies when collaborate over document using GroupDocs.Annotation for Java API." +keywords: How to remove annotation reply, remove annotation reply, remove reply, reply to annotation, remove annotation comment +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +There is a quick and convenient way to remove specific or even all replies for some document annotation using **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** API. It is as easy as removing items from generic [List](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1) collection. In common case you have to follow these steps to delete replies: + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream + +* Call [get](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#get()) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and obtain collection of document annotations; + +* Access desired annotation object and remove reply in a most suitable way: + + * Call *annotations.get(index).getReplies().remove(*index*)* method with desired parameters; + + * Call [AnnotationBase.getReplies()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase#getReplies()) and remove replies that match desired criteria; + +* Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and pass annotations collection into it; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.lang.String)) method with resultant document path or stream; + + +## Remove specific annotation reply  + +The easiest way for removing specific annotation reply is to delete by its index inside Replies collection. The following code sample demonstrates how to remove first annotation reply: + +```csharp +LoadOptions loadOptions = new LoadOptions(); +loadOptions.setImportAnnotations(true); + +// NOTE: Input document already contain annotations with replies +final Annotator annotator = new Annotator("annotated_with_replies.pdf", loadOptions); + +// Obtain annotations collection from document +List annotations = annotator.get(); + +// Remove first reply +annotations.get(0).getReplies().remove(0); + +// Save changes +annotator.update(annotations); +annotator.save("RemoveRepliesById.pdf"); + +annotator.dispose(); +``` + +## Remove annotation replies by criteria + +The following code demonstrates how to remove replies that were added by user with name Tom: + +```csharp +LoadOptions loadOptions = new LoadOptions(); +loadOptions.setImportAnnotations(true); + +// NOTE: Input document already contain annotations with replies +final Annotator annotator = new Annotator("annotated_with_replies.pdf", loadOptions); + +// Obtain annotations collection from document +List annotations = annotator.get(); + +// Remove all replies where author name is "Tom" +for(int i = 0; i < annotations.get(0).getReplies().size(); i++) { + if(annotations.get(0).getReplies().get(i).getUser().getName().toString().equals("Tom")) { + annotations.get(0).getReplies().remove(i); + } +} + +// Save changes +annotator.update(annotations); +annotator.save("RemoveRepliesByUserName.pdf"); +annotator.dispose(); +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. + +`String outputPath =` `"RemoveRepliesByUserName.pdf"``;` + +`LoadOptions loadOptions =` `new` `LoadOptions();` + +`loadOptions.setImportAnnotations(``true``);` + +`// NOTE: Input document already contain annotations with replies` + +`final` `Annotator annotator =` `new` `Annotator(``"annotated_with_replies.pdf"``, loadOptions);` + +`// Obtain annotations collection from document` + +`List annotations = annotator.get();` + +`// Remove all replies where author name is "Tom"` + +`for``(``int` `i =` `0``; i < annotations.get(``0``).getReplies().size(); i++) {` + +`if``(annotations.get(``0``).getReplies().get(i).getUser().getName().toString().equals(``"Tom"``)) {` + +`annotations.get(``0``).getReplies().remove(i);` + +`}` + +`}` + +`// Save changes` + +`annotator.update(annotations);` + +`annotator.save(outputPath);` + +`annotator.dispose();` diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md new file mode 100644 index 0000000..282cdf5 --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md @@ -0,0 +1,76 @@ +--- +id: update-annotation-replies +url: annotation/java/update-annotation-replies +title: Update annotation replies +weight: 3 +description: "Check this guide to learn how to update annotation replies when collaborate over document using GroupDocs.Annotation for Java API." +keywords: How to change or remove annotation reply, update annotation reply, remove reply, reply to annotation +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +[**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) provides and ability to programmatically update annotation replies by accessing them by their index inside [Replies](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase#getReplies()) collection. + +Here is a steps to update annotation reply (considered that we already have some reply added to annotation) + +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream with instantiated [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) with *ImportAnnotations = true;* + +* Call *Get *method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and import annotations; + +* Access desired reply object via [getReplies](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase#getReplies()) method collection by its index (zero-based) and update its properties as needed; +* Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List)) method of Annotator object with passed annotations; + +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; + + +The following code demonstrates how to update reply by index:  + +**Java** + +```csharp +LoadOptions loadOptions = new LoadOptions(); +loadOptions.setImportAnnotations(true); + +// NOTE: Input document already contain annotations with replies +final Annotator annotator = new Annotator("annotated_with_replies.pdf", loadOptions); + +// Obtain annotations collection from document +List annotations = annotator.get(); + +// Update first annotation first reply +annotations.get(0).getReplies().get(0).setComment("Updated comment"); + +// Save changes +annotator.update(annotations); +annotator.save("RemoveRepliesById.pdf"); + +annotator.dispose(); +``` + +## More resources + +### Advanced Usage Topics + +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). + +### GitHub Examples + +You may easily run the code above and see the feature in action in our GitHub examples: + +* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) + +* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) + +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  + +* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) + +* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) + + +### Free Online App + +Along with full-featured Java library we provide simple, but powerful free Apps. + +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online [**GroupDocs Annotation App**](https://products.groupdocs.app/annotation). diff --git a/Docs/content/annotation/java/developer-guide/migration-notes.md b/Docs/content/annotation/java/developer-guide/migration-notes.md new file mode 100644 index 0000000..fb31b9f --- /dev/null +++ b/Docs/content/annotation/java/developer-guide/migration-notes.md @@ -0,0 +1,86 @@ +--- +id: migration-notes +url: annotation/java/migration-notes +title: Migration Notes +weight: 3 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +### Why To Migrate? + +Here are the key reasons to use the new updated API provided by GroupDocs.Annotation for Java since version 20.2: + +* **Annotator **class introduced as a **single entry point** to manage the document annotating process to any supported file format (instead of **AnnotationImageHandler** class from previous versions). + +* The overall **rendering speed improved** dramatically by saving rendered page as soon as it was rendered, not when all pages list were rendered. + +* Document **saving options simplified** so it’s easy to instantiate proper options class and control over document annotating and saving processes. + + +### How To Migrate? + +Here is a brief comparison of how to annotate document and save it using old and new API. + +#### Old coding style + +```csharp +List annotations = new List(); +AnnotationInfo areaAnnotation = new AnnotationInfo(); +areaAnnotation.setPageNumber(0); +areaAnnotation.setBox(new Rectangle(100, 100, 100, 100)); +areaAnnotation.setType(Domain.AnnotationType.Area); +areaAnnotation.setText("area"); + +AnnotationInfo ellipseAnnotation = new AnnotationInfo(); +ellipseAnnotation.setPageNumber(0); +ellipseAnnotation.setBox(new Rectangle(200, 200, 80, 80)); +ellipseAnnotation.setType(Domain.AnnotationType.Ellipse); +ellipseAnnotation.setText("ellipse"); + +// Create annotation config +AnnotationConfig config = new AnnotationConfig(); + +// Set storage path +config.setStoragePath("storage"); + +// Create annotation handler +AnnotationImageHandler annotator = new AnnotationImageHandler(config); + +// Create input file +// Export annotations and save result +InputStream result = annotator.exportAnnotationsToDocument(fs, annotations); + +// Save result stream to file. +OutputStream fileStream = new FileOutputStream("input.pdf"); +IOUtils.copy(result, fileStream); +``` + +#### New coding style + +```csharp +// Create list of annotations +List annotations = new List(); + +AreaAnnotation areaAnnotation = new AreaAnnotation(); +areaAnnotation.setPageNumber(0); +areaAnnotation.setBox(new Rectangle(100, 100, 100, 100)); +areaAnnotation.setText("area"); + +EllipseAnnotation ellipseAnnotation = new EllipseAnnotation(); +ellipseAnnotation.setPageNumber(0); +ellipseAnnotation.setBox(new Rectangle(200, 200, 80, 80)); +ellipseAnnotation.setText("ellipse"); + +Annotator annotator = new Annotator("input.pdf"); + +// Add annotations +annotator.Add(annotations); + +// Save result to "result.pdf" +annotator.Save("result.pdf", new SaveOptions()); +``` + + +For more code examples and specific use cases please refer to our Developer Guide documentation or [GitHub](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) samples and showcases. diff --git a/Docs/content/annotation/java/getting-started/_index.md b/Docs/content/annotation/java/getting-started/_index.md new file mode 100644 index 0000000..0453875 --- /dev/null +++ b/Docs/content/annotation/java/getting-started/_index.md @@ -0,0 +1,10 @@ +--- +id: getting-started +url: annotation/java/getting-started +title: Getting Started +weight: 2 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- diff --git a/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md b/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md new file mode 100644 index 0000000..61e3c97 --- /dev/null +++ b/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md @@ -0,0 +1,80 @@ +--- +id: evaluation-limitations-and-licensing +url: annotation/java/evaluation-limitations-and-licensing +title: Evaluation Limitations and Licensing +weight: 5 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}You can use GroupDocs.Annotation without the license. The usage and functionalities are pretty much same as the licensed one but you will face few limitations while using the non-licensed API.{{< /alert >}} + +## Evaluation Limitations + +You can easily download GroupDocs.Annotation for evaluation. The evaluation download is the same as the purchased download. The evaluation version simply becomes licensed when you add a few lines of code to apply the license. You will face following limitations while using the API without the license:   + +* Only first 2 pages are processed. +* Trial badges are placed in the document on the top of each page. + +## Licensing + +The license file contains details such as the product name, number of developers it is licensed to, subscription expiry date and so on. It contains the digital signature, so don't modify the file. Even inadvertent addition of an extra line break into the file will invalidate it. You need to set a license before utilizing GroupDocs.Annotation API if you want to avoid its evaluation limitations.  +The license can be loaded from a file or stream object.  + +#### Setting License from File + +The code below will explain how to set product license. + +```csharp +// For complete examples and data files, please go to https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java +// Setup license. +License license = new License(); +license.setLicense(licensePath); +``` + +#### Setting License from Stream + +The following example shows how to load a license from a stream. + +```csharp +// For complete examples and data files, please go to https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java +using (FileInputStream fileStream = new FileInputStream("GroupDocs.Annotation.lic")) +{ + License license = new License(); + license.setLicense(fileStream); +} +``` + +#### Setting Metered License + +{{< alert style="info" >}}You can also set Metered license as an alternative to license file. It is a new licensing mechanism that will be used along with existing licensing method. It is useful for the customers who want to be billed based on the usage of the API features. For more details, please refer to Metered Licensing FAQ section.{{< /alert >}} + +Here are the simple steps to use the `Metered` class. + +1. Create an instance of [Metered](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered) class. +2. Pass public & private keys to [`setMeteredKey`](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered#setMeteredKey(java.lang.String,%20java.lang.String)) method. +3. Do processing (perform task). +4. call method [`getConsumptionQuantity`](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered#getConsumptionQuantity()) of the [Metered](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered) class. +5. It will return the amount/quantity of API requests that you have consumed so far. +6. call method [`getConsumptionCredit`](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered#getConsumptionCredit()) of the [Metered](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered) class. +7. It will return the credit that you have consumed so far. + +Following is the sample code demonstrating how to use [Metered](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered) class. + +```csharp +// For complete examples and data files, please go to https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java +string publicKey = ""; // Your public license key +string privateKey = ""; // Your private license key + +Metered metered = new Metered(); +metered.setMeteredKey(publicKey, privateKey); + +// Get amount (MB) consumed +double consumption = metered.getConsumptionQuantity(); +System.out.print("Metered consumption = " + consumption); + +// Get count of credits consumed +double credit = metered.getConsumptionCredit(); +System.out.print("Metered credit = " + credit); +``` diff --git a/Docs/content/annotation/java/getting-started/features-overview.md b/Docs/content/annotation/java/getting-started/features-overview.md new file mode 100644 index 0000000..71ebc5e --- /dev/null +++ b/Docs/content/annotation/java/getting-started/features-overview.md @@ -0,0 +1,58 @@ +--- +id: features-overview +url: annotation/java/features-overview +title: Features Overview +weight: 1 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +## Add, edit and remove annotations + +GroupDocs.Annotation for Java main feature is document annotation which supports over 13 different annotation types for over 50 file formats with full control for your annotations such as adding annotations, editing annotations and removing annotations. + +We offer a wide range of graphic, text and watermark annotation types to suit all your needs, please see all available annotation types in the list below. + +### Graphic annotations + +* Area – marks an area with a rectangle and adds notes to it; +* Arrow – draws an arrow on a document; +* Distance – measures a distance between objects in a document; +* Point – sticks comments to any point in a document; +* Polyline – draws shapes and freehand lines; +* Redaction – fills black rectangle with fixed position (used if you want to hide some text); +* TextField – adds rectangle with a text inside; +* Ellipse – draws elliptic annotation in a document. + +### Text annotations + +* Highlight – highlights and comments selected text; +* Replacement – replaces original text with user’s text; +* Strikeout – marks text with a strikethrough styling; +* Underline – marks text with an underline styling. + +### Watermark annotations + +* Horizontal - adds horizontal text watermark; +* Diagonal - adds diagonal text watermark. + +## Import annotations + +In case if document already contains annotations added previously, GroupDocs.Annotation for Java provides proper tools for reading and processing such data, extraction information, etc. + +## Add and remove comments + +Each annotation type support comment collaboration. Add, remove or reply to comments for any annotation. + +## Export annotated document + +Export document after adding annotations and comments back to original format.  + +## Generate document pages previews & thumbnails + +GroupDocs.Annotation for Java offers a feature to render document pages as images for your desktop, mobile or web front-end applications. With this feature you can view any document, calculate annotations coordinate more precisely for adding or removing annotations or simply generate a document preview and document thumbnails. + +## Cache results + +By default cache is stored to a local disk, however GroupDocs.Annotation offers custom cache feature which can be used by implementing appropriate interfaces – Amazon S3, Dropbox, Google Drive, Windows Azure, Reddis or any other. diff --git a/Docs/content/annotation/java/getting-started/how-to-run-the-examples.md b/Docs/content/annotation/java/getting-started/how-to-run-the-examples.md new file mode 100644 index 0000000..61ebc2c --- /dev/null +++ b/Docs/content/annotation/java/getting-started/how-to-run-the-examples.md @@ -0,0 +1,32 @@ +--- +id: how-to-run-the-examples +url: annotation/java/how-to-run-the-examples +title: How To Run the Examples +weight: 6 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- + + +## Download from GitHub + +The complete examples package of **GroupDocs.Annotation** is hosted on [GitHub](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java). You can either download the ZIP file or clone the repository of GitHub using your favorite GitHub client. + +In case you download the ZIP file, extract the folders on your local disk. The extracted files and folders will look like following image: + +![](annotation/java/images/how-to-run-the-examples.png) + +Open Eclipse and import the project to get started with it. Archived project file can also be imported.Follow the given steps to run the application: + +* Go to project properties. +* Click on Java Build Path. +* Go to Libraries and external Jars (GroupDocs.Annotation.Jar). + +![](annotation/java/images/how-to-run-the-examples_1.png) + +## Contribute + +If you like to add or improve an example, we encourage you to contribute to the project. All examples in this repository are open source and can be freely used in your own applications. +To contribute, you can fork the repository, edit the source code and create a pull request. We will review the changes and include it in the repository if found helpful. diff --git a/Docs/content/annotation/java/getting-started/installation.md b/Docs/content/annotation/java/getting-started/installation.md new file mode 100644 index 0000000..dc4b6e5 --- /dev/null +++ b/Docs/content/annotation/java/getting-started/installation.md @@ -0,0 +1,51 @@ +--- +id: installation +url: annotation/java/installation +title: Installation +weight: 4 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +GroupDocs hosts all Java APIs on [GroupDocs Repository](https://repository.groupdocs.com/). You can easily use [GroupDocs.Annotation for Java](https://artifact.groupdocs.com/webapp/#/artifacts/browse/tree/General/repo/com/groupdocs/groupdocs-annotation) API directly in your Maven projects with simple configurations. + +### Specify GroupDocs Repository Configuration + +First, you need to specify GroupDocs repository configuration/location in your Maven `pom.xml` as follows:  + +```csharp + + + GroupDocsJavaAPI + GroupDocs Java API + http://repository.groupdocs.com/repo/ + + +``` + +### Define GroupDocs.Annotation for Java API Dependency + +Then define GroupDocs.Annotation for Java API dependency in your `pom.xml` as follows: + +```csharp + + + com.groupdocs + groupdocs-annotation + 19.11 + + +``` + + +After performing above-mentioned steps, GroupDocs.Annotation for Java dependency will finally be added to your Maven project + +## Install from official GroupDocs website + +You can follow the steps below to reference GroupDocs.Annotation for Java downloaded from official website [Downloads section](https://downloads.groupdocs.com/annotation/java): + +1. Unpack zip archive. +2. Switch to **lib **folder. +3. Run **install.bat** (for Windows) or **install.sh** (for Linux) file to install the library in your local maven repository. +4. After this you should add the GroupDocs.Annotation for Java **dependency** block to your pom.xml project file. diff --git a/Docs/content/annotation/java/getting-started/supported-document-formats.md b/Docs/content/annotation/java/getting-started/supported-document-formats.md new file mode 100644 index 0000000..7a7cf65 --- /dev/null +++ b/Docs/content/annotation/java/getting-started/supported-document-formats.md @@ -0,0 +1,48 @@ +--- +id: supported-document-formats +url: annotation/java/supported-document-formats +title: Supported Document Formats +weight: 2 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +## Supported File Formats + +The list of supported by GroupDocs.Annotation document formats and types + +| Format | Description | Annotate | +| --- | --- | --- | +| [DOC](https://wiki.fileformat.com/word-processing/doc/) | Microsoft Word 97-2003 Document | ![(tick)](annotation/java/images/check.png) | +| [DOCM](https://wiki.fileformat.com/word-processing/docm/) | Microsoft Word Macro-Enabled Document | ![(tick)](annotation/java/images/check.png) | +| [DOCX](https://wiki.fileformat.com/word-processing/docx/) | Microsoft Word Document | ![(tick)](annotation/java/images/check.png) | +| [DOT](https://wiki.fileformat.com/word-processing/dot/) | Microsoft Word 97-2003 Template | ![(tick)](annotation/java/images/check.png) | +| [DOTM](https://wiki.fileformat.com/word-processing/dotm/) | Microsoft Word Macro-Enabled Template | ![(tick)](annotation/java/images/check.png) | +| [DOTX](https://wiki.fileformat.com/word-processing/dotx/) | Microsoft Word Template | ![(tick)](annotation/java/images/check.png) | +| [RTF](https://wiki.fileformat.com/word-processing/rtf/) | Rich Text Document | ![(tick)](annotation/java/images/check.png) | +| [ODT](https://wiki.fileformat.com/word-processing/odt/) | OpenDocument Text | ![(tick)](annotation/java/images/check.png) | +| [XLS](https://wiki.fileformat.com/spreadsheet/xls/) | Microsoft Excel 97-2003 Worksheet | ![(tick)](annotation/java/images/check.png) | +| [XLSB](https://wiki.fileformat.com/spreadsheet/xlsb/) | Microsoft Excel Binary Worksheet | ![(tick)](annotation/java/images/check.png) | +| [XLSM](https://wiki.fileformat.com/spreadsheet/xlsm/) | Microsoft Excel Macro-Enabled Worksheet | ![(tick)](annotation/java/images/check.png) | +| [XLSX](https://wiki.fileformat.com/spreadsheet/xlsx/) | Microsoft Excel Worksheet | ![(tick)](annotation/java/images/check.png) | +| [ODS](https://wiki.fileformat.com/spreadsheet/ods/) | OpenDocument Spreadsheet | ![(tick)](annotation/java/images/check.png) | +| [PPT](https://wiki.fileformat.com/presentation/ppt/) | Microsoft PowerPoint 97-2003 Presentation | ![(tick)](annotation/java/images/check.png) | +| [PPTX](https://wiki.fileformat.com/presentation/pptx/) | Microsoft PowerPoint Presentation | ![(tick)](annotation/java/images/check.png) | +| [PPSX](https://wiki.fileformat.com/presentation/ppsx/) | Microsoft PowerPoint Slide Show | ![(tick)](annotation/java/images/check.png) | +| [ODP](https://wiki.fileformat.com/presentation/odp/) | OpenDocument Presentation | ![(tick)](annotation/java/images/check.png) | +| [PPS](https://wiki.fileformat.com/presentation/pps/) | Microsoft PowerPoint 97-2003 Slide Show | ![(tick)](annotation/java/images/check.png) | +| [TIF](https://wiki.fileformat.com/image/tiff/), [TIFF](https://wiki.fileformat.com/image/tiff/) | Tagged Image File Format (TIFF) | ![(tick)](annotation/java/images/check.png) | +| [JPG](https://wiki.fileformat.com/image/jpeg) [JPEG](https://wiki.fileformat.com/image/jpeg)   | Joint Photographic Experts Group (JPEG) | ![(tick)](annotation/java/images/check.png) | +| [PNG](https://wiki.fileformat.com/image/png/) | Portable Network Graphics (PNG) | ![(tick)](annotation/java/images/check.png) | +| [BMP](https://wiki.fileformat.com/image/bmp/) | Bitmap Picture (BMP) | ![(tick)](annotation/java/images/check.png) | +| [PDF](https://wiki.fileformat.com/view/pdf/) (PDF/A-1a,PDF/A-1b,PDF/A-2a) | Adobe Portable Document Format (PDF) | ![(tick)](annotation/java/images/check.png)![(tick)](annotation/java/images/check.png)![(tick)](annotation/java/images/check.png)![(tick)](annotation/java/images/check.png) | +| [HTML](https://wiki.fileformat.com/web/html/) | HyperText Markup Language (HTML) | ![(tick)](annotation/java/images/check.png) | +| [EML](https://wiki.fileformat.com/email/eml/) | E-mail Message | ![(tick)](annotation/java/images/check.png) | +| [VSD](https://wiki.fileformat.com/image/vsd/) | Microsoft Visio 2003-2010 Drawing | ![(tick)](annotation/java/images/check.png) | +| [VSDX](https://wiki.fileformat.com/image/vsdx/) | Microsoft Visio Drawing | ![(tick)](annotation/java/images/check.png) | +| VSS | Microsoft Visio 2003-2010 Stencil | ![(tick)](annotation/java/images/check.png) | +| [VST](https://wiki.fileformat.com/image/vst/) | Microsoft Visio 2013 Stencil | ![(tick)](annotation/java/images/check.png) | +| [DWG](https://wiki.fileformat.com/cad/dwg/) | Autodesk Design Data Formats | ![(tick)](annotation/java/images/check.png) | +| [DXF](https://wiki.fileformat.com/cad/dxf/) | Drawing Interchange Format | ![(tick)](annotation/java/images/check.png) | +| [DCM](https://wiki.fileformat.com/image/dcm/) | Digital Imaging and Communications in Medicine (DICOM) | ![(tick)](annotation/java/images/check.png) | diff --git a/Docs/content/annotation/java/getting-started/system-requirements.md b/Docs/content/annotation/java/getting-started/system-requirements.md new file mode 100644 index 0000000..d13840b --- /dev/null +++ b/Docs/content/annotation/java/getting-started/system-requirements.md @@ -0,0 +1,17 @@ +--- +id: system-requirements +url: annotation/java/system-requirements +title: System Requirements +weight: 3 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +## Supported Java Versions + +GroupDocs.Annotation for Java supports Java versions listed below. For more platform support please check [GroupDocs.Annotation for .NET](https://products.groupdocs.com/annotation/net). + +* J2SE 7.0 (1.7) +* J2SE 8.0 (1.8) +* or above (*for example Java 10*) diff --git a/Docs/content/annotation/java/images/add-area-annotation.png b/Docs/content/annotation/java/images/add-area-annotation.png new file mode 100644 index 0000000000000000000000000000000000000000..a4e1bec433aa2ab78e3ab505066726a6e242b51b GIT binary patch literal 67938 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 literal 0 HcmV?d00001 diff --git a/Docs/content/annotation/java/images/add-arrow-annotation.png b/Docs/content/annotation/java/images/add-arrow-annotation.png new file mode 100644 index 0000000000000000000000000000000000000000..7cba8084eecf25522861161aaa7722c981f57337 GIT binary patch literal 77011 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 literal 0 HcmV?d00001 diff --git a/Docs/content/annotation/java/images/add-distance-annotation.png b/Docs/content/annotation/java/images/add-distance-annotation.png new file mode 100644 index 0000000000000000000000000000000000000000..bf0d7e51b278ca48dc0b8579ea238411c955fa9d GIT binary patch literal 58585 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 z z_Ae5LMl;k7TaQn4FVw0IKUiRy-dinS6>&gk+x>Zdp%>--*^$J^PI&~>Jq{(X(L6mL z_8c=A{91%MTMKx`@`r-`gJeI;@iUH^w4(hp8F2=yK0WpXrZZ}IPPni&;fPCs&DFJ z{Ol#ZL+V!^Z#%mM*>6^p#`ht-cUK8V4NspP+}XRot>(&9j`>3umaj@c@u4ufuaVps z=s1AT;__66M%Hk8kV2N2D1p9fuKjN|=SCTYLiGZH>^KLDUnLQ6v9Kg$lXL;No1uu` zSPC^}v?V#<;rL6U>GQ+$KTszz;>lczIHi_qu5QBOqC#CjY#E-W| z5rM_0eCnx&Cdnr_%O!EW__L38J-lXfg{~A29_VFkV0+bkri?x_`X=jJR`Q2>fC2LNS7i6XMvVwKN; zN(|jALhlEijLA4>K2c~oRu4ek7&_hM3{Cy|9doNlk2G_)}CG_NzleeN7qWzZu2kClP zuNV?oUmIhE6XY}oNhVw(c=LQcLQ-i9j*PQ!l!86RgSm#p#~5IX;c0xB8x}S@OX{TL z==JZ54Z0?1KL=_F{>2PP?pcr=Ph)-3R3L^G$vi^J372SAw1gLiX-bYr>LoMtbPI>N zLNb$pI-)69oGKXzbAjFKHG*1a-bZ+Daa`u*YF>UVRlBqi&dBK#S8w}jMxXPA{Brm^ zn6#dTo{mfEp-To{THW$wl}$2j%b3{C$!FcnTF>Ea_G_+Ddz1Fm;LZ-Q*P5>I^_eOKKkM4^61P$L-%2&GM6lu2;;ZGFaj0aUhX`$~pb}M+}f6 zncxQjv_l-Pcp8dVRd$@j?D6~mZtPq&z(*h_T4;B}NgeP+5YK*hw^ zGcYxplt3f`a2YRV58xVy{=bom^O`#`CSebq@q4b#8x20{U#{u9K*J`6d~wxF0D@#Y zgZP0|NFj=L8p@JVGO-h6W?|ttWCD2rc-)5xF$n_hdPrixjBQQu6sR^AEcdh9D(`MA zkjvH_umVbd1oP&v-#mTrxs4qZZLp$**<%^b!YximUlES zho3CrZEE}A82}-u0F?aeaLo_jqTtABsPZ8ra&}($ztJy*;6|YyV6{MXnxla|DxeWD zmkefgfG8I15EcLT1QHpqCxqmviN7d5#C%R3M3J>ov8u)x_hN8lf&w)mpqMV-Zxd`G zR2iJ-*<}B!FU)^2)yA=eC!!Xrl~El2UVJ$&g9jeyn>M&`W z@eFT79lQ`5BHzr8i!OitvcAIjvZ-vT=OgEw`fMdkMgF$0J8nk zVz84AIv~1J16Di;JF+KuNH!1M4(nwxe?9by5&W<%mWW}Mf#RxolO-)|(# zMDYg-*o}}|fLo@qr36t$;)1}qJHy{u$Tphwu4wWN*HyF_Ea(cI#J*R{tpi#NFOr#b zCGtvj`^^L&8^vQGxJUV&VTM=G*vjVDJ8HKna3Jt=luizUqp$OuM z`}`LbT0((%qfe0;*uVf4eKhBjI|gul<7U-Lnd$R!f4`SbSj=G0b9)2E#h5SBL@*Ve zmdh$V6rnAQS};VwD8v|!p?9&X@?~=MgM_96))xF(up1B+F^nmlY$kAn-~xNE)Fb5W zjzYP)@$KfCyLtRX3zTyYu=Yf;v2UQ(J+RL<;L?4Q7!u#LXkp?f9cS5gLCq2qOUrDf z(jd7#T7_h5v=;1s^ijcS+?J&;fEcA49*!&6paC

    opThKkAEm&0i|_?nM8=bmC(r zt+ZQ>e*x&~g!{U9Gp{uqps!ZhIL#Cbi3^&9`W9Bv(Xo?6x@x@QL@%lDptDu3e92r4u$>}1#&@KD~_@0yQLWcTH02~4)p#{J=n?;gsBU^4|F;IgM zCJtAFeO#$vLBp-2pZMx1hxFEOF2rmAC{chPCb&=@NjiLm>5)Wx z%tAt(d>H{ACgc*k2atq(eW8fdb72H+cc|KpN`jx8AtFO`G2M&`OrlpE`Ap@m7+x!l zP}`G2iR!l89tjD(ubZM3j?U-?)z{EWLYM4OgTJAOR1SI?$+8U<--lQ>YM~DYzsS=; zm|xU1$Mpqd6BN*{aGIj#TvZ(-J7*+E;G3Ja+d{(DwZ{Pp55Z)SNVB~wNp|>^aiT*d6=4xgr z8GPOz!s^Su2(txW9KHnjf|aG40iO-SR08$W;ae#gOO6=Vn5jYxMI4CPz9VRxcwop? zCrlA!HIgzrg$`2&wYP?0NS(Qi@X7@PCH1ocAzmxkpQxu6hqi$dNRvhoxkOc`QUvBg z56APG+wPn$>T+Q|l02TW8qo9py z!7d|qbDMV6((L3*$Ile$uz!EW*Lt?-+8^6GA<=@NF{*pp;~W`tAKm{-iSwO&zBU}N zAza;BfIEv|v|Td0q$Xd#a&RD=_&hj8aA>0VEk)tTeL|Y#od)6*mFV}$v|quBm?Xhq z0~8W>HabtMg_m>+)tc(puip`X6`S`F9f2-?ao_w2ch-w#4l47o4`~PVP}eX-HP+(- zD2u~8VEuHs<(X#Y2hjjwphj}T+z^+DznXNwYAz)^@|96A7bWU9T_7tQeZM0$9j%xZ z60p}sd^ryG_#BB%PNb?zfK<9@36-g2Vbt%S`k)8fRhjG4L=V3CMeGDyOAiWZ%cHtL z6840gaG#gbvQ^}zyLHXlL}UPG>YUW${aR|)1^P(zbN|0AnKc+kS=~y*AbUbF5E=3n zJ@7H_K59*)^b*sD4^(_T1DZZ;A(Fq{kiYX5v%GrEA`gZ^Rvd*U^T9jGy0;ioWA_urrfG4{zG8nl&xK8nS^=2a&uPYy zB1=G&-ptl-_uVr@$qJY>E3WiexR#1Mc0rci9BfaltP>=$ny+>-@~AOJpF-*wHc2FoMGr(bWlvTlPm`d*V&RrR%J)t}p|n3Fw4)kS1* z!;s(vF~egqwWyHPKTy3&Bz^OVuwN$-mD-cI5UFmf?`UX|PKj;>t^3l+OC*eAXzig- z541_w#S5`sBNV+!ZG2i6mRJ|NT>`cr|+(g(*nRT@o=L zw*)7@c#XS&=ey!*E@h{oZrfF_gVqXQs!Sd4#K%8GMHsNQ2W?o{Zc8MIq=@!IeWhM- z_A-tlKimk-_s4UVG|~};gd=C3AOjn`2|AV5bU^+EjY}8o1SKP0xgHu+SVP@mt-BUm zEy{LWD!=1PW;;4kE-b5vjF<+1xHOqV<_5H@t*By#8-@*0Q@>g#>^>+XLh8K_zI~et za2jlXr4!fR4|Mqd8ad0TIGU~B!{7r1f=h4)7+iz9&ftT)YeIs%TYwOBfFOav-3jgl zf&_wF&;UV#O9lvXdG0yqo_DSL<^9mry?U?ORlk2%t*+j+R}Y@AkiT>@#|xi!*GP~J zGq_%97Z$Kk%6kwoNC=;v9vbZ7y0g39tz6lC*#*a~XN-XLQ~#dVABlly_yp%5`<1hP zOpc%`AQtHu$-ka|J6h)oQVf0{l5_QwQU(%(&8A4ok)WJ@SA1&rNX@Z!nfF%^>d>#5 z5f{J$|8=z`ckFh4nkD0`nXFulzYz%B=^^M~;a_qbp4uA4`id1Y@I%F!kaPpo(U0a6 zF&K~+es!oMLk=}teqPNoy>5Dr6)tDYm|C3G9;%>{HY#(!N? z=u1UJDZlt$O2~__GA6>TeoaYn?ZPdKGZqrBC6-0sk!#NcN8duTH~GOjruu-VJ;m#| z{P2fy;(a|FAn~L~M4CaTZ;TKfzOF|A)O{gi2V-aD7*;C|Nvd)NMAU~ScbFRcof`qPv7QLZCM7jV|YS@NqC?2pF zKw8OQS(npJqF&RRNJj;pdoE1KGYF;uN0ia>X&913lw0U{RlFwSon_F7SB#PtI|WA@ zM#YmyJh$g{$2;Eg4B6jD%f4Kf!etgr0*6W~sm!SbdG?4FCE zCgp%y8EKx(?$53WNKZ*26A6C@Naj!Zxi5X|pSAKkk+lzVk#fvcyzks)emsJF^Mi~x zA;$`$Qq|Zbl?!AJhdgvb#N2HoLUtc|QZ7_t$0Jj4iXSC{uHQWZRlm1FoUKbRo`FV~ z4FythKmwT~Pv(D}GQZi%ji}l4=U+-|M3dmBr|P_O7%wi?nRIepnFtlUV%7lSZ;mX~ zst${XkqhW9$3`%jV$bB~UtgQN79iQ(UM##A_XhJv1}F^V53tPL&B%+@Hh6`zrA)on z@o?71*GXm`28QmhfI@5Npt$EB&D(u_PI6 z?G7CKtg$wV=|U5Cd^Yks@bBmI{A*=$FL9QrXtBdMyCjX(umh=jN`uf*?n3KJ_XNlr zXJy+WBX_B7@88*?m#oco&lBgd$`})*>6}$R`x6PC4_7rj4S(nm34T8LPEez3qQVq- zPsmWXwW6}}?dU34{5;V0*B`TH)#8UjS7XV1-=H80?m)%ITaj)EwnpNr=lv>XoHX*& zVi1`Ijbx3G_ekuI0hQ`~aM27$NMcXkuXdTp2N8GE3%XCVswyzZgHf`%LG}k=nKxF; zya57#ZqCA2ko{F~dWit>`3wJ^_GJPCj&nsxCN9NLM0DrcYg0W)MvWg<$vTpZRP|`& zZv#lR3mHxG8QgwmVVP1jayj^Q{n9MKeSpRfRAG0WO{R;aX%il-0~oa?0S&ANM~#%H zyeBV$)DbdqRbSOCTe>r=sVQn@_Unc6trlXheGnMc&L$Oe14^{Hdh?OfrXwE<^6wW7 zVP~9eO`br1{HCaeZ3@p?*`Bb3LX4dJ+1elVt=;@|;yp4xz-#7ql|8!dz$B`K*%jb3pf)vB4lID`cz;#mNih z(Z$k0h`soOQLLB%Um~x$x?R}p;Uup}PAJUpjq^+MH9HSHfWIr6!gR?VnU?$Z#>>L| zZbu^A@D%H%0~z6ESFXE?RRqAw{}TfoZ(D&FijNL@z*1HdI6+#wxNWV$Bs}nL&;N~> zEAPE26YEF@L$8!4p#-GR=d=bNG{#*_+UHD!&PeeNVMI~LMiPh`C8A+?mtdUi`BKGb z$XZL_^Dz^wP`^s~?n+>eAMAh!8sXnlZPc&7w;c0Gba-1;lxIg^Cuq~Wbst6qkmFjQ zT#n8@+C>ZghAfw^b zpJkL!Vw6~^@4dYl=TIecqtaNyHFsde^qrx@5${0}N6fkwp_?4N$eRLY6;T;!%VWHg#+Q((A2F6K|QR^b<&z7Co`1(?vQHG?*j z$YxK6?yWc8ms5Vs=;PhGR z_a;dEqQ!&8jh?Rv`3vxAa>AK+>p0?3t3p#6M}_*LMJf8Za7y@GD&C-iRD*ms=0W#k zrcp$O-fzdwKK4R%!rFgHVV|KupQE+;$>A8|A+c+I0If_<8S&MHT*~zcsQtK?q5#GB zJ!Mg)qGw5sT#h);V$ky$QePT&Gw$J`A4M#xi^hF_p4~_*hCMx?imr*~ zyqMSp5ogM5d~>SqU>on(D6tYztvpSvde6^{Zz>9R1~^awIAxluE`{`*UMvwU%i)S~ zN`BpneAjY2P1U%F>+a>AZTO91Cl-y8lDC2_wvs@zcS)TtV8@-!Ee#e>XZWgQ*aiiJ zBJPz1fKCcA51;pXHQNYMYd06-0#`>3NBsX*asHJ${UQf3jMjaTQrOejcmc_g#W{g2ea~W;hxtGfBu)C;ZlCdTv5|q}=V2T!@=!;X-iIF!rf9FkHAiUbPACM}MZr z!LD&P#3ZrU=HdY@e{>=*f>W@8$gyR#G72|O2NoovHS@V#Mw!g^f3Qzt-cz<3a>4^i zwM2Zy@QybRCA#RFx`-;84v!}0v%u#RNa!1v+Q<)gYm-L(X6nDJJ^5x!4)hU`7jFoL z`loKMo6s8L{q^dQiGDS7f zk|nN7v|Zk*pDC@Frv{uRbk4SB0y=L;g(x2D-{tNYjbLHO(+K`7ZHvmXF^PJ&6-kmP z#95tolTQvV-PzEse^ZuEM(Cwi=J|%B?(4^Lnmxr2X-Yv^_0xTov4mRF-wexY_l&q> z3Sa8Agu?bFtbiAt&_SBKML|?r{EX{5XL)~XH4IJ^5O_M{3M7GvCR&K{otAn-dnL4c zvsIm-l!3>~)aB{jvpDQA%>5DNEt9{Y(Vf{u^F|IT)Bycc7#Wnx8XfW>{s%G88o^vf zo}?jrDi}kk4fL8uV$D%!noM@i<7ol$!1Yk}jSf35dP7QG4v!{|TmuzFM3GA}Rtj)ETOzNDULi5hJ zMcVyeB%*GavJ2BfH)qBkEzXDq)UKXuyr^z~p|#PuK_3fKn_ohjE4>fqjT;KSf#VAM zM%dF-tQC@U<6gp;;SjR@Q=$+(L+8;Pm5FFlo1|pZa^CM^j(L8&(_35qq~rROW))SK+nkhttA&pj{t?8vfB*N|z@zm^plJbgK}5=7Vxsq( z*koBW+b=;w!3ZcfdxaG}cI>Y;tv5wDq{5egX8?`|+gOD!s@a$UJg#kNBKnH#rjD{{ z>H;YF#+845Hrp!WGPDV%5&e7eet*>WTzju;nrnb z?DaeJ`zXdT^>ULp<&0+c$Df0~kOl|YbTvA|g5?$xY<-ZON3=`26_OY0m(lA@)rlp4 z9F)*y96;F}QyA1sDm@f1*y_q)(B;UW<@5}efw|cgW@No?f5*H`#^_WaU)=W){Q{A9 znS?MJwcEyU5K5(01D_Ncgw1|%EQ}^5v zSWAPA&`tHP+wVacMO3}V%-dy=D-j3kkSfFJU#ZOIZ+nb|8U&`HW_2Oh%i1bqUKbb?vm7c<0jG@)UL+(s<;& zdcR;?#uP6Yc`mqpxt%^e{ys4A%U!3|VWz{uv-rtQD-=&!Jo5tKWyU*e6^Lu4I@QD% z+%G#Ou4Ojm(a0JJ!hwZoZRUO^<7lHvZ5lkaK}z0;A{n4k%r}J$&z39~pnI4*ZPH9H zJ%Ni`kQ2lM4fC;F7sJZY>6yF9mk*W@gi3tNR7&(*)}PJ(^6^X9k0M*sZ2lMxDj-dj znGGkpQ|A#pI21Hd6hkZ18LW*)ulLc6>UqSAeGV&GwsshYTxiD!?2=WGB8LJ>09oV z0C3TDuz`%YG6*8x-y2+!E1KtfBN#tv+}Y{T-@M=>G{q~IJlH@FPZ+$B>k5fYhY|9p(rZ&^g!PM|mn z_J*B59s>4Ia?)W$=L82<7(;IWbu#w~q~YNkr7)aH;~B8p#&3+aKE=cpbYwd_jhqtT zuL{)BTyrJ?`dL}AT(Ejb@+bTF>|bSy&epdA3$MQ-MJ4W;<7UnzTTaM_v}e-6PGVHP zT~{BSq#~BGpFXrKTn-#H;gjApK$JEnrH;I8_=agQ8i`h&S!zIjxbn&E3DcR&z&zUTt2$Kc$PvFGfbuNdNQ%X7x}A* zfj z61|lc1M}HNrVg;?yu2Af%1iTtonlCdZcrs~j@dMW-+nIKXfYdT*$K<`s^ zOlK35_$3L(p~=TY{H@_*Qf+EVeKt1dhJ`D;tnBa!xgQQ&aWB5Lt>mg!yTaYUpYAc? zl#SQxX2?;ALxb zK#kO0kA{T?4KJH_J4J?EzA^J0K~zQ{^81Rln|k~$H}Vwlu)^cejZN7k=S0Q?Whh~W zVXr~Hhmk*fo?p+gW9Z9QdGe=GV}1SpMPOJ_e5?kYJkknXWdgeyx%w#d2~;(0UUQbh z`*sw6;8oj_H|?OiYDj+R0(BjJ1K5stCxcFD1V;I{0XKLaYgYIhF2lb>iC|wV9QKhp zaJTyradgUU13g|mDWK8B149%!jfQ`X&~TFwpMQq&dk}|Ws6he$(L_B9wjnN4Bq&>? zoqD&X1?9G<0!NKj(0GB?Upf{sGw=g8i9Ls2sQrY&VoAqlHr3ioWR-o@1ud|r`IEdA z$$cp=$B#3CbBz0S@|fYM%wPJKW``;SIqR}iH+eCuWu)SaRX)AS<~CQ}hzgxV?BTV6 zZcvI|FkJ&6lw*NmtX8Wk6QNeFiCSRDq$+iKWQ%#;Fx}~P!-;fE0Y|2%SmkoxTE9vv zAmWHUu&|YW{MXG*UIjcdsSfy>jLa9XR_LTG^X8`9GQh>-Su)X641F4FjDseYkAw7# znL_1+jQHHEF(oq_$l1G-C8tGr{#Vf)FabTW?DlhE%^NW`x^j2(Zpnu?SREgzOsP0o z*!2CG-yXqS1tc;t@#Z@d)HK@xB&HA9-aCyuRu% z&3E-9zEa-{q4B?U?hx?O4~xaLz)%$@y$?V4&MHDOYK}_(nk-}axPkkHYjzvFI@v*+ zpBD|IPNV&@Ly@PKxrf|6E1hq5k6q&6vl*nUq3~fLO`g+|JLmsSeKWHZ87;zAptabi zc7p;i*6G!}VVypaNHX1txs%1weq3!sh8IlE7M;DQB(tPc4l+LW{fGlXDW4&(nl|gt zpB81jINeA(+Ixhq4P~DL*b2B^CA?p)M+aMleO^fw16y%ShHAx_m7-OEE{GCmPMZV>P zbqDa61MqBa;?GU2B+Ka_LG85sE`7>~USUhFgWLcqRGXQ!{4^qc z1{Da=8SUqBpLe*_xha^$I?(228iBVpW*^m~Iu@XE!RS@Ji|QC;h`grw|FJ? zl-{*~7Du1`C)JxB^h{2MHZ&Gqq-3B+l}3atC4Z@`gpiZq(v!>u8GNZ~GS+V&?@9rw zjF=tTm$Qo4H)j*XE*eO+$V1F0W6jD=WQ76N?{W>rs z5fP*x+ZgI(u5@sK;d$(!%dHj~(|ZJVL$fp#2af$ON);~FBV8!A1_DZEej|%f(Opgz!F=}U;pNiLB#*vtkDPycsO3x5-%Li3xsL+dGl}N?4Udz z{WWo7=@+)W7HuAv%s4)On6FABss)t(b|K8l+mgI){0ihxf7(J0Z;&QZhiVL&@dm@o zw{NrC6#0o1!o&T7rd$LhP{J-kY50_gd?}7(u9yON?pVEPDM;i{t5l|$n3-oB>q(Uw z5gJfkLr2pE;(BYc6hJqkXH57-^z+4S-1bLa8GGM&9Q>`$$3^l7j}in{%=fpc5~02$IL2T4+YB;Z{%Klo%hb=wem@#%@EkSP zb;!j1x02fhhSV#tVs>LNL67E5kbdgUUj@rorQ;1>(qN2>tpikO|KD=#KWnu=Sm`OV z_1EX`$0X~IXZfWDvOhW{ufCu1=u(hDz59WeZ>gl=DqTc~hD`PA2#GtR{q=p{kYswv zLDD&op|D~;C(!a~6TX`7JIs0gt@kBY}qUJS1qX+D7}@V~J8A4Lo%?wP8mNmcm`Exl! zyQc1KJ$X=bU92YAYed%dwhou2EChEN7^C%<=WlTkmQVScGBhtOgJ-zE2yMLw+`@}V&kSK^-N*9qyrn{iAf zx(%!@EfwkRe)X!xRt)uXV#z#HnwoLt8V9?cl3lC|Ns&KR=~oSmTQySr&%?S&ulWlR z$8#HNpL6{xQz9`~wr~pYM{yu&&hM}63R7^1B&9Q?IJ|AHxW z{hlc~q6%8>E(ZgZYTtMa1?x9lVB(}T8(i^B2`A;ODS~vJk@<5Wn=?3RrZYHN8BX0& z#DbO3;-#FMc)D(`d-2t=hA%IH`o#O;N{S1*&I3>RE0;;?#(7G1f;`f{8=nXo*o#MT zz-dt8wRD43@4E8zi=8P6_WbD%o$|UMWN+%n5xzHniKq$iHahW+sA6CbQvN2^Q8cga=IhH}s1zuPcBsakXKc+#>c zBC_EMI6EsvdM+n*TF$bycI9O?j)DZ8T1An#cLGkwWr?2gZLOg+V%p^FiXf;UYa@fY?d z_faW1yj2YbP#@~Z5x+&3_#PdfhJZp>#KH%bueAXjCn|)p))=)hFFJKKe6yDv7Ir>F zLr;<)Zv?}I6Uk0%pV57U3cUNcfT;_R0sV8J{Hu`r&jsM$H~umGFRlNh%6~onzqx&syb3lMHUT(7zGLn3Qb;4N&^ZC1_A{IErbO7afQKzebkNRQ`|1pO4(2)HKRWnU`{BifZnv$0E`}_Or`}@Uzhoj5O%m0lYKJI*n zf~u&fxOsmchrDycV8EcMgC5>r_p=Uj_}?GqTK=1G`@XXS14H@#cJcna1r3XJ_i^oJ zIEN1g2A<>T{T+tdn+FEkj}GR38t}A{^d1uf!yJ0qX^g4gP6`VRizPbK zy?%!#b9p;!4_|z=v9*;#h54k`aP<0)1xvp5{7wT)`PZM;Z{}XRm;HvcmPO+T5hlTK`vk^=VBCXO@rB(G z#dAz$1Tu27xf0fo*Zx**Jxb{VY=e{bOVxafrlKrluV417!Eeh4HwwZ$A@M22l1P}e zUl+nzhFvJyT3Z~LV9y4EdVGbQG{p?^)*2#g|8;u76Y&#iWja^xj+{Kd&(2avS^O+p zL*p=Y4K9iB{CfKiN%z)W&5*m8&VM^T<}(kr>A6xicTi26ktzrG2OGTm`=wS+`5M@r z4kf)?S#6y^CjY$xpWc#^65u%OZdKa9qoKi(Y0YMRe^*wX@}@?T2EIWy-YZ7WA8WTX&@g**;2S+= zuj?|>6f#}9@cYN)yRR*7#+H+Ps|bKna?RZ7q@3T{ZvV#E`iVpDyyfi6P<2jy z;#^*Bq#-@$0W#|5Qp&&vaE^qWQL=~}3QF&%yp)8N_v)E(bRe#D%lY^+&+p49s&QIc zIBF^kInGcSw(M6O+`)Zmpv4xRf9|-UHkdPxyjj5 z3%)V*_U|#)n%~ZHF)Hi{LGg}Pkc{9#SU>=A za>WbB1L8gAKZR50Q0eX!I$;3F_dUkgkm#j(Kgd4NEc8f({V#<|9=Xp`uIdHi%e}+( z!Fq2=^I&$Ms`qd_P*w1|qaQ7;K=w6*b6BTzzeS)~zAWtJfZp}DzhCf_ z&|XC2X^6r_aR8yR-G7llS+mk!pY4Bx7O2ECW1f1#$4@uy0}b-%JFc8AF~ouhe(bS{ zk%Fc11`X0h-k}cj8)n}t&QCcK9&2uns&?9@9%~xk!*K)b&4GhzF6{04871`9gzfyI zFkpX088O?FK_%C89?gI(B>(IOUjZSKP79~se*@;Cnwe0*$0%cW_t?OC#7NVFZ3aeS z=nZFh&DUrP$D6fgu($sy3SSmp-s)03nfx#|7|)Akag`nY+IIS$;jTbkr>uoIkYFs_ z8u8Bcc1y!g^kooQ9045w4MDuq9)x<>fjh7SDWc5oY%J zSJe!U3s?M0h1#y-1Dp+g5J4Ku0Lu@Hd2#Bt>yDV9b&jeF^xPIR+(Vu}dY@1=f?wH$ zJgm72dMagJ!-$s&QXZcBSLDgzDN5Rf8VTFXj7KLY(7J{h;v5;V0#Q^2r)AA=lRu}v z){R9zU6*@v^)bzSvG?>Pd6kf)W8}MJr!J~hcSB+5fXd2Fh5~8S7l(#m>RF9XO!@qw z_?^Z;S^*r*8X?b?!?!TnKEWSy9I!lf5B+`bZB)dyT#Qozg|(H--os8d$g+x8!xqDu z6*&B(ei$)5Do>!#N{6|WggB(e70@j^X_G8Ae!x|S+&Y*yN^?$?%<}@P!TZLZAd%-` zh?TYNDPU%g>X7d0e6?@g-);z4-`hx!hE@A%zD@J5gjsC6lA?x&^imn$XsI`{6B7k^L5pJLxGLKqvK)FR zDrB`8JS6iFIjq4RJ136qZ|Gx$4;SjHg|B+T31s9U$h}6qyBiWGwFM>KIsA(U z)nC-~@aGNsm*G8Zu{=lv`z9U)3V|Q2T!YrdVQXK`^UyZ#6R~rN@Vnuv*;bGIskw;U z@*j%pb)Rn6&axVYkPD|@?E_AMu7HR<$qq(WC}OmJRA8+GuVW;B#9~k6Z;AX|$P;I; z(U97V4b?2QAhg>MgBphH%0L-IG+jdhd6H6}Ews%reb+kKTbs|eN#YL;jvXVxlO#mS zpEw9OdQb$}Wj_{9Z=rVYqL2wEy^^Q>Ch}0B(_FQ;@F1=WpKQvN;;RjNV?)>-kOcZD z$%e*nl{${ZS0w!Xe|`~!mHHa!B>8HkhbHkWQW1rV1XX}V%<-GI*@oNFw<_(*9}9k; zKWQJ`_yAWbS&e#HVBYQ#h8fhhE@uv`sgeBF%_T)mupIw|3U2LP%GNu~nwo`hJ<(!3 z$D6lfn4!81&(1_Ggx|gKb`Zpi-WIS_X@&r)lrEVA#tGP%zyRc2so&N{l=cmXut?6S6M#e&uq&QhE_{JX%UG>8Pm2)!= z2J$ixB=owO{{Tu=^cc@DG(X&v^7j>r4T|t@6@JmLH1OyB$5GtBS8l>(+(5JnRnR(k zn(R5~-rbW@)UzAZIb6j`3y$5#c(}cf+glV0^JySl`ZE7cTxTEj6mX0^WucF4gZ}|l zRwb}3%&4WO2X_>rgNU*)7SGaLJAtZ4PoVu)3Egm1$ZnO&ku!I zAcCo`v-z&s1^Ra4OKFd;fGUQKdcK0zBo7%8H+S|^jEe-B*pRAPTL-$gz9)t>7nBgd zvUNjpbp%{)%8l%AEqdme7_ptG4jDvth@Y?5>e^So?0g9$75V`h zq~&*d`7(Emr88EhMIPV2567x&I8)*poG&udR79RYAO3}NTuWB4c6Q<*6O)ECoA*wf z@d_eKLnLZ#Js*=8e_&h~WH^Lz@A?d-t1?)$Nt7opDiXZhe;2QU{#8`f773%Zv%rKk z$*waYTJS0d_Dc#}uwy{kNiGZ0E^9l>82E{Wvksyd*(aC;;?5q(Xs|@loN9)KXX2ut z)U69-&yJ|&jglX)s&BDNX78A$ zie-Z+SryTuLJmWS9J@)p6z=zDN1U8o6}Nfjf4HW$$-uG*YF5e%C>V|@1|eq@&;H&&>(&-)n~!P&f9p=(Sl2R#;KM@7-lKU9qKWc9)m^uDgqKQVL_=n-t`bY6L}`_)qWLB#luyH<`~hzY zJ&49tOP2OqiaxtccoaECkq!(GNWX%vC|OnM#ZmNDMjhN04e!L8r&wiqlheu8GSBx^ zzoQwX1$ATZs9*fT;HY%c1r2Ihvv@oIw6*j`9U4VuII(PJF#5a-bCQWhk?$n{VmRx3 zMi;H=oke)1h>ffF!W-0hCPsIb(|aH4w0yC1sXxc15Ms_k7;X#T_BIIovUM?;0k&`q)nP;`=P8%LlrlR!_;mp;Odx=Wj4WO>HLCJJM-3fLLy6FBz3 zg>C#|Lbq6MD;IL(hf6?O3Kb>3T;Rx=K^WU6&YGnW`GB{dhV6HC@KN8XL)yXPl5Qh1 zmYC$-1zxV}G2_)pXTgLwbVostj*54)ab1w;r{)6{B0>Y#Pl8W?A~SMBG@lnnQ--T< zI8ddE8#*YfQ&9ce>yI^joO#@==DI)eSVgWK)63Hw>w6t8ejbMVjUXc>-c2L+@5a0io)>#M0?-r1 z_w^bPa|I1DkbEE7%rk`sF^PSOhQ9k-V&FcLTDIUcN+TPkl_*B=r->bfvJE(;f&wm8^fVqV*RqJqiT=^3$Tqbc0jTDx}6VQ=Y8moQR>G4 zi1st0%>H7B7Fx=$9X7>}@gyzN`;T&siV z0G)U9lb*O$pt(JE4lIqkgK>rEE0_tmk@_M*+gw<+Ij9~|^*LD1^#wRnc^}^H@=()g zvQzxFfrPW{PEFI}L7U1Iti9|`5)HsxLjjZZ@-EIxhd$BgmP8ZZUgfl(Y90u9B;EP@ zES*O3s59C?bch|#CI?iK0`}4}XY;njW5(D{O6#q(KPIN^xMR{9{WiCct$ao46tyh}` zj}o0~i>nR9I5-nt(KhsLcH%ta4+CiDqp(z_fF*x=C$?+zRnNLCH%=@cmgQqy>1|n! z1vmu0)N}{lROGBko?zgyzc$>pP`fzg*K$3silx#CFP=@Fq{F=J$sSa#B0n9Ral=f0 zVIc^?a~m`Jdth-zE++SKcVhW@Sbe)hsB!Y{&6(>e$AxkU^Ws#Pd@8{2i{x|Nu_zf0 z=?-*q_f-)P>iHVEYl++d<&XNhhBxN`mU5@ee|W+`3jaFKOFA9PPz)3=5<>75!D3y0E?!4b+t zV^Te79Ef;aZK>9f^EfB|@vr^?*@+_H1?r%u>j4r*dGIH-aTe1b4JhaMs7qH%qWCGd zicG&d7)Km2?n8^+jMrNJ{QUc4@isRF`67M%qR*e!)4mt*K+@58F)D%8gC^9-SS{}F zvs3(ii=Zo{{Kcl!{8yeJ_+->v72&VByf@D%)-;&kVM6gbd_?6`s|BluoFd!tr|I#n zn0GP^CH^}WXSK^RR^g~?d_pRN|+_HbGzM=cx_ z$hNur2^K4n_D_E%jxJHM31!>wCH|BuWzwTQz7al6=ve6hIGS_ zkZKmA`Q(Z)s=uCoguynVi>*Q&N1^$O+{L5q^)0*}9`XE+pZ6UiG+Et?nRn%|`rm#9 zJ(yqtUAhrr$)8a8e!47 zVm|$TX^euc_=li?!U?6n+IPy)I_}o3DWz_z8 z5XAm0ju+_B%d|0~;SKeuwAndUH{iU>YtJcO`4>;sokB^bQThYiNQY=i z$_5_&5f!-BXTNF+x|Wenny~NbpRUUReS-kR(xF6S_mA~XLlnm*?nmBwcEzrv<__Dr z`v(;o!bqOgDF3uxLvY*<+bqY5j5H*u=hg@JgN_~X+Q?Nkj%h5<`nqZ z=@%*GFAFD*PdyO+6s6i4^g`%c*)2q|C9P9&2jOextQ!!njRJV=#woWFq>yIK4jM*x zsGz2&_s>*0{@RKJM1`mY;+MiZ>W#SA*WtozXLG=)j(6R?8Agq=Id#i+=%``DDb5G0 z^%BT(CSL-ppk)2QF|CS23hCb+7=Z-Jot`~mfa9Q|o^WC|pWCB(Tblz`6Wq$C^mO|< z@?L&F04c4?R(O)zH|vMDrd}C0alDe^aikFA=jfOybtU5HSb3(a1MZw^)^VTx!$gKn z6r}-h@VCpfhW#&P5GCRz8O@A%Xt406)hqRvQ<=Q&#letg@`bqoZo+bwFqq|5l z9)1a7!3pC#?_Q@_@S{S@uc&1N~IyLwTD8u-EaQg|{`=OVw7lWSpC)h`%h*633Z`g22clZSXNZ*ih zmC}QrYhW*}Y{W^Bm&hXlTb7g>*F((`{;yoOeaY(ZQc06B()CTGD$aNy&G}VX!8urb z@mPeSvx55ZBCdit6D=J28>l!=BC#RK-u%6y&k1;V@Gg1r}QTY_)79mZl5pP0vaCttexWha3!Z7mHGw^%=@q0U!q7gwUq=l4b6< zzqj-@OP9AD%Kl;JfjYYJaw1`&z=NV$m@qK8Bj47{^~nz|kmM!BxF_|Y z1g-*5p1uyx(p`*a;j_1F!6Te$EbG7VGmXC#mm5#w@s*`?y(q^&ef8sUDJ*+nV zo+y?nmxHKaeId&;r?iUL`c@LVhGLTvzjBimwn@ivw3|WjmWH>m_!9253GASn_Zn6v z(B4nqVV800UF$m)kSqWHEGn=k3+?g5;|kmnI8zDMpQnA-RC@w3{w^a7G5k#6RS+#h zT*Cu9>#9jI?k7#t!uk|CJ6n=Gn*|z!rz3G&VBvLh-@oR>=%vDtGO_S!<3uk4j}S=Ih*QPBernq&RX=3Sb6Wa>0WvHQLhg=5 zo09pMv@Z2eh^St<{JbO*kVh$pGDoW}pM1CR*td~KvF!OCyBEDOj?JVX>Xpk()sd+b#)M zycri1vE-zXb+=j6o;ZnUGEnvsWi{-6VI`gu@u`0J5goU z-S9No2!j}bvUkhsc&PiwcJO+j#7hT-o@IEj#?e=T3pZR_Rz)(ECi~*=yrm9HeUcVA zvrpk-fhyzi)e=FOr*8QOE6>%B6*gqS{&<@*$oHg-`m(R*RJl<;L3Z(52HuACjymd4 zpLNDs;Dv)=M7Zi6^~j{lY)1IY8@`PP$HhojR(nMLrj%2dE6z_^{4RC9pMsUUufB2l zpUXn(ygLM8unJX^gw#{mXY79@D26Sp^PRLh5cSUle=>gOC^{Odqa#7mI1) zIDkcF&#jE%;nz=kzaZe@C#Z7WoiqU3h#eZG7Mp3DD_nBwE*CIK;e*q!G1iXy4o300 zDLMn06(U*`|2Z}jjD3mw1>8a%W}gj{f%B_1db%#S2hC12$I2!WfK;1bOt6Vvn>59Y z(uWnNpb{=Rc}hme{h5#FWPz4VNTrDlzq)0b&LW%A4!f6IT1_4c(Q%Sqh5VKMAtksl zvIzBm-UwRQ$*q4j(@1MRTSHx(?~eG$VBBE$(zqf zr%w(NBncq~5_FHrXk;{RkqtnGpeU!tp9m#ux5RxO#D`ZW)FBfxY#9j$l%&oUL0HVPVuWQ}O!rG*E;x3dl42 zcK4YxR{Bimk`jMO{zptX;s4~wSk2eguP4#HZ;B#TlK;(OO#vM!Uo~kV48GZ8ontJE z{Z%7b+FB&`CGNuq0^yu)Zf=Qvrx~GbUqNuB-IJNj>ghecB1n;#a}iN3uh7+vZKRwG z^61vG!m6=Reiu#~KM~CMsWL8`%|W(%AVoTY8ABWJ9~b6=ZhQEOm zDku^_tsS-h1tscGYEfngnoh?i1_y#~mm=WB1o$IzM^@rhn5&?v?jlY9tLw~Tky782 zUbfpTb5n@eL?Ts-PMyQ94+etL3aTS4OH|`nDRca6#sZ8Pr~|j9*IS>_kft(4Z!`}` zDwihY09_(zt-MENGrsc4fD|{`JI%RNE^l+uxp^$t>9tqXUHB@)0L>Ce5bn zXvk_{m!k*=38rjUOQ4Tb085D`GE2J`Hc^Aw&>8EwEpvdaaz$P3sHM(!B&G|;tR=Sd z;4X%|qFb#@G6-%4<#o$_FNW2^T9gnta!9ztfr#_?dM{Miq8k7Y#$&Jfc>juGNy_yj zuiKw5A2RZf()=td!TqVC$m|a@Q1)x>K+13uF1bCok9*;!q3lndDX=wDJD;4i674Hcfa${nwCJ?S^{fA4my{AFZ6vR}mIecu zt~`l>A&TBGp+zu1IMogz-c|5GGwIu35=>QTz#C~xV<6T?j3T8W#Uf(39su32AssM^ zmS8K*BUZv{{t(IJQEa1GWGUz|*-0~q(X1*q5Hrk&BR&s=1GC+g1B*2hkR%J5-CL@{ z05boy4UiQzyn*x|){`#@CMGx*5nKLe`8uY7+1+if3b)4#V#2<_Hi4K9fU+Bw=IZG^4rsx7YeuYa`!^KCe>v~A+t$mQx4_9Dc( znA&)K^Jj?g6A9M*!@eHSmNH!m&ue?3FIL7H+G89`%0@Dy=|+y4B;bWt6-}fyi!dqa z>m&_GmL!B+3>9CR!E@a0F z@bdF;6({*~_bFpD3~_fy^~vYx;+j(T!TvMBQiK3Lgz`JkfcVcZ^I^ z2+<2fgis(?MgVMW(JO$M@~i6*OeV@66{)UeZltB8?{wrs5CscJ{LXPWyrJ;_-FwiI zW*=*=YmlLF>Ogp?%J8UDRsTGLrfTQt?6ewS>j2j|*N`{8vOqHR9*`*7#1%-SwKPA! zy#BErIlYMcgYM@#8KkH8g{}0ez1dEIA&-*IvFQC`@Mt{Hp+=igbhv-ZqGIu>r+Kdf1Q^o6L9zdsGPZOFcja*C1jdYmRo_{LNC za82K*OT6Oyi2} zVOJ})jW-(Dr<@nSEGwf0OYut{2GxB_ui0VmFqo(G?By8%`hsTRoFwj0@zpVvRi%Jy z@A+WZ!t(x(TdF&vfSj`Zc}#rE)JzZtHl5|tcfizy^~p|6m0u<(Q1mjsG9U=<5|(0V z5b4NLj?yDI3->0Spf(uxeec;?6@_#;3#R>}aFXTx)^Vw%piN zpJ_tajXH`IiW!Qn0B=mm?u&E@0Y~HVboVAcMbmf~AM`^TFYIsHk=04VOllZ|H)pa4 z-EAY_6JKsj*dLmht)qyLe#O1v%79&CKhp0Ph9@m98y$0a5HSMKhZEr)XI-@degc91 zR5&X)(2Y`` zs+Y~Q*!IRO{`%f0-t`bwiv{7R2{IpJ{hf@i`iLxZ+}kDi=LMOPMeWN`X&wTEjTqJP zJ`dq6^7Z&v7~oP3LCE$gSiM&OKj48RKVUjSmLBiXOan9U1jc`{iBHm$VrZQV@)9(xSx7kf<%hRRHL6ZkEHJ9&#+(?M5 z2^OUh{^Tuc7)$7+7rEr201Eo-TgX-vrvR%dIx$GJTVxNxf3AryTIhFHlz8P=$7aR+ zfy;x(=F?6WwzwAP63e9#chZ}^5j+QLKzw9oNl&wbrZ;+o*x8MPaXPK2N|gkJAnp6E2p>vedUlu%(#c_$l&8F!F4kg6IB%F<&7P|o z>R+LDP{;h^TmO!UTE#?3;a8@f!j4F3z9>H=VG7ry#($>;ofL|h>eB)h*T4>VSv=8U z0haq6*{EPVy&OpTsEn6zZ3K2~LUsunCDnR%9*{i;Q@T#KM>M@RT;yL}W0>6N33lUy zdYGGzK&nxqiji;lpt2Mll2kmd5?hr&~6nFTjgf)s5d9_R%^ zEPH6|(B5WbAhDM0RzWMaZ60o}4hqKjMGQx{k(b45V5oSELP9iNVFNbgA1QbvAE~{^ z?QV9Xv9$~s)vZEhQc7IeLNth@s`<$Kt3&KzN}+_vk-ATB6tl3SLAelb0Uq>DN$ZT! zM~IMl7*x$yNTp1lW+;PeUn^MEg85Ha|7d@XTTLRC1wM#YkyghK1%AGfG2MV_NK3r{ zcSzq-OF~15#p>J2xCgjCinb~-48L+>l#WcloI)|rFBDe(J$^7?WX?1C)jd=a*Ystg z=$c1De}S*)K?4{=`4VX?zCf9}XnR;vok=6&M6>Nzd87Y+64Ee~gcvN(X9X zG3t2v%S1DVmU4AB-8F?#YnaV5U%GsPxocffuaI?B0IRx3wq&DYJzhxtKkw9JX+nWD z(!OyTS_G;{>22`+o2oD_Tc1ZTnB5Dh$(zH(>tu726(_|*`AW>dg@l@T zk;AGQoWsH*k>%I*Qndi>1l)NPB7;-&jaxmg$bR__rD*Mgy`(rt6y(-923b*Bf1q|{ zAkFoRI6gcid)Fb>RZZ=O{g(y4yJQVvJmi5=N%4jJ&+g{L=kfr#j-II^yNwkj2F?83 z)sKc0re47N3s!qSchX4E7|y?YAH3mBlrl^XbmbI&o=?(Mt!5)>!#RN83OvhFKX?2V zA}|+9_#;iU(&0P{3a}7mY(6%j{w6SyLZk{x@2YhTfB~eWI7j=~S%3bwiT!NT`5V_S zDVT|53582L2q2x1QWA^9-P96^b^Jlqi$Kk=Jx(Saoi?^}iE11`=_&AilNVa{zV^|i zUX6oSlMVF2RHuV0mE`cJ|NM~kjL}we@c}OHM-(%I%gNxt$&W)O9p#gR(7G@~%W;*g z$qh@j=v146Qr&YltU3yo=zm~^BsJ|2B=MkS9%nxUms+TtRD{1kSIFyEXvHq)g^m~Y z2@}YG!q@E5J@@sC#afhyyPdwf(>6Tkmv2u(YN{xu%P_R1%$M2)C`sIMs6+;X((w!7 zfSTb|>7D-<4H{l~0Z*B-(=R0CI^8W268@%$;EeTEsH|`{6*NXInLM|#XgW1AOI(m4 z`L3*xy6TxY@JPdLPMHqQx?ppz@nrWyN8rE= zbz^wQ845HKJe>*%C(J;)+fyaqY4{%`iJSDQA+>X82OTt;7|b+LlJuLIIc1kk4UcwM zA+Yt_+#=Moj-s*pOyRC=iOfQsG?P5a0vZHi zK|Su|FOCmknn3xERvEe8dvFrlFk`jC8Ks(w4WuS|L!0~OdgxdGSjk@kaf;K|{Ao7%e3-m3EsJ+L3}PK4@){jNYPQ7wS{UxDXwP%47Fvby%jpo;lF>!anqq`?^t zYceZjem6zvd)uNhR-1v-Kej5@GHn4fq!=5kt9sIcc;Iz*3e1?RZmjUxD`eZ3M;l%v zRgKn?rL67HBA9xE`)XW2YExYQsaY$Qu4L=ZPSm_ zZ$a`v72#TAhjOGMATf1<6jeTQ&9B(wP&$W+Ti#8SP2D%eP~p(tWlMsd?Ch1z6ZZ9N z@hch)hkn6|+@YHhMIw(B)k}q|t7v$`6lHeYsU(%TOStPs@yXV4|2%6f;l!UhfhglS z!OVV~mI16)nhx399GA64SJO;Q3at{g2xlrMW$7$TXEc^=V&c1W*SuZiCDLBg=P!fd z^3ziU$^~i;4ps~#0iWrNqD72{+l6bErtcSDPD8 zBH0uvviohUR2|2nIj6O~UTRS97EUcJlW3ZCfOL-dtM!v43$kzePodU%LtjZiBY!Na zZcVw!F5@?^zyGf(lT-8sVpiO!ckIwN8+-6{8?jr&5ak0b2au^=vXNpconn{Vc&}BN z#E#h=rjp9Y`abQd-p%F}#wVed{0SvIR!tfGSB!Jo&J)+fsWK}4hM`wD&=%^8R-^fm zj=1QhkoC{Ie55;(Z7Y>P|6}A|u3HZ-iEDON&=)u~6$Fo680%BP*zkBr%#L$C92c4X zKgk>`lbn4#Eqpdu!+}8T`#FAM^7>&^{9Yz2&D3v-(8#;><=2K6+J@RXP^rN_Q+#nG zwn+})K0z;Ol~e=#C)unIG)>t|HnKc~arj|$ z;iv%``yrwW@qQihI=peesK<+71;`E6{;%Cgl;cIKg@O(&NiA$!pKw!}n_p}uoUf$` z%G!l&@KQsTVOtZ|8kNkfD=RM9czjFZ&a_~mB@OFw?Ema;Q2DcKrqI9=<4WiQ5~!cb zd=wvR;?j(?j{2@qyvK3=9pw6ua;wHnA+QLe3mX9y3LrOAQ-ir9yyVn^hZn2KNPYEM z&YT`0yUMxGB*Z$XEDw$yL|t;yM8WK{e-;-#x+&Sr1@Z9O+CxSqK zusc7#)P;Gp>y-3~&bZxSeMMy&=F9RUG#dttLyXM#A(VC}j^ZT|!GiBV9GuLh^a;ZXxbw;`K7M5g6#YamE zCVc$zE<6qxuc2H)k_v=#rDq>+Q^Vq-Pka%2K+@Ioq>nAmE93PnuQ8URH8nS7y zAHZ&8f*%U7$Z!Y2BI2L_Mb9f8PCGc*YY)}E%?31&1p!*~2~VlE?;e_W=J#^heOw4O zF{AaADuM}u%%qa`A7|jnZ#HArs)Ggb(ztpQ|4JOzU*P_aTVcgd>J>?2b==(lS$4BE zU16mu4E7NZ_U`fwKmt{=Sx;m-&1T21Oq)LUijfq%96R-wo ze#j2YL@6P1PF_*ls@DMP78bO$zTA8cMDQq5uWhjMMKYni;#jl3-HT*Hr%yCa{53vS zgoyE*orZLpdkPmAA@RDM`XeuiPVu0z>8i-=6fEAoLyS8Rz{{#0CsE@(1>uZT664!p z-v04M#y}Kc4Yjr2@sYNRxP?i%gLOwTxuV++;m|FNnzeXojU2 zmLW@#uUjfT)8J~2V=i!Obqsyg?4WCIu0oX^G%-YN>a|~XaPYywK=XAXzFTc-#$9$` zvvE=eD$4~j5Ze0soWBB8KlT>+;_+jl9J<<1xp-gk|qomc&Qq1Un=RuLIN3O)RpBt+#LfF)MD_A9r zBQ{N=zqKI=0?;%KRRW^m;1?yTooKlPP`VA{0G6i|B*@Q{5@Mc-l$ zuYI_(X0xn;UMT4(Xd2&Ox2O`7*#e)6N4@^J4$mVxV%NTiP136E;C7?yN2y`sh~i?+G)tKKe)cKR$WQZ754m;Lt*~gu+&<+fg8_4Kq2P%P!0KahIsB=R$(3Ttj;l-x4dbn*+*CNzyyCY{M+GtIvB(X&Jz?{m1G(13*f*|CAy zMaguZFV|6fl)K)eiV2fH3cG!`=EaY!ug-YTcZ#-=H<)+t(J*yGv)^L=Rc7-0@M7j( zlEVOx0FC*gyQUp}Cd4>LRQ%O#B%FnLmr}PTDx=zR179=Kezj@{FV@ilBK`lUo2sHo zD%)#LzoxZ%bt{k@-bZ4^>>{11mW6I$kPXi<;J!YbM9+6Lj{GZpc)=40y50h*aS$W} z8eN~V2TF=1CT; z?(5zqPISFmuIf2})`~(_l=7gWfMVunSzKl~XgyTO-{_tSI|o)!BNn>mdJuJzY_|cd zH*INM6ktbw?t5ZfWkRTYW}5vj-fBHlINe`GzC&PbK{%H3Q+Gu+%bH;cS|haHS*5hR zI9B*w8Li{;Ib&L}1FC|!D}MmUNqUx$KhJUS%X_s9GQ>UOk3zS;puftF#vG+I$k(A$ zTj}+=S@h^=R33zCt#K$Pmp^?ZvV6`DD!Nvj6J&24{eCKUm?~{{l$uulqOo828RD$% zeqtrEb(Qms8<~s|e zl)E&9b$XcP8eE2vB8X*pk7p{}YaCrjoPJN;d)TBBoLe{QCk|EXCDoh-qy1asY(pej zViC)LVS7LGr33vLV*S7EK3Fe&aajr!*c)FhsKbOy7A8Vu@W(;cg(?)wnRT6YCY&A!NM z<#s;5%KPERSqAg>a8K^Z}DlWVvs}ZaEW|)&v!*cPjXA zYb$@yAyJ#G*=A*~Om+z)*LW&wt0p<9#w3L%iQWf50&L*T>ji=Kz@Oi&Aev_Uq{m@y z25gUV(ts5q?-Km`l>bE^Jon00@HXj1o;kl_WFvq=X88+^AW%KJ=d+sWmzt?;gxhFf z#5EBZr**M6WmHNaQaPF}ov#EP-OGtZME#>7C+d<#eqKXa3xuPY#w-CO_*k$N%tsS< zBmZc9(pKsmAEFCPXwAK7W$QKS+V8fZPL24GyhKyKArz>v1Se|O%(9) z@Z`h0nw2YbHDJXhi09y`MGsTHkFl=bG!##M^Y6@I5*PacZo9hiio2>@!X$0+%bR;5AFr>lu{{>t zgS|_l6ywLtmO7i=f3}@XF}vaU)X=B{U7hRZT?=dbQ9Ggz*(|XK+iMF>@w4#90x%`2 zfQU1NDTPSANxap`imdki84W+~s=rGqSG=*Vkra6_%v416IuBnrNdH~_h#fLkFc;QO z%ZtV#pn!r)t)=l~J(4Na>C`5%d=Lr^J1=zkgLqJ>$nVQWasA&+iP>7&y7<#$Cy;rYYM z=r^;9YY|xG3-7&BMQGa*DoG6z-rG_Bw~6?WE;MbU67VxwE`K?t*yXQujNq3lwrVhu z%%ebSxU#Q)hOjA*PgAd<;FUImu;we<&QssVKguSTTXX!L_S7$_SqSmho%>GVU&{R1 z$7A(Zvbg@nr7{*}*FQ#jRjw30Oq549))L`(bMx;c5B1d9f}i*=DSKXHk)EmM8+OPZ z>kJ(=&F=VI>Z?E1X+pW%?8~KOc8#6(B{Nn1v}+d+5PWjQ7`FB~5&I8^{sz1G z>+OFDqWd4sM`lpI{V{CAa?9p)RnsQ#Lk(TX4nNUntH(GSug!`Wypwy}Pzha%lA0_p z;^fyWs1bHah*@X`Uy&lK*oU3*#&UkfNP<$4RMNjwjGzZ>MkxDT;$rhCch+|{W>8U% z7@Q^vP`5L4K5w*|v0#4rA2Jd&UQd*ctA8fe+f$Pbd$V|0lxkd0Cqqx%=3y|sWwx2Z z*wA$GB0G$4$nlALs%R#bHRrKh2;h`6$2T15G5PC-h3{8;Uq!)uUDWQgzfMAfK^r8@& zC>?iO+l9^Apau{jj^Uvvbev-g8~oC^0e=qsCoYPQzG2$xzBAr^FxU=U{Jl5H4|OF_Se8&EFC#Wphl`7#Xvz#%F;* z(E0t1oI5u?Z&8`<+soYnFRTn#0;QEnv8lhY5sde|_6T@>!Ci@>bk^EsfgYO+NiCI< zj?kVd3dx0BdkVsD1Tj%}ZU!8RDZNVSgc7U>K;xnr^bZgVm@Woowab^x%k^4!Gvz(r z>$i7Vqh<6f^OiN0Y#5)HyjjhFyME#eslWY@T=nQo=zHUxMaK$X_3%k~?Sx1dkR`z0 zC?f}**+-J}VGtEi-QD?x`aU+iXS+^-^7X~pIHI}M?qKm{VyJ2%mzQ2GbZ(G#(k`2q zQM^!B-;Dh$5cHV823~^kS^KW5qrk{9o z4&>cD4Nf%DHj}|qkaz=0D{m+R#1bw-@&b)da6dKc7y);qcskC}Q*xG@WGL)JYfXIW zJ)u1 z?e2IgoKbGuzxOGt30I+baT-s1@Fl-)cjEFi-XF*LIu;t>u3x0AN0s%vy@aztF9_cU zU?18CUS97Ug2)JjlrIT=bA2B-oQ4y!Cr>TTxsbfx(SlT)`ZFID=StXjsq|M6OY56B*GKbBK)xB2l z(w{gnk;kd`MQ z|JZW7YD6RMd&od^pvKH9-YpK-=z&@uTK&DPn&dZP~?-?a2*G zG6(%#sZF7v$#x;rs~H0I>h5FZuEfMp8l3p{z3^+XxsICyl1D93CbK!QVam%&EiDTE zuT`7Ba?Yy)mAuxUx=W~Io~>X=9Ghq07;-J*-O#cmx|NtQEwRb!EiSsKXxLjB)890O z_bmGFF*6tnu4T1lyAMlwV1XrEaV#s8ut{bz)vGIlSIJ8{?3{CHGW|Z(tJz4~ouco8 z!l>(|uZjO8T9U7Bal9DU?GFRRe>NjTy<4ALXtIX_@+-mZsXL*w-jF`eH0ZOH4(YzW zS?x?Csy{yTFWK-u-oa5JCZzP~`yc=Q;q)`UY4~tUD$T! z_;Z{6JDe+xorhuFw?3?L&qykfnuaFcF(5KiGy6~V`5NPgeHT5%Mu*d61Q{dJ4L@7Z zM3G8h;r=Cd0S*~8y8pU%L56i)8IulI;szAkkj88c%sn7sg1p?YOy!`aMEO3s?yaS> zi^8c|+^1D85cPIh;Xz3&lQZORw#>5gd5;#jb1^9bBxd~vonL@YOC;S1htn>GSd(9B z-lEXM%u>UmDLA^(cEp~wp(S=dlD@z;V0esPVeud7Bkc!gPJB+RtgVzg9>9kS#=a1< zkLj{gVz$|9&_b247{ncd<<+p;3Yt;t!*qjApw}D}uoK7Komf9?BuUmZI}y&D76dHg zY|qhDV6>|0RugihKfP+Xi_yC)Y642^-G+qe%By`uZWM(!ggs=}P6|{Q4Jm!0=tcfL zS>-KrJ_&WXVa0W0&`_esmMs0UH{ix10N!Z&x;)jLQqS8g&HB@L-=EN5=QX^&5stss z1`uacs}I|OCW@P3?}I)oz9)8kdLnCMFJU`A?6|Md*c(`8r(MudZAu*zfhe0?^xAC{ zivWJ(l|#rI|EPDfSbWJs*?t!vVKDfPI(qZipqPYH<$9%9mdY;6FF~cv!~FWs*l832 zf|0c@`C~YAU1f7)(QMa*P!sK2#-)(G97sFk2O;(Q(#gu9#vio%@qCmls;f+FK-Jus zyH+kOm9ej)!pg>`akIDjQ$AH96u+pk8P@0Mk|gr_DR7u2ODGE&mY>&oj0l>bFk4>#$RCxZlkunlX0y;nGj}}M0}apRiPK1>(wBpWa}+1rzl*$^q?@(OWxN=P_4EQ_Yxl$kB5 zBux6Qn6bQul=2S?(V#JFQ$C%>xsp2~EF-|UEXcdC)%%;4rr_2zj-i0e1<6mW$(m%x z)3?Fo!JO|?Jba1pMb0GP_^1D&OSI&#XJ;Be*&Pq&miY)n(He&J4MUS^-YGj4^CIF!$_PV zMqpaILA7-|WvN7I7x`soOL6jr9fTX=4ztv4d-3DNo2E|>rmk;I_Ht4!Qn*>AT3V0D zi0ReVSDc*S8)jB>-&J>>c}(G3YzFv#+K3tvox;ATEJL%CBrWDqfz~aMezR##pzvDO zg1RAQ_alKx6WaCQeK)U8Wp8?t`~BL$C`RKA*TNs~4_Xk(h1;)EbiUr|Q6?`{Uq00a zdf|%XPqY`@{&}7EFo^wCI-13->bWR(dD*U6qOFrXtHw9dh*~@-RgJo^$x-^ zH~iowID_L=VoAdggEagfDJDgbj;oaNP+Sx5R2+ss^{7Sgs&Ts0KB-wOuWgYMMa{uk zWKHY5(d?~wfYtvJjpYDeqG&d}9_~ghv0FAh`j<{pc7X9J38r5_S_MJ}4bY2eV7aJ_ zAdr(-;IxCHLUWnMN1D^<(_?nJ9mfpaw@ZE6L4jU8fkrMFYC>;&4MCIDHbDQh$^;5w zcN?C|COtbJc?{mB!B9Vk;Njb6u$YT2h`Yb98y_ZqHVTCIwz{LibPB-L^Csz{5!AoMGT2$)SF$NmOKfT<++3?~Bl_~c(U2|zr z6Cel~@SdUGRyVirkGoI}tdZK;Pv#@oi60b>->OFn6)stbA3;x|I$4uhNJEx%3&Txx zo1;5+iI5DXKZgH#;VeKX)A^xJ*T_W;{V$;e?3Z5WSHMjqfEuY0j)Cxtu+~Hjm{a0h zNa^2gJXYIdezRZT+qD!duZ7`>*u;xhD-@wDhl)ncdyhMRaY_FnmY3jRDoxs{nbo6O zX_)n7=CgZQx5WlZKPzhnN23V>N1-{pTdL?#=^V=8i7NbyYtIs9&H*f)lD7sfGcS^D zuPWXER^u)f3}1!Az#7*dRinpFhrK~Tn5?oI4Usl3W-HUVZd>Ve^*;ub{9dmYz;e>( z0NTZ7aVN0l5wsd{q4tji+vpZ^Cw32tRFprEMuEdChb8YN3CiutKldOJF^Nw z4Q}84(S@snj?a%}vPi2f8q-fDn`~#=)t}~C3?04;Sk9Wtwa9kWGGrhl-5Y4Zt2~kL z>W=zBYxXS)Y--*1U)^aNOMjBdNN(+F2Nq|d5%XmSNkJ!L)++oo%-GW1F<9!Pv%-R3 zQ31fkWBE$!)`n8sfBkLXK_O(RP&vWZNSxohk&AsBiU9 zKD1&_(4TKLL~f@d=N5`fV?qRVHcm-E;nSLUCH>WiX#c@W24Dc=k@oAyk$%)dLke&F z*S#zJ_RJ2-A#}**k&&8Xh}ob#fe6h+0#ILc9V*qE(b33Pn2ZoO@OFU9eT`Ckyg*ow z_yD0J_cj(YYqK=9%anT<#B=o7ZjitvEOSm2=>OvwT9HfxMF*)lD)%;#B;vcy$p#BU zehr}Jcl0>!OiKuW4e>OnruQxIJv`=utC3m7Hpb?+vBr+vNsXUYIAU`p4q)l65pD#y zWJUc6CBqu14e&ck=zOhY4-%SZ0fI=kYs@TpxC7(7TPi2kc|m&NIV0w_v)gsUEOE?i zUR@d=La2--_$`fFB;gDgA7{2HGXbgDHC}r)0kf^4mlw2tYf-dhd^{#n?tL>O{^$dP z!nZrOWYoSDt$)vcTx%yrbZwbkmW6z9FP~J}%2l!XJxg-WsjfMX?2YJ8v=03Fm z`M;*^gu0+OyJ#UqdvHMo@vnAIlV*hY*_Z&1EN60KCdQ=?g&G|LOdOGwAnSZ6mm#iPWLg9h?bsF5re-_ITa% zg*~+NqosvHedD*?)(hcK_pYbJWfKxk6hfh>|C|L$GDAM04a=NnjrT z+{v4w+lcuTL+FG*iA1QPz!N3G0=ijgJi>`55}NyCj*jEX;JWZUlU6mjYfTOPpFzz* zT3pu-(Uq7-oVl@mxM7L%xFaQTgvVd~VgQd^89oxX-r2deMORU43Do46+Q~9t6M>?} z)Q+8UtVt+|9(<1IvDWOE*!ws9cML5M z_K8aVzZj&{ZM{im!ZilP#*B|i@`47_40+t(5Y1c2Nq&6NWR7EZgx=2-^TQXcp6h`C}o&X=^2AOHZmE!zubJV{^3JFEkvRPb6rKa{m5L)Y z%7KLtML~zt@BM?PbkuL@Kr$&!@Kv3a99MatapbhFWUisq?UL?F66}DQo@K8r=QSFC zC8XHT%O8N3687ow5Jd~ZNTkZq_-=67Y;sL|*MQA2G&ULVZ_fAEc7@-s2GDM&7n0EJqmh-e|b|{ z@@Ts`<-@DbV`b7Brt%<8=LF3ZN;a`2>5jm$Psrn#2FY&&HpTcsMW)!6p#<_;&L>If ztoly`kY-=8?Qgid-q6;1*tr31dq;a*DxI}qzk=PRvPLF@hDNsE`IppxW{JO^WBAK* zW!ptM!ce(np<+OIeeApq9wro?mYODB~!x||)+5E;}>ro2mJ6n-xb*9SU zKHwMwr~@uB>pz_i-rC8BaOYj%=*TAWAiiQ<;^y{L#FtHMx5b8DuC{T4tao_omW0$1 zV71gxNbhw+I{x}}O*EhmQ@&Hs2%+1}(tX>rZc>H5dG~5luepuMzU^TlFeNTLd1u?) z=={Mg{?`kdA#OFd(Q*IFWPP>-7%E;#DB-rOZbXyKs6AT#dFx~ZI}@(o zv;N_(HN%#gLyYIcaGCfF73$k7mix+ESL{JWF|YP1&+nbx&;26eK1FvkrA@IHur~n; z0n=2OPFlPW$jVSb3+8g`WnG8whdOJ1%Xa@^QB4N1R{_)SLd}dPByPo)2||3S@Rm4n z{akoM*#_eWD+0#O25apnIvRYHFYDzKMJ8 zTy=J0hKjw8H8RZ3;r=DNwtQx*&?K8r9j1V8@ofYtSO-r{c#7=cnTdjCq92KN`H)~d z=h{Ts<7&QB-H;eet_?l?GfLOn!h{9C3i=HDNW}<7`J%Ei&H~`I`6dm}w~uEwVA$%h6$3cWDfZnn8{LvW)>eX0H|>b~f?lEyWYc9*T^{!YbieHjNkEspI(%-zO_ z{71DZ*?sOox*}(IF*!VbDV$y4I9(mV`(OxBcvC&8p5;kgB7YejY0`mL$o$?i#0$@L z+P#iX)$uy0bY1m?m0n%Y#l>F}5%nyym-q6V-G|>WIG!Ye=$UJ z{0q&<2`TB3qpfsUZjM}InL47xSbEhb`~>@cF zB+k}V(V;#!OVe2yi>K z*HN#N7)s3xG!Ik~nXDGJpBx6Y{8wN7^6LC3{C$+rYl*l#F+y4ffKj=DAlADM=u+Y( zvN)V?={@H1Yz7W*gZN&4yM%HlvlE_3cxtwi9Od5;0dfQBiVPfV^p`1SA28@jB{1ob z+)NGeYn@mfyb>OcSvM-15!M6*|8{<0=HXN&Vf=f$XfnxL%-v)sj=X;_<-pFW=jJ$s zttYLo`JdsX6~xd|UQksmIg%Ue$^02re({%+5QV44)sx;mX;rR5<<2kM>5nk5rUx611qxQaX;nO}*u{C47iu!$h2Udwtnz$3SuSynz)-}`KP zex;h=)DQDAJ9yK_aji1DeQ4l04IJ8j3J){R8rzUbzbig)Hp-V`>itc<^hMP@POfHE#LqxJU{^Q6&+6BT-OL05@$V;4 z&}YAFtj+u>s|26zRdYnNx<7lOL_DscUr@+}?g07eUP`@6mEmm0jPAjML&BbhD_5@n zy-C8oPHQAvZOY2D`n*(O(dhGX)cMy+F%m2*q+hu4nwU#=&g9!`(lH=MIC^Ytpocov zmR{KY&wVIXC86Pi2B376MFTB{9K(BE>e}M4%bL4ehxj9ZyA&&>Iz1r&;dT@hHsFdU zItV}v^U6Nwxmq9U?ARz`bJRhY1(SsK%!xpa ziRKjgXdOwc&S$yfA%1ug)Y=2a<^8QpTj{vQ7X^J$$6FDwi!_U5VRwmHJAjXiP8XIM z-!zAaJ8Pip0gN~lh7I@aO%l|GvXK2DG;iQ6pT`Q*C!JxVZ2l}x`+9m+;YH2#08_7b zYz@4vVg^1t!-v`bskEcvL3Al~w_EO=rcz+9(Y*1E3kgQ$(+~m2+47Y~TzF{dYQ9CE zv56t=7BT<`(~ z;{XfRyZR9p8Qb~;JmY8A=L$35M-hIDNKv8;4+;i)%9|fWT$C;smd^TpnwqKlw96`& z_$!EE`1Nx@(U|gdkK{318miKso}*t|VdnU)xbaWm>3PZ?P2qE|ctADs|79L;(D~dA aF)tPQ+GCoO0{k>>0v#GvhG7w7u literal 0 HcmV?d00001 diff --git a/Docs/content/annotation/java/images/add-point-annotation.png b/Docs/content/annotation/java/images/add-point-annotation.png new file mode 100644 index 0000000000000000000000000000000000000000..2d127f810643122734ad9dd6ccdc1245e84d0259 GIT binary patch literal 62032 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 TvwP<@G5~?6tDnm{r-UW|JO5cU literal 0 HcmV?d00001 diff --git a/Docs/content/annotation/java/images/add-resource-redaction-annotation.png b/Docs/content/annotation/java/images/add-resource-redaction-annotation.png new file mode 100644 index 0000000000000000000000000000000000000000..eeebe72a396e543bb9f9c2bba55878025d3bc3d4 GIT binary patch literal 22731 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 literal 0 HcmV?d00001 diff --git a/Docs/content/annotation/java/images/add-strikeout-annotation.png b/Docs/content/annotation/java/images/add-strikeout-annotation.png new file mode 100644 index 0000000000000000000000000000000000000000..ecc8a7a5e83839be928fc3e416516463218a75f2 GIT binary patch literal 13752 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 literal 0 HcmV?d00001 diff --git a/Docs/content/annotation/java/images/add-text-field-annotation.png b/Docs/content/annotation/java/images/add-text-field-annotation.png new file mode 100644 index 0000000000000000000000000000000000000000..40971aade749a5b903b0dbebf4b78c51bbd103c0 GIT binary patch literal 14368 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 literal 0 HcmV?d00001 diff --git a/Docs/content/annotation/java/images/add-text-redaction-annotation.png b/Docs/content/annotation/java/images/add-text-redaction-annotation.png new file mode 100644 index 0000000000000000000000000000000000000000..587bdadfb4d590c283d080becab56ae18916424f GIT binary patch literal 16164 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 Mi_42ui5U3*FMw12O8@`> literal 0 HcmV?d00001 diff --git a/Docs/content/annotation/java/images/add-underline-annotation.png b/Docs/content/annotation/java/images/add-underline-annotation.png new file mode 100644 index 0000000000000000000000000000000000000000..d12e14cba92e7e69c34195bf5f53af3d5502bcf8 GIT binary patch literal 23156 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

    yGFVMqMIo{y8(lH^t#_kyCywyM<;RRh|1 z-!4j&g3u+1%7Slm^!dK^N<@8@C{5fdBTni@{K2~8Y<_4q$FIU51kcf_>S}Okw;zHPi))JL$)OHMg5tV)nC`z@w%i1W>cp$MY?pp-$o?~QJahJH!xFb?UZD^lyI z+=8kAWn^o?cVa0_!={jsmRXr;e;5iMuDT!NH|%NGvEFmBW?yO|#{w*J-mN5Xc1E(r z@s-PP?+)kZL2A$9wIppmu6-q)LyrdAb0ge^J&PQ>LNg6oYuuKuR=kHc+9)L7W%mMuqU?0~hE6=l1r#yR&3yzhmBHMg)`IiymDQVkauNk% zB27={^Oz(<0Vvq=mAe9$FV>H|N^a8T0K2PDi-GBNk1Z9~!x>iXLS^yMRlBrxEs$3V z7z4Hc^a$==B9la8Gj=YUXm<)2k$?wSih%Odwd90+tzb&yBs?~L!+PShyVKIj2AqxM z4#<+oq9n8adB*GQ6S<|-4x~U^ciqlSnXaf)lSb9@3wyl=ulCt$u>qmOyU8?kU_70b zX8`h*SjK#mxVO`)Vb;v~nHCFDH_}Nq#=-BcuTD~XdcaoU4}r#M^c;PLKfD~*n1|7R z($2lmb66Yms-OGTqnlX{5QYku=_c!hH{}=vreG42r)Tmx!Y_uO5s~+#u6LPlX%L!j zxmrOBsvPQ;_^(0y>7ylZoN+5pr?@0If-C;0JTm$@G>L&XGGnCrMRk{%@|>WAJGk1_ z)e_?XP5`7816vrKH_EJ^0K6M#4corelyrtaMf8FGDhT%JB*1dZqotlg)zeuYNDU;W z97#Nc$Q35qr;CHhdnwMrx!#R{zB2I3swt(F?I>py&MTr2fq2ifZoN{Z2GbcwBpH`LHjjaSJ#mZZmK zd0ZOMUh^9aq1nnl7A(`I@81>GoB&`I*UK01&rPG4N6x-9ec~Ab6J$CfYUG|DrDucK z^>lExV)4#F9v%dz1q@K##0FA|l?DM8dPh(btP>qz{;d_&T5 zasG?WW;x+%PpS1F-)}sv>Rk?{-V4;I%bO`!YB*OFR@qt4F6IN~;po=%i)UZ^F%$qi z=a^vwf!%>lROAN*q`fCG_<7tVg|kkxnR+jJQ{0}d5ifg(%mw4-C%Mw zwWAz1Jqs1GtTntpRahjcJaTsAdCncdpZ=9+YmPtIB9%1Cs%HCSZ$X?@yp0KunTRhT z=I}+$h)tXeI-hXPf74{EBBtm^mwCXO<5#J5X1Z!(W$_2cK9FU1xz1{~&`J}XL`+#8 zz4Rk$xE>46{x1b2S?aMK?SBzd|0jKk0bOYjh)6KUH|bI0{~uKF Bvts}N literal 0 HcmV?d00001 diff --git a/Docs/content/annotation/java/images/add-watermark-annotation.png b/Docs/content/annotation/java/images/add-watermark-annotation.png new file mode 100644 index 0000000000000000000000000000000000000000..bedb26b769b77541ba4d0dc30a7a775a39c81a1c GIT binary patch literal 61695 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 literal 0 HcmV?d00001 diff --git a/Docs/content/annotation/java/images/how-to-run-the-examples.png b/Docs/content/annotation/java/images/how-to-run-the-examples.png new file mode 100644 index 0000000000000000000000000000000000000000..1bdf7e49787ed7771813291b57ff5be73feb4c62 GIT binary patch literal 13714 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 W)a4?)0{pKPiP|IWhouiJUjHwL7LPLk literal 0 HcmV?d00001 diff --git a/Docs/content/annotation/java/images/how-to-run-the-examples_1.png b/Docs/content/annotation/java/images/how-to-run-the-examples_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b45ef2024d4d62e9caa850cc03f8c44daed30436 GIT binary patch literal 147422 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 w_vWrzL{BF2w|M+PwR5`AAbo- z_WC2>qJeq#M}@i&Jh8o$id5wcc6|eadFyp&&B8XMEVPjnb-(lKKfd7#<;>{MAOTC1 zi*K=*M27j#-$zS*}V z0O31puP=mfQVq$fpt5GYW^wK&f<8?&Z+S?DBI;YLh&6D>eJb-~-kqm@dIDa8w#0ZG zSd?8zG)B^<2GQxg{JiPw`24L?+jATWRj;oT3OWJOG zAYx~4PuSNkV(-sOW$*ez?{APvlxUt1y(k4%58;t0!AK6TTHc0LlOd~M5a%zf>N%?7UZN1=mh1jui9I^^x3$s9Jxf)3+?|7q;cD<73c)KA*uUQsE zsxbMATH>;fKj8nq2Xjm z&^w#i8YS~NGv; zx0?yG1R~s{AnNF5=m$RaB8$e-yOrkT$HWvdK6$bE2>KW>_`6IoTON^)-aT7O5oc_H zVk~B3#foVTK(Bn5Gr#*VDUAV-jcufPcafExfuX(c2>l&xWazPk56!ekYX==}P8??W z$o1lug+S{Wu<^8!5u~{GGdrx27Qo{}hTmZTKCx4xn0v$N=5pvR-T6wJ%j2F|I)uzd zWegG=0~M7uab;q?pMs>|da*Ser0fF5+5AtdQFU!B5fpFG zj$hQ0T|If*bX3Jo#9ADgEPtj&i;W~FPt$_M9=yg_LL?~uL4K35u_*TT_K5B+=@;Ic zyEZ*E`+49NpZhMBb3VcO{S1*PdKeQQi_{t&pMpH7WO$tewX%TtlU(&Y;)Z@ z#hKu#3VtH!3Th@?8<67791~#G8OTBzuw9qhS70kZuEY5xrncjODw|DWz)vY>X3+es zNWv(c1IVwD~Mu+i*uz@Z8Ac4u8i9sF9w7|p1Mal8Ry2U_54 zjkIMF^|prfT(TeB3Px`~ZQr-_c6&-_ zHw@Wszn(OF>C(wz=-&UOqB9VU z#l0f*AH^%ra&7?@*y?0qDD2d>PGH6-gMDHUI*+B6YuSGyVXKZ>-865v-_!D@^8n6X ziE=DC^}JYdE`ioK(Kap|^zX{+56sqwB6q#XwSPd&!zApdbxJqC&wZp+tu#mv3)Q=N zWMl-3)p~8iN{9mO@P{;oV5L0z;SU11f+%G$8*D2YArX8U9H?CcnpwSr`m2{&icmc0 z?b7$j_FYC{>`rhRzH$BVR(Jc$Ebyj4VfGuG0wGyDjei55Eo$4kxO)jqWKWWJzI3d= znXXlm+Ca)hBu4%B(@Q6Sg5CS5rvQxG%lF9ycmykXvSwJF<5&WhNLBnqU5)<)VKDq6 znpY^_R1k%Vq-pczA`-0=%@!`Ll__Oi9yQeTjcg1u%5>3}- z``ahh+3lTPq@m!Fe_*~LHa6-z<1XK4R-(Mq1)E4Icr1(SPjd){d1hx^suD}CappvP z*#y50$hZ=N01m2ny)jPKocuv-I;Q@Y#jgm9V+syCV(7YGX|oICM^QY5z;oj4>Sz^b zuDI*Gd*CqV&|q3A7O(dw<-9$KYdF_O)u&Ckl@mVMKKtio2eFyrA#7HIbDqjZ`wewv zX~$v3PG+MqBAQe)$suFS9v>jM25V*k;aqOxf!IV^Up=fEo~b$S`@4B|h$6p_T+oQx z@Xi5K59{&QX_YcEbxJTN+GsiNOKju)Tldc*2(QN5Z}yLmmk2B~dPofH&XZ3_4`!v6 ze^L`XWIwWbW42LIiKcm?08FqBOiz9$=@we|b}g@&ikOJ$?X4}FwmB=b7?IFK+!k*; zu)lypuo|-3E;r9~mt&0-oe*N@*uB()GlLs^Y*!73RtbZxlW;=965YXPv z{J_a0PfJtAcc_#-o*ytoE8|WLpVA10Eo>e{2ltfqJ45A@0$UOC~=GOGxX~6 z%j7Mo)&;zxIxAG5s@E}1G9Xi2xrdeU!=Ob`dwW28$)Ld!YQ6g-r`bJDa&m&JteR`O zHX07&AuQC_jz z*@l)2nRaUZ)NB*OPaRK$JNC;k>a)a?(BFCV1$>BS!}Jd=D~swV5ss5VlSbD0rVE;A ztBZf(5%+W&{JcxBRs)EQ!8p6Z>nqC~S~DRa@sXzbt^H(*X@~at zu)J&lJx=P%gr<#%lR3>igpOiM*JB^L=cAQqkT@(=LR{;Wu{-pwBzBy?dIdQLb5?q~ z>!**hR6lcIzQP4`GVw-LK{qV40}1)SO~$6HeXi?Lk=64UuG%Xmhst~WhaTh|24mwb z*>yLF_(3n;bE%uZcn&N@l2nC#g~HTJ1gjQ*F9u4PEUm(4S0RN0;)T?^ND3Bk5i9lI zCDLvz=3O|2eQly?cw2*0&$#Nlol{v^P!xZU=!l#iSIyQoB>vix6-M{r20?KYAJ{3R zCb6d@!_CxNa8{P{!{s_cXGAFzlK!mr2W zTwU&T!yi?)88}7qCaTJ*WWm8vH#;@W?ku3g^Pa7C0N{>lU>}v|HjW3b@(7Ms;-8e3 z7UdWNtX{NZbF){^!_sZCyWoS)!(5Q@8d<1Z;uU~XVhUD}UVex;RE@J|cC+AyR02U6 zvQr`gM(8hh+Ri7X{hL=g3T`E(CHjMr%;nmP!s>h@DrK(k(u&uR&)Ev*$9@io9h2}D zbj;$m_fe=&$eTM7<+i3>kMI)QHwN>|Bb+It=mBl4r{r!|j^!R(R#`=1g@`oUkx!ni zXK&IKO|o2#;gOj{zWF~G0FYs1qUH|J+CIp6>_KyEG%MLD?d{YjA8Fhu%?{>u+84_e zOM+#FN$@hu=1VsxCCZ3uY(Is>Fp{W+2&i9<0rTPlmhwRL@oY55?~t^MEJxgjU#-2QHI2}UkH9W5*_uDG{y*kV-_Ib z-8MFfb-lO;{9E8~ImL3%Z)h5x%RZ-#F5kw-$MXvdg$clr(5cDsP~Lbf*$&x*0GlN( z0$khCv9%Yq;`aU?6&*cb3wOz#4t$H?-oZ^LNh(w;A?AkfTr&|-tj z)WUXDIo5j99gw=~3}=C-4o>D`iu@1P9VB+~!>@BX%|0^V3v*SurgYQ(hqi!Eu3%CU z3b>vM0Jxv-K&LyM8<6gDOJ`<^`@sWY^6iy|^Af$X?L?fw%?JW|gk@|&b9^1B z(br;<(F@7SCD`@y$0JY^zy0cuOpEO_u{UV2=@JU@%>>;R>0;uTZhC4z;Ow;h;?=pc zIXm@z+@02jAwS-=TnC{I`M%3!3_S=6SLfM(=a_u9-3iyI>k-0hbfd7NHSQ#LXPR~| zX1jPRWU$G0n~^SV`HIKqb#Aczkbs58Ba8+CG4{I1Zf5M$kuuNl>EyiaUAz2PfJ5^| zGqH60j$okkzO8;BY?jN1IGf;vQ6By@?!?JGd8w4zXy6({SV5T!@>1MF{R6PQs|C`* zk^qp!lLQL?bmqNfq}_f^8TmBMoQ&U5?rB1~entQVC7Eu!!M-zSs&;!1aJ6WPL&ebi z(;gQof?Hd+>xZ;F$0oROgUX)6lmRi03RLfmML%92;~aro(}7RKjO;nDS9{gRd$s z;(O9m5`CDB)EJjOVcPpFBGQ?`f`e3FV?FoK^8t^xj*ed$E2!JyNZ~%YTD`cMkC@pU zV84eHBln=t>LT-|{t`uVBv@ch1Qw#VU!S{|8{?-XbqGjl(Jdsa=IWykkBks=PjGow zmt{2(K7Qr(Hl!@5Ge%BB5%3hpXdo;vIF^{ethL$>=&BerZx0yc=d2+S)d-4 zwtEUHaD!g=YrkLX;A$(sD)Yg57YH_UQ3Czr@UuNmJg!|$9?Zmh3 z>#!l3aO2nKhd1^mEXfTxn-fPQ_gVb)v+l`QJLOd5KUF~+Hf;SScI^Aq_2D)#0f374rlHThhE z!#i}Dj0-4XJe_I7nB0G`x6A+5U7j2dqil zoo>i-i%yisceth8U}z?6*6xcm&Mz2x-`<~+T*|$xkS&UT`Xk(5_Sd7yS>8%w|BaBt z1qYXDxO(}vjQ&XS;aulEft{LJp4JG-NHjCl@%CGx-9~_>$F-JW*F8%CAi-8TD=vUH z*$*4NkOH2~UCyOxW>urxBdSw!v%v+$#$^jjp7E@`R#dzDS5S^Or+_qPqc$#W8G6E` zm`_&((bKoaSEATZ^4f2JK3^TrG*YyKa116QUWmqzC!5=r0*0yxZ0oe?&H&mVh_=;` z)&2er-e0{uf;Kw5m(v*FKFCYQ7Kc(Jh8k{M{VGTrz>`7B{qJhyBILX7^I(^|!bWp@xcOx2CGE#WqT& zn-grsdc?_+QJ(I?Cvkl$S5VYsoqj)5dLs4A7w1eL5CPSRm*vVr?^v!X&vJF*Ug5XS z1)PO@N94G)KY+=0Nh1et!YZJczVKJ07O`^G*5t0P7Br1lJ54Tbq=HWz$Bmnz_=7jO ziu^eknaxj>9PT)3HJyPc?I^J*V@nHkyD5u_vipJYAk#+6CEwL!0gKhXT4R#gfhe+# zav|3+o#P$0OKAQYEmpHR?|<5wC`ZCLsCihtZLsanz^irlqBcNl8U; zfj9iI_2EpxSTch_eOOJ>xG@PC8DxgEi|W<+`8j}!>ZlA%y6?JL(RetXwfS*BV=)YG zxu3&osrlCN-~q^VxM!K&Ym809U>+eu2X6)8$llFhO&zR=0l%fEgPDyDX$1vTaM9c# z$8_<6-2V%oHad#D`|QHM7t#mjS%K9i7I018HgAi!cGx?S!rlKYx2o71%m0k^7R*04 z@jui3KMeQpDiZm>^pO7|tc~|ELnF@%4n*Z9lg+9$Ri;nudYSn}l=DaM6oL0>@jo0W zEP5UU?lPLjUvACH$z%R)$4UNSK?6A{q{A8kBBOGeHus-@fMxXVEA+vHWciR3poZTl zw$+g0!nl6h83jCrKlBZf|2;dwIVJwT!#U*d9!EG@z$Y(t9x3)jtk7f*a){5Do9l$3yURqW)DC-QT5E%xh|Nnmm0E4iAyDP&z5e~}kNltO^WW9~pSRQ}3JYn+q%y5C8%&2R_Gb|&^mgX_ zDNn00?-y{pcN^G6&ILa6SCI+E!qrGOGqba(ZZ~(!7kI_;0(_dZtlhc?ALs~jvoV84 z@8_@Cmu4Tho4MZdSbTZ#XwNZYp*2QIEO9xgcdtA$Zk$|Z*Vlu38Lw`?UbG%G-EJd9 zx-PuM0rv;C6W%hwD;P=r-&)^P`6M(%af|hD`{+IuTKf_J+A=+VDY0^k>6m`@?J-cL zI54@tv#MW7_n7q*$go^ejo8%-OUs>VnaA*1Lm;$?3N;}^=XJt`GS?7I-mQ#5ma}`JRC{@PyjLOxzA~HD3OwU~i z`o0DY>>n76&nP)Y{tlHEfUy1+z#B7#+ml_KFzYfUpuV&d;1{B4|#^gk{@ESsSM z4ACzE8>oA#dvdk@*z%3l@WREnn6X$a)rHS`kXKLXjQbar8*S(JXKk)~_h(+`_-=^{ zHDYL~pW$p?h|S-^>hM>}uMt@o`0(ao_YQYeNkugrzNZ8@&}a1CiAO}TX%H-nsechC z3ke9wpYCOpnTt{COxGRd@x(@tUmh^!w2SY|q@4?C(QK^uKST8}Jz$QDBPcMT5FKA( z2BopsWm|pnV-7OHR5pN%kOQBavm%jhk7K~l@%p+UfZ%xBw=|X4FV~VvCKOT?_I(FO z_k4o`Y5;v_o;HU=sJn5T^AHI%EvS!H=}KrcfxrFvr#n_|ptMx-=>9C*Z7zfbr(fHPOai|AhUFx; zGAAorzIUx3Q#R3>=jm^c_0j#g(d4G|7qOB)bVWH`r|X;EG*POuzFB)1rAzt5U5e$d zdwPh8Z?KTpq7I7=mVf-Db0DSS%h`{MY3n-*clAL~>dVf>AFGHFEi|E=oq}WTP*2#V zpwtm4CSX4@`}XnQxU{_0AE$A4ypnE1evkXWqVoBmKX z%)+r;=KcJF74kW9&DeKG;FDFvco#B2j;Td^G#z`g#d2}O>H^HX@z5WfVWLVj*YdCTs0X)g z)23FWs=od`MD!d(qT+utJASQQz&3`nQPNT7fAfmoIudeZChR%An_8R^TzQ@^mk#ve zT+J>Ijm`CxpHY!Tc^moq6a*6>MLK}{Z3~b)wIw>K7ef+vbOKT_DAulvHTC+=5TNhg zQgw*6S?{LV!S#Cp0ua(ypHE(tJ5gy|Y4ppaP{g~!u_1jxvpGBfk?d>S>n(H(% zJncAt5doqj8ApY7NBrSR=S=epRGh>79KhI-h4s(#!(BxUq=_A($KkzL3zffz$7HF| zKiM?-D7r-xxq}vhLy1o*)Z0>)K**7f-_Pt=DPjMFk;FY z;clhSVxk%TXsSgMdWEaq0G|tdw{p0#hhQkoK*A4lhhk9C8E&8KAOtpgwZBfR`|#Jm z;7dti&A^LIWm1NI4q~@6jD8N~ciexZL4)<9jOn+aEo@Zm{cW&5+iz|_RnuuVW@aL6 z*Sm>TBZ{U^q#0*jXoKJ)txHj5JlqcMK{12P)(p`^6BX-;D<0?fnRzx3$o}9Q+(*wY zUtJn6*-DIcgM7u2a?|zNxv6Ry{lcj(N=X6W=@(4x{`C5_HBStUbF3M_O$z8owQKk) zMnN`FY)mD!VD41xhzKV?{&{^H^kv}ikt^=&O>4>14&VZ6kiFfFaODK9woWoRVi+s_ z?`_|ddEr^r{ogAn9rnE;#}4!PlrYFRZCvyKGYWo%BpS57Ty1v<9Jm=&aFadG9IqQK&Tp=AJOsDs02X@rxOA5oMuPNe6N6 z09c7aOeKRDPKe@f90IP#O7y`q;?RsjlGRgBOJ_B*RfyG*a-cqSaDa z*JbK2?fQ=OzdSrAJGrlI(@HAiqY|OFD8swQVJl4uuuX*WXY~q|VaRDSM9r63(3|_- zKr*2jlS*eLm9QjlIf+b}7frl@+jUZ}#e=(T)fZGqN>XrED zS5zUicTY*iAcH4R<}k?m8~4*K?68NLX?Yw=R^|#jr3qZFo-`{<9u0MO4(EMU_T@y} z++x%0G~+MYqdpVbyoVuLX{R;{t>oT?j8(BlP5xTq5mOb$)gb7p6+CK+>M7O5pIM7z zXVGa!VWCsz5g;fWcH7(xhEcrqSFUg_c4FUdWE$wk>8)Ei< zW+e8uWx-WV=fvJXa{;~-3D+38N)dHdvlvX`ge)S=zhhWZHKg@KC3|P5d>H{jottqd zgptv@vIZeCJr_`ZFP$NBM@R$(E@NYf#c@gv0XNJnw)G`p#q8l!Y)Mx=Xt}?68m*oA zNq=<|$L~S3!I)sn-LcCJ4%n3{TnJH{oC*{~23>q?w8Z(ty)@9wkfm$SGCqhnGlNBr zEMDmBgyNX8)L{Z&q$H<5Aeg9(j*@a>ptBD1dz$E(k|z+FvpO&w6f`iU3c!*YB9l4Z z`g^&JmHU;LoD(O?rxoF5*2*?CB;E2)&(0Ekk&6uxhEh$jGo^b(xD*(&y6#irG`-L# z%DR8AX#!1UpPgCbAr9V%zz}U5vskZ*T3MZ@RieVT*f}AfC>+rn8D%RAUOH!yqh+>2 zD2H{&1a4%f#JCO&4%V!m9yqo-s6JJsB`5zeuFG*X3cUsnN?cFGC1WbZyo&eWUm@8) zUtp0jlO-$eYr71wJ{%35qeX1^Q*DuyPZ=!q7rqs;s!x>}G;2xwGN6;!K}Hbw<t_%!XF5KGP|YWgV>sfF>2={IvHp}a`ZjIsxlQ62 zam9-yyNE@7pwGkg8^%2^BpT=^Zb6E1B_%_)SVrv14_A(XTJsCKi7r^aY*3$tVIGaI zDojiVreH#_T}{T;{PTv(o|zF<#mBM-Nv$|*x~~b5Y+*5?f5JSd2EcvON*L5Ei;1;0 z<2p+uUBIQ#?YD0}7p?+ul1U32bd$|7fhjCgDVE8%RbAguV1sOBT46*c>$UjXLw>Ek z9HGuMK*3|=B}N0s^8xf;z|Q6JLB=!E!ZZ%vk4)x}zYi4CaM+(52VvaTn~Ngv6TW)J z8I`_@ecC)IV-V^E6BLo;0#N*xL*>dy|EBb9BS{g~@#hJl!%5?R4i!bNfb)gJhf;z` z0^hns(12b~HdAc@o2F0O45Caf%*P&2hCXyax8FQH<&70=-rL!u1{q(TdQ3gH&lh|Q zUtV4uot$Fg;;s`L!7q%w}<+B2*3fk7Z;E%dlp6VwY-?`JhP?C3_3Bl(!xZ{T@X`Z(nS^LA< zXf=}WPiGzD;rOkQ$sJe!jD`A^vj=;&AY2q5(QRy5+HMCO+3v!udxwRxYcL+?cy7SG zT_!!O5Jzx)te|r}dt=6LGa^mycss(u@_A`#Uyqykv?`dzu1mg^*W!D8T&fIdsOO`*f-rvdEJZL|T<4Hd;pGWV}L1`9*7-I>$}_UW@b z*|(<>mF%aM`gMyJkG5B9UR-TM#|?l>m^=Oh3A(NqV;$!O26^=5=-bi{Cf4CAz$52L zvsC}x^Ur8s&;^vvh;b?4ulU9=f;N&PYQ$LmzR5xJ_A>p zZ0EhmkYX7vP?qcPK6Yn@R*R1uPqL2`MKoPFxS$=tbC~Y)g?fN+ZgSkuqKY!WhnB{ga{77>6>N45B&sUdb%dh`*tj@^V zk9s*EkA8!*f6fP7*68vGfr_HKTaD^@uO(lrFDSFz4A85tk)RcTja)7ld1tQ?d-c~K z_F@Vun$CPihw0Jzssax`Zcz!Sv+* zaMzcZb-ouG$S0x{SbVpNk9x;}eXZCg$fTw$;kT|0CnIQ5H4YX6w z^W&@M{S|20ZeS;_@Dw!PagR)I>lsL|0r|BbI zM7G7IbbRkS##~HFtH;?kSoJB+hm{wWPt)M0Na%Q8&Eaud7#+=bvaPKelUplQez=oXXgehB8gG-PXCQXZesvCVgi%d5<1BDc-=Rx^ zlJ@GIGuis219#xk0&YV9mSnc&pCm|-uI1#Zv4BjI)^qOPBZsK`EeNMVJmclnNF#a~ z(c;G<`*#TDkXn2r6-qO9^+kBXOD1 z;RVN9QocFHeYS0gt^&b^rd6F5MD8p8yY`FY@AS}%ZyuUhj$w-K7lEP&cvsa|o52{A z?E&0?`i$~svXvx=@}^4&x~5a&759N)^%!f?!vo`F)$zL7a11O?k?+Y;?d6GRSJ0=e zgz=Es9081;gojm`Ml>CPM2^^=QP&fdC-zZKVfR4ta>M5fKoxnyV19C0!R}84nE`iq zZumQ{hrw8j@@#+36 z&!Mt0YaP*hQP;7F7+XbvOl|;2bfIohx=w}h(+I_|#i0DD>2%Ho^BEVou}6jPL%J2$ zW}boh=ZA25LZ5T-`aAM!r>JDZo2UDpim2*akgJ0{{|`}oE&+$AuinEB5YEx@ai+V0 z{@%WhK}eKp8BsMmq_5{sE_7`m8MJ|$t9?ahmb3MtBtq)!W{?L8uJt`l6G>z+CKHL{ z;**8l31+T?J`%CugHbJDo1p5FBA5-2VDGk0NahSQc$Q5FN|V)#R2+2)*vp)g>+E>xKv2xE z%F9jIWMLsJpx#9b~=KK3KMT6tuUs?y;lU-s(SoKeIU1nBsL8rdM|NgZL?evgT6f}>?aD-{O(1t z4n3J7S+cI0L_ZJA72Y~;o6cml^Rdq@flOK0XZO^U0%*r%yLq_T6ygg-T=+Itzl>Zg zs&!vp)~|}GPw`gTE{r2#%;(E!j$T)YEanGF3nfr3!Rn0@{TKaUc>uzr{x96OrII2_ zU}uST=S5r3b#$a$)ww`5%ybh7($oalrpJ;iXCWpgBUEv&A664nmmBbt4i57Odf|M9 zU@VmHu~p?7nG20(cpxzAcOwK{n;xS&8L99cT<#2NTndJ)#h=WG8KGBpsu_xFongLf zQa%U%$!n)KQxC<|?4%F_r?{D1=$Wn$5K-w5Gsd$SZkNVP3S%?uJQyUT)CaT8Gg!2- zubVZ8x=%w-YEO4gR^a$y%R1&gs4(f}C<8puu3h#m1RaH7sdlPC()+%8{?>8FmNfPX&a>l-`Z;L`=?2uy*D zs?ZKc7cbtR-Fx8!)xAZ-dAy&WLpq+ zHN_sq6-*I%{5r!vjapS@VFSs?^MN_bXG|$F?sYPH->0bpMZ)!YrQUC51ln5 z@4!zKI#x!tb$-uIDcz{Rs5KXvXqKxjSKaQ{DwxRzPs~&&-^^%=U+K(!FR zTN9ajXZ@n(Kx>=Nr0$MG-bUavHQB*&O=8Dmo|WbaW(N1McJ5b(Rh7qQ*uhWju8))# zCHAAyQv>WU1p&UP+Tt$}E>STV8NxaeOwqQ!9~2t{vWR7W6}>>ahvr#%+n@)_@bo5i zL0d#qADkgDZsPilF?#jj{@yJk94|KHPsI&n@^kAiIyxDcUzASHP2BBbKyHWH{gIyZ zQIq5L`U6B@gWbUF4vz2s)k@Q1x9{8a`cVDD0gp?j$pK>A_GKCblV|RYc@? z$SA~&bjkVl6P(n_$>rst@{hRNW4zOEOb#^Hu-6~mr$_kCNak|8I}UPmPTO829+RKB z*PEOvHBzy`?657KSWhqmW(((e{Vo7IBt5=+|CFosx1v`MmQ$=g5kGBM5&BsSy0;8G z*$B35i+9Ny++9Gh_Qz|;k8WQ)FmUil`8??!Q~-PqMH&gR8e-u~S)%4Xga-v5TyPEx z_ooml>%VtZeH1+}iIn2fCfQ4fHEuxOUzdHdi`m+O*kTSZE*>*F??uGoZV}gTBTgQb z?lF?==d=sR`jI(Oq1ElSNATN7PBEiD#WEsg*x(<8fnY5JF>FflNEUy3_YQ;7){_fA_C)x0ZI0m{YA+O@tSoI}01uf4d#3;vf#VO}QgfBcr1Y8^aCE*zv84b0W68Q#=udW=hC(|Pi2Vf~gz_&AgDm0y!3)R=<-r3{|?x%4JUbZW% zUefnXICJF#`0xJ{qWu@u5xt{2V2m2a_p7#S!x7a}6QfJ1)Cy~M=k-S(NW7Jw0G4IM ze@jV=WdDA4vh3&r#W&+n5*Ej|IMuAPr`Wn>u>AtLsC5AIBrE0Q+rLFMn)ttKzSz{~ zY!d$$oaYyFoGS(SLn*K!reFl`n`wX079%O93AfPSp)ih+yb~`{bLC=d56LX}>M~-R zRfrUgA6dfA?p1M88MXY&7o)&h2k7o9y3U#`u7A{ba?$L9GLuIXQk zrHlOe4fxirApb3ynWX+jq{LPnbH;YZ(+yP*rzhLKX1H8}WN267^}bv2uwSOd=!P>+ z2>vr}#c`K^z&CX5*Z1_g3>cq=XWL;Vqm^@YCYzML%D+?E3qZjHkM=*%cntY{IR74n zTnW8n>3@&FYtg@0`u#l)*}oTvi4-1$xpoC>O@G{rd~fOgtHrM!xy^J9`&AZrcDZr+ zd5p>tJ`(X>x8c4-jimScJS7%3b|GMuILno0?22g1)a?4r&DM*iySJCaZ(@;`{5bu0 zRn-UGduzz9-tX+v)7DFV z<^#T{lYN4TYbNsB+ja#mkt6?fj+YgkpEWq^R%sHsvY9;nDR&jAhIXalJ+$7vV`X2o zR?BJ;T0$Pba5lDN4Y@L`xn`Kg@ZMzFw#$%wR|JXo^XAlq&3=K&&v#^K9lcBcq}7AN z;{oBzAV7k|J8*SACnTV+Ayd2Q3wh|HNQf|ijdk(qb&=j1EalTpPqahaOzO#3RokO|mnTm^f86k; zF^qi!3&RT6aL}g7^+BRmdt*q|92m$iNz)h^9Ka=iWA{i?B$t_3n~f&p%Y;c*-aOzL z%Mz4cK-V6s&UJ(GH0P^L&nqOCvxEg|*9YBS5c5=@aC~KhLDa-k)s_oae@e4Fef?11 zUKwfAkX;oMbeKl^sTrYq^Fan0{r9xz7Rl%2RjGa>-eq{#ypX^lip=OjcXn-lR4kMt zY5N&E9qIB_FPBw9`b^QIg-OmJk$5qF54PP63}EI1xyi;QGsiqJA5O)WE~yF}_^sGh#`o@!2t@h&-`!84^N@iEcaLF) z*$GCZFWR^@Sc|2Xu=YjV5~D~@CBp4FDk9GC5}=4Z6;YOuky(kW@SA{IvOj;&LAGUk zLdod~pJ05(G2%CyP)yPEhM1-fWO|Vt5S=0?`M&A(?Wo3=-Z+}sl5>V9%kS6_)6NRH zszOuKYl`1R0T}jczS%-eFRzI^xpPwOSjN{gdbG5ezB0S)DlJb@tJ_c&Fli1r-pDYJ z#bzo?soSGc#)~fQ-ZDD;!Baj}C~qeSece?#|19Q=!T`ug`|M6xF>_K-X!%^)c3`y# ztbmJE*9cU0ETAc`4T51o)L>mYFjkeN&RfDMZ_J4~Hva@y>a=I+0Z z7BP>n?P8{v^azBaghvwV$+*qE^*qS7-e^;^O9bO@wwq}@^k^r*uo9dFQhtJC& zPcSSo`whhku(V`cZ-1)Z-E~;eji}QMXoU+}a_u$Z19%-YC>To2^Hmd*S6H2Xj~$O zGl*7NQO?Q}f-!sMs1mx)7*xQrUzV!k-4J^whqy?W7qG$$^l5b!hwIe%wa;-P!%}z> zipvx6XxDV2(v{nzEa?Y(V!CaXWNV+$#2(2v2YV}?NTrJ4S|i$WebmdU0 zQ5c(a+!>SO3xAg5l^!DnRLkk>Pt}&{T8g1$SVllpp)wC^2)?1$!iKo^M=lGFuADIz zt6_|?F+7@~L^odVUiHz9lR{zxeeKq)96EH$C^wNb>4YS*yr^ajENs$|tUyzWFbQnZ zeLUj@$o4Vf`?!)u2mK#ya363ipdJnHz4cKh2|m6M_mVG97NbgWtu9=S0VyzC4+cl7 z4V6Bdop4GMG(nsRAy)+m7)%mym3^suj1>JL_yL_!@>Q1}`!htqalRHu1x}epm)iO_ z%Atea1EPpbi(X4fA_jw8rQ)>~{^$R40Z3Dd$c|5hG7UUVFb7UtW0A5W__p)c(Fq6{ zqhk4x^Xp8P^z57ht^<^aFziUup_&KIkDN%FTlOQ=DO3bS-#*zl@%MYgQ9x5ckzhha zw}c!5f!a=loQ}|Pfo%~U31I22Y`jPl*yS@kIRFACXM!R}FFNIA|wi5eN&&E7xDd8)hDD&FZU4=P;l@B*tN@atpAvS+LeRWoLF2cRhLB> z5@cq5N>J4bv8-8STC_vp{IoQv?nbHnFx2X_!7xIlu+aSQIagoqPaVm!6U&|3*N4(Z z$Tl-?!3eVatz%9wI{ruz39nMh#e8X1xqo04ZZB_rd0kC5H53F#3wDu@P*>JcQtVwU zF7fLnAr`H-`DIg@Y_|jPL~k%v3rR^Jky zkin^hEpY7S4rntJq>yb&Db*G=5Bn*-%!U;4P_=+w)y>l-NsmXq&5(0yzPnHvSj~y( zCQZaQ;S_KJi2#bOV^FJ(NrXXOXtRfj%)<-v@K9?sV?03P@YyC1js7f`Qk|;HGj_Y1 z=cWvUiH}PxyB;nH5U~+BT%Rc=pybTT zsP(${OE(qn&XuJ&I|bA=o?%ZANGc)%5rAWCV3wiB0i$Y`a6kADqbAxUSi^6{6UKzo zrBf9UFq!9cU1VPS$T7DdDnCqekVGL^7Hnp2+aoV0E&&a`^SuCAVNgAOKazwkDVnEc zw9&!oY5%63lrK0UZLW57uJA{fWpb7p*8zY)!8xMvA=) z#miF#SExyII=>ZSd7~&9=Vj)oy@yv9ro8d zzQH{cd~Gzu?=_1xLJ?@o-3;a2$$U8#R?8264UT|Z?!u}63DltM|35X1m3OHRGnq*5 z88Mb}F5A95g@MpVAEH-&GNWw3x9BAqpt^aRZ%zF#_)Xw@vZE&Gi&HHM~Bbr^b`VK%=vr< z%2uvQR(*9>1PAVCMlG9ed$M<@vmZ!&mlk9w9`BTITwyplS0)~!PP=*SerCUIvtN65 zGqeWdue=bIyE;X`KNY~(*uNYT3rlEJ-FwXbsE*1G=Wk)SMKycX8=!0=*6A>fiqw;D z<0S#zs9IIq(52Z=bTHoI7f+^GAzq~!fVb-s9`70Pt}X2QqPk=%=W8n1Y`+{y_)qWDAChL`m8ju-E#W2=)HMg|AK`buibi<)2Btjh(@WE z>zlWYw5Grnmpyjz%qJ*s(Zf)!l+iB0df(${q#LjNFnwF5tZqi1t*-|@IXPD0fnp5Zx4X>M`Zoyx*|;x}=Qoha{P9Lo)k~#=Xn%c{@w@7u_?3slz%(ytU^2@cbNe@%Uy9;1O>q z65+CJ{ge>PF`n_v+v^p1Uar{*b;Q=rPFlk>sMneg?xj$Y1IMsRUCyzJK7YpWle zvwGcowpWCCC;@cR9!0F&J!Cs@jmZe})17|3Uufv)9k6Zw5t?>ZE#RB*lwD-#wbGdd zc?O!~)lSfTMC5zwO5D%0UU3|_TR3B@e4b)eS|VR)q|X{(O&Ugj1%dN!3w1b;i)}Lx zdB0V4!*X{1QGMOxMRB&?aJ&OQM`=J)-&;kAC;UBTS6h+dEP~<-hk{Zt_HTYvJSF231>Z z`iSSl*bDtPc-c55cg(ljiiS7?1%`=QNL>+HN)y%;bh(X3nsn@Bd+CGJyUAcOkB1$E z_AuLv`TNU6VhVU(7bLumv%M{5IWJ@(}q>EE?0f}6=@ zFRDC!fT+SB@Z3vNsckzxYfp&oY<>PD3QN;o9~Rm12zSv0Q#2TPK0{2d?)>2J7|q*l zG*_1JB`c3NCkZ+@w5?FI@n|_4G*Rvi)NG7knU}$WIn{d^U~W2_^r53W+1%?$-yXU1 z$!@CplEuZ-rL0gt`IJ_i&omiu;Ome*%N?t3rHR-IPInrK8)qUN}Ye!pd% zycsfWC`1R>NE9W13-1F_Oz0wXNuS&U`8JdcIeY?oc7INOe#42+P zxeF|6J9h9`_Gomd3VQs`C=PPIXP%Rbg9w(b&%@&r5Ol*_e;X@nWapERlpu_Z<_mc# zu)VTvNK({g7rUuz*jQ>$2bNUm>;K6fwEM#8j#zqSE9`x5PS?>MR~Q{p^{{DLq+OHt zGXW9L*DFR6@J#4|@Ej|7rX?Fx5fy4jR-y{jCs62o0X(41)6jZ@qH^S7bz-`!3Uz-E zmF;+=qyHLigBq~oHkYI~;D4kj%r&Md0q!|j!el>e&10PM$vCKR7OT*v`@HF@C3z=M zJvJZ@huX0}e!-{lceo~WHb9Ni~nXJ-`0-GaW0n~vnDpd!vQJ?IsV zehUx(r`C}bq=ybAibmWt^ViJs9=z;;YVwFO2RzJ0aicY+;FVkyc!Yu&W9iOpZJ7*f zsAdr;pr%+3=FbD;--YczhOJ1}SbI;K$ucBpSwqoo3l_x(M+R(YH{)TZC#brQ7tTM) z-r9;{r)^)}m!zLv6givaDT1cOX;RZ+;AxG=6d5)I>x?K5zSyCo=D0>N zwk=&NT~qK^py$$odoBAMCzliS#7nQf;pow@y@Y;x`IJWmTakIPfis}Zm(4^iRJ((+ zbKDP-myc1Gl90fWv4p7Cv-6m}C&l0Hx})thd(HkWFE|u7qNc7a7FHf}dU8WTn-Q#T zo9n<2O&hPzvS@CEg>-?EpwCpFU3a9$5F$`UfCC?=qZ}rKKhV9zk%fmdP&f+Owfd+g zalg@Flsh2>Zb9&9_fzpMLH0#YtTIktMkt;q+9?>zSQSHC=ff>fs&<&>R4p-F<3p;s zu+i_u6fp^5&|UW81GP2!xtsj{sF^b3^O`sj6*1W=HGo$n=saP3Cu-T2l$;;tRK*8p z$TaeE8aKBX&=-GgQhR~ghM=c_Z0%Q{0h5&NVX6|cEz`@5UXQ+=r;fH#YFy(fXkEyd zVcaVCU5jk;`9-s4`!lIWcRdF$;Dl+2WftIDODb8x3y8Vp13kA2&fTlM`q1%eR zHB%qKT;^bFZc&N~nZ5J16CufwkSrdVyfcO-f81jmzR}BjgxI<_!ntTJyXb*IomQl} zF@gF9zxCIG;2>={t*e_i0c9)VrCIUSb}|j}JBI2(_ zlM!lOHhjo@Eq9vJRTOz&vF9oP(j>58It=$+m9r{LaS1kOt2vCQ*TD+Pe!jUZuCMsK z{Y`Ts1_bf3+o^c{>B49TQB*ix8=B{Z01@Dg^axuK^Dv_N_zSu$pgQs&_%GPlgGw!C z95)cwkvAN&6@^3lg4xP4I__kn2rpqbqH+7S({`)#mlKT$j_dUJ1iU&u2d~pB_mj3c z1zB(HuDsTouL9lO>694DLwe%y1??h_&CL5aQFd)hgRf&UOeir0z}|V+AEVA?DfH&K zpodY|J&j@wmT0MY{<#X$3UclvR_{U`D?!`AEP za4q{GjpHu<$7c8{A8!Q6Y|i1!ima_bYXp0O%@^RJS6j(|T;&|>WD>{$N-T>uH5kTns zp^2Jm;s7L0AugCd6<_-+DWFx!984!hWZZ*vw7*+PGD~xtjPi{Y+9;yGVJR@<&}b+~|I`U&1$5juIw?pE@aC zU}j=WtNWc?v9*<$Sd`~?fOx?fP9-iWM#kLoBez>_D6w37>#Vf&fl1fZcMhG!){B|RW)eu(#7tH5b$6}!LKvsf? ziaMk5XBP)aDtnT}L5dVvzf}cwAj>)AWEI^CB1w%dsatg1+k%#egPE!QIVUp zqts+$Qepsdq{K*CNqHd)dE`ndgoC6*aayvZ#i>>pPVtOZEtEBbfR-1}P%-9jGP4j# z`aA~mL?cbA;{3pE6C(w=mt zs;5pcti+A_vE{L8f$Gfxm&YtL;)_b#rZH(|UGj3m@*>b&bx37gy_2gTCE77j?31n3 zn@F0D9V7*v)Q}11efJ>6itV}Z5&7{s#Y-^MY9&mK`X7ak+g;fo-evz6>Y!Ed#h;4{ z`(qbwu2tZQ;j6}fY8~FPjo;1!LR=$gJrNixOlZZ|M6yo9K*NW?MR-Xt9N;{6i(%U@!dlIBrW@*jQ?#yAC~5ok7*k zc-Ttx-H;)J+Z}us@ap-VYybaYxqta+-D4l%eV+td&#Nk?crmi*!XMjeSKiKeT$lIE z7UnsZ3I8o|sFNX>yl0@97AwC_D+3Iq@6}ywxP^D&0l{(nFV&)_|waCvf0!DuWE|L!C;r zci(4>j69)QG}y0ci|`76$MWBjNN@aAmoe;{J8z^XZ^CLTMB>u-S5kClpL_Ks?hKOr z-{USZf9K2~X~=)^9ak11Q5QYf^r;&k)++qrySq^j|JQE!+3+uB`*()_FNKVMC!X-X zwU3K(q;Qe*hgKoO8r)FumoDc1^ZUI-{9O1?oIQf(C_cyjY6;pbFCC&6QZI~**;6I- zT}Tz#Ck&>Mo^B8wI+AgH_ZEwCp7aH+PEvbnqN*>1Tmx;r`NlCQ*+INR=TUuaJ5OHmzlM>3J*@7?9&a=|iDyZ=VF@cH}Ege;OB60+q1T8#w zDz!2dR_G_5mJR-73X-E1j)!qds6B#3Jmzz}P#qaqxSS=9?pF!nzxY$Uuy=VG*zQ8D zqK%~y4_CtPKfw8u{?j`twJ$*8;!94DR|FStfReo%Jb8mE464MRP*_%I$N}DsWNktQ5)mrcBFZUW z=VwCf0#XDb`>=wC+54-I$th?{It>`(^;mP1s9p;wdm6Rr46tw!v!hcq{QC?9r7`Y) zJAx_3CNL&#U%Fop4CSS)%V+eeG`>nlZDd+}jQmhC8xRJCmkgsz0f9v<&IVdML4@CO zXp#R@7x3(ZqQR?D6I$tu6pbH2M#~qCuc(D{pV8<=h#~|sb{g+}ai_o=H0 zt4$_w9iON#>%{`%)K?k+B^?D)HDk2wI)T@#?9+FP)`@w4s!sosP=PVOVO~*p+V{-7 zSA?Hw(O7nQsM^)UdwGXC{XiH~ukDDlcRw$t2jmM9^coHdk_$zcmRo`-sWqKsbcGN* z($|LmnZ5cG!dxWQmitd@kJXyzHicx39W&i~RgRo(4pkQ~5o;xHPy?iLR}}C>f@>e|Su~b)l#W5KwsK z83wIbt-3?iEJ_f3%lGo3Js2`2&-j!vbG9l9sgYYwFm%wj-}do%#V6#~oEXa=lh@op zv(~}|U$bwSq*7;;^x+liA_L{L97$S175e0Dek3SkWIR;VU3Mtpw1GR}yUa8030YMH zf6QXkw7yyn(;jWT1ke7fSJrc(OO#IYKFx7&Yj79Nsh7!4tze1gyZk8AR_mzMBA1XxdDKu2B6L!P zVWT-fK0iyWQ`BKoYi1RalO=T+m0F@`{ej8H5PngejZ1bek6v@2x|`!Xs?zk#Cn1gb zg&?msX|PzD#e76P71dzmROJtSdqnG}RiKl}`(|Jr_qVDXCJ@?W_hFH`-~0@NOe2fu zWh3%j4wvsp0C=_mJn%K@nuLds#89u}xJZnHLN3I%>qGr!%iGXPfg$%xSyNtw$I5rt z-Gj%YT5;>(1i#Ph5-F-z%)wK>(5S{r9;ff&;@En>mzj}YQ;}QWAC;8w8jIYFnPQN! zs!e^gIh?NlS0v+%ysW1tAj>Y|T8gv?Zb6Z`=#Q3=dv|KncA@J$Bg<~r83Gb)$=Caj zor~i4VrLke+X8f{@!=K5kjuOtkKmRHnw4qYD8#(9))YMP*Vj?<^;W2<7ZR;kFJ_}$ zJm!vrlGR(|GDKpWkM$IDUdXHQXr-}Vy>#elZ${mm?Tb(e6Jozkn8qbCXaD@1=(cn> zAqd;n$1k2Amm62jp7Et(N_|jFa=? zMmCX_Q>pa>OUt|lTa+H^7lO$XQs!yDvpds#NVJb_`g`l(||q589iQ3 zXN$umeX*_?;?qdo=lz7(pP5 z1Vu55V9}S4{r&wLI>zEEXC>83Ye%lNY$RRZkJ0tzv(`C1;qM;Tn#RX;YM+3>%$$=0 z7o?fr@#o(KKlUFCcoUg+OOYCYEtK-A|G=N*KtpkJ7oRCJy1H*7&W8%55}?84G8t7K z*Mb%+hoptGf`+d4Vl5dFZ{fCNm!P;^5bLA}@nCXhi{#9ufLx~}!(@p$5nKn(_+B^! zfk~LojzeP@)|i-jSFZ#EzK@Qu;4U|riHT7oJ5mNIQ0?s^K`c8Ite?GZ!wX|_~VV=D-O_?@t@4=dAeeIV;Exp*=)psPiKND*EWyv@4ys`-9TK&s3 zpq<$YvmD{wF?SnIKYCzuRCdG%&;_>|_ff2GR{gCtw*FNm7`0QgnouX-f)&G~>`KtaZ6XlJ{`mACp@szK`Zguz0cjLwLW#gC4a)=V^IRFl1j?r`S^gC1&Y!*z<))G_QP}Q z^ETBM7c~spoF7-Hg&BK^$_XJ(nBL6^@y2bgT;kT*T}+^V&T;4lPbWb2#P4_9a8vks zEz2f`(xlPt^u$TdpTS@%;=n>rgmD)a2J=UV8CzdFUcBziOOTf#ZON_0P?<*OR;VzE z#@$N^e1Y`FZ*z4D4VSB4P&%d*DwAl=uUer#kStFW6{`kh{s9+9r8BXMOAg~w3isxT zGZUB4dN?yG(eov<6UL2HMpeKTEWTy-QUot_^o_H9_Y_xkO=79HA#eK6uSyoojTU|-2{d?;HIo9!*$ z9xo+(Lgs=1_ulFaPR_M|IiXyh37?Mdz=_Pt!V3!vo1zD^Ng6e4OyHcIok6($np$+| zfq{YhPWV6uO>hcs)z^V{pIJ(;8U&zj; zsKV>N=vb)lp1gZ6G$<|j!iSSZ;N$(3I=Y14z4lI!Dzxo@RmB!pZ+GQEDqSOLQ*8_d zY)rHzNd67#_dAITzYQL`WmU%2mEG9bSkyV|FNKRg4EE%}`rw^Fbn#(Qk?97|@mncP zYM3li^E(8?j%v+i1XF^=swY{mL|JI{A9EDa@0Kk1-Vl5eIh}0!WTt!4lH(K=FC={N z@8G93@_of5>?IHB*W=73T!K#gB3W?att0I>W+d#&GLH8ispC6Nk*rT1^(5dROs z&Oiw4dzPRoPGZY)Rgl7{SA!WdlS_DJGPuz7lehfmB%TpBQ8yrIH!;hM>o-LWO1g2f z5ew|~y`LccX6|JShv2Dn(%Bk{L5#DCZj`ky8!nHa&<{%)p+Jfe+?pw3KYb1C7O@UP zM>^&bvS02`5eK4O>_+6j#(s6O`4|EfFDU$pWvZ*MCP{g&Ki8rx^LZdYgGYI96qf}q z8DS8Y&%gC20V;B@Ha!;_tV5J&#E$YhejDFt9O8RIbg;9n5#kx*v8}v7zFq>kvfid` zn@-uInJ^yoDmZ4^!nH@oTmb}l27AbWy+VX?lhtNlyK(w#6N2Ziey0?ph{v|&18n&A zrjM#4TsE&4_-YL{xV}wiF1K*et2^Dq($AN3-0mhfl046ymyzmT zZ|FKtc(1pGd-ely-*`F&JG4dz8%5rsDNfUc%`13Lqv1v(rc+ca|9MNAb%Ol)8%ZQC zOzJXuX4A%;XggGI?0%aDn7F?>KnB8jy-PR!73q$7>CZaVV{6kME3J)qSx~y+xz3U9 z+|icg%W`cXZNzj{GVl0ufC{!zRXJ5(ju>O`duuu{v4DHJU#DLev3NZ$x}o_m7r;ow z#hnvm%3c+>s`YZzu^EMGcM>_zw7xQQ*Wpbo-6KM#qI%IsU14Z0g5bLPKz+N2oIuAF zjqiO$gEn5$*S=k%)xOXh6zn@5g~nYldS}0$<`MBwbH9X8ZWJ^+l-IDN?RbM(mHEt?-JEbn z&+aho+~7cf*^flK@pIX?=j-cU<8}2iqcK{%a!m+W9|K(=l|2*@e|f*wF!l=+xU9Ck zDOhuH=k*qwxt&C}W!m5s4-_N!Z3Mxy-8>D6QB=`3g^U!yJ1)PBZ`@j{z20CqUe64% z@V#03c&s0N@<&!XPpoM?RE$rtKa`-mKW<7{dhMrQ_GGkePhJPqgdfLQA^kbfy2-m* zxJ}1)w^)b5e5iSttJ^!jPMoh9;|ca%@q%v9e)@=X)iKa_rSUL{+oJY5T9V41|Bo<7H2v=7reJV03C@GdoGI9H;t3MY--b8|Vlsw;G-w_v9Y5ajQk2qqt5F{U zTvJWdBiL^*yw5$qIe{|S$_ng49H0_{B zRq%6*jCch1Y+k?Dzx>T5acOlc<~u6DHlwSa3;3gk&E>&>=L>|=Vtj%5HzrpA_u$OX z=UVIa2>Z(m8fwW2-PWG~9ZxFDEUwO61#Up&3+M13YB3K@vwcR#CCox5R@0Q#EFzoc z1A(}&AB89Rb&l}*IjWPb!_>VF1GoyLCghsWeec&T>3(so_hKWw1t@D0D@oN>g7Vo@ zyrvGe-CU-MvU;8skb8PY-I@{3HB>PHtyg4+)nC+WTtE3Yq-I5c?uX!#V@f9Fo6bKm zEk815)n_=$(B!>55bXKX#eG~e_8Oj$IS9-iu(@NnT>5y7RV%0PORtBSo8!W_T<@nN z@2;coC|ow%c{dDSQnn9|da4MY>(E`(<pnoBh14{;~B@0exhQFVrtGx{^0V zJSjIkE->4$O9*v2%O`~#9DBoXf8n?SI;uHLiGOkh2<#4H-yeo)t-#S=O#@C0B&0FR zqqJd}!)?88oD7m+lYkjQ70k(!<&P-JiOxXk)E~(h(^O#>C#~6M&pELN)8q!W3lbbh z9EWIWl#_jKMuOOm5_K5SZ!|EMYjgL%<>a+uC0}618RNLaN80Uh)OREYuiR1{y2XK1 z4wHr%1NO{+LLZ2|?w;0r&dl;ETa$RggH&HHEvuti0x&YwIj^uR zs!f;$<~7Ut6u$4#;xuTIZ(t81J`Y@EpAP)!0YMX!UHMFK1?(&QNq??=enUPvSRc|a zgyO3Sc*HDJ(Bz2KE~!UKb3)ow<76)9!yed`7Q)4oLOXJU^Z=$fUP84pg&fu*bDsT# z&GOp%$`mf4e))jvbpwQ+DH$~ZfDNs)MG27c~hLgG0xs5!wN3E+7_TjUK<8IDP zDJ_uG9WyWx6~(0G{-~@)t@=`OCZZJdA^LVhI9@!YFZ3Sr09(RH{q zr^Q4!SrX;%kh!pb9?WJ5u1U)7iW_1pS1}u6{3)3@x?PPk6XX^4;^$A^4~hu^;qG?| zvmxK;rFsx0>pJmJd4pZ6+g2{U5+rS#q0g>53TeG10#@R9q?!pH9#YMesKN?x$Kycb zzp3VbNEnic;uAG(_%`mq!n|m{g{~g)OVgpq?3JL?3?yZW%fEKxY+Ni z-xhr*VjPjiA}QNl{1|z41$2+_APOA*gu}ns*~7+a`OwY#JSeI;N!XokP8xkB$JR4d zB=3U>`+5xsbO3iExQ3>|BE>B5w=C&1kdS(N1<|HT_@3Izo2PQP^I`6A8hR?er+f{+ zzmupjkQrMwv-H<(Pxia%N_89Y{J)^Am9^UUz$+vv>}pk;wfgfEBz$JgNYEH(FZT|l zLD?SV2o2*@9P-(M_gO0y7A4%%dUSte;~RP>)FgVgxzmo8=Jdjn$(Ic42>*2YhM1nED9`tH zvWz2vy?dZ?m;YnJ!GhOnWR zfT1&JeXXw{TV*puoO!Atc~tf#J}66{?s;h^Vb@LlEgEpu8BecoaqBoo zy1wUlC2MqhF57rBmdqGGRDIRas}3{5`EoS7@(l9!y0{&Y-!dH0eFO5!c65Cw5_erj zZ`_VkOr3fqwrNoekHwLB872jek8aKBz|3c;0tG2?XQ{+QdU%|s_ZC?9?s#rr6hppf zHa-QrR@Ji$Ppplycf68P%@PK=^7XOKm*%)H>!>WT*{>f$n$tW(pk{%)3AUvNQj3zK zPAF<~`$c-Y6j4fpHxE|;=`{6v^BoTEQRAuR-DTO+n}DA%chnpDdo&!Z$Wq?HYn<-E zSgdqdBy)UlkW*Ad@dC~jN4KzA&dI5&-enE^-Xav}u~C4Adu+u~8b)EPh!-OWQ!o|E zHW%g;nbvRCqJxHknLOw>^LkotT(tq)O+R5p@lj!37`nQBXIzp@lPu5??qvSS&5$N# zUb$-&2ipiGQl|!l_G)M72jWD0!gP9^5{!&Yq5(E@5W^#cPRhu%rLL61D#+u*CnE$Z zNK539j3kANAolPw36bOzPAB>EC-#C|wh;37aLLI5@s$IC057{Zo=nzYoSLX#rWnb9 zFoitgk)%kS#NIuJEf`_(0~(YaqhBGP5Aa>`m@wpo5wh?V|1d<6rAp8iyM1fp438NX z=D-roVTp-1>^*YGn@F1=>ApvjaIjJ@LM9Z^vWc@GUQ}0!Bc!L3{Snar-NuDXBQdVh zH3d)Mz_8O~ZmRZ58H)>YaUC6GsoVNPAw7;TI9!b=RKt*rdpy8*f}bGkd;VNp zVthCkqMp%$v{ZgqTH@&bzH7&FAUlTsb^3ZjqG*A3!M-E6iRm_>6Y3W^DlRa*%qal-=^A;;^>tn_Q{BMoGlbvu8BE?q zUc;ZjRhvR^OVR4;>O3y64<@758-Z}p?REV-IJ5s0Me-Gp#78CGh#^=-usp}xgDp)g zmC_V3og^jbdk=LX8(`Esa2jMnRXEm-b-Ei#$Q=G>z($?@9lGI&cN=qnErFpfCVw$9 zy(Nq@za?D28$DAxqwNB-JnaN^$8z)1@xh)R0T`;)|2n+CLp}S5|6$Vbe_+19Nj4FI zOzuUuQTNitD@qn&t6u zb%_T*wU`+Cuk^3q-J8-jqq;8O|C(e9L@@v5?? z-yw9CMt)%F8s!@DZy_o}{JmOjD4bKU0US|(4X0_#)t_=qgaf$Q8GS+7Sor*+~c z3YPYPKi{8P`cBO>>=r&6KkMT*hsW$$7E_lMjh8}-=%3s(1|bAcl+j?H{YT2f5&suN zBC9KDdEgav{v&@xQ{d}?7N!(dWEt{fTJoa0W^i~i+BN3CLwPSLMj#rCV8+uw-mTfd zxesJZuW|IhqdF);KCR#HQOe)f0URRllk%UVD8&Dv05ben0fg@vY6cZNEzHEa7W*to zmD+iLL6YWn26`rbxz8P-qI&-wuZe$W7UgVxq&}N3;BLaD=s{WMX${rt?Ma32z&+uA zG4_^GajnhP=uQX_f(3U-aJR-axVyW%TW~rA_u!4YdvJGmcXtoaxP49bd&WKI${F`h zkI@3Xp4DsBQ#GsRoXxJme2KUGH`gat-H+vF_~nP!iSAn=`|9TXHJ`xf?2Ei35 zg1X-wWq71XtT(`&M<)Jpmi<~!Yt)j1k9Cph*LQx0}SV)O0~T8i%3ou+R)gBMox-#N$ipE|OP> z{;fwyE6UH98pe`Dgba<5ie%x@<04Rz65ZjqRPi7i;hHRg{mnG{4p|Y~uf(iAoKPe2 zygvcm*ws>?UsmKCQ&P8;MCh85)HIAGN*`AJz=#bJnZ(tV*iutcufGz*e})_==iIvn zr_ZVCt}DnL#<|BOs{OJGot&Hzp3?l5cQ*Pl8^PImJF-W?LK;0W-cb43lb8Dt$1z9A z>f-*{yv$vCpg#Ij#Ka`KG*4DRO)+}4rpUyi)Vw}+1bO6=_BV(8K;JgP_e^Aase++S zw3JAXU%YE-kqoJ*$=Oz*G^dsUP2wWLJrqT$4I9-bO&hp1|W z)Y1}F=LcuH8n+1Hvy<3FfQHTV0R+~MGJV-#Bv_E5f^&~at|C>}CZ(hh-&NvFO!U}p zY|pj>e%dHU_6DJOPVGEY(Z{riQUCV_F@ql>&tRHFkzCRWVpyzo#GKk;J(u~Gf_@^f z*_xRx{{vO_xG--@aY4^J9>M*6`%~|s)q2z_fx+#Pm_~bjklVmuIU=_MG=cTna!e%E z(V6k94|mAI=M;A9Zj9im^%e2{%phfIiGek7KVGov;spmbxbfhc8a;Fp%r4Tk+Ff3k z#U7Q}?f~DcmDaOOf5d*;|9HcpM5S5B(;udV3kUPeVzVj%Wb~+<=S}}Iu`XNB0FzFy z>utlo_KiqOcR7k7$+$8neeNB@MP<-~4kGE+pzFhD>^j%V$6l;O-SwfDNMAn(a#a6R zKW7B4>1Dr&imJw50prS$vQyiwZrFv&T8yY_KRPWfxIUvA)_EgW=wR5O#nznr;BzR* z&#;vv>+!}b3EMGQkEipyLRo*Vkx>}8OiPNRkS`aT0K>Jn!8@XYE}TZDJY5G zik^(j{jS-PQtNk|mk>gk6|c-G$sO#2Lu5Ex10{%qwO71b*AX*qFkBmYq)g_VNJZC> zq>yjsv4r`TUUolZ38~2;LFM@cE!m(mU%y)g9_$Xn35c)Rd*&KOnxwR2!5r0rm9s*%Ar2a%2Q@P{6XxPVT@_ByR7dc8 z#Rp=fa~N0_oE@!fFikOs*`o57k+%7{$rZdW*iy`_cBqBQl+0!q0V2~M>)Qjd2zW;c z_cGj>p+i2P!9OyY9W8?lyd=$+AC6Ryl{>Ive|Li%nC-}rRehXqm8!~zF#ht&9 zFYMz$Uw`x(;+=nvYBc5%b@D`3DxmYU($lYunEMqGV3H)JEz9yb-?c;Fa3xlrMz26A zBeUKl*g{I}SG>7t7;nlXI=_khXE~&)N+p5CkgzE@w})g1UH!L^L_>2d%4+B2r*}Z~ zFbSy&260;i{B9lpL7`|*H-z#z?*+{CVVpKT-PM|)@TW#F*q`cSz(vF3f$W}qtU>l4 z|5z%T5ek%pyx|mRAsDa+^q^ZDM3IoHI6aXNWy2w0p!A{s>%!zm28NN~CWUr=WbIgl%amB~?Yq)!>(JWfBK5sHk z>VHCq!aumFHbzBHkTL4);>6y5xAf>0i zHl0Cn;unnS6Kk0DbyUQ}>}IUcdyyG&$uJpXK6VRo3-85VX^z()d~dpp#5a=~-n2Nq zV|J<*d zd=-aJ(OrzNV=*|<3UFOxHf(Jb{z<}e4pBYQ>J0z(qnHY(-qs}Llb|Nm&18r7vDfr$=jOy9^R6|u(IGUNh3fAlkY@ejl0A~N!C$j=xf(DiNWvzW)!|0PpFm8l19`a&BMZv?!a=ia#r1u(3yV(b%_131YQBcVl1`WlLA^@pMla?_jx$FF> zKU!k)q$wBI&5QGf#^wWZfuo}*O^$OskJwt<0;REXB6+Hr5{MTg#VWaqn#Gv(yrInk zkd6J${J$y~hX;-3oXP2FAq5462MG6@$kl4DG^@Pawx!!GY3NwyHx4r6R$fLM=%h8=Pd&5q3H77qO71ht^wE7WDeYVx0J7=2)zpGT{CA@d(-XHzy5ciW52owlyu+t{0~F z4<-WEi0DIz*5E_Tt50E@{wK3E-d%O!_yh&E#PNhtUekHBw={0V`1_k)&EMp03;VxQ zwEt&L=T82HNy&Fj%dOApUaHc5lZ*LwYzuQELdj<~sW1xj;(&7H{O4r40!3b(Dn)lN zb;$xd%2>3{IPOLVk#e|%vYO!D<2Ze-wWY=unW;7+ba5J_^n4Z@`>dAb!)A8{*uJw| zOXV{C({bF=REzjKl=J0on~L$nVrx}=$ngHJ>&So)7V6EB1kYoWuvUH7BpoICu1quppODGn7 z*wp_ePbx}{Lc!C-pYVk+3{}kca^mD9$I3cLFbhnB8WCGQI_V^KD?%*XWndVBUh(9D z(Va~DRCav-h^BQBL@Z2#BAB(IwVxMr;mp~o4|2QQ*pI<)y)nnn`dB3#qs%NoiYt`I z*RXb7C`>z)kVurrp4+X@n5hs^?n&@9?`fXt7ct+%%g?XG(Uc)^G0K^~wau-@*sLuN zU|z7tYc&!FSeJMc2xJ%pdm<5rTCj|We;Ep_)snYRIUM4mp!Wf0{*ucSiPJR~=yP@9rMQ+ee+s;K)aL0*3kY zMj7Z^B42v3E|(d0uF8gO3vPy%HHzILm(Pzjv)5O<{Ao!L$6o>&)^9%UqR~vMq;{0? zHw1S)h}}(2S7gofIIxj6Y`M0J=D=h)`G+Q%Ib2ytxgYgoU4fCXlI~&R`jWgJ1BWk4 zfj?k%*Q8iL`fFIW8z~vdUBk#L9V84$sPJNxe7A~iu7;Sm&o7B5M4<6;Ou4RqPJlN) zK95l@2cfG6PUT;h3%9B=fKi@Ab5~bsK;s(V@^pPH|I?jqvX{Y@F0@|L`B%(&RY0%O zpa#wG-G0t3fM;uKw*C2snI@X@sCp-Bq7TgZanw~i#PvWMr@v}^xVQZdNXgDO;1q$R z4C34$O5rT`;$v09Pi=98etCS2>>?tcXiO+M_x$-oZdhc!DbghA)a!og*nU4w-k5UB ziTx#xEJWw&WFC16D{Pxj-wZM_TP;`>|ER~M4(r6wl1?+8>~R-_g|ivp3G8|vH(_>- zjIA?((rc}ZTwl9In1A_0?c?1`H`2OSF!P=w%uS>Loou9wz{a~-N*>TEvW#NCgMsBEBl~zp% zbjQ-`H`yQU?%@G%V%ZaD!nC%WY18vCjJfN*5Y6#ll17)a=^i6FU7Z3+$6t8ZUk7`K zmb9Pl^?Djw1J?3ocplyPeePgvqI? zehl{4gyKKs<*z1aW~Q}Qi~Du43Lv?K=}{%Q@`9UTh`8AnZ_Dpz6-&tVp_Lv0;*B}$ zL|#62_wr<*Vc?GrQ>FiQo1|4_&(q(=d&<&354hc0Zpa(zjv^+Y_j9;JC zJ9^Y!x;0I)-s4}-Fkd{psf3l@D-^XRGYH3iaZQC=!x^8tj-6X<4Wrir7N(@h=GfP^ zrPdxa+rzs%Q-bwuiwz+aN)w_TsL8L7m&Cw%u>NU#e(=-e&^!OK_vxt|b|B-Svs?jE zOAC4}3@||COR!0*{E;5{eIg+wdJL(^0{z}9t)P1$sv|=?zaX?R4!>YKDqq-_pOEpa zpv^EI@cumyxOqJfc^Jg$2M4@ItiK-LyPL+m8k74$GdMUTYBv*|HJ6P;&{?Wtq!3Q- zhJs4^l}FsEK4#Y}wNqS$tfZd(^K>EQ?;{188f;oF+6x57qqdIvb{~{ooFHZ|J1AV` zL)aQHImy}PyO=?3WyxM{(Mw%r>?xrIg_No!u>&XnLgizQL%jBlB?ehJqHPPWaJE$u z9`J#G=VkjkUY*KO)gZ=D0 zefCtbC(TX6dS~A?Lp0!A+Y%lrLBtMAsoj%1u@q!)-@NVcUES274i|xs%9sKp;MId!H%mM(XyEmjL^<-z%L;&Mzln{+=#YL>c&zc34^jS|o9+{zY)s4^ z_V$;#CdkbW0RuLhZSTnmQXVI2>KM0S)fAcX^jo@lzIS~mY~Cif#d|JRIOMqac}zvG zl6BOUT%l*E?`96#*l|j_IK)lR)t2hcfg?}cc`x+z+?4TWfBqP(E;K_nnKrJ@P+&L%FTDgLwhe*OFl=vy6h0AJL&&$H*j?DB!`>qouS zXXF)}*{4ghjLz)St)XEC0Sq}sRnK?p?HATZ%&&bISf#|)L;Ahrze zQav5bWn9)bzxTf?_%p1Pe|briv2}3`#llU${bDsHn8=UkGOptF9P?<8fVf@3m2y>l z*$Ck&Pviv0M5}+|1aOi)Vzm9a2kLiqWLLL$D!=Nv-CdkwAFJBW#Sr_r%wLtN7jM6$ z(35RlO;xN9_J!D<0X+atq3L25C#|Ila~J(~bX!UM+Jnz8*e@F&X7bq8>DHVc-@pjN?9`eYUQ|9`Kl>OTVVsGzPMEL*_+Gbbv2 z`LxfnmhdF+x$@HaV&O>b0^vIV1cYJNX56n7N^igQ&|NFvgJ;(rPMxZcs(<->aeFla ze~f){o zKKEEq>rFnKdy_y}VYll5Gb&J9>LA*>yRJJVbtRJfPul$S8OYEM|G!QcP3AHwYAZ^b z%5oNrRJivG74M}+HqlDwZ;H=};E7T5LW__cl;x#zINdBHlqnkx(-|95hu!b8s)zS) zmFRWmZp)eEU2UA4FNG&*+gq%4e(;Ku?Ef9VPw2-1iGab#M1P@AFBTjp4T!A3Esyck zN}e>A>AO~B7`!VihDZG&RlLIV#^595e6VYKDOJ#s5b|9~DOnuR_FtMVk?Q}BS@&Q| zl4T38@Wlkxp&9Uh4f3mG=usF0{wwap7r2x3)+q!~@o?)JU(w-#svp=K4Zq?7Z-rpE z6?+h&N1n$pcFf}=X?d`jcv4{ZV@r4G&L%^V$=bfRAUW`dFb zgY4c3$8Np}=8Lv0r+=~LMbX;qtZl}iW}Ul~G%T~*KsscK#|rrI*I!PM=%1p#Q?X!Ee+NkV57tmB~_VVirS9_7KbOr}Fg}@z)f>SP}lU zcmFb29R7-Qh2uast-$T<%eq;~tv#JMM2NpZz=B>41NQ&FN}qp!)018y-KNKf5Q={8 z807ZOa&n&Ni%3Ijj;0j*z&`G`@7v=47rm#PX$euQXn>kO5Tza*$OrxzVyEAX&)^Sd z_=SD`r%#SLpf%4=HfUe3c}oGeo^8W@9PO111+nURci-(~5_k!AvclmB6;>#kjE%Pt z$>VsKh)QVp#6o_3cF?sWyxU;7c~`mciLr&#rlj3({uc4&m`KRG<S=V|F1xHQ zv#@ei9ds<#Mm?|Eg7=8?$LVuDmvsYY*i7Yy3Yy&+d_*wWVt)##fi4H9D?vXxzAPVk zisuSa)+9-n7m+DpWabt58t8orAQqGuHIytX?#{NqWu08$3ui0wFH#zYb3QHT-u#Lx z@ryGna4BRFL@{D`s7+$<+<677b!2f{0^&14eQBHAt{o{Y>Fh~SLCGnxpx`qiyjar} z#3hI|rTwCYmzQIKWNl}^(Pzaii&n~=v_Mh537n=)NB9AdBVTHBmZ z#D`{&QtDf}K(C#NdZey7ukOZ;>q8vdKouEj&CBBEfWjnRG^5OnR_^cmXEbo~=TI`Bvpvx!0w2W$V$AWvZ+Sd0bnK9uk5A!m8>dga!JEL=4qC$mc3Lu^ z@7wMrne&<_g^)KJ?S1~MW?#P|v*@j_>ZO%wi~}W81Z*qVGgdhs3*X?YBmxW_l;3l> z8(N%fdT{gys(6%?QPHW@D4J{$JMm~~^9gfBw^fBtSC<1cl*CG##&@I9ADa-oZZH-1 z44nYZftWXOo^fReMDfA0=wG@x63iv&T)wATRzFy{}Z$te^z8u{a8dlwDHYz zyc0@^>OB*(X4%(P3r13VPk|g&RL6b=6VSx7RwG1_M5b$eY+jEfUQfh9H0D7E_G2EZ zIT*)SGu%xSCdA+GWU(dIpA|lpeqc!C+}2bnj9mvdRG#RR4$7ZLH<=rzYIiRtG$5El zDX108XlPJ>=7(a|7ZhxPJoX&+CCX~DgYP29Dvg+}vO+GW*2N_yR71Er`+Tz7>4c~c z29Z{*5mnIOrz7A(;!veTG4pdX1oS>A!!VbblFMa?sF>ie zRl`J#4fWuYd7t_59uyU3w5HUf4pL@W{tQW2wK;t3;GYnjQugOFEN~i#THnmgn-|g5 zWvem|b}i(3i&EbI_5n$r<#>mG0pAZ2Jc`@$`nCj^=u?{PA@XNmPXf129Q4yPS=I~) zji^?1WSptPIH~qWX8_XkXWoT0`z`TtudbgQOZJ!njq$B1dSA7FgWOfQmv5UUwTQ#r zE(>Ri6wuWGE1W;3&nQf3@-iu-CS^Ae{E~m%$YyKTq z9%z&82pfTFgKm9pYB-Xry{Ozhpj%OhK0*6qkSB~XP-vZZ?QzEK6et#oXS3i-ca1`` z?tHg4?Xl=1lvdrtt>&KG2!h21Q-pAh1@sI3Zg~ zeQFjOMu*CMj}l6asidVc@bZmcvn)B2ISdU8Jz9jn?w2o0bH>)86D7mg*B#ldL)o80 z!K{F=pV?ltmcfB1)}G!JD78q5+(S>AvsryV!<|#1``B~jjYb*u_ck6sJ>-~I4;Lme zzjGN8NnCw5$k_MfPFq@*YbD2S;76FoBpNBw>5IvYQ47e!g5Y*Nu!8?KbI|p`I;Lq{ zL{6&oO|&EqKs0XPCB?%H>*ndPSjpYa^Pr4>3(GYZNSF0uBU1U3m>7v)A8I}pD5@d# z*YaT9XtTIUVvNx!`FL?BCwi8lBr6)g#r$`8AzCJTp?KfJf*z5vqYT-Q@W=T-j5h)d z7r{Z_I0D<-lfI(+zxN5m7XWKQM^{E=y%;Pl-)vr!yA{mP#0LWy4>~r@^Yh$4q=|G- ze1jeHN8SJPkus(y#~_uYn?qFlj)(r|B&lR=C{IZOUBy|x{!*!{xm)n|^`gbvd}#M( zrcXZ~Gfl}yZk3T#wG_gH@;Z=wZp_`PZQ!Z*iIt5Ij*J1@5fz9lU};H{JYG{Er@(0( zX@;y;8Dr5NA)>{~uDqZbPK_lBXZi}ck8vwAr$2yexBCOvyVO+_O#s zHAbET;UZ}P=4gn?Lr(0f7LtCF{5Rrg;te<^=84hcl==}<=CHw zE&nH^8*86{?_!@J*j2eMR&g#-qFs#`cR>HPiCaSkZ;ERc!w|0W?8DVVmTh9yDt(@9X>Iquw29 zuBohfA}oU@*HZy*3%>gVzd=P}t}fq5#@Se@C`-x&;$0HV8~e0=F_d=tO76kUFvqx)8fuWqSaNo}g+S)RT$y|)L`>>`_qD20{JQc>{67wOK$;kLC z!oYCj;av8LT`96~VW8!YW-~t$q-V;K!%@$~;bhOu&*#u4_0DX0Q5Q3t+Z6Yg3<${m zlQ;QIqblj952nf6096uWk!xKQk|VQ~YNUtBU#hVal3v#|dW` z=lM$PAd3}Jq^!Ah4c0 zIZ*x=iuO2R=N~tnUmD5nJ)pq%tj1KW96^ubpvw+^X^t#%bfm2?;R(vPop>yR&`5c` z^$?dO?IFOdxw9qnr~?aj6ZsZHy=_+Uh=Pu_0ta3#Ts$!o(tCq zE=_(30roEjbIi4YoUZDDn$JX^G5W$^Q^RGmW(>J56%P8P7gI6f zMsXe;S(AEG-Ih4d-NW0=VX$;qw%Zf(W^j{So(e#$ffsLTXIl%8j4r}|)Bd*yBCG#F z`gm*aL0*MC^f3LE01nT(lLtJ$f)RXy%UBE5fzKt!ArVH}+hoi&DSFyKh?UA64WYLM zNjgcHzc5H=yuD}5XIw#Ne6>De9rAYl>mJjC;JMexM0&yfdWzldAss=Bw{ICcB1_r! z*m1@F!{og8c&uB!OIu`e$~CYl>=@|5PDkL)<8pibbU<-CMfl^}x^22vYt*0S)W-9B zPxre#(Y53#9u(tc0J8n?b^V_WC+?4}%PIGnBKR$L6IToUhnMGh-u+i6gsmuD^lJ-^ zus~AIwXbiBFKlxk3?;&KjPgmw`hOXF=cB|Zc&)7kS8)Bfu9jk?LMIg>IC*vAWr|8n z6=5~+qfEEwNPU6$wE!8ftRfRC=8xC+PY(V}*+IAreZ8qHo!vBesUsRZ1a@*zqXf^S z%H$(UjC9SnM#$gt$p?I)%I>y3V%q4N#8ARcVYX{^UrF!N~s+z+l-#L$%n3@R71nk?fhzb z@Q7tPAG!@rNDO{QP-&*59Gno6me=aDT1o__ovcrPJOB2pK{2AYIf9^XTU}o%TCLEe zqPy?XLY1reVbT;+URhrRt@|GoFvk6Z_ z<`I-rz?kKHO~#p+otI7_5v-dHzw}-^hTJld(*K!f?>kbPtlGYPyl~@r0^XcKag~?I zKHa%`MCTXY+Nun<_D61mw?2O{hWoHUdIH1t4)gagT;)@u4x83O05oPo9_&X_(p<=* zsAN+Ys!X(E$fSNZvEIK67t3U-yAa@W&z$Y&SHRseon13Gl+*r< zv&xB~{kp3)pmyi}bO>wVP&kSE>29Ys#qFS(-@x%S-s{S*_vz$#J@5X!ebA%#9brRG z5FOdBvN2B5nMXRqQ$IneRyABfU0el3El`@@1M7A{$GkPi*}3rU(kxkC+Xr5Yedcq? z^G7JTvjWe3pSFu*iU#{p&67Z`w#VBHVj4i=?-)Z-u>#DWV7W`+s{{AE*E5jn2pDd6 z`tfSn&gX-Y?K{?4*0?d{$)gC=!eJh7r@j< zU}bnlhYX;*3=dZZ?pg3wW+b#J3+fI&l;zP@shh7qexCMKz#l?wyUACZ#b7CGy$68d0;(RZY`hyw=MxIAF4UnIt*n!k(VLJcaO^`Uvk4T?xRyN*qwu z+;Q~ol)rl3)G*>@bereX$ZQXb@dTb4Tz>{jtGUYvx=L2h6XOR8dw_rmS4?x z3f3Dz87n^UM)xH}Dq{*)Rdx_pZ70y`ErO6#f?|%8%R_bLArG&fcUDH(HMH0;@BxMhCwBmYjf#z^x%e5vXR6DM2}uwRnuD%H=fjSb&5;m9`&fhN|U zNk3zhE9xbBVtK8!#EkMLf^fKeULN*p@h#7Djo3s7)W=ljb^FU+J$TnW$%Sdr^DmY3 zHUjBf%nP>}Y~(h19HUzbE#T*Mws-w99;9@ej-yCVx}AG#y$-|lNY-2Z?4I<0#*?9N zdBNjRsz@sG4h$zVY@p5WUKT~!?RFCJhB9Nn>pn*EZVYQY3`Ax;vqxhDHC!}BWljrc z9W(K{ulkYxPWW?mZi($~{v#dg)OhT=Gc#)U26mw7EaN_96o)4jhs@J~mx2E~jU3Tb zw3XrpJlBD}o{)wtTkC36PSjY{y5&Kn06!1ro&l6>F5lZ?k=zdF$UrNF>wIBFG=QZm46Y$CHk=EX))`3Tb6`^Q*&x0lhi^CqRE+I^U#qR(^ zPz-(u3bL_&DbZ>yob1V32ga^C0ehjXR43dPPqhu#x>sGnncDS)wOj&X`#$J-@uf8M zd}lAQ(eoWkWC}>wW1H(Qn?w+0UgyGc6BQ>alTFQJ2D-1q${kIk8M_&F4atN1zyZEl zL1x|wfP~BBuGsL$qiJYW!QguQ~H&RWl-cwQD>t7f+H3)&;91Nx!R3`nFM}f;| zB)h7C86x zuqTjt``Ix*`Aa{7X89cr{fOoE+M_7b>~8gTr>A=)v#pj|PrKJ{MG_lz(UdmK zqE*8t37e1obnOTDgg=YGCuXDZ7j9rfznE=6=zjgWn5zY1qMIvZeBrDYFRZ%2d)_Cn!GRQ6X!bA&$*!k3))OuN_pQSI!Z4X?}x@%1L9-8lE!r|s%MZn7la>ypSPKoTSS zrpwZ@Sn{Gm&u=Pse*!{k2A(a98Gq@CJkxEvJbe{2Iplh3e?rYzjP8ZCd%zOadtw8+ zDfCax;-winelV z4qB0PX+q)(OKCI-2-MlXKpL*;i1p2XXANR@lw{?Z<^7%?9! z-Bvr?@x3{1YikP}1tHq6+bq{bTp!P8oH0f^a;2eTU}QlAtm7|r=&>-vb_tM2ZpxES zx3u`%QWlHcFX>8EyxFak%7c+{fep@|wTg@MXT2;PsaBxZ;&mrctboM2sQIm29!8anl)=+W)f| zM*DgOUppi2c#F~A&JHPCO2p96(7z@zHxm_9YzTQ7Qc{pu8VpcUWo2Iha~e88&$T?c z%F83E`J7#8yE&n@lAY687i9WOi#51tV3&1Df4@m`WxjYx=nZPWB-_FzD7?Bm7|rN0 zcN=w$QyQNeEdcOAc6~FNzulqKq#2k`VF(miUl2Ka$?UA8a>$T#c1iuetYI{TtF_^i zC5dwGqCm>>wJ)v$Z`lIm?D~H$2>x%CCl#@GHKb4_mHe=mL->^wv2Dpq{~Nu)T46St4ACU?6?sU&DU*&)*e znSZ~8WAyLra4hL&ieVEFQ))XqXE+W9E#XM>cZt;GLGD%b-@12E_N^1hA)(z&=({vr zX-sfGUp%Mu`%K#&5#Y5h6n;CJdiEbH8w>JL=C|N3Np}vSU}Y z{+9CiU!ki1KhCql)Y8L$%>w+b_W%CDM~BeA456*?J%aOmyQ9^l7rLF~T&oFL=KFGV zprnY`6&Q?+DwBF9{?_TOPWhYdO_5&I@eV4fc}FagXlS`D^|je~h4kA!q3U>wtt%W( zn#UCtQKib7J-8oT92`&z2?t@p%|D$2r=Nq z_T87q^ZoSZ*A9|#*UysQOdX)YK81@7ue?5ythhk#M3G4A(;zqeZ{Eg zq4l-*gZl)VMXS#gx)etyw`v{~kUl{Eh!Y zA;C;&;L#CSR2lC4i7<+>>d_)R(JQ?y1v4$~woCmfSLO3uZAo^2!~-bYe46T(DmZP|R?2uVBB>jXN| zdgPcg8E;sD2d?IWI+Y~r5SYnFoh#FlQguvk_0$4g{1n8=x7da)sw2en zU`ENQ-?i`{C)rV>H@g0<*oS5UZjiFwL_^AvWm)$X&)_hKYf6r81g-z*CV5oNA8KDD{#{p>LV z-vpZ4w{WYXB~g}T&In3=te@2+kCdw2J&-+a+!`=zy(?2{fW zYJchx<9kRD&NtB!s%4i~$g@q*9yPvCLKsy*bbS55-~3{Mg*Y*7lH+mRh+PY>q0_@V zY^*;1JO3wt^F0l*0qD>tT|ov#O-ECpE(`rwl%%TMU~6#RI4s>ld(K*slY<&cBp{%a zq4}3eo+$b!vX{=*lXT|a`QM6{Z1J{y0iFD*cVwzevN!v}Mbfd>J-KQww{n*>Vs- z4VJaOV#spc*`kiDumh!Qf-0pcHy7>*#ogdX$Hs%pcm#qI;tjel?U^7}tTH1R6;wF zaE49qCFwj}PtC6LG7SAJpexTQ$&mZ;+b0I zy-#n~;OrccXCQQf9uBV{9rA%e0!P<667<#EqhGo?)AB=H0plc@o#6)!j;3ki;RiPq zvOWivKIO=fpg_Y^e~Ook_u=ELFfqxa*NK|j!VL|hqa^0*g187L*k_F z*MYuhNTUtIA(q{nRk1D}GA-v0owe*Un6C1X;l&yHI5g9XnHOp<9MX9=WER4-)*3Vh z2So<0VA^e(aQFp9F-DON(&PF*xoptnX8@^UYcqmtHi zuqIBI^$X4 z#TJLvZLPHu=y3$@8cuUl>t)I3YIOhrfGBeDEcpZ8Rb0ZWkqH2v{(UkAJbVn?2`|B& zmL%{(aUKf6pQCW#lj`T)ST8}B7nW-ga4pms_5cSVkDCuwnro`~63WmI5 zQsfLQ?Ma^-XSqyzt$yOzpXm*_C5j>w=RH_7ef(TKsSJW+BiQsdR2~6|Opo|}Io0Z{ z-XN8De;961s49RTFgD>IMdkvR9nI;%-E<+nSZJ;;_TpfO410~9SeSHr+OMT7+QZuY zN1PwJ&yXjU?PoIep4e%)C+Y~--XT#siIWVz$x3(U7$I{~CkADHpRv9V`bzp&&A`2o z-8rStQ;Ml&Um00{1~C(($oF+{a|^ll^WpnIA1A0Xar1TmnLvPf7?_&RRth*cIm_!n z*Y{E$Eq40Eu`(spLW);r^C3|UxP#h{XBX%?>H&v%ZEwFa7E`;g^ea)$;8^P9!o=yK zPZ57rZnBB}n`zfLc;KVSF@3l3a(AX?1Zz^qw(BM`=0x4Td-!eyIwq!|wrCh6_Bq_h zd%pyRy)OQ$f1hIQ$hmW6IQv>!t&W+gtdBT)pO5d9p?)3aG z?+Z6ttgeh;QNML<<~%7=vJ>MGi!t^!c7&*MpY(4!4fI5HIL{W!YmFJU*_fhtWeOrZ z=%N->S&dET)fzzz*n(+EVhZJCI?bSG#2h9#7|HUn=G~jG*+W4%-NCmx zGvBIX04G^q> z1VZO^U9Ph+dVaVr;0~`*rxoSEmvxo!dH!NUAw}I-uTD$B+Xw_oK(Y-uuD+ij_~XS& zAGrMLQlN%?i(kLqnG}EddS!gC2RHH=N3fuQVK+vif;GqLo71CP#l_?E;Z@j7z&>Df z$G8|P{om3;=P1?YZ)rh0V(yfXMh_{LlH|%%3$(h!LPKR;Da|;cU5@J&U7NZ&A`r-= z8uya(Dl`=PS?5znS&1P*=gFP<4cz%3spr4XQi=cerZ|j9vkgp5O@rH{{4B=hmj8&Y zr~O`+F}P)^E`sbGZc!mH+R~$*vaZ;Wsv@2E_H80g0=>50aRUq1{Ao|d_^xTuX&AVr zKqY}rZ_tg!FC=TQcZhURlTKbG*jWzp|%)%n~j(9th&#k#( zI#DP3#4U`1HiCLRLG;T%RIhHt&Vlu#NQj$b118a|U7bR*3FXD!R_n7V6Axe^ga&CA z2EgPzpWs*wUFx!1OUS-#mT=r=w8HPJ;VR=cAMi6f?%FF$&XDDphOXa@GFz=MZ_O>I zdRxO0sP|I<>a4?lDnyH{I`MD7|4m99UQ0;Kw?mdH9g{VsbRSZo;3$C8iu~#;3_c;S z;MvRA{WI`6qGX85HLE2_S>~Xmt>CAbCedL_a`Jl;uuoB6ldNXS zP6JV0z-XgKXbQlA93>o5UHvB5jZyQ`yp*2&EXmN`E7DC+NWzAIGx?wA)@^KfDT%S= zkfg9d_P{Dcxh$H}d}>xBN!s95HedcNx$#yVt_m|Vmjom37fdxp#p!S|zV1y0*g<1-8Brt*6S4ygfs^hW4k$QB2myE}9d(XfhLzi*rn1s2eTd z?J_2qM`}1C6VA*@L<*?zzvLmAHrj6R^U0nhy^ohcCogc=pRW%77={P$Ugi1TQ;$75 z-0MhcM0!Ci>9&_~&osxL;}1ow*s;E4VJwawYAaP#=q0hUKM1>)X&*joV8l$qWfQM$ zTzEmk?wmyf!^EFlRDM4(=OPk?Il)kZ1C**JUrU)15>3^0@#P{naOz03R4hLRxw-!^ z1qAVo{WOuJFmi4(p)^c066haC- zRTAE^{8Vg7$$0pYv;VM~TRsUh7VFZfrG=zdmD*Cf+cQl*65=&BL|-xaZy%oG5UENqKPS+@1jPGC_DxR25Ekf1viI3 z^I1T+SHj#5BRAKOvAlqZNN@DV7&lYvg#sRPx_jlgz0DL{lcm_=^$&a5mef~cYw+=q z>pw_48C@_qmXyoo$Grs2-q8uzsWvNlN(wI+)<}5I1sfh9>l$1j#ymKpkDQQfVvK{O zskt5fdHd??QAs5Ks0nd&2Vf2|?UG?QfRgVefv8#=SZEY%Aht7$v2CytN=d%k#kxDw zGEJ^z>am2Driy65P!{A7(t}Z$UF}?hSb*#;u#Qe3$1kO|&e44%fm%2L-FJX{OGKp} zVpbCYMWXBc4$l)7pOnD6rP3}=*f4Sqip{Wy=A8t;cNz(;hDszgsuZilHvURtdY$wx zj=}4%SYzVOthq!7Xrl!fPms$a&Z%{l*;JJ5WIT(Kfa#u;yrJY^uTCCnSj z=|C{{61~Cn#F^&`Vb$+D426zA{`A6LY9T6N z6Kug0UH-Ipkp~<~2GLID=<^U#kFXxzQH!SZL%_3G+4Ux8{-bx?Mfc;vEb|`i!wrlgEwR*#j{en&8@PRCffkC;bmH!Rnm90|R+r0c$q z&HFfM$pT4#rg=GJXLtw4Y>*9*59GxPI4kXb4ZiSNuY3Q}SM0Xd!+MTIvJSeL1Z)Zw zfSn3k8FX$*Q)~GDPg!3b)mG4b+m;qei$ifK?(SZk;1VeA4#g#Sad-Dp+#QNj2ol^~ z3KZAi&I|p%-;?$7U)G(wCO0#8=FC3(?EQ$rsGBD@4}U6&g^L8wCZD!jkBuChZh|s zbEVi<@(uX?AYrEt4Zgrs&%hN=&#+RC;mC{i)N@SddG}_g_qxNq9mf;G&?7`r@O?!6 zzm1a3XYKI@sVoe&{^wD1m$9I8@P}XZf0H86(5d)P z&=~b3)%&2RV$js^<#06)6EOkn+-7$6qR{v@xjvVwy?BC%pW`JWbxO@vSxNC{j{Exu zfGz9nG)n=@gkc_RjF!w=HYM{|<486or5*$>X30D)=_O~%g~+!tayAu#p*3MKcDA2| z8bctVua^vQ$|?nNFoOKMBhkyG8o`bcOtyEDzk1xvz&#k)b!sCX+6M=dY=#GpGP zJw+`<0u@oMWwLtrlLa#}X5u z@lTb!FL~;DAI8`?^t%^LIr|@llG5eM@kn*H3v_B4=~gg}@|op~8$acdiK{oi%Tn>9 zGN=4%X91pRN(giUew~{9%7;E;Iw2sH~4n)tvkr?PIj4ETr z03Q$mP7s52G> z%ECq?+-X_id749Er`vm_B-yP_IL8G?A3RC;>6{#J_ejjq%$ulguBxx?a3NS1K17>N zEKj{jdzFottnY;wbVt$XgG{#}enIJFFyvU9G!+?>mGn#zgl0}^`Qj{|Kyf{(sHAQr zS}^&;tDutuupA-@v0~yKnaCmzvj|;{b4a(+Z&#e=pBS@eh%w#T7Oqi?S2BqX)t6TX zU{V$WjXnG|IKrp!z!pk{+H477Jh@7tAO-~ibj2orDRMN#Uc{E7g*n$)4HfyzGftgG z7kX`G9eE!;lrT`FhKj7bJa0JAnjPZ2;8f=`oJMB^eH->YpjjhTgAKA=j#{RsNJ9wT zj7D=oo#Mt8$BAKO-O4vp=1jx$SZ2auJ>hT)qkxK&tqhuTT8E8ZZjPrioot}}Ee$d{-7?c4GJuqYl@Y)Xxf+(aGzqez#QhWKNq7yzP5 zRi&A#8XH4k$%xUh2@?+`sK6qG&?n^L5!R4do$JYSh-JHHd+!>0m_69dXG{V;uq&2_ z)kyBpNbbf%qBFkN*~=rmQ!YGmRU%Lh+@87@xft+?HJw=BweBDH!o#VmFs-f&0g~H| z^9Q4HMmHPW8A*2u_Ya&R!I10qD{QP@&bK>{a*AVUAK-VJMq*Qv5>`>k;#fAliQZn| z?RoRzhpXsl$3Ufp@MFZfaz5ibPr#CW9ije%+n;pe7mJv+q%;AfGNx~A@gi|%gM_X3G1(Qu{68)2KvWF_Cn=Q&mE=Ky3NDH5pTLJrXfMz?1^$G z8M$3=#R8^ikhKI>0kBjqu_9W4-eNEec|(}lvHNwCgX}&ObH6b?jio4fiKVHj$&;nf zz0QJ%_wjjNkQkLJf%ZS=%7B1?#N^~`d!lc)uOZC}W_MB(I1E%(R5-9Y%fWmP-CIBu zb&^-%({t&}$tb|O^a1E!0HP1@ZWjp*YxEw*sWO4aRo*~D6J}lc8|c$(ES|xi4bZ6( zwE1w|18HwLsA?nWuJX(5{@!BKayG%m?OtIl!w(;A; z$a!k%{b4!z#V)0;+Ftd=98bUFCn3@1C@k^2z3O*0iPHv1k?WVg(vT%5uc@dx;rpnm zrz*gk#+c$p4p^(K@GDk>vL7MRa#NFzun74(r>r$VO@hH-v#SGT881RZTRWP~$au_8 z!A#HrON%Jz*4^Thg2&<#?uBV}VM*p~F3MH?)gS0BZcgTJ9VLJtXIBT#HOsb4watoF zs^IW?u0y=XN2dg_K+fC5gRH~(CBObHaK&(;05|)JH_v`!ZkdMsH$(X75}}7FraLKk zd-LgPcX!$aJW^MIri_j!pJipttt5#^m*c!Lw^uo{-QkqTCKgF=vl8U)lYogSM$?kG z77Ma#i4l8HI|4v+9!lMa5cmL4yp)tZNJ*i~P7*E@;Zy)umbD=9$i@$Y=vrf0wlwSB&c{ z%x#>JmuR$`gBITihM!U}G9K}$xtHrTzHh2X@YYSZ*_N!~-(V<}M*e_f?pmKU>PLHK zrLK}z)XO_Dvqqg8PFsvkbOt@t z3fK^}p6(uK=oA_{8{tP4pq1I?qQILyOmlFkny49_2!s6sRxV5kPf3nB!^+C2jLy9eeH=)ll_J9?NS)ug08{AZua_0>B+ZN0K&0+* zq*^V96iAwHsan(IO_a6c&rv!=V93a4m)FcLKDiT_?(OEj+yeeNo3`~(2n1UXM&+{X?0(S<1HGE_LXyo+yFTVw?#CfK z`5Ttv2@uDe{?;6BDseYOGzq{=-#1*U43HZGX*ldPltWxk@B6cjSv|vh|1)Tqz z7YzzgNDVAHM(Dhp)t=(cE{Z>8_FDhQ!O5A`vJ1nk{()7Y*KwFs>-vxTUlnyJV9=8g zn%iPcJBQ3V0+-=uzia!CSAvfk>iXhaV_N>-4T*)x@rP=NQW`4*oNAi~HoON^JFRDI>Fjv{Yn$szhtqy*;l7Fe(Q1%|g zgwrwaW2e2flDG+9XoP;gl*eDF%ZhTb9D_q5iY7_s;_iB^ zZSvpm-#Fqm#CY1xi|&?#&7$vSlmREaI1g^#f~)Ppf$Gvfuoh+C@KpeDCP!P{n~caAz8RsA}<}{95^? zA~NB2S!JQ7TejCg`rRav>+ zypwGV0;L8Zpc--DE9#p3pBBTgL1OlSMj#;}*>T&L=!S<+IHZ9x-a(wlQcmW_T0$el}Iyj&-LjMWi z)9=H{$$3{%<{x^5nWV41>(RuoYOA$z?* z@fj!DB;G`zdqB+1{*RQf;fdn&_bEJ&{*%}i-1PXIoE%~SCtF)4!Mt8iT{>FgU7pZy ztG>>f!`wq1$vtn^Y)DC|j~G3h59VUnwy#LeC&jN{>n*QIQMl(H#^yXOW#^9F7Rvgb zgaujHS(}bx3awj3PjD^5XW41!%~Bw~z{yZO=kDaw7@vzg*einB1|%a!%KlBw4!gi4 z8@w!ss$i%ItUDFJp!yS0dqMvkxC4<&BTD{5~xvLnEu5j>YSY#Cnljsm0c_64-qf5%&MtuKitpg zi`7*Wi^D6hOHR2yGF>j}PSqS4jNByImRy3#SO55!SCB4`Q$fL3n`5q@nQJM=Nsho* z-2OMf1g2$weaaE`D;-v{rr@0&{nV~#KTh10IoHLTkpU4(+x$sLOBJF!EF3d&9Z_lUDjz+YuV`;SoYbn%a*37d=pFcBAWE z@ZqlG;4jdW71C>dem&d%&8eD)Nycf@w-!rt5NS|qjo!x*Yc6H8)UASV%$Oys0|>L~ zg>)I?4=nty#9$n?@oFepvI!r^eo4rv^eui?(#(#YT-ui05i87{UNln^wtNa-%^UBD zET{lL``3l?8453NhC?v)@R2;O?IVP49=6ks7f<}z7yIXWaw*;aI7HLTH0@TPPOq^hnL%*H2Wckt>mMI9|NotA+EGwLR+FUAcEdGm~p zhJk@XV22zHR&pT$#FkU(G!wj9g}doNtUZ${8BeUsmFXoHBo?iE%@^F0d7az&<)ndq z+^#6UIWy^CPGzG0LmiizD`5zEI43;`qmO9GD`$5G+wy|KGXX1xDzL%EFvp9T}vQh0qNIiN6C>_=)kmq7CTFn+9h+K}8wtc>Jl-4u!kc(~#1!x5m*q zRDK5BJiHIfq^gay>U#xq1MDIBS=tt@WS`1V_Nj|=>?)2vAZAnPU{l(>#V4tBZ?+TPgYqu)~pu!HayFuhz`Yb3o>~ zp25kSZxktaf(gUmVP!uazkniHUMeN$7WJ0*X#Q)qJO%zoALN6K4=}FK2GTX5WJ7T@ zTMr_tNPp`7w*qUn-@y^gV!UT$V++AboGFt&Ki-K6h(Ci_W~>Ql2U2%}c3it3aK%WG zIpt*`)0X|$ad3o_SE`^8GaxD`>9TnjgIMy;6BnPT zN2?)G;Ny*sZSYm6v^mT0nTz%5)g_AnU*OzsF6ZhO-Hy0Ds8FA|)cYF)NQ)X0@ggLZ zJf$WMH%km9eUQ9F@PNYmrFtfi2VG+9{5fgZw(ZHHY|z?!hkp$)hMH~V0-#*izv;%Y zu(FcrG;3O#y8hfTcLECqLK6)C8~TowCsFKY_VKgEH2%mOCM5T(5qYzUd-veT=Cr11 zZCtwKUP|AhRiUs(kbUxc^DD=g=uWWff3iK`XBe^a$mqT9qB z=Ec?LwgNHinywOjc9~Z#ZO|yEdK2y5UGnY&Oji6;0K9-L&TnaftW<54yz!8gVNV?R zK2^&LjdE2G}j_ z`Bwss94-oN7$lJ);)GRB(FQtzVBQF%iZ?M%(MmS!?J7AVHcFTmJg0Asi=(g|<*Wpp z6#Sv$9z+el#nlV5W5@~ z$c1BJT4pBLtWH@|^ESCrcEp6;b9WAlAb4_2aUN-6etsaO^I_{^v$C?%nGMFF+fY>g z0imPdFFW1EFxF(GK0r&@_sDLM4<%QX#{S2ORZ!VGfhR}Km?N$e&to}heo!$iGImJvTk?q9|KA;>nrVx3m!$lB@ZHzDdbaTa{3N1v2w zzC*P1(`LLKKMy*vv>#QK_^{uSoT;Oy-6C4jovCUshm@T8Mvp{<4v)LdjMB+=wZ@@n zbuKds%K1@#b~(?*A`yKW7Kw$b?*AG=D^Z8~`Mo~wxIezAH)(Hg7r0(_+CvBZUy&MN z6Q#h+2_SfD~Ov9{*BPyU}67d8;9)X^D%MUrK* z4Z$ai4H1v`*XM4&*KQo#+%V#e(@Vop_Q3nS6Nfc@uW)K1C-%n`Vpw+86Kb2?ek-Z> zu#Wlmh5ZVvi>P+$hcWt7vfWsp&kXumnI+(ud~TY2d%TYt^M=g$h&N?(p4@^T10KdI zxE&zdLpM+C0VgzXJ%yC|6D2)$&Pld9N z2z|{@o>6Z5_->(g#9f#QUGq*4ryUApMVw@?#d6~?|Ly@9=eds5?w0kVDk7+qz{AR; z_Moygy1Tpk0?1R644qEoq$Q3)NPr|hp~Kh@t-pVZ$jHhn{!*yk!6PH+9DV0|uk3i{ z3=Z%?5x&5P@^vG?|4L1#i`Qq<0|=wW`cUxvT=>M@NuaV-v`y|SrJ88Tz)`gp=~0;E zw_wAxw)_gp;z`^Zkh9Vm@XM8QYvkRuW!A$*k+5m&$d@o`$;%L?od>mp@wXnh>BHL_ zQ4yyjuBQ>c&&ZfiUgG9WUbYkt16Su$Vc|R87~uv~F?n`Vb-|FFd(O4{Uhj)B^I8uF z+T?gME1-kGJ1aJ_AmCOo=#<;7&U=Sk;7WsjK~~)`eR1U4_X>?)-zyO=L=4D12lG*` z-OSd94tX}MkAIp-Bw9xmeuUS5y2?XxZDO&u&2OeiSh@Di$yt8ni8i5)D66&by=YxN zO(J2R_l!*`1lnk7K~81e9IqqlrmHkXBwXPsemWohO38WH5Q3FaO#`>iHb{>D#F^*( zsp;3F(ge!7tU3fU#2{FD@7o@`FGq{8k3OOv_8CRluRWp~Gco)L%XtjYDZ)G=PZJ|JQJY5Aj4 z$xQ5p*?lZ6-<;0ZDZO&+RS3QH`j7L4_99b~K7!dIt7YcLv6v>6QWY3=wSRBqTN3ekkfsU_Y+{xA;jya7)Xh4VdrQdszj_p;F_Arw~+(&;Y*Te2WD(oukgJ8ZlxF zKY-pD{x6Rst!*<@j9D|~#N8j9&4C2WwWkLmTC7-%q$W$z?t5xjw5LJDIMs5QQo zshtn=L6K`t+>FW}ce0wYO?Py9qqtWGl3OyT>raa@J?N4-rf!#+=j~9H>%8EGX0vnj zb`o$HWPOvnw`F;X+A=NsmqoMWPBwm1>*zey#26C$gi$Y1)3E$n;7ox;Y2!e<5!KVMBz7j|d}H19dD`90 zhn%oDfHf=xASPsMM(3+Gz5{^3-$L&(CuhaGwWF1PJ8@Y%zdQ{rTE}L~d3LW9A~Dh< z`1ahMWj}=w-4_2@;nkz&4Rg~`O$cb)9-X{KY`0-0(cE?N6sM`KkT&wVJ0cAc9;)SH zqt}#eW&Qg8xJ|fS_kjEw3O1n+%IyLEMX84F!-@o~ZwFFFH{;c2z`9%=4aWF(;Lw>L zKXX|Lnydq*h`$-O)M5n*2XYhk3-bQ{y>qf_P z+Fe3S`kZB#he03>YkwYiKm6BIVdvxX(Tcl$hN({%w2JBAf^sb!bIAc?DJ;Ng6E_6y zz2Sn*U@&qPvW@J=f^o(rTl2+Zk}nHsSE#{R3z}wp--@y<*JGGk`E}q3xcdDeL^dJd zYi~e@2_)G@wzmA>NSZekGh~Aj47l+&#b^ z5{-s4oPpSBVqoyOMqblvs5Ut{S^N(65`w)1oSz?X>Inry&ZiwXh9X!f{dlc0cJ@5l z>U`uh7b1xM%IE(%dJJqrh`4Dr_wB+|6bdT5okP-^+u*q(zAQT6(ejN(v3nH(5g$s+ zoAw3y$MoOt@>~ibP|uxjnm-3p6W!b zwFvR-e%9m$OqIaZhj3oFHL~&vMO}&RXOvU&^-&3tM4`{p;5yYZk+d#GpH7p?X^BU(ndd#fthOX5%%f`83@W#zok_P*wn1!{z{Zl+!2w zDJc`nswH%qjY>oH(GF#n;pQ4CH7yAo;WbI`&NpEqO>RuPq}83yEG92_yJ=I|MTBO7io%bVL|TgQFk$!xl4&OG?(| zyiwUL59V7XdZFp~XH7mKkru+XRm9e|_`GR*`OM6sHEwLSjNJmq;MG0yM<(`1@2p~* zPvFAfQ%_)IhA~#MtwXOR1r03+ZsfNztq%`lr1yDa!SOZN=c@;s#-h&F`@&Olaf zkSzelZ%bzMD7=WhD{UH>u@CsD=j58YLqAonuouPjx1^+GH7qZHjm@;n7bO``cI#r( zw+e=~VPb9G2X@|ULM2`0UbW)aiVs+KWDetB3;swYgJ^p-d*1dT@ zDs;D-ha1%g?)U}mheH+k?DV3)^RG>4mBFeU$ZPoS>S(EoR#8Dg!36w2*WTCIe_X8R z67m!3P=XcIg<8ME7y5BEl2Bal@!{!^ghs~@?6mzVE99~Kw&+mH~R6=(3_Ay^UC%xQ#gGUdG&5{nY(02oyl^V11$M`lPCVN^nLQk9LDLDf= zv+1UBxl)j_kzx0h5Dl$nTPUpF0Xqrikp{}=lLpU8Ecv!c-6?iPIMf9ECr!|l$eU*W ziEfs$0WDerG99webT4vsvZe?LXgz)RSd0wNkdeV*)*=o3Wh!s`?k)~K&FTpqsRAziR;^HBpsj=Gy!`iM*6g6 zPd1*bhaAia=G=`OeM!#EqNlALJiJtiOCU~}?-_Y=$~KehkALH6gsxl1lA&JF{c|op zBMEYPYHy@n+j!;bdbAiMW2ccx1ADaOBFRo81k{e2&2ToN486x3iAcb|Ik0TCz4DWx zFt!@VfLKDyrR67 z=ZG<7GEjSh_|L)2jqwW}Mk3w7lj^3I2jd8^T zg6E)C^VrI@hj@opw;C}W4jB%)ud;Bq`Ztc61MC9}TnPGitAQB32kC!y{V;jF*qyS^ znpd2i`9pR1II(*s=6~B8T=j8osIv%yA!hwJIhbco9nHwTENn$Qw7dbFl=Ksp9jpH; z7ookC{Dd#NylBaILB3(V7OMtQG4h9lXXq#3{`>Zm_8_i@5&0lRWG)OA24nePUWamV zv%THjymA{jeUEe5c62d@FVMlQz`O~NRZ8+=0!QTCIKBufSD=n>I-Ss! zVCOlNfaltC-=mEJ@2uG8h8W9}5dns^Hqhq$?o(IyvSwcFz~oq9oUir&^@v}3vNm|S zpt$P@k4X-0RR210);b4eYL6MjLI@dCfR102^qOVfYsoN(E~SapBaIqB^nN$)JHjhI zN9V0Du_5742Q7h|E5g=%?BA#S?ER^(q4$XUX)j?qTc9V_JelHv%@tVDyRhhAXPw@Z zIYNQ+Z6h}-D6)}wN4yL(iZ5Va$~E@yVId49omdy)n0@1FN8dm5gjb|}SYEz3($|d@ zdSh84C=y}(p@KANWT`RFA@lEJ3voF%d0Zst0~GE6V=4Kc`e|SMi{0At=WUl5CEVT5 zEFRH~+{5Mf2Qu-_e1!^~z4M?Cx9?_qQ5+oJ>UeRXnN7`77BgM#`B&=oxwt24jp(=F zuh|nYeS1ytwZ$SMdYzcSh^{^GL=9)cZC^}hH>}~R+IdK!@xc7{RGd7{9l=YUjgKur zGB4~pHVk!fR6|R&W@Pl&SXcB)s}cjPiLK7a?Y1JIbbfTy<`kI&V_>n1 zDbafAr9L3EN+CE8M(IaJr}#6gTz!3?c<6)l%_32QLhj`GDY8x~VEOTa_yQ0?v^jz^ z_NIxuAzoWY<}B!m#PIoZ4yT-IO)l*GB7ot_o7#vQ;Zi1&a3uckRai7Y373mKN~J&-LdXZc8$5PAOy zcJ}a^Qg+q~8n4e#jtOZ@pbleN0gGK%kglkUH)3~_21)aTV<2x3I-xi7C<{GlVGjkh zzO{|Xp4{S!OxIi(Dr|$ptxLv045~>*E(XTGd)f6mP~u<6Zv>*GCc?j=`fb7L zd3mQH%z4B@BM{$PyWvmTJP$g;l)lem;WFC?#VgI-$F_$ij&`HH!`~R>+@we>%Z32@ zU#Q1c?IXuL3K!ZANE0h#coycu?~XaAi3H_LumygLoYhm7OXqAf!IT-;FuRDNRDkLV zfbAr>)yw?CbRK=*ShJJ&e$#A&gN)8ZPk~%bBrp@kk&F{6HNoK`lAJvL>8Lejuv=%t zJ8fb@uWQ}<7Cg2OCq>g%`Av*p3SDSt<*jS*cdTQ=>Ve2n{j2>u_+QkN?-tYBrl*yGZ z=}0)%232n3w-heR?WI(gdhuF{JGf>Qv{r>=c010NP?hkn4#Zl&)qUph+qYAVg_A-d zekC6Z)c&Lfk3-@${T(LTO6p6*C`6DkB#WsE^MZt(p^Zxxh1}I@k_E$RyBy5_|1i)8 z3V^P6#nC`n=jbY~x=;TM6ciM1nx+#Z>t28a{%&pM&K=lEdw)ImXwNS!^yvk`IcFb} zmN_!+;glhcMNdp@m~RD>VPiC7kZ@JnlM+h+kVs>mg?8%bpE{^V)hcOJoa8aFg65NU zif6)tmbZ0!mYt@pTs9-4F#j`@XczO1$9>pnl3pu18h z;C|V&!d!Nb0MQh)Q-V>tW*18?o(;l&@0#nAfX^$DQe*VzW~GFW?BFM literal 0 HcmV?d00001 diff --git a/Docs/content/annotation/java/introducing-groupdocs.annotation-for-java.md b/Docs/content/annotation/java/introducing-groupdocs.annotation-for-java.md new file mode 100644 index 0000000..a9932ca --- /dev/null +++ b/Docs/content/annotation/java/introducing-groupdocs.annotation-for-java.md @@ -0,0 +1,26 @@ +--- +id: introducing-groupdocs-annotation-for-java +url: annotation/java/introducing-groupdocs-annotation-for-java +title: Introducing GroupDocs.Annotation for Java +weight: 1 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +## What Is GroupDocs.Annotation? + +GroupDocs.Annotation is a lightweight and powerful library which allows developers to seamlessly enhance their applications with the capability to annotate documents from wide range of [supported formats]({{< ref "annotation/java/getting-started/supported-document-formats.md" >}}). +Annotations can be applied in form of textual comments, explanations with highlighted notes, watermarks, polylines, text/resource redactions and much more.  +Along with ability to annotate documents multiple users can collaborate via annotation comments. Annotate PDF, DOCX/DOC, PPTX/PPT, XLSX/XLS, JPG, PNG, TIFF, VSDX/VSD, ODT, ODS, ODP, EML, HTML and many others formats, comment and review documents with GroupDocs.Annotation for .NET API. + +## Why Use GroupDocs.Annotation? + +* No additional software is required to annotate documents of any supported format; +* Wide range of supported annotation types - textual, graphics, watermarks, redactions etc.; +* Great variety of customizable properties for every annotation type - color, font weight and style, opacity etc.; +* Ability to collaborate via annotation comments/replies; +* Document information extraction - file type, page count etc.; +* Generate document preview for precise placing annotations inside the document; +* Ability to export/import added annotations to/from documents; +* User-friendly public API and easy start. diff --git a/Docs/content/annotation/java/release-notes/_index.md b/Docs/content/annotation/java/release-notes/_index.md new file mode 100644 index 0000000..00d6ed0 --- /dev/null +++ b/Docs/content/annotation/java/release-notes/_index.md @@ -0,0 +1,11 @@ +--- +id: release-notes +url: annotation/java/release-notes +title: Release Notes +weight: 4 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +### Release Notes diff --git a/Docs/content/annotation/java/release-notes/release-notes-2016/_index.md b/Docs/content/annotation/java/release-notes/release-notes-2016/_index.md new file mode 100644 index 0000000..a3d5dbb --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2016/_index.md @@ -0,0 +1,10 @@ +--- +id: release-notes-2016 +url: annotation/java/release-notes-2016 +title: Release Notes - 2016 +weight: 5 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- diff --git a/Docs/content/annotation/java/release-notes/release-notes-2016/groupdocs.annotation-for-java-3.1.0-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2016/groupdocs.annotation-for-java-3.1.0-release-notes.md new file mode 100644 index 0000000..e8f360d --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2016/groupdocs.annotation-for-java-3.1.0-release-notes.md @@ -0,0 +1,47 @@ +--- +id: groupdocs-annotation-for-java-3-1-0-release-notes +url: annotation/java/groupdocs-annotation-for-java-3-1-0-release-notes +title: GroupDocs.Annotation for Java 3.1.0 Release Notes +weight: 1 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 3.1.0{{< /alert >}} + +## Major Features + +There are improvements and fixes in this regular monthly release. The most notable are: + +* Support annotating different document formats (Pdf, Slides, Cells, Words). +* Added ability to export annotated Pdf and Words documents +* Code and product structure optimization. +* Added ability of native annotating Words documents +* Improved performance of document Viewing +* Added ability to export annotated Words documents +* Storage-agnosic datalayer. +* Simplified flexible API. + +## Full List of Issues Covering all Changes in this Release + +| Key | Summary | Category | +| --- | --- | --- | +| ANNOTATIONNET-196 | Implement getting not all pages of document at once (performance improvenet) | Improvement | +| ANNOTATIONNET-197 | Increase slow Performance on big file | Improvement | +| ANNOTATIONNET-216 | Implement proper exception for unsuported annotations for Slides and Cells formats | Improvement | +| ANNOTATIONNET-189 | Implement ResourceRedaction annotation in Word documents | New Feature | +| ANNOTATIONNET-191 | Implement Strikeout annotation in Word documents | New Feature | +| ANNOTATIONNET-190 | Implement TextField annotation in Word documents | New Feature | +| ANNOTATIONNET-187 | Implement Text Replacement in Words documents (comments) | New Feature | +| ANNOTATIONNET-188 | Implement TextHighlight annotation in Word documents | New Feature | +| ANNOTATIONNET-211 | Implement Text Area annotatoin in Words documents | New Feature | +| ANNOTATIONNET-198 | Implement document export to Word | New Feature | +| ANNOTATIONJAVA-913 | User name not showed for export annotaions | Bug | +| ANNOTATIONJAVA-966 | UserName doesn't exported for the text annotation | Bug | +| ANNOTATIONJAVA-916 | The point annotation can't be imported from the pdf document. | Bug | +| ANNOTATIONJAVA-909 | Export for MSWord files does not work | Bug | + +## Public API and Backward Incompatible Changes + +This is the first version of new generation GroupDocs.Annotation for Java. diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/_index.md b/Docs/content/annotation/java/release-notes/release-notes-2017/_index.md new file mode 100644 index 0000000..c9cdb55 --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/_index.md @@ -0,0 +1,10 @@ +--- +id: release-notes-2017 +url: annotation/java/release-notes-2017 +title: Release Notes - 2017 +weight: 4 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md new file mode 100644 index 0000000..43d310e --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md @@ -0,0 +1,150 @@ +--- +id: groupdocs-annotation-for-java-17-1-0-release-notes +url: annotation/java/groupdocs-annotation-for-java-17-1-0-release-notes +title: GroupDocs.Annotation for Java 17.1.0 Release Notes +weight: 6 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.1.0{{< /alert >}} + +## Major Features + +Below the list of improvements fixes and new features in this regular monthly release of GroupDocs.Annotation for Java. The most notable are: + +* Implement annotations import from Word documents +* Implement  auto-import annotations when opening PDF documents +* Add native Word annotations after export to Word documents different types of annotations +* Fix users permission for Delete annotations +* Implemented following for slides documents: +* Point annotation +* Area annotation +* ResourceRedaction annotation +* Arrow annotation +* TextField annotation +* Polyline annotation +* Watermark annotation +* Show and store annotation author when export annotation for PDF documents + +Implemented following for slides documents: + +* TextHighlight annotation +* TextStrikeout annotation +* TextUndreline annotation + +Implemented ability to import following annotations: + +* Import of ResourceRedaction annotation +* Import of Text Field annotation  +* Import of Area annotation +* Import of Arrow annotation +* Import of Polyline annotation +* Import of Watermark annotation +* Import of Point annotation + +Implemented following annotations for images: + +* Watermart annotation +* Polyline annotation +* Text Underline annotation +* Text Strikeout annotation +* TextField annotation +* Point annotation +* Resource Redaction annotation +* Area annotation + +Implemented annotating documents of following types: + +* JPG +* TIFF +* BMP +* GIF (static images without animation) + +Fixed following bugs: + +* When exporting Slide document TextField annotation hasn't text +* For Slides format fix background when import Resource Redaction annotation  + +Improvement: + +* Increase number of integration test for improving quality of product + +Fixed bug with wrong annotation orientation (After export PDF annotations are shifted to other place) + +## Full List of Issues Covering all Changes in this Release + +| Key | Summary | Category | +| --- | --- | --- | +| ANNOTATIONNET-249 | Import TextField annotation from Words Documents | New Feature | +| ANNOTATIONNET-236 | Implement TextRedaction annotation import from Word | New Feature | +| ANNOTATIONNET-244 | Implement Shape annotations import from Word | New Feature | +| ANNOTATIONNET-237 | Implement TextStrikeout annotation import from Word | New Feature | +| ANNOTATIONNET-238 | Implement Underline annotation import from Word | New Feature | +| ANNOTATIONNET-235 | Implement Area annotation import from Word | New Feature | +| ANNOTATIONNET-234 | Implement Text annotation import from Word | New Feature | +| ANNOTATIONNET-230 | Add native Word annotations after export Word documents to Text Replacement annotation | New Feature | +| ANNOTATIONNET-224 | Add native Word annotations after export Word documents | New Feature | +| ANNOTATIONNET-228 | Add native Word annotations after export Word documents to Strikeout annotation | New Feature | +| ANNOTATIONNET-282 | Implement Watermark annotation for Slides format | New Feature | +| ANNOTATIONNET-276 | Implement Area annotation for Slides format | New Feature | +| ANNOTATIONNET-275 | Implement Arrow annotation for Slides format | New Feature | +| ANNOTATIONNET-273 | Implement Text Field annotation in Slides document | New Feature | +| ANNOTATIONNET-272 | Implement Polyline annotation for Slides format | New Feature | +| ANNOTATIONNET-271 | Implement Point annotation for Slides format | New Feature | +| ANNOTATIONNET-303 | Implement Strikeout annotation for Slides format | New Feature | +| ANNOTATIONNET-302 | Implement Undreline annotation for Slides format | New Feature | +| ANNOTATIONNET-301 | Implement Highlight annotation for Slides format | New Feature | +| ANNOTATIONNET-296 | Implement import of Text Field annotation for Slides | New Feature | +| ANNOTATIONNET-295 | Implement import of Point annotation for Slides | New Feature | +| ANNOTATIONNET-294 | Implement import of Resource Redaction annotation for Slides | New Feature | +| ANNOTATIONNET-293 | Implement import of Watermark annotation for Slides | New Feature | +| ANNOTATIONNET-292 | Implement import of Polyline annotation for Slides | New Feature | +| ANNOTATIONNET-291 | Implement import of Arrow annotation for Slides | New Feature | +| ANNOTATIONNET-290 | Implement import of Area annotation for Slides | New Feature | +| ANNOTATIONNET-320 | Implement Watermark annotation for images | New Feature | +| ANNOTATIONNET-319 | Implement Polyline annotation for images | New Feature | +| ANNOTATIONNET-318 | Implement Text Underline annotation for images | New Feature | +| ANNOTATIONNET-317 | Implement Text Strikeout annotations for images | New Feature | +| ANNOTATIONNET-316 | Implement TextField annotation for images | New Feature | +| ANNOTATIONNET-315 | Implement Point annotation for images | New Feature | +| ANNOTATIONNET-314 | Implement Resource Redaction annotation for images | New Feature | +| ANNOTATIONNET-313 | Implement Area annotation for images | New Feature | +| ANNOTATIONNET-337 | Implement annotating GIF format static images (without animation) | New Feature | +| ANNOTATIONNET-332 | Implement annotating TIFF format images | New Feature | +| ANNOTATIONNET-331 | Implement annotating BMP format images | New Feature | +| ANNOTATIONNET-329 | Implement annotating JPEG format images | New Feature | +| ANNOTATIONNET-241 | Implement option for ability to auto-import annotations when opening PDF documents | Improvement | +| ANNOTATIONNET-266 | Show and store annotation author when export annotation for PDF documents | Improvement | +| ANNOTATIONNET-250 | Fix users permission for Delete annotations | Bug | +| ANNOTATIONNET-298 | Arrow annotation imported incorrectly on several Words documents | Bug | +| ANNOTATIONNET-311 | Wrong annotation orientation (After export PDF annotations are shifted to other place) | Bug | +| ANNOTATIONNET-335 | While exporting Slide document TextField annotation hasn't text | Bug | +| ANNOTATIONNET-324 | Fix background when import Resource Redaction annotation (for slides) | Bug | +| ANNOTATIONJAVA-904 | Quality doesn't work | Bug | +| ANNOTATIONJAVA-915 | Search functionality doesn't work for one pdf | Bug | +| ANNOTATIONJAVA-856 | Incorrect rendering "strickeout text" annotation after import | Bug | +| ANNOTATIONJAVA-877 | Localization works only after a document was rendered | Bug | +| ANNOTATIONJAVA-907 | Access callbacks ExportPdf and ExportWord do not works | Bug | +| ANNOTATIONJAVA-911 | Performance issue with .pdf document that has a lot of images | Bug | +| ANNOTATIONJAVA-764 | Document comments reply issues | Bug | +| ANNOTATIONJAVA-910 | Issue with showing Excel groups | Bug | + +## Public API and Backward Incompatible Changes + +{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.1.0. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} + + + +Added ability to import annotations from Words documents: Documentation article + +Added ability to annotate Slides documents with different annotations types: Documentation article + +Added ability to import annotations from Slides documents: Documentation article + +Added ability to add text annotations to Slides documents (TextHighlight, TextStrikeout, TextUnderline): Documentation article + +Added ability to annotate images: Documentation article + +Added new formats to annotating images article: Documentation article diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md new file mode 100644 index 0000000..36062ef --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md @@ -0,0 +1,139 @@ +--- +id: groupdocs-annotation-for-java-17-10-release-notes +url: annotation/java/groupdocs-annotation-for-java-17-10-release-notes +title: GroupDocs.Annotation for Java 17.10 Release Notes +weight: 3 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.10{{< /alert >}} + +## Major Features + +Below the list of  new features and fixed bugs in this regular monthly release of GroupDocs.Annotation for Java. The most notable are: + +* Fixed SVG path parsing for specific cases +* Implemented annotations import for Diagrams format (Area Redaction, Polyline, Text Field, Area Redaction) +* Implemented setting opacity to annotations where it is possible +* Exceptions handling improvements (added several more specific type of exceptions) +* Implemented distance annotation adding for slides  +* Implemented text annotations for Slides  +* Added opacity for text annotations for Words  +* Import text annotations for slides  +* Fixed number of bugs from customers +* Implemented export distance annotations for Words +* Implemented adding comments for different types of Annotations for Diagrams format +* Fixed wrong exporting comments for Words +* Fixed issue with export large forn text for Wiords documents +* Fixed comments exporting (in some cases old comments was exported) + +## Full List of Issues Covering all Changes in this Release + +| Key | Summary | Issue Type | +| --- | --- | --- | +| ANNOTATIONNET-448 | Set opacity for Diagrams annotations | New Feature | +| ANNOTATIONNET-447 | Set opacity for Pdf annotations | New Feature | +| ANNOTATIONNET-446 | Set opacity for Words annotations | New Feature | +| ANNOTATIONNET-445 | Set opacity for Slides annotations | New Feature | +| ANNOTATIONNET-490 | Implement clean of distance annotation | New Feature | +| ANNOTATIONNET-441 | Import text field annotation from Diagram | New Feature | +| ANNOTATIONNET-440 | Import polyline annotation from Diagram | New Feature | +| ANNOTATIONNET-439 | Import Area Redaction annotation from diagram | New Feature | +| ANNOTATIONNET-438 | Import area annotation from diagram | New Feature | +| ANNOTATIONNET-430 | Implement import annotations for Diagram | New Feature | +| ANNOTATIONNET-419 | Implement TextField annotation for Diagrams | New Feature | +| ANNOTATIONNET-489 |  Implement export of distance annotation |  New Feature | +| ANNOTATIONNET-488 | Implement import of distance annotation | New Feature | +| ANNOTATIONNET-487 | Implement distance annotation for slides | New Feature | +| ANNOTATIONNET-482 | Import highlight annotation from slides | New Feature | +| ANNOTATIONNET-481 | Import underline annotation from slides | New Feature | +| ANNOTATIONNET-480 | Import strikeout annotation from slides | New Feature | +| ANNOTATIONNET-479 | Import text annotations from slides | New Feature | +| ANNOTATIONNET-477 | Implement opacity for text annotations in Words | New Feature | +| ANNOTATIONNET-475 | Implement opacity for text annotations in slides | New Feature | +| ANNOTATIONNET-468 | Implement underline annotation for slides | New Feature | +| ANNOTATIONNET-467 | Implement strikeout annotation for slides | New Feature | +| ANNOTATIONNET-466 | Implement text annotations for Slides | New Feature | +| ANNOTATIONNET-508 | Implement export distance annotation for words | New Feature | +| ANNOTATIONNET-504 | Add comment for distance annotation in Diagrams | New Feature | +| ANNOTATIONNET-455 | Add comment for arrow annotation in Diagrams | New Feature | +| ANNOTATIONNET-454 | Add comment for resource redaction annotation in Diagrams | New Feature | +| ANNOTATIONNET-453 | Add comment for area annotation in Diagrams | New Feature | +| ANNOTATIONNET-452 | Add comment for polyline annotation in Diagrams | New Feature | +| ANNOTATIONNET-451 | Implement adding comments to annotations in diagram | New Feature | +| ANNOTATIONJAVA-1000 | Set annotations opacity | New Feature | +| ANNOTATIONNET-442 | Implement additional specific exceptions | Improvement | +| ANNOTATIONNET-485 | Simplify the cleaning of the document for the correct import of text annotations | Improvement | +| ANNOTATIONNET-471 | Change arrow shape for arrow annotation | Improvement | +| ANNOTATIONNET-421 | Bug with parsing specific SVG path | Bug | +| ANNOTATIONNET-483 | Exception thrown when deleting annotation with multiple replies | Bug | +| ANNOTATIONNET-473 | Export document to word creates multiple comments | Bug | +| ANNOTATIONNET-510 | Wrong comment exported to Word | Bug | +| ANNOTATIONNET-509 | Wrong Distance annotation exported to word | Bug | +| ANNOTATIONNET-505 | Words: Fix export annotations for large fonts | Bug | +| ANNOTATIONNET-503 | Exporting a Word document adds old comments | Bug | +| ANNOTATIONNET-497 | Comment is not exported in Word | Bug | +| ANNOTATIONJAVA-1027 | Exception is generated while annotating xlsx formatted document | Bug | +| ANNOTATIONJAVA-1028 | Exception is generated while annotating pptx formatted document | Bug | +| ANNOTATIONJAVA-1033 | Exception when get a document using file path as argument | Bug | +| ANNOTATIONJAVA-1034 | Failed to get added annotations | Bug | +| ANNOTATIONJAVA-1035 | Exception is thrown when certain method is called simultaneously | Bug | +| ANNOTATIONJAVA-1036 | Exception is thrown when retrieving area annotation from DOCX file | Bug | +| ANNOTATIONJAVA-1037 | API fails to create Temp Directory in storage path | Bug | + +# Public API and Backward Incompatible Changes + +{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} + +To *AnnotationInfo* object added new *Opacity* field that sets opacity of annotation (can be null or float number between 0 and 1) + +**Java** + +```csharp +public void setOpacity(Double value); +public Double getOpacity(); +``` + +Sample of usage + +**Java** + +```csharp +AnnotationInfo textAnnotation = new AnnotationInfo(); +textAnnotation.setBox(new Rectangle(68, 154, 102, 9)); +textAnnotation.setPageNumber(0); +textAnnotation.setSvgPath("[{\"x\":68.7886,\"y\":687.5769},{\"x\":170.8186,\"y\":687.5769},{\"x\":68.7886,\"y\":678.5769},{\"x\":170.8186,\"y\":678.5769}]"); +textAnnotation.setType(AnnotationType.Text); +textAnnotation.setCreatorName("Anonym A."); +textAnnotation.setOpacity(0.1); +``` + +Import annotations from Diagram documents + +**Java** + +```csharp +AnnotationConfig cfg = new AnnotationConfig(); +cfg.setStoragePath(Utilities.STORAGE_PATH); + +AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + +if(!new File(cfg.getStoragePath()).exists() && !new File(cfg.getStoragePath()).mkdirs()) { + System.out.println("Can't create directory!"); +} + +License license = new License(); +license.setLicense(Utilities.LICENSE_PATH); + +InputStream input = new FileInputStream(Utilities.STORAGE_PATH + File.separator + "testImportArrow.vsdx"); +AnnotationInfo[] annotations = annotator.importAnnotations(input, DocumentType.Diagram); + +InputStream clearDocument = new FileInputStream(Utilities.STORAGE_PATH + File.separator + "testClear.vsd"); +InputStream output = annotator.exportAnnotationsToDocument(clearDocument, Arrays.asList(annotations), DocumentType.Diagram); + +try (OutputStream fileStream = new FileOutputStream(Utilities.STORAGE_PATH + File.separator + "testDiagramExported.vsdx")) { + IOUtils.copy(output, fileStream); +} +``` diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md new file mode 100644 index 0000000..6fbdeb0 --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md @@ -0,0 +1,34 @@ +--- +id: groupdocs-annotation-for-java-17-10-1-release-notes +url: annotation/java/groupdocs-annotation-for-java-17-10-1-release-notes +title: GroupDocs.Annotation for Java 17.10.1 Release Notes +weight: 2 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.10.1{{< /alert >}} + +## Major Features + +Below the list of fixed bugs in this release of GroupDocs.Annotation for Java. The most notable are: + +* Fixed number of bugs from customers + +## Full List of Issues Covering all Changes in this Release + +| Key | Summary | Issue Type | +| --- | --- | --- | +| ANNOTATIONJAVA-1048 | com.groupdocs.annotation.domain.results.SaveAnnotationTextResult is not serialize-able | Bug | +| ANNOTATIONJAVA-1030 | Exception is generated while downloading annotated pdf document | Bug | +| ANNOTATIONJAVA-1008 | Not able to add annotations at all | Bug | +| ANNOTATIONJAVA-1029 | Cannot annotate images | Bug | +| ANNOTATIONJAVA-1045 | Exception generated while importing annotation from diagram | Bug | +| ANNOTATIONJAVA-1005 | AnnotationImageHandler.getPages does not respect ImageOptions.setWidth | Bug | + +# Public API and Backward Incompatible Changes + +{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10.1. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} + +None diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md new file mode 100644 index 0000000..5699ead --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md @@ -0,0 +1,30 @@ +--- +id: groupdocs-annotation-for-java-17-10-2-release-notes +url: annotation/java/groupdocs-annotation-for-java-17-10-2-release-notes +title: GroupDocs.Annotation for Java 17.10.2 Release Notes +weight: 1 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.10.2{{< /alert >}} + +## Major Features + +Fixed bugs from customer. + +## Full List of Issues Covering all Changes in this Release + +| Key | Summary | Issue Type | +| --- | --- | --- | +| ANNOTATIONJAVA-1052 | Area annotation is invisible on adding | Bug | +| ANNOTATIONJAVA-1054 | Unable to change position of the annotation | Bug | +| ANNOTATIONJAVA-1055 | Annotation properties are not behaving same in Java as in .NET | Bug | +| ANNOTATIONJAVA-1056 | Wrong color behavior | Bug | + +# Public API and Backward Incompatible Changes + +{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10.2. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} + +None diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md new file mode 100644 index 0000000..ac3c39f --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md @@ -0,0 +1,112 @@ +--- +id: groupdocs-annotation-for-java-17-5-0-release-notes +url: annotation/java/groupdocs-annotation-for-java-17-5-0-release-notes +title: GroupDocs.Annotation for Java 17.5.0 Release Notes +weight: 5 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.5.0{{< /alert >}} + +## Major Features + +Below the list of improvements, fixed bugs and new features in this regular monthly release of GroupDocs.Annotation for Java. The most notable are: +Implemented annotations annotating documents of following types: + +* Add Metered licensing support +* Implemented DICOM documents annotating  +* Implemented Otp documents annotating  +* Implemented DjVu documents annotating +* Adding annotations to EMF/WMF documents +* Added Distance Annotations to image documents +* Implemented CAD documents annotating  +* Implemented Arrow annotation for images +* Fixed replies to annotations for Word documents +* Improving processing CAD files (user able to work with documents with several pages) +* Improved import annotation for Words document +* Processing tables, numebered lists and hyperlinks in Words documents +* Fixed issue on mechanism of annotations detection on special cases for Words documents +* Implemented ability to annotate Email documents (export only) +* Added ability to annotate Html documents +* Implemented import annotations from tables for Words documents + +## Full List of Issues Covering all Changes in this Release + +| Key | Summary | Issue Type | +| --- | --- | --- | +| ANNOTATIONNET-351 | Implement annotating for DICOM format images | New Feature | +| ANNOTATIONNET-348 | Add Metered licensing support | New Feature | +| ANNOTATIONNET-344 | Implement adding annotations to Otp format | New Feature | +| ANNOTATIONNET-340 | Implement annotating DjVu format | New Feature | +| ANNOTATIONNET-368 | Implement distance annotation for images | New Feature | +| ANNOTATIONNET-367 | Implement annotating EMF/WMF document | New Feature | +| ANNOTATIONNET-363 | Implement CAD documents annotating | New Feature | +| ANNOTATIONNET-361 | Implement adding Arrow annotation to Image documents | New Feature | +| ANNOTATIONNET-380 | Process hyperlinks in tables for Words documents | New Feature | +| ANNOTATIONNET-379 | Processing numbered lists in tables for Words documents | New Feature | +| ANNOTATIONNET-378 | Processing tables in Word documents | New Feature | +| ANNOTATIONNET-393 | Implement GetDocumentInfo from a stream | New Feature | +| ANNOTATIONNET-392 | Implement Html documents annotating | New Feature | +| ANNOTATIONNET-391 | Implement annotating Email format | New Feature | +| ANNOTATIONNET-390 | Implement import annotations in tables for Word | New Feature | +| ANNOTATIONNET-381 | Improve import annotations from Word documents | Improvement | +| ANNOTATIONNET-376 | Improve Annotating CAD files | Improvement | +| ANNOTATIONNET-388 | Refactor annotations export logic | Improvement | +| ANNOTATIONNET-365 | Export to MS-Word exporting the repeated reply comments | Bug | +| ANNOTATIONNET-389 | Fix issues with annotations detection in some special cases in Words documents | Bug | + +## Public API and Backward Incompatible Changes + +{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.5.0. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} + +1. Added new formats to annotating images article +2. Adding annotations for EMF/WMF and CAD formats +3. Adding Distance and Arrow annotations for image +4. Added ability to get document information from stream +5. Added annotating Email (export only) (Eml Emlx Msg) documents +6. Added annotating (export only) Email (Html) documents + +### Metered licensing + +**Java** + +```csharp +String storagePath = Utilities.STORAGE_PATH; + +// Setup Annotation configuration +AnnotationConfig annotationConfig = new AnnotationConfig(); +annotationConfig.setStoragePath(storagePath); + +InputStream cleanPdf = new FileInputStream(Utilities.STORAGE_PATH + File.separator + "SetLicense.TestData.Clear.pdf"); + +// Create new instance of GroupDocs.Annotation.Metered classs +Metered metered = new Metered(); + +// Set public and private key to metered instance +metered.setMeteredKey("**", "**"); + +// Get metered value before usage of the annotation +double amountBefore = Metered.getConsumptionQuantity(); +System.out.println("Amount consumed  before: " + amountBefore); + +//instantiating the annotation handler +AnnotationImageHandler annotator = new AnnotationImageHandler(annotationConfig); +AnnotationInfo pointAnnotation = new AnnotationInfo(); +pointAnnotation.setAnnotationPosition(new Point(852.0, 81.0)); +pointAnnotation.setBox(new Rectangle(212f, 81f, 142f, 0.0f)); +pointAnnotation.setPageNumber(0); +pointAnnotation.setType(AnnotationType.Point); +pointAnnotation.setCreatorName("Anonym A."); + +List annotations = new ArrayList(); +annotations.add(pointAnnotation); + +InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); + +// Get metered value after usage of the annotation +double amountAfter = Metered.getConsumptionQuantity(); +System.out.println("Amount consumed after: " + amountAfter); +System.out.println("Press any key..."); +``` diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md new file mode 100644 index 0000000..6e7d767 --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md @@ -0,0 +1,43 @@ +--- +id: groupdocs-annotation-for-java-17-6-0-release-notes +url: annotation/java/groupdocs-annotation-for-java-17-6-0-release-notes +title: GroupDocs.Annotation for Java 17.6.0 Release Notes +weight: 4 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.6.0{{< /alert >}} + +# Major Features  + +Below the list of  new features and fixed bugs in this regular monthly release of GroupDocs.Annotation for Java. The most notable are: + +* Added support of annotation Diagrams documents (vsd, vss) + 1. Arrow annotation + 2. Area annotation + 3. ResourceRedaction annotation + 4. Polyline annotation + 5. TextField annotation + +* Implement proper error handling when user try to invoke GetDocumentInfo method for images documents +* Updated and improved library obfuscation + +## Full List of Issues Covering all Changes in this Release + +| Key | Summary | Issue Type | +| --- | --- | --- | +| ANNOTATIONNET-417 | Implement Polyline annotation with Diagram documents | New Feature | +| ANNOTATIONNET-416 | Implement Arrow annotation for Diagram documents | New Feature | +| ANNOTATIONNET-410 | Implement Area annotation for Diagrams | New Feature | +| ANNOTATIONNET-406 | Add option to process CAD documents as PDF | Improvement | +| ANNOTATIONNET-405 | Implement GetPages method for Email documents processing from streams | Improvement | +| ANNOTATIONNET-401 | Implement proper error handling when user try to invoke GetDocumentInfo method for images documents | Improvement | +| ANNOTATIONNET-395 | Internal Exception in annotator.GetDocumentInfo() Method | Bug | + +## Public API and Backward Incompatible Changes + +{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.6.0. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} + +1. Added annotating Diagrams (vss, vsd)  documents diff --git a/Docs/content/annotation/java/release-notes/release-notes-2018/_index.md b/Docs/content/annotation/java/release-notes/release-notes-2018/_index.md new file mode 100644 index 0000000..eb41226 --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2018/_index.md @@ -0,0 +1,10 @@ +--- +id: release-notes-2018 +url: annotation/java/release-notes-2018 +title: Release Notes - 2018 +weight: 3 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- diff --git a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md new file mode 100644 index 0000000..03833bb --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md @@ -0,0 +1,23 @@ +--- +id: groupdocs-annotation-for-java-17-10-3-release-notes +url: annotation/java/groupdocs-annotation-for-java-17-10-3-release-notes +title: GroupDocs.Annotation for Java 17.10.3 Release Notes +weight: 3 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.10.3{{< /alert >}} + +## Major Features + +| Key | Summary | Issue Type | +| --- | --- | --- | +| ANNOTATIONJAVA-1063 | Import added annotations from exported PDF document | Bug | + +# Public API and Backward Incompatible Changes + +{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10.3. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} + +There is no changes in this release. diff --git a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md new file mode 100644 index 0000000..6613574 --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md @@ -0,0 +1,247 @@ +--- +id: groupdocs-annotation-for-java-18-10-release-notes +url: annotation/java/groupdocs-annotation-for-java-18-10-release-notes +title: GroupDocs.Annotation for Java 18.10 Release Notes +weight: 1 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 18.10{{< /alert >}} + +## Major Features + +Below is the list of most notable changes in release of GroupDocs.Annotation for Java: + +* Fixed removing watermarks after cleanup in PDF +* Fixed highlight color is not changed in footnotes for highlight annotations in words. +* Added a font highlight color change for text annotations in word +* Improved integration tests coverage +* Implemented using metadata for storing annotations on Slides +* Implemented support of adding new types of annotations for Diagrams (Watermark, Point) +* Implemented support of adding new types of annotations for Words (Watermark, Point) + +## Full List of Issues Covering all Changes in this Release + +| Key | Summary | Issue Type | +| --- | --- | --- | +| ANNOTATIONNET-666 | Add a font highlight color change for text annotations in word | New Feature | +| ANNOTATIONNET-714 | Implement support of metadata in Slides | New Feature | +| ANNOTATIONNET-713 | Implement Watermark annotation in Diagrams | New Feature | +| ANNOTATIONNET-706 | Implement adding Point annotation in Diagrams | New Feature | +| ANNOTATIONNET-704 | Implement Polyline annotation for Words | New Feature | +| ANNOTATIONNET-700 | Implement watermark annotation for Words | New Feature | +| ANNOTATIONNET-697 | Implement Point annotation for Words | New Feature | +| ANNOTATIONNET-684 | Cleanup in PDF doesn't remove watermarks | Bug | +| ANNOTATIONNET-677 | Highlight color is not changed in footnotes for highlight annotations in words. | Bug | +| ANNOTATIONJAVA-1109 | Exception while running project on macOS | Bug | +| ANNOTATIONJAVA-1089 | License.isValidLicense returns wrong status | Bug | +| ANNOTATIONJAVA-1111 | An exception raises while accessing the source document | Bug | +| ANNOTATIONJAVA-1105 | Licensing is not working | Bug | +| ANNOTATIONJAVA-1107 | isValidLicense() property of License class always returns false | Bug | +| ANNOTATIONJAVA-1097 | TIFF/Multi TIFF file is either corrupted or black and white when annotated | Bug | +| ANNOTATIONJAVA-1098 | Some annotations are missing while exporting to file | Bug | +| ANNOTATIONJAVA-1088 | StringIndexOutOfBoundsException in AnnotationImageHandler.exportAnnotationsToDocument while exporting Line and Distance annotation | Bug | +| ANNOTATIONJAVA-1069 | Unable to retrieve un-annotated page image from annotated document | Bug | +| ANNOTATIONNET-667 | Improve integration tests coverage | Task | + +## Public API and Backward Incompatible Changes + +{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 18.10. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} + +1. Added new types of annotations for Diagrams (Watermark, Point) + + **Java** + + ```csharp + AnnotationConfig cfg = new AnnotationConfig(); + cfg.setStoragePath(storagePath); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + InputStream cleanDiagramFile = new FileInputStream(storagePath + File.separator + fileName); + //FileInputStream input = new FileInputStream("AddAnnotations.TestData."); //Assembly.GetExecutingAssembly().GetManifestResourceStream("AddAnnotations.TestData."); + List annotations = new ArrayList(); + + // Area annotation with 2 replies + AnnotationInfo areaAnnnotation = new AnnotationInfo(); + areaAnnnotation.setCreatedOn(new Date()); + areaAnnnotation.setType(AnnotationType.Area); + areaAnnnotation.setBox(new Rectangle(200, 114.5f, 282.3f, 103.7f)); + + // Polyline annotation + AnnotationInfo polylineAnnotation = new AnnotationInfo(); + polylineAnnotation.setCreatedOn(new Date()); + polylineAnnotation.setType(AnnotationType.Polyline); + polylineAnnotation.setBox(new Rectangle(206.3f, 106.61f, 456.04f, 307.97f)); + polylineAnnotation.setSvgPath("M436.293427230047,148.06338028169014l0,-0.9870892018779343l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-4.935446009389671,-1.9741784037558685l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-1.9741784037558685,0l-3.948356807511737,0l-2.961267605633803,0l-3.948356807511737,0l-4.935446009389671,0l-3.948356807511737,0.9870892018779343l-4.935446009389671,0.9870892018779343l-6.90962441314554,0l-3.948356807511737,0.9870892018779343l-3.948356807511737,0l-2.961267605633803,1.9741784037558685l-3.948356807511737,0.9870892018779343l-6.90962441314554,1.9741784037558685l-6.90962441314554,0.9870892018779343l-12.832159624413146,2.961267605633803l-6.90962441314554,1.9741784037558685l-5.922535211267606,0.9870892018779343l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,0.9870892018779343l-4.935446009389671,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-4.935446009389671,1.9741784037558685l-5.922535211267606,2.961267605633803l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-4.935446009389671,3.948356807511737l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-3.948356807511737,5.922535211267606l-3.948356807511737,4.935446009389671l-3.948356807511737,5.922535211267606l-3.948356807511737,6.90962441314554l-3.948356807511737,7.896713615023474l-0.9870892018779343,6.90962441314554l-1.9741784037558685,7.896713615023474l-1.9741784037558685,6.90962441314554l-0.9870892018779343,7.896713615023474l0,12.832159624413146l0,7.896713615023474l0,7.896713615023474l0.9870892018779343,7.896713615023474l1.9741784037558685,5.922535211267606l2.961267605633803,5.922535211267606l0.9870892018779343,5.922535211267606l2.961267605633803,6.90962441314554l3.948356807511737,5.922535211267606l4.935446009389671,4.935446009389671l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l6.90962441314554,5.922535211267606l7.896713615023474,5.922535211267606l7.896713615023474,5.922535211267606l17.767605633802816,8.883802816901408l11.845070422535212,3.948356807511737l11.845070422535212,4.935446009389671l23.690140845070424,8.883802816901408l41.45774647887324,6.90962441314554l31.586854460093896,3.948356807511737l16.780516431924884,0l16.780516431924884,1.9741784037558685l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,-1.9741784037558685l14.806338028169014,-1.9741784037558685l14.806338028169014,-1.9741784037558685l12.832159624413146,-1.9741784037558685l10.857981220657276,-2.961267605633803l10.857981220657276,-2.961267605633803l8.883802816901408,-4.935446009389671l8.883802816901408,-4.935446009389671l6.90962441314554,-6.90962441314554l6.90962441314554,-6.90962441314554l8.883802816901408,-16.780516431924884l4.935446009389671,-7.896713615023474l3.948356807511737,-8.883802816901408l4.935446009389671,-7.896713615023474l4.935446009389671,-7.896713615023474l3.948356807511737,-13.81924882629108l1.9741784037558685,-18.754694835680752l0,-7.896713615023474l0,-12.832159624413146l-1.9741784037558685,-15.793427230046948l-1.9741784037558685,-15.793427230046948l-4.935446009389671,-15.793427230046948l-8.883802816901408,-15.793427230046948l-12.832159624413146,-23.690140845070424l-10.857981220657276,-10.857981220657276l-5.922535211267606,-3.948356807511737l-12.832159624413146,-8.883802816901408l-9.870892018779342,-8.883802816901408l-5.922535211267606,-3.948356807511737l-12.832159624413146,-5.922535211267606l-15.793427230046948,-8.883802816901408l-13.81924882629108,-4.935446009389671l-11.845070422535212,-2.961267605633803l-11.845070422535212,-3.948356807511737l-11.845070422535212,-3.948356807511737l-5.922535211267606,-1.9741784037558685l-11.845070422535212,-2.961267605633803l-11.845070422535212,-1.9741784037558685l-5.922535211267606,-0.9870892018779343l-10.857981220657276,-1.9741784037558685l-10.857981220657276,-2.961267605633803l-9.870892018779342,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l0,-0.9870892018779343l1.9741784037558685,0"); + + // Text field annotation + AnnotationInfo textFieldAnnotation = new AnnotationInfo(); + textFieldAnnotation.setCreatedOn(new Date()); + textFieldAnnotation.setType(AnnotationType.TextField); + textFieldAnnotation.setBox(new Rectangle(162.87f, 267.5f, 91.8f, 42.45f)); + textFieldAnnotation.setBackgroundColor(-15988609); + textFieldAnnotation.setFieldText("Annotation Text"); + + // Arrow annotation + AnnotationInfo arrowAnnotation = new AnnotationInfo(); + arrowAnnotation.setType(AnnotationType.Arrow); + arrowAnnotation.setBox(new Rectangle(435.77464788732397f, 148.05164319248826f, -66.34389671361504f, 53.07511737089203f)); + + // Distance annotation + AnnotationInfo distanceAnnotation = new AnnotationInfo(); + distanceAnnotation.setCreatedOn(new Date()); + distanceAnnotation.setType(AnnotationType.Distance); + distanceAnnotation.setBox(new Rectangle((float)248.73202514648438, (float)287.85653686523438, (float)115.9178466796875, (float)25.143020629882812)); + distanceAnnotation.setSvgPath("M248.73201877934272,295.5439436619718 l115.28309859154929,-4.192112676056338"); + + // Point annotation + AnnotationInfo pointAnnnotation = new AnnotationInfo(); + pointAnnnotation.setCreatedOn(new Date()); + pointAnnnotation.setType(AnnotationType.Point); + pointAnnnotation.setBox(new Rectangle(150.32f, 99.22f, 0, 0)); + pointAnnnotation.setPageNumber(0); + + // Point annotation + AnnotationInfo watermarkAnnnotation = new AnnotationInfo(); + watermarkAnnnotation.setCreatedOn(new Date()); + watermarkAnnnotation.setFieldText("Watermark text"); + watermarkAnnnotation.setFontColor(16711680); + watermarkAnnnotation.setFontFamily("Microsoft Sans Serif"); + watermarkAnnnotation.setFontSize(17); + watermarkAnnnotation.setOpacity(0.3); + watermarkAnnnotation.setType(AnnotationType.Watermark); + + // Resource redaction annotation + AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo(); + resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction); + resourceRedactionAnnotation.setBox(new Rectangle(200, 114.5f, 282.3f, 103.7f)); + annotations.add(areaAnnnotation); + annotations.add(polylineAnnotation); + annotations.add(textFieldAnnotation); + annotations.add(arrowAnnotation); + annotations.add(resourceRedactionAnnotation); + annotations.add(distanceAnnotation); + annotations.add(pointAnnnotation); + annotations.add(watermarkAnnnotation); + + // Add annotation to the document + InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations); + + // Save result stream to file. + OutputStream fileStream = new FileOutputStream(Utilities.OUTPUT_PATH + File.separator + "Annotated.vsdx"); + IOUtils.copy(result, fileStream); + ``` + +2. Added new types of annotations for Words (Polyline, Watermark, Point) + + **Java** + + ```csharp + AnnotationConfig cfg = new AnnotationConfig(); + cfg.setStoragePath(storagePath); + AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); + + InputStream cleanDoc = new FileInputStream(storagePath + File.separator + "AddAnnotationsWords.TestData.Clear.docx"); + List annotations = new ArrayList(); + + // init possible types of annotations + AnnotationInfo textAnnotation = new AnnotationInfo(); + textAnnotation.setPageNumber(1); + textAnnotation.setSvgPath("[{\"x\":186.698,\"y\":706.196},{\"x\":318.41201,\"y\":706.196},{\"x\":186.698,\"y\":697.196},{\"x\":318.41201,\"y\":697.196}]"); + textAnnotation.setType(AnnotationType.Text); + textAnnotation.setText("Comment"); + + AnnotationInfo areaAnnnotation = new AnnotationInfo(); + areaAnnnotation.setBackgroundColor(11111111); + areaAnnnotation.setBox(new Rectangle(87.9f, 276.5f, 435.7f, 87f)); + areaAnnnotation.setPageNumber(1); + areaAnnnotation.setType(AnnotationType.Area); + + AnnotationInfo strikeoutAnnotation = new AnnotationInfo(); + strikeoutAnnotation.setBox(new Rectangle(87.9f, 276.5f, 435.7f, 87f)); + strikeoutAnnotation.setPageNumber(1); + strikeoutAnnotation.setPenColor(1201033); + strikeoutAnnotation.setSvgPath("[{\"x\":208.392,\"y\":313.088},{\"x\":519.659,\"y\":313.088},{\"x\":208.392,\"y\":304.088},{\"x\":519.659,\"y\":304.088}]"); + strikeoutAnnotation.setType(AnnotationType.TextStrikeout); + + AnnotationInfo textFieldAnnotation = new AnnotationInfo(); + textFieldAnnotation.setFieldText("text in the box"); + textFieldAnnotation.setFontFamily("Arial"); + textFieldAnnotation.setFontSize(10); + textFieldAnnotation.setBox(new Rectangle(92f, 73f, 106f, 45f)); + textFieldAnnotation.setPageNumber(1); + textFieldAnnotation.setType(AnnotationType.TextField); + + AnnotationInfo textReplacementAnnotation = new AnnotationInfo(); + textReplacementAnnotation.setFieldText(" \"REPLACED TEXT\" "); + textReplacementAnnotation.setFontSize(10); + textReplacementAnnotation.setSvgPath("[{\"x\":251.224,\"y\":637.20401},{\"x\":327.89,\"y\":637.20401},{\"x\":251.224,\"y\":628.20401},{\"x\":327.89,\"y\":628.20401}]"); + textReplacementAnnotation.setPageNumber(0); + textReplacementAnnotation.setType(AnnotationType.TextReplacement); + + AnnotationInfo arrowAnnotation = new AnnotationInfo(); + arrowAnnotation.setBox(new Rectangle(479f, 218f, -261f, -89f)); + arrowAnnotation.setPageNumber(1); + arrowAnnotation.setType(AnnotationType.Arrow); + + AnnotationInfo textRedactionAnnotation = new AnnotationInfo(); + textRedactionAnnotation.setPageNumber(2); + textRedactionAnnotation.setSvgPath("[{\"x\":72,\"y\":676.07},{\"x\":196.427,\"y\":676.074},{\"x\":72,\"y\":662.674},{\"x\":196.427,\"y\":662.674}]"); + textRedactionAnnotation.setType(AnnotationType.TextRedaction); + + AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo(); + resourceRedactionAnnotation.setBox(new Rectangle(69f, 337f, 449f, 118f)); + resourceRedactionAnnotation.setPageNumber(1); + resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction); + + AnnotationInfo underlineAnnotation = new AnnotationInfo(); + underlineAnnotation.setPageNumber(2); + underlineAnnotation.setSvgPath("[{\"x\":415.17499,\"y\":628.874},{\"x\":511.85101,\"y\":628.874},{\"x\":415.17499,\"y\":619.874},{\"x\":511.85101,\"y\":619.874}]"); + underlineAnnotation.setType(AnnotationType.TextUnderline); + + // Polyline annotation + AnnotationInfo polylineAnnotation = new AnnotationInfo(); + polylineAnnotation.setCreatedOn(new Date()); + polylineAnnotation.setType(AnnotationType.Polyline); + polylineAnnotation.setBox(new Rectangle(206.3f, 106.61f, 456.04f, 307.97f)); + polylineAnnotation.setSvgPath("M436.293427230047,148.06338028169014l0,-0.9870892018779343l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-4.935446009389671,-1.9741784037558685l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-1.9741784037558685,0l-3.948356807511737,0l-2.961267605633803,0l-3.948356807511737,0l-4.935446009389671,0l-3.948356807511737,0.9870892018779343l-4.935446009389671,0.9870892018779343l-6.90962441314554,0l-3.948356807511737,0.9870892018779343l-3.948356807511737,0l-2.961267605633803,1.9741784037558685l-3.948356807511737,0.9870892018779343l-6.90962441314554,1.9741784037558685l-6.90962441314554,0.9870892018779343l-12.832159624413146,2.961267605633803l-6.90962441314554,1.9741784037558685l-5.922535211267606,0.9870892018779343l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,0.9870892018779343l-4.935446009389671,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-4.935446009389671,1.9741784037558685l-5.922535211267606,2.961267605633803l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-4.935446009389671,3.948356807511737l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-3.948356807511737,5.922535211267606l-3.948356807511737,4.935446009389671l-3.948356807511737,5.922535211267606l-3.948356807511737,6.90962441314554l-3.948356807511737,7.896713615023474l-0.9870892018779343,6.90962441314554l-1.9741784037558685,7.896713615023474l-1.9741784037558685,6.90962441314554l-0.9870892018779343,7.896713615023474l0,12.832159624413146l0,7.896713615023474l0,7.896713615023474l0.9870892018779343,7.896713615023474l1.9741784037558685,5.922535211267606l2.961267605633803,5.922535211267606l0.9870892018779343,5.922535211267606l2.961267605633803,6.90962441314554l3.948356807511737,5.922535211267606l4.935446009389671,4.935446009389671l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l6.90962441314554,5.922535211267606l7.896713615023474,5.922535211267606l7.896713615023474,5.922535211267606l17.767605633802816,8.883802816901408l11.845070422535212,3.948356807511737l11.845070422535212,4.935446009389671l23.690140845070424,8.883802816901408l41.45774647887324,6.90962441314554l31.586854460093896,3.948356807511737l16.780516431924884,0l16.780516431924884,1.9741784037558685l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,-1.9741784037558685l14.806338028169014,-1.9741784037558685l14.806338028169014,-1.9741784037558685l12.832159624413146,-1.9741784037558685l10.857981220657276,-2.961267605633803l10.857981220657276,-2.961267605633803l8.883802816901408,-4.935446009389671l8.883802816901408,-4.935446009389671l6.90962441314554,-6.90962441314554l6.90962441314554,-6.90962441314554l8.883802816901408,-16.780516431924884l4.935446009389671,-7.896713615023474l3.948356807511737,-8.883802816901408l4.935446009389671,-7.896713615023474l4.935446009389671,-7.896713615023474l3.948356807511737,-13.81924882629108l1.9741784037558685,-18.754694835680752l0,-7.896713615023474l0,-12.832159624413146l-1.9741784037558685,-15.793427230046948l-1.9741784037558685,-15.793427230046948l-4.935446009389671,-15.793427230046948l-8.883802816901408,-15.793427230046948l-12.832159624413146,-23.690140845070424l-10.857981220657276,-10.857981220657276l-5.922535211267606,-3.948356807511737l-12.832159624413146,-8.883802816901408l-9.870892018779342,-8.883802816901408l-5.922535211267606,-3.948356807511737l-12.832159624413146,-5.922535211267606l-15.793427230046948,-8.883802816901408l-13.81924882629108,-4.935446009389671l-11.845070422535212,-2.961267605633803l-11.845070422535212,-3.948356807511737l-11.845070422535212,-3.948356807511737l-5.922535211267606,-1.9741784037558685l-11.845070422535212,-2.961267605633803l-11.845070422535212,-1.9741784037558685l-5.922535211267606,-0.9870892018779343l-10.857981220657276,-1.9741784037558685l-10.857981220657276,-2.961267605633803l-9.870892018779342,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l0,-0.9870892018779343l1.9741784037558685,0"); + + + // Watermark annotation + AnnotationInfo watermarkAnnnotation = new AnnotationInfo(); + watermarkAnnnotation.setCreatedOn(new Date()); + watermarkAnnnotation.setFieldText("Watermark text"); + watermarkAnnnotation.setFontColor(16711680); + watermarkAnnnotation.setFontFamily("Microsoft Sans Serif"); + watermarkAnnnotation.setFontSize(17); + watermarkAnnnotation.setOpacity(0.3); + watermarkAnnnotation.setType(AnnotationType.Watermark); + // Point annotation + AnnotationInfo pointAnnnotation = new AnnotationInfo(); + pointAnnnotation.setCreatedOn(new Date()); + pointAnnnotation.setType(AnnotationType.Point); + pointAnnnotation.setBox(new Rectangle(150.32f, 99.22f, 0, 0)); + pointAnnnotation.setPageNumber(0); + + annotations.add(textAnnotation); + annotations.add(areaAnnnotation); + annotations.add(strikeoutAnnotation); + annotations.add(textFieldAnnotation); + annotations.add(textReplacementAnnotation); + annotations.add(arrowAnnotation); + annotations.add(textRedactionAnnotation); + annotations.add(resourceRedactionAnnotation); + annotations.add(underlineAnnotation); + annotations.add(polylineAnnotation); + annotations.add(watermarkAnnnotation); + annotations.add(pointAnnnotation); + + // Add annotation to the document + InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); + + // Save result stream to file. + OutputStream fileStream = new FileOutputStream(Utilities.OUTPUT_PATH + File.separator + "words-annotated.docx"); + System.out.println(result.available()); + IOUtils.copy(result, fileStream); + ``` diff --git a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md new file mode 100644 index 0000000..3af808c --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md @@ -0,0 +1,92 @@ +--- +id: groupdocs-annotation-for-java-18-4-release-notes +url: annotation/java/groupdocs-annotation-for-java-18-4-release-notes +title: GroupDocs.Annotation for Java 18.4 Release Notes +weight: 2 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 18.4{{< /alert >}} + +## Major Features + +Below is the list of new features improvements and fixes in this release of GroupDocs.Annotation for Java 18.4: + +* Added ability to import distance annotations in Words format +* Improve import of annotations for Words format +* Fixed several bugs regarding to PDF annotation import +* Fixed TextField annotations import for Diagrams format +* Fixed export some types of annotation for Diagrams format +* Improved Replacement annotation for text in different paragraphs +* Fixed import text field for Diagram documents +* Fixed bug with import text annotations from Pdf +* Fixed resizing image when user pass width and height +* Fixed creating of Arrow annotation for Diagrams +* Fixed issue with wrong distance structure after export in diagram +* Fixed issue with wrong Polyline structure after export in diagram +* Fixed bug with hanging of sample while importing distance annotation for Slides format +* Fixed bug when importing area annotation +* Fixed bug with importing annotations for diagrams +* Improved export of underline text annotation for PDF +* Improved export strikeout text annotation for PDF +* Improved  creating annotations from colored or transparent text +* Fixed transparent text for all formats +* Fixed bug when importing text for TextField annotation in Diagrams + +## Full List of Issues Covering all Changes in this Release + +| Key | Summary | Issue Type | +| --- | --- | --- | +| ANNOTATIONNET-563 | Implement import of distance annotation for Words document | New Feature | +| ANNOTATIONNET-583 | Add text redaction annotation in Slides document | New Feature | +| ANNOTATIONNET-560 | Merge similar annotations when importing from a MSWord document | Improvement | +| ANNOTATIONNET-559 | Improve import of text annotations for Words document | Improvement | +| ANNOTATIONNET-548 | Merge similar annotations when importing from a MSWord document | Improvement | +| ANNOTATIONNET-546 | Improve replacement annotation for text in different paragraphs | Improvement | +| ANNOTATIONNET-582 | Add point with text for text annotation | Improvement | +| ANNOTATIONNET-573 | Improve export of text annotations in Slides document | Improvement | +| ANNOTATIONNET-570 | Improve annotation export for big font sizes for Slides document | Improvement | +| ANNOTATIONNET-606 | Implement accepting SVG path also with spaces not only with commas | Improvement | +| ANNOTATIONNET-602 | Improve CleanUp for diagram | Improvement | +| ANNOTATIONNET-545 | Bug with import and export distance annotations in Pdf | Bug | +| ANNOTATIONNET-544 | Bug with import text annotations from Pdf | Bug | +| ANNOTATIONNET-543 | Bug with import arrow annotation from Pdf | Bug | +| ANNOTATIONNET-538 | AnnotationImageHandler.getPages does not respect ImageOptions.setWidth | Bug | +| ANNOTATIONNET-561 | Errors in import of diagrams: Wrong text in TextField annotation. | Bug | +| ANNOTATIONNET-556 | Fix import of arrow annotation in MSWord | Bug | +| ANNOTATIONNET-551 | Wrong Polyline structure after export in diagram | Bug | +| ANNOTATIONNET-550 | Errors in import of diagrams: Wrong text in TextField annotation. | Bug | +| ANNOTATIONNET-549 | Wrong distance structure after export in diagram | Bug | +| ANNOTATIONNET-547 | Wrong coordinates of annotations after exporting images | Bug | +| ANNOTATIONNET-591 | Fix Point annotation in Slides | Bug | +| ANNOTATIONNET-589 | Fix opacity value for import in Diagrams | Bug | +| ANNOTATIONNET-584 | Bug with import text field for diagram. | Bug | +| ANNOTATIONNET-581 | Arrow annotation doesn't create for diagrams. | Bug | +| ANNOTATIONNET-578 | Fix Slides bug with coordinates of paragraph and portion | Bug | +| ANNOTATIONNET-577 | Words:Fixed cleanup for text redaction annotation. | Bug | +| ANNOTATIONNET-574 | Bug with import text annotations from Pdf | Bug | +| ANNOTATIONNET-572 | Wrong distance structure after export in diagram | Bug | +| ANNOTATIONNET-571 | Wrong Polyline structure after export in diagram | Bug | +| ANNOTATIONNET-612 | Fix transparent color for lines of underline and strikeout annotations for Images | Bug | +| ANNOTATIONNET-611 | Fix transparent colors in Words document | Bug | +| ANNOTATIONNET-609 | Underline style of annotation doesn't set on text in Words document | Bug | +| ANNOTATIONNET-608 | Annotation of underline doesn't set in table in Words document | Bug | +| ANNOTATIONNET-607 | Export adds extra comment for every shape in diagrams | Bug | +| ANNOTATIONNET-605 | The align of text for TextField of annotation is wrong in Words document | Bug | +| ANNOTATIONNET-603 | Bug after export strikeout annotation in Words document | Bug | +| ANNOTATIONNET-601 | Bug when importing text for TextField annotation in diagrams | Bug | +| ANNOTATIONNET-598 | Imported from word document resource redaction annotation does not have color | Bug | +| ANNOTATIONNET-597 | Bug when importing area annotation from Words document | Bug | +| ANNOTATIONNET-596 | Bug with importing annotations for diagrams | Bug | +| ANNOTATIONNET-595 | The sample hangs while importing distance annotation for slides. | Bug | +| ANNOTATIONJAVA-697 | Aspose.PDF 10.6.2: Underline property does not work in text replace functional (Incorrect removing of underline text via Strikeout annotation) | Bug | +| ANNOTATIONJAVA-1064 | Annotation comments are not included in exported document | Bug | +| ANNOTATIONJAVA-1068 | Annotation comments are not imported from existing annotated document | Bug | + +## Public API and Backward Incompatible Changes + +{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 18.4. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} + +1. None diff --git a/Docs/content/annotation/java/release-notes/release-notes-2019/_index.md b/Docs/content/annotation/java/release-notes/release-notes-2019/_index.md new file mode 100644 index 0000000..098b86d --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2019/_index.md @@ -0,0 +1,10 @@ +--- +id: release-notes-2019 +url: annotation/java/release-notes-2019 +title: Release Notes - 2019 +weight: 2 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- diff --git a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md new file mode 100644 index 0000000..d638634 --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md @@ -0,0 +1,186 @@ +--- +id: groupdocs-annotation-for-java-19-4-release-notes +url: annotation/java/groupdocs-annotation-for-java-19-4-release-notes +title: GroupDocs.Annotation for Java 19.4 Release Notes +weight: 3 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 19.4{{< /alert >}} + +## Major Features + +Below is the list of most notable changes in release of GroupDocs.Annotation for Java: + +* Implement watermark annotation for Words +* Add cleanup for text replacement in Words +* Improve text annotations in Slides +* Improve shape processing in Diagrams for text annotations +* Fixed SvgPath parsing +* Implement export import and cleanup functionality for Cells format +* Added new types of annotations for Cells + * Text Annotation + * Watermark + * Resource Redaction + * Text Replacement + +## Full List of Issues Covering all Changes in this Release + +| Key | Summary | Issue Type | +| --- | --- | --- | +| ANNOTATIONNET-700 | Implement watermark annotation for Words | New Feature | +| ANNOTATIONNET-699 | Implement TextReplacement annotation for Cells | New Feature | +| ANNOTATIONNET-705 | Implement text annotations for Cells | New Feature | +| ANNOTATIONNET-702 | Implement Watermark annotation for Cells | New Feature | +| ANNOTATIONNET-701 | Implement ResourceRedation annotation for Cells | New Feature | +| ANNOTATIONNET-724 | Add cleanup for text replacement in Words | New Feature | +| ANNOTATIONNET-752 | Add the ability to apply text annotations without changing the color | New Feature | +| ANNOTATIONNET-751 | Add reviewer rights management for operations with replies. | New Feature | +| ANNOTATIONNET-750 | Add the ability to set text annotations transparency for Diagrams | New Feature | +| ANNOTATIONNET-737 | Add creating Arrow annotation with AnnotationInfo.Box in PDF | New Feature | +| ANNOTATIONNET-791 | Implement TextReplacement in Slides | New Feature | +| ANNOTATIONNET-798 | Implement font family support for TextReplacement | New Feature | +| ANNOTATIONNET-812 | Implement export only pages that contains annotations | New Feature | +| ANNOTATIONNET-813 | Implement Export document with specific annotation type | New Feature | +| ANNOTATIONNET-814 | Export specific pages range of document | New Feature | +| ANNOTATIONNET-815 | Add possibility to retrieve pages without annotations | New Feature | +| ANNOTATIONNET-727 | Improve text annotations in Slides | Improvement | +| ANNOTATIONNET-720 | Improve shape processing in Diagrams for text annotations | Improvement | +| ANNOTATIONNET-745 | Security improvements update | Improvement | +| ANNOTATIONNET-756 | Change default TextField background color for Diagrams and Slides | Improvement | +| ANNOTATIONNET-755 | Display border for TextField annotation in Images | Improvement | +| ANNOTATIONNET-754 | Change TextField default background color in PDF | Improvement | +| ANNOTATIONNET-744 | Improve applying annotations properties for Diagrams | Improvement | +| ANNOTATIONNET-736 | Change applying comments with replies | Improvement | +| ANNOTATIONNET-740 | Add FontColor cleanup in Slides | Improvement | +| ANNOTATIONNET-741 | Implement PenStyle property for Words | Improvement | +| ANNOTATIONNET-742  | Implement PenStyle property for Cells | Improvement | +| ANNOTATIONNET-743 | Implement PenStyle property for Diagrams | Improvement | +| ANNOTATIONNET-744 | Implement PenStyle property for PDF | Improvement | +| ANNOTATIONNET-745 | Implement PenStyle property for Slides | Improvement | +| ANNOTATIONNET-756 | Implement PenStyle property in Images | Improvement | +| ANNOTATIONNET-806 | Ensured and updated GroupDocs.Annotation code is thread-safe | Improvement | +| ANNOTATIONNET-811 | Add text replacement for grouped shapes | Improvement | +| ANNOTATIONJAVA-1124 | Managing different versions of annotated file | Improvement | +| ANNOTATIONJAVA-1123 | Document Annotation With Native Mobile Apps | Improvement | +| ANNOTATIONJAVA-1111 | Adding creator information with annotation is not saved | Improvement | +| ANNOTATIONNET-729 | Bug with SvgPath parsing | Bug | +| ANNOTATIONNET-748 | Bug with manual date changing for Diagrams | Bug | +| ANNOTATIONNET-738 | Bug with cleaning multiple different annotations for Pdf | Bug | +| ANNOTATIONNET-752 | .NET version: TIFF/Multi TIFF file is either corrupted or black and white when annotated | Bug | +| ANNOTATIONNET-748 | Fix for unstable sorting for Slides and Diagrams | Bug | +| ANNOTATIONNET-807 | Fix time format bug for Slides | Bug | +| ANNOTATIONNET-804 | Fix converting int to PDF.Color | Bug | +| ANNOTATIONNET-799 | Fix annotation point position for TextReplacement on Slides | Bug | +| ANNOTATIONNET-793 | Issue with CleanUp on PDF document | Bug | +| ANNOTATIONNET-819  | AnnotationImageHandler.GetDocumentInfo method in trial mode throws exception | Bug | +| ANNOTATIONNET-821  | Bug during apply annotation to empty document in Cells | Bug | +| ANNOTATIONNET-82  | NotSupportedException exception when pass password parameter for Images | Bug | +| ANNOTATIONJAVA-1121  | Exception is thrown while adding annotation in Diagrams | Bug | +| ANNOTATIONJAVA-1125  | Exception occurred while adding Distance, Point and Polyline annotation to Word doc | Bug | +| ANNOTATIONJAVA-1143  | Wrong size of text annotation and disappearing the annotation in word file | Bug | +| ANNOTATIONJAVA-1141 | Exception occurred while annotate pdf,word file in total sample | Bug | +| ANNOTATIONJAVA-1139 | Exception occurred while remove annotations from pdf file | Bug | +| ANNOTATIONJAVA-1130 | java.lang.NoSuchFieldError exception when applying license | Bug | + +## Public API and Backward Incompatible Changes + +{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 19.4. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} + +1. **Export page range:** + + To export specific pages  you should just to setup *ExportOptions *class, and then export as before. + + **Java** + + ```csharp + ExportOptions options = new ExportOptions(); + options.setFirstPage(5); + options.setLastPage(8); + ``` + + Result: will be exported document pages started from page 6 and ending page 9. + + **Java** + + ```csharp + ExportOptions options = new ExportOptions(); + options.setFirstPage(4); + options.setLastPage(4); + ``` + + Result: document will contain only one page with index 5. + + Note: there will be no effect if: + + * FirstPage > LastPage; + + * If FirstPage or / and LastPage < 0 + + * If LastPage > document pages number + +2. **Export only pages with annotations:** + + To export only pages that contains annotations you should specify *AnnotatedPages = true *of *ExportOptions *class. + + **Java** + + ```csharp + ExportOptions options = new ExportOptions(); + options.setAnnotatedPages(true); + ``` + + Result: document that contains only annotated pages. + + **Java** + + ```csharp + ExportOptions options = new ExportOptions(); + options.setFirstPage(5); + options.setLastPage(8); + options.setAnnotatedPages(true); + ``` + + Result: document that contains only annotated pages inside this page range. If there not annotated pages, then document will contains only page from specific range. + +3. **Export annotations of specific types:** + + **Java** + + ```csharp + List typesToExport = new ArrayList(); + typesToExport.add(AnnotationType.Area); + typesToExport.add(AnnotationType.Polyline); + ExportOptions options = new ExportOptions(); + options.setAnnotationTypes(typesToExport); + ``` + + Result: document that contains only Area and Polyline annotations. + + **Java** + + ```csharp + List typesToExport = new ArrayList(); + typesToExport.add(AnnotationType.Area); + ExportOptions options = new ExportOptions(); + options.setAnnotationTypes(typesToExport); + options.setAnnotatedPages(true); + ``` + + Result: document that contains only annotated pages with only Area annotations. + + **Java** + + ```csharp + List typesToExport = new ArrayList(); + typesToExport.add(AnnotationType.Area); + ExportOptions options = new ExportOptions(); + options.setAnnotationTypes(typesToExport); + options.setAnnotatedPages(true); + options.setFirstPage(5); + options.setLastPage(8); + ``` + + Result: document that contains only annotated pages with only Area annotations inside range from 5 to 8th pag. If no Area annotation inside this range, then document just contains pages from 5 to 8. diff --git a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md new file mode 100644 index 0000000..44b41d4 --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md @@ -0,0 +1,136 @@ +--- +id: groupdocs-annotation-for-java-19-5-release-notes +url: annotation/java/groupdocs-annotation-for-java-19-5-release-notes +title: GroupDocs.Annotation for Java 19.5 Release Notes +weight: 2 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 19.5{{< /alert >}} + +## Major Features + +Below is the list of most notable changes in release of GroupDocs.Annotation for Java: + +* Fixed bug of impossibility to set the line width on Slides documents +* Fixed issue with opening protected with password Words and PDF documents +* Improved performance issues when processing Slides documents +* Add possibility to cache page previews +* Added ability to annotate documents of older formats for Slides, Words, Cells (.ppt, .doc, .xls) +* Added ability to add text caption for distance annotation for Cells, Diagrams and Slides +* Refactored logic for getting pages for Slides documents + +## Full List of Issues Covering all Changes in this Release + +| Key | Summary | Issue Type | +| --- | --- | --- | +| ANNOTATIONNET-823 | Add possibility to cache page previews | Feature | +| ANNOTATIONNET-830  | Implement possibility to display distance annotation caption for Slides format | Feature | +| ANNOTATIONNET-831  | Implement possibility to display distance annotation caption for Cells format | Feature | +| ANNOTATIONNET-832  | Implement possibility to display distance annotation caption for Diagram format | Feature | +| ANNOTATIONNET-840 | Add supporting processing older format for Slides (.ppt) | Feature | +| ANNOTATIONNET-841  | Add supporting processing older format for Cells (.xls) | Feature | +| ANNOTATIONNET-842  | Add supporting processing older format for Words (.doc) | Feature | +| ANNOTATIONNET-835 | Refactor logic for getting pages for Slides documents | Improvement | +| ANNOTATIONNET-837 | Refactor PdfToPng saver | Improvement | +| ANNOTATIONNET-844 | Line width not set in Slides | Bug | +| ANNOTATIONNET-808 | Application is consuming 100% resources usage while loading document | Bug | +| ANNOTATIONNET-849 | Issue when opening protected with password documents | Bug | +| ANNOTATIONNET-866 | AnnotationImageHandler.GetPages exception in trial mode (for documents with more than 2 pages) | Bug | +| ANNOTATIONNET-878 | Not closed stream when remove annotations | Bug | +| ANNOTATIONJAVA-1159 | Exception occurred while remove annotations from .xls file | Bug | + +## Public API and Backward Incompatible Changes + +{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 19.5. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} + +1. **ImageOptions for getPages() method** + + | Parameter | Type | Description | + | --- | --- | --- | + | CountPagesToConvert | int | Determines count of pages to convert. **PageNumber** should be greater than 0. | + | PageNumber | int | Determines page number (index) to be converted. If PageNumber = 0 (by default) then all pages of document will be converted. | + | PageNumbersToConvert | List | Determines list of page numbers, that will be converted. For example, if need converted only 3, 5 and 7 pages. | + | WithoutAnnotations | bool | Determines that image pages will be returned without annotations. | + + Priority – it’s what will be happen if all parameters are set: + + | Parameter | Priority | Description | + | --- | --- | --- | + | WithoutAnnotations | 1 | If this parameter is true, then document will be returned without annotations. | + | PageNumbersToConvert | 2 | If this parameter not null and count of elements > 0, then only page numbers from PageNumbersToConvert parameter will be converted. PageNumber and CountPagesToConvert will be ignored. | + | PageNumber | 3 | If this parameter = 0 (by default), then all pages of document will be converted. If parameter > 0, then will converted specified page. | + | CountPagesToConvert | 4 | Working only if PageNumber > 0. If CountPagesToConvert = 1, then only one page will be converted (which is defined by PageNumber parameter). If CountPagesToConvert > 1, then will converted from Page number to PageNumber + CountPagesToConvert range. | + + | ImageOption | Result | + | --- | --- | + | new ImageOptions() | All pages of document will be converted. | + | new ImageOptions() { WithoutAnnotations = true } | All pages of document will converted, but without annotations. | + | new ImageOptions() { PageNumber = 5 } | Only 5 page of document will be converted. | + | List numberList = new List() { 2, 5, 7};new ImageOptions(){ PageNumbersToConvert = numberList } | Only 2nd, 5th and 7th pages of document will be converted. | + | new ImageOptions(){ PageNumber = 5, CountPagesToConvert = 2 } | Pages 5,6,7 of document will be converted. | + + **Note:** + + {{< alert style="warning" >}}In order to optimize getPages performance method, we do not check if PageNumber or PageNumbersToConvert elements is less than number of document pages, because this is additional computing costs per every GetPages method call. So, if PageNumber or PageNumbersToConvert will be greater than number of document pages, then you will get ArgumentOutOfRange or IndexOutOfRange exception. So, you must control this outside GetPages call.{{< /alert >}} + + You can get image representation of pages of your pdf document by using *GetPages* method of *AnnotationImageHandler* class. + + ```csharp + List GetPages(Stream fileStream, ImageOptions options) + List GetPages(string guid, ImageOptions options) + List GetPages(string guid) + ``` + + Following example demonstrates how to use *GetPages* method: + + **Java** + + ```csharp + using System.Collections.Generic; + using System.IO; + using GroupDocs.Annotation.Config; + using GroupDocs.Annotation.Domain.Image; + using GroupDocs.Annotation.Domain.Options; + using GroupDocs.Annotation.Handler; + + + namespace GetPagesSample + { + class Program + { + static void Main(string[] args) + { + Stream document = new FileStream("../../Clear.pdf", FileMode.Open); + AnnotationConfig cfg = new AnnotationConfig(); + cfg.StoragePath = "StorageFolder"; + + AnnotationImageHandler annotationHandler = new AnnotationImageHandler(cfg); + + List images = annotationHandler.GetPages(document, new ImageOptions()); + + // Save result stream to file. + using(FileStream fileStream = new FileStream("../../image.png", FileMode.Create)) + { + byte[] buffer = new byte[images[0].Stream.Length]; + images[0].Stream.Seek(0, SeekOrigin.Begin); + images[0].Stream.Read(buffer, 0, buffer.Length); + fileStream.Write(buffer, 0, buffer.Length); + fileStream.Close(); + } + } + } + } + ``` + +2. **Enabling caching for opening same document pages** + + **Java** + + ```csharp + ImageOptions imageOptions = new ImageOptions(); + imageOptions.CacheStoragePath = AnnotationImageHandler.GetFileDataStore().TempPath; + imageOptions.EnableCaching = true; + ``` diff --git a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md new file mode 100644 index 0000000..ad9fe88 --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md @@ -0,0 +1,92 @@ +--- +id: groupdocs-annotation-for-java-19-7-release-notes +url: annotation/java/groupdocs-annotation-for-java-19-7-release-notes +title: GroupDocs.Annotation for Java 19.7 Release Notes +weight: 1 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 19.7{{< /alert >}} + +## Major Features + +Below is the list of most notable changes in release of GroupDocs.Annotation for Java 19.7: + +* Add Thumbnails of the selected document +* Implement ability to add ellipse annotation to different formats +* Implement angled watermarks for different formats +* Annotation not apply if page number not defined in Words and Cells +* Implement working with mutipage TIFF +* Fixed errors in some methods in trial mode + +## Full List of Issues Covering all Changes in this Release + +| Key | Summary | Issue Type | +| --- | --- | --- | +| ANNOTATIONNET-851 | Add Thumbnails of the selected document | Feature | +| ANNOTATIONNET-869  | Implement ability to add ellipse annotation to PDF | Feature | +| ANNOTATIONNET-870  | Implement ability to add ellipse annotation to Words | Feature | +| ANNOTATIONNET-871  | Implement ability to add ellipse annotation to Slides | Feature | +| ANNOTATIONNET-872  | Implement ability to add ellipse annotation to Images | Feature | +| ANNOTATIONNET-873  | Implement ability to add ellipse annotation to Cells | Feature | +| ANNOTATIONNET-876  | Implement angled watermarks for PDF | Feature | +| ANNOTATIONNET-877  | Implement angled watermarks for Slides | Feature | +| ANNOTATIONNET-897 | Implement working with mutipage TIFF | Feature | +| ANNOTATIONNET-904   | Add GetPage convert options for multipage TIF / TIFF | Feature | +| ANNOTATIONNET-905  | Implement ability to add ellipse annotation to Diagrams | Feature | +| ANNOTATIONNET-919  | Implement angled watermarks for Cells | Feature | +| ANNOTATIONNET-920  | Implement angled watermarks for Images | Feature | +| ANNOTATIONNET-922  | Implement angled watermarks for Diagrams | Feature | +| ANNOTATIONNET-843 | Only first page is saved in output when Multi-Tiff file is annotated | Bug | +| ANNOTATIONNET-898 | Import annotations for Images doesn't close stream | Bug | +| ANNOTATIONNET-899 | AnnotationImageHandler.GetDocumentInfo exception in trial mode | Bug | +| ANNOTATIONNET-914 | Annotation not apply if page number not defined in Words | Bug | +| ANNOTATIONNET-918 | PenWidht and PenColor annotation properties can't be applied in Words | Bug | +| ANNOTATIONNET-923 | Comments can't be set to shapes in Slides | Bug | +| ANNOTATIONJAVA-111 | TIFF/Multi TIFF file is either corrupted or black and white when annotated | Bug | +| ANNOTATIONJAVA-1189 | Exception occurred when I add a polyline annotation into the file and then try to add a distance annotation | Bug | +| ANNOTATIONJAVA-1134 | Application is consuming 100% resources usage while loading document | Bug | + +## Public API and Backward Incompatible Changes + +{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 19.7. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} + +1.  Adding Ellipse annotation. + + ```csharp + // minimal set of parameters + AnnotationInfo ellipse = new AnnotationInfo(); + ellipse.setBox(new Rectangle(100, 100.0, 50, 50)); + ellipse.setType(AnnotationType.Ellipse); + ``` + +2. GetThumbnail method returns JPEG image stream. + Assume we are getting pages from document: + + ```csharp + List pages = annotationHandler.getPages(document); + + // Then if we want get thumbnail we call GetThumbnail() method of PageImage item: + for (int i = 0; i < pages.size(); i++) { + InputStream stream = pages.get(i).getThumbnail(); + // do something with stream + } + + // Default image size was 300x180. If need specified image size, you can pass method parameters: + // image thumbnails 100x100 + for (int i = 0; i < pages.size(); i++) { + InputStream stream = pages.get(i).getThumbnail(100, 100); + // do something with stream + } + ``` + +3. Added ability to set text watermarks angle. + The same as adding Watermark annotation, but you should additionally set Watermark rotation angle by setting AnnotationInfo.Angle property (in degrees) + + ```csharp + AnnotationInfo annotation = new AnnotationInfo(); + annotation.setType(AnnotationType.Watermark); + annotation.setAngle(45.0); + ``` diff --git a/Docs/content/annotation/java/release-notes/release-notes-2020/_index.md b/Docs/content/annotation/java/release-notes/release-notes-2020/_index.md new file mode 100644 index 0000000..b9a6342 --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2020/_index.md @@ -0,0 +1,10 @@ +--- +id: release-notes-2020 +url: annotation/java/release-notes-2020 +title: Release Notes - 2020 +weight: 1 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- diff --git a/Docs/content/annotation/java/release-notes/release-notes-2020/groupdocs.annotation-for-java-20.2-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2020/groupdocs.annotation-for-java-20.2-release-notes.md new file mode 100644 index 0000000..59255d8 --- /dev/null +++ b/Docs/content/annotation/java/release-notes/release-notes-2020/groupdocs.annotation-for-java-20.2-release-notes.md @@ -0,0 +1,78 @@ +--- +id: groupdocs-annotation-for-java-20-2-release-notes +url: annotation/java/groupdocs-annotation-for-java-20-2-release-notes +title: GroupDocs.Annotation for Java 20.2 Release Notes +weight: 1 +description: "" +keywords: +productName: GroupDocs.Annotation for Java +hideChildren: False +--- +{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 20.2{{< /alert >}}{{< alert style="danger" >}}In this version we're introducing new public API which was designed to be simple and easy to use. For more details about new API please check Migration Notes and Developer Guide sections.{{< /alert >}} + +## Major Features + +In this version Below the list of most notable changes in release of GroupDocs.Annotation for Java 20.2: + +* Ability to generate document page thumbnails  +* Implemented ability to add ellipse annotation to different formats +* Implemented angled watermarks for different formats +* Implemented multi-paged TIFF annotation +* Fixed errors in some methods in trial mode +* Implemented link annotation in PDF, Presentations, Word formats +* Fixed several bugs and issues + + + +## Full List of Issues Covering all Changes in this Release + +| Key | Summary | Issue Type | +| --- | --- | --- | +| ANNOTATIONNET-851 | Add Thumbnails of the selected document | Feature | +| ANNOTATIONNET-869  | Implement ability to add ellipse annotation to PDF | Feature | +| ANNOTATIONNET-870  | Implement ability to add ellipse annotation to Words | Feature | +| ANNOTATIONNET-871  | Implement ability to add ellipse annotation to Presentations | Feature | +| ANNOTATIONNET-872  | Implement ability to add ellipse annotation to Images | Feature | +| ANNOTATIONNET-873  | Implement ability to add ellipse annotation to Spreadsheets | Feature | +| ANNOTATIONNET-876  | Implement angled watermarks for PDF | Feature | +| ANNOTATIONNET-877  | Implement angled watermarks for Presentations | Feature | +| ANNOTATIONNET-897 | Implement working with multi-page TIFF | Feature | +| ANNOTATIONNET-904   | Add GetPage convert options for multi-page TIF / TIFF | Feature | +| ANNOTATIONNET-905  | Implement ability to add ellipse annotation to Diagrams | Feature | +| ANNOTATIONNET-919  | Implement angled watermarks for Spreadsheets | Feature | +| ANNOTATIONNET-920  | Implement angled watermarks for Images | Feature | +| ANNOTATIONNET-922  | Implement angled watermarks for Diagrams | Feature | +| ANNOTATIONNET-941 | Implement Link annotation for Presentations | Feature | +| ANNOTATIONNET-942 | Implement Link annotation for PDF | Feature | +| ANNOTATIONNET-943 | Implement Link annotation for Words | Feature | +| ANNOTATIONNET-1011 | Add supporting another Presentations formats: PPTM, POTX, POTM, PPSM | Feature | +| ANNOTATIONNET-1037 | Credit based billing for Metered license | Feature | +| ANNOTATIONNET-964 | GetPdfFile method doesn't implement converting documents with password | Improvement | +| ANNOTATIONNET-843 | Only first page is saved in output when Multi-Tiff file is annotated | Bug | +| ANNOTATIONNET-898 | Import annotations for Images doesn't close stream | Bug | +| ANNOTATIONNET-899 | AnnotationImageHandler.GetDocumentInfo exception in trial mode | Bug | +| ANNOTATIONNET-914 | Annotation not apply if page number not defined in Words | Bug | +| ANNOTATIONNET-918 | PenWidht and PenColor annotation properties can't be applied in Words | Bug | +| ANNOTATIONNET-923 | Comments can't be set to shapes in Presentations | Bug | +| ANNOTATIONNET-950 | Remove annotations fails with Spreadsheets document | Bug | +| ANNOTATIONNET-952 | Documents with password are not converted to PDF | Bug | +| ANNOTATIONNET-963 | GetPdfFile method returns broken file | Bug | +| ANNOTATIONNET-965 | ImportAnnotations method doesn't close source stream for TIFF files | Bug | +| ANNOTATIONNET-986 | Issue with getting document info in trial mode | Bug | +| ANNOTATIONNET-987 | Export annotations to tiff file issue | Bug | +| ANNOTATIONNET-986 | Issue with getting document info in trial mode | Bug | +| ANNOTATIONNET-987 | Export annotations to tiff file issue | Bug | +| ANNOTATIONJAVA-1142  | Text annotation doesn't add in XLS file | Bug | +| ANNOTATIONJAVA-1164  | Annotating an empty cell | Bug | +| ANNOTATIONJAVA-1165  | Cannot add text annotation into XLS file | Bug | +| ANNOTATIONJAVA-1171  | Annotation added in wrong place in XLS file | Bug | +| ANNOTATIONJAVA-1176  | Null pointer exception while annotating TIFF file | Bug | +| ANNOTATIONJAVA-1215  | DocumentType is null | Bug | +| ANNOTATIONJAVA-1216  | Cannot get file not from a storage path | Bug | +| ANNOTATIONJAVA-1244 | Cannot open doc with password | Bug | +| ANNOTATIONJAVA-1248  | Cannot remove polyline annotation in pptx file | Bug | +| ANNOTATIONJAVA-1249  | Wrong top position for text annotation in pptx | Bug | +| ANNOTATIONJAVA-1250  | Cannot add text replacement annotation in word file | Bug | +| ANNOTATIONJAVA-1251  | Comments for distance annotation don't save in word file | Bug | +| ANNOTATIONJAVA-1252  | Text replacement annotation looks like a strikeout | Bug | +| ANNOTATIONJAVA-1253  | Cannot open file without license | Bug | diff --git a/Docs/docs-common b/Docs/docs-common new file mode 160000 index 0000000..9b1b3bb --- /dev/null +++ b/Docs/docs-common @@ -0,0 +1 @@ +Subproject commit 9b1b3bb4e299f7ac40d0e0dff25ae753a39006de From ec3eff7bc71f4628c186a33b62f34c731c3a4283 Mon Sep 17 00:00:00 2001 From: Alex Bobkov Date: Thu, 11 Jun 2020 11:10:56 +0300 Subject: [PATCH 19/76] added travis-ci --- .gitignore | 1 + .travis.yml | 28 ++++++++++++++++++++++++++++ deploy_key.enc | Bin 0 -> 3248 bytes 3 files changed, 29 insertions(+) create mode 100644 .travis.yml create mode 100644 deploy_key.enc diff --git a/.gitignore b/.gitignore index 9704d4e..a159742 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ Examples/.classpath Examples/.project Examples/.settings/ +deploy_key diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..ebcb6b2 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,28 @@ +git: + submodules: false + +before_install: +- sed -i 's/git@github.com:/https:\/\/github.com\//' .gitmodules +- git submodule update --init --recursive Docs +- git submodule foreach git pull origin master +- openssl aes-256-cbc -K $encrypted_dfdcfd5172af_key -iv $encrypted_dfdcfd5172af_iv + -in deploy_key.enc -out ./deploy_key -d +- eval "$(ssh-agent -s)" +- chmod 600 ./deploy_key +- echo -e "Host $HOST\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config +- ssh-add ./deploy_key + +install: +- curl -LO https://github.com/gohugoio/hugo/releases/download/v0.67.1/hugo_extended_0.67.1_Linux-64bit.deb +- sudo dpkg -i hugo_extended_0.67.1_Linux-64bit.deb + +script: +- cp -r Docs/content/* Docs/docs-common/content/ +- hugo --source Docs/docs-common/ --minify +- mkdir -p Docs/docs-common/public/search-json +- mv Docs/docs-common/public/index.json Docs/docs-common/public/search-json/annotation-java.json + +after_success: +- scp -i ./deploy_key -r Docs/docs-common/public/annotation $USER@$HOST:/var/www/docs.groupdocs.com/html/ +- scp -i ./deploy_key -r Docs/docs-common/public/product-sitemap.xml $USER@$HOST:/var/www/docs.groupdocs.com/html/sitemaps/annotation-java.xml +- scp -i ./deploy_key -r Docs/docs-common/public/search-json/annotation-java.json $USER@$HOST:/var/www/docs.groupdocs.com/html/search-json/annotation-java.json \ No newline at end of file diff --git a/deploy_key.enc b/deploy_key.enc new file mode 100644 index 0000000000000000000000000000000000000000..3fd7a12f448144cbede78632b741144547983df7 GIT binary patch literal 3248 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 literal 0 HcmV?d00001 From 1973eaf85c4109fb9b54a2f89cdfd0c61843fa1b Mon Sep 17 00:00:00 2001 From: Alex Bobkov Date: Thu, 11 Jun 2020 11:14:09 +0300 Subject: [PATCH 20/76] deploy keys updated --- .travis.yml | 11 ++++------- deploy_key.enc | Bin 3248 -> 3248 bytes 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index ebcb6b2..fddbf5c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,28 +1,25 @@ git: submodules: false - before_install: +- openssl aes-256-cbc -K $encrypted_dfdcfd5172af_key -iv $encrypted_dfdcfd5172af_iv + -in deploy_key.enc -out ./deploy_key -d - sed -i 's/git@github.com:/https:\/\/github.com\//' .gitmodules - git submodule update --init --recursive Docs - git submodule foreach git pull origin master -- openssl aes-256-cbc -K $encrypted_dfdcfd5172af_key -iv $encrypted_dfdcfd5172af_iv - -in deploy_key.enc -out ./deploy_key -d - eval "$(ssh-agent -s)" - chmod 600 ./deploy_key - echo -e "Host $HOST\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config - ssh-add ./deploy_key - install: - curl -LO https://github.com/gohugoio/hugo/releases/download/v0.67.1/hugo_extended_0.67.1_Linux-64bit.deb - sudo dpkg -i hugo_extended_0.67.1_Linux-64bit.deb - script: - cp -r Docs/content/* Docs/docs-common/content/ - hugo --source Docs/docs-common/ --minify - mkdir -p Docs/docs-common/public/search-json - mv Docs/docs-common/public/index.json Docs/docs-common/public/search-json/annotation-java.json - after_success: - scp -i ./deploy_key -r Docs/docs-common/public/annotation $USER@$HOST:/var/www/docs.groupdocs.com/html/ - scp -i ./deploy_key -r Docs/docs-common/public/product-sitemap.xml $USER@$HOST:/var/www/docs.groupdocs.com/html/sitemaps/annotation-java.xml -- scp -i ./deploy_key -r Docs/docs-common/public/search-json/annotation-java.json $USER@$HOST:/var/www/docs.groupdocs.com/html/search-json/annotation-java.json \ No newline at end of file +- scp -i ./deploy_key -r Docs/docs-common/public/search-json/annotation-java.json + $USER@$HOST:/var/www/docs.groupdocs.com/html/search-json/annotation-java.json diff --git a/deploy_key.enc b/deploy_key.enc index 3fd7a12f448144cbede78632b741144547983df7..33c379bf13583c0eabd3b74663aa5512e8bb1aaa 100644 GIT binary patch literal 3248 zcmV;h3{UgJ87wl7i-dI^jHY$qh7fHIckzvw3*K1E__aLN;DBXmNZ#TvxBD z5e7&qDO0OH760!jLww(V6c9)aDQ{nJyHA9{jVjw7@?~F4QMtiils#Qq+bhGYpyBBQ zt@yx{?3VkBUBbNqL4$bTn7$LxaAQAW?Abpo63ki@WB_ z`8*XW^>|~lD%1eF$hcihMR)6jG+-oLZ#h)0c+Bm~S9?bjY}F~7%@wT{xO4}*srB{g zceUD*Li$iMUkpA+&9%q9yX-|djR^r^7OD+h^8(;cg1n(+pfCLg;#z0KC(8A4yh7p% zOi-XZ}o~H`}6rG@mRpx%_wiEzS@wsZzhZ6j1*!+UJq7RZQb*c^|rPhhIIz4!=c`Ltr1ouqU)o>pae7goU zh+Z!M<@knV+gIvAA84x-r`c|+fr$D}yXG%39KNw%{F+Jeyq&q6gRs?&MpLhxfUlM# z_3+Tvhs3IZ%1T~WwGT4P1l5z4BGu2C$^%QUI_=Pz>4FlwVGF_E>o4%=s0ZwdCpNtN zgBB*L6o$3)#XA5}eF|GG7Kc_>&Wd6r*t3IEnez}wY?Fp3ahaB<|8S8IP+?)z6zk7W z%6pV3Nq2Drsob_ry(do01Yk?-n-ZIoQEC0h`_SQ8gWVV!)K0wc+^c%Cd%spS(6Jot zumj7L#C(pyazw9u=w{4A6wJ6#+FfL4aeSnJl)?G=hp>Dy}-Me z%M~0-tr}J2}mc2C97}|ly4dBax(Ez&Mk5*lXLM^7lkSOS?GP=qB zZp&)+K;Ij#Jo${)?UH}h$${69SlzGX=VqHtrk2e8?1E48oAu9Q;t~XQ4|U3v<4uN{ zt;Fl27AK?8-vDMEGAKyzB~ky*<;y_b)WFWQPota07RnWu`5d6A(0Aujl5pk zHKWe8~l>V@tdLV}*N{5LzL;7Q^@GbvPqEbNT zA~D-|#|$5ssxcL_t^DTArq7zMRCf^Ed#Kuu^N2(2fb=m~psSnnU8$>QZ#8|!RG75l z>GqoC*W*a4@VbS+)d}8{+(zEc?y5Lm7GDTM$f+$SG5!&=%jduuG%!ZL-+rhKmsWEpATP-K^?-@!-a9L_i-%WpSx&=ejWfCL`%tza*#ICyBe2urI_4K)np zlZwgC>=1ocUXj8g!<*n@G(2|xyR_}SSF5dk0#PSU^hM9+vhe?G-ayR>%$emIaS!`T zSHG%Xvrn%c@{L5&47cbaC*Q8_-I1bU1$A^8@_8~3gd%gZB-xd5%GCl#Dg4;uMnHz& z5J_mp9=#0aPZIGD?SdrV8x^Fr^nlb2Aktb!wS*=?H(CK zu>_$VuBm6>DS08z>`HuKVY_RaPBXmkn2Di%=!u=sWvU+FpAuydLeQ&FUGMpfoDeJXA$CN3~EWUJVdq9gH z(ktnuP(kw@q1oMkzL9o0mioQuhBLFzb>yOzp^FFyX{@W^mO+XP{Ej7MG{VoWOr}7# zuVIzAIER-9-x+k$H;O~R$k7uUHK;_X!)JtxokSqt0ZC^G0Vn7Tea!i6&L&97-_xpWtKXaP-T@q=nAo=$BN^MTQbMMdRlKM#C#96a=)sQT) z)B$0^9(Z!9NKS9l?ueE`3dlOYA9vWh1AR+;mvQCb+ofoXKgq>%FnHe-k1^uE(^Dbd zR6O&Lqx|8mrO3p)NRAPcQhdJ5+3STNht$0Ds=q}36YO2acv9{V2gC#k!Q^CM&fQ~< z!7e+Mg#8Ezg|B`&*u4nlx+SqK(=aSxfwu@LDL+CVW|0@;p7`aCndr#bZQ1uDAV>^E zxiEMpDkGo_*A>t{#9?8e1oKSFKWEem1p)9khZmdKz-UxCv-CB#Rj#N)uvz?jU}4=H z3w0o^Uukq6PWkgU(*pdbuz`o~^q3)GCbx5kt4Tzw(z4#{mne<2q|;weWIyi_7T;V} z74lTV^TeKnLIjEFYF9mzdIv}v+BwGVd3Abv6paC&Zq;~qdEO^aqAETK*T&Va+kaSh z`jOd+aG<~=C7M1{EQhs-{|3Hi zMX)-ZSxD^+COOB>JZlZdm;b?BkN^^jHdLM?ib-En5GH)$TQ%C1$NlB;=?e080@fT}#RDa?l^dU_WHUt|FH?FnpgTsqj z;r$`65iX<;7~I4(xgQ#4kw0r$V`Ih+Xvpi3Yf&B+s3qjYx+3LnH-71HY=a>evLRw4 zse3K#`hE^&1aAPU=y(oQ7h>!|2d~5OOONK+PmgY((Qmfn_#Q>xT6Y#<1nFiw95LID i$^d#(W#NK!Z6mg#Qbcg}ojv8#K8z&Aud@bJ^&5R4TVfCZ literal 3248 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 From 74655e4dadcd22261edda85e2caf28f15e460e47 Mon Sep 17 00:00:00 2001 From: Alex Bobkov Date: Thu, 11 Jun 2020 11:32:49 +0300 Subject: [PATCH 21/76] Create README.md --- Docs/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 Docs/README.md diff --git a/Docs/README.md b/Docs/README.md new file mode 100644 index 0000000..151183d --- /dev/null +++ b/Docs/README.md @@ -0,0 +1,3 @@ +## GroupDocs.Annotation for Java Docs + +[![Build Status](https://travis-ci.com/groupdocs-annotation/GroupDocs.Annotation-for-Java.svg?branch=master)](https://travis-ci.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) From f430bda7b6b40b8fdfe583aa048baac8a20ca244 Mon Sep 17 00:00:00 2001 From: Alex Bobkov Date: Thu, 11 Jun 2020 11:47:25 +0300 Subject: [PATCH 22/76] Update .travis.yml --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index fddbf5c..57d2bbe 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,6 @@ git: submodules: false + before_install: - openssl aes-256-cbc -K $encrypted_dfdcfd5172af_key -iv $encrypted_dfdcfd5172af_iv -in deploy_key.enc -out ./deploy_key -d @@ -10,14 +11,17 @@ before_install: - chmod 600 ./deploy_key - echo -e "Host $HOST\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config - ssh-add ./deploy_key + install: - curl -LO https://github.com/gohugoio/hugo/releases/download/v0.67.1/hugo_extended_0.67.1_Linux-64bit.deb - sudo dpkg -i hugo_extended_0.67.1_Linux-64bit.deb + script: - cp -r Docs/content/* Docs/docs-common/content/ - hugo --source Docs/docs-common/ --minify - mkdir -p Docs/docs-common/public/search-json - mv Docs/docs-common/public/index.json Docs/docs-common/public/search-json/annotation-java.json + after_success: - scp -i ./deploy_key -r Docs/docs-common/public/annotation $USER@$HOST:/var/www/docs.groupdocs.com/html/ - scp -i ./deploy_key -r Docs/docs-common/public/product-sitemap.xml $USER@$HOST:/var/www/docs.groupdocs.com/html/sitemaps/annotation-java.xml From 93b0a0ad0f57f545ebbc60a602d26cde6cd62412 Mon Sep 17 00:00:00 2001 From: Alex Bobkov Date: Thu, 11 Jun 2020 11:48:21 +0300 Subject: [PATCH 23/76] Update .travis.yml --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 57d2bbe..7459c5c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,5 +25,4 @@ script: after_success: - scp -i ./deploy_key -r Docs/docs-common/public/annotation $USER@$HOST:/var/www/docs.groupdocs.com/html/ - scp -i ./deploy_key -r Docs/docs-common/public/product-sitemap.xml $USER@$HOST:/var/www/docs.groupdocs.com/html/sitemaps/annotation-java.xml -- scp -i ./deploy_key -r Docs/docs-common/public/search-json/annotation-java.json - $USER@$HOST:/var/www/docs.groupdocs.com/html/search-json/annotation-java.json +- scp -i ./deploy_key -r Docs/docs-common/public/search-json/annotation-java.json $USER@$HOST:/var/www/docs.groupdocs.com/html/search-json/annotation-java.json From c2967d29d9b96d66b72faa334a3ec5ee62da4969 Mon Sep 17 00:00:00 2001 From: Yevgen Nykytenko Date: Thu, 11 Jun 2020 17:34:25 +0300 Subject: [PATCH 24/76] family landing page removed --- Docs/content/annotation/_index.md | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 Docs/content/annotation/_index.md diff --git a/Docs/content/annotation/_index.md b/Docs/content/annotation/_index.md deleted file mode 100644 index 33675cc..0000000 --- a/Docs/content/annotation/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -id: annotation -url: annotation -title: GroupDocs.Annotation Product Family -description: "" -keywords: -type: "product-family" -layout: "product-family-template" ---- From 9c296b041d3041f7361f7fd15e692dd4ce2a3445 Mon Sep 17 00:00:00 2001 From: Yevgen Nykytenko Date: Fri, 3 Jul 2020 14:51:52 +0300 Subject: [PATCH 25/76] Markdown documentation added --- .travis.yml | 26 ++++-- Docs/content/annotation/java/_index.md | 2 - .../developer-guide/advanced-usage/_index.md | 2 - .../generate-document-pages-preview.md | 41 +++------ .../advanced-usage/loading/_index.md | 27 +----- .../load-password-protected-documents.md | 22 ++--- .../_index.md | 2 - .../load-document-from-ftp.md | 17 ++-- .../load-document-from-local-disk.md | 20 ++--- .../load-document-from-stream.md | 23 ++--- .../load-document-from-url.md | 19 ++--- .../advanced-usage/saving/_index.md | 16 ++-- .../saving/filtering-annotation-types.md | 27 ++---- .../saving/save-only-annotated-pages.md | 25 ++---- .../saving/save-specific-page-range.md | 25 ++---- .../add-annotation-to-the-document/_index.md | 6 +- .../add-area-annotation.md | 47 +++------- .../add-arrow-annotation.md | 45 +++------- .../add-distance-annotation.md | 46 +++------- .../add-ellipse-annotation.md | 49 +++-------- .../add-highlight-annotation.md | 42 +++------ .../add-link-annotation.md | 33 ++----- .../add-point-annotation.md | 35 ++------ .../add-polyline-annotation.md | 43 +++------- .../add-replacement-annotation.md | 43 +++------- .../add-resource-redaction-annotation.md | 37 +++----- .../add-strikeout-annotation.md | 40 +++------ .../add-text-field-annotation.md | 54 +++--------- .../add-text-redaction-annotation.md | 32 ++----- .../add-underline-annotation.md | 42 +++------ .../add-watermark-annotation.md | 46 +++------- .../extract-annotations-from-document.md | 21 ++--- .../basic-usage/get-file-info.md | 19 +---- .../basic-usage/get-supported-file-formats.md | 21 ++--- .../remove-annotation-from-document.md | 27 ++---- .../basic-usage/update-annotations.md | 29 ++----- .../working-with-annotation-replies/_index.md | 4 +- .../add-replies-to-annotation.md | 41 +++------ .../remove-annotation-replies.md | 85 ++----------------- .../update-annotation-replies.md | 27 ++---- .../java/developer-guide/migration-notes.md | 12 +-- .../evaluation-limitations-and-licensing.md | 6 +- .../java/getting-started/installation.md | 6 +- .../supported-document-formats.md | 4 +- .../annotation/java/release-notes/_index.md | 1 - ...nnotation-for-java-17.1.0-release-notes.md | 17 ++-- ...annotation-for-java-17.10-release-notes.md | 14 +-- ...notation-for-java-17.10.1-release-notes.md | 2 +- ...notation-for-java-17.10.2-release-notes.md | 2 +- ...nnotation-for-java-17.5.0-release-notes.md | 6 +- ...nnotation-for-java-17.6.0-release-notes.md | 3 +- ...notation-for-java-17.10.3-release-notes.md | 2 +- ...annotation-for-java-18.10-release-notes.md | 8 +- ....annotation-for-java-18.4-release-notes.md | 2 +- ....annotation-for-java-19.4-release-notes.md | 35 ++------ ....annotation-for-java-19.5-release-notes.md | 10 +-- ....annotation-for-java-19.7-release-notes.md | 6 +- 57 files changed, 365 insertions(+), 979 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7459c5c..a1affd5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,18 @@ git: submodules: false +branches: + only: + - master + +env: + global: + - PRODUCT=annotation + - PLATFORM=java + - ROOT_DIR=Docs/docs-common + - SRC_DIR=Docs/docs-common/public + - DEST_DIR=/var/www/docs.groupdocs.com/html + before_install: - openssl aes-256-cbc -K $encrypted_dfdcfd5172af_key -iv $encrypted_dfdcfd5172af_iv -in deploy_key.enc -out ./deploy_key -d @@ -17,12 +29,12 @@ install: - sudo dpkg -i hugo_extended_0.67.1_Linux-64bit.deb script: -- cp -r Docs/content/* Docs/docs-common/content/ -- hugo --source Docs/docs-common/ --minify -- mkdir -p Docs/docs-common/public/search-json -- mv Docs/docs-common/public/index.json Docs/docs-common/public/search-json/annotation-java.json +- cp -r Docs/content/* $ROOT_DIR/content/ +- hugo --source $ROOT_DIR --minify --config config.toml,ignore-total-config.toml +- mkdir -p $SRC_DIR/search-json +- mv $SRC_DIR/index.json $SRC_DIR/search-json/$PRODUCT-$PLATFORM.json after_success: -- scp -i ./deploy_key -r Docs/docs-common/public/annotation $USER@$HOST:/var/www/docs.groupdocs.com/html/ -- scp -i ./deploy_key -r Docs/docs-common/public/product-sitemap.xml $USER@$HOST:/var/www/docs.groupdocs.com/html/sitemaps/annotation-java.xml -- scp -i ./deploy_key -r Docs/docs-common/public/search-json/annotation-java.json $USER@$HOST:/var/www/docs.groupdocs.com/html/search-json/annotation-java.json +- scp -i ./deploy_key -r $SRC_DIR/$PRODUCT $USER@$HOST:$DEST_DIR +- scp -i ./deploy_key -r $SRC_DIR/product-sitemap.xml $USER@$HOST:$DEST_DIR/sitemaps/$PRODUCT-$PLATFORM.xml +- scp -i ./deploy_key -r $SRC_DIR/search-json/$PRODUCT-$PLATFORM.json $USER@$HOST:$DEST_DIR/search-json/$PRODUCT-$PLATFORM.json \ No newline at end of file diff --git a/Docs/content/annotation/java/_index.md b/Docs/content/annotation/java/_index.md index 2e473d1..3fc5562 100644 --- a/Docs/content/annotation/java/_index.md +++ b/Docs/content/annotation/java/_index.md @@ -8,8 +8,6 @@ keywords: productName: GroupDocs.Annotation for Java hideChildren: True --- -# Home - {{< alert style="info" >}}Welcome to the GroupDocs.Annotation for JavaGroupDocs.Annotation for Java is a lightweight API that lets you seamlessly enhance your Java app with document viewing and annotation functionality. API supports Microsoft Word DOCX, Excel XLSX, PowerPoint PPTX and PDF documents currently. Image formats will be available soon. Consuming API, you can enable end users to view, annotate, share and print both types of documents from within your Java app.{{< /alert >}} ## GroupDocs.Annotation for Java Resources diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/_index.md index f1ca3b9..a2af564 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/_index.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/_index.md @@ -8,8 +8,6 @@ keywords: GroupDocs.Annotation Advanced Features, GroupDocs.Annotation Customiza productName: GroupDocs.Annotation for Java hideChildren: False --- -# Advanced section for GroupDocs.Annotation API - Along with the ability to annotate documents using a couple lines of code **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** API allows to fine tune the document processing from start to end - like loading password-protected documents in different ways, saving results in different ways, generate document pages preview in image form and many other.  Learn more about advanced GroupDocs.Annotation features from the guides below. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md b/Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md index a0355c1..9514a8c 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md @@ -8,34 +8,24 @@ keywords: productName: GroupDocs.Annotation for Java hideChildren: False --- -**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to generate document page previews using [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method of a [Document](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document)class. -[PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions)class is used to manage preview generation process - specify desired page numbers, image format etc. +**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to generate document page previews using [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method of a [Document](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document) class. +[PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) class is used to manage preview generation process - specify desired page numbers, image format etc. Here are the steps to generate document preview with GroupDocs.Annotation API: - -* Create new instance of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)class and pass source document path as a constructor parameter. - -* [Document](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document)field of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)object allows to access source document and provides [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method.  - -* Instantiate the [PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) object with path format to generated images; - -* Specify image preview format - PNG / JPG / BMP via [setPreviewFormat](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions#setPreviewFormat(int)) method;  - +* Create new instance of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) class and pass source document path as a constructor parameter. +* [Document](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document) field of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object allows to access source document and provides [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method. +* Instantiate the [PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) object with path format to generated images; +* Specify image preview format - PNG / JPG / BMP via [setPreviewFormat](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions#setPreviewFormat(int)) method; * page numbers to process via setPageNumbers method; -* Call [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions))method of [Annotator.getDocument()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#getDocument())method result and pass [PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) to it.  +* Call [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method of [Annotator.getDocument()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#getDocument()) method result and pass [PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) to it. - - - GroupDocs.Annotation provides an ability to choose between image quality and size. **BMP** format should be used for the best image quality. **JPG** format will be useful in case of strict requirements to image size - it produces smallest image size (and faster loading image previews), but with lower quality than **BMP**. By default **PNG** format is selected - which is a golden mean between image quality and size. The following code snippet demonstrates how to generate document previews. ## Get document page previews  -**Java** - -```csharp +```java Annotator annotator = new Annotator("input.pdf"); PreviewOptions previewOptions = new PreviewOptions("C://Output//GenerateDocumentPagesPreview_{0}.png"); previewOptions.setPreviewFormat(PreviewFormats.PNG); @@ -45,30 +35,19 @@ annotator.dispose(); ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md index 9f95cb8..7cdda00 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md @@ -8,29 +8,4 @@ keywords: Load document from local path, Load document from stream productName: GroupDocs.Annotation for Java hideChildren: False --- -**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows you to load password-protected documents and load documents from different sources. For more details please refer to the following guides: - -## More resources - -### GitHub Examples - -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - - -### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. +**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows you to load password-protected documents and load documents from different sources. For more details please refer to the following guides: \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md index 43aef03..d39df47 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md @@ -12,14 +12,13 @@ hideChildren: False The following are the steps to process password-protected documents. -* Instantiate [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object and specify source document password; - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) *object *with document path or stream and [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object created at previous step; +* Instantiate [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object and specify source document password; +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with document path or stream and [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object created at previous step; The following code sample shows how to work with password protected documents. -```csharp +```java String outputPath = "LoadPasswordProtectedDocuments.pdf"; LoadOptions loadOptions = new LoadOptions(); @@ -36,26 +35,19 @@ annotator.dispose(); ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md index a1730e0..5ae3926 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md @@ -8,8 +8,6 @@ keywords: Load document from file path, Load document from URL, Load document fr productName: GroupDocs.Annotation for Java hideChildren: False --- -# Loading documents from different sources - [**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) allows you to annotate remotely located documents. The document processing would be similar to [Load document from stream]({{< ref "annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md" >}}). Following examples demonstrates how to load documents from different sources. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md index b377fdb..53f6f54 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md @@ -10,7 +10,7 @@ hideChildren: False --- Following example demonstrates how to annotate document from FTP. -```csharp +```java import org.apache.commons.net.ftp.FTPClient; public static void main() { @@ -39,26 +39,19 @@ private static InputStream getFileFromFtp(String server, String filePath) throws ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md index a6bdcdd..75afb97 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md @@ -8,12 +8,11 @@ keywords: Load document from local disk, Load document from file path, Load docu productName: GroupDocs.Annotation for Java hideChildren: False --- -When the source document is located on the local disk [**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) allows you to load it via [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)class constructor specifying absolute or relative path to it.  -For loading target document located on the local disk you should use [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method that accepts absolute or relative path as parameter.  +When the source document is located on the local disk [**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) allows you to load it via [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) class constructor specifying absolute or relative path to it. For loading target document located on the local disk you should use [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method that accepts absolute or relative path as parameter.  Following code snippet shows how to load documents from local disk. -```csharp +```java String outputPath = "LoadDocumentFromLocalDisk.pdf"; Annotator annotator = new Annotator("input.pdf"); @@ -28,26 +27,19 @@ annotator.dispose(); ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md index 051c097..0f263f4 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md @@ -12,13 +12,13 @@ There might be the case when source or target document is not physically located The following are the steps to be followed: * Obtain document stream;  -* Pass opened source document stream to [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)class constructor. +* Pass opened source document stream to [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) class constructor. Following code snippet describes this case. -**Java** -```csharp + +```java String outputPath = "LoadDocumentFromStream.pdf"; InputStream stream = new FileInputStream("input.pdf"); @@ -34,26 +34,19 @@ annotator.dispose(); ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. +Along with full-featured Java library we provide simple, but powerful free Apps. +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md index f8cc774..c081ca7 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md @@ -10,9 +10,9 @@ hideChildren: False --- Following example demonstrates how to annotate document from URL. -**Java** -```csharp + +```java String outputPath = "LoadDocumentFromUrl.pdf"; String url = "https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/blob/master/Examples/Resources/SampleFiles/input.pdf?raw=true"; @@ -28,26 +28,19 @@ annotator.dispose();  ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md index 3a41f77..59b2e46 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md @@ -8,19 +8,13 @@ keywords: productName: GroupDocs.Annotation for Java hideChildren: False --- -# Saving - **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** provides different ways of saving resultant document - with specific annotations type only, save only annotated pages, save specific page range from resultant document, set password on saving resultant document etc. The [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) class provides following properties to customize saving process: -* **AnnotationTypes **\- defines annotation types to be saved into resultant document; - -* **FirstPage** - first page number when saving specific page range; - -* **LastPage** - last page number when saving specific page range; - -* **OnlyAnnotatedPages** - indicates whether to save only annotated pages or not; - +* **AnnotationTypes** - defines annotation types to be saved into resultant document; +* **FirstPage** - first page number when saving specific page range; +* **LastPage** - last page number when saving specific page range; +* **OnlyAnnotatedPages** - indicates whether to save only annotated pages or not; -For more details please refer to the following guides: +For more details please refer to the following guides: \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md index 4198547..9c69af7 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md @@ -12,18 +12,14 @@ This feature can be using when need to save only specific annotation types and i The following are the steps how to filter exported annotations to document:  -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) objectand set [AnnotationType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/AnnotationType) desired annotation type(s), that will presented in resultant document; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object and set [AnnotationType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/AnnotationType) desired annotation type(s), that will presented in resultant document; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; Following code snippet shows how to save only pages with specific annotation type -**Java** - -```csharp +```java String outputPath = "FilteringAnnotationTypes.pdf"; Annotator annotator = new Annotator("input.pdf"); @@ -51,26 +47,19 @@ annotator.dispose(); ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md index dc519e8..7184063 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md @@ -12,16 +12,14 @@ Result document will contains only pages, which contains any annotation. The following are the steps how to export to resultant document only annotated pages:  -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) objectand set [AnnotationType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/AnnotationType) desired annotation type(s), that will presented in resultant document; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object and set [AnnotationType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/AnnotationType) desired annotation type(s), that will presented in resultant document; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; Following code snippet shows how to save only annotated pages of document -```csharp +```java String outputPath = "SavingOnlyPagesWithAnnotations.pdf"; Annotator annotator = new Annotator("input.pdf"); @@ -50,26 +48,19 @@ annotator.dispose(); ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md index c70073c..c30e781 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md @@ -12,16 +12,14 @@ In case of processing large documents (for example 100 pages or more) there is The following are the steps how to export resultant specific page range:  -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) objectand use [setFirstPage](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions#setFirstPage(int))and high bound [setLastPage](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions#setLastPage(int))*for setting select borders*; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object and use [setFirstPage](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions#setFirstPage(int)) and high bound [setLastPage](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions#setLastPage(int)) for setting select borders; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; The following code demonstrates how to save the range of document page:  -```csharp +```java String outputPath = "SavingSpecificPageRange.pdf"; Annotator annotator = new Annotator("input.pdf"); @@ -36,26 +34,19 @@ annotator.dispose(); ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md index c3970be..0a0544f 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md @@ -8,17 +8,17 @@ keywords: What is annotation, document annotation, add annotation productName: GroupDocs.Annotation for Java hideChildren: False --- -# What is a document annotation? +## What is a document annotation? **Annotation** is a textual or graphic notes, comments and remarks attached to a specific part of a document content - sections, paragraphs, sentences or even words. Annotations are often used by a group of collaborators to edit and review documents in a quick and handy manner - the document is shared with reviewers who then mark it up and add notes. Then assigned team members read these annotations and modify document content accordingly. Today annotations can be programmatically added to a documents and images of various  types - PDF, Microsoft Word and Open Document text documents, Microsoft Excel spreadsheets, Microsoft PowerPoint presentations, PNG / JPG / TIFF images etc.  -# Add annotation to the document +### Add annotation to the document **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to apply multiple annotation types to the different document formats. Supported annotations list is described in a table below.  -## List of supported annotations +### List of supported annotations | Annotation | Description | | --- | --- | diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md index f6c032c..9cf2eb1 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md @@ -13,34 +13,22 @@ hideChildren: False ![](annotation/java/images/add-area-annotation.png) There is an ability to specify the next fields for [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) type: - * [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; - * [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; - * [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - * [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; - -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); - -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. - +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) - defines frame line width in pixels. Follow these steps to add Area annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) object with desired fields (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) object; +* Call [save](https://apireference-qa.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)objectwith input document path or stream; - -* Instantiate [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) objectwith desired fields (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) object; - -* Call [save](https://apireference-qa.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - - -The following code demonstrates how to add [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) to the document: +The following code demonstrates how to add [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) to the document: -```csharp +```java Reply reply1 = new Reply(); reply1.setComment("First comment"); reply1.setRepliedOn(Calendar.getInstance().getTime()); @@ -74,30 +62,19 @@ The following code demonstrates how to add [AreaAnnotation](https://apireferenc ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - -You may easily run the code above and see the feature in action in our GitHub examples: +You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. +Along with full-featured Java library we provide simple, but powerful free Apps. +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md index 1c6f62d..3b55800 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md @@ -14,31 +14,23 @@ hideChildren: False There  is an ability to specify the next fields for [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) type: -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) - defines frame line width in pixels. -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; - -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); - -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. - - -Follow these steps to add Arrow annotation to document:  -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation)objectwith input document path or stream; - -* Instantiate [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +Follow these steps to add Arrow annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) object with input document path or stream; +* Instantiate [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddArrowAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -71,30 +63,19 @@ String outputPath = Constants.getOutputFilePath("AddArrowAnnotation", FilenameUt ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md index 77ce890..8ddaece 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md @@ -13,33 +13,24 @@ hideChildren: False ![](annotation/java/images/add-distance-annotation.png) There is an ability to specify the next fields for [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) type: - -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; - -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); - -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. -Follow these steps to add Distance annotation to document:   - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +Follow these steps to add Distance annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddDistanceAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -72,30 +63,19 @@ String outputPath = Constants.getOutputFilePath("AddDistanceAnnotation", Filenam ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md index d007930..b27a527 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md @@ -12,35 +12,25 @@ hideChildren: False ![](annotation/java/images/add-ellipse-annotation.png) -There is an ability to specify the next fields for [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation)type*:* - -* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; - -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; - -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); - -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. - +There is an ability to specify the next fields for [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) type: +* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. Follow these steps to add Ellipse annotation to document:  -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) to the document:  -```csharp +```java String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -74,30 +64,19 @@ String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUti ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md index 92ed7f0..08dc3f5 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md @@ -12,31 +12,22 @@ hideChildren: False ![](annotation/java/images/add-highlight-annotation.png) -There is an ability to specify the next fields for [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) type:  - -* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; - +There is an ability to specify the next fields for [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) type: +* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; * [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; * [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. -Follow these steps to add Highlight annotation to document:  - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. - +Follow these steps to add Highlight annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) to the document: -```csharp +```java final Annotator annotator = new Annotator(Constants.INPUT); try { Reply reply1 = new Reply(); @@ -76,30 +67,19 @@ The following code demonstrates how to add [HighlightAnnotation](https://apiref ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md index 6afa335..d4ad339 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md @@ -13,26 +13,18 @@ hideChildren: False ![](annotation/java/images/add-link-annotation.png) There is an ability to specify the next fields for [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) type: - * [Url](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation#getUrl()) - link to the web resource. - -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation#getPoints()) - annotation positions set by array of points. - +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation#getPoints()) - annotation positions set by array of points. Follow these steps to add Underline annotation to document: - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) object; - +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) object; * Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - The following code demonstrates how to add [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -72,30 +64,19 @@ String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUti ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md index 26ac521..71fa0c2 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md @@ -13,24 +13,18 @@ hideChildren: False ![](annotation/java/images/add-point-annotation.png) There is an ability to specify the next fields for [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) type: +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PointAnnotation#getBox()) - defines annotation position at document page; -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PointAnnotation#getBox()) - defines annotation position at document page; - - -Follow these steps to add Point annotation to document:   - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +Follow these steps to add Point annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddPointAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -59,30 +53,19 @@ String outputPath = Constants.getOutputFilePath("AddPointAnnotation", FilenameUt ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md index ce4453b..d5923a2 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md @@ -13,34 +13,24 @@ hideChildren: False ![](annotation/java/images/add-polyline-annotation.png) There is an ability to specify the next fields for [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) type: - -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; - -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); - -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. - +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. * [SvgPath](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation#getSvgPath()) \- SVG path that describes shape. Follow these steps to add Polyline annotation to document: - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) object; - +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) object; * Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddPolylineAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -74,30 +64,19 @@ String outputPath = Constants.getOutputFilePath("AddPolylineAnnotation", Filenam ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md index a10a951..682ce28 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md @@ -13,30 +13,22 @@ hideChildren: False ![](annotation/java/images/add-replacement-annotation.png) There is an ability to specify the next fields for [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) type: - -* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. - +* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor()) - color of annotation text; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. * [TextToReplace](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation#getTextToReplace()) - text that will be replaced  - Follow these steps to add Replacement annotation to document:   - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream; +Follow these steps to add Replacement annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream; -The following code demonstrates how to add [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) to the document: +The following code demonstrates how to add [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -77,30 +69,19 @@ String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", Fi ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md index 515127d..d69a4c0 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md @@ -12,25 +12,19 @@ hideChildren: False ![](annotation/java/images/add-resource-redaction-annotation.png) -There is an ability to specify the next fields for [ResourcesRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) type: - -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation#getBox()) - defines annotation position at document page; +There is an ability to specify the next fields for [ResourcesRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) type: +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation#getBox()) - defines annotation position at document page; Follow these steps to add Resource redaction annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [ResourceRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [ResourceRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [ResourceRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [ResourceRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. - +The following code demonstrates how to add [ResourcesRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) to the document: -The following code demonstrates how to add [ResourcesRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) to the document: - -```csharp +```java String outputPath = Constants.getOutputFilePath("AddResourcesRedactionAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -59,30 +53,19 @@ String outputPath = Constants.getOutputFilePath("AddResourcesRedactionAnnotation ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md index ba7052a..195f691 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md @@ -13,28 +13,21 @@ hideChildren: False ![](annotation/java/images/add-strikeout-annotation.png) There is an ability to specify the next fields for [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) type: - -* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. +* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor()) - color of annotation text; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. Follow these steps to add Strikeout annotation to document: - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) objectwith input document path or stream; - -* Instantiate [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) object with input document path or stream; +* Instantiate [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -74,30 +67,19 @@ String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", Fi ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. +Along with full-featured Java library we provide simple, but powerful free Apps. +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md index ef87100..3ff91da 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md @@ -13,42 +13,27 @@ hideChildren: False ![](annotation/java/images/add-text-field-annotation.png) There is an ability to specify the next fields for [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) type: - -* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; - -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; - +* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; * [Text](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getText()) - text that will be appear in rectangle - * [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontColor()) - color of the text - * [FontFamily](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontFamily()) - name of text font; - * [FontSize](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontSize())  - size of text font; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; - -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); - -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. - - -Follow these steps to add *TextField* annotation to document:  - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +Follow these steps to add *TextField* annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -88,30 +73,19 @@ String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", Fi ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md index 67f1feb..f3c7ed0 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md @@ -13,24 +13,19 @@ hideChildren: False ![](annotation/java/images/add-text-redaction-annotation.png) There is an ability to specify the next fields for [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) type - -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation#getPoints()) - annotation positions set by array of points. +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation#getPoints()) - annotation positions set by array of points. Follow these steps to add TextRedaction annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - The following code demonstrates how to add [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -68,30 +63,19 @@ String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", Fi ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md index 8fa66bb..ebcaef2 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md @@ -8,33 +8,26 @@ keywords: What is a underline annotation, how to add annotation, add underline a productName: GroupDocs.Annotation for Java hideChildren: False --- -**Underline **annotation marks text with a underline styling like shown at the picture below.  +**Underline** annotation marks text with a underline styling like shown at the picture below.  ![](annotation/java/images/add-underline-annotation.png) There is an ability to specify the next fields for [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) type: - -* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. +* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor()) - color of annotation text; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. Follow these steps to add Underline annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. - +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddTextUnderlineAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -74,30 +67,19 @@ String outputPath = Constants.getOutputFilePath("AddTextUnderlineAnnotation", Fi ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. +Along with full-featured Java library we provide simple, but powerful free Apps. +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md index b97e8b1..d0b8aa1 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md @@ -13,36 +13,25 @@ hideChildren: False ![](annotation/java/images/add-watermark-annotation.png) There is an ability to specify the next fields for [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) type: - -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PointAnnotation#getBox()) - defines annotation position at document page; - -* [Text](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getText()) - text of watermark; - -* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; - -* [FontFamily](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontFamily()) - name of text font; - +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PointAnnotation#getBox()) - defines annotation position at document page; +* [Text](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getText()) - text of watermark; +* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor()) - color of annotation text; +* [FontFamily](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontFamily()) - name of text font; * [FontSize](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontSize())  - size of text font; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; * [Angle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation#getAngle()) - watermark text angle. - Follow these steps to add Watermark annotation to document:  -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) objectwith desired properties (position, color, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) object with desired properties (position, color, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddWatermarkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -76,30 +65,19 @@ String outputPath = Constants.getOutputFilePath("AddWatermarkAnnotation", Filena ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md b/Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md index d359975..e014d51 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md @@ -11,14 +11,14 @@ hideChildren: False **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** provides an ability to extract annotations from document. To achieve this you should: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)objectwith input document path or stream; -* Instantiate [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) objectand call [setImportAnnotations](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions#setImportAnnotations(boolean)) with*true *argument; +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object and call [setImportAnnotations](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions#setImportAnnotations(boolean)) with *true* argument; * Define variable with type *List<*[AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase)*\>;* * Call [get](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#get()) method and return result to variable above. The following code demonstrates how to extract annotations metadata from document: -```csharp +```java // for using this example input file ("annotated.pdf") must be with annotations   LoadOptions loadOptions = new LoadOptions(); @@ -29,30 +29,19 @@ List annotations = annotator.get(); ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md b/Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md index cf42b13..e3a1e31 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md @@ -16,9 +16,7 @@ hideChildren: False The following code sample demonstrates how to get information about document. -**Java** - -```csharp +```java Annotator annotator = new Annotator("input.pdf"); IDocumentInfo info = annotator.getDocument().getDocumentInfo(); @@ -32,30 +30,19 @@ annotator.dispose(); ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md b/Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md index 113aab4..c7f958c 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md @@ -10,12 +10,12 @@ hideChildren: False --- **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to get the list of all supported file formats by following the below steps: -* Call [getSupportedFileTypes()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType#getSupportedFileTypes()) method of [FileType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType) class; -* Enumerate through the collection of [FileType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType) objects. +* Call [getSupportedFileTypes()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType#getSupportedFileTypes()) method of [FileType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType) class; +* Enumerate through the collection of [FileType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType) objects. The following code sample demonstrates how to get supported file formats list. -```csharp +```java List fileTypes = FileType.getSupportedFileTypes(); //foreach to while statements conversion Iterator items = (fileTypes).iterator(); @@ -26,30 +26,19 @@ The following code sample demonstrates how to get supported file formats list. ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md b/Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md index 6ba4de0..acf84e6 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md @@ -11,18 +11,14 @@ hideChildren: False **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** provides an ability to remove all previously added annotations from document and save cleaned document as it was before annotating. There are the steps to remove annotations from document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)objectwith input document path or stream; - -* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) objectand set *AnnotationTypes = AnnotationType.None*; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object and set *AnnotationTypes = AnnotationType.None*; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; The following code demonstrates how to remove annotation from document: -**Java** - -```csharp +```java Annotator annotator = new Annotator("C://input.pdf"); SaveOptions saveOptions = new SaveOptions(); saveOptions.setAnnotationTypes(AnnotationType.None); @@ -31,30 +27,19 @@ annotator.dispose(); ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md b/Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md index 3346afd..a04cc60 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md @@ -10,22 +10,16 @@ hideChildren: False --- That case can be used when need to update some annotation properties (move, resize, change color and so on) or even annotation. Note, that for using this case is necessary need to set annotation Id property. It’s need because **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** must know which annotation must be changed. Or you can pass list of annotations. In that case all previous annotation collection will be replaced from new list. -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream with instantiated [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) with *ImportAnnotations = true;* - +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream with instantiated [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) with *ImportAnnotations = true;* * Create some [AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase) implementation and set Id of existed annotation (if annotation with that Id not found, nothing will be changed) or path list of annotations (all existed annotations will be removed); - -* Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List))method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with passed annotations; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; +* Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with passed annotations; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; The following code demonstrates how to update annotations: -**Java** - -```csharp +```java String outputPath = "UpdateAnnotation.pdf"; - Annotator annotator = new Annotator("input.pdf"); Reply reply1 = new Reply(); @@ -87,30 +81,19 @@ annotator1.dispose(); ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md index e756dbc..a185dba 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md @@ -8,9 +8,9 @@ keywords: Annotation reply, what are annotation replies, what is reply productName: GroupDocs.Annotation for Java hideChildren: False --- -# What are Annotation Replies? +## What are Annotation Replies? -**Annotation replies **are the commenting feature of Microsoft Office, PDF, and other document formats that allows to store written discussion inside a document and provides an effective way for users to collaborate during document review and redaction. Different software vendors provide their own way for commenting and annotating document content, so when you need to collaborate over various document types it’s required to have multiple applications installed on every collaborator’s device.  +**Annotation replies** are the commenting feature of Microsoft Office, PDF, and other document formats that allows to store written discussion inside a document and provides an effective way for users to collaborate during document review and redaction. Different software vendors provide their own way for commenting and annotating document content, so when you need to collaborate over various document types it’s required to have multiple applications installed on every collaborator’s device.  Fortunately **[GroupDocs.Annotation for Java](https://products.groupdocs.com/annotation/java)** provides an easy and convenient API to add, edit or delete annotation replies for wide range of supported document formats within your application. Please check the guides below to learn more about how to add, change and remove annotation replies with several lines of code. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md index 63d1942..00d499c 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md @@ -11,28 +11,18 @@ hideChildren: False [**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) provides ability for several users to collaborate over document via annotation replies. Adding reply to an annotation via code is as easy as specifying reply content and related user object. Here are the steps to add annotation replies: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; - -* Instantiate [User](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/User)object; - -* Instantiate [Reply](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/Reply)object(s); - +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [User](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/User) object; +* Instantiate [Reply](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/Reply) object(s); * Instantiate some of [AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase) implementation object; +* Assign [User](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/User) object to Reply.User property (or by default will be "Guest"); +* Assign [Reply](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/Reply) object(s) to implementation of [AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase) object Replies property; +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with passed annotations; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; -* Assign [User](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/User) object to Reply.User property (or by default will be "Guest"); - -* Assign [Reply](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/Reply) object(s) to implementation of [AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase) object Replies property; - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with passed annotations; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; - - The following code demonstrates how to add replies to annotation: -**Java** - -```csharp +```java String outputPath = "AddReplies.pdf"; Annotator annotator = new Annotator("input.pdf"); @@ -94,30 +84,19 @@ annotator.dispose(); ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md index e7d7800..3e103a6 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md @@ -10,18 +10,12 @@ hideChildren: False --- There is a quick and convenient way to remove specific or even all replies for some document annotation using **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** API. It is as easy as removing items from generic [List](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1) collection. In common case you have to follow these steps to delete replies: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream - -* Call [get](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#get()) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and obtain collection of document annotations; - +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream +* Call [get](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#get()) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and obtain collection of document annotations; * Access desired annotation object and remove reply in a most suitable way: - - * Call *annotations.get(index).getReplies().remove(*index*)* method with desired parameters; - + * Call *annotations.get(index).getReplies().remove(index)* method with desired parameters; * Call [AnnotationBase.getReplies()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase#getReplies()) and remove replies that match desired criteria; - -* Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and pass annotations collection into it; - +* Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and pass annotations collection into it; * Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.lang.String)) method with resultant document path or stream; @@ -29,7 +23,7 @@ There is a quick and convenient way to remove specific or even all replies for s The easiest way for removing specific annotation reply is to delete by its index inside Replies collection. The following code sample demonstrates how to remove first annotation reply: -```csharp +```java LoadOptions loadOptions = new LoadOptions(); loadOptions.setImportAnnotations(true); @@ -51,9 +45,9 @@ annotator.dispose(); ## Remove annotation replies by criteria -The following code demonstrates how to remove replies that were added by user with name Tom: +The following code demonstrates how to remove replies that were added by user with name "Tom": -```csharp +```java LoadOptions loadOptions = new LoadOptions(); loadOptions.setImportAnnotations(true); @@ -74,67 +68,4 @@ for(int i = 0; i < annotations.get(0).getReplies().size(); i++) { annotator.update(annotations); annotator.save("RemoveRepliesByUserName.pdf"); annotator.dispose(); -``` - -## More resources - -### Advanced Usage Topics - -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples - -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - - -### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. - -`String outputPath =` `"RemoveRepliesByUserName.pdf"``;` - -`LoadOptions loadOptions =` `new` `LoadOptions();` - -`loadOptions.setImportAnnotations(``true``);` - -`// NOTE: Input document already contain annotations with replies` - -`final` `Annotator annotator =` `new` `Annotator(``"annotated_with_replies.pdf"``, loadOptions);` - -`// Obtain annotations collection from document` - -`List annotations = annotator.get();` - -`// Remove all replies where author name is "Tom"` - -`for``(``int` `i =` `0``; i < annotations.get(``0``).getReplies().size(); i++) {` - -`if``(annotations.get(``0``).getReplies().get(i).getUser().getName().toString().equals(``"Tom"``)) {` - -`annotations.get(``0``).getReplies().remove(i);` - -`}` - -`}` - -`// Save changes` - -`annotator.update(annotations);` - -`annotator.save(outputPath);` - -`annotator.dispose();` +``` \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md index 282cdf5..b968afb 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md @@ -11,22 +11,15 @@ hideChildren: False [**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) provides and ability to programmatically update annotation replies by accessing them by their index inside [Replies](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase#getReplies()) collection. Here is a steps to update annotation reply (considered that we already have some reply added to annotation) - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream with instantiated [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) with *ImportAnnotations = true;* - -* Call *Get *method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and import annotations; - +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream with instantiated [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) with *ImportAnnotations = true;* +* Call [get](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#get()) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and import annotations; * Access desired reply object via [getReplies](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase#getReplies()) method collection by its index (zero-based) and update its properties as needed; * Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List)) method of Annotator object with passed annotations; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; - - -The following code demonstrates how to update reply by index:  +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; -**Java** +The following code demonstrates how to update reply by index: -```csharp +```java LoadOptions loadOptions = new LoadOptions(); loadOptions.setImportAnnotations(true); @@ -49,7 +42,6 @@ annotator.dispose(); ## More resources ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples @@ -57,20 +49,13 @@ To learn more about document annotating features, please refer to the [advanced You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App Along with full-featured Java library we provide simple, but powerful free Apps. - You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online [**GroupDocs Annotation App**](https://products.groupdocs.app/annotation). diff --git a/Docs/content/annotation/java/developer-guide/migration-notes.md b/Docs/content/annotation/java/developer-guide/migration-notes.md index fb31b9f..5d40cee 100644 --- a/Docs/content/annotation/java/developer-guide/migration-notes.md +++ b/Docs/content/annotation/java/developer-guide/migration-notes.md @@ -12,12 +12,9 @@ hideChildren: False Here are the key reasons to use the new updated API provided by GroupDocs.Annotation for Java since version 20.2: -* **Annotator **class introduced as a **single entry point** to manage the document annotating process to any supported file format (instead of **AnnotationImageHandler** class from previous versions). - +* **Annotator** class introduced as a **single entry point** to manage the document annotating process to any supported file format (instead of **AnnotationImageHandler** class from previous versions). * The overall **rendering speed improved** dramatically by saving rendered page as soon as it was rendered, not when all pages list were rendered. - * Document **saving options simplified** so it’s easy to instantiate proper options class and control over document annotating and saving processes. - ### How To Migrate? @@ -25,7 +22,7 @@ Here is a brief comparison of how to annotate document and save it using old and #### Old coding style -```csharp +```java List annotations = new List(); AnnotationInfo areaAnnotation = new AnnotationInfo(); areaAnnotation.setPageNumber(0); @@ -59,7 +56,7 @@ IOUtils.copy(result, fileStream); #### New coding style -```csharp +```java // Create list of annotations List annotations = new List(); @@ -82,5 +79,4 @@ annotator.Add(annotations); annotator.Save("result.pdf", new SaveOptions()); ``` - -For more code examples and specific use cases please refer to our Developer Guide documentation or [GitHub](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) samples and showcases. +For more code examples and specific use cases please refer to our Developer Guide documentation or [GitHub](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) samples and showcases. diff --git a/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md b/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md index 61e3c97..3061bcb 100644 --- a/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md +++ b/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md @@ -26,7 +26,7 @@ The license can be loaded from a file or stream object.  The code below will explain how to set product license. -```csharp +```java // For complete examples and data files, please go to https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java // Setup license. License license = new License(); @@ -37,7 +37,7 @@ license.setLicense(licensePath); The following example shows how to load a license from a stream. -```csharp +```java // For complete examples and data files, please go to https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java using (FileInputStream fileStream = new FileInputStream("GroupDocs.Annotation.lic")) { @@ -62,7 +62,7 @@ Here are the simple steps to use the `Metered` class. Following is the sample code demonstrating how to use [Metered](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered) class. -```csharp +```java // For complete examples and data files, please go to https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java string publicKey = ""; // Your public license key string privateKey = ""; // Your private license key diff --git a/Docs/content/annotation/java/getting-started/installation.md b/Docs/content/annotation/java/getting-started/installation.md index dc4b6e5..dc6bf7d 100644 --- a/Docs/content/annotation/java/getting-started/installation.md +++ b/Docs/content/annotation/java/getting-started/installation.md @@ -14,7 +14,7 @@ GroupDocs hosts all Java APIs on [GroupDocs Repository](https://repository.grou First, you need to specify GroupDocs repository configuration/location in your Maven `pom.xml` as follows:  -```csharp +```java GroupDocsJavaAPI @@ -28,7 +28,7 @@ First, you need to specify GroupDocs repository configuration/location in your M Then define GroupDocs.Annotation for Java API dependency in your `pom.xml` as follows: -```csharp +```java com.groupdocs @@ -46,6 +46,6 @@ After performing above-mentioned steps, GroupDocs.Annotation for Java dependenc You can follow the steps below to reference GroupDocs.Annotation for Java downloaded from official website [Downloads section](https://downloads.groupdocs.com/annotation/java): 1. Unpack zip archive. -2. Switch to **lib **folder. +2. Switch to **lib** folder. 3. Run **install.bat** (for Windows) or **install.sh** (for Linux) file to install the library in your local maven repository. 4. After this you should add the GroupDocs.Annotation for Java **dependency** block to your pom.xml project file. diff --git a/Docs/content/annotation/java/getting-started/supported-document-formats.md b/Docs/content/annotation/java/getting-started/supported-document-formats.md index 7a7cf65..e412751 100644 --- a/Docs/content/annotation/java/getting-started/supported-document-formats.md +++ b/Docs/content/annotation/java/getting-started/supported-document-formats.md @@ -33,10 +33,10 @@ The list of supported by GroupDocs.Annotation document formats and types | [ODP](https://wiki.fileformat.com/presentation/odp/) | OpenDocument Presentation | ![(tick)](annotation/java/images/check.png) | | [PPS](https://wiki.fileformat.com/presentation/pps/) | Microsoft PowerPoint 97-2003 Slide Show | ![(tick)](annotation/java/images/check.png) | | [TIF](https://wiki.fileformat.com/image/tiff/), [TIFF](https://wiki.fileformat.com/image/tiff/) | Tagged Image File Format (TIFF) | ![(tick)](annotation/java/images/check.png) | -| [JPG](https://wiki.fileformat.com/image/jpeg) [JPEG](https://wiki.fileformat.com/image/jpeg)   | Joint Photographic Experts Group (JPEG) | ![(tick)](annotation/java/images/check.png) | +| [JPG](https://wiki.fileformat.com/image/jpeg), [JPEG](https://wiki.fileformat.com/image/jpeg)   | Joint Photographic Experts Group (JPEG) | ![(tick)](annotation/java/images/check.png) | | [PNG](https://wiki.fileformat.com/image/png/) | Portable Network Graphics (PNG) | ![(tick)](annotation/java/images/check.png) | | [BMP](https://wiki.fileformat.com/image/bmp/) | Bitmap Picture (BMP) | ![(tick)](annotation/java/images/check.png) | -| [PDF](https://wiki.fileformat.com/view/pdf/) (PDF/A-1a,PDF/A-1b,PDF/A-2a) | Adobe Portable Document Format (PDF) | ![(tick)](annotation/java/images/check.png)![(tick)](annotation/java/images/check.png)![(tick)](annotation/java/images/check.png)![(tick)](annotation/java/images/check.png) | +| [PDF](https://wiki.fileformat.com/view/pdf/) (PDF/A-1a,PDF/A-1b,PDF/A-2a) | Adobe Portable Document Format (PDF) | ![(tick)](annotation/java/images/check.png) | | [HTML](https://wiki.fileformat.com/web/html/) | HyperText Markup Language (HTML) | ![(tick)](annotation/java/images/check.png) | | [EML](https://wiki.fileformat.com/email/eml/) | E-mail Message | ![(tick)](annotation/java/images/check.png) | | [VSD](https://wiki.fileformat.com/image/vsd/) | Microsoft Visio 2003-2010 Drawing | ![(tick)](annotation/java/images/check.png) | diff --git a/Docs/content/annotation/java/release-notes/_index.md b/Docs/content/annotation/java/release-notes/_index.md index 00d6ed0..7d618b9 100644 --- a/Docs/content/annotation/java/release-notes/_index.md +++ b/Docs/content/annotation/java/release-notes/_index.md @@ -8,4 +8,3 @@ keywords: productName: GroupDocs.Annotation for Java hideChildren: False --- -### Release Notes diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md index 43d310e..2b6ed31 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md @@ -137,14 +137,9 @@ Fixed bug with wrong annotation orientation (After export PDF annotations are sh -Added ability to import annotations from Words documents: Documentation article - -Added ability to annotate Slides documents with different annotations types: Documentation article - -Added ability to import annotations from Slides documents: Documentation article - -Added ability to add text annotations to Slides documents (TextHighlight, TextStrikeout, TextUnderline): Documentation article - -Added ability to annotate images: Documentation article - -Added new formats to annotating images article: Documentation article +* Added ability to import annotations from Words documents +* Added ability to annotate Slides documents with different annotations types +* Added ability to import annotations from Slides documents +* Added ability to add text annotations to Slides documents (TextHighlight, TextStrikeout, TextUnderline) +* Added ability to annotate images +* Added new formats to annotating images article diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md index 36062ef..d81f918 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md @@ -83,24 +83,24 @@ Below the list of  new features and fixed bugs in this regular monthly release | ANNOTATIONJAVA-1036 | Exception is thrown when retrieving area annotation from DOCX file | Bug | | ANNOTATIONJAVA-1037 | API fails to create Temp Directory in storage path | Bug | -# Public API and Backward Incompatible Changes +## Public API and Backward Incompatible Changes {{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} To *AnnotationInfo* object added new *Opacity* field that sets opacity of annotation (can be null or float number between 0 and 1) -**Java** -```csharp + +```java public void setOpacity(Double value); public Double getOpacity(); ``` Sample of usage -**Java** -```csharp + +```java AnnotationInfo textAnnotation = new AnnotationInfo(); textAnnotation.setBox(new Rectangle(68, 154, 102, 9)); textAnnotation.setPageNumber(0); @@ -112,9 +112,9 @@ textAnnotation.setOpacity(0.1); Import annotations from Diagram documents -**Java** -```csharp + +```java AnnotationConfig cfg = new AnnotationConfig(); cfg.setStoragePath(Utilities.STORAGE_PATH); diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md index 6fbdeb0..4312874 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md @@ -27,7 +27,7 @@ Below the list of fixed bugs in this release of GroupDocs.Annotation for Java. | ANNOTATIONJAVA-1045 | Exception generated while importing annotation from diagram | Bug | | ANNOTATIONJAVA-1005 | AnnotationImageHandler.getPages does not respect ImageOptions.setWidth | Bug | -# Public API and Backward Incompatible Changes +## Public API and Backward Incompatible Changes {{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10.1. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md index 5699ead..d516d5e 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md @@ -23,7 +23,7 @@ Fixed bugs from customer. | ANNOTATIONJAVA-1055 | Annotation properties are not behaving same in Java as in .NET | Bug | | ANNOTATIONJAVA-1056 | Wrong color behavior | Bug | -# Public API and Backward Incompatible Changes +## Public API and Backward Incompatible Changes {{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10.2. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md index ac3c39f..2a67daa 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md @@ -13,8 +13,6 @@ hideChildren: False ## Major Features Below the list of improvements, fixed bugs and new features in this regular monthly release of GroupDocs.Annotation for Java. The most notable are: -Implemented annotations annotating documents of following types: - * Add Metered licensing support * Implemented DICOM documents annotating  * Implemented Otp documents annotating  @@ -70,9 +68,7 @@ Implemented annotations annotating documents of following types: ### Metered licensing -**Java** - -```csharp +```java String storagePath = Utilities.STORAGE_PATH; // Setup Annotation configuration diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md index 6e7d767..db52ae2 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md @@ -10,7 +10,7 @@ hideChildren: False --- {{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.6.0{{< /alert >}} -# Major Features  +## Major Features  Below the list of  new features and fixed bugs in this regular monthly release of GroupDocs.Annotation for Java. The most notable are: @@ -20,7 +20,6 @@ Below the list of  new features and fixed bugs in this regular monthly release 3. ResourceRedaction annotation 4. Polyline annotation 5. TextField annotation - * Implement proper error handling when user try to invoke GetDocumentInfo method for images documents * Updated and improved library obfuscation diff --git a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md index 03833bb..c8f0475 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md @@ -16,7 +16,7 @@ hideChildren: False | --- | --- | --- | | ANNOTATIONJAVA-1063 | Import added annotations from exported PDF document | Bug | -# Public API and Backward Incompatible Changes +## Public API and Backward Incompatible Changes {{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10.3. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} diff --git a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md index 6613574..527d377 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md @@ -52,9 +52,9 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for 1. Added new types of annotations for Diagrams (Watermark, Point) - **Java** - ```csharp + + ```java AnnotationConfig cfg = new AnnotationConfig(); cfg.setStoragePath(storagePath); AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); @@ -135,9 +135,9 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for 2. Added new types of annotations for Words (Polyline, Watermark, Point) - **Java** - ```csharp + + ```java AnnotationConfig cfg = new AnnotationConfig(); cfg.setStoragePath(storagePath); AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); diff --git a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md index 3af808c..3900dfe 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md @@ -89,4 +89,4 @@ Below is the list of new features improvements and fixes in this release of Gro {{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 18.4. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} -1. None +None diff --git a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md index d638634..8a0c4f5 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md @@ -90,53 +90,40 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for {{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 19.4. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} 1. **Export page range:** - To export specific pages  you should just to setup *ExportOptions *class, and then export as before. - **Java** - - ```csharp + ```java ExportOptions options = new ExportOptions(); options.setFirstPage(5); options.setLastPage(8); ``` - Result: will be exported document pages started from page 6 and ending page 9. - **Java** - - ```csharp + ```java ExportOptions options = new ExportOptions(); options.setFirstPage(4); options.setLastPage(4); ``` Result: document will contain only one page with index 5. - Note: there will be no effect if: - * FirstPage > LastPage; - * If FirstPage or / and LastPage < 0 - * If LastPage > document pages number 2. **Export only pages with annotations:** To export only pages that contains annotations you should specify *AnnotatedPages = true *of *ExportOptions *class. - **Java** - - ```csharp + ```java ExportOptions options = new ExportOptions(); options.setAnnotatedPages(true); ``` Result: document that contains only annotated pages. - **Java** - ```csharp + ```java ExportOptions options = new ExportOptions(); options.setFirstPage(5); options.setLastPage(8); @@ -147,21 +134,16 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for 3. **Export annotations of specific types:** - **Java** - - ```csharp + ```java List typesToExport = new ArrayList(); typesToExport.add(AnnotationType.Area); typesToExport.add(AnnotationType.Polyline); ExportOptions options = new ExportOptions(); options.setAnnotationTypes(typesToExport); ``` - Result: document that contains only Area and Polyline annotations. - **Java** - - ```csharp + ```java List typesToExport = new ArrayList(); typesToExport.add(AnnotationType.Area); ExportOptions options = new ExportOptions(); @@ -171,9 +153,8 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for Result: document that contains only annotated pages with only Area annotations. - **Java** - ```csharp + ```java List typesToExport = new ArrayList(); typesToExport.add(AnnotationType.Area); ExportOptions options = new ExportOptions(); @@ -183,4 +164,4 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for options.setLastPage(8); ``` - Result: document that contains only annotated pages with only Area annotations inside range from 5 to 8th pag. If no Area annotation inside this range, then document just contains pages from 5 to 8. + Result: document that contains only annotated pages with only Area annotations inside range from 5 to 8th pag. If no Area annotation inside this range, then document just contains pages from 5 to 8. \ No newline at end of file diff --git a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md index 44b41d4..3c3d837 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md @@ -78,7 +78,7 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for You can get image representation of pages of your pdf document by using *GetPages* method of *AnnotationImageHandler* class. - ```csharp + ```java List GetPages(Stream fileStream, ImageOptions options) List GetPages(string guid, ImageOptions options) List GetPages(string guid) @@ -86,9 +86,9 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for Following example demonstrates how to use *GetPages* method: - **Java** - ```csharp + + ```java using System.Collections.Generic; using System.IO; using GroupDocs.Annotation.Config; @@ -127,9 +127,9 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for 2. **Enabling caching for opening same document pages** - **Java** - ```csharp + + ```java ImageOptions imageOptions = new ImageOptions(); imageOptions.CacheStoragePath = AnnotationImageHandler.GetFileDataStore().TempPath; imageOptions.EnableCaching = true; diff --git a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md index ad9fe88..07fdd26 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md @@ -55,7 +55,7 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for 1.  Adding Ellipse annotation. - ```csharp + ```java // minimal set of parameters AnnotationInfo ellipse = new AnnotationInfo(); ellipse.setBox(new Rectangle(100, 100.0, 50, 50)); @@ -65,7 +65,7 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for 2. GetThumbnail method returns JPEG image stream. Assume we are getting pages from document: - ```csharp + ```java List pages = annotationHandler.getPages(document); // Then if we want get thumbnail we call GetThumbnail() method of PageImage item: @@ -85,7 +85,7 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for 3. Added ability to set text watermarks angle. The same as adding Watermark annotation, but you should additionally set Watermark rotation angle by setting AnnotationInfo.Angle property (in degrees) - ```csharp + ```java AnnotationInfo annotation = new AnnotationInfo(); annotation.setType(AnnotationType.Watermark); annotation.setAngle(45.0); From c41436e68e00d8a323f34128c3e47be01b07c1aa Mon Sep 17 00:00:00 2001 From: Yevgen Nykytenko Date: Fri, 3 Jul 2020 14:55:04 +0300 Subject: [PATCH 26/76] Markdown documentation added --- .gitignore | 1 + .travis.yml | 40 +++++++++ Docs/README.md | 3 + Docs/content/annotation/_index.md | 9 -- Docs/content/annotation/java/_index.md | 2 - .../developer-guide/advanced-usage/_index.md | 2 - .../generate-document-pages-preview.md | 41 +++------ .../advanced-usage/loading/_index.md | 27 +----- .../load-password-protected-documents.md | 22 ++--- .../_index.md | 2 - .../load-document-from-ftp.md | 17 ++-- .../load-document-from-local-disk.md | 20 ++--- .../load-document-from-stream.md | 23 ++--- .../load-document-from-url.md | 19 ++-- .../advanced-usage/saving/_index.md | 16 ++-- .../saving/filtering-annotation-types.md | 27 ++---- .../saving/save-only-annotated-pages.md | 25 ++---- .../saving/save-specific-page-range.md | 25 ++---- .../add-annotation-to-the-document/_index.md | 6 +- .../add-area-annotation.md | 47 +++------- .../add-arrow-annotation.md | 45 +++------- .../add-distance-annotation.md | 46 +++------- .../add-ellipse-annotation.md | 49 +++------- .../add-highlight-annotation.md | 42 +++------ .../add-link-annotation.md | 33 ++----- .../add-point-annotation.md | 35 ++------ .../add-polyline-annotation.md | 43 +++------ .../add-replacement-annotation.md | 43 +++------ .../add-resource-redaction-annotation.md | 37 +++----- .../add-strikeout-annotation.md | 40 +++------ .../add-text-field-annotation.md | 54 +++-------- .../add-text-redaction-annotation.md | 32 ++----- .../add-underline-annotation.md | 42 +++------ .../add-watermark-annotation.md | 46 +++------- .../extract-annotations-from-document.md | 21 ++--- .../basic-usage/get-file-info.md | 19 +--- .../basic-usage/get-supported-file-formats.md | 21 ++--- .../remove-annotation-from-document.md | 27 ++---- .../basic-usage/update-annotations.md | 29 ++---- .../working-with-annotation-replies/_index.md | 4 +- .../add-replies-to-annotation.md | 41 +++------ .../remove-annotation-replies.md | 85 ++---------------- .../update-annotation-replies.md | 27 ++---- .../java/developer-guide/migration-notes.md | 12 +-- .../evaluation-limitations-and-licensing.md | 6 +- .../java/getting-started/installation.md | 6 +- .../supported-document-formats.md | 4 +- .../annotation/java/release-notes/_index.md | 1 - ...nnotation-for-java-17.1.0-release-notes.md | 17 ++-- ...annotation-for-java-17.10-release-notes.md | 14 +-- ...notation-for-java-17.10.1-release-notes.md | 2 +- ...notation-for-java-17.10.2-release-notes.md | 2 +- ...nnotation-for-java-17.5.0-release-notes.md | 6 +- ...nnotation-for-java-17.6.0-release-notes.md | 3 +- ...notation-for-java-17.10.3-release-notes.md | 2 +- ...annotation-for-java-18.10-release-notes.md | 8 +- ....annotation-for-java-18.4-release-notes.md | 2 +- ....annotation-for-java-19.4-release-notes.md | 35 ++------ ....annotation-for-java-19.5-release-notes.md | 10 +-- ....annotation-for-java-19.7-release-notes.md | 6 +- deploy_key.enc | Bin 0 -> 3248 bytes 61 files changed, 390 insertions(+), 981 deletions(-) create mode 100644 .travis.yml create mode 100644 Docs/README.md delete mode 100644 Docs/content/annotation/_index.md create mode 100644 deploy_key.enc diff --git a/.gitignore b/.gitignore index 9704d4e..a159742 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ Examples/.classpath Examples/.project Examples/.settings/ +deploy_key diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..a1affd5 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,40 @@ +git: + submodules: false + +branches: + only: + - master + +env: + global: + - PRODUCT=annotation + - PLATFORM=java + - ROOT_DIR=Docs/docs-common + - SRC_DIR=Docs/docs-common/public + - DEST_DIR=/var/www/docs.groupdocs.com/html + +before_install: +- openssl aes-256-cbc -K $encrypted_dfdcfd5172af_key -iv $encrypted_dfdcfd5172af_iv + -in deploy_key.enc -out ./deploy_key -d +- sed -i 's/git@github.com:/https:\/\/github.com\//' .gitmodules +- git submodule update --init --recursive Docs +- git submodule foreach git pull origin master +- eval "$(ssh-agent -s)" +- chmod 600 ./deploy_key +- echo -e "Host $HOST\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config +- ssh-add ./deploy_key + +install: +- curl -LO https://github.com/gohugoio/hugo/releases/download/v0.67.1/hugo_extended_0.67.1_Linux-64bit.deb +- sudo dpkg -i hugo_extended_0.67.1_Linux-64bit.deb + +script: +- cp -r Docs/content/* $ROOT_DIR/content/ +- hugo --source $ROOT_DIR --minify --config config.toml,ignore-total-config.toml +- mkdir -p $SRC_DIR/search-json +- mv $SRC_DIR/index.json $SRC_DIR/search-json/$PRODUCT-$PLATFORM.json + +after_success: +- scp -i ./deploy_key -r $SRC_DIR/$PRODUCT $USER@$HOST:$DEST_DIR +- scp -i ./deploy_key -r $SRC_DIR/product-sitemap.xml $USER@$HOST:$DEST_DIR/sitemaps/$PRODUCT-$PLATFORM.xml +- scp -i ./deploy_key -r $SRC_DIR/search-json/$PRODUCT-$PLATFORM.json $USER@$HOST:$DEST_DIR/search-json/$PRODUCT-$PLATFORM.json \ No newline at end of file diff --git a/Docs/README.md b/Docs/README.md new file mode 100644 index 0000000..151183d --- /dev/null +++ b/Docs/README.md @@ -0,0 +1,3 @@ +## GroupDocs.Annotation for Java Docs + +[![Build Status](https://travis-ci.com/groupdocs-annotation/GroupDocs.Annotation-for-Java.svg?branch=master)](https://travis-ci.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) diff --git a/Docs/content/annotation/_index.md b/Docs/content/annotation/_index.md deleted file mode 100644 index 33675cc..0000000 --- a/Docs/content/annotation/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -id: annotation -url: annotation -title: GroupDocs.Annotation Product Family -description: "" -keywords: -type: "product-family" -layout: "product-family-template" ---- diff --git a/Docs/content/annotation/java/_index.md b/Docs/content/annotation/java/_index.md index 2e473d1..3fc5562 100644 --- a/Docs/content/annotation/java/_index.md +++ b/Docs/content/annotation/java/_index.md @@ -8,8 +8,6 @@ keywords: productName: GroupDocs.Annotation for Java hideChildren: True --- -# Home - {{< alert style="info" >}}Welcome to the GroupDocs.Annotation for JavaGroupDocs.Annotation for Java is a lightweight API that lets you seamlessly enhance your Java app with document viewing and annotation functionality. API supports Microsoft Word DOCX, Excel XLSX, PowerPoint PPTX and PDF documents currently. Image formats will be available soon. Consuming API, you can enable end users to view, annotate, share and print both types of documents from within your Java app.{{< /alert >}} ## GroupDocs.Annotation for Java Resources diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/_index.md index f1ca3b9..a2af564 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/_index.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/_index.md @@ -8,8 +8,6 @@ keywords: GroupDocs.Annotation Advanced Features, GroupDocs.Annotation Customiza productName: GroupDocs.Annotation for Java hideChildren: False --- -# Advanced section for GroupDocs.Annotation API - Along with the ability to annotate documents using a couple lines of code **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** API allows to fine tune the document processing from start to end - like loading password-protected documents in different ways, saving results in different ways, generate document pages preview in image form and many other.  Learn more about advanced GroupDocs.Annotation features from the guides below. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md b/Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md index a0355c1..9514a8c 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md @@ -8,34 +8,24 @@ keywords: productName: GroupDocs.Annotation for Java hideChildren: False --- -**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to generate document page previews using [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method of a [Document](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document)class. -[PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions)class is used to manage preview generation process - specify desired page numbers, image format etc. +**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to generate document page previews using [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method of a [Document](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document) class. +[PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) class is used to manage preview generation process - specify desired page numbers, image format etc. Here are the steps to generate document preview with GroupDocs.Annotation API: - -* Create new instance of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)class and pass source document path as a constructor parameter. - -* [Document](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document)field of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)object allows to access source document and provides [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method.  - -* Instantiate the [PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) object with path format to generated images; - -* Specify image preview format - PNG / JPG / BMP via [setPreviewFormat](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions#setPreviewFormat(int)) method;  - +* Create new instance of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) class and pass source document path as a constructor parameter. +* [Document](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document) field of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object allows to access source document and provides [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method. +* Instantiate the [PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) object with path format to generated images; +* Specify image preview format - PNG / JPG / BMP via [setPreviewFormat](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions#setPreviewFormat(int)) method; * page numbers to process via setPageNumbers method; -* Call [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions))method of [Annotator.getDocument()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#getDocument())method result and pass [PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) to it.  +* Call [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method of [Annotator.getDocument()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#getDocument()) method result and pass [PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) to it. - - - GroupDocs.Annotation provides an ability to choose between image quality and size. **BMP** format should be used for the best image quality. **JPG** format will be useful in case of strict requirements to image size - it produces smallest image size (and faster loading image previews), but with lower quality than **BMP**. By default **PNG** format is selected - which is a golden mean between image quality and size. The following code snippet demonstrates how to generate document previews. ## Get document page previews  -**Java** - -```csharp +```java Annotator annotator = new Annotator("input.pdf"); PreviewOptions previewOptions = new PreviewOptions("C://Output//GenerateDocumentPagesPreview_{0}.png"); previewOptions.setPreviewFormat(PreviewFormats.PNG); @@ -45,30 +35,19 @@ annotator.dispose(); ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md index 9f95cb8..7cdda00 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md @@ -8,29 +8,4 @@ keywords: Load document from local path, Load document from stream productName: GroupDocs.Annotation for Java hideChildren: False --- -**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows you to load password-protected documents and load documents from different sources. For more details please refer to the following guides: - -## More resources - -### GitHub Examples - -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - - -### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. +**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows you to load password-protected documents and load documents from different sources. For more details please refer to the following guides: \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md index 43aef03..d39df47 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md @@ -12,14 +12,13 @@ hideChildren: False The following are the steps to process password-protected documents. -* Instantiate [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object and specify source document password; - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) *object *with document path or stream and [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object created at previous step; +* Instantiate [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object and specify source document password; +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with document path or stream and [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object created at previous step; The following code sample shows how to work with password protected documents. -```csharp +```java String outputPath = "LoadPasswordProtectedDocuments.pdf"; LoadOptions loadOptions = new LoadOptions(); @@ -36,26 +35,19 @@ annotator.dispose(); ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md index a1730e0..5ae3926 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md @@ -8,8 +8,6 @@ keywords: Load document from file path, Load document from URL, Load document fr productName: GroupDocs.Annotation for Java hideChildren: False --- -# Loading documents from different sources - [**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) allows you to annotate remotely located documents. The document processing would be similar to [Load document from stream]({{< ref "annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md" >}}). Following examples demonstrates how to load documents from different sources. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md index b377fdb..53f6f54 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md @@ -10,7 +10,7 @@ hideChildren: False --- Following example demonstrates how to annotate document from FTP. -```csharp +```java import org.apache.commons.net.ftp.FTPClient; public static void main() { @@ -39,26 +39,19 @@ private static InputStream getFileFromFtp(String server, String filePath) throws ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md index a6bdcdd..75afb97 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md @@ -8,12 +8,11 @@ keywords: Load document from local disk, Load document from file path, Load docu productName: GroupDocs.Annotation for Java hideChildren: False --- -When the source document is located on the local disk [**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) allows you to load it via [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)class constructor specifying absolute or relative path to it.  -For loading target document located on the local disk you should use [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method that accepts absolute or relative path as parameter.  +When the source document is located on the local disk [**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) allows you to load it via [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) class constructor specifying absolute or relative path to it. For loading target document located on the local disk you should use [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method that accepts absolute or relative path as parameter.  Following code snippet shows how to load documents from local disk. -```csharp +```java String outputPath = "LoadDocumentFromLocalDisk.pdf"; Annotator annotator = new Annotator("input.pdf"); @@ -28,26 +27,19 @@ annotator.dispose(); ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md index 051c097..0f263f4 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md @@ -12,13 +12,13 @@ There might be the case when source or target document is not physically located The following are the steps to be followed: * Obtain document stream;  -* Pass opened source document stream to [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)class constructor. +* Pass opened source document stream to [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) class constructor. Following code snippet describes this case. -**Java** -```csharp + +```java String outputPath = "LoadDocumentFromStream.pdf"; InputStream stream = new FileInputStream("input.pdf"); @@ -34,26 +34,19 @@ annotator.dispose(); ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. +Along with full-featured Java library we provide simple, but powerful free Apps. +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md index f8cc774..c081ca7 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md @@ -10,9 +10,9 @@ hideChildren: False --- Following example demonstrates how to annotate document from URL. -**Java** -```csharp + +```java String outputPath = "LoadDocumentFromUrl.pdf"; String url = "https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/blob/master/Examples/Resources/SampleFiles/input.pdf?raw=true"; @@ -28,26 +28,19 @@ annotator.dispose();  ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md index 3a41f77..59b2e46 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md @@ -8,19 +8,13 @@ keywords: productName: GroupDocs.Annotation for Java hideChildren: False --- -# Saving - **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** provides different ways of saving resultant document - with specific annotations type only, save only annotated pages, save specific page range from resultant document, set password on saving resultant document etc. The [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) class provides following properties to customize saving process: -* **AnnotationTypes **\- defines annotation types to be saved into resultant document; - -* **FirstPage** - first page number when saving specific page range; - -* **LastPage** - last page number when saving specific page range; - -* **OnlyAnnotatedPages** - indicates whether to save only annotated pages or not; - +* **AnnotationTypes** - defines annotation types to be saved into resultant document; +* **FirstPage** - first page number when saving specific page range; +* **LastPage** - last page number when saving specific page range; +* **OnlyAnnotatedPages** - indicates whether to save only annotated pages or not; -For more details please refer to the following guides: +For more details please refer to the following guides: \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md index 4198547..9c69af7 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md @@ -12,18 +12,14 @@ This feature can be using when need to save only specific annotation types and i The following are the steps how to filter exported annotations to document:  -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) objectand set [AnnotationType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/AnnotationType) desired annotation type(s), that will presented in resultant document; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object and set [AnnotationType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/AnnotationType) desired annotation type(s), that will presented in resultant document; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; Following code snippet shows how to save only pages with specific annotation type -**Java** - -```csharp +```java String outputPath = "FilteringAnnotationTypes.pdf"; Annotator annotator = new Annotator("input.pdf"); @@ -51,26 +47,19 @@ annotator.dispose(); ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md index dc519e8..7184063 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md @@ -12,16 +12,14 @@ Result document will contains only pages, which contains any annotation. The following are the steps how to export to resultant document only annotated pages:  -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) objectand set [AnnotationType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/AnnotationType) desired annotation type(s), that will presented in resultant document; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object and set [AnnotationType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/AnnotationType) desired annotation type(s), that will presented in resultant document; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; Following code snippet shows how to save only annotated pages of document -```csharp +```java String outputPath = "SavingOnlyPagesWithAnnotations.pdf"; Annotator annotator = new Annotator("input.pdf"); @@ -50,26 +48,19 @@ annotator.dispose(); ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md index c70073c..c30e781 100644 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md +++ b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md @@ -12,16 +12,14 @@ In case of processing large documents (for example 100 pages or more) there is The following are the steps how to export resultant specific page range:  -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) objectand use [setFirstPage](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions#setFirstPage(int))and high bound [setLastPage](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions#setLastPage(int))*for setting select borders*; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object and use [setFirstPage](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions#setFirstPage(int)) and high bound [setLastPage](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions#setLastPage(int)) for setting select borders; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; The following code demonstrates how to save the range of document page:  -```csharp +```java String outputPath = "SavingSpecificPageRange.pdf"; Annotator annotator = new Annotator("input.pdf"); @@ -36,26 +34,19 @@ annotator.dispose(); ``` ## More resources +### Advanced Usage Topics +To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md index c3970be..0a0544f 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md @@ -8,17 +8,17 @@ keywords: What is annotation, document annotation, add annotation productName: GroupDocs.Annotation for Java hideChildren: False --- -# What is a document annotation? +## What is a document annotation? **Annotation** is a textual or graphic notes, comments and remarks attached to a specific part of a document content - sections, paragraphs, sentences or even words. Annotations are often used by a group of collaborators to edit and review documents in a quick and handy manner - the document is shared with reviewers who then mark it up and add notes. Then assigned team members read these annotations and modify document content accordingly. Today annotations can be programmatically added to a documents and images of various  types - PDF, Microsoft Word and Open Document text documents, Microsoft Excel spreadsheets, Microsoft PowerPoint presentations, PNG / JPG / TIFF images etc.  -# Add annotation to the document +### Add annotation to the document **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to apply multiple annotation types to the different document formats. Supported annotations list is described in a table below.  -## List of supported annotations +### List of supported annotations | Annotation | Description | | --- | --- | diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md index f6c032c..9cf2eb1 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md @@ -13,34 +13,22 @@ hideChildren: False ![](annotation/java/images/add-area-annotation.png) There is an ability to specify the next fields for [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) type: - * [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; - * [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; - * [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - * [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; - -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); - -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. - +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) - defines frame line width in pixels. Follow these steps to add Area annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) object with desired fields (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) object; +* Call [save](https://apireference-qa.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)objectwith input document path or stream; - -* Instantiate [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) objectwith desired fields (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) object; - -* Call [save](https://apireference-qa.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - - -The following code demonstrates how to add [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) to the document: +The following code demonstrates how to add [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) to the document: -```csharp +```java Reply reply1 = new Reply(); reply1.setComment("First comment"); reply1.setRepliedOn(Calendar.getInstance().getTime()); @@ -74,30 +62,19 @@ The following code demonstrates how to add [AreaAnnotation](https://apireferenc ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - -You may easily run the code above and see the feature in action in our GitHub examples: +You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. +Along with full-featured Java library we provide simple, but powerful free Apps. +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md index 1c6f62d..3b55800 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md @@ -14,31 +14,23 @@ hideChildren: False There  is an ability to specify the next fields for [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) type: -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) - defines frame line width in pixels. -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; - -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); - -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. - - -Follow these steps to add Arrow annotation to document:  -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation)objectwith input document path or stream; - -* Instantiate [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +Follow these steps to add Arrow annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) object with input document path or stream; +* Instantiate [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddArrowAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -71,30 +63,19 @@ String outputPath = Constants.getOutputFilePath("AddArrowAnnotation", FilenameUt ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md index 77ce890..8ddaece 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md @@ -13,33 +13,24 @@ hideChildren: False ![](annotation/java/images/add-distance-annotation.png) There is an ability to specify the next fields for [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) type: - -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; - -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); - -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. -Follow these steps to add Distance annotation to document:   - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +Follow these steps to add Distance annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddDistanceAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -72,30 +63,19 @@ String outputPath = Constants.getOutputFilePath("AddDistanceAnnotation", Filenam ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md index d007930..b27a527 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md @@ -12,35 +12,25 @@ hideChildren: False ![](annotation/java/images/add-ellipse-annotation.png) -There is an ability to specify the next fields for [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation)type*:* - -* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; - -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; - -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); - -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. - +There is an ability to specify the next fields for [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) type: +* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. Follow these steps to add Ellipse annotation to document:  -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) to the document:  -```csharp +```java String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -74,30 +64,19 @@ String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUti ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md index 92ed7f0..08dc3f5 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md @@ -12,31 +12,22 @@ hideChildren: False ![](annotation/java/images/add-highlight-annotation.png) -There is an ability to specify the next fields for [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) type:  - -* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; - +There is an ability to specify the next fields for [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) type: +* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; * [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; * [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. -Follow these steps to add Highlight annotation to document:  - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. - +Follow these steps to add Highlight annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) to the document: -```csharp +```java final Annotator annotator = new Annotator(Constants.INPUT); try { Reply reply1 = new Reply(); @@ -76,30 +67,19 @@ The following code demonstrates how to add [HighlightAnnotation](https://apiref ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md index 6afa335..d4ad339 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md @@ -13,26 +13,18 @@ hideChildren: False ![](annotation/java/images/add-link-annotation.png) There is an ability to specify the next fields for [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) type: - * [Url](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation#getUrl()) - link to the web resource. - -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation#getPoints()) - annotation positions set by array of points. - +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation#getPoints()) - annotation positions set by array of points. Follow these steps to add Underline annotation to document: - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) object; - +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) object; * Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - The following code demonstrates how to add [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -72,30 +64,19 @@ String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUti ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md index 26ac521..71fa0c2 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md @@ -13,24 +13,18 @@ hideChildren: False ![](annotation/java/images/add-point-annotation.png) There is an ability to specify the next fields for [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) type: +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PointAnnotation#getBox()) - defines annotation position at document page; -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PointAnnotation#getBox()) - defines annotation position at document page; - - -Follow these steps to add Point annotation to document:   - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +Follow these steps to add Point annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddPointAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -59,30 +53,19 @@ String outputPath = Constants.getOutputFilePath("AddPointAnnotation", FilenameUt ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md index ce4453b..d5923a2 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md @@ -13,34 +13,24 @@ hideChildren: False ![](annotation/java/images/add-polyline-annotation.png) There is an ability to specify the next fields for [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) type: - -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; - -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); - -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. - +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. * [SvgPath](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation#getSvgPath()) \- SVG path that describes shape. Follow these steps to add Polyline annotation to document: - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) object; - +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) object; * Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddPolylineAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -74,30 +64,19 @@ String outputPath = Constants.getOutputFilePath("AddPolylineAnnotation", Filenam ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md index a10a951..682ce28 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md @@ -13,30 +13,22 @@ hideChildren: False ![](annotation/java/images/add-replacement-annotation.png) There is an ability to specify the next fields for [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) type: - -* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. - +* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor()) - color of annotation text; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. * [TextToReplace](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation#getTextToReplace()) - text that will be replaced  - Follow these steps to add Replacement annotation to document:   - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream; +Follow these steps to add Replacement annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream; -The following code demonstrates how to add [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) to the document: +The following code demonstrates how to add [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -77,30 +69,19 @@ String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", Fi ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md index 515127d..d69a4c0 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md @@ -12,25 +12,19 @@ hideChildren: False ![](annotation/java/images/add-resource-redaction-annotation.png) -There is an ability to specify the next fields for [ResourcesRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) type: - -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation#getBox()) - defines annotation position at document page; +There is an ability to specify the next fields for [ResourcesRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) type: +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation#getBox()) - defines annotation position at document page; Follow these steps to add Resource redaction annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [ResourceRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [ResourceRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [ResourceRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [ResourceRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. - +The following code demonstrates how to add [ResourcesRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) to the document: -The following code demonstrates how to add [ResourcesRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) to the document: - -```csharp +```java String outputPath = Constants.getOutputFilePath("AddResourcesRedactionAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -59,30 +53,19 @@ String outputPath = Constants.getOutputFilePath("AddResourcesRedactionAnnotation ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md index ba7052a..195f691 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md @@ -13,28 +13,21 @@ hideChildren: False ![](annotation/java/images/add-strikeout-annotation.png) There is an ability to specify the next fields for [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) type: - -* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. +* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor()) - color of annotation text; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. Follow these steps to add Strikeout annotation to document: - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) objectwith input document path or stream; - -* Instantiate [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) object with input document path or stream; +* Instantiate [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -74,30 +67,19 @@ String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", Fi ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. +Along with full-featured Java library we provide simple, but powerful free Apps. +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md index ef87100..3ff91da 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md @@ -13,42 +13,27 @@ hideChildren: False ![](annotation/java/images/add-text-field-annotation.png) There is an ability to specify the next fields for [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) type: - -* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; - -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; - +* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; * [Text](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getText()) - text that will be appear in rectangle - * [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontColor()) - color of the text - * [FontFamily](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontFamily()) - name of text font; - * [FontSize](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontSize())  - size of text font; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; +* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); +* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; - -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); - -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. - - -Follow these steps to add *TextField* annotation to document:  - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +Follow these steps to add *TextField* annotation to document: +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -88,30 +73,19 @@ String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", Fi ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md index 67f1feb..f3c7ed0 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md @@ -13,24 +13,19 @@ hideChildren: False ![](annotation/java/images/add-text-redaction-annotation.png) There is an ability to specify the next fields for [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) type - -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation#getPoints()) - annotation positions set by array of points. +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation#getPoints()) - annotation positions set by array of points. Follow these steps to add TextRedaction annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - The following code demonstrates how to add [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -68,30 +63,19 @@ String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", Fi ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md index 8fa66bb..ebcaef2 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md @@ -8,33 +8,26 @@ keywords: What is a underline annotation, how to add annotation, add underline a productName: GroupDocs.Annotation for Java hideChildren: False --- -**Underline **annotation marks text with a underline styling like shown at the picture below.  +**Underline** annotation marks text with a underline styling like shown at the picture below.  ![](annotation/java/images/add-underline-annotation.png) There is an ability to specify the next fields for [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) type: - -* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. +* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor()) - color of annotation text; +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; +* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. Follow these steps to add Underline annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) objectwith desired properties (position, page number, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. - +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) object with desired properties (position, page number, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddTextUnderlineAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -74,30 +67,19 @@ String outputPath = Constants.getOutputFilePath("AddTextUnderlineAnnotation", Fi ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. +Along with full-featured Java library we provide simple, but powerful free Apps. +You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md index b97e8b1..d0b8aa1 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md @@ -13,36 +13,25 @@ hideChildren: False ![](annotation/java/images/add-watermark-annotation.png) There is an ability to specify the next fields for [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) type: - -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PointAnnotation#getBox()) - defines annotation position at document page; - -* [Text](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getText()) - text of watermark; - -* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; - -* [FontFamily](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontFamily()) - name of text font; - +* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PointAnnotation#getBox()) - defines annotation position at document page; +* [Text](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getText()) - text of watermark; +* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor()) - color of annotation text; +* [FontFamily](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontFamily()) - name of text font; * [FontSize](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontSize())  - size of text font; - -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; - +* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; * [Angle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation#getAngle()) - watermark text angle. - Follow these steps to add Watermark annotation to document:  -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream; - -* Instantiate [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) objectwith desired properties (position, color, etc); - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase))method and pass [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) object; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream. +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) object with desired properties (position, color, etc); +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) object; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. The following code demonstrates how to add [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) to the document: -```csharp +```java String outputPath = Constants.getOutputFilePath("AddWatermarkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); final Annotator annotator = new Annotator(Constants.INPUT); try { @@ -76,30 +65,19 @@ String outputPath = Constants.getOutputFilePath("AddWatermarkAnnotation", Filena ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md b/Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md index d359975..e014d51 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md @@ -11,14 +11,14 @@ hideChildren: False **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** provides an ability to extract annotations from document. To achieve this you should: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)objectwith input document path or stream; -* Instantiate [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) objectand call [setImportAnnotations](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions#setImportAnnotations(boolean)) with*true *argument; +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object and call [setImportAnnotations](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions#setImportAnnotations(boolean)) with *true* argument; * Define variable with type *List<*[AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase)*\>;* * Call [get](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#get()) method and return result to variable above. The following code demonstrates how to extract annotations metadata from document: -```csharp +```java // for using this example input file ("annotated.pdf") must be with annotations   LoadOptions loadOptions = new LoadOptions(); @@ -29,30 +29,19 @@ List annotations = annotator.get(); ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md b/Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md index cf42b13..e3a1e31 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md @@ -16,9 +16,7 @@ hideChildren: False The following code sample demonstrates how to get information about document. -**Java** - -```csharp +```java Annotator annotator = new Annotator("input.pdf"); IDocumentInfo info = annotator.getDocument().getDocumentInfo(); @@ -32,30 +30,19 @@ annotator.dispose(); ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md b/Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md index 113aab4..c7f958c 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md @@ -10,12 +10,12 @@ hideChildren: False --- **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to get the list of all supported file formats by following the below steps: -* Call [getSupportedFileTypes()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType#getSupportedFileTypes()) method of [FileType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType) class; -* Enumerate through the collection of [FileType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType) objects. +* Call [getSupportedFileTypes()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType#getSupportedFileTypes()) method of [FileType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType) class; +* Enumerate through the collection of [FileType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType) objects. The following code sample demonstrates how to get supported file formats list. -```csharp +```java List fileTypes = FileType.getSupportedFileTypes(); //foreach to while statements conversion Iterator items = (fileTypes).iterator(); @@ -26,30 +26,19 @@ The following code sample demonstrates how to get supported file formats list. ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md b/Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md index 6ba4de0..acf84e6 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md @@ -11,18 +11,14 @@ hideChildren: False **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** provides an ability to remove all previously added annotations from document and save cleaned document as it was before annotating. There are the steps to remove annotations from document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator)objectwith input document path or stream; - -* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) objectand set *AnnotationTypes = AnnotationType.None*; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object and set *AnnotationTypes = AnnotationType.None*; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; The following code demonstrates how to remove annotation from document: -**Java** - -```csharp +```java Annotator annotator = new Annotator("C://input.pdf"); SaveOptions saveOptions = new SaveOptions(); saveOptions.setAnnotationTypes(AnnotationType.None); @@ -31,30 +27,19 @@ annotator.dispose(); ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md b/Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md index 3346afd..a04cc60 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md @@ -10,22 +10,16 @@ hideChildren: False --- That case can be used when need to update some annotation properties (move, resize, change color and so on) or even annotation. Note, that for using this case is necessary need to set annotation Id property. It’s need because **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** must know which annotation must be changed. Or you can pass list of annotations. In that case all previous annotation collection will be replaced from new list. -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream with instantiated [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) with *ImportAnnotations = true;* - +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream with instantiated [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) with *ImportAnnotations = true;* * Create some [AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase) implementation and set Id of existed annotation (if annotation with that Id not found, nothing will be changed) or path list of annotations (all existed annotations will be removed); - -* Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List))method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with passed annotations; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; +* Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with passed annotations; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; The following code demonstrates how to update annotations: -**Java** - -```csharp +```java String outputPath = "UpdateAnnotation.pdf"; - Annotator annotator = new Annotator("input.pdf"); Reply reply1 = new Reply(); @@ -87,30 +81,19 @@ annotator1.dispose(); ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md index e756dbc..a185dba 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md @@ -8,9 +8,9 @@ keywords: Annotation reply, what are annotation replies, what is reply productName: GroupDocs.Annotation for Java hideChildren: False --- -# What are Annotation Replies? +## What are Annotation Replies? -**Annotation replies **are the commenting feature of Microsoft Office, PDF, and other document formats that allows to store written discussion inside a document and provides an effective way for users to collaborate during document review and redaction. Different software vendors provide their own way for commenting and annotating document content, so when you need to collaborate over various document types it’s required to have multiple applications installed on every collaborator’s device.  +**Annotation replies** are the commenting feature of Microsoft Office, PDF, and other document formats that allows to store written discussion inside a document and provides an effective way for users to collaborate during document review and redaction. Different software vendors provide their own way for commenting and annotating document content, so when you need to collaborate over various document types it’s required to have multiple applications installed on every collaborator’s device.  Fortunately **[GroupDocs.Annotation for Java](https://products.groupdocs.com/annotation/java)** provides an easy and convenient API to add, edit or delete annotation replies for wide range of supported document formats within your application. Please check the guides below to learn more about how to add, change and remove annotation replies with several lines of code. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md index 63d1942..00d499c 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md @@ -11,28 +11,18 @@ hideChildren: False [**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) provides ability for several users to collaborate over document via annotation replies. Adding reply to an annotation via code is as easy as specifying reply content and related user object. Here are the steps to add annotation replies: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; - -* Instantiate [User](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/User)object; - -* Instantiate [Reply](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/Reply)object(s); - +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; +* Instantiate [User](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/User) object; +* Instantiate [Reply](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/Reply) object(s); * Instantiate some of [AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase) implementation object; +* Assign [User](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/User) object to Reply.User property (or by default will be "Guest"); +* Assign [Reply](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/Reply) object(s) to implementation of [AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase) object Replies property; +* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with passed annotations; +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; -* Assign [User](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/User) object to Reply.User property (or by default will be "Guest"); - -* Assign [Reply](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/Reply) object(s) to implementation of [AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase) object Replies property; - -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with passed annotations; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; - - The following code demonstrates how to add replies to annotation: -**Java** - -```csharp +```java String outputPath = "AddReplies.pdf"; Annotator annotator = new Annotator("input.pdf"); @@ -94,30 +84,19 @@ annotator.dispose(); ``` ## More resources - ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples - You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - +Along with full-featured Java library we provide simple, but powerful free Apps. You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md index e7d7800..3e103a6 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md @@ -10,18 +10,12 @@ hideChildren: False --- There is a quick and convenient way to remove specific or even all replies for some document annotation using **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** API. It is as easy as removing items from generic [List](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1) collection. In common case you have to follow these steps to delete replies: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) objectwith input document path or stream - -* Call [get](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#get()) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and obtain collection of document annotations; - +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream +* Call [get](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#get()) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and obtain collection of document annotations; * Access desired annotation object and remove reply in a most suitable way: - - * Call *annotations.get(index).getReplies().remove(*index*)* method with desired parameters; - + * Call *annotations.get(index).getReplies().remove(index)* method with desired parameters; * Call [AnnotationBase.getReplies()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase#getReplies()) and remove replies that match desired criteria; - -* Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and pass annotations collection into it; - +* Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and pass annotations collection into it; * Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.lang.String)) method with resultant document path or stream; @@ -29,7 +23,7 @@ There is a quick and convenient way to remove specific or even all replies for s The easiest way for removing specific annotation reply is to delete by its index inside Replies collection. The following code sample demonstrates how to remove first annotation reply: -```csharp +```java LoadOptions loadOptions = new LoadOptions(); loadOptions.setImportAnnotations(true); @@ -51,9 +45,9 @@ annotator.dispose(); ## Remove annotation replies by criteria -The following code demonstrates how to remove replies that were added by user with name Tom: +The following code demonstrates how to remove replies that were added by user with name "Tom": -```csharp +```java LoadOptions loadOptions = new LoadOptions(); loadOptions.setImportAnnotations(true); @@ -74,67 +68,4 @@ for(int i = 0; i < annotations.get(0).getReplies().size(); i++) { annotator.update(annotations); annotator.save("RemoveRepliesByUserName.pdf"); annotator.dispose(); -``` - -## More resources - -### Advanced Usage Topics - -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples - -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - - -### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. - -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. - -`String outputPath =` `"RemoveRepliesByUserName.pdf"``;` - -`LoadOptions loadOptions =` `new` `LoadOptions();` - -`loadOptions.setImportAnnotations(``true``);` - -`// NOTE: Input document already contain annotations with replies` - -`final` `Annotator annotator =` `new` `Annotator(``"annotated_with_replies.pdf"``, loadOptions);` - -`// Obtain annotations collection from document` - -`List annotations = annotator.get();` - -`// Remove all replies where author name is "Tom"` - -`for``(``int` `i =` `0``; i < annotations.get(``0``).getReplies().size(); i++) {` - -`if``(annotations.get(``0``).getReplies().get(i).getUser().getName().toString().equals(``"Tom"``)) {` - -`annotations.get(``0``).getReplies().remove(i);` - -`}` - -`}` - -`// Save changes` - -`annotator.update(annotations);` - -`annotator.save(outputPath);` - -`annotator.dispose();` +``` \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md index 282cdf5..b968afb 100644 --- a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md +++ b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md @@ -11,22 +11,15 @@ hideChildren: False [**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) provides and ability to programmatically update annotation replies by accessing them by their index inside [Replies](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase#getReplies()) collection. Here is a steps to update annotation reply (considered that we already have some reply added to annotation) - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream with instantiated [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) with *ImportAnnotations = true;* - -* Call *Get *method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and import annotations; - +* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream with instantiated [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) with *ImportAnnotations = true;* +* Call [get](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#get()) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and import annotations; * Access desired reply object via [getReplies](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase#getReplies()) method collection by its index (zero-based) and update its properties as needed; * Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List)) method of Annotator object with passed annotations; - -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream))method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; - - -The following code demonstrates how to update reply by index:  +* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; -**Java** +The following code demonstrates how to update reply by index: -```csharp +```java LoadOptions loadOptions = new LoadOptions(); loadOptions.setImportAnnotations(true); @@ -49,7 +42,6 @@ annotator.dispose(); ## More resources ### Advanced Usage Topics - To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). ### GitHub Examples @@ -57,20 +49,13 @@ To learn more about document annotating features, please refer to the [advanced You may easily run the code above and see the feature in action in our GitHub examples: * [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) - * [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) - -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC)  - +* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) * [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) - * [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) - * [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - ### Free Online App Along with full-featured Java library we provide simple, but powerful free Apps. - You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online [**GroupDocs Annotation App**](https://products.groupdocs.app/annotation). diff --git a/Docs/content/annotation/java/developer-guide/migration-notes.md b/Docs/content/annotation/java/developer-guide/migration-notes.md index fb31b9f..5d40cee 100644 --- a/Docs/content/annotation/java/developer-guide/migration-notes.md +++ b/Docs/content/annotation/java/developer-guide/migration-notes.md @@ -12,12 +12,9 @@ hideChildren: False Here are the key reasons to use the new updated API provided by GroupDocs.Annotation for Java since version 20.2: -* **Annotator **class introduced as a **single entry point** to manage the document annotating process to any supported file format (instead of **AnnotationImageHandler** class from previous versions). - +* **Annotator** class introduced as a **single entry point** to manage the document annotating process to any supported file format (instead of **AnnotationImageHandler** class from previous versions). * The overall **rendering speed improved** dramatically by saving rendered page as soon as it was rendered, not when all pages list were rendered. - * Document **saving options simplified** so it’s easy to instantiate proper options class and control over document annotating and saving processes. - ### How To Migrate? @@ -25,7 +22,7 @@ Here is a brief comparison of how to annotate document and save it using old and #### Old coding style -```csharp +```java List annotations = new List(); AnnotationInfo areaAnnotation = new AnnotationInfo(); areaAnnotation.setPageNumber(0); @@ -59,7 +56,7 @@ IOUtils.copy(result, fileStream); #### New coding style -```csharp +```java // Create list of annotations List annotations = new List(); @@ -82,5 +79,4 @@ annotator.Add(annotations); annotator.Save("result.pdf", new SaveOptions()); ``` - -For more code examples and specific use cases please refer to our Developer Guide documentation or [GitHub](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) samples and showcases. +For more code examples and specific use cases please refer to our Developer Guide documentation or [GitHub](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) samples and showcases. diff --git a/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md b/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md index 61e3c97..3061bcb 100644 --- a/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md +++ b/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md @@ -26,7 +26,7 @@ The license can be loaded from a file or stream object.  The code below will explain how to set product license. -```csharp +```java // For complete examples and data files, please go to https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java // Setup license. License license = new License(); @@ -37,7 +37,7 @@ license.setLicense(licensePath); The following example shows how to load a license from a stream. -```csharp +```java // For complete examples and data files, please go to https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java using (FileInputStream fileStream = new FileInputStream("GroupDocs.Annotation.lic")) { @@ -62,7 +62,7 @@ Here are the simple steps to use the `Metered` class. Following is the sample code demonstrating how to use [Metered](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered) class. -```csharp +```java // For complete examples and data files, please go to https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java string publicKey = ""; // Your public license key string privateKey = ""; // Your private license key diff --git a/Docs/content/annotation/java/getting-started/installation.md b/Docs/content/annotation/java/getting-started/installation.md index dc4b6e5..dc6bf7d 100644 --- a/Docs/content/annotation/java/getting-started/installation.md +++ b/Docs/content/annotation/java/getting-started/installation.md @@ -14,7 +14,7 @@ GroupDocs hosts all Java APIs on [GroupDocs Repository](https://repository.grou First, you need to specify GroupDocs repository configuration/location in your Maven `pom.xml` as follows:  -```csharp +```java GroupDocsJavaAPI @@ -28,7 +28,7 @@ First, you need to specify GroupDocs repository configuration/location in your M Then define GroupDocs.Annotation for Java API dependency in your `pom.xml` as follows: -```csharp +```java com.groupdocs @@ -46,6 +46,6 @@ After performing above-mentioned steps, GroupDocs.Annotation for Java dependenc You can follow the steps below to reference GroupDocs.Annotation for Java downloaded from official website [Downloads section](https://downloads.groupdocs.com/annotation/java): 1. Unpack zip archive. -2. Switch to **lib **folder. +2. Switch to **lib** folder. 3. Run **install.bat** (for Windows) or **install.sh** (for Linux) file to install the library in your local maven repository. 4. After this you should add the GroupDocs.Annotation for Java **dependency** block to your pom.xml project file. diff --git a/Docs/content/annotation/java/getting-started/supported-document-formats.md b/Docs/content/annotation/java/getting-started/supported-document-formats.md index 7a7cf65..e412751 100644 --- a/Docs/content/annotation/java/getting-started/supported-document-formats.md +++ b/Docs/content/annotation/java/getting-started/supported-document-formats.md @@ -33,10 +33,10 @@ The list of supported by GroupDocs.Annotation document formats and types | [ODP](https://wiki.fileformat.com/presentation/odp/) | OpenDocument Presentation | ![(tick)](annotation/java/images/check.png) | | [PPS](https://wiki.fileformat.com/presentation/pps/) | Microsoft PowerPoint 97-2003 Slide Show | ![(tick)](annotation/java/images/check.png) | | [TIF](https://wiki.fileformat.com/image/tiff/), [TIFF](https://wiki.fileformat.com/image/tiff/) | Tagged Image File Format (TIFF) | ![(tick)](annotation/java/images/check.png) | -| [JPG](https://wiki.fileformat.com/image/jpeg) [JPEG](https://wiki.fileformat.com/image/jpeg)   | Joint Photographic Experts Group (JPEG) | ![(tick)](annotation/java/images/check.png) | +| [JPG](https://wiki.fileformat.com/image/jpeg), [JPEG](https://wiki.fileformat.com/image/jpeg)   | Joint Photographic Experts Group (JPEG) | ![(tick)](annotation/java/images/check.png) | | [PNG](https://wiki.fileformat.com/image/png/) | Portable Network Graphics (PNG) | ![(tick)](annotation/java/images/check.png) | | [BMP](https://wiki.fileformat.com/image/bmp/) | Bitmap Picture (BMP) | ![(tick)](annotation/java/images/check.png) | -| [PDF](https://wiki.fileformat.com/view/pdf/) (PDF/A-1a,PDF/A-1b,PDF/A-2a) | Adobe Portable Document Format (PDF) | ![(tick)](annotation/java/images/check.png)![(tick)](annotation/java/images/check.png)![(tick)](annotation/java/images/check.png)![(tick)](annotation/java/images/check.png) | +| [PDF](https://wiki.fileformat.com/view/pdf/) (PDF/A-1a,PDF/A-1b,PDF/A-2a) | Adobe Portable Document Format (PDF) | ![(tick)](annotation/java/images/check.png) | | [HTML](https://wiki.fileformat.com/web/html/) | HyperText Markup Language (HTML) | ![(tick)](annotation/java/images/check.png) | | [EML](https://wiki.fileformat.com/email/eml/) | E-mail Message | ![(tick)](annotation/java/images/check.png) | | [VSD](https://wiki.fileformat.com/image/vsd/) | Microsoft Visio 2003-2010 Drawing | ![(tick)](annotation/java/images/check.png) | diff --git a/Docs/content/annotation/java/release-notes/_index.md b/Docs/content/annotation/java/release-notes/_index.md index 00d6ed0..7d618b9 100644 --- a/Docs/content/annotation/java/release-notes/_index.md +++ b/Docs/content/annotation/java/release-notes/_index.md @@ -8,4 +8,3 @@ keywords: productName: GroupDocs.Annotation for Java hideChildren: False --- -### Release Notes diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md index 43d310e..2b6ed31 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md @@ -137,14 +137,9 @@ Fixed bug with wrong annotation orientation (After export PDF annotations are sh -Added ability to import annotations from Words documents: Documentation article - -Added ability to annotate Slides documents with different annotations types: Documentation article - -Added ability to import annotations from Slides documents: Documentation article - -Added ability to add text annotations to Slides documents (TextHighlight, TextStrikeout, TextUnderline): Documentation article - -Added ability to annotate images: Documentation article - -Added new formats to annotating images article: Documentation article +* Added ability to import annotations from Words documents +* Added ability to annotate Slides documents with different annotations types +* Added ability to import annotations from Slides documents +* Added ability to add text annotations to Slides documents (TextHighlight, TextStrikeout, TextUnderline) +* Added ability to annotate images +* Added new formats to annotating images article diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md index 36062ef..d81f918 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md @@ -83,24 +83,24 @@ Below the list of  new features and fixed bugs in this regular monthly release | ANNOTATIONJAVA-1036 | Exception is thrown when retrieving area annotation from DOCX file | Bug | | ANNOTATIONJAVA-1037 | API fails to create Temp Directory in storage path | Bug | -# Public API and Backward Incompatible Changes +## Public API and Backward Incompatible Changes {{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} To *AnnotationInfo* object added new *Opacity* field that sets opacity of annotation (can be null or float number between 0 and 1) -**Java** -```csharp + +```java public void setOpacity(Double value); public Double getOpacity(); ``` Sample of usage -**Java** -```csharp + +```java AnnotationInfo textAnnotation = new AnnotationInfo(); textAnnotation.setBox(new Rectangle(68, 154, 102, 9)); textAnnotation.setPageNumber(0); @@ -112,9 +112,9 @@ textAnnotation.setOpacity(0.1); Import annotations from Diagram documents -**Java** -```csharp + +```java AnnotationConfig cfg = new AnnotationConfig(); cfg.setStoragePath(Utilities.STORAGE_PATH); diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md index 6fbdeb0..4312874 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md @@ -27,7 +27,7 @@ Below the list of fixed bugs in this release of GroupDocs.Annotation for Java. | ANNOTATIONJAVA-1045 | Exception generated while importing annotation from diagram | Bug | | ANNOTATIONJAVA-1005 | AnnotationImageHandler.getPages does not respect ImageOptions.setWidth | Bug | -# Public API and Backward Incompatible Changes +## Public API and Backward Incompatible Changes {{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10.1. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md index 5699ead..d516d5e 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md @@ -23,7 +23,7 @@ Fixed bugs from customer. | ANNOTATIONJAVA-1055 | Annotation properties are not behaving same in Java as in .NET | Bug | | ANNOTATIONJAVA-1056 | Wrong color behavior | Bug | -# Public API and Backward Incompatible Changes +## Public API and Backward Incompatible Changes {{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10.2. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md index ac3c39f..2a67daa 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md @@ -13,8 +13,6 @@ hideChildren: False ## Major Features Below the list of improvements, fixed bugs and new features in this regular monthly release of GroupDocs.Annotation for Java. The most notable are: -Implemented annotations annotating documents of following types: - * Add Metered licensing support * Implemented DICOM documents annotating  * Implemented Otp documents annotating  @@ -70,9 +68,7 @@ Implemented annotations annotating documents of following types: ### Metered licensing -**Java** - -```csharp +```java String storagePath = Utilities.STORAGE_PATH; // Setup Annotation configuration diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md index 6e7d767..db52ae2 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md @@ -10,7 +10,7 @@ hideChildren: False --- {{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.6.0{{< /alert >}} -# Major Features  +## Major Features  Below the list of  new features and fixed bugs in this regular monthly release of GroupDocs.Annotation for Java. The most notable are: @@ -20,7 +20,6 @@ Below the list of  new features and fixed bugs in this regular monthly release 3. ResourceRedaction annotation 4. Polyline annotation 5. TextField annotation - * Implement proper error handling when user try to invoke GetDocumentInfo method for images documents * Updated and improved library obfuscation diff --git a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md index 03833bb..c8f0475 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md @@ -16,7 +16,7 @@ hideChildren: False | --- | --- | --- | | ANNOTATIONJAVA-1063 | Import added annotations from exported PDF document | Bug | -# Public API and Backward Incompatible Changes +## Public API and Backward Incompatible Changes {{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10.3. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} diff --git a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md index 6613574..527d377 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md @@ -52,9 +52,9 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for 1. Added new types of annotations for Diagrams (Watermark, Point) - **Java** - ```csharp + + ```java AnnotationConfig cfg = new AnnotationConfig(); cfg.setStoragePath(storagePath); AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); @@ -135,9 +135,9 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for 2. Added new types of annotations for Words (Polyline, Watermark, Point) - **Java** - ```csharp + + ```java AnnotationConfig cfg = new AnnotationConfig(); cfg.setStoragePath(storagePath); AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); diff --git a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md index 3af808c..3900dfe 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md @@ -89,4 +89,4 @@ Below is the list of new features improvements and fixes in this release of Gro {{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 18.4. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} -1. None +None diff --git a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md index d638634..8a0c4f5 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md @@ -90,53 +90,40 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for {{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 19.4. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} 1. **Export page range:** - To export specific pages  you should just to setup *ExportOptions *class, and then export as before. - **Java** - - ```csharp + ```java ExportOptions options = new ExportOptions(); options.setFirstPage(5); options.setLastPage(8); ``` - Result: will be exported document pages started from page 6 and ending page 9. - **Java** - - ```csharp + ```java ExportOptions options = new ExportOptions(); options.setFirstPage(4); options.setLastPage(4); ``` Result: document will contain only one page with index 5. - Note: there will be no effect if: - * FirstPage > LastPage; - * If FirstPage or / and LastPage < 0 - * If LastPage > document pages number 2. **Export only pages with annotations:** To export only pages that contains annotations you should specify *AnnotatedPages = true *of *ExportOptions *class. - **Java** - - ```csharp + ```java ExportOptions options = new ExportOptions(); options.setAnnotatedPages(true); ``` Result: document that contains only annotated pages. - **Java** - ```csharp + ```java ExportOptions options = new ExportOptions(); options.setFirstPage(5); options.setLastPage(8); @@ -147,21 +134,16 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for 3. **Export annotations of specific types:** - **Java** - - ```csharp + ```java List typesToExport = new ArrayList(); typesToExport.add(AnnotationType.Area); typesToExport.add(AnnotationType.Polyline); ExportOptions options = new ExportOptions(); options.setAnnotationTypes(typesToExport); ``` - Result: document that contains only Area and Polyline annotations. - **Java** - - ```csharp + ```java List typesToExport = new ArrayList(); typesToExport.add(AnnotationType.Area); ExportOptions options = new ExportOptions(); @@ -171,9 +153,8 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for Result: document that contains only annotated pages with only Area annotations. - **Java** - ```csharp + ```java List typesToExport = new ArrayList(); typesToExport.add(AnnotationType.Area); ExportOptions options = new ExportOptions(); @@ -183,4 +164,4 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for options.setLastPage(8); ``` - Result: document that contains only annotated pages with only Area annotations inside range from 5 to 8th pag. If no Area annotation inside this range, then document just contains pages from 5 to 8. + Result: document that contains only annotated pages with only Area annotations inside range from 5 to 8th pag. If no Area annotation inside this range, then document just contains pages from 5 to 8. \ No newline at end of file diff --git a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md index 44b41d4..3c3d837 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md @@ -78,7 +78,7 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for You can get image representation of pages of your pdf document by using *GetPages* method of *AnnotationImageHandler* class. - ```csharp + ```java List GetPages(Stream fileStream, ImageOptions options) List GetPages(string guid, ImageOptions options) List GetPages(string guid) @@ -86,9 +86,9 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for Following example demonstrates how to use *GetPages* method: - **Java** - ```csharp + + ```java using System.Collections.Generic; using System.IO; using GroupDocs.Annotation.Config; @@ -127,9 +127,9 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for 2. **Enabling caching for opening same document pages** - **Java** - ```csharp + + ```java ImageOptions imageOptions = new ImageOptions(); imageOptions.CacheStoragePath = AnnotationImageHandler.GetFileDataStore().TempPath; imageOptions.EnableCaching = true; diff --git a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md index ad9fe88..07fdd26 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md @@ -55,7 +55,7 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for 1.  Adding Ellipse annotation. - ```csharp + ```java // minimal set of parameters AnnotationInfo ellipse = new AnnotationInfo(); ellipse.setBox(new Rectangle(100, 100.0, 50, 50)); @@ -65,7 +65,7 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for 2. GetThumbnail method returns JPEG image stream. Assume we are getting pages from document: - ```csharp + ```java List pages = annotationHandler.getPages(document); // Then if we want get thumbnail we call GetThumbnail() method of PageImage item: @@ -85,7 +85,7 @@ Below is the list of most notable changes in release of GroupDocs.Annotation for 3. Added ability to set text watermarks angle. The same as adding Watermark annotation, but you should additionally set Watermark rotation angle by setting AnnotationInfo.Angle property (in degrees) - ```csharp + ```java AnnotationInfo annotation = new AnnotationInfo(); annotation.setType(AnnotationType.Watermark); annotation.setAngle(45.0); diff --git a/deploy_key.enc b/deploy_key.enc new file mode 100644 index 0000000000000000000000000000000000000000..33c379bf13583c0eabd3b74663aa5512e8bb1aaa GIT binary patch literal 3248 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 literal 0 HcmV?d00001 From 41f1f93144d508dd50a380932bc0170430da0b4e Mon Sep 17 00:00:00 2001 From: Yevgen Nykytenko Date: Tue, 7 Jul 2020 13:25:59 +0300 Subject: [PATCH 27/76] Added documentation build script --- build_docs.cmd | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 build_docs.cmd diff --git a/build_docs.cmd b/build_docs.cmd new file mode 100644 index 0000000..f82906d --- /dev/null +++ b/build_docs.cmd @@ -0,0 +1,5 @@ +call git submodule update --init --recursive Docs +call git submodule foreach git pull origin master +xcopy Docs\content Docs\docs-common\content /s /e /Y +cd Docs\docs-common +call hugo server From 60ecf8ea2f3972e4f51351a8ad35e0ebd9590dcc Mon Sep 17 00:00:00 2001 From: Yevgen Nykytenko Date: Fri, 17 Jul 2020 14:13:56 +0300 Subject: [PATCH 28/76] Docs update --- Docs/content/annotation/java/_index.md | 6 +++--- .../annotation/java/developer-guide/_index.md | 4 +++- .../evaluation-limitations-and-licensing.md | 4 +++- Docs/content/annotation/java/images/home.png | Bin 0 -> 2806 bytes ...ocs.annotation-for-java-20.2-release-notes.md | 11 ++++++----- 5 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 Docs/content/annotation/java/images/home.png diff --git a/Docs/content/annotation/java/_index.md b/Docs/content/annotation/java/_index.md index 3fc5562..5e6fa50 100644 --- a/Docs/content/annotation/java/_index.md +++ b/Docs/content/annotation/java/_index.md @@ -8,12 +8,12 @@ keywords: productName: GroupDocs.Annotation for Java hideChildren: True --- -{{< alert style="info" >}}Welcome to the GroupDocs.Annotation for JavaGroupDocs.Annotation for Java is a lightweight API that lets you seamlessly enhance your Java app with document viewing and annotation functionality. API supports Microsoft Word DOCX, Excel XLSX, PowerPoint PPTX and PDF documents currently. Image formats will be available soon. Consuming API, you can enable end users to view, annotate, share and print both types of documents from within your Java app.{{< /alert >}} +{{< alert style="info" >}} ![](annotation/java/images/home.png)**Welcome to the GroupDocs.Annotation for Java** +GroupDocs.Annotation for Java is a lightweight API that lets you seamlessly enhance your Java app with document viewing and annotation functionality. API supports Microsoft Word DOCX, Excel XLSX, PowerPoint PPTX and PDF documents currently. Image formats will be available soon. Consuming API, you can enable end users to view, annotate, share and print both types of documents from within your Java app. +{{< /alert >}} ## GroupDocs.Annotation for Java Resources - Following are the links to some useful resources you may need to accomplish your tasks. - * [GroupDocs.Annotation for Java Online Documentation]({{< ref "annotation/java" >}}) * [GroupDocs.Annotation for Java Features]({{< ref "annotation/java/getting-started/features-overview.md" >}}) * [GroupDocs.Annotation for Java Limitations]({{< ref "annotation/java/getting-started/evaluation-limitations-and-licensing.md" >}}) diff --git a/Docs/content/annotation/java/developer-guide/_index.md b/Docs/content/annotation/java/developer-guide/_index.md index 3645c54..8889274 100644 --- a/Docs/content/annotation/java/developer-guide/_index.md +++ b/Docs/content/annotation/java/developer-guide/_index.md @@ -8,4 +8,6 @@ keywords: GroupDocs.Annotation Developer Guide, GroupDocs.Annotation Java Develo productName: GroupDocs.Annotation for Java hideChildren: False --- -{{< alert style="info" >}}This section describes some basic and advanced use cases of GroupDocs.Annotation for Java. Please refer to GitHub repository for more examples and samples.{{< /alert >}} +{{< alert style="info" >}} +This section describes some basic and advanced use cases of GroupDocs.Annotation for Java. Please refer to [GitHub repository](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) for more examples and samples. +{{< /alert >}} diff --git a/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md b/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md index 3061bcb..a5bf6df 100644 --- a/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md +++ b/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md @@ -48,7 +48,9 @@ using (FileInputStream fileStream = new FileInputStream("GroupDocs.Annotation.li #### Setting Metered License -{{< alert style="info" >}}You can also set Metered license as an alternative to license file. It is a new licensing mechanism that will be used along with existing licensing method. It is useful for the customers who want to be billed based on the usage of the API features. For more details, please refer to Metered Licensing FAQ section.{{< /alert >}} +{{< alert style="info" >}} +You can also set [Metered](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered) license as an alternative to license file. It is a new licensing mechanism that will be used along with existing licensing method. It is useful for the customers who want to be billed based on the usage of the API features. For more details, please refer to [Metered Licensing FAQ](https://purchase.groupdocs.com/faqs/licensing/metered) section. +{{< /alert >}} Here are the simple steps to use the `Metered` class. diff --git a/Docs/content/annotation/java/images/home.png b/Docs/content/annotation/java/images/home.png new file mode 100644 index 0000000000000000000000000000000000000000..53f44d429ba325e2c38dd5a89909ad0a7748f923 GIT binary patch literal 2806 zcmV7NE@0aV49=>0yc^$Nhy~1VH({J>pjwy zu$j4!&v(u}_nhyZ>+`utu5Z}zk+7nCGo&c1gNo7=RHPF@MZQeSZCZwC8K;HNGDXWs zNRfi{nH$U9(PxI#D;;$O63+eL6>&$?U zqiCTW&%8dzPnzBQ=Ru^I*ZTqj`wc)8JX(1P24W%V{b!) z32@~+#^O$0tSGB!C&$py@X8fr^xV1fs)+eYI!(qeUL@gFD>>j}7?W!N?tJK>j|Eh@ z*-#Tr&yiF#O1vtmSd5K2SVsb_v7mwHPsx`-E>SCn+|peV|G?uNYb}x!vk!=t9z1uZc$RHg0W$YI@kjk zyCWb|d-LnG!6>(j)23~4r3%Jqvb$rzz*dl{jrm2|&>gnu?b=1sGc#nd2*!#r>tNpr zE?M#=d(?&B|5^A5jG27z9$9RHF-M-+Y4}TkiRkV0N9k;Sm+9n&dXk=+B8ycpc3{9v zKZ*&k5vP|G=>W4X)~~DRg>TLa{^b>E!Yx!LZ{H@NWlI5e z8W;)iU1%0YC2dATN$l(yuCJpD_Km=UMJu?#x7Ah2?;pAQ>@LF*wIHuwK$X@q2hpmP zZ2w=C!upy!qNoa~nXjYhlhi1`i*yB+N`FS0lWEF8GAKTu7Q0XRVl4P z41cyN@0ojyPY*v~WvwVYQYjKUbB6S7+e-SL`h~W@3z|p>9_W$x1TdVl&5RIF#rZ3C zY|r6;48PDKtc{ExTRKpZ51k(~Fv=cYgYlq9Aww=y9R3 zO<>2JPI>KWP^B2TWzA}D1yu{kz2RZf^Tg(&Acr3DlgST05We67L(~sUa~DC43rB{V zk9Z&C{(jQEaYIp%!#{YGB;SAEmiB?6Zt5M%VRdrCp{hc8i(((8p}ck zeqC41+T!of&)Nx#${<#%>UYg?z()KM#6zJVBO;Nuh|NU$EVIZ&ekuHi>F#z! zeGNA^YwLg_{nD(T-?qcrh`sz*TR_Haxi>hN@eNaz6khSedHrGR7Q_0W*cxFfjUBHD zfEM<1EjAI1^Wl47ZE$&)PHh4UV)Gqsz&;_dRkfS)5+pw@-4jkKO=(A@G0De|z7A4}sp&5c0Aaj%nAtkIF9e<~S@Dkso5bjkw(KHdT09yEbK z$KQFU;KGLuj9Y<*@OA<8wA+Cm*#CU4FPYBpkz>b7y8+w+H1tPVR0sX!;RwPOI=fg7 z8_mud&LZsc;Om7S0qSH<{uURhj&L~^!-0bb3P(QZwtDh^x3mQ%79->Ty2v6X3vz6^ zXfeF$xOqosX}-nHvd}d*i}4`3#=O&Aq)u;GOw9S*qAJW`%NGMI1~h!sP9EFK3C^1726nNO;H&6;a!bC~_ zVl9Es&GQZj^}GC|!4`tGTVC0X!5i`01Hn!S)L?+g0lx*vY{GvGSpT!mV@$+!wtBq@>c`1>V#zh(|*_Cg$vmK58-QH0yWqK!Th($ literal 0 HcmV?d00001 diff --git a/Docs/content/annotation/java/release-notes/release-notes-2020/groupdocs.annotation-for-java-20.2-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2020/groupdocs.annotation-for-java-20.2-release-notes.md index 59255d8..a6fb973 100644 --- a/Docs/content/annotation/java/release-notes/release-notes-2020/groupdocs.annotation-for-java-20.2-release-notes.md +++ b/Docs/content/annotation/java/release-notes/release-notes-2020/groupdocs.annotation-for-java-20.2-release-notes.md @@ -8,12 +8,15 @@ keywords: productName: GroupDocs.Annotation for Java hideChildren: False --- -{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 20.2{{< /alert >}}{{< alert style="danger" >}}In this version we're introducing new public API which was designed to be simple and easy to use. For more details about new API please check Migration Notes and Developer Guide sections.{{< /alert >}} +{{< alert style="info" >}} +This page contains release notes for GroupDocs.Annotation for Java 20.2 +{{< /alert >}}{{< alert style="danger" >}} +Breaking changes +In this version we're introducing new public API which was designed to be simple and easy to use. For more details about new API please check [Migration Notes]({{< ref "annotation/java/developer-guide/migration-notes.md" >}}) and [Developer Guide](https://docs.groupdocs.com/display/annotationjava/Developer+Guide) sections. +{{< /alert >}} ## Major Features - In this version Below the list of most notable changes in release of GroupDocs.Annotation for Java 20.2: - * Ability to generate document page thumbnails  * Implemented ability to add ellipse annotation to different formats * Implemented angled watermarks for different formats @@ -23,9 +26,7 @@ In this version Below the list of most notable changes in release of GroupDocs. * Fixed several bugs and issues - ## Full List of Issues Covering all Changes in this Release - | Key | Summary | Issue Type | | --- | --- | --- | | ANNOTATIONNET-851 | Add Thumbnails of the selected document | Feature | From f46acf5bd9b3a2c98008b8b58b6f9fe988d8483a Mon Sep 17 00:00:00 2001 From: Yevgen Nykytenko Date: Mon, 20 Jul 2020 14:08:36 +0300 Subject: [PATCH 29/76] Docs icon update --- Docs/content/annotation/java/images/home.png | Bin 2806 -> 4996 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Docs/content/annotation/java/images/home.png b/Docs/content/annotation/java/images/home.png index 53f44d429ba325e2c38dd5a89909ad0a7748f923..e572a40ed301d8b78d4851612ce56eb973d3c2fe 100644 GIT binary patch literal 4996 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 From a603c330d5c522e2a04371143c0666f866df1d78 Mon Sep 17 00:00:00 2001 From: vitaliy-rezchikov Date: Tue, 28 Jul 2020 16:02:03 +0300 Subject: [PATCH 30/76] Added LICENSE.md to documentationi --- Docs/LICENSE.md | 171 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 Docs/LICENSE.md diff --git a/Docs/LICENSE.md b/Docs/LICENSE.md new file mode 100644 index 0000000..5546879 --- /dev/null +++ b/Docs/LICENSE.md @@ -0,0 +1,171 @@ +# Creative Commons Attribution-ShareAlike 4.0 International + +Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. + +### Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. + +* __Considerations for licensors:__ Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. [More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors). + +* __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees). + +## Creative Commons Attribution-ShareAlike 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +### Section 1 – Definitions. + +a. __Adapted Material__ means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + +b. __Adapter's License__ means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + +c. __BY-SA Compatible License__ means a license listed at [creativecommons.org/compatiblelicenses](http://creativecommons.org/compatiblelicenses), approved by Creative Commons as essentially the equivalent of this Public License. + +d. __Copyright and Similar Rights__ means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + +e. __Effective Technological Measures__ means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + +f. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + +g. __License Elements__ means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike. + +h. __Licensed Material__ means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + +i. __Licensed Rights__ means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + +j. __Licensor__ means the individual(s) or entity(ies) granting rights under this Public License. + +k. __Share__ means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + +l. __Sui Generis Database Rights__ means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + +m. __You__ means the individual or entity exercising the Licensed Rights under this Public License. __Your__ has a corresponding meaning. + +### Section 2 – Scope. + +a. ___License grant.___ + + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + + A. reproduce and Share the Licensed Material, in whole or in part; and + + B. produce, reproduce, and Share Adapted Material. + + 2. __Exceptions and Limitations.__ For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + + 3. __Term.__ The term of this Public License is specified in Section 6(a). + + 4. __Media and formats; technical modifications allowed.__ The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + + 5. __Downstream recipients.__ + + A. __Offer from the Licensor – Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + + B. __Additional offer from the Licensor – Adapted Material.__ Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply. + + C. __No downstream restrictions.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + + 6. __No endorsement.__ Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + +b. ___Other rights.___ + + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this Public License. + + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. + +### Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + +a. ___Attribution.___ + + 1. If You Share the Licensed Material (including in modified form), You must: + + A. retain the following if it is supplied by the Licensor with the Licensed Material: + + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of warranties; + + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + +b. ___ShareAlike.___ + +In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. + +1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License. + +2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. + +3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. + +### Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + +a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + +b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and + +c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. + +### Section 5 – Disclaimer of Warranties and Limitation of Liability. + +a. __Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.__ + +b. __To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.__ + +c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +### Section 6 – Term and Termination. + +a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + +b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + +c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + +d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +### Section 7 – Other Terms and Conditions. + +a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + +b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. + +### Section 8 – Interpretation. + +a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + +b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + +c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + +d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. + +> Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the [CC0 Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/legalcode). Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. +> +> Creative Commons may be contacted at creativecommons.org. From d66b5e78fd58c6400819971abd8e10eef14a4133 Mon Sep 17 00:00:00 2001 From: Babar Raza Date: Wed, 29 Jul 2020 18:05:13 +0500 Subject: [PATCH 31/76] Standardized readme.md --- README.md | 80 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 58 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 4dda5a1..e895838 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ -## GroupDocs.Annotation for Java Examples +# Java Library for Document Annotation -This package contains exmaples and showcase projects that will help you in understanding the API's working and writing your own applications. - -GroupDocs.Annotation is essentially devised to add annotations in documents within a Java applications. API comes with an extensive number of markup tools. These tools permit users to highlight, strikeout, and comment on text and images. This doesn't end up here user can avail numerous properties to control annotation's appearance in the document. +GroupDocs.Annotation for Java is a [Document Annotation API] that supports over 13 different annotation types for [over 50 document formats](https://docs.groupdocs.com/annotation/java/supported-document-formats/) with full control over annotation's appearance.

    @@ -13,28 +11,66 @@ GroupDocs.Annotation is essentially devised to add annotations in documents with Directory | Description --------- | ----------- -[Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | Contains the package of all Java examples and sample files that will help you learn how to use product features. +[Docs](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET/tree/master/Docs) | Product documentation containing the Developer's Guide, Release Notes and more. +[Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | Java examples and sample documents for you to get started quickly. [Showcases](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Showcase) | Explore the open source showcase projects that allow users to view and annotate a document in a web browser. -## How to Run the Examples +## Annotate Documents via Java + +- Add, extract or remove annotations. +- Import existing annotations from documents. +- Add or remove comments. +- Export annotated documents. +- Generate document page previews & thumbnails. +- Load password protected documents. +- Save annotated pages or pages by range. + +## Annotation Objects + +**Graphic Annotation:** Area, Arrow, Distance, Ellipse, Point, Polyline, Resource Redaction, TextField +**Text Annotation:** Highlight, Link, Replacement, Strikeout, Reduction, Underline +**Watermark:** Diagonal, Horizontal + +## Get Started with GroupDocs.Annotation for Java + +GroupDocs.Annotation for Java requires J2SE 7.0 (1.7), J2SE 8.0 (1.8) or above. Please install Java first if you do not have it already. -+ You can either clone the repository using your favorite GitHub client or download the ZIP file from the above button. -+ Extract the contents of the ZIP file to any folder on your computer. -+ Open Java IDE and import the project to get started with it. -+ On the first run, the dependencies will automatically be downloaded. -+ Open RunExamples.java file, all the examples are called from here. -+ Uncomment the examples you want to run from within the project. +GroupDocs hosts all Java APIs on [GroupDocs Artifact Repository](https://artifact.groupdocs.com/webapp/#/artifacts/browse/tree/General/repo/com/groupdocs/groupdocs-annotation), so simply [configure](https://docs.groupdocs.com/annotation/java/installation/) your Maven project to fetch the dependencies automatically. -Please find more details for how to run the examples [here](https://docs.groupdocs.com/display/annotationjava/How+to+Run+Examples). +## Add Watermark Annotation -## Resources +```java +String outputPath = Constants.getOutputFilePath("AddWatermarkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); +final Annotator annotator = new Annotator(Constants.INPUT); +try { + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + java.util.List replies = new ArrayList(); + replies.add(reply1); + replies.add(reply2); + WatermarkAnnotation watermark = new WatermarkAnnotation(); + watermark.setAngle((double) 75); + watermark.setBox(new Rectangle(200, 200, 100, 50)); + watermark.setCreatedOn(Calendar.getInstance().getTime()); + watermark.setText("Watermark"); + watermark.setFontColor(65535); + watermark.setFontSize((double) 12); + watermark.setMessage("This is watermark annotation"); + watermark.setOpacity(0.7); + watermark.setPageNumber(0); + watermark.setReplies(replies); + annotator.add(watermark); + annotator.save(outputPath); +} finally { + if (annotator != null) { + annotator.dispose(); + } +} +``` -+ **Website:** [www.groupdocs.com](https://www.groupdocs.com) -+ **Product Home:** [GroupDocs.Annotation for Java](https://products.groupdocs.com/annotation/java) -+ **API Reference:** [GroupDocs.Annotation for Java API Reference](https://apireference.groupdocs.com/java/annotation) -+ **Download:** [Download GroupDocs.Annotation for Java](https://artifact.groupdocs.com/repo/com/groupdocs/groupdocs-annotation/) -+ **Documentation:** [GroupDocs.Annotation for Java Documentation](https://docs.groupdocs.com/display/annotationjava/Home) -+ **Free Support:** [GroupDocs.Annotation for Java Free Support Forum](https://forum.groupdocs.com/c/annotation) -+ **Paid Support:** [GroupDocs.Annotation for Java Paid Support Helpdesk](https://helpdesk.groupdocs.com/) -+ **Blog:** [GroupDocs.Annotation for Java Blog](https://blog.groupdocs.com/category/groupdocs-annotation-product-family/) +[Home](https://www.groupdocs.com/) | [Product Page](https://products.groupdocs.com/annotation/java) | [Documentation](https://docs.groupdocs.com/annotation/java/) | [Demos](https://products.groupdocs.app/annotation/family) | [API Reference](https://apireference.groupdocs.com/java/annotation) | [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | [Blog](https://blog.groupdocs.com/category/annotation/) | [Free Support](https://forum.groupdocs.com/c/annotation) | [Temporary License](https://purchase.groupdocs.com/temporary-license) From e3313f53fec36f15514f4b3542f70f244342716c Mon Sep 17 00:00:00 2001 From: Babar Raza Date: Wed, 29 Jul 2020 18:09:46 +0500 Subject: [PATCH 32/76] Standardized readme.md --- README.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e895838..7493279 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Java Library for Document Annotation -GroupDocs.Annotation for Java is a [Document Annotation API] that supports over 13 different annotation types for [over 50 document formats](https://docs.groupdocs.com/annotation/java/supported-document-formats/) with full control over annotation's appearance. +GroupDocs.Annotation for Java is a [Document Annotation API](https://products.groupdocs.com/annotation/java) that supports over 13 different annotation types for [over 50 document formats](https://docs.groupdocs.com/annotation/java/supported-document-formats/) with full control over annotation's appearance.

    @@ -13,22 +13,21 @@ Directory | Description --------- | ----------- [Docs](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET/tree/master/Docs) | Product documentation containing the Developer's Guide, Release Notes and more. [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | Java examples and sample documents for you to get started quickly. -[Showcases](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Showcase) | Explore the open source showcase projects that allow users to view and annotate a document in a web browser. ## Annotate Documents via Java -- Add, extract or remove annotations. +- Add, extract, update or remove annotations. - Import existing annotations from documents. - Add or remove comments. - Export annotated documents. -- Generate document page previews & thumbnails. +- [Generate document previews & thumbnails](https://docs.groupdocs.com/annotation/java/generate-document-pages-preview/). - Load password protected documents. - Save annotated pages or pages by range. ## Annotation Objects -**Graphic Annotation:** Area, Arrow, Distance, Ellipse, Point, Polyline, Resource Redaction, TextField -**Text Annotation:** Highlight, Link, Replacement, Strikeout, Reduction, Underline +**Graphic Annotation:** Area, Arrow, Distance, Ellipse, Point, Polyline, Resource Redaction, TextField \ +**Text Annotation:** Highlight, Link, Replacement, Strikeout, Reduction, Underline \ **Watermark:** Diagonal, Horizontal ## Get Started with GroupDocs.Annotation for Java From de51ecdc5800dcc130b53ff63bbf626d0239869e Mon Sep 17 00:00:00 2001 From: Muhammad Rizwan Niazi Date: Wed, 10 Feb 2021 20:54:05 +0500 Subject: [PATCH 33/76] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7493279..07755b4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +[![Build Status](https://travis-ci.com/groupdocs-viewer/GroupDocs.Viewer-for-.NET.svg?branch=master)](https://travis-ci.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/groupdocs-annotation/GroupDocs.Annotation-for-Java) ![GitHub all releases](https://img.shields.io/github/downloads/groupdocs-annotation/GroupDocs.Annotation-for-Java/total) ![GitHub](https://img.shields.io/github/license/groupdocs-annotation/GroupDocs.Annotation-for-Java) # Java Library for Document Annotation GroupDocs.Annotation for Java is a [Document Annotation API](https://products.groupdocs.com/annotation/java) that supports over 13 different annotation types for [over 50 document formats](https://docs.groupdocs.com/annotation/java/supported-document-formats/) with full control over annotation's appearance. From 036fcfc05be373ea7576e1031b95b2db888d9337 Mon Sep 17 00:00:00 2001 From: Muhammad Rizwan Niazi Date: Wed, 10 Feb 2021 21:00:45 +0500 Subject: [PATCH 34/76] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 07755b4..15ac220 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Build Status](https://travis-ci.com/groupdocs-viewer/GroupDocs.Viewer-for-.NET.svg?branch=master)](https://travis-ci.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/groupdocs-annotation/GroupDocs.Annotation-for-Java) ![GitHub all releases](https://img.shields.io/github/downloads/groupdocs-annotation/GroupDocs.Annotation-for-Java/total) ![GitHub](https://img.shields.io/github/license/groupdocs-annotation/GroupDocs.Annotation-for-Java) +![GitHub release (latest by date)](https://img.shields.io/github/v/release/groupdocs-annotation/GroupDocs.Annotation-for-Java) ![GitHub all releases](https://img.shields.io/github/downloads/groupdocs-annotation/GroupDocs.Annotation-for-Java/total) ![GitHub](https://img.shields.io/github/license/groupdocs-annotation/GroupDocs.Annotation-for-Java) # Java Library for Document Annotation GroupDocs.Annotation for Java is a [Document Annotation API](https://products.groupdocs.com/annotation/java) that supports over 13 different annotation types for [over 50 document formats](https://docs.groupdocs.com/annotation/java/supported-document-formats/) with full control over annotation's appearance. From d95ab4d3d159126d597f658b58206ac2d0cb9d02 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Apr 2021 17:32:44 +0000 Subject: [PATCH 35/76] Bump commons-io in /Examples/GroupDocs.Annotation.Examples.Java Bumps commons-io from 2.4 to 2.7. Signed-off-by: dependabot[bot] --- Examples/GroupDocs.Annotation.Examples.Java/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml index 03ea593..ac47014 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml +++ b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml @@ -23,7 +23,7 @@ commons-io commons-io - 2.4 + 2.7 com.fasterxml.jackson.dataformat From 77134decfab97a7a0f3259f13a862a325ab30b8e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Apr 2021 19:58:09 +0000 Subject: [PATCH 36/76] Bump commons-io from 2.4 to 2.7 in /Examples Bumps commons-io from 2.4 to 2.7. Signed-off-by: dependabot[bot] --- Examples/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/pom.xml b/Examples/pom.xml index 3eaac45..75d37e2 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -18,7 +18,7 @@ commons-io commons-io - 2.4 + 2.7 com.groupdocs From 941a1785c848577e45ab7a854cd8212aa271d484 Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik <35294201+vladimir-litvinchik@users.noreply.github.com> Date: Tue, 25 May 2021 17:00:46 +0300 Subject: [PATCH 37/76] Ignore license files. --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index a159742..70ac879 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ Examples/.classpath Examples/.project Examples/.settings/ deploy_key + +#License files +*.lic From 9b3ac2686ebf52dc41d790906d44695f620d4ef7 Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik Date: Wed, 9 Jun 2021 11:43:54 +0300 Subject: [PATCH 38/76] Moved documentation to the Docs repository. --- .gitmodules | 3 - .travis.yml | 40 --- Docs/LICENSE.md | 171 ------------ Docs/README.md | 3 - Docs/content/annotation/java/_index.md | 25 -- .../annotation/java/developer-guide/_index.md | 13 - .../developer-guide/advanced-usage/_index.md | 13 - .../generate-document-pages-preview.md | 53 ---- .../advanced-usage/loading/_index.md | 11 - .../load-password-protected-documents.md | 53 ---- .../_index.md | 13 - .../load-document-from-ftp.md | 57 ---- .../load-document-from-local-disk.md | 45 ---- .../load-document-from-stream.md | 52 ---- .../load-document-from-url.md | 46 ---- .../advanced-usage/saving/_index.md | 20 -- .../saving/filtering-annotation-types.md | 65 ----- .../saving/save-only-annotated-pages.md | 66 ----- .../saving/save-specific-page-range.md | 52 ---- .../developer-guide/basic-usage/_index.md | 14 - .../add-annotation-to-the-document/_index.md | 41 --- .../add-area-annotation.md | 80 ------ .../add-arrow-annotation.md | 81 ------ .../add-distance-annotation.md | 81 ------ .../add-ellipse-annotation.md | 82 ------ .../add-highlight-annotation.md | 85 ------ .../add-link-annotation.md | 82 ------ .../add-point-annotation.md | 71 ----- .../add-polyline-annotation.md | 82 ------ .../add-replacement-annotation.md | 87 ------ .../add-resource-redaction-annotation.md | 71 ----- .../add-strikeout-annotation.md | 85 ------ .../add-text-field-annotation.md | 91 ------- .../add-text-redaction-annotation.md | 81 ------ .../add-underline-annotation.md | 85 ------ .../add-watermark-annotation.md | 83 ------ .../extract-annotations-from-document.md | 47 ---- .../basic-usage/get-file-info.md | 48 ---- .../basic-usage/get-supported-file-formats.md | 44 ---- .../remove-annotation-from-document.md | 45 ---- .../basic-usage/update-annotations.md | 99 ------- .../working-with-annotation-replies/_index.md | 16 -- .../add-replies-to-annotation.md | 102 -------- .../remove-annotation-replies.md | 71 ----- .../update-annotation-replies.md | 61 ----- .../java/developer-guide/migration-notes.md | 82 ------ .../annotation/java/getting-started/_index.md | 10 - .../evaluation-limitations-and-licensing.md | 82 ------ .../java/getting-started/features-overview.md | 58 ---- .../how-to-run-the-examples.md | 32 --- .../java/getting-started/installation.md | 51 ---- .../supported-document-formats.md | 48 ---- .../getting-started/system-requirements.md | 17 -- .../java/images/add-area-annotation.png | Bin 67938 -> 0 bytes .../java/images/add-arrow-annotation.png | Bin 77011 -> 0 bytes .../java/images/add-distance-annotation.png | Bin 58585 -> 0 bytes .../java/images/add-ellipse-annotation.png | Bin 54238 -> 0 bytes .../java/images/add-highlight-annotation.png | Bin 24302 -> 0 bytes .../java/images/add-link-annotation.png | Bin 23477 -> 0 bytes .../java/images/add-point-annotation.png | Bin 62032 -> 0 bytes .../java/images/add-polyline-annotation.png | Bin 56638 -> 0 bytes .../images/add-replacement-annotation.png | Bin 18799 -> 0 bytes .../add-resource-redaction-annotation.png | Bin 22731 -> 0 bytes .../java/images/add-strikeout-annotation.png | Bin 13752 -> 0 bytes .../java/images/add-text-field-annotation.png | Bin 14368 -> 0 bytes .../images/add-text-redaction-annotation.png | Bin 16164 -> 0 bytes .../java/images/add-underline-annotation.png | Bin 23156 -> 0 bytes .../java/images/add-watermark-annotation.png | Bin 61695 -> 0 bytes Docs/content/annotation/java/images/check.png | Bin 262 -> 0 bytes Docs/content/annotation/java/images/home.png | Bin 4996 -> 0 bytes .../java/images/how-to-run-the-examples.png | Bin 13714 -> 0 bytes .../java/images/how-to-run-the-examples_1.png | Bin 147422 -> 0 bytes ...troducing-groupdocs.annotation-for-java.md | 26 -- .../annotation/java/release-notes/_index.md | 10 - .../release-notes-2016/_index.md | 10 - ...annotation-for-java-3.1.0-release-notes.md | 47 ---- .../release-notes-2017/_index.md | 10 - ...nnotation-for-java-17.1.0-release-notes.md | 145 ---------- ...annotation-for-java-17.10-release-notes.md | 139 ---------- ...notation-for-java-17.10.1-release-notes.md | 34 --- ...notation-for-java-17.10.2-release-notes.md | 30 --- ...nnotation-for-java-17.5.0-release-notes.md | 108 -------- ...nnotation-for-java-17.6.0-release-notes.md | 42 --- .../release-notes-2018/_index.md | 10 - ...notation-for-java-17.10.3-release-notes.md | 23 -- ...annotation-for-java-18.10-release-notes.md | 247 ------------------ ....annotation-for-java-18.4-release-notes.md | 92 ------- .../release-notes-2019/_index.md | 10 - ....annotation-for-java-19.4-release-notes.md | 167 ------------ ....annotation-for-java-19.5-release-notes.md | 136 ---------- ....annotation-for-java-19.7-release-notes.md | 92 ------- .../release-notes-2020/_index.md | 10 - ....annotation-for-java-20.2-release-notes.md | 79 ------ Docs/docs-common | 1 - README.md | 6 +- build_docs.cmd | 5 - deploy_key.enc | Bin 3248 -> 0 bytes 97 files changed, 2 insertions(+), 4473 deletions(-) delete mode 100644 .gitmodules delete mode 100644 .travis.yml delete mode 100644 Docs/LICENSE.md delete mode 100644 Docs/README.md delete mode 100644 Docs/content/annotation/java/_index.md delete mode 100644 Docs/content/annotation/java/developer-guide/_index.md delete mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/_index.md delete mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md delete mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md delete mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md delete mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md delete mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md delete mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md delete mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md delete mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md delete mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md delete mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md delete mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md delete mode 100644 Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/_index.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md delete mode 100644 Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md delete mode 100644 Docs/content/annotation/java/developer-guide/migration-notes.md delete mode 100644 Docs/content/annotation/java/getting-started/_index.md delete mode 100644 Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md delete mode 100644 Docs/content/annotation/java/getting-started/features-overview.md delete mode 100644 Docs/content/annotation/java/getting-started/how-to-run-the-examples.md delete mode 100644 Docs/content/annotation/java/getting-started/installation.md delete mode 100644 Docs/content/annotation/java/getting-started/supported-document-formats.md delete mode 100644 Docs/content/annotation/java/getting-started/system-requirements.md delete mode 100644 Docs/content/annotation/java/images/add-area-annotation.png delete mode 100644 Docs/content/annotation/java/images/add-arrow-annotation.png delete mode 100644 Docs/content/annotation/java/images/add-distance-annotation.png delete mode 100644 Docs/content/annotation/java/images/add-ellipse-annotation.png delete mode 100644 Docs/content/annotation/java/images/add-highlight-annotation.png delete mode 100644 Docs/content/annotation/java/images/add-link-annotation.png delete mode 100644 Docs/content/annotation/java/images/add-point-annotation.png delete mode 100644 Docs/content/annotation/java/images/add-polyline-annotation.png delete mode 100644 Docs/content/annotation/java/images/add-replacement-annotation.png delete mode 100644 Docs/content/annotation/java/images/add-resource-redaction-annotation.png delete mode 100644 Docs/content/annotation/java/images/add-strikeout-annotation.png delete mode 100644 Docs/content/annotation/java/images/add-text-field-annotation.png delete mode 100644 Docs/content/annotation/java/images/add-text-redaction-annotation.png delete mode 100644 Docs/content/annotation/java/images/add-underline-annotation.png delete mode 100644 Docs/content/annotation/java/images/add-watermark-annotation.png delete mode 100644 Docs/content/annotation/java/images/check.png delete mode 100644 Docs/content/annotation/java/images/home.png delete mode 100644 Docs/content/annotation/java/images/how-to-run-the-examples.png delete mode 100644 Docs/content/annotation/java/images/how-to-run-the-examples_1.png delete mode 100644 Docs/content/annotation/java/introducing-groupdocs.annotation-for-java.md delete mode 100644 Docs/content/annotation/java/release-notes/_index.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2016/_index.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2016/groupdocs.annotation-for-java-3.1.0-release-notes.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2017/_index.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2018/_index.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2019/_index.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2020/_index.md delete mode 100644 Docs/content/annotation/java/release-notes/release-notes-2020/groupdocs.annotation-for-java-20.2-release-notes.md delete mode 160000 Docs/docs-common delete mode 100644 build_docs.cmd delete mode 100644 deploy_key.enc diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index ed917ee..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "Docs/docs-common"] - path = Docs/docs-common - url = https://github.com/groupdocs/docs-common.git diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index a1affd5..0000000 --- a/.travis.yml +++ /dev/null @@ -1,40 +0,0 @@ -git: - submodules: false - -branches: - only: - - master - -env: - global: - - PRODUCT=annotation - - PLATFORM=java - - ROOT_DIR=Docs/docs-common - - SRC_DIR=Docs/docs-common/public - - DEST_DIR=/var/www/docs.groupdocs.com/html - -before_install: -- openssl aes-256-cbc -K $encrypted_dfdcfd5172af_key -iv $encrypted_dfdcfd5172af_iv - -in deploy_key.enc -out ./deploy_key -d -- sed -i 's/git@github.com:/https:\/\/github.com\//' .gitmodules -- git submodule update --init --recursive Docs -- git submodule foreach git pull origin master -- eval "$(ssh-agent -s)" -- chmod 600 ./deploy_key -- echo -e "Host $HOST\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config -- ssh-add ./deploy_key - -install: -- curl -LO https://github.com/gohugoio/hugo/releases/download/v0.67.1/hugo_extended_0.67.1_Linux-64bit.deb -- sudo dpkg -i hugo_extended_0.67.1_Linux-64bit.deb - -script: -- cp -r Docs/content/* $ROOT_DIR/content/ -- hugo --source $ROOT_DIR --minify --config config.toml,ignore-total-config.toml -- mkdir -p $SRC_DIR/search-json -- mv $SRC_DIR/index.json $SRC_DIR/search-json/$PRODUCT-$PLATFORM.json - -after_success: -- scp -i ./deploy_key -r $SRC_DIR/$PRODUCT $USER@$HOST:$DEST_DIR -- scp -i ./deploy_key -r $SRC_DIR/product-sitemap.xml $USER@$HOST:$DEST_DIR/sitemaps/$PRODUCT-$PLATFORM.xml -- scp -i ./deploy_key -r $SRC_DIR/search-json/$PRODUCT-$PLATFORM.json $USER@$HOST:$DEST_DIR/search-json/$PRODUCT-$PLATFORM.json \ No newline at end of file diff --git a/Docs/LICENSE.md b/Docs/LICENSE.md deleted file mode 100644 index 5546879..0000000 --- a/Docs/LICENSE.md +++ /dev/null @@ -1,171 +0,0 @@ -# Creative Commons Attribution-ShareAlike 4.0 International - -Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. - -### Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. - -* __Considerations for licensors:__ Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. [More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors). - -* __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees). - -## Creative Commons Attribution-ShareAlike 4.0 International Public License - -By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. - -### Section 1 – Definitions. - -a. __Adapted Material__ means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. - -b. __Adapter's License__ means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. - -c. __BY-SA Compatible License__ means a license listed at [creativecommons.org/compatiblelicenses](http://creativecommons.org/compatiblelicenses), approved by Creative Commons as essentially the equivalent of this Public License. - -d. __Copyright and Similar Rights__ means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. - -e. __Effective Technological Measures__ means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. - -f. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. - -g. __License Elements__ means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike. - -h. __Licensed Material__ means the artistic or literary work, database, or other material to which the Licensor applied this Public License. - -i. __Licensed Rights__ means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. - -j. __Licensor__ means the individual(s) or entity(ies) granting rights under this Public License. - -k. __Share__ means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. - -l. __Sui Generis Database Rights__ means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. - -m. __You__ means the individual or entity exercising the Licensed Rights under this Public License. __Your__ has a corresponding meaning. - -### Section 2 – Scope. - -a. ___License grant.___ - - 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: - - A. reproduce and Share the Licensed Material, in whole or in part; and - - B. produce, reproduce, and Share Adapted Material. - - 2. __Exceptions and Limitations.__ For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. - - 3. __Term.__ The term of this Public License is specified in Section 6(a). - - 4. __Media and formats; technical modifications allowed.__ The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. - - 5. __Downstream recipients.__ - - A. __Offer from the Licensor – Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. - - B. __Additional offer from the Licensor – Adapted Material.__ Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply. - - C. __No downstream restrictions.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. - - 6. __No endorsement.__ Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). - -b. ___Other rights.___ - - 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this Public License. - - 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. - -### Section 3 – License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the following conditions. - -a. ___Attribution.___ - - 1. If You Share the Licensed Material (including in modified form), You must: - - A. retain the following if it is supplied by the Licensor with the Licensed Material: - - i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of warranties; - - v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; - - B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and - - C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. - - 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. - -b. ___ShareAlike.___ - -In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. - -1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License. - -2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. - -3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. - -### Section 4 – Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: - -a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; - -b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and - -c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. - -### Section 5 – Disclaimer of Warranties and Limitation of Liability. - -a. __Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.__ - -b. __To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.__ - -c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. - -### Section 6 – Term and Termination. - -a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. - -b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. - -c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. - -d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. - -### Section 7 – Other Terms and Conditions. - -a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. - -b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. - -### Section 8 – Interpretation. - -a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. - -b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. - -c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. - -d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. - -> Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the [CC0 Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/legalcode). Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. -> -> Creative Commons may be contacted at creativecommons.org. diff --git a/Docs/README.md b/Docs/README.md deleted file mode 100644 index 151183d..0000000 --- a/Docs/README.md +++ /dev/null @@ -1,3 +0,0 @@ -## GroupDocs.Annotation for Java Docs - -[![Build Status](https://travis-ci.com/groupdocs-annotation/GroupDocs.Annotation-for-Java.svg?branch=master)](https://travis-ci.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) diff --git a/Docs/content/annotation/java/_index.md b/Docs/content/annotation/java/_index.md deleted file mode 100644 index 5e6fa50..0000000 --- a/Docs/content/annotation/java/_index.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: home -url: annotation/java -title: GroupDocs.Annotation for Java -weight: 1 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: True ---- -{{< alert style="info" >}} ![](annotation/java/images/home.png)**Welcome to the GroupDocs.Annotation for Java** -GroupDocs.Annotation for Java is a lightweight API that lets you seamlessly enhance your Java app with document viewing and annotation functionality. API supports Microsoft Word DOCX, Excel XLSX, PowerPoint PPTX and PDF documents currently. Image formats will be available soon. Consuming API, you can enable end users to view, annotate, share and print both types of documents from within your Java app. -{{< /alert >}} - -## GroupDocs.Annotation for Java Resources -Following are the links to some useful resources you may need to accomplish your tasks. -* [GroupDocs.Annotation for Java Online Documentation]({{< ref "annotation/java" >}}) -* [GroupDocs.Annotation for Java Features]({{< ref "annotation/java/getting-started/features-overview.md" >}}) -* [GroupDocs.Annotation for Java Limitations]({{< ref "annotation/java/getting-started/evaluation-limitations-and-licensing.md" >}}) -* [GroupDocs.Annotation for Java Release Notes]({{< ref "annotation/java/release-notes/_index.md" >}}) -* [GroupDocs.Annotation for Java Product Page](https://products.groupdocs.com/annotation/java) -* [Download GroupDocs.Annotation for Java](https://repository.groupdocs.com/webapp/#/artifacts/browse/tree/General/repo/com/groupdocs/groupdocs-annotation) -* [GroupDocs.Annotation for Java API Reference Guide](https://apireference.groupdocs.com/java/annotation) -* [GroupDocs.Annotation for Java Free Support Forum](https://forum.groupdocs.com/c/annotation) -* [GroupDocs.Annotation for Java Paid Support Helpdesk](https://helpdesk.groupdocs.com/) diff --git a/Docs/content/annotation/java/developer-guide/_index.md b/Docs/content/annotation/java/developer-guide/_index.md deleted file mode 100644 index 8889274..0000000 --- a/Docs/content/annotation/java/developer-guide/_index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: developer-guide -url: annotation/java/developer-guide -title: Developer Guide -weight: 3 -description: "GroupDocs.Annotation for Java developer guide explains document annotator features and shows how to annotate PDF, Word, Excel, PowerPoint documents and images inside your Java applications" -keywords: GroupDocs.Annotation Developer Guide, GroupDocs.Annotation Java Developer Guide, GroupDocs.Annotation Developer Guide Java, Using GroupDocs.Annotation for Java, GroupDocs.Annotation for Java use cases -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}} -This section describes some basic and advanced use cases of GroupDocs.Annotation for Java. Please refer to [GitHub repository](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) for more examples and samples. -{{< /alert >}} diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/_index.md deleted file mode 100644 index a2af564..0000000 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/_index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: advanced-usage -url: annotation/java/advanced-usage -title: Advanced usage -weight: 2 -description: "Learn about GroupDocs.Annotation advanced usage and its multiple powerful features like customizing document annotating process and annotations appearance etc." -keywords: GroupDocs.Annotation Advanced Features, GroupDocs.Annotation Customization, GroupDocs.Annotation Advanced Features Java -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -Along with the ability to annotate documents using a couple lines of code **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** API allows to fine tune the document processing from start to end - like loading password-protected documents in different ways, saving results in different ways, generate document pages preview in image form and many other.  - -Learn more about advanced GroupDocs.Annotation features from the guides below. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md b/Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md deleted file mode 100644 index 9514a8c..0000000 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/generate-document-pages-preview.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -id: generate-document-pages-preview -url: annotation/java/generate-document-pages-preview -title: Generate document pages preview -weight: 1 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to generate document page previews using [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method of a [Document](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document) class. -[PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) class is used to manage preview generation process - specify desired page numbers, image format etc. - -Here are the steps to generate document preview with GroupDocs.Annotation API: -* Create new instance of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) class and pass source document path as a constructor parameter. -* [Document](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document) field of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object allows to access source document and provides [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method. -* Instantiate the [PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) object with path format to generated images; -* Specify image preview format - PNG / JPG / BMP via [setPreviewFormat](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions#setPreviewFormat(int)) method; -* page numbers to process via setPageNumbers method; -* Call [generatePreview](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Document#generatePreview(com.groupdocs.annotation.options.pagepreview.PreviewOptions)) method of [Annotator.getDocument()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#getDocument()) method result and pass [PreviewOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.pagepreview/PreviewOptions) to it. - -GroupDocs.Annotation provides an ability to choose between image quality and size. **BMP** format should be used for the best image quality. **JPG** format will be useful in case of strict requirements to image size - it produces smallest image size (and faster loading image previews), but with lower quality than **BMP**. By default **PNG** format is selected - which is a golden mean between image quality and size. - -The following code snippet demonstrates how to generate document previews. - -## Get document page previews  - -```java -Annotator annotator = new Annotator("input.pdf"); -PreviewOptions previewOptions = new PreviewOptions("C://Output//GenerateDocumentPagesPreview_{0}.png"); -previewOptions.setPreviewFormat(PreviewFormats.PNG); -previewOptions.setPageNumbers(new int[]{1, 2}); -annotator.getDocument().generatePreview(previewOptions); -annotator.dispose(); -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md deleted file mode 100644 index 7cdda00..0000000 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/_index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: loading -url: annotation/java/loading -title: Loading -weight: 2 -description: "Following this guide you will learn how to load PDF, Word, Excel, PowerPoint documents by local file path, stream or third-party storage for further processing with GroupDocs.Annotation for Java API." -keywords: Load document from local path, Load document from stream -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows you to load password-protected documents and load documents from different sources. For more details please refer to the following guides: \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md deleted file mode 100644 index d39df47..0000000 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/load-password-protected-documents.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -id: load-password-protected-documents -url: annotation/java/load-password-protected-documents -title: Load password-protected documents -weight: 1 -description: "This article explains how to load password-protected PDF, Word, Excel, PowerPoint documents when using GroupDocs.Annotation for Java." -keywords: Load password-protected document, Load protected document with GroupDocs.Annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -[**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) allows to annotate documents that are protected with a password. - -The following are the steps to process password-protected documents. - -* Instantiate [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object and specify source document password; -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with document path or stream and [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object created at previous step; - - -The following code sample shows how to work with password protected documents. - -```java -String outputPath = "LoadPasswordProtectedDocuments.pdf"; - -LoadOptions loadOptions = new LoadOptions(); -loadOptions.setPassword("1234"); - -Annotator annotator = new Annotator("input_protected.pdf", loadOptions); -AreaAnnotation area = new AreaAnnotation(); -area.setBox(new Rectangle(100, 100, 100, 100)); -area.setBackgroundColor(65535); - -annotator.add(area); -annotator.save(outputPath); -annotator.dispose(); -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md deleted file mode 100644 index 5ae3926..0000000 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/_index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: loading-documents-from-different-sources -url: annotation/java/loading-documents-from-different-sources -title: Loading documents from different sources -weight: 2 -description: "Following this guide you will learn how to load PDF, Word, Excel, PowerPoint documents by local file path, stream or URL for further processing with GroupDocs.Annotation for Java API." -keywords: Load document from file path, Load document from URL, Load document from stream -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -[**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) allows you to annotate remotely located documents. The document processing would be similar to [Load document from stream]({{< ref "annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md" >}}). - -Following examples demonstrates how to load documents from different sources. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md deleted file mode 100644 index 53f6f54..0000000 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-ftp.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -id: load-document-from-ftp -url: annotation/java/load-document-from-ftp -title: Load document from FTP -weight: 4 -description: "This article explains how to load PDF, Word, Excel, PowerPoint documents from FTP when using GroupDocs.Annotation for Java." -keywords: Load document from URL, Load document by FTP GroupDocs.Annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -Following example demonstrates how to annotate document from FTP. - -```java -import org.apache.commons.net.ftp.FTPClient; - -public static void main() { - String outputPath = "LoadDocumentFromFtp.pdf"; - String filePath = "sample.pdf"; - String server = "localhost"; - - Annotator annotator = new Annotator(getFileFromFtp(server, filePath)); - - AreaAnnotation area = new AreaAnnotation(); - area.setBox(new Rectangle(100, 100, 100, 100)); - area.setBackgroundColor(65535); - - annotator.add(area); - annotator.save(outputPath); - annotator.dispose(); -} - -private static InputStream getFileFromFtp(String server, String filePath) throws IOException { - FTPClient client = new FTPClient(); - client.connect(server); - InputStream inputStream = client.retrieveFileStream(filePath); - client.disconnect(); - return inputStream; -} -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md deleted file mode 100644 index 75afb97..0000000 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-local-disk.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -id: load-document-from-local-disk -url: annotation/java/load-document-from-local-disk -title: Load document from local disk -weight: 1 -description: "This article explains how to load PDF, Word, Excel, PowerPoint documents from local disk when using GroupDocs.Annotation for Java." -keywords: Load document from local disk, Load document from file path, Load document with GroupDocs.Annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -When the source document is located on the local disk [**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) allows you to load it via [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) class constructor specifying absolute or relative path to it. For loading target document located on the local disk you should use [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method that accepts absolute or relative path as parameter.  - -Following code snippet shows how to load documents from local disk. - -```java -String outputPath = "LoadDocumentFromLocalDisk.pdf"; - -Annotator annotator = new Annotator("input.pdf"); - -AreaAnnotation area = new AreaAnnotation(); -area.setBox(new Rectangle(100, 100, 100, 100)); -area.setBackgroundColor(65535); - -annotator.add(area); -annotator.save(outputPath); -annotator.dispose(); -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md deleted file mode 100644 index 0f263f4..0000000 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-stream.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -id: load-document-from-stream -url: annotation/java/load-document-from-stream -title: Load document from stream -weight: 2 -description: "This article explains how to load PDF, Word, Excel, PowerPoint documents from stream when using GroupDocs.Annotation for Java." -keywords: Load document from stream, Load document with GroupDocs.Annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -There might be the case when source or target document is not physically located on the disk. Instead, you have the document in the form of a stream. In this case, to avoid the overhead of saving stream as a file on disk, [**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) provides a way to work with document streams directly.  -The following are the steps to be followed: - -* Obtain document stream;  -* Pass opened source document stream to [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) class constructor. - -Following code snippet describes this case. - - - -```java -String outputPath = "LoadDocumentFromStream.pdf"; - -InputStream stream = new FileInputStream("input.pdf"); -final Annotator annotator = new Annotator(stream); - -AreaAnnotation area = new AreaAnnotation(); -area.setBox(new Rectangle(100, 100, 100, 100)); -area.setBackgroundColor(65535); - -annotator.add(area); -annotator.save(outputPath); -annotator.dispose(); -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md b/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md deleted file mode 100644 index c081ca7..0000000 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/loading/loading-documents-from-different-sources/load-document-from-url.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: load-document-from-url -url: annotation/java/load-document-from-url -title: Load document from URL -weight: 3 -description: "This article explains how to load PDF, Word, Excel, PowerPoint documents from URL when using GroupDocs.Annotation for Java." -keywords: Load document from URL, Load document by URL GroupDocs.Annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -Following example demonstrates how to annotate document from URL. - - - -```java -String outputPath = "LoadDocumentFromUrl.pdf"; - -String url = "https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/blob/master/Examples/Resources/SampleFiles/input.pdf?raw=true"; -Annotator annotator = new Annotator(new URL(url).openStream()); - -AreaAnnotation area = new AreaAnnotation(); -area.setBox(new Rectangle(100, 100, 100, 100)); -area.setBackgroundColor(65535); -annotator.add(area); -annotator.save(outputPath); - -annotator.dispose();  -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md deleted file mode 100644 index 59b2e46..0000000 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/_index.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -id: saving -url: annotation/java/saving -title: Saving -weight: 3 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** provides different ways of saving resultant document - with specific annotations type only, save only annotated pages, save specific page range from resultant document, set password on saving resultant document etc. - -The [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) class provides following properties to customize saving process: - -* **AnnotationTypes** - defines annotation types to be saved into resultant document; -* **FirstPage** - first page number when saving specific page range; -* **LastPage** - last page number when saving specific page range; -* **OnlyAnnotatedPages** - indicates whether to save only annotated pages or not; - -For more details please refer to the following guides: \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md deleted file mode 100644 index 9c69af7..0000000 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/filtering-annotation-types.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -id: filtering-annotation-types -url: annotation/java/filtering-annotation-types -title: Filtering annotation types -weight: 1 -description: "Learn this guide to check how to filter annotation types during saving document using GroupDocs.Annotation for Java API." -keywords: save specific annotation types, save annotations -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -This feature can be using when need to save only specific annotation types and ignore others. - -The following are the steps how to filter exported annotations to document:  - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object and set [AnnotationType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/AnnotationType) desired annotation type(s), that will presented in resultant document; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; - - -Following code snippet shows how to save only pages with specific annotation type - -```java -String outputPath = "FilteringAnnotationTypes.pdf"; - -Annotator annotator = new Annotator("input.pdf"); - -AreaAnnotation area = new AreaAnnotation(); -area.setBox(new Rectangle(100, 100, 100, 100)); -area.setBackgroundColor(65535); -area.setPageNumber(1); - -EllipseAnnotation ellipse = new EllipseAnnotation(); -ellipse.setBox(new Rectangle(100, 100, 100, 100)); -ellipse.setBackgroundColor(123456); -ellipse.setPageNumber(4); - -List tmp0 = new ArrayList(); -tmp0.add(area); -tmp0.add(ellipse); -annotator.add(tmp0); - -SaveOptions tmp1 = new SaveOptions(); -tmp1.setAnnotationTypes(AnnotationType.Ellipse); - -annotator.save(outputPath, tmp1); -annotator.dispose(); -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md deleted file mode 100644 index 7184063..0000000 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-only-annotated-pages.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -id: save-only-annotated-pages -url: annotation/java/save-only-annotated-pages -title: Save only annotated pages -weight: 2 -description: "This article demonstrates how to save only annotated pages when using GroupDocs.Annotation for Java API." -keywords: Save annotated pages, save annotations -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -Result document will contains only pages, which contains any annotation. - -The following are the steps how to export to resultant document only annotated pages:  - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object and set [AnnotationType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/AnnotationType) desired annotation type(s), that will presented in resultant document; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; - - -Following code snippet shows how to save only annotated pages of document - -```java -String outputPath = "SavingOnlyPagesWithAnnotations.pdf"; - -Annotator annotator = new Annotator("input.pdf"); - -AreaAnnotation area = new AreaAnnotation(); -area.setBox(new Rectangle(100, 100, 100, 100)); -area.setBackgroundColor(65535); -area.setPageNumber(1); - -EllipseAnnotation ellipse = new EllipseAnnotation(); -ellipse.setBox(new Rectangle(100, 100, 100, 100)); -ellipse.setBackgroundColor(123456); -ellipse.setPageNumber(2); - -List annotations = new ArrayList(); -annotations.add(area); -annotations.add(ellipse); - -annotator.add(annotations); - -SaveOptions saveOptions = new SaveOptions(); -saveOptions.setOnlyAnnotatedPages(true); -annotator.save(outputPath, saveOptions); - -annotator.dispose(); -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md b/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md deleted file mode 100644 index c30e781..0000000 --- a/Docs/content/annotation/java/developer-guide/advanced-usage/saving/save-specific-page-range.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -id: save-specific-page-range -url: annotation/java/save-specific-page-range -title: Save specific page range -weight: 3 -description: "This article demonstrates how to save specific page range when annotating documents with GroupDocs.Annotation for Java API." -keywords: Save specific annotated pages, save specific pages -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -In case of processing large documents (for example 100 pages or more) there is an ability to save only specific pages or desired pages range.  - -The following are the steps how to export resultant specific page range:  - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object and use [setFirstPage](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions#setFirstPage(int)) and high bound [setLastPage](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions#setLastPage(int)) for setting select borders; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; - - -The following code demonstrates how to save the range of document page:  - -```java -String outputPath = "SavingSpecificPageRange.pdf"; - -Annotator annotator = new Annotator("input.pdf"); - -SaveOptions saveOptions = new SaveOptions(); -saveOptions.setFirstPage(2); -saveOptions.setLastPage(4); - -annotator.save(outputPath, saveOptions); - -annotator.dispose(); -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/_index.md b/Docs/content/annotation/java/developer-guide/basic-usage/_index.md deleted file mode 100644 index 370dc66..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/_index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -id: basic-usage -url: annotation/java/basic-usage -title: Basic usage -weight: 1 -description: "Quick Start section about main features of GroupDocs.Annotation API, describes how to annotate documents with just couple lines of code." -keywords: GroupDocs.Annotation Quick Start, GroupDocs.Annotation Java Basic Usage, GroupDocs.Annotation Quick Start Java, GroupDocs.Annotation Get Started -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -## Quick Start section for GroupDocs.Annotation API - -Annotate your documents fast and easy with our intuitive and powerful API just with few lines of code. -Let’s review common usage scenarios when documents are stored at a local drive and you want to annotate them using GroupDocs.Annotation API. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md deleted file mode 100644 index 0a0544f..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/_index.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -id: add-annotation-to-the-document -url: annotation/java/add-annotation-to-the-document -title: Add annotation to the document -weight: 3 -description: "Learn about what is a document annotation, what possible annotation types are, and how to programmatically add annotations to a document using GroupDocs.Annotation API." -keywords: What is annotation, document annotation, add annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -## What is a document annotation? - -**Annotation** is a textual or graphic notes, comments and remarks attached to a specific part of a document content - sections, paragraphs, sentences or even words. Annotations are often used by a group of collaborators to edit and review documents in a quick and handy manner - the document is shared with reviewers who then mark it up and add notes. Then assigned team members read these annotations and modify document content accordingly. - -Today annotations can be programmatically added to a documents and images of various  types - PDF, Microsoft Word and Open Document text documents, Microsoft Excel spreadsheets, Microsoft PowerPoint presentations, PNG / JPG / TIFF images etc.  - -### Add annotation to the document - -**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to apply multiple annotation types to the different document formats. Supported annotations list is described in a table below.  - -### List of supported annotations - -| Annotation | Description | -| --- | --- | -| [Area]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md" >}}) | Rectangle annotation that can be applied in random place on document page. | -| [Arrow]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md" >}}) | Annotation in the form of pointer or arrow. | -| [Distance]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md" >}}) | Annotation looks like arrow but with arrows at both line ends. For most document formats this annotation can contains text value (this feature not support for Word documents). | -| [Ellipse]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md" >}}) | Circle-based annotation. | -| [Highlight]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md" >}}) | This annotation highlight text. Applicable only for text. | -| [Link]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md" >}}) | Represents a web-link that can be applied to the part of text. This annotation supports only for Pdf, WordProcessing documents and Presentations. | -| [Point]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md" >}}) | Represents abstract point annotation. | -| [Polyline]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md" >}}) | Represents free-hand drawing line. | -| [Replacement]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md" >}}) | Replace original document text by user text. Applicable only for text. | -| [Resource redaction]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md" >}}) | Represents free rectangle annotation with fixed position and black background. For this annotation is impossible to move it (in result document), and change any visual properties. | -| [Strikeout]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md" >}}) | Make selected text strikeout. Applicable only for text. | -| [Text field]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md" >}}) | This is a rectangle annotation with some text inside rectangle area. | -| [Text redaction]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md" >}}) | Same as resource redaction annotation, but applicable only for text. | -| [Underline]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md" >}}) | Make selected text underline. Applicable only for text. | -| [Watermark]({{< ref "annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md" >}}) | Add text watermark. PageNumber for this annotation is ignored, because annotation adds to all document pages. For some document formats can set Angle property, that determines annotation angle rotation. | - -For detailed explanation about how to apply different annotation types to a document, please check these guides: diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md deleted file mode 100644 index 9cf2eb1..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-area-annotation.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -id: add-area-annotation -url: annotation/java/add-area-annotation -title: Add area annotation -weight: 1 -description: "Learn what is area annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is area annotation, how to add annotation, add area annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Area annotation** allows to mark up an area within the document page with a rectangle like shown at the picture below.  - -![](annotation/java/images/add-area-annotation.png) - -There is an ability to specify the next fields for [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) type: -* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) - defines frame line width in pixels. - -Follow these steps to add Area annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) object with desired fields (position, page number, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) object; -* Call [save](https://apireference-qa.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - -The following code demonstrates how to add [AreaAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation) to the document: - -```java - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - String outputPath = Constants.getOutputFilePath("AddAreaAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); - try { - AreaAnnotation area = new AreaAnnotation(); - area.setBackgroundColor(65535); - area.setBox(new Rectangle(100, 100, 100, 100)); - area.setCreatedOn(Calendar.getInstance().getTime()); - area.setMessage("This is area annotation"); - area.setOpacity(0.7); - area.setPageNumber(0); - area.setPenColor(65535); - area.setPenStyle(PenStyle.Dot); - area.setPenWidth((byte) 3); - area.setReplies(replies); - annotator.add(area); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md deleted file mode 100644 index 3b55800..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-arrow-annotation.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -id: add-arrow-annotation -url: annotation/java/add-arrow-annotation -title: Add arrow annotation -weight: 2 -description: "Learn what is arrow annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is arrow annotation, how to add annotation, add arrow annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Arrow annotation** draws an arrow on the document like shown at the picture below.  - -![](annotation/java/images/add-arrow-annotation.png) - -There  is an ability to specify the next fields for [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) type: - -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) - defines frame line width in pixels. - - -Follow these steps to add Arrow annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) object with input document path or stream; -* Instantiate [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) object with desired properties (position, page number, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) object; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - - -The following code demonstrates how to add [ArrowAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ArrowAnnotation) to the document: - -```java -String outputPath = Constants.getOutputFilePath("AddArrowAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); - try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - ArrowAnnotation arrow = new ArrowAnnotation(); - arrow.setBox(new Rectangle(100, 100, 100, 100)); - arrow.setCreatedOn(Calendar.getInstance().getTime()); - arrow.setMessage("This is arrow annotation"); - arrow.setOpacity(0.7); - arrow.setPageNumber(0); - arrow.setPenColor(65535); - arrow.setPenStyle(PenStyle.Dot); - arrow.setPenWidth((byte) 3); - arrow.setReplies(replies); - annotator.add(arrow); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md deleted file mode 100644 index 8ddaece..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-distance-annotation.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -id: add-distance-annotation -url: annotation/java/add-distance-annotation -title: Add distance annotation -weight: 3 -description: "Learn what is a distance annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is a distance annotation, how to add annotation, add distance annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Distance annotation** measures a distance between objects in a document like shown at the picture below.  - -![](annotation/java/images/add-distance-annotation.png) - -There is an ability to specify the next fields for [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) type: -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. - - - -Follow these steps to add Distance annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) object with desired properties (position, page number, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) object; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - - -The following code demonstrates how to add [DistanceAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/DistanceAnnotation) to the document: - -```java -String outputPath = Constants.getOutputFilePath("AddDistanceAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); - try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - DistanceAnnotation distance = new DistanceAnnotation(); - distance.setBox(new Rectangle(200, 150, 200, 30)); - distance.setCreatedOn(Calendar.getInstance().getTime()); - distance.setMessage("This is distance annotation"); - distance.setOpacity(0.7); - distance.setPageNumber(0); - distance.setPenColor(65535); - distance.setPenStyle(PenStyle.Dot); - distance.setPenWidth((byte) 3); - distance.setReplies(replies); - annotator.add(distance); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md deleted file mode 100644 index b27a527..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-ellipse-annotation.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -id: add-ellipse-annotation -url: annotation/java/add-ellipse-annotation -title: Add ellipse annotation -weight: 4 -description: "Learn what is an ellipse annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is a ellipse annotation, how to add annotation, add ellipse annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Ellipse annotation** draws elliptic annotation in a document page like shown at the picture below. - -![](annotation/java/images/add-ellipse-annotation.png) - -There is an ability to specify the next fields for [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) type: -* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. - -Follow these steps to add Ellipse annotation to document:  - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) object with desired properties (position, page number, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) object; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - - -The following code demonstrates how to add [EllipseAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/EllipseAnnotation) to the document:  - -```java -String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); - try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - EllipseAnnotation ellipse = new EllipseAnnotation(); - ellipse.setBackgroundColor(65535); - ellipse.setBox(new Rectangle(100, 100, 100, 100)); - ellipse.setCreatedOn(Calendar.getInstance().getTime()); - ellipse.setMessage("This is ellipse annotation"); - ellipse.setOpacity(0.7); - ellipse.setPageNumber(0); - ellipse.setPenColor(65535); - ellipse.setPenStyle(PenStyle.Dot); - ellipse.setPenWidth((byte) 3); - ellipse.setReplies(replies); - annotator.add(ellipse); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md deleted file mode 100644 index 08dc3f5..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-highlight-annotation.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -id: add-highlight-annotation -url: annotation/java/add-highlight-annotation -title: Add highlight annotation -weight: 5 -description: "Learn what is a highlight annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is a highlight annotation, how to add annotation, add highlight annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Highlight** annotation highlights and comments selected text  like shown at the picture below.  - -![](annotation/java/images/add-highlight-annotation.png) - -There is an ability to specify the next fields for [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) type: -* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; -* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor())  - color of annotation text; -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. - - -Follow these steps to add Highlight annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) object with desired properties (position, page number, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) object; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - -The following code demonstrates how to add [HighlightAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation) to the document: - -```java - final Annotator annotator = new Annotator(Constants.INPUT); - try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - Point point1 = new Point(80, 730); - Point point2 = new Point(240, 730); - Point point3 = new Point(80, 650); - Point point4 = new Point(240, 650); - List points = new ArrayList(); - points.add(point1); - points.add(point2); - points.add(point3); - points.add(point4); - HighlightAnnotation highlight = new HighlightAnnotation(); - highlight.setBackgroundColor(65535); - highlight.setCreatedOn(Calendar.getInstance().getTime()); - highlight.setFontColor(0); - highlight.setMessage("This is highlight annotation"); - highlight.setOpacity(0.5); - highlight.setPageNumber(0); - highlight.setPoints(points); - highlight.setReplies(replies); - annotator.add(highlight); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md deleted file mode 100644 index d4ad339..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-link-annotation.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -id: add-link-annotation -url: annotation/java/add-link-annotation -title: Add link annotation -weight: 6 -description: "Learn what is a link annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is a link annotation, how to add annotation, add link annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Link** annotation adds a hyper link to document  like shown at the picture below.  - -![](annotation/java/images/add-link-annotation.png) - -There is an ability to specify the next fields for [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) type: -* [Url](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation#getUrl()) - link to the web resource. -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation#getPoints()) - annotation positions set by array of points. - -Follow these steps to add Underline annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) object with desired properties (position, page number, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) object; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - -The following code demonstrates how to add [LinkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/LinkAnnotation) to the document: - -```java -String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); - try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - Point point1 = new Point(80, 730); - Point point2 = new Point(240, 730); - Point point3 = new Point(80, 650); - Point point4 = new Point(240, 650); - List points = new ArrayList(); - points.add(point1); - points.add(point2); - points.add(point3); - points.add(point4); - LinkAnnotation link = new LinkAnnotation(); - link.setCreatedOn(Calendar.getInstance().getTime()); - link.setMessage("This is link annotation"); - link.setOpacity(0.7); - link.setPageNumber(0); - link.setPoints(points); - link.setReplies(replies); - link.setUrl("https://www.google.com"); - annotator.add(link); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md deleted file mode 100644 index 71fa0c2..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-point-annotation.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: add-point-annotation -url: annotation/java/add-point-annotation -title: Add point annotation -weight: 7 -description: "Learn what is a point annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is a point annotation, how to add annotation, add point annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Point** annotationsticks comments to any point in a document like shown at the picture below.  - -![](annotation/java/images/add-point-annotation.png) - -There is an ability to specify the next fields for [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) type: -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PointAnnotation#getBox()) - defines annotation position at document page; - -Follow these steps to add Point annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) object with desired properties (position, page number, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) object; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - - -The following code demonstrates how to add [PointAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PointAnnotation) to the document: - -```java -String outputPath = Constants.getOutputFilePath("AddPointAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); - try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - PointAnnotation point = new PointAnnotation(); - point.setBox(new Rectangle(100, 100, 0, 0)); - point.setCreatedOn(Calendar.getInstance().getTime()); - point.setMessage("This is point annotation"); - point.setPageNumber(0); - point.setReplies(replies); - annotator.add(point); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md deleted file mode 100644 index d5923a2..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-polyline-annotation.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -id: add-polyline-annotation -url: annotation/java/add-polyline-annotation -title: Add polyline annotation -weight: 8 -description: "Learn what is a polyline annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is a polyline annotation, how to add annotation, add polyline annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Polyline** annotation allows to draw shapes and freehand lines like shown at the picture below.  - -![](annotation/java/images/add-polyline-annotation.png) - -There is an ability to specify the next fields for [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) type: -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. -* [SvgPath](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation#getSvgPath()) \- SVG path that describes shape. - - -Follow these steps to add Polyline annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) object with desired properties (position, page number, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) object; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - - -The following code demonstrates how to add [PolylineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/PolylineAnnotation) to the document: - -```java -String outputPath = Constants.getOutputFilePath("AddPolylineAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); - try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - PolylineAnnotation polyline = new PolylineAnnotation(); - polyline.setBox(new Rectangle(250, 35, 102, 12)); - polyline.setCreatedOn(Calendar.getInstance().getTime()); - polyline.setMessage("This is polyline annotation"); - polyline.setOpacity(0.7); - polyline.setPageNumber(0); - polyline.setPenColor(65535); - polyline.setPenStyle(PenStyle.Dot); - polyline.setPenWidth((byte) 3); - polyline.setReplies(replies); - polyline.setSvgPath("M250.8280751173709,48.209295774647885l0.6986854460093896,0l0.6986854460093896,-1.3973708920187793l0.6986854460093896,0l0.6986854460093896,-1.3973708920187793l1.3973708920187793,-0.6986854460093896l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0l2.096056338028169,-1.3973708920187793l3.493427230046948,-1.3973708920187793l0.6986854460093896,-0.6986854460093896l1.3973708920187793,-1.3973708920187793l0.6986854460093896,0l1.3973708920187793,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0l0,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l0,-0.6986854460093896l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l2.096056338028169,-0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l1.3973708920187793,0l1.3973708920187793,0l2.096056338028169,0l5.589483568075117,0l1.3973708920187793,0l2.096056338028169,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l1.3973708920187793,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0l2.096056338028169,1.3973708920187793l0.6986854460093896,0l0.6986854460093896,0l0,0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0.6986854460093896l0,0.6986854460093896l0.6986854460093896,0l1.3973708920187793,0.6986854460093896l1.3973708920187793,0.6986854460093896l3.493427230046948,0.6986854460093896l1.3973708920187793,0.6986854460093896l2.096056338028169,0.6986854460093896l1.3973708920187793,0.6986854460093896l1.3973708920187793,0l1.3973708920187793,0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l2.7947417840375586,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l2.7947417840375586,0l0.6986854460093896,0l2.7947417840375586,0l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0"); - annotator.add(polyline); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md deleted file mode 100644 index 682ce28..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-replacement-annotation.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -id: add-replacement-annotation -url: annotation/java/add-replacement-annotation -title: Add replacement annotation -weight: 9 -description: "Learn what is a replacement annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is a replacement annotation, how to add annotation, add replacement annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Replacement** annotation replaces original text with other provided text fragment. Please check the picture below to know how replacement annotation may look like.  - -![](annotation/java/images/add-replacement-annotation.png) - -There is an ability to specify the next fields for [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) type: -* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor()) - color of annotation text; -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. -* [TextToReplace](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation#getTextToReplace()) - text that will be replaced  - - -Follow these steps to add Replacement annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) object with desired properties (position, page number, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) object; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream; - - -The following code demonstrates how to add [ReplacementAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ReplacementAnnotation) to the document: - -```java -String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); - try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - Point point1 = new Point(80, 730); - Point point2 = new Point(240, 730); - Point point3 = new Point(80, 650); - Point point4 = new Point(240, 650); - List points = new ArrayList(); - points.add(point1); - points.add(point2); - points.add(point3); - points.add(point4); - ReplacementAnnotation replacement = new ReplacementAnnotation(); - replacement.setCreatedOn(Calendar.getInstance().getTime()); - replacement.setFontColor(65535); - replacement.setMessage("This is replacement annotation"); - replacement.setOpacity(0.7); - replacement.setPageNumber(0); - replacement.setPoints(points); - replacement.setReplies(replies); - replacement.setTextToReplace("replaced text"); - annotator.add(replacement); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md deleted file mode 100644 index d69a4c0..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-resource-redaction-annotation.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: add-resource-redaction-annotation -url: annotation/java/add-resource-redaction-annotation -title: Add resource redaction annotation -weight: 10 -description: "Learn what is a resource redaction annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is a resource redaction annotation, how to add annotation, add resource redaction annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Resource redaction** annotation fills black rectangle with fixed position (used if you want to hide some text) like shown at the picture below.  - -![](annotation/java/images/add-resource-redaction-annotation.png) - -There is an ability to specify the next fields for [ResourcesRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) type: -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation#getBox()) - defines annotation position at document page; - - -Follow these steps to add Resource redaction annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [ResourceRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) object with desired properties (position, page number, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [ResourceRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) object; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - -The following code demonstrates how to add [ResourcesRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/ResourcesRedactionAnnotation) to the document: - -```java -String outputPath = Constants.getOutputFilePath("AddResourcesRedactionAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); - try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - ResourcesRedactionAnnotation resourcesRedaction = new ResourcesRedactionAnnotation(); - resourcesRedaction.setBox(new Rectangle(100, 100, 100, 100)); - resourcesRedaction.setCreatedOn(Calendar.getInstance().getTime()); - resourcesRedaction.setMessage("This is resources redaction annotation"); - resourcesRedaction.setPageNumber(0); - resourcesRedaction.setReplies(replies); - annotator.add(resourcesRedaction); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md deleted file mode 100644 index 195f691..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-strikeout-annotation.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -id: add-strikeout-annotation -url: annotation/java/add-strikeout-annotation -title: Add strikeout annotation -weight: 11 -description: " Learn what is a strikeout annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is a strikeout annotation, how to add annotation, add strikeout annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Strikeout** annotation marks text fragment with a strikethrough styling like shown at the picture below. - -![](annotation/java/images/add-strikeout-annotation.png) - -There is an ability to specify the next fields for [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) type: -* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor()) - color of annotation text; -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. - - -Follow these steps to add Strikeout annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) object with input document path or stream; -* Instantiate [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) object with desired properties (position, page number, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) object; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - - -The following code demonstrates how to add [StrikeoutAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/StrikeoutAnnotation) to the document: - -```java -String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); - try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - Point point1 = new Point(80, 730); - Point point2 = new Point(240, 730); - Point point3 = new Point(80, 650); - Point point4 = new Point(240, 650); - List points = new ArrayList(); - points.add(point1); - points.add(point2); - points.add(point3); - points.add(point4); - StrikeoutAnnotation strikeout = new StrikeoutAnnotation(); - strikeout.setCreatedOn(Calendar.getInstance().getTime()); - strikeout.setFontColor(65535); - strikeout.setMessage("This is strikeout annotation"); - strikeout.setOpacity(0.7); - strikeout.setPageNumber(0); - strikeout.setPoints(points); - strikeout.setReplies(replies); - annotator.add(strikeout); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md deleted file mode 100644 index 3ff91da..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-field-annotation.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -id: add-text-field-annotation -url: annotation/java/add-text-field-annotation -title: Add text field annotation -weight: 12 -description: "Learn what is a text field annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is a text field annotation, how to add annotation, add text field annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Text field** annotation adds rectangle with a text inside, like shown at the picture below.  - -![](annotation/java/images/add-text-field-annotation.png) - -There is an ability to specify the next fields for [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) type: -* [BackgroundColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBackgroundColor()) - describes area background color; -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getBox()) - defines annotation position at document page; -* [Text](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getText()) - text that will be appear in rectangle -* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontColor()) - color of the text -* [FontFamily](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontFamily()) - name of text font; -* [FontSize](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontSize())  - size of text font; -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; -* [PenColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenColor()) - defines frame color; -* [PenStyle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenStyle()) - defines frame line style (solid, dash, dot etc.); -* [PenWidth](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getPenWidth()) -  defines frame line width in pixels. - -Follow these steps to add *TextField* annotation to document: -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) object with desired properties (position, page number, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) object; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - - -The following code demonstrates how to add [TextFieldAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation) to the document: - -```java -String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); - try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - Point point1 = new Point(80, 730); - Point point2 = new Point(240, 730); - Point point3 = new Point(80, 650); - Point point4 = new Point(240, 650); - List points = new ArrayList(); - points.add(point1); - points.add(point2); - points.add(point3); - points.add(point4); - StrikeoutAnnotation strikeout = new StrikeoutAnnotation(); - strikeout.setCreatedOn(Calendar.getInstance().getTime()); - strikeout.setFontColor(65535); - strikeout.setMessage("This is strikeout annotation"); - strikeout.setOpacity(0.7); - strikeout.setPageNumber(0); - strikeout.setPoints(points); - strikeout.setReplies(replies); - annotator.add(strikeout); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md deleted file mode 100644 index f3c7ed0..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-text-redaction-annotation.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -id: add-text-redaction-annotation -url: annotation/java/add-text-redaction-annotation -title: Add text redaction annotation -weight: 13 -description: "Learn what is a text redaction annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is a text redaction annotation, how to add annotation, add text redaction annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Text redaction** annotation fills part of text with black rectangle (used if you want to hide some text) like shown at the picture below. - -![](annotation/java/images/add-text-redaction-annotation.png) - -There is an ability to specify the next fields for [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) type -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation#getPoints()) - annotation positions set by array of points. - - -Follow these steps to add TextRedaction annotation to document: - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) object with desired properties (position, page number, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) object; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - -The following code demonstrates how to add [TextRedactionAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/TextRedactionAnnotation) to the document: - -```java -String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); - try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - Point point1 = new Point(80, 730); - Point point2 = new Point(240, 730); - Point point3 = new Point(80, 650); - Point point4 = new Point(240, 650); - List points = new ArrayList(); - points.add(point1); - points.add(point2); - points.add(point3); - points.add(point4); - TextRedactionAnnotation textRedaction = new TextRedactionAnnotation(); - textRedaction.setCreatedOn(Calendar.getInstance().getTime()); - textRedaction.setMessage("This is text redaction annotation"); - textRedaction.setPageNumber(0); - textRedaction.setPoints(points); - textRedaction.setReplies(replies); - annotator.add(textRedaction); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md deleted file mode 100644 index ebcaef2..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-underline-annotation.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -id: add-underline-annotation -url: annotation/java/add-underline-annotation -title: Add underline annotation -weight: 14 -description: "Learn what is an underline annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is a underline annotation, how to add annotation, add underline annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Underline** annotation marks text with a underline styling like shown at the picture below.  - -![](annotation/java/images/add-underline-annotation.png) - -There is an ability to specify the next fields for [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) type: -* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor()) - color of annotation text; -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; -* [Points](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getPoints()) - annotation positions set by array of points. - - -Follow these steps to add Underline annotation to document: - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) object with desired properties (position, page number, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) object; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - -The following code demonstrates how to add [UnderlineAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/UnderlineAnnotation) to the document: - -```java -String outputPath = Constants.getOutputFilePath("AddTextUnderlineAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); - try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - Point point1 = new Point(80, 730); - Point point2 = new Point(240, 730); - Point point3 = new Point(80, 650); - Point point4 = new Point(240, 650); - List points = new ArrayList(); - points.add(point1); - points.add(point2); - points.add(point3); - points.add(point4); - UnderlineAnnotation underline = new UnderlineAnnotation(); - underline.setCreatedOn(Calendar.getInstance().getTime()); - underline.setFontColor(65535); - underline.setMessage("This is underline annotation"); - underline.setOpacity(0.7); - underline.setPageNumber(0); - underline.setPoints(points); - underline.setReplies(replies); - annotator.add(underline); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md deleted file mode 100644 index d0b8aa1..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/add-annotation-to-the-document/add-watermark-annotation.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -id: add-watermark-annotation -url: annotation/java/add-watermark-annotation -title: Add watermark annotation -weight: 15 -description: "Learn what is a watermark annotation and how to add it to a document programmatically using GroupDocs.Annotation for Java." -keywords: What is a watermark annotation, how to add annotation, add watermark annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**Watermark** annotation adds text watermark like shown at the picture below.  - -![](annotation/java/images/add-watermark-annotation.png) - -There is an ability to specify the next fields for [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) type: -* [Box](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/PointAnnotation#getBox()) - defines annotation position at document page; -* [Text](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getText()) - text of watermark; -* [FontColor](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/HighlightAnnotation#getFontColor()) - color of annotation text; -* [FontFamily](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontFamily()) - name of text font; -* [FontSize](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/TextFieldAnnotation#getFontSize())  - size of text font; -* [Opacity](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/AreaAnnotation#getOpacity()) - allows to set annotation opacity; -* [Angle](https://apireference.groupdocs.com/annotation/java/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation#getAngle()) - watermark text angle. - -Follow these steps to add Watermark annotation to document:  - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) object with desired properties (position, color, etc); -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method and pass [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) object; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream. - - -The following code demonstrates how to add [WatermarkAnnotation](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/WatermarkAnnotation) to the document: - -```java -String outputPath = Constants.getOutputFilePath("AddWatermarkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); - try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - WatermarkAnnotation watermark = new WatermarkAnnotation(); - watermark.setAngle((double) 75); - watermark.setBox(new Rectangle(200, 200, 100, 50)); - watermark.setCreatedOn(Calendar.getInstance().getTime()); - watermark.setText("Watermark"); - watermark.setFontColor(65535); - watermark.setFontSize((double) 12); - watermark.setMessage("This is watermark annotation"); - watermark.setOpacity(0.7); - watermark.setPageNumber(0); - watermark.setReplies(replies); - annotator.add(watermark); - annotator.save(outputPath); - } finally { - if (annotator != null) { - annotator.dispose(); - } - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md b/Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md deleted file mode 100644 index e014d51..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/extract-annotations-from-document.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -id: extract-annotations-from-document -url: annotation/java/extract-annotations-from-document -title: Extract annotations from document -weight: 4 -description: "Learn how to extract annotations from document when collaborate, edit and annotate documents using GroupDocs.Annotation for Java." -keywords: Extract annotations, annotate document, get document annotations -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** provides an ability to extract annotations from document. -To achieve this you should: - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) object and call [setImportAnnotations](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions#setImportAnnotations(boolean)) with *true* argument; -* Define variable with type *List<*[AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase)*\>;* -* Call [get](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#get()) method and return result to variable above. - -The following code demonstrates how to extract annotations metadata from document: - -```java -// for using this example input file ("annotated.pdf") must be with annotations -  -LoadOptions loadOptions = new LoadOptions(); -loadOptions.setImportAnnotations(true); - -final Annotator annotator = new Annotator("annotated.pdf", loadOptions); -List annotations = annotator.get(); -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md b/Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md deleted file mode 100644 index e3a1e31..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/get-file-info.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -id: get-file-info -url: annotation/java/get-file-info -title: Get file info -weight: 2 -description: "This article explains how to detect document file type, size and calculate pages count when annotate documents or images with GroupDocs.Annotation." -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to get document information which includes following methods. - -* [getFileType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/IDocumentInfo#getFileType()) -* [getPageCount](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/IDocumentInfo#getPageCount()) -* [getSize](https://apireference-qa.groupdocs.com/java/annotation/com.groupdocs.annotation/IDocumentInfo#getSize()) - -The following code sample demonstrates how to get information about document. - -```java -Annotator annotator = new Annotator("input.pdf"); -IDocumentInfo info = annotator.getDocument().getDocumentInfo(); - -System.out.println( - "\nFile type: " + info.getFileType() - +"\nNumber of pages: " + info.getPageCount() - +"\nDocument size: " + info.getSize() + " bytes" -); - -annotator.dispose(); -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md b/Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md deleted file mode 100644 index c7f958c..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/get-supported-file-formats.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -id: get-supported-file-formats -url: annotation/java/get-supported-file-formats -title: Get supported file formats -weight: 1 -description: "This article explains how to obtain supported file formats list when annotate documents and images with GroupDocs.Annotation within your Java applications." -keywords: supported image formats, supported file formats, annotation, Groupdocs annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** allows to get the list of all supported file formats by following the below steps: - -* Call [getSupportedFileTypes()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType#getSupportedFileTypes()) method of [FileType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType) class; -* Enumerate through the collection of [FileType](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/FileType) objects. - -The following code sample demonstrates how to get supported file formats list. - -```java - List fileTypes = FileType.getSupportedFileTypes(); - //foreach to while statements conversion - Iterator items = (fileTypes).iterator(); - while (items.hasNext()) { - FileType fileType = (FileType) items.next(); - System.out.println(fileType.getExtension()); - } -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md b/Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md deleted file mode 100644 index acf84e6..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/remove-annotation-from-document.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -id: remove-annotation-from-document -url: annotation/java/remove-annotation-from-document -title: Remove annotation from document -weight: 5 -description: "Learn how to extract annotations from document when collaborate, edit and annotate documents using GroupDocs.Annotation for Java. " -keywords: Extract annotations, annotate document, get document annotations -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -**[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** provides an ability to remove all previously added annotations from document and save cleaned document as it was before annotating. -There are the steps to remove annotations from document: - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object and set *AnnotationTypes = AnnotationType.None*; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; - - -The following code demonstrates how to remove annotation from document: - -```java -Annotator annotator = new Annotator("C://input.pdf"); -SaveOptions saveOptions = new SaveOptions(); -saveOptions.setAnnotationTypes(AnnotationType.None); -annotator.save("C://output.pdf", saveOptions); -annotator.dispose(); -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md b/Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md deleted file mode 100644 index a04cc60..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/update-annotations.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -id: update-annotations -url: annotation/java/update-annotations -title: Update annotations -weight: 6 -description: "Check this article and learn how to edit annotation properties - change annotation position, size, appearance etc. when annotate documents using GroupDocs.Annotation for Java." -keywords: Update annotations, Edit annotation, Change annotation properties -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -That case can be used when need to update some annotation properties (move, resize, change color and so on) or even annotation. Note, that for using this case is necessary need to set annotation Id property. It’s need because **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** must know which annotation must be changed. Or you can pass list of annotations. In that case all previous annotation collection will be replaced from new list. - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream with instantiated [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) with *ImportAnnotations = true;* -* Create some [AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase) implementation and set Id of existed annotation (if annotation with that Id not found, nothing will be changed) or path list of annotations (all existed annotations will be removed); -* Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with passed annotations; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; - - -The following code demonstrates how to update annotations: - -```java -String outputPath = "UpdateAnnotation.pdf"; -Annotator annotator = new Annotator("input.pdf"); - -Reply reply1 = new Reply(); -reply1.setComment("Original first comment"); -reply1.setRepliedOn(Calendar.getInstance().getTime()); - -Reply reply2 = new Reply(); -reply2.setComment("Original second comment"); -reply2.setRepliedOn(Calendar.getInstance().getTime()); - -java.util.List replies = new ArrayList(); -replies.add(reply1); -replies.add(reply2); - -AreaAnnotation original = new AreaAnnotation(); -original.setId(1); -original.setBackgroundColor(65535); -original.setBox(new Rectangle(100, 100, 100, 100)); -original.setCreatedOn(Calendar.getInstance().getTime()); -original.setMessage("This is original annotation"); -original.setReplies(replies); - -// add original annotation -annotator.add(original); -annotator.save(outputPath); -annotator.dispose(); - -LoadOptions loadOptions = new LoadOptions(); -loadOptions.setImportAnnotations(true); - -// open annotated document -Annotator annotator1 = new Annotator(outputPath, loadOptions); - -Reply reply3 = new Reply(); -reply3.setComment("Updated first comment"); -reply3.setRepliedOn(Calendar.getInstance().getTime()); - -Reply reply4 = new Reply(); -reply4.setComment("Updated second comment"); -reply4.setRepliedOn(Calendar.getInstance().getTime()); - -java.util.List replies1 = new ArrayList(); -replies1.add(reply3); -replies1.add(reply4); - -// suggest we want change some properties of existed annotation -AreaAnnotation updated = new AreaAnnotation(); -updated.setId(1); -updated.setBackgroundColor(255); -updated.setBox(new Rectangle(0, 0, 50, 200)); -updated.setCreatedOn(Calendar.getInstance().getTime()); -updated.setMessage("This is updated annotation"); -updated.setReplies(replies1); - -// update annotation -annotator1.update(updated); -annotator1.save(outputPath); -annotator1.dispose(); -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md deleted file mode 100644 index a185dba..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/_index.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: working-with-annotation-replies -url: annotation/java/working-with-annotation-replies -title: Working with annotation replies -weight: 7 -description: "What annotation replies are and how to manage them for different document types? Check this this guide and learn how to add, edit, delete annotations using GroupDocs.Annotation for Java API." -keywords: Annotation reply, what are annotation replies, what is reply -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -## What are Annotation Replies? - -**Annotation replies** are the commenting feature of Microsoft Office, PDF, and other document formats that allows to store written discussion inside a document and provides an effective way for users to collaborate during document review and redaction. Different software vendors provide their own way for commenting and annotating document content, so when you need to collaborate over various document types it’s required to have multiple applications installed on every collaborator’s device.  -Fortunately **[GroupDocs.Annotation for Java](https://products.groupdocs.com/annotation/java)** provides an easy and convenient API to add, edit or delete annotation replies for wide range of supported document formats within your application. - -Please check the guides below to learn more about how to add, change and remove annotation replies with several lines of code. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md deleted file mode 100644 index 00d499c..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/add-replies-to-annotation.md +++ /dev/null @@ -1,102 +0,0 @@ ---- -id: add-replies-to-annotation -url: annotation/java/add-replies-to-annotation -title: Add replies to annotation -weight: 1 -description: "Check this guide to learn how to add annotation replies when collaborate over document using GroupDocs.Annotation for Java API." -keywords: How to add annotation reply, add annotation reply, add reply, reply to annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -[**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) provides ability for several users to collaborate over document via annotation replies. Adding reply to an annotation via code is as easy as specifying reply content and related user object. -Here are the steps to add annotation replies: - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream; -* Instantiate [User](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/User) object; -* Instantiate [Reply](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/Reply) object(s); -* Instantiate some of [AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase) implementation object; -* Assign [User](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/User) object to Reply.User property (or by default will be "Guest"); -* Assign [Reply](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models/Reply) object(s) to implementation of [AnnotationBase](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase) object Replies property; -* Call [add](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#add(com.groupdocs.annotation.models.annotationmodels.AnnotationBase)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with passed annotations; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; - -The following code demonstrates how to add replies to annotation: - -```java -String outputPath = "AddReplies.pdf"; - -Annotator annotator = new Annotator("input.pdf"); - -User user1 = new User(); -user1.setId(1); -user1.setName("Tom"); -user1.setEmail("somemail@mail.com"); - -User user2 = new User(); -user2.setId(2); -user2.setName("Jack"); -user2.setEmail("somebody@mail.com"); - -AreaAnnotation area = new AreaAnnotation(); -area.setBackgroundColor(65535); -area.setBox(new Rectangle(100, 100, 100, 100)); -area.setCreatedOn(Calendar.getInstance().getTime()); -area.setMessage("This is area annotation"); -area.setOpacity(0.7); -area.setPageNumber(0); -area.setPenColor(65535); -area.setPenStyle(PenStyle.Dot); -area.setPenWidth((byte) 3); - -Reply reply1 = new Reply(); -reply1.setId(1); -reply1.setComment("First comment"); -reply1.setRepliedOn(Calendar.getInstance().getTime()); -reply1.setUser(user1); - -Reply reply2 = new Reply(); -reply2.setId(2); -reply2.setComment("Second comment"); -reply2.setRepliedOn(Calendar.getInstance().getTime()); -reply2.setUser(user2); - -Reply reply3 = new Reply(); -reply3.setId(3); -reply3.setComment("Third comment"); -reply3.setRepliedOn(Calendar.getInstance().getTime()); -reply3.setUser(user1); - -Reply reply4 = new Reply(); -reply4.setId(4); -reply4.setComment("Fourth comment"); -reply4.setRepliedOn(Calendar.getInstance().getTime()); -reply4.setUser(user2); -java.util.List replies = new ArrayList(); -replies.add(reply1); -replies.add(reply2); -replies.add(reply3); -replies.add(reply4); -area.setReplies(replies); -annotator.add(area); -annotator.save(outputPath); - -annotator.dispose(); -``` - -## More resources -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online **[GroupDocs Annotation App](https://products.groupdocs.app/annotation)**. diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md deleted file mode 100644 index 3e103a6..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/remove-annotation-replies.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: remove-annotation-replies -url: annotation/java/remove-annotation-replies -title: Remove annotation replies -weight: 2 -description: "Check this guide to learn how to remove all or specific annotation replies when collaborate over document using GroupDocs.Annotation for Java API." -keywords: How to remove annotation reply, remove annotation reply, remove reply, reply to annotation, remove annotation comment -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -There is a quick and convenient way to remove specific or even all replies for some document annotation using **[GroupDocs.Annotation](https://products.groupdocs.com/annotation/java)** API. It is as easy as removing items from generic [List](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1) collection. In common case you have to follow these steps to delete replies: - -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream -* Call [get](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#get()) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and obtain collection of document annotations; -* Access desired annotation object and remove reply in a most suitable way: - * Call *annotations.get(index).getReplies().remove(index)* method with desired parameters; - * Call [AnnotationBase.getReplies()](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase#getReplies()) and remove replies that match desired criteria; -* Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List)) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and pass annotations collection into it; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.lang.String)) method with resultant document path or stream; - - -## Remove specific annotation reply  - -The easiest way for removing specific annotation reply is to delete by its index inside Replies collection. The following code sample demonstrates how to remove first annotation reply: - -```java -LoadOptions loadOptions = new LoadOptions(); -loadOptions.setImportAnnotations(true); - -// NOTE: Input document already contain annotations with replies -final Annotator annotator = new Annotator("annotated_with_replies.pdf", loadOptions); - -// Obtain annotations collection from document -List annotations = annotator.get(); - -// Remove first reply -annotations.get(0).getReplies().remove(0); - -// Save changes -annotator.update(annotations); -annotator.save("RemoveRepliesById.pdf"); - -annotator.dispose(); -``` - -## Remove annotation replies by criteria - -The following code demonstrates how to remove replies that were added by user with name "Tom": - -```java -LoadOptions loadOptions = new LoadOptions(); -loadOptions.setImportAnnotations(true); - -// NOTE: Input document already contain annotations with replies -final Annotator annotator = new Annotator("annotated_with_replies.pdf", loadOptions); - -// Obtain annotations collection from document -List annotations = annotator.get(); - -// Remove all replies where author name is "Tom" -for(int i = 0; i < annotations.get(0).getReplies().size(); i++) { - if(annotations.get(0).getReplies().get(i).getUser().getName().toString().equals("Tom")) { - annotations.get(0).getReplies().remove(i); - } -} - -// Save changes -annotator.update(annotations); -annotator.save("RemoveRepliesByUserName.pdf"); -annotator.dispose(); -``` \ No newline at end of file diff --git a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md b/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md deleted file mode 100644 index b968afb..0000000 --- a/Docs/content/annotation/java/developer-guide/basic-usage/working-with-annotation-replies/update-annotation-replies.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -id: update-annotation-replies -url: annotation/java/update-annotation-replies -title: Update annotation replies -weight: 3 -description: "Check this guide to learn how to update annotation replies when collaborate over document using GroupDocs.Annotation for Java API." -keywords: How to change or remove annotation reply, update annotation reply, remove reply, reply to annotation -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -[**GroupDocs.Annotation**](https://products.groupdocs.com/annotation/java) provides and ability to programmatically update annotation replies by accessing them by their index inside [Replies](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase#getReplies()) collection. - -Here is a steps to update annotation reply (considered that we already have some reply added to annotation) -* Instantiate [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object with input document path or stream with instantiated [LoadOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options/LoadOptions) with *ImportAnnotations = true;* -* Call [get](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#get()) method of [Annotator](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator) object and import annotations; -* Access desired reply object via [getReplies](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.models.annotationmodels/AnnotationBase#getReplies()) method collection by its index (zero-based) and update its properties as needed; -* Call [update](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#update(java.util.List)) method of Annotator object with passed annotations; -* Call [save](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation/Annotator#save(java.io.InputStream)) method with resultant document path or stream and [SaveOptions](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.options.export/SaveOptions) object; - -The following code demonstrates how to update reply by index: - -```java -LoadOptions loadOptions = new LoadOptions(); -loadOptions.setImportAnnotations(true); - -// NOTE: Input document already contain annotations with replies -final Annotator annotator = new Annotator("annotated_with_replies.pdf", loadOptions); - -// Obtain annotations collection from document -List annotations = annotator.get(); - -// Update first annotation first reply -annotations.get(0).getReplies().get(0).setComment("Updated comment"); - -// Save changes -annotator.update(annotations); -annotator.save("RemoveRepliesById.pdf"); - -annotator.dispose(); -``` - -## More resources - -### Advanced Usage Topics -To learn more about document annotating features, please refer to the [advanced usage section]({{< ref "annotation/java/developer-guide/advanced-usage/_index.md" >}}). - -### GitHub Examples - -You may easily run the code above and see the feature in action in our GitHub examples: - -* [GroupDocs.Annotation for .NET examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET) -* [GroupDocs.Annotation for Java examples, plugins, and showcase](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) -* [Document Annotation for .NET MVC UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -* [Document Annotation for .NET App WebForms UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -* [Document Annotation for Java App Dropwizard UI Modern Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -* [Document Annotation for Java Spring UI Example](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) - -### Free Online App - -Along with full-featured Java library we provide simple, but powerful free Apps. -You are welcome to annotate your PDF, DOC or DOCX, XLS or XLSX, PPT or PPTX, PNG and other documents with free to use online [**GroupDocs Annotation App**](https://products.groupdocs.app/annotation). diff --git a/Docs/content/annotation/java/developer-guide/migration-notes.md b/Docs/content/annotation/java/developer-guide/migration-notes.md deleted file mode 100644 index 5d40cee..0000000 --- a/Docs/content/annotation/java/developer-guide/migration-notes.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -id: migration-notes -url: annotation/java/migration-notes -title: Migration Notes -weight: 3 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -### Why To Migrate? - -Here are the key reasons to use the new updated API provided by GroupDocs.Annotation for Java since version 20.2: - -* **Annotator** class introduced as a **single entry point** to manage the document annotating process to any supported file format (instead of **AnnotationImageHandler** class from previous versions). -* The overall **rendering speed improved** dramatically by saving rendered page as soon as it was rendered, not when all pages list were rendered. -* Document **saving options simplified** so it’s easy to instantiate proper options class and control over document annotating and saving processes. - -### How To Migrate? - -Here is a brief comparison of how to annotate document and save it using old and new API. - -#### Old coding style - -```java -List annotations = new List(); -AnnotationInfo areaAnnotation = new AnnotationInfo(); -areaAnnotation.setPageNumber(0); -areaAnnotation.setBox(new Rectangle(100, 100, 100, 100)); -areaAnnotation.setType(Domain.AnnotationType.Area); -areaAnnotation.setText("area"); - -AnnotationInfo ellipseAnnotation = new AnnotationInfo(); -ellipseAnnotation.setPageNumber(0); -ellipseAnnotation.setBox(new Rectangle(200, 200, 80, 80)); -ellipseAnnotation.setType(Domain.AnnotationType.Ellipse); -ellipseAnnotation.setText("ellipse"); - -// Create annotation config -AnnotationConfig config = new AnnotationConfig(); - -// Set storage path -config.setStoragePath("storage"); - -// Create annotation handler -AnnotationImageHandler annotator = new AnnotationImageHandler(config); - -// Create input file -// Export annotations and save result -InputStream result = annotator.exportAnnotationsToDocument(fs, annotations); - -// Save result stream to file. -OutputStream fileStream = new FileOutputStream("input.pdf"); -IOUtils.copy(result, fileStream); -``` - -#### New coding style - -```java -// Create list of annotations -List annotations = new List(); - -AreaAnnotation areaAnnotation = new AreaAnnotation(); -areaAnnotation.setPageNumber(0); -areaAnnotation.setBox(new Rectangle(100, 100, 100, 100)); -areaAnnotation.setText("area"); - -EllipseAnnotation ellipseAnnotation = new EllipseAnnotation(); -ellipseAnnotation.setPageNumber(0); -ellipseAnnotation.setBox(new Rectangle(200, 200, 80, 80)); -ellipseAnnotation.setText("ellipse"); - -Annotator annotator = new Annotator("input.pdf"); - -// Add annotations -annotator.Add(annotations); - -// Save result to "result.pdf" -annotator.Save("result.pdf", new SaveOptions()); -``` - -For more code examples and specific use cases please refer to our Developer Guide documentation or [GitHub](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java) samples and showcases. diff --git a/Docs/content/annotation/java/getting-started/_index.md b/Docs/content/annotation/java/getting-started/_index.md deleted file mode 100644 index 0453875..0000000 --- a/Docs/content/annotation/java/getting-started/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -id: getting-started -url: annotation/java/getting-started -title: Getting Started -weight: 2 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- diff --git a/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md b/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md deleted file mode 100644 index a5bf6df..0000000 --- a/Docs/content/annotation/java/getting-started/evaluation-limitations-and-licensing.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -id: evaluation-limitations-and-licensing -url: annotation/java/evaluation-limitations-and-licensing -title: Evaluation Limitations and Licensing -weight: 5 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}}You can use GroupDocs.Annotation without the license. The usage and functionalities are pretty much same as the licensed one but you will face few limitations while using the non-licensed API.{{< /alert >}} - -## Evaluation Limitations - -You can easily download GroupDocs.Annotation for evaluation. The evaluation download is the same as the purchased download. The evaluation version simply becomes licensed when you add a few lines of code to apply the license. You will face following limitations while using the API without the license:   - -* Only first 2 pages are processed. -* Trial badges are placed in the document on the top of each page. - -## Licensing - -The license file contains details such as the product name, number of developers it is licensed to, subscription expiry date and so on. It contains the digital signature, so don't modify the file. Even inadvertent addition of an extra line break into the file will invalidate it. You need to set a license before utilizing GroupDocs.Annotation API if you want to avoid its evaluation limitations.  -The license can be loaded from a file or stream object.  - -#### Setting License from File - -The code below will explain how to set product license. - -```java -// For complete examples and data files, please go to https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java -// Setup license. -License license = new License(); -license.setLicense(licensePath); -``` - -#### Setting License from Stream - -The following example shows how to load a license from a stream. - -```java -// For complete examples and data files, please go to https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java -using (FileInputStream fileStream = new FileInputStream("GroupDocs.Annotation.lic")) -{ - License license = new License(); - license.setLicense(fileStream); -} -``` - -#### Setting Metered License - -{{< alert style="info" >}} -You can also set [Metered](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered) license as an alternative to license file. It is a new licensing mechanism that will be used along with existing licensing method. It is useful for the customers who want to be billed based on the usage of the API features. For more details, please refer to [Metered Licensing FAQ](https://purchase.groupdocs.com/faqs/licensing/metered) section. -{{< /alert >}} - -Here are the simple steps to use the `Metered` class. - -1. Create an instance of [Metered](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered) class. -2. Pass public & private keys to [`setMeteredKey`](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered#setMeteredKey(java.lang.String,%20java.lang.String)) method. -3. Do processing (perform task). -4. call method [`getConsumptionQuantity`](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered#getConsumptionQuantity()) of the [Metered](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered) class. -5. It will return the amount/quantity of API requests that you have consumed so far. -6. call method [`getConsumptionCredit`](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered#getConsumptionCredit()) of the [Metered](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered) class. -7. It will return the credit that you have consumed so far. - -Following is the sample code demonstrating how to use [Metered](https://apireference.groupdocs.com/java/annotation/com.groupdocs.annotation.license/Metered) class. - -```java -// For complete examples and data files, please go to https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java -string publicKey = ""; // Your public license key -string privateKey = ""; // Your private license key - -Metered metered = new Metered(); -metered.setMeteredKey(publicKey, privateKey); - -// Get amount (MB) consumed -double consumption = metered.getConsumptionQuantity(); -System.out.print("Metered consumption = " + consumption); - -// Get count of credits consumed -double credit = metered.getConsumptionCredit(); -System.out.print("Metered credit = " + credit); -``` diff --git a/Docs/content/annotation/java/getting-started/features-overview.md b/Docs/content/annotation/java/getting-started/features-overview.md deleted file mode 100644 index 71ebc5e..0000000 --- a/Docs/content/annotation/java/getting-started/features-overview.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -id: features-overview -url: annotation/java/features-overview -title: Features Overview -weight: 1 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -## Add, edit and remove annotations - -GroupDocs.Annotation for Java main feature is document annotation which supports over 13 different annotation types for over 50 file formats with full control for your annotations such as adding annotations, editing annotations and removing annotations. - -We offer a wide range of graphic, text and watermark annotation types to suit all your needs, please see all available annotation types in the list below. - -### Graphic annotations - -* Area – marks an area with a rectangle and adds notes to it; -* Arrow – draws an arrow on a document; -* Distance – measures a distance between objects in a document; -* Point – sticks comments to any point in a document; -* Polyline – draws shapes and freehand lines; -* Redaction – fills black rectangle with fixed position (used if you want to hide some text); -* TextField – adds rectangle with a text inside; -* Ellipse – draws elliptic annotation in a document. - -### Text annotations - -* Highlight – highlights and comments selected text; -* Replacement – replaces original text with user’s text; -* Strikeout – marks text with a strikethrough styling; -* Underline – marks text with an underline styling. - -### Watermark annotations - -* Horizontal - adds horizontal text watermark; -* Diagonal - adds diagonal text watermark. - -## Import annotations - -In case if document already contains annotations added previously, GroupDocs.Annotation for Java provides proper tools for reading and processing such data, extraction information, etc. - -## Add and remove comments - -Each annotation type support comment collaboration. Add, remove or reply to comments for any annotation. - -## Export annotated document - -Export document after adding annotations and comments back to original format.  - -## Generate document pages previews & thumbnails - -GroupDocs.Annotation for Java offers a feature to render document pages as images for your desktop, mobile or web front-end applications. With this feature you can view any document, calculate annotations coordinate more precisely for adding or removing annotations or simply generate a document preview and document thumbnails. - -## Cache results - -By default cache is stored to a local disk, however GroupDocs.Annotation offers custom cache feature which can be used by implementing appropriate interfaces – Amazon S3, Dropbox, Google Drive, Windows Azure, Reddis or any other. diff --git a/Docs/content/annotation/java/getting-started/how-to-run-the-examples.md b/Docs/content/annotation/java/getting-started/how-to-run-the-examples.md deleted file mode 100644 index 61ebc2c..0000000 --- a/Docs/content/annotation/java/getting-started/how-to-run-the-examples.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -id: how-to-run-the-examples -url: annotation/java/how-to-run-the-examples -title: How To Run the Examples -weight: 6 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- - - -## Download from GitHub - -The complete examples package of **GroupDocs.Annotation** is hosted on [GitHub](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java). You can either download the ZIP file or clone the repository of GitHub using your favorite GitHub client. - -In case you download the ZIP file, extract the folders on your local disk. The extracted files and folders will look like following image: - -![](annotation/java/images/how-to-run-the-examples.png) - -Open Eclipse and import the project to get started with it. Archived project file can also be imported.Follow the given steps to run the application: - -* Go to project properties. -* Click on Java Build Path. -* Go to Libraries and external Jars (GroupDocs.Annotation.Jar). - -![](annotation/java/images/how-to-run-the-examples_1.png) - -## Contribute - -If you like to add or improve an example, we encourage you to contribute to the project. All examples in this repository are open source and can be freely used in your own applications. -To contribute, you can fork the repository, edit the source code and create a pull request. We will review the changes and include it in the repository if found helpful. diff --git a/Docs/content/annotation/java/getting-started/installation.md b/Docs/content/annotation/java/getting-started/installation.md deleted file mode 100644 index dc6bf7d..0000000 --- a/Docs/content/annotation/java/getting-started/installation.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -id: installation -url: annotation/java/installation -title: Installation -weight: 4 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -GroupDocs hosts all Java APIs on [GroupDocs Repository](https://repository.groupdocs.com/). You can easily use [GroupDocs.Annotation for Java](https://artifact.groupdocs.com/webapp/#/artifacts/browse/tree/General/repo/com/groupdocs/groupdocs-annotation) API directly in your Maven projects with simple configurations. - -### Specify GroupDocs Repository Configuration - -First, you need to specify GroupDocs repository configuration/location in your Maven `pom.xml` as follows:  - -```java - - - GroupDocsJavaAPI - GroupDocs Java API - http://repository.groupdocs.com/repo/ - - -``` - -### Define GroupDocs.Annotation for Java API Dependency - -Then define GroupDocs.Annotation for Java API dependency in your `pom.xml` as follows: - -```java - - - com.groupdocs - groupdocs-annotation - 19.11 - - -``` - - -After performing above-mentioned steps, GroupDocs.Annotation for Java dependency will finally be added to your Maven project - -## Install from official GroupDocs website - -You can follow the steps below to reference GroupDocs.Annotation for Java downloaded from official website [Downloads section](https://downloads.groupdocs.com/annotation/java): - -1. Unpack zip archive. -2. Switch to **lib** folder. -3. Run **install.bat** (for Windows) or **install.sh** (for Linux) file to install the library in your local maven repository. -4. After this you should add the GroupDocs.Annotation for Java **dependency** block to your pom.xml project file. diff --git a/Docs/content/annotation/java/getting-started/supported-document-formats.md b/Docs/content/annotation/java/getting-started/supported-document-formats.md deleted file mode 100644 index e412751..0000000 --- a/Docs/content/annotation/java/getting-started/supported-document-formats.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -id: supported-document-formats -url: annotation/java/supported-document-formats -title: Supported Document Formats -weight: 2 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -## Supported File Formats - -The list of supported by GroupDocs.Annotation document formats and types - -| Format | Description | Annotate | -| --- | --- | --- | -| [DOC](https://wiki.fileformat.com/word-processing/doc/) | Microsoft Word 97-2003 Document | ![(tick)](annotation/java/images/check.png) | -| [DOCM](https://wiki.fileformat.com/word-processing/docm/) | Microsoft Word Macro-Enabled Document | ![(tick)](annotation/java/images/check.png) | -| [DOCX](https://wiki.fileformat.com/word-processing/docx/) | Microsoft Word Document | ![(tick)](annotation/java/images/check.png) | -| [DOT](https://wiki.fileformat.com/word-processing/dot/) | Microsoft Word 97-2003 Template | ![(tick)](annotation/java/images/check.png) | -| [DOTM](https://wiki.fileformat.com/word-processing/dotm/) | Microsoft Word Macro-Enabled Template | ![(tick)](annotation/java/images/check.png) | -| [DOTX](https://wiki.fileformat.com/word-processing/dotx/) | Microsoft Word Template | ![(tick)](annotation/java/images/check.png) | -| [RTF](https://wiki.fileformat.com/word-processing/rtf/) | Rich Text Document | ![(tick)](annotation/java/images/check.png) | -| [ODT](https://wiki.fileformat.com/word-processing/odt/) | OpenDocument Text | ![(tick)](annotation/java/images/check.png) | -| [XLS](https://wiki.fileformat.com/spreadsheet/xls/) | Microsoft Excel 97-2003 Worksheet | ![(tick)](annotation/java/images/check.png) | -| [XLSB](https://wiki.fileformat.com/spreadsheet/xlsb/) | Microsoft Excel Binary Worksheet | ![(tick)](annotation/java/images/check.png) | -| [XLSM](https://wiki.fileformat.com/spreadsheet/xlsm/) | Microsoft Excel Macro-Enabled Worksheet | ![(tick)](annotation/java/images/check.png) | -| [XLSX](https://wiki.fileformat.com/spreadsheet/xlsx/) | Microsoft Excel Worksheet | ![(tick)](annotation/java/images/check.png) | -| [ODS](https://wiki.fileformat.com/spreadsheet/ods/) | OpenDocument Spreadsheet | ![(tick)](annotation/java/images/check.png) | -| [PPT](https://wiki.fileformat.com/presentation/ppt/) | Microsoft PowerPoint 97-2003 Presentation | ![(tick)](annotation/java/images/check.png) | -| [PPTX](https://wiki.fileformat.com/presentation/pptx/) | Microsoft PowerPoint Presentation | ![(tick)](annotation/java/images/check.png) | -| [PPSX](https://wiki.fileformat.com/presentation/ppsx/) | Microsoft PowerPoint Slide Show | ![(tick)](annotation/java/images/check.png) | -| [ODP](https://wiki.fileformat.com/presentation/odp/) | OpenDocument Presentation | ![(tick)](annotation/java/images/check.png) | -| [PPS](https://wiki.fileformat.com/presentation/pps/) | Microsoft PowerPoint 97-2003 Slide Show | ![(tick)](annotation/java/images/check.png) | -| [TIF](https://wiki.fileformat.com/image/tiff/), [TIFF](https://wiki.fileformat.com/image/tiff/) | Tagged Image File Format (TIFF) | ![(tick)](annotation/java/images/check.png) | -| [JPG](https://wiki.fileformat.com/image/jpeg), [JPEG](https://wiki.fileformat.com/image/jpeg)   | Joint Photographic Experts Group (JPEG) | ![(tick)](annotation/java/images/check.png) | -| [PNG](https://wiki.fileformat.com/image/png/) | Portable Network Graphics (PNG) | ![(tick)](annotation/java/images/check.png) | -| [BMP](https://wiki.fileformat.com/image/bmp/) | Bitmap Picture (BMP) | ![(tick)](annotation/java/images/check.png) | -| [PDF](https://wiki.fileformat.com/view/pdf/) (PDF/A-1a,PDF/A-1b,PDF/A-2a) | Adobe Portable Document Format (PDF) | ![(tick)](annotation/java/images/check.png) | -| [HTML](https://wiki.fileformat.com/web/html/) | HyperText Markup Language (HTML) | ![(tick)](annotation/java/images/check.png) | -| [EML](https://wiki.fileformat.com/email/eml/) | E-mail Message | ![(tick)](annotation/java/images/check.png) | -| [VSD](https://wiki.fileformat.com/image/vsd/) | Microsoft Visio 2003-2010 Drawing | ![(tick)](annotation/java/images/check.png) | -| [VSDX](https://wiki.fileformat.com/image/vsdx/) | Microsoft Visio Drawing | ![(tick)](annotation/java/images/check.png) | -| VSS | Microsoft Visio 2003-2010 Stencil | ![(tick)](annotation/java/images/check.png) | -| [VST](https://wiki.fileformat.com/image/vst/) | Microsoft Visio 2013 Stencil | ![(tick)](annotation/java/images/check.png) | -| [DWG](https://wiki.fileformat.com/cad/dwg/) | Autodesk Design Data Formats | ![(tick)](annotation/java/images/check.png) | -| [DXF](https://wiki.fileformat.com/cad/dxf/) | Drawing Interchange Format | ![(tick)](annotation/java/images/check.png) | -| [DCM](https://wiki.fileformat.com/image/dcm/) | Digital Imaging and Communications in Medicine (DICOM) | ![(tick)](annotation/java/images/check.png) | diff --git a/Docs/content/annotation/java/getting-started/system-requirements.md b/Docs/content/annotation/java/getting-started/system-requirements.md deleted file mode 100644 index d13840b..0000000 --- a/Docs/content/annotation/java/getting-started/system-requirements.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -id: system-requirements -url: annotation/java/system-requirements -title: System Requirements -weight: 3 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -## Supported Java Versions - -GroupDocs.Annotation for Java supports Java versions listed below. For more platform support please check [GroupDocs.Annotation for .NET](https://products.groupdocs.com/annotation/net). - -* J2SE 7.0 (1.7) -* J2SE 8.0 (1.8) -* or above (*for example Java 10*) diff --git a/Docs/content/annotation/java/images/add-area-annotation.png b/Docs/content/annotation/java/images/add-area-annotation.png deleted file mode 100644 index a4e1bec433aa2ab78e3ab505066726a6e242b51b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67938 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 diff --git a/Docs/content/annotation/java/images/add-arrow-annotation.png b/Docs/content/annotation/java/images/add-arrow-annotation.png deleted file mode 100644 index 7cba8084eecf25522861161aaa7722c981f57337..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77011 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 diff --git a/Docs/content/annotation/java/images/add-distance-annotation.png b/Docs/content/annotation/java/images/add-distance-annotation.png deleted file mode 100644 index bf0d7e51b278ca48dc0b8579ea238411c955fa9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58585 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 z z_Ae5LMl;k7TaQn4FVw0IKUiRy-dinS6>&gk+x>Zdp%>--*^$J^PI&~>Jq{(X(L6mL z_8c=A{91%MTMKx`@`r-`gJeI;@iUH^w4(hp8F2=yK0WpXrZZ}IPPni&;fPCs&DFJ z{Ol#ZL+V!^Z#%mM*>6^p#`ht-cUK8V4NspP+}XRot>(&9j`>3umaj@c@u4ufuaVps z=s1AT;__66M%Hk8kV2N2D1p9fuKjN|=SCTYLiGZH>^KLDUnLQ6v9Kg$lXL;No1uu` zSPC^}v?V#<;rL6U>GQ+$KTszz;>lczIHi_qu5QBOqC#CjY#E-W| z5rM_0eCnx&Cdnr_%O!EW__L38J-lXfg{~A29_VFkV0+bkri?x_`X=jJR`Q2>fC2LNS7i6XMvVwKN; zN(|jALhlEijLA4>K2c~oRu4ek7&_hM3{Cy|9doNlk2G_)}CG_NzleeN7qWzZu2kClP zuNV?oUmIhE6XY}oNhVw(c=LQcLQ-i9j*PQ!l!86RgSm#p#~5IX;c0xB8x}S@OX{TL z==JZ54Z0?1KL=_F{>2PP?pcr=Ph)-3R3L^G$vi^J372SAw1gLiX-bYr>LoMtbPI>N zLNb$pI-)69oGKXzbAjFKHG*1a-bZ+Daa`u*YF>UVRlBqi&dBK#S8w}jMxXPA{Brm^ zn6#dTo{mfEp-To{THW$wl}$2j%b3{C$!FcnTF>Ea_G_+Ddz1Fm;LZ-Q*P5>I^_eOKKkM4^61P$L-%2&GM6lu2;;ZGFaj0aUhX`$~pb}M+}f6 zncxQjv_l-Pcp8dVRd$@j?D6~mZtPq&z(*h_T4;B}NgeP+5YK*hw^ zGcYxplt3f`a2YRV58xVy{=bom^O`#`CSebq@q4b#8x20{U#{u9K*J`6d~wxF0D@#Y zgZP0|NFj=L8p@JVGO-h6W?|ttWCD2rc-)5xF$n_hdPrixjBQQu6sR^AEcdh9D(`MA zkjvH_umVbd1oP&v-#mTrxs4qZZLp$**<%^b!YximUlES zho3CrZEE}A82}-u0F?aeaLo_jqTtABsPZ8ra&}($ztJy*;6|YyV6{MXnxla|DxeWD zmkefgfG8I15EcLT1QHpqCxqmviN7d5#C%R3M3J>ov8u)x_hN8lf&w)mpqMV-Zxd`G zR2iJ-*<}B!FU)^2)yA=eC!!Xrl~El2UVJ$&g9jeyn>M&`W z@eFT79lQ`5BHzr8i!OitvcAIjvZ-vT=OgEw`fMdkMgF$0J8nk zVz84AIv~1J16Di;JF+KuNH!1M4(nwxe?9by5&W<%mWW}Mf#RxolO-)|(# zMDYg-*o}}|fLo@qr36t$;)1}qJHy{u$Tphwu4wWN*HyF_Ea(cI#J*R{tpi#NFOr#b zCGtvj`^^L&8^vQGxJUV&VTM=G*vjVDJ8HKna3Jt=luizUqp$OuM z`}`LbT0((%qfe0;*uVf4eKhBjI|gul<7U-Lnd$R!f4`SbSj=G0b9)2E#h5SBL@*Ve zmdh$V6rnAQS};VwD8v|!p?9&X@?~=MgM_96))xF(up1B+F^nmlY$kAn-~xNE)Fb5W zjzYP)@$KfCyLtRX3zTyYu=Yf;v2UQ(J+RL<;L?4Q7!u#LXkp?f9cS5gLCq2qOUrDf z(jd7#T7_h5v=;1s^ijcS+?J&;fEcA49*!&6paC

    opThKkAEm&0i|_?nM8=bmC(r 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 aF)tPQ+GCoO0{k>>0v#GvhG7w7u diff --git a/Docs/content/annotation/java/images/add-point-annotation.png b/Docs/content/annotation/java/images/add-point-annotation.png deleted file mode 100644 index 2d127f810643122734ad9dd6ccdc1245e84d0259..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62032 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 TvwP<@G5~?6tDnm{r-UW|JO5cU diff --git a/Docs/content/annotation/java/images/add-resource-redaction-annotation.png b/Docs/content/annotation/java/images/add-resource-redaction-annotation.png deleted file mode 100644 index eeebe72a396e543bb9f9c2bba55878025d3bc3d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22731 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 diff --git a/Docs/content/annotation/java/images/add-strikeout-annotation.png b/Docs/content/annotation/java/images/add-strikeout-annotation.png deleted file mode 100644 index ecc8a7a5e83839be928fc3e416516463218a75f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13752 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 diff --git a/Docs/content/annotation/java/images/add-text-field-annotation.png b/Docs/content/annotation/java/images/add-text-field-annotation.png deleted file mode 100644 index 40971aade749a5b903b0dbebf4b78c51bbd103c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14368 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 diff --git a/Docs/content/annotation/java/images/add-text-redaction-annotation.png b/Docs/content/annotation/java/images/add-text-redaction-annotation.png deleted file mode 100644 index 587bdadfb4d590c283d080becab56ae18916424f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16164 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 Mi_42ui5U3*FMw12O8@`> diff --git a/Docs/content/annotation/java/images/add-underline-annotation.png b/Docs/content/annotation/java/images/add-underline-annotation.png deleted file mode 100644 index d12e14cba92e7e69c34195bf5f53af3d5502bcf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23156 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

    yGFVMqMIo{y8(lH^t#_kyCywyM<;RRh|1 z-!4j&g3u+1%7Slm^!dK^N<@8@C{5fdBTni@{K2~8Y<_4q$FIU51kcf_>S}Okw;zHPi))JL$)OHMg5tV)nC`z@w%i1W>cp$MY?pp-$o?~QJahJH!xFb?UZD^lyI z+=8kAWn^o?cVa0_!={jsmRXr;e;5iMuDT!NH|%NGvEFmBW?yO|#{w*J-mN5Xc1E(r z@s-PP?+)kZL2A$9wIppmu6-q)LyrdAb0ge^J&PQ>LNg6oYuuKuR=kHc+9)L7W%mMuqU?0~hE6=l1r#yR&3yzhmBHMg)`IiymDQVkauNk% zB27={^Oz(<0Vvq=mAe9$FV>H|N^a8T0K2PDi-GBNk1Z9~!x>iXLS^yMRlBrxEs$3V z7z4Hc^a$==B9la8Gj=YUXm<)2k$?wSih%Odwd90+tzb&yBs?~L!+PShyVKIj2AqxM z4#<+oq9n8adB*GQ6S<|-4x~U^ciqlSnXaf)lSb9@3wyl=ulCt$u>qmOyU8?kU_70b zX8`h*SjK#mxVO`)Vb;v~nHCFDH_}Nq#=-BcuTD~XdcaoU4}r#M^c;PLKfD~*n1|7R z($2lmb66Yms-OGTqnlX{5QYku=_c!hH{}=vreG42r)Tmx!Y_uO5s~+#u6LPlX%L!j zxmrOBsvPQ;_^(0y>7ylZoN+5pr?@0If-C;0JTm$@G>L&XGGnCrMRk{%@|>WAJGk1_ z)e_?XP5`7816vrKH_EJ^0K6M#4corelyrtaMf8FGDhT%JB*1dZqotlg)zeuYNDU;W z97#Nc$Q35qr;CHhdnwMrx!#R{zB2I3swt(F?I>py&MTr2fq2ifZoN{Z2GbcwBpH`LHjjaSJ#mZZmK zd0ZOMUh^9aq1nnl7A(`I@81>GoB&`I*UK01&rPG4N6x-9ec~Ab6J$CfYUG|DrDucK z^>lExV)4#F9v%dz1q@K##0FA|l?DM8dPh(btP>qz{;d_&T5 zasG?WW;x+%PpS1F-)}sv>Rk?{-V4;I%bO`!YB*OFR@qt4F6IN~;po=%i)UZ^F%$qi z=a^vwf!%>lROAN*q`fCG_<7tVg|kkxnR+jJQ{0}d5ifg(%mw4-C%Mw zwWAz1Jqs1GtTntpRahjcJaTsAdCncdpZ=9+YmPtIB9%1Cs%HCSZ$X?@yp0KunTRhT z=I}+$h)tXeI-hXPf74{EBBtm^mwCXO<5#J5X1Z!(W$_2cK9FU1xz1{~&`J}XL`+#8 zz4Rk$xE>46{x1b2S?aMK?SBzd|0jKk0bOYjh)6KUH|bI0{~uKF Bvts}N diff --git a/Docs/content/annotation/java/images/add-watermark-annotation.png b/Docs/content/annotation/java/images/add-watermark-annotation.png deleted file mode 100644 index bedb26b769b77541ba4d0dc30a7a775a39c81a1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61695 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 diff --git a/Docs/content/annotation/java/images/home.png b/Docs/content/annotation/java/images/home.png deleted file mode 100644 index e572a40ed301d8b78d4851612ce56eb973d3c2fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4996 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 W)a4?)0{pKPiP|IWhouiJUjHwL7LPLk diff --git a/Docs/content/annotation/java/images/how-to-run-the-examples_1.png b/Docs/content/annotation/java/images/how-to-run-the-examples_1.png deleted file mode 100644 index b45ef2024d4d62e9caa850cc03f8c44daed30436..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147422 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 w_vWrzL{BF2w|M+PwR5`AAbo- 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 diff --git a/Docs/content/annotation/java/introducing-groupdocs.annotation-for-java.md b/Docs/content/annotation/java/introducing-groupdocs.annotation-for-java.md deleted file mode 100644 index a9932ca..0000000 --- a/Docs/content/annotation/java/introducing-groupdocs.annotation-for-java.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: introducing-groupdocs-annotation-for-java -url: annotation/java/introducing-groupdocs-annotation-for-java -title: Introducing GroupDocs.Annotation for Java -weight: 1 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -## What Is GroupDocs.Annotation? - -GroupDocs.Annotation is a lightweight and powerful library which allows developers to seamlessly enhance their applications with the capability to annotate documents from wide range of [supported formats]({{< ref "annotation/java/getting-started/supported-document-formats.md" >}}). -Annotations can be applied in form of textual comments, explanations with highlighted notes, watermarks, polylines, text/resource redactions and much more.  -Along with ability to annotate documents multiple users can collaborate via annotation comments. Annotate PDF, DOCX/DOC, PPTX/PPT, XLSX/XLS, JPG, PNG, TIFF, VSDX/VSD, ODT, ODS, ODP, EML, HTML and many others formats, comment and review documents with GroupDocs.Annotation for .NET API. - -## Why Use GroupDocs.Annotation? - -* No additional software is required to annotate documents of any supported format; -* Wide range of supported annotation types - textual, graphics, watermarks, redactions etc.; -* Great variety of customizable properties for every annotation type - color, font weight and style, opacity etc.; -* Ability to collaborate via annotation comments/replies; -* Document information extraction - file type, page count etc.; -* Generate document preview for precise placing annotations inside the document; -* Ability to export/import added annotations to/from documents; -* User-friendly public API and easy start. diff --git a/Docs/content/annotation/java/release-notes/_index.md b/Docs/content/annotation/java/release-notes/_index.md deleted file mode 100644 index 7d618b9..0000000 --- a/Docs/content/annotation/java/release-notes/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -id: release-notes -url: annotation/java/release-notes -title: Release Notes -weight: 4 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- diff --git a/Docs/content/annotation/java/release-notes/release-notes-2016/_index.md b/Docs/content/annotation/java/release-notes/release-notes-2016/_index.md deleted file mode 100644 index a3d5dbb..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2016/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -id: release-notes-2016 -url: annotation/java/release-notes-2016 -title: Release Notes - 2016 -weight: 5 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- diff --git a/Docs/content/annotation/java/release-notes/release-notes-2016/groupdocs.annotation-for-java-3.1.0-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2016/groupdocs.annotation-for-java-3.1.0-release-notes.md deleted file mode 100644 index e8f360d..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2016/groupdocs.annotation-for-java-3.1.0-release-notes.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -id: groupdocs-annotation-for-java-3-1-0-release-notes -url: annotation/java/groupdocs-annotation-for-java-3-1-0-release-notes -title: GroupDocs.Annotation for Java 3.1.0 Release Notes -weight: 1 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 3.1.0{{< /alert >}} - -## Major Features - -There are improvements and fixes in this regular monthly release. The most notable are: - -* Support annotating different document formats (Pdf, Slides, Cells, Words). -* Added ability to export annotated Pdf and Words documents -* Code and product structure optimization. -* Added ability of native annotating Words documents -* Improved performance of document Viewing -* Added ability to export annotated Words documents -* Storage-agnosic datalayer. -* Simplified flexible API. - -## Full List of Issues Covering all Changes in this Release - -| Key | Summary | Category | -| --- | --- | --- | -| ANNOTATIONNET-196 | Implement getting not all pages of document at once (performance improvenet) | Improvement | -| ANNOTATIONNET-197 | Increase slow Performance on big file | Improvement | -| ANNOTATIONNET-216 | Implement proper exception for unsuported annotations for Slides and Cells formats | Improvement | -| ANNOTATIONNET-189 | Implement ResourceRedaction annotation in Word documents | New Feature | -| ANNOTATIONNET-191 | Implement Strikeout annotation in Word documents | New Feature | -| ANNOTATIONNET-190 | Implement TextField annotation in Word documents | New Feature | -| ANNOTATIONNET-187 | Implement Text Replacement in Words documents (comments) | New Feature | -| ANNOTATIONNET-188 | Implement TextHighlight annotation in Word documents | New Feature | -| ANNOTATIONNET-211 | Implement Text Area annotatoin in Words documents | New Feature | -| ANNOTATIONNET-198 | Implement document export to Word | New Feature | -| ANNOTATIONJAVA-913 | User name not showed for export annotaions | Bug | -| ANNOTATIONJAVA-966 | UserName doesn't exported for the text annotation | Bug | -| ANNOTATIONJAVA-916 | The point annotation can't be imported from the pdf document. | Bug | -| ANNOTATIONJAVA-909 | Export for MSWord files does not work | Bug | - -## Public API and Backward Incompatible Changes - -This is the first version of new generation GroupDocs.Annotation for Java. diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/_index.md b/Docs/content/annotation/java/release-notes/release-notes-2017/_index.md deleted file mode 100644 index c9cdb55..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -id: release-notes-2017 -url: annotation/java/release-notes-2017 -title: Release Notes - 2017 -weight: 4 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md deleted file mode 100644 index 2b6ed31..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.1.0-release-notes.md +++ /dev/null @@ -1,145 +0,0 @@ ---- -id: groupdocs-annotation-for-java-17-1-0-release-notes -url: annotation/java/groupdocs-annotation-for-java-17-1-0-release-notes -title: GroupDocs.Annotation for Java 17.1.0 Release Notes -weight: 6 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.1.0{{< /alert >}} - -## Major Features - -Below the list of improvements fixes and new features in this regular monthly release of GroupDocs.Annotation for Java. The most notable are: - -* Implement annotations import from Word documents -* Implement  auto-import annotations when opening PDF documents -* Add native Word annotations after export to Word documents different types of annotations -* Fix users permission for Delete annotations -* Implemented following for slides documents: -* Point annotation -* Area annotation -* ResourceRedaction annotation -* Arrow annotation -* TextField annotation -* Polyline annotation -* Watermark annotation -* Show and store annotation author when export annotation for PDF documents - -Implemented following for slides documents: - -* TextHighlight annotation -* TextStrikeout annotation -* TextUndreline annotation - -Implemented ability to import following annotations: - -* Import of ResourceRedaction annotation -* Import of Text Field annotation  -* Import of Area annotation -* Import of Arrow annotation -* Import of Polyline annotation -* Import of Watermark annotation -* Import of Point annotation - -Implemented following annotations for images: - -* Watermart annotation -* Polyline annotation -* Text Underline annotation -* Text Strikeout annotation -* TextField annotation -* Point annotation -* Resource Redaction annotation -* Area annotation - -Implemented annotating documents of following types: - -* JPG -* TIFF -* BMP -* GIF (static images without animation) - -Fixed following bugs: - -* When exporting Slide document TextField annotation hasn't text -* For Slides format fix background when import Resource Redaction annotation  - -Improvement: - -* Increase number of integration test for improving quality of product - -Fixed bug with wrong annotation orientation (After export PDF annotations are shifted to other place) - -## Full List of Issues Covering all Changes in this Release - -| Key | Summary | Category | -| --- | --- | --- | -| ANNOTATIONNET-249 | Import TextField annotation from Words Documents | New Feature | -| ANNOTATIONNET-236 | Implement TextRedaction annotation import from Word | New Feature | -| ANNOTATIONNET-244 | Implement Shape annotations import from Word | New Feature | -| ANNOTATIONNET-237 | Implement TextStrikeout annotation import from Word | New Feature | -| ANNOTATIONNET-238 | Implement Underline annotation import from Word | New Feature | -| ANNOTATIONNET-235 | Implement Area annotation import from Word | New Feature | -| ANNOTATIONNET-234 | Implement Text annotation import from Word | New Feature | -| ANNOTATIONNET-230 | Add native Word annotations after export Word documents to Text Replacement annotation | New Feature | -| ANNOTATIONNET-224 | Add native Word annotations after export Word documents | New Feature | -| ANNOTATIONNET-228 | Add native Word annotations after export Word documents to Strikeout annotation | New Feature | -| ANNOTATIONNET-282 | Implement Watermark annotation for Slides format | New Feature | -| ANNOTATIONNET-276 | Implement Area annotation for Slides format | New Feature | -| ANNOTATIONNET-275 | Implement Arrow annotation for Slides format | New Feature | -| ANNOTATIONNET-273 | Implement Text Field annotation in Slides document | New Feature | -| ANNOTATIONNET-272 | Implement Polyline annotation for Slides format | New Feature | -| ANNOTATIONNET-271 | Implement Point annotation for Slides format | New Feature | -| ANNOTATIONNET-303 | Implement Strikeout annotation for Slides format | New Feature | -| ANNOTATIONNET-302 | Implement Undreline annotation for Slides format | New Feature | -| ANNOTATIONNET-301 | Implement Highlight annotation for Slides format | New Feature | -| ANNOTATIONNET-296 | Implement import of Text Field annotation for Slides | New Feature | -| ANNOTATIONNET-295 | Implement import of Point annotation for Slides | New Feature | -| ANNOTATIONNET-294 | Implement import of Resource Redaction annotation for Slides | New Feature | -| ANNOTATIONNET-293 | Implement import of Watermark annotation for Slides | New Feature | -| ANNOTATIONNET-292 | Implement import of Polyline annotation for Slides | New Feature | -| ANNOTATIONNET-291 | Implement import of Arrow annotation for Slides | New Feature | -| ANNOTATIONNET-290 | Implement import of Area annotation for Slides | New Feature | -| ANNOTATIONNET-320 | Implement Watermark annotation for images | New Feature | -| ANNOTATIONNET-319 | Implement Polyline annotation for images | New Feature | -| ANNOTATIONNET-318 | Implement Text Underline annotation for images | New Feature | -| ANNOTATIONNET-317 | Implement Text Strikeout annotations for images | New Feature | -| ANNOTATIONNET-316 | Implement TextField annotation for images | New Feature | -| ANNOTATIONNET-315 | Implement Point annotation for images | New Feature | -| ANNOTATIONNET-314 | Implement Resource Redaction annotation for images | New Feature | -| ANNOTATIONNET-313 | Implement Area annotation for images | New Feature | -| ANNOTATIONNET-337 | Implement annotating GIF format static images (without animation) | New Feature | -| ANNOTATIONNET-332 | Implement annotating TIFF format images | New Feature | -| ANNOTATIONNET-331 | Implement annotating BMP format images | New Feature | -| ANNOTATIONNET-329 | Implement annotating JPEG format images | New Feature | -| ANNOTATIONNET-241 | Implement option for ability to auto-import annotations when opening PDF documents | Improvement | -| ANNOTATIONNET-266 | Show and store annotation author when export annotation for PDF documents | Improvement | -| ANNOTATIONNET-250 | Fix users permission for Delete annotations | Bug | -| ANNOTATIONNET-298 | Arrow annotation imported incorrectly on several Words documents | Bug | -| ANNOTATIONNET-311 | Wrong annotation orientation (After export PDF annotations are shifted to other place) | Bug | -| ANNOTATIONNET-335 | While exporting Slide document TextField annotation hasn't text | Bug | -| ANNOTATIONNET-324 | Fix background when import Resource Redaction annotation (for slides) | Bug | -| ANNOTATIONJAVA-904 | Quality doesn't work | Bug | -| ANNOTATIONJAVA-915 | Search functionality doesn't work for one pdf | Bug | -| ANNOTATIONJAVA-856 | Incorrect rendering "strickeout text" annotation after import | Bug | -| ANNOTATIONJAVA-877 | Localization works only after a document was rendered | Bug | -| ANNOTATIONJAVA-907 | Access callbacks ExportPdf and ExportWord do not works | Bug | -| ANNOTATIONJAVA-911 | Performance issue with .pdf document that has a lot of images | Bug | -| ANNOTATIONJAVA-764 | Document comments reply issues | Bug | -| ANNOTATIONJAVA-910 | Issue with showing Excel groups | Bug | - -## Public API and Backward Incompatible Changes - -{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.1.0. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} - - - -* Added ability to import annotations from Words documents -* Added ability to annotate Slides documents with different annotations types -* Added ability to import annotations from Slides documents -* Added ability to add text annotations to Slides documents (TextHighlight, TextStrikeout, TextUnderline) -* Added ability to annotate images -* Added new formats to annotating images article diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md deleted file mode 100644 index d81f918..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10-release-notes.md +++ /dev/null @@ -1,139 +0,0 @@ ---- -id: groupdocs-annotation-for-java-17-10-release-notes -url: annotation/java/groupdocs-annotation-for-java-17-10-release-notes -title: GroupDocs.Annotation for Java 17.10 Release Notes -weight: 3 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.10{{< /alert >}} - -## Major Features - -Below the list of  new features and fixed bugs in this regular monthly release of GroupDocs.Annotation for Java. The most notable are: - -* Fixed SVG path parsing for specific cases -* Implemented annotations import for Diagrams format (Area Redaction, Polyline, Text Field, Area Redaction) -* Implemented setting opacity to annotations where it is possible -* Exceptions handling improvements (added several more specific type of exceptions) -* Implemented distance annotation adding for slides  -* Implemented text annotations for Slides  -* Added opacity for text annotations for Words  -* Import text annotations for slides  -* Fixed number of bugs from customers -* Implemented export distance annotations for Words -* Implemented adding comments for different types of Annotations for Diagrams format -* Fixed wrong exporting comments for Words -* Fixed issue with export large forn text for Wiords documents -* Fixed comments exporting (in some cases old comments was exported) - -## Full List of Issues Covering all Changes in this Release - -| Key | Summary | Issue Type | -| --- | --- | --- | -| ANNOTATIONNET-448 | Set opacity for Diagrams annotations | New Feature | -| ANNOTATIONNET-447 | Set opacity for Pdf annotations | New Feature | -| ANNOTATIONNET-446 | Set opacity for Words annotations | New Feature | -| ANNOTATIONNET-445 | Set opacity for Slides annotations | New Feature | -| ANNOTATIONNET-490 | Implement clean of distance annotation | New Feature | -| ANNOTATIONNET-441 | Import text field annotation from Diagram | New Feature | -| ANNOTATIONNET-440 | Import polyline annotation from Diagram | New Feature | -| ANNOTATIONNET-439 | Import Area Redaction annotation from diagram | New Feature | -| ANNOTATIONNET-438 | Import area annotation from diagram | New Feature | -| ANNOTATIONNET-430 | Implement import annotations for Diagram | New Feature | -| ANNOTATIONNET-419 | Implement TextField annotation for Diagrams | New Feature | -| ANNOTATIONNET-489 |  Implement export of distance annotation |  New Feature | -| ANNOTATIONNET-488 | Implement import of distance annotation | New Feature | -| ANNOTATIONNET-487 | Implement distance annotation for slides | New Feature | -| ANNOTATIONNET-482 | Import highlight annotation from slides | New Feature | -| ANNOTATIONNET-481 | Import underline annotation from slides | New Feature | -| ANNOTATIONNET-480 | Import strikeout annotation from slides | New Feature | -| ANNOTATIONNET-479 | Import text annotations from slides | New Feature | -| ANNOTATIONNET-477 | Implement opacity for text annotations in Words | New Feature | -| ANNOTATIONNET-475 | Implement opacity for text annotations in slides | New Feature | -| ANNOTATIONNET-468 | Implement underline annotation for slides | New Feature | -| ANNOTATIONNET-467 | Implement strikeout annotation for slides | New Feature | -| ANNOTATIONNET-466 | Implement text annotations for Slides | New Feature | -| ANNOTATIONNET-508 | Implement export distance annotation for words | New Feature | -| ANNOTATIONNET-504 | Add comment for distance annotation in Diagrams | New Feature | -| ANNOTATIONNET-455 | Add comment for arrow annotation in Diagrams | New Feature | -| ANNOTATIONNET-454 | Add comment for resource redaction annotation in Diagrams | New Feature | -| ANNOTATIONNET-453 | Add comment for area annotation in Diagrams | New Feature | -| ANNOTATIONNET-452 | Add comment for polyline annotation in Diagrams | New Feature | -| ANNOTATIONNET-451 | Implement adding comments to annotations in diagram | New Feature | -| ANNOTATIONJAVA-1000 | Set annotations opacity | New Feature | -| ANNOTATIONNET-442 | Implement additional specific exceptions | Improvement | -| ANNOTATIONNET-485 | Simplify the cleaning of the document for the correct import of text annotations | Improvement | -| ANNOTATIONNET-471 | Change arrow shape for arrow annotation | Improvement | -| ANNOTATIONNET-421 | Bug with parsing specific SVG path | Bug | -| ANNOTATIONNET-483 | Exception thrown when deleting annotation with multiple replies | Bug | -| ANNOTATIONNET-473 | Export document to word creates multiple comments | Bug | -| ANNOTATIONNET-510 | Wrong comment exported to Word | Bug | -| ANNOTATIONNET-509 | Wrong Distance annotation exported to word | Bug | -| ANNOTATIONNET-505 | Words: Fix export annotations for large fonts | Bug | -| ANNOTATIONNET-503 | Exporting a Word document adds old comments | Bug | -| ANNOTATIONNET-497 | Comment is not exported in Word | Bug | -| ANNOTATIONJAVA-1027 | Exception is generated while annotating xlsx formatted document | Bug | -| ANNOTATIONJAVA-1028 | Exception is generated while annotating pptx formatted document | Bug | -| ANNOTATIONJAVA-1033 | Exception when get a document using file path as argument | Bug | -| ANNOTATIONJAVA-1034 | Failed to get added annotations | Bug | -| ANNOTATIONJAVA-1035 | Exception is thrown when certain method is called simultaneously | Bug | -| ANNOTATIONJAVA-1036 | Exception is thrown when retrieving area annotation from DOCX file | Bug | -| ANNOTATIONJAVA-1037 | API fails to create Temp Directory in storage path | Bug | - -## Public API and Backward Incompatible Changes - -{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} - -To *AnnotationInfo* object added new *Opacity* field that sets opacity of annotation (can be null or float number between 0 and 1) - - - -```java -public void setOpacity(Double value); -public Double getOpacity(); -``` - -Sample of usage - - - -```java -AnnotationInfo textAnnotation = new AnnotationInfo(); -textAnnotation.setBox(new Rectangle(68, 154, 102, 9)); -textAnnotation.setPageNumber(0); -textAnnotation.setSvgPath("[{\"x\":68.7886,\"y\":687.5769},{\"x\":170.8186,\"y\":687.5769},{\"x\":68.7886,\"y\":678.5769},{\"x\":170.8186,\"y\":678.5769}]"); -textAnnotation.setType(AnnotationType.Text); -textAnnotation.setCreatorName("Anonym A."); -textAnnotation.setOpacity(0.1); -``` - -Import annotations from Diagram documents - - - -```java -AnnotationConfig cfg = new AnnotationConfig(); -cfg.setStoragePath(Utilities.STORAGE_PATH); - -AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - -if(!new File(cfg.getStoragePath()).exists() && !new File(cfg.getStoragePath()).mkdirs()) { - System.out.println("Can't create directory!"); -} - -License license = new License(); -license.setLicense(Utilities.LICENSE_PATH); - -InputStream input = new FileInputStream(Utilities.STORAGE_PATH + File.separator + "testImportArrow.vsdx"); -AnnotationInfo[] annotations = annotator.importAnnotations(input, DocumentType.Diagram); - -InputStream clearDocument = new FileInputStream(Utilities.STORAGE_PATH + File.separator + "testClear.vsd"); -InputStream output = annotator.exportAnnotationsToDocument(clearDocument, Arrays.asList(annotations), DocumentType.Diagram); - -try (OutputStream fileStream = new FileOutputStream(Utilities.STORAGE_PATH + File.separator + "testDiagramExported.vsdx")) { - IOUtils.copy(output, fileStream); -} -``` diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md deleted file mode 100644 index 4312874..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.1-release-notes.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: groupdocs-annotation-for-java-17-10-1-release-notes -url: annotation/java/groupdocs-annotation-for-java-17-10-1-release-notes -title: GroupDocs.Annotation for Java 17.10.1 Release Notes -weight: 2 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.10.1{{< /alert >}} - -## Major Features - -Below the list of fixed bugs in this release of GroupDocs.Annotation for Java. The most notable are: - -* Fixed number of bugs from customers - -## Full List of Issues Covering all Changes in this Release - -| Key | Summary | Issue Type | -| --- | --- | --- | -| ANNOTATIONJAVA-1048 | com.groupdocs.annotation.domain.results.SaveAnnotationTextResult is not serialize-able | Bug | -| ANNOTATIONJAVA-1030 | Exception is generated while downloading annotated pdf document | Bug | -| ANNOTATIONJAVA-1008 | Not able to add annotations at all | Bug | -| ANNOTATIONJAVA-1029 | Cannot annotate images | Bug | -| ANNOTATIONJAVA-1045 | Exception generated while importing annotation from diagram | Bug | -| ANNOTATIONJAVA-1005 | AnnotationImageHandler.getPages does not respect ImageOptions.setWidth | Bug | - -## Public API and Backward Incompatible Changes - -{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10.1. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} - -None diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md deleted file mode 100644 index d516d5e..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.10.2-release-notes.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: groupdocs-annotation-for-java-17-10-2-release-notes -url: annotation/java/groupdocs-annotation-for-java-17-10-2-release-notes -title: GroupDocs.Annotation for Java 17.10.2 Release Notes -weight: 1 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.10.2{{< /alert >}} - -## Major Features - -Fixed bugs from customer. - -## Full List of Issues Covering all Changes in this Release - -| Key | Summary | Issue Type | -| --- | --- | --- | -| ANNOTATIONJAVA-1052 | Area annotation is invisible on adding | Bug | -| ANNOTATIONJAVA-1054 | Unable to change position of the annotation | Bug | -| ANNOTATIONJAVA-1055 | Annotation properties are not behaving same in Java as in .NET | Bug | -| ANNOTATIONJAVA-1056 | Wrong color behavior | Bug | - -## Public API and Backward Incompatible Changes - -{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10.2. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} - -None diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md deleted file mode 100644 index 2a67daa..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.5.0-release-notes.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -id: groupdocs-annotation-for-java-17-5-0-release-notes -url: annotation/java/groupdocs-annotation-for-java-17-5-0-release-notes -title: GroupDocs.Annotation for Java 17.5.0 Release Notes -weight: 5 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.5.0{{< /alert >}} - -## Major Features - -Below the list of improvements, fixed bugs and new features in this regular monthly release of GroupDocs.Annotation for Java. The most notable are: -* Add Metered licensing support -* Implemented DICOM documents annotating  -* Implemented Otp documents annotating  -* Implemented DjVu documents annotating -* Adding annotations to EMF/WMF documents -* Added Distance Annotations to image documents -* Implemented CAD documents annotating  -* Implemented Arrow annotation for images -* Fixed replies to annotations for Word documents -* Improving processing CAD files (user able to work with documents with several pages) -* Improved import annotation for Words document -* Processing tables, numebered lists and hyperlinks in Words documents -* Fixed issue on mechanism of annotations detection on special cases for Words documents -* Implemented ability to annotate Email documents (export only) -* Added ability to annotate Html documents -* Implemented import annotations from tables for Words documents - -## Full List of Issues Covering all Changes in this Release - -| Key | Summary | Issue Type | -| --- | --- | --- | -| ANNOTATIONNET-351 | Implement annotating for DICOM format images | New Feature | -| ANNOTATIONNET-348 | Add Metered licensing support | New Feature | -| ANNOTATIONNET-344 | Implement adding annotations to Otp format | New Feature | -| ANNOTATIONNET-340 | Implement annotating DjVu format | New Feature | -| ANNOTATIONNET-368 | Implement distance annotation for images | New Feature | -| ANNOTATIONNET-367 | Implement annotating EMF/WMF document | New Feature | -| ANNOTATIONNET-363 | Implement CAD documents annotating | New Feature | -| ANNOTATIONNET-361 | Implement adding Arrow annotation to Image documents | New Feature | -| ANNOTATIONNET-380 | Process hyperlinks in tables for Words documents | New Feature | -| ANNOTATIONNET-379 | Processing numbered lists in tables for Words documents | New Feature | -| ANNOTATIONNET-378 | Processing tables in Word documents | New Feature | -| ANNOTATIONNET-393 | Implement GetDocumentInfo from a stream | New Feature | -| ANNOTATIONNET-392 | Implement Html documents annotating | New Feature | -| ANNOTATIONNET-391 | Implement annotating Email format | New Feature | -| ANNOTATIONNET-390 | Implement import annotations in tables for Word | New Feature | -| ANNOTATIONNET-381 | Improve import annotations from Word documents | Improvement | -| ANNOTATIONNET-376 | Improve Annotating CAD files | Improvement | -| ANNOTATIONNET-388 | Refactor annotations export logic | Improvement | -| ANNOTATIONNET-365 | Export to MS-Word exporting the repeated reply comments | Bug | -| ANNOTATIONNET-389 | Fix issues with annotations detection in some special cases in Words documents | Bug | - -## Public API and Backward Incompatible Changes - -{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.5.0. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} - -1. Added new formats to annotating images article -2. Adding annotations for EMF/WMF and CAD formats -3. Adding Distance and Arrow annotations for image -4. Added ability to get document information from stream -5. Added annotating Email (export only) (Eml Emlx Msg) documents -6. Added annotating (export only) Email (Html) documents - -### Metered licensing - -```java -String storagePath = Utilities.STORAGE_PATH; - -// Setup Annotation configuration -AnnotationConfig annotationConfig = new AnnotationConfig(); -annotationConfig.setStoragePath(storagePath); - -InputStream cleanPdf = new FileInputStream(Utilities.STORAGE_PATH + File.separator + "SetLicense.TestData.Clear.pdf"); - -// Create new instance of GroupDocs.Annotation.Metered classs -Metered metered = new Metered(); - -// Set public and private key to metered instance -metered.setMeteredKey("**", "**"); - -// Get metered value before usage of the annotation -double amountBefore = Metered.getConsumptionQuantity(); -System.out.println("Amount consumed  before: " + amountBefore); - -//instantiating the annotation handler -AnnotationImageHandler annotator = new AnnotationImageHandler(annotationConfig); -AnnotationInfo pointAnnotation = new AnnotationInfo(); -pointAnnotation.setAnnotationPosition(new Point(852.0, 81.0)); -pointAnnotation.setBox(new Rectangle(212f, 81f, 142f, 0.0f)); -pointAnnotation.setPageNumber(0); -pointAnnotation.setType(AnnotationType.Point); -pointAnnotation.setCreatorName("Anonym A."); - -List annotations = new ArrayList(); -annotations.add(pointAnnotation); - -InputStream result = annotator.exportAnnotationsToDocument(cleanPdf, annotations, DocumentType.Pdf); - -// Get metered value after usage of the annotation -double amountAfter = Metered.getConsumptionQuantity(); -System.out.println("Amount consumed after: " + amountAfter); -System.out.println("Press any key..."); -``` diff --git a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md deleted file mode 100644 index db52ae2..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2017/groupdocs.annotation-for-java-17.6.0-release-notes.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: groupdocs-annotation-for-java-17-6-0-release-notes -url: annotation/java/groupdocs-annotation-for-java-17-6-0-release-notes -title: GroupDocs.Annotation for Java 17.6.0 Release Notes -weight: 4 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.6.0{{< /alert >}} - -## Major Features  - -Below the list of  new features and fixed bugs in this regular monthly release of GroupDocs.Annotation for Java. The most notable are: - -* Added support of annotation Diagrams documents (vsd, vss) - 1. Arrow annotation - 2. Area annotation - 3. ResourceRedaction annotation - 4. Polyline annotation - 5. TextField annotation -* Implement proper error handling when user try to invoke GetDocumentInfo method for images documents -* Updated and improved library obfuscation - -## Full List of Issues Covering all Changes in this Release - -| Key | Summary | Issue Type | -| --- | --- | --- | -| ANNOTATIONNET-417 | Implement Polyline annotation with Diagram documents | New Feature | -| ANNOTATIONNET-416 | Implement Arrow annotation for Diagram documents | New Feature | -| ANNOTATIONNET-410 | Implement Area annotation for Diagrams | New Feature | -| ANNOTATIONNET-406 | Add option to process CAD documents as PDF | Improvement | -| ANNOTATIONNET-405 | Implement GetPages method for Email documents processing from streams | Improvement | -| ANNOTATIONNET-401 | Implement proper error handling when user try to invoke GetDocumentInfo method for images documents | Improvement | -| ANNOTATIONNET-395 | Internal Exception in annotator.GetDocumentInfo() Method | Bug | - -## Public API and Backward Incompatible Changes - -{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.6.0. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} - -1. Added annotating Diagrams (vss, vsd)  documents diff --git a/Docs/content/annotation/java/release-notes/release-notes-2018/_index.md b/Docs/content/annotation/java/release-notes/release-notes-2018/_index.md deleted file mode 100644 index eb41226..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2018/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -id: release-notes-2018 -url: annotation/java/release-notes-2018 -title: Release Notes - 2018 -weight: 3 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- diff --git a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md deleted file mode 100644 index c8f0475..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-17.10.3-release-notes.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -id: groupdocs-annotation-for-java-17-10-3-release-notes -url: annotation/java/groupdocs-annotation-for-java-17-10-3-release-notes -title: GroupDocs.Annotation for Java 17.10.3 Release Notes -weight: 3 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 17.10.3{{< /alert >}} - -## Major Features - -| Key | Summary | Issue Type | -| --- | --- | --- | -| ANNOTATIONJAVA-1063 | Import added annotations from exported PDF document | Bug | - -## Public API and Backward Incompatible Changes - -{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 17.10.3. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} - -There is no changes in this release. diff --git a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md deleted file mode 100644 index 527d377..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.10-release-notes.md +++ /dev/null @@ -1,247 +0,0 @@ ---- -id: groupdocs-annotation-for-java-18-10-release-notes -url: annotation/java/groupdocs-annotation-for-java-18-10-release-notes -title: GroupDocs.Annotation for Java 18.10 Release Notes -weight: 1 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 18.10{{< /alert >}} - -## Major Features - -Below is the list of most notable changes in release of GroupDocs.Annotation for Java: - -* Fixed removing watermarks after cleanup in PDF -* Fixed highlight color is not changed in footnotes for highlight annotations in words. -* Added a font highlight color change for text annotations in word -* Improved integration tests coverage -* Implemented using metadata for storing annotations on Slides -* Implemented support of adding new types of annotations for Diagrams (Watermark, Point) -* Implemented support of adding new types of annotations for Words (Watermark, Point) - -## Full List of Issues Covering all Changes in this Release - -| Key | Summary | Issue Type | -| --- | --- | --- | -| ANNOTATIONNET-666 | Add a font highlight color change for text annotations in word | New Feature | -| ANNOTATIONNET-714 | Implement support of metadata in Slides | New Feature | -| ANNOTATIONNET-713 | Implement Watermark annotation in Diagrams | New Feature | -| ANNOTATIONNET-706 | Implement adding Point annotation in Diagrams | New Feature | -| ANNOTATIONNET-704 | Implement Polyline annotation for Words | New Feature | -| ANNOTATIONNET-700 | Implement watermark annotation for Words | New Feature | -| ANNOTATIONNET-697 | Implement Point annotation for Words | New Feature | -| ANNOTATIONNET-684 | Cleanup in PDF doesn't remove watermarks | Bug | -| ANNOTATIONNET-677 | Highlight color is not changed in footnotes for highlight annotations in words. | Bug | -| ANNOTATIONJAVA-1109 | Exception while running project on macOS | Bug | -| ANNOTATIONJAVA-1089 | License.isValidLicense returns wrong status | Bug | -| ANNOTATIONJAVA-1111 | An exception raises while accessing the source document | Bug | -| ANNOTATIONJAVA-1105 | Licensing is not working | Bug | -| ANNOTATIONJAVA-1107 | isValidLicense() property of License class always returns false | Bug | -| ANNOTATIONJAVA-1097 | TIFF/Multi TIFF file is either corrupted or black and white when annotated | Bug | -| ANNOTATIONJAVA-1098 | Some annotations are missing while exporting to file | Bug | -| ANNOTATIONJAVA-1088 | StringIndexOutOfBoundsException in AnnotationImageHandler.exportAnnotationsToDocument while exporting Line and Distance annotation | Bug | -| ANNOTATIONJAVA-1069 | Unable to retrieve un-annotated page image from annotated document | Bug | -| ANNOTATIONNET-667 | Improve integration tests coverage | Task | - -## Public API and Backward Incompatible Changes - -{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 18.10. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} - -1. Added new types of annotations for Diagrams (Watermark, Point) - - - - ```java - AnnotationConfig cfg = new AnnotationConfig(); - cfg.setStoragePath(storagePath); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - InputStream cleanDiagramFile = new FileInputStream(storagePath + File.separator + fileName); - //FileInputStream input = new FileInputStream("AddAnnotations.TestData."); //Assembly.GetExecutingAssembly().GetManifestResourceStream("AddAnnotations.TestData."); - List annotations = new ArrayList(); - - // Area annotation with 2 replies - AnnotationInfo areaAnnnotation = new AnnotationInfo(); - areaAnnnotation.setCreatedOn(new Date()); - areaAnnnotation.setType(AnnotationType.Area); - areaAnnnotation.setBox(new Rectangle(200, 114.5f, 282.3f, 103.7f)); - - // Polyline annotation - AnnotationInfo polylineAnnotation = new AnnotationInfo(); - polylineAnnotation.setCreatedOn(new Date()); - polylineAnnotation.setType(AnnotationType.Polyline); - polylineAnnotation.setBox(new Rectangle(206.3f, 106.61f, 456.04f, 307.97f)); - polylineAnnotation.setSvgPath("M436.293427230047,148.06338028169014l0,-0.9870892018779343l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-4.935446009389671,-1.9741784037558685l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-1.9741784037558685,0l-3.948356807511737,0l-2.961267605633803,0l-3.948356807511737,0l-4.935446009389671,0l-3.948356807511737,0.9870892018779343l-4.935446009389671,0.9870892018779343l-6.90962441314554,0l-3.948356807511737,0.9870892018779343l-3.948356807511737,0l-2.961267605633803,1.9741784037558685l-3.948356807511737,0.9870892018779343l-6.90962441314554,1.9741784037558685l-6.90962441314554,0.9870892018779343l-12.832159624413146,2.961267605633803l-6.90962441314554,1.9741784037558685l-5.922535211267606,0.9870892018779343l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,0.9870892018779343l-4.935446009389671,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-4.935446009389671,1.9741784037558685l-5.922535211267606,2.961267605633803l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-4.935446009389671,3.948356807511737l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-3.948356807511737,5.922535211267606l-3.948356807511737,4.935446009389671l-3.948356807511737,5.922535211267606l-3.948356807511737,6.90962441314554l-3.948356807511737,7.896713615023474l-0.9870892018779343,6.90962441314554l-1.9741784037558685,7.896713615023474l-1.9741784037558685,6.90962441314554l-0.9870892018779343,7.896713615023474l0,12.832159624413146l0,7.896713615023474l0,7.896713615023474l0.9870892018779343,7.896713615023474l1.9741784037558685,5.922535211267606l2.961267605633803,5.922535211267606l0.9870892018779343,5.922535211267606l2.961267605633803,6.90962441314554l3.948356807511737,5.922535211267606l4.935446009389671,4.935446009389671l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l6.90962441314554,5.922535211267606l7.896713615023474,5.922535211267606l7.896713615023474,5.922535211267606l17.767605633802816,8.883802816901408l11.845070422535212,3.948356807511737l11.845070422535212,4.935446009389671l23.690140845070424,8.883802816901408l41.45774647887324,6.90962441314554l31.586854460093896,3.948356807511737l16.780516431924884,0l16.780516431924884,1.9741784037558685l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,-1.9741784037558685l14.806338028169014,-1.9741784037558685l14.806338028169014,-1.9741784037558685l12.832159624413146,-1.9741784037558685l10.857981220657276,-2.961267605633803l10.857981220657276,-2.961267605633803l8.883802816901408,-4.935446009389671l8.883802816901408,-4.935446009389671l6.90962441314554,-6.90962441314554l6.90962441314554,-6.90962441314554l8.883802816901408,-16.780516431924884l4.935446009389671,-7.896713615023474l3.948356807511737,-8.883802816901408l4.935446009389671,-7.896713615023474l4.935446009389671,-7.896713615023474l3.948356807511737,-13.81924882629108l1.9741784037558685,-18.754694835680752l0,-7.896713615023474l0,-12.832159624413146l-1.9741784037558685,-15.793427230046948l-1.9741784037558685,-15.793427230046948l-4.935446009389671,-15.793427230046948l-8.883802816901408,-15.793427230046948l-12.832159624413146,-23.690140845070424l-10.857981220657276,-10.857981220657276l-5.922535211267606,-3.948356807511737l-12.832159624413146,-8.883802816901408l-9.870892018779342,-8.883802816901408l-5.922535211267606,-3.948356807511737l-12.832159624413146,-5.922535211267606l-15.793427230046948,-8.883802816901408l-13.81924882629108,-4.935446009389671l-11.845070422535212,-2.961267605633803l-11.845070422535212,-3.948356807511737l-11.845070422535212,-3.948356807511737l-5.922535211267606,-1.9741784037558685l-11.845070422535212,-2.961267605633803l-11.845070422535212,-1.9741784037558685l-5.922535211267606,-0.9870892018779343l-10.857981220657276,-1.9741784037558685l-10.857981220657276,-2.961267605633803l-9.870892018779342,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l0,-0.9870892018779343l1.9741784037558685,0"); - - // Text field annotation - AnnotationInfo textFieldAnnotation = new AnnotationInfo(); - textFieldAnnotation.setCreatedOn(new Date()); - textFieldAnnotation.setType(AnnotationType.TextField); - textFieldAnnotation.setBox(new Rectangle(162.87f, 267.5f, 91.8f, 42.45f)); - textFieldAnnotation.setBackgroundColor(-15988609); - textFieldAnnotation.setFieldText("Annotation Text"); - - // Arrow annotation - AnnotationInfo arrowAnnotation = new AnnotationInfo(); - arrowAnnotation.setType(AnnotationType.Arrow); - arrowAnnotation.setBox(new Rectangle(435.77464788732397f, 148.05164319248826f, -66.34389671361504f, 53.07511737089203f)); - - // Distance annotation - AnnotationInfo distanceAnnotation = new AnnotationInfo(); - distanceAnnotation.setCreatedOn(new Date()); - distanceAnnotation.setType(AnnotationType.Distance); - distanceAnnotation.setBox(new Rectangle((float)248.73202514648438, (float)287.85653686523438, (float)115.9178466796875, (float)25.143020629882812)); - distanceAnnotation.setSvgPath("M248.73201877934272,295.5439436619718 l115.28309859154929,-4.192112676056338"); - - // Point annotation - AnnotationInfo pointAnnnotation = new AnnotationInfo(); - pointAnnnotation.setCreatedOn(new Date()); - pointAnnnotation.setType(AnnotationType.Point); - pointAnnnotation.setBox(new Rectangle(150.32f, 99.22f, 0, 0)); - pointAnnnotation.setPageNumber(0); - - // Point annotation - AnnotationInfo watermarkAnnnotation = new AnnotationInfo(); - watermarkAnnnotation.setCreatedOn(new Date()); - watermarkAnnnotation.setFieldText("Watermark text"); - watermarkAnnnotation.setFontColor(16711680); - watermarkAnnnotation.setFontFamily("Microsoft Sans Serif"); - watermarkAnnnotation.setFontSize(17); - watermarkAnnnotation.setOpacity(0.3); - watermarkAnnnotation.setType(AnnotationType.Watermark); - - // Resource redaction annotation - AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo(); - resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction); - resourceRedactionAnnotation.setBox(new Rectangle(200, 114.5f, 282.3f, 103.7f)); - annotations.add(areaAnnnotation); - annotations.add(polylineAnnotation); - annotations.add(textFieldAnnotation); - annotations.add(arrowAnnotation); - annotations.add(resourceRedactionAnnotation); - annotations.add(distanceAnnotation); - annotations.add(pointAnnnotation); - annotations.add(watermarkAnnnotation); - - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDiagramFile, annotations); - - // Save result stream to file. - OutputStream fileStream = new FileOutputStream(Utilities.OUTPUT_PATH + File.separator + "Annotated.vsdx"); - IOUtils.copy(result, fileStream); - ``` - -2. Added new types of annotations for Words (Polyline, Watermark, Point) - - - - ```java - AnnotationConfig cfg = new AnnotationConfig(); - cfg.setStoragePath(storagePath); - AnnotationImageHandler annotator = new AnnotationImageHandler(cfg); - - InputStream cleanDoc = new FileInputStream(storagePath + File.separator + "AddAnnotationsWords.TestData.Clear.docx"); - List annotations = new ArrayList(); - - // init possible types of annotations - AnnotationInfo textAnnotation = new AnnotationInfo(); - textAnnotation.setPageNumber(1); - textAnnotation.setSvgPath("[{\"x\":186.698,\"y\":706.196},{\"x\":318.41201,\"y\":706.196},{\"x\":186.698,\"y\":697.196},{\"x\":318.41201,\"y\":697.196}]"); - textAnnotation.setType(AnnotationType.Text); - textAnnotation.setText("Comment"); - - AnnotationInfo areaAnnnotation = new AnnotationInfo(); - areaAnnnotation.setBackgroundColor(11111111); - areaAnnnotation.setBox(new Rectangle(87.9f, 276.5f, 435.7f, 87f)); - areaAnnnotation.setPageNumber(1); - areaAnnnotation.setType(AnnotationType.Area); - - AnnotationInfo strikeoutAnnotation = new AnnotationInfo(); - strikeoutAnnotation.setBox(new Rectangle(87.9f, 276.5f, 435.7f, 87f)); - strikeoutAnnotation.setPageNumber(1); - strikeoutAnnotation.setPenColor(1201033); - strikeoutAnnotation.setSvgPath("[{\"x\":208.392,\"y\":313.088},{\"x\":519.659,\"y\":313.088},{\"x\":208.392,\"y\":304.088},{\"x\":519.659,\"y\":304.088}]"); - strikeoutAnnotation.setType(AnnotationType.TextStrikeout); - - AnnotationInfo textFieldAnnotation = new AnnotationInfo(); - textFieldAnnotation.setFieldText("text in the box"); - textFieldAnnotation.setFontFamily("Arial"); - textFieldAnnotation.setFontSize(10); - textFieldAnnotation.setBox(new Rectangle(92f, 73f, 106f, 45f)); - textFieldAnnotation.setPageNumber(1); - textFieldAnnotation.setType(AnnotationType.TextField); - - AnnotationInfo textReplacementAnnotation = new AnnotationInfo(); - textReplacementAnnotation.setFieldText(" \"REPLACED TEXT\" "); - textReplacementAnnotation.setFontSize(10); - textReplacementAnnotation.setSvgPath("[{\"x\":251.224,\"y\":637.20401},{\"x\":327.89,\"y\":637.20401},{\"x\":251.224,\"y\":628.20401},{\"x\":327.89,\"y\":628.20401}]"); - textReplacementAnnotation.setPageNumber(0); - textReplacementAnnotation.setType(AnnotationType.TextReplacement); - - AnnotationInfo arrowAnnotation = new AnnotationInfo(); - arrowAnnotation.setBox(new Rectangle(479f, 218f, -261f, -89f)); - arrowAnnotation.setPageNumber(1); - arrowAnnotation.setType(AnnotationType.Arrow); - - AnnotationInfo textRedactionAnnotation = new AnnotationInfo(); - textRedactionAnnotation.setPageNumber(2); - textRedactionAnnotation.setSvgPath("[{\"x\":72,\"y\":676.07},{\"x\":196.427,\"y\":676.074},{\"x\":72,\"y\":662.674},{\"x\":196.427,\"y\":662.674}]"); - textRedactionAnnotation.setType(AnnotationType.TextRedaction); - - AnnotationInfo resourceRedactionAnnotation = new AnnotationInfo(); - resourceRedactionAnnotation.setBox(new Rectangle(69f, 337f, 449f, 118f)); - resourceRedactionAnnotation.setPageNumber(1); - resourceRedactionAnnotation.setType(AnnotationType.ResourcesRedaction); - - AnnotationInfo underlineAnnotation = new AnnotationInfo(); - underlineAnnotation.setPageNumber(2); - underlineAnnotation.setSvgPath("[{\"x\":415.17499,\"y\":628.874},{\"x\":511.85101,\"y\":628.874},{\"x\":415.17499,\"y\":619.874},{\"x\":511.85101,\"y\":619.874}]"); - underlineAnnotation.setType(AnnotationType.TextUnderline); - - // Polyline annotation - AnnotationInfo polylineAnnotation = new AnnotationInfo(); - polylineAnnotation.setCreatedOn(new Date()); - polylineAnnotation.setType(AnnotationType.Polyline); - polylineAnnotation.setBox(new Rectangle(206.3f, 106.61f, 456.04f, 307.97f)); - polylineAnnotation.setSvgPath("M436.293427230047,148.06338028169014l0,-0.9870892018779343l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-0.9870892018779343,-0.9870892018779343l-1.9741784037558685,-0.9870892018779343l-0.9870892018779343,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-4.935446009389671,-1.9741784037558685l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-1.9741784037558685,0l-1.9741784037558685,-0.9870892018779343l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-2.961267605633803,0l-1.9741784037558685,0l-3.948356807511737,0l-2.961267605633803,0l-3.948356807511737,0l-4.935446009389671,0l-3.948356807511737,0.9870892018779343l-4.935446009389671,0.9870892018779343l-6.90962441314554,0l-3.948356807511737,0.9870892018779343l-3.948356807511737,0l-2.961267605633803,1.9741784037558685l-3.948356807511737,0.9870892018779343l-6.90962441314554,1.9741784037558685l-6.90962441314554,0.9870892018779343l-12.832159624413146,2.961267605633803l-6.90962441314554,1.9741784037558685l-5.922535211267606,0.9870892018779343l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,0.9870892018779343l-4.935446009389671,1.9741784037558685l-5.922535211267606,1.9741784037558685l-5.922535211267606,1.9741784037558685l-4.935446009389671,1.9741784037558685l-5.922535211267606,2.961267605633803l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-4.935446009389671,3.948356807511737l-5.922535211267606,3.948356807511737l-5.922535211267606,3.948356807511737l-3.948356807511737,5.922535211267606l-3.948356807511737,4.935446009389671l-3.948356807511737,5.922535211267606l-3.948356807511737,6.90962441314554l-3.948356807511737,7.896713615023474l-0.9870892018779343,6.90962441314554l-1.9741784037558685,7.896713615023474l-1.9741784037558685,6.90962441314554l-0.9870892018779343,7.896713615023474l0,12.832159624413146l0,7.896713615023474l0,7.896713615023474l0.9870892018779343,7.896713615023474l1.9741784037558685,5.922535211267606l2.961267605633803,5.922535211267606l0.9870892018779343,5.922535211267606l2.961267605633803,6.90962441314554l3.948356807511737,5.922535211267606l4.935446009389671,4.935446009389671l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l3.948356807511737,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l5.922535211267606,5.922535211267606l6.90962441314554,5.922535211267606l7.896713615023474,5.922535211267606l7.896713615023474,5.922535211267606l17.767605633802816,8.883802816901408l11.845070422535212,3.948356807511737l11.845070422535212,4.935446009389671l23.690140845070424,8.883802816901408l41.45774647887324,6.90962441314554l31.586854460093896,3.948356807511737l16.780516431924884,0l16.780516431924884,1.9741784037558685l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,0l16.780516431924884,-1.9741784037558685l14.806338028169014,-1.9741784037558685l14.806338028169014,-1.9741784037558685l12.832159624413146,-1.9741784037558685l10.857981220657276,-2.961267605633803l10.857981220657276,-2.961267605633803l8.883802816901408,-4.935446009389671l8.883802816901408,-4.935446009389671l6.90962441314554,-6.90962441314554l6.90962441314554,-6.90962441314554l8.883802816901408,-16.780516431924884l4.935446009389671,-7.896713615023474l3.948356807511737,-8.883802816901408l4.935446009389671,-7.896713615023474l4.935446009389671,-7.896713615023474l3.948356807511737,-13.81924882629108l1.9741784037558685,-18.754694835680752l0,-7.896713615023474l0,-12.832159624413146l-1.9741784037558685,-15.793427230046948l-1.9741784037558685,-15.793427230046948l-4.935446009389671,-15.793427230046948l-8.883802816901408,-15.793427230046948l-12.832159624413146,-23.690140845070424l-10.857981220657276,-10.857981220657276l-5.922535211267606,-3.948356807511737l-12.832159624413146,-8.883802816901408l-9.870892018779342,-8.883802816901408l-5.922535211267606,-3.948356807511737l-12.832159624413146,-5.922535211267606l-15.793427230046948,-8.883802816901408l-13.81924882629108,-4.935446009389671l-11.845070422535212,-2.961267605633803l-11.845070422535212,-3.948356807511737l-11.845070422535212,-3.948356807511737l-5.922535211267606,-1.9741784037558685l-11.845070422535212,-2.961267605633803l-11.845070422535212,-1.9741784037558685l-5.922535211267606,-0.9870892018779343l-10.857981220657276,-1.9741784037558685l-10.857981220657276,-2.961267605633803l-9.870892018779342,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l-0.9870892018779343,0l0,-0.9870892018779343l1.9741784037558685,0"); - - - // Watermark annotation - AnnotationInfo watermarkAnnnotation = new AnnotationInfo(); - watermarkAnnnotation.setCreatedOn(new Date()); - watermarkAnnnotation.setFieldText("Watermark text"); - watermarkAnnnotation.setFontColor(16711680); - watermarkAnnnotation.setFontFamily("Microsoft Sans Serif"); - watermarkAnnnotation.setFontSize(17); - watermarkAnnnotation.setOpacity(0.3); - watermarkAnnnotation.setType(AnnotationType.Watermark); - // Point annotation - AnnotationInfo pointAnnnotation = new AnnotationInfo(); - pointAnnnotation.setCreatedOn(new Date()); - pointAnnnotation.setType(AnnotationType.Point); - pointAnnnotation.setBox(new Rectangle(150.32f, 99.22f, 0, 0)); - pointAnnnotation.setPageNumber(0); - - annotations.add(textAnnotation); - annotations.add(areaAnnnotation); - annotations.add(strikeoutAnnotation); - annotations.add(textFieldAnnotation); - annotations.add(textReplacementAnnotation); - annotations.add(arrowAnnotation); - annotations.add(textRedactionAnnotation); - annotations.add(resourceRedactionAnnotation); - annotations.add(underlineAnnotation); - annotations.add(polylineAnnotation); - annotations.add(watermarkAnnnotation); - annotations.add(pointAnnnotation); - - // Add annotation to the document - InputStream result = annotator.exportAnnotationsToDocument(cleanDoc, annotations, DocumentType.Words); - - // Save result stream to file. - OutputStream fileStream = new FileOutputStream(Utilities.OUTPUT_PATH + File.separator + "words-annotated.docx"); - System.out.println(result.available()); - IOUtils.copy(result, fileStream); - ``` diff --git a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md deleted file mode 100644 index 3900dfe..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2018/groupdocs.annotation-for-java-18.4-release-notes.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -id: groupdocs-annotation-for-java-18-4-release-notes -url: annotation/java/groupdocs-annotation-for-java-18-4-release-notes -title: GroupDocs.Annotation for Java 18.4 Release Notes -weight: 2 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 18.4{{< /alert >}} - -## Major Features - -Below is the list of new features improvements and fixes in this release of GroupDocs.Annotation for Java 18.4: - -* Added ability to import distance annotations in Words format -* Improve import of annotations for Words format -* Fixed several bugs regarding to PDF annotation import -* Fixed TextField annotations import for Diagrams format -* Fixed export some types of annotation for Diagrams format -* Improved Replacement annotation for text in different paragraphs -* Fixed import text field for Diagram documents -* Fixed bug with import text annotations from Pdf -* Fixed resizing image when user pass width and height -* Fixed creating of Arrow annotation for Diagrams -* Fixed issue with wrong distance structure after export in diagram -* Fixed issue with wrong Polyline structure after export in diagram -* Fixed bug with hanging of sample while importing distance annotation for Slides format -* Fixed bug when importing area annotation -* Fixed bug with importing annotations for diagrams -* Improved export of underline text annotation for PDF -* Improved export strikeout text annotation for PDF -* Improved  creating annotations from colored or transparent text -* Fixed transparent text for all formats -* Fixed bug when importing text for TextField annotation in Diagrams - -## Full List of Issues Covering all Changes in this Release - -| Key | Summary | Issue Type | -| --- | --- | --- | -| ANNOTATIONNET-563 | Implement import of distance annotation for Words document | New Feature | -| ANNOTATIONNET-583 | Add text redaction annotation in Slides document | New Feature | -| ANNOTATIONNET-560 | Merge similar annotations when importing from a MSWord document | Improvement | -| ANNOTATIONNET-559 | Improve import of text annotations for Words document | Improvement | -| ANNOTATIONNET-548 | Merge similar annotations when importing from a MSWord document | Improvement | -| ANNOTATIONNET-546 | Improve replacement annotation for text in different paragraphs | Improvement | -| ANNOTATIONNET-582 | Add point with text for text annotation | Improvement | -| ANNOTATIONNET-573 | Improve export of text annotations in Slides document | Improvement | -| ANNOTATIONNET-570 | Improve annotation export for big font sizes for Slides document | Improvement | -| ANNOTATIONNET-606 | Implement accepting SVG path also with spaces not only with commas | Improvement | -| ANNOTATIONNET-602 | Improve CleanUp for diagram | Improvement | -| ANNOTATIONNET-545 | Bug with import and export distance annotations in Pdf | Bug | -| ANNOTATIONNET-544 | Bug with import text annotations from Pdf | Bug | -| ANNOTATIONNET-543 | Bug with import arrow annotation from Pdf | Bug | -| ANNOTATIONNET-538 | AnnotationImageHandler.getPages does not respect ImageOptions.setWidth | Bug | -| ANNOTATIONNET-561 | Errors in import of diagrams: Wrong text in TextField annotation. | Bug | -| ANNOTATIONNET-556 | Fix import of arrow annotation in MSWord | Bug | -| ANNOTATIONNET-551 | Wrong Polyline structure after export in diagram | Bug | -| ANNOTATIONNET-550 | Errors in import of diagrams: Wrong text in TextField annotation. | Bug | -| ANNOTATIONNET-549 | Wrong distance structure after export in diagram | Bug | -| ANNOTATIONNET-547 | Wrong coordinates of annotations after exporting images | Bug | -| ANNOTATIONNET-591 | Fix Point annotation in Slides | Bug | -| ANNOTATIONNET-589 | Fix opacity value for import in Diagrams | Bug | -| ANNOTATIONNET-584 | Bug with import text field for diagram. | Bug | -| ANNOTATIONNET-581 | Arrow annotation doesn't create for diagrams. | Bug | -| ANNOTATIONNET-578 | Fix Slides bug with coordinates of paragraph and portion | Bug | -| ANNOTATIONNET-577 | Words:Fixed cleanup for text redaction annotation. | Bug | -| ANNOTATIONNET-574 | Bug with import text annotations from Pdf | Bug | -| ANNOTATIONNET-572 | Wrong distance structure after export in diagram | Bug | -| ANNOTATIONNET-571 | Wrong Polyline structure after export in diagram | Bug | -| ANNOTATIONNET-612 | Fix transparent color for lines of underline and strikeout annotations for Images | Bug | -| ANNOTATIONNET-611 | Fix transparent colors in Words document | Bug | -| ANNOTATIONNET-609 | Underline style of annotation doesn't set on text in Words document | Bug | -| ANNOTATIONNET-608 | Annotation of underline doesn't set in table in Words document | Bug | -| ANNOTATIONNET-607 | Export adds extra comment for every shape in diagrams | Bug | -| ANNOTATIONNET-605 | The align of text for TextField of annotation is wrong in Words document | Bug | -| ANNOTATIONNET-603 | Bug after export strikeout annotation in Words document | Bug | -| ANNOTATIONNET-601 | Bug when importing text for TextField annotation in diagrams | Bug | -| ANNOTATIONNET-598 | Imported from word document resource redaction annotation does not have color | Bug | -| ANNOTATIONNET-597 | Bug when importing area annotation from Words document | Bug | -| ANNOTATIONNET-596 | Bug with importing annotations for diagrams | Bug | -| ANNOTATIONNET-595 | The sample hangs while importing distance annotation for slides. | Bug | -| ANNOTATIONJAVA-697 | Aspose.PDF 10.6.2: Underline property does not work in text replace functional (Incorrect removing of underline text via Strikeout annotation) | Bug | -| ANNOTATIONJAVA-1064 | Annotation comments are not included in exported document | Bug | -| ANNOTATIONJAVA-1068 | Annotation comments are not imported from existing annotated document | Bug | - -## Public API and Backward Incompatible Changes - -{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 18.4. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} - -None diff --git a/Docs/content/annotation/java/release-notes/release-notes-2019/_index.md b/Docs/content/annotation/java/release-notes/release-notes-2019/_index.md deleted file mode 100644 index 098b86d..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2019/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -id: release-notes-2019 -url: annotation/java/release-notes-2019 -title: Release Notes - 2019 -weight: 2 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- diff --git a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md deleted file mode 100644 index 8a0c4f5..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.4-release-notes.md +++ /dev/null @@ -1,167 +0,0 @@ ---- -id: groupdocs-annotation-for-java-19-4-release-notes -url: annotation/java/groupdocs-annotation-for-java-19-4-release-notes -title: GroupDocs.Annotation for Java 19.4 Release Notes -weight: 3 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 19.4{{< /alert >}} - -## Major Features - -Below is the list of most notable changes in release of GroupDocs.Annotation for Java: - -* Implement watermark annotation for Words -* Add cleanup for text replacement in Words -* Improve text annotations in Slides -* Improve shape processing in Diagrams for text annotations -* Fixed SvgPath parsing -* Implement export import and cleanup functionality for Cells format -* Added new types of annotations for Cells - * Text Annotation - * Watermark - * Resource Redaction - * Text Replacement - -## Full List of Issues Covering all Changes in this Release - -| Key | Summary | Issue Type | -| --- | --- | --- | -| ANNOTATIONNET-700 | Implement watermark annotation for Words | New Feature | -| ANNOTATIONNET-699 | Implement TextReplacement annotation for Cells | New Feature | -| ANNOTATIONNET-705 | Implement text annotations for Cells | New Feature | -| ANNOTATIONNET-702 | Implement Watermark annotation for Cells | New Feature | -| ANNOTATIONNET-701 | Implement ResourceRedation annotation for Cells | New Feature | -| ANNOTATIONNET-724 | Add cleanup for text replacement in Words | New Feature | -| ANNOTATIONNET-752 | Add the ability to apply text annotations without changing the color | New Feature | -| ANNOTATIONNET-751 | Add reviewer rights management for operations with replies. | New Feature | -| ANNOTATIONNET-750 | Add the ability to set text annotations transparency for Diagrams | New Feature | -| ANNOTATIONNET-737 | Add creating Arrow annotation with AnnotationInfo.Box in PDF | New Feature | -| ANNOTATIONNET-791 | Implement TextReplacement in Slides | New Feature | -| ANNOTATIONNET-798 | Implement font family support for TextReplacement | New Feature | -| ANNOTATIONNET-812 | Implement export only pages that contains annotations | New Feature | -| ANNOTATIONNET-813 | Implement Export document with specific annotation type | New Feature | -| ANNOTATIONNET-814 | Export specific pages range of document | New Feature | -| ANNOTATIONNET-815 | Add possibility to retrieve pages without annotations | New Feature | -| ANNOTATIONNET-727 | Improve text annotations in Slides | Improvement | -| ANNOTATIONNET-720 | Improve shape processing in Diagrams for text annotations | Improvement | -| ANNOTATIONNET-745 | Security improvements update | Improvement | -| ANNOTATIONNET-756 | Change default TextField background color for Diagrams and Slides | Improvement | -| ANNOTATIONNET-755 | Display border for TextField annotation in Images | Improvement | -| ANNOTATIONNET-754 | Change TextField default background color in PDF | Improvement | -| ANNOTATIONNET-744 | Improve applying annotations properties for Diagrams | Improvement | -| ANNOTATIONNET-736 | Change applying comments with replies | Improvement | -| ANNOTATIONNET-740 | Add FontColor cleanup in Slides | Improvement | -| ANNOTATIONNET-741 | Implement PenStyle property for Words | Improvement | -| ANNOTATIONNET-742  | Implement PenStyle property for Cells | Improvement | -| ANNOTATIONNET-743 | Implement PenStyle property for Diagrams | Improvement | -| ANNOTATIONNET-744 | Implement PenStyle property for PDF | Improvement | -| ANNOTATIONNET-745 | Implement PenStyle property for Slides | Improvement | -| ANNOTATIONNET-756 | Implement PenStyle property in Images | Improvement | -| ANNOTATIONNET-806 | Ensured and updated GroupDocs.Annotation code is thread-safe | Improvement | -| ANNOTATIONNET-811 | Add text replacement for grouped shapes | Improvement | -| ANNOTATIONJAVA-1124 | Managing different versions of annotated file | Improvement | -| ANNOTATIONJAVA-1123 | Document Annotation With Native Mobile Apps | Improvement | -| ANNOTATIONJAVA-1111 | Adding creator information with annotation is not saved | Improvement | -| ANNOTATIONNET-729 | Bug with SvgPath parsing | Bug | -| ANNOTATIONNET-748 | Bug with manual date changing for Diagrams | Bug | -| ANNOTATIONNET-738 | Bug with cleaning multiple different annotations for Pdf | Bug | -| ANNOTATIONNET-752 | .NET version: TIFF/Multi TIFF file is either corrupted or black and white when annotated | Bug | -| ANNOTATIONNET-748 | Fix for unstable sorting for Slides and Diagrams | Bug | -| ANNOTATIONNET-807 | Fix time format bug for Slides | Bug | -| ANNOTATIONNET-804 | Fix converting int to PDF.Color | Bug | -| ANNOTATIONNET-799 | Fix annotation point position for TextReplacement on Slides | Bug | -| ANNOTATIONNET-793 | Issue with CleanUp on PDF document | Bug | -| ANNOTATIONNET-819  | AnnotationImageHandler.GetDocumentInfo method in trial mode throws exception | Bug | -| ANNOTATIONNET-821  | Bug during apply annotation to empty document in Cells | Bug | -| ANNOTATIONNET-82  | NotSupportedException exception when pass password parameter for Images | Bug | -| ANNOTATIONJAVA-1121  | Exception is thrown while adding annotation in Diagrams | Bug | -| ANNOTATIONJAVA-1125  | Exception occurred while adding Distance, Point and Polyline annotation to Word doc | Bug | -| ANNOTATIONJAVA-1143  | Wrong size of text annotation and disappearing the annotation in word file | Bug | -| ANNOTATIONJAVA-1141 | Exception occurred while annotate pdf,word file in total sample | Bug | -| ANNOTATIONJAVA-1139 | Exception occurred while remove annotations from pdf file | Bug | -| ANNOTATIONJAVA-1130 | java.lang.NoSuchFieldError exception when applying license | Bug | - -## Public API and Backward Incompatible Changes - -{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 19.4. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} - -1. **Export page range:** - To export specific pages  you should just to setup *ExportOptions *class, and then export as before. - - ```java - ExportOptions options = new ExportOptions(); - options.setFirstPage(5); - options.setLastPage(8); - ``` - Result: will be exported document pages started from page 6 and ending page 9. - - ```java - ExportOptions options = new ExportOptions(); - options.setFirstPage(4); - options.setLastPage(4); - ``` - - Result: document will contain only one page with index 5. - Note: there will be no effect if: - * FirstPage > LastPage; - * If FirstPage or / and LastPage < 0 - * If LastPage > document pages number - -2. **Export only pages with annotations:** - - To export only pages that contains annotations you should specify *AnnotatedPages = true *of *ExportOptions *class. - - ```java - ExportOptions options = new ExportOptions(); - options.setAnnotatedPages(true); - ``` - - Result: document that contains only annotated pages. - - - ```java - ExportOptions options = new ExportOptions(); - options.setFirstPage(5); - options.setLastPage(8); - options.setAnnotatedPages(true); - ``` - - Result: document that contains only annotated pages inside this page range. If there not annotated pages, then document will contains only page from specific range. - -3. **Export annotations of specific types:** - - ```java - List typesToExport = new ArrayList(); - typesToExport.add(AnnotationType.Area); - typesToExport.add(AnnotationType.Polyline); - ExportOptions options = new ExportOptions(); - options.setAnnotationTypes(typesToExport); - ``` - Result: document that contains only Area and Polyline annotations. - - ```java - List typesToExport = new ArrayList(); - typesToExport.add(AnnotationType.Area); - ExportOptions options = new ExportOptions(); - options.setAnnotationTypes(typesToExport); - options.setAnnotatedPages(true); - ``` - - Result: document that contains only annotated pages with only Area annotations. - - - ```java - List typesToExport = new ArrayList(); - typesToExport.add(AnnotationType.Area); - ExportOptions options = new ExportOptions(); - options.setAnnotationTypes(typesToExport); - options.setAnnotatedPages(true); - options.setFirstPage(5); - options.setLastPage(8); - ``` - - Result: document that contains only annotated pages with only Area annotations inside range from 5 to 8th pag. If no Area annotation inside this range, then document just contains pages from 5 to 8. \ No newline at end of file diff --git a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md deleted file mode 100644 index 3c3d837..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.5-release-notes.md +++ /dev/null @@ -1,136 +0,0 @@ ---- -id: groupdocs-annotation-for-java-19-5-release-notes -url: annotation/java/groupdocs-annotation-for-java-19-5-release-notes -title: GroupDocs.Annotation for Java 19.5 Release Notes -weight: 2 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 19.5{{< /alert >}} - -## Major Features - -Below is the list of most notable changes in release of GroupDocs.Annotation for Java: - -* Fixed bug of impossibility to set the line width on Slides documents -* Fixed issue with opening protected with password Words and PDF documents -* Improved performance issues when processing Slides documents -* Add possibility to cache page previews -* Added ability to annotate documents of older formats for Slides, Words, Cells (.ppt, .doc, .xls) -* Added ability to add text caption for distance annotation for Cells, Diagrams and Slides -* Refactored logic for getting pages for Slides documents - -## Full List of Issues Covering all Changes in this Release - -| Key | Summary | Issue Type | -| --- | --- | --- | -| ANNOTATIONNET-823 | Add possibility to cache page previews | Feature | -| ANNOTATIONNET-830  | Implement possibility to display distance annotation caption for Slides format | Feature | -| ANNOTATIONNET-831  | Implement possibility to display distance annotation caption for Cells format | Feature | -| ANNOTATIONNET-832  | Implement possibility to display distance annotation caption for Diagram format | Feature | -| ANNOTATIONNET-840 | Add supporting processing older format for Slides (.ppt) | Feature | -| ANNOTATIONNET-841  | Add supporting processing older format for Cells (.xls) | Feature | -| ANNOTATIONNET-842  | Add supporting processing older format for Words (.doc) | Feature | -| ANNOTATIONNET-835 | Refactor logic for getting pages for Slides documents | Improvement | -| ANNOTATIONNET-837 | Refactor PdfToPng saver | Improvement | -| ANNOTATIONNET-844 | Line width not set in Slides | Bug | -| ANNOTATIONNET-808 | Application is consuming 100% resources usage while loading document | Bug | -| ANNOTATIONNET-849 | Issue when opening protected with password documents | Bug | -| ANNOTATIONNET-866 | AnnotationImageHandler.GetPages exception in trial mode (for documents with more than 2 pages) | Bug | -| ANNOTATIONNET-878 | Not closed stream when remove annotations | Bug | -| ANNOTATIONJAVA-1159 | Exception occurred while remove annotations from .xls file | Bug | - -## Public API and Backward Incompatible Changes - -{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 19.5. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} - -1. **ImageOptions for getPages() method** - - | Parameter | Type | Description | - | --- | --- | --- | - | CountPagesToConvert | int | Determines count of pages to convert. **PageNumber** should be greater than 0. | - | PageNumber | int | Determines page number (index) to be converted. If PageNumber = 0 (by default) then all pages of document will be converted. | - | PageNumbersToConvert | List | Determines list of page numbers, that will be converted. For example, if need converted only 3, 5 and 7 pages. | - | WithoutAnnotations | bool | Determines that image pages will be returned without annotations. | - - Priority – it’s what will be happen if all parameters are set: - - | Parameter | Priority | Description | - | --- | --- | --- | - | WithoutAnnotations | 1 | If this parameter is true, then document will be returned without annotations. | - | PageNumbersToConvert | 2 | If this parameter not null and count of elements > 0, then only page numbers from PageNumbersToConvert parameter will be converted. PageNumber and CountPagesToConvert will be ignored. | - | PageNumber | 3 | If this parameter = 0 (by default), then all pages of document will be converted. If parameter > 0, then will converted specified page. | - | CountPagesToConvert | 4 | Working only if PageNumber > 0. If CountPagesToConvert = 1, then only one page will be converted (which is defined by PageNumber parameter). If CountPagesToConvert > 1, then will converted from Page number to PageNumber + CountPagesToConvert range. | - - | ImageOption | Result | - | --- | --- | - | new ImageOptions() | All pages of document will be converted. | - | new ImageOptions() { WithoutAnnotations = true } | All pages of document will converted, but without annotations. | - | new ImageOptions() { PageNumber = 5 } | Only 5 page of document will be converted. | - | List numberList = new List() { 2, 5, 7};new ImageOptions(){ PageNumbersToConvert = numberList } | Only 2nd, 5th and 7th pages of document will be converted. | - | new ImageOptions(){ PageNumber = 5, CountPagesToConvert = 2 } | Pages 5,6,7 of document will be converted. | - - **Note:** - - {{< alert style="warning" >}}In order to optimize getPages performance method, we do not check if PageNumber or PageNumbersToConvert elements is less than number of document pages, because this is additional computing costs per every GetPages method call. So, if PageNumber or PageNumbersToConvert will be greater than number of document pages, then you will get ArgumentOutOfRange or IndexOutOfRange exception. So, you must control this outside GetPages call.{{< /alert >}} - - You can get image representation of pages of your pdf document by using *GetPages* method of *AnnotationImageHandler* class. - - ```java - List GetPages(Stream fileStream, ImageOptions options) - List GetPages(string guid, ImageOptions options) - List GetPages(string guid) - ``` - - Following example demonstrates how to use *GetPages* method: - - - - ```java - using System.Collections.Generic; - using System.IO; - using GroupDocs.Annotation.Config; - using GroupDocs.Annotation.Domain.Image; - using GroupDocs.Annotation.Domain.Options; - using GroupDocs.Annotation.Handler; - - - namespace GetPagesSample - { - class Program - { - static void Main(string[] args) - { - Stream document = new FileStream("../../Clear.pdf", FileMode.Open); - AnnotationConfig cfg = new AnnotationConfig(); - cfg.StoragePath = "StorageFolder"; - - AnnotationImageHandler annotationHandler = new AnnotationImageHandler(cfg); - - List images = annotationHandler.GetPages(document, new ImageOptions()); - - // Save result stream to file. - using(FileStream fileStream = new FileStream("../../image.png", FileMode.Create)) - { - byte[] buffer = new byte[images[0].Stream.Length]; - images[0].Stream.Seek(0, SeekOrigin.Begin); - images[0].Stream.Read(buffer, 0, buffer.Length); - fileStream.Write(buffer, 0, buffer.Length); - fileStream.Close(); - } - } - } - } - ``` - -2. **Enabling caching for opening same document pages** - - - - ```java - ImageOptions imageOptions = new ImageOptions(); - imageOptions.CacheStoragePath = AnnotationImageHandler.GetFileDataStore().TempPath; - imageOptions.EnableCaching = true; - ``` diff --git a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md deleted file mode 100644 index 07fdd26..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2019/groupdocs.annotation-for-java-19.7-release-notes.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -id: groupdocs-annotation-for-java-19-7-release-notes -url: annotation/java/groupdocs-annotation-for-java-19-7-release-notes -title: GroupDocs.Annotation for Java 19.7 Release Notes -weight: 1 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}}This page contains release notes for GroupDocs.Annotation for Java 19.7{{< /alert >}} - -## Major Features - -Below is the list of most notable changes in release of GroupDocs.Annotation for Java 19.7: - -* Add Thumbnails of the selected document -* Implement ability to add ellipse annotation to different formats -* Implement angled watermarks for different formats -* Annotation not apply if page number not defined in Words and Cells -* Implement working with mutipage TIFF -* Fixed errors in some methods in trial mode - -## Full List of Issues Covering all Changes in this Release - -| Key | Summary | Issue Type | -| --- | --- | --- | -| ANNOTATIONNET-851 | Add Thumbnails of the selected document | Feature | -| ANNOTATIONNET-869  | Implement ability to add ellipse annotation to PDF | Feature | -| ANNOTATIONNET-870  | Implement ability to add ellipse annotation to Words | Feature | -| ANNOTATIONNET-871  | Implement ability to add ellipse annotation to Slides | Feature | -| ANNOTATIONNET-872  | Implement ability to add ellipse annotation to Images | Feature | -| ANNOTATIONNET-873  | Implement ability to add ellipse annotation to Cells | Feature | -| ANNOTATIONNET-876  | Implement angled watermarks for PDF | Feature | -| ANNOTATIONNET-877  | Implement angled watermarks for Slides | Feature | -| ANNOTATIONNET-897 | Implement working with mutipage TIFF | Feature | -| ANNOTATIONNET-904   | Add GetPage convert options for multipage TIF / TIFF | Feature | -| ANNOTATIONNET-905  | Implement ability to add ellipse annotation to Diagrams | Feature | -| ANNOTATIONNET-919  | Implement angled watermarks for Cells | Feature | -| ANNOTATIONNET-920  | Implement angled watermarks for Images | Feature | -| ANNOTATIONNET-922  | Implement angled watermarks for Diagrams | Feature | -| ANNOTATIONNET-843 | Only first page is saved in output when Multi-Tiff file is annotated | Bug | -| ANNOTATIONNET-898 | Import annotations for Images doesn't close stream | Bug | -| ANNOTATIONNET-899 | AnnotationImageHandler.GetDocumentInfo exception in trial mode | Bug | -| ANNOTATIONNET-914 | Annotation not apply if page number not defined in Words | Bug | -| ANNOTATIONNET-918 | PenWidht and PenColor annotation properties can't be applied in Words | Bug | -| ANNOTATIONNET-923 | Comments can't be set to shapes in Slides | Bug | -| ANNOTATIONJAVA-111 | TIFF/Multi TIFF file is either corrupted or black and white when annotated | Bug | -| ANNOTATIONJAVA-1189 | Exception occurred when I add a polyline annotation into the file and then try to add a distance annotation | Bug | -| ANNOTATIONJAVA-1134 | Application is consuming 100% resources usage while loading document | Bug | - -## Public API and Backward Incompatible Changes - -{{< alert style="info" >}}This section lists public API changes that were introduced in GroupDocs.Annotation for Java 19.7. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in GroupDocs.Annotation which may affect existing code. Any behavior introduced that could be seen as a regression and modifies existing behavior is especially important and is documented here.{{< /alert >}} - -1.  Adding Ellipse annotation. - - ```java - // minimal set of parameters - AnnotationInfo ellipse = new AnnotationInfo(); - ellipse.setBox(new Rectangle(100, 100.0, 50, 50)); - ellipse.setType(AnnotationType.Ellipse); - ``` - -2. GetThumbnail method returns JPEG image stream. - Assume we are getting pages from document: - - ```java - List pages = annotationHandler.getPages(document); - - // Then if we want get thumbnail we call GetThumbnail() method of PageImage item: - for (int i = 0; i < pages.size(); i++) { - InputStream stream = pages.get(i).getThumbnail(); - // do something with stream - } - - // Default image size was 300x180. If need specified image size, you can pass method parameters: - // image thumbnails 100x100 - for (int i = 0; i < pages.size(); i++) { - InputStream stream = pages.get(i).getThumbnail(100, 100); - // do something with stream - } - ``` - -3. Added ability to set text watermarks angle. - The same as adding Watermark annotation, but you should additionally set Watermark rotation angle by setting AnnotationInfo.Angle property (in degrees) - - ```java - AnnotationInfo annotation = new AnnotationInfo(); - annotation.setType(AnnotationType.Watermark); - annotation.setAngle(45.0); - ``` diff --git a/Docs/content/annotation/java/release-notes/release-notes-2020/_index.md b/Docs/content/annotation/java/release-notes/release-notes-2020/_index.md deleted file mode 100644 index b9a6342..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2020/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -id: release-notes-2020 -url: annotation/java/release-notes-2020 -title: Release Notes - 2020 -weight: 1 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- diff --git a/Docs/content/annotation/java/release-notes/release-notes-2020/groupdocs.annotation-for-java-20.2-release-notes.md b/Docs/content/annotation/java/release-notes/release-notes-2020/groupdocs.annotation-for-java-20.2-release-notes.md deleted file mode 100644 index a6fb973..0000000 --- a/Docs/content/annotation/java/release-notes/release-notes-2020/groupdocs.annotation-for-java-20.2-release-notes.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -id: groupdocs-annotation-for-java-20-2-release-notes -url: annotation/java/groupdocs-annotation-for-java-20-2-release-notes -title: GroupDocs.Annotation for Java 20.2 Release Notes -weight: 1 -description: "" -keywords: -productName: GroupDocs.Annotation for Java -hideChildren: False ---- -{{< alert style="info" >}} -This page contains release notes for GroupDocs.Annotation for Java 20.2 -{{< /alert >}}{{< alert style="danger" >}} -Breaking changes -In this version we're introducing new public API which was designed to be simple and easy to use. For more details about new API please check [Migration Notes]({{< ref "annotation/java/developer-guide/migration-notes.md" >}}) and [Developer Guide](https://docs.groupdocs.com/display/annotationjava/Developer+Guide) sections. -{{< /alert >}} - -## Major Features -In this version Below the list of most notable changes in release of GroupDocs.Annotation for Java 20.2: -* Ability to generate document page thumbnails  -* Implemented ability to add ellipse annotation to different formats -* Implemented angled watermarks for different formats -* Implemented multi-paged TIFF annotation -* Fixed errors in some methods in trial mode -* Implemented link annotation in PDF, Presentations, Word formats -* Fixed several bugs and issues - - -## Full List of Issues Covering all Changes in this Release -| Key | Summary | Issue Type | -| --- | --- | --- | -| ANNOTATIONNET-851 | Add Thumbnails of the selected document | Feature | -| ANNOTATIONNET-869  | Implement ability to add ellipse annotation to PDF | Feature | -| ANNOTATIONNET-870  | Implement ability to add ellipse annotation to Words | Feature | -| ANNOTATIONNET-871  | Implement ability to add ellipse annotation to Presentations | Feature | -| ANNOTATIONNET-872  | Implement ability to add ellipse annotation to Images | Feature | -| ANNOTATIONNET-873  | Implement ability to add ellipse annotation to Spreadsheets | Feature | -| ANNOTATIONNET-876  | Implement angled watermarks for PDF | Feature | -| ANNOTATIONNET-877  | Implement angled watermarks for Presentations | Feature | -| ANNOTATIONNET-897 | Implement working with multi-page TIFF | Feature | -| ANNOTATIONNET-904   | Add GetPage convert options for multi-page TIF / TIFF | Feature | -| ANNOTATIONNET-905  | Implement ability to add ellipse annotation to Diagrams | Feature | -| ANNOTATIONNET-919  | Implement angled watermarks for Spreadsheets | Feature | -| ANNOTATIONNET-920  | Implement angled watermarks for Images | Feature | -| ANNOTATIONNET-922  | Implement angled watermarks for Diagrams | Feature | -| ANNOTATIONNET-941 | Implement Link annotation for Presentations | Feature | -| ANNOTATIONNET-942 | Implement Link annotation for PDF | Feature | -| ANNOTATIONNET-943 | Implement Link annotation for Words | Feature | -| ANNOTATIONNET-1011 | Add supporting another Presentations formats: PPTM, POTX, POTM, PPSM | Feature | -| ANNOTATIONNET-1037 | Credit based billing for Metered license | Feature | -| ANNOTATIONNET-964 | GetPdfFile method doesn't implement converting documents with password | Improvement | -| ANNOTATIONNET-843 | Only first page is saved in output when Multi-Tiff file is annotated | Bug | -| ANNOTATIONNET-898 | Import annotations for Images doesn't close stream | Bug | -| ANNOTATIONNET-899 | AnnotationImageHandler.GetDocumentInfo exception in trial mode | Bug | -| ANNOTATIONNET-914 | Annotation not apply if page number not defined in Words | Bug | -| ANNOTATIONNET-918 | PenWidht and PenColor annotation properties can't be applied in Words | Bug | -| ANNOTATIONNET-923 | Comments can't be set to shapes in Presentations | Bug | -| ANNOTATIONNET-950 | Remove annotations fails with Spreadsheets document | Bug | -| ANNOTATIONNET-952 | Documents with password are not converted to PDF | Bug | -| ANNOTATIONNET-963 | GetPdfFile method returns broken file | Bug | -| ANNOTATIONNET-965 | ImportAnnotations method doesn't close source stream for TIFF files | Bug | -| ANNOTATIONNET-986 | Issue with getting document info in trial mode | Bug | -| ANNOTATIONNET-987 | Export annotations to tiff file issue | Bug | -| ANNOTATIONNET-986 | Issue with getting document info in trial mode | Bug | -| ANNOTATIONNET-987 | Export annotations to tiff file issue | Bug | -| ANNOTATIONJAVA-1142  | Text annotation doesn't add in XLS file | Bug | -| ANNOTATIONJAVA-1164  | Annotating an empty cell | Bug | -| ANNOTATIONJAVA-1165  | Cannot add text annotation into XLS file | Bug | -| ANNOTATIONJAVA-1171  | Annotation added in wrong place in XLS file | Bug | -| ANNOTATIONJAVA-1176  | Null pointer exception while annotating TIFF file | Bug | -| ANNOTATIONJAVA-1215  | DocumentType is null | Bug | -| ANNOTATIONJAVA-1216  | Cannot get file not from a storage path | Bug | -| ANNOTATIONJAVA-1244 | Cannot open doc with password | Bug | -| ANNOTATIONJAVA-1248  | Cannot remove polyline annotation in pptx file | Bug | -| ANNOTATIONJAVA-1249  | Wrong top position for text annotation in pptx | Bug | -| ANNOTATIONJAVA-1250  | Cannot add text replacement annotation in word file | Bug | -| ANNOTATIONJAVA-1251  | Comments for distance annotation don't save in word file | Bug | -| ANNOTATIONJAVA-1252  | Text replacement annotation looks like a strikeout | Bug | -| ANNOTATIONJAVA-1253  | Cannot open file without license | Bug | diff --git a/Docs/docs-common b/Docs/docs-common deleted file mode 160000 index 9b1b3bb..0000000 --- a/Docs/docs-common +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9b1b3bb4e299f7ac40d0e0dff25ae753a39006de diff --git a/README.md b/README.md index 15ac220..2464ffa 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ ![GitHub release (latest by date)](https://img.shields.io/github/v/release/groupdocs-annotation/GroupDocs.Annotation-for-Java) ![GitHub all releases](https://img.shields.io/github/downloads/groupdocs-annotation/GroupDocs.Annotation-for-Java/total) ![GitHub](https://img.shields.io/github/license/groupdocs-annotation/GroupDocs.Annotation-for-Java) + # Java Library for Document Annotation GroupDocs.Annotation for Java is a [Document Annotation API](https://products.groupdocs.com/annotation/java) that supports over 13 different annotation types for [over 50 document formats](https://docs.groupdocs.com/annotation/java/supported-document-formats/) with full control over annotation's appearance.

    - @@ -12,7 +12,6 @@ GroupDocs.Annotation for Java is a [Document Annotation API](https://products.gr Directory | Description --------- | ----------- -[Docs](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET/tree/master/Docs) | Product documentation containing the Developer's Guide, Release Notes and more. [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | Java examples and sample documents for you to get started quickly. ## Annotate Documents via Java @@ -33,7 +32,7 @@ Directory | Description ## Get Started with GroupDocs.Annotation for Java -GroupDocs.Annotation for Java requires J2SE 7.0 (1.7), J2SE 8.0 (1.8) or above. Please install Java first if you do not have it already. +GroupDocs.Annotation for Java requires J2SE 7.0 (1.7), J2SE 8.0 (1.8) or above. Please install Java first if you do not have it already. GroupDocs hosts all Java APIs on [GroupDocs Artifact Repository](https://artifact.groupdocs.com/webapp/#/artifacts/browse/tree/General/repo/com/groupdocs/groupdocs-annotation), so simply [configure](https://docs.groupdocs.com/annotation/java/installation/) your Maven project to fetch the dependencies automatically. @@ -72,5 +71,4 @@ try { } ``` - [Home](https://www.groupdocs.com/) | [Product Page](https://products.groupdocs.com/annotation/java) | [Documentation](https://docs.groupdocs.com/annotation/java/) | [Demos](https://products.groupdocs.app/annotation/family) | [API Reference](https://apireference.groupdocs.com/java/annotation) | [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | [Blog](https://blog.groupdocs.com/category/annotation/) | [Free Support](https://forum.groupdocs.com/c/annotation) | [Temporary License](https://purchase.groupdocs.com/temporary-license) diff --git a/build_docs.cmd b/build_docs.cmd deleted file mode 100644 index f82906d..0000000 --- a/build_docs.cmd +++ /dev/null @@ -1,5 +0,0 @@ -call git submodule update --init --recursive Docs -call git submodule foreach git pull origin master -xcopy Docs\content Docs\docs-common\content /s /e /Y -cd Docs\docs-common -call hugo server diff --git a/deploy_key.enc b/deploy_key.enc deleted file mode 100644 index 33c379bf13583c0eabd3b74663aa5512e8bb1aaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3248 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 From 23ff368ff0669f7231bf2b5aa345c6b8b9e7f0f3 Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik Date: Fri, 18 Jun 2021 16:09:35 +0300 Subject: [PATCH 39/76] Moved demo projects. --- Demos/Dropwizard/.gitignore | 21 + Demos/Dropwizard/.travis.yml | 40 ++ Demos/Dropwizard/Dockerfile | 10 + Demos/Dropwizard/DocumentSamples/.gitkeep | 0 Demos/Dropwizard/LICENSE | 21 + Demos/Dropwizard/Licenses/.gitkeep | 0 Demos/Dropwizard/README.md | 186 +++++++ Demos/Dropwizard/client/.editorconfig | 13 + Demos/Dropwizard/client/.gitignore | 39 ++ Demos/Dropwizard/client/.prettierignore | 4 + Demos/Dropwizard/client/.prettierrc | 3 + .../Dropwizard/client/.vscode/extensions.json | 8 + Demos/Dropwizard/client/README.md | 84 +++ Demos/Dropwizard/client/angular.json | 140 +++++ Demos/Dropwizard/client/apps/.gitkeep | 1 + .../client/apps/annotation-e2e/cypress.json | 12 + .../annotation-e2e/src/fixtures/example.json | 4 + .../src/integration/app.spec.ts | 13 + .../apps/annotation-e2e/src/plugins/index.js | 22 + .../apps/annotation-e2e/src/support/app.po.ts | 1 + .../annotation-e2e/src/support/commands.ts | 31 ++ .../apps/annotation-e2e/src/support/index.ts | 17 + .../apps/annotation-e2e/tsconfig.e2e.json | 8 + .../client/apps/annotation-e2e/tsconfig.json | 7 + .../client/apps/annotation-e2e/tslint.json | 1 + .../client/apps/annotation/browserslist | 12 + .../client/apps/annotation/jest.config.js | 10 + .../annotation/src/app/app.component.html | 1 + .../annotation/src/app/app.component.less | 0 .../annotation/src/app/app.component.spec.ts | 0 .../apps/annotation/src/app/app.component.ts | 10 + .../apps/annotation/src/app/app.module.ts | 14 + .../apps/annotation/src/assets/.gitkeep | 0 .../src/environments/environment.prod.ts | 3 + .../src/environments/environment.ts | 16 + .../client/apps/annotation/src/favicon.ico | Bin 0 -> 15086 bytes .../client/apps/annotation/src/index.html | 13 + .../client/apps/annotation/src/main.ts | 13 + .../client/apps/annotation/src/polyfills.ts | 62 +++ .../client/apps/annotation/src/styles.less | 1 + .../client/apps/annotation/src/test-setup.ts | 1 + .../client/apps/annotation/tsconfig.app.json | 10 + .../client/apps/annotation/tsconfig.json | 7 + .../client/apps/annotation/tsconfig.spec.json | 10 + .../client/apps/annotation/tslint.json | 7 + Demos/Dropwizard/client/jest.config.js | 10 + Demos/Dropwizard/client/libs/.gitkeep | 0 Demos/Dropwizard/client/nx.json | 19 + Demos/Dropwizard/client/package.json | 67 +++ .../client/tools/schematics/.gitkeep | 0 .../client/tools/tsconfig.tools.json | 11 + Demos/Dropwizard/client/tsconfig.json | 21 + Demos/Dropwizard/client/tslint.json | 80 +++ Demos/Dropwizard/configuration.yml | 100 ++++ Demos/Dropwizard/pom.xml | 250 +++++++++ .../annotator/AbstractBoxAnnotator.java | 46 ++ .../annotator/AbstractSvgAnnotator.java | 76 +++ .../annotator/AbstractTextAnnotator.java | 31 ++ .../ui/annotation/annotator/Annotator.java | 188 +++++++ .../annotator/AnnotatorFactory.java | 51 ++ .../annotation/annotator/AreaAnnotator.java | 64 +++ .../annotation/annotator/ArrowAnnotator.java | 86 ++++ .../annotator/DistanceAnnotator.java | 84 +++ .../annotation/annotator/PointAnnotator.java | 69 +++ .../annotator/PolylineAnnotator.java | 92 ++++ .../annotator/ResourceRedactionAnnotator.java | 68 +++ .../annotator/TexStrikeoutAnnotator.java | 68 +++ .../annotator/TexUnderlineAnnotator.java | 71 +++ .../annotation/annotator/TextAnnotator.java | 78 +++ .../annotator/TextFieldAnnotator.java | 70 +++ .../annotator/TextRedactionAnnotator.java | 45 ++ .../annotator/TextReplacementAnnotator.java | 84 +++ .../annotator/WatermarkAnnotator.java | 66 +++ .../config/AnnotationConfiguration.java | 270 ++++++++++ .../config/AnnotationConfigurationModel.java | 289 +++++++++++ .../request/AnnotateDocumentRequest.java | 49 ++ .../entity/web/AnnotatedDocumentEntity.java | 47 ++ .../entity/web/AnnotationDataEntity.java | 177 +++++++ .../web/AnnotationPageDescriptionEntity.java | 20 + .../annotation/entity/web/CommentsEntity.java | 45 ++ .../ui/annotation/importer/Importer.java | 38 ++ .../resources/AnnotationResources.java | 482 ++++++++++++++++++ .../ui/annotation/util/AnnotationMapper.java | 93 ++++ .../ui/annotation/util/AnnotationTypes.java | 57 +++ .../util/DocumentTypesConverter.java | 38 ++ .../annotation/util/SupportedAnnotations.java | 100 ++++ .../util/directory/DirectoryUtils.java | 28 + .../util/directory/FilesDirectoryUtils.java | 30 ++ .../util/directory/IDirectoryUtils.java | 11 + .../ui/annotation/views/Annotation.java | 43 ++ .../com/groupdocs/ui/common/MainService.java | 107 ++++ .../MergedConfigurationSourceProvider.java | 79 +++ .../config/ApplicationConfiguration.java | 41 ++ .../ui/common/config/CommonConfiguration.java | 98 ++++ .../config/CommonConfigurationModel.java | 101 ++++ .../ui/common/config/DefaultDirectories.java | 76 +++ .../ui/common/config/GlobalConfiguration.java | 76 +++ .../ui/common/config/ServerConfiguration.java | 21 + .../ui/common/entity/web/ExceptionEntity.java | 52 ++ .../entity/web/FileDescriptionEntity.java | 95 ++++ .../common/entity/web/LoadDocumentEntity.java | 30 ++ .../entity/web/PageDescriptionEntity.java | 57 +++ .../entity/web/UploadedDocumentEntity.java | 26 + .../entity/web/request/FileTreeRequest.java | 13 + .../web/request/LoadDocumentPageRequest.java | 13 + .../web/request/LoadDocumentRequest.java | 23 + .../common/exception/PasswordExceptions.java | 6 + .../exception/TotalGroupDocsException.java | 15 + .../TotalGroupDocsExceptionMapper.java | 40 ++ .../ui/common/health/TemplateHealthCheck.java | 21 + .../ui/common/resources/Resources.java | 232 +++++++++ .../Dropwizard/src/main/resources/banner.txt | 7 + .../ui/annotation/views/annotation.ftl | 24 + .../main/resources/defaultConfiguration.yml | 100 ++++ .../resources/AnnotationResourcesTest.java | 61 +++ Demos/README.md | 3 + Demos/Spring/.gitignore | 22 + Demos/Spring/.travis.yml | 40 ++ Demos/Spring/Dockerfile | 10 + Demos/Spring/DocumentSamples/.gitkeep | 0 Demos/Spring/LICENSE | 21 + Demos/Spring/Licenses/.gitkeep | 0 Demos/Spring/README.md | 195 +++++++ Demos/Spring/client/.editorconfig | 13 + Demos/Spring/client/.gitignore | 39 ++ Demos/Spring/client/.prettierignore | 4 + Demos/Spring/client/.prettierrc | 3 + Demos/Spring/client/.vscode/extensions.json | 8 + Demos/Spring/client/README.md | 84 +++ Demos/Spring/client/angular.json | 140 +++++ Demos/Spring/client/apps/.gitkeep | 1 + .../client/apps/annotation-e2e/cypress.json | 12 + .../annotation-e2e/src/fixtures/example.json | 4 + .../src/integration/app.spec.ts | 13 + .../apps/annotation-e2e/src/plugins/index.js | 22 + .../apps/annotation-e2e/src/support/app.po.ts | 1 + .../annotation-e2e/src/support/commands.ts | 31 ++ .../apps/annotation-e2e/src/support/index.ts | 17 + .../apps/annotation-e2e/tsconfig.e2e.json | 8 + .../client/apps/annotation-e2e/tsconfig.json | 7 + .../client/apps/annotation-e2e/tslint.json | 1 + .../client/apps/annotation/browserslist | 12 + .../client/apps/annotation/jest.config.js | 10 + .../annotation/src/app/app.component.html | 1 + .../annotation/src/app/app.component.less | 0 .../annotation/src/app/app.component.spec.ts | 0 .../apps/annotation/src/app/app.component.ts | 10 + .../apps/annotation/src/app/app.module.ts | 14 + .../apps/annotation/src/assets/.gitkeep | 0 .../src/environments/environment.prod.ts | 3 + .../src/environments/environment.ts | 16 + .../client/apps/annotation/src/favicon.ico | Bin 0 -> 15086 bytes .../client/apps/annotation/src/index.html | 13 + .../Spring/client/apps/annotation/src/main.ts | 13 + .../client/apps/annotation/src/polyfills.ts | 62 +++ .../client/apps/annotation/src/styles.less | 1 + .../client/apps/annotation/src/test-setup.ts | 1 + .../client/apps/annotation/tsconfig.app.json | 10 + .../client/apps/annotation/tsconfig.json | 7 + .../client/apps/annotation/tsconfig.spec.json | 10 + .../Spring/client/apps/annotation/tslint.json | 7 + Demos/Spring/client/jest.config.js | 10 + Demos/Spring/client/libs/.gitkeep | 0 Demos/Spring/client/nx.json | 19 + Demos/Spring/client/package.json | 67 +++ Demos/Spring/client/tools/schematics/.gitkeep | 0 Demos/Spring/client/tools/tsconfig.tools.json | 11 + Demos/Spring/client/tsconfig.json | 21 + Demos/Spring/client/tslint.json | 80 +++ Demos/Spring/configuration.yml | 99 ++++ Demos/Spring/pom.xml | 261 ++++++++++ .../java/com/groupdocs/ui/Application.java | 88 ++++ .../com/groupdocs/ui/ApplicationStartup.java | 29 ++ .../groupdocs/ui/ServerPortCustomizer.java | 23 + .../annotator/AbstractBoxAnnotator.java | 46 ++ .../annotator/AbstractSvgAnnotator.java | 76 +++ .../annotator/AbstractTextAnnotator.java | 31 ++ .../ui/annotation/annotator/Annotator.java | 188 +++++++ .../annotator/AnnotatorFactory.java | 51 ++ .../annotation/annotator/AreaAnnotator.java | 64 +++ .../annotation/annotator/ArrowAnnotator.java | 86 ++++ .../annotator/DistanceAnnotator.java | 84 +++ .../annotation/annotator/PointAnnotator.java | 69 +++ .../annotator/PolylineAnnotator.java | 92 ++++ .../annotator/ResourceRedactionAnnotator.java | 68 +++ .../annotator/TexStrikeoutAnnotator.java | 68 +++ .../annotator/TexUnderlineAnnotator.java | 71 +++ .../annotation/annotator/TextAnnotator.java | 78 +++ .../annotator/TextFieldAnnotator.java | 70 +++ .../annotator/TextRedactionAnnotator.java | 45 ++ .../annotator/TextReplacementAnnotator.java | 84 +++ .../annotator/WatermarkAnnotator.java | 66 +++ .../config/AnnotationConfiguration.java | 284 +++++++++++ .../controller/AnnotationController.java | 206 ++++++++ .../request/AnnotateDocumentRequest.java | 48 ++ .../entity/web/AnnotatedDocumentEntity.java | 47 ++ .../entity/web/AnnotationDataEntity.java | 177 +++++++ .../web/AnnotationPageDescriptionEntity.java | 20 + .../annotation/entity/web/CommentsEntity.java | 45 ++ .../ui/annotation/importer/Importer.java | 38 ++ .../annotation/service/AnnotationService.java | 73 +++ .../service/AnnotationServiceImpl.java | 330 ++++++++++++ .../ui/annotation/util/AnnotationMapper.java | 93 ++++ .../ui/annotation/util/AnnotationTypes.java | 57 +++ .../util/DocumentTypesConverter.java | 65 +++ .../ui/annotation/util/PathConstants.java | 10 + .../annotation/util/SupportedAnnotations.java | 100 ++++ .../ui/config/ApplicationConfiguration.java | 62 +++ .../ui/config/CommonConfiguration.java | 103 ++++ .../ui/config/DefaultDirectories.java | 76 +++ .../ui/config/GlobalConfiguration.java | 38 ++ .../ui/config/ServerConfiguration.java | 36 ++ .../exception/GroupDocsExceptionHandler.java | 32 ++ .../ui/exception/PasswordExceptions.java | 6 + .../ui/exception/TotalGroupDocsException.java | 15 + .../ui/model/request/FileTreeRequest.java | 13 + .../request/LoadDocumentPageRequest.java | 13 + .../ui/model/request/LoadDocumentRequest.java | 23 + .../ui/model/response/ExceptionEntity.java | 57 +++ .../model/response/FileDescriptionEntity.java | 95 ++++ .../ui/model/response/LoadDocumentEntity.java | 30 ++ .../model/response/PageDescriptionEntity.java | 57 +++ .../response/UploadedDocumentEntity.java | 26 + .../java/com/groupdocs/ui/util/Utils.java | 264 ++++++++++ .../src/main/resources/application.properties | 5 + .../main/resources/defaultConfiguration.yml | 99 ++++ .../Spring/src/main/resources/static/.gitkeep | 0 .../main/resources/templates/annotation.html | 23 + .../src/main/webapp/META-INF/context.xml | 6 + .../controller/AnnotationControllerTest.java | 63 +++ 230 files changed, 11671 insertions(+) create mode 100644 Demos/Dropwizard/.gitignore create mode 100644 Demos/Dropwizard/.travis.yml create mode 100644 Demos/Dropwizard/Dockerfile create mode 100644 Demos/Dropwizard/DocumentSamples/.gitkeep create mode 100644 Demos/Dropwizard/LICENSE create mode 100644 Demos/Dropwizard/Licenses/.gitkeep create mode 100644 Demos/Dropwizard/README.md create mode 100644 Demos/Dropwizard/client/.editorconfig create mode 100644 Demos/Dropwizard/client/.gitignore create mode 100644 Demos/Dropwizard/client/.prettierignore create mode 100644 Demos/Dropwizard/client/.prettierrc create mode 100644 Demos/Dropwizard/client/.vscode/extensions.json create mode 100644 Demos/Dropwizard/client/README.md create mode 100644 Demos/Dropwizard/client/angular.json create mode 100644 Demos/Dropwizard/client/apps/.gitkeep create mode 100644 Demos/Dropwizard/client/apps/annotation-e2e/cypress.json create mode 100644 Demos/Dropwizard/client/apps/annotation-e2e/src/fixtures/example.json create mode 100644 Demos/Dropwizard/client/apps/annotation-e2e/src/integration/app.spec.ts create mode 100644 Demos/Dropwizard/client/apps/annotation-e2e/src/plugins/index.js create mode 100644 Demos/Dropwizard/client/apps/annotation-e2e/src/support/app.po.ts create mode 100644 Demos/Dropwizard/client/apps/annotation-e2e/src/support/commands.ts create mode 100644 Demos/Dropwizard/client/apps/annotation-e2e/src/support/index.ts create mode 100644 Demos/Dropwizard/client/apps/annotation-e2e/tsconfig.e2e.json create mode 100644 Demos/Dropwizard/client/apps/annotation-e2e/tsconfig.json create mode 100644 Demos/Dropwizard/client/apps/annotation-e2e/tslint.json create mode 100644 Demos/Dropwizard/client/apps/annotation/browserslist create mode 100644 Demos/Dropwizard/client/apps/annotation/jest.config.js create mode 100644 Demos/Dropwizard/client/apps/annotation/src/app/app.component.html create mode 100644 Demos/Dropwizard/client/apps/annotation/src/app/app.component.less create mode 100644 Demos/Dropwizard/client/apps/annotation/src/app/app.component.spec.ts create mode 100644 Demos/Dropwizard/client/apps/annotation/src/app/app.component.ts create mode 100644 Demos/Dropwizard/client/apps/annotation/src/app/app.module.ts create mode 100644 Demos/Dropwizard/client/apps/annotation/src/assets/.gitkeep create mode 100644 Demos/Dropwizard/client/apps/annotation/src/environments/environment.prod.ts create mode 100644 Demos/Dropwizard/client/apps/annotation/src/environments/environment.ts create mode 100644 Demos/Dropwizard/client/apps/annotation/src/favicon.ico create mode 100644 Demos/Dropwizard/client/apps/annotation/src/index.html create mode 100644 Demos/Dropwizard/client/apps/annotation/src/main.ts create mode 100644 Demos/Dropwizard/client/apps/annotation/src/polyfills.ts create mode 100644 Demos/Dropwizard/client/apps/annotation/src/styles.less create mode 100644 Demos/Dropwizard/client/apps/annotation/src/test-setup.ts create mode 100644 Demos/Dropwizard/client/apps/annotation/tsconfig.app.json create mode 100644 Demos/Dropwizard/client/apps/annotation/tsconfig.json create mode 100644 Demos/Dropwizard/client/apps/annotation/tsconfig.spec.json create mode 100644 Demos/Dropwizard/client/apps/annotation/tslint.json create mode 100644 Demos/Dropwizard/client/jest.config.js create mode 100644 Demos/Dropwizard/client/libs/.gitkeep create mode 100644 Demos/Dropwizard/client/nx.json create mode 100644 Demos/Dropwizard/client/package.json create mode 100644 Demos/Dropwizard/client/tools/schematics/.gitkeep create mode 100644 Demos/Dropwizard/client/tools/tsconfig.tools.json create mode 100644 Demos/Dropwizard/client/tsconfig.json create mode 100644 Demos/Dropwizard/client/tslint.json create mode 100644 Demos/Dropwizard/configuration.yml create mode 100644 Demos/Dropwizard/pom.xml create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfiguration.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfigurationModel.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/request/AnnotateDocumentRequest.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/CommentsEntity.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/resources/AnnotationResources.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationTypes.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/directory/DirectoryUtils.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/directory/FilesDirectoryUtils.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/directory/IDirectoryUtils.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/views/Annotation.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/MainService.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/MergedConfigurationSourceProvider.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/ApplicationConfiguration.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/CommonConfiguration.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/CommonConfigurationModel.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/DefaultDirectories.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/GlobalConfiguration.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/ServerConfiguration.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/ExceptionEntity.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/FileDescriptionEntity.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/LoadDocumentEntity.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/PageDescriptionEntity.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/UploadedDocumentEntity.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/request/FileTreeRequest.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/request/LoadDocumentPageRequest.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/request/LoadDocumentRequest.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/exception/PasswordExceptions.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/exception/TotalGroupDocsException.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/exception/TotalGroupDocsExceptionMapper.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/health/TemplateHealthCheck.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/resources/Resources.java create mode 100644 Demos/Dropwizard/src/main/resources/banner.txt create mode 100644 Demos/Dropwizard/src/main/resources/com/groupdocs/ui/annotation/views/annotation.ftl create mode 100644 Demos/Dropwizard/src/main/resources/defaultConfiguration.yml create mode 100644 Demos/Dropwizard/src/test/java/com/groupdocs/ui/annotation/resources/AnnotationResourcesTest.java create mode 100644 Demos/README.md create mode 100644 Demos/Spring/.gitignore create mode 100644 Demos/Spring/.travis.yml create mode 100644 Demos/Spring/Dockerfile create mode 100644 Demos/Spring/DocumentSamples/.gitkeep create mode 100644 Demos/Spring/LICENSE create mode 100644 Demos/Spring/Licenses/.gitkeep create mode 100644 Demos/Spring/README.md create mode 100644 Demos/Spring/client/.editorconfig create mode 100644 Demos/Spring/client/.gitignore create mode 100644 Demos/Spring/client/.prettierignore create mode 100644 Demos/Spring/client/.prettierrc create mode 100644 Demos/Spring/client/.vscode/extensions.json create mode 100644 Demos/Spring/client/README.md create mode 100644 Demos/Spring/client/angular.json create mode 100644 Demos/Spring/client/apps/.gitkeep create mode 100644 Demos/Spring/client/apps/annotation-e2e/cypress.json create mode 100644 Demos/Spring/client/apps/annotation-e2e/src/fixtures/example.json create mode 100644 Demos/Spring/client/apps/annotation-e2e/src/integration/app.spec.ts create mode 100644 Demos/Spring/client/apps/annotation-e2e/src/plugins/index.js create mode 100644 Demos/Spring/client/apps/annotation-e2e/src/support/app.po.ts create mode 100644 Demos/Spring/client/apps/annotation-e2e/src/support/commands.ts create mode 100644 Demos/Spring/client/apps/annotation-e2e/src/support/index.ts create mode 100644 Demos/Spring/client/apps/annotation-e2e/tsconfig.e2e.json create mode 100644 Demos/Spring/client/apps/annotation-e2e/tsconfig.json create mode 100644 Demos/Spring/client/apps/annotation-e2e/tslint.json create mode 100644 Demos/Spring/client/apps/annotation/browserslist create mode 100644 Demos/Spring/client/apps/annotation/jest.config.js create mode 100644 Demos/Spring/client/apps/annotation/src/app/app.component.html create mode 100644 Demos/Spring/client/apps/annotation/src/app/app.component.less create mode 100644 Demos/Spring/client/apps/annotation/src/app/app.component.spec.ts create mode 100644 Demos/Spring/client/apps/annotation/src/app/app.component.ts create mode 100644 Demos/Spring/client/apps/annotation/src/app/app.module.ts create mode 100644 Demos/Spring/client/apps/annotation/src/assets/.gitkeep create mode 100644 Demos/Spring/client/apps/annotation/src/environments/environment.prod.ts create mode 100644 Demos/Spring/client/apps/annotation/src/environments/environment.ts create mode 100644 Demos/Spring/client/apps/annotation/src/favicon.ico create mode 100644 Demos/Spring/client/apps/annotation/src/index.html create mode 100644 Demos/Spring/client/apps/annotation/src/main.ts create mode 100644 Demos/Spring/client/apps/annotation/src/polyfills.ts create mode 100644 Demos/Spring/client/apps/annotation/src/styles.less create mode 100644 Demos/Spring/client/apps/annotation/src/test-setup.ts create mode 100644 Demos/Spring/client/apps/annotation/tsconfig.app.json create mode 100644 Demos/Spring/client/apps/annotation/tsconfig.json create mode 100644 Demos/Spring/client/apps/annotation/tsconfig.spec.json create mode 100644 Demos/Spring/client/apps/annotation/tslint.json create mode 100644 Demos/Spring/client/jest.config.js create mode 100644 Demos/Spring/client/libs/.gitkeep create mode 100644 Demos/Spring/client/nx.json create mode 100644 Demos/Spring/client/package.json create mode 100644 Demos/Spring/client/tools/schematics/.gitkeep create mode 100644 Demos/Spring/client/tools/tsconfig.tools.json create mode 100644 Demos/Spring/client/tsconfig.json create mode 100644 Demos/Spring/client/tslint.json create mode 100644 Demos/Spring/configuration.yml create mode 100644 Demos/Spring/pom.xml create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/Application.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/ApplicationStartup.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/ServerPortCustomizer.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfiguration.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/controller/AnnotationController.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/AnnotateDocumentRequest.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/CommentsEntity.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationService.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationTypes.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/PathConstants.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/config/ApplicationConfiguration.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/config/CommonConfiguration.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/config/DefaultDirectories.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/config/GlobalConfiguration.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/config/ServerConfiguration.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/exception/GroupDocsExceptionHandler.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/exception/PasswordExceptions.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/exception/TotalGroupDocsException.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/model/request/FileTreeRequest.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/model/request/LoadDocumentPageRequest.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/model/request/LoadDocumentRequest.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/model/response/ExceptionEntity.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/model/response/FileDescriptionEntity.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/model/response/LoadDocumentEntity.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/model/response/PageDescriptionEntity.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/model/response/UploadedDocumentEntity.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/util/Utils.java create mode 100644 Demos/Spring/src/main/resources/application.properties create mode 100644 Demos/Spring/src/main/resources/defaultConfiguration.yml create mode 100644 Demos/Spring/src/main/resources/static/.gitkeep create mode 100644 Demos/Spring/src/main/resources/templates/annotation.html create mode 100644 Demos/Spring/src/main/webapp/META-INF/context.xml create mode 100644 Demos/Spring/src/test/java/com/groupdocs/ui/annotation/controller/AnnotationControllerTest.java diff --git a/Demos/Dropwizard/.gitignore b/Demos/Dropwizard/.gitignore new file mode 100644 index 0000000..5fae568 --- /dev/null +++ b/Demos/Dropwizard/.gitignore @@ -0,0 +1,21 @@ +.idea/* +*.iml +*.ipr +*.iws +target/* +.DS_Store +vs.bin +App_Data/* +node_modules +src/main/resources/assets/* +!src/main/resources/assets/.gitkeep +node/ +etc/ +package-lock.json +Licenses/* +!Licenses/.gitkeep +DocumentSamples/* +!DocumentSamples/.gitkeep + +#License files +*.lic diff --git a/Demos/Dropwizard/.travis.yml b/Demos/Dropwizard/.travis.yml new file mode 100644 index 0000000..d996b1c --- /dev/null +++ b/Demos/Dropwizard/.travis.yml @@ -0,0 +1,40 @@ +dist: trusty +language: java +jdk: +- oraclejdk8 +- oraclejdk9 +- openjdk8 +#- oraclejdk11 +#- openjdk10 +#- openjdk11 +services: + - docker +jobs: + include: + - stage: Coverage + jdk: oraclejdk8 + script: + - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter + - chmod +x ./cc-test-reporter + - ./cc-test-reporter before-build + - mvn clean package + - JACOCO_SOURCE_PATH=src/main/java ./cc-test-reporter format-coverage target/site/jacoco/jacoco.xml --input-type jacoco + - ./cc-test-reporter upload-coverage + - stage: Tag Release + if: type = push AND branch = master AND commit_message !~ /^Travis bot released/ + install: skip + script: git checkout master && git reset --hard $sha1 && git config --global push.followTags true && git config --global user.email "travis@travis-ci.org" && git config --global user.name "Travis CI" && export current_version=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive exec:exec) && echo "current version ${current_version}" && export minor=$(echo $current_version | sed "s/^[0-9]\{1,\}\.[0-9]\{1,\}\.\([0-9]\{1,\}\)/\1/") && export major=$(echo $current_version | sed "s/^\([0-9]\{1,\}\.[0-9]\{1,\}\)\.[0-9]\{1,\}/\1/") && export next_version=$major.$((minor+1)) && echo "next version ${next_version}" && sed -i.bak "s/$current_version/$next_version/g" README.md && rm README.md.bak && sed -i.bak "s/^ $current_version<\\/version>/ $next_version<\\/version>/g" pom.xml && rm pom.xml.bak && git status && git commit -am "Travis bot released $next_version" && git tag -a $next_version -m "Automated release" && git remote add target https://${GH_TOKEN}@github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard.git > /dev/null 2>&1 && git remote -v && git push --set-upstream target master + - stage: Release + if: type = push AND branch = master AND commit_message =~ /^Travis bot released/ + install: skip + jdk: oraclejdk8 + script: mvn -B clean package && mkdir -p target/release/DocumentSamples && mkdir -p target/release/Licenses && cp target/annotation-*.jar target/release && cp configuration.yml target/release && cd target && tar -zcvf release.tar.gz release && cd .. + deploy: + provider: releases + overwrite: true + skip_cleanup: true + api_key: $GH_TOKEN + file: target/release.tar.gz + on: + repo: groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard + branch: master \ No newline at end of file diff --git a/Demos/Dropwizard/Dockerfile b/Demos/Dropwizard/Dockerfile new file mode 100644 index 0000000..edebd27 --- /dev/null +++ b/Demos/Dropwizard/Dockerfile @@ -0,0 +1,10 @@ +FROM openjdk:8-jre-alpine +RUN mkdir -p /home/groupdocs/app && apk add fontconfig && apk add msttcorefonts-installer && update-ms-fonts && fc-cache -f +WORKDIR /home/groupdocs/app +COPY target/release/DocumentSamples /home/groupdocs/app +COPY target/release/Licenses /home/groupdocs/app +COPY target/release/annotation-*.jar /home/groupdocs/app/app.jar + +EXPOSE 8080 + +ENTRYPOINT java -jar /home/groupdocs/app/app.jar configuration.yml \ No newline at end of file diff --git a/Demos/Dropwizard/DocumentSamples/.gitkeep b/Demos/Dropwizard/DocumentSamples/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Dropwizard/LICENSE b/Demos/Dropwizard/LICENSE new file mode 100644 index 0000000..af0a3df --- /dev/null +++ b/Demos/Dropwizard/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2001-2018 Aspose Pty Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Demos/Dropwizard/Licenses/.gitkeep b/Demos/Dropwizard/Licenses/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Dropwizard/README.md b/Demos/Dropwizard/README.md new file mode 100644 index 0000000..5901882 --- /dev/null +++ b/Demos/Dropwizard/README.md @@ -0,0 +1,186 @@ +![Groupdocs document & pdf annotator](https://raw.githubusercontent.com/groupdocs-annotation/groupdocs-annotation.github.io/master/resources/image/banner.png "GroupDocs.Annotation") +# GroupDocs.Annotation for Java Dropwizard Example +###### version 1.12.24 + +[![Build Status](https://travis-ci.org/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard.svg?branch=master)](https://travis-ci.org/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) +[![Maintainability](https://api.codeclimate.com/v1/badges/4d0833612964debe5cf8/maintainability)](https://codeclimate.com/github/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/maintainability) +[![GitHub license](https://img.shields.io/github/license/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard.svg)](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/blob/master/LICENSE) + +## System Requirements +- Java 8 (JDK 1.8) +- Maven 3 + + +## Annotate & write on document with Java Dropwizard + +**GroupDocs.Annotations for Java** is a powerful library that provides flexible API which allows you to **annotate PDF**, DOCX, PPT, XLS, and over 90 document formats without external dependencies and/or additional document conversions such us (DOCX to PDF or PPT to PDF). With GroupDocs.Annotation API you can write on documents using various annotation tools such as arrow annotation, text annotation or even draw on a document with help of freehand annotation drawing tool. + +With GroupDocs.Annotation for Java Dropwizard application, you can annotate and **write on document** using our modern and responsive web UI interface. Thanks to flexible and highly customizable configuration it can be used as standalone application or can be integrated into your project within few simple steps. + + +**Note:** without a license application will run in trial mode, purchase [GroupDocs.Annotation for Java license](https://purchase.groupdocs.com/order-online-step-1-of-8.aspx) or request [GroupDocs.Annotation for Java temporary license](https://purchase.groupdocs.com/temporary-license). + + +## Demo Video + +

    + + + +

    + + +## Features +

    + +


    + Text annotation +

    Add text annotations in any document. Specify font size, set colors, add comments and collaborate.
    +



    +

    +
    +

    + +


    + Freehand Drawing +

    Draw on a document using a freehand drawing tool. Easily highlight specific areas on your document page.
    +


    +

    +
    +

    + +


    + Blackout & Redaction +

    Blackout and redact sensitive or personally identifiable information on your document.
    +



    +

    +
    +

    + +


    + Comments +

    Collaborate and comment on any annotation. Start a discussion right in a document without database dependency/integration.
    +





    +

    +
    + +### More features + +- Clean, modern and intuitive design +- Easily switchable colour theme (create your own colour theme in 5 minutes) +- Responsive design +- Mobile support (open application on any mobile device) +- Support over 50 documents and image formats +- Image mode +- Fully customizable navigation panel +- Annotate password protected documents +- Download original documents +- Download annotated documents +- Upload documents +- Annotate document with such annotation types: + * **Text** – highlights and comments selected text + * **Area** – marks an area with a rectangle and adds notes to it + * **Point** – sticks comments to any point in a document + * **TextStrikeout** – marks text with a strikethrough styling + * **Polyline** – draws shapes and freehand lines + * **TextField** – adds rectangle with a text inside + * **Watermark** - Horizontal textual watermark + * **TextReplacement** – replaces original text with user’s text + * **Arrow** – draws an arrow on a document + * **TextRedaction** – fills black rectangle with fixed position (used if you want to hide some text) + * **ResourcesRedaction** – fills black rectangle with fixed position + * **TextUnderline** – marks text with a underline styling + * **Distance** – measures a distance between objects in a document +- Draw annotation over the document page +- Add comment or reply +- Print document +- Smooth page navigation +- Smooth document scrolling +- Preload pages for faster document rendering +- Multi-language support for displaying errors +- Cross-browser support (Safari, Chrome, Opera, Firefox) +- Cross-platform support (Windows, Linux, MacOS) + + +## How to run + +You can run this sample by one of following methods + + +#### Build from source + +Download [source code](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/archive/master.zip) from github or clone this repository. + +```bash +git clone https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard +cd GroupDocs.Annotation-for-Java-Dropwizard +mvn clean compile exec:java +## Open http://localhost:8080/annotation/ in your favorite browser. +``` + +#### Binary release (with all dependencies) + +Download [latest release](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/releases/latest) from [releases page](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/releases). + +**Note**: This method is **recommended** for running this sample behind firewall. + +```bash +curl -J -L -o release.tar.gz https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/releases/download/1.12.24/release.tar.gz +tar -xvzf release.tar.gz +cd release +java -jar annotation-1.12.24.jar configuration.yaml +## Open http://localhost:8080/annotation/ in your favorite browser. +``` + +#### Docker image +Use [docker](https://hub.docker.com/u/groupdocs) image. + +```bash +mkdir DocumentSamples +mkdir Licenses +docker run -p 8080:8080 --env application.hostAddress=localhost -v `pwd`/DocumentSamples:/home/groupdocs/app/DocumentSamples -v `pwd`/Licenses:/home/groupdocs/app/Licenses groupdocs/annotation +## Open http://localhost:8080/annotation/ in your favorite browser. +``` + +## Configuration +For all methods above you can adjust settings in `configuration.yml`. By default in this sample will lookup for license file in `./Licenses` folder, so you can simply put your license file in that folder or specify relative/absolute path by setting `licensePath` value in `configuration.yml`. + +### Annotation configuration options + +| Option | Type | Default value | Description | +| ---------------------------------- | ------- |:-----------------:|:-------------------------------------------------------------------------------------------------------------------------------------------- | +| **`filesDirectory`** | String | `DocumentSamples` | Files directory path. Indicates where uploaded and predefined files are stored. It can be absolute or relative path | +| **`fontsDirectory`** | String | | Path to custom fonts directory. | +| **`defaultDocument`** | String | | Absolute path to default document that will be loaded automaticaly. | +| **`preloadPageCount`** | Integer | `0` | Indicate how many pages from a document should be loaded, remaining pages will be loaded on page scrolling.Set `0` to load all pages at once | +| **`textAnnotation`** | Boolean | `true` | Enable/disable Text annotation | +| **`areaAnnotation`** | Boolean | `true` | Enable/disable Area annotation | +| **`areaAnnotation`** | Boolean | `true` | Enable/disable Point annotation | +| **`pointAnnotation`** | Boolean | `true` | Enable thumbnails preview | +| **`textStrikeoutAnnotation`** | Boolean | `true` | Enable/disable TextStrikeout annotation | +| **`polylineAnnotation`** | Boolean | `true` | Enable/disable Polyline annotation | +| **`textFieldAnnotation`** | Boolean | `true` | Enable/disable TextField annotation | +| **`watermarkAnnotation`** | Boolean | `true` | Enable/disable Watermark annotation | +| **`textReplacementAnnotation`** | Boolean | `true` | Enable/disable TextReplacement annotation | +| **`arrowAnnotation`** | Boolean | `true` | Enable/disable Arrow annotation | +| **`textRedactionAnnotation`** | Boolean | `true` | Enable/disable TextRedaction annotation | +| **`resourcesRedactionAnnotation`** | Boolean | `true` | Enable/disable ResourcesRedaction annotation | +| **`textUnderlineAnnotation`** | Boolean | `true` | Enable/disable TextUnderline annotation | +| **`distanceAnnotation`** | Boolean | `true` | Enable/disable Distance annotation | +| **`downloadOriginal`** | Boolean | `true` | Enable/disable original document downloading | +| **`downloadAnnotated`** | Boolen | `true` | Enable/disable signed document downloading | +| **`zoom`** | Boolean | `true` | Enable/disable zoom | +| **`fitWidth`** | Boolean | `true` | Enable/disable fit width. Set true to zoom document pages fit width | + +## License +The MIT License (MIT). + +Please have a look at the LICENSE.md for more details + +## GroupDocs Annotation on other platforms & frameworks + +- JAVA Spring [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) +- .NET MVC [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) +- .NET WebForms [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +[Home](https://www.groupdocs.com/) | [Product Page](https://products.groupdocs.com/annotation/java) | [Documentation](https://docs.groupdocs.com/annotation/java/) | [Demos](https://products.groupdocs.app/annotation/family) | [API Reference](https://apireference.groupdocs.com/java/annotation) | [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | [Blog](https://blog.groupdocs.com/category/annotation/) | [Free Support](https://forum.groupdocs.com/c/annotation) | [Temporary License](https://purchase.groupdocs.com/temporary-license) diff --git a/Demos/Dropwizard/client/.editorconfig b/Demos/Dropwizard/client/.editorconfig new file mode 100644 index 0000000..6e87a00 --- /dev/null +++ b/Demos/Dropwizard/client/.editorconfig @@ -0,0 +1,13 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/Demos/Dropwizard/client/.gitignore b/Demos/Dropwizard/client/.gitignore new file mode 100644 index 0000000..ee5c9d8 --- /dev/null +++ b/Demos/Dropwizard/client/.gitignore @@ -0,0 +1,39 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc + +# dependencies +/node_modules + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# misc +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +yarn-error.log +testem.log +/typings + +# System Files +.DS_Store +Thumbs.db diff --git a/Demos/Dropwizard/client/.prettierignore b/Demos/Dropwizard/client/.prettierignore new file mode 100644 index 0000000..d0b804d --- /dev/null +++ b/Demos/Dropwizard/client/.prettierignore @@ -0,0 +1,4 @@ +# Add files here to ignore them from prettier formatting + +/dist +/coverage diff --git a/Demos/Dropwizard/client/.prettierrc b/Demos/Dropwizard/client/.prettierrc new file mode 100644 index 0000000..544138b --- /dev/null +++ b/Demos/Dropwizard/client/.prettierrc @@ -0,0 +1,3 @@ +{ + "singleQuote": true +} diff --git a/Demos/Dropwizard/client/.vscode/extensions.json b/Demos/Dropwizard/client/.vscode/extensions.json new file mode 100644 index 0000000..7804e26 --- /dev/null +++ b/Demos/Dropwizard/client/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "nrwl.angular-console", + "angular.ng-template", + "ms-vscode.vscode-typescript-tslint-plugin", + "esbenp.prettier-vscode" + ] +} diff --git a/Demos/Dropwizard/client/README.md b/Demos/Dropwizard/client/README.md new file mode 100644 index 0000000..8337f8c --- /dev/null +++ b/Demos/Dropwizard/client/README.md @@ -0,0 +1,84 @@ +# Client + +This project was generated using [Nx](https://nx.dev). + +

    + +🔎 **Nx is a set of Extensible Dev Tools for Monorepos.** + +## Quick Start & Documentation + +[Nx Documentation](https://nx.dev/angular) + +[10-minute video showing all Nx features](https://nx.dev/angular/getting-started/what-is-nx) + +[Interactive Tutorial](https://nx.dev/angular/tutorial/01-create-application) + +## Adding capabilities to your workspace + +Nx supports many plugins which add capabilities for developing different types of applications and different tools. + +These capabilities include generating applications, libraries, etc as well as the devtools to test, and build projects as well. + +Below are some plugins which you can add to your workspace: + +- [Angular](https://angular.io) + - `ng add @nrwl/angular` +- [React](https://reactjs.org) + - `ng add @nrwl/react` +- Web (no framework frontends) + - `ng add @nrwl/web` +- [Nest](https://nestjs.com) + - `ng add @nrwl/nest` +- [Express](https://expressjs.com) + - `ng add @nrwl/express` +- [Node](https://nodejs.org) + - `ng add @nrwl/node` + +## Generate an application + +Run `ng g @nrwl/angular:app my-app` to generate an application. + +> You can use any of the plugins above to generate applications as well. + +When using Nx, you can create multiple applications and libraries in the same workspace. + +## Generate a library + +Run `ng g @nrwl/angular:lib my-lib` to generate a library. + +> You can also use any of the plugins above to generate libraries as well. + +Libraries are sharable across libraries and applications. They can be imported from `@client/mylib`. + +## Development server + +Run `ng serve my-app` for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng g component my-component --project=my-app` to generate a new component. + +## Build + +Run `ng build my-app` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. + +## Running unit tests + +Run `ng test my-app` to execute the unit tests via [Jest](https://jestjs.io). + +Run `nx affected:test` to execute the unit tests affected by a change. + +## Running end-to-end tests + +Run `ng e2e my-app` to execute the end-to-end tests via [Cypress](https://www.cypress.io). + +Run `nx affected:e2e` to execute the end-to-end tests affected by a change. + +## Understand your workspace + +Run `nx dep-graph` to see a diagram of the dependencies of your projects. + +## Further help + +Visit the [Nx Documentation](https://nx.dev/angular) to learn more. diff --git a/Demos/Dropwizard/client/angular.json b/Demos/Dropwizard/client/angular.json new file mode 100644 index 0000000..34f7f04 --- /dev/null +++ b/Demos/Dropwizard/client/angular.json @@ -0,0 +1,140 @@ +{ + "version": 1, + "projects": { + "annotation": { + "projectType": "application", + "schematics": { + "@nrwl/angular:component": { + "style": "less" + } + }, + "root": "apps/annotation", + "sourceRoot": "apps/annotation/src", + "prefix": "client", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "../src/main/resources/assets/angular/annotation", + "index": "apps/annotation/src/index.html", + "main": "apps/annotation/src/main.ts", + "polyfills": "apps/annotation/src/polyfills.ts", + "tsConfig": "apps/annotation/tsconfig.app.json", + "aot": true, + "assets": [ + "apps/annotation/src/favicon.ico", + "apps/annotation/src/assets" + ], + "styles": ["apps/annotation/src/styles.less"], + "scripts": [] + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "apps/annotation/src/environments/environment.ts", + "with": "apps/annotation/src/environments/environment.prod.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "5mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "6kb", + "maximumError": "10kb" + } + ] + } + } + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "annotation:build" + }, + "configurations": { + "production": { + "browserTarget": "annotation:build:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "annotation:build" + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "apps/annotation/tsconfig.app.json", + "apps/annotation/tsconfig.spec.json" + ], + "exclude": ["**/node_modules/**", "!apps/annotation/**"] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "options": { + "jestConfig": "apps/annotation/jest.config.js", + "tsConfig": "apps/annotation/tsconfig.spec.json", + "setupFile": "apps/annotation/src/test-setup.ts" + } + } + } + }, + "annotation-e2e": { + "root": "apps/annotation-e2e", + "sourceRoot": "apps/annotation-e2e/src", + "projectType": "application", + "architect": { + "e2e": { + "builder": "@nrwl/cypress:cypress", + "options": { + "cypressConfig": "apps/annotation-e2e/cypress.json", + "tsConfig": "apps/annotation-e2e/tsconfig.e2e.json", + "devServerTarget": "annotation:serve" + }, + "configurations": { + "production": { + "devServerTarget": "annotation:serve:production" + } + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": ["apps/annotation-e2e/tsconfig.e2e.json"], + "exclude": ["**/node_modules/**", "!apps/annotation-e2e/**"] + } + } + } + } + }, + "cli": { + "defaultCollection": "@nrwl/angular" + }, + "schematics": { + "@nrwl/angular:application": { + "unitTestRunner": "jest", + "e2eTestRunner": "cypress" + }, + "@nrwl/angular:library": { + "unitTestRunner": "jest" + } + }, + "defaultProject": "annotation" +} diff --git a/Demos/Dropwizard/client/apps/.gitkeep b/Demos/Dropwizard/client/apps/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Demos/Dropwizard/client/apps/.gitkeep @@ -0,0 +1 @@ + diff --git a/Demos/Dropwizard/client/apps/annotation-e2e/cypress.json b/Demos/Dropwizard/client/apps/annotation-e2e/cypress.json new file mode 100644 index 0000000..156cb77 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation-e2e/cypress.json @@ -0,0 +1,12 @@ +{ + "fileServerFolder": ".", + "fixturesFolder": "./src/fixtures", + "integrationFolder": "./src/integration", + "modifyObstructiveCode": false, + "pluginsFile": "./src/plugins/index", + "supportFile": "./src/support/index.ts", + "video": true, + "videosFolder": "../../dist/cypress/apps/annotation-e2e/videos", + "screenshotsFolder": "../../dist/cypress/apps/annotation-e2e/screenshots", + "chromeWebSecurity": false +} diff --git a/Demos/Dropwizard/client/apps/annotation-e2e/src/fixtures/example.json b/Demos/Dropwizard/client/apps/annotation-e2e/src/fixtures/example.json new file mode 100644 index 0000000..294cbed --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation-e2e/src/fixtures/example.json @@ -0,0 +1,4 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io" +} diff --git a/Demos/Dropwizard/client/apps/annotation-e2e/src/integration/app.spec.ts b/Demos/Dropwizard/client/apps/annotation-e2e/src/integration/app.spec.ts new file mode 100644 index 0000000..e75549a --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation-e2e/src/integration/app.spec.ts @@ -0,0 +1,13 @@ +import { getGreeting } from '../support/app.po'; + +describe('annotation', () => { + beforeEach(() => cy.visit('/')); + + it('should display welcome message', () => { + // Custom command example, see `../support/commands.ts` file + cy.login('my-email@something.com', 'myPassword'); + + // Function helper example, see `../support/app.po.ts` file + getGreeting().contains('Welcome to annotation!'); + }); +}); diff --git a/Demos/Dropwizard/client/apps/annotation-e2e/src/plugins/index.js b/Demos/Dropwizard/client/apps/annotation-e2e/src/plugins/index.js new file mode 100644 index 0000000..9067e75 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation-e2e/src/plugins/index.js @@ -0,0 +1,22 @@ +// *********************************************************** +// This example plugins/index.js can be used to load plugins +// +// You can change the location of this file or turn off loading +// the plugins file with the 'pluginsFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/plugins-guide +// *********************************************************** + +// This function is called when a project is opened or re-opened (e.g. due to +// the project's config changing) + +const { preprocessTypescript } = require('@nrwl/cypress/plugins/preprocessor'); + +module.exports = (on, config) => { + // `on` is used to hook into various events Cypress emits + // `config` is the resolved Cypress config + + // Preprocess Typescript file using Nx helper + on('file:preprocessor', preprocessTypescript(config)); +}; diff --git a/Demos/Dropwizard/client/apps/annotation-e2e/src/support/app.po.ts b/Demos/Dropwizard/client/apps/annotation-e2e/src/support/app.po.ts new file mode 100644 index 0000000..3293424 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation-e2e/src/support/app.po.ts @@ -0,0 +1 @@ +export const getGreeting = () => cy.get('h1'); diff --git a/Demos/Dropwizard/client/apps/annotation-e2e/src/support/commands.ts b/Demos/Dropwizard/client/apps/annotation-e2e/src/support/commands.ts new file mode 100644 index 0000000..61b3a3e --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation-e2e/src/support/commands.ts @@ -0,0 +1,31 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// eslint-disable-next-line @typescript-eslint/no-namespace +declare namespace Cypress { + interface Chainable { + login(email: string, password: string): void; + } +} +// +// -- This is a parent command -- +Cypress.Commands.add('login', (email, password) => { + console.log('Custom command example: Login', email, password); +}); +// +// -- This is a child command -- +// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/Demos/Dropwizard/client/apps/annotation-e2e/src/support/index.ts b/Demos/Dropwizard/client/apps/annotation-e2e/src/support/index.ts new file mode 100644 index 0000000..3d469a6 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation-e2e/src/support/index.ts @@ -0,0 +1,17 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands'; diff --git a/Demos/Dropwizard/client/apps/annotation-e2e/tsconfig.e2e.json b/Demos/Dropwizard/client/apps/annotation-e2e/tsconfig.e2e.json new file mode 100644 index 0000000..824748b --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation-e2e/tsconfig.e2e.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "sourceMap": false, + "outDir": "../../dist/out-tsc" + }, + "include": ["src/**/*.ts", "src/**/*.js"] +} diff --git a/Demos/Dropwizard/client/apps/annotation-e2e/tsconfig.json b/Demos/Dropwizard/client/apps/annotation-e2e/tsconfig.json new file mode 100644 index 0000000..d8d4ea3 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation-e2e/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "types": ["cypress", "node"] + }, + "include": ["**/*.ts", "**/*.js"] +} diff --git a/Demos/Dropwizard/client/apps/annotation-e2e/tslint.json b/Demos/Dropwizard/client/apps/annotation-e2e/tslint.json new file mode 100644 index 0000000..8acd9a3 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation-e2e/tslint.json @@ -0,0 +1 @@ +{ "extends": "../../tslint.json", "rules": {} } diff --git a/Demos/Dropwizard/client/apps/annotation/browserslist b/Demos/Dropwizard/client/apps/annotation/browserslist new file mode 100644 index 0000000..8084853 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/browserslist @@ -0,0 +1,12 @@ +# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries + +# You can see what browsers were selected by your queries by running: +# npx browserslist + +> 0.5% +last 2 versions +Firefox ESR +not dead +not IE 9-11 # For IE 9-11 support, remove 'not'. \ No newline at end of file diff --git a/Demos/Dropwizard/client/apps/annotation/jest.config.js b/Demos/Dropwizard/client/apps/annotation/jest.config.js new file mode 100644 index 0000000..dd90dfa --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/jest.config.js @@ -0,0 +1,10 @@ +module.exports = { + name: 'annotation', + preset: '../../jest.config.js', + coverageDirectory: '../../coverage/apps/annotation', + snapshotSerializers: [ + 'jest-preset-angular/build/AngularNoNgAttributesSnapshotSerializer.js', + 'jest-preset-angular/build/AngularSnapshotSerializer.js', + 'jest-preset-angular/build/HTMLCommentSerializer.js' + ] +}; diff --git a/Demos/Dropwizard/client/apps/annotation/src/app/app.component.html b/Demos/Dropwizard/client/apps/annotation/src/app/app.component.html new file mode 100644 index 0000000..557d7ad --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/src/app/app.component.html @@ -0,0 +1 @@ + diff --git a/Demos/Dropwizard/client/apps/annotation/src/app/app.component.less b/Demos/Dropwizard/client/apps/annotation/src/app/app.component.less new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Dropwizard/client/apps/annotation/src/app/app.component.spec.ts b/Demos/Dropwizard/client/apps/annotation/src/app/app.component.spec.ts new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Dropwizard/client/apps/annotation/src/app/app.component.ts b/Demos/Dropwizard/client/apps/annotation/src/app/app.component.ts new file mode 100644 index 0000000..e6fb213 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/src/app/app.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'client-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.less'] +}) +export class AppComponent { + title = 'annotation'; +} diff --git a/Demos/Dropwizard/client/apps/annotation/src/app/app.module.ts b/Demos/Dropwizard/client/apps/annotation/src/app/app.module.ts new file mode 100644 index 0000000..ae89b9d --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/src/app/app.module.ts @@ -0,0 +1,14 @@ +import {BrowserModule} from '@angular/platform-browser'; +import {NgModule} from '@angular/core'; + +import {AppComponent} from './app.component'; +import {AnnotationModule} from "@groupdocs.examples.angular/annotation"; + +@NgModule({ + declarations: [AppComponent], + imports: [BrowserModule, AnnotationModule], + providers: [], + bootstrap: [AppComponent] +}) +export class AppModule { +} diff --git a/Demos/Dropwizard/client/apps/annotation/src/assets/.gitkeep b/Demos/Dropwizard/client/apps/annotation/src/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Dropwizard/client/apps/annotation/src/environments/environment.prod.ts b/Demos/Dropwizard/client/apps/annotation/src/environments/environment.prod.ts new file mode 100644 index 0000000..3612073 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/Demos/Dropwizard/client/apps/annotation/src/environments/environment.ts b/Demos/Dropwizard/client/apps/annotation/src/environments/environment.ts new file mode 100644 index 0000000..7b4f817 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/src/environments/environment.ts @@ -0,0 +1,16 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/Demos/Dropwizard/client/apps/annotation/src/favicon.ico b/Demos/Dropwizard/client/apps/annotation/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..317ebcb2336e0833a22dddf0ab287849f26fda57 GIT binary patch literal 15086 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 + + + + Annotation + + + + + + + + diff --git a/Demos/Dropwizard/client/apps/annotation/src/main.ts b/Demos/Dropwizard/client/apps/annotation/src/main.ts new file mode 100644 index 0000000..fa4e0ae --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/src/main.ts @@ -0,0 +1,13 @@ +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic() + .bootstrapModule(AppModule) + .catch(err => console.error(err)); diff --git a/Demos/Dropwizard/client/apps/annotation/src/polyfills.ts b/Demos/Dropwizard/client/apps/annotation/src/polyfills.ts new file mode 100644 index 0000000..2f258e5 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/src/polyfills.ts @@ -0,0 +1,62 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +// import 'classlist.js'; // Run `npm install --save classlist.js`. + +/** + * Web Animations `@angular/platform-browser/animations` + * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. + * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). + */ +// import 'web-animations-js'; // Run `npm install --save web-animations-js`. + +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + * because those flags need to be set before `zone.js` being loaded, and webpack + * will put import in the top of bundle, so user need to create a separate file + * in this directory (for example: zone-flags.ts), and put the following flags + * into that file, and then add the following code before importing zone.js. + * import './zone-flags.ts'; + * + * The flags allowed in zone-flags.ts are listed here. + * + * The following flags will work for all browsers. + * + * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + * + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + * + * (window as any).__Zone_enable_cross_context_check = true; + * + */ + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +import 'zone.js/dist/zone'; // Included with Angular CLI. + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ diff --git a/Demos/Dropwizard/client/apps/annotation/src/styles.less b/Demos/Dropwizard/client/apps/annotation/src/styles.less new file mode 100644 index 0000000..90d4ee0 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/src/styles.less @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/Demos/Dropwizard/client/apps/annotation/src/test-setup.ts b/Demos/Dropwizard/client/apps/annotation/src/test-setup.ts new file mode 100644 index 0000000..8d88704 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/src/test-setup.ts @@ -0,0 +1 @@ +import 'jest-preset-angular'; diff --git a/Demos/Dropwizard/client/apps/annotation/tsconfig.app.json b/Demos/Dropwizard/client/apps/annotation/tsconfig.app.json new file mode 100644 index 0000000..12dc816 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/tsconfig.app.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "types": [] + }, + "files": ["src/main.ts", "src/polyfills.ts"], + "include": ["**/*.ts"], + "exclude": ["src/test-setup.ts", "**/*.spec.ts"] +} diff --git a/Demos/Dropwizard/client/apps/annotation/tsconfig.json b/Demos/Dropwizard/client/apps/annotation/tsconfig.json new file mode 100644 index 0000000..e5decd5 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "types": ["node", "jest"] + }, + "include": ["**/*.ts"] +} diff --git a/Demos/Dropwizard/client/apps/annotation/tsconfig.spec.json b/Demos/Dropwizard/client/apps/annotation/tsconfig.spec.json new file mode 100644 index 0000000..cfff29a --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/tsconfig.spec.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "files": ["src/test-setup.ts"], + "include": ["**/*.spec.ts", "**/*.d.ts"] +} diff --git a/Demos/Dropwizard/client/apps/annotation/tslint.json b/Demos/Dropwizard/client/apps/annotation/tslint.json new file mode 100644 index 0000000..df75834 --- /dev/null +++ b/Demos/Dropwizard/client/apps/annotation/tslint.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tslint.json", + "rules": { + "directive-selector": [true, "attribute", "client", "camelCase"], + "component-selector": [true, "element", "client", "kebab-case"] + } +} diff --git a/Demos/Dropwizard/client/jest.config.js b/Demos/Dropwizard/client/jest.config.js new file mode 100644 index 0000000..ffd5ba2 --- /dev/null +++ b/Demos/Dropwizard/client/jest.config.js @@ -0,0 +1,10 @@ +module.exports = { + testMatch: ['**/+(*.)+(spec|test).+(ts|js)?(x)'], + transform: { + '^.+\\.(ts|js|html)$': 'ts-jest' + }, + resolver: '@nrwl/jest/plugins/resolver', + moduleFileExtensions: ['ts', 'js', 'html'], + coverageReporters: ['html'], + passWithNoTests: true +}; diff --git a/Demos/Dropwizard/client/libs/.gitkeep b/Demos/Dropwizard/client/libs/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Dropwizard/client/nx.json b/Demos/Dropwizard/client/nx.json new file mode 100644 index 0000000..9fa5e7a --- /dev/null +++ b/Demos/Dropwizard/client/nx.json @@ -0,0 +1,19 @@ +{ + "npmScope": "client", + "implicitDependencies": { + "angular.json": "*", + "package.json": "*", + "tsconfig.json": "*", + "tslint.json": "*", + "nx.json": "*" + }, + "projects": { + "annotation": { + "tags": [] + }, + "annotation-e2e": { + "tags": [], + "implicitDependencies": ["annotation"] + } + } +} diff --git a/Demos/Dropwizard/client/package.json b/Demos/Dropwizard/client/package.json new file mode 100644 index 0000000..c262072 --- /dev/null +++ b/Demos/Dropwizard/client/package.json @@ -0,0 +1,67 @@ +{ + "name": "client", + "version": "0.0.0", + "license": "MIT", + "scripts": { + "ng": "ng", + "nx": "nx", + "start": "ng serve", + "build": "ng build", + "test": "ng test", + "lint": "nx workspace-lint && ng lint", + "e2e": "ng e2e", + "affected:apps": "nx affected:apps", + "affected:libs": "nx affected:libs", + "affected:build": "nx affected:build", + "affected:e2e": "nx affected:e2e", + "affected:test": "nx affected:test", + "affected:lint": "nx affected:lint", + "affected:dep-graph": "nx affected:dep-graph", + "affected": "nx affected", + "format": "nx format:write", + "format:write": "nx format:write", + "format:check": "nx format:check", + "update": "ng update @nrwl/workspace", + "workspace-schematic": "nx workspace-schematic", + "dep-graph": "nx dep-graph", + "help": "nx help" + }, + "private": true, + "dependencies": { + "@angular/animations": "^8.2.4", + "@angular/common": "^8.2.4", + "@angular/compiler": "^8.2.4", + "@angular/core": "^8.2.4", + "@angular/forms": "^8.2.4", + "@angular/platform-browser": "^8.2.4", + "@angular/platform-browser-dynamic": "^8.2.4", + "@angular/router": "^8.2.4", + "@groupdocs.examples.angular/annotation": "^0.6.1", + "@nrwl/angular": "^8.12.2", + "common-components": "^1.0.5", + "core-js": "^2.6.11", + "rxjs": "~6.4.0", + "zone.js": "^0.9.1" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^0.800.1", + "@angular/cli": "8.1.1", + "@angular/compiler-cli": "^8.2.13", + "@angular/language-service": "^8.2.13", + "@nrwl/cypress": "8.4.3", + "@nrwl/jest": "8.4.3", + "@nrwl/workspace": "8.4.3", + "@types/jest": "24.0.9", + "@types/node": "~8.9.4", + "codelyzer": "~5.0.1", + "cypress": "~3.3.1", + "dotenv": "6.2.0", + "jest": "24.1.0", + "jest-preset-angular": "7.0.0", + "prettier": "1.16.4", + "ts-jest": "24.0.0", + "ts-node": "~7.0.0", + "tslint": "~5.11.0", + "typescript": "~3.4.5" + } +} diff --git a/Demos/Dropwizard/client/tools/schematics/.gitkeep b/Demos/Dropwizard/client/tools/schematics/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Dropwizard/client/tools/tsconfig.tools.json b/Demos/Dropwizard/client/tools/tsconfig.tools.json new file mode 100644 index 0000000..82bd1f0 --- /dev/null +++ b/Demos/Dropwizard/client/tools/tsconfig.tools.json @@ -0,0 +1,11 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../dist/out-tsc/tools", + "rootDir": ".", + "module": "commonjs", + "target": "es5", + "types": ["node"] + }, + "include": ["**/*.ts"] +} diff --git a/Demos/Dropwizard/client/tsconfig.json b/Demos/Dropwizard/client/tsconfig.json new file mode 100644 index 0000000..a5099b5 --- /dev/null +++ b/Demos/Dropwizard/client/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "rootDir": ".", + "sourceMap": true, + "declaration": false, + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "es2015", + "module": "esnext", + "typeRoots": ["node_modules/@types"], + "lib": ["es2017", "dom"], + "skipLibCheck": true, + "skipDefaultLibCheck": true, + "baseUrl": ".", + "paths": {} + }, + "exclude": ["node_modules", "tmp"] +} diff --git a/Demos/Dropwizard/client/tslint.json b/Demos/Dropwizard/client/tslint.json new file mode 100644 index 0000000..2533001 --- /dev/null +++ b/Demos/Dropwizard/client/tslint.json @@ -0,0 +1,80 @@ +{ + "rulesDirectory": [ + "node_modules/@nrwl/workspace/src/tslint", + "node_modules/codelyzer" + ], + "rules": { + "arrow-return-shorthand": true, + "callable-types": true, + "class-name": true, + "deprecation": { + "severity": "warn" + }, + "forin": true, + "import-blacklist": [true, "rxjs/Rx"], + "interface-over-type-literal": true, + "member-access": false, + "member-ordering": [ + true, + { + "order": [ + "static-field", + "instance-field", + "static-method", + "instance-method" + ] + } + ], + "no-arg": true, + "no-bitwise": true, + "no-console": [true, "debug", "info", "time", "timeEnd", "trace"], + "no-construct": true, + "no-debugger": true, + "no-duplicate-super": true, + "no-empty": false, + "no-empty-interface": true, + "no-eval": true, + "no-inferrable-types": [true, "ignore-params"], + "no-misused-new": true, + "no-non-null-assertion": true, + "no-shadowed-variable": true, + "no-string-literal": false, + "no-string-throw": true, + "no-switch-case-fall-through": true, + "no-unnecessary-initializer": true, + "no-unused-expression": true, + "no-var-keyword": true, + "object-literal-sort-keys": false, + "prefer-const": true, + "radix": true, + "triple-equals": [true, "allow-null-check"], + "unified-signatures": true, + "variable-name": false, + "nx-enforce-module-boundaries": [ + true, + { + "allow": [], + "depConstraints": [ + { + "sourceTag": "*", + "onlyDependOnLibsWithTags": ["*"] + } + ] + } + ], + "directive-selector": [true, "attribute", "app", "camelCase"], + "component-selector": [true, "element", "app", "kebab-case"], + "no-conflicting-lifecycle": true, + "no-host-metadata-property": true, + "no-input-rename": true, + "no-inputs-metadata-property": true, + "no-output-native": true, + "no-output-on-prefix": true, + "no-output-rename": true, + "no-outputs-metadata-property": true, + "template-banana-in-box": true, + "template-no-negated-async": true, + "use-lifecycle-interface": true, + "use-pipe-transform-interface": true + } +} diff --git a/Demos/Dropwizard/configuration.yml b/Demos/Dropwizard/configuration.yml new file mode 100644 index 0000000..38e281a --- /dev/null +++ b/Demos/Dropwizard/configuration.yml @@ -0,0 +1,100 @@ +################################################ +# Server configurations +################################################ +server: + type: simple + applicationContextPath: / + adminContextPath: /admin + connector: + type: http + port: 8080 + + +################################################ +# Application (global) configurations +################################################ +application: + # License path + # Absolute or relative path to GroupDocs license file + licensePath: + # Host name or ip for server instance + hostAddress: ${application.hostAddress} + +################################################ +# Common configurations +################################################ +common: + # File rewriting on document uploading + # Set false to keep both files + # Set true to replace files with same name + rewrite: true + # Page navigation + # Set false to disable document navigation (go to next, previous, last and first page) + pageSelector: true + # Document download + # Set false to disable document download + download: true + # Document upload + # Set false to disable document upload + upload: true + # Document print + # Set false to disable document print + print: true + # File browser + # Set false to disable document browse + browse: true + # Set false to disable right mouse click + enableRightClick: true + +################################################ +# GroupDocs.Annotation configurations +################################################ +annotation: + # Files directory path + # Absolute or relative path to files directory + filesDirectory: + # Default document + # Absolute or relative path to default document + defaultDocument: '' + # Pages preload + # How many pages from a document should be loaded, remaining pages will be loaded on page scrolling + # Set 0 to load all pages at once + preloadPageCount: 0 + # Fonts path + # Absolute path to custom fonts directory + fontsDirectory: '' + # Enable/disable Text annotation + textAnnotation: true + # Enable/disable Area annotation + areaAnnotation: true + # Enable/disable Point annotation + pointAnnotation: true + # Enable/disable TextStrikeout annotation + textStrikeoutAnnotation: true + # Enable/disable Polyline annotation + polylineAnnotation: true + # Enable/disable TextField annotation + textFieldAnnotation: true + # Enable/disable Watermark annotation + watermarkAnnotation: true + # Enable/disable TextReplacement annotation + textReplacementAnnotation: true + # Enable/disable Arrow annotation + arrowAnnotation: true + # Enable/disable TextRedaction annotation + textRedactionAnnotation: true + # Enable/disable ResourcesRedaction annotation + resourcesRedactionAnnotation: true + # Enable/disable TextUnderline annotation + textUnderlineAnnotation: true + # Enable/disable Distance annotation + distanceAnnotation: true + # Enable/disable original document downloading + downloadOriginal: true + # Enable/disable signed document downloading + downloadAnnotated: true + # Enable/disable zoom + zoom: true + # Enable/disable fit width + # set true to zoom document pages fit width + fitWidth: true diff --git a/Demos/Dropwizard/pom.xml b/Demos/Dropwizard/pom.xml new file mode 100644 index 0000000..ef89d04 --- /dev/null +++ b/Demos/Dropwizard/pom.xml @@ -0,0 +1,250 @@ + + + 4.0.0 + + com.groupdocs.ui + annotation + 1.12.24 + jar + + GroupDocs.Annotation Dropwizard + http://groupdocs.com + + + UTF-8 + + + + + io.dropwizard + dropwizard-core + 1.3.0 + + + io.dropwizard + dropwizard-views-freemarker + 1.3.0 + + + io.dropwizard + dropwizard-assets + 1.3.0 + + + io.dropwizard + dropwizard-auth + 1.3.0 + + + io.dropwizard + dropwizard-forms + 1.3.0 + + + io.dropwizard + dropwizard-testing + 1.3.7 + test + + + io.dropwizard + dropwizard-client + 1.3.7 + + + org.glassfish.jersey.core + jersey-client + 2.25.1 + + + org.gitlab4j + gitlab4j-api + 4.6.9 + + + com.google.code.gson + gson + 2.8.2 + + + org.json + json + 20180130 + + + commons-io + commons-io + 2.7 + + + com.groupdocs + groupdocs-annotation + 19.7 + + + javax.xml.bind + jaxb-api + 2.3.0 + + + javax.activation + activation + 1.1 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.0 + + 1.8 + 1.8 + + + + org.codehaus.mojo + exec-maven-plugin + 1.2.1 + + com.groupdocs.ui.common.MainService + + server + configuration.yml + + + + + org.apache.maven.plugins + maven-shade-plugin + 2.3 + + + + *:* + + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + + false + + + + package + + shade + + + + + + com.groupdocs.ui.common.MainService + + . + + + + + + + + + com.github.eirslett + frontend-maven-plugin + 1.6 + + client + + + + + install node and npm + + install-node-and-npm + + + v10.15.1 + + + + npm install + + npm + + + install + + + + npm update + + npm + + + update + + + + install client + + npm + + + install + + + + build client + + npm + + + run build + + + + + + org.jacoco + jacoco-maven-plugin + 0.8.2 + + + default-prepare-agent + + prepare-agent + + + + default-report + prepare-package + + report + + + + + + + + + + com.springsource.repository.bundles.external + SpringSource Enterprise Bundle Repository - External Bundle Releases + http://repository.springsource.com/maven/bundles/external + + + GroupDocsJavaAPI + GroupDocs Java API + http://artifact.groupdocs.com/repo/ + + + + diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java new file mode 100644 index 0000000..37a6ccc --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java @@ -0,0 +1,46 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Point; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +public abstract class AbstractBoxAnnotator extends Annotator { + + public AbstractBoxAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo annotationInfo = super.initAnnotationInfo(); + // set draw annotation properties + Rectangle box = annotationInfo.getBox(); + StringBuilder builder = new StringBuilder(). + append("M").append(box.getX()). + append(",").append(box.getY()). + append("L").append(box.getWidth()). + append(",").append(box.getHeight()); + annotationInfo.setSvgPath(builder.toString()); + // set annotation position + annotationInfo.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + return annotationInfo; + } + + @Override + protected Rectangle getBox() { + String svgPath = annotationData.getSvgPath(); + String startPoint = svgPath.replaceAll("[a-zA-Z]+", "").split(" ")[0]; + String endPoint = svgPath.replaceAll("[a-zA-Z]+", "").split(" ")[1]; + String[] start = startPoint.split(","); + double startX = Double.parseDouble(start.length > 0 ? start[0] : "0"); + double startY = Double.parseDouble(start.length > 1 ? start[1] : "0"); + String[] end = endPoint.split(","); + double endX = Double.parseDouble(end.length > 0 ? end[0] : "0") - startX; + double endY = Double.parseDouble(end.length > 1 ? end[1] : "0") - startY; + return new Rectangle(startX, startY, endX, endY); + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java new file mode 100644 index 0000000..4dfcbaa --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java @@ -0,0 +1,76 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +public abstract class AbstractSvgAnnotator extends Annotator { + + public AbstractSvgAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo annotationInfo = super.initAnnotationInfo(); + // set draw annotation properties + annotationInfo.setSvgPath(buildSvgPath()); + return annotationInfo; + } + + /** + * Use this method for fixing box coordinates if needed + * + * @param annotationInfo + */ + protected void fixBox(AnnotationInfo annotationInfo) { + double topPosition = pageData.getHeight() - annotationData.getTop(); + annotationInfo.getBox().setY((float) topPosition); + } + + /** + * Calculate svg position + * + * @return + */ + protected String buildSvgPath() { + // we use such calculation since the GroupDocs.Annotation library takes text line position from the bottom of the page + double topPosition = pageData.getHeight() - annotationData.getTop(); + // calculation of the X-shift + double topRightX = annotationData.getLeft() + annotationData.getWidth(); + // calculation of the Y-shift + double bottomRightY = topPosition - annotationData.getHeight(); + return getSvgString(topPosition, annotationData.getLeft(), topRightX, bottomRightY); + } + + /** + * Build svg string + * + * @param top top position + * @param left left position + * @param right right position + * @param bottom bottom position + * @return + */ + protected String getSvgString(double top, double left, double right, double bottom) { + return new StringBuilder(). + append("[{\"x\":").append(left). + append(",\"y\":").append(top). + append("},{\"x\":").append(right). + append(",\"y\":").append(top). + append("},{\"x\":").append(left). + append(",\"y\":").append(bottom). + append("},{\"x\":").append(right). + append(",\"y\":").append(bottom). + append("}]").toString(); + } + + @Override + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } + +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java new file mode 100644 index 0000000..ed339c2 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java @@ -0,0 +1,31 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import org.apache.commons.lang3.StringUtils; + +import java.text.ParseException; + +public abstract class AbstractTextAnnotator extends Annotator { + + public AbstractTextAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo annotationInfo = super.initAnnotationInfo(); + annotationInfo.setFieldText(annotationData.getText()); + annotationInfo.setFontFamily(StringUtils.capitalize(annotationData.getFont())); + annotationInfo.setFontSize(annotationData.getFontSize()); + annotationInfo.setFontColor(annotationData.getFontColor()); + return annotationInfo; + } + + @Override + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java new file mode 100644 index 0000000..6223499 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java @@ -0,0 +1,188 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationReplyInfo; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.CommentsEntity; +import com.groupdocs.ui.common.exception.TotalGroupDocsException; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; +import java.util.TimeZone; + +/** + * Annotator + * Abstract class contains general description for the annotating functionality + * + * @author Aspose Pty Ltd + */ +public abstract class Annotator { + + public static final String MESSAGE = "Annotation of type %s for this file type is not supported"; + + protected AnnotationDataEntity annotationData; + protected PageData pageData; + + /** + * Constructor + * + * @param annotationData + * @param pageData + */ + public Annotator(AnnotationDataEntity annotationData, PageData pageData) { + this.annotationData = annotationData; + this.pageData = pageData; + } + + /** + * Add area annotation into the Word document + * + * @return + * @throws UnsupportedOperationException Word document doesn't supported for the current annotation type + * @throws ParseException the date cannot be parsed + */ + public abstract AnnotationInfo annotateWord() throws UnsupportedOperationException, ParseException; + + /** + * Add area annotation into the pdf document + * + * @return + * @throws UnsupportedOperationException pdf document doesn't supported for the current annotation type + * @throws ParseException the date cannot be parsed + */ + public abstract AnnotationInfo annotatePdf() throws UnsupportedOperationException, ParseException; + + /** + * Add area annotation into the Excel document + * + * @return + * @throws UnsupportedOperationException the Excel document don't supported for the current annotation type + * @throws ParseException the date cannot be parsed + */ + public abstract AnnotationInfo annotateCells() throws UnsupportedOperationException, ParseException; + + /** + * Add area annotation into the Power Point document + * + * @return + * @throws UnsupportedOperationException the Power Point document doesn't supported for the current annotation type + * @throws ParseException the date cannot be parsed + */ + public abstract AnnotationInfo annotateSlides() throws UnsupportedOperationException, ParseException; + + /** + * Add area annotation into the image document + * + * @return + * @throws UnsupportedOperationException image doesn't supported for the current annotation type + * @throws ParseException the date cannot be parsed + */ + public abstract AnnotationInfo annotateImage() throws UnsupportedOperationException, ParseException; + + /** + * Add area annotation into the document + * + * @return + * @throws UnsupportedOperationException diagram document doesn't supported for the current annotation type + * @throws ParseException the date cannot be parsed + */ + public abstract AnnotationInfo annotateDiagram() throws UnsupportedOperationException, ParseException; + + /** + * Initial for annotation info + * + * @return annotation info + * @throws ParseException the date cannot be parsed + */ + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo areaAnnotation = new AnnotationInfo(); + // draw annotation options + areaAnnotation.setBox(getBox()); + // set page number to add annotation + areaAnnotation.setPageNumber(annotationData.getPageNumber() - 1); + // set annotation type + areaAnnotation.setType(getType()); + // add replies + CommentsEntity[] comments = annotationData.getComments(); + if (comments != null && comments.length != 0) { + AnnotationReplyInfo[] replies = new AnnotationReplyInfo[comments.length]; + for (int i = 0; i < comments.length; i++) { + AnnotationReplyInfo reply = getAnnotationReplyInfo(comments[i]); + replies[i] = reply; + } + areaAnnotation.setReplies(replies); + } + return areaAnnotation; + } + + /** + * Initial for reply annotation info + * + * @param comment annotation comment + * @return annotation reply info + * @throws ParseException the date cannot be parsed + */ + protected AnnotationReplyInfo getAnnotationReplyInfo(CommentsEntity comment) throws ParseException { + AnnotationReplyInfo reply = new AnnotationReplyInfo(); + reply.setMessage(comment.getText()); + DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); + format.setTimeZone(TimeZone.getTimeZone("GMT")); + Date date; + try { + date = new Date(Long.parseLong(comment.getTime())); + } catch (Exception e) { + try { + date = format.parse(comment.getTime()); + } catch (Exception exc) { + format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); + date = format.parse(comment.getTime()); + } + } + reply.setRepliedOn(date); + reply.setUserName(comment.getUserName()); + return reply; + } + + /** + * Get rectangle + * + * @return box + */ + protected abstract Rectangle getBox(); + + /** + * Get type of annotation + * + * @return annotation type + */ + protected abstract byte getType(); + + /** + * Get Annotation info depending on document type + * + * @throws ParseException the date cannot be parsed + */ + public AnnotationInfo getAnnotationInfo(String documentType) throws ParseException { + switch (documentType) { + case "Portable Document Format": + return annotatePdf(); + case "Microsoft Word": + return annotateWord(); + case "Microsoft PowerPoint": + return annotateSlides(); + case "image": + return annotateImage(); + case "Microsoft Excel": + return annotateCells(); + case "AutoCAD Drawing File Format": + return annotateDiagram(); + default: + throw new TotalGroupDocsException("Wrong annotation data without document type!"); + } + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java new file mode 100644 index 0000000..d113c86 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java @@ -0,0 +1,51 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.common.exception.TotalGroupDocsException; + +/** + * Creator for annotator instances + */ +public class AnnotatorFactory { + + /** + * Create annotator instance depending on type of annotation + * + * @param annotationData annotation + * @param pageData document + * @return annotator instance + */ + public static Annotator createAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + switch (annotationData.getType()) { + case "text": + return new TextAnnotator(annotationData, pageData); + case "area": + return new AreaAnnotator(annotationData, pageData); + case "point": + return new PointAnnotator(annotationData, pageData); + case "textStrikeout": + return new TexStrikeoutAnnotator(annotationData, pageData); + case "polyline": + return new PolylineAnnotator(annotationData, pageData); + case "textField": + return new TextFieldAnnotator(annotationData, pageData); + case "watermark": + return new WatermarkAnnotator(annotationData, pageData); + case "textReplacement": + return new TextReplacementAnnotator(annotationData, pageData); + case "arrow": + return new ArrowAnnotator(annotationData, pageData); + case "textRedaction": + return new TextRedactionAnnotator(annotationData, pageData); + case "resourcesRedaction": + return new ResourceRedactionAnnotator(annotationData, pageData); + case "textUnderline": + return new TexUnderlineAnnotator(annotationData, pageData); + case "distance": + return new DistanceAnnotator(annotationData, pageData); + default: + throw new TotalGroupDocsException("Wrong annotation data without annotation type!"); + } + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java new file mode 100644 index 0000000..63ca156 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java @@ -0,0 +1,64 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.*; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * AreaAnnotator + * Annotates documents with the area annotation + * + * @author Aspose Pty Ltd + */ +public class AreaAnnotator extends Annotator { + + public AreaAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + // initiate AnnotationInfo object + AnnotationInfo areaAnnotation = initAnnotationInfo(); + // set annotation X, Y position + areaAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + // add replies + return areaAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + return initAnnotationInfo(); + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + return initAnnotationInfo(); + } + + @Override + public AnnotationInfo annotateDiagram() throws ParseException { + return initAnnotationInfo(); + } + + @Override + protected byte getType() { + return AnnotationType.Area; + } + + @Override + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java new file mode 100644 index 0000000..0b0aa0e --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java @@ -0,0 +1,86 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationReplyInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.CommentsEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class ArrowAnnotator extends AbstractBoxAnnotator { + + private boolean withGuid = false; + + public ArrowAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + withGuid = false; + AnnotationInfo arrowAnnotation = initAnnotationInfo(); + return arrowAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + withGuid = false; + AnnotationInfo arrowAnnotation = initAnnotationInfo(); + return arrowAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + withGuid = true; + // init annotation object + AnnotationInfo arrowAnnotation = initAnnotationInfo(); + arrowAnnotation.setBackgroundColor(15988609); + return arrowAnnotation; + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + withGuid = false; + // init annotation object + AnnotationInfo arrowAnnotation = initAnnotationInfo(); + arrowAnnotation.setBackgroundColor(-15988609); + return arrowAnnotation; + } + + @Override + public AnnotationInfo annotateDiagram() throws ParseException { + withGuid = false; + // init annotation object + AnnotationInfo arrowAnnotation = initAnnotationInfo(); + arrowAnnotation.setBackgroundColor(15988609); + return arrowAnnotation; + } + + @Override + protected AnnotationReplyInfo getAnnotationReplyInfo(CommentsEntity comment) throws ParseException { + AnnotationReplyInfo annotationReplyInfo = super.getAnnotationReplyInfo(comment); + if (withGuid) { + annotationReplyInfo.setParentReplyGuid(String.valueOf(annotationData.getId())); + } + return annotationReplyInfo; + } + + @Override + protected byte getType() { + return AnnotationType.Arrow; + } + +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java new file mode 100644 index 0000000..0c4b843 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java @@ -0,0 +1,84 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationReplyInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.CommentsEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class DistanceAnnotator extends AbstractBoxAnnotator { + + public DistanceAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + AnnotationInfo distanceAnnotation = initAnnotationInfo(); + return distanceAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + AnnotationInfo distanceAnnotation = initAnnotationInfo(); + return distanceAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + // init annotation object + AnnotationInfo distanceAnnotation = initAnnotationInfo(); + distanceAnnotation.setBackgroundColor(15988609); + return distanceAnnotation; + } + + + @Override + public AnnotationInfo annotateDiagram() throws ParseException { + // init annotation object + AnnotationInfo distanceAnnotation = initAnnotationInfo(); + distanceAnnotation.setBackgroundColor(15988609); + return distanceAnnotation; + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo distanceAnnotation = super.initAnnotationInfo(); + // add replies + String text = (annotationData.getText() == null) ? "" : annotationData.getText(); + CommentsEntity[] comments = annotationData.getComments(); + if (comments != null && comments.length != 0) { + AnnotationReplyInfo reply = distanceAnnotation.getReplies()[0]; + if (reply != null) { + reply.setMessage(String.format("%s %s", annotationData.getText(), reply.getMessage())); + } + } else { + distanceAnnotation.setFieldText(text); + } + return distanceAnnotation; + } + + @Override + protected byte getType() { + return AnnotationType.Distance; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java new file mode 100644 index 0000000..f1cbbe2 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java @@ -0,0 +1,69 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.*; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class PointAnnotator extends Annotator { + + public PointAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + return initAnnotationInfo(); + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + return initAnnotationInfo(); + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + // init annotation object + AnnotationInfo pointAnnotation = super.initAnnotationInfo(); + // set annotation position + pointAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + return pointAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + return initAnnotationInfo(); + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + return initAnnotationInfo(); + } + + + @Override + public AnnotationInfo annotateDiagram() throws ParseException { + return initAnnotationInfo(); + } + + @Override + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } + + @Override + protected byte getType() { + return AnnotationType.Point; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java new file mode 100644 index 0000000..c984c1a --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java @@ -0,0 +1,92 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.CommentsEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class PolylineAnnotator extends Annotator { + + public PolylineAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + return initAnnotationInfo(); + } + + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + AnnotationInfo polylineAnnotation = initAnnotationInfo(); + return polylineAnnotation; + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo polylineAnnotation = super.initAnnotationInfo(); + polylineAnnotation.setPenColor(1201033); + polylineAnnotation.setPenWidth((byte) 2); + polylineAnnotation.setSvgPath(annotationData.getSvgPath()); + return polylineAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + AnnotationInfo polylineAnnotation = initAnnotationInfo(); + fillCreatorName(polylineAnnotation); + return polylineAnnotation; + } + + /** + * Fill creator name field in annotation info + * + * @param polylineAnnotation annotation info + */ + protected void fillCreatorName(AnnotationInfo polylineAnnotation) { + CommentsEntity[] comments = annotationData.getComments(); + if (comments != null && comments.length > 0 && comments[0] != null) { + polylineAnnotation.setCreatorName(comments[0].getUserName()); + } + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + AnnotationInfo polylineAnnotation = initAnnotationInfo(); + fillCreatorName(polylineAnnotation); + return polylineAnnotation; + } + + @Override + public AnnotationInfo annotateDiagram() throws ParseException { + AnnotationInfo polylineAnnotation = initAnnotationInfo(); + fillCreatorName(polylineAnnotation); + return polylineAnnotation; + } + + @Override + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } + + @Override + protected byte getType() { + return AnnotationType.Polyline; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java new file mode 100644 index 0000000..6ba6625 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java @@ -0,0 +1,68 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.*; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * AreaAnnotator + * Annotates documents with the area annotation + * + * @author Aspose Pty Ltd + */ +public class ResourceRedactionAnnotator extends Annotator { + + public ResourceRedactionAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); + return resourceRedactionAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + // initiate AnnotationInfo object + AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); + // set annotation X, Y position + resourceRedactionAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + return resourceRedactionAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); + return resourceRedactionAnnotation; + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); + return resourceRedactionAnnotation; + } + + @Override + public AnnotationInfo annotateDiagram() throws ParseException { + // init annotation object + AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); + return resourceRedactionAnnotation; + } + + @Override + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } + + @Override + protected byte getType() { + return AnnotationType.ResourcesRedaction; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java new file mode 100644 index 0000000..f90e6b3 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java @@ -0,0 +1,68 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Point; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class TexStrikeoutAnnotator extends AbstractSvgAnnotator { + + public TexStrikeoutAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + // init possible types of annotations + AnnotationInfo strikeoutAnnotation = initAnnotationInfo(); + fixBox(strikeoutAnnotation); + return strikeoutAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + AnnotationInfo strikeoutAnnotation = initAnnotationInfo(); + strikeoutAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + strikeoutAnnotation.setPenColor(0); + strikeoutAnnotation.setGuid(String.valueOf(annotationData.getId())); + return strikeoutAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + AnnotationInfo strikeoutAnnotation = initAnnotationInfo(); + fixBox(strikeoutAnnotation); + strikeoutAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + strikeoutAnnotation.setPenColor(0); + return strikeoutAnnotation; + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + return initAnnotationInfo(); + } + + @Override + public AnnotationInfo annotateDiagram() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + protected byte getType() { + return AnnotationType.TextStrikeout; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java new file mode 100644 index 0000000..727476c --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java @@ -0,0 +1,71 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Point; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class TexUnderlineAnnotator extends AbstractSvgAnnotator { + + public TexUnderlineAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + // init possible types of annotations + AnnotationInfo underlineAnnotation = initAnnotationInfo(); + // set line color + underlineAnnotation.setPenColor(1201033); + fixBox(underlineAnnotation); + return underlineAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + AnnotationInfo underlineAnnotation = initAnnotationInfo(); + underlineAnnotation.setGuid(String.valueOf(annotationData.getId())); + underlineAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + underlineAnnotation.setPenColor(1201033); + return underlineAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + AnnotationInfo underlineAnnotation = initAnnotationInfo(); + fixBox(underlineAnnotation); + underlineAnnotation.setPenColor(0); + underlineAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + return underlineAnnotation; + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + AnnotationInfo annotationInfo = initAnnotationInfo(); + return annotationInfo; + } + + @Override + public AnnotationInfo annotateDiagram() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + protected byte getType() { + return AnnotationType.TextUnderline; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java new file mode 100644 index 0000000..9dfc392 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java @@ -0,0 +1,78 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.*; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class TextAnnotator extends AbstractSvgAnnotator { + + public TextAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + // init possible types of annotations + AnnotationInfo textAnnotation = initAnnotationInfo(); + return textAnnotation; + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo textAnnotation = super.initAnnotationInfo(); + textAnnotation.setGuid(String.valueOf(annotationData.getId())); + return textAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + // init possible types of annotations + AnnotationInfo textAnnotation = initAnnotationInfo(); + return textAnnotation; + } + + @Override + public AnnotationInfo annotateCells() throws ParseException { + // init possible types of annotations + AnnotationInfo textAnnotation = super.initAnnotationInfo(); + textAnnotation.setPageNumber(annotationData.getPageNumber()); + textAnnotation.setAnnotationPosition(new Point(1, 1)); + textAnnotation.setBox(new Rectangle(0, 0, 0, 0)); + return textAnnotation; + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + // init possible types of annotations + AnnotationInfo textAnnotation = initAnnotationInfo(); + textAnnotation.getBox().setX((float) (annotationData.getLeft() / 4)); + return textAnnotation; + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + return initAnnotationInfo(); + } + + @Override + public AnnotationInfo annotateDiagram() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } + + @Override + protected byte getType() { + return AnnotationType.Text; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java new file mode 100644 index 0000000..d924cb6 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java @@ -0,0 +1,70 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Point; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class TextFieldAnnotator extends AbstractTextAnnotator { + + public TextFieldAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + // init possible types of annotations + AnnotationInfo textFieldAnnotation = initAnnotationInfo(); + return textFieldAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + // init possible types of annotations + // Text field annotation + AnnotationInfo textFieldAnnotation = initAnnotationInfo(); + textFieldAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + textFieldAnnotation.setBackgroundColor(16777215); + return textFieldAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + // init possible types of annotations + AnnotationInfo textFieldAnnotation = initAnnotationInfo(); + return textFieldAnnotation; + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + // init possible types of annotations + AnnotationInfo textFieldAnnotation = initAnnotationInfo(); + return textFieldAnnotation; + } + + @Override + public AnnotationInfo annotateDiagram() throws ParseException { + // init possible types of annotations + AnnotationInfo textFieldAnnotation = initAnnotationInfo(); + return textFieldAnnotation; + } + + @Override + protected byte getType() { + return AnnotationType.TextField; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java new file mode 100644 index 0000000..bf47edc --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java @@ -0,0 +1,45 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class TextRedactionAnnotator extends TextAnnotator { + + public TextRedactionAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateImage() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateDiagram() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + protected byte getType() { + return AnnotationType.TextRedaction; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java new file mode 100644 index 0000000..4a9026e --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java @@ -0,0 +1,84 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class TextReplacementAnnotator extends AbstractSvgAnnotator { + + public TextReplacementAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + // init possible types of annotations + AnnotationInfo textReplacementAnnotation = initAnnotationInfo(); + return textReplacementAnnotation; + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo textReplacementAnnotation = super.initAnnotationInfo(); + textReplacementAnnotation.setGuid(String.valueOf(annotationData.getId())); + textReplacementAnnotation.setFieldText(annotationData.getText()); + return textReplacementAnnotation; + } + + @Override + protected String buildSvgPath() { + double topPosition = pageData.getHeight() - annotationData.getTop(); + double leftPosition = pageData.getWidth() - annotationData.getLeft(); + double topRightX = annotationData.getLeft() + annotationData.getWidth(); + double bottomRightY = topPosition - annotationData.getHeight(); + return super.getSvgString(topPosition, leftPosition, topRightX, bottomRightY); + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + // init possible types of annotations + AnnotationInfo textReplacementAnnotation = initAnnotationInfo(); + textReplacementAnnotation.setBox(new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight())); + return textReplacementAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateImage() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateDiagram() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + protected Rectangle getBox() { + return new Rectangle(0, 0, 0, 0); + } + + @Override + protected byte getType() { + return AnnotationType.TextReplacement; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java new file mode 100644 index 0000000..3e9cc11 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java @@ -0,0 +1,66 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Point; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * WatermarkAnnotator + * Annotates documents with the watermark annotation + * + * @author Aspose Pty Ltd + */ +public class WatermarkAnnotator extends AbstractTextAnnotator { + + public WatermarkAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + AnnotationInfo watermarkAnnotation = initAnnotationInfo(); + watermarkAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + return watermarkAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + // init possible types of annotations + AnnotationInfo watermarkAnnotation = initAnnotationInfo(); + watermarkAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + return watermarkAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + // init possible types of annotations + AnnotationInfo watermarkAnnotation = initAnnotationInfo(); + return watermarkAnnotation; + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + // init possible types of annotations + AnnotationInfo watermarkAnnotation = initAnnotationInfo(); + return watermarkAnnotation; + } + + @Override + public AnnotationInfo annotateDiagram() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + protected byte getType() { + return AnnotationType.Watermark; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfiguration.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfiguration.java new file mode 100644 index 0000000..55738cb --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfiguration.java @@ -0,0 +1,270 @@ +package com.groupdocs.ui.annotation.config; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.dropwizard.Configuration; +import org.apache.commons.lang3.StringUtils; + +import javax.validation.Valid; + +import static com.groupdocs.ui.common.config.DefaultDirectories.defaultAnnotationDirectory; +import static com.groupdocs.ui.common.config.DefaultDirectories.relativePathToAbsolute; + +/** + * AnnotationConfiguration + * + * @author Aspose Pty Ltd + */ +public class AnnotationConfiguration extends Configuration { + + @Valid + @JsonProperty + private String filesDirectory; + + @Valid + @JsonProperty + private String defaultDocument; + + @Valid + @JsonProperty + private int preloadPageCount; + + @Valid + @JsonProperty + private String fontsDirectory; + + @Valid + @JsonProperty + private boolean textAnnotation; + + @Valid + @JsonProperty + private boolean areaAnnotation; + + @Valid + @JsonProperty + private boolean pointAnnotation; + + @Valid + @JsonProperty + private boolean textStrikeoutAnnotation; + + @Valid + @JsonProperty + private boolean polylineAnnotation; + + @Valid + @JsonProperty + private boolean textFieldAnnotation; + + @Valid + @JsonProperty + private boolean watermarkAnnotation; + + @Valid + @JsonProperty + private boolean textReplacementAnnotation; + + @Valid + @JsonProperty + private boolean arrowAnnotation; + + @Valid + @JsonProperty + private boolean textRedactionAnnotation; + + @Valid + @JsonProperty + private boolean resourcesRedactionAnnotation; + + @Valid + @JsonProperty + private boolean textUnderlineAnnotation; + + @Valid + @JsonProperty + private boolean distanceAnnotation; + + @Valid + @JsonProperty + private boolean downloadOriginal; + + @Valid + @JsonProperty + private boolean downloadAnnotated; + + @Valid + @JsonProperty + private boolean zoom; + + @Valid + @JsonProperty + private boolean fitWidth; + + public String getFilesDirectory() { + return filesDirectory; + } + + public void setFilesDirectory(String filesDirectory) { + this.filesDirectory = StringUtils.isEmpty(filesDirectory) ? defaultAnnotationDirectory() : relativePathToAbsolute(filesDirectory); + } + + public String getDefaultDocument() { + return defaultDocument; + } + + public void setDefaultDocument(String defaultDocument) { + this.defaultDocument = defaultDocument; + } + + public int getPreloadPageCount() { + return preloadPageCount; + } + + public void setPreloadPageCount(int preloadPageCount) { + this.preloadPageCount = preloadPageCount; + } + + public String getFontsDirectory() { + return fontsDirectory; + } + + public void setFontsDirectory(String fontsDirectory) { + this.fontsDirectory = fontsDirectory; + } + + public boolean getTextAnnotation() { + return textAnnotation; + } + + public void setTextAnnotation(boolean textAnnotation) { + this.textAnnotation = textAnnotation; + } + + public boolean getAreaAnnotation() { + return areaAnnotation; + } + + public void setAreaAnnotation(boolean areaAnnotation) { + this.areaAnnotation = areaAnnotation; + } + + public boolean getPointAnnotation() { + return pointAnnotation; + } + + public void setPointAnnotation(boolean pointAnnotation) { + this.pointAnnotation = pointAnnotation; + } + + public boolean getTextStrikeoutAnnotation() { + return textStrikeoutAnnotation; + } + + public void setTextStrikeoutAnnotation(boolean textStrikeoutAnnotation) { + this.textStrikeoutAnnotation = textStrikeoutAnnotation; + } + + public boolean getPolylineAnnotation() { + return polylineAnnotation; + } + + public void setPolylineAnnotation(boolean polylineAnnotation) { + this.polylineAnnotation = polylineAnnotation; + } + + public boolean getTextFieldAnnotation() { + return textFieldAnnotation; + } + + public void setTextFieldAnnotation(boolean textFieldAnnotation) { + this.textFieldAnnotation = textFieldAnnotation; + } + + public boolean getWatermarkAnnotation() { + return watermarkAnnotation; + } + + public void setWatermarkAnnotation(boolean watermarkAnnotation) { + this.watermarkAnnotation = watermarkAnnotation; + } + + public boolean getTextReplacementAnnotation() { + return textReplacementAnnotation; + } + + public void setTextReplacementAnnotation(boolean textReplacementAnnotation) { + this.textReplacementAnnotation = textReplacementAnnotation; + } + + public boolean getArrowAnnotation() { + return arrowAnnotation; + } + + public void setArrowAnnotation(boolean arrowAnnotation) { + this.arrowAnnotation = arrowAnnotation; + } + + public boolean getTextRedactionAnnotation() { + return textRedactionAnnotation; + } + + public void setTextRedactionAnnotation(boolean textRedactionAnnotation) { + this.textRedactionAnnotation = textRedactionAnnotation; + } + + public boolean getResourcesRedactionAnnotation() { + return resourcesRedactionAnnotation; + } + + public void setResourcesRedactionAnnotation(boolean resourcesRedactionAnnotation) { + this.resourcesRedactionAnnotation = resourcesRedactionAnnotation; + } + + public boolean getTextUnderlineAnnotation() { + return textUnderlineAnnotation; + } + + public void setTextUnderlineAnnotation(boolean textUnderlineAnnotation) { + this.textUnderlineAnnotation = textUnderlineAnnotation; + } + + public boolean getDistanceAnnotation() { + return distanceAnnotation; + } + + public void setDistanceAnnotation(boolean distanceAnnotation) { + this.distanceAnnotation = distanceAnnotation; + } + + public boolean getDownloadOriginal() { + return downloadOriginal; + } + + public void setDownloadOriginal(boolean downloadOriginal) { + this.downloadOriginal = downloadOriginal; + } + + public boolean getDownloadAnnotated() { + return downloadAnnotated; + } + + public void setDownloadAnnotated(boolean downloadAnnotated) { + this.downloadAnnotated = downloadAnnotated; + } + + public boolean getZoom() { + return zoom; + } + + public void setZoom(boolean zoom) { + this.zoom = zoom; + } + + public boolean getFitWidth() { + return fitWidth; + } + + public void setFitWidth(boolean fitWidth) { + this.fitWidth = fitWidth; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfigurationModel.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfigurationModel.java new file mode 100644 index 0000000..e71e628 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfigurationModel.java @@ -0,0 +1,289 @@ +package com.groupdocs.ui.annotation.config; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.groupdocs.ui.common.config.CommonConfiguration; +import com.groupdocs.ui.common.config.CommonConfigurationModel; + +import javax.validation.Valid; + +public class AnnotationConfigurationModel extends CommonConfigurationModel { + + @Valid + @JsonProperty + private String filesDirectory; + + @Valid + @JsonProperty + private String defaultDocument; + + @Valid + @JsonProperty + private int preloadPageCount; + + @Valid + @JsonProperty + private String fontsDirectory; + + @Valid + @JsonProperty + private boolean textAnnotation; + + @Valid + @JsonProperty + private boolean areaAnnotation; + + @Valid + @JsonProperty + private boolean pointAnnotation; + + @Valid + @JsonProperty + private boolean textStrikeoutAnnotation; + + @Valid + @JsonProperty + private boolean polylineAnnotation; + + @Valid + @JsonProperty + private boolean textFieldAnnotation; + + @Valid + @JsonProperty + private boolean watermarkAnnotation; + + @Valid + @JsonProperty + private boolean textReplacementAnnotation; + + @Valid + @JsonProperty + private boolean arrowAnnotation; + + @Valid + @JsonProperty + private boolean textRedactionAnnotation; + + @Valid + @JsonProperty + private boolean resourcesRedactionAnnotation; + + @Valid + @JsonProperty + private boolean textUnderlineAnnotation; + + @Valid + @JsonProperty + private boolean distanceAnnotation; + + @Valid + @JsonProperty + private boolean downloadOriginal; + + @Valid + @JsonProperty + private boolean downloadAnnotated; + + @Valid + @JsonProperty + private boolean zoom; + + @Valid + @JsonProperty + private boolean fitWidth; + + public String getFilesDirectory() { + return filesDirectory; + } + + public void setFilesDirectory(String filesDirectory) { + this.filesDirectory = filesDirectory; + } + + public String getDefaultDocument() { + return defaultDocument; + } + + public void setDefaultDocument(String defaultDocument) { + this.defaultDocument = defaultDocument; + } + + public int getPreloadPageCount() { + return preloadPageCount; + } + + public void setPreloadPageCount(int preloadPageCount) { + this.preloadPageCount = preloadPageCount; + } + + public String getFontsDirectory() { + return fontsDirectory; + } + + public void setFontsDirectory(String fontsDirectory) { + this.fontsDirectory = fontsDirectory; + } + + public boolean isTextAnnotation() { + return textAnnotation; + } + + public void setTextAnnotation(boolean textAnnotation) { + this.textAnnotation = textAnnotation; + } + + public boolean isAreaAnnotation() { + return areaAnnotation; + } + + public void setAreaAnnotation(boolean areaAnnotation) { + this.areaAnnotation = areaAnnotation; + } + + public boolean isPointAnnotation() { + return pointAnnotation; + } + + public void setPointAnnotation(boolean pointAnnotation) { + this.pointAnnotation = pointAnnotation; + } + + public boolean isTextStrikeoutAnnotation() { + return textStrikeoutAnnotation; + } + + public void setTextStrikeoutAnnotation(boolean textStrikeoutAnnotation) { + this.textStrikeoutAnnotation = textStrikeoutAnnotation; + } + + public boolean isPolylineAnnotation() { + return polylineAnnotation; + } + + public void setPolylineAnnotation(boolean polylineAnnotation) { + this.polylineAnnotation = polylineAnnotation; + } + + public boolean isTextFieldAnnotation() { + return textFieldAnnotation; + } + + public void setTextFieldAnnotation(boolean textFieldAnnotation) { + this.textFieldAnnotation = textFieldAnnotation; + } + + public boolean isWatermarkAnnotation() { + return watermarkAnnotation; + } + + public void setWatermarkAnnotation(boolean watermarkAnnotation) { + this.watermarkAnnotation = watermarkAnnotation; + } + + public boolean isTextReplacementAnnotation() { + return textReplacementAnnotation; + } + + public void setTextReplacementAnnotation(boolean textReplacementAnnotation) { + this.textReplacementAnnotation = textReplacementAnnotation; + } + + public boolean isArrowAnnotation() { + return arrowAnnotation; + } + + public void setArrowAnnotation(boolean arrowAnnotation) { + this.arrowAnnotation = arrowAnnotation; + } + + public boolean isTextRedactionAnnotation() { + return textRedactionAnnotation; + } + + public void setTextRedactionAnnotation(boolean textRedactionAnnotation) { + this.textRedactionAnnotation = textRedactionAnnotation; + } + + public boolean isResourcesRedactionAnnotation() { + return resourcesRedactionAnnotation; + } + + public void setResourcesRedactionAnnotation(boolean resourcesRedactionAnnotation) { + this.resourcesRedactionAnnotation = resourcesRedactionAnnotation; + } + + public boolean isTextUnderlineAnnotation() { + return textUnderlineAnnotation; + } + + public void setTextUnderlineAnnotation(boolean textUnderlineAnnotation) { + this.textUnderlineAnnotation = textUnderlineAnnotation; + } + + public boolean isDistanceAnnotation() { + return distanceAnnotation; + } + + public void setDistanceAnnotation(boolean distanceAnnotation) { + this.distanceAnnotation = distanceAnnotation; + } + + public boolean isDownloadOriginal() { + return downloadOriginal; + } + + public void setDownloadOriginal(boolean downloadOriginal) { + this.downloadOriginal = downloadOriginal; + } + + public boolean isDownloadAnnotated() { + return downloadAnnotated; + } + + public void setDownloadAnnotated(boolean downloadAnnotated) { + this.downloadAnnotated = downloadAnnotated; + } + + public boolean isZoom() { + return zoom; + } + + public void setZoom(boolean zoom) { + this.zoom = zoom; + } + + public boolean isFitWidth() { + return fitWidth; + } + + public void setFitWidth(boolean fitWidth) { + this.fitWidth = fitWidth; + } + + public static AnnotationConfigurationModel createAnnotationConfiguration(AnnotationConfiguration annotation, CommonConfiguration common) { + AnnotationConfigurationModel config = new AnnotationConfigurationModel(); + config.init(common); + config.setFilesDirectory(annotation.getFilesDirectory()); + config.setDefaultDocument(annotation.getDefaultDocument()); + config.setPreloadPageCount(annotation.getPreloadPageCount()); + config.setFontsDirectory(annotation.getFontsDirectory()); + config.setTextAnnotation(annotation.getTextAnnotation()); + config.setAreaAnnotation(annotation.getAreaAnnotation()); + config.setPointAnnotation(annotation.getPointAnnotation()); + config.setTextStrikeoutAnnotation(annotation.getTextStrikeoutAnnotation()); + config.setPolylineAnnotation(annotation.getPolylineAnnotation()); + config.setTextFieldAnnotation(annotation.getTextFieldAnnotation()); + config.setTextReplacementAnnotation(annotation.getTextReplacementAnnotation()); + config.setTextRedactionAnnotation(annotation.getTextRedactionAnnotation()); + config.setTextUnderlineAnnotation(annotation.getTextUnderlineAnnotation()); + config.setWatermarkAnnotation(annotation.getWatermarkAnnotation()); + config.setArrowAnnotation(annotation.getArrowAnnotation()); + config.setDistanceAnnotation(annotation.getDistanceAnnotation()); + config.setResourcesRedactionAnnotation(annotation.getResourcesRedactionAnnotation()); + config.setZoom(annotation.getZoom()); + config.setFitWidth(annotation.getFitWidth()); + config.setDownloadOriginal(annotation.getDownloadOriginal()); + config.setDownloadAnnotated(annotation.getDownloadAnnotated()); + return config; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/request/AnnotateDocumentRequest.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/request/AnnotateDocumentRequest.java new file mode 100644 index 0000000..3a005b9 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/request/AnnotateDocumentRequest.java @@ -0,0 +1,49 @@ +package com.groupdocs.ui.annotation.entity.request; + +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.common.entity.web.request.LoadDocumentRequest; + +/** + * AnnotateDocumentRequest + * + * @author Aspose Pty Ltd + */ +public class AnnotateDocumentRequest extends LoadDocumentRequest { + /** + * List of annotation data + */ + private AnnotationDataEntity[] annotationsData; + /** + * Document type + */ + private String documentType; + + /** + * For print annotated file + */ + private Boolean print; + + public AnnotationDataEntity[] getAnnotationsData() { + return annotationsData; + } + + public void setAnnotationsData(AnnotationDataEntity[] annotationsData) { + this.annotationsData = annotationsData; + } + + public String getDocumentType() { + return documentType; + } + + public void setDocumentType(String documentType) { + this.documentType = documentType; + } + + public Boolean getPrint() { + return print; + } + + public void setPrint(Boolean print) { + this.print = print; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java new file mode 100644 index 0000000..f3cd1ba --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java @@ -0,0 +1,47 @@ +package com.groupdocs.ui.annotation.entity.web; + +import java.util.List; + +/** + * AnnotatedDocumentEntity + * + * @author Aspose Pty Ltd + */ +public class AnnotatedDocumentEntity { + /** + * Document Guid + */ + private String guid; + /** + * List of supported types of annotations + */ + public String[] supportedAnnotations; + /** + * list of pages + */ + private List pages; + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public String[] getSupportedAnnotations() { + return supportedAnnotations; + } + + public void setSupportedAnnotations(String[] supportedAnnotations) { + this.supportedAnnotations = supportedAnnotations; + } + + public List getPages() { + return pages; + } + + public void setPages(List pages) { + this.pages = pages; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java new file mode 100644 index 0000000..0d8203c --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java @@ -0,0 +1,177 @@ +package com.groupdocs.ui.annotation.entity.web; + +/** + * AnnotationDataEntity + * + * @author Aspose Pty Ltd + */ +public class AnnotationDataEntity { + /** + * Annotation Id + */ + private Integer id; + /** + * The number of page in document + */ + private Integer pageNumber; + /** + * The size of font of annotation + */ + private Double fontSize; + /** + * Annotation position. Left position. + */ + private double left; + /** + * Annotation position. Top position. + */ + private double top; + /** + * Annotation position. Width of annotation. + */ + private double width; + /** + * Annotation position. Height of annotation. + */ + private double height; + /** + * SVG path + */ + private String svgPath; + /** + * The type of annotation (text, watermark, ect) + */ + private String type; + /** + * Annotation text + */ + private String text; + /** + * The annotation font + */ + private String font; + /** + * List of comments in annotation + */ + private CommentsEntity[] comments; + /** + * Imported annotations + */ + private boolean imported; + /** + * font color + */ + private Integer fontColor; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getPageNumber() { + return pageNumber; + } + + public void setPageNumber(Integer pageNumber) { + this.pageNumber = pageNumber; + } + + public Double getFontSize() { + return fontSize; + } + + public void setFontSize(Double fontSize) { + this.fontSize = fontSize; + } + + public double getLeft() { + return left; + } + + public void setLeft(double left) { + this.left = left; + } + + public double getTop() { + return top; + } + + public void setTop(double top) { + this.top = top; + } + + public double getWidth() { + return width; + } + + public void setWidth(double width) { + this.width = width; + } + + public double getHeight() { + return height; + } + + public void setHeight(double height) { + this.height = height; + } + + public String getSvgPath() { + return svgPath; + } + + public void setSvgPath(String svgPath) { + this.svgPath = svgPath; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public CommentsEntity[] getComments() { + return comments; + } + + public void setComments(CommentsEntity[] comments) { + this.comments = comments; + } + + public boolean isImported() { + return imported; + } + + public void setImported(boolean imported) { + this.imported = imported; + } + + public Integer getFontColor() { + return fontColor; + } + + public void setFontColor(Integer fontColor) { + this.fontColor = fontColor; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java new file mode 100644 index 0000000..ee1ee48 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java @@ -0,0 +1,20 @@ +package com.groupdocs.ui.annotation.entity.web; + +import com.groupdocs.ui.common.entity.web.PageDescriptionEntity; + +public class AnnotationPageDescriptionEntity extends PageDescriptionEntity { + + /** + * List of annotation data + */ + private AnnotationDataEntity[] annotations; + + public AnnotationDataEntity[] getAnnotations() { + return annotations; + } + + public void setAnnotations(AnnotationDataEntity[] annotations) { + this.annotations = annotations; + } + +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/CommentsEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/CommentsEntity.java new file mode 100644 index 0000000..30fd005 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/CommentsEntity.java @@ -0,0 +1,45 @@ +package com.groupdocs.ui.annotation.entity.web; + +/** + * CommentsEntity + * + * @author Aspose Pty Ltd + */ +public class CommentsEntity { + private Integer id; + private String time; + private String text; + private String userName; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getTime() { + return time; + } + + public void setTime(String time) { + this.time = time; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java new file mode 100644 index 0000000..2667c1a --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java @@ -0,0 +1,38 @@ +package com.groupdocs.ui.annotation.importer; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.handler.AnnotationImageHandler; + +import java.io.InputStream; + +/** + * Importer + * + * @author Aspose Pty Ltd + */ +public class Importer { + protected InputStream documentStream; + protected AnnotationImageHandler annotator; + + /** + * Constructor + * + * @param documentStream + */ + public Importer(InputStream documentStream, AnnotationImageHandler annotator) { + this.documentStream = documentStream; + this.annotator = annotator; + } + + /** + * Import the annotations from document + * + * @param docType the type of document + * @return AnnotationInfo[] list of annotations + */ + public AnnotationInfo[] importAnnotations(int docType) { + AnnotationInfo[] annotations = annotator.importAnnotations(documentStream, docType); + return annotations; + } + +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/resources/AnnotationResources.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/resources/AnnotationResources.java new file mode 100644 index 0000000..e2bb921 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/resources/AnnotationResources.java @@ -0,0 +1,482 @@ +package com.groupdocs.ui.annotation.resources; + +import com.google.common.collect.Lists; +import com.groupdocs.annotation.common.exception.AnnotatorException; +import com.groupdocs.annotation.common.license.License; +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.FileDescription; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.config.AnnotationConfig; +import com.groupdocs.annotation.domain.containers.DocumentInfoContainer; +import com.groupdocs.annotation.domain.containers.FileTreeContainer; +import com.groupdocs.annotation.domain.image.PageImage; +import com.groupdocs.annotation.domain.options.FileTreeOptions; +import com.groupdocs.annotation.domain.options.ImageOptions; +import com.groupdocs.annotation.handler.AnnotationImageHandler; +import com.groupdocs.ui.annotation.annotator.AnnotatorFactory; +import com.groupdocs.ui.annotation.config.AnnotationConfigurationModel; +import com.groupdocs.ui.annotation.entity.request.AnnotateDocumentRequest; +import com.groupdocs.ui.annotation.entity.web.AnnotatedDocumentEntity; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.AnnotationPageDescriptionEntity; +import com.groupdocs.ui.annotation.importer.Importer; +import com.groupdocs.ui.annotation.util.AnnotationMapper; +import com.groupdocs.ui.annotation.util.SupportedAnnotations; +import com.groupdocs.ui.annotation.util.directory.DirectoryUtils; +import com.groupdocs.ui.annotation.views.Annotation; +import com.groupdocs.ui.common.config.GlobalConfiguration; +import com.groupdocs.ui.common.entity.web.FileDescriptionEntity; +import com.groupdocs.ui.common.entity.web.UploadedDocumentEntity; +import com.groupdocs.ui.common.entity.web.request.FileTreeRequest; +import com.groupdocs.ui.common.entity.web.request.LoadDocumentPageRequest; +import com.groupdocs.ui.common.entity.web.request.LoadDocumentRequest; +import com.groupdocs.ui.common.exception.TotalGroupDocsException; +import com.groupdocs.ui.common.resources.Resources; +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; +import org.glassfish.jersey.media.multipart.FormDataContentDisposition; +import org.glassfish.jersey.media.multipart.FormDataParam; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.*; +import javax.ws.rs.core.Context; +import java.io.*; +import java.net.UnknownHostException; +import java.util.*; + +import static com.groupdocs.ui.annotation.util.DocumentTypesConverter.getDocumentType; +import static javax.ws.rs.core.MediaType.*; + +/** + * AnnotationResources + * + * @author Aspose Pty Ltd + */ + +@Path(value = "/annotation") +public class AnnotationResources extends Resources { + private static final Logger logger = LoggerFactory.getLogger(AnnotationResources.class); + + private final AnnotationImageHandler annotationImageHandler; + private DirectoryUtils directoryUtils; + private String[] supportedImageFormats = {"bmp", "jpeg", "jpg", "tiff", "tif", "png", "gif", "emf", "wmf", "dwg", "dicom", "djvu"}; + private static final List supportedDiagramFormats = Lists.newArrayList(".vsd", ".vdx", ".vss", ".vsx", ".vst", ".vtx", ".vsdx", ".vdw", ".vstx", ".vssx"); + + /** + * Constructor + * + * @param globalConfiguration global configuration object + * @throws UnknownHostException + */ + public AnnotationResources(GlobalConfiguration globalConfiguration) throws UnknownHostException { + super(globalConfiguration); + + // create annotation directories + directoryUtils = new DirectoryUtils(globalConfiguration.getAnnotation()); + + // create annotation application configuration + AnnotationConfig config = new AnnotationConfig(); + // set storage path + config.setStoragePath(directoryUtils.getFilesDirectory().getPath()); + // set directory to store annotated documents + config.getFontDirectories().add(globalConfiguration.getAnnotation().getFontsDirectory()); + try { + // set GroupDocs license + License license = new License(); + license.setLicense(globalConfiguration.getApplication().getLicensePath()); + } catch (Throwable exc) { + logger.error("Can not verify Annotation license!"); + } + // initialize total instance for the Image mode + annotationImageHandler = new AnnotationImageHandler(config); + } + + /** + * Get and set annotation page + * + * @return html view + */ + @GET + public Annotation getView() { + // initiate index page + return new Annotation(globalConfiguration, DEFAULT_CHARSET); + } + + @GET + @Path(value = "/loadConfig") + @Produces(APPLICATION_JSON) + public AnnotationConfigurationModel loadConfig() { + return AnnotationConfigurationModel.createAnnotationConfiguration(globalConfiguration.getAnnotation(), globalConfiguration.getCommon()); + } + + /** + * Get files and directories + * + * @param fileTreeRequest request's object with specified path + * @return files and directories list + */ + @POST + @Path(value = "/loadFileTree") + @Produces(APPLICATION_JSON) + @Consumes(APPLICATION_JSON) + public List loadFileTree(FileTreeRequest fileTreeRequest) { + String relDirPath = fileTreeRequest.getPath(); + // get file list from storage path + FileTreeOptions fileListOptions = new FileTreeOptions(relDirPath); + // get temp directory name + String tempDirectoryName = new com.groupdocs.annotation.domain.config.AnnotationConfig().getTempFolderName(); + try { + FileTreeContainer fileListContainer = annotationImageHandler.loadFileTree(fileListOptions); + + ArrayList fileList = new ArrayList<>(); + // parse files/folders list + for (FileDescription fd : fileListContainer.getFileTree()) { + FileDescriptionEntity fileDescription = new FileDescriptionEntity(); + fileDescription.setGuid(fd.getGuid()); + // check if current file/folder is temp directory or is hidden + if (tempDirectoryName.toLowerCase().equals(fd.getName()) || new File(fileDescription.getGuid()).isHidden()) { + // ignore current file and skip to next one + continue; + } else { + // set file/folder name + fileDescription.setName(fd.getName()); + } + // set file type + fileDescription.setDocType(fd.getDocumentType()); + // set is directory true/false + fileDescription.setDirectory(fd.isDirectory()); + // set file size + fileDescription.setSize(fd.getSize()); + // add object to array list + fileList.add(fileDescription); + } + return fileList; + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + + /** + * Get document description + * + * @return document description + */ + @POST + @Path(value = "/loadDocumentDescription") + @Produces(APPLICATION_JSON) + @Consumes(APPLICATION_JSON) + public AnnotatedDocumentEntity loadDocumentDescription(LoadDocumentRequest loadDocumentRequest) { + try { + // get/set parameters + String documentGuid = loadDocumentRequest.getGuid(); + String password = loadDocumentRequest.getPassword(); + ImageOptions imageOptions = new ImageOptions(); + // set password for protected document + if (!StringUtils.isEmpty(password)) { + imageOptions.setPassword(password); + } + // get document info container + String fileName = FilenameUtils.getName(documentGuid); + DocumentInfoContainer documentDescription = annotationImageHandler.getDocumentInfo(fileName, password); + + String fileExtension = StringUtils.lowerCase(FilenameUtils.getExtension(documentGuid)); + String documentType = getCheckedDocumentType(documentDescription.getDocumentType(), fileExtension); + // check if document contains annotations + AnnotationInfo[] annotations = getAnnotations(documentGuid, documentType); + // initiate pages description list + List pageImages = null; + if (globalConfiguration.getAnnotation().getPreloadPageCount() == 0) { + pageImages = annotationImageHandler.getPages(fileName, imageOptions); + } + String[] supportedAnnotations = SupportedAnnotations.getSupportedAnnotations(documentType); + // initiate custom Document description object + AnnotatedDocumentEntity description = new AnnotatedDocumentEntity(); + description.setGuid(documentGuid); + description.setSupportedAnnotations(supportedAnnotations); + // initiate pages description list + List pages = documentDescription.getPages(); + List pagesDescriptions = new ArrayList<>(pages.size()); + // get info about each document page + for (int i = 0; i < pages.size(); i++) { + PageData pageData = pages.get(i); + // set current page info for result + PageImage pageImage = pageImages != null ? pageImages.get(i) : null; + AnnotationPageDescriptionEntity page = getAnnotationPageDescriptionEntity(pageData, pageImage); + // set annotations data if document page contains annotations + if (annotations != null && annotations.length > 0) { + page.setAnnotations(AnnotationMapper.instance.mapForPage(annotations, page.getNumber())); + } + pagesDescriptions.add(page); + } + description.setPages(pagesDescriptions); + // return document description + return description; + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + + private AnnotationPageDescriptionEntity getAnnotationPageDescriptionEntity(PageData pageData, PageImage pageImage) throws IOException { + AnnotationPageDescriptionEntity page = new AnnotationPageDescriptionEntity(); + page.setHeight(pageData.getHeight()); + page.setWidth(pageData.getWidth()); + page.setNumber(pageData.getNumber()); + + if (pageImage != null) { + byte[] bytes = IOUtils.toByteArray(pageImage.getStream()); + String encodedImage = Base64.getEncoder().encodeToString(bytes); + page.setData(encodedImage); + } + return page; + } + + private String getCheckedDocumentType(String documentType, String fileExtension) { + // check if document type is image + if (Arrays.asList(supportedImageFormats).contains(fileExtension)) { + documentType = "image"; + } else if (Arrays.asList(supportedDiagramFormats).contains(fileExtension)) { + documentType = "diagram"; + } + return documentType; + } + + /** + * Get document page + * + * @return document page + */ + @POST + @Path(value = "/loadDocumentPage") + @Produces(APPLICATION_JSON) + @Consumes(APPLICATION_JSON) + public AnnotationPageDescriptionEntity loadDocumentPage(LoadDocumentPageRequest loadDocumentPageRequest) { + try { + // get/set parameters + String documentGuid = loadDocumentPageRequest.getGuid(); + int pageNumber = loadDocumentPageRequest.getPage(); + String password = loadDocumentPageRequest.getPassword(); + // set options + ImageOptions imageOptions = new ImageOptions(); + imageOptions.setPageNumber(pageNumber); + imageOptions.setCountPagesToConvert(1); + // set password for protected document + if (!password.isEmpty()) { + imageOptions.setPassword(password); + } + InputStream document = new FileInputStream(documentGuid); + List images = annotationImageHandler.getPages(document, imageOptions); + String fileName = FilenameUtils.getName(documentGuid); + DocumentInfoContainer documentDescription = annotationImageHandler.getDocumentInfo(fileName, password); + PageData pageData = documentDescription.getPages().get(pageNumber - 1); + + AnnotationPageDescriptionEntity page = getAnnotationPageDescriptionEntity(pageData, images.get(0)); + + // return loaded page object + return page; + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + + /** + * Download document + * + * @param documentGuid path to document parameter + * @param response + */ + @GET + @Path(value = "/downloadDocument") + @Produces(APPLICATION_OCTET_STREAM) + public void downloadDocument(@QueryParam("path") String documentGuid, + @Context HttpServletResponse response) { + // download the file + downloadFile(response, documentGuid); + } + + /** + * Upload document + * + * @param inputStream file content + * @param fileDetail file description + * @param documentUrl url for document + * @param rewrite flag for rewriting file + * @return uploaded document object (the object contains uploaded document guid) + */ + @POST + @Path(value = "/uploadDocument") + @Produces(APPLICATION_JSON) + @Consumes(MULTIPART_FORM_DATA) + public UploadedDocumentEntity uploadDocument(@FormDataParam("file") InputStream inputStream, + @FormDataParam("file") FormDataContentDisposition fileDetail, + @FormDataParam("url") String documentUrl, + @FormDataParam("rewrite") Boolean rewrite) { + // upload file + String pathname = uploadFile(documentUrl, inputStream, fileDetail, rewrite, null); + // create response + UploadedDocumentEntity uploadedDocument = new UploadedDocumentEntity(); + uploadedDocument.setGuid(pathname); + return uploadedDocument; + + } + + @Override + protected String getStoragePath(Map params) { + return globalConfiguration.getAnnotation().getFilesDirectory(); + } + + /** + * Annotate document + * + * @param annotateDocumentRequest + * @return annotated document info + */ + @POST + @Path(value = "/annotate") + @Produces(APPLICATION_JSON) + @Consumes(APPLICATION_JSON) + public AnnotatedDocumentEntity annotate(AnnotateDocumentRequest annotateDocumentRequest) { + AnnotatedDocumentEntity annotatedDocument = new AnnotatedDocumentEntity(); + try { + String documentGuid = annotateDocumentRequest.getGuid(); + String documentType = getCheckedDocumentType(annotateDocumentRequest.getDocumentType(), FilenameUtils.getExtension(documentGuid)); + List annotations = getAnnotationInfos(annotateDocumentRequest, documentType); + + InputStream file = annotateDocument(documentGuid, documentType, annotations); + if (annotateDocumentRequest.getPrint()) { + List annotatedPages = getAnnotatedPages(annotateDocumentRequest.getPassword(), file); + annotatedDocument.setPages(annotatedPages); + } else { + try (OutputStream fileStream = new FileOutputStream(documentGuid)) { + IOUtils.copyLarge(file, fileStream); + annotatedDocument.setGuid(documentGuid); + } + } + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + return annotatedDocument; + } + + private InputStream annotateDocument(String documentGuid, String documentType, List annotations) throws FileNotFoundException { + InputStream file = annotationImageHandler.removeAnnotationStream(new FileInputStream(documentGuid)); + // check if annotations array contains at least one annotation to add + if (annotations.size() > 0) { + // Add annotation to the document + int type = getDocumentType(documentType); + return annotationImageHandler.exportAnnotationsToDocument(file, annotations, type); + } + return file; + } + + private List getAnnotationInfos(AnnotateDocumentRequest annotateDocumentRequest, String documentType) { + AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); + // get document info - required to get document page height and calculate annotation top position + DocumentInfoContainer documentInfo = annotationImageHandler.getDocumentInfo(new File(annotateDocumentRequest.getGuid()).getName(), annotateDocumentRequest.getPassword()); + List annotations = new ArrayList<>(); + for (AnnotationDataEntity annotationData : annotationsData) { + // create annotator + PageData pageData = documentInfo.getPages().get(annotationData.getPageNumber() - 1); + // add annotation, if current annotation type isn't supported by the current document type it will be ignored + try { + annotations.add(AnnotatorFactory.createAnnotator(annotationData, pageData).getAnnotationInfo(documentType)); + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + return annotations; + } + + /** + * Annotate document with annotations and download result without saving + * + * @return annotated document info + */ + @POST + @Path(value = "/downloadAnnotated") + @Consumes(APPLICATION_JSON) + public void downloadAnnotated(AnnotateDocumentRequest annotateDocumentRequest, @Context HttpServletResponse response) { + AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); + if (annotationsData == null || annotationsData.length == 0) { + throw new IllegalArgumentException("Annotations data is empty"); + } + + // get document path + String fileName = FilenameUtils.getName(annotateDocumentRequest.getGuid()); + // set response content info + fillResponseHeaderDisposition(response, fileName); + + long length; + try (InputStream inputStream = annotateByStream(annotateDocumentRequest); + ServletOutputStream outputStream = response.getOutputStream()) { + // download the document + length = IOUtils.copyLarge(inputStream, outputStream); + } catch (Exception ex) { + logger.error("Exception in downloading document", ex); + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + + addFileDownloadHeaders(response, fileName, length); + } + + private InputStream annotateByStream(AnnotateDocumentRequest annotateDocumentRequest) { + String documentGuid = annotateDocumentRequest.getGuid(); + String documentType = getCheckedDocumentType(annotateDocumentRequest.getDocumentType(), FilenameUtils.getExtension(documentGuid)); + List annotations = getAnnotationInfos(annotateDocumentRequest, documentType); + try { + return annotateDocument(documentGuid, documentType, annotations); + } catch (FileNotFoundException ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + + /** + * Get pages images of annotated file + * + * @param password password for the file + * @param inputStream stream of annotated file + * @return list of pages + * @throws IOException + */ + protected List getAnnotatedPages(String password, InputStream inputStream) throws IOException { + ImageOptions imageOptions = new ImageOptions(); + // set password for protected document + if (!password.isEmpty()) { + imageOptions.setPassword(password); + } + List pages = annotationImageHandler.getPages(inputStream, imageOptions); + List pagesDescriptions = new ArrayList<>(pages.size()); + for (PageImage pageImage : pages) { + byte[] bytes = IOUtils.toByteArray(pageImage.getStream()); + String encodedImage = Base64.getEncoder().encodeToString(bytes); + AnnotationPageDescriptionEntity page = new AnnotationPageDescriptionEntity(); + page.setData(encodedImage); + + pagesDescriptions.add(page); + } + return pagesDescriptions; + } + + /** + * Get all annotations from the document + * + * @param documentGuid + * @param documentType + * @return array of the annotations + */ + private AnnotationInfo[] getAnnotations(String documentGuid, String documentType) { + try (FileInputStream documentStream = new FileInputStream(documentGuid)) { + int docType = getDocumentType(documentType); + return new Importer(documentStream, annotationImageHandler).importAnnotations(docType); + } catch (AnnotatorException annotatorException) { + logger.error("Exception while extract annotations from file {}: {}", FilenameUtils.getName(documentGuid), annotatorException.getCause().getLocalizedMessage()); + return new AnnotationInfo[0]; + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java new file mode 100644 index 0000000..d107c29 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java @@ -0,0 +1,93 @@ +package com.groupdocs.ui.annotation.util; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationReplyInfo; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.CommentsEntity; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; + +/** + * Mapper for annotation entities + */ +public class AnnotationMapper { + /** + * Instance of mapper + */ + public static final AnnotationMapper instance = new AnnotationMapper(); + + private AnnotationMapper() { + } + + /** + * Map AnnotationInfo instances into AnnotationDataEntity + * + * @param annotations list of AnnotationInfo instances + * @param pageNumber number of page for mapping + * @return list of AnnotationDataEntity instances + */ + public AnnotationDataEntity[] mapForPage(AnnotationInfo[] annotations, int pageNumber) { + // initiate annotations data array + List pageAnnotations = new ArrayList<>(); + // set each annotation data - this functionality used since annotations data returned by the + // GroupDocs.Annotation library are obfuscated + for (int n = 0; n < annotations.length; n++) { + AnnotationInfo annotationInfo = annotations[n]; + if(pageNumber == annotationInfo.getPageNumber() + 1) { + AnnotationDataEntity annotation = mapAnnotationDataEntity(annotationInfo); + pageAnnotations.add(annotation); + } + } + AnnotationDataEntity[] ret = new AnnotationDataEntity[pageAnnotations.size()]; + return pageAnnotations.toArray(ret); + } + + /** + * Map AnnotationInfo instances into AnnotationDataEntity + * + * @param annotationInfo AnnotationInfo instance + * @return AnnotationDataEntity instance + */ + public AnnotationDataEntity mapAnnotationDataEntity(AnnotationInfo annotationInfo) { + AnnotationDataEntity annotation = new AnnotationDataEntity(); + annotation.setFont(annotationInfo.getFontFamily()); + annotation.setFontColor(annotationInfo.getFontColor()); + annotation.setFontSize(annotationInfo.getFontSize()); + Rectangle box = annotationInfo.getBox(); + annotation.setHeight(box.getHeight()); + annotation.setLeft(box.getX()); + annotation.setTop(box.getY()); + annotation.setWidth(box.getWidth()); + annotation.setPageNumber(annotationInfo.getPageNumber() + 1); + if (annotationInfo.getSvgPath() != null) { + annotation.setSvgPath(annotationInfo.getSvgPath().replace("l", "L")); + } + String text = (annotationInfo.getText() == null) ? annotationInfo.getFieldText() : annotationInfo.getText(); + annotation.setText(text); + annotation.setType(AnnotationTypes.instance.getAnnotationType(annotationInfo.getType())); + setReplies(annotationInfo, annotation); + return annotation; + } + + public void setReplies(AnnotationInfo annotationInfo, AnnotationDataEntity annotation) { + // set each reply data + AnnotationReplyInfo[] replies = annotationInfo.getReplies(); + if (replies != null && replies.length > 0) { + CommentsEntity[] comments = new CommentsEntity[replies.length]; + for (int m = 0; m < replies.length; m++) { + CommentsEntity comment = new CommentsEntity(); + AnnotationReplyInfo reply = replies[m]; + comment.setText(reply.getMessage()); + DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); + comment.setTime(format.format(reply.getRepliedOn())); + comment.setUserName(reply.getUserName()); + comments[m] = comment; + } + annotation.setComments(comments); + } + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationTypes.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationTypes.java new file mode 100644 index 0000000..6793ba5 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationTypes.java @@ -0,0 +1,57 @@ +package com.groupdocs.ui.annotation.util; + +import java.util.HashMap; +import java.util.Map; + +/** + * AnnotationTypes + * Contains all annotations types + * + * @author Aspose Pty Ltd + */ +public class AnnotationTypes { + + /** + * Map annotation types from byte into string + */ + private static final Map types = new HashMap<>(); + + // init map values + { + types.put((byte) 0, "text"); + types.put((byte) 1, "area"); + types.put((byte) 2, "point"); + types.put((byte) 3, "textStrikeout"); + types.put((byte) 4, "polyline"); + types.put((byte) 5, "textField"); + types.put((byte) 6, "watermark"); + types.put((byte) 7, "textReplacement"); + types.put((byte) 8, "arrow"); + types.put((byte) 9, "textRedaction"); + types.put((byte) 10, "resourcesRedaction"); + types.put((byte) 11, "textUnderline"); + types.put((byte) 12, "distance"); + } + + /** + * Instance of AnnotationTypes + */ + public static final AnnotationTypes instance = new AnnotationTypes(); + + /** + * Private constructor, for using only in this class + */ + private AnnotationTypes() { + } + + /** + * Get string value of annotation type + * + * @param type byte value of annotation type + * @return string value of annotation type + */ + public String getAnnotationType(byte type) { + return types.get(type); + } +} + diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java new file mode 100644 index 0000000..9475c67 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java @@ -0,0 +1,38 @@ +package com.groupdocs.ui.annotation.util; + +import com.groupdocs.annotation.domain.DocumentType; + +/** + * Converter for document types + */ +public class DocumentTypesConverter { + /** + * Convert document type from string into int + * + * @param documentType string value of document type + * @return int doc type + */ + public static final int getDocumentType(String documentType) { + switch (documentType) { + case "Portable Document Format": + case "PDF": + return DocumentType.Pdf; + case "Microsoft Word": + case "WORDS": + return DocumentType.Words; + case "Microsoft PowerPoint": + case "SLIDES": + return DocumentType.Slides; + case "image": + return DocumentType.Images; + case "Microsoft Excel": + case "CELLS": + return DocumentType.Cells; + case "AutoCAD Drawing File Format": + case "diagram": + return DocumentType.Diagram; + default: + return DocumentType.Undefined; + } + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java new file mode 100644 index 0000000..104ba4c --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java @@ -0,0 +1,100 @@ +package com.groupdocs.ui.annotation.util; + +/** + * The list of supported annotation types for each document type + */ +public class SupportedAnnotations { + public static String[] CELLS = { + "text" + }; + public static String[] DIAGRAM = { + "area", + "point", + "polyline", + "textField", + "arrow", + "textRedaction", + "resourcesRedaction", + "distance" + }; + public static String[] WORD = { + "point", + "textStrikeout", + "polyline", + "textField", + "watermark", + "textReplacement", + "arrow", + "textRedaction", + "resourcesRedaction", + "textUnderline", + "distance", + "text" + }; + public static String[] PDF = { + "area", + "point", + "textStrikeout", + "polyline", + "textField", + "watermark", + "textReplacement", + "arrow", + "textRedaction", + "resourcesRedaction", + "textUnderline", + "distance", + "text" + }; + public static String[] IMAGE = { + "area", + "point", + "textStrikeout", + "polyline", + "textField", + "watermark", + "arrow", + "textRedaction", + "resourcesRedaction", + "textUnderline", + "distance", + "text" + }; + public static String[] SLIDES = { + "area", + "point", + "textStrikeout", + "polyline", + "textField", + "watermark", + "arrow", + "textRedaction", + "resourcesRedaction", + "textUnderline", + "text" + }; + + public static String[] getSupportedAnnotations(String documentType) { + switch (documentType) { + case "Portable Document Format": + case "PDF": + return PDF; + case "Microsoft Word": + case "WORDS": + return WORD; + case "Microsoft PowerPoint": + case "SLIDES": + return SLIDES; + case "image": + return IMAGE; + case "Microsoft Excel": + case "CELLS": + return CELLS; + case "AutoCAD Drawing File Format": + case "diagram": + return DIAGRAM; + default: + return PDF; + } + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/directory/DirectoryUtils.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/directory/DirectoryUtils.java new file mode 100644 index 0000000..6025fe0 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/directory/DirectoryUtils.java @@ -0,0 +1,28 @@ +package com.groupdocs.ui.annotation.util.directory; + +import com.groupdocs.ui.annotation.config.AnnotationConfiguration; + +/** + * DirectoryUtils + * Compare and sort file types - folders first + * @author Aspose Pty Ltd + */ +public class DirectoryUtils { + private FilesDirectoryUtils filesDirectory; + + /** + * Constructor + * @param annotationConfiguration + */ + public DirectoryUtils(AnnotationConfiguration annotationConfiguration){ + filesDirectory = new FilesDirectoryUtils(annotationConfiguration); + } + + /** + * Get files directory - path where all documents for signing are stored + * @return FilesDirectoryUtils + */ + public FilesDirectoryUtils getFilesDirectory() { + return filesDirectory; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/directory/FilesDirectoryUtils.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/directory/FilesDirectoryUtils.java new file mode 100644 index 0000000..160c080 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/directory/FilesDirectoryUtils.java @@ -0,0 +1,30 @@ +package com.groupdocs.ui.annotation.util.directory; + +import com.groupdocs.ui.annotation.config.AnnotationConfiguration; + +/** + * FilesDirectoryUtils + * Compare and sort file types - folders first + * @author Aspose Pty Ltd + */ +public class FilesDirectoryUtils implements IDirectoryUtils { + private AnnotationConfiguration annotationConfiguration; + + /** + * Constructor + * @param annotationConfiguration + */ + public FilesDirectoryUtils(AnnotationConfiguration annotationConfiguration){ + this.annotationConfiguration = annotationConfiguration; + } + + /** + * Get path for files directory + * @return path of the files directory + */ + @Override + public String getPath() { + return annotationConfiguration.getFilesDirectory(); + } + +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/directory/IDirectoryUtils.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/directory/IDirectoryUtils.java new file mode 100644 index 0000000..3bfe9d9 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/directory/IDirectoryUtils.java @@ -0,0 +1,11 @@ +package com.groupdocs.ui.annotation.util.directory; + +/** + * IDirectoryUtils + * Compare and sort file types - folders first + * @author Aspose Pty Ltd + */ +public interface IDirectoryUtils { + + String getPath(); +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/views/Annotation.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/views/Annotation.java new file mode 100644 index 0000000..d5452d8 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/views/Annotation.java @@ -0,0 +1,43 @@ +package com.groupdocs.ui.annotation.views; + +import com.groupdocs.ui.common.config.GlobalConfiguration; +import io.dropwizard.views.View; + +import java.nio.charset.Charset; + +/** + * Annotation + * + * @author Aspose Pty Ltd + */ + +public class Annotation extends View { + private GlobalConfiguration globalConfiguration; + + /** + * Constructor + * @param globalConfiguration total configuration + * @param charset charset + */ + public Annotation(GlobalConfiguration globalConfiguration, String charset){ + super("annotation.ftl", Charset.forName(charset)); + this.globalConfiguration = globalConfiguration; + } + + /** + * Get total config + * @return total config + */ + public GlobalConfiguration getGlobalConfiguration() { + return globalConfiguration; + } + + /** + * Set total config + * @param globalConfiguration total config + */ + public void setGlobalConfiguration(GlobalConfiguration globalConfiguration) { + this.globalConfiguration = globalConfiguration; + } + +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/MainService.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/MainService.java new file mode 100644 index 0000000..76f92d6 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/MainService.java @@ -0,0 +1,107 @@ +package com.groupdocs.ui.common; + +import com.google.common.collect.Sets; +import com.groupdocs.ui.annotation.resources.AnnotationResources; +import com.groupdocs.ui.common.config.GlobalConfiguration; +import com.groupdocs.ui.common.exception.TotalGroupDocsExceptionMapper; +import com.groupdocs.ui.common.health.TemplateHealthCheck; +import io.dropwizard.Application; +import io.dropwizard.assets.AssetsBundle; +import io.dropwizard.configuration.ResourceConfigurationSourceProvider; +import io.dropwizard.forms.MultiPartBundle; +import io.dropwizard.setup.Bootstrap; +import io.dropwizard.setup.Environment; +import io.dropwizard.views.ViewBundle; +import org.apache.commons.lang3.StringUtils; +import org.eclipse.jetty.servlets.CrossOriginFilter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.DispatcherType; +import javax.servlet.FilterRegistration; +import java.io.File; +import java.util.EnumSet; +import java.util.HashSet; + +/** + * Main class + * Where all the magic starts + * + * @author Aspose Pty Ltd + */ + +public class MainService extends Application { + private static final Logger logger = LoggerFactory.getLogger(MainService.class); + + private static final String SERVER_COMMAND = "server"; + private static final String CHECK_COMMAND = "check"; + private static final HashSet COMMANDS = Sets.newHashSet(SERVER_COMMAND, CHECK_COMMAND); + private static final String DEFAULT_CONFIGURATION_FILE = "defaultConfiguration.yml"; + private static final String EXTERNAL_CONFIGURATION_FILE = "configuration.yml"; + + private boolean defaultConfiguration; + + public MainService() { + super(); + defaultConfiguration = false; + } + + public MainService(boolean defaultConfiguration) { + super(); + this.defaultConfiguration = defaultConfiguration; + } + + public static void main(String[] args) throws Exception { + if (args == null || args.length == 0 || (args.length == 1 && !COMMANDS.contains(args[0]))) { + logger.info("Command is not specified. Use default: server."); + args = args.length == 1 ? new String[]{SERVER_COMMAND, args[0]} : new String[]{SERVER_COMMAND, EXTERNAL_CONFIGURATION_FILE}; + } + if (args.length > 1 && StringUtils.isNotEmpty(args[1]) && new File(args[1]).exists()) { + new MainService(false).run(args); + } else { + logger.info("Can not find external configuration file. Use default."); + String[] newArgs = new String[]{args[0], DEFAULT_CONFIGURATION_FILE}; + new MainService(true).run(newArgs); + } + } + + @Override + public void initialize(Bootstrap bootstrap) { + if (defaultConfiguration) { + bootstrap.setConfigurationSourceProvider(new ResourceConfigurationSourceProvider()); + } else { + bootstrap.setConfigurationSourceProvider(new MergedConfigurationSourceProvider(DEFAULT_CONFIGURATION_FILE)); + } + // add assets bundle in order to get resources from assets directory + bootstrap.addBundle(new AssetsBundle()); + // init view bundle + bootstrap.addBundle(new ViewBundle()); + // for injection file content in resource methods + bootstrap.addBundle(new MultiPartBundle()); + } + + @Override + public void run(GlobalConfiguration globalConfiguration, Environment environment) throws Exception { + // Enable CORS headers + final FilterRegistration.Dynamic cors = environment.servlets().addFilter("CORS", CrossOriginFilter.class); + + // Configure CORS parameters + cors.setInitParameter("allowedOrigins", "*"); + cors.setInitParameter("allowedHeaders", "X-Requested-With,Content-Type,Accept,Origin"); + cors.setInitParameter("allowedMethods", "OPTIONS,GET,PUT,POST,DELETE,HEAD"); + + // Add URL mapping + cors.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*"); + + // Initiate resources (web pages) + environment.jersey().register(new AnnotationResources(globalConfiguration)); + + // Add custom exception mapper + environment.jersey().register(new TotalGroupDocsExceptionMapper()); + + // Add dummy health check to get rid of console warnings + // TODO: implement health check + final TemplateHealthCheck healthCheck = new TemplateHealthCheck(""); + environment.healthChecks().register("HealthCheck", healthCheck); + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/MergedConfigurationSourceProvider.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/MergedConfigurationSourceProvider.java new file mode 100644 index 0000000..ee4c33f --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/MergedConfigurationSourceProvider.java @@ -0,0 +1,79 @@ +package com.groupdocs.ui.common; + +import io.dropwizard.configuration.ConfigurationSourceProvider; +import org.yaml.snakeyaml.Yaml; + +import javax.validation.constraints.NotNull; +import java.io.*; +import java.nio.charset.StandardCharsets; +import java.util.Map; + +/** + * Provider for reading two config files default and external file + */ +public class MergedConfigurationSourceProvider implements ConfigurationSourceProvider { + private String defaultConfigFile; + + public MergedConfigurationSourceProvider(@NotNull String defaultConfigFile) { + this.defaultConfigFile = defaultConfigFile; + } + + @Override + public InputStream open(String path) throws IOException { + try (InputStream defaultConfigStream = getResourceAsStream(defaultConfigFile); + InputStream extConfigStream = getResourceFile(path)) { + + Yaml yaml = new Yaml(); + Map defaultConfig = yaml.loadAs(defaultConfigStream, Map.class); + Map extConfig = yaml.loadAs(extConfigStream, Map.class); + + merge(defaultConfig, extConfig); + + return new ByteArrayInputStream(new Yaml().dump(defaultConfig).getBytes(StandardCharsets.UTF_8)); + } + } + + /** + * Deep merge two map, if there is a property in extConfig, then replace its value in defaultConfig. + * + * @param defaultConfig contains all properties with default values + * @param extConfig contains properties from external config, to replace its values in default config + */ + private void merge(Map defaultConfig, Map extConfig) { + for (String key : defaultConfig.keySet()) { + if (extConfig.containsKey(key)) { + if (defaultConfig.get(key) instanceof Map) { + merge((Map) defaultConfig.get(key), (Map) extConfig.get(key)); + } else { + defaultConfig.replace(key, extConfig.get(key)); + } + } + } + } + + /** + * Read file from resources + * + * @param path path to config file + * @return + */ + private InputStream getResourceAsStream(String path) { + return this.getClass().getClassLoader().getResourceAsStream(path); + } + + /** + * Read external file + * + * @param path path to config file + * @return + * @throws IOException + */ + private InputStream getResourceFile(String path) throws IOException { + File file = new File(path); + if (!file.exists()) { + throw new FileNotFoundException("File " + file + " not found"); + } else { + return new FileInputStream(file); + } + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/ApplicationConfiguration.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/ApplicationConfiguration.java new file mode 100644 index 0000000..152fbd2 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/ApplicationConfiguration.java @@ -0,0 +1,41 @@ +package com.groupdocs.ui.common.config; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.dropwizard.Configuration; +import org.apache.commons.lang3.StringUtils; + +import javax.validation.Valid; + +import static com.groupdocs.ui.common.config.DefaultDirectories.defaultLicenseDirectory; +import static com.groupdocs.ui.common.config.DefaultDirectories.relativePathToAbsolute; + +/** + * ApplicationConfiguration + * + * @author Aspose Pty Ltd + */ +public class ApplicationConfiguration extends Configuration { + + @Valid + @JsonProperty + private String licensePath; + @Valid + @JsonProperty + private String hostAddress; + + public String getLicensePath() { + return licensePath; + } + + public void setLicensePath(String licensePath) { + this.licensePath = StringUtils.isEmpty(licensePath) ? defaultLicenseDirectory() : relativePathToAbsolute(licensePath); + } + + public String getHostAddress() { + return hostAddress; + } + + public void setHostAddress(String hostAddress) { + this.hostAddress = hostAddress; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/CommonConfiguration.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/CommonConfiguration.java new file mode 100644 index 0000000..74917de --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/CommonConfiguration.java @@ -0,0 +1,98 @@ +package com.groupdocs.ui.common.config; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.dropwizard.Configuration; + +import javax.validation.Valid; + +/** + * CommonConfiguration + * + * @author Aspose Pty Ltd + */ +public class CommonConfiguration extends Configuration { + + @Valid + @JsonProperty + private boolean pageSelector; + + @Valid + @JsonProperty + private boolean download; + + @Valid + @JsonProperty + private boolean upload; + + @Valid + @JsonProperty + private boolean print; + + @Valid + @JsonProperty + private boolean browse; + + @Valid + @JsonProperty + private boolean rewrite; + + @Valid + @JsonProperty + private boolean enableRightClick; + + public boolean isPageSelector() { + return pageSelector; + } + + public void setPageSelector(boolean pageSelector) { + this.pageSelector = pageSelector; + } + + public boolean isDownload() { + return download; + } + + public void setDownload(boolean download) { + this.download = download; + } + + public boolean isUpload() { + return upload; + } + + public void setUpload(boolean upload) { + this.upload = upload; + } + + public boolean isPrint() { + return print; + } + + public void setPrint(boolean print) { + this.print = print; + } + + public boolean isBrowse() { + return browse; + } + + public void setBrowse(boolean browse) { + this.browse = browse; + } + + public boolean isRewrite() { + return rewrite; + } + + public void setRewrite(boolean rewrite) { + this.rewrite = rewrite; + } + + public boolean isEnableRightClick() { + return enableRightClick; + } + + public void setEnableRightClick(boolean enableRightClick) { + this.enableRightClick = enableRightClick; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/CommonConfigurationModel.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/CommonConfigurationModel.java new file mode 100644 index 0000000..446f70e --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/CommonConfigurationModel.java @@ -0,0 +1,101 @@ +package com.groupdocs.ui.common.config; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import javax.validation.Valid; + +public class CommonConfigurationModel { + @Valid + @JsonProperty + private boolean pageSelector; + + @Valid + @JsonProperty + private boolean download; + + @Valid + @JsonProperty + private boolean upload; + + @Valid + @JsonProperty + private boolean print; + + @Valid + @JsonProperty + private boolean browse; + + @Valid + @JsonProperty + private boolean rewrite; + + @Valid + @JsonProperty + private boolean enableRightClick; + + public boolean isPageSelector() { + return pageSelector; + } + + public void setPageSelector(boolean pageSelector) { + this.pageSelector = pageSelector; + } + + public boolean isDownload() { + return download; + } + + public void setDownload(boolean download) { + this.download = download; + } + + public boolean isUpload() { + return upload; + } + + public void setUpload(boolean upload) { + this.upload = upload; + } + + public boolean isPrint() { + return print; + } + + public void setPrint(boolean print) { + this.print = print; + } + + public boolean isBrowse() { + return browse; + } + + public void setBrowse(boolean browse) { + this.browse = browse; + } + + public boolean isRewrite() { + return rewrite; + } + + public void setRewrite(boolean rewrite) { + this.rewrite = rewrite; + } + + public boolean isEnableRightClick() { + return enableRightClick; + } + + public void setEnableRightClick(boolean enableRightClick) { + this.enableRightClick = enableRightClick; + } + + public void init(CommonConfiguration common) { + this.setPageSelector(common.isPageSelector()); + this.setDownload(common.isDownload()); + this.setUpload(common.isUpload()); + this.setPrint(common.isPrint()); + this.setBrowse(common.isBrowse()); + this.setRewrite(common.isRewrite()); + this.setEnableRightClick(common.isEnableRightClick()); + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/DefaultDirectories.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/DefaultDirectories.java new file mode 100644 index 0000000..4576ea4 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/DefaultDirectories.java @@ -0,0 +1,76 @@ +package com.groupdocs.ui.common.config; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.nio.file.FileSystems; +import java.nio.file.Path; + +public class DefaultDirectories { + private static final Logger logger = LoggerFactory.getLogger(DefaultDirectories.class); + + public static final String LIC = ".lic"; + public static final String LICENSES = "Licenses"; + public static final String DOCUMENT_SAMPLES = "DocumentSamples"; + + public static String defaultLicenseDirectory() { + Path defaultLicFolder = FileSystems.getDefault().getPath(LICENSES).toAbsolutePath(); + File licFolder = defaultLicFolder.toFile(); + if (licFolder.exists()) { + Path defaultLicFile = getDefaultLicFile(licFolder); + if (defaultLicFile != null) { + return defaultLicFile.toString(); + } + } + licFolder.mkdirs(); + logger.info("License file path is incorrect, application launched in trial mode"); + return ""; + } + + public static String defaultAnnotationDirectory() { + return getDefaultDir(""); + } + + public static String getDefaultDir(String folder) { + String dir = DOCUMENT_SAMPLES + File.separator + folder; + Path path = FileSystems.getDefault().getPath(dir).toAbsolutePath(); + makeDirs(path.toFile()); + return path.toString(); + } + + private static void makeDirs(File file) { + if (!file.exists()) { + file.mkdirs(); + } + } + + public static String relativePathToAbsolute(String path) { + Iterable rootDirectories = FileSystems.getDefault().getRootDirectories(); + + if (StringUtils.isEmpty(path)) { + return FileSystems.getDefault().getPath("").toAbsolutePath().toString(); + } + + for (Path root : rootDirectories) { + if (path.startsWith(root.toString())) { + makeDirs(new File(path)); + return path; + } + } + + Path absolutePath = FileSystems.getDefault().getPath(path).toAbsolutePath(); + makeDirs(absolutePath.toFile()); + return absolutePath.toString(); + } + + public static Path getDefaultLicFile(File licFolder) { + for (File file : licFolder.listFiles()) { + if (file.getName().endsWith(LIC)) { + return FileSystems.getDefault().getPath(LICENSES + File.separator + file.getName()).toAbsolutePath(); + } + } + return null; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/GlobalConfiguration.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/GlobalConfiguration.java new file mode 100644 index 0000000..799e298 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/GlobalConfiguration.java @@ -0,0 +1,76 @@ +package com.groupdocs.ui.common.config; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.groupdocs.ui.annotation.config.AnnotationConfiguration; +import io.dropwizard.Configuration; + +import javax.validation.Valid; + +/** + * GlobalConfiguration + * Object to hold all application's configurations from yml file + * + * @author Aspose Pty Ltd + */ +public class GlobalConfiguration extends Configuration { + + @Valid + @JsonProperty + private ServerConfiguration server; + + @Valid + @JsonProperty + private ApplicationConfiguration application; + + @Valid + @JsonProperty + private CommonConfiguration common; + + @Valid + @JsonProperty + private AnnotationConfiguration annotation; + + /** + * Constructor + */ + public GlobalConfiguration(){ + server = new ServerConfiguration(); + application = new ApplicationConfiguration(); + common = new CommonConfiguration(); + annotation = new AnnotationConfiguration(); + } + + /** + * Get server configuration + * @return server configuration + */ + public ServerConfiguration getServer() { + return server; + } + + /** + * Get application configuration + * @return application configuration + */ + public ApplicationConfiguration getApplication() { + return application; + } + + /** + * Get common configuration + * @return common configuration + */ + public CommonConfiguration getCommon() { + return common; + } + + /** + * Get annotation configuration + * @return annotation configuration + */ + public AnnotationConfiguration getAnnotation() { + return annotation; + } +} + + diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/ServerConfiguration.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/ServerConfiguration.java new file mode 100644 index 0000000..36c0d62 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/config/ServerConfiguration.java @@ -0,0 +1,21 @@ +package com.groupdocs.ui.common.config; + +import io.dropwizard.Configuration; + +/** + * ServerConfiguration + * + * @author Aspose Pty Ltd + */ +public class ServerConfiguration extends Configuration { + private int httpPort; + + public int getHttpPort() { + return httpPort; + } + + public void setHttpPort(int httpPort) { + this.httpPort = httpPort; + } + +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/ExceptionEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/ExceptionEntity.java new file mode 100644 index 0000000..fe4c11f --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/ExceptionEntity.java @@ -0,0 +1,52 @@ +package com.groupdocs.ui.common.entity.web; + +/** + * ExceptionEntity + * + * @author Aspose Pty Ltd + */ +public class ExceptionEntity { + private String message; + private Exception exception; + + public ExceptionEntity() { + } + + public ExceptionEntity(String message, Exception exception) { + this.message = message; + this.exception = exception; + } + + /** + * Get exception message + * @return message + */ + public String getMessage() { + return message; + } + + /** + * Set exception message + * @param message message + */ + public void setMessage(String message) { + this.message = message; + } + + /** + * Get exception + * @return exception + */ + public Exception getException() { + return exception; + } + + /** + * Set exception + * @param exception exception + */ + public void setException(Exception exception) { + this.exception = exception; + } + +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/FileDescriptionEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/FileDescriptionEntity.java new file mode 100644 index 0000000..917dd48 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/FileDescriptionEntity.java @@ -0,0 +1,95 @@ +package com.groupdocs.ui.common.entity.web; + +/** + * FileDescriptionEntity + * + * @author Aspose Pty Ltd + */ +public class FileDescriptionEntity { + private String guid; + private String name; + private String docType; + private Boolean isDirectory; + private Long size; + + /** + * Get guid (file id) + * @return guid + */ + public String getGuid() { + return guid; + } + + /** + * Set guid (File id) + * @param guid guid + */ + public void setGuid(String guid) { + this.guid = guid; + } + + /** + * Get file name + * @return file name + */ + public String getName() { + return name; + } + + /** + * Set file name + * @param name file name + */ + public void setName(String name) { + this.name = name; + } + + /** + * Get document type + * @return document type + */ + public String getDocType() { + return docType; + } + + /** + * Set document type + * @param docType document type + */ + public void setDocType(String docType) { + this.docType = docType; + } + + /** + * Check if path is directory + * @return true/false flag + */ + public Boolean isDirectory() { + return isDirectory; + } + + /** + * Set is directory flag + * @param directory true/false flag + */ + public void setDirectory(Boolean directory) { + isDirectory = directory; + } + + /** + * Get file size + * @return file size + */ + public Long getSize() { + return size; + } + + /** + * Set file size + * @param size file size + */ + public void setSize(Long size) { + this.size = size; + } + +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/LoadDocumentEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/LoadDocumentEntity.java new file mode 100644 index 0000000..2054d93 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/LoadDocumentEntity.java @@ -0,0 +1,30 @@ +package com.groupdocs.ui.common.entity.web; + +import java.util.List; + +public class LoadDocumentEntity { + /** + * Document Guid + */ + private String guid; + /** + * list of pages + */ + private List pages; + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public List getPages() { + return pages; + } + + public void setPages(List pages) { + this.pages = pages; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/PageDescriptionEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/PageDescriptionEntity.java new file mode 100644 index 0000000..0cb2f6d --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/PageDescriptionEntity.java @@ -0,0 +1,57 @@ +package com.groupdocs.ui.common.entity.web; + +/** + * PageDescriptionEntity + * + * @author Aspose Pty Ltd + */ +public class PageDescriptionEntity { + /** + * Page data + */ + private String data; + private int angle; + private double width; + private double height; + private int number; + + public int getAngle() { + return angle; + } + + public void setAngle(int angle) { + this.angle = angle; + } + + public double getWidth() { + return width; + } + + public void setWidth(double width) { + this.width = width; + } + + public double getHeight() { + return height; + } + + public void setHeight(double height) { + this.height = height; + } + + public int getNumber() { + return number; + } + + public void setNumber(int number) { + this.number = number; + } + + public String getData() { + return data; + } + + public void setData(String data) { + this.data = data; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/UploadedDocumentEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/UploadedDocumentEntity.java new file mode 100644 index 0000000..923cd4c --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/UploadedDocumentEntity.java @@ -0,0 +1,26 @@ +package com.groupdocs.ui.common.entity.web; + +/** + * UploadedDocumentEntity + * + * @author Aspose Pty Ltd + */ +public class UploadedDocumentEntity { + private String guid; + + /** + * Get guid (file id) + * @return guid + */ + public String getGuid() { + return guid; + } + + /** + * Set guid (file id) + * @param guid guid + */ + public void setGuid(String guid) { + this.guid = guid; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/request/FileTreeRequest.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/request/FileTreeRequest.java new file mode 100644 index 0000000..1a6008a --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/request/FileTreeRequest.java @@ -0,0 +1,13 @@ +package com.groupdocs.ui.common.entity.web.request; + +public class FileTreeRequest { + private String path; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/request/LoadDocumentPageRequest.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/request/LoadDocumentPageRequest.java new file mode 100644 index 0000000..d596c66 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/request/LoadDocumentPageRequest.java @@ -0,0 +1,13 @@ +package com.groupdocs.ui.common.entity.web.request; + +public class LoadDocumentPageRequest extends LoadDocumentRequest { + private Integer page; + + public Integer getPage() { + return page; + } + + public void setPage(Integer page) { + this.page = page; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/request/LoadDocumentRequest.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/request/LoadDocumentRequest.java new file mode 100644 index 0000000..01bbd54 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/entity/web/request/LoadDocumentRequest.java @@ -0,0 +1,23 @@ +package com.groupdocs.ui.common.entity.web.request; + +public class LoadDocumentRequest { + + private String guid; + private String password; + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/exception/PasswordExceptions.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/exception/PasswordExceptions.java new file mode 100644 index 0000000..d9996d5 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/exception/PasswordExceptions.java @@ -0,0 +1,6 @@ +package com.groupdocs.ui.common.exception; + +public class PasswordExceptions { + public static final String PASSWORD_REQUIRED = "Password Required"; + public static final String INCORRECT_PASSWORD = "Incorrect password"; +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/exception/TotalGroupDocsException.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/exception/TotalGroupDocsException.java new file mode 100644 index 0000000..9db6a46 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/exception/TotalGroupDocsException.java @@ -0,0 +1,15 @@ +package com.groupdocs.ui.common.exception; + +/** + * Wrapper for application's exceptions + */ +public class TotalGroupDocsException extends RuntimeException { + + public TotalGroupDocsException(String message) { + super(message); + } + + public TotalGroupDocsException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/exception/TotalGroupDocsExceptionMapper.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/exception/TotalGroupDocsExceptionMapper.java new file mode 100644 index 0000000..f477fe0 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/exception/TotalGroupDocsExceptionMapper.java @@ -0,0 +1,40 @@ +package com.groupdocs.ui.common.exception; + +import com.groupdocs.ui.common.entity.web.ExceptionEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; +import javax.ws.rs.ext.ExceptionMapper; +import javax.ws.rs.ext.Provider; + +import static com.groupdocs.ui.common.exception.PasswordExceptions.INCORRECT_PASSWORD; +import static com.groupdocs.ui.common.exception.PasswordExceptions.PASSWORD_REQUIRED; + +/** + * Map application's exceptions into responses + */ +@Provider +public class TotalGroupDocsExceptionMapper implements ExceptionMapper { + private static final Logger logger = LoggerFactory.getLogger(TotalGroupDocsExceptionMapper.class); + @Override + public Response toResponse(TotalGroupDocsException exception) { + ExceptionEntity exceptionEntity = new ExceptionEntity(); + String message = exception.getMessage(); + exceptionEntity.setMessage(message); + if (PASSWORD_REQUIRED.equals(message) || INCORRECT_PASSWORD.equals(message)) { + return Response.ok(exceptionEntity).build(); + } + if (logger.isDebugEnabled()) { + exception.printStackTrace(); + exceptionEntity.setException(exception); + } + logger.error(exception.getCause() != null? exception.getCause().getLocalizedMessage() : message); + return Response + .serverError() + .entity(exceptionEntity) + .type(MediaType.APPLICATION_JSON_TYPE) + .build(); + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/health/TemplateHealthCheck.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/health/TemplateHealthCheck.java new file mode 100644 index 0000000..d91a179 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/health/TemplateHealthCheck.java @@ -0,0 +1,21 @@ +package com.groupdocs.ui.common.health; + +import com.codahale.metrics.health.HealthCheck; + +/** +* Dummy HealthCheck +* @author Aspose Pty Ltd +*/ +public class TemplateHealthCheck extends HealthCheck { + private final String template; + + public TemplateHealthCheck(String template) { + this.template = template; + } + + @Override + protected Result check() throws Exception { + return Result.healthy(); + } + +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/resources/Resources.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/resources/Resources.java new file mode 100644 index 0000000..7ba4575 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/resources/Resources.java @@ -0,0 +1,232 @@ +package com.groupdocs.ui.common.resources; + +import com.google.common.collect.Lists; +import com.groupdocs.ui.common.config.GlobalConfiguration; +import com.groupdocs.ui.common.exception.TotalGroupDocsException; +import io.dropwizard.jetty.ConnectorFactory; +import io.dropwizard.jetty.HttpConnectorFactory; +import io.dropwizard.server.SimpleServerFactory; +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; +import org.glassfish.jersey.media.multipart.FormDataContentDisposition; + +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.core.MediaType; +import java.io.*; +import java.net.InetAddress; +import java.net.URL; +import java.net.UnknownHostException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardCopyOption; +import java.time.Instant; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +/** + * Resources + * + * @author Aspose Pty Ltd + */ +public abstract class Resources { + protected final String DEFAULT_CHARSET = "UTF-8"; + protected final GlobalConfiguration globalConfiguration; + + private static final ZoneId GMT = ZoneId.of("GMT"); + + /** + * Get path to storage. Different for different products + * + * @param params parameters for calculating the path + * @return path to files storage + */ + protected abstract String getStoragePath(Map params); + + /** + * Internal upload file into server + * + * @param documentUrl url for document + * @param inputStream file stream + * @param fileDetail file description + * @param rewrite flag for rewriting file + * @param params parameters for creating path to files storage + * @return path to file in storage + */ + protected String uploadFile(String documentUrl, InputStream inputStream, FormDataContentDisposition fileDetail, boolean rewrite, Map params) { + InputStream uploadedInputStream = null; + String pathname; + try { + String fileName; + if (StringUtils.isEmpty(documentUrl)) { + // get the InputStream to store the file + uploadedInputStream = inputStream; + fileName = fileDetail.getFileName(); + } else { + // get the InputStream from the URL + URL url = new URL(documentUrl); + uploadedInputStream = url.openStream(); + fileName = FilenameUtils.getName(url.getPath()); + } + // get documents storage path + String documentStoragePath = getStoragePath(params); + // save the file + pathname = String.format("%s%s%s", documentStoragePath, File.separator, fileName); + File file = new File(pathname); + // check rewrite mode + if (rewrite) { + // save file with rewrite if exists + Files.copy(uploadedInputStream, file.toPath(), StandardCopyOption.REPLACE_EXISTING); + } else { + if (file.exists()){ + // get file with new name + file = getFreeFileName(documentStoragePath, fileName); + } + // save file with out rewriting + Path path = file.toPath(); + Files.copy(uploadedInputStream, path); + pathname = path.toString(); + } + } catch(Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } finally { + try { + uploadedInputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return pathname; + } + + /** + * Date formats with time zone as specified in the HTTP RFC. + * @see Section 7.1.1.1 of RFC 7231 + */ + private static final DateTimeFormatter[] DATE_FORMATTERS = new DateTimeFormatter[] { + DateTimeFormatter.RFC_1123_DATE_TIME, + DateTimeFormatter.ofPattern("EEEE, dd-MMM-yy HH:mm:ss zz", Locale.US), + DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss yyyy",Locale.US).withZone(GMT) + }; + + /** + * Fill Header Content-disposition parameter for download file + * + * @param response http response to fill header + * @param fileName name of file + */ + protected void fillResponseHeaderDisposition(HttpServletResponse response, String fileName) { + response.setHeader("Content-disposition", "attachment; filename=" + fileName); + } + + /** + * Download file + * + * @param response http response + * @param pathToFile path to file + */ + protected void downloadFile(HttpServletResponse response, String pathToFile) { + String fileName = FilenameUtils.getName(pathToFile); + // don't delete, should be before writing + fillResponseHeaderDisposition(response, fileName); + long length; + try (InputStream inputStream = new FileInputStream(pathToFile); + OutputStream outputStream = response.getOutputStream()){ + // download the document + length = IOUtils.copyLarge(inputStream, outputStream); + } catch (Exception ex){ + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + // set response content disposition + addFileDownloadHeaders(response, fileName, length); + } + + /** + * Constructor + * @param globalConfiguration global application configuration + * @throws UnknownHostException + */ + public Resources(GlobalConfiguration globalConfiguration) throws UnknownHostException { + this.globalConfiguration = globalConfiguration; + + // set HTTP port + SimpleServerFactory serverFactory = (SimpleServerFactory) globalConfiguration.getServerFactory(); + ConnectorFactory connector = serverFactory.getConnector(); + globalConfiguration.getServer().setHttpPort(((HttpConnectorFactory) connector).getPort()); + + // set host address + String hostAddress = globalConfiguration.getApplication().getHostAddress(); + if (StringUtils.isEmpty(hostAddress) || hostAddress.startsWith("${")) { + globalConfiguration.getApplication().setHostAddress(InetAddress.getLocalHost().getHostAddress()); + } + } + + /** + * Rename file if exist + * @param directory directory where files are located + * @param fileName file name + * @return new file with new file name + */ + protected File getFreeFileName(String directory, String fileName){ + File file = null; + try { + File folder = new File(directory); + File[] listOfFiles = folder.listFiles(); + for (int i = 0; i < listOfFiles.length; i++) { + int number = i + 1; + String newFileName = FilenameUtils.removeExtension(fileName) + "-Copy(" + number + ")." + FilenameUtils.getExtension(fileName); + file = new File(directory + File.separator + newFileName); + if(file.exists()) { + continue; + } else { + break; + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return file; + } + + /** + * Fill header HTTP response with file data + */ + public void addFileDownloadHeaders(HttpServletResponse response, String fileName, Long fileLength) { + Map> fileDownloadHeaders = createFileDownloadHeaders(fileName, fileLength, MediaType.APPLICATION_OCTET_STREAM); + for (Map.Entry> entry : fileDownloadHeaders.entrySet()) { + for (String value : entry.getValue()) { + response.addHeader(entry.getKey(), value); + } + } + } + + /** + * Get headers for downloading files + */ + private static Map> createFileDownloadHeaders(String fileName, Long fileLength, String mediaType) { + Map> httpHeaders = new HashMap<>(); + httpHeaders.put("Content-disposition", Lists.newArrayList("attachment; filename=" + fileName)); + httpHeaders.put("Content-Type", Lists.newArrayList(mediaType)); + httpHeaders.put("Content-Description", Lists.newArrayList("File Transfer")); + httpHeaders.put("Content-Transfer-Encoding", Lists.newArrayList("binary")); + httpHeaders.put("Expires", Lists.newArrayList(formatDate(0))); + httpHeaders.put("Cache-Control", Lists.newArrayList("must-revalidate")); + httpHeaders.put("Pragma", Lists.newArrayList("public")); + if (fileLength != null) { + httpHeaders.put("Content-Length", Lists.newArrayList(Long.toString(fileLength))); + } + return httpHeaders; + } + + private static String formatDate(long date) { + Instant instant = Instant.ofEpochMilli(date); + ZonedDateTime time = ZonedDateTime.ofInstant(instant, GMT); + return DATE_FORMATTERS[0].format(time); + } + +} diff --git a/Demos/Dropwizard/src/main/resources/banner.txt b/Demos/Dropwizard/src/main/resources/banner.txt new file mode 100644 index 0000000..c73a17c --- /dev/null +++ b/Demos/Dropwizard/src/main/resources/banner.txt @@ -0,0 +1,7 @@ + + ______ ____ + / ____/________ __ ______ / __ \____ __________ + / / __/ ___/ __ \/ / / / __ \/ / / / __ \/ ___/ ___/ +/ /_/ / / / /_/ / /_/ / /_/ / /_/ / /_/ / /__(__ ) +\____/_/ \____/\__,_/ .___/_____/\____/\___/____/ + /_/ diff --git a/Demos/Dropwizard/src/main/resources/com/groupdocs/ui/annotation/views/annotation.ftl b/Demos/Dropwizard/src/main/resources/com/groupdocs/ui/annotation/views/annotation.ftl new file mode 100644 index 0000000..bc0cb33 --- /dev/null +++ b/Demos/Dropwizard/src/main/resources/com/groupdocs/ui/annotation/views/annotation.ftl @@ -0,0 +1,24 @@ +<#-- @ftlvariable name="" type="annotation" --> + + + + + Annotation for Java Dropwizard + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/resources/defaultConfiguration.yml b/Demos/Dropwizard/src/main/resources/defaultConfiguration.yml new file mode 100644 index 0000000..38e281a --- /dev/null +++ b/Demos/Dropwizard/src/main/resources/defaultConfiguration.yml @@ -0,0 +1,100 @@ +################################################ +# Server configurations +################################################ +server: + type: simple + applicationContextPath: / + adminContextPath: /admin + connector: + type: http + port: 8080 + + +################################################ +# Application (global) configurations +################################################ +application: + # License path + # Absolute or relative path to GroupDocs license file + licensePath: + # Host name or ip for server instance + hostAddress: ${application.hostAddress} + +################################################ +# Common configurations +################################################ +common: + # File rewriting on document uploading + # Set false to keep both files + # Set true to replace files with same name + rewrite: true + # Page navigation + # Set false to disable document navigation (go to next, previous, last and first page) + pageSelector: true + # Document download + # Set false to disable document download + download: true + # Document upload + # Set false to disable document upload + upload: true + # Document print + # Set false to disable document print + print: true + # File browser + # Set false to disable document browse + browse: true + # Set false to disable right mouse click + enableRightClick: true + +################################################ +# GroupDocs.Annotation configurations +################################################ +annotation: + # Files directory path + # Absolute or relative path to files directory + filesDirectory: + # Default document + # Absolute or relative path to default document + defaultDocument: '' + # Pages preload + # How many pages from a document should be loaded, remaining pages will be loaded on page scrolling + # Set 0 to load all pages at once + preloadPageCount: 0 + # Fonts path + # Absolute path to custom fonts directory + fontsDirectory: '' + # Enable/disable Text annotation + textAnnotation: true + # Enable/disable Area annotation + areaAnnotation: true + # Enable/disable Point annotation + pointAnnotation: true + # Enable/disable TextStrikeout annotation + textStrikeoutAnnotation: true + # Enable/disable Polyline annotation + polylineAnnotation: true + # Enable/disable TextField annotation + textFieldAnnotation: true + # Enable/disable Watermark annotation + watermarkAnnotation: true + # Enable/disable TextReplacement annotation + textReplacementAnnotation: true + # Enable/disable Arrow annotation + arrowAnnotation: true + # Enable/disable TextRedaction annotation + textRedactionAnnotation: true + # Enable/disable ResourcesRedaction annotation + resourcesRedactionAnnotation: true + # Enable/disable TextUnderline annotation + textUnderlineAnnotation: true + # Enable/disable Distance annotation + distanceAnnotation: true + # Enable/disable original document downloading + downloadOriginal: true + # Enable/disable signed document downloading + downloadAnnotated: true + # Enable/disable zoom + zoom: true + # Enable/disable fit width + # set true to zoom document pages fit width + fitWidth: true diff --git a/Demos/Dropwizard/src/test/java/com/groupdocs/ui/annotation/resources/AnnotationResourcesTest.java b/Demos/Dropwizard/src/test/java/com/groupdocs/ui/annotation/resources/AnnotationResourcesTest.java new file mode 100644 index 0000000..941aa73 --- /dev/null +++ b/Demos/Dropwizard/src/test/java/com/groupdocs/ui/annotation/resources/AnnotationResourcesTest.java @@ -0,0 +1,61 @@ +package com.groupdocs.ui.annotation.resources; + +import com.groupdocs.ui.common.MainService; +import com.groupdocs.ui.common.config.GlobalConfiguration; +import io.dropwizard.client.JerseyClientBuilder; +import io.dropwizard.testing.ResourceHelpers; +import io.dropwizard.testing.junit.DropwizardAppRule; +import org.glassfish.jersey.client.ClientProperties; +import org.junit.ClassRule; +import org.junit.Test; + +import javax.ws.rs.client.Client; +import javax.ws.rs.core.Response; + +import java.io.File; + +import static org.assertj.core.api.Assertions.assertThat; + +public class AnnotationResourcesTest { + + @ClassRule + public static final DropwizardAppRule RULE = + new DropwizardAppRule<>(MainService.class, System.getProperty("user.dir") + File.separator +"configuration.yml"); + + @Test + public void getView() { + Client client = new JerseyClientBuilder(RULE.getEnvironment()).build("test client"); + client.property(ClientProperties.CONNECT_TIMEOUT, 5000); + client.property(ClientProperties.READ_TIMEOUT, 5000); + Response response = client.target( + String.format("http://localhost:%d/annotation", RULE.getLocalPort())) + .request() + .get(); + + + assertThat(response.getStatus()).isEqualTo(200); + client.close(); + } + + + public void loadFileTree() { + } + + public void loadDocumentDescription() { + } + + public void loadDocumentPage() { + } + + public void downloadDocument() { + } + + public void uploadDocument() { + } + + public void textCoordinates() { + } + + public void annotate() { + } +} \ No newline at end of file diff --git a/Demos/README.md b/Demos/README.md new file mode 100644 index 0000000..8686a65 --- /dev/null +++ b/Demos/README.md @@ -0,0 +1,3 @@ +# GroupDocs.Annotation for Java Demos + +GroupDocs.Annotation for Java Demo projects. diff --git a/Demos/Spring/.gitignore b/Demos/Spring/.gitignore new file mode 100644 index 0000000..4469f54 --- /dev/null +++ b/Demos/Spring/.gitignore @@ -0,0 +1,22 @@ +# Add any directories, files, or patterns you don't want to be tracked by version control +.idea/* +*.iml +*.ipr +*.iws +target/* +.DS_Store +vs.bin +App_Data/* +node_modules +src/main/resources/static/* +!src/main/resources/static/.gitkeep +node/ +etc/ +package-lock.json +Licenses/* +!Licenses/.gitkeep +DocumentSamples/* +!DocumentSamples/.gitkeep + +#License files +*.lic diff --git a/Demos/Spring/.travis.yml b/Demos/Spring/.travis.yml new file mode 100644 index 0000000..5272404 --- /dev/null +++ b/Demos/Spring/.travis.yml @@ -0,0 +1,40 @@ +dist: trusty +language: java +jdk: +- oraclejdk8 +- oraclejdk9 +- openjdk8 +#- oraclejdk11 +#- openjdk10 +#- openjdk11 +services: + - docker +jobs: + include: + - stage: Coverage + jdk: oraclejdk8 + script: + - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter + - chmod +x ./cc-test-reporter + - ./cc-test-reporter before-build + - mvn clean package + - JACOCO_SOURCE_PATH=src/main/java ./cc-test-reporter format-coverage target/site/jacoco/jacoco.xml --input-type jacoco + - ./cc-test-reporter upload-coverage + - stage: Tag Release + if: type = push AND branch = master AND commit_message !~ /^Travis bot released/ + install: skip + script: git checkout master && git reset --hard $sha1 && git config --global push.followTags true && git config --global user.email "travis@travis-ci.org" && git config --global user.name "Travis CI" && export current_version=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' --non-recursive exec:exec) && echo "current version ${current_version}" && export minor=$(echo $current_version | sed "s/^[0-9]\{1,\}\.[0-9]\{1,\}\.\([0-9]\{1,\}\)/\1/") && export major=$(echo $current_version | sed "s/^\([0-9]\{1,\}\.[0-9]\{1,\}\)\.[0-9]\{1,\}/\1/") && export next_version=$major.$((minor+1)) && echo "next version ${next_version}" && sed -i.bak "s/$current_version/$next_version/g" README.md && rm README.md.bak && sed -i.bak "s/^ $current_version<\\/version>/ $next_version<\\/version>/g" pom.xml && rm pom.xml.bak && git status && git commit -am "Travis bot released $next_version" && git tag -a $next_version -m "Automated release" && git remote add target https://${GH_TOKEN}@github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring.git > /dev/null 2>&1 && git remote -v && git push --set-upstream target master + - stage: Release + if: type = push AND branch = master AND commit_message =~ /^Travis bot released/ + install: skip + jdk: oraclejdk8 + script: mvn -B clean package && mkdir -p target/release/DocumentSamples && mkdir -p target/release/Licenses && cp target/annotation-spring-*.jar target/release && cp configuration.yml target/release && cd target && tar -zcvf release.tar.gz release && cd .. && echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin && docker build -t groupdocs/annotation . && docker push groupdocs/annotation + deploy: + provider: releases + overwrite: true + skip_cleanup: true + api_key: $GH_TOKEN + file: target/release.tar.gz + on: + repo: groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring + branch: master \ No newline at end of file diff --git a/Demos/Spring/Dockerfile b/Demos/Spring/Dockerfile new file mode 100644 index 0000000..6f6baf3 --- /dev/null +++ b/Demos/Spring/Dockerfile @@ -0,0 +1,10 @@ +FROM openjdk:8-jre-alpine +RUN mkdir -p /home/groupdocs/app && apk add fontconfig && apk add msttcorefonts-installer && update-ms-fonts && fc-cache -f +WORKDIR /home/groupdocs/app +COPY target/release/DocumentSamples /home/groupdocs/app +COPY target/release/Licenses /home/groupdocs/app +COPY target/release/annotation-spring-*.jar /home/groupdocs/app/app.jar + +EXPOSE 8080 + +ENTRYPOINT java -jar /home/groupdocs/app/app.jar configuration.yml \ No newline at end of file diff --git a/Demos/Spring/DocumentSamples/.gitkeep b/Demos/Spring/DocumentSamples/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Spring/LICENSE b/Demos/Spring/LICENSE new file mode 100644 index 0000000..044c00d --- /dev/null +++ b/Demos/Spring/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 GroupDocs.Annotation Product Family + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Demos/Spring/Licenses/.gitkeep b/Demos/Spring/Licenses/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Spring/README.md b/Demos/Spring/README.md new file mode 100644 index 0000000..6032326 --- /dev/null +++ b/Demos/Spring/README.md @@ -0,0 +1,195 @@ +![Groupdocs document & pdf annotator](https://raw.githubusercontent.com/groupdocs-annotation/groupdocs-annotation.github.io/master/resources/image/banner.png "GroupDocs.Annotation") +# GroupDocs.Annotation for Java Spring Example +###### version 1.12.27 + +[![Build Status](https://travis-ci.org/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring.svg?branch=master)](https://travis-ci.org/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) +[![Maintainability](https://api.codeclimate.com/v1/badges/f6de7b4597a02ddb09df/maintainability)](https://codeclimate.com/github/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/maintainability) +[![GitHub license](https://img.shields.io/github/license/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring.svg)](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/blob/master/LICENSE) + +## System Requirements +- Java 8 (JDK 1.8) +- Maven 3 + + +## Annotate & write on document with Java Spring + +**GroupDocs.Annotations for Java** is a powerful library that provides flexible API which allows you to **annotate PDF**, DOCX, PPT, XLS, and over 90 document formats without external dependencies and/or additional document conversions such us (DOCX to PDF or PPT to PDF). With GroupDocs.Annotation API you can write on documents using various annotation tools such as arrow annotation, text annotation or even draw on a document with help of freehand annotation drawing tool. + +With GroupDocs.Annotation for Java Spring application, you can annotate and **write on document** using our modern and responsive web UI interface. Thanks to flexible and highly customizable configuration it can be used as standalone application or can be integrated into your project within few simple steps. + +**Note:** without a license application will run in trial mode, purchase [GroupDocs.Annotation for Java license](https://purchase.groupdocs.com/order-online-step-1-of-8.aspx) or request [GroupDocs.Annotation for Java temporary license](https://purchase.groupdocs.com/temporary-license). + + +## Demo Video + +

    + + + +

    + + +## Features +

    + +


    + Text annotation +

    Add text annotations in any document. Specify font size, set colors, add comments and collaborate.
    +



    +

    +
    +

    + +


    + Freehand Drawing +

    Draw on a document using a freehand drawing tool. Easily highlight specific areas on your document page.
    +


    +

    +
    +

    + +


    + Blackout & Redaction +

    Blackout and redact sensitive or personally identifiable information on your document.
    +



    +

    +
    +

    + +


    + Comments +

    Collaborate and comment on any annotation. Start a discussion right in a document without database dependency/integration.
    +





    +

    +
    + +### More features + +- Clean, modern and intuitive design +- Easily switchable colour theme (create your own colour theme in 5 minutes) +- Responsive design +- Mobile support (open application on any mobile device) +- Support over 50 documents and image formats +- Image mode +- Fully customizable navigation panel +- Annotate password protected documents +- Download original documents +- Download annotated documents +- Upload documents +- Annotate document with such annotation types: + * **Text** – highlights and comments selected text + * **Area** – marks an area with a rectangle and adds notes to it + * **Point** – sticks comments to any point in a document + * **TextStrikeout** – marks text with a strikethrough styling + * **Polyline** – draws shapes and freehand lines + * **TextField** – adds rectangle with a text inside + * **Watermark** - Horizontal textual watermark + * **TextReplacement** – replaces original text with user’s text + * **Arrow** – draws an arrow on a document + * **TextRedaction** – fills black rectangle with fixed position (used if you want to hide some text) + * **ResourcesRedaction** – fills black rectangle with fixed position + * **TextUnderline** – marks text with a underline styling + * **Distance** – measures a distance between objects in a document +- Draw annotation over the document page +- Add comment or reply +- Print document +- Smooth page navigation +- Smooth document scrolling +- Preload pages for faster document rendering +- Multi-language support for displaying errors +- Cross-browser support (Safari, Chrome, Opera, Firefox) +- Cross-platform support (Windows, Linux, MacOS) + + +## How to run + +You can run this sample by one of following methods + +#### Build from source + +Download [source code](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/archive/master.zip) from github or clone this repository. + +```bash +git clone https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring +cd GroupDocs.Annotation-for-Java-Spring +mvn clean spring-boot:run +## Open http://localhost:8080/annotation/ in your favorite browser. +``` + +#### Build war from source + +Download [source code](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/archive/master.zip) from github or clone this repository. + +```bash +git clone https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring +cd GroupDocs.Annotation-for-Java-Spring +mvn package -P war +## Deploy this war on any server +``` + +#### Binary release (with all dependencies) + +Download [latest release](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/releases/latest) from [releases page](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/releases). + +**Note**: This method is **recommended** for running this sample behind firewall. + +```bash +curl -J -L -o release.tar.gz https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/releases/download/1.12.27/release.tar.gz +tar -xvzf release.tar.gz +cd release +java -jar annotation-spring-1.12.27.jar configuration.yml +## Open http://localhost:8080/annotation/ in your favorite browser. +``` + +#### Docker image +Use [docker](https://hub.docker.com/u/groupdocs) image. + +```bash +mkdir DocumentSamples +mkdir Licenses +docker run -p 8080:8080 --env application.hostAddress=localhost -v `pwd`/DocumentSamples:/home/groupdocs/app/DocumentSamples -v `pwd`/Licenses:/home/groupdocs/app/Licenses groupdocs/annotation +## Open http://localhost:8080/annotation/ in your favorite browser. +``` + +#### Configuration +For all methods above you can adjust settings in `configuration.yml`. By default in this sample will lookup for license file in `./Licenses` folder, so you can simply put your license file in that folder or specify relative/absolute path by setting `licensePath` value in `configuration.yml`. + +### Annotation configuration options + +| Option | Type | Default value | Description | +| ---------------------------------- | ------- |:-----------------:|:-------------------------------------------------------------------------------------------------------------------------------------------- | +| **`filesDirectory`** | String | `DocumentSamples` | Files directory path. Indicates where uploaded and predefined files are stored. It can be absolute or relative path | +| **`fontsDirectory`** | String | | Path to custom fonts directory. | +| **`defaultDocument`** | String | | Absolute path to default document that will be loaded automaticaly. | +| **`preloadPageCount`** | Integer | `0` | Indicate how many pages from a document should be loaded, remaining pages will be loaded on page scrolling.Set `0` to load all pages at once | +| **`textAnnotation`** | Boolean | `true` | Enable/disable Text annotation | +| **`areaAnnotation`** | Boolean | `true` | Enable/disable Area annotation | +| **`areaAnnotation`** | Boolean | `true` | Enable/disable Point annotation | +| **`pointAnnotation`** | Boolean | `true` | Enable thumbnails preview | +| **`textStrikeoutAnnotation`** | Boolean | `true` | Enable/disable TextStrikeout annotation | +| **`polylineAnnotation`** | Boolean | `true` | Enable/disable Polyline annotation | +| **`textFieldAnnotation`** | Boolean | `true` | Enable/disable TextField annotation | +| **`watermarkAnnotation`** | Boolean | `true` | Enable/disable Watermark annotation | +| **`textReplacementAnnotation`** | Boolean | `true` | Enable/disable TextReplacement annotation | +| **`arrowAnnotation`** | Boolean | `true` | Enable/disable Arrow annotation | +| **`textRedactionAnnotation`** | Boolean | `true` | Enable/disable TextRedaction annotation | +| **`resourcesRedactionAnnotation`** | Boolean | `true` | Enable/disable ResourcesRedaction annotation | +| **`textUnderlineAnnotation`** | Boolean | `true` | Enable/disable TextUnderline annotation | +| **`distanceAnnotation`** | Boolean | `true` | Enable/disable Distance annotation | +| **`downloadOriginal`** | Boolean | `true` | Enable/disable original document downloading | +| **`downloadAnnotated`** | Boolen | `true` | Enable/disable signed document downloading | +| **`zoom`** | Boolean | `true` | Enable/disable zoom | +| **`fitWidth`** | Boolean | `true` | Enable/disable fit width. Set true to zoom document pages fit width | + +## License +The MIT License (MIT). + +Please have a look at the LICENSE.md for more details + +## GroupDocs Annotation on other platforms & frameworks + +- JAVA DropWizard [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) +- .NET MVC [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) +- .NET WebForms [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) + +[Home](https://www.groupdocs.com/) | [Product Page](https://products.groupdocs.com/annotation/java) | [Documentation](https://docs.groupdocs.com/annotation/java/) | [Demos](https://products.groupdocs.app/annotation/family) | [API Reference](https://apireference.groupdocs.com/java/annotation) | [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | [Blog](https://blog.groupdocs.com/category/annotation/) | [Free Support](https://forum.groupdocs.com/c/annotation) | [Temporary License](https://purchase.groupdocs.com/temporary-license) diff --git a/Demos/Spring/client/.editorconfig b/Demos/Spring/client/.editorconfig new file mode 100644 index 0000000..6e87a00 --- /dev/null +++ b/Demos/Spring/client/.editorconfig @@ -0,0 +1,13 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/Demos/Spring/client/.gitignore b/Demos/Spring/client/.gitignore new file mode 100644 index 0000000..ee5c9d8 --- /dev/null +++ b/Demos/Spring/client/.gitignore @@ -0,0 +1,39 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc + +# dependencies +/node_modules + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# misc +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +yarn-error.log +testem.log +/typings + +# System Files +.DS_Store +Thumbs.db diff --git a/Demos/Spring/client/.prettierignore b/Demos/Spring/client/.prettierignore new file mode 100644 index 0000000..d0b804d --- /dev/null +++ b/Demos/Spring/client/.prettierignore @@ -0,0 +1,4 @@ +# Add files here to ignore them from prettier formatting + +/dist +/coverage diff --git a/Demos/Spring/client/.prettierrc b/Demos/Spring/client/.prettierrc new file mode 100644 index 0000000..544138b --- /dev/null +++ b/Demos/Spring/client/.prettierrc @@ -0,0 +1,3 @@ +{ + "singleQuote": true +} diff --git a/Demos/Spring/client/.vscode/extensions.json b/Demos/Spring/client/.vscode/extensions.json new file mode 100644 index 0000000..7804e26 --- /dev/null +++ b/Demos/Spring/client/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "nrwl.angular-console", + "angular.ng-template", + "ms-vscode.vscode-typescript-tslint-plugin", + "esbenp.prettier-vscode" + ] +} diff --git a/Demos/Spring/client/README.md b/Demos/Spring/client/README.md new file mode 100644 index 0000000..8337f8c --- /dev/null +++ b/Demos/Spring/client/README.md @@ -0,0 +1,84 @@ +# Client + +This project was generated using [Nx](https://nx.dev). + +

    + +🔎 **Nx is a set of Extensible Dev Tools for Monorepos.** + +## Quick Start & Documentation + +[Nx Documentation](https://nx.dev/angular) + +[10-minute video showing all Nx features](https://nx.dev/angular/getting-started/what-is-nx) + +[Interactive Tutorial](https://nx.dev/angular/tutorial/01-create-application) + +## Adding capabilities to your workspace + +Nx supports many plugins which add capabilities for developing different types of applications and different tools. + +These capabilities include generating applications, libraries, etc as well as the devtools to test, and build projects as well. + +Below are some plugins which you can add to your workspace: + +- [Angular](https://angular.io) + - `ng add @nrwl/angular` +- [React](https://reactjs.org) + - `ng add @nrwl/react` +- Web (no framework frontends) + - `ng add @nrwl/web` +- [Nest](https://nestjs.com) + - `ng add @nrwl/nest` +- [Express](https://expressjs.com) + - `ng add @nrwl/express` +- [Node](https://nodejs.org) + - `ng add @nrwl/node` + +## Generate an application + +Run `ng g @nrwl/angular:app my-app` to generate an application. + +> You can use any of the plugins above to generate applications as well. + +When using Nx, you can create multiple applications and libraries in the same workspace. + +## Generate a library + +Run `ng g @nrwl/angular:lib my-lib` to generate a library. + +> You can also use any of the plugins above to generate libraries as well. + +Libraries are sharable across libraries and applications. They can be imported from `@client/mylib`. + +## Development server + +Run `ng serve my-app` for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng g component my-component --project=my-app` to generate a new component. + +## Build + +Run `ng build my-app` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. + +## Running unit tests + +Run `ng test my-app` to execute the unit tests via [Jest](https://jestjs.io). + +Run `nx affected:test` to execute the unit tests affected by a change. + +## Running end-to-end tests + +Run `ng e2e my-app` to execute the end-to-end tests via [Cypress](https://www.cypress.io). + +Run `nx affected:e2e` to execute the end-to-end tests affected by a change. + +## Understand your workspace + +Run `nx dep-graph` to see a diagram of the dependencies of your projects. + +## Further help + +Visit the [Nx Documentation](https://nx.dev/angular) to learn more. diff --git a/Demos/Spring/client/angular.json b/Demos/Spring/client/angular.json new file mode 100644 index 0000000..ce7271a --- /dev/null +++ b/Demos/Spring/client/angular.json @@ -0,0 +1,140 @@ +{ + "version": 1, + "projects": { + "annotation": { + "projectType": "application", + "schematics": { + "@nrwl/angular:component": { + "style": "less" + } + }, + "root": "apps/annotation", + "sourceRoot": "apps/annotation/src", + "prefix": "client", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "../src/main/resources/static/angular/annotation", + "index": "apps/annotation/src/index.html", + "main": "apps/annotation/src/main.ts", + "polyfills": "apps/annotation/src/polyfills.ts", + "tsConfig": "apps/annotation/tsconfig.app.json", + "aot": true, + "assets": [ + "apps/annotation/src/favicon.ico", + "apps/annotation/src/assets" + ], + "styles": ["apps/annotation/src/styles.less"], + "scripts": [] + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "apps/annotation/src/environments/environment.ts", + "with": "apps/annotation/src/environments/environment.prod.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "5mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "6kb", + "maximumError": "10kb" + } + ] + } + } + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "annotation:build" + }, + "configurations": { + "production": { + "browserTarget": "annotation:build:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "annotation:build" + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "apps/annotation/tsconfig.app.json", + "apps/annotation/tsconfig.spec.json" + ], + "exclude": ["**/node_modules/**", "!apps/annotation/**"] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "options": { + "jestConfig": "apps/annotation/jest.config.js", + "tsConfig": "apps/annotation/tsconfig.spec.json", + "setupFile": "apps/annotation/src/test-setup.ts" + } + } + } + }, + "annotation-e2e": { + "root": "apps/annotation-e2e", + "sourceRoot": "apps/annotation-e2e/src", + "projectType": "application", + "architect": { + "e2e": { + "builder": "@nrwl/cypress:cypress", + "options": { + "cypressConfig": "apps/annotation-e2e/cypress.json", + "tsConfig": "apps/annotation-e2e/tsconfig.e2e.json", + "devServerTarget": "annotation:serve" + }, + "configurations": { + "production": { + "devServerTarget": "annotation:serve:production" + } + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": ["apps/annotation-e2e/tsconfig.e2e.json"], + "exclude": ["**/node_modules/**", "!apps/annotation-e2e/**"] + } + } + } + } + }, + "cli": { + "defaultCollection": "@nrwl/angular" + }, + "schematics": { + "@nrwl/angular:application": { + "unitTestRunner": "jest", + "e2eTestRunner": "cypress" + }, + "@nrwl/angular:library": { + "unitTestRunner": "jest" + } + }, + "defaultProject": "annotation" +} diff --git a/Demos/Spring/client/apps/.gitkeep b/Demos/Spring/client/apps/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Demos/Spring/client/apps/.gitkeep @@ -0,0 +1 @@ + diff --git a/Demos/Spring/client/apps/annotation-e2e/cypress.json b/Demos/Spring/client/apps/annotation-e2e/cypress.json new file mode 100644 index 0000000..156cb77 --- /dev/null +++ b/Demos/Spring/client/apps/annotation-e2e/cypress.json @@ -0,0 +1,12 @@ +{ + "fileServerFolder": ".", + "fixturesFolder": "./src/fixtures", + "integrationFolder": "./src/integration", + "modifyObstructiveCode": false, + "pluginsFile": "./src/plugins/index", + "supportFile": "./src/support/index.ts", + "video": true, + "videosFolder": "../../dist/cypress/apps/annotation-e2e/videos", + "screenshotsFolder": "../../dist/cypress/apps/annotation-e2e/screenshots", + "chromeWebSecurity": false +} diff --git a/Demos/Spring/client/apps/annotation-e2e/src/fixtures/example.json b/Demos/Spring/client/apps/annotation-e2e/src/fixtures/example.json new file mode 100644 index 0000000..294cbed --- /dev/null +++ b/Demos/Spring/client/apps/annotation-e2e/src/fixtures/example.json @@ -0,0 +1,4 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io" +} diff --git a/Demos/Spring/client/apps/annotation-e2e/src/integration/app.spec.ts b/Demos/Spring/client/apps/annotation-e2e/src/integration/app.spec.ts new file mode 100644 index 0000000..e75549a --- /dev/null +++ b/Demos/Spring/client/apps/annotation-e2e/src/integration/app.spec.ts @@ -0,0 +1,13 @@ +import { getGreeting } from '../support/app.po'; + +describe('annotation', () => { + beforeEach(() => cy.visit('/')); + + it('should display welcome message', () => { + // Custom command example, see `../support/commands.ts` file + cy.login('my-email@something.com', 'myPassword'); + + // Function helper example, see `../support/app.po.ts` file + getGreeting().contains('Welcome to annotation!'); + }); +}); diff --git a/Demos/Spring/client/apps/annotation-e2e/src/plugins/index.js b/Demos/Spring/client/apps/annotation-e2e/src/plugins/index.js new file mode 100644 index 0000000..9067e75 --- /dev/null +++ b/Demos/Spring/client/apps/annotation-e2e/src/plugins/index.js @@ -0,0 +1,22 @@ +// *********************************************************** +// This example plugins/index.js can be used to load plugins +// +// You can change the location of this file or turn off loading +// the plugins file with the 'pluginsFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/plugins-guide +// *********************************************************** + +// This function is called when a project is opened or re-opened (e.g. due to +// the project's config changing) + +const { preprocessTypescript } = require('@nrwl/cypress/plugins/preprocessor'); + +module.exports = (on, config) => { + // `on` is used to hook into various events Cypress emits + // `config` is the resolved Cypress config + + // Preprocess Typescript file using Nx helper + on('file:preprocessor', preprocessTypescript(config)); +}; diff --git a/Demos/Spring/client/apps/annotation-e2e/src/support/app.po.ts b/Demos/Spring/client/apps/annotation-e2e/src/support/app.po.ts new file mode 100644 index 0000000..3293424 --- /dev/null +++ b/Demos/Spring/client/apps/annotation-e2e/src/support/app.po.ts @@ -0,0 +1 @@ +export const getGreeting = () => cy.get('h1'); diff --git a/Demos/Spring/client/apps/annotation-e2e/src/support/commands.ts b/Demos/Spring/client/apps/annotation-e2e/src/support/commands.ts new file mode 100644 index 0000000..61b3a3e --- /dev/null +++ b/Demos/Spring/client/apps/annotation-e2e/src/support/commands.ts @@ -0,0 +1,31 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// eslint-disable-next-line @typescript-eslint/no-namespace +declare namespace Cypress { + interface Chainable { + login(email: string, password: string): void; + } +} +// +// -- This is a parent command -- +Cypress.Commands.add('login', (email, password) => { + console.log('Custom command example: Login', email, password); +}); +// +// -- This is a child command -- +// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/Demos/Spring/client/apps/annotation-e2e/src/support/index.ts b/Demos/Spring/client/apps/annotation-e2e/src/support/index.ts new file mode 100644 index 0000000..3d469a6 --- /dev/null +++ b/Demos/Spring/client/apps/annotation-e2e/src/support/index.ts @@ -0,0 +1,17 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands'; diff --git a/Demos/Spring/client/apps/annotation-e2e/tsconfig.e2e.json b/Demos/Spring/client/apps/annotation-e2e/tsconfig.e2e.json new file mode 100644 index 0000000..824748b --- /dev/null +++ b/Demos/Spring/client/apps/annotation-e2e/tsconfig.e2e.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "sourceMap": false, + "outDir": "../../dist/out-tsc" + }, + "include": ["src/**/*.ts", "src/**/*.js"] +} diff --git a/Demos/Spring/client/apps/annotation-e2e/tsconfig.json b/Demos/Spring/client/apps/annotation-e2e/tsconfig.json new file mode 100644 index 0000000..d8d4ea3 --- /dev/null +++ b/Demos/Spring/client/apps/annotation-e2e/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "types": ["cypress", "node"] + }, + "include": ["**/*.ts", "**/*.js"] +} diff --git a/Demos/Spring/client/apps/annotation-e2e/tslint.json b/Demos/Spring/client/apps/annotation-e2e/tslint.json new file mode 100644 index 0000000..8acd9a3 --- /dev/null +++ b/Demos/Spring/client/apps/annotation-e2e/tslint.json @@ -0,0 +1 @@ +{ "extends": "../../tslint.json", "rules": {} } diff --git a/Demos/Spring/client/apps/annotation/browserslist b/Demos/Spring/client/apps/annotation/browserslist new file mode 100644 index 0000000..8084853 --- /dev/null +++ b/Demos/Spring/client/apps/annotation/browserslist @@ -0,0 +1,12 @@ +# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries + +# You can see what browsers were selected by your queries by running: +# npx browserslist + +> 0.5% +last 2 versions +Firefox ESR +not dead +not IE 9-11 # For IE 9-11 support, remove 'not'. \ No newline at end of file diff --git a/Demos/Spring/client/apps/annotation/jest.config.js b/Demos/Spring/client/apps/annotation/jest.config.js new file mode 100644 index 0000000..dd90dfa --- /dev/null +++ b/Demos/Spring/client/apps/annotation/jest.config.js @@ -0,0 +1,10 @@ +module.exports = { + name: 'annotation', + preset: '../../jest.config.js', + coverageDirectory: '../../coverage/apps/annotation', + snapshotSerializers: [ + 'jest-preset-angular/build/AngularNoNgAttributesSnapshotSerializer.js', + 'jest-preset-angular/build/AngularSnapshotSerializer.js', + 'jest-preset-angular/build/HTMLCommentSerializer.js' + ] +}; diff --git a/Demos/Spring/client/apps/annotation/src/app/app.component.html b/Demos/Spring/client/apps/annotation/src/app/app.component.html new file mode 100644 index 0000000..557d7ad --- /dev/null +++ b/Demos/Spring/client/apps/annotation/src/app/app.component.html @@ -0,0 +1 @@ + diff --git a/Demos/Spring/client/apps/annotation/src/app/app.component.less b/Demos/Spring/client/apps/annotation/src/app/app.component.less new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Spring/client/apps/annotation/src/app/app.component.spec.ts b/Demos/Spring/client/apps/annotation/src/app/app.component.spec.ts new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Spring/client/apps/annotation/src/app/app.component.ts b/Demos/Spring/client/apps/annotation/src/app/app.component.ts new file mode 100644 index 0000000..e6fb213 --- /dev/null +++ b/Demos/Spring/client/apps/annotation/src/app/app.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'client-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.less'] +}) +export class AppComponent { + title = 'annotation'; +} diff --git a/Demos/Spring/client/apps/annotation/src/app/app.module.ts b/Demos/Spring/client/apps/annotation/src/app/app.module.ts new file mode 100644 index 0000000..ae89b9d --- /dev/null +++ b/Demos/Spring/client/apps/annotation/src/app/app.module.ts @@ -0,0 +1,14 @@ +import {BrowserModule} from '@angular/platform-browser'; +import {NgModule} from '@angular/core'; + +import {AppComponent} from './app.component'; +import {AnnotationModule} from "@groupdocs.examples.angular/annotation"; + +@NgModule({ + declarations: [AppComponent], + imports: [BrowserModule, AnnotationModule], + providers: [], + bootstrap: [AppComponent] +}) +export class AppModule { +} diff --git a/Demos/Spring/client/apps/annotation/src/assets/.gitkeep b/Demos/Spring/client/apps/annotation/src/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Spring/client/apps/annotation/src/environments/environment.prod.ts b/Demos/Spring/client/apps/annotation/src/environments/environment.prod.ts new file mode 100644 index 0000000..3612073 --- /dev/null +++ b/Demos/Spring/client/apps/annotation/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/Demos/Spring/client/apps/annotation/src/environments/environment.ts b/Demos/Spring/client/apps/annotation/src/environments/environment.ts new file mode 100644 index 0000000..7b4f817 --- /dev/null +++ b/Demos/Spring/client/apps/annotation/src/environments/environment.ts @@ -0,0 +1,16 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/Demos/Spring/client/apps/annotation/src/favicon.ico b/Demos/Spring/client/apps/annotation/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..317ebcb2336e0833a22dddf0ab287849f26fda57 GIT binary patch literal 15086 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 + + + + Annotation + + + + + + + + diff --git a/Demos/Spring/client/apps/annotation/src/main.ts b/Demos/Spring/client/apps/annotation/src/main.ts new file mode 100644 index 0000000..fa4e0ae --- /dev/null +++ b/Demos/Spring/client/apps/annotation/src/main.ts @@ -0,0 +1,13 @@ +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic() + .bootstrapModule(AppModule) + .catch(err => console.error(err)); diff --git a/Demos/Spring/client/apps/annotation/src/polyfills.ts b/Demos/Spring/client/apps/annotation/src/polyfills.ts new file mode 100644 index 0000000..2f258e5 --- /dev/null +++ b/Demos/Spring/client/apps/annotation/src/polyfills.ts @@ -0,0 +1,62 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +// import 'classlist.js'; // Run `npm install --save classlist.js`. + +/** + * Web Animations `@angular/platform-browser/animations` + * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. + * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). + */ +// import 'web-animations-js'; // Run `npm install --save web-animations-js`. + +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + * because those flags need to be set before `zone.js` being loaded, and webpack + * will put import in the top of bundle, so user need to create a separate file + * in this directory (for example: zone-flags.ts), and put the following flags + * into that file, and then add the following code before importing zone.js. + * import './zone-flags.ts'; + * + * The flags allowed in zone-flags.ts are listed here. + * + * The following flags will work for all browsers. + * + * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + * + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + * + * (window as any).__Zone_enable_cross_context_check = true; + * + */ + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +import 'zone.js/dist/zone'; // Included with Angular CLI. + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ diff --git a/Demos/Spring/client/apps/annotation/src/styles.less b/Demos/Spring/client/apps/annotation/src/styles.less new file mode 100644 index 0000000..90d4ee0 --- /dev/null +++ b/Demos/Spring/client/apps/annotation/src/styles.less @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/Demos/Spring/client/apps/annotation/src/test-setup.ts b/Demos/Spring/client/apps/annotation/src/test-setup.ts new file mode 100644 index 0000000..8d88704 --- /dev/null +++ b/Demos/Spring/client/apps/annotation/src/test-setup.ts @@ -0,0 +1 @@ +import 'jest-preset-angular'; diff --git a/Demos/Spring/client/apps/annotation/tsconfig.app.json b/Demos/Spring/client/apps/annotation/tsconfig.app.json new file mode 100644 index 0000000..12dc816 --- /dev/null +++ b/Demos/Spring/client/apps/annotation/tsconfig.app.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "types": [] + }, + "files": ["src/main.ts", "src/polyfills.ts"], + "include": ["**/*.ts"], + "exclude": ["src/test-setup.ts", "**/*.spec.ts"] +} diff --git a/Demos/Spring/client/apps/annotation/tsconfig.json b/Demos/Spring/client/apps/annotation/tsconfig.json new file mode 100644 index 0000000..e5decd5 --- /dev/null +++ b/Demos/Spring/client/apps/annotation/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "types": ["node", "jest"] + }, + "include": ["**/*.ts"] +} diff --git a/Demos/Spring/client/apps/annotation/tsconfig.spec.json b/Demos/Spring/client/apps/annotation/tsconfig.spec.json new file mode 100644 index 0000000..cfff29a --- /dev/null +++ b/Demos/Spring/client/apps/annotation/tsconfig.spec.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "files": ["src/test-setup.ts"], + "include": ["**/*.spec.ts", "**/*.d.ts"] +} diff --git a/Demos/Spring/client/apps/annotation/tslint.json b/Demos/Spring/client/apps/annotation/tslint.json new file mode 100644 index 0000000..df75834 --- /dev/null +++ b/Demos/Spring/client/apps/annotation/tslint.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tslint.json", + "rules": { + "directive-selector": [true, "attribute", "client", "camelCase"], + "component-selector": [true, "element", "client", "kebab-case"] + } +} diff --git a/Demos/Spring/client/jest.config.js b/Demos/Spring/client/jest.config.js new file mode 100644 index 0000000..ffd5ba2 --- /dev/null +++ b/Demos/Spring/client/jest.config.js @@ -0,0 +1,10 @@ +module.exports = { + testMatch: ['**/+(*.)+(spec|test).+(ts|js)?(x)'], + transform: { + '^.+\\.(ts|js|html)$': 'ts-jest' + }, + resolver: '@nrwl/jest/plugins/resolver', + moduleFileExtensions: ['ts', 'js', 'html'], + coverageReporters: ['html'], + passWithNoTests: true +}; diff --git a/Demos/Spring/client/libs/.gitkeep b/Demos/Spring/client/libs/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Spring/client/nx.json b/Demos/Spring/client/nx.json new file mode 100644 index 0000000..dc5026e --- /dev/null +++ b/Demos/Spring/client/nx.json @@ -0,0 +1,19 @@ +{ + "npmScope": "client", + "implicitDependencies": { + "angular.json": "*", + "package.json": "*", + "tsconfig.json": "*", + "tslint.json": "*", + "nx.json": "*" + }, + "projects": { + "annotation": { + "tags": [] + }, + "annotation-e2e": { + "tags": [], + "implicitDependencies": ["annotation"] + } + } +} diff --git a/Demos/Spring/client/package.json b/Demos/Spring/client/package.json new file mode 100644 index 0000000..c262072 --- /dev/null +++ b/Demos/Spring/client/package.json @@ -0,0 +1,67 @@ +{ + "name": "client", + "version": "0.0.0", + "license": "MIT", + "scripts": { + "ng": "ng", + "nx": "nx", + "start": "ng serve", + "build": "ng build", + "test": "ng test", + "lint": "nx workspace-lint && ng lint", + "e2e": "ng e2e", + "affected:apps": "nx affected:apps", + "affected:libs": "nx affected:libs", + "affected:build": "nx affected:build", + "affected:e2e": "nx affected:e2e", + "affected:test": "nx affected:test", + "affected:lint": "nx affected:lint", + "affected:dep-graph": "nx affected:dep-graph", + "affected": "nx affected", + "format": "nx format:write", + "format:write": "nx format:write", + "format:check": "nx format:check", + "update": "ng update @nrwl/workspace", + "workspace-schematic": "nx workspace-schematic", + "dep-graph": "nx dep-graph", + "help": "nx help" + }, + "private": true, + "dependencies": { + "@angular/animations": "^8.2.4", + "@angular/common": "^8.2.4", + "@angular/compiler": "^8.2.4", + "@angular/core": "^8.2.4", + "@angular/forms": "^8.2.4", + "@angular/platform-browser": "^8.2.4", + "@angular/platform-browser-dynamic": "^8.2.4", + "@angular/router": "^8.2.4", + "@groupdocs.examples.angular/annotation": "^0.6.1", + "@nrwl/angular": "^8.12.2", + "common-components": "^1.0.5", + "core-js": "^2.6.11", + "rxjs": "~6.4.0", + "zone.js": "^0.9.1" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^0.800.1", + "@angular/cli": "8.1.1", + "@angular/compiler-cli": "^8.2.13", + "@angular/language-service": "^8.2.13", + "@nrwl/cypress": "8.4.3", + "@nrwl/jest": "8.4.3", + "@nrwl/workspace": "8.4.3", + "@types/jest": "24.0.9", + "@types/node": "~8.9.4", + "codelyzer": "~5.0.1", + "cypress": "~3.3.1", + "dotenv": "6.2.0", + "jest": "24.1.0", + "jest-preset-angular": "7.0.0", + "prettier": "1.16.4", + "ts-jest": "24.0.0", + "ts-node": "~7.0.0", + "tslint": "~5.11.0", + "typescript": "~3.4.5" + } +} diff --git a/Demos/Spring/client/tools/schematics/.gitkeep b/Demos/Spring/client/tools/schematics/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Spring/client/tools/tsconfig.tools.json b/Demos/Spring/client/tools/tsconfig.tools.json new file mode 100644 index 0000000..82bd1f0 --- /dev/null +++ b/Demos/Spring/client/tools/tsconfig.tools.json @@ -0,0 +1,11 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../dist/out-tsc/tools", + "rootDir": ".", + "module": "commonjs", + "target": "es5", + "types": ["node"] + }, + "include": ["**/*.ts"] +} diff --git a/Demos/Spring/client/tsconfig.json b/Demos/Spring/client/tsconfig.json new file mode 100644 index 0000000..a5099b5 --- /dev/null +++ b/Demos/Spring/client/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "rootDir": ".", + "sourceMap": true, + "declaration": false, + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "es2015", + "module": "esnext", + "typeRoots": ["node_modules/@types"], + "lib": ["es2017", "dom"], + "skipLibCheck": true, + "skipDefaultLibCheck": true, + "baseUrl": ".", + "paths": {} + }, + "exclude": ["node_modules", "tmp"] +} diff --git a/Demos/Spring/client/tslint.json b/Demos/Spring/client/tslint.json new file mode 100644 index 0000000..2533001 --- /dev/null +++ b/Demos/Spring/client/tslint.json @@ -0,0 +1,80 @@ +{ + "rulesDirectory": [ + "node_modules/@nrwl/workspace/src/tslint", + "node_modules/codelyzer" + ], + "rules": { + "arrow-return-shorthand": true, + "callable-types": true, + "class-name": true, + "deprecation": { + "severity": "warn" + }, + "forin": true, + "import-blacklist": [true, "rxjs/Rx"], + "interface-over-type-literal": true, + "member-access": false, + "member-ordering": [ + true, + { + "order": [ + "static-field", + "instance-field", + "static-method", + "instance-method" + ] + } + ], + "no-arg": true, + "no-bitwise": true, + "no-console": [true, "debug", "info", "time", "timeEnd", "trace"], + "no-construct": true, + "no-debugger": true, + "no-duplicate-super": true, + "no-empty": false, + "no-empty-interface": true, + "no-eval": true, + "no-inferrable-types": [true, "ignore-params"], + "no-misused-new": true, + "no-non-null-assertion": true, + "no-shadowed-variable": true, + "no-string-literal": false, + "no-string-throw": true, + "no-switch-case-fall-through": true, + "no-unnecessary-initializer": true, + "no-unused-expression": true, + "no-var-keyword": true, + "object-literal-sort-keys": false, + "prefer-const": true, + "radix": true, + "triple-equals": [true, "allow-null-check"], + "unified-signatures": true, + "variable-name": false, + "nx-enforce-module-boundaries": [ + true, + { + "allow": [], + "depConstraints": [ + { + "sourceTag": "*", + "onlyDependOnLibsWithTags": ["*"] + } + ] + } + ], + "directive-selector": [true, "attribute", "app", "camelCase"], + "component-selector": [true, "element", "app", "kebab-case"], + "no-conflicting-lifecycle": true, + "no-host-metadata-property": true, + "no-input-rename": true, + "no-inputs-metadata-property": true, + "no-output-native": true, + "no-output-on-prefix": true, + "no-output-rename": true, + "no-outputs-metadata-property": true, + "template-banana-in-box": true, + "template-no-negated-async": true, + "use-lifecycle-interface": true, + "use-pipe-transform-interface": true + } +} diff --git a/Demos/Spring/configuration.yml b/Demos/Spring/configuration.yml new file mode 100644 index 0000000..f270a61 --- /dev/null +++ b/Demos/Spring/configuration.yml @@ -0,0 +1,99 @@ +################################################ +# Server configurations +################################################ +server: + connector: + # Changing port is available for embedded server only + # Is is not possible to change port for deploying application on external server + port: 8080 + + +################################################ +# Application (global) configurations +################################################ +application: + # License path + # Absolute path to GroupDocs license file + licensePath: + # Host name or ip for server instance + hostAddress: + + +################################################ +# Common configurations +################################################ +common: + # File rewriting on document uploading + # Set false to keep both files + # Set true to replace files with same name + rewrite: true + # Page navigation + # Set false to disable document navigation (go to next, previous, last and first page) + pageSelector: true + # Document download + # Set false to disable document download + download: true + # Document upload + # Set false to disable document upload + upload: true + # Document print + # Set false to disable document print + print: true + # File browser + # Set false to disable document browse + browse: true + # Set false to disable right mouse click + enableRightClick: true + +################################################ +# GroupDocs.Annotation configurations +################################################ +annotation: + # Files directory path + # Absolute path to files directory + filesDirectory: DocumentSamples + # Default document + # Absolute path to default document + defaultDocument: + # Pages preload + # How many pages from a document should be loaded, remaining pages will be loaded on page scrolling + # Set 0 to load all pages at once + preloadPageCount: 0 + # Fonts path + # Absolute path to custom fonts directory + fontsDirectory: + # Enable/disable Text annotation + textAnnotation: true + # Enable/disable Area annotation + areaAnnotation: true + # Enable/disable Point annotation + pointAnnotation: true + # Enable/disable TextStrikeout annotation + textStrikeoutAnnotation: true + # Enable/disable Polyline annotation + polylineAnnotation: true + # Enable/disable TextField annotation + textFieldAnnotation: true + # Enable/disable Watermark annotation + watermarkAnnotation: true + # Enable/disable TextReplacement annotation + textReplacementAnnotation: true + # Enable/disable Arrow annotation + arrowAnnotation: true + # Enable/disable TextRedaction annotation + textRedactionAnnotation: true + # Enable/disable ResourcesRedaction annotation + resourcesRedactionAnnotation: true + # Enable/disable TextUnderline annotation + textUnderlineAnnotation: true + # Enable/disable Distance annotation + distanceAnnotation: true + # Enable/disable original document downloading + downloadOriginal: true + # Enable/disable signed document downloading + downloadAnnotated: true + # Enable/disable zoom + zoom: true + # Enable/disable fit width + # set true to zoom document pages fit width + fitWidth: true diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml new file mode 100644 index 0000000..91c3438 --- /dev/null +++ b/Demos/Spring/pom.xml @@ -0,0 +1,261 @@ + + + 4.0.0 + + com.groupdocs.ui + annotation-spring + 1.12.27 + ${packaging.type} + + GroupDocs.Annotation for Java Spring Sample + http://groupdocs.com + + + org.springframework.boot + spring-boot-starter-parent + 2.0.4.RELEASE + + + + + + jar + + + true + + + jar + compile + + + + + org.apache.maven.plugins + maven-shade-plugin + 2.4.3 + + + package + + shade + + + + + META-INF/spring.handlers + + + META-INF/spring.factories + + + META-INF/spring.schemas + + + + com.groupdocs.ui.Application + + + + + + + false + + + + + + + + war + + war + provided + + + + + + com.groupdocs.ui.Application + 1.8 + UTF-8 + + + + + org.springframework.boot + spring-boot-starter-web + 2.0.4.RELEASE + + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.springframework.boot + spring-boot-starter-jetty + 2.0.4.RELEASE + ${scope} + + + + org.springframework.boot + spring-boot-starter-test + 2.0.4.RELEASE + test + + + org.springframework.boot + spring-boot-starter-thymeleaf + 2.0.4.RELEASE + + + + com.groupdocs + groupdocs-annotation + 19.7 + + + + com.google.guava + guava + 11.0.2 + + + commons-io + commons-io + 2.7 + + + + + + GroupDocsJavaAPI + GroupDocs Java API + http://artifact.groupdocs.com/repo/ + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.0 + + 1.8 + 1.8 + + + + com.github.eirslett + frontend-maven-plugin + 1.6 + + client + + + + + install node and npm + + install-node-and-npm + + + v10.15.1 + + + + npm install + + npm + + + install + + + + npm update + + npm + + + update + + + + install client + + npm + + + install + + + + build client + + npm + + + run build + + + + + + org.jacoco + jacoco-maven-plugin + 0.8.2 + + + default-prepare-agent + + prepare-agent + + + + default-report + prepare-package + + report + + + + + + + + + \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/Application.java b/Demos/Spring/src/main/java/com/groupdocs/ui/Application.java new file mode 100644 index 0000000..a1b1071 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/Application.java @@ -0,0 +1,88 @@ +package com.groupdocs.ui; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.config.YamlProcessor; +import org.springframework.beans.factory.config.YamlPropertiesFactoryBean; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.FileUrlResource; +import org.springframework.util.StringUtils; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import java.io.File; +import java.net.MalformedURLException; + +@SpringBootApplication +public class Application extends SpringBootServletInitializer { + + private static final Logger logger = LoggerFactory.getLogger(Application.class); + + private static final String DEFAULT_CONFIGURATION_FILE = "defaultConfiguration.yml"; + private static String configurationFile = "configuration.yml"; + + public static void main(String[] args) { + if (args != null && args.length > 0) { + configurationFile = args[0]; + } + SpringApplication.run(Application.class, args); + } + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(Application.class); + } + + @Bean + public static PropertySourcesPlaceholderConfigurer properties() { + PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer(); + YamlPropertiesFactoryBean propertiesFactoryBean = getYamlPropertiesFactoryBean(); + + propertySourcesPlaceholderConfigurer.setProperties(propertiesFactoryBean.getObject()); + return propertySourcesPlaceholderConfigurer; + } + + public static YamlPropertiesFactoryBean getYamlPropertiesFactoryBean() { + YamlPropertiesFactoryBean propertiesFactoryBean = new YamlPropertiesFactoryBean(); + ClassPathResource defaultResource = new ClassPathResource(DEFAULT_CONFIGURATION_FILE); + + File file = StringUtils.isEmpty(configurationFile) ? null : new File(configurationFile); + if (file != null && file.exists()) { + try { + propertiesFactoryBean.setResolutionMethod(YamlProcessor.ResolutionMethod.OVERRIDE_AND_IGNORE); + propertiesFactoryBean.setResources(defaultResource, new FileUrlResource(file.toURI().toURL())); + } catch (MalformedURLException e) { + logger.info("Can not find external configuration file. Use default."); + propertiesFactoryBean.setResources(defaultResource); + } + } else { + logger.info("Can not find external configuration file. Use default."); + propertiesFactoryBean.setResources(defaultResource); + } + return propertiesFactoryBean; + } + + /** + * Configure CORS parameters + * @return + */ + @Bean + public WebMvcConfigurer corsConfigurer() { + return new WebMvcConfigurer() { + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowedMethods("GET", "POST", "PUT", "DELETE") + .allowedOrigins("*") + .allowedHeaders("*"); + } + }; + } + +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/ApplicationStartup.java b/Demos/Spring/src/main/java/com/groupdocs/ui/ApplicationStartup.java new file mode 100644 index 0000000..1eb39cf --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/ApplicationStartup.java @@ -0,0 +1,29 @@ +package com.groupdocs.ui; + +import com.groupdocs.ui.config.ServerConfiguration; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.web.context.WebServerInitializedEvent; +import org.springframework.context.ApplicationListener; +import org.springframework.stereotype.Component; + +/** + * Component for listening ApplicationContext event + */ +@Component +public class ApplicationStartup implements ApplicationListener { + + @Autowired + private ServerConfiguration serverConfiguration; + + /** + * This method is called during Spring's startup. + * + * @param event Event raised when an ApplicationContext gets initialized or + * refreshed. + */ + public void onApplicationEvent(WebServerInitializedEvent event) { + // use this event for obtaining the local port of a running server + serverConfiguration.setHttpPort(event.getWebServer().getPort()); + } + +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/ServerPortCustomizer.java b/Demos/Spring/src/main/java/com/groupdocs/ui/ServerPortCustomizer.java new file mode 100644 index 0000000..233ed55 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/ServerPortCustomizer.java @@ -0,0 +1,23 @@ +package com.groupdocs.ui; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.web.server.ConfigurableWebServerFactory; +import org.springframework.boot.web.server.WebServerFactoryCustomizer; +import org.springframework.stereotype.Component; + +/** + * Customize port from configuration properties + */ +@Component +public class ServerPortCustomizer implements WebServerFactoryCustomizer { + + private static final int DEFAULT_PORT = 8080; + + @Value("#{new Integer('${server.connector.port}')}") + private Integer port; + + @Override + public void customize(ConfigurableWebServerFactory factory) { + factory.setPort(port != null ? port : DEFAULT_PORT); + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java new file mode 100644 index 0000000..37a6ccc --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java @@ -0,0 +1,46 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Point; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +public abstract class AbstractBoxAnnotator extends Annotator { + + public AbstractBoxAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo annotationInfo = super.initAnnotationInfo(); + // set draw annotation properties + Rectangle box = annotationInfo.getBox(); + StringBuilder builder = new StringBuilder(). + append("M").append(box.getX()). + append(",").append(box.getY()). + append("L").append(box.getWidth()). + append(",").append(box.getHeight()); + annotationInfo.setSvgPath(builder.toString()); + // set annotation position + annotationInfo.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + return annotationInfo; + } + + @Override + protected Rectangle getBox() { + String svgPath = annotationData.getSvgPath(); + String startPoint = svgPath.replaceAll("[a-zA-Z]+", "").split(" ")[0]; + String endPoint = svgPath.replaceAll("[a-zA-Z]+", "").split(" ")[1]; + String[] start = startPoint.split(","); + double startX = Double.parseDouble(start.length > 0 ? start[0] : "0"); + double startY = Double.parseDouble(start.length > 1 ? start[1] : "0"); + String[] end = endPoint.split(","); + double endX = Double.parseDouble(end.length > 0 ? end[0] : "0") - startX; + double endY = Double.parseDouble(end.length > 1 ? end[1] : "0") - startY; + return new Rectangle(startX, startY, endX, endY); + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java new file mode 100644 index 0000000..4dfcbaa --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java @@ -0,0 +1,76 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +public abstract class AbstractSvgAnnotator extends Annotator { + + public AbstractSvgAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo annotationInfo = super.initAnnotationInfo(); + // set draw annotation properties + annotationInfo.setSvgPath(buildSvgPath()); + return annotationInfo; + } + + /** + * Use this method for fixing box coordinates if needed + * + * @param annotationInfo + */ + protected void fixBox(AnnotationInfo annotationInfo) { + double topPosition = pageData.getHeight() - annotationData.getTop(); + annotationInfo.getBox().setY((float) topPosition); + } + + /** + * Calculate svg position + * + * @return + */ + protected String buildSvgPath() { + // we use such calculation since the GroupDocs.Annotation library takes text line position from the bottom of the page + double topPosition = pageData.getHeight() - annotationData.getTop(); + // calculation of the X-shift + double topRightX = annotationData.getLeft() + annotationData.getWidth(); + // calculation of the Y-shift + double bottomRightY = topPosition - annotationData.getHeight(); + return getSvgString(topPosition, annotationData.getLeft(), topRightX, bottomRightY); + } + + /** + * Build svg string + * + * @param top top position + * @param left left position + * @param right right position + * @param bottom bottom position + * @return + */ + protected String getSvgString(double top, double left, double right, double bottom) { + return new StringBuilder(). + append("[{\"x\":").append(left). + append(",\"y\":").append(top). + append("},{\"x\":").append(right). + append(",\"y\":").append(top). + append("},{\"x\":").append(left). + append(",\"y\":").append(bottom). + append("},{\"x\":").append(right). + append(",\"y\":").append(bottom). + append("}]").toString(); + } + + @Override + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } + +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java new file mode 100644 index 0000000..16eee40 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java @@ -0,0 +1,31 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import org.springframework.util.StringUtils; + +import java.text.ParseException; + +public abstract class AbstractTextAnnotator extends Annotator { + + public AbstractTextAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo annotationInfo = super.initAnnotationInfo(); + annotationInfo.setFieldText(annotationData.getText()); + annotationInfo.setFontFamily(StringUtils.capitalize(annotationData.getFont())); + annotationInfo.setFontSize(annotationData.getFontSize()); + annotationInfo.setFontColor(annotationData.getFontColor()); + return annotationInfo; + } + + @Override + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java new file mode 100644 index 0000000..5f4b09f --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java @@ -0,0 +1,188 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationReplyInfo; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.CommentsEntity; +import com.groupdocs.ui.exception.TotalGroupDocsException; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; +import java.util.TimeZone; + +/** + * Annotator + * Abstract class contains general description for the annotating functionality + * + * @author Aspose Pty Ltd + */ +public abstract class Annotator { + + public static final String MESSAGE = "Annotation of type %s for this file type is not supported"; + + protected AnnotationDataEntity annotationData; + protected PageData pageData; + + /** + * Constructor + * + * @param annotationData + * @param pageData + */ + public Annotator(AnnotationDataEntity annotationData, PageData pageData) { + this.annotationData = annotationData; + this.pageData = pageData; + } + + /** + * Add area annotation into the Word document + * + * @return + * @throws UnsupportedOperationException Word document doesn't supported for the current annotation type + * @throws ParseException the date cannot be parsed + */ + public abstract AnnotationInfo annotateWord() throws UnsupportedOperationException, ParseException; + + /** + * Add area annotation into the pdf document + * + * @return + * @throws UnsupportedOperationException pdf document doesn't supported for the current annotation type + * @throws ParseException the date cannot be parsed + */ + public abstract AnnotationInfo annotatePdf() throws UnsupportedOperationException, ParseException; + + /** + * Add area annotation into the Excel document + * + * @return + * @throws UnsupportedOperationException the Excel document don't supported for the current annotation type + * @throws ParseException the date cannot be parsed + */ + public abstract AnnotationInfo annotateCells() throws UnsupportedOperationException, ParseException; + + /** + * Add area annotation into the Power Point document + * + * @return + * @throws UnsupportedOperationException the Power Point document doesn't supported for the current annotation type + * @throws ParseException the date cannot be parsed + */ + public abstract AnnotationInfo annotateSlides() throws UnsupportedOperationException, ParseException; + + /** + * Add area annotation into the image document + * + * @return + * @throws UnsupportedOperationException image doesn't supported for the current annotation type + * @throws ParseException the date cannot be parsed + */ + public abstract AnnotationInfo annotateImage() throws UnsupportedOperationException, ParseException; + + /** + * Add area annotation into the document + * + * @return + * @throws UnsupportedOperationException diagram document doesn't supported for the current annotation type + * @throws ParseException the date cannot be parsed + */ + public abstract AnnotationInfo annotateDiagram() throws UnsupportedOperationException, ParseException; + + /** + * Initial for annotation info + * + * @return annotation info + * @throws ParseException the date cannot be parsed + */ + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo areaAnnotation = new AnnotationInfo(); + // draw annotation options + areaAnnotation.setBox(getBox()); + // set page number to add annotation + areaAnnotation.setPageNumber(annotationData.getPageNumber() - 1); + // set annotation type + areaAnnotation.setType(getType()); + // add replies + CommentsEntity[] comments = annotationData.getComments(); + if (comments != null && comments.length != 0) { + AnnotationReplyInfo[] replies = new AnnotationReplyInfo[comments.length]; + for (int i = 0; i < comments.length; i++) { + AnnotationReplyInfo reply = getAnnotationReplyInfo(comments[i]); + replies[i] = reply; + } + areaAnnotation.setReplies(replies); + } + return areaAnnotation; + } + + /** + * Initial for reply annotation info + * + * @param comment annotation comment + * @return annotation reply info + * @throws ParseException the date cannot be parsed + */ + protected AnnotationReplyInfo getAnnotationReplyInfo(CommentsEntity comment) throws ParseException { + AnnotationReplyInfo reply = new AnnotationReplyInfo(); + reply.setMessage(comment.getText()); + DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); + format.setTimeZone(TimeZone.getTimeZone("GMT")); + Date date; + try { + date = new Date(Long.parseLong(comment.getTime())); + } catch (Exception e) { + try { + date = format.parse(comment.getTime()); + } catch (Exception exc) { + format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); + date = format.parse(comment.getTime()); + } + } + reply.setRepliedOn(date); + reply.setUserName(comment.getUserName()); + return reply; + } + + /** + * Get rectangle + * + * @return box + */ + protected abstract Rectangle getBox(); + + /** + * Get type of annotation + * + * @return annotation type + */ + protected abstract byte getType(); + + /** + * Get Annotation info depending on document type + * + * @throws ParseException the date cannot be parsed + */ + public AnnotationInfo getAnnotationInfo(String documentType) throws ParseException { + switch (documentType) { + case "Portable Document Format": + return annotatePdf(); + case "Microsoft Word": + return annotateWord(); + case "Microsoft PowerPoint": + return annotateSlides(); + case "image": + return annotateImage(); + case "Microsoft Excel": + return annotateCells(); + case "AutoCAD Drawing File Format": + return annotateDiagram(); + default: + throw new TotalGroupDocsException("Wrong annotation data without document type!"); + } + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java new file mode 100644 index 0000000..bd8e15a --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java @@ -0,0 +1,51 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.exception.TotalGroupDocsException; + +/** + * Creator for annotator instances + */ +public class AnnotatorFactory { + + /** + * Create annotator instance depending on type of annotation + * + * @param annotationData annotation + * @param pageData document + * @return annotator instance + */ + public static Annotator createAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + switch (annotationData.getType()) { + case "text": + return new TextAnnotator(annotationData, pageData); + case "area": + return new AreaAnnotator(annotationData, pageData); + case "point": + return new PointAnnotator(annotationData, pageData); + case "textStrikeout": + return new TexStrikeoutAnnotator(annotationData, pageData); + case "polyline": + return new PolylineAnnotator(annotationData, pageData); + case "textField": + return new TextFieldAnnotator(annotationData, pageData); + case "watermark": + return new WatermarkAnnotator(annotationData, pageData); + case "textReplacement": + return new TextReplacementAnnotator(annotationData, pageData); + case "arrow": + return new ArrowAnnotator(annotationData, pageData); + case "textRedaction": + return new TextRedactionAnnotator(annotationData, pageData); + case "resourcesRedaction": + return new ResourceRedactionAnnotator(annotationData, pageData); + case "textUnderline": + return new TexUnderlineAnnotator(annotationData, pageData); + case "distance": + return new DistanceAnnotator(annotationData, pageData); + default: + throw new TotalGroupDocsException("Wrong annotation data without annotation type!"); + } + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java new file mode 100644 index 0000000..63ca156 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java @@ -0,0 +1,64 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.*; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * AreaAnnotator + * Annotates documents with the area annotation + * + * @author Aspose Pty Ltd + */ +public class AreaAnnotator extends Annotator { + + public AreaAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + // initiate AnnotationInfo object + AnnotationInfo areaAnnotation = initAnnotationInfo(); + // set annotation X, Y position + areaAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + // add replies + return areaAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + return initAnnotationInfo(); + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + return initAnnotationInfo(); + } + + @Override + public AnnotationInfo annotateDiagram() throws ParseException { + return initAnnotationInfo(); + } + + @Override + protected byte getType() { + return AnnotationType.Area; + } + + @Override + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java new file mode 100644 index 0000000..0b0aa0e --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java @@ -0,0 +1,86 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationReplyInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.CommentsEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class ArrowAnnotator extends AbstractBoxAnnotator { + + private boolean withGuid = false; + + public ArrowAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + withGuid = false; + AnnotationInfo arrowAnnotation = initAnnotationInfo(); + return arrowAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + withGuid = false; + AnnotationInfo arrowAnnotation = initAnnotationInfo(); + return arrowAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + withGuid = true; + // init annotation object + AnnotationInfo arrowAnnotation = initAnnotationInfo(); + arrowAnnotation.setBackgroundColor(15988609); + return arrowAnnotation; + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + withGuid = false; + // init annotation object + AnnotationInfo arrowAnnotation = initAnnotationInfo(); + arrowAnnotation.setBackgroundColor(-15988609); + return arrowAnnotation; + } + + @Override + public AnnotationInfo annotateDiagram() throws ParseException { + withGuid = false; + // init annotation object + AnnotationInfo arrowAnnotation = initAnnotationInfo(); + arrowAnnotation.setBackgroundColor(15988609); + return arrowAnnotation; + } + + @Override + protected AnnotationReplyInfo getAnnotationReplyInfo(CommentsEntity comment) throws ParseException { + AnnotationReplyInfo annotationReplyInfo = super.getAnnotationReplyInfo(comment); + if (withGuid) { + annotationReplyInfo.setParentReplyGuid(String.valueOf(annotationData.getId())); + } + return annotationReplyInfo; + } + + @Override + protected byte getType() { + return AnnotationType.Arrow; + } + +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java new file mode 100644 index 0000000..0c4b843 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java @@ -0,0 +1,84 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationReplyInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.CommentsEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class DistanceAnnotator extends AbstractBoxAnnotator { + + public DistanceAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + AnnotationInfo distanceAnnotation = initAnnotationInfo(); + return distanceAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + AnnotationInfo distanceAnnotation = initAnnotationInfo(); + return distanceAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + // init annotation object + AnnotationInfo distanceAnnotation = initAnnotationInfo(); + distanceAnnotation.setBackgroundColor(15988609); + return distanceAnnotation; + } + + + @Override + public AnnotationInfo annotateDiagram() throws ParseException { + // init annotation object + AnnotationInfo distanceAnnotation = initAnnotationInfo(); + distanceAnnotation.setBackgroundColor(15988609); + return distanceAnnotation; + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo distanceAnnotation = super.initAnnotationInfo(); + // add replies + String text = (annotationData.getText() == null) ? "" : annotationData.getText(); + CommentsEntity[] comments = annotationData.getComments(); + if (comments != null && comments.length != 0) { + AnnotationReplyInfo reply = distanceAnnotation.getReplies()[0]; + if (reply != null) { + reply.setMessage(String.format("%s %s", annotationData.getText(), reply.getMessage())); + } + } else { + distanceAnnotation.setFieldText(text); + } + return distanceAnnotation; + } + + @Override + protected byte getType() { + return AnnotationType.Distance; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java new file mode 100644 index 0000000..f1cbbe2 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java @@ -0,0 +1,69 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.*; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class PointAnnotator extends Annotator { + + public PointAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + return initAnnotationInfo(); + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + return initAnnotationInfo(); + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + // init annotation object + AnnotationInfo pointAnnotation = super.initAnnotationInfo(); + // set annotation position + pointAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + return pointAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + return initAnnotationInfo(); + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + return initAnnotationInfo(); + } + + + @Override + public AnnotationInfo annotateDiagram() throws ParseException { + return initAnnotationInfo(); + } + + @Override + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } + + @Override + protected byte getType() { + return AnnotationType.Point; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java new file mode 100644 index 0000000..c984c1a --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java @@ -0,0 +1,92 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.CommentsEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class PolylineAnnotator extends Annotator { + + public PolylineAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + return initAnnotationInfo(); + } + + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + AnnotationInfo polylineAnnotation = initAnnotationInfo(); + return polylineAnnotation; + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo polylineAnnotation = super.initAnnotationInfo(); + polylineAnnotation.setPenColor(1201033); + polylineAnnotation.setPenWidth((byte) 2); + polylineAnnotation.setSvgPath(annotationData.getSvgPath()); + return polylineAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + AnnotationInfo polylineAnnotation = initAnnotationInfo(); + fillCreatorName(polylineAnnotation); + return polylineAnnotation; + } + + /** + * Fill creator name field in annotation info + * + * @param polylineAnnotation annotation info + */ + protected void fillCreatorName(AnnotationInfo polylineAnnotation) { + CommentsEntity[] comments = annotationData.getComments(); + if (comments != null && comments.length > 0 && comments[0] != null) { + polylineAnnotation.setCreatorName(comments[0].getUserName()); + } + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + AnnotationInfo polylineAnnotation = initAnnotationInfo(); + fillCreatorName(polylineAnnotation); + return polylineAnnotation; + } + + @Override + public AnnotationInfo annotateDiagram() throws ParseException { + AnnotationInfo polylineAnnotation = initAnnotationInfo(); + fillCreatorName(polylineAnnotation); + return polylineAnnotation; + } + + @Override + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } + + @Override + protected byte getType() { + return AnnotationType.Polyline; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java new file mode 100644 index 0000000..6ba6625 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java @@ -0,0 +1,68 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.*; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * AreaAnnotator + * Annotates documents with the area annotation + * + * @author Aspose Pty Ltd + */ +public class ResourceRedactionAnnotator extends Annotator { + + public ResourceRedactionAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); + return resourceRedactionAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + // initiate AnnotationInfo object + AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); + // set annotation X, Y position + resourceRedactionAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + return resourceRedactionAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); + return resourceRedactionAnnotation; + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); + return resourceRedactionAnnotation; + } + + @Override + public AnnotationInfo annotateDiagram() throws ParseException { + // init annotation object + AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); + return resourceRedactionAnnotation; + } + + @Override + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } + + @Override + protected byte getType() { + return AnnotationType.ResourcesRedaction; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java new file mode 100644 index 0000000..f90e6b3 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java @@ -0,0 +1,68 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Point; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class TexStrikeoutAnnotator extends AbstractSvgAnnotator { + + public TexStrikeoutAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + // init possible types of annotations + AnnotationInfo strikeoutAnnotation = initAnnotationInfo(); + fixBox(strikeoutAnnotation); + return strikeoutAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + AnnotationInfo strikeoutAnnotation = initAnnotationInfo(); + strikeoutAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + strikeoutAnnotation.setPenColor(0); + strikeoutAnnotation.setGuid(String.valueOf(annotationData.getId())); + return strikeoutAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + AnnotationInfo strikeoutAnnotation = initAnnotationInfo(); + fixBox(strikeoutAnnotation); + strikeoutAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + strikeoutAnnotation.setPenColor(0); + return strikeoutAnnotation; + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + return initAnnotationInfo(); + } + + @Override + public AnnotationInfo annotateDiagram() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + protected byte getType() { + return AnnotationType.TextStrikeout; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java new file mode 100644 index 0000000..727476c --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java @@ -0,0 +1,71 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Point; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class TexUnderlineAnnotator extends AbstractSvgAnnotator { + + public TexUnderlineAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + // init possible types of annotations + AnnotationInfo underlineAnnotation = initAnnotationInfo(); + // set line color + underlineAnnotation.setPenColor(1201033); + fixBox(underlineAnnotation); + return underlineAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + AnnotationInfo underlineAnnotation = initAnnotationInfo(); + underlineAnnotation.setGuid(String.valueOf(annotationData.getId())); + underlineAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + underlineAnnotation.setPenColor(1201033); + return underlineAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + AnnotationInfo underlineAnnotation = initAnnotationInfo(); + fixBox(underlineAnnotation); + underlineAnnotation.setPenColor(0); + underlineAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + return underlineAnnotation; + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + AnnotationInfo annotationInfo = initAnnotationInfo(); + return annotationInfo; + } + + @Override + public AnnotationInfo annotateDiagram() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + protected byte getType() { + return AnnotationType.TextUnderline; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java new file mode 100644 index 0000000..9dfc392 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java @@ -0,0 +1,78 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.*; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class TextAnnotator extends AbstractSvgAnnotator { + + public TextAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + // init possible types of annotations + AnnotationInfo textAnnotation = initAnnotationInfo(); + return textAnnotation; + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo textAnnotation = super.initAnnotationInfo(); + textAnnotation.setGuid(String.valueOf(annotationData.getId())); + return textAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + // init possible types of annotations + AnnotationInfo textAnnotation = initAnnotationInfo(); + return textAnnotation; + } + + @Override + public AnnotationInfo annotateCells() throws ParseException { + // init possible types of annotations + AnnotationInfo textAnnotation = super.initAnnotationInfo(); + textAnnotation.setPageNumber(annotationData.getPageNumber()); + textAnnotation.setAnnotationPosition(new Point(1, 1)); + textAnnotation.setBox(new Rectangle(0, 0, 0, 0)); + return textAnnotation; + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + // init possible types of annotations + AnnotationInfo textAnnotation = initAnnotationInfo(); + textAnnotation.getBox().setX((float) (annotationData.getLeft() / 4)); + return textAnnotation; + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + return initAnnotationInfo(); + } + + @Override + public AnnotationInfo annotateDiagram() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } + + @Override + protected byte getType() { + return AnnotationType.Text; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java new file mode 100644 index 0000000..d924cb6 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java @@ -0,0 +1,70 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Point; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class TextFieldAnnotator extends AbstractTextAnnotator { + + public TextFieldAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + // init possible types of annotations + AnnotationInfo textFieldAnnotation = initAnnotationInfo(); + return textFieldAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + // init possible types of annotations + // Text field annotation + AnnotationInfo textFieldAnnotation = initAnnotationInfo(); + textFieldAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + textFieldAnnotation.setBackgroundColor(16777215); + return textFieldAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + // init possible types of annotations + AnnotationInfo textFieldAnnotation = initAnnotationInfo(); + return textFieldAnnotation; + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + // init possible types of annotations + AnnotationInfo textFieldAnnotation = initAnnotationInfo(); + return textFieldAnnotation; + } + + @Override + public AnnotationInfo annotateDiagram() throws ParseException { + // init possible types of annotations + AnnotationInfo textFieldAnnotation = initAnnotationInfo(); + return textFieldAnnotation; + } + + @Override + protected byte getType() { + return AnnotationType.TextField; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java new file mode 100644 index 0000000..bf47edc --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java @@ -0,0 +1,45 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class TextRedactionAnnotator extends TextAnnotator { + + public TextRedactionAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateImage() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateDiagram() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + protected byte getType() { + return AnnotationType.TextRedaction; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java new file mode 100644 index 0000000..4a9026e --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java @@ -0,0 +1,84 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * TextAnnotator + * Annotates documents with the text annotation + * + * @author Aspose Pty Ltd + */ +public class TextReplacementAnnotator extends AbstractSvgAnnotator { + + public TextReplacementAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + // init possible types of annotations + AnnotationInfo textReplacementAnnotation = initAnnotationInfo(); + return textReplacementAnnotation; + } + + @Override + protected AnnotationInfo initAnnotationInfo() throws ParseException { + AnnotationInfo textReplacementAnnotation = super.initAnnotationInfo(); + textReplacementAnnotation.setGuid(String.valueOf(annotationData.getId())); + textReplacementAnnotation.setFieldText(annotationData.getText()); + return textReplacementAnnotation; + } + + @Override + protected String buildSvgPath() { + double topPosition = pageData.getHeight() - annotationData.getTop(); + double leftPosition = pageData.getWidth() - annotationData.getLeft(); + double topRightX = annotationData.getLeft() + annotationData.getWidth(); + double bottomRightY = topPosition - annotationData.getHeight(); + return super.getSvgString(topPosition, leftPosition, topRightX, bottomRightY); + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + // init possible types of annotations + AnnotationInfo textReplacementAnnotation = initAnnotationInfo(); + textReplacementAnnotation.setBox(new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight())); + return textReplacementAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateImage() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateDiagram() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + protected Rectangle getBox() { + return new Rectangle(0, 0, 0, 0); + } + + @Override + protected byte getType() { + return AnnotationType.TextReplacement; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java new file mode 100644 index 0000000..3e9cc11 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java @@ -0,0 +1,66 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationType; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.Point; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; + +import java.text.ParseException; + +/** + * WatermarkAnnotator + * Annotates documents with the watermark annotation + * + * @author Aspose Pty Ltd + */ +public class WatermarkAnnotator extends AbstractTextAnnotator { + + public WatermarkAnnotator(AnnotationDataEntity annotationData, PageData pageData) { + super(annotationData, pageData); + } + + @Override + public AnnotationInfo annotateWord() throws ParseException { + AnnotationInfo watermarkAnnotation = initAnnotationInfo(); + watermarkAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + return watermarkAnnotation; + } + + @Override + public AnnotationInfo annotatePdf() throws ParseException { + // init possible types of annotations + AnnotationInfo watermarkAnnotation = initAnnotationInfo(); + watermarkAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + return watermarkAnnotation; + } + + @Override + public AnnotationInfo annotateCells() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + public AnnotationInfo annotateSlides() throws ParseException { + // init possible types of annotations + AnnotationInfo watermarkAnnotation = initAnnotationInfo(); + return watermarkAnnotation; + } + + @Override + public AnnotationInfo annotateImage() throws ParseException { + // init possible types of annotations + AnnotationInfo watermarkAnnotation = initAnnotationInfo(); + return watermarkAnnotation; + } + + @Override + public AnnotationInfo annotateDiagram() { + throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + } + + @Override + protected byte getType() { + return AnnotationType.Watermark; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfiguration.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfiguration.java new file mode 100644 index 0000000..00eb1ef --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfiguration.java @@ -0,0 +1,284 @@ +package com.groupdocs.ui.annotation.config; + +import com.groupdocs.ui.config.CommonConfiguration; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; + +import javax.annotation.PostConstruct; + +import static com.groupdocs.ui.config.DefaultDirectories.defaultAnnotationDirectory; +import static com.groupdocs.ui.config.DefaultDirectories.relativePathToAbsolute; + +/** + * AnnotationConfiguration + * + * @author Aspose Pty Ltd + */ +@Component +public class AnnotationConfiguration extends CommonConfiguration { + + @Value("${annotation.filesDirectory}") + private String filesDirectory; + + @Value("${annotation.defaultDocument}") + private String defaultDocument; + + @Value("#{new Integer('${annotation.preloadPageCount}')}") + private int preloadPageCount; + + @Value("${annotation.fontsDirectory}") + private String fontsDirectory; + + @Value("#{new Boolean('${annotation.textAnnotation}')}") + private boolean textAnnotation; + + @Value("#{new Boolean('${annotation.areaAnnotation}')}") + private boolean areaAnnotation; + + @Value("#{new Boolean('${annotation.pointAnnotation}')}") + private boolean pointAnnotation; + + @Value("#{new Boolean('${annotation.textStrikeoutAnnotation}')}") + private boolean textStrikeoutAnnotation; + + @Value("#{new Boolean('${annotation.polylineAnnotation}')}") + private boolean polylineAnnotation; + + @Value("#{new Boolean('${annotation.textFieldAnnotation}')}") + private boolean textFieldAnnotation; + + @Value("#{new Boolean('${annotation.watermarkAnnotation}')}") + private boolean watermarkAnnotation; + + @Value("#{new Boolean('${annotation.textReplacementAnnotation}')}") + private boolean textReplacementAnnotation; + + @Value("#{new Boolean('${annotation.arrowAnnotation}')}") + private boolean arrowAnnotation; + + @Value("#{new Boolean('${annotation.textRedactionAnnotation}')}") + private boolean textRedactionAnnotation; + + @Value("#{new Boolean('${annotation.resourcesRedactionAnnotation}')}") + private boolean resourcesRedactionAnnotation; + + @Value("#{new Boolean('${annotation.textUnderlineAnnotation}')}") + private boolean textUnderlineAnnotation; + + @Value("#{new Boolean('${annotation.distanceAnnotation}')}") + private boolean distanceAnnotation; + + @Value("#{new Boolean('${annotation.downloadOriginal}')}") + private boolean downloadOriginal; + + @Value("#{new Boolean('${annotation.downloadAnnotated}')}") + private boolean downloadAnnotated; + + @Value("#{new Boolean('${annotation.zoom}')}") + private boolean zoom; + + @Value("#{new Boolean('${annotation.fitWidth}')}") + private boolean fitWidth; + + @PostConstruct + public void init() { + this.filesDirectory = StringUtils.isEmpty(this.filesDirectory) ? defaultAnnotationDirectory() : relativePathToAbsolute(this.filesDirectory); + } + + public String getFilesDirectory() { + return filesDirectory; + } + + public void setFilesDirectory(String filesDirectory) { + this.filesDirectory = filesDirectory; + } + + public String getDefaultDocument() { + return defaultDocument; + } + + public void setDefaultDocument(String defaultDocument) { + this.defaultDocument = defaultDocument; + } + + public int getPreloadPageCount() { + return preloadPageCount; + } + + public void setPreloadPageCount(int preloadPageCount) { + this.preloadPageCount = preloadPageCount; + } + + public String getFontsDirectory() { + return fontsDirectory; + } + + public void setFontsDirectory(String fontsDirectory) { + this.fontsDirectory = fontsDirectory; + } + + public boolean getTextAnnotation() { + return textAnnotation; + } + + public void setTextAnnotation(boolean textAnnotation) { + this.textAnnotation = textAnnotation; + } + + public boolean getAreaAnnotation() { + return areaAnnotation; + } + + public void setAreaAnnotation(boolean areaAnnotation) { + this.areaAnnotation = areaAnnotation; + } + + public boolean getPointAnnotation() { + return pointAnnotation; + } + + public void setPointAnnotation(boolean pointAnnotation) { + this.pointAnnotation = pointAnnotation; + } + + public boolean getTextStrikeoutAnnotation() { + return textStrikeoutAnnotation; + } + + public void setTextStrikeoutAnnotation(boolean textStrikeoutAnnotation) { + this.textStrikeoutAnnotation = textStrikeoutAnnotation; + } + + public boolean getPolylineAnnotation() { + return polylineAnnotation; + } + + public void setPolylineAnnotation(boolean polylineAnnotation) { + this.polylineAnnotation = polylineAnnotation; + } + + public boolean getTextFieldAnnotation() { + return textFieldAnnotation; + } + + public void setTextFieldAnnotation(boolean textFieldAnnotation) { + this.textFieldAnnotation = textFieldAnnotation; + } + + public boolean getWatermarkAnnotation() { + return watermarkAnnotation; + } + + public void setWatermarkAnnotation(boolean watermarkAnnotation) { + this.watermarkAnnotation = watermarkAnnotation; + } + + public boolean getTextReplacementAnnotation() { + return textReplacementAnnotation; + } + + public void setTextReplacementAnnotation(boolean textReplacementAnnotation) { + this.textReplacementAnnotation = textReplacementAnnotation; + } + + public boolean getArrowAnnotation() { + return arrowAnnotation; + } + + public void setArrowAnnotation(boolean arrowAnnotation) { + this.arrowAnnotation = arrowAnnotation; + } + + public boolean getTextRedactionAnnotation() { + return textRedactionAnnotation; + } + + public void setTextRedactionAnnotation(boolean textRedactionAnnotation) { + this.textRedactionAnnotation = textRedactionAnnotation; + } + + public boolean getResourcesRedactionAnnotation() { + return resourcesRedactionAnnotation; + } + + public void setResourcesRedactionAnnotation(boolean resourcesRedactionAnnotation) { + this.resourcesRedactionAnnotation = resourcesRedactionAnnotation; + } + + public boolean getTextUnderlineAnnotation() { + return textUnderlineAnnotation; + } + + public void setTextUnderlineAnnotation(boolean textUnderlineAnnotation) { + this.textUnderlineAnnotation = textUnderlineAnnotation; + } + + public boolean getDistanceAnnotation() { + return distanceAnnotation; + } + + public void setDistanceAnnotation(boolean distanceAnnotation) { + this.distanceAnnotation = distanceAnnotation; + } + + public boolean getDownloadOriginal() { + return downloadOriginal; + } + + public void setDownloadOriginal(boolean downloadOriginal) { + this.downloadOriginal = downloadOriginal; + } + + public boolean getDownloadAnnotated() { + return downloadAnnotated; + } + + public void setDownloadAnnotated(boolean downloadAnnotated) { + this.downloadAnnotated = downloadAnnotated; + } + + public boolean getZoom() { + return zoom; + } + + public void setZoom(boolean zoom) { + this.zoom = zoom; + } + + public boolean getFitWidth() { + return fitWidth; + } + + public void setFitWidth(boolean fitWidth) { + this.fitWidth = fitWidth; + } + + @Override + public String toString() { + return super.toString() + + "AnnotationConfiguration{" + + "filesDirectory='" + filesDirectory + '\'' + + ", defaultDocument='" + defaultDocument + '\'' + + ", preloadPageCount=" + preloadPageCount + + ", fontsDirectory='" + fontsDirectory + '\'' + + ", textAnnotation=" + textAnnotation + + ", areaAnnotation=" + areaAnnotation + + ", pointAnnotation=" + pointAnnotation + + ", textStrikeoutAnnotation=" + textStrikeoutAnnotation + + ", polylineAnnotation=" + polylineAnnotation + + ", textFieldAnnotation=" + textFieldAnnotation + + ", watermarkAnnotation=" + watermarkAnnotation + + ", textReplacementAnnotation=" + textReplacementAnnotation + + ", arrowAnnotation=" + arrowAnnotation + + ", textRedactionAnnotation=" + textRedactionAnnotation + + ", resourcesRedactionAnnotation=" + resourcesRedactionAnnotation + + ", textUnderlineAnnotation=" + textUnderlineAnnotation + + ", distanceAnnotation=" + distanceAnnotation + + ", downloadOriginal=" + downloadOriginal + + ", downloadAnnotated=" + downloadAnnotated + + ", zoom=" + zoom + + ", fitWidth=" + fitWidth + + '}'; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/controller/AnnotationController.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/controller/AnnotationController.java new file mode 100644 index 0000000..0adc707 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/controller/AnnotationController.java @@ -0,0 +1,206 @@ +package com.groupdocs.ui.annotation.controller; + +import com.groupdocs.ui.annotation.config.AnnotationConfiguration; +import com.groupdocs.ui.annotation.entity.request.AnnotateDocumentRequest; +import com.groupdocs.ui.annotation.entity.web.AnnotatedDocumentEntity; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.AnnotationPageDescriptionEntity; +import com.groupdocs.ui.annotation.service.AnnotationService; +import com.groupdocs.ui.config.GlobalConfiguration; +import com.groupdocs.ui.exception.TotalGroupDocsException; +import com.groupdocs.ui.model.request.FileTreeRequest; +import com.groupdocs.ui.model.request.LoadDocumentPageRequest; +import com.groupdocs.ui.model.request.LoadDocumentRequest; +import com.groupdocs.ui.model.response.FileDescriptionEntity; +import com.groupdocs.ui.model.response.UploadedDocumentEntity; +import com.groupdocs.ui.util.Utils; +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.io.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Nullable; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedInputStream; +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.List; +import java.util.Map; + +import static com.groupdocs.ui.util.Utils.setLocalPort; +import static com.groupdocs.ui.util.Utils.uploadFile; +import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; +import static org.springframework.http.MediaType.MULTIPART_FORM_DATA_VALUE; + +/** + * AnnotationController + * + * @author Aspose Pty Ltd + */ +@Controller +@RequestMapping(value = "/annotation") +public class AnnotationController { + private static final Logger logger = LoggerFactory.getLogger(AnnotationController.class); + + @Autowired + private AnnotationService annotationService; + + /** + * Get annotation page + * + * @param request + * @param model model data for template + * @return template name + */ + @RequestMapping(method = RequestMethod.GET) + public String getView(HttpServletRequest request, Map model) { + GlobalConfiguration globalConfiguration = annotationService.getGlobalConfiguration(); + + setLocalPort(request, globalConfiguration.getServer()); + + model.put("globalConfiguration", globalConfiguration); + + AnnotationConfiguration annotationConfiguration = annotationService.getAnnotationConfiguration(); + logger.debug("annotation config: {}", annotationConfiguration); + model.put("annotationConfiguration", annotationConfiguration); + return "annotation"; + } + + @RequestMapping(method = RequestMethod.GET, value = "/loadConfig", produces = APPLICATION_JSON_VALUE) + @ResponseBody + public AnnotationConfiguration loadConfig() { + return annotationService.getAnnotationConfiguration(); + } + + /** + * Get files and directories + * + * @param fileTreeRequest request's object with specified path + * @return files and directories list + */ + @RequestMapping(value = "/loadFileTree", method = RequestMethod.POST, produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE) + @ResponseBody + public List loadFileTree(@RequestBody FileTreeRequest fileTreeRequest) { + return annotationService.getFileList(fileTreeRequest); + } + + /** + * Get document description + * + * @return document description + */ + @RequestMapping(value = "/loadDocumentDescription", method = RequestMethod.POST, produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE) + @ResponseBody + public AnnotatedDocumentEntity loadDocumentDescription(@RequestBody LoadDocumentRequest loadDocumentRequest) { + return annotationService.getDocumentDescription(loadDocumentRequest); + } + + /** + * Get document page + * + * @return document page + */ + @RequestMapping(value = "/loadDocumentPage", method = RequestMethod.POST, produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE) + @ResponseBody + public AnnotationPageDescriptionEntity loadDocumentPage(@RequestBody LoadDocumentPageRequest loadDocumentPageRequest) { + return annotationService.getDocumentPage(loadDocumentPageRequest); + } + + /** + * Download document + * + * @param documentGuid path to document parameter + * @param response http response + */ + @RequestMapping(value = "/downloadDocument", method = RequestMethod.GET) + public void downloadDocument(@RequestParam("path") String documentGuid, + HttpServletResponse response) { + // get document path + String fileName = FilenameUtils.getName(documentGuid); + + // set response content info + Utils.addFileDownloadHeaders(response, fileName, null); + + long length; + try (InputStream inputStream = new BufferedInputStream(new FileInputStream(documentGuid)); + ServletOutputStream outputStream = response.getOutputStream()) { + // download the document + length = IOUtils.copyLarge(inputStream, outputStream); + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + + Utils.addFileDownloadLengthHeader(response, length); + } + + /** + * Upload document + * + * @param content file data + * @param url url for document + * @param rewrite flag for rewriting file + * @return uploaded document object (the object contains uploaded document guid) + */ + @RequestMapping(value = "/uploadDocument", method = RequestMethod.POST, produces = APPLICATION_JSON_VALUE, consumes = MULTIPART_FORM_DATA_VALUE) + @ResponseBody + public UploadedDocumentEntity uploadDocument(@Nullable @RequestParam("file") MultipartFile content, + @RequestParam(value = "url", required = false) String url, + @RequestParam("rewrite") Boolean rewrite) { + // get documents storage path + String documentStoragePath = annotationService.getAnnotationConfiguration().getFilesDirectory(); + // save the file + String pathname = uploadFile(documentStoragePath, content, url, rewrite); + // create response data + UploadedDocumentEntity uploadedDocument = new UploadedDocumentEntity(); + uploadedDocument.setGuid(pathname); + return uploadedDocument; + } + + /** + * Annotate document with annotations and download result without saving + * + * @return annotated document info + */ + @RequestMapping(method = RequestMethod.POST, value = "/downloadAnnotated", consumes = APPLICATION_JSON_VALUE) + public void downloadAnnotated(@RequestBody AnnotateDocumentRequest annotateDocumentRequest, HttpServletResponse response) { + AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); + if (annotationsData == null || annotationsData.length == 0) { + throw new IllegalArgumentException("Annotations data is empty"); + } + + // get document path + String fileName = FilenameUtils.getName(annotateDocumentRequest.getGuid()); + // set response content info + Utils.addFileDownloadHeaders(response, fileName, null); + + long length; + try (InputStream inputStream = annotationService.annotateByStream(annotateDocumentRequest); + ServletOutputStream outputStream = response.getOutputStream()) { + // download the document + length = IOUtils.copyLarge(inputStream, outputStream); + } catch (Exception ex) { + logger.error("Exception in downloading document", ex); + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + Utils.addFileDownloadLengthHeader(response, length); + } + + /** + * Annotate document + * + * @param annotateDocumentRequest + * @return annotated document info + */ + @RequestMapping(value = "/annotate", method = RequestMethod.POST, produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE) + @ResponseBody + public AnnotatedDocumentEntity annotate(@RequestBody AnnotateDocumentRequest annotateDocumentRequest) { + return annotationService.annotate(annotateDocumentRequest); + } + +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/AnnotateDocumentRequest.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/AnnotateDocumentRequest.java new file mode 100644 index 0000000..9a89e07 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/AnnotateDocumentRequest.java @@ -0,0 +1,48 @@ +package com.groupdocs.ui.annotation.entity.request; + +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.model.request.LoadDocumentRequest; + +/** + * AnnotateDocumentRequest + * + * @author Aspose Pty Ltd + */ +public class AnnotateDocumentRequest extends LoadDocumentRequest { + /** + * List of annotation data + */ + private AnnotationDataEntity[] annotationsData; + /** + * Document type + */ + private String documentType; + /** + * For print annotated file + */ + private Boolean print; + + public AnnotationDataEntity[] getAnnotationsData() { + return annotationsData; + } + + public void setAnnotationsData(AnnotationDataEntity[] annotationsData) { + this.annotationsData = annotationsData; + } + + public String getDocumentType() { + return documentType; + } + + public void setDocumentType(String documentType) { + this.documentType = documentType; + } + + public Boolean getPrint() { + return print; + } + + public void setPrint(Boolean print) { + this.print = print; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java new file mode 100644 index 0000000..f3cd1ba --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java @@ -0,0 +1,47 @@ +package com.groupdocs.ui.annotation.entity.web; + +import java.util.List; + +/** + * AnnotatedDocumentEntity + * + * @author Aspose Pty Ltd + */ +public class AnnotatedDocumentEntity { + /** + * Document Guid + */ + private String guid; + /** + * List of supported types of annotations + */ + public String[] supportedAnnotations; + /** + * list of pages + */ + private List pages; + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public String[] getSupportedAnnotations() { + return supportedAnnotations; + } + + public void setSupportedAnnotations(String[] supportedAnnotations) { + this.supportedAnnotations = supportedAnnotations; + } + + public List getPages() { + return pages; + } + + public void setPages(List pages) { + this.pages = pages; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java new file mode 100644 index 0000000..0d8203c --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java @@ -0,0 +1,177 @@ +package com.groupdocs.ui.annotation.entity.web; + +/** + * AnnotationDataEntity + * + * @author Aspose Pty Ltd + */ +public class AnnotationDataEntity { + /** + * Annotation Id + */ + private Integer id; + /** + * The number of page in document + */ + private Integer pageNumber; + /** + * The size of font of annotation + */ + private Double fontSize; + /** + * Annotation position. Left position. + */ + private double left; + /** + * Annotation position. Top position. + */ + private double top; + /** + * Annotation position. Width of annotation. + */ + private double width; + /** + * Annotation position. Height of annotation. + */ + private double height; + /** + * SVG path + */ + private String svgPath; + /** + * The type of annotation (text, watermark, ect) + */ + private String type; + /** + * Annotation text + */ + private String text; + /** + * The annotation font + */ + private String font; + /** + * List of comments in annotation + */ + private CommentsEntity[] comments; + /** + * Imported annotations + */ + private boolean imported; + /** + * font color + */ + private Integer fontColor; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getPageNumber() { + return pageNumber; + } + + public void setPageNumber(Integer pageNumber) { + this.pageNumber = pageNumber; + } + + public Double getFontSize() { + return fontSize; + } + + public void setFontSize(Double fontSize) { + this.fontSize = fontSize; + } + + public double getLeft() { + return left; + } + + public void setLeft(double left) { + this.left = left; + } + + public double getTop() { + return top; + } + + public void setTop(double top) { + this.top = top; + } + + public double getWidth() { + return width; + } + + public void setWidth(double width) { + this.width = width; + } + + public double getHeight() { + return height; + } + + public void setHeight(double height) { + this.height = height; + } + + public String getSvgPath() { + return svgPath; + } + + public void setSvgPath(String svgPath) { + this.svgPath = svgPath; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public String getFont() { + return font; + } + + public void setFont(String font) { + this.font = font; + } + + public CommentsEntity[] getComments() { + return comments; + } + + public void setComments(CommentsEntity[] comments) { + this.comments = comments; + } + + public boolean isImported() { + return imported; + } + + public void setImported(boolean imported) { + this.imported = imported; + } + + public Integer getFontColor() { + return fontColor; + } + + public void setFontColor(Integer fontColor) { + this.fontColor = fontColor; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java new file mode 100644 index 0000000..7ae2b87 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java @@ -0,0 +1,20 @@ +package com.groupdocs.ui.annotation.entity.web; + +import com.groupdocs.ui.model.response.PageDescriptionEntity; + +public class AnnotationPageDescriptionEntity extends PageDescriptionEntity { + + /** + * List of annotation data + */ + private AnnotationDataEntity[] annotations; + + public AnnotationDataEntity[] getAnnotations() { + return annotations; + } + + public void setAnnotations(AnnotationDataEntity[] annotations) { + this.annotations = annotations; + } + +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/CommentsEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/CommentsEntity.java new file mode 100644 index 0000000..30fd005 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/CommentsEntity.java @@ -0,0 +1,45 @@ +package com.groupdocs.ui.annotation.entity.web; + +/** + * CommentsEntity + * + * @author Aspose Pty Ltd + */ +public class CommentsEntity { + private Integer id; + private String time; + private String text; + private String userName; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getTime() { + return time; + } + + public void setTime(String time) { + this.time = time; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java new file mode 100644 index 0000000..2667c1a --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java @@ -0,0 +1,38 @@ +package com.groupdocs.ui.annotation.importer; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.handler.AnnotationImageHandler; + +import java.io.InputStream; + +/** + * Importer + * + * @author Aspose Pty Ltd + */ +public class Importer { + protected InputStream documentStream; + protected AnnotationImageHandler annotator; + + /** + * Constructor + * + * @param documentStream + */ + public Importer(InputStream documentStream, AnnotationImageHandler annotator) { + this.documentStream = documentStream; + this.annotator = annotator; + } + + /** + * Import the annotations from document + * + * @param docType the type of document + * @return AnnotationInfo[] list of annotations + */ + public AnnotationInfo[] importAnnotations(int docType) { + AnnotationInfo[] annotations = annotator.importAnnotations(documentStream, docType); + return annotations; + } + +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationService.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationService.java new file mode 100644 index 0000000..46337bd --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationService.java @@ -0,0 +1,73 @@ +package com.groupdocs.ui.annotation.service; + +import com.groupdocs.ui.annotation.config.AnnotationConfiguration; +import com.groupdocs.ui.annotation.entity.request.AnnotateDocumentRequest; +import com.groupdocs.ui.annotation.entity.web.AnnotatedDocumentEntity; +import com.groupdocs.ui.annotation.entity.web.AnnotationPageDescriptionEntity; +import com.groupdocs.ui.config.GlobalConfiguration; +import com.groupdocs.ui.model.request.FileTreeRequest; +import com.groupdocs.ui.model.request.LoadDocumentPageRequest; +import com.groupdocs.ui.model.request.LoadDocumentRequest; +import com.groupdocs.ui.model.response.FileDescriptionEntity; + +import java.io.InputStream; +import java.util.List; + +/** + * Service for annotating documents + */ +public interface AnnotationService { + /** + * Get global configuration + * + * @return global configuration + */ + GlobalConfiguration getGlobalConfiguration(); + + /** + * Get annotation configuration + * + * @return annotation configuration + */ + AnnotationConfiguration getAnnotationConfiguration(); + + /** + * Get list of files and folders + * + * @param fileTreeRequest request object with path for loading list of files + * @return list of files and folders + */ + List getFileList(FileTreeRequest fileTreeRequest); + + /** + * Get document information + * + * @param loadDocumentRequest request object with document guid + * @return document with list of pages + */ + AnnotatedDocumentEntity getDocumentDescription(LoadDocumentRequest loadDocumentRequest); + + /** + * Load document page + * + * @param loadDocumentPageRequest request object with document guid and page number + * @return document page data + */ + AnnotationPageDescriptionEntity getDocumentPage(LoadDocumentPageRequest loadDocumentPageRequest); + + /** + * Annotate document + * + * @param annotateDocumentRequest request object with document guid and annotations data + * @return annotated document + */ + AnnotatedDocumentEntity annotate(AnnotateDocumentRequest annotateDocumentRequest); + + /** + * Annotate document by streams + * + * @param annotateDocumentRequest request object with document guid and annotations data + * @return stream of annotated document + */ + InputStream annotateByStream(AnnotateDocumentRequest annotateDocumentRequest); +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java new file mode 100644 index 0000000..284c80d --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java @@ -0,0 +1,330 @@ +package com.groupdocs.ui.annotation.service; + +import com.groupdocs.annotation.common.exception.AnnotatorException; +import com.groupdocs.annotation.common.license.License; +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.FileDescription; +import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.domain.config.AnnotationConfig; +import com.groupdocs.annotation.domain.containers.DocumentInfoContainer; +import com.groupdocs.annotation.domain.containers.FileTreeContainer; +import com.groupdocs.annotation.domain.image.PageImage; +import com.groupdocs.annotation.domain.options.FileTreeOptions; +import com.groupdocs.annotation.domain.options.ImageOptions; +import com.groupdocs.annotation.handler.AnnotationImageHandler; +import com.groupdocs.ui.annotation.annotator.AnnotatorFactory; +import com.groupdocs.ui.annotation.config.AnnotationConfiguration; +import com.groupdocs.ui.annotation.entity.request.AnnotateDocumentRequest; +import com.groupdocs.ui.annotation.entity.web.AnnotatedDocumentEntity; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.AnnotationPageDescriptionEntity; +import com.groupdocs.ui.annotation.importer.Importer; +import com.groupdocs.ui.annotation.util.AnnotationMapper; +import com.groupdocs.ui.annotation.util.SupportedAnnotations; +import com.groupdocs.ui.config.GlobalConfiguration; +import com.groupdocs.ui.exception.TotalGroupDocsException; +import com.groupdocs.ui.model.request.FileTreeRequest; +import com.groupdocs.ui.model.request.LoadDocumentPageRequest; +import com.groupdocs.ui.model.request.LoadDocumentRequest; +import com.groupdocs.ui.model.response.FileDescriptionEntity; +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.io.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import javax.annotation.PostConstruct; +import java.io.*; +import java.util.ArrayList; +import java.util.List; + +import static com.groupdocs.ui.annotation.util.DocumentTypesConverter.checkedDocumentType; +import static com.groupdocs.ui.annotation.util.DocumentTypesConverter.getDocumentType; +import static com.groupdocs.ui.util.Utils.getStringFromStream; + +@Service +public class AnnotationServiceImpl implements AnnotationService { + private static final Logger logger = LoggerFactory.getLogger(AnnotationServiceImpl.class); + + @Autowired + private GlobalConfiguration globalConfiguration; + + @Autowired + private AnnotationConfiguration annotationConfiguration; + + private AnnotationImageHandler annotationHandler; + + @PostConstruct + public void init() { + // create annotation application configuration + AnnotationConfig config = new AnnotationConfig(); + // set storage path + config.setStoragePath(annotationConfiguration.getFilesDirectory()); + config.getFontDirectories().add(annotationConfiguration.getFontsDirectory()); + + annotationHandler = new AnnotationImageHandler(config); + + try { + // set GroupDocs license + License license = new License(); + license.setLicense(globalConfiguration.getApplication().getLicensePath()); + } catch (Throwable exc) { + logger.error("Can not verify Annotation license!"); + } + } + + @Override + public GlobalConfiguration getGlobalConfiguration() { + return globalConfiguration; + } + + @Override + public AnnotationConfiguration getAnnotationConfiguration() { + return annotationConfiguration; + } + + @Override + public List getFileList(FileTreeRequest fileTreeRequest) { + String path = fileTreeRequest.getPath(); + // get file list from storage path + FileTreeOptions fileListOptions = new FileTreeOptions(path); + // get temp directory name + String tempDirectoryName = new AnnotationConfig().getTempFolderName(); + try { + FileTreeContainer fileListContainer = annotationHandler.loadFileTree(fileListOptions); + + List fileList = new ArrayList<>(); + // parse files/folders list + for (FileDescription fd : fileListContainer.getFileTree()) { + FileDescriptionEntity fileDescription = new FileDescriptionEntity(); + fileDescription.setGuid(fd.getGuid()); + // check if current file/folder is temp directory or is hidden + if (tempDirectoryName.toLowerCase().equals(fd.getName()) || new File(fileDescription.getGuid()).isHidden()) { + // ignore current file and skip to next one + continue; + } else { + // set file/folder name + fileDescription.setName(fd.getName()); + } + // set file type + fileDescription.setDocType(fd.getDocumentType()); + // set is directory true/false + fileDescription.setDirectory(fd.isDirectory()); + // set file size + fileDescription.setSize(fd.getSize()); + // add object to array list + fileList.add(fileDescription); + } + return fileList; + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + + @Override + public AnnotatedDocumentEntity getDocumentDescription(LoadDocumentRequest loadDocumentRequest) { + try { + // get/set parameters + String documentGuid = loadDocumentRequest.getGuid(); + String password = loadDocumentRequest.getPassword(); + ImageOptions imageOptions = createImageOptions(password); + // get document info container + String fileName = FilenameUtils.getName(documentGuid); + DocumentInfoContainer documentDescription = annotationHandler.getDocumentInfo(fileName, password); + + String documentType = checkedDocumentType(documentGuid, documentDescription.getDocumentType()); + // check if document contains annotations + AnnotationInfo[] annotations = getAnnotations(documentGuid, documentType); + // get info about each document page + List pageImages = null; + if (annotationConfiguration.getPreloadPageCount() == 0) { + pageImages = annotationHandler.getPages(fileName, imageOptions); + } + String[] supportedAnnotations = SupportedAnnotations.getSupportedAnnotations(documentType); + // initiate custom Document description object + AnnotatedDocumentEntity description = new AnnotatedDocumentEntity(); + description.setGuid(documentGuid); + description.setSupportedAnnotations(supportedAnnotations); + // initiate pages description list + List pages = documentDescription.getPages(); + List pagesDescriptions = new ArrayList<>(pages.size()); + for (int i = 0; i < pages.size(); i++) { + PageData pageData = pages.get(i); + // set current page info for result + PageImage pageImage = pageImages != null ? pageImages.get(i) : null; + AnnotationPageDescriptionEntity page = getAnnotationPageDescriptionEntity(pageData, pageImage); + // set annotations data if document page contains annotations + if (annotations != null && annotations.length > 0) { + page.setAnnotations(AnnotationMapper.instance.mapForPage(annotations, page.getNumber())); + } + pagesDescriptions.add(page); + } + description.setPages(pagesDescriptions); + // return document description + return description; + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + + /** + * Create initial instance of ImageOptions with documents password + * + * @param password + * @return + */ + public ImageOptions createImageOptions(String password) { + ImageOptions imageOptions = new ImageOptions(); + // set password for protected document + if (!StringUtils.isEmpty(password)) { + imageOptions.setPassword(password); + } + return imageOptions; + } + + private AnnotationPageDescriptionEntity getAnnotationPageDescriptionEntity(PageData pageData, PageImage pageImage) throws IOException { + AnnotationPageDescriptionEntity page = new AnnotationPageDescriptionEntity(); + page.setHeight(pageData.getHeight()); + page.setWidth(pageData.getWidth()); + page.setNumber(pageData.getNumber()); + + if (pageImage != null) { + page.setData(getStringFromStream(pageImage.getStream())); + } + return page; + } + + @Override + public AnnotationPageDescriptionEntity getDocumentPage(LoadDocumentPageRequest loadDocumentPageRequest) { + try { + // get/set parameters + String documentGuid = loadDocumentPageRequest.getGuid(); + int pageNumber = loadDocumentPageRequest.getPage(); + String password = loadDocumentPageRequest.getPassword(); + // set options + ImageOptions imageOptions = createImageOptions(password); + imageOptions.setPageNumber(pageNumber); + imageOptions.setCountPagesToConvert(1); + String fileName = FilenameUtils.getName(documentGuid); + List images = annotationHandler.getPages(fileName, imageOptions); + + DocumentInfoContainer documentDescription = annotationHandler.getDocumentInfo(fileName, password); + PageData pageData = documentDescription.getPages().get(pageNumber - 1); + + AnnotationPageDescriptionEntity page = getAnnotationPageDescriptionEntity(pageData, images.get(0)); + + // return loaded page object + return page; + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + + @Override + public AnnotatedDocumentEntity annotate(AnnotateDocumentRequest annotateDocumentRequest) { + AnnotatedDocumentEntity annotatedDocument = new AnnotatedDocumentEntity(); + try { + String documentGuid = annotateDocumentRequest.getGuid(); + String documentType = checkedDocumentType(documentGuid, annotateDocumentRequest.getDocumentType()); + List annotations = getAnnotationInfos(annotateDocumentRequest, documentType); + + InputStream file = annotateDocument(documentGuid, documentType, annotations); + if (annotateDocumentRequest.getPrint()) { + List annotatedPages = getAnnotatedPages(annotateDocumentRequest.getPassword(), file); + annotatedDocument.setPages(annotatedPages); + } else { + try (OutputStream fileStream = new FileOutputStream(documentGuid)) { + IOUtils.copyLarge(file, fileStream); + annotatedDocument.setGuid(documentGuid); + } + } + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + return annotatedDocument; + } + + public InputStream annotateDocument(String documentGuid, String documentType, List annotations) throws FileNotFoundException { + InputStream file = annotationHandler.removeAnnotationStream(new FileInputStream(documentGuid)); + // check if annotations array contains at least one annotation to add + if (annotations.size() > 0) { + // Add annotation to the document + int type = getDocumentType(documentType); + return annotationHandler.exportAnnotationsToDocument(file, annotations, type); + } + return file; + } + + public List getAnnotationInfos(AnnotateDocumentRequest annotateDocumentRequest, String documentType) { + AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); + // get document info - required to get document page height and calculate annotation top position + DocumentInfoContainer documentInfo = annotationHandler.getDocumentInfo(new File(annotateDocumentRequest.getGuid()).getName(), annotateDocumentRequest.getPassword()); + List annotations = new ArrayList<>(); + for (AnnotationDataEntity annotationData : annotationsData) { + // create annotator + PageData pageData = documentInfo.getPages().get(annotationData.getPageNumber() - 1); + // add annotation, if current annotation type isn't supported by the current document type it will be ignored + try { + annotations.add(AnnotatorFactory.createAnnotator(annotationData, pageData).getAnnotationInfo(documentType)); + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + return annotations; + } + + @Override + public InputStream annotateByStream(AnnotateDocumentRequest annotateDocumentRequest) { + String documentGuid = annotateDocumentRequest.getGuid(); + String documentType = checkedDocumentType(documentGuid, annotateDocumentRequest.getDocumentType()); + List annotations = getAnnotationInfos(annotateDocumentRequest, documentType); + try { + return annotateDocument(documentGuid, documentType, annotations); + } catch (FileNotFoundException ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + + /** + * Get pages images of annotated file + * + * @param password password for the file + * @param inputStream stream of annotated file + * @return list of pages + * @throws IOException + */ + private List getAnnotatedPages(String password, InputStream inputStream) throws IOException { + ImageOptions imageOptions = createImageOptions(password); + List pages = annotationHandler.getPages(inputStream, imageOptions); + List pagesDescriptions = new ArrayList<>(pages.size()); + for (PageImage pageImage : pages) { + AnnotationPageDescriptionEntity page = new AnnotationPageDescriptionEntity(); + page.setData(getStringFromStream(pageImage.getStream())); + + pagesDescriptions.add(page); + } + return pagesDescriptions; + } + + /** + * Get all annotations from the document + * + * @param documentGuid + * @param documentType + * @return array of the annotations + */ + private AnnotationInfo[] getAnnotations(String documentGuid, String documentType) { + try (InputStream documentStream = new FileInputStream(documentGuid)) { + int docType = getDocumentType(documentType); + return new Importer(documentStream, annotationHandler).importAnnotations(docType); + } catch (AnnotatorException annotatorException) { + logger.error("Exception while extract annotations from file {}: {}", FilenameUtils.getName(documentGuid), annotatorException.getCause().getLocalizedMessage()); + return new AnnotationInfo[0]; + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java new file mode 100644 index 0000000..d107c29 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java @@ -0,0 +1,93 @@ +package com.groupdocs.ui.annotation.util; + +import com.groupdocs.annotation.domain.AnnotationInfo; +import com.groupdocs.annotation.domain.AnnotationReplyInfo; +import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.CommentsEntity; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; + +/** + * Mapper for annotation entities + */ +public class AnnotationMapper { + /** + * Instance of mapper + */ + public static final AnnotationMapper instance = new AnnotationMapper(); + + private AnnotationMapper() { + } + + /** + * Map AnnotationInfo instances into AnnotationDataEntity + * + * @param annotations list of AnnotationInfo instances + * @param pageNumber number of page for mapping + * @return list of AnnotationDataEntity instances + */ + public AnnotationDataEntity[] mapForPage(AnnotationInfo[] annotations, int pageNumber) { + // initiate annotations data array + List pageAnnotations = new ArrayList<>(); + // set each annotation data - this functionality used since annotations data returned by the + // GroupDocs.Annotation library are obfuscated + for (int n = 0; n < annotations.length; n++) { + AnnotationInfo annotationInfo = annotations[n]; + if(pageNumber == annotationInfo.getPageNumber() + 1) { + AnnotationDataEntity annotation = mapAnnotationDataEntity(annotationInfo); + pageAnnotations.add(annotation); + } + } + AnnotationDataEntity[] ret = new AnnotationDataEntity[pageAnnotations.size()]; + return pageAnnotations.toArray(ret); + } + + /** + * Map AnnotationInfo instances into AnnotationDataEntity + * + * @param annotationInfo AnnotationInfo instance + * @return AnnotationDataEntity instance + */ + public AnnotationDataEntity mapAnnotationDataEntity(AnnotationInfo annotationInfo) { + AnnotationDataEntity annotation = new AnnotationDataEntity(); + annotation.setFont(annotationInfo.getFontFamily()); + annotation.setFontColor(annotationInfo.getFontColor()); + annotation.setFontSize(annotationInfo.getFontSize()); + Rectangle box = annotationInfo.getBox(); + annotation.setHeight(box.getHeight()); + annotation.setLeft(box.getX()); + annotation.setTop(box.getY()); + annotation.setWidth(box.getWidth()); + annotation.setPageNumber(annotationInfo.getPageNumber() + 1); + if (annotationInfo.getSvgPath() != null) { + annotation.setSvgPath(annotationInfo.getSvgPath().replace("l", "L")); + } + String text = (annotationInfo.getText() == null) ? annotationInfo.getFieldText() : annotationInfo.getText(); + annotation.setText(text); + annotation.setType(AnnotationTypes.instance.getAnnotationType(annotationInfo.getType())); + setReplies(annotationInfo, annotation); + return annotation; + } + + public void setReplies(AnnotationInfo annotationInfo, AnnotationDataEntity annotation) { + // set each reply data + AnnotationReplyInfo[] replies = annotationInfo.getReplies(); + if (replies != null && replies.length > 0) { + CommentsEntity[] comments = new CommentsEntity[replies.length]; + for (int m = 0; m < replies.length; m++) { + CommentsEntity comment = new CommentsEntity(); + AnnotationReplyInfo reply = replies[m]; + comment.setText(reply.getMessage()); + DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); + comment.setTime(format.format(reply.getRepliedOn())); + comment.setUserName(reply.getUserName()); + comments[m] = comment; + } + annotation.setComments(comments); + } + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationTypes.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationTypes.java new file mode 100644 index 0000000..6793ba5 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationTypes.java @@ -0,0 +1,57 @@ +package com.groupdocs.ui.annotation.util; + +import java.util.HashMap; +import java.util.Map; + +/** + * AnnotationTypes + * Contains all annotations types + * + * @author Aspose Pty Ltd + */ +public class AnnotationTypes { + + /** + * Map annotation types from byte into string + */ + private static final Map types = new HashMap<>(); + + // init map values + { + types.put((byte) 0, "text"); + types.put((byte) 1, "area"); + types.put((byte) 2, "point"); + types.put((byte) 3, "textStrikeout"); + types.put((byte) 4, "polyline"); + types.put((byte) 5, "textField"); + types.put((byte) 6, "watermark"); + types.put((byte) 7, "textReplacement"); + types.put((byte) 8, "arrow"); + types.put((byte) 9, "textRedaction"); + types.put((byte) 10, "resourcesRedaction"); + types.put((byte) 11, "textUnderline"); + types.put((byte) 12, "distance"); + } + + /** + * Instance of AnnotationTypes + */ + public static final AnnotationTypes instance = new AnnotationTypes(); + + /** + * Private constructor, for using only in this class + */ + private AnnotationTypes() { + } + + /** + * Get string value of annotation type + * + * @param type byte value of annotation type + * @return string value of annotation type + */ + public String getAnnotationType(byte type) { + return types.get(type); + } +} + diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java new file mode 100644 index 0000000..495a971 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java @@ -0,0 +1,65 @@ +package com.groupdocs.ui.annotation.util; + +import com.google.common.collect.Lists; +import com.groupdocs.annotation.domain.DocumentType; + +import java.util.List; + +import static com.groupdocs.ui.util.Utils.parseFileExtension; + +/** + * Converter for document types + */ +public class DocumentTypesConverter { + + private static final List supportedImageFormats = Lists.newArrayList("bmp", "jpeg", "jpg", "tiff", "tif", "png", "gif", "emf", "wmf", "dwg", "dicom", "djvu"); + private static final List supportedDiagramFormats = Lists.newArrayList(".vsd", ".vdx", ".vss", ".vsx", ".vst", ".vtx", ".vsdx", ".vdw", ".vstx", ".vssx"); + + /** + * Convert document type from string into int + * + * @param documentType string value of document type + * @return int doc type + */ + public static final int getDocumentType(String documentType) { + switch (documentType) { + case "Portable Document Format": + case "PDF": + return DocumentType.Pdf; + case "Microsoft Word": + case "WORDS": + return DocumentType.Words; + case "Microsoft PowerPoint": + case "SLIDES": + return DocumentType.Slides; + case "image": + return DocumentType.Images; + case "Microsoft Excel": + case "CELLS": + return DocumentType.Cells; + case "AutoCAD Drawing File Format": + case "diagram": + return DocumentType.Diagram; + default: + return DocumentType.Undefined; + } + } + + /** + * Check image and diagram document types + * + * @param documentGuid document name + * @param documentType string value of document type + * @return correct document type + */ + public static String checkedDocumentType(String documentGuid, String documentType) { + String fileExtension = parseFileExtension(documentGuid); + // check if document type is image + if (supportedImageFormats.contains(fileExtension)) { + documentType = "image"; + } else if (supportedDiagramFormats.contains(fileExtension)) { + documentType = "diagram"; + } + return documentType; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/PathConstants.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/PathConstants.java new file mode 100644 index 0000000..6f5cbf4 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/PathConstants.java @@ -0,0 +1,10 @@ +package com.groupdocs.ui.annotation.util; + +import java.io.File; + +public class PathConstants { + /** + * Constant value for specifying output folder + */ + public static final String OUTPUT_FOLDER = File.separator + "Annotated"; +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java new file mode 100644 index 0000000..104ba4c --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java @@ -0,0 +1,100 @@ +package com.groupdocs.ui.annotation.util; + +/** + * The list of supported annotation types for each document type + */ +public class SupportedAnnotations { + public static String[] CELLS = { + "text" + }; + public static String[] DIAGRAM = { + "area", + "point", + "polyline", + "textField", + "arrow", + "textRedaction", + "resourcesRedaction", + "distance" + }; + public static String[] WORD = { + "point", + "textStrikeout", + "polyline", + "textField", + "watermark", + "textReplacement", + "arrow", + "textRedaction", + "resourcesRedaction", + "textUnderline", + "distance", + "text" + }; + public static String[] PDF = { + "area", + "point", + "textStrikeout", + "polyline", + "textField", + "watermark", + "textReplacement", + "arrow", + "textRedaction", + "resourcesRedaction", + "textUnderline", + "distance", + "text" + }; + public static String[] IMAGE = { + "area", + "point", + "textStrikeout", + "polyline", + "textField", + "watermark", + "arrow", + "textRedaction", + "resourcesRedaction", + "textUnderline", + "distance", + "text" + }; + public static String[] SLIDES = { + "area", + "point", + "textStrikeout", + "polyline", + "textField", + "watermark", + "arrow", + "textRedaction", + "resourcesRedaction", + "textUnderline", + "text" + }; + + public static String[] getSupportedAnnotations(String documentType) { + switch (documentType) { + case "Portable Document Format": + case "PDF": + return PDF; + case "Microsoft Word": + case "WORDS": + return WORD; + case "Microsoft PowerPoint": + case "SLIDES": + return SLIDES; + case "image": + return IMAGE; + case "Microsoft Excel": + case "CELLS": + return CELLS; + case "AutoCAD Drawing File Format": + case "diagram": + return DIAGRAM; + default: + return PDF; + } + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/config/ApplicationConfiguration.java b/Demos/Spring/src/main/java/com/groupdocs/ui/config/ApplicationConfiguration.java new file mode 100644 index 0000000..b8f9055 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/config/ApplicationConfiguration.java @@ -0,0 +1,62 @@ +package com.groupdocs.ui.config; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; + +import javax.annotation.PostConstruct; + +import java.net.InetAddress; +import java.net.UnknownHostException; + +import static com.groupdocs.ui.config.DefaultDirectories.defaultLicenseDirectory; +import static com.groupdocs.ui.config.DefaultDirectories.relativePathToAbsolute; + +@Component +public class ApplicationConfiguration { + private static final Logger logger = LoggerFactory.getLogger(ApplicationConfiguration.class); + + @Value("${application.hostAddress}") + private String hostAddress; + @Value("${application.licensePath}") + private String licensePath; + + @PostConstruct + public void init() { + if (StringUtils.isEmpty(hostAddress)) { + try { + hostAddress = InetAddress.getLocalHost().getHostAddress(); + } catch (UnknownHostException e) { + logger.error("Can not get host address ", e); + hostAddress = "localhost"; + } + } + this.licensePath = StringUtils.isEmpty(this.licensePath) ? defaultLicenseDirectory() : relativePathToAbsolute(this.licensePath); + } + + public String getLicensePath() { + return licensePath; + } + + public void setLicensePath(String licensePath) { + this.licensePath = licensePath; + } + + public String getHostAddress() { + return hostAddress; + } + + public void setHostAddress(String hostAddress) { + this.hostAddress = hostAddress; + } + + @Override + public String toString() { + return "ApplicationConfiguration{" + + "licensePath='" + licensePath + '\'' + + ", hostAddress='" + hostAddress + '\'' + + '}'; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/config/CommonConfiguration.java b/Demos/Spring/src/main/java/com/groupdocs/ui/config/CommonConfiguration.java new file mode 100644 index 0000000..8817a31 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/config/CommonConfiguration.java @@ -0,0 +1,103 @@ +package com.groupdocs.ui.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +/** + * CommonConfiguration + * + * @author Aspose Pty Ltd + */ +@Component +public class CommonConfiguration { + + @Value("#{new Boolean('${common.pageSelector}')}") + private boolean pageSelector; + + @Value("#{new Boolean('${common.download}')}") + private Boolean download; + + @Value("#{new Boolean('${common.upload}')}") + private Boolean upload; + + @Value("#{new Boolean('${common.print}')}") + private Boolean print; + + @Value("#{new Boolean('${common.browse}')}") + private Boolean browse; + + @Value("#{new Boolean('${common.rewrite}')}") + private Boolean rewrite; + + @Value("#{new Boolean('${common.enableRightClick}')}") + private Boolean enableRightClick; + + public boolean isPageSelector() { + return pageSelector; + } + + public void setPageSelector(boolean pageSelector) { + this.pageSelector = pageSelector; + } + + public boolean isDownload() { + return download; + } + + public void setDownload(boolean download) { + this.download = download; + } + + public boolean isUpload() { + return upload; + } + + public void setUpload(boolean upload) { + this.upload = upload; + } + + public boolean isPrint() { + return print; + } + + public void setPrint(boolean print) { + this.print = print; + } + + public boolean isBrowse() { + return browse; + } + + public void setBrowse(boolean browse) { + this.browse = browse; + } + + public boolean isRewrite() { + return rewrite; + } + + public void setRewrite(boolean rewrite) { + this.rewrite = rewrite; + } + + public Boolean getEnableRightClick() { + return enableRightClick; + } + + public void setEnableRightClick(Boolean enableRightClick) { + this.enableRightClick = enableRightClick; + } + + @Override + public String toString() { + return "CommonConfiguration{" + + "pageSelector=" + pageSelector + + ", download=" + download + + ", upload=" + upload + + ", print=" + print + + ", browse=" + browse + + ", rewrite=" + rewrite + + ", enableRightClick=" + enableRightClick + + '}'; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/config/DefaultDirectories.java b/Demos/Spring/src/main/java/com/groupdocs/ui/config/DefaultDirectories.java new file mode 100644 index 0000000..d1a602c --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/config/DefaultDirectories.java @@ -0,0 +1,76 @@ +package com.groupdocs.ui.config; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.StringUtils; + +import java.io.File; +import java.nio.file.FileSystems; +import java.nio.file.Path; + +public class DefaultDirectories { + private static final Logger logger = LoggerFactory.getLogger(DefaultDirectories.class); + + public static final String LIC = ".lic"; + public static final String LICENSES = "Licenses"; + public static final String DOCUMENT_SAMPLES = "DocumentSamples"; + + public static String defaultLicenseDirectory() { + Path defaultLicFolder = FileSystems.getDefault().getPath(LICENSES).toAbsolutePath(); + File licFolder = defaultLicFolder.toFile(); + if (licFolder.exists()) { + Path defaultLicFile = getDefaultLicFile(licFolder); + if (defaultLicFile != null) { + return defaultLicFile.toString(); + } + } + licFolder.mkdirs(); + logger.info("License file path is incorrect, application launched in trial mode"); + return ""; + } + + public static String defaultAnnotationDirectory() { + return getDefaultFilesDir(""); + } + + public static String getDefaultFilesDir(String folder) { + String dir = DOCUMENT_SAMPLES + File.separator + folder; + Path path = FileSystems.getDefault().getPath(dir).toAbsolutePath(); + makeDirs(path.toFile()); + return path.toString(); + } + + private static void makeDirs(File file) { + if (!file.exists()) { + file.mkdirs(); + } + } + + public static String relativePathToAbsolute(String path) { + Iterable rootDirectories = FileSystems.getDefault().getRootDirectories(); + + if (StringUtils.isEmpty(path)) { + return FileSystems.getDefault().getPath("").toAbsolutePath().toString(); + } + + for (Path root : rootDirectories) { + if (path.startsWith(root.toString())) { + makeDirs(new File(path)); + return path; + } + } + + Path absolutePath = FileSystems.getDefault().getPath(path).toAbsolutePath(); + makeDirs(absolutePath.toFile()); + return absolutePath.toString(); + } + + public static Path getDefaultLicFile(File licFolder) { + for (File file : licFolder.listFiles()) { + if (file.getName().endsWith(LIC)) { + return FileSystems.getDefault().getPath(LICENSES + File.separator + file.getName()).toAbsolutePath(); + } + } + return null; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/config/GlobalConfiguration.java b/Demos/Spring/src/main/java/com/groupdocs/ui/config/GlobalConfiguration.java new file mode 100644 index 0000000..aaea4f7 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/config/GlobalConfiguration.java @@ -0,0 +1,38 @@ +package com.groupdocs.ui.config; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class GlobalConfiguration { + + @Autowired + private ServerConfiguration server; + + @Autowired + private ApplicationConfiguration application; + + public ServerConfiguration getServer() { + return server; + } + + public void setServer(ServerConfiguration server) { + this.server = server; + } + + public ApplicationConfiguration getApplication() { + return application; + } + + public void setApplication(ApplicationConfiguration application) { + this.application = application; + } + + @Override + public String toString() { + return "GlobalConfiguration{" + + "server=" + server + + ", application=" + application + + '}'; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/config/ServerConfiguration.java b/Demos/Spring/src/main/java/com/groupdocs/ui/config/ServerConfiguration.java new file mode 100644 index 0000000..bfefb72 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/config/ServerConfiguration.java @@ -0,0 +1,36 @@ +package com.groupdocs.ui.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +@Component +public class ServerConfiguration { + + private Integer httpPort; + @Value("#{servletContext.contextPath}") + private String applicationContextPath; + + public Integer getHttpPort() { + return httpPort; + } + + public void setHttpPort(Integer httpPort) { + this.httpPort = httpPort; + } + + public String getApplicationContextPath() { + return applicationContextPath; + } + + public void setApplicationContextPath(String applicationContextPath) { + this.applicationContextPath = applicationContextPath; + } + + @Override + public String toString() { + return "ServerConfiguration{" + + "httpPort=" + httpPort + + ", applicationContextPath='" + applicationContextPath + '\'' + + '}'; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/exception/GroupDocsExceptionHandler.java b/Demos/Spring/src/main/java/com/groupdocs/ui/exception/GroupDocsExceptionHandler.java new file mode 100644 index 0000000..48261a3 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/exception/GroupDocsExceptionHandler.java @@ -0,0 +1,32 @@ +package com.groupdocs.ui.exception; + +import com.groupdocs.ui.model.response.ExceptionEntity; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; + +import static com.groupdocs.ui.exception.PasswordExceptions.INCORRECT_PASSWORD; +import static com.groupdocs.ui.exception.PasswordExceptions.PASSWORD_REQUIRED; + +@ControllerAdvice +public class GroupDocsExceptionHandler extends ResponseEntityExceptionHandler { + + @ExceptionHandler(TotalGroupDocsException.class) + protected ResponseEntity handleTotalGroupDocsException(TotalGroupDocsException exception) { + ExceptionEntity exceptionEntity = new ExceptionEntity(); + String message = exception.getMessage(); + exceptionEntity.setMessage(message); + if (PASSWORD_REQUIRED.equals(message) || INCORRECT_PASSWORD.equals(message)) { + return new ResponseEntity<>(exceptionEntity, HttpStatus.OK); + } + if (logger.isDebugEnabled()) { + exception.printStackTrace(); + exceptionEntity.setException(exception); + } + logger.error(exception.getCause() != null? exception.getCause().getLocalizedMessage() : message); + return new ResponseEntity<>(exceptionEntity, HttpStatus.INTERNAL_SERVER_ERROR); + } + +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/exception/PasswordExceptions.java b/Demos/Spring/src/main/java/com/groupdocs/ui/exception/PasswordExceptions.java new file mode 100644 index 0000000..64d2044 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/exception/PasswordExceptions.java @@ -0,0 +1,6 @@ +package com.groupdocs.ui.exception; + +public class PasswordExceptions { + public static final String PASSWORD_REQUIRED = "Password Required"; + public static final String INCORRECT_PASSWORD = "Incorrect password"; +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/exception/TotalGroupDocsException.java b/Demos/Spring/src/main/java/com/groupdocs/ui/exception/TotalGroupDocsException.java new file mode 100644 index 0000000..7990792 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/exception/TotalGroupDocsException.java @@ -0,0 +1,15 @@ +package com.groupdocs.ui.exception; + +/** + * Wrapper for application's exceptions + */ +public class TotalGroupDocsException extends RuntimeException { + + public TotalGroupDocsException(String message) { + super(message); + } + + public TotalGroupDocsException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/model/request/FileTreeRequest.java b/Demos/Spring/src/main/java/com/groupdocs/ui/model/request/FileTreeRequest.java new file mode 100644 index 0000000..1c644d5 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/model/request/FileTreeRequest.java @@ -0,0 +1,13 @@ +package com.groupdocs.ui.model.request; + +public class FileTreeRequest { + private String path; + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/model/request/LoadDocumentPageRequest.java b/Demos/Spring/src/main/java/com/groupdocs/ui/model/request/LoadDocumentPageRequest.java new file mode 100644 index 0000000..dbb726b --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/model/request/LoadDocumentPageRequest.java @@ -0,0 +1,13 @@ +package com.groupdocs.ui.model.request; + +public class LoadDocumentPageRequest extends LoadDocumentRequest { + private Integer page; + + public Integer getPage() { + return page; + } + + public void setPage(Integer page) { + this.page = page; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/model/request/LoadDocumentRequest.java b/Demos/Spring/src/main/java/com/groupdocs/ui/model/request/LoadDocumentRequest.java new file mode 100644 index 0000000..7ba768d --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/model/request/LoadDocumentRequest.java @@ -0,0 +1,23 @@ +package com.groupdocs.ui.model.request; + +public class LoadDocumentRequest { + + private String guid; + private String password; + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/ExceptionEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/ExceptionEntity.java new file mode 100644 index 0000000..3106451 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/ExceptionEntity.java @@ -0,0 +1,57 @@ +package com.groupdocs.ui.model.response; + +/** + * ExceptionEntity + * + * @author Aspose Pty Ltd + */ +public class ExceptionEntity { + private String message; + private Exception exception; + + public ExceptionEntity() { + } + + public ExceptionEntity(String message) { + this.message = message; + } + + public ExceptionEntity(String message, Exception exception) { + this.message = message; + this.exception = exception; + } + + /** + * Get exception message + * @return message + */ + public String getMessage() { + return message; + } + + /** + * Set exception message + * @param message message + */ + public void setMessage(String message) { + this.message = message; + } + + /** + * Get exception + * @return exception + */ + public Exception getException() { + return exception; + } + + /** + * Set exception + * @param exception exception + */ + public void setException(Exception exception) { + this.exception = exception; + } + +} + diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/FileDescriptionEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/FileDescriptionEntity.java new file mode 100644 index 0000000..3c82e38 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/FileDescriptionEntity.java @@ -0,0 +1,95 @@ +package com.groupdocs.ui.model.response; + +/** + * FileDescriptionEntity + * + * @author Aspose Pty Ltd + */ +public class FileDescriptionEntity { + private String guid; + private String name; + private String docType; + private Boolean isDirectory; + private Long size; + + /** + * Get guid (file id) + * @return guid + */ + public String getGuid() { + return guid; + } + + /** + * Set guid (File id) + * @param guid guid + */ + public void setGuid(String guid) { + this.guid = guid; + } + + /** + * Get file name + * @return file name + */ + public String getName() { + return name; + } + + /** + * Set file name + * @param name file name + */ + public void setName(String name) { + this.name = name; + } + + /** + * Get document type + * @return document type + */ + public String getDocType() { + return docType; + } + + /** + * Set document type + * @param docType document type + */ + public void setDocType(String docType) { + this.docType = docType; + } + + /** + * Check if path is directory + * @return true/false flag + */ + public Boolean isDirectory() { + return isDirectory; + } + + /** + * Set is directory flag + * @param directory true/false flag + */ + public void setDirectory(Boolean directory) { + isDirectory = directory; + } + + /** + * Get file size + * @return file size + */ + public Long getSize() { + return size; + } + + /** + * Set file size + * @param size file size + */ + public void setSize(Long size) { + this.size = size; + } + +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/LoadDocumentEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/LoadDocumentEntity.java new file mode 100644 index 0000000..27ad028 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/LoadDocumentEntity.java @@ -0,0 +1,30 @@ +package com.groupdocs.ui.model.response; + +import java.util.List; + +public class LoadDocumentEntity { + /** + * Document Guid + */ + private String guid; + /** + * list of pages + */ + private List pages; + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + public List getPages() { + return pages; + } + + public void setPages(List pages) { + this.pages = pages; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/PageDescriptionEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/PageDescriptionEntity.java new file mode 100644 index 0000000..4193475 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/PageDescriptionEntity.java @@ -0,0 +1,57 @@ +package com.groupdocs.ui.model.response; + +/** + * PageDescriptionEntity + * + * @author Aspose Pty Ltd + */ +public class PageDescriptionEntity { + /** + * Page data + */ + private String data; + private int angle; + private double width; + private double height; + private int number; + + public int getAngle() { + return angle; + } + + public void setAngle(int angle) { + this.angle = angle; + } + + public double getWidth() { + return width; + } + + public void setWidth(double width) { + this.width = width; + } + + public double getHeight() { + return height; + } + + public void setHeight(double height) { + this.height = height; + } + + public int getNumber() { + return number; + } + + public void setNumber(int number) { + this.number = number; + } + + public String getData() { + return data; + } + + public void setData(String data) { + this.data = data; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/UploadedDocumentEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/UploadedDocumentEntity.java new file mode 100644 index 0000000..65d744f --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/UploadedDocumentEntity.java @@ -0,0 +1,26 @@ +package com.groupdocs.ui.model.response; + +/** + * UploadedDocumentEntity + * + * @author Aspose Pty Ltd + */ +public class UploadedDocumentEntity { + private String guid; + + /** + * Get guid (file id) + * @return guid + */ + public String getGuid() { + return guid; + } + + /** + * Set guid (file id) + * @param guid guid + */ + public void setGuid(String guid) { + this.guid = guid; + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/util/Utils.java b/Demos/Spring/src/main/java/com/groupdocs/ui/util/Utils.java new file mode 100644 index 0000000..234426d --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/util/Utils.java @@ -0,0 +1,264 @@ +package com.groupdocs.ui.util; + +import com.groupdocs.ui.config.ServerConfiguration; +import com.groupdocs.ui.exception.TotalGroupDocsException; +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.io.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.util.StringUtils; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardCopyOption; +import java.util.Base64; +import java.util.Comparator; +import java.util.List; +import java.util.Map; + +import static org.springframework.http.HttpHeaders.CONTENT_LENGTH; + +public class Utils { + private static final Logger logger = LoggerFactory.getLogger(Utils.class); + + public static final FileNameComparator FILE_NAME_COMPARATOR = new FileNameComparator(); + public static final FileTypeComparator FILE_TYPE_COMPARATOR = new FileTypeComparator(); + + /** + * Set local port from request to config + * + * @param request + * @param server + */ + public static void setLocalPort(HttpServletRequest request, ServerConfiguration server) { + if (server.getHttpPort() == null) { + server.setHttpPort(request.getLocalPort()); + } + } + + /** + * Read stream and convert to string + * + * @param inputStream + * @return + * @throws IOException + */ + public static String getStringFromStream(InputStream inputStream) throws IOException { + byte[] bytes = IOUtils.toByteArray(inputStream); + // encode ByteArray into String + return Base64.getEncoder().encodeToString(bytes); + } + + /** + * Parse extension of the file's name + * + * @param documentGuid path to file + * @return extension of the file's name + */ + public static String parseFileExtension(String documentGuid) { + String extension = FilenameUtils.getExtension(documentGuid); + return extension == null ? null : extension.toLowerCase(); + } + + /** + * Fill header HTTP response with file data + */ + public static void addFileDownloadHeaders(HttpServletResponse response, String fileName, Long fileLength) { + HttpHeaders fileDownloadHeaders = createFileDownloadHeaders(fileName, fileLength, MediaType.APPLICATION_OCTET_STREAM); + for (Map.Entry> entry : fileDownloadHeaders.entrySet()) { + for (String value : entry.getValue()) { + response.addHeader(entry.getKey(), value); + } + } + } + + /** + * Set "Content-Length" header into response + * + * @param response http response + * @param length the length of file + */ + public static void addFileDownloadLengthHeader(HttpServletResponse response, Long length) { + if (length != null) { + response.setHeader(CONTENT_LENGTH, Long.toString(length)); + } + } + + /** + * Upload the file + * + * @param documentStoragePath path for uploading the file + * @param content file data + * @param url url of file + * @param rewrite flag of rewriting the file + * @return path to uploaded file + */ + public static String uploadFile(String documentStoragePath, MultipartFile content, String url, Boolean rewrite) { + String filePath; + try { + String fileName; + // save from file content + if (StringUtils.isEmpty(url)) { + fileName = content.getOriginalFilename(); + try (InputStream inputStream = content.getInputStream()) { + filePath = uploadFileInternal(inputStream, documentStoragePath, fileName, rewrite); + } catch (Exception ex) { + logger.error("Exception occurred while uploading document", ex); + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } else { // save from url + URL fileUrl = new URL(url); + try (InputStream inputStream = fileUrl.openStream()) { + fileName = FilenameUtils.getName(fileUrl.getPath()); + filePath = uploadFileInternal(inputStream, documentStoragePath, fileName, rewrite); + } catch (Exception ex) { + logger.error("Exception occurred while uploading document", ex); + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + } catch (Exception ex) { + logger.error("Exception occurred while uploading document", ex); + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + return filePath; + } + + /** + * Upload file from input stream + * + * @param uploadedInputStream input stream of file + * @param documentStoragePath path to storage + * @param fileName name of file + * @param rewrite flag for rewriting + * @return path to file + * @throws IOException + */ + public static String uploadFileInternal(InputStream uploadedInputStream, String documentStoragePath, String fileName, boolean rewrite) throws IOException { + String filePath = String.format("%s%s%s", documentStoragePath, File.separator, fileName); + File file = new File(filePath); + // check rewrite mode + if (rewrite) { + // save file with rewrite if exists + Files.copy(uploadedInputStream, file.toPath(), StandardCopyOption.REPLACE_EXISTING); + return filePath; + } else { + if (file.exists()) { + // get file with new name + file = getFreeFileName(documentStoragePath, fileName); + } + // save file without rewriting + Path path = file.toPath(); + Files.copy(uploadedInputStream, path); + return path.toString(); + } + } + + /** + * Get headers for downloading files + */ + private static HttpHeaders createFileDownloadHeaders(String fileName, Long fileLength, MediaType mediaType) { + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setContentDispositionFormData("attachment", fileName); + httpHeaders.setContentType(mediaType); + httpHeaders.set("Content-Description", "File Transfer"); + httpHeaders.set("Content-Transfer-Encoding", "binary"); + httpHeaders.setExpires(0); + httpHeaders.setCacheControl("must-revalidate"); + httpHeaders.setPragma("public"); + if (fileLength != null) { + httpHeaders.setContentLength(fileLength); + } + return httpHeaders; + } + + /** + * Rename file if exist + * + * @param directory directory where files are located + * @param fileName file name + * @return new file with new file name + */ + public static File getFreeFileName(String directory, String fileName) { + File file = null; + try { + File folder = new File(directory); + File[] listOfFiles = folder.listFiles(); + for (int i = 0; i < listOfFiles.length; i++) { + int number = i + 1; + String newFileName = FilenameUtils.removeExtension(fileName) + "-Copy(" + number + ")." + FilenameUtils.getExtension(fileName); + file = new File(directory + File.separator + newFileName); + if (file.exists()) { + continue; + } else { + break; + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return file; + } + + /** + * FileNameComparator + * Compare and sort file names alphabetically + * + * @author Aspose Pty Ltd + */ + static class FileNameComparator implements Comparator { + + /** + * Compare two file names + * + * @param file1 + * @param file2 + * @return int + */ + @Override + public int compare(File file1, File file2) { + + return String.CASE_INSENSITIVE_ORDER.compare(file1.getName(), + file2.getName()); + } + } + + /** + * FileTypeComparator + * Compare and sort file types - folders first + * + * @author Aspose Pty Ltd + */ + static class FileTypeComparator implements Comparator { + + /** + * Compare two file types + * + * @param file1 + * @param file2 + * @return + */ + @Override + public int compare(File file1, File file2) { + + if (file1.isDirectory() && file2.isFile()) { + return -1; + } + if (file1.isDirectory() && file2.isDirectory()) { + return 0; + } + if (file1.isFile() && file2.isFile()) { + return 0; + } + return 1; + } + } +} diff --git a/Demos/Spring/src/main/resources/application.properties b/Demos/Spring/src/main/resources/application.properties new file mode 100644 index 0000000..ad1fc0d --- /dev/null +++ b/Demos/Spring/src/main/resources/application.properties @@ -0,0 +1,5 @@ +spring.servlet.multipart.max-file-size=10Mb +spring.servlet.multipart.max-request-size=10Mb +#Logging +logging.level.org.springframework.web=ERROR +logging.level.com.groupdocs.ui=DEBUG diff --git a/Demos/Spring/src/main/resources/defaultConfiguration.yml b/Demos/Spring/src/main/resources/defaultConfiguration.yml new file mode 100644 index 0000000..6543f7e --- /dev/null +++ b/Demos/Spring/src/main/resources/defaultConfiguration.yml @@ -0,0 +1,99 @@ +################################################ +# Server configurations +################################################ +server: + connector: + # Changing port is available for embedded server only + # Is is not possible to change port for deploying application on external server + port: 8080 + + +################################################ +# Application (global) configurations +################################################ +application: + # License path + # Absolute or relative path to GroupDocs license file + licensePath: + # Host name or ip for server instance + hostAddress: + + +################################################ +# Common configurations +################################################ +common: + # File rewriting on document uploading + # Set false to keep both files + # Set true to replace files with same name + rewrite: true + # Page navigation + # Set false to disable document navigation (go to next, previous, last and first page) + pageSelector: true + # Document download + # Set false to disable document download + download: true + # Document upload + # Set false to disable document upload + upload: true + # Document print + # Set false to disable document print + print: true + # File browser + # Set false to disable document browse + browse: true + # Set false to disable right mouse click + enableRightClick: true + +################################################ +# GroupDocs.Annotation configurations +################################################ +annotation: + # Files directory path + # Absolute or relative path to files directory + filesDirectory: DocumentSamples + # Default document + # Absolute path to default document + defaultDocument: + # Pages preload + # How many pages from a document should be loaded, remaining pages will be loaded on page scrolling + # Set 0 to load all pages at once + preloadPageCount: 0 + # Fonts path + # Absolute path to custom fonts directory + fontsDirectory: + # Enable/disable Text annotation + textAnnotation: true + # Enable/disable Area annotation + areaAnnotation: true + # Enable/disable Point annotation + pointAnnotation: true + # Enable/disable TextStrikeout annotation + textStrikeoutAnnotation: true + # Enable/disable Polyline annotation + polylineAnnotation: true + # Enable/disable TextField annotation + textFieldAnnotation: true + # Enable/disable Watermark annotation + watermarkAnnotation: true + # Enable/disable TextReplacement annotation + textReplacementAnnotation: true + # Enable/disable Arrow annotation + arrowAnnotation: true + # Enable/disable TextRedaction annotation + textRedactionAnnotation: true + # Enable/disable ResourcesRedaction annotation + resourcesRedactionAnnotation: true + # Enable/disable TextUnderline annotation + textUnderlineAnnotation: true + # Enable/disable Distance annotation + distanceAnnotation: true + # Enable/disable original document downloading + downloadOriginal: true + # Enable/disable signed document downloading + downloadAnnotated: true + # Enable/disable zoom + zoom: true + # Enable/disable fit width + # set true to zoom document pages fit width + fitWidth: true diff --git a/Demos/Spring/src/main/resources/static/.gitkeep b/Demos/Spring/src/main/resources/static/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Demos/Spring/src/main/resources/templates/annotation.html b/Demos/Spring/src/main/resources/templates/annotation.html new file mode 100644 index 0000000..eaed300 --- /dev/null +++ b/Demos/Spring/src/main/resources/templates/annotation.html @@ -0,0 +1,23 @@ + + + + + GroupDocs.Annotation for Java Spring + + + + + + + + + + + + + + + + + + diff --git a/Demos/Spring/src/main/webapp/META-INF/context.xml b/Demos/Spring/src/main/webapp/META-INF/context.xml new file mode 100644 index 0000000..600c069 --- /dev/null +++ b/Demos/Spring/src/main/webapp/META-INF/context.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/Demos/Spring/src/test/java/com/groupdocs/ui/annotation/controller/AnnotationControllerTest.java b/Demos/Spring/src/test/java/com/groupdocs/ui/annotation/controller/AnnotationControllerTest.java new file mode 100644 index 0000000..16924c5 --- /dev/null +++ b/Demos/Spring/src/test/java/com/groupdocs/ui/annotation/controller/AnnotationControllerTest.java @@ -0,0 +1,63 @@ +package com.groupdocs.ui.annotation.controller; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.servlet.view.InternalResourceViewResolver; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view; +import static org.springframework.test.web.servlet.setup.MockMvcBuilders.standaloneSetup; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class AnnotationControllerTest { + MockMvc mvc; + + @Autowired + protected WebApplicationContext wac; + + @Autowired + AnnotationController controller; + + @Before + public void setUp() throws Exception { + InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); + viewResolver.setPrefix("/templates/"); + viewResolver.setSuffix(".html"); + + this.mvc = standaloneSetup(this.controller).setViewResolvers(viewResolver).build(); + } + + @Test + public void getView() throws Exception { + mvc.perform(get("/annotation")).andExpect(status().isOk()).andExpect(view().name("annotation")); + } + + public void loadFileTree() { + } + + public void loadDocumentDescription() { + } + + public void loadDocumentPage() { + } + + public void downloadDocument() { + } + + public void uploadDocument() { + } + + public void textCoordinates() { + } + + public void annotate() { + } +} \ No newline at end of file From 1852e95400a7f8a33deda1609c1cd345643d92f9 Mon Sep 17 00:00:00 2001 From: Farooq Sheikh Date: Thu, 24 Jun 2021 16:37:51 +0500 Subject: [PATCH 40/76] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2464ffa..31050f0 100644 --- a/README.md +++ b/README.md @@ -71,4 +71,4 @@ try { } ``` -[Home](https://www.groupdocs.com/) | [Product Page](https://products.groupdocs.com/annotation/java) | [Documentation](https://docs.groupdocs.com/annotation/java/) | [Demos](https://products.groupdocs.app/annotation/family) | [API Reference](https://apireference.groupdocs.com/java/annotation) | [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | [Blog](https://blog.groupdocs.com/category/annotation/) | [Free Support](https://forum.groupdocs.com/c/annotation) | [Temporary License](https://purchase.groupdocs.com/temporary-license) +[Home](https://www.groupdocs.com/) | [Product Page](https://products.groupdocs.com/annotation/java) | [Documentation](https://docs.groupdocs.com/annotation/java/) | [Demos](https://products.groupdocs.app/annotation/family) | [API Reference](https://apireference.groupdocs.com/java/annotation) | [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | [Blog](https://blog.groupdocs.com/category/annotation/) | [Search](https://search.groupdocs.com/) | [Free Support](https://forum.groupdocs.com/c/annotation) | [Temporary License](https://purchase.groupdocs.com/temporary-license) From 2b6ecc3fcba06d90cef068f01ad8813a6175b2ba Mon Sep 17 00:00:00 2001 From: Alexander Tyutyunnyk Date: Tue, 20 Jul 2021 20:20:38 +0300 Subject: [PATCH 41/76] Update annotation to 21.7 --- Examples/pom.xml | 2 +- .../GenerateDocumentPagesPreview.java | 20 +++++++++++++++---- .../ExtractAnnotationsFromDocument.java | 1 - .../examples/basic_usage/RemoveReplies.java | 1 - .../basic_usage/RemoveRepliesById.java | 1 - .../basic_usage/RemoveRepliesByUserName.java | 1 - .../basic_usage/UpdateAnnotation.java | 1 - 7 files changed, 17 insertions(+), 10 deletions(-) diff --git a/Examples/pom.xml b/Examples/pom.xml index 75d37e2..86f96d2 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -23,7 +23,7 @@ com.groupdocs groupdocs-annotation - 20.2 + 21.7 diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java index ceda08f..a4cfcfe 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java @@ -2,7 +2,9 @@ import com.groupdocs.annotation.Annotator; import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.exception.GroupDocsException; import com.groupdocs.annotation.options.PreviewFormats; +import com.groupdocs.annotation.options.pagepreview.CreatePageStream; import com.groupdocs.annotation.options.pagepreview.PreviewOptions; import com.groupdocs.annotation.options.pagepreview.PageStreamFactory; import java.io.File; @@ -20,10 +22,20 @@ public class GenerateDocumentPagesPreview { public static void run() { final Annotator annotator = new Annotator(Constants.INPUT); - - String outputPathFormat = Constants.getPagePreviewPathFormat("PagePreview_{0}.png"); - - PreviewOptions previewOptions = new PreviewOptions(outputPathFormat); + + PreviewOptions previewOptions = new PreviewOptions(new CreatePageStream() { + @Override + public OutputStream invoke(int pageNumber) { + try { + String OutputPath = "//Resources//Output/"; + String fileName = OutputPath + "GenerateDocumentPagesPreview_"+pageNumber+".png"; + OutputStream result = new FileOutputStream(fileName); + return result; + } catch (Exception ex) { + throw new GroupDocsException(ex); + } + } + }); previewOptions.setPreviewFormat(PreviewFormats.PNG); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java index 88f7129..7717479 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java @@ -18,7 +18,6 @@ public class ExtractAnnotationsFromDocument { public static void run() throws IOException { LoadOptions loadOptions = new LoadOptions(); - loadOptions.setImportAnnotations(true); final Annotator annotator = new Annotator(Constants.ANNOTATED_IMPORT, loadOptions); List annotations = annotator.get(); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java index 2a6d6e3..552a074 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java @@ -17,7 +17,6 @@ public class RemoveReplies { public static void run() { String outputPath = Constants.getOutputFilePath("RemoveRepliesById", FilenameUtils.getExtension(Constants.INPUT)); LoadOptions loadOptions = new LoadOptions(); - loadOptions.setImportAnnotations(true); // NOTE: Input document already contain annotations with replies final Annotator annotator = new Annotator(Constants.ANNOTATED_WITH_REPLIES_NEW, loadOptions); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java index 988da32..42228a6 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java @@ -18,7 +18,6 @@ public class RemoveRepliesById { public static void run() { String outputPath = Constants.getOutputFilePath("RemoveRepliesById", FilenameUtils.getExtension(Constants.INPUT)); LoadOptions loadOptions = new LoadOptions(); - loadOptions.setImportAnnotations(true); // NOTE: Input document already contain annotations with replies final Annotator annotator = new Annotator(Constants.ANNOTATED_AREA_REPLIES_5, loadOptions); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesByUserName.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesByUserName.java index 9c624cb..183098d 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesByUserName.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesByUserName.java @@ -18,7 +18,6 @@ public class RemoveRepliesByUserName { public static void run() { String outputPath = Constants.getOutputFilePath("RemoveRepliesByUserName", FilenameUtils.getExtension(Constants.INPUT)); LoadOptions loadOptions = new LoadOptions(); - loadOptions.setImportAnnotations(true); // NOTE: Input document already contain annotations with replies final Annotator annotator = new Annotator(Constants.ANNOTATED_AREA_REPLIES_5, loadOptions); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/UpdateAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/UpdateAnnotation.java index 4d025a4..3000c99 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/UpdateAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/UpdateAnnotation.java @@ -49,7 +49,6 @@ public static void run() { annotator.dispose(); LoadOptions loadOptions = new LoadOptions(); - loadOptions.setImportAnnotations(true); // open annotated document final Annotator annotator1 = new Annotator(outputPath, loadOptions); From bdb708552f6b10a038dc95d7d96a7b93e67116d0 Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik <35294201+vladimir-litvinchik@users.noreply.github.com> Date: Mon, 26 Jul 2021 11:24:29 +0300 Subject: [PATCH 42/76] Added Demos folder. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 31050f0..9292272 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ GroupDocs.Annotation for Java is a [Document Annotation API](https://products.gr Directory | Description --------- | ----------- [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | Java examples and sample documents for you to get started quickly. +[Demos](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Demos) | GroupDocs.Annotation for Java Dropwizard and Spring Demo projects. ## Annotate Documents via Java From 142c5ae9e452222fcad75f641dae8d020d38f19a Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik <35294201+vladimir-litvinchik@users.noreply.github.com> Date: Mon, 26 Jul 2021 11:36:54 +0300 Subject: [PATCH 43/76] Cleanup. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9292272..c13ef2e 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,8 @@ GroupDocs.Annotation for Java is a [Document Annotation API](https://products.gr Directory | Description --------- | ----------- -[Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | Java examples and sample documents for you to get started quickly. [Demos](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Demos) | GroupDocs.Annotation for Java Dropwizard and Spring Demo projects. +[Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | Java examples and sample documents for you to get started quickly. ## Annotate Documents via Java From dcbc561aceb816f1abf1a21f4b81a5c92a067818 Mon Sep 17 00:00:00 2001 From: Alexander Tyutyunnyk Date: Mon, 26 Jul 2021 18:20:25 +0300 Subject: [PATCH 44/76] Update annotation to 21.7 for Spring --- Demos/Spring/README.md | 2 +- Demos/Spring/pom.xml | 14 +- .../annotator/AbstractBoxAnnotator.java | 46 -- .../annotator/AbstractSvgAnnotator.java | 76 -- .../annotator/AbstractTextAnnotator.java | 38 +- .../ui/annotation/annotator/Annotator.java | 188 ----- .../annotator/AnnotatorFactory.java | 68 +- .../annotation/annotator/AreaAnnotator.java | 59 +- .../annotation/annotator/ArrowAnnotator.java | 90 +-- .../annotation/annotator/BaseAnnotator.java | 225 ++++++ .../annotator/DistanceAnnotator.java | 96 +-- .../annotation/annotator/PointAnnotator.java | 61 +- .../annotator/PolylineAnnotator.java | 87 +-- .../annotator/ResourceRedactionAnnotator.java | 63 +- .../annotator/TexStrikeoutAnnotator.java | 68 -- .../annotator/TexUnderlineAnnotator.java | 71 -- .../annotation/annotator/TextAnnotator.java | 78 -- .../annotator/TextFieldAnnotator.java | 69 +- .../annotator/TextHighlightAnnotator.java | 57 ++ .../annotator/TextRedactionAnnotator.java | 50 +- .../annotator/TextReplacementAnnotator.java | 78 +- .../annotator/TextStrikeoutAnnotator.java | 58 ++ .../annotator/TextUnderlineAnnotator.java | 60 ++ .../annotator/WatermarkAnnotator.java | 64 +- .../config/AnnotationConfiguration.java | 54 +- .../controller/AnnotationController.java | 24 +- .../ui/annotation/entity/Annotations.java | 75 ++ .../request/AnnotateDocumentRequest.java | 48 -- .../entity/request/PostedDataEntity.java | 180 +++++ .../request/TextCoordinatesRequest.java | 31 + .../entity/web/AnnotatedDocumentEntity.java | 16 +- .../entity/web/AnnotationDataEntity.java | 176 ++--- .../web/AnnotationPageDescriptionEntity.java | 20 - .../web/AnnotationPostedDataEntity.java | 39 + .../annotation/entity/web/CommentsEntity.java | 40 +- .../entity/web/PageDataDescriptionEntity.java | 19 + .../annotation/entity/web/TextRowEntity.java | 33 + .../ui/annotation/importer/Importer.java | 38 - .../annotation/service/AnnotationService.java | 11 +- .../service/AnnotationServiceImpl.java | 696 ++++++++++++------ .../service/IPageStreamFactory.java | 20 + .../service/StreamFactoryClass.java | 70 ++ .../ui/annotation/util/AnnotationMapper.java | 162 ++-- .../ui/annotation/util/AnnotationTypes.java | 57 -- .../util/DocumentTypesConverter.java | 22 +- .../ui/annotation/util/PathConstants.java | 10 - .../annotation/util/SupportedAnnotations.java | 93 +-- .../util/directory/DirectoryUtils.java | 19 + .../util/directory/FilesDirectoryUtils.java | 30 + .../ui/exception/TotalGroupDocsException.java | 4 + .../model/response/FileDescriptionEntity.java | 2 +- .../java/com/groupdocs/ui/util/Utils.java | 3 - .../controller/AnnotationControllerTest.java | 84 +-- 53 files changed, 2101 insertions(+), 1741 deletions(-) delete mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java delete mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java delete mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/BaseAnnotator.java delete mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java delete mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java delete mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/Annotations.java delete mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/AnnotateDocumentRequest.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/PostedDataEntity.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/TextCoordinatesRequest.java delete mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPostedDataEntity.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/PageDataDescriptionEntity.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/TextRowEntity.java delete mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/IPageStreamFactory.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/StreamFactoryClass.java delete mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationTypes.java delete mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/PathConstants.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/directory/DirectoryUtils.java create mode 100644 Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/directory/FilesDirectoryUtils.java diff --git a/Demos/Spring/README.md b/Demos/Spring/README.md index 6032326..32ee9d9 100644 --- a/Demos/Spring/README.md +++ b/Demos/Spring/README.md @@ -192,4 +192,4 @@ Please have a look at the LICENSE.md for more details - .NET MVC [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) - .NET WebForms [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) -[Home](https://www.groupdocs.com/) | [Product Page](https://products.groupdocs.com/annotation/java) | [Documentation](https://docs.groupdocs.com/annotation/java/) | [Demos](https://products.groupdocs.app/annotation/family) | [API Reference](https://apireference.groupdocs.com/java/annotation) | [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | [Blog](https://blog.groupdocs.com/category/annotation/) | [Free Support](https://forum.groupdocs.com/c/annotation) | [Temporary License](https://purchase.groupdocs.com/temporary-license) +[Home](https://www.groupdocs.com/) | [Product Page](https://products.groupdocs.com/annotation/java) | [Documentation](https://docs.groupdocs.com/annotation/java/) | [Demos](https://products.groupdocs.app/annotation/family) | [API Reference](https://apireference.groupdocs.com/java/annotation) | [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | [Blog](https://blog.groupdocs.com/category/annotation/) | [Search](https://search.groupdocs.com/) | [Free Support](https://forum.groupdocs.com/c/annotation) | [Temporary License](https://purchase.groupdocs.com/temporary-license) diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml index 91c3438..30b190f 100644 --- a/Demos/Spring/pom.xml +++ b/Demos/Spring/pom.xml @@ -6,7 +6,7 @@ com.groupdocs.ui annotation-spring - 1.12.27 + 1.12.25 ${packaging.type} GroupDocs.Annotation for Java Spring Sample @@ -102,20 +102,20 @@ - org.springframework.boot spring-boot-starter-tomcat 2.0.4.RELEASE ${scope} - --> + - + org.springframework.boot @@ -132,7 +132,7 @@ com.groupdocs groupdocs-annotation - 19.7 + 21.7 @@ -143,7 +143,7 @@ commons-io commons-io - 2.7 + 2.6 diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java deleted file mode 100644 index 37a6ccc..0000000 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.groupdocs.ui.annotation.annotator; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Point; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; - -import java.text.ParseException; - -public abstract class AbstractBoxAnnotator extends Annotator { - - public AbstractBoxAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } - - @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo annotationInfo = super.initAnnotationInfo(); - // set draw annotation properties - Rectangle box = annotationInfo.getBox(); - StringBuilder builder = new StringBuilder(). - append("M").append(box.getX()). - append(",").append(box.getY()). - append("L").append(box.getWidth()). - append(",").append(box.getHeight()); - annotationInfo.setSvgPath(builder.toString()); - // set annotation position - annotationInfo.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - return annotationInfo; - } - - @Override - protected Rectangle getBox() { - String svgPath = annotationData.getSvgPath(); - String startPoint = svgPath.replaceAll("[a-zA-Z]+", "").split(" ")[0]; - String endPoint = svgPath.replaceAll("[a-zA-Z]+", "").split(" ")[1]; - String[] start = startPoint.split(","); - double startX = Double.parseDouble(start.length > 0 ? start[0] : "0"); - double startY = Double.parseDouble(start.length > 1 ? start[1] : "0"); - String[] end = endPoint.split(","); - double endX = Double.parseDouble(end.length > 0 ? end[0] : "0") - startX; - double endY = Double.parseDouble(end.length > 1 ? end[1] : "0") - startY; - return new Rectangle(startX, startY, endX, endY); - } -} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java deleted file mode 100644 index 4dfcbaa..0000000 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.groupdocs.ui.annotation.annotator; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; - -import java.text.ParseException; - -public abstract class AbstractSvgAnnotator extends Annotator { - - public AbstractSvgAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } - - @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo annotationInfo = super.initAnnotationInfo(); - // set draw annotation properties - annotationInfo.setSvgPath(buildSvgPath()); - return annotationInfo; - } - - /** - * Use this method for fixing box coordinates if needed - * - * @param annotationInfo - */ - protected void fixBox(AnnotationInfo annotationInfo) { - double topPosition = pageData.getHeight() - annotationData.getTop(); - annotationInfo.getBox().setY((float) topPosition); - } - - /** - * Calculate svg position - * - * @return - */ - protected String buildSvgPath() { - // we use such calculation since the GroupDocs.Annotation library takes text line position from the bottom of the page - double topPosition = pageData.getHeight() - annotationData.getTop(); - // calculation of the X-shift - double topRightX = annotationData.getLeft() + annotationData.getWidth(); - // calculation of the Y-shift - double bottomRightY = topPosition - annotationData.getHeight(); - return getSvgString(topPosition, annotationData.getLeft(), topRightX, bottomRightY); - } - - /** - * Build svg string - * - * @param top top position - * @param left left position - * @param right right position - * @param bottom bottom position - * @return - */ - protected String getSvgString(double top, double left, double right, double bottom) { - return new StringBuilder(). - append("[{\"x\":").append(left). - append(",\"y\":").append(top). - append("},{\"x\":").append(right). - append(",\"y\":").append(top). - append("},{\"x\":").append(left). - append(",\"y\":").append(bottom). - append("},{\"x\":").append(right). - append(",\"y\":").append(bottom). - append("}]").toString(); - } - - @Override - protected Rectangle getBox() { - return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); - } - -} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java index 16eee40..879e4fd 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java @@ -1,31 +1,23 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.Point; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; -import org.springframework.util.StringUtils; +import java.util.ArrayList; +import java.util.List; -import java.text.ParseException; +public abstract class AbstractTextAnnotator extends BaseAnnotator { -public abstract class AbstractTextAnnotator extends Annotator { - - public AbstractTextAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } - - @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo annotationInfo = super.initAnnotationInfo(); - annotationInfo.setFieldText(annotationData.getText()); - annotationInfo.setFontFamily(StringUtils.capitalize(annotationData.getFont())); - annotationInfo.setFontSize(annotationData.getFontSize()); - annotationInfo.setFontColor(annotationData.getFontColor()); - return annotationInfo; + protected AbstractTextAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); } - @Override - protected Rectangle getBox() { - return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + protected static java.util.List getPoints(AnnotationDataEntity annotationData, PageInfo pageInfo) { + List tmp0 = new ArrayList<>(); + tmp0.add(new Point(annotationData.getLeft(), pageInfo.getHeight() - annotationData.getTop())); + tmp0.add(new Point(annotationData.getLeft()+ annotationData.getWidth(), pageInfo.getHeight() - annotationData.getTop())); + tmp0.add(new Point(annotationData.getLeft(), pageInfo.getHeight() - annotationData.getTop()- annotationData.getHeight())); + tmp0.add(new Point(annotationData.getLeft()+ annotationData.getWidth(), pageInfo.getHeight() - annotationData.getTop()- annotationData.getHeight())); + return tmp0; } -} +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java deleted file mode 100644 index 5f4b09f..0000000 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java +++ /dev/null @@ -1,188 +0,0 @@ -package com.groupdocs.ui.annotation.annotator; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationReplyInfo; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; -import com.groupdocs.ui.annotation.entity.web.CommentsEntity; -import com.groupdocs.ui.exception.TotalGroupDocsException; - -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Locale; -import java.util.TimeZone; - -/** - * Annotator - * Abstract class contains general description for the annotating functionality - * - * @author Aspose Pty Ltd - */ -public abstract class Annotator { - - public static final String MESSAGE = "Annotation of type %s for this file type is not supported"; - - protected AnnotationDataEntity annotationData; - protected PageData pageData; - - /** - * Constructor - * - * @param annotationData - * @param pageData - */ - public Annotator(AnnotationDataEntity annotationData, PageData pageData) { - this.annotationData = annotationData; - this.pageData = pageData; - } - - /** - * Add area annotation into the Word document - * - * @return - * @throws UnsupportedOperationException Word document doesn't supported for the current annotation type - * @throws ParseException the date cannot be parsed - */ - public abstract AnnotationInfo annotateWord() throws UnsupportedOperationException, ParseException; - - /** - * Add area annotation into the pdf document - * - * @return - * @throws UnsupportedOperationException pdf document doesn't supported for the current annotation type - * @throws ParseException the date cannot be parsed - */ - public abstract AnnotationInfo annotatePdf() throws UnsupportedOperationException, ParseException; - - /** - * Add area annotation into the Excel document - * - * @return - * @throws UnsupportedOperationException the Excel document don't supported for the current annotation type - * @throws ParseException the date cannot be parsed - */ - public abstract AnnotationInfo annotateCells() throws UnsupportedOperationException, ParseException; - - /** - * Add area annotation into the Power Point document - * - * @return - * @throws UnsupportedOperationException the Power Point document doesn't supported for the current annotation type - * @throws ParseException the date cannot be parsed - */ - public abstract AnnotationInfo annotateSlides() throws UnsupportedOperationException, ParseException; - - /** - * Add area annotation into the image document - * - * @return - * @throws UnsupportedOperationException image doesn't supported for the current annotation type - * @throws ParseException the date cannot be parsed - */ - public abstract AnnotationInfo annotateImage() throws UnsupportedOperationException, ParseException; - - /** - * Add area annotation into the document - * - * @return - * @throws UnsupportedOperationException diagram document doesn't supported for the current annotation type - * @throws ParseException the date cannot be parsed - */ - public abstract AnnotationInfo annotateDiagram() throws UnsupportedOperationException, ParseException; - - /** - * Initial for annotation info - * - * @return annotation info - * @throws ParseException the date cannot be parsed - */ - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo areaAnnotation = new AnnotationInfo(); - // draw annotation options - areaAnnotation.setBox(getBox()); - // set page number to add annotation - areaAnnotation.setPageNumber(annotationData.getPageNumber() - 1); - // set annotation type - areaAnnotation.setType(getType()); - // add replies - CommentsEntity[] comments = annotationData.getComments(); - if (comments != null && comments.length != 0) { - AnnotationReplyInfo[] replies = new AnnotationReplyInfo[comments.length]; - for (int i = 0; i < comments.length; i++) { - AnnotationReplyInfo reply = getAnnotationReplyInfo(comments[i]); - replies[i] = reply; - } - areaAnnotation.setReplies(replies); - } - return areaAnnotation; - } - - /** - * Initial for reply annotation info - * - * @param comment annotation comment - * @return annotation reply info - * @throws ParseException the date cannot be parsed - */ - protected AnnotationReplyInfo getAnnotationReplyInfo(CommentsEntity comment) throws ParseException { - AnnotationReplyInfo reply = new AnnotationReplyInfo(); - reply.setMessage(comment.getText()); - DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); - format.setTimeZone(TimeZone.getTimeZone("GMT")); - Date date; - try { - date = new Date(Long.parseLong(comment.getTime())); - } catch (Exception e) { - try { - date = format.parse(comment.getTime()); - } catch (Exception exc) { - format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); - date = format.parse(comment.getTime()); - } - } - reply.setRepliedOn(date); - reply.setUserName(comment.getUserName()); - return reply; - } - - /** - * Get rectangle - * - * @return box - */ - protected abstract Rectangle getBox(); - - /** - * Get type of annotation - * - * @return annotation type - */ - protected abstract byte getType(); - - /** - * Get Annotation info depending on document type - * - * @throws ParseException the date cannot be parsed - */ - public AnnotationInfo getAnnotationInfo(String documentType) throws ParseException { - switch (documentType) { - case "Portable Document Format": - return annotatePdf(); - case "Microsoft Word": - return annotateWord(); - case "Microsoft PowerPoint": - return annotateSlides(); - case "image": - return annotateImage(); - case "Microsoft Excel": - return annotateCells(); - case "AutoCAD Drawing File Format": - return annotateDiagram(); - default: - throw new TotalGroupDocsException("Wrong annotation data without document type!"); - } - } -} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java index bd8e15a..43ed974 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java @@ -1,51 +1,59 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.PageData; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.annotation.models.PageInfo; import com.groupdocs.ui.exception.TotalGroupDocsException; -/** - * Creator for annotator instances - */ public class AnnotatorFactory { /** + *

    * Create annotator instance depending on type of annotation + *

    * - * @param annotationData annotation - * @param pageData document - * @return annotator instance + * @return + * @param annotationData AnnotationDataEntity + * @param pageInfo PageInfo */ - public static Annotator createAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - switch (annotationData.getType()) { - case "text": - return new TextAnnotator(annotationData, pageData); + public static BaseAnnotator createAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + AnnotationDataEntity roundedAnnotationData = roundCoordinates(annotationData); + switch (roundedAnnotationData.getType().toLowerCase()) { // addev .toLowerCase() + case "texthighlight": //textHighlight + return new TextHighlightAnnotator(roundedAnnotationData, pageInfo); case "area": - return new AreaAnnotator(annotationData, pageData); + return new AreaAnnotator(roundedAnnotationData, pageInfo); case "point": - return new PointAnnotator(annotationData, pageData); - case "textStrikeout": - return new TexStrikeoutAnnotator(annotationData, pageData); + return new PointAnnotator(roundedAnnotationData, pageInfo); + case "textstrikeout": //textStrikeout + return new TextStrikeoutAnnotator(roundedAnnotationData, pageInfo); case "polyline": - return new PolylineAnnotator(annotationData, pageData); - case "textField": - return new TextFieldAnnotator(annotationData, pageData); + return new PolylineAnnotator(roundedAnnotationData, pageInfo); + case "textfield": //textField + return new TextFieldAnnotator(roundedAnnotationData, pageInfo); case "watermark": - return new WatermarkAnnotator(annotationData, pageData); - case "textReplacement": - return new TextReplacementAnnotator(annotationData, pageData); + return new WatermarkAnnotator(roundedAnnotationData, pageInfo); + case "textreplacement": //textReplacement + return new TextReplacementAnnotator(roundedAnnotationData, pageInfo); case "arrow": - return new ArrowAnnotator(annotationData, pageData); - case "textRedaction": - return new TextRedactionAnnotator(annotationData, pageData); - case "resourcesRedaction": - return new ResourceRedactionAnnotator(annotationData, pageData); - case "textUnderline": - return new TexUnderlineAnnotator(annotationData, pageData); + return new ArrowAnnotator(roundedAnnotationData, pageInfo); + case "textredaction": //textRedaction + return new TextRedactionAnnotator(roundedAnnotationData, pageInfo); + case "resourcesredaction": //resourcesRedaction + return new ResourceRedactionAnnotator(roundedAnnotationData, pageInfo); + case "textunderline": //textUnderline + return new TextUnderlineAnnotator(roundedAnnotationData, pageInfo); case "distance": - return new DistanceAnnotator(annotationData, pageData); + return new DistanceAnnotator(roundedAnnotationData, pageInfo); default: throw new TotalGroupDocsException("Wrong annotation data without annotation type!"); } } -} + + private static AnnotationDataEntity roundCoordinates(AnnotationDataEntity annotationData) { + annotationData.setHeight((float) Math.round(annotationData.getHeight())); + annotationData.setLeft((float) Math.round(annotationData.getLeft())); + annotationData.setTop((float) Math.round(annotationData.getTop())); + annotationData.setWidth((float) Math.round(annotationData.getWidth())); + return annotationData; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java index 63ca156..0e89848 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java @@ -1,64 +1,55 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.*; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; -import java.text.ParseException; +public class AreaAnnotator extends BaseAnnotator { -/** - * AreaAnnotator - * Annotates documents with the area annotation - * - * @author Aspose Pty Ltd - */ -public class AreaAnnotator extends Annotator { + private AreaAnnotation areaAnnotation; - public AreaAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } + public AreaAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); - @Override - public AnnotationInfo annotateWord() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + areaAnnotation = new AreaAnnotation(); + areaAnnotation.setBox(getBox()); } @Override - public AnnotationInfo annotatePdf() throws ParseException { - // initiate AnnotationInfo object - AnnotationInfo areaAnnotation = initAnnotationInfo(); - // set annotation X, Y position - areaAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - // add replies + public AnnotationBase annotateWord() { + areaAnnotation = (AreaAnnotation) initAnnotationBase(areaAnnotation); return areaAnnotation; } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() throws ParseException { - return initAnnotationInfo(); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateImage() throws ParseException { - return initAnnotationInfo(); + public AnnotationBase annotateSlides() { + return annotateWord(); } @Override - public AnnotationInfo annotateDiagram() throws ParseException { - return initAnnotationInfo(); + public AnnotationBase annotateImage() { + return annotateWord(); } @Override - protected byte getType() { - return AnnotationType.Area; + public AnnotationBase annotateDiagram() { + return annotateWord(); } @Override - protected Rectangle getBox() { - return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + protected int getType() { + return AnnotationType.Area; } -} \ No newline at end of file +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java index 0b0aa0e..550f9e7 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java @@ -1,86 +1,90 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationReplyInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.ArrowAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; import com.groupdocs.ui.annotation.entity.web.CommentsEntity; -import java.text.ParseException; - -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class ArrowAnnotator extends AbstractBoxAnnotator { +public class ArrowAnnotator extends BaseAnnotator { private boolean withGuid = false; + private ArrowAnnotation arrowAnnotation; + + public ArrowAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); - public ArrowAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); + this.arrowAnnotation = new ArrowAnnotation(); + this.arrowAnnotation.setBox(getBox()); } @Override - public AnnotationInfo annotateWord() throws ParseException { + public AnnotationBase annotateWord() { withGuid = false; - AnnotationInfo arrowAnnotation = initAnnotationInfo(); + arrowAnnotation = (ArrowAnnotation) initAnnotationBase(arrowAnnotation); return arrowAnnotation; } @Override - public AnnotationInfo annotatePdf() throws ParseException { - withGuid = false; - AnnotationInfo arrowAnnotation = initAnnotationInfo(); - return arrowAnnotation; + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() throws ParseException { + public AnnotationBase annotateSlides() { withGuid = true; - // init annotation object - AnnotationInfo arrowAnnotation = initAnnotationInfo(); - arrowAnnotation.setBackgroundColor(15988609); + arrowAnnotation = (ArrowAnnotation) initAnnotationBase(arrowAnnotation); return arrowAnnotation; } @Override - public AnnotationInfo annotateImage() throws ParseException { - withGuid = false; - // init annotation object - AnnotationInfo arrowAnnotation = initAnnotationInfo(); - arrowAnnotation.setBackgroundColor(-15988609); - return arrowAnnotation; + public AnnotationBase annotateImage() { + return annotateWord(); } @Override - public AnnotationInfo annotateDiagram() throws ParseException { - withGuid = false; - // init annotation object - AnnotationInfo arrowAnnotation = initAnnotationInfo(); - arrowAnnotation.setBackgroundColor(15988609); - return arrowAnnotation; + public AnnotationBase annotateDiagram() { + return annotateWord(); } @Override - protected AnnotationReplyInfo getAnnotationReplyInfo(CommentsEntity comment) throws ParseException { - AnnotationReplyInfo annotationReplyInfo = super.getAnnotationReplyInfo(comment); + protected Reply getAnnotationReplyInfo(CommentsEntity comment) { + Reply annotationReplyInfo = super.getAnnotationReplyInfo(comment); if (withGuid) { - annotationReplyInfo.setParentReplyGuid(String.valueOf(annotationData.getId())); + annotationReplyInfo.setParentReply(new Reply()); + annotationReplyInfo.getParentReply().setId(annotationData.getId()); } return annotationReplyInfo; } @Override - protected byte getType() { + protected int getType() { return AnnotationType.Arrow; } + @Override + protected Rectangle getBox() { + String svgPath = annotationData.getSvgPath(); + + String startPoint = svgPath.replace("[a-zA-Z]+", "").split(" ")[0]; + String endPoint = svgPath.replace("[a-zA-Z]+", "").split(" ")[1]; + + String[] start = startPoint.split(","); + float startX = Float.parseFloat(start.length > 0 ? start[0].replace("M", "").replace(",", ".") : "0"); + float startY = Float.parseFloat(start.length > 0 ? start[1].replace("M", "").replace(",", ".") : "0"); + + String[] end = endPoint.split(","); + float endX = Float.parseFloat(end.length > 0 ? end[0].replace("L", "").replace(",", ".") : "0") - startX; + float endY = Float.parseFloat(end.length > 1 ? end[1].replace("L", "").replace(",", ".") : "0") - startY; + + return new Rectangle(startX, startY, endX, endY); + } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/BaseAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/BaseAnnotator.java new file mode 100644 index 0000000..9f70db9 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/BaseAnnotator.java @@ -0,0 +1,225 @@ +package com.groupdocs.ui.annotation.annotator; + + +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.User; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.CommentsEntity; +import com.groupdocs.ui.exception.TotalGroupDocsException; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.time.Instant; +import java.util.ArrayList; +import java.util.Locale; +import java.util.TimeZone; + +/** + *

    + * BaseSigner + *

    + */ +public abstract class BaseAnnotator { + + public String Message = "Annotation of type {0} for this file type is not supported"; + protected AnnotationDataEntity annotationData; + protected PageInfo pageInfo; + + /** + *

    + * Constructor + *

    + * + * @param annotationData + * @param pageInfo + */ + protected BaseAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + this.annotationData = annotationData; + this.pageInfo = pageInfo; + } + + /** + *

    + * Add area annotation into the Word document + *

    + * + * @return AnnotationBase + */ + public abstract AnnotationBase annotateWord(); + + /** + *

    + * Add area annotation into the pdf document + *

    + * + * @return AnnotationBase + */ + public abstract AnnotationBase annotatePdf(); + + ///// + ///// Add area annotation into the Excel document + ///// + ///// AnnotationBase + public abstract AnnotationBase annotateCells(); + + /** + *

    + * Add area annotation into the Power Point document + *

    + * + * @return AnnotationBase + */ + public abstract AnnotationBase annotateSlides(); + + /** + *

    + * Add area annotation into the image document + *

    + * + * @return AnnotationBase + */ + public abstract AnnotationBase annotateImage(); + + /** + *

    + * Add area annotation into the document + *

    + * + * @return AnnotationBase + */ + public abstract AnnotationBase annotateDiagram(); + + /** + *

    + * Initial for annotation info + *

    + * + * @param annotationBase + * @return AnnotationBase + */ + protected final AnnotationBase initAnnotationBase(AnnotationBase annotationBase) { + // set page number to add annotation + annotationBase.setPageNumber(annotationData.getPageNumber() - 1); + // set annotation type + annotationBase.setType(getType()); + annotationBase.setCreatedOn(Date.from(Instant.now())); + annotationBase.setId(annotationData.getId()); + // add replies + CommentsEntity[] comments = annotationData.getComments(); + if (comments != null && comments.length != 0) { + java.util.List replies = new ArrayList<>(); + for (int i = 0; i < comments.length; i++) { + Reply reply = getAnnotationReplyInfo(comments[i]); + replies.add(reply); + } + annotationBase.setReplies(replies); + } + return annotationBase; + } + + /** + *

    + * Initial for reply annotation info + *

    + * + * @return AnnotationReplyInfo + * @param comment CommentsEntity + */ + protected Reply getAnnotationReplyInfo(CommentsEntity comment) { + Reply reply = new Reply(); + reply.setComment(comment.getText()); + DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); + format.setTimeZone(TimeZone.getTimeZone("GMT")); + Date date; + try { + date = new Date(Long.parseLong(comment.getTime())); + } catch (Exception e) { + try { + date = format.parse(comment.getTime()); + } catch (Exception exc) { + format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); + try { + date = format.parse(comment.getTime()); + } catch (ParseException ex) { + throw new TotalGroupDocsException(ex); + } + } + } + reply.setRepliedOn(date); + reply.setUser(new User()); + reply.getUser().setName(comment.getUserName()); + return reply; + } + + /** + *

    + * Get rectangle + *

    + * + * @return Rectangle + */ + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } + + /** + *

    + * Get type of annotation + *

    + * + * @return byte + */ + protected abstract int getType(); + + /** + *

    + * Get Annotation info depending on document type + *

    + * + * @return AnnotationBase + * @param documentType string + */ + public final AnnotationBase getAnnotationBase(String documentType) { + switch (documentType) { + case "Portable Document Format": + return annotatePdf(); + case "Microsoft Word": + case "Open Document Text": + return annotateWord(); + case "Rich Text Format": + return annotateWord(); + case "Microsoft PowerPoint": + return annotateSlides(); + case "image": + return annotateImage(); + case "Microsoft Excel": + return annotateCells(); + case "AutoCAD Drawing File Format": + return annotateDiagram(); + default: + throw new TotalGroupDocsException("Wrong annotation data without document type!"); + } + } + + /** + *

    + * Check if the current annotatin is supported + *

    + * + * @return + * @param documentType string + */ + public final boolean isSupported(String documentType) { + try { + AnnotatorFactory.createAnnotator(annotationData, pageInfo).getAnnotationBase(documentType); + return true; + } catch (java.lang.UnsupportedOperationException e) { + Message += annotationData.getType(); + return false; + } + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java index 0c4b843..a51cfee 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java @@ -1,84 +1,92 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationReplyInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.DistanceAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; import com.groupdocs.ui.annotation.entity.web.CommentsEntity; -import java.text.ParseException; +public class DistanceAnnotator extends BaseAnnotator { -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class DistanceAnnotator extends AbstractBoxAnnotator { + private DistanceAnnotation distanceAnnotation; - public DistanceAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); + public DistanceAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + distanceAnnotation = new DistanceAnnotation(); + distanceAnnotation.setBox(getBox()); } @Override - public AnnotationInfo annotateWord() throws ParseException { - AnnotationInfo distanceAnnotation = initAnnotationInfo(); + public AnnotationBase annotateWord() { + distanceAnnotation = (DistanceAnnotation) initAnnotationBaseDistanceAnnotator(distanceAnnotation); return distanceAnnotation; } @Override - public AnnotationInfo annotatePdf() throws ParseException { - AnnotationInfo distanceAnnotation = initAnnotationInfo(); - return distanceAnnotation; + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateSlides() { + return annotateWord(); } @Override - public AnnotationInfo annotateImage() throws ParseException { - // init annotation object - AnnotationInfo distanceAnnotation = initAnnotationInfo(); - distanceAnnotation.setBackgroundColor(15988609); - return distanceAnnotation; + public AnnotationBase annotateImage() { + return annotateWord(); } - @Override - public AnnotationInfo annotateDiagram() throws ParseException { - // init annotation object - AnnotationInfo distanceAnnotation = initAnnotationInfo(); - distanceAnnotation.setBackgroundColor(15988609); - return distanceAnnotation; + public AnnotationBase annotateDiagram() { + return annotateWord(); } - @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo distanceAnnotation = super.initAnnotationInfo(); + protected final AnnotationBase initAnnotationBaseDistanceAnnotator(AnnotationBase annotationBase) { + distanceAnnotation = (DistanceAnnotation) super.initAnnotationBase(annotationBase); + String tmp0 = annotationData.getText(); + if (tmp0 == null) { + tmp0 = ""; + } // add replies - String text = (annotationData.getText() == null) ? "" : annotationData.getText(); + String text = tmp0; CommentsEntity[] comments = annotationData.getComments(); if (comments != null && comments.length != 0) { - AnnotationReplyInfo reply = distanceAnnotation.getReplies()[0]; + Reply reply = distanceAnnotation.getReplies().get(0); if (reply != null) { - reply.setMessage(String.format("%s %s", annotationData.getText(), reply.getMessage())); + reply.setComment(String.format("{0} {1}", text, reply.getComment())); } - } else { - distanceAnnotation.setFieldText(text); } + return distanceAnnotation; } @Override - protected byte getType() { + protected int getType() { return AnnotationType.Distance; } -} \ No newline at end of file + + @Override + protected Rectangle getBox() { + String svgPath = annotationData.getSvgPath(); + + String startPoint = svgPath.replaceAll("[a-zA-Z]+", "").split(" ")[0]; + String endPoint = svgPath.replaceAll("[a-zA-Z]+", "").split(" ")[1]; + String[] start = startPoint.split(","); + float startX = Float.parseFloat(start.length > 0 ? start[0] : "0"); + float startY = Float.parseFloat(start.length > 1 ? start[1] : "0"); + String[] end = endPoint.split(","); + float endX = Float.parseFloat(end.length > 0 ? end[0] : "0") - startX; + float endY = Float.parseFloat(end.length > 1 ? end[1] : "0") - startY; + return new Rectangle(startX, startY, endX, endY); + } +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java index f1cbbe2..2a4efe5 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java @@ -1,69 +1,56 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.*; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.PointAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; -import java.text.ParseException; -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class PointAnnotator extends Annotator { +public class PointAnnotator extends BaseAnnotator { - public PointAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } + private PointAnnotation pointAnnotation; - @Override - public AnnotationInfo annotateWord() throws ParseException { - return initAnnotationInfo(); - } + public PointAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); - @Override - public AnnotationInfo annotatePdf() throws ParseException { - return initAnnotationInfo(); + pointAnnotation = new PointAnnotation(); + pointAnnotation.setBox(getBox()); } @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - // init annotation object - AnnotationInfo pointAnnotation = super.initAnnotationInfo(); - // set annotation position - pointAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + public AnnotationBase annotateWord() { + pointAnnotation = (PointAnnotation) super.initAnnotationBase(pointAnnotation); return pointAnnotation; } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() throws ParseException { - return initAnnotationInfo(); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateImage() throws ParseException { - return initAnnotationInfo(); + public AnnotationBase annotateSlides() { + return annotateWord(); } - @Override - public AnnotationInfo annotateDiagram() throws ParseException { - return initAnnotationInfo(); + public AnnotationBase annotateImage() { + return annotateWord(); } @Override - protected Rectangle getBox() { - return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + public AnnotationBase annotateDiagram() { + return annotateWord(); } @Override - protected byte getType() { + protected int getType() { return AnnotationType.Point; } -} \ No newline at end of file +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java index c984c1a..96a5df6 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java @@ -1,92 +1,79 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.User; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.PolylineAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; import com.groupdocs.ui.annotation.entity.web.CommentsEntity; -import java.text.ParseException; -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class PolylineAnnotator extends Annotator { +public class PolylineAnnotator extends BaseAnnotator { - public PolylineAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } + private PolylineAnnotation polylineAnnotation; - @Override - public AnnotationInfo annotateWord() throws ParseException { - return initAnnotationInfo(); - } + public PolylineAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + this.polylineAnnotation = new PolylineAnnotation(); + this.polylineAnnotation.setBox(getBox()); + this.polylineAnnotation.setPenColor(1201033); + this.polylineAnnotation.setPenWidth((byte) 2); + this.polylineAnnotation.setSvgPath(annotationData.getSvgPath()); + } @Override - public AnnotationInfo annotatePdf() throws ParseException { - AnnotationInfo polylineAnnotation = initAnnotationInfo(); + public AnnotationBase annotateWord() { + polylineAnnotation = (PolylineAnnotation) initAnnotationBase(polylineAnnotation); return polylineAnnotation; } @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo polylineAnnotation = super.initAnnotationInfo(); - polylineAnnotation.setPenColor(1201033); - polylineAnnotation.setPenWidth((byte) 2); - polylineAnnotation.setSvgPath(annotationData.getSvgPath()); - return polylineAnnotation; + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() throws ParseException { - AnnotationInfo polylineAnnotation = initAnnotationInfo(); - fillCreatorName(polylineAnnotation); + public AnnotationBase annotateSlides() { + polylineAnnotation = (PolylineAnnotation) initAnnotationBase(polylineAnnotation); + fillCreatorName(polylineAnnotation, annotationData); return polylineAnnotation; } /** + *

    * Fill creator name field in annotation info + *

    * - * @param polylineAnnotation annotation info + * @param polylineAnnotation AnnotationBase + * @param annotationData */ - protected void fillCreatorName(AnnotationInfo polylineAnnotation) { + protected static void fillCreatorName(AnnotationBase polylineAnnotation, AnnotationDataEntity annotationData) { CommentsEntity[] comments = annotationData.getComments(); if (comments != null && comments.length > 0 && comments[0] != null) { - polylineAnnotation.setCreatorName(comments[0].getUserName()); + polylineAnnotation.setUser(new User()); + polylineAnnotation.getUser().setName(comments[0].getUserName()); } } @Override - public AnnotationInfo annotateImage() throws ParseException { - AnnotationInfo polylineAnnotation = initAnnotationInfo(); - fillCreatorName(polylineAnnotation); - return polylineAnnotation; - } - - @Override - public AnnotationInfo annotateDiagram() throws ParseException { - AnnotationInfo polylineAnnotation = initAnnotationInfo(); - fillCreatorName(polylineAnnotation); - return polylineAnnotation; + public AnnotationBase annotateImage() { + return annotateSlides(); } @Override - protected Rectangle getBox() { - return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + public AnnotationBase annotateDiagram() { + return annotateSlides(); } @Override - protected byte getType() { + protected int getType() { return AnnotationType.Polyline; } -} \ No newline at end of file +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java index 6ba6625..1933748 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java @@ -1,68 +1,57 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.*; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.ResourcesRedactionAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.exception.TotalGroupDocsException; -import java.text.ParseException; -/** - * AreaAnnotator - * Annotates documents with the area annotation - * - * @author Aspose Pty Ltd - */ -public class ResourceRedactionAnnotator extends Annotator { +public class ResourceRedactionAnnotator extends BaseAnnotator { - public ResourceRedactionAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } + private ResourcesRedactionAnnotation resourcesRedactionAnnotation; - @Override - public AnnotationInfo annotateWord() throws ParseException { - AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); - return resourceRedactionAnnotation; + public ResourceRedactionAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + this.resourcesRedactionAnnotation = new ResourcesRedactionAnnotation(); + this.resourcesRedactionAnnotation.setBox(getBox()); } @Override - public AnnotationInfo annotatePdf() throws ParseException { - // initiate AnnotationInfo object - AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); - // set annotation X, Y position - resourceRedactionAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - return resourceRedactionAnnotation; + public AnnotationBase annotateWord() { + resourcesRedactionAnnotation = (ResourcesRedactionAnnotation) initAnnotationBase(resourcesRedactionAnnotation); + return resourcesRedactionAnnotation; } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() throws ParseException { - AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); - return resourceRedactionAnnotation; + public AnnotationBase annotateCells() { + throw new TotalGroupDocsException(Message + annotationData.getType()); } @Override - public AnnotationInfo annotateImage() throws ParseException { - AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); - return resourceRedactionAnnotation; + public AnnotationBase annotateSlides() { + return annotateWord(); } @Override - public AnnotationInfo annotateDiagram() throws ParseException { - // init annotation object - AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); - return resourceRedactionAnnotation; + public AnnotationBase annotateImage() { + return annotateWord(); } @Override - protected Rectangle getBox() { - return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + public AnnotationBase annotateDiagram() { + return annotateWord(); } @Override - protected byte getType() { + protected int getType() { return AnnotationType.ResourcesRedaction; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java deleted file mode 100644 index f90e6b3..0000000 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.groupdocs.ui.annotation.annotator; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Point; -import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; - -import java.text.ParseException; - -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class TexStrikeoutAnnotator extends AbstractSvgAnnotator { - - public TexStrikeoutAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } - - @Override - public AnnotationInfo annotateWord() throws ParseException { - // init possible types of annotations - AnnotationInfo strikeoutAnnotation = initAnnotationInfo(); - fixBox(strikeoutAnnotation); - return strikeoutAnnotation; - } - - @Override - public AnnotationInfo annotatePdf() throws ParseException { - AnnotationInfo strikeoutAnnotation = initAnnotationInfo(); - strikeoutAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - strikeoutAnnotation.setPenColor(0); - strikeoutAnnotation.setGuid(String.valueOf(annotationData.getId())); - return strikeoutAnnotation; - } - - @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); - } - - @Override - public AnnotationInfo annotateSlides() throws ParseException { - AnnotationInfo strikeoutAnnotation = initAnnotationInfo(); - fixBox(strikeoutAnnotation); - strikeoutAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - strikeoutAnnotation.setPenColor(0); - return strikeoutAnnotation; - } - - @Override - public AnnotationInfo annotateImage() throws ParseException { - return initAnnotationInfo(); - } - - @Override - public AnnotationInfo annotateDiagram() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); - } - - @Override - protected byte getType() { - return AnnotationType.TextStrikeout; - } -} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java deleted file mode 100644 index 727476c..0000000 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.groupdocs.ui.annotation.annotator; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Point; -import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; - -import java.text.ParseException; - -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class TexUnderlineAnnotator extends AbstractSvgAnnotator { - - public TexUnderlineAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } - - @Override - public AnnotationInfo annotateWord() throws ParseException { - // init possible types of annotations - AnnotationInfo underlineAnnotation = initAnnotationInfo(); - // set line color - underlineAnnotation.setPenColor(1201033); - fixBox(underlineAnnotation); - return underlineAnnotation; - } - - @Override - public AnnotationInfo annotatePdf() throws ParseException { - AnnotationInfo underlineAnnotation = initAnnotationInfo(); - underlineAnnotation.setGuid(String.valueOf(annotationData.getId())); - underlineAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - underlineAnnotation.setPenColor(1201033); - return underlineAnnotation; - } - - @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); - } - - @Override - public AnnotationInfo annotateSlides() throws ParseException { - AnnotationInfo underlineAnnotation = initAnnotationInfo(); - fixBox(underlineAnnotation); - underlineAnnotation.setPenColor(0); - underlineAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - return underlineAnnotation; - } - - @Override - public AnnotationInfo annotateImage() throws ParseException { - AnnotationInfo annotationInfo = initAnnotationInfo(); - return annotationInfo; - } - - @Override - public AnnotationInfo annotateDiagram() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); - } - - @Override - protected byte getType() { - return AnnotationType.TextUnderline; - } -} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java deleted file mode 100644 index 9dfc392..0000000 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.groupdocs.ui.annotation.annotator; - -import com.groupdocs.annotation.domain.*; -import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; - -import java.text.ParseException; - -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class TextAnnotator extends AbstractSvgAnnotator { - - public TextAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } - - @Override - public AnnotationInfo annotateWord() throws ParseException { - // init possible types of annotations - AnnotationInfo textAnnotation = initAnnotationInfo(); - return textAnnotation; - } - - @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo textAnnotation = super.initAnnotationInfo(); - textAnnotation.setGuid(String.valueOf(annotationData.getId())); - return textAnnotation; - } - - @Override - public AnnotationInfo annotatePdf() throws ParseException { - // init possible types of annotations - AnnotationInfo textAnnotation = initAnnotationInfo(); - return textAnnotation; - } - - @Override - public AnnotationInfo annotateCells() throws ParseException { - // init possible types of annotations - AnnotationInfo textAnnotation = super.initAnnotationInfo(); - textAnnotation.setPageNumber(annotationData.getPageNumber()); - textAnnotation.setAnnotationPosition(new Point(1, 1)); - textAnnotation.setBox(new Rectangle(0, 0, 0, 0)); - return textAnnotation; - } - - @Override - public AnnotationInfo annotateSlides() throws ParseException { - // init possible types of annotations - AnnotationInfo textAnnotation = initAnnotationInfo(); - textAnnotation.getBox().setX((float) (annotationData.getLeft() / 4)); - return textAnnotation; - } - - @Override - public AnnotationInfo annotateImage() throws ParseException { - return initAnnotationInfo(); - } - - @Override - public AnnotationInfo annotateDiagram() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); - } - - @Override - protected Rectangle getBox() { - return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); - } - - @Override - protected byte getType() { - return AnnotationType.Text; - } -} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java index d924cb6..2e62d73 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java @@ -1,70 +1,61 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Point; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.TextFieldAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; -import java.text.ParseException; -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class TextFieldAnnotator extends AbstractTextAnnotator { +public class TextFieldAnnotator extends BaseAnnotator { - public TextFieldAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); + private TextFieldAnnotation textFieldAnnotation; + + public TextFieldAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + textFieldAnnotation = new TextFieldAnnotation(); + textFieldAnnotation.setBox(getBox()); + + textFieldAnnotation.setFontFamily(annotationData.getFont() != null || !"".equals(annotationData.getFont()) ? annotationData.getFont() : "Arial"); + textFieldAnnotation.setFontColor(annotationData.getFontColor()); + textFieldAnnotation.setFontSize(annotationData.getFontSize() == 0 ? 12 : annotationData.getFontSize()); + textFieldAnnotation.setText(annotationData.getText()); } @Override - public AnnotationInfo annotateWord() throws ParseException { - // init possible types of annotations - AnnotationInfo textFieldAnnotation = initAnnotationInfo(); + public AnnotationBase annotateWord() { + textFieldAnnotation = (TextFieldAnnotation) initAnnotationBase(textFieldAnnotation); return textFieldAnnotation; } @Override - public AnnotationInfo annotatePdf() throws ParseException { - // init possible types of annotations - // Text field annotation - AnnotationInfo textFieldAnnotation = initAnnotationInfo(); - textFieldAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - textFieldAnnotation.setBackgroundColor(16777215); - return textFieldAnnotation; + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() throws ParseException { - // init possible types of annotations - AnnotationInfo textFieldAnnotation = initAnnotationInfo(); - return textFieldAnnotation; + public AnnotationBase annotateSlides() { + return annotateWord(); } @Override - public AnnotationInfo annotateImage() throws ParseException { - // init possible types of annotations - AnnotationInfo textFieldAnnotation = initAnnotationInfo(); - return textFieldAnnotation; + public AnnotationBase annotateImage() { + return annotateWord(); } @Override - public AnnotationInfo annotateDiagram() throws ParseException { - // init possible types of annotations - AnnotationInfo textFieldAnnotation = initAnnotationInfo(); - return textFieldAnnotation; + public AnnotationBase annotateDiagram() { + return annotateWord(); } @Override - protected byte getType() { + protected int getType() { return AnnotationType.TextField; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java new file mode 100644 index 0000000..b701943 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java @@ -0,0 +1,57 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.HighlightAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.exception.TotalGroupDocsException; + + +public class TextHighlightAnnotator extends AbstractTextAnnotator { + + private HighlightAnnotation highlightAnnotation; + + public TextHighlightAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + highlightAnnotation = new HighlightAnnotation(); + highlightAnnotation.setPoints(getPoints(annotationData, pageInfo)); + } + + @Override + public AnnotationBase annotateWord() { + highlightAnnotation = (HighlightAnnotation) initAnnotationBase(highlightAnnotation); + return highlightAnnotation; + } + + @Override + public AnnotationBase annotatePdf() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateCells() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateSlides() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateImage() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateDiagram() { + throw new TotalGroupDocsException(Message + annotationData.getType()); + } + + @Override + protected int getType() { + return AnnotationType.TextHighlight; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java index bf47edc..ac4e8be 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java @@ -1,45 +1,51 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.TextRedactionAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.exception.TotalGroupDocsException; -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class TextRedactionAnnotator extends TextAnnotator { +public class TextRedactionAnnotator extends TextHighlightAnnotator { - public TextRedactionAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); + private TextRedactionAnnotation textRedactionAnnotation; + + public TextRedactionAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + textRedactionAnnotation = new TextRedactionAnnotation(); + textRedactionAnnotation.setPoints(getPoints(annotationData, pageInfo)); + } + + @Override + public AnnotationBase annotateCells() { + return annotatePdf(); } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateSlides() { + return annotatePdf(); } @Override - public AnnotationInfo annotateSlides() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateImage() { + throw new TotalGroupDocsException(Message + annotationData.getType()); } @Override - public AnnotationInfo annotateImage() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateDiagram() { + throw new TotalGroupDocsException(Message + annotationData.getType()); } @Override - public AnnotationInfo annotateDiagram() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotatePdf() { + textRedactionAnnotation = (TextRedactionAnnotation) initAnnotationBase(textRedactionAnnotation); + return textRedactionAnnotation; } @Override - protected byte getType() { + protected int getType() { return AnnotationType.TextRedaction; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java index 4a9026e..9291466 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java @@ -1,84 +1,58 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.ReplacementAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.exception.TotalGroupDocsException; -import java.text.ParseException; -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class TextReplacementAnnotator extends AbstractSvgAnnotator { +public class TextReplacementAnnotator extends AbstractTextAnnotator { - public TextReplacementAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } + private ReplacementAnnotation replacementAnnotation; - @Override - public AnnotationInfo annotateWord() throws ParseException { - // init possible types of annotations - AnnotationInfo textReplacementAnnotation = initAnnotationInfo(); - return textReplacementAnnotation; - } + public TextReplacementAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); - @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo textReplacementAnnotation = super.initAnnotationInfo(); - textReplacementAnnotation.setGuid(String.valueOf(annotationData.getId())); - textReplacementAnnotation.setFieldText(annotationData.getText()); - return textReplacementAnnotation; - } - - @Override - protected String buildSvgPath() { - double topPosition = pageData.getHeight() - annotationData.getTop(); - double leftPosition = pageData.getWidth() - annotationData.getLeft(); - double topRightX = annotationData.getLeft() + annotationData.getWidth(); - double bottomRightY = topPosition - annotationData.getHeight(); - return super.getSvgString(topPosition, leftPosition, topRightX, bottomRightY); + replacementAnnotation = new ReplacementAnnotation(); + replacementAnnotation.setPoints(getPoints(annotationData, pageInfo)); + replacementAnnotation.setTextToReplace(annotationData.getText()); } @Override - public AnnotationInfo annotatePdf() throws ParseException { - // init possible types of annotations - AnnotationInfo textReplacementAnnotation = initAnnotationInfo(); - textReplacementAnnotation.setBox(new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight())); - return textReplacementAnnotation; + public AnnotationBase annotateWord() { + replacementAnnotation = (ReplacementAnnotation) initAnnotationBase(replacementAnnotation); + return replacementAnnotation; } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateImage() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateSlides() { + return annotateWord(); } @Override - public AnnotationInfo annotateDiagram() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateImage() { + throw new TotalGroupDocsException(Message + annotationData.getType()); } @Override - protected Rectangle getBox() { - return new Rectangle(0, 0, 0, 0); + public AnnotationBase annotateDiagram() { + throw new TotalGroupDocsException(Message + annotationData.getType()); } @Override - protected byte getType() { + protected int getType() { return AnnotationType.TextReplacement; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java new file mode 100644 index 0000000..f5a6a5c --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java @@ -0,0 +1,58 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.StrikeoutAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.exception.TotalGroupDocsException; + +public class TextStrikeoutAnnotator extends AbstractTextAnnotator { + + private StrikeoutAnnotation strikeoutAnnotation; + + public TextStrikeoutAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + strikeoutAnnotation = new StrikeoutAnnotation(); + strikeoutAnnotation.setPoints(getPoints(annotationData, pageInfo)); + } + + @Override + public AnnotationBase annotateWord() { + strikeoutAnnotation = (StrikeoutAnnotation) initAnnotationBase(strikeoutAnnotation); + return strikeoutAnnotation; + } + + @Override + public AnnotationBase annotatePdf() { + strikeoutAnnotation = (StrikeoutAnnotation) initAnnotationBase(strikeoutAnnotation); + this.strikeoutAnnotation.setFontColor(0); + return strikeoutAnnotation; + } + + @Override + public AnnotationBase annotateCells() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateSlides() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateImage() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateDiagram() { + throw new TotalGroupDocsException(Message + annotationData.getType()); + } + + @Override + protected int getType() { + return AnnotationType.TextStrikeout; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java new file mode 100644 index 0000000..53956be --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java @@ -0,0 +1,60 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.UnderlineAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.exception.TotalGroupDocsException; + + +public class TextUnderlineAnnotator extends AbstractTextAnnotator { + + private UnderlineAnnotation underlineAnnotation; + + public TextUnderlineAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + underlineAnnotation = new UnderlineAnnotation(); + underlineAnnotation.setPoints(getPoints(annotationData, pageInfo)); + } + + @Override + public AnnotationBase annotateWord() { + underlineAnnotation = (UnderlineAnnotation) initAnnotationBase(underlineAnnotation); + underlineAnnotation.setFontColor(1201033); + return underlineAnnotation; + } + + @Override + public AnnotationBase annotatePdf() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateCells() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateSlides() { + underlineAnnotation = (UnderlineAnnotation) initAnnotationBase(underlineAnnotation); + underlineAnnotation.setFontColor(0); + return underlineAnnotation; + } + + @Override + public AnnotationBase annotateImage() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateDiagram() { + throw new TotalGroupDocsException(Message + annotationData.getType()); + } + + @Override + protected int getType() { + return AnnotationType.TextUnderline; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java index 3e9cc11..3e8c06a 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java @@ -1,66 +1,60 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Point; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.WatermarkAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.exception.TotalGroupDocsException; -import java.text.ParseException; +public class WatermarkAnnotator extends BaseAnnotator { -/** - * WatermarkAnnotator - * Annotates documents with the watermark annotation - * - * @author Aspose Pty Ltd - */ -public class WatermarkAnnotator extends AbstractTextAnnotator { + private WatermarkAnnotation watermarkAnnotation; - public WatermarkAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); + public WatermarkAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + watermarkAnnotation = new WatermarkAnnotation(); + watermarkAnnotation.setBox(getBox()); + watermarkAnnotation.setFontFamily(annotationData.getFont() != null || !"".equals(annotationData.getFont()) ? annotationData.getFont() : "Arial"); + watermarkAnnotation.setFontColor(annotationData.getFontColor()); + watermarkAnnotation.setFontSize(annotationData.getFontSize() == 0 ? 12 : annotationData.getFontSize()); + watermarkAnnotation.setText(annotationData.getText()); } @Override - public AnnotationInfo annotateWord() throws ParseException { - AnnotationInfo watermarkAnnotation = initAnnotationInfo(); - watermarkAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + public AnnotationBase annotateWord() { + watermarkAnnotation = (WatermarkAnnotation) initAnnotationBase(watermarkAnnotation); return watermarkAnnotation; } @Override - public AnnotationInfo annotatePdf() throws ParseException { - // init possible types of annotations - AnnotationInfo watermarkAnnotation = initAnnotationInfo(); - watermarkAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - return watermarkAnnotation; + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() throws ParseException { - // init possible types of annotations - AnnotationInfo watermarkAnnotation = initAnnotationInfo(); - return watermarkAnnotation; + public AnnotationBase annotateSlides() { + return annotateWord(); } @Override - public AnnotationInfo annotateImage() throws ParseException { - // init possible types of annotations - AnnotationInfo watermarkAnnotation = initAnnotationInfo(); - return watermarkAnnotation; + public AnnotationBase annotateImage() { + return annotateWord(); } @Override - public AnnotationInfo annotateDiagram() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateDiagram() { + throw new TotalGroupDocsException(Message + annotationData.getType()); } @Override - protected byte getType() { + protected int getType() { return AnnotationType.Watermark; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfiguration.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfiguration.java index 00eb1ef..73612cd 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfiguration.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/config/AnnotationConfiguration.java @@ -4,16 +4,14 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; - import javax.annotation.PostConstruct; - import static com.groupdocs.ui.config.DefaultDirectories.defaultAnnotationDirectory; import static com.groupdocs.ui.config.DefaultDirectories.relativePathToAbsolute; /** + *

    * AnnotationConfiguration - * - * @author Aspose Pty Ltd + *

    */ @Component public class AnnotationConfiguration extends CommonConfiguration { @@ -256,29 +254,29 @@ public void setFitWidth(boolean fitWidth) { @Override public String toString() { - return super.toString() + - "AnnotationConfiguration{" + - "filesDirectory='" + filesDirectory + '\'' + - ", defaultDocument='" + defaultDocument + '\'' + - ", preloadPageCount=" + preloadPageCount + - ", fontsDirectory='" + fontsDirectory + '\'' + - ", textAnnotation=" + textAnnotation + - ", areaAnnotation=" + areaAnnotation + - ", pointAnnotation=" + pointAnnotation + - ", textStrikeoutAnnotation=" + textStrikeoutAnnotation + - ", polylineAnnotation=" + polylineAnnotation + - ", textFieldAnnotation=" + textFieldAnnotation + - ", watermarkAnnotation=" + watermarkAnnotation + - ", textReplacementAnnotation=" + textReplacementAnnotation + - ", arrowAnnotation=" + arrowAnnotation + - ", textRedactionAnnotation=" + textRedactionAnnotation + - ", resourcesRedactionAnnotation=" + resourcesRedactionAnnotation + - ", textUnderlineAnnotation=" + textUnderlineAnnotation + - ", distanceAnnotation=" + distanceAnnotation + - ", downloadOriginal=" + downloadOriginal + - ", downloadAnnotated=" + downloadAnnotated + - ", zoom=" + zoom + - ", fitWidth=" + fitWidth + - '}'; + return super.toString() + + "AnnotationConfiguration{" + + "filesDirectory='" + filesDirectory + '\'' + + ", defaultDocument='" + defaultDocument + '\'' + + ", preloadPageCount=" + preloadPageCount + + ", fontsDirectory='" + fontsDirectory + '\'' + + ", textAnnotation=" + textAnnotation + + ", areaAnnotation=" + areaAnnotation + + ", pointAnnotation=" + pointAnnotation + + ", textStrikeoutAnnotation=" + textStrikeoutAnnotation + + ", polylineAnnotation=" + polylineAnnotation + + ", textFieldAnnotation=" + textFieldAnnotation + + ", watermarkAnnotation=" + watermarkAnnotation + + ", textReplacementAnnotation=" + textReplacementAnnotation + + ", arrowAnnotation=" + arrowAnnotation + + ", textRedactionAnnotation=" + textRedactionAnnotation + + ", resourcesRedactionAnnotation=" + resourcesRedactionAnnotation + + ", textUnderlineAnnotation=" + textUnderlineAnnotation + + ", distanceAnnotation=" + distanceAnnotation + + ", downloadOriginal=" + downloadOriginal + + ", downloadAnnotated=" + downloadAnnotated + + ", zoom=" + zoom + + ", fitWidth=" + fitWidth + + '}'; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/controller/AnnotationController.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/controller/AnnotationController.java index 0adc707..b997491 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/controller/AnnotationController.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/controller/AnnotationController.java @@ -1,10 +1,10 @@ package com.groupdocs.ui.annotation.controller; import com.groupdocs.ui.annotation.config.AnnotationConfiguration; -import com.groupdocs.ui.annotation.entity.request.AnnotateDocumentRequest; import com.groupdocs.ui.annotation.entity.web.AnnotatedDocumentEntity; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; -import com.groupdocs.ui.annotation.entity.web.AnnotationPageDescriptionEntity; +import com.groupdocs.ui.annotation.entity.web.AnnotationPostedDataEntity; +import com.groupdocs.ui.annotation.entity.web.PageDataDescriptionEntity; import com.groupdocs.ui.annotation.service.AnnotationService; import com.groupdocs.ui.config.GlobalConfiguration; import com.groupdocs.ui.exception.TotalGroupDocsException; @@ -22,7 +22,6 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; - import javax.annotation.Nullable; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; @@ -32,7 +31,6 @@ import java.io.InputStream; import java.util.List; import java.util.Map; - import static com.groupdocs.ui.util.Utils.setLocalPort; import static com.groupdocs.ui.util.Utils.uploadFile; import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; @@ -46,6 +44,7 @@ @Controller @RequestMapping(value = "/annotation") public class AnnotationController { + private static final Logger logger = LoggerFactory.getLogger(AnnotationController.class); @Autowired @@ -93,6 +92,7 @@ public List loadFileTree(@RequestBody FileTreeRequest fil /** * Get document description * + * @param loadDocumentRequest * @return document description */ @RequestMapping(value = "/loadDocumentDescription", method = RequestMethod.POST, produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE) @@ -104,11 +104,12 @@ public AnnotatedDocumentEntity loadDocumentDescription(@RequestBody LoadDocument /** * Get document page * + * @param loadDocumentPageRequest * @return document page */ @RequestMapping(value = "/loadDocumentPage", method = RequestMethod.POST, produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE) @ResponseBody - public AnnotationPageDescriptionEntity loadDocumentPage(@RequestBody LoadDocumentPageRequest loadDocumentPageRequest) { + public PageDataDescriptionEntity loadDocumentPage(@RequestBody LoadDocumentPageRequest loadDocumentPageRequest) { return annotationService.getDocumentPage(loadDocumentPageRequest); } @@ -119,8 +120,7 @@ public AnnotationPageDescriptionEntity loadDocumentPage(@RequestBody LoadDocumen * @param response http response */ @RequestMapping(value = "/downloadDocument", method = RequestMethod.GET) - public void downloadDocument(@RequestParam("path") String documentGuid, - HttpServletResponse response) { + public void downloadDocument(@RequestParam("path") String documentGuid, HttpServletResponse response) { // get document path String fileName = FilenameUtils.getName(documentGuid); @@ -165,10 +165,13 @@ public UploadedDocumentEntity uploadDocument(@Nullable @RequestParam("file") Mul /** * Annotate document with annotations and download result without saving * - * @return annotated document info + * @param annotateDocumentRequest + * @param response */ @RequestMapping(method = RequestMethod.POST, value = "/downloadAnnotated", consumes = APPLICATION_JSON_VALUE) - public void downloadAnnotated(@RequestBody AnnotateDocumentRequest annotateDocumentRequest, HttpServletResponse response) { + public void downloadAnnotated(@RequestBody AnnotationPostedDataEntity annotateDocumentRequest, HttpServletResponse response) { +// @Route("annotation/downloadAnnotated") +// public final HttpResponseMessage downloadAnnotated(String path) { AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); if (annotationsData == null || annotationsData.length == 0) { throw new IllegalArgumentException("Annotations data is empty"); @@ -199,8 +202,7 @@ public void downloadAnnotated(@RequestBody AnnotateDocumentRequest annotateDocum */ @RequestMapping(value = "/annotate", method = RequestMethod.POST, produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE) @ResponseBody - public AnnotatedDocumentEntity annotate(@RequestBody AnnotateDocumentRequest annotateDocumentRequest) { + public AnnotatedDocumentEntity annotate(@RequestBody AnnotationPostedDataEntity annotateDocumentRequest) { return annotationService.annotate(annotateDocumentRequest); } - } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/Annotations.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/Annotations.java new file mode 100644 index 0000000..db2c999 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/Annotations.java @@ -0,0 +1,75 @@ +package com.groupdocs.annotation.entity; + +public class Annotations { + + public String[] Cells = { + "textHighlight" + }; + public String[] Diagram = { + "area", + "point", + "polyline", + "textField", + "arrow", + "textRedaction", + "resourcesRedaction", + "distance" + }; + public String[] Word = { + "area", + "point", + "textStrikeout", + "polyline", + "textField", + "watermark", + "textReplacement", + "arrow", + "textRedaction", + "resourcesRedaction", + "textUnderline", + "distance", + "textHighlight" + }; + public String[] Pdf = { + "area", + "point", + "textStrikeout", + "polyline", + "textField", + "watermark", + "textReplacement", + "arrow", + "textRedaction", + "resourcesRedaction", + "textUnderline", + "distance", + "textHighlight" + }; + public String[] Image = { + "area", + "point", + "textStrikeout", + "polyline", + "textField", + "watermark", + "arrow", + "textRedaction", + "resourcesRedaction", + "textUnderline", + "distance", + "textHighlight" + }; + public String[] Slides = { + "area", + "point", + "textStrikeout", + "polyline", + "textField", + "watermark", + "arrow", + "textRedaction", + "resourcesRedaction", + "textUnderline", + "textHighlight" + }; +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/AnnotateDocumentRequest.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/AnnotateDocumentRequest.java deleted file mode 100644 index 9a89e07..0000000 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/AnnotateDocumentRequest.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.groupdocs.ui.annotation.entity.request; - -import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; -import com.groupdocs.ui.model.request.LoadDocumentRequest; - -/** - * AnnotateDocumentRequest - * - * @author Aspose Pty Ltd - */ -public class AnnotateDocumentRequest extends LoadDocumentRequest { - /** - * List of annotation data - */ - private AnnotationDataEntity[] annotationsData; - /** - * Document type - */ - private String documentType; - /** - * For print annotated file - */ - private Boolean print; - - public AnnotationDataEntity[] getAnnotationsData() { - return annotationsData; - } - - public void setAnnotationsData(AnnotationDataEntity[] annotationsData) { - this.annotationsData = annotationsData; - } - - public String getDocumentType() { - return documentType; - } - - public void setDocumentType(String documentType) { - this.documentType = documentType; - } - - public Boolean getPrint() { - return print; - } - - public void setPrint(Boolean print) { - this.print = print; - } -} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/PostedDataEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/PostedDataEntity.java new file mode 100644 index 0000000..fc5703c --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/PostedDataEntity.java @@ -0,0 +1,180 @@ +package com.groupdocs.ui.annotation.entity.request; + +import java.util.List; + +/** + *

    + * DTO-class, representes document with its pages posted from the front-end. + *

    + */ +public class PostedDataEntity { + + /** + *

    + * Absolute path to the posted document. + *

    + * @return + */ + public String getPath() { + return path; + } + + /** + *

    + * Absolute path to the posted document. + *

    + * @param value + */ + public void setPath(String value) { + path = value; + } + private String path; + + /** + *

    + * Absolute path to the document. + *

    + * @return + */ + public String getGuid() { + return guid; + } + + /** + *

    + * Absolute path to the document. + *

    + * @param value + */ + public void setGuid(String value) { + guid = value; + } + private String guid; + + /** + *

    + * Document password. + *

    + * @return + */ + public String getPassword() { + return password; + } + + /** + *

    + * Document password. + *

    + * @param value + */ + public void setPassword(String value) { + password = value; + } + private String password; + + /** + *

    + * Url of the posted file. + *

    + * @return + */ + public String getUrl() { + return url; + } + + /** + *

    + * Url of the posted file. + *

    + * @param value + */ + public void setUrl(String value) { + url = value; + } + private String url; + + /** + *

    + * Page number. + *

    + * @return + */ + public int getPage() { + return page; + } + + /** + *

    + * Page number. + *

    + * @param value + */ + public void setPage(int value) { + page = value; + } + private int page; + + /** + *

    + * Page rotation angle. + *

    + * @return + */ + public int getAngle() { + return angle; + } + + /** + *

    + * Page rotation angle. + *

    + * @param value + */ + public void setAngle(int value) { + angle = value; + } + private int angle; + + /** + *

    + * Collection of the document pages with their data. + *

    + * @return + */ + public List getPages() { + return pages; + } + + /** + *

    + * Collection of the document pages with their data. + *

    + * @param value + */ + public void setPages(List value) { + pages = value; + } + + private List pages; + + /** + *

    + * Flag indicating whether the file should be overwritten. + *

    + * @return + */ + public boolean getRewrite() { + return rewrite; + } + + /** + *

    + * Flag indicating whether the file should be overwritten. + *

    + * @param value + */ + public void setRewrite(boolean value) { + rewrite = value; + } + private boolean rewrite; +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/TextCoordinatesRequest.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/TextCoordinatesRequest.java new file mode 100644 index 0000000..47122b0 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/request/TextCoordinatesRequest.java @@ -0,0 +1,31 @@ +package com.groupdocs.ui.annotation.entity.request; + +public class TextCoordinatesRequest extends PostedDataEntity { + + public final String getGuid_Rename_Namesake() { + return guid; + } + + public final void setQuid_Rename_Namesake(String value) { + guid = value; + } + private String guid; + + public final String getPassword_Rename_Namesake() { + return password; + } + + public final void setPassword_Rename_Namesake(String value) { + password = value; + } + private String password; + + public final int getPageNumber() { + return pageNumber; + } + + public final void setPageNumber(int value) { + pageNumber = value; + } + private int pageNumber; +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java index f3cd1ba..8877196 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java @@ -1,13 +1,11 @@ package com.groupdocs.ui.annotation.entity.web; +import com.groupdocs.ui.model.response.PageDescriptionEntity; +import java.util.ArrayList; import java.util.List; -/** - * AnnotatedDocumentEntity - * - * @author Aspose Pty Ltd - */ -public class AnnotatedDocumentEntity { +public class AnnotatedDocumentEntity extends PageDescriptionEntity { + /** * Document Guid */ @@ -19,7 +17,7 @@ public class AnnotatedDocumentEntity { /** * list of pages */ - private List pages; + private List pages = new ArrayList<>(); public String getGuid() { return guid; @@ -37,11 +35,11 @@ public void setSupportedAnnotations(String[] supportedAnnotations) { this.supportedAnnotations = supportedAnnotations; } - public List getPages() { + public List getPages() { return pages; } - public void setPages(List pages) { + public void setPages(List pages) { this.pages = pages; } } diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java index 0d8203c..8a51dd4 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java @@ -1,177 +1,139 @@ package com.groupdocs.ui.annotation.entity.web; -/** - * AnnotationDataEntity - * - * @author Aspose Pty Ltd - */ public class AnnotationDataEntity { - /** - * Annotation Id - */ - private Integer id; - /** - * The number of page in document - */ - private Integer pageNumber; - /** - * The size of font of annotation - */ - private Double fontSize; - /** - * Annotation position. Left position. - */ - private double left; - /** - * Annotation position. Top position. - */ - private double top; - /** - * Annotation position. Width of annotation. - */ - private double width; - /** - * Annotation position. Height of annotation. - */ - private double height; - /** - * SVG path - */ - private String svgPath; - /** - * The type of annotation (text, watermark, ect) - */ - private String type; - /** - * Annotation text - */ - private String text; - /** - * The annotation font - */ - private String font; - /** - * List of comments in annotation - */ - private CommentsEntity[] comments; - /** - * Imported annotations - */ - private boolean imported; - /** - * font color - */ - private Integer fontColor; - public Integer getId() { + public final int getId() { return id; } - public void setId(Integer id) { - this.id = id; + public final void setId(int value) { + id = value; } + private int id; - public Integer getPageNumber() { + public final int getPageNumber() { return pageNumber; } - public void setPageNumber(Integer pageNumber) { - this.pageNumber = pageNumber; + public final void setPageNumber(int value) { + pageNumber = value; } + private int pageNumber; - public Double getFontSize() { + public final int getFontColor() { + return fontColor; + } + + public final void setFontColor(int value) { + fontColor = value; + } + private int fontColor; + + public final Double getFontSize() { return fontSize; } - public void setFontSize(Double fontSize) { - this.fontSize = fontSize; + public final void setFontSize(Double value) { + fontSize = value; } + private Double fontSize; - public double getLeft() { + public final float getLeft() { return left; } - public void setLeft(double left) { - this.left = left; + public final void setLeft(float value) { + left = value; } + private float left; - public double getTop() { + public final float getTop() { return top; } - public void setTop(double top) { - this.top = top; + public final void setTop(float value) { + top = value; } + private float top; - public double getWidth() { + public final float getWidth() { return width; } - public void setWidth(double width) { - this.width = width; + public final void setWidth(float value) { + width = value; } + private float width; - public double getHeight() { + public final float getHeight() { return height; } - public void setHeight(double height) { - this.height = height; + public final void setHeight(float value) { + height = value; } + private float height; - public String getSvgPath() { + public final String getSvgPath() { return svgPath; } - public void setSvgPath(String svgPath) { - this.svgPath = svgPath; + public final void setSvgPath(String value) { + svgPath = value; } + private String svgPath; - public String getType() { + public final String getType() { return type; } - public void setType(String type) { - this.type = type; + public final void setType(String value) { + type = value; } + private String type; - public String getText() { - return text; + public final String getDocumentType() { + return documentType; } - public void setText(String text) { - this.text = text; + public final void setDocumentType(String value) { + documentType = value; } + private String documentType; - public String getFont() { - return font; + public final String getText() { + return text; } - public void setFont(String font) { - this.font = font; + public final void setText(String value) { + text = value; } + private String text; - public CommentsEntity[] getComments() { - return comments; + public final String getFont() { + return font; } - public void setComments(CommentsEntity[] comments) { - this.comments = comments; + public final void setFont(String value) { + font = value; } + private String font; - public boolean isImported() { + public final boolean getImported() { return imported; } - public void setImported(boolean imported) { - this.imported = imported; + public final void setImported(boolean value) { + imported = value; } + private boolean imported; - public Integer getFontColor() { - return fontColor; + public final CommentsEntity[] getComments() { + return comments; } - public void setFontColor(Integer fontColor) { - this.fontColor = fontColor; + public final void setComments(CommentsEntity[] value) { + comments = value; } + private CommentsEntity[] comments; } diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java deleted file mode 100644 index 7ae2b87..0000000 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.groupdocs.ui.annotation.entity.web; - -import com.groupdocs.ui.model.response.PageDescriptionEntity; - -public class AnnotationPageDescriptionEntity extends PageDescriptionEntity { - - /** - * List of annotation data - */ - private AnnotationDataEntity[] annotations; - - public AnnotationDataEntity[] getAnnotations() { - return annotations; - } - - public void setAnnotations(AnnotationDataEntity[] annotations) { - this.annotations = annotations; - } - -} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPostedDataEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPostedDataEntity.java new file mode 100644 index 0000000..cb53d67 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPostedDataEntity.java @@ -0,0 +1,39 @@ +package com.groupdocs.ui.annotation.entity.web; + +import com.groupdocs.ui.annotation.entity.request.PostedDataEntity; + + +/** + *

    + * SignaturePostedDataEntity + *

    + */ +public class AnnotationPostedDataEntity extends PostedDataEntity { + + public final String getDocumentType() { + return documentType; + } + + public final void setDocumentType(String value) { + documentType = value; + } + private String documentType; + + public final AnnotationDataEntity[] getAnnotationsData() { + return annotationsData; + } + + public final void setAnnotationsData(AnnotationDataEntity[] value) { + annotationsData = value; + } + private AnnotationDataEntity[] annotationsData; + + public final boolean getPrint() { + return print; + } + + public final void setPrint(boolean value) { + print = value; + } + private boolean print; +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/CommentsEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/CommentsEntity.java index 30fd005..68d39b2 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/CommentsEntity.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/CommentsEntity.java @@ -1,45 +1,31 @@ package com.groupdocs.ui.annotation.entity.web; -/** - * CommentsEntity - * - * @author Aspose Pty Ltd - */ public class CommentsEntity { - private Integer id; - private String time; - private String text; - private String userName; - - public Integer getId() { - return id; - } - public void setId(Integer id) { - this.id = id; - } - - public String getTime() { + public final String getTime() { return time; } - public void setTime(String time) { - this.time = time; + public final void setTime(String value) { + time = value; } + private String time; - public String getText() { + public final String getText() { return text; } - public void setText(String text) { - this.text = text; + public final void setText(String value) { + text = value; } + private String text; - public String getUserName() { + public final String getUserName() { return userName; } - public void setUserName(String userName) { - this.userName = userName; + public final void setUserName(String value) { + userName = value; } -} + private String userName; +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/PageDataDescriptionEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/PageDataDescriptionEntity.java new file mode 100644 index 0000000..a975af8 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/PageDataDescriptionEntity.java @@ -0,0 +1,19 @@ +package com.groupdocs.ui.annotation.entity.web; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.groupdocs.ui.model.response.PageDescriptionEntity; +import java.util.List; + +public class PageDataDescriptionEntity extends PageDescriptionEntity { + + @JsonProperty + private List annotations; // AnnotationDataEntity[] => List + + public final void setAnnotations(List annotations) { + this.annotations = annotations; + } + + public final List getAnnotations() { + return annotations; + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/TextRowEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/TextRowEntity.java new file mode 100644 index 0000000..746dff7 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/web/TextRowEntity.java @@ -0,0 +1,33 @@ +package com.groupdocs.ui.annotation.entity.web; + +import java.util.List; + +public class TextRowEntity { + + public final List getTextCoordinates() { + return textCoordinates; + } + + public final void setTextCoordinates(List value) { + textCoordinates = value; + } + private List textCoordinates; + + public final double getLineTop() { + return lineTop; + } + + public final void setLineTop(double value) { + lineTop = value; + } + private double lineTop; + + public final double getLineHeight() { + return lineHeight; + } + + public final void setLineHeight(double value) { + lineHeight = value; + } + private double lineHeight; +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java deleted file mode 100644 index 2667c1a..0000000 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.groupdocs.ui.annotation.importer; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.handler.AnnotationImageHandler; - -import java.io.InputStream; - -/** - * Importer - * - * @author Aspose Pty Ltd - */ -public class Importer { - protected InputStream documentStream; - protected AnnotationImageHandler annotator; - - /** - * Constructor - * - * @param documentStream - */ - public Importer(InputStream documentStream, AnnotationImageHandler annotator) { - this.documentStream = documentStream; - this.annotator = annotator; - } - - /** - * Import the annotations from document - * - * @param docType the type of document - * @return AnnotationInfo[] list of annotations - */ - public AnnotationInfo[] importAnnotations(int docType) { - AnnotationInfo[] annotations = annotator.importAnnotations(documentStream, docType); - return annotations; - } - -} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationService.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationService.java index 46337bd..7c7e5cf 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationService.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationService.java @@ -1,15 +1,14 @@ package com.groupdocs.ui.annotation.service; import com.groupdocs.ui.annotation.config.AnnotationConfiguration; -import com.groupdocs.ui.annotation.entity.request.AnnotateDocumentRequest; import com.groupdocs.ui.annotation.entity.web.AnnotatedDocumentEntity; -import com.groupdocs.ui.annotation.entity.web.AnnotationPageDescriptionEntity; +import com.groupdocs.ui.annotation.entity.web.AnnotationPostedDataEntity; +import com.groupdocs.ui.annotation.entity.web.PageDataDescriptionEntity; import com.groupdocs.ui.config.GlobalConfiguration; import com.groupdocs.ui.model.request.FileTreeRequest; import com.groupdocs.ui.model.request.LoadDocumentPageRequest; import com.groupdocs.ui.model.request.LoadDocumentRequest; import com.groupdocs.ui.model.response.FileDescriptionEntity; - import java.io.InputStream; import java.util.List; @@ -53,7 +52,7 @@ public interface AnnotationService { * @param loadDocumentPageRequest request object with document guid and page number * @return document page data */ - AnnotationPageDescriptionEntity getDocumentPage(LoadDocumentPageRequest loadDocumentPageRequest); + PageDataDescriptionEntity getDocumentPage(LoadDocumentPageRequest loadDocumentPageRequest); /** * Annotate document @@ -61,7 +60,7 @@ public interface AnnotationService { * @param annotateDocumentRequest request object with document guid and annotations data * @return annotated document */ - AnnotatedDocumentEntity annotate(AnnotateDocumentRequest annotateDocumentRequest); + AnnotatedDocumentEntity annotate(AnnotationPostedDataEntity annotateDocumentRequest); /** * Annotate document by streams @@ -69,5 +68,5 @@ public interface AnnotationService { * @param annotateDocumentRequest request object with document guid and annotations data * @return stream of annotated document */ - InputStream annotateByStream(AnnotateDocumentRequest annotateDocumentRequest); + InputStream annotateByStream(AnnotationPostedDataEntity annotateDocumentRequest); } diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java index 284c80d..0cf8ae5 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java @@ -1,25 +1,26 @@ package com.groupdocs.ui.annotation.service; -import com.groupdocs.annotation.common.exception.AnnotatorException; -import com.groupdocs.annotation.common.license.License; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.FileDescription; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.config.AnnotationConfig; -import com.groupdocs.annotation.domain.containers.DocumentInfoContainer; -import com.groupdocs.annotation.domain.containers.FileTreeContainer; -import com.groupdocs.annotation.domain.image.PageImage; -import com.groupdocs.annotation.domain.options.FileTreeOptions; -import com.groupdocs.annotation.domain.options.ImageOptions; -import com.groupdocs.annotation.handler.AnnotationImageHandler; +import com.groupdocs.annotation.license.License; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.IDocumentInfo; +import com.groupdocs.annotation.exceptions.AnnotatorException; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.options.LoadOptions; +import com.groupdocs.annotation.options.PreviewFormats; +import com.groupdocs.annotation.options.export.AnnotationType; +import com.groupdocs.annotation.options.export.SaveOptions; +import com.groupdocs.annotation.options.pagepreview.CreatePageStream; +import com.groupdocs.annotation.options.pagepreview.PreviewOptions; import com.groupdocs.ui.annotation.annotator.AnnotatorFactory; +import com.groupdocs.ui.annotation.annotator.BaseAnnotator; import com.groupdocs.ui.annotation.config.AnnotationConfiguration; -import com.groupdocs.ui.annotation.entity.request.AnnotateDocumentRequest; import com.groupdocs.ui.annotation.entity.web.AnnotatedDocumentEntity; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; -import com.groupdocs.ui.annotation.entity.web.AnnotationPageDescriptionEntity; -import com.groupdocs.ui.annotation.importer.Importer; +import com.groupdocs.ui.annotation.entity.web.AnnotationPostedDataEntity; +import com.groupdocs.ui.annotation.entity.web.PageDataDescriptionEntity; import com.groupdocs.ui.annotation.util.AnnotationMapper; +import com.groupdocs.ui.annotation.util.DocumentTypesConverter; import com.groupdocs.ui.annotation.util.SupportedAnnotations; import com.groupdocs.ui.config.GlobalConfiguration; import com.groupdocs.ui.exception.TotalGroupDocsException; @@ -34,19 +35,21 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; - import javax.annotation.PostConstruct; import java.io.*; import java.util.ArrayList; import java.util.List; - -import static com.groupdocs.ui.annotation.util.DocumentTypesConverter.checkedDocumentType; -import static com.groupdocs.ui.annotation.util.DocumentTypesConverter.getDocumentType; -import static com.groupdocs.ui.util.Utils.getStringFromStream; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Arrays; +import java.util.Base64; +import java.util.Iterator; @Service public class AnnotationServiceImpl implements AnnotationService { + private static final Logger logger = LoggerFactory.getLogger(AnnotationServiceImpl.class); + private final List SupportedImageFormats = new ArrayList<>(); @Autowired private GlobalConfiguration globalConfiguration; @@ -54,19 +57,21 @@ public class AnnotationServiceImpl implements AnnotationService { @Autowired private AnnotationConfiguration annotationConfiguration; - private AnnotationImageHandler annotationHandler; + private final List annotationPageDescriptionEntityList = new ArrayList<>(); @PostConstruct public void init() { - // create annotation application configuration - AnnotationConfig config = new AnnotationConfig(); - // set storage path - config.setStoragePath(annotationConfiguration.getFilesDirectory()); - config.getFontDirectories().add(annotationConfiguration.getFontsDirectory()); - - annotationHandler = new AnnotationImageHandler(config); - try { + SupportedImageFormats.add(".bmp"); + SupportedImageFormats.add(".jpeg"); + SupportedImageFormats.add(".jpg"); + SupportedImageFormats.add(".tiff"); + SupportedImageFormats.add(".tif"); + SupportedImageFormats.add(".png"); + SupportedImageFormats.add(".dwg"); + SupportedImageFormats.add(".dcm"); + SupportedImageFormats.add(".dxf"); + // set GroupDocs license License license = new License(); license.setLicense(globalConfiguration.getApplication().getLicensePath()); @@ -88,243 +93,520 @@ public AnnotationConfiguration getAnnotationConfiguration() { @Override public List getFileList(FileTreeRequest fileTreeRequest) { String path = fileTreeRequest.getPath(); - // get file list from storage path - FileTreeOptions fileListOptions = new FileTreeOptions(path); - // get temp directory name - String tempDirectoryName = new AnnotationConfig().getTempFolderName(); + if (StringUtils.isEmpty(path)) { + path = annotationConfiguration.getFilesDirectory(); + } try { - FileTreeContainer fileListContainer = annotationHandler.loadFileTree(fileListOptions); + File directory = new File(path); + List filesList = Arrays.asList(directory.listFiles()); - List fileList = new ArrayList<>(); - // parse files/folders list - for (FileDescription fd : fileListContainer.getFileTree()) { - FileDescriptionEntity fileDescription = new FileDescriptionEntity(); - fileDescription.setGuid(fd.getGuid()); - // check if current file/folder is temp directory or is hidden - if (tempDirectoryName.toLowerCase().equals(fd.getName()) || new File(fileDescription.getGuid()).isHidden()) { - // ignore current file and skip to next one - continue; - } else { - // set file/folder name - fileDescription.setName(fd.getName()); - } - // set file type - fileDescription.setDocType(fd.getDocumentType()); - // set is directory true/false - fileDescription.setDirectory(fd.isDirectory()); - // set file size - fileDescription.setSize(fd.getSize()); - // add object to array list - fileList.add(fileDescription); - } + List fileList = getFileDescriptionEntities(filesList); return fileList; } catch (Exception ex) { + logger.error("Exception in getting file list", ex); throw new TotalGroupDocsException(ex.getMessage(), ex); } } - @Override - public AnnotatedDocumentEntity getDocumentDescription(LoadDocumentRequest loadDocumentRequest) { - try { - // get/set parameters - String documentGuid = loadDocumentRequest.getGuid(); - String password = loadDocumentRequest.getPassword(); - ImageOptions imageOptions = createImageOptions(password); - // get document info container - String fileName = FilenameUtils.getName(documentGuid); - DocumentInfoContainer documentDescription = annotationHandler.getDocumentInfo(fileName, password); - - String documentType = checkedDocumentType(documentGuid, documentDescription.getDocumentType()); - // check if document contains annotations - AnnotationInfo[] annotations = getAnnotations(documentGuid, documentType); - // get info about each document page - List pageImages = null; - if (annotationConfiguration.getPreloadPageCount() == 0) { - pageImages = annotationHandler.getPages(fileName, imageOptions); - } - String[] supportedAnnotations = SupportedAnnotations.getSupportedAnnotations(documentType); - // initiate custom Document description object - AnnotatedDocumentEntity description = new AnnotatedDocumentEntity(); - description.setGuid(documentGuid); - description.setSupportedAnnotations(supportedAnnotations); - // initiate pages description list - List pages = documentDescription.getPages(); - List pagesDescriptions = new ArrayList<>(pages.size()); - for (int i = 0; i < pages.size(); i++) { - PageData pageData = pages.get(i); - // set current page info for result - PageImage pageImage = pageImages != null ? pageImages.get(i) : null; - AnnotationPageDescriptionEntity page = getAnnotationPageDescriptionEntity(pageData, pageImage); - // set annotations data if document page contains annotations - if (annotations != null && annotations.length > 0) { - page.setAnnotations(AnnotationMapper.instance.mapForPage(annotations, page.getNumber())); - } - pagesDescriptions.add(page); + public List getFileDescriptionEntities(List filesList) { + List fileList = new ArrayList<>(); + for (File file : filesList) { + String guid = file.getAbsolutePath(); + String extension = FilenameUtils.getExtension(guid); + if (file.isDirectory() || (!StringUtils.isEmpty(extension))) { + FileDescriptionEntity fileDescription = new FileDescriptionEntity(); + fileDescription.setGuid(guid); + fileDescription.setName(file.getName()); + fileDescription.setDirectory(file.isDirectory()); + fileDescription.setSize(file.length()); + fileList.add(fileDescription); } - description.setPages(pagesDescriptions); - // return document description - return description; - } catch (Exception ex) { - throw new TotalGroupDocsException(ex.getMessage(), ex); } + return fileList; } - /** - * Create initial instance of ImageOptions with documents password - * - * @param password - * @return - */ - public ImageOptions createImageOptions(String password) { - ImageOptions imageOptions = new ImageOptions(); - // set password for protected document - if (!StringUtils.isEmpty(password)) { - imageOptions.setPassword(password); + @Override + public AnnotatedDocumentEntity getDocumentDescription(LoadDocumentRequest loadDocumentRequest) { + try { + return loadDocument( + loadDocumentRequest, + annotationConfiguration.getPreloadPageCount() == 0 + //globalConfiguration.getAnnotationConfiguration().getPreloadPageCount() == 0 + ); + } catch (Throwable ex) { + throw new TotalGroupDocsException(ex); } - return imageOptions; } + + public final AnnotatedDocumentEntity loadDocument(LoadDocumentRequest loadDocumentRequest, boolean loadAllPages) { + Annotator annotator = null; + AnnotatedDocumentEntity description = new AnnotatedDocumentEntity(); + String guid = loadDocumentRequest.getGuid(); + String password = loadDocumentRequest.getPassword(); + LoadOptions loadOptions = new LoadOptions(); + loadOptions.setPassword(password); + + try { + annotator = new Annotator(guid, loadOptions); + + IDocumentInfo info = annotator.getDocument().getDocumentInfo(); + List annotations = annotator.get(); + + description.setGuid(loadDocumentRequest.getGuid()); + + String documentType = ""; + if (info.getFileType() != null) { + documentType = SupportedImageFormats.contains(info.getFileType().getExtension()) ? "image" : info.getFileType().toString(); + } else { + documentType = "Portable Document Format"; + } + + description.supportedAnnotations = SupportedAnnotations.getSupportedAnnotations(documentType); + + List pagesContent = new ArrayList<>(); + + if (loadAllPages) { + pagesContent = getAllPagesContent(password, guid, info); //documentGuid => guid + } - private AnnotationPageDescriptionEntity getAnnotationPageDescriptionEntity(PageData pageData, PageImage pageImage) throws IOException { - AnnotationPageDescriptionEntity page = new AnnotationPageDescriptionEntity(); - page.setHeight(pageData.getHeight()); - page.setWidth(pageData.getWidth()); - page.setNumber(pageData.getNumber()); + for (int i = 0; i < info.getPageCount(); i++) { + PageDataDescriptionEntity page = new PageDataDescriptionEntity(); + page.setNumber(i + 1); + page.setHeight(info.getPagesInfo().get(i).getHeight()); + page.setWidth(info.getPagesInfo().get(i).getWidth()); - if (pageImage != null) { - page.setData(getStringFromStream(pageImage.getStream())); + if (annotations != null && annotations.size() > 0) { + page.setAnnotations(AnnotationMapper.mapForPage(annotations, i + 1, info.getPagesInfo().get(i))); + } + + if (pagesContent.size() > 0) { + page.setData(pagesContent.get(i)); + } + description.getPages().add(page); + } + } finally { + if (annotator != null) { + annotator.dispose(); + } } - return page; + + description.setGuid(guid); //documentGuid => guid + // return document description + return description; + } + + public static String getStringFromStream(InputStream inputStream) throws IOException { +// inputStream.reset(); +// inputStream.skip(0); +// +// byte[] imageRaw = null; +// ByteArrayOutputStream out = new ByteArrayOutputStream(); +// int c; +// while ((c = inputStream.read()) != -1) { +// out.write(c); +// } +// out.flush(); +// imageRaw = out.toByteArray(); +// +// String result = Base64.getEncoder().encodeToString(imageRaw); + + //Base64.encodeToString(imageRaw, Base64.DEFAULT); + + //---- + + inputStream.reset(); + inputStream.skip(0); + + byte[] bytes = IOUtils.toByteArray(inputStream); + // encode ByteArray into String + return Base64.getEncoder().encodeToString(bytes); + +// byte[] buffer = new byte[inputStream.available()]; +// inputStream.read(buffer); +// +// return Base64.getEncoder().encodeToString(buffer); + +// java.io.File targetFile = new java.io.File("C:\\Users\\AlexT\\Desktop\\java-answers\\ConsoleApp1/targetFile.tmp"); +// java.io.OutputStream outStream = new java.io.FileOutputStream(targetFile); +// outStream.write(buffer); + +// return result;//new String(buffer);//, StandardCharsets.UTF_8); + //return new String(IOUtils.toByteArray(inputStream), StandardCharsets.UTF_8); } @Override - public AnnotationPageDescriptionEntity getDocumentPage(LoadDocumentPageRequest loadDocumentPageRequest) { + public PageDataDescriptionEntity getDocumentPage(LoadDocumentPageRequest loadDocumentPageRequest) { + String password = ""; try { // get/set parameters String documentGuid = loadDocumentPageRequest.getGuid(); int pageNumber = loadDocumentPageRequest.getPage(); - String password = loadDocumentPageRequest.getPassword(); - // set options - ImageOptions imageOptions = createImageOptions(password); - imageOptions.setPageNumber(pageNumber); - imageOptions.setCountPagesToConvert(1); - String fileName = FilenameUtils.getName(documentGuid); - List images = annotationHandler.getPages(fileName, imageOptions); + password = loadDocumentPageRequest.getPassword(); + PageDataDescriptionEntity loadedPage = new PageDataDescriptionEntity(); + + // get page image + byte[] bytes; + + final Annotator annotator = new Annotator(documentGuid, getLoadOptions(password)); + try { + final OutputStream renderPage = renderPageToMemoryStream(pageNumber, documentGuid, password); + + ByteArrayOutputStream bufferRenderPage = (ByteArrayOutputStream) renderPage; + byte[] bytesRenderPage = bufferRenderPage.toByteArray(); + InputStream streamRenderPage = new ByteArrayInputStream(bytesRenderPage); + + try { + bytes = IOUtils.toByteArray(streamRenderPage); + } finally { + if (streamRenderPage != null) { + streamRenderPage.close(); + } + } + +// InputStream finput = new FileInputStream(file); +// byte[] imageBytes = new byte[(int)file.length()]; +// finput.read(imageBytes, 0, imageBytes.length); +// finput.close(); +// String imageStr = Base64.encodeBase64String(imageBytes); + + IDocumentInfo info = annotator.getDocument().getDocumentInfo(); + List annotations = annotator.get(); + + if (annotations != null && annotations.size() > 0) { + loadedPage.setAnnotations(AnnotationMapper.mapForPage(annotations, pageNumber, info.getPagesInfo().get(pageNumber - 1))); + } - DocumentInfoContainer documentDescription = annotationHandler.getDocumentInfo(fileName, password); - PageData pageData = documentDescription.getPages().get(pageNumber - 1); + String encodedImage = Base64.getEncoder().encodeToString(bytes); + loadedPage.setData(encodedImage); - AnnotationPageDescriptionEntity page = getAnnotationPageDescriptionEntity(pageData, images.get(0)); + loadedPage.setHeight(info.getPagesInfo().get(pageNumber - 1).getHeight()); + loadedPage.setWidth(info.getPagesInfo().get(pageNumber - 1).getWidth()); + loadedPage.setNumber(pageNumber); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } // return loaded page object - return page; + return loadedPage; } catch (Exception ex) { - throw new TotalGroupDocsException(ex.getMessage(), ex); + throw new TotalGroupDocsException(ex); } } + + private static OutputStream renderPageToMemoryStream(int pageNumberToRender, String documentGuid, String password) { + try { + OutputStream result = new ByteArrayOutputStream(); // MemoryStream => OutputStream + InputStream inputStream = new FileInputStream(documentGuid); //final FileStream outputStream = File.openRead(documentGuid); + try { + final Annotator annotator = new Annotator(inputStream, getLoadOptions(password)); + try { + PreviewOptions previewOptions = new PreviewOptions( //PreviewOptions previewOptions = new PreviewOptions((pageNumber) = > result); + new CreatePageStream() { + @Override + public OutputStream invoke(int pageNumber) { + return result; + } + } + ); + previewOptions.setPreviewFormat(PreviewFormats.PNG); + previewOptions.setPageNumbers(new int[]{pageNumberToRender}); + previewOptions.setRenderComments(false); + + annotator.getDocument().generatePreview(previewOptions); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } + } finally { + if (inputStream != null) { + inputStream.close(); + } + } + return result; + } catch (Exception ex) { + throw new TotalGroupDocsException(ex); + } + } + + private static LoadOptions getLoadOptions(String password) { + LoadOptions loadOptions = new LoadOptions(); + loadOptions.setPassword(password); + return loadOptions; + } + public InputStream annotateDocument(String documentGuid, String documentType, List annotations) throws FileNotFoundException { + Annotator annotator = new Annotator(documentGuid); + + SaveOptions saveOptions = new SaveOptions(); + saveOptions.setAnnotationTypes(AnnotationType.None); + + annotator.save(documentGuid, saveOptions); + + if (annotations.size() > 0) { + annotator.add(annotations); + annotator.save(documentGuid, new SaveOptions()); + } + + return new FileInputStream(documentGuid); + } + @Override - public AnnotatedDocumentEntity annotate(AnnotateDocumentRequest annotateDocumentRequest) { + public AnnotatedDocumentEntity annotate(AnnotationPostedDataEntity annotateDocumentRequest) { AnnotatedDocumentEntity annotatedDocument = new AnnotatedDocumentEntity(); try { + // get/set parameters String documentGuid = annotateDocumentRequest.getGuid(); - String documentType = checkedDocumentType(documentGuid, annotateDocumentRequest.getDocumentType()); - List annotations = getAnnotationInfos(annotateDocumentRequest, documentType); + String password = annotateDocumentRequest.getPassword(); + + //String documentType1 = DocumentTypesConverter.checkedDocumentType(documentGuid, annotateDocumentRequest.getDocumentType()); + String documentType = SupportedImageFormats.contains( + FilenameUtils.getExtension(annotateDocumentRequest.getGuid()) + ) ? "image" : annotateDocumentRequest.getDocumentType(); + + String tempPath = getTempPath(documentGuid); + + AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); + // initiate list of annotations to add + List annotations = new ArrayList<>(); + + final Annotator annotator = new Annotator(documentGuid, getLoadOptions(password)); + try { + IDocumentInfo info = annotator.getDocument().getDocumentInfo(); + + for (int i = 0; i < annotationsData.length; i++) { + AnnotationDataEntity annotationData = annotationsData[i]; + PageInfo pageInfo = info.getPagesInfo().get(annotationsData[i].getPageNumber() - 1); + // add annotation, if current annotation type isn't supported by the current document type it will be ignored + try { + BaseAnnotator baseAnnotator = AnnotatorFactory.createAnnotator(annotationData, pageInfo); + if (baseAnnotator.isSupported(documentType)) { + annotations.add(baseAnnotator.getAnnotationBase(documentType)); + } + } catch (java.lang.RuntimeException ex) { + throw new AnnotatorException(ex.getMessage(), ex); + } + } + } finally { + if (annotator != null) { + annotator.dispose(); + } + } + + // Add annotation to the document + removeAnnotations(documentGuid, password); + // check if annotations array contains at least one annotation to add + if (annotations.size() != 0) { + final Annotator annotator1 = new Annotator(documentGuid, getLoadOptions(password)); + try { + //foreach to while statements conversion + Iterator tmp0 = (annotations).iterator(); + + while (tmp0.hasNext()) { + AnnotationBase annotation = (AnnotationBase) tmp0.next(); + annotator1.add(annotation); + } + + annotator1.save(tempPath); + } finally { + if (annotator1 != null) { + annotator1.dispose(); + } + } - InputStream file = annotateDocument(documentGuid, documentType, annotations); - if (annotateDocumentRequest.getPrint()) { - List annotatedPages = getAnnotatedPages(annotateDocumentRequest.getPassword(), file); - annotatedDocument.setPages(annotatedPages); - } else { try (OutputStream fileStream = new FileOutputStream(documentGuid)) { - IOUtils.copyLarge(file, fileStream); - annotatedDocument.setGuid(documentGuid); + InputStream inputStream1 = new FileInputStream(tempPath); + IOUtils.copyLarge(inputStream1, fileStream); } } + + annotatedDocument = new AnnotatedDocumentEntity(); + annotatedDocument.setGuid(documentGuid); + if (annotateDocumentRequest.getPrint()) { + annotatedDocument.setPages(getAnnotatedPagesForPrint(password, documentGuid)); + Files.move(Paths.get(documentGuid), Paths.get(annotateDocumentRequest.getGuid())); + } } catch (Exception ex) { - throw new TotalGroupDocsException(ex.getMessage(), ex); + // set exception message + throw new TotalGroupDocsException(ex); } + return annotatedDocument; + } + + private List getAnnotatedPagesForPrint(String password, String documentGuid) { + AnnotatedDocumentEntity description = new AnnotatedDocumentEntity(); + try { + InputStream outputStream = new FileInputStream(documentGuid); + try { + final Annotator annotator = new Annotator(outputStream, getLoadOptions(password)); + try { + IDocumentInfo info = annotator.getDocument().getDocumentInfo(); + List pagesContent = getAllPagesContent(password, documentGuid, info); + + for (int i = 0; i < info.getPageCount(); i++) { + PageDataDescriptionEntity page = new PageDataDescriptionEntity(); + + if (pagesContent.size() > 0) { + page.setData(pagesContent.get(i)); + } + + description.getPages().add(page); + } + } finally { + if (annotator != null) { + annotator.dispose(); + } + } + } finally { + if (outputStream != null) { + outputStream.close(); + } + } - public InputStream annotateDocument(String documentGuid, String documentType, List annotations) throws FileNotFoundException { - InputStream file = annotationHandler.removeAnnotationStream(new FileInputStream(documentGuid)); - // check if annotations array contains at least one annotation to add - if (annotations.size() > 0) { - // Add annotation to the document - int type = getDocumentType(documentType); - return annotationHandler.exportAnnotationsToDocument(file, annotations, type); + return description.getPages(); + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); } - return file; } + + private static String getTempPath(String documentGuid) { + File fileName = new File(documentGuid); + return fileName.getParentFile().getPath() + "//tmp_" + fileName.getName(); + } + + public static void removeAnnotations(String documentGuid, String password) { + String tempPath = getTempPath(documentGuid); - public List getAnnotationInfos(AnnotateDocumentRequest annotateDocumentRequest, String documentType) { - AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); - // get document info - required to get document page height and calculate annotation top position - DocumentInfoContainer documentInfo = annotationHandler.getDocumentInfo(new File(annotateDocumentRequest.getGuid()).getName(), annotateDocumentRequest.getPassword()); - List annotations = new ArrayList<>(); - for (AnnotationDataEntity annotationData : annotationsData) { - // create annotator - PageData pageData = documentInfo.getPages().get(annotationData.getPageNumber() - 1); - // add annotation, if current annotation type isn't supported by the current document type it will be ignored + try { + final InputStream inputStream = new FileInputStream(documentGuid); + //final Stream inputStream = File.open(documentGuid, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); try { - annotations.add(AnnotatorFactory.createAnnotator(annotationData, pageData).getAnnotationInfo(documentType)); - } catch (Exception ex) { - throw new TotalGroupDocsException(ex.getMessage(), ex); + final Annotator annotator = new Annotator(inputStream, getLoadOptions(password)); + try { + SaveOptions tmp0 = new SaveOptions(); + tmp0.setAnnotationTypes(AnnotationType.None); + annotator.save(tempPath, tmp0); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } + } finally { + if (inputStream != null) { + inputStream.close(); + } } - } - return annotations; - } + + + try (PrintWriter writer = new PrintWriter(documentGuid)) { + writer.print(""); + } + + try (OutputStream fileStream = new FileOutputStream(documentGuid)) { + InputStream inputStream1 = new FileInputStream(tempPath); + IOUtils.copyLarge(inputStream1, fileStream); + } + +// Files.copy(Paths.get(tempPath), Paths.get(documentGuid)); - @Override - public InputStream annotateByStream(AnnotateDocumentRequest annotateDocumentRequest) { - String documentGuid = annotateDocumentRequest.getGuid(); - String documentType = checkedDocumentType(documentGuid, annotateDocumentRequest.getDocumentType()); - List annotations = getAnnotationInfos(annotateDocumentRequest, documentType); - try { - return annotateDocument(documentGuid, documentType, annotations); - } catch (FileNotFoundException ex) { +// Files.deleteIfExists(Paths.get(documentGuid)); +// Files.move(Paths.get(tempPath), Paths.get(documentGuid)); +// Files.copy(Paths.get(tempPath), Paths.get(documentGuid), StandardCopyOption.REPLACE_EXISTING); + + } catch (Exception ex) { throw new TotalGroupDocsException(ex.getMessage(), ex); } } - - /** - * Get pages images of annotated file - * - * @param password password for the file - * @param inputStream stream of annotated file - * @return list of pages - * @throws IOException - */ - private List getAnnotatedPages(String password, InputStream inputStream) throws IOException { - ImageOptions imageOptions = createImageOptions(password); - List pages = annotationHandler.getPages(inputStream, imageOptions); - List pagesDescriptions = new ArrayList<>(pages.size()); - for (PageImage pageImage : pages) { - AnnotationPageDescriptionEntity page = new AnnotationPageDescriptionEntity(); - page.setData(getStringFromStream(pageImage.getStream())); - - pagesDescriptions.add(page); + + private String getText1(String tempPath) { + String content = ""; + try { + InputStream is = new FileInputStream(tempPath); + BufferedReader buf = new BufferedReader(new InputStreamReader(is)); + String line = buf.readLine(); + StringBuilder sb = new StringBuilder(); + while(line != null){ + sb.append(line).append("\n"); + line = buf.readLine(); + } + content = sb.toString(); + } catch(Throwable ex) { + ex.getMessage(); } - return pagesDescriptions; + return content; } + + private List getAllPagesContent(String password, String documentGuid, IDocumentInfo pages) { + List allPages = new ArrayList<>(); + +// //get page HTML +// renderPageToMemoryStream(pages.getPageCount(), documentGuid, password); +// for (int i = 0; i < pages.getPageCount(); i++) { +// byte[] bytes = annotationPageDescriptionEntityList.get(i).getData().getBytes(); // getData() +// allPages.add(Base64.getEncoder().encodeToString(bytes)); +// +//// allPages.add(annotationPageDescriptionEntityList.get(i).toString()); +//// allPages.add(annotationPageDescriptionEntityList.get(i).getData()); +// } + + for (int i = 0; i < pages.getPageCount(); i++) { + byte[] bytes; + try (OutputStream memoryStream = renderPageToMemoryStream(i + 1, documentGuid, password)) { + ByteArrayOutputStream bos = (ByteArrayOutputStream) memoryStream; + bytes = bos.toByteArray(); //memoryStream.ToArray(); + } catch (IOException ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } - /** - * Get all annotations from the document - * - * @param documentGuid - * @param documentType - * @return array of the annotations - */ - private AnnotationInfo[] getAnnotations(String documentGuid, String documentType) { - try (InputStream documentStream = new FileInputStream(documentGuid)) { - int docType = getDocumentType(documentType); - return new Importer(documentStream, annotationHandler).importAnnotations(docType); - } catch (AnnotatorException annotatorException) { - logger.error("Exception while extract annotations from file {}: {}", FilenameUtils.getName(documentGuid), annotatorException.getCause().getLocalizedMessage()); - return new AnnotationInfo[0]; + String encodedImage = new String(Base64.getEncoder().encode(bytes)); //Convert.ToBase64String(bytes); + allPages.add(encodedImage); + } + + return allPages; + } + +//------------------------------------------ + public List getAnnotationInfos(AnnotationPostedDataEntity annotateDocumentRequest, String documentType) { + try { + AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); + // get document info - required to get document page height and calculate annotation top position + + List annotations = new ArrayList<>(); + for (AnnotationDataEntity annotationData : annotationsData) { + // create annotator + // add annotation, if current annotation type isn't supported by the current document type it will be ignored + PageDataDescriptionEntity pageData = annotationPageDescriptionEntityList.get(annotationData.getPageNumber() - 1); + + PageInfo pageInfo = new PageInfo(); + pageInfo.setHeight((int) pageData.getHeight()); + //pageInfo.setPageNumber(pageData.getNumber()); + pageInfo.setWidth((int) pageData.getWidth()); + + try { + annotations.add(AnnotatorFactory.createAnnotator(annotationData, pageInfo).getAnnotationBase(documentType)); + } catch (Throwable ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + return annotations; } catch (Exception ex) { throw new TotalGroupDocsException(ex.getMessage(), ex); } } -} + @Override + public InputStream annotateByStream(AnnotationPostedDataEntity annotateDocumentRequest) { + String documentGuid = annotateDocumentRequest.getGuid(); + String documentType = DocumentTypesConverter.checkedDocumentType(documentGuid, annotateDocumentRequest.getDocumentType()); + List annotations = getAnnotationInfos(annotateDocumentRequest, documentType); + try { + return annotateDocument(documentGuid, documentType, annotations); + } catch (FileNotFoundException ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/IPageStreamFactory.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/IPageStreamFactory.java new file mode 100644 index 0000000..f4a072c --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/IPageStreamFactory.java @@ -0,0 +1,20 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.groupdocs.ui.annotation.service; + +import java.io.InputStream; +import java.io.OutputStream; + +/** + * + * @author AlexT + */ +public interface IPageStreamFactory { + + public OutputStream createPageStream(int pageNumber); + + public void closePageStream(int pageNumber, InputStream pageStream); +} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/StreamFactoryClass.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/StreamFactoryClass.java new file mode 100644 index 0000000..4e02618 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/StreamFactoryClass.java @@ -0,0 +1,70 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.groupdocs.ui.annotation.service; + +import com.groupdocs.ui.annotation.entity.web.PageDataDescriptionEntity; +import com.groupdocs.ui.exception.TotalGroupDocsException; +import java.awt.image.BufferedImage; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; +import javax.imageio.ImageIO; +import org.apache.commons.io.IOUtils; + +/** + * + * @author AlexT + */ +public class StreamFactoryClass implements IPageStreamFactory { + public List AnnotationPageDescriptionEntityList = new ArrayList<>(); + + @Override + public OutputStream createPageStream(int pageNumber) { + //ByteArrayInputStream; + //ByteArrayOutputStream; + //return new MemoryStream(); + return new ByteArrayOutputStream(); + } + + @Override + public void closePageStream(int pageNumber, InputStream pageStream) { + try { + PageDataDescriptionEntity page = new PageDataDescriptionEntity(); + + BufferedImage imBuff; + try { + imBuff = ImageIO.read(pageStream); + page.setHeight(imBuff.getHeight()); + page.setWidth(imBuff.getWidth()); + page.setNumber(pageNumber); + } catch (IOException ex) { + throw new TotalGroupDocsException(ex); + } + page.setData(getStringFromStream(pageStream)); + AnnotationPageDescriptionEntityList.add(page); + pageStream.close(); + } catch (Exception ex) { + throw new TotalGroupDocsException(ex); + } + } + + public static String getStringFromStream(InputStream inputStream) throws IOException { + return new String(IOUtils.toByteArray(inputStream), StandardCharsets.UTF_8); +// byte[] bytes = null; +// //try (MemoryStream memoryStream = new MemoryStream()) { +// try (ByteArrayOutputStream memoryStream = new ByteArrayOutputStream()) { +// memoryStream = IOUtils.toByteArray(inputStream); +// inputStream.CopyTo(memoryStream); +// bytes = memoryStream.toByteArray(); +// } +// // encode ByteArray into String +// return Convert.ToBase64String(bytes); + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java index d107c29..037c871 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java @@ -1,93 +1,149 @@ package com.groupdocs.ui.annotation.util; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationReplyInfo; -import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.annotation.internal.c.a.ms.System.Convert; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.Point; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.IBox; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.IFontColor; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.IFontFamily; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.IFontSize; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.IPoints; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.ISvgPath; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.IText; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.ITextToReplace; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; import com.groupdocs.ui.annotation.entity.web.CommentsEntity; - import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; -/** - * Mapper for annotation entities - */ + public class AnnotationMapper { - /** - * Instance of mapper - */ - public static final AnnotationMapper instance = new AnnotationMapper(); private AnnotationMapper() { } /** + *

    * Map AnnotationInfo instances into AnnotationDataEntity + *

    * - * @param annotations list of AnnotationInfo instances - * @param pageNumber number of page for mapping - * @return list of AnnotationDataEntity instances + * @param pageInfo + * @return + * @param annotations AnnotationInfo[] + * @param pageNumber int */ - public AnnotationDataEntity[] mapForPage(AnnotationInfo[] annotations, int pageNumber) { + // AnnotationDataEntity[] => List + public static List mapForPage(List annotations, int pageNumber, PageInfo pageInfo) { //AnnotationBase[] => List // initiate annotations data array List pageAnnotations = new ArrayList<>(); - // set each annotation data - this functionality used since annotations data returned by the + // each annotation data - this functionality used since annotations data returned by the // GroupDocs.Annotation library are obfuscated - for (int n = 0; n < annotations.length; n++) { - AnnotationInfo annotationInfo = annotations[n]; - if(pageNumber == annotationInfo.getPageNumber() + 1) { - AnnotationDataEntity annotation = mapAnnotationDataEntity(annotationInfo); + for (int n = 0; n < annotations.size(); n++) { + AnnotationBase annotationInfo = annotations.get(n); + if (pageNumber == annotationInfo.getPageNumber() + 1) { + AnnotationDataEntity annotation = mapAnnotationDataEntity(annotationInfo, pageInfo); pageAnnotations.add(annotation); } } - AnnotationDataEntity[] ret = new AnnotationDataEntity[pageAnnotations.size()]; - return pageAnnotations.toArray(ret); + + return pageAnnotations; } /** + *

    * Map AnnotationInfo instances into AnnotationDataEntity + *

    * - * @param annotationInfo AnnotationInfo instance - * @return AnnotationDataEntity instance + * @param pageInfo + * @return AnnotationDataEntity + * @param annotationInfo AnnotationInfo */ - public AnnotationDataEntity mapAnnotationDataEntity(AnnotationInfo annotationInfo) { + public static AnnotationDataEntity mapAnnotationDataEntity(AnnotationBase annotationInfo, PageInfo pageInfo) { + String annotationTypeName = AnnotationType.getName(annotationInfo.getType()); //getAnnotationType(annotationInfo.getType()); //Enum.GetName(Operators.typeOf(AnnotationType.class), annotationInfo.getType()); + float maxY = 0, minY = 0, maxX = 0, minX = 0; + float boxX = 0, boxY = 0, boxHeight = 0, boxWidth = 0; + String svgPath = ""; + //annotationTypeName (java.lang.String) "Watermark" + if (annotationInfo instanceof IPoints) { + List points = ((IPoints)annotationInfo).getPoints(); + for (Point point : points) { + maxY = point.getY() > maxY ? point.getY(): maxY; + maxX = point.getX() > maxX ? point.getX(): maxX; + minY = point.getY() < minY ? point.getY(): minY; + minX = point.getX() < minX ? point.getX(): minX; + } + } + + if (annotationInfo instanceof IBox) { + Rectangle box = ((IBox)annotationInfo).getBox(); + boxX = box.getX(); + boxY = box.getY(); + boxHeight = box.getHeight(); + boxWidth = box.getWidth(); + + StringBuilder builder = new StringBuilder(). + append("M").append(box.getX()). + append(",").append(box.getY()). + append("L").append(box.getWidth()). + append(",").append(box.getHeight()); + + svgPath = builder.toString(); + } + AnnotationDataEntity annotation = new AnnotationDataEntity(); - annotation.setFont(annotationInfo.getFontFamily()); - annotation.setFontColor(annotationInfo.getFontColor()); - annotation.setFontSize(annotationInfo.getFontSize()); - Rectangle box = annotationInfo.getBox(); - annotation.setHeight(box.getHeight()); - annotation.setLeft(box.getX()); - annotation.setTop(box.getY()); - annotation.setWidth(box.getWidth()); - annotation.setPageNumber(annotationInfo.getPageNumber() + 1); - if (annotationInfo.getSvgPath() != null) { - annotation.setSvgPath(annotationInfo.getSvgPath().replace("l", "L")); + annotation.setFont(annotationInfo instanceof IFontFamily ? ((IFontFamily)annotationInfo).getFontFamily() : ""); + + Double fontSize = annotationInfo instanceof IFontSize ? (((IFontSize)annotationInfo).getFontSize() == null) ? 0.0 : ((IFontSize)annotationInfo).getFontSize() : 0.0; + + annotation.setFontSize(fontSize); + + annotation.setFontColor( + annotationInfo instanceof IFontColor ? + ((((IFontColor) annotationInfo).getFontColor() == null) ? 0 : (int)((IFontColor) annotationInfo).getFontColor()) + : 0 + ); + annotation.setHeight(annotationInfo instanceof IBox ? boxHeight : (annotationInfo instanceof IPoints ? (maxY - minY) : 0)); + annotation.setLeft(annotationInfo instanceof IBox ? boxX : (annotationInfo instanceof IPoints ? minX : 0)); + + annotation.setPageNumber((int)annotationInfo.getPageNumber() + 1); + annotation.setSvgPath(annotationInfo instanceof ISvgPath ? (((ISvgPath)annotationInfo).getSvgPath().replace("l", "L")) : svgPath); + + String text = ""; + if (annotationInfo.getMessage() == null && annotationInfo instanceof ITextToReplace) { + text = ((ITextToReplace) annotationInfo).getTextToReplace(); + } else if (annotationInfo.getMessage() != null) { + text = annotationInfo.getMessage(); } - String text = (annotationInfo.getText() == null) ? annotationInfo.getFieldText() : annotationInfo.getText(); annotation.setText(text); - annotation.setType(AnnotationTypes.instance.getAnnotationType(annotationInfo.getType())); - setReplies(annotationInfo, annotation); - return annotation; - } - - public void setReplies(AnnotationInfo annotationInfo, AnnotationDataEntity annotation) { - // set each reply data - AnnotationReplyInfo[] replies = annotationInfo.getReplies(); - if (replies != null && replies.length > 0) { - CommentsEntity[] comments = new CommentsEntity[replies.length]; - for (int m = 0; m < replies.length; m++) { + + // TODO: remove comment after check all annotations types on main formats + annotation.setTop(annotationInfo instanceof IBox ? boxY : (annotationInfo instanceof IPoints ? pageInfo.getHeight() - maxY : 0)); + //annotation.setType(char.ToLowerInvariant(annotationTypeName[0]) + annotationTypeName.Substring(1)); !!! + annotation.setType(annotationTypeName.toUpperCase()); + annotation.setWidth(annotationInfo instanceof IBox ? boxWidth : (annotationInfo instanceof IPoints ? (maxX - minX) : 0)); + // each reply data + List replies = annotationInfo.getReplies(); + if (replies != null && replies.size() > 0) { + CommentsEntity[] comments = new CommentsEntity[replies.size()]; + for (int m = 0; m < replies.size(); m++) { CommentsEntity comment = new CommentsEntity(); - AnnotationReplyInfo reply = replies[m]; - comment.setText(reply.getMessage()); - DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); + Reply reply = replies.get(m); + comment.setText(reply.getComment()); + DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); //"yyyy-MM-dd HH:mm:ss" comment.setTime(format.format(reply.getRepliedOn())); - comment.setUserName(reply.getUserName()); + + comment.setUserName(reply.getUser().getName()); comments[m] = comment; } annotation.setComments(comments); } + + return annotation; } -} +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationTypes.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationTypes.java deleted file mode 100644 index 6793ba5..0000000 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationTypes.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.groupdocs.ui.annotation.util; - -import java.util.HashMap; -import java.util.Map; - -/** - * AnnotationTypes - * Contains all annotations types - * - * @author Aspose Pty Ltd - */ -public class AnnotationTypes { - - /** - * Map annotation types from byte into string - */ - private static final Map types = new HashMap<>(); - - // init map values - { - types.put((byte) 0, "text"); - types.put((byte) 1, "area"); - types.put((byte) 2, "point"); - types.put((byte) 3, "textStrikeout"); - types.put((byte) 4, "polyline"); - types.put((byte) 5, "textField"); - types.put((byte) 6, "watermark"); - types.put((byte) 7, "textReplacement"); - types.put((byte) 8, "arrow"); - types.put((byte) 9, "textRedaction"); - types.put((byte) 10, "resourcesRedaction"); - types.put((byte) 11, "textUnderline"); - types.put((byte) 12, "distance"); - } - - /** - * Instance of AnnotationTypes - */ - public static final AnnotationTypes instance = new AnnotationTypes(); - - /** - * Private constructor, for using only in this class - */ - private AnnotationTypes() { - } - - /** - * Get string value of annotation type - * - * @param type byte value of annotation type - * @return string value of annotation type - */ - public String getAnnotationType(byte type) { - return types.get(type); - } -} - diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java index 495a971..0402ff7 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java @@ -1,33 +1,31 @@ package com.groupdocs.ui.annotation.util; -import com.google.common.collect.Lists; -import com.groupdocs.annotation.domain.DocumentType; - +import com.groupdocs.annotation.models.DocumentType; import java.util.List; - +import com.google.common.collect.Lists; import static com.groupdocs.ui.util.Utils.parseFileExtension; -/** - * Converter for document types - */ public class DocumentTypesConverter { private static final List supportedImageFormats = Lists.newArrayList("bmp", "jpeg", "jpg", "tiff", "tif", "png", "gif", "emf", "wmf", "dwg", "dicom", "djvu"); private static final List supportedDiagramFormats = Lists.newArrayList(".vsd", ".vdx", ".vss", ".vsx", ".vst", ".vtx", ".vsdx", ".vdw", ".vstx", ".vssx"); - + /** + *

    * Convert document type from string into int + *

    * - * @param documentType string value of document type - * @return int doc type + * @return int + * @param documentType string */ - public static final int getDocumentType(String documentType) { + public static int getDocumentType(String documentType) { switch (documentType) { case "Portable Document Format": case "PDF": return DocumentType.Pdf; case "Microsoft Word": case "WORDS": + case "Microsoft Word Open XML format (.docx)": return DocumentType.Words; case "Microsoft PowerPoint": case "SLIDES": @@ -44,7 +42,7 @@ public static final int getDocumentType(String documentType) { return DocumentType.Undefined; } } - + /** * Check image and diagram document types * diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/PathConstants.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/PathConstants.java deleted file mode 100644 index 6f5cbf4..0000000 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/PathConstants.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.groupdocs.ui.annotation.util; - -import java.io.File; - -public class PathConstants { - /** - * Constant value for specifying output folder - */ - public static final String OUTPUT_FOLDER = File.separator + "Annotated"; -} diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java index 104ba4c..d0af772 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java @@ -1,100 +1,31 @@ package com.groupdocs.ui.annotation.util; -/** - * The list of supported annotation types for each document type - */ +import com.groupdocs.annotation.entity.Annotations; + public class SupportedAnnotations { - public static String[] CELLS = { - "text" - }; - public static String[] DIAGRAM = { - "area", - "point", - "polyline", - "textField", - "arrow", - "textRedaction", - "resourcesRedaction", - "distance" - }; - public static String[] WORD = { - "point", - "textStrikeout", - "polyline", - "textField", - "watermark", - "textReplacement", - "arrow", - "textRedaction", - "resourcesRedaction", - "textUnderline", - "distance", - "text" - }; - public static String[] PDF = { - "area", - "point", - "textStrikeout", - "polyline", - "textField", - "watermark", - "textReplacement", - "arrow", - "textRedaction", - "resourcesRedaction", - "textUnderline", - "distance", - "text" - }; - public static String[] IMAGE = { - "area", - "point", - "textStrikeout", - "polyline", - "textField", - "watermark", - "arrow", - "textRedaction", - "resourcesRedaction", - "textUnderline", - "distance", - "text" - }; - public static String[] SLIDES = { - "area", - "point", - "textStrikeout", - "polyline", - "textField", - "watermark", - "arrow", - "textRedaction", - "resourcesRedaction", - "textUnderline", - "text" - }; - public static String[] getSupportedAnnotations(String documentType) { + public static final String[] getSupportedAnnotations(String documentType) { + Annotations annotations = new Annotations(); switch (documentType) { case "Portable Document Format": case "PDF": - return PDF; + return annotations.Pdf; case "Microsoft Word": case "WORDS": - return WORD; + return annotations.Word; case "Microsoft PowerPoint": case "SLIDES": - return SLIDES; + return annotations.Slides; case "image": - return IMAGE; + return annotations.Image; case "Microsoft Excel": case "CELLS": - return CELLS; + return annotations.Cells; case "AutoCAD Drawing File Format": case "diagram": - return DIAGRAM; + return annotations.Diagram; default: - return PDF; + return annotations.Pdf; } } -} +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/directory/DirectoryUtils.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/directory/DirectoryUtils.java new file mode 100644 index 0000000..9f65c7d --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/directory/DirectoryUtils.java @@ -0,0 +1,19 @@ +package com.groupdocs.ui.annotation.util.directory; + +import com.groupdocs.ui.annotation.config.AnnotationConfiguration; + +public class DirectoryUtils { + + public FilesDirectoryUtils FilesDirectory; + + /** + *

    + * Constructor + *

    + * + * @param annotationConfiguration AnnotationConfiguration + */ + public DirectoryUtils(AnnotationConfiguration annotationConfiguration) { + FilesDirectory = new FilesDirectoryUtils(annotationConfiguration); + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/directory/FilesDirectoryUtils.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/directory/FilesDirectoryUtils.java new file mode 100644 index 0000000..970dde1 --- /dev/null +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/directory/FilesDirectoryUtils.java @@ -0,0 +1,30 @@ +package com.groupdocs.ui.annotation.util.directory; + +import com.groupdocs.ui.annotation.config.AnnotationConfiguration; + +public class FilesDirectoryUtils { /*implements IDirectoryUtils { */ + + private final AnnotationConfiguration AnnotationConfiguration; + + /** + *

    + * Constructor + *

    + * + * @param annotationConfiguration + */ + public FilesDirectoryUtils(AnnotationConfiguration annotationConfiguration) { + AnnotationConfiguration = annotationConfiguration; + } + + /** + *

    + * Get path + *

    + * + * @return string + */ + public final String getPath() { + return AnnotationConfiguration.getFilesDirectory(); + } +} \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/exception/TotalGroupDocsException.java b/Demos/Spring/src/main/java/com/groupdocs/ui/exception/TotalGroupDocsException.java index 7990792..d393e55 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/exception/TotalGroupDocsException.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/exception/TotalGroupDocsException.java @@ -12,4 +12,8 @@ public TotalGroupDocsException(String message) { public TotalGroupDocsException(String message, Throwable cause) { super(message, cause); } + + public TotalGroupDocsException(Throwable cause) { + super(cause); + } } diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/FileDescriptionEntity.java b/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/FileDescriptionEntity.java index 3c82e38..17eeffa 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/FileDescriptionEntity.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/model/response/FileDescriptionEntity.java @@ -17,7 +17,7 @@ public class FileDescriptionEntity { * @return guid */ public String getGuid() { - return guid; + return guid.replace("\\", "//"); } /** diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/util/Utils.java b/Demos/Spring/src/main/java/com/groupdocs/ui/util/Utils.java index 234426d..8074c34 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/util/Utils.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/util/Utils.java @@ -225,7 +225,6 @@ static class FileNameComparator implements Comparator { */ @Override public int compare(File file1, File file2) { - return String.CASE_INSENSITIVE_ORDER.compare(file1.getName(), file2.getName()); } @@ -238,7 +237,6 @@ public int compare(File file1, File file2) { * @author Aspose Pty Ltd */ static class FileTypeComparator implements Comparator { - /** * Compare two file types * @@ -248,7 +246,6 @@ static class FileTypeComparator implements Comparator { */ @Override public int compare(File file1, File file2) { - if (file1.isDirectory() && file2.isFile()) { return -1; } diff --git a/Demos/Spring/src/test/java/com/groupdocs/ui/annotation/controller/AnnotationControllerTest.java b/Demos/Spring/src/test/java/com/groupdocs/ui/annotation/controller/AnnotationControllerTest.java index 16924c5..152a32d 100644 --- a/Demos/Spring/src/test/java/com/groupdocs/ui/annotation/controller/AnnotationControllerTest.java +++ b/Demos/Spring/src/test/java/com/groupdocs/ui/annotation/controller/AnnotationControllerTest.java @@ -18,46 +18,46 @@ @RunWith(SpringRunner.class) @SpringBootTest public class AnnotationControllerTest { - MockMvc mvc; - - @Autowired - protected WebApplicationContext wac; - - @Autowired - AnnotationController controller; - - @Before - public void setUp() throws Exception { - InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); - viewResolver.setPrefix("/templates/"); - viewResolver.setSuffix(".html"); - - this.mvc = standaloneSetup(this.controller).setViewResolvers(viewResolver).build(); - } - - @Test - public void getView() throws Exception { - mvc.perform(get("/annotation")).andExpect(status().isOk()).andExpect(view().name("annotation")); - } - - public void loadFileTree() { - } - - public void loadDocumentDescription() { - } - - public void loadDocumentPage() { - } - - public void downloadDocument() { - } - - public void uploadDocument() { - } - - public void textCoordinates() { - } - - public void annotate() { - } +// MockMvc mvc; +// +// @Autowired +// protected WebApplicationContext wac; +// +// @Autowired +// AnnotationController controller; +// +// @Before +// public void setUp() throws Exception { +// InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); +// viewResolver.setPrefix("/templates/"); +// viewResolver.setSuffix(".html"); +// +// this.mvc = standaloneSetup(this.controller).setViewResolvers(viewResolver).build(); +// } +// +// @Test +// public void getView() throws Exception { +// mvc.perform(get("/annotation")).andExpect(status().isOk()).andExpect(view().name("annotation")); +// } +// +// public void loadFileTree() { +// } +// +// public void loadDocumentDescription() { +// } +// +// public void loadDocumentPage() { +// } +// +// public void downloadDocument() { +// } +// +// public void uploadDocument() { +// } +// +// public void textCoordinates() { +// } +// +// public void annotate() { +// } } \ No newline at end of file From fcebacd9f91e221279557bdd8647607facd8c2e5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Jul 2021 15:21:18 +0000 Subject: [PATCH 45/76] Bump commons-io from 2.6 to 2.7 in /Demos/Spring Bumps commons-io from 2.6 to 2.7. --- updated-dependencies: - dependency-name: commons-io:commons-io dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- Demos/Spring/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml index 30b190f..3f32427 100644 --- a/Demos/Spring/pom.xml +++ b/Demos/Spring/pom.xml @@ -143,7 +143,7 @@ commons-io commons-io - 2.6 + 2.7 From b7341bd813dab59e66e5830a6ca0e18ce641fc32 Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik Date: Fri, 20 Aug 2021 20:06:42 +0300 Subject: [PATCH 46/76] Updated @groupdocs.examples.angular/annotation 0.8.54 --- Demos/Dropwizard/client/package.json | 14 +++++++------- Demos/Spring/client/package.json | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Demos/Dropwizard/client/package.json b/Demos/Dropwizard/client/package.json index c262072..be66aa3 100644 --- a/Demos/Dropwizard/client/package.json +++ b/Demos/Dropwizard/client/package.json @@ -36,8 +36,8 @@ "@angular/platform-browser": "^8.2.4", "@angular/platform-browser-dynamic": "^8.2.4", "@angular/router": "^8.2.4", - "@groupdocs.examples.angular/annotation": "^0.6.1", - "@nrwl/angular": "^8.12.2", + "@groupdocs.examples.angular/annotation": "^0.8.54", + "@nrwl/angular": "^8.12.11", "common-components": "^1.0.5", "core-js": "^2.6.11", "rxjs": "~6.4.0", @@ -48,17 +48,17 @@ "@angular/cli": "8.1.1", "@angular/compiler-cli": "^8.2.13", "@angular/language-service": "^8.2.13", - "@nrwl/cypress": "8.4.3", - "@nrwl/jest": "8.4.3", - "@nrwl/workspace": "8.4.3", + "@nrwl/cypress": "8.12.11", + "@nrwl/jest": "8.12.11", + "@nrwl/workspace": "8.12.11", "@types/jest": "24.0.9", "@types/node": "~8.9.4", "codelyzer": "~5.0.1", - "cypress": "~3.3.1", + "cypress": "~3.8.2", "dotenv": "6.2.0", "jest": "24.1.0", "jest-preset-angular": "7.0.0", - "prettier": "1.16.4", + "prettier": "1.18.2", "ts-jest": "24.0.0", "ts-node": "~7.0.0", "tslint": "~5.11.0", diff --git a/Demos/Spring/client/package.json b/Demos/Spring/client/package.json index c262072..be66aa3 100644 --- a/Demos/Spring/client/package.json +++ b/Demos/Spring/client/package.json @@ -36,8 +36,8 @@ "@angular/platform-browser": "^8.2.4", "@angular/platform-browser-dynamic": "^8.2.4", "@angular/router": "^8.2.4", - "@groupdocs.examples.angular/annotation": "^0.6.1", - "@nrwl/angular": "^8.12.2", + "@groupdocs.examples.angular/annotation": "^0.8.54", + "@nrwl/angular": "^8.12.11", "common-components": "^1.0.5", "core-js": "^2.6.11", "rxjs": "~6.4.0", @@ -48,17 +48,17 @@ "@angular/cli": "8.1.1", "@angular/compiler-cli": "^8.2.13", "@angular/language-service": "^8.2.13", - "@nrwl/cypress": "8.4.3", - "@nrwl/jest": "8.4.3", - "@nrwl/workspace": "8.4.3", + "@nrwl/cypress": "8.12.11", + "@nrwl/jest": "8.12.11", + "@nrwl/workspace": "8.12.11", "@types/jest": "24.0.9", "@types/node": "~8.9.4", "codelyzer": "~5.0.1", - "cypress": "~3.3.1", + "cypress": "~3.8.2", "dotenv": "6.2.0", "jest": "24.1.0", "jest-preset-angular": "7.0.0", - "prettier": "1.16.4", + "prettier": "1.18.2", "ts-jest": "24.0.0", "ts-node": "~7.0.0", "tslint": "~5.11.0", From e8bc8e3a45e47166ff6c009af9bcaf129fcc4115 Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik <35294201+vladimir-litvinchik@users.noreply.github.com> Date: Sun, 22 Aug 2021 02:58:11 +0300 Subject: [PATCH 47/76] Updated repository URL to HTTPS Maven is blocking HTTP repositories, make sure that the project can be built with the latest Maven --- Demos/Spring/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml index 3f32427..3e3a0e5 100644 --- a/Demos/Spring/pom.xml +++ b/Demos/Spring/pom.xml @@ -151,7 +151,7 @@ GroupDocsJavaAPI GroupDocs Java API - http://artifact.groupdocs.com/repo/ + https://artifact.groupdocs.com/repo/
    @@ -258,4 +258,4 @@ --> - \ No newline at end of file + From b3b52fc600c89d62efc99225d6ca5ee678bfa825 Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik <35294201+vladimir-litvinchik@users.noreply.github.com> Date: Sun, 22 Aug 2021 03:02:15 +0300 Subject: [PATCH 48/76] Updated repository URL to HTTPS Maven is blocking HTTP repositories, make sure that the project can be built with the latest Maven --- Demos/Dropwizard/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Demos/Dropwizard/pom.xml b/Demos/Dropwizard/pom.xml index ef89d04..639c7c7 100644 --- a/Demos/Dropwizard/pom.xml +++ b/Demos/Dropwizard/pom.xml @@ -238,12 +238,12 @@ com.springsource.repository.bundles.external SpringSource Enterprise Bundle Repository - External Bundle Releases - http://repository.springsource.com/maven/bundles/external + https://repository.springsource.com/maven/bundles/external GroupDocsJavaAPI GroupDocs Java API - http://artifact.groupdocs.com/repo/ + https://artifact.groupdocs.com/repo/ From 6a07f45074eff4dd924aa92573903dfb45cca014 Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik <35294201+vladimir-litvinchik@users.noreply.github.com> Date: Sun, 22 Aug 2021 03:03:59 +0300 Subject: [PATCH 49/76] Updated badges --- Demos/Spring/README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/Demos/Spring/README.md b/Demos/Spring/README.md index 32ee9d9..2866beb 100644 --- a/Demos/Spring/README.md +++ b/Demos/Spring/README.md @@ -2,8 +2,6 @@ # GroupDocs.Annotation for Java Spring Example ###### version 1.12.27 -[![Build Status](https://travis-ci.org/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring.svg?branch=master)](https://travis-ci.org/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) -[![Maintainability](https://api.codeclimate.com/v1/badges/f6de7b4597a02ddb09df/maintainability)](https://codeclimate.com/github/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/maintainability) [![GitHub license](https://img.shields.io/github/license/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring.svg)](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/blob/master/LICENSE) ## System Requirements From 78c12c0713d662faa73de51c9b9a9caf85c467ec Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik <35294201+vladimir-litvinchik@users.noreply.github.com> Date: Sun, 22 Aug 2021 03:04:40 +0300 Subject: [PATCH 50/76] Updated badges --- Demos/Dropwizard/README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/Demos/Dropwizard/README.md b/Demos/Dropwizard/README.md index 5901882..a78dcfb 100644 --- a/Demos/Dropwizard/README.md +++ b/Demos/Dropwizard/README.md @@ -2,8 +2,6 @@ # GroupDocs.Annotation for Java Dropwizard Example ###### version 1.12.24 -[![Build Status](https://travis-ci.org/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard.svg?branch=master)](https://travis-ci.org/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -[![Maintainability](https://api.codeclimate.com/v1/badges/4d0833612964debe5cf8/maintainability)](https://codeclimate.com/github/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/maintainability) [![GitHub license](https://img.shields.io/github/license/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard.svg)](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/blob/master/LICENSE) ## System Requirements From c75e3f2554146954739470ff770ee0c6d00a4c03 Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik <35294201+vladimir-litvinchik@users.noreply.github.com> Date: Sun, 22 Aug 2021 03:09:49 +0300 Subject: [PATCH 51/76] Fixed "Downloading is not working #44" --- .../controller/AnnotationController.java | 36 ++----------------- 1 file changed, 2 insertions(+), 34 deletions(-) diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/controller/AnnotationController.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/controller/AnnotationController.java index b997491..5ec5e73 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/controller/AnnotationController.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/controller/AnnotationController.java @@ -119,7 +119,7 @@ public PageDataDescriptionEntity loadDocumentPage(@RequestBody LoadDocumentPageR * @param documentGuid path to document parameter * @param response http response */ - @RequestMapping(value = "/downloadDocument", method = RequestMethod.GET) + @RequestMapping(value = {"/downloadDocument", "/downloadAnnotated"}, method = RequestMethod.GET) public void downloadDocument(@RequestParam("path") String documentGuid, HttpServletResponse response) { // get document path String fileName = FilenameUtils.getName(documentGuid); @@ -162,38 +162,6 @@ public UploadedDocumentEntity uploadDocument(@Nullable @RequestParam("file") Mul return uploadedDocument; } - /** - * Annotate document with annotations and download result without saving - * - * @param annotateDocumentRequest - * @param response - */ - @RequestMapping(method = RequestMethod.POST, value = "/downloadAnnotated", consumes = APPLICATION_JSON_VALUE) - public void downloadAnnotated(@RequestBody AnnotationPostedDataEntity annotateDocumentRequest, HttpServletResponse response) { -// @Route("annotation/downloadAnnotated") -// public final HttpResponseMessage downloadAnnotated(String path) { - AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); - if (annotationsData == null || annotationsData.length == 0) { - throw new IllegalArgumentException("Annotations data is empty"); - } - - // get document path - String fileName = FilenameUtils.getName(annotateDocumentRequest.getGuid()); - // set response content info - Utils.addFileDownloadHeaders(response, fileName, null); - - long length; - try (InputStream inputStream = annotationService.annotateByStream(annotateDocumentRequest); - ServletOutputStream outputStream = response.getOutputStream()) { - // download the document - length = IOUtils.copyLarge(inputStream, outputStream); - } catch (Exception ex) { - logger.error("Exception in downloading document", ex); - throw new TotalGroupDocsException(ex.getMessage(), ex); - } - Utils.addFileDownloadLengthHeader(response, length); - } - /** * Annotate document * @@ -205,4 +173,4 @@ public void downloadAnnotated(@RequestBody AnnotationPostedDataEntity annotateDo public AnnotatedDocumentEntity annotate(@RequestBody AnnotationPostedDataEntity annotateDocumentRequest) { return annotationService.annotate(annotateDocumentRequest); } -} \ No newline at end of file +} From aeb3d5d945c7390d7b903f58208df1887efced4c Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik <35294201+vladimir-litvinchik@users.noreply.github.com> Date: Sun, 22 Aug 2021 03:28:03 +0300 Subject: [PATCH 52/76] Fixed "Downloading is not working #44" in Dropwizard --- .../resources/AnnotationResources.java | 49 ++++++------------- 1 file changed, 16 insertions(+), 33 deletions(-) diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/resources/AnnotationResources.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/resources/AnnotationResources.java index e2bb921..4ab2b13 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/resources/AnnotationResources.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/resources/AnnotationResources.java @@ -296,6 +296,21 @@ public void downloadDocument(@QueryParam("path") String documentGuid, // download the file downloadFile(response, documentGuid); } + + /** + * Download document + * + * @param documentGuid path to document parameter + * @param response + */ + @GET + @Path(value = "/downloadAnnotated") + @Produces(APPLICATION_OCTET_STREAM) + public void downloadAnnotated(@QueryParam("path") String documentGuid, + @Context HttpServletResponse response) { + // download the file + downloadFile(response, documentGuid); + } /** * Upload document @@ -390,38 +405,6 @@ private List getAnnotationInfos(AnnotateDocumentRequest annotate return annotations; } - /** - * Annotate document with annotations and download result without saving - * - * @return annotated document info - */ - @POST - @Path(value = "/downloadAnnotated") - @Consumes(APPLICATION_JSON) - public void downloadAnnotated(AnnotateDocumentRequest annotateDocumentRequest, @Context HttpServletResponse response) { - AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); - if (annotationsData == null || annotationsData.length == 0) { - throw new IllegalArgumentException("Annotations data is empty"); - } - - // get document path - String fileName = FilenameUtils.getName(annotateDocumentRequest.getGuid()); - // set response content info - fillResponseHeaderDisposition(response, fileName); - - long length; - try (InputStream inputStream = annotateByStream(annotateDocumentRequest); - ServletOutputStream outputStream = response.getOutputStream()) { - // download the document - length = IOUtils.copyLarge(inputStream, outputStream); - } catch (Exception ex) { - logger.error("Exception in downloading document", ex); - throw new TotalGroupDocsException(ex.getMessage(), ex); - } - - addFileDownloadHeaders(response, fileName, length); - } - private InputStream annotateByStream(AnnotateDocumentRequest annotateDocumentRequest) { String documentGuid = annotateDocumentRequest.getGuid(); String documentType = getCheckedDocumentType(annotateDocumentRequest.getDocumentType(), FilenameUtils.getExtension(documentGuid)); @@ -479,4 +462,4 @@ private AnnotationInfo[] getAnnotations(String documentGuid, String documentType } } -} \ No newline at end of file +} From 865ee6fa9db204ca6920a88e199c8b0434314a2d Mon Sep 17 00:00:00 2001 From: Alexander Tyutyunnyk Date: Tue, 31 Aug 2021 18:33:50 +0300 Subject: [PATCH 53/76] Update Spring version --- .../service/AnnotationServiceImpl.java | 97 ++++--------------- 1 file changed, 20 insertions(+), 77 deletions(-) diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java index 0cf8ae5..8fe541b 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java @@ -131,7 +131,6 @@ public AnnotatedDocumentEntity getDocumentDescription(LoadDocumentRequest loadDo return loadDocument( loadDocumentRequest, annotationConfiguration.getPreloadPageCount() == 0 - //globalConfiguration.getAnnotationConfiguration().getPreloadPageCount() == 0 ); } catch (Throwable ex) { throw new TotalGroupDocsException(ex); @@ -166,7 +165,7 @@ public final AnnotatedDocumentEntity loadDocument(LoadDocumentRequest loadDocume List pagesContent = new ArrayList<>(); if (loadAllPages) { - pagesContent = getAllPagesContent(password, guid, info); //documentGuid => guid + pagesContent = getAllPagesContent(password, guid, info); } for (int i = 0; i < info.getPageCount(); i++) { @@ -190,48 +189,18 @@ public final AnnotatedDocumentEntity loadDocument(LoadDocumentRequest loadDocume } } - description.setGuid(guid); //documentGuid => guid + description.setGuid(guid); // return document description return description; } - public static String getStringFromStream(InputStream inputStream) throws IOException { -// inputStream.reset(); -// inputStream.skip(0); -// -// byte[] imageRaw = null; -// ByteArrayOutputStream out = new ByteArrayOutputStream(); -// int c; -// while ((c = inputStream.read()) != -1) { -// out.write(c); -// } -// out.flush(); -// imageRaw = out.toByteArray(); -// -// String result = Base64.getEncoder().encodeToString(imageRaw); - - //Base64.encodeToString(imageRaw, Base64.DEFAULT); - - //---- - + public static String getStringFromStream(InputStream inputStream) throws IOException { inputStream.reset(); inputStream.skip(0); byte[] bytes = IOUtils.toByteArray(inputStream); // encode ByteArray into String return Base64.getEncoder().encodeToString(bytes); - -// byte[] buffer = new byte[inputStream.available()]; -// inputStream.read(buffer); -// -// return Base64.getEncoder().encodeToString(buffer); - -// java.io.File targetFile = new java.io.File("C:\\Users\\AlexT\\Desktop\\java-answers\\ConsoleApp1/targetFile.tmp"); -// java.io.OutputStream outStream = new java.io.FileOutputStream(targetFile); -// outStream.write(buffer); - -// return result;//new String(buffer);//, StandardCharsets.UTF_8); - //return new String(IOUtils.toByteArray(inputStream), StandardCharsets.UTF_8); } @Override @@ -263,12 +232,6 @@ public PageDataDescriptionEntity getDocumentPage(LoadDocumentPageRequest loadDoc } } -// InputStream finput = new FileInputStream(file); -// byte[] imageBytes = new byte[(int)file.length()]; -// finput.read(imageBytes, 0, imageBytes.length); -// finput.close(); -// String imageStr = Base64.encodeBase64String(imageBytes); - IDocumentInfo info = annotator.getDocument().getDocumentInfo(); List annotations = annotator.get(); @@ -297,12 +260,12 @@ public PageDataDescriptionEntity getDocumentPage(LoadDocumentPageRequest loadDoc private static OutputStream renderPageToMemoryStream(int pageNumberToRender, String documentGuid, String password) { try { - OutputStream result = new ByteArrayOutputStream(); // MemoryStream => OutputStream - InputStream inputStream = new FileInputStream(documentGuid); //final FileStream outputStream = File.openRead(documentGuid); + OutputStream result = new ByteArrayOutputStream(); + InputStream inputStream = new FileInputStream(documentGuid); try { final Annotator annotator = new Annotator(inputStream, getLoadOptions(password)); try { - PreviewOptions previewOptions = new PreviewOptions( //PreviewOptions previewOptions = new PreviewOptions((pageNumber) = > result); + PreviewOptions previewOptions = new PreviewOptions( new CreatePageStream() { @Override public OutputStream invoke(int pageNumber) { @@ -328,7 +291,7 @@ public OutputStream invoke(int pageNumber) { return result; } catch (Exception ex) { throw new TotalGroupDocsException(ex); - } + } } private static LoadOptions getLoadOptions(String password) { @@ -360,8 +323,7 @@ public AnnotatedDocumentEntity annotate(AnnotationPostedDataEntity annotateDocum // get/set parameters String documentGuid = annotateDocumentRequest.getGuid(); String password = annotateDocumentRequest.getPassword(); - - //String documentType1 = DocumentTypesConverter.checkedDocumentType(documentGuid, annotateDocumentRequest.getDocumentType()); + String documentType = SupportedImageFormats.contains( FilenameUtils.getExtension(annotateDocumentRequest.getGuid()) ) ? "image" : annotateDocumentRequest.getDocumentType(); @@ -510,13 +472,6 @@ public static void removeAnnotations(String documentGuid, String password) { InputStream inputStream1 = new FileInputStream(tempPath); IOUtils.copyLarge(inputStream1, fileStream); } - -// Files.copy(Paths.get(tempPath), Paths.get(documentGuid)); - -// Files.deleteIfExists(Paths.get(documentGuid)); -// Files.move(Paths.get(tempPath), Paths.get(documentGuid)); -// Files.copy(Paths.get(tempPath), Paths.get(documentGuid), StandardCopyOption.REPLACE_EXISTING); - } catch (Exception ex) { throw new TotalGroupDocsException(ex.getMessage(), ex); } @@ -543,33 +498,22 @@ private String getText1(String tempPath) { private List getAllPagesContent(String password, String documentGuid, IDocumentInfo pages) { List allPages = new ArrayList<>(); -// //get page HTML -// renderPageToMemoryStream(pages.getPageCount(), documentGuid, password); -// for (int i = 0; i < pages.getPageCount(); i++) { -// byte[] bytes = annotationPageDescriptionEntityList.get(i).getData().getBytes(); // getData() -// allPages.add(Base64.getEncoder().encodeToString(bytes)); -// -//// allPages.add(annotationPageDescriptionEntityList.get(i).toString()); -//// allPages.add(annotationPageDescriptionEntityList.get(i).getData()); -// } - - for (int i = 0; i < pages.getPageCount(); i++) { - byte[] bytes; - try (OutputStream memoryStream = renderPageToMemoryStream(i + 1, documentGuid, password)) { - ByteArrayOutputStream bos = (ByteArrayOutputStream) memoryStream; - bytes = bos.toByteArray(); //memoryStream.ToArray(); - } catch (IOException ex) { - throw new TotalGroupDocsException(ex.getMessage(), ex); - } - - String encodedImage = new String(Base64.getEncoder().encode(bytes)); //Convert.ToBase64String(bytes); - allPages.add(encodedImage); + for (int i = 0; i < pages.getPageCount(); i++) { + byte[] bytes; + try (OutputStream memoryStream = renderPageToMemoryStream(i + 1, documentGuid, password)) { + ByteArrayOutputStream bos = (ByteArrayOutputStream) memoryStream; + bytes = bos.toByteArray(); + } catch (IOException ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); } + String encodedImage = new String(Base64.getEncoder().encode(bytes)); + allPages.add(encodedImage); + } + return allPages; } - -//------------------------------------------ + public List getAnnotationInfos(AnnotationPostedDataEntity annotateDocumentRequest, String documentType) { try { AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); @@ -583,7 +527,6 @@ public List getAnnotationInfos(AnnotationPostedDataEntity annota PageInfo pageInfo = new PageInfo(); pageInfo.setHeight((int) pageData.getHeight()); - //pageInfo.setPageNumber(pageData.getNumber()); pageInfo.setWidth((int) pageData.getWidth()); try { From e9fcc042ce646a5398992b6d546aaa56264665ee Mon Sep 17 00:00:00 2001 From: Alexander Tyutyunnyk Date: Tue, 31 Aug 2021 18:39:18 +0300 Subject: [PATCH 54/76] Check st --- Demos/Spring/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Demos/Spring/README.md b/Demos/Spring/README.md index 2866beb..4556e02 100644 --- a/Demos/Spring/README.md +++ b/Demos/Spring/README.md @@ -8,7 +8,6 @@ - Java 8 (JDK 1.8) - Maven 3 - ## Annotate & write on document with Java Spring **GroupDocs.Annotations for Java** is a powerful library that provides flexible API which allows you to **annotate PDF**, DOCX, PPT, XLS, and over 90 document formats without external dependencies and/or additional document conversions such us (DOCX to PDF or PPT to PDF). With GroupDocs.Annotation API you can write on documents using various annotation tools such as arrow annotation, text annotation or even draw on a document with help of freehand annotation drawing tool. From 72a3efe90692d6f9c9dd9aab9435d3986d13cdc1 Mon Sep 17 00:00:00 2001 From: Alexander Tyutyunnyk Date: Thu, 2 Sep 2021 12:54:49 +0300 Subject: [PATCH 55/76] Update Dropwizard to version 21.7 --- Demos/Dropwizard/pom.xml | 2 +- .../annotator/AbstractBoxAnnotator.java | 46 -- .../annotator/AbstractSvgAnnotator.java | 76 --- .../annotator/AbstractTextAnnotator.java | 38 +- .../ui/annotation/annotator/Annotator.java | 188 ------ .../annotator/AnnotatorFactory.java | 67 ++- .../annotation/annotator/AreaAnnotator.java | 59 +- .../annotation/annotator/ArrowAnnotator.java | 90 +-- .../annotation/annotator/BaseAnnotator.java | 225 +++++++ .../annotator/DistanceAnnotator.java | 96 +-- .../annotation/annotator/PointAnnotator.java | 61 +- .../annotator/PolylineAnnotator.java | 87 ++- .../annotator/ResourceRedactionAnnotator.java | 63 +- .../annotator/TexStrikeoutAnnotator.java | 68 --- .../annotator/TexUnderlineAnnotator.java | 71 --- .../annotation/annotator/TextAnnotator.java | 78 --- .../annotator/TextFieldAnnotator.java | 69 +-- .../annotator/TextHighlightAnnotator.java | 57 ++ .../annotator/TextRedactionAnnotator.java | 50 +- .../annotator/TextReplacementAnnotator.java | 78 +-- .../annotator/TextStrikeoutAnnotator.java | 58 ++ .../annotator/TextUnderlineAnnotator.java | 60 ++ .../annotator/WatermarkAnnotator.java | 64 +- .../entity/request/PostedDataEntity.java | 183 ++++++ .../entity/web/AnnotatedDocumentEntity.java | 9 +- .../entity/web/AnnotationDataEntity.java | 24 +- .../web/AnnotationPageDescriptionEntity.java | 20 - .../web/AnnotationPostedDataEntity.java | 42 ++ .../entity/web/PageDataDescriptionEntity.java | 26 + .../entity/web/PageDescriptionEntity.java | 61 ++ .../ui/annotation/importer/Importer.java | 38 -- .../resources/AnnotationResources.java | 344 ++--------- .../annotation/service/AnnotationService.java | 72 +++ .../service/AnnotationServiceImpl.java | 555 ++++++++++++++++++ .../ui/annotation/util/AnnotationMapper.java | 160 +++-- .../util/DocumentTypesConverter.java | 38 +- .../annotation/util/SupportedAnnotations.java | 2 + .../com/groupdocs/ui/common/util/Utils.java | 152 +++++ .../util/comparator/FileDateComparator.java | 36 ++ .../util/comparator/FileNameComparator.java | 27 + .../util/comparator/FileTypeComparator.java | 34 ++ 41 files changed, 2159 insertions(+), 1415 deletions(-) delete mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java delete mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java delete mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/BaseAnnotator.java delete mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java delete mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java delete mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/request/PostedDataEntity.java delete mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPostedDataEntity.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/PageDataDescriptionEntity.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/PageDescriptionEntity.java delete mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationService.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/Utils.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/comparator/FileDateComparator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/comparator/FileNameComparator.java create mode 100644 Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/comparator/FileTypeComparator.java diff --git a/Demos/Dropwizard/pom.xml b/Demos/Dropwizard/pom.xml index 639c7c7..dc7521f 100644 --- a/Demos/Dropwizard/pom.xml +++ b/Demos/Dropwizard/pom.xml @@ -81,7 +81,7 @@ com.groupdocs groupdocs-annotation - 19.7 + 21.7 javax.xml.bind diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java deleted file mode 100644 index 37a6ccc..0000000 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractBoxAnnotator.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.groupdocs.ui.annotation.annotator; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Point; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; - -import java.text.ParseException; - -public abstract class AbstractBoxAnnotator extends Annotator { - - public AbstractBoxAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } - - @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo annotationInfo = super.initAnnotationInfo(); - // set draw annotation properties - Rectangle box = annotationInfo.getBox(); - StringBuilder builder = new StringBuilder(). - append("M").append(box.getX()). - append(",").append(box.getY()). - append("L").append(box.getWidth()). - append(",").append(box.getHeight()); - annotationInfo.setSvgPath(builder.toString()); - // set annotation position - annotationInfo.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - return annotationInfo; - } - - @Override - protected Rectangle getBox() { - String svgPath = annotationData.getSvgPath(); - String startPoint = svgPath.replaceAll("[a-zA-Z]+", "").split(" ")[0]; - String endPoint = svgPath.replaceAll("[a-zA-Z]+", "").split(" ")[1]; - String[] start = startPoint.split(","); - double startX = Double.parseDouble(start.length > 0 ? start[0] : "0"); - double startY = Double.parseDouble(start.length > 1 ? start[1] : "0"); - String[] end = endPoint.split(","); - double endX = Double.parseDouble(end.length > 0 ? end[0] : "0") - startX; - double endY = Double.parseDouble(end.length > 1 ? end[1] : "0") - startY; - return new Rectangle(startX, startY, endX, endY); - } -} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java deleted file mode 100644 index 4dfcbaa..0000000 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractSvgAnnotator.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.groupdocs.ui.annotation.annotator; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; - -import java.text.ParseException; - -public abstract class AbstractSvgAnnotator extends Annotator { - - public AbstractSvgAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } - - @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo annotationInfo = super.initAnnotationInfo(); - // set draw annotation properties - annotationInfo.setSvgPath(buildSvgPath()); - return annotationInfo; - } - - /** - * Use this method for fixing box coordinates if needed - * - * @param annotationInfo - */ - protected void fixBox(AnnotationInfo annotationInfo) { - double topPosition = pageData.getHeight() - annotationData.getTop(); - annotationInfo.getBox().setY((float) topPosition); - } - - /** - * Calculate svg position - * - * @return - */ - protected String buildSvgPath() { - // we use such calculation since the GroupDocs.Annotation library takes text line position from the bottom of the page - double topPosition = pageData.getHeight() - annotationData.getTop(); - // calculation of the X-shift - double topRightX = annotationData.getLeft() + annotationData.getWidth(); - // calculation of the Y-shift - double bottomRightY = topPosition - annotationData.getHeight(); - return getSvgString(topPosition, annotationData.getLeft(), topRightX, bottomRightY); - } - - /** - * Build svg string - * - * @param top top position - * @param left left position - * @param right right position - * @param bottom bottom position - * @return - */ - protected String getSvgString(double top, double left, double right, double bottom) { - return new StringBuilder(). - append("[{\"x\":").append(left). - append(",\"y\":").append(top). - append("},{\"x\":").append(right). - append(",\"y\":").append(top). - append("},{\"x\":").append(left). - append(",\"y\":").append(bottom). - append("},{\"x\":").append(right). - append(",\"y\":").append(bottom). - append("}]").toString(); - } - - @Override - protected Rectangle getBox() { - return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); - } - -} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java index ed339c2..879e4fd 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java @@ -1,31 +1,23 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.Point; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; -import org.apache.commons.lang3.StringUtils; +import java.util.ArrayList; +import java.util.List; -import java.text.ParseException; +public abstract class AbstractTextAnnotator extends BaseAnnotator { -public abstract class AbstractTextAnnotator extends Annotator { - - public AbstractTextAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } - - @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo annotationInfo = super.initAnnotationInfo(); - annotationInfo.setFieldText(annotationData.getText()); - annotationInfo.setFontFamily(StringUtils.capitalize(annotationData.getFont())); - annotationInfo.setFontSize(annotationData.getFontSize()); - annotationInfo.setFontColor(annotationData.getFontColor()); - return annotationInfo; + protected AbstractTextAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); } - @Override - protected Rectangle getBox() { - return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + protected static java.util.List getPoints(AnnotationDataEntity annotationData, PageInfo pageInfo) { + List tmp0 = new ArrayList<>(); + tmp0.add(new Point(annotationData.getLeft(), pageInfo.getHeight() - annotationData.getTop())); + tmp0.add(new Point(annotationData.getLeft()+ annotationData.getWidth(), pageInfo.getHeight() - annotationData.getTop())); + tmp0.add(new Point(annotationData.getLeft(), pageInfo.getHeight() - annotationData.getTop()- annotationData.getHeight())); + tmp0.add(new Point(annotationData.getLeft()+ annotationData.getWidth(), pageInfo.getHeight() - annotationData.getTop()- annotationData.getHeight())); + return tmp0; } -} +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java deleted file mode 100644 index 6223499..0000000 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/Annotator.java +++ /dev/null @@ -1,188 +0,0 @@ -package com.groupdocs.ui.annotation.annotator; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationReplyInfo; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Rectangle; -import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; -import com.groupdocs.ui.annotation.entity.web.CommentsEntity; -import com.groupdocs.ui.common.exception.TotalGroupDocsException; - -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Locale; -import java.util.TimeZone; - -/** - * Annotator - * Abstract class contains general description for the annotating functionality - * - * @author Aspose Pty Ltd - */ -public abstract class Annotator { - - public static final String MESSAGE = "Annotation of type %s for this file type is not supported"; - - protected AnnotationDataEntity annotationData; - protected PageData pageData; - - /** - * Constructor - * - * @param annotationData - * @param pageData - */ - public Annotator(AnnotationDataEntity annotationData, PageData pageData) { - this.annotationData = annotationData; - this.pageData = pageData; - } - - /** - * Add area annotation into the Word document - * - * @return - * @throws UnsupportedOperationException Word document doesn't supported for the current annotation type - * @throws ParseException the date cannot be parsed - */ - public abstract AnnotationInfo annotateWord() throws UnsupportedOperationException, ParseException; - - /** - * Add area annotation into the pdf document - * - * @return - * @throws UnsupportedOperationException pdf document doesn't supported for the current annotation type - * @throws ParseException the date cannot be parsed - */ - public abstract AnnotationInfo annotatePdf() throws UnsupportedOperationException, ParseException; - - /** - * Add area annotation into the Excel document - * - * @return - * @throws UnsupportedOperationException the Excel document don't supported for the current annotation type - * @throws ParseException the date cannot be parsed - */ - public abstract AnnotationInfo annotateCells() throws UnsupportedOperationException, ParseException; - - /** - * Add area annotation into the Power Point document - * - * @return - * @throws UnsupportedOperationException the Power Point document doesn't supported for the current annotation type - * @throws ParseException the date cannot be parsed - */ - public abstract AnnotationInfo annotateSlides() throws UnsupportedOperationException, ParseException; - - /** - * Add area annotation into the image document - * - * @return - * @throws UnsupportedOperationException image doesn't supported for the current annotation type - * @throws ParseException the date cannot be parsed - */ - public abstract AnnotationInfo annotateImage() throws UnsupportedOperationException, ParseException; - - /** - * Add area annotation into the document - * - * @return - * @throws UnsupportedOperationException diagram document doesn't supported for the current annotation type - * @throws ParseException the date cannot be parsed - */ - public abstract AnnotationInfo annotateDiagram() throws UnsupportedOperationException, ParseException; - - /** - * Initial for annotation info - * - * @return annotation info - * @throws ParseException the date cannot be parsed - */ - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo areaAnnotation = new AnnotationInfo(); - // draw annotation options - areaAnnotation.setBox(getBox()); - // set page number to add annotation - areaAnnotation.setPageNumber(annotationData.getPageNumber() - 1); - // set annotation type - areaAnnotation.setType(getType()); - // add replies - CommentsEntity[] comments = annotationData.getComments(); - if (comments != null && comments.length != 0) { - AnnotationReplyInfo[] replies = new AnnotationReplyInfo[comments.length]; - for (int i = 0; i < comments.length; i++) { - AnnotationReplyInfo reply = getAnnotationReplyInfo(comments[i]); - replies[i] = reply; - } - areaAnnotation.setReplies(replies); - } - return areaAnnotation; - } - - /** - * Initial for reply annotation info - * - * @param comment annotation comment - * @return annotation reply info - * @throws ParseException the date cannot be parsed - */ - protected AnnotationReplyInfo getAnnotationReplyInfo(CommentsEntity comment) throws ParseException { - AnnotationReplyInfo reply = new AnnotationReplyInfo(); - reply.setMessage(comment.getText()); - DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); - format.setTimeZone(TimeZone.getTimeZone("GMT")); - Date date; - try { - date = new Date(Long.parseLong(comment.getTime())); - } catch (Exception e) { - try { - date = format.parse(comment.getTime()); - } catch (Exception exc) { - format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); - date = format.parse(comment.getTime()); - } - } - reply.setRepliedOn(date); - reply.setUserName(comment.getUserName()); - return reply; - } - - /** - * Get rectangle - * - * @return box - */ - protected abstract Rectangle getBox(); - - /** - * Get type of annotation - * - * @return annotation type - */ - protected abstract byte getType(); - - /** - * Get Annotation info depending on document type - * - * @throws ParseException the date cannot be parsed - */ - public AnnotationInfo getAnnotationInfo(String documentType) throws ParseException { - switch (documentType) { - case "Portable Document Format": - return annotatePdf(); - case "Microsoft Word": - return annotateWord(); - case "Microsoft PowerPoint": - return annotateSlides(); - case "image": - return annotateImage(); - case "Microsoft Excel": - return annotateCells(); - case "AutoCAD Drawing File Format": - return annotateDiagram(); - default: - throw new TotalGroupDocsException("Wrong annotation data without document type!"); - } - } -} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java index d113c86..08d4a84 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AnnotatorFactory.java @@ -1,51 +1,60 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.PageData; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.annotation.models.PageInfo; import com.groupdocs.ui.common.exception.TotalGroupDocsException; -/** - * Creator for annotator instances - */ public class AnnotatorFactory { /** + *

    * Create annotator instance depending on type of annotation + *

    * - * @param annotationData annotation - * @param pageData document - * @return annotator instance + * @return + * @param annotationData AnnotationDataEntity + * @param pageInfo PageInfo */ - public static Annotator createAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - switch (annotationData.getType()) { + public static BaseAnnotator createAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + AnnotationDataEntity roundedAnnotationData = roundCoordinates(annotationData); + switch (roundedAnnotationData.getType().toLowerCase()) { // addev .toLowerCase() case "text": - return new TextAnnotator(annotationData, pageData); + case "texthighlight": //textHighlight + return new TextHighlightAnnotator(roundedAnnotationData, pageInfo); case "area": - return new AreaAnnotator(annotationData, pageData); + return new AreaAnnotator(roundedAnnotationData, pageInfo); case "point": - return new PointAnnotator(annotationData, pageData); - case "textStrikeout": - return new TexStrikeoutAnnotator(annotationData, pageData); + return new PointAnnotator(roundedAnnotationData, pageInfo); + case "textstrikeout": //textStrikeout + return new TextStrikeoutAnnotator(roundedAnnotationData, pageInfo); case "polyline": - return new PolylineAnnotator(annotationData, pageData); - case "textField": - return new TextFieldAnnotator(annotationData, pageData); + return new PolylineAnnotator(roundedAnnotationData, pageInfo); + case "textfield": //textField + return new TextFieldAnnotator(roundedAnnotationData, pageInfo); case "watermark": - return new WatermarkAnnotator(annotationData, pageData); - case "textReplacement": - return new TextReplacementAnnotator(annotationData, pageData); + return new WatermarkAnnotator(roundedAnnotationData, pageInfo); + case "textreplacement": //textReplacement + return new TextReplacementAnnotator(roundedAnnotationData, pageInfo); case "arrow": - return new ArrowAnnotator(annotationData, pageData); - case "textRedaction": - return new TextRedactionAnnotator(annotationData, pageData); - case "resourcesRedaction": - return new ResourceRedactionAnnotator(annotationData, pageData); - case "textUnderline": - return new TexUnderlineAnnotator(annotationData, pageData); + return new ArrowAnnotator(roundedAnnotationData, pageInfo); + case "textredaction": //textRedaction + return new TextRedactionAnnotator(roundedAnnotationData, pageInfo); + case "resourcesredaction": //resourcesRedaction + return new ResourceRedactionAnnotator(roundedAnnotationData, pageInfo); + case "textunderline": //textUnderline + return new TextUnderlineAnnotator(roundedAnnotationData, pageInfo); case "distance": - return new DistanceAnnotator(annotationData, pageData); + return new DistanceAnnotator(roundedAnnotationData, pageInfo); default: throw new TotalGroupDocsException("Wrong annotation data without annotation type!"); } } -} + + private static AnnotationDataEntity roundCoordinates(AnnotationDataEntity annotationData) { + annotationData.setHeight((float) Math.round(annotationData.getHeight())); + annotationData.setLeft((float) Math.round(annotationData.getLeft())); + annotationData.setTop((float) Math.round(annotationData.getTop())); + annotationData.setWidth((float) Math.round(annotationData.getWidth())); + return annotationData; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java index 63ca156..0e89848 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java @@ -1,64 +1,55 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.*; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; -import java.text.ParseException; +public class AreaAnnotator extends BaseAnnotator { -/** - * AreaAnnotator - * Annotates documents with the area annotation - * - * @author Aspose Pty Ltd - */ -public class AreaAnnotator extends Annotator { + private AreaAnnotation areaAnnotation; - public AreaAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } + public AreaAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); - @Override - public AnnotationInfo annotateWord() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + areaAnnotation = new AreaAnnotation(); + areaAnnotation.setBox(getBox()); } @Override - public AnnotationInfo annotatePdf() throws ParseException { - // initiate AnnotationInfo object - AnnotationInfo areaAnnotation = initAnnotationInfo(); - // set annotation X, Y position - areaAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - // add replies + public AnnotationBase annotateWord() { + areaAnnotation = (AreaAnnotation) initAnnotationBase(areaAnnotation); return areaAnnotation; } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() throws ParseException { - return initAnnotationInfo(); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateImage() throws ParseException { - return initAnnotationInfo(); + public AnnotationBase annotateSlides() { + return annotateWord(); } @Override - public AnnotationInfo annotateDiagram() throws ParseException { - return initAnnotationInfo(); + public AnnotationBase annotateImage() { + return annotateWord(); } @Override - protected byte getType() { - return AnnotationType.Area; + public AnnotationBase annotateDiagram() { + return annotateWord(); } @Override - protected Rectangle getBox() { - return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + protected int getType() { + return AnnotationType.Area; } -} \ No newline at end of file +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java index 0b0aa0e..550f9e7 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java @@ -1,86 +1,90 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationReplyInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.ArrowAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; import com.groupdocs.ui.annotation.entity.web.CommentsEntity; -import java.text.ParseException; - -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class ArrowAnnotator extends AbstractBoxAnnotator { +public class ArrowAnnotator extends BaseAnnotator { private boolean withGuid = false; + private ArrowAnnotation arrowAnnotation; + + public ArrowAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); - public ArrowAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); + this.arrowAnnotation = new ArrowAnnotation(); + this.arrowAnnotation.setBox(getBox()); } @Override - public AnnotationInfo annotateWord() throws ParseException { + public AnnotationBase annotateWord() { withGuid = false; - AnnotationInfo arrowAnnotation = initAnnotationInfo(); + arrowAnnotation = (ArrowAnnotation) initAnnotationBase(arrowAnnotation); return arrowAnnotation; } @Override - public AnnotationInfo annotatePdf() throws ParseException { - withGuid = false; - AnnotationInfo arrowAnnotation = initAnnotationInfo(); - return arrowAnnotation; + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() throws ParseException { + public AnnotationBase annotateSlides() { withGuid = true; - // init annotation object - AnnotationInfo arrowAnnotation = initAnnotationInfo(); - arrowAnnotation.setBackgroundColor(15988609); + arrowAnnotation = (ArrowAnnotation) initAnnotationBase(arrowAnnotation); return arrowAnnotation; } @Override - public AnnotationInfo annotateImage() throws ParseException { - withGuid = false; - // init annotation object - AnnotationInfo arrowAnnotation = initAnnotationInfo(); - arrowAnnotation.setBackgroundColor(-15988609); - return arrowAnnotation; + public AnnotationBase annotateImage() { + return annotateWord(); } @Override - public AnnotationInfo annotateDiagram() throws ParseException { - withGuid = false; - // init annotation object - AnnotationInfo arrowAnnotation = initAnnotationInfo(); - arrowAnnotation.setBackgroundColor(15988609); - return arrowAnnotation; + public AnnotationBase annotateDiagram() { + return annotateWord(); } @Override - protected AnnotationReplyInfo getAnnotationReplyInfo(CommentsEntity comment) throws ParseException { - AnnotationReplyInfo annotationReplyInfo = super.getAnnotationReplyInfo(comment); + protected Reply getAnnotationReplyInfo(CommentsEntity comment) { + Reply annotationReplyInfo = super.getAnnotationReplyInfo(comment); if (withGuid) { - annotationReplyInfo.setParentReplyGuid(String.valueOf(annotationData.getId())); + annotationReplyInfo.setParentReply(new Reply()); + annotationReplyInfo.getParentReply().setId(annotationData.getId()); } return annotationReplyInfo; } @Override - protected byte getType() { + protected int getType() { return AnnotationType.Arrow; } + @Override + protected Rectangle getBox() { + String svgPath = annotationData.getSvgPath(); + + String startPoint = svgPath.replace("[a-zA-Z]+", "").split(" ")[0]; + String endPoint = svgPath.replace("[a-zA-Z]+", "").split(" ")[1]; + + String[] start = startPoint.split(","); + float startX = Float.parseFloat(start.length > 0 ? start[0].replace("M", "").replace(",", ".") : "0"); + float startY = Float.parseFloat(start.length > 0 ? start[1].replace("M", "").replace(",", ".") : "0"); + + String[] end = endPoint.split(","); + float endX = Float.parseFloat(end.length > 0 ? end[0].replace("L", "").replace(",", ".") : "0") - startX; + float endY = Float.parseFloat(end.length > 1 ? end[1].replace("L", "").replace(",", ".") : "0") - startY; + + return new Rectangle(startX, startY, endX, endY); + } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/BaseAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/BaseAnnotator.java new file mode 100644 index 0000000..7bc2c5e --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/BaseAnnotator.java @@ -0,0 +1,225 @@ +package com.groupdocs.ui.annotation.annotator; + + +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.User; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.CommentsEntity; +import com.groupdocs.ui.common.exception.TotalGroupDocsException; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.time.Instant; +import java.util.ArrayList; +import java.util.Locale; +import java.util.TimeZone; + +/** + *

    + * BaseSigner + *

    + */ +public abstract class BaseAnnotator { + + public String Message = "Annotation of type {0} for this file type is not supported"; + protected AnnotationDataEntity annotationData; + protected PageInfo pageInfo; + + /** + *

    + * Constructor + *

    + * + * @param annotationData + * @param pageInfo + */ + protected BaseAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + this.annotationData = annotationData; + this.pageInfo = pageInfo; + } + + /** + *

    + * Add area annotation into the Word document + *

    + * + * @return AnnotationBase + */ + public abstract AnnotationBase annotateWord(); + + /** + *

    + * Add area annotation into the pdf document + *

    + * + * @return AnnotationBase + */ + public abstract AnnotationBase annotatePdf(); + + ///// + ///// Add area annotation into the Excel document + ///// + ///// AnnotationBase + public abstract AnnotationBase annotateCells(); + + /** + *

    + * Add area annotation into the Power Point document + *

    + * + * @return AnnotationBase + */ + public abstract AnnotationBase annotateSlides(); + + /** + *

    + * Add area annotation into the image document + *

    + * + * @return AnnotationBase + */ + public abstract AnnotationBase annotateImage(); + + /** + *

    + * Add area annotation into the document + *

    + * + * @return AnnotationBase + */ + public abstract AnnotationBase annotateDiagram(); + + /** + *

    + * Initial for annotation info + *

    + * + * @param annotationBase + * @return AnnotationBase + */ + protected final AnnotationBase initAnnotationBase(AnnotationBase annotationBase) { + // set page number to add annotation + annotationBase.setPageNumber(annotationData.getPageNumber() - 1); + // set annotation type + annotationBase.setType(getType()); + annotationBase.setCreatedOn(Date.from(Instant.now())); + annotationBase.setId(annotationData.getId()); + // add replies + CommentsEntity[] comments = annotationData.getComments(); + if (comments != null && comments.length != 0) { + java.util.List replies = new ArrayList<>(); + for (int i = 0; i < comments.length; i++) { + Reply reply = getAnnotationReplyInfo(comments[i]); + replies.add(reply); + } + annotationBase.setReplies(replies); + } + return annotationBase; + } + + /** + *

    + * Initial for reply annotation info + *

    + * + * @return AnnotationReplyInfo + * @param comment CommentsEntity + */ + protected Reply getAnnotationReplyInfo(CommentsEntity comment) { + Reply reply = new Reply(); + reply.setComment(comment.getText()); + DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); + format.setTimeZone(TimeZone.getTimeZone("GMT")); + Date date; + try { + date = new Date(Long.parseLong(comment.getTime())); + } catch (Exception e) { + try { + date = format.parse(comment.getTime()); + } catch (Exception exc) { + format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); + try { + date = format.parse(comment.getTime()); + } catch (ParseException ex) { + throw new TotalGroupDocsException(ex.getMessage()); + } + } + } + reply.setRepliedOn(date); + reply.setUser(new User()); + reply.getUser().setName(comment.getUserName()); + return reply; + } + + /** + *

    + * Get rectangle + *

    + * + * @return Rectangle + */ + protected Rectangle getBox() { + return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + } + + /** + *

    + * Get type of annotation + *

    + * + * @return byte + */ + protected abstract int getType(); + + /** + *

    + * Get Annotation info depending on document type + *

    + * + * @return AnnotationBase + * @param documentType string + */ + public final AnnotationBase getAnnotationBase(String documentType) { + switch (documentType) { + case "Portable Document Format": + return annotatePdf(); + case "Microsoft Word": + case "Open Document Text": + return annotateWord(); + case "Rich Text Format": + return annotateWord(); + case "Microsoft PowerPoint": + return annotateSlides(); + case "image": + return annotateImage(); + case "Microsoft Excel": + return annotateCells(); + case "AutoCAD Drawing File Format": + return annotateDiagram(); + default: + throw new TotalGroupDocsException("Wrong annotation data without document type!"); + } + } + + /** + *

    + * Check if the current annotatin is supported + *

    + * + * @return + * @param documentType string + */ + public final boolean isSupported(String documentType) { + try { + AnnotatorFactory.createAnnotator(annotationData, pageInfo).getAnnotationBase(documentType); + return true; + } catch (java.lang.UnsupportedOperationException e) { + Message += annotationData.getType(); + return false; + } + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java index 0c4b843..a51cfee 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java @@ -1,84 +1,92 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationReplyInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.DistanceAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; import com.groupdocs.ui.annotation.entity.web.CommentsEntity; -import java.text.ParseException; +public class DistanceAnnotator extends BaseAnnotator { -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class DistanceAnnotator extends AbstractBoxAnnotator { + private DistanceAnnotation distanceAnnotation; - public DistanceAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); + public DistanceAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + distanceAnnotation = new DistanceAnnotation(); + distanceAnnotation.setBox(getBox()); } @Override - public AnnotationInfo annotateWord() throws ParseException { - AnnotationInfo distanceAnnotation = initAnnotationInfo(); + public AnnotationBase annotateWord() { + distanceAnnotation = (DistanceAnnotation) initAnnotationBaseDistanceAnnotator(distanceAnnotation); return distanceAnnotation; } @Override - public AnnotationInfo annotatePdf() throws ParseException { - AnnotationInfo distanceAnnotation = initAnnotationInfo(); - return distanceAnnotation; + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateSlides() { + return annotateWord(); } @Override - public AnnotationInfo annotateImage() throws ParseException { - // init annotation object - AnnotationInfo distanceAnnotation = initAnnotationInfo(); - distanceAnnotation.setBackgroundColor(15988609); - return distanceAnnotation; + public AnnotationBase annotateImage() { + return annotateWord(); } - @Override - public AnnotationInfo annotateDiagram() throws ParseException { - // init annotation object - AnnotationInfo distanceAnnotation = initAnnotationInfo(); - distanceAnnotation.setBackgroundColor(15988609); - return distanceAnnotation; + public AnnotationBase annotateDiagram() { + return annotateWord(); } - @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo distanceAnnotation = super.initAnnotationInfo(); + protected final AnnotationBase initAnnotationBaseDistanceAnnotator(AnnotationBase annotationBase) { + distanceAnnotation = (DistanceAnnotation) super.initAnnotationBase(annotationBase); + String tmp0 = annotationData.getText(); + if (tmp0 == null) { + tmp0 = ""; + } // add replies - String text = (annotationData.getText() == null) ? "" : annotationData.getText(); + String text = tmp0; CommentsEntity[] comments = annotationData.getComments(); if (comments != null && comments.length != 0) { - AnnotationReplyInfo reply = distanceAnnotation.getReplies()[0]; + Reply reply = distanceAnnotation.getReplies().get(0); if (reply != null) { - reply.setMessage(String.format("%s %s", annotationData.getText(), reply.getMessage())); + reply.setComment(String.format("{0} {1}", text, reply.getComment())); } - } else { - distanceAnnotation.setFieldText(text); } + return distanceAnnotation; } @Override - protected byte getType() { + protected int getType() { return AnnotationType.Distance; } -} \ No newline at end of file + + @Override + protected Rectangle getBox() { + String svgPath = annotationData.getSvgPath(); + + String startPoint = svgPath.replaceAll("[a-zA-Z]+", "").split(" ")[0]; + String endPoint = svgPath.replaceAll("[a-zA-Z]+", "").split(" ")[1]; + String[] start = startPoint.split(","); + float startX = Float.parseFloat(start.length > 0 ? start[0] : "0"); + float startY = Float.parseFloat(start.length > 1 ? start[1] : "0"); + String[] end = endPoint.split(","); + float endX = Float.parseFloat(end.length > 0 ? end[0] : "0") - startX; + float endY = Float.parseFloat(end.length > 1 ? end[1] : "0") - startY; + return new Rectangle(startX, startY, endX, endY); + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java index f1cbbe2..2a4efe5 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java @@ -1,69 +1,56 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.*; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.PointAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; -import java.text.ParseException; -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class PointAnnotator extends Annotator { +public class PointAnnotator extends BaseAnnotator { - public PointAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } + private PointAnnotation pointAnnotation; - @Override - public AnnotationInfo annotateWord() throws ParseException { - return initAnnotationInfo(); - } + public PointAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); - @Override - public AnnotationInfo annotatePdf() throws ParseException { - return initAnnotationInfo(); + pointAnnotation = new PointAnnotation(); + pointAnnotation.setBox(getBox()); } @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - // init annotation object - AnnotationInfo pointAnnotation = super.initAnnotationInfo(); - // set annotation position - pointAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + public AnnotationBase annotateWord() { + pointAnnotation = (PointAnnotation) super.initAnnotationBase(pointAnnotation); return pointAnnotation; } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() throws ParseException { - return initAnnotationInfo(); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateImage() throws ParseException { - return initAnnotationInfo(); + public AnnotationBase annotateSlides() { + return annotateWord(); } - @Override - public AnnotationInfo annotateDiagram() throws ParseException { - return initAnnotationInfo(); + public AnnotationBase annotateImage() { + return annotateWord(); } @Override - protected Rectangle getBox() { - return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + public AnnotationBase annotateDiagram() { + return annotateWord(); } @Override - protected byte getType() { + protected int getType() { return AnnotationType.Point; } -} \ No newline at end of file +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java index c984c1a..96a5df6 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java @@ -1,92 +1,79 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.User; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.PolylineAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; import com.groupdocs.ui.annotation.entity.web.CommentsEntity; -import java.text.ParseException; -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class PolylineAnnotator extends Annotator { +public class PolylineAnnotator extends BaseAnnotator { - public PolylineAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } + private PolylineAnnotation polylineAnnotation; - @Override - public AnnotationInfo annotateWord() throws ParseException { - return initAnnotationInfo(); - } + public PolylineAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + this.polylineAnnotation = new PolylineAnnotation(); + this.polylineAnnotation.setBox(getBox()); + this.polylineAnnotation.setPenColor(1201033); + this.polylineAnnotation.setPenWidth((byte) 2); + this.polylineAnnotation.setSvgPath(annotationData.getSvgPath()); + } @Override - public AnnotationInfo annotatePdf() throws ParseException { - AnnotationInfo polylineAnnotation = initAnnotationInfo(); + public AnnotationBase annotateWord() { + polylineAnnotation = (PolylineAnnotation) initAnnotationBase(polylineAnnotation); return polylineAnnotation; } @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo polylineAnnotation = super.initAnnotationInfo(); - polylineAnnotation.setPenColor(1201033); - polylineAnnotation.setPenWidth((byte) 2); - polylineAnnotation.setSvgPath(annotationData.getSvgPath()); - return polylineAnnotation; + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() throws ParseException { - AnnotationInfo polylineAnnotation = initAnnotationInfo(); - fillCreatorName(polylineAnnotation); + public AnnotationBase annotateSlides() { + polylineAnnotation = (PolylineAnnotation) initAnnotationBase(polylineAnnotation); + fillCreatorName(polylineAnnotation, annotationData); return polylineAnnotation; } /** + *

    * Fill creator name field in annotation info + *

    * - * @param polylineAnnotation annotation info + * @param polylineAnnotation AnnotationBase + * @param annotationData */ - protected void fillCreatorName(AnnotationInfo polylineAnnotation) { + protected static void fillCreatorName(AnnotationBase polylineAnnotation, AnnotationDataEntity annotationData) { CommentsEntity[] comments = annotationData.getComments(); if (comments != null && comments.length > 0 && comments[0] != null) { - polylineAnnotation.setCreatorName(comments[0].getUserName()); + polylineAnnotation.setUser(new User()); + polylineAnnotation.getUser().setName(comments[0].getUserName()); } } @Override - public AnnotationInfo annotateImage() throws ParseException { - AnnotationInfo polylineAnnotation = initAnnotationInfo(); - fillCreatorName(polylineAnnotation); - return polylineAnnotation; - } - - @Override - public AnnotationInfo annotateDiagram() throws ParseException { - AnnotationInfo polylineAnnotation = initAnnotationInfo(); - fillCreatorName(polylineAnnotation); - return polylineAnnotation; + public AnnotationBase annotateImage() { + return annotateSlides(); } @Override - protected Rectangle getBox() { - return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + public AnnotationBase annotateDiagram() { + return annotateSlides(); } @Override - protected byte getType() { + protected int getType() { return AnnotationType.Polyline; } -} \ No newline at end of file +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java index 6ba6625..a2b36e4 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java @@ -1,68 +1,57 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.*; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.ResourcesRedactionAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.common.exception.TotalGroupDocsException; -import java.text.ParseException; -/** - * AreaAnnotator - * Annotates documents with the area annotation - * - * @author Aspose Pty Ltd - */ -public class ResourceRedactionAnnotator extends Annotator { +public class ResourceRedactionAnnotator extends BaseAnnotator { - public ResourceRedactionAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } + private ResourcesRedactionAnnotation resourcesRedactionAnnotation; - @Override - public AnnotationInfo annotateWord() throws ParseException { - AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); - return resourceRedactionAnnotation; + public ResourceRedactionAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + this.resourcesRedactionAnnotation = new ResourcesRedactionAnnotation(); + this.resourcesRedactionAnnotation.setBox(getBox()); } @Override - public AnnotationInfo annotatePdf() throws ParseException { - // initiate AnnotationInfo object - AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); - // set annotation X, Y position - resourceRedactionAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - return resourceRedactionAnnotation; + public AnnotationBase annotateWord() { + resourcesRedactionAnnotation = (ResourcesRedactionAnnotation) initAnnotationBase(resourcesRedactionAnnotation); + return resourcesRedactionAnnotation; } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() throws ParseException { - AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); - return resourceRedactionAnnotation; + public AnnotationBase annotateCells() { + throw new TotalGroupDocsException(Message + annotationData.getType()); } @Override - public AnnotationInfo annotateImage() throws ParseException { - AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); - return resourceRedactionAnnotation; + public AnnotationBase annotateSlides() { + return annotateWord(); } @Override - public AnnotationInfo annotateDiagram() throws ParseException { - // init annotation object - AnnotationInfo resourceRedactionAnnotation = initAnnotationInfo(); - return resourceRedactionAnnotation; + public AnnotationBase annotateImage() { + return annotateWord(); } @Override - protected Rectangle getBox() { - return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); + public AnnotationBase annotateDiagram() { + return annotateWord(); } @Override - protected byte getType() { + protected int getType() { return AnnotationType.ResourcesRedaction; } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java deleted file mode 100644 index f90e6b3..0000000 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexStrikeoutAnnotator.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.groupdocs.ui.annotation.annotator; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Point; -import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; - -import java.text.ParseException; - -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class TexStrikeoutAnnotator extends AbstractSvgAnnotator { - - public TexStrikeoutAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } - - @Override - public AnnotationInfo annotateWord() throws ParseException { - // init possible types of annotations - AnnotationInfo strikeoutAnnotation = initAnnotationInfo(); - fixBox(strikeoutAnnotation); - return strikeoutAnnotation; - } - - @Override - public AnnotationInfo annotatePdf() throws ParseException { - AnnotationInfo strikeoutAnnotation = initAnnotationInfo(); - strikeoutAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - strikeoutAnnotation.setPenColor(0); - strikeoutAnnotation.setGuid(String.valueOf(annotationData.getId())); - return strikeoutAnnotation; - } - - @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); - } - - @Override - public AnnotationInfo annotateSlides() throws ParseException { - AnnotationInfo strikeoutAnnotation = initAnnotationInfo(); - fixBox(strikeoutAnnotation); - strikeoutAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - strikeoutAnnotation.setPenColor(0); - return strikeoutAnnotation; - } - - @Override - public AnnotationInfo annotateImage() throws ParseException { - return initAnnotationInfo(); - } - - @Override - public AnnotationInfo annotateDiagram() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); - } - - @Override - protected byte getType() { - return AnnotationType.TextStrikeout; - } -} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java deleted file mode 100644 index 727476c..0000000 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TexUnderlineAnnotator.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.groupdocs.ui.annotation.annotator; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Point; -import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; - -import java.text.ParseException; - -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class TexUnderlineAnnotator extends AbstractSvgAnnotator { - - public TexUnderlineAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } - - @Override - public AnnotationInfo annotateWord() throws ParseException { - // init possible types of annotations - AnnotationInfo underlineAnnotation = initAnnotationInfo(); - // set line color - underlineAnnotation.setPenColor(1201033); - fixBox(underlineAnnotation); - return underlineAnnotation; - } - - @Override - public AnnotationInfo annotatePdf() throws ParseException { - AnnotationInfo underlineAnnotation = initAnnotationInfo(); - underlineAnnotation.setGuid(String.valueOf(annotationData.getId())); - underlineAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - underlineAnnotation.setPenColor(1201033); - return underlineAnnotation; - } - - @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); - } - - @Override - public AnnotationInfo annotateSlides() throws ParseException { - AnnotationInfo underlineAnnotation = initAnnotationInfo(); - fixBox(underlineAnnotation); - underlineAnnotation.setPenColor(0); - underlineAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - return underlineAnnotation; - } - - @Override - public AnnotationInfo annotateImage() throws ParseException { - AnnotationInfo annotationInfo = initAnnotationInfo(); - return annotationInfo; - } - - @Override - public AnnotationInfo annotateDiagram() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); - } - - @Override - protected byte getType() { - return AnnotationType.TextUnderline; - } -} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java deleted file mode 100644 index 9dfc392..0000000 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextAnnotator.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.groupdocs.ui.annotation.annotator; - -import com.groupdocs.annotation.domain.*; -import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; - -import java.text.ParseException; - -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class TextAnnotator extends AbstractSvgAnnotator { - - public TextAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } - - @Override - public AnnotationInfo annotateWord() throws ParseException { - // init possible types of annotations - AnnotationInfo textAnnotation = initAnnotationInfo(); - return textAnnotation; - } - - @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo textAnnotation = super.initAnnotationInfo(); - textAnnotation.setGuid(String.valueOf(annotationData.getId())); - return textAnnotation; - } - - @Override - public AnnotationInfo annotatePdf() throws ParseException { - // init possible types of annotations - AnnotationInfo textAnnotation = initAnnotationInfo(); - return textAnnotation; - } - - @Override - public AnnotationInfo annotateCells() throws ParseException { - // init possible types of annotations - AnnotationInfo textAnnotation = super.initAnnotationInfo(); - textAnnotation.setPageNumber(annotationData.getPageNumber()); - textAnnotation.setAnnotationPosition(new Point(1, 1)); - textAnnotation.setBox(new Rectangle(0, 0, 0, 0)); - return textAnnotation; - } - - @Override - public AnnotationInfo annotateSlides() throws ParseException { - // init possible types of annotations - AnnotationInfo textAnnotation = initAnnotationInfo(); - textAnnotation.getBox().setX((float) (annotationData.getLeft() / 4)); - return textAnnotation; - } - - @Override - public AnnotationInfo annotateImage() throws ParseException { - return initAnnotationInfo(); - } - - @Override - public AnnotationInfo annotateDiagram() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); - } - - @Override - protected Rectangle getBox() { - return new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight()); - } - - @Override - protected byte getType() { - return AnnotationType.Text; - } -} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java index d924cb6..2e62d73 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java @@ -1,70 +1,61 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Point; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.TextFieldAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; -import java.text.ParseException; -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class TextFieldAnnotator extends AbstractTextAnnotator { +public class TextFieldAnnotator extends BaseAnnotator { - public TextFieldAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); + private TextFieldAnnotation textFieldAnnotation; + + public TextFieldAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + textFieldAnnotation = new TextFieldAnnotation(); + textFieldAnnotation.setBox(getBox()); + + textFieldAnnotation.setFontFamily(annotationData.getFont() != null || !"".equals(annotationData.getFont()) ? annotationData.getFont() : "Arial"); + textFieldAnnotation.setFontColor(annotationData.getFontColor()); + textFieldAnnotation.setFontSize(annotationData.getFontSize() == 0 ? 12 : annotationData.getFontSize()); + textFieldAnnotation.setText(annotationData.getText()); } @Override - public AnnotationInfo annotateWord() throws ParseException { - // init possible types of annotations - AnnotationInfo textFieldAnnotation = initAnnotationInfo(); + public AnnotationBase annotateWord() { + textFieldAnnotation = (TextFieldAnnotation) initAnnotationBase(textFieldAnnotation); return textFieldAnnotation; } @Override - public AnnotationInfo annotatePdf() throws ParseException { - // init possible types of annotations - // Text field annotation - AnnotationInfo textFieldAnnotation = initAnnotationInfo(); - textFieldAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - textFieldAnnotation.setBackgroundColor(16777215); - return textFieldAnnotation; + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() throws ParseException { - // init possible types of annotations - AnnotationInfo textFieldAnnotation = initAnnotationInfo(); - return textFieldAnnotation; + public AnnotationBase annotateSlides() { + return annotateWord(); } @Override - public AnnotationInfo annotateImage() throws ParseException { - // init possible types of annotations - AnnotationInfo textFieldAnnotation = initAnnotationInfo(); - return textFieldAnnotation; + public AnnotationBase annotateImage() { + return annotateWord(); } @Override - public AnnotationInfo annotateDiagram() throws ParseException { - // init possible types of annotations - AnnotationInfo textFieldAnnotation = initAnnotationInfo(); - return textFieldAnnotation; + public AnnotationBase annotateDiagram() { + return annotateWord(); } @Override - protected byte getType() { + protected int getType() { return AnnotationType.TextField; } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java new file mode 100644 index 0000000..c86eb95 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java @@ -0,0 +1,57 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.HighlightAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.common.exception.TotalGroupDocsException; + + +public class TextHighlightAnnotator extends AbstractTextAnnotator { + + private HighlightAnnotation highlightAnnotation; + + public TextHighlightAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + highlightAnnotation = new HighlightAnnotation(); + highlightAnnotation.setPoints(getPoints(annotationData, pageInfo)); + } + + @Override + public AnnotationBase annotateWord() { + highlightAnnotation = (HighlightAnnotation) initAnnotationBase(highlightAnnotation); + return highlightAnnotation; + } + + @Override + public AnnotationBase annotatePdf() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateCells() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateSlides() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateImage() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateDiagram() { + throw new TotalGroupDocsException(Message + annotationData.getType()); + } + + @Override + protected int getType() { + return AnnotationType.TextHighlight; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java index bf47edc..07a8c8c 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java @@ -1,45 +1,51 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.TextRedactionAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.common.exception.TotalGroupDocsException; -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class TextRedactionAnnotator extends TextAnnotator { +public class TextRedactionAnnotator extends TextHighlightAnnotator { - public TextRedactionAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); + private TextRedactionAnnotation textRedactionAnnotation; + + public TextRedactionAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + textRedactionAnnotation = new TextRedactionAnnotation(); + textRedactionAnnotation.setPoints(getPoints(annotationData, pageInfo)); + } + + @Override + public AnnotationBase annotateCells() { + return annotatePdf(); } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateSlides() { + return annotatePdf(); } @Override - public AnnotationInfo annotateSlides() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateImage() { + throw new TotalGroupDocsException(Message + annotationData.getType()); } @Override - public AnnotationInfo annotateImage() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateDiagram() { + throw new TotalGroupDocsException(Message + annotationData.getType()); } @Override - public AnnotationInfo annotateDiagram() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotatePdf() { + textRedactionAnnotation = (TextRedactionAnnotation) initAnnotationBase(textRedactionAnnotation); + return textRedactionAnnotation; } @Override - protected byte getType() { + protected int getType() { return AnnotationType.TextRedaction; } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java index 4a9026e..e44b499 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java @@ -1,84 +1,58 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.ReplacementAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.common.exception.TotalGroupDocsException; -import java.text.ParseException; -/** - * TextAnnotator - * Annotates documents with the text annotation - * - * @author Aspose Pty Ltd - */ -public class TextReplacementAnnotator extends AbstractSvgAnnotator { +public class TextReplacementAnnotator extends AbstractTextAnnotator { - public TextReplacementAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); - } + private ReplacementAnnotation replacementAnnotation; - @Override - public AnnotationInfo annotateWord() throws ParseException { - // init possible types of annotations - AnnotationInfo textReplacementAnnotation = initAnnotationInfo(); - return textReplacementAnnotation; - } + public TextReplacementAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); - @Override - protected AnnotationInfo initAnnotationInfo() throws ParseException { - AnnotationInfo textReplacementAnnotation = super.initAnnotationInfo(); - textReplacementAnnotation.setGuid(String.valueOf(annotationData.getId())); - textReplacementAnnotation.setFieldText(annotationData.getText()); - return textReplacementAnnotation; - } - - @Override - protected String buildSvgPath() { - double topPosition = pageData.getHeight() - annotationData.getTop(); - double leftPosition = pageData.getWidth() - annotationData.getLeft(); - double topRightX = annotationData.getLeft() + annotationData.getWidth(); - double bottomRightY = topPosition - annotationData.getHeight(); - return super.getSvgString(topPosition, leftPosition, topRightX, bottomRightY); + replacementAnnotation = new ReplacementAnnotation(); + replacementAnnotation.setPoints(getPoints(annotationData, pageInfo)); + replacementAnnotation.setTextToReplace(annotationData.getText()); } @Override - public AnnotationInfo annotatePdf() throws ParseException { - // init possible types of annotations - AnnotationInfo textReplacementAnnotation = initAnnotationInfo(); - textReplacementAnnotation.setBox(new Rectangle(annotationData.getLeft(), annotationData.getTop(), annotationData.getWidth(), annotationData.getHeight())); - return textReplacementAnnotation; + public AnnotationBase annotateWord() { + replacementAnnotation = (ReplacementAnnotation) initAnnotationBase(replacementAnnotation); + return replacementAnnotation; } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateImage() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateSlides() { + return annotateWord(); } @Override - public AnnotationInfo annotateDiagram() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateImage() { + throw new TotalGroupDocsException(Message + annotationData.getType()); } @Override - protected Rectangle getBox() { - return new Rectangle(0, 0, 0, 0); + public AnnotationBase annotateDiagram() { + throw new TotalGroupDocsException(Message + annotationData.getType()); } @Override - protected byte getType() { + protected int getType() { return AnnotationType.TextReplacement; } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java new file mode 100644 index 0000000..363b30a --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java @@ -0,0 +1,58 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.StrikeoutAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.common.exception.TotalGroupDocsException; + +public class TextStrikeoutAnnotator extends AbstractTextAnnotator { + + private StrikeoutAnnotation strikeoutAnnotation; + + public TextStrikeoutAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + strikeoutAnnotation = new StrikeoutAnnotation(); + strikeoutAnnotation.setPoints(getPoints(annotationData, pageInfo)); + } + + @Override + public AnnotationBase annotateWord() { + strikeoutAnnotation = (StrikeoutAnnotation) initAnnotationBase(strikeoutAnnotation); + return strikeoutAnnotation; + } + + @Override + public AnnotationBase annotatePdf() { + strikeoutAnnotation = (StrikeoutAnnotation) initAnnotationBase(strikeoutAnnotation); + this.strikeoutAnnotation.setFontColor(0); + return strikeoutAnnotation; + } + + @Override + public AnnotationBase annotateCells() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateSlides() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateImage() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateDiagram() { + throw new TotalGroupDocsException(Message + annotationData.getType()); + } + + @Override + protected int getType() { + return AnnotationType.TextStrikeout; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java new file mode 100644 index 0000000..5249a4f --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java @@ -0,0 +1,60 @@ +package com.groupdocs.ui.annotation.annotator; + +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.UnderlineAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.common.exception.TotalGroupDocsException; + + +public class TextUnderlineAnnotator extends AbstractTextAnnotator { + + private UnderlineAnnotation underlineAnnotation; + + public TextUnderlineAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + underlineAnnotation = new UnderlineAnnotation(); + underlineAnnotation.setPoints(getPoints(annotationData, pageInfo)); + } + + @Override + public AnnotationBase annotateWord() { + underlineAnnotation = (UnderlineAnnotation) initAnnotationBase(underlineAnnotation); + underlineAnnotation.setFontColor(1201033); + return underlineAnnotation; + } + + @Override + public AnnotationBase annotatePdf() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateCells() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateSlides() { + underlineAnnotation = (UnderlineAnnotation) initAnnotationBase(underlineAnnotation); + underlineAnnotation.setFontColor(0); + return underlineAnnotation; + } + + @Override + public AnnotationBase annotateImage() { + return annotateWord(); + } + + @Override + public AnnotationBase annotateDiagram() { + throw new TotalGroupDocsException(Message + annotationData.getType()); + } + + @Override + protected int getType() { + return AnnotationType.TextUnderline; + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java index 3e9cc11..cda6c22 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java @@ -1,66 +1,60 @@ package com.groupdocs.ui.annotation.annotator; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationType; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.Point; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.WatermarkAnnotation; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.common.exception.TotalGroupDocsException; -import java.text.ParseException; +public class WatermarkAnnotator extends BaseAnnotator { -/** - * WatermarkAnnotator - * Annotates documents with the watermark annotation - * - * @author Aspose Pty Ltd - */ -public class WatermarkAnnotator extends AbstractTextAnnotator { + private WatermarkAnnotation watermarkAnnotation; - public WatermarkAnnotator(AnnotationDataEntity annotationData, PageData pageData) { - super(annotationData, pageData); + public WatermarkAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) { + super(annotationData, pageInfo); + + watermarkAnnotation = new WatermarkAnnotation(); + watermarkAnnotation.setBox(getBox()); + watermarkAnnotation.setFontFamily(annotationData.getFont() != null || !"".equals(annotationData.getFont()) ? annotationData.getFont() : "Arial"); + watermarkAnnotation.setFontColor(annotationData.getFontColor()); + watermarkAnnotation.setFontSize(annotationData.getFontSize() == 0 ? 12 : annotationData.getFontSize()); + watermarkAnnotation.setText(annotationData.getText()); } @Override - public AnnotationInfo annotateWord() throws ParseException { - AnnotationInfo watermarkAnnotation = initAnnotationInfo(); - watermarkAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); + public AnnotationBase annotateWord() { + watermarkAnnotation = (WatermarkAnnotation) initAnnotationBase(watermarkAnnotation); return watermarkAnnotation; } @Override - public AnnotationInfo annotatePdf() throws ParseException { - // init possible types of annotations - AnnotationInfo watermarkAnnotation = initAnnotationInfo(); - watermarkAnnotation.setAnnotationPosition(new Point(annotationData.getLeft(), annotationData.getTop())); - return watermarkAnnotation; + public AnnotationBase annotatePdf() { + return annotateWord(); } @Override - public AnnotationInfo annotateCells() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateCells() { + return annotateWord(); } @Override - public AnnotationInfo annotateSlides() throws ParseException { - // init possible types of annotations - AnnotationInfo watermarkAnnotation = initAnnotationInfo(); - return watermarkAnnotation; + public AnnotationBase annotateSlides() { + return annotateWord(); } @Override - public AnnotationInfo annotateImage() throws ParseException { - // init possible types of annotations - AnnotationInfo watermarkAnnotation = initAnnotationInfo(); - return watermarkAnnotation; + public AnnotationBase annotateImage() { + return annotateWord(); } @Override - public AnnotationInfo annotateDiagram() { - throw new UnsupportedOperationException(String.format(MESSAGE, annotationData.getType())); + public AnnotationBase annotateDiagram() { + throw new TotalGroupDocsException(Message + annotationData.getType()); } @Override - protected byte getType() { + protected int getType() { return AnnotationType.Watermark; } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/request/PostedDataEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/request/PostedDataEntity.java new file mode 100644 index 0000000..cf02445 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/request/PostedDataEntity.java @@ -0,0 +1,183 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.groupdocs.ui.annotation.entity.request; + +import java.util.List; + +/** + * + * @author AlexT + */ +public class PostedDataEntity { + /** + *

    + * Absolute path to the posted document. + *

    + * @return + */ + public String getPath() { + return path; + } + + /** + *

    + * Absolute path to the posted document. + *

    + * @param value + */ + public void setPath(String value) { + path = value; + } + private String path; + + /** + *

    + * Absolute path to the document. + *

    + * @return + */ + public String getGuid() { + return guid; + } + + /** + *

    + * Absolute path to the document. + *

    + * @param value + */ + public void setGuid(String value) { + guid = value; + } + private String guid; + + /** + *

    + * Document password. + *

    + * @return + */ + public String getPassword() { + return password; + } + + /** + *

    + * Document password. + *

    + * @param value + */ + public void setPassword(String value) { + password = value; + } + private String password; + + /** + *

    + * Url of the posted file. + *

    + * @return + */ + public String getUrl() { + return url; + } + + /** + *

    + * Url of the posted file. + *

    + * @param value + */ + public void setUrl(String value) { + url = value; + } + private String url; + + /** + *

    + * Page number. + *

    + * @return + */ + public int getPage() { + return page; + } + + /** + *

    + * Page number. + *

    + * @param value + */ + public void setPage(int value) { + page = value; + } + private int page; + + /** + *

    + * Page rotation angle. + *

    + * @return + */ + public int getAngle() { + return angle; + } + + /** + *

    + * Page rotation angle. + *

    + * @param value + */ + public void setAngle(int value) { + angle = value; + } + private int angle; + + /** + *

    + * Collection of the document pages with their data. + *

    + * @return + */ + public List getPages() { + return pages; + } + + /** + *

    + * Collection of the document pages with their data. + *

    + * @param value + */ + public void setPages(List value) { + pages = value; + } + + private List pages; + + /** + *

    + * Flag indicating whether the file should be overwritten. + *

    + * @return + */ + public boolean getRewrite() { + return rewrite; + } + + /** + *

    + * Flag indicating whether the file should be overwritten. + *

    + * @param value + */ + public void setRewrite(boolean value) { + rewrite = value; + } + private boolean rewrite; +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java index f3cd1ba..143983a 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotatedDocumentEntity.java @@ -1,5 +1,6 @@ package com.groupdocs.ui.annotation.entity.web; +import java.util.ArrayList; import java.util.List; /** @@ -7,7 +8,7 @@ * * @author Aspose Pty Ltd */ -public class AnnotatedDocumentEntity { +public class AnnotatedDocumentEntity extends PageDescriptionEntity { /** * Document Guid */ @@ -19,7 +20,7 @@ public class AnnotatedDocumentEntity { /** * list of pages */ - private List pages; + private List pages = new ArrayList<>();; public String getGuid() { return guid; @@ -37,11 +38,11 @@ public void setSupportedAnnotations(String[] supportedAnnotations) { this.supportedAnnotations = supportedAnnotations; } - public List getPages() { + public List getPages() { return pages; } - public void setPages(List pages) { + public void setPages(List pages) { this.pages = pages; } } diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java index 0d8203c..bbca6ae 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationDataEntity.java @@ -21,19 +21,19 @@ public class AnnotationDataEntity { /** * Annotation position. Left position. */ - private double left; + private float left; /** * Annotation position. Top position. */ - private double top; + private float top; /** * Annotation position. Width of annotation. */ - private double width; + private float width; /** * Annotation position. Height of annotation. */ - private double height; + private float height; /** * SVG path */ @@ -87,35 +87,35 @@ public void setFontSize(Double fontSize) { this.fontSize = fontSize; } - public double getLeft() { + public float getLeft() { return left; } - public void setLeft(double left) { + public void setLeft(float left) { this.left = left; } - public double getTop() { + public float getTop() { return top; } - public void setTop(double top) { + public void setTop(float top) { this.top = top; } - public double getWidth() { + public float getWidth() { return width; } - public void setWidth(double width) { + public void setWidth(float width) { this.width = width; } - public double getHeight() { + public float getHeight() { return height; } - public void setHeight(double height) { + public void setHeight(float height) { this.height = height; } diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java deleted file mode 100644 index ee1ee48..0000000 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPageDescriptionEntity.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.groupdocs.ui.annotation.entity.web; - -import com.groupdocs.ui.common.entity.web.PageDescriptionEntity; - -public class AnnotationPageDescriptionEntity extends PageDescriptionEntity { - - /** - * List of annotation data - */ - private AnnotationDataEntity[] annotations; - - public AnnotationDataEntity[] getAnnotations() { - return annotations; - } - - public void setAnnotations(AnnotationDataEntity[] annotations) { - this.annotations = annotations; - } - -} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPostedDataEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPostedDataEntity.java new file mode 100644 index 0000000..5df2967 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/AnnotationPostedDataEntity.java @@ -0,0 +1,42 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.groupdocs.ui.annotation.entity.web; + +import com.groupdocs.ui.annotation.entity.request.PostedDataEntity; + +/** + * + * @author AlexT + */ +public class AnnotationPostedDataEntity extends PostedDataEntity { + + public final String getDocumentType() { + return documentType; + } + + public final void setDocumentType(String value) { + documentType = value; + } + private String documentType; + + public final AnnotationDataEntity[] getAnnotationsData() { + return annotationsData; + } + + public final void setAnnotationsData(AnnotationDataEntity[] value) { + annotationsData = value; + } + private AnnotationDataEntity[] annotationsData; + + public final boolean getPrint() { + return print; + } + + public final void setPrint(boolean value) { + print = value; + } + private boolean print; +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/PageDataDescriptionEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/PageDataDescriptionEntity.java new file mode 100644 index 0000000..3b27c48 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/PageDataDescriptionEntity.java @@ -0,0 +1,26 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.groupdocs.ui.annotation.entity.web; + +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * + * @author AlexT + */ +public class PageDataDescriptionEntity extends PageDescriptionEntity { + @JsonProperty + private List annotations; // AnnotationDataEntity[] => List + + public final void setAnnotations(List annotations) { + this.annotations = annotations; + } + + public final List getAnnotations() { + return annotations; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/PageDescriptionEntity.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/PageDescriptionEntity.java new file mode 100644 index 0000000..f54bd66 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/entity/web/PageDescriptionEntity.java @@ -0,0 +1,61 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.groupdocs.ui.annotation.entity.web; + +/** + * + * @author AlexT + */ +public class PageDescriptionEntity { + /** + * Page data + */ + private String data; + private int angle; + private double width; + private double height; + private int number; + + public int getAngle() { + return angle; + } + + public void setAngle(int angle) { + this.angle = angle; + } + + public double getWidth() { + return width; + } + + public void setWidth(double width) { + this.width = width; + } + + public double getHeight() { + return height; + } + + public void setHeight(double height) { + this.height = height; + } + + public int getNumber() { + return number; + } + + public void setNumber(int number) { + this.number = number; + } + + public String getData() { + return data; + } + + public void setData(String data) { + this.data = data; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java deleted file mode 100644 index 2667c1a..0000000 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/importer/Importer.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.groupdocs.ui.annotation.importer; - -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.handler.AnnotationImageHandler; - -import java.io.InputStream; - -/** - * Importer - * - * @author Aspose Pty Ltd - */ -public class Importer { - protected InputStream documentStream; - protected AnnotationImageHandler annotator; - - /** - * Constructor - * - * @param documentStream - */ - public Importer(InputStream documentStream, AnnotationImageHandler annotator) { - this.documentStream = documentStream; - this.annotator = annotator; - } - - /** - * Import the annotations from document - * - * @param docType the type of document - * @return AnnotationInfo[] list of annotations - */ - public AnnotationInfo[] importAnnotations(int docType) { - AnnotationInfo[] annotations = annotator.importAnnotations(documentStream, docType); - return annotations; - } - -} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/resources/AnnotationResources.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/resources/AnnotationResources.java index 4ab2b13..d9fdfbf 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/resources/AnnotationResources.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/resources/AnnotationResources.java @@ -1,28 +1,11 @@ package com.groupdocs.ui.annotation.resources; -import com.google.common.collect.Lists; -import com.groupdocs.annotation.common.exception.AnnotatorException; -import com.groupdocs.annotation.common.license.License; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.FileDescription; -import com.groupdocs.annotation.domain.PageData; -import com.groupdocs.annotation.domain.config.AnnotationConfig; -import com.groupdocs.annotation.domain.containers.DocumentInfoContainer; -import com.groupdocs.annotation.domain.containers.FileTreeContainer; -import com.groupdocs.annotation.domain.image.PageImage; -import com.groupdocs.annotation.domain.options.FileTreeOptions; -import com.groupdocs.annotation.domain.options.ImageOptions; -import com.groupdocs.annotation.handler.AnnotationImageHandler; -import com.groupdocs.ui.annotation.annotator.AnnotatorFactory; import com.groupdocs.ui.annotation.config.AnnotationConfigurationModel; -import com.groupdocs.ui.annotation.entity.request.AnnotateDocumentRequest; import com.groupdocs.ui.annotation.entity.web.AnnotatedDocumentEntity; -import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; -import com.groupdocs.ui.annotation.entity.web.AnnotationPageDescriptionEntity; -import com.groupdocs.ui.annotation.importer.Importer; -import com.groupdocs.ui.annotation.util.AnnotationMapper; -import com.groupdocs.ui.annotation.util.SupportedAnnotations; -import com.groupdocs.ui.annotation.util.directory.DirectoryUtils; +import com.groupdocs.ui.annotation.entity.web.AnnotationPostedDataEntity; +import com.groupdocs.ui.annotation.entity.web.PageDataDescriptionEntity; +import com.groupdocs.ui.annotation.service.AnnotationService; +import com.groupdocs.ui.annotation.service.AnnotationServiceImpl; import com.groupdocs.ui.annotation.views.Annotation; import com.groupdocs.ui.common.config.GlobalConfiguration; import com.groupdocs.ui.common.entity.web.FileDescriptionEntity; @@ -30,41 +13,30 @@ import com.groupdocs.ui.common.entity.web.request.FileTreeRequest; import com.groupdocs.ui.common.entity.web.request.LoadDocumentPageRequest; import com.groupdocs.ui.common.entity.web.request.LoadDocumentRequest; -import com.groupdocs.ui.common.exception.TotalGroupDocsException; import com.groupdocs.ui.common.resources.Resources; -import org.apache.commons.io.FilenameUtils; -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang3.StringUtils; import org.glassfish.jersey.media.multipart.FormDataContentDisposition; import org.glassfish.jersey.media.multipart.FormDataParam; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - -import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.*; import javax.ws.rs.core.Context; import java.io.*; import java.net.UnknownHostException; import java.util.*; - -import static com.groupdocs.ui.annotation.util.DocumentTypesConverter.getDocumentType; import static javax.ws.rs.core.MediaType.*; + /** * AnnotationResources * * @author Aspose Pty Ltd */ - @Path(value = "/annotation") public class AnnotationResources extends Resources { private static final Logger logger = LoggerFactory.getLogger(AnnotationResources.class); - - private final AnnotationImageHandler annotationImageHandler; - private DirectoryUtils directoryUtils; - private String[] supportedImageFormats = {"bmp", "jpeg", "jpg", "tiff", "tif", "png", "gif", "emf", "wmf", "dwg", "dicom", "djvu"}; - private static final List supportedDiagramFormats = Lists.newArrayList(".vsd", ".vdx", ".vss", ".vsx", ".vst", ".vtx", ".vsdx", ".vdw", ".vstx", ".vssx"); + + private AnnotationService annotationService; /** * Constructor @@ -75,24 +47,7 @@ public class AnnotationResources extends Resources { public AnnotationResources(GlobalConfiguration globalConfiguration) throws UnknownHostException { super(globalConfiguration); - // create annotation directories - directoryUtils = new DirectoryUtils(globalConfiguration.getAnnotation()); - - // create annotation application configuration - AnnotationConfig config = new AnnotationConfig(); - // set storage path - config.setStoragePath(directoryUtils.getFilesDirectory().getPath()); - // set directory to store annotated documents - config.getFontDirectories().add(globalConfiguration.getAnnotation().getFontsDirectory()); - try { - // set GroupDocs license - License license = new License(); - license.setLicense(globalConfiguration.getApplication().getLicensePath()); - } catch (Throwable exc) { - logger.error("Can not verify Annotation license!"); - } - // initialize total instance for the Image mode - annotationImageHandler = new AnnotationImageHandler(config); + annotationService = new AnnotationServiceImpl(globalConfiguration); } /** @@ -105,12 +60,12 @@ public Annotation getView() { // initiate index page return new Annotation(globalConfiguration, DEFAULT_CHARSET); } - + @GET @Path(value = "/loadConfig") @Produces(APPLICATION_JSON) public AnnotationConfigurationModel loadConfig() { - return AnnotationConfigurationModel.createAnnotationConfiguration(globalConfiguration.getAnnotation(), globalConfiguration.getCommon()); + return AnnotationConfigurationModel.createAnnotationConfiguration(annotationService.getAnnotationConfiguration(), globalConfiguration.getCommon()); } /** @@ -124,45 +79,13 @@ public AnnotationConfigurationModel loadConfig() { @Produces(APPLICATION_JSON) @Consumes(APPLICATION_JSON) public List loadFileTree(FileTreeRequest fileTreeRequest) { - String relDirPath = fileTreeRequest.getPath(); - // get file list from storage path - FileTreeOptions fileListOptions = new FileTreeOptions(relDirPath); - // get temp directory name - String tempDirectoryName = new com.groupdocs.annotation.domain.config.AnnotationConfig().getTempFolderName(); - try { - FileTreeContainer fileListContainer = annotationImageHandler.loadFileTree(fileListOptions); - - ArrayList fileList = new ArrayList<>(); - // parse files/folders list - for (FileDescription fd : fileListContainer.getFileTree()) { - FileDescriptionEntity fileDescription = new FileDescriptionEntity(); - fileDescription.setGuid(fd.getGuid()); - // check if current file/folder is temp directory or is hidden - if (tempDirectoryName.toLowerCase().equals(fd.getName()) || new File(fileDescription.getGuid()).isHidden()) { - // ignore current file and skip to next one - continue; - } else { - // set file/folder name - fileDescription.setName(fd.getName()); - } - // set file type - fileDescription.setDocType(fd.getDocumentType()); - // set is directory true/false - fileDescription.setDirectory(fd.isDirectory()); - // set file size - fileDescription.setSize(fd.getSize()); - // add object to array list - fileList.add(fileDescription); - } - return fileList; - } catch (Exception ex) { - throw new TotalGroupDocsException(ex.getMessage(), ex); - } + return annotationService.getFileList(fileTreeRequest); } - + /** * Get document description * + * @param loadDocumentRequest * @return document description */ @POST @@ -170,80 +93,9 @@ public List loadFileTree(FileTreeRequest fileTreeRequest) @Produces(APPLICATION_JSON) @Consumes(APPLICATION_JSON) public AnnotatedDocumentEntity loadDocumentDescription(LoadDocumentRequest loadDocumentRequest) { - try { - // get/set parameters - String documentGuid = loadDocumentRequest.getGuid(); - String password = loadDocumentRequest.getPassword(); - ImageOptions imageOptions = new ImageOptions(); - // set password for protected document - if (!StringUtils.isEmpty(password)) { - imageOptions.setPassword(password); - } - // get document info container - String fileName = FilenameUtils.getName(documentGuid); - DocumentInfoContainer documentDescription = annotationImageHandler.getDocumentInfo(fileName, password); - - String fileExtension = StringUtils.lowerCase(FilenameUtils.getExtension(documentGuid)); - String documentType = getCheckedDocumentType(documentDescription.getDocumentType(), fileExtension); - // check if document contains annotations - AnnotationInfo[] annotations = getAnnotations(documentGuid, documentType); - // initiate pages description list - List pageImages = null; - if (globalConfiguration.getAnnotation().getPreloadPageCount() == 0) { - pageImages = annotationImageHandler.getPages(fileName, imageOptions); - } - String[] supportedAnnotations = SupportedAnnotations.getSupportedAnnotations(documentType); - // initiate custom Document description object - AnnotatedDocumentEntity description = new AnnotatedDocumentEntity(); - description.setGuid(documentGuid); - description.setSupportedAnnotations(supportedAnnotations); - // initiate pages description list - List pages = documentDescription.getPages(); - List pagesDescriptions = new ArrayList<>(pages.size()); - // get info about each document page - for (int i = 0; i < pages.size(); i++) { - PageData pageData = pages.get(i); - // set current page info for result - PageImage pageImage = pageImages != null ? pageImages.get(i) : null; - AnnotationPageDescriptionEntity page = getAnnotationPageDescriptionEntity(pageData, pageImage); - // set annotations data if document page contains annotations - if (annotations != null && annotations.length > 0) { - page.setAnnotations(AnnotationMapper.instance.mapForPage(annotations, page.getNumber())); - } - pagesDescriptions.add(page); - } - description.setPages(pagesDescriptions); - // return document description - return description; - } catch (Exception ex) { - throw new TotalGroupDocsException(ex.getMessage(), ex); - } + return annotationService.getDocumentDescription(loadDocumentRequest); } - - private AnnotationPageDescriptionEntity getAnnotationPageDescriptionEntity(PageData pageData, PageImage pageImage) throws IOException { - AnnotationPageDescriptionEntity page = new AnnotationPageDescriptionEntity(); - page.setHeight(pageData.getHeight()); - page.setWidth(pageData.getWidth()); - page.setNumber(pageData.getNumber()); - - if (pageImage != null) { - byte[] bytes = IOUtils.toByteArray(pageImage.getStream()); - String encodedImage = Base64.getEncoder().encodeToString(bytes); - page.setData(encodedImage); - } - return page; - } - - private String getCheckedDocumentType(String documentType, String fileExtension) { - // check if document type is image - if (Arrays.asList(supportedImageFormats).contains(fileExtension)) { - documentType = "image"; - } else if (Arrays.asList(supportedDiagramFormats).contains(fileExtension)) { - documentType = "diagram"; - } - return documentType; - } - + /** * Get document page * @@ -253,33 +105,8 @@ private String getCheckedDocumentType(String documentType, String fileExtension) @Path(value = "/loadDocumentPage") @Produces(APPLICATION_JSON) @Consumes(APPLICATION_JSON) - public AnnotationPageDescriptionEntity loadDocumentPage(LoadDocumentPageRequest loadDocumentPageRequest) { - try { - // get/set parameters - String documentGuid = loadDocumentPageRequest.getGuid(); - int pageNumber = loadDocumentPageRequest.getPage(); - String password = loadDocumentPageRequest.getPassword(); - // set options - ImageOptions imageOptions = new ImageOptions(); - imageOptions.setPageNumber(pageNumber); - imageOptions.setCountPagesToConvert(1); - // set password for protected document - if (!password.isEmpty()) { - imageOptions.setPassword(password); - } - InputStream document = new FileInputStream(documentGuid); - List images = annotationImageHandler.getPages(document, imageOptions); - String fileName = FilenameUtils.getName(documentGuid); - DocumentInfoContainer documentDescription = annotationImageHandler.getDocumentInfo(fileName, password); - PageData pageData = documentDescription.getPages().get(pageNumber - 1); - - AnnotationPageDescriptionEntity page = getAnnotationPageDescriptionEntity(pageData, images.get(0)); - - // return loaded page object - return page; - } catch (Exception ex) { - throw new TotalGroupDocsException(ex.getMessage(), ex); - } + public PageDataDescriptionEntity loadDocumentPage(LoadDocumentPageRequest loadDocumentPageRequest) { + return annotationService.getDocumentPage(loadDocumentPageRequest); } /** @@ -292,22 +119,7 @@ public AnnotationPageDescriptionEntity loadDocumentPage(LoadDocumentPageRequest @Path(value = "/downloadDocument") @Produces(APPLICATION_OCTET_STREAM) public void downloadDocument(@QueryParam("path") String documentGuid, - @Context HttpServletResponse response) { - // download the file - downloadFile(response, documentGuid); - } - - /** - * Download document - * - * @param documentGuid path to document parameter - * @param response - */ - @GET - @Path(value = "/downloadAnnotated") - @Produces(APPLICATION_OCTET_STREAM) - public void downloadAnnotated(@QueryParam("path") String documentGuid, - @Context HttpServletResponse response) { + @Context HttpServletResponse response) { // download the file downloadFile(response, documentGuid); } @@ -353,113 +165,23 @@ protected String getStoragePath(Map params) { @Path(value = "/annotate") @Produces(APPLICATION_JSON) @Consumes(APPLICATION_JSON) - public AnnotatedDocumentEntity annotate(AnnotateDocumentRequest annotateDocumentRequest) { - AnnotatedDocumentEntity annotatedDocument = new AnnotatedDocumentEntity(); - try { - String documentGuid = annotateDocumentRequest.getGuid(); - String documentType = getCheckedDocumentType(annotateDocumentRequest.getDocumentType(), FilenameUtils.getExtension(documentGuid)); - List annotations = getAnnotationInfos(annotateDocumentRequest, documentType); - - InputStream file = annotateDocument(documentGuid, documentType, annotations); - if (annotateDocumentRequest.getPrint()) { - List annotatedPages = getAnnotatedPages(annotateDocumentRequest.getPassword(), file); - annotatedDocument.setPages(annotatedPages); - } else { - try (OutputStream fileStream = new FileOutputStream(documentGuid)) { - IOUtils.copyLarge(file, fileStream); - annotatedDocument.setGuid(documentGuid); - } - } - } catch (Exception ex) { - throw new TotalGroupDocsException(ex.getMessage(), ex); - } - return annotatedDocument; - } - - private InputStream annotateDocument(String documentGuid, String documentType, List annotations) throws FileNotFoundException { - InputStream file = annotationImageHandler.removeAnnotationStream(new FileInputStream(documentGuid)); - // check if annotations array contains at least one annotation to add - if (annotations.size() > 0) { - // Add annotation to the document - int type = getDocumentType(documentType); - return annotationImageHandler.exportAnnotationsToDocument(file, annotations, type); - } - return file; - } - - private List getAnnotationInfos(AnnotateDocumentRequest annotateDocumentRequest, String documentType) { - AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); - // get document info - required to get document page height and calculate annotation top position - DocumentInfoContainer documentInfo = annotationImageHandler.getDocumentInfo(new File(annotateDocumentRequest.getGuid()).getName(), annotateDocumentRequest.getPassword()); - List annotations = new ArrayList<>(); - for (AnnotationDataEntity annotationData : annotationsData) { - // create annotator - PageData pageData = documentInfo.getPages().get(annotationData.getPageNumber() - 1); - // add annotation, if current annotation type isn't supported by the current document type it will be ignored - try { - annotations.add(AnnotatorFactory.createAnnotator(annotationData, pageData).getAnnotationInfo(documentType)); - } catch (Exception ex) { - throw new TotalGroupDocsException(ex.getMessage(), ex); - } - } - return annotations; - } - - private InputStream annotateByStream(AnnotateDocumentRequest annotateDocumentRequest) { - String documentGuid = annotateDocumentRequest.getGuid(); - String documentType = getCheckedDocumentType(annotateDocumentRequest.getDocumentType(), FilenameUtils.getExtension(documentGuid)); - List annotations = getAnnotationInfos(annotateDocumentRequest, documentType); - try { - return annotateDocument(documentGuid, documentType, annotations); - } catch (FileNotFoundException ex) { - throw new TotalGroupDocsException(ex.getMessage(), ex); - } - } - - /** - * Get pages images of annotated file - * - * @param password password for the file - * @param inputStream stream of annotated file - * @return list of pages - * @throws IOException - */ - protected List getAnnotatedPages(String password, InputStream inputStream) throws IOException { - ImageOptions imageOptions = new ImageOptions(); - // set password for protected document - if (!password.isEmpty()) { - imageOptions.setPassword(password); - } - List pages = annotationImageHandler.getPages(inputStream, imageOptions); - List pagesDescriptions = new ArrayList<>(pages.size()); - for (PageImage pageImage : pages) { - byte[] bytes = IOUtils.toByteArray(pageImage.getStream()); - String encodedImage = Base64.getEncoder().encodeToString(bytes); - AnnotationPageDescriptionEntity page = new AnnotationPageDescriptionEntity(); - page.setData(encodedImage); - - pagesDescriptions.add(page); - } - return pagesDescriptions; + public AnnotatedDocumentEntity annotate(AnnotationPostedDataEntity annotateDocumentRequest) { + return annotationService.annotate(annotateDocumentRequest); } - + + /** - * Get all annotations from the document + * Download document * - * @param documentGuid - * @param documentType - * @return array of the annotations + * @param documentGuid path to document parameter + * @param response */ - private AnnotationInfo[] getAnnotations(String documentGuid, String documentType) { - try (FileInputStream documentStream = new FileInputStream(documentGuid)) { - int docType = getDocumentType(documentType); - return new Importer(documentStream, annotationImageHandler).importAnnotations(docType); - } catch (AnnotatorException annotatorException) { - logger.error("Exception while extract annotations from file {}: {}", FilenameUtils.getName(documentGuid), annotatorException.getCause().getLocalizedMessage()); - return new AnnotationInfo[0]; - } catch (Exception ex) { - throw new TotalGroupDocsException(ex.getMessage(), ex); - } + @GET + @Path(value = "/downloadAnnotated") + @Produces(APPLICATION_OCTET_STREAM) + public void downloadAnnotated(@QueryParam("path") String documentGuid, + @Context HttpServletResponse response) { + // download the file + downloadFile(response, documentGuid); } - -} +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationService.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationService.java new file mode 100644 index 0000000..3be6c20 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationService.java @@ -0,0 +1,72 @@ +package com.groupdocs.ui.annotation.service; + +import com.groupdocs.ui.annotation.config.AnnotationConfiguration; +import com.groupdocs.ui.annotation.entity.web.AnnotatedDocumentEntity; +import com.groupdocs.ui.annotation.entity.web.AnnotationPostedDataEntity; +import com.groupdocs.ui.annotation.entity.web.PageDataDescriptionEntity; +import com.groupdocs.ui.common.config.GlobalConfiguration; +import com.groupdocs.ui.common.entity.web.FileDescriptionEntity; +import com.groupdocs.ui.common.entity.web.request.FileTreeRequest; +import com.groupdocs.ui.common.entity.web.request.LoadDocumentPageRequest; +import com.groupdocs.ui.common.entity.web.request.LoadDocumentRequest; +import java.io.InputStream; +import java.util.List; + +/** + * Service for annotating documents + */ +public interface AnnotationService { + /** + * Get global configuration + * + * @return global configuration + */ + GlobalConfiguration getGlobalConfiguration(); + + /** + * Get annotation configuration + * + * @return annotation configuration + */ + AnnotationConfiguration getAnnotationConfiguration(); + + /** + * Get list of files and folders + * + * @param fileTreeRequest request object with path for loading list of files + * @return list of files and folders + */ + List getFileList(FileTreeRequest fileTreeRequest); + + /** + * Get document information + * + * @param loadDocumentRequest request object with document guid + * @return document with list of pages + */ + AnnotatedDocumentEntity getDocumentDescription(LoadDocumentRequest loadDocumentRequest); + + /** + * Load document page + * + * @param loadDocumentPageRequest request object with document guid and page number + * @return document page data + */ + PageDataDescriptionEntity getDocumentPage(LoadDocumentPageRequest loadDocumentPageRequest); + + /** + * Annotate document + * + * @param annotateDocumentRequest request object with document guid and annotations data + * @return annotated document + */ + AnnotatedDocumentEntity annotate(AnnotationPostedDataEntity annotateDocumentRequest); + + /** + * Annotate document by streams + * + * @param annotateDocumentRequest request object with document guid and annotations data + * @return stream of annotated document + */ + InputStream annotateByStream(AnnotationPostedDataEntity annotateDocumentRequest); +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java new file mode 100644 index 0000000..a837e6b --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java @@ -0,0 +1,555 @@ +package com.groupdocs.ui.annotation.service; + +import com.groupdocs.annotation.license.License; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.IDocumentInfo; +import com.groupdocs.annotation.exceptions.AnnotatorException; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.options.LoadOptions; +import com.groupdocs.annotation.options.PreviewFormats; +import com.groupdocs.annotation.options.export.AnnotationType; +import com.groupdocs.annotation.options.export.SaveOptions; +import com.groupdocs.annotation.options.pagepreview.CreatePageStream; +import com.groupdocs.annotation.options.pagepreview.PreviewOptions; +import com.groupdocs.ui.annotation.annotator.AnnotatorFactory; +import com.groupdocs.ui.annotation.annotator.BaseAnnotator; +import com.groupdocs.ui.annotation.config.AnnotationConfiguration; +import com.groupdocs.ui.annotation.entity.web.AnnotatedDocumentEntity; +import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; +import com.groupdocs.ui.annotation.entity.web.AnnotationPostedDataEntity; +import com.groupdocs.ui.annotation.entity.web.PageDataDescriptionEntity; +import com.groupdocs.ui.common.config.GlobalConfiguration; +import com.groupdocs.ui.annotation.util.AnnotationMapper; +import com.groupdocs.ui.annotation.util.DocumentTypesConverter; +import com.groupdocs.ui.annotation.util.SupportedAnnotations; +import com.groupdocs.ui.common.entity.web.FileDescriptionEntity; +import com.groupdocs.ui.common.entity.web.request.FileTreeRequest; +import com.groupdocs.ui.common.entity.web.request.LoadDocumentPageRequest; +import com.groupdocs.ui.common.entity.web.request.LoadDocumentRequest; +import com.groupdocs.ui.common.exception.TotalGroupDocsException; + +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.io.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.*; +import java.util.ArrayList; +import java.util.List; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Arrays; +import java.util.Base64; +import java.util.Iterator; + +import org.apache.commons.lang3.StringUtils; + +public class AnnotationServiceImpl implements AnnotationService { + + private static final Logger logger = LoggerFactory.getLogger(AnnotationServiceImpl.class); + private final List SupportedImageFormats = new ArrayList<>(); + + private GlobalConfiguration globalConfiguration; + + private AnnotationConfiguration annotationConfiguration; + + private final List annotationPageDescriptionEntityList = new ArrayList<>(); + + public AnnotationServiceImpl(GlobalConfiguration globalConfiguration) { + this.annotationConfiguration = globalConfiguration.getAnnotation(); + this.globalConfiguration = globalConfiguration; + try { + SupportedImageFormats.add(".bmp"); + SupportedImageFormats.add(".jpeg"); + SupportedImageFormats.add(".jpg"); + SupportedImageFormats.add(".tiff"); + SupportedImageFormats.add(".tif"); + SupportedImageFormats.add(".png"); + SupportedImageFormats.add(".dwg"); + SupportedImageFormats.add(".dcm"); + SupportedImageFormats.add(".dxf"); + + // set GroupDocs license + License license = new License(); + license.setLicense(globalConfiguration.getApplication().getLicensePath()); + } catch (Throwable exc) { + logger.error("Can not verify Annotation license!"); + } + } + + @Override + public GlobalConfiguration getGlobalConfiguration() { + return globalConfiguration; + } + + @Override + public AnnotationConfiguration getAnnotationConfiguration() { + return annotationConfiguration; + } + + @Override + public List getFileList(FileTreeRequest fileTreeRequest) { + String path = fileTreeRequest.getPath(); + if (StringUtils.isEmpty(path)) { + path = annotationConfiguration.getFilesDirectory(); + } + try { + File directory = new File(path); + List filesList = Arrays.asList(directory.listFiles()); + + List fileList = getFileDescriptionEntities(filesList); + return fileList; + } catch (Exception ex) { + logger.error("Exception in getting file list", ex); + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + + public List getFileDescriptionEntities(List filesList) { + List fileList = new ArrayList<>(); + for (File file : filesList) { + String guid = file.getAbsolutePath(); + String extension = FilenameUtils.getExtension(guid); + if (file.isDirectory() || (!StringUtils.isEmpty(extension))) { + FileDescriptionEntity fileDescription = new FileDescriptionEntity(); + fileDescription.setGuid(guid); + fileDescription.setName(file.getName()); + fileDescription.setDirectory(file.isDirectory()); + fileDescription.setSize(file.length()); + fileList.add(fileDescription); + } + } + return fileList; + } + + @Override + public AnnotatedDocumentEntity getDocumentDescription(LoadDocumentRequest loadDocumentRequest) { + try { + return loadDocument( + loadDocumentRequest, + annotationConfiguration.getPreloadPageCount() == 0 + ); + } catch (Throwable ex) { + throw new TotalGroupDocsException(ex.getMessage()); + } + } + + public final AnnotatedDocumentEntity loadDocument(LoadDocumentRequest loadDocumentRequest, boolean loadAllPages) { + Annotator annotator = null; + AnnotatedDocumentEntity description = new AnnotatedDocumentEntity(); + String guid = loadDocumentRequest.getGuid(); + String password = loadDocumentRequest.getPassword(); + LoadOptions loadOptions = new LoadOptions(); + loadOptions.setPassword(password); + + try { + annotator = new Annotator(guid, loadOptions); + + IDocumentInfo info = annotator.getDocument().getDocumentInfo(); + List annotations = annotator.get(); + + description.setGuid(loadDocumentRequest.getGuid()); + + String documentType = ""; + if (info.getFileType() != null) { + documentType = SupportedImageFormats.contains(info.getFileType().getExtension()) ? "image" : info.getFileType().toString(); + } else { + documentType = "Portable Document Format"; + } + + description.supportedAnnotations = SupportedAnnotations.getSupportedAnnotations(documentType); + + List pagesContent = new ArrayList<>(); + + if (loadAllPages) { + pagesContent = getAllPagesContent(password, guid, info); + } + for (int i = 0; i < info.getPageCount(); i++) { + PageDataDescriptionEntity page = new PageDataDescriptionEntity(); + page.setNumber(i + 1); + page.setHeight(info.getPagesInfo().get(i).getHeight()); + page.setWidth(info.getPagesInfo().get(i).getWidth()); + + if (annotations != null && annotations.size() > 0) { + page.setAnnotations(AnnotationMapper.mapForPage(annotations, i + 1, info.getPagesInfo().get(i))); + } + + if (pagesContent.size() > 0) { + page.setData(pagesContent.get(i)); + } + description.getPages().add(page); + } + } finally { + if (annotator != null) { + annotator.dispose(); + } + } + + description.setGuid(guid); + // return document description + return description; + } + + public static String getStringFromStream(InputStream inputStream) throws IOException { + inputStream.reset(); + inputStream.skip(0); + + byte[] bytes = IOUtils.toByteArray(inputStream); + // encode ByteArray into String + return Base64.getEncoder().encodeToString(bytes); + } + + @Override + public PageDataDescriptionEntity getDocumentPage(LoadDocumentPageRequest loadDocumentPageRequest) { + String password = ""; + try { + // get/set parameters + String documentGuid = loadDocumentPageRequest.getGuid(); + int pageNumber = loadDocumentPageRequest.getPage(); + password = loadDocumentPageRequest.getPassword(); + PageDataDescriptionEntity loadedPage = new PageDataDescriptionEntity(); + + // get page image + byte[] bytes; + + final Annotator annotator = new Annotator(documentGuid, getLoadOptions(password)); + try { + final OutputStream renderPage = renderPageToMemoryStream(pageNumber, documentGuid, password); + + ByteArrayOutputStream bufferRenderPage = (ByteArrayOutputStream) renderPage; + byte[] bytesRenderPage = bufferRenderPage.toByteArray(); + InputStream streamRenderPage = new ByteArrayInputStream(bytesRenderPage); + + try { + bytes = IOUtils.toByteArray(streamRenderPage); + } finally { + if (streamRenderPage != null) { + streamRenderPage.close(); + } + } + + IDocumentInfo info = annotator.getDocument().getDocumentInfo(); + List annotations = annotator.get(); + + if (annotations != null && annotations.size() > 0) { + loadedPage.setAnnotations(AnnotationMapper.mapForPage(annotations, pageNumber, info.getPagesInfo().get(pageNumber - 1))); + } + + String encodedImage = Base64.getEncoder().encodeToString(bytes); + loadedPage.setData(encodedImage); + + loadedPage.setHeight(info.getPagesInfo().get(pageNumber - 1).getHeight()); + loadedPage.setWidth(info.getPagesInfo().get(pageNumber - 1).getWidth()); + loadedPage.setNumber(pageNumber); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } + + // return loaded page object + return loadedPage; + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage()); + } + } + + private static OutputStream renderPageToMemoryStream(int pageNumberToRender, String documentGuid, String password) { + try { + OutputStream result = new ByteArrayOutputStream(); // MemoryStream => OutputStream + InputStream inputStream = new FileInputStream(documentGuid); //final FileStream outputStream = File.openRead(documentGuid); + try { + final Annotator annotator = new Annotator(inputStream, getLoadOptions(password)); + try { + PreviewOptions previewOptions = new PreviewOptions( //PreviewOptions previewOptions = new PreviewOptions((pageNumber) = > result); + new CreatePageStream() { + @Override + public OutputStream invoke(int pageNumber) { + return result; + } + } + ); + previewOptions.setPreviewFormat(PreviewFormats.PNG); + previewOptions.setPageNumbers(new int[]{pageNumberToRender}); + previewOptions.setRenderComments(false); + + annotator.getDocument().generatePreview(previewOptions); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } + } finally { + if (inputStream != null) { + inputStream.close(); + } + } + return result; + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage()); + } + } + + private static LoadOptions getLoadOptions(String password) { + LoadOptions loadOptions = new LoadOptions(); + loadOptions.setPassword(password); + return loadOptions; + } + + public InputStream annotateDocument(String documentGuid, String documentType, List annotations) throws FileNotFoundException { + Annotator annotator = new Annotator(documentGuid); + + SaveOptions saveOptions = new SaveOptions(); + saveOptions.setAnnotationTypes(AnnotationType.None); + + annotator.save(documentGuid, saveOptions); + + if (annotations.size() > 0) { + annotator.add(annotations); + annotator.save(documentGuid, new SaveOptions()); + } + + return new FileInputStream(documentGuid); + } + + @Override + public AnnotatedDocumentEntity annotate(AnnotationPostedDataEntity annotateDocumentRequest) { + AnnotatedDocumentEntity annotatedDocument = new AnnotatedDocumentEntity(); + try { + // get/set parameters + String documentGuid = annotateDocumentRequest.getGuid(); + String password = annotateDocumentRequest.getPassword(); + + //String documentType1 = DocumentTypesConverter.checkedDocumentType(documentGuid, annotateDocumentRequest.getDocumentType()); + String documentType = SupportedImageFormats.contains( + FilenameUtils.getExtension(annotateDocumentRequest.getGuid()) + ) ? "image" : annotateDocumentRequest.getDocumentType(); + + String tempPath = getTempPath(documentGuid); + + AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); + // initiate list of annotations to add + List annotations = new ArrayList<>(); + + final Annotator annotator = new Annotator(documentGuid, getLoadOptions(password)); + try { + IDocumentInfo info = annotator.getDocument().getDocumentInfo(); + + for (int i = 0; i < annotationsData.length; i++) { + AnnotationDataEntity annotationData = annotationsData[i]; + PageInfo pageInfo = info.getPagesInfo().get(annotationsData[i].getPageNumber() - 1); + // add annotation, if current annotation type isn't supported by the current document type it will be ignored + try { + BaseAnnotator baseAnnotator = AnnotatorFactory.createAnnotator(annotationData, pageInfo); + if (baseAnnotator.isSupported(documentType)) { + annotations.add(baseAnnotator.getAnnotationBase(documentType)); + } + } catch (java.lang.RuntimeException ex) { + throw new AnnotatorException(ex.getMessage(), ex); + } + } + } finally { + if (annotator != null) { + annotator.dispose(); + } + } + + // Add annotation to the document + removeAnnotations(documentGuid, password); + // check if annotations array contains at least one annotation to add + if (annotations.size() != 0) { + final Annotator annotator1 = new Annotator(documentGuid, getLoadOptions(password)); + try { + //foreach to while statements conversion + Iterator tmp0 = (annotations).iterator(); + + while (tmp0.hasNext()) { + AnnotationBase annotation = (AnnotationBase) tmp0.next(); + annotator1.add(annotation); + } + + annotator1.save(tempPath); + } finally { + if (annotator1 != null) { + annotator1.dispose(); + } + } + + try (OutputStream fileStream = new FileOutputStream(documentGuid)) { + InputStream inputStream1 = new FileInputStream(tempPath); + IOUtils.copyLarge(inputStream1, fileStream); + } + } + + annotatedDocument = new AnnotatedDocumentEntity(); + annotatedDocument.setGuid(documentGuid); + if (annotateDocumentRequest.getPrint()) { + annotatedDocument.setPages(getAnnotatedPagesForPrint(password, documentGuid)); + Files.move(Paths.get(documentGuid), Paths.get(annotateDocumentRequest.getGuid())); + } + } catch (Exception ex) { + // set exception message + throw new TotalGroupDocsException(ex.getMessage()); + } + + return annotatedDocument; + + } + + private List getAnnotatedPagesForPrint(String password, String documentGuid) { + AnnotatedDocumentEntity description = new AnnotatedDocumentEntity(); + try { + InputStream outputStream = new FileInputStream(documentGuid); + try { + final Annotator annotator = new Annotator(outputStream, getLoadOptions(password)); + try { + IDocumentInfo info = annotator.getDocument().getDocumentInfo(); + List pagesContent = getAllPagesContent(password, documentGuid, info); + + for (int i = 0; i < info.getPageCount(); i++) { + PageDataDescriptionEntity page = new PageDataDescriptionEntity(); + + if (pagesContent.size() > 0) { + page.setData(pagesContent.get(i)); + } + + description.getPages().add(page); + } + } finally { + if (annotator != null) { + annotator.dispose(); + } + } + } finally { + if (outputStream != null) { + outputStream.close(); + } + } + + return description.getPages(); + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + + private static String getTempPath(String documentGuid) { + File fileName = new File(documentGuid); + return fileName.getParentFile().getPath() + "//tmp_" + fileName.getName(); + } + + public static void removeAnnotations(String documentGuid, String password) { + String tempPath = getTempPath(documentGuid); + + try { + final InputStream inputStream = new FileInputStream(documentGuid); + //final Stream inputStream = File.open(documentGuid, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); + try { + final Annotator annotator = new Annotator(inputStream, getLoadOptions(password)); + try { + SaveOptions tmp0 = new SaveOptions(); + tmp0.setAnnotationTypes(AnnotationType.None); + annotator.save(tempPath, tmp0); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } + } finally { + if (inputStream != null) { + inputStream.close(); + } + } + + + try (PrintWriter writer = new PrintWriter(documentGuid)) { + writer.print(""); + } + + try (OutputStream fileStream = new FileOutputStream(documentGuid)) { + InputStream inputStream1 = new FileInputStream(tempPath); + IOUtils.copyLarge(inputStream1, fileStream); + } + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + + private String getText1(String tempPath) { + String content = ""; + try { + InputStream is = new FileInputStream(tempPath); + BufferedReader buf = new BufferedReader(new InputStreamReader(is)); + String line = buf.readLine(); + StringBuilder sb = new StringBuilder(); + while(line != null){ + sb.append(line).append("\n"); + line = buf.readLine(); + } + content = sb.toString(); + } catch(Throwable ex) { + ex.getMessage(); + } + return content; + } + + private List getAllPagesContent(String password, String documentGuid, IDocumentInfo pages) { + List allPages = new ArrayList<>(); + + for (int i = 0; i < pages.getPageCount(); i++) { + byte[] bytes; + try (OutputStream memoryStream = renderPageToMemoryStream(i + 1, documentGuid, password)) { + ByteArrayOutputStream bos = (ByteArrayOutputStream) memoryStream; + bytes = bos.toByteArray(); //memoryStream.ToArray(); + } catch (IOException ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + + String encodedImage = new String(Base64.getEncoder().encode(bytes)); //Convert.ToBase64String(bytes); + allPages.add(encodedImage); + } + + return allPages; + } + +//------------------------------------------ + public List getAnnotationInfos(AnnotationPostedDataEntity annotateDocumentRequest, String documentType) { + try { + AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); + // get document info - required to get document page height and calculate annotation top position + + List annotations = new ArrayList<>(); + for (AnnotationDataEntity annotationData : annotationsData) { + // create annotator + // add annotation, if current annotation type isn't supported by the current document type it will be ignored + PageDataDescriptionEntity pageData = annotationPageDescriptionEntityList.get(annotationData.getPageNumber() - 1); + + PageInfo pageInfo = new PageInfo(); + pageInfo.setHeight((int) pageData.getHeight()); + //pageInfo.setPageNumber(pageData.getNumber()); + pageInfo.setWidth((int) pageData.getWidth()); + + try { + annotations.add(AnnotatorFactory.createAnnotator(annotationData, pageInfo).getAnnotationBase(documentType)); + } catch (Throwable ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + return annotations; + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } + + @Override + public InputStream annotateByStream(AnnotationPostedDataEntity annotateDocumentRequest) { + String documentGuid = annotateDocumentRequest.getGuid(); + String documentType = DocumentTypesConverter.checkedDocumentType(documentGuid, annotateDocumentRequest.getDocumentType()); + List annotations = getAnnotationInfos(annotateDocumentRequest, documentType); + try { + return annotateDocument(documentGuid, documentType, annotations); + } catch (FileNotFoundException ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } + } +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java index d107c29..3c8fbbd 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java @@ -1,93 +1,147 @@ package com.groupdocs.ui.annotation.util; -import com.groupdocs.annotation.domain.AnnotationInfo; -import com.groupdocs.annotation.domain.AnnotationReplyInfo; -import com.groupdocs.annotation.domain.Rectangle; +import com.groupdocs.annotation.models.PageInfo; +import com.groupdocs.annotation.models.Point; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.IBox; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.IFontColor; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.IFontFamily; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.IFontSize; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.IPoints; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.ISvgPath; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.ITextToReplace; +import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; import com.groupdocs.ui.annotation.entity.web.CommentsEntity; - import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; -/** - * Mapper for annotation entities - */ + public class AnnotationMapper { - /** - * Instance of mapper - */ - public static final AnnotationMapper instance = new AnnotationMapper(); private AnnotationMapper() { } /** + *

    * Map AnnotationInfo instances into AnnotationDataEntity + *

    * - * @param annotations list of AnnotationInfo instances - * @param pageNumber number of page for mapping - * @return list of AnnotationDataEntity instances + * @param pageInfo + * @return + * @param annotations AnnotationInfo[] + * @param pageNumber int */ - public AnnotationDataEntity[] mapForPage(AnnotationInfo[] annotations, int pageNumber) { + // AnnotationDataEntity[] => List + public static List mapForPage(List annotations, int pageNumber, PageInfo pageInfo) { //AnnotationBase[] => List // initiate annotations data array List pageAnnotations = new ArrayList<>(); - // set each annotation data - this functionality used since annotations data returned by the + // each annotation data - this functionality used since annotations data returned by the // GroupDocs.Annotation library are obfuscated - for (int n = 0; n < annotations.length; n++) { - AnnotationInfo annotationInfo = annotations[n]; - if(pageNumber == annotationInfo.getPageNumber() + 1) { - AnnotationDataEntity annotation = mapAnnotationDataEntity(annotationInfo); + for (int n = 0; n < annotations.size(); n++) { + AnnotationBase annotationInfo = annotations.get(n); + if (pageNumber == annotationInfo.getPageNumber() + 1) { + AnnotationDataEntity annotation = mapAnnotationDataEntity(annotationInfo, pageInfo); pageAnnotations.add(annotation); } } - AnnotationDataEntity[] ret = new AnnotationDataEntity[pageAnnotations.size()]; - return pageAnnotations.toArray(ret); + + return pageAnnotations; } /** + *

    * Map AnnotationInfo instances into AnnotationDataEntity + *

    * - * @param annotationInfo AnnotationInfo instance - * @return AnnotationDataEntity instance + * @param pageInfo + * @return AnnotationDataEntity + * @param annotationInfo AnnotationInfo */ - public AnnotationDataEntity mapAnnotationDataEntity(AnnotationInfo annotationInfo) { + public static AnnotationDataEntity mapAnnotationDataEntity(AnnotationBase annotationInfo, PageInfo pageInfo) { + String annotationTypeName = AnnotationType.getName(annotationInfo.getType()); //getAnnotationType(annotationInfo.getType()); //Enum.GetName(Operators.typeOf(AnnotationType.class), annotationInfo.getType()); + float maxY = 0, minY = 0, maxX = 0, minX = 0; + float boxX = 0, boxY = 0, boxHeight = 0, boxWidth = 0; + String svgPath = ""; + //annotationTypeName (java.lang.String) "Watermark" + if (annotationInfo instanceof IPoints) { + List points = ((IPoints)annotationInfo).getPoints(); + for (Point point : points) { + maxY = point.getY() > maxY ? point.getY(): maxY; + maxX = point.getX() > maxX ? point.getX(): maxX; + minY = point.getY() < minY ? point.getY(): minY; + minX = point.getX() < minX ? point.getX(): minX; + } + } + + if (annotationInfo instanceof IBox) { + Rectangle box = ((IBox)annotationInfo).getBox(); + boxX = box.getX(); + boxY = box.getY(); + boxHeight = box.getHeight(); + boxWidth = box.getWidth(); + + StringBuilder builder = new StringBuilder(). + append("M").append(box.getX()). + append(",").append(box.getY()). + append("L").append(box.getWidth()). + append(",").append(box.getHeight()); + + svgPath = builder.toString(); + } + AnnotationDataEntity annotation = new AnnotationDataEntity(); - annotation.setFont(annotationInfo.getFontFamily()); - annotation.setFontColor(annotationInfo.getFontColor()); - annotation.setFontSize(annotationInfo.getFontSize()); - Rectangle box = annotationInfo.getBox(); - annotation.setHeight(box.getHeight()); - annotation.setLeft(box.getX()); - annotation.setTop(box.getY()); - annotation.setWidth(box.getWidth()); - annotation.setPageNumber(annotationInfo.getPageNumber() + 1); - if (annotationInfo.getSvgPath() != null) { - annotation.setSvgPath(annotationInfo.getSvgPath().replace("l", "L")); + annotation.setFont(annotationInfo instanceof IFontFamily ? ((IFontFamily)annotationInfo).getFontFamily() : ""); + + Double fontSize = annotationInfo instanceof IFontSize ? (((IFontSize)annotationInfo).getFontSize() == null) ? 0.0 : ((IFontSize)annotationInfo).getFontSize() : 0.0; + + annotation.setFontSize(fontSize); + + annotation.setFontColor( + annotationInfo instanceof IFontColor ? + ((((IFontColor) annotationInfo).getFontColor() == null) ? 0 : (int)((IFontColor) annotationInfo).getFontColor()) + : 0 + ); + annotation.setHeight(annotationInfo instanceof IBox ? boxHeight : (annotationInfo instanceof IPoints ? (maxY - minY) : 0)); + annotation.setLeft(annotationInfo instanceof IBox ? boxX : (annotationInfo instanceof IPoints ? minX : 0)); + + annotation.setPageNumber((int)annotationInfo.getPageNumber() + 1); + annotation.setSvgPath(annotationInfo instanceof ISvgPath ? (((ISvgPath)annotationInfo).getSvgPath().replace("l", "L")) : svgPath); + + String text = ""; + if (annotationInfo.getMessage() == null && annotationInfo instanceof ITextToReplace) { + text = ((ITextToReplace) annotationInfo).getTextToReplace(); + } else if (annotationInfo.getMessage() != null) { + text = annotationInfo.getMessage(); } - String text = (annotationInfo.getText() == null) ? annotationInfo.getFieldText() : annotationInfo.getText(); annotation.setText(text); - annotation.setType(AnnotationTypes.instance.getAnnotationType(annotationInfo.getType())); - setReplies(annotationInfo, annotation); - return annotation; - } - - public void setReplies(AnnotationInfo annotationInfo, AnnotationDataEntity annotation) { - // set each reply data - AnnotationReplyInfo[] replies = annotationInfo.getReplies(); - if (replies != null && replies.length > 0) { - CommentsEntity[] comments = new CommentsEntity[replies.length]; - for (int m = 0; m < replies.length; m++) { + + // TODO: remove comment after check all annotations types on main formats + annotation.setTop(annotationInfo instanceof IBox ? boxY : (annotationInfo instanceof IPoints ? pageInfo.getHeight() - maxY : 0)); + //annotation.setType(char.ToLowerInvariant(annotationTypeName[0]) + annotationTypeName.Substring(1)); !!! + annotation.setType(annotationTypeName.toUpperCase()); + annotation.setWidth(annotationInfo instanceof IBox ? boxWidth : (annotationInfo instanceof IPoints ? (maxX - minX) : 0)); + // each reply data + List replies = annotationInfo.getReplies(); + if (replies != null && replies.size() > 0) { + CommentsEntity[] comments = new CommentsEntity[replies.size()]; + for (int m = 0; m < replies.size(); m++) { CommentsEntity comment = new CommentsEntity(); - AnnotationReplyInfo reply = replies[m]; - comment.setText(reply.getMessage()); - DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); + Reply reply = replies.get(m); + comment.setText(reply.getComment()); + DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); //"yyyy-MM-dd HH:mm:ss" comment.setTime(format.format(reply.getRepliedOn())); - comment.setUserName(reply.getUserName()); + + comment.setUserName(reply.getUser().getName()); comments[m] = comment; } annotation.setComments(comments); } + + return annotation; } -} +} \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java index 9475c67..44f1770 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java @@ -1,24 +1,36 @@ package com.groupdocs.ui.annotation.util; -import com.groupdocs.annotation.domain.DocumentType; +//import com.groupdocs.annotation.domain.DocumentType; + +import com.google.common.collect.Lists; +import com.groupdocs.annotation.models.DocumentType; +import static com.groupdocs.ui.common.util.Utils.parseFileExtension; +import java.util.List; /** * Converter for document types */ public class DocumentTypesConverter { + + private static final List supportedImageFormats = Lists.newArrayList("bmp", "jpeg", "jpg", "tiff", "tif", "png", "gif", "emf", "wmf", "dwg", "dicom", "djvu"); + private static final List supportedDiagramFormats = Lists.newArrayList(".vsd", ".vdx", ".vss", ".vsx", ".vst", ".vtx", ".vsdx", ".vdw", ".vstx", ".vssx"); + /** + *

    * Convert document type from string into int + *

    * - * @param documentType string value of document type - * @return int doc type + * @return int + * @param documentType string */ - public static final int getDocumentType(String documentType) { + public static int getDocumentType(String documentType) { switch (documentType) { case "Portable Document Format": case "PDF": return DocumentType.Pdf; case "Microsoft Word": case "WORDS": + case "Microsoft Word Open XML format (.docx)": return DocumentType.Words; case "Microsoft PowerPoint": case "SLIDES": @@ -35,4 +47,22 @@ public static final int getDocumentType(String documentType) { return DocumentType.Undefined; } } + + /** + * Check image and diagram document types + * + * @param documentGuid document name + * @param documentType string value of document type + * @return correct document type + */ + public static String checkedDocumentType(String documentGuid, String documentType) { + String fileExtension = parseFileExtension(documentGuid); + // check if document type is image + if (supportedImageFormats.contains(fileExtension)) { + documentType = "image"; + } else if (supportedDiagramFormats.contains(fileExtension)) { + documentType = "diagram"; + } + return documentType; + } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java index 104ba4c..f523ff4 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java @@ -76,9 +76,11 @@ public class SupportedAnnotations { public static String[] getSupportedAnnotations(String documentType) { switch (documentType) { + case "Adobe Portable Document format": case "Portable Document Format": case "PDF": return PDF; + case "Microsoft Word Open XML format": case "Microsoft Word": case "WORDS": return WORD; diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/Utils.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/Utils.java new file mode 100644 index 0000000..8ac9956 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/Utils.java @@ -0,0 +1,152 @@ +package com.groupdocs.ui.common.util; + +import com.google.common.collect.Ordering; +import com.groupdocs.ui.common.exception.TotalGroupDocsException; +import com.groupdocs.ui.common.util.comparator.FileNameComparator; +import com.groupdocs.ui.common.util.comparator.FileTypeComparator; +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.util.Base64; +import java.util.List; + +import static com.groupdocs.ui.common.exception.PasswordExceptions.INCORRECT_PASSWORD; +import static com.groupdocs.ui.common.exception.PasswordExceptions.PASSWORD_REQUIRED; + +public class Utils { + private static final Logger logger = LoggerFactory.getLogger(Utils.class); + + public static java.util.List orderByTypeAndName(List files) { + return Ordering.from(FileTypeComparator.instance).compound(FileNameComparator.instance).sortedCopy(files); + } + + /** + * Read stream and convert to string + * + * @param inputStream + * @return + * @throws IOException + */ + public static String getStringFromStream(InputStream inputStream) throws IOException { + byte[] bytes = IOUtils.toByteArray(inputStream); + // encode ByteArray into String + return Base64.getEncoder().encodeToString(bytes); + } + + /** + * Parse extension of the file's name + * + * @param documentGuid path to file + * @return extension of the file's name + */ + public static String parseFileExtension(String documentGuid) { + String extension = FilenameUtils.getExtension(documentGuid); + return extension == null ? null : extension.toLowerCase(); + } + + /** + * Get correct message for security exceptions + * + * @param password + * @return + */ + public static String getExceptionMessage(String password) { + return StringUtils.isEmpty(password) ? PASSWORD_REQUIRED : INCORRECT_PASSWORD; + } + + /** + * Rename file if exist + * + * @param directory directory where files are located + * @param fileName file name + * @return new file with new file name + */ + public static File getFreeFileName(String directory, String fileName) { + File file = null; + try { + File folder = new File(directory); + File[] listOfFiles = folder.listFiles(); + for (int i = 0; i < listOfFiles.length; i++) { + int number = i + 1; + String newFileName = FilenameUtils.removeExtension(fileName) + "-Copy(" + number + ")." + FilenameUtils.getExtension(fileName); + file = new File(directory + File.separator + newFileName); + if (!file.exists()) { + break; + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return file; + } + + /** + * Create file in previewPath and name imageGuid + * if the file is already exist, create new file with next number in name + * examples, 001, 002, 003, etc + * + * @param previewPath path to file folder + * @param imageGuid path to file + * @return created file + */ + public static File getFileWithUniqueName(String previewPath, String imageGuid, String ext) { + if (!StringUtils.isEmpty(imageGuid) && new File(imageGuid).exists()) { + return new File(imageGuid); + } else { + File[] listOfFiles = new File(previewPath).listFiles(); + if (listOfFiles == null) { + throw new RuntimeException("Can't list files of '" + previewPath + "' folder"); + } + return createUniqueFile(previewPath, listOfFiles, ext); + } + } + + private static File createUniqueFile(String previewPath, File[] listOfFiles, String ext) { + for (int i = 0; i <= listOfFiles.length; i++) { + // set file name, for example 001 + String fileName = String.format("%03d", i + 1); + File file = new File(String.format("%s%s%s.%s", previewPath, File.separator, fileName, ext)); + // check if file with such name already exists + if (!file.exists()) { + return file; + } + } + return new File(String.format("%s%s001.png", previewPath, File.separator)); + } + + /** + * Generate empty image for future signing with signature, such approach required to get signature as image + * + * @param width image width + * @param height image height + * @return + */ + public static BufferedImage getBufferedImage(int width, int height) { + BufferedImage bufImage = null; + try { + bufImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); + // Create a graphics contents on the buffered image + Graphics2D g2d = bufImage.createGraphics(); + // Draw graphics + g2d.setColor(Color.WHITE); + g2d.fillRect(0, 0, width, height); + // Graphics context no longer needed so dispose it + g2d.dispose(); + return bufImage; + } catch (Exception ex) { + throw new TotalGroupDocsException(ex.getMessage(), ex); + } finally { + if (bufImage != null) { + bufImage.flush(); + } + } + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/comparator/FileDateComparator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/comparator/FileDateComparator.java new file mode 100644 index 0000000..f5c4f8f --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/comparator/FileDateComparator.java @@ -0,0 +1,36 @@ +package com.groupdocs.ui.common.util.comparator; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.attribute.BasicFileAttributes; +import java.util.Comparator; + +public class FileDateComparator implements Comparator { + private static final Logger logger = LoggerFactory.getLogger(FileDateComparator.class); + + public static FileDateComparator instance = new FileDateComparator(); + + /** + * Compare two file names + * + * @param file1 + * @param file2 + * @return int + */ + @Override + public int compare(File file1, File file2) { + + try { + BasicFileAttributes attr1 = Files.readAttributes(file1.toPath(), BasicFileAttributes.class); + BasicFileAttributes attr2 = Files.readAttributes(file2.toPath(), BasicFileAttributes.class); + return attr1.creationTime().compareTo(attr2.creationTime()); + } catch (IOException e) { + logger.error("Error comparing files by creation date"); + } + return 0; + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/comparator/FileNameComparator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/comparator/FileNameComparator.java new file mode 100644 index 0000000..e5e1b1b --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/comparator/FileNameComparator.java @@ -0,0 +1,27 @@ +package com.groupdocs.ui.common.util.comparator; + +import java.io.File; +import java.util.Comparator; + +/** + * FileNameComparator + * Compare and sort file names alphabetically + * @author Aspose Pty Ltd + */ +public class FileNameComparator implements Comparator { + + public static FileNameComparator instance = new FileNameComparator(); + + /** + * Compare two file names + * @param file1 + * @param file2 + * @return int + */ + @Override + public int compare(File file1, File file2) { + + return String.CASE_INSENSITIVE_ORDER.compare(file1.getName(), + file2.getName()); + } +} diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/comparator/FileTypeComparator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/comparator/FileTypeComparator.java new file mode 100644 index 0000000..3ed0c74 --- /dev/null +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/common/util/comparator/FileTypeComparator.java @@ -0,0 +1,34 @@ +package com.groupdocs.ui.common.util.comparator; + +import java.io.File; +import java.util.Comparator; + +/** + * FileTypeComparator + * Compare and sort file types - folders first + * @author Aspose Pty Ltd + */ +public class FileTypeComparator implements Comparator { + + public static FileTypeComparator instance = new FileTypeComparator(); + + /** + * Compare two file types + * @param file1 + * @param file2 + * @return + */ + @Override + public int compare(File file1, File file2) { + + if (file1.isDirectory() && file2.isFile()) + return -1; + if (file1.isDirectory() && file2.isDirectory()) { + return 0; + } + if (file1.isFile() && file2.isFile()) { + return 0; + } + return 1; + } +} From f33b6fdc65e516c656f366b3ad325891f7c9a89a Mon Sep 17 00:00:00 2001 From: Alexander Tyutyunnyk Date: Mon, 1 Nov 2021 17:27:38 +0200 Subject: [PATCH 56/76] Fix errors from bug-tickets --- .../apps/annotation/src/app/app.module.ts | 4 +++- .../annotator/AbstractTextAnnotator.java | 6 +++--- .../annotator/DistanceAnnotator.java | 2 +- .../annotator/TextRedactionAnnotator.java | 5 +++++ .../service/AnnotationServiceImpl.java | 20 +------------------ .../ui/annotation/util/AnnotationMapper.java | 12 ++++++----- .../apps/annotation/src/app/app.module.ts | 6 ++++-- Demos/Spring/client/package.json | 2 +- .../annotator/AbstractTextAnnotator.java | 6 +++--- .../annotator/DistanceAnnotator.java | 2 +- .../annotator/TextRedactionAnnotator.java | 5 +++++ .../service/AnnotationServiceImpl.java | 18 ----------------- .../ui/annotation/util/AnnotationMapper.java | 12 +++++------ 13 files changed, 40 insertions(+), 60 deletions(-) diff --git a/Demos/Dropwizard/client/apps/annotation/src/app/app.module.ts b/Demos/Dropwizard/client/apps/annotation/src/app/app.module.ts index ae89b9d..32e6832 100644 --- a/Demos/Dropwizard/client/apps/annotation/src/app/app.module.ts +++ b/Demos/Dropwizard/client/apps/annotation/src/app/app.module.ts @@ -4,9 +4,11 @@ import {NgModule} from '@angular/core'; import {AppComponent} from './app.component'; import {AnnotationModule} from "@groupdocs.examples.angular/annotation"; +import { TranslateModule } from '@ngx-translate/core'; + @NgModule({ declarations: [AppComponent], - imports: [BrowserModule, AnnotationModule], + imports: [BrowserModule, AnnotationModule, TranslateModule.forRoot()], providers: [], bootstrap: [AppComponent] }) diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java index 879e4fd..21dd199 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java @@ -15,9 +15,9 @@ protected AbstractTextAnnotator(AnnotationDataEntity annotationData, PageInfo pa protected static java.util.List getPoints(AnnotationDataEntity annotationData, PageInfo pageInfo) { List tmp0 = new ArrayList<>(); tmp0.add(new Point(annotationData.getLeft(), pageInfo.getHeight() - annotationData.getTop())); - tmp0.add(new Point(annotationData.getLeft()+ annotationData.getWidth(), pageInfo.getHeight() - annotationData.getTop())); - tmp0.add(new Point(annotationData.getLeft(), pageInfo.getHeight() - annotationData.getTop()- annotationData.getHeight())); - tmp0.add(new Point(annotationData.getLeft()+ annotationData.getWidth(), pageInfo.getHeight() - annotationData.getTop()- annotationData.getHeight())); + tmp0.add(new Point(annotationData.getLeft() + annotationData.getWidth(), pageInfo.getHeight() - annotationData.getTop())); + tmp0.add(new Point(annotationData.getLeft(), pageInfo.getHeight() - annotationData.getTop() - annotationData.getHeight())); + tmp0.add(new Point(annotationData.getLeft() + annotationData.getWidth(), pageInfo.getHeight() - annotationData.getTop() - annotationData.getHeight())); return tmp0; } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java index a51cfee..0a0bcb7 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java @@ -63,7 +63,7 @@ protected final AnnotationBase initAnnotationBaseDistanceAnnotator(AnnotationBas if (comments != null && comments.length != 0) { Reply reply = distanceAnnotation.getReplies().get(0); if (reply != null) { - reply.setComment(String.format("{0} {1}", text, reply.getComment())); + reply.setComment(String.format("%s %s", text, reply.getComment())); } } diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java index 07a8c8c..c6efeff 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java @@ -43,6 +43,11 @@ public AnnotationBase annotatePdf() { textRedactionAnnotation = (TextRedactionAnnotation) initAnnotationBase(textRedactionAnnotation); return textRedactionAnnotation; } + + @Override + public AnnotationBase annotateWord() { + return annotatePdf(); + } @Override protected int getType() { diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java index a837e6b..900d629 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java @@ -475,24 +475,6 @@ public static void removeAnnotations(String documentGuid, String password) { } } - private String getText1(String tempPath) { - String content = ""; - try { - InputStream is = new FileInputStream(tempPath); - BufferedReader buf = new BufferedReader(new InputStreamReader(is)); - String line = buf.readLine(); - StringBuilder sb = new StringBuilder(); - while(line != null){ - sb.append(line).append("\n"); - line = buf.readLine(); - } - content = sb.toString(); - } catch(Throwable ex) { - ex.getMessage(); - } - return content; - } - private List getAllPagesContent(String password, String documentGuid, IDocumentInfo pages) { List allPages = new ArrayList<>(); @@ -512,7 +494,7 @@ private List getAllPagesContent(String password, String documentGuid, ID return allPages; } -//------------------------------------------ + public List getAnnotationInfos(AnnotationPostedDataEntity annotateDocumentRequest, String documentType) { try { AnnotationDataEntity[] annotationsData = annotateDocumentRequest.getAnnotationsData(); diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java index 3c8fbbd..52b9318 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java @@ -11,6 +11,7 @@ import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.IFontSize; import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.IPoints; import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.ISvgPath; +import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.IText; import com.groupdocs.annotation.models.annotationmodels.interfaces.properties.ITextToReplace; import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.ui.annotation.entity.web.AnnotationDataEntity; @@ -63,11 +64,11 @@ public static List mapForPage(List annotat * @param annotationInfo AnnotationInfo */ public static AnnotationDataEntity mapAnnotationDataEntity(AnnotationBase annotationInfo, PageInfo pageInfo) { - String annotationTypeName = AnnotationType.getName(annotationInfo.getType()); //getAnnotationType(annotationInfo.getType()); //Enum.GetName(Operators.typeOf(AnnotationType.class), annotationInfo.getType()); - float maxY = 0, minY = 0, maxX = 0, minX = 0; + String annotationTypeName = AnnotationType.getName(annotationInfo.getType()); + float maxY = 0, minY = Float.MAX_VALUE, maxX = 0, minX = Float.MAX_VALUE; // minY = 0, minX = 0 float boxX = 0, boxY = 0, boxHeight = 0, boxWidth = 0; String svgPath = ""; - //annotationTypeName (java.lang.String) "Watermark" + if (annotationInfo instanceof IPoints) { List points = ((IPoints)annotationInfo).getPoints(); for (Point point : points) { @@ -115,6 +116,8 @@ public static AnnotationDataEntity mapAnnotationDataEntity(AnnotationBase annota String text = ""; if (annotationInfo.getMessage() == null && annotationInfo instanceof ITextToReplace) { text = ((ITextToReplace) annotationInfo).getTextToReplace(); + } else if (annotationInfo instanceof IText && ((IText) annotationInfo).getText() != null) { + text = ((IText) annotationInfo).getText(); } else if (annotationInfo.getMessage() != null) { text = annotationInfo.getMessage(); } @@ -122,8 +125,7 @@ public static AnnotationDataEntity mapAnnotationDataEntity(AnnotationBase annota // TODO: remove comment after check all annotations types on main formats annotation.setTop(annotationInfo instanceof IBox ? boxY : (annotationInfo instanceof IPoints ? pageInfo.getHeight() - maxY : 0)); - //annotation.setType(char.ToLowerInvariant(annotationTypeName[0]) + annotationTypeName.Substring(1)); !!! - annotation.setType(annotationTypeName.toUpperCase()); + annotation.setType(annotationTypeName.toLowerCase()); annotation.setWidth(annotationInfo instanceof IBox ? boxWidth : (annotationInfo instanceof IPoints ? (maxX - minX) : 0)); // each reply data List replies = annotationInfo.getReplies(); diff --git a/Demos/Spring/client/apps/annotation/src/app/app.module.ts b/Demos/Spring/client/apps/annotation/src/app/app.module.ts index ae89b9d..0507138 100644 --- a/Demos/Spring/client/apps/annotation/src/app/app.module.ts +++ b/Demos/Spring/client/apps/annotation/src/app/app.module.ts @@ -4,11 +4,13 @@ import {NgModule} from '@angular/core'; import {AppComponent} from './app.component'; import {AnnotationModule} from "@groupdocs.examples.angular/annotation"; +import { TranslateModule } from '@ngx-translate/core'; + @NgModule({ declarations: [AppComponent], - imports: [BrowserModule, AnnotationModule], + imports: [BrowserModule, AnnotationModule, TranslateModule.forRoot()], providers: [], - bootstrap: [AppComponent] + bootstrap: [AppComponent], }) export class AppModule { } diff --git a/Demos/Spring/client/package.json b/Demos/Spring/client/package.json index be66aa3..c71927d 100644 --- a/Demos/Spring/client/package.json +++ b/Demos/Spring/client/package.json @@ -36,7 +36,7 @@ "@angular/platform-browser": "^8.2.4", "@angular/platform-browser-dynamic": "^8.2.4", "@angular/router": "^8.2.4", - "@groupdocs.examples.angular/annotation": "^0.8.54", + "@groupdocs.examples.angular/annotation": "^0.8.70", "@nrwl/angular": "^8.12.11", "common-components": "^1.0.5", "core-js": "^2.6.11", diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java index 879e4fd..21dd199 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AbstractTextAnnotator.java @@ -15,9 +15,9 @@ protected AbstractTextAnnotator(AnnotationDataEntity annotationData, PageInfo pa protected static java.util.List getPoints(AnnotationDataEntity annotationData, PageInfo pageInfo) { List tmp0 = new ArrayList<>(); tmp0.add(new Point(annotationData.getLeft(), pageInfo.getHeight() - annotationData.getTop())); - tmp0.add(new Point(annotationData.getLeft()+ annotationData.getWidth(), pageInfo.getHeight() - annotationData.getTop())); - tmp0.add(new Point(annotationData.getLeft(), pageInfo.getHeight() - annotationData.getTop()- annotationData.getHeight())); - tmp0.add(new Point(annotationData.getLeft()+ annotationData.getWidth(), pageInfo.getHeight() - annotationData.getTop()- annotationData.getHeight())); + tmp0.add(new Point(annotationData.getLeft() + annotationData.getWidth(), pageInfo.getHeight() - annotationData.getTop())); + tmp0.add(new Point(annotationData.getLeft(), pageInfo.getHeight() - annotationData.getTop() - annotationData.getHeight())); + tmp0.add(new Point(annotationData.getLeft() + annotationData.getWidth(), pageInfo.getHeight() - annotationData.getTop() - annotationData.getHeight())); return tmp0; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java index a51cfee..0a0bcb7 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java @@ -63,7 +63,7 @@ protected final AnnotationBase initAnnotationBaseDistanceAnnotator(AnnotationBas if (comments != null && comments.length != 0) { Reply reply = distanceAnnotation.getReplies().get(0); if (reply != null) { - reply.setComment(String.format("{0} {1}", text, reply.getComment())); + reply.setComment(String.format("%s %s", text, reply.getComment())); } } diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java index ac4e8be..b1e4394 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java @@ -43,6 +43,11 @@ public AnnotationBase annotatePdf() { textRedactionAnnotation = (TextRedactionAnnotation) initAnnotationBase(textRedactionAnnotation); return textRedactionAnnotation; } + + @Override + public AnnotationBase annotateWord() { + return annotatePdf(); + } @Override protected int getType() { diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java index 8fe541b..fa943ef 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java @@ -477,24 +477,6 @@ public static void removeAnnotations(String documentGuid, String password) { } } - private String getText1(String tempPath) { - String content = ""; - try { - InputStream is = new FileInputStream(tempPath); - BufferedReader buf = new BufferedReader(new InputStreamReader(is)); - String line = buf.readLine(); - StringBuilder sb = new StringBuilder(); - while(line != null){ - sb.append(line).append("\n"); - line = buf.readLine(); - } - content = sb.toString(); - } catch(Throwable ex) { - ex.getMessage(); - } - return content; - } - private List getAllPagesContent(String password, String documentGuid, IDocumentInfo pages) { List allPages = new ArrayList<>(); diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java index 037c871..52b9318 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java @@ -1,6 +1,5 @@ package com.groupdocs.ui.annotation.util; -import com.groupdocs.annotation.internal.c.a.ms.System.Convert; import com.groupdocs.annotation.models.PageInfo; import com.groupdocs.annotation.models.Point; import com.groupdocs.annotation.models.Rectangle; @@ -65,11 +64,11 @@ public static List mapForPage(List annotat * @param annotationInfo AnnotationInfo */ public static AnnotationDataEntity mapAnnotationDataEntity(AnnotationBase annotationInfo, PageInfo pageInfo) { - String annotationTypeName = AnnotationType.getName(annotationInfo.getType()); //getAnnotationType(annotationInfo.getType()); //Enum.GetName(Operators.typeOf(AnnotationType.class), annotationInfo.getType()); - float maxY = 0, minY = 0, maxX = 0, minX = 0; + String annotationTypeName = AnnotationType.getName(annotationInfo.getType()); + float maxY = 0, minY = Float.MAX_VALUE, maxX = 0, minX = Float.MAX_VALUE; // minY = 0, minX = 0 float boxX = 0, boxY = 0, boxHeight = 0, boxWidth = 0; String svgPath = ""; - //annotationTypeName (java.lang.String) "Watermark" + if (annotationInfo instanceof IPoints) { List points = ((IPoints)annotationInfo).getPoints(); for (Point point : points) { @@ -117,6 +116,8 @@ public static AnnotationDataEntity mapAnnotationDataEntity(AnnotationBase annota String text = ""; if (annotationInfo.getMessage() == null && annotationInfo instanceof ITextToReplace) { text = ((ITextToReplace) annotationInfo).getTextToReplace(); + } else if (annotationInfo instanceof IText && ((IText) annotationInfo).getText() != null) { + text = ((IText) annotationInfo).getText(); } else if (annotationInfo.getMessage() != null) { text = annotationInfo.getMessage(); } @@ -124,8 +125,7 @@ public static AnnotationDataEntity mapAnnotationDataEntity(AnnotationBase annota // TODO: remove comment after check all annotations types on main formats annotation.setTop(annotationInfo instanceof IBox ? boxY : (annotationInfo instanceof IPoints ? pageInfo.getHeight() - maxY : 0)); - //annotation.setType(char.ToLowerInvariant(annotationTypeName[0]) + annotationTypeName.Substring(1)); !!! - annotation.setType(annotationTypeName.toUpperCase()); + annotation.setType(annotationTypeName.toLowerCase()); annotation.setWidth(annotationInfo instanceof IBox ? boxWidth : (annotationInfo instanceof IPoints ? (maxX - minX) : 0)); // each reply data List replies = annotationInfo.getReplies(); From b6fc6fdd6184872a9fc6e67bb38a1aca70b9e411 Mon Sep 17 00:00:00 2001 From: Alexander Tyutyunnyk Date: Mon, 1 Nov 2021 17:29:07 +0200 Subject: [PATCH 57/76] Update version of annotation --- Demos/Dropwizard/pom.xml | 2 +- Demos/Spring/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Demos/Dropwizard/pom.xml b/Demos/Dropwizard/pom.xml index dc7521f..13b36aa 100644 --- a/Demos/Dropwizard/pom.xml +++ b/Demos/Dropwizard/pom.xml @@ -81,7 +81,7 @@ com.groupdocs groupdocs-annotation - 21.7 + 21.7.1 javax.xml.bind diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml index 3e3a0e5..f9468e2 100644 --- a/Demos/Spring/pom.xml +++ b/Demos/Spring/pom.xml @@ -132,7 +132,7 @@ com.groupdocs groupdocs-annotation - 21.7 + 21.7.1 From 5a0b11b8b633a8c83adad9371689f8296bbe9dc6 Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik <35294201+vladimir-litvinchik@users.noreply.github.com> Date: Wed, 22 Dec 2021 11:21:49 +0200 Subject: [PATCH 58/76] Updated GroupDocs.Annotation for Java to 21.7.2 --- Demos/Spring/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml index f9468e2..e8fe263 100644 --- a/Demos/Spring/pom.xml +++ b/Demos/Spring/pom.xml @@ -132,7 +132,7 @@ com.groupdocs groupdocs-annotation - 21.7.1 + 21.7.2 From 0d778902fd401f5775c853ff292b74a7636e878c Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik <35294201+vladimir-litvinchik@users.noreply.github.com> Date: Wed, 22 Dec 2021 11:22:06 +0200 Subject: [PATCH 59/76] Updated GroupDocs.Annotation for Java to 21.7.2 --- Demos/Dropwizard/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Demos/Dropwizard/pom.xml b/Demos/Dropwizard/pom.xml index 13b36aa..b424539 100644 --- a/Demos/Dropwizard/pom.xml +++ b/Demos/Dropwizard/pom.xml @@ -81,7 +81,7 @@ com.groupdocs groupdocs-annotation - 21.7.1 + 21.7.2 javax.xml.bind From d0cf869d9914888a17e204bbc8fec9a95337be15 Mon Sep 17 00:00:00 2001 From: Vladimir Litvinchik <35294201+vladimir-litvinchik@users.noreply.github.com> Date: Wed, 22 Dec 2021 11:22:30 +0200 Subject: [PATCH 60/76] Updated GroupDocs.Annotation for Java to 21.7.2 --- Examples/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/pom.xml b/Examples/pom.xml index 86f96d2..95a73f8 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -23,7 +23,7 @@ com.groupdocs groupdocs-annotation - 21.7 + 21.7.2 From 3a991b4db9fc17641ba74324cdd9e89e78d3db6f Mon Sep 17 00:00:00 2001 From: alexander-tyutyunnyk-a <59164975+alexander-tyutyunnyk-a@users.noreply.github.com> Date: Mon, 23 May 2022 14:27:58 +0300 Subject: [PATCH 61/76] Update pom.xml Change http to https --- Examples/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/pom.xml b/Examples/pom.xml index 95a73f8..6e1f4f1 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -35,7 +35,7 @@ GroupDocsJavaAPI GroupDocs Java API - http://artifact.groupdocs.com/repo/ + https://artifact.groupdocs.com/repo/ maven-central From 2a1054e31424309eac19ddef5925f993884d5ab9 Mon Sep 17 00:00:00 2001 From: alexander-tyutyunnyk-a <59164975+alexander-tyutyunnyk-a@users.noreply.github.com> Date: Mon, 23 May 2022 14:35:20 +0300 Subject: [PATCH 62/76] Update pom.xml Change http to https --- Demos/Dropwizard/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Demos/Dropwizard/pom.xml b/Demos/Dropwizard/pom.xml index b424539..3b89ea8 100644 --- a/Demos/Dropwizard/pom.xml +++ b/Demos/Dropwizard/pom.xml @@ -10,7 +10,7 @@ jar GroupDocs.Annotation Dropwizard - http://groupdocs.com + https://groupdocs.com UTF-8 From 14a30cd918e98b4d70f9287cb9af395f1740e1c2 Mon Sep 17 00:00:00 2001 From: alexander-tyutyunnyk-a <59164975+alexander-tyutyunnyk-a@users.noreply.github.com> Date: Mon, 23 May 2022 14:36:02 +0300 Subject: [PATCH 63/76] Update pom.xml Change http to https --- Examples/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/pom.xml b/Examples/pom.xml index 6e1f4f1..85bccae 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -30,7 +30,7 @@ GroupDocsArtifactRepository GroupDocs Artifact Repository - http://repository.groupdocs.com/repo/ + https://repository.groupdocs.com/repo/ GroupDocsJavaAPI From 785c69c2983f9e77b48e49bcfe7f182ea02545f5 Mon Sep 17 00:00:00 2001 From: alexander-tyutyunnyk-a <59164975+alexander-tyutyunnyk-a@users.noreply.github.com> Date: Mon, 23 May 2022 14:37:20 +0300 Subject: [PATCH 64/76] Update pom.xml Change http to https --- Demos/Spring/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml index e8fe263..f878cde 100644 --- a/Demos/Spring/pom.xml +++ b/Demos/Spring/pom.xml @@ -10,7 +10,7 @@ ${packaging.type} GroupDocs.Annotation for Java Spring Sample - http://groupdocs.com + https://groupdocs.com org.springframework.boot From af582873b131abab885180642bbed60e31cab5f8 Mon Sep 17 00:00:00 2001 From: SemenchenkoA Date: Mon, 13 Feb 2023 01:53:26 +0300 Subject: [PATCH 65/76] fix for release 23.2 --- Demos/Dropwizard/README.md | 6 +- Demos/Dropwizard/pom.xml | 4 +- .../annotation/annotator/AreaAnnotator.java | 2 +- .../annotation/annotator/ArrowAnnotator.java | 2 +- .../annotator/DistanceAnnotator.java | 2 +- .../annotation/annotator/PointAnnotator.java | 2 +- .../annotator/PolylineAnnotator.java | 2 +- .../annotator/ResourceRedactionAnnotator.java | 2 +- .../annotator/TextFieldAnnotator.java | 2 +- .../annotator/TextHighlightAnnotator.java | 2 +- .../annotator/TextRedactionAnnotator.java | 2 +- .../annotator/TextReplacementAnnotator.java | 2 +- .../annotator/TextStrikeoutAnnotator.java | 2 +- .../annotator/TextUnderlineAnnotator.java | 2 +- .../annotator/WatermarkAnnotator.java | 2 +- .../service/AnnotationServiceImpl.java | 15 ++-- .../util/DocumentTypesConverter.java | 48 +++++----- Demos/Spring/README.md | 6 +- Demos/Spring/pom.xml | 22 ++++- .../annotation/annotator/AreaAnnotator.java | 2 +- .../annotation/annotator/ArrowAnnotator.java | 2 +- .../annotator/DistanceAnnotator.java | 2 +- .../annotation/annotator/PointAnnotator.java | 2 +- .../annotator/PolylineAnnotator.java | 2 +- .../annotator/ResourceRedactionAnnotator.java | 2 +- .../annotator/TextFieldAnnotator.java | 2 +- .../annotator/TextHighlightAnnotator.java | 2 +- .../annotator/TextRedactionAnnotator.java | 2 +- .../annotator/TextReplacementAnnotator.java | 2 +- .../annotator/TextStrikeoutAnnotator.java | 2 +- .../annotator/TextUnderlineAnnotator.java | 2 +- .../annotator/WatermarkAnnotator.java | 2 +- .../ui/annotation/entity/Annotations.java | 2 +- .../service/AnnotationServiceImpl.java | 10 ++- .../service/IPageStreamFactory.java | 11 +-- .../service/StreamFactoryClass.java | 5 -- .../ui/annotation/util/AnnotationMapper.java | 1 - .../util/DocumentTypesConverter.java | 48 +++++----- .../annotation/util/SupportedAnnotations.java | 2 +- Examples/pom.xml | 13 ++- .../annotation/examples/Constants.java | 2 +- .../annotation/examples/RunExamples.java | 88 +++++++++---------- .../GenerateDocumentPagesPreview.java | 6 +- .../LoadDocumentFromAmazonS3.java | 2 +- .../LoadDocumentFromAzure.java | 2 +- .../saving/FilteringAnnotationTypes.java | 2 +- .../examples/basic_usage/AddReplies.java | 2 +- .../ExtractAnnotationsFromDocument.java | 35 +++++--- .../examples/basic_usage/GetFileInfo.java | 9 +- .../RemoveAnnotationFromDocument.java | 2 +- .../examples/basic_usage/RemoveReplies.java | 2 +- .../basic_usage/RemoveRepliesById.java | 2 +- .../AddAreaAnnotation.java | 2 +- .../AddArrowAnnotation.java | 2 +- .../AddDistanceAnnotation.java | 2 +- .../AddEllipseAnnotation.java | 2 +- .../AddPolylineAnnotation.java | 2 +- .../AddTextFieldAnnotation.java | 2 +- .../AddTextUnderlineAnnotation.java | 62 ++++++++++++- .../quick_start/SetLicenseFromFile.java | 2 +- .../quick_start/SetLicenseFromStream.java | 2 +- .../quick_start/SetMeteredLicense.java | 2 +- 62 files changed, 290 insertions(+), 189 deletions(-) diff --git a/Demos/Dropwizard/README.md b/Demos/Dropwizard/README.md index a78dcfb..341722c 100644 --- a/Demos/Dropwizard/README.md +++ b/Demos/Dropwizard/README.md @@ -1,6 +1,6 @@ ![Groupdocs document & pdf annotator](https://raw.githubusercontent.com/groupdocs-annotation/groupdocs-annotation.github.io/master/resources/image/banner.png "GroupDocs.Annotation") # GroupDocs.Annotation for Java Dropwizard Example -###### version 1.12.24 +###### version 1.12.25 [![GitHub license](https://img.shields.io/github/license/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard.svg)](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/blob/master/LICENSE) @@ -123,10 +123,10 @@ Download [latest release](https://github.com/groupdocs-annotation/GroupDocs.Anno **Note**: This method is **recommended** for running this sample behind firewall. ```bash -curl -J -L -o release.tar.gz https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/releases/download/1.12.24/release.tar.gz +curl -J -L -o release.tar.gz https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/releases/download/1.12.25/release.tar.gz tar -xvzf release.tar.gz cd release -java -jar annotation-1.12.24.jar configuration.yaml +java -jar annotation-1.12.25.jar configuration.yaml ## Open http://localhost:8080/annotation/ in your favorite browser. ``` diff --git a/Demos/Dropwizard/pom.xml b/Demos/Dropwizard/pom.xml index 3b89ea8..96c1329 100644 --- a/Demos/Dropwizard/pom.xml +++ b/Demos/Dropwizard/pom.xml @@ -6,7 +6,7 @@ com.groupdocs.ui annotation - 1.12.24 + 1.12.25 jar GroupDocs.Annotation Dropwizard @@ -81,7 +81,7 @@ com.groupdocs groupdocs-annotation - 21.7.2 + 23.2 javax.xml.bind diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java index 0e89848..6edbf8a 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java @@ -50,6 +50,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.Area; + return AnnotationType.AREA; } } diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java index 550f9e7..d5b10bc 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java @@ -67,7 +67,7 @@ protected Reply getAnnotationReplyInfo(CommentsEntity comment) { @Override protected int getType() { - return AnnotationType.Arrow; + return AnnotationType.ARROW; } @Override diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java index 0a0bcb7..1efc61b 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java @@ -72,7 +72,7 @@ protected final AnnotationBase initAnnotationBaseDistanceAnnotator(AnnotationBas @Override protected int getType() { - return AnnotationType.Distance; + return AnnotationType.DISTANCE; } @Override diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java index 2a4efe5..82c853f 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java @@ -51,6 +51,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.Point; + return AnnotationType.POINT; } } diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java index 96a5df6..a554cb1 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java @@ -74,6 +74,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.Polyline; + return AnnotationType.POLYLINE; } } diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java index a2b36e4..bef6255 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java @@ -52,6 +52,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.ResourcesRedaction; + return AnnotationType.RESOURCES_REDACTION; } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java index 2e62d73..4df87dc 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java @@ -56,6 +56,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.TextField; + return AnnotationType.TEXT_FIELD; } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java index c86eb95..cc4b08d 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java @@ -52,6 +52,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.TextHighlight; + return AnnotationType.TEXT_HIGHLIGHT; } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java index c6efeff..f1b3a4b 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java @@ -51,6 +51,6 @@ public AnnotationBase annotateWord() { @Override protected int getType() { - return AnnotationType.TextRedaction; + return AnnotationType.TEXT_REDACTION; } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java index e44b499..c6d92ca 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java @@ -53,6 +53,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.TextReplacement; + return AnnotationType.TEXT_REPLACEMENT; } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java index 363b30a..3f36675 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java @@ -53,6 +53,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.TextStrikeout; + return AnnotationType.TEXT_STRIKEOUT; } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java index 5249a4f..ef09636 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java @@ -55,6 +55,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.TextUnderline; + return AnnotationType.TEXT_UNDERLINE; } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java index cda6c22..b395e0a 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java @@ -55,6 +55,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.Watermark; + return AnnotationType.WATERMARK; } } \ No newline at end of file diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java index 900d629..ee15f59 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java @@ -1,13 +1,13 @@ package com.groupdocs.ui.annotation.service; -import com.groupdocs.annotation.license.License; +import com.groupdocs.annotation.licenses.License; import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; import com.groupdocs.annotation.Annotator; import com.groupdocs.annotation.IDocumentInfo; import com.groupdocs.annotation.exceptions.AnnotatorException; import com.groupdocs.annotation.models.PageInfo; import com.groupdocs.annotation.options.LoadOptions; -import com.groupdocs.annotation.options.PreviewFormats; +import com.groupdocs.annotation.options.pagepreview.PreviewFormats; import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.annotation.options.export.SaveOptions; import com.groupdocs.annotation.options.pagepreview.CreatePageStream; @@ -146,7 +146,12 @@ public final AnnotatedDocumentEntity loadDocument(LoadDocumentRequest loadDocume try { annotator = new Annotator(guid, loadOptions); - IDocumentInfo info = annotator.getDocument().getDocumentInfo(); + IDocumentInfo info = null; + try { + info = annotator.getDocument().getDocumentInfo(); + } catch (IOException e) { + e.printStackTrace(); + } List annotations = annotator.get(); description.setGuid(loadDocumentRequest.getGuid()); @@ -301,7 +306,7 @@ public InputStream annotateDocument(String documentGuid, String documentType, Li Annotator annotator = new Annotator(documentGuid); SaveOptions saveOptions = new SaveOptions(); - saveOptions.setAnnotationTypes(AnnotationType.None); + saveOptions.setAnnotationTypes(AnnotationType.NONE); annotator.save(documentGuid, saveOptions); @@ -448,7 +453,7 @@ public static void removeAnnotations(String documentGuid, String password) { final Annotator annotator = new Annotator(inputStream, getLoadOptions(password)); try { SaveOptions tmp0 = new SaveOptions(); - tmp0.setAnnotationTypes(AnnotationType.None); + tmp0.setAnnotationTypes(AnnotationType.NONE); annotator.save(tempPath, tmp0); } finally { if (annotator != null) { diff --git a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java index 44f1770..bac184e 100644 --- a/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java +++ b/Demos/Dropwizard/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java @@ -23,30 +23,30 @@ public class DocumentTypesConverter { * @return int * @param documentType string */ - public static int getDocumentType(String documentType) { - switch (documentType) { - case "Portable Document Format": - case "PDF": - return DocumentType.Pdf; - case "Microsoft Word": - case "WORDS": - case "Microsoft Word Open XML format (.docx)": - return DocumentType.Words; - case "Microsoft PowerPoint": - case "SLIDES": - return DocumentType.Slides; - case "image": - return DocumentType.Images; - case "Microsoft Excel": - case "CELLS": - return DocumentType.Cells; - case "AutoCAD Drawing File Format": - case "diagram": - return DocumentType.Diagram; - default: - return DocumentType.Undefined; - } - } +// public static int getDocumentType(String documentType) { +// switch (documentType) { +// case "Portable Document Format": +// case "PDF": +// return DocumentType.Pdf; +// case "Microsoft Word": +// case "WORDS": +// case "Microsoft Word Open XML format (.docx)": +// return DocumentType.Words; +// case "Microsoft PowerPoint": +// case "SLIDES": +// return DocumentType.Slides; +// case "image": +// return DocumentType.Images; +// case "Microsoft Excel": +// case "CELLS": +// return DocumentType.Cells; +// case "AutoCAD Drawing File Format": +// case "diagram": +// return DocumentType.Diagram; +// default: +// return DocumentType.Undefined; +// } +// } /** * Check image and diagram document types diff --git a/Demos/Spring/README.md b/Demos/Spring/README.md index 4556e02..b470452 100644 --- a/Demos/Spring/README.md +++ b/Demos/Spring/README.md @@ -1,6 +1,6 @@ ![Groupdocs document & pdf annotator](https://raw.githubusercontent.com/groupdocs-annotation/groupdocs-annotation.github.io/master/resources/image/banner.png "GroupDocs.Annotation") # GroupDocs.Annotation for Java Spring Example -###### version 1.12.27 +###### version 1.12.28 [![GitHub license](https://img.shields.io/github/license/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring.svg)](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/blob/master/LICENSE) @@ -131,10 +131,10 @@ Download [latest release](https://github.com/groupdocs-annotation/GroupDocs.Anno **Note**: This method is **recommended** for running this sample behind firewall. ```bash -curl -J -L -o release.tar.gz https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/releases/download/1.12.27/release.tar.gz +curl -J -L -o release.tar.gz https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/releases/download/1.12.28/release.tar.gz tar -xvzf release.tar.gz cd release -java -jar annotation-spring-1.12.27.jar configuration.yml +java -jar annotation-spring-1.12.28.jar configuration.yml ## Open http://localhost:8080/annotation/ in your favorite browser. ``` diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml index f878cde..19145d2 100644 --- a/Demos/Spring/pom.xml +++ b/Demos/Spring/pom.xml @@ -6,7 +6,7 @@ com.groupdocs.ui annotation-spring - 1.12.25 + 1.12.28 ${packaging.type} GroupDocs.Annotation for Java Spring Sample @@ -128,13 +128,24 @@ spring-boot-starter-thymeleaf 2.0.4.RELEASE - com.groupdocs groupdocs-annotation - 21.7.2 + 23.2 + + + org.tukaani + xz + 1.9 + + + com.aspose + aspose-note + 22.3 + jdk17 + com.google.guava guava @@ -153,6 +164,11 @@ GroupDocs Java API https://artifact.groupdocs.com/repo/ + + aspose-central + repository.aspose.com-releases + https://repository.aspose.com/repo + diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java index 0e89848..6edbf8a 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/AreaAnnotator.java @@ -50,6 +50,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.Area; + return AnnotationType.AREA; } } diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java index 550f9e7..d5b10bc 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ArrowAnnotator.java @@ -67,7 +67,7 @@ protected Reply getAnnotationReplyInfo(CommentsEntity comment) { @Override protected int getType() { - return AnnotationType.Arrow; + return AnnotationType.ARROW; } @Override diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java index 0a0bcb7..1efc61b 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/DistanceAnnotator.java @@ -72,7 +72,7 @@ protected final AnnotationBase initAnnotationBaseDistanceAnnotator(AnnotationBas @Override protected int getType() { - return AnnotationType.Distance; + return AnnotationType.DISTANCE; } @Override diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java index 2a4efe5..82c853f 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PointAnnotator.java @@ -51,6 +51,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.Point; + return AnnotationType.POINT; } } diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java index 96a5df6..a554cb1 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/PolylineAnnotator.java @@ -74,6 +74,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.Polyline; + return AnnotationType.POLYLINE; } } diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java index 1933748..4d66e9a 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/ResourceRedactionAnnotator.java @@ -52,6 +52,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.ResourcesRedaction; + return AnnotationType.RESOURCES_REDACTION; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java index 2e62d73..4df87dc 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextFieldAnnotator.java @@ -56,6 +56,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.TextField; + return AnnotationType.TEXT_FIELD; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java index b701943..799716a 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextHighlightAnnotator.java @@ -52,6 +52,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.TextHighlight; + return AnnotationType.TEXT_HIGHLIGHT; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java index b1e4394..2d21db5 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextRedactionAnnotator.java @@ -51,6 +51,6 @@ public AnnotationBase annotateWord() { @Override protected int getType() { - return AnnotationType.TextRedaction; + return AnnotationType.TEXT_REDACTION; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java index 9291466..1b81cc5 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextReplacementAnnotator.java @@ -53,6 +53,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.TextReplacement; + return AnnotationType.TEXT_REPLACEMENT; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java index f5a6a5c..c8ed96c 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextStrikeoutAnnotator.java @@ -53,6 +53,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.TextStrikeout; + return AnnotationType.TEXT_STRIKEOUT; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java index 53956be..e3c2b31 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/TextUnderlineAnnotator.java @@ -55,6 +55,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.TextUnderline; + return AnnotationType.TEXT_UNDERLINE; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java index 3e8c06a..927d18a 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/WatermarkAnnotator.java @@ -55,6 +55,6 @@ public AnnotationBase annotateDiagram() { @Override protected int getType() { - return AnnotationType.Watermark; + return AnnotationType.WATERMARK; } } \ No newline at end of file diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/Annotations.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/Annotations.java index db2c999..0fe8b6e 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/Annotations.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/entity/Annotations.java @@ -1,4 +1,4 @@ -package com.groupdocs.annotation.entity; +package com.groupdocs.ui.annotation.entity; public class Annotations { diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java index fa943ef..5e91d98 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java @@ -1,13 +1,13 @@ package com.groupdocs.ui.annotation.service; -import com.groupdocs.annotation.license.License; +import com.groupdocs.annotation.licenses.License; import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; import com.groupdocs.annotation.Annotator; import com.groupdocs.annotation.IDocumentInfo; import com.groupdocs.annotation.exceptions.AnnotatorException; import com.groupdocs.annotation.models.PageInfo; import com.groupdocs.annotation.options.LoadOptions; -import com.groupdocs.annotation.options.PreviewFormats; +import com.groupdocs.annotation.options.pagepreview.PreviewFormats; import com.groupdocs.annotation.options.export.AnnotationType; import com.groupdocs.annotation.options.export.SaveOptions; import com.groupdocs.annotation.options.pagepreview.CreatePageStream; @@ -183,6 +183,8 @@ public final AnnotatedDocumentEntity loadDocument(LoadDocumentRequest loadDocume } description.getPages().add(page); } + } catch (IOException e) { + e.printStackTrace(); } finally { if (annotator != null) { annotator.dispose(); @@ -304,7 +306,7 @@ public InputStream annotateDocument(String documentGuid, String documentType, Li Annotator annotator = new Annotator(documentGuid); SaveOptions saveOptions = new SaveOptions(); - saveOptions.setAnnotationTypes(AnnotationType.None); + saveOptions.setAnnotationTypes(AnnotationType.NONE); annotator.save(documentGuid, saveOptions); @@ -450,7 +452,7 @@ public static void removeAnnotations(String documentGuid, String password) { final Annotator annotator = new Annotator(inputStream, getLoadOptions(password)); try { SaveOptions tmp0 = new SaveOptions(); - tmp0.setAnnotationTypes(AnnotationType.None); + tmp0.setAnnotationTypes(AnnotationType.NONE); annotator.save(tempPath, tmp0); } finally { if (annotator != null) { diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/IPageStreamFactory.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/IPageStreamFactory.java index f4a072c..4c5b8ae 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/IPageStreamFactory.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/IPageStreamFactory.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package com.groupdocs.ui.annotation.service; import java.io.InputStream; @@ -13,8 +8,6 @@ * @author AlexT */ public interface IPageStreamFactory { - - public OutputStream createPageStream(int pageNumber); - - public void closePageStream(int pageNumber, InputStream pageStream); + OutputStream createPageStream(int pageNumber); + void closePageStream(int pageNumber, InputStream pageStream); } diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/StreamFactoryClass.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/StreamFactoryClass.java index 4e02618..ab43242 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/StreamFactoryClass.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/StreamFactoryClass.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package com.groupdocs.ui.annotation.service; import com.groupdocs.ui.annotation.entity.web.PageDataDescriptionEntity; diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java index 52b9318..3da9074 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java @@ -21,7 +21,6 @@ import java.util.ArrayList; import java.util.List; - public class AnnotationMapper { private AnnotationMapper() { diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java index 0402ff7..7a1a906 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/DocumentTypesConverter.java @@ -18,30 +18,30 @@ public class DocumentTypesConverter { * @return int * @param documentType string */ - public static int getDocumentType(String documentType) { - switch (documentType) { - case "Portable Document Format": - case "PDF": - return DocumentType.Pdf; - case "Microsoft Word": - case "WORDS": - case "Microsoft Word Open XML format (.docx)": - return DocumentType.Words; - case "Microsoft PowerPoint": - case "SLIDES": - return DocumentType.Slides; - case "image": - return DocumentType.Images; - case "Microsoft Excel": - case "CELLS": - return DocumentType.Cells; - case "AutoCAD Drawing File Format": - case "diagram": - return DocumentType.Diagram; - default: - return DocumentType.Undefined; - } - } +// public static int getDocumentType(String documentType) { +// switch (documentType) { +// case "Portable Document Format": +// case "PDF": +// return DocumentType.Pdf; +// case "Microsoft Word": +// case "WORDS": +// case "Microsoft Word Open XML format (.docx)": +// return DocumentType.Words; +// case "Microsoft PowerPoint": +// case "SLIDES": +// return DocumentType.Slides; +// case "image": +// return DocumentType.Images; +// case "Microsoft Excel": +// case "CELLS": +// return DocumentType.Cells; +// case "AutoCAD Drawing File Format": +// case "diagram": +// return DocumentType.Diagram; +// default: +// return DocumentType.Undefined; +// } +// } /** * Check image and diagram document types diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java index d0af772..33e2eb5 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/SupportedAnnotations.java @@ -1,6 +1,6 @@ package com.groupdocs.ui.annotation.util; -import com.groupdocs.annotation.entity.Annotations; +import com.groupdocs.ui.annotation.entity.Annotations; public class SupportedAnnotations { diff --git a/Examples/pom.xml b/Examples/pom.xml index 85bccae..cb4a565 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -23,7 +23,18 @@ com.groupdocs groupdocs-annotation - 21.7.2 + 23.2 + + + org.tukaani + xz + 1.9 + + + com.aspose + aspose-note + 22.3 + jdk17 diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java b/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java index 96ab6c6..f93b4d7 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java @@ -4,7 +4,7 @@ public class Constants { public static String PROJECT_PATH = System.getProperty("user.dir"); - public static final String LicensePath = "C:\\GroupDocs.Total.Java.lic"; + public static final String LicensePath = "C:\\Conholdate.Total.Product.Family.lic";//GroupDocs.Total.Java.lic"; public static final String SamplesPath = "\\Resources\\SampleFiles\\"; public static final String OutputPath = "\\Resources\\Output\\"; diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java b/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java index e70a90e..9ec87d7 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java @@ -20,112 +20,112 @@ public static void main(String[] args) throws IOException { // Quick Start SetLicenseFromFile.run(); SetLicenseFromStream.run(); -// SetMeteredLicense.run(); +// SetMeteredLicense.run(); // Get supported file formats GetSupportedFileFormats.run(); - + // Get file info - GetFileInfo.run(); - + GetFileInfo.run(); + // Extract annotations from document - ExtractAnnotationsFromDocument.run(); - +// ExtractAnnotationsFromDocument.run(); + // Remove annotation from document - RemoveAnnotationFromDocument.run(); - +// RemoveAnnotationFromDocument.run(); + // Generate document pages preview GenerateDocumentPagesPreview.run(); - + // Saving specific page range SavingSpecificPageRange.run(); - + // Saving only pages with annotations SavingOnlyPagesWithAnnotations.run(); - + // Filtering annotation types - // FilteringAnnotationTypes.run(); - Unsupported exception - +// FilteringAnnotationTypes.run();// - Unsupported exception + // Add area annotation AddAreaAnnotation.run(); - + // Add arrow annotation AddArrowAnnotation.run(); - + // Add distance annotation AddDistanceAnnotation.run(); - + // Add ellipse annotation AddEllipseAnnotation.run(); - + // Add link annotation AddLinkAnnotation.run(); - + // Add point annotation AddPointAnnotation.run(); - + // Add resources redaction annotation AddResourcesRedactionAnnotation.run(); - + // Add text highlight annotation AddTextHighlightAnnotation.run(); - + // Add text field annotation AddTextFieldAnnotation.run(); - + // Add text redaction annotation AddTextRedactionAnnotation.run(); - + // Add text replacement annotation AddTextReplacementAnnotation.run(); - + // Add text strikeout annotation AddTextStrikeoutAnnotation.run(); - + // Add polyline annotation AddPolylineAnnotation.run(); - + // Add underline annotation AddTextUnderlineAnnotation.run(); - + // Add watermark annotation AddWatermarkAnnotation.run(); - + // Add replies annotation AddReplies.run(); - + // Remove replies RemoveReplies.run(); - + // Remove replies by Id - RemoveRepliesById.run(); - +// RemoveRepliesById.run(); + // Remove replies by user name - RemoveRepliesByUserName.run(); - +// RemoveRepliesByUserName.run(); + // Update annotation UpdateAnnotation.run(); - // Load document from local disk - LoadDocumentFromLocalDisk.run(); - + // Load document from local disk + LoadDocumentFromLocalDisk.run(); + // Load document from stream LoadDocumentFromStream.run(); - + // Load password-protected documents LoadPasswordProtectedDocuments.run(); - + // Load document from url LoadDocumentFromUrl.run(); - + // Load document from FTP LoadDocumentFromFtp.run(); - + // Load document from AmazonS3 - // LoadDocumentFromAmazonS3.run(); - +// LoadDocumentFromAmazonS3.run(); + // Load document from Azure - // LoadDocumentFromAzure.run(); +// LoadDocumentFromAzure.run(); System.out.println(); System.out.println("All done."); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java index a4cfcfe..27cd456 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java @@ -3,7 +3,7 @@ import com.groupdocs.annotation.Annotator; import com.groupdocs.annotation.examples.Constants; import com.groupdocs.annotation.exception.GroupDocsException; -import com.groupdocs.annotation.options.PreviewFormats; +import com.groupdocs.annotation.options.pagepreview.PreviewFormats; import com.groupdocs.annotation.options.pagepreview.CreatePageStream; import com.groupdocs.annotation.options.pagepreview.PreviewOptions; import com.groupdocs.annotation.options.pagepreview.PageStreamFactory; @@ -27,8 +27,8 @@ public static void run() { @Override public OutputStream invoke(int pageNumber) { try { - String OutputPath = "//Resources//Output/"; - String fileName = OutputPath + "GenerateDocumentPagesPreview_"+pageNumber+".png"; + //String OutputPath = "//Resources//Output/"; + String fileName = Constants.getOutputFilePath("GenerateDocumentPagesPreview_"+pageNumber, "png");//OutputPath + "GenerateDocumentPagesPreview_"+pageNumber+".png"; OutputStream result = new FileOutputStream(fileName); return result; } catch (Exception ex) { diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAmazonS3.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAmazonS3.java index 17341c1..f6e943e 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAmazonS3.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAmazonS3.java @@ -1,4 +1,4 @@ -package com.groupdocs.annotation.examples.advanced_usage.loading.loadingdocumentsfromdifferentsources; +package com.groupdocs.annotation.examples.advanced_usage.loading.loading_documents_from_different_sources; import com.groupdocs.annotation.Annotator; import com.groupdocs.annotation.examples.Constants; diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAzure.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAzure.java index aa13d9f..df4433c 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAzure.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromAzure.java @@ -1,4 +1,4 @@ -package com.groupdocs.annotation.examples.advanced_usage.loading.loadingdocumentsfromdifferentsources; +package com.groupdocs.annotation.examples.advanced_usage.loading.loading_documents_from_different_sources; /** *

    diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/FilteringAnnotationTypes.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/FilteringAnnotationTypes.java index dcb0c04..5a599a9 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/FilteringAnnotationTypes.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/FilteringAnnotationTypes.java @@ -37,7 +37,7 @@ public static void run() { annotations.add(ellipse); annotator.add(annotations); SaveOptions saveOptions = new SaveOptions(); - saveOptions.setAnnotationTypes(AnnotationType.Ellipse); + saveOptions.setAnnotationTypes(AnnotationType.ELLIPSE); annotator.save(outputPath, saveOptions); } finally { if (annotator != null) { diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddReplies.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddReplies.java index 233a8a6..f789564 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddReplies.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddReplies.java @@ -44,7 +44,7 @@ public static void run() { area.setOpacity(0.7); area.setPageNumber(0); area.setPenColor(65535); - area.setPenStyle(PenStyle.Dot); + area.setPenStyle(PenStyle.DOT); area.setPenWidth((byte) 3); Reply reply1 = new Reply(); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java index 7717479..dfba9ed 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java @@ -4,7 +4,11 @@ import com.groupdocs.annotation.examples.Constants; import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; import com.groupdocs.annotation.options.LoadOptions; + +import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.IOException; +import java.io.InputStream; import java.util.Iterator; import java.util.List; @@ -15,20 +19,29 @@ */ public class ExtractAnnotationsFromDocument { - public static void run() throws IOException { + public static void run() { + //LoadOptions loadOptions = new LoadOptions(); + + try (final InputStream inputStream = new FileInputStream(Constants.ANNOTATED_IMPORT); + final Annotator annotator = new Annotator(inputStream/*, loadOptions*/)){ + List annotations = annotator.get(); - LoadOptions loadOptions = new LoadOptions(); - final Annotator annotator = new Annotator(Constants.ANNOTATED_IMPORT, loadOptions); + Iterator items = (annotations).iterator(); + while (items.hasNext()) { + AnnotationBase annotation = (AnnotationBase) items.next(); + System.out.println(annotation.getMessage()); + } + System.out.println("Annotations extracted successfully."); - List annotations = annotator.get(); + annotator.dispose(); + }catch (IOException e) { + e.printStackTrace(); + } /*catch (NoSuchFieldException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + }*/ - Iterator items = (annotations).iterator(); - while (items.hasNext()) { - AnnotationBase annotation = (AnnotationBase) items.next(); - System.out.println(annotation.getMessage()); - } - System.out.println("Annotations extracted successfully."); - annotator.dispose(); } } diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetFileInfo.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetFileInfo.java index 0f63756..f208237 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetFileInfo.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetFileInfo.java @@ -4,6 +4,8 @@ import com.groupdocs.annotation.IDocumentInfo; import com.groupdocs.annotation.examples.Constants; +import java.io.IOException; + /** *

    * This example demonstrates document info extraction @@ -14,7 +16,12 @@ public class GetFileInfo { public static void run() { final Annotator annotator = new Annotator(Constants.INPUT); - IDocumentInfo info = annotator.getDocument().getDocumentInfo(); + IDocumentInfo info = null; + try { + info = annotator.getDocument().getDocumentInfo(); + } catch (IOException e) { + e.printStackTrace(); + } System.out.println( "\nFile type: " + info.getFileType() + "\nNumber of pages: " + info.getPageCount() diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveAnnotationFromDocument.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveAnnotationFromDocument.java index 1855b73..aea9611 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveAnnotationFromDocument.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveAnnotationFromDocument.java @@ -19,7 +19,7 @@ public static void run() { final Annotator annotator = new Annotator(Constants.ANNOTATED_AREA_REPLIES_5); SaveOptions saveOptions = new SaveOptions(); - saveOptions.setAnnotationTypes(AnnotationType.None); + saveOptions.setAnnotationTypes(AnnotationType.NONE); annotator.save(outputPath, saveOptions); annotator.dispose(); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java index 552a074..87a2b64 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java @@ -24,7 +24,7 @@ public static void run() { // Obtain annotations collection from document List annotations = annotator.get(); // Remove first reply by index - annotations.get(0).getReplies().remove(0); + if(!annotations.isEmpty())annotations.get(0).getReplies().remove(0); // Save changes annotator.update(annotations); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java index 42228a6..d7e2407 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java @@ -26,7 +26,7 @@ public static void run() { List annotations = annotator.get(); // Remove reply with Id = 4 - annotations.get(0).getReplies().remove(4); + if(!annotations.isEmpty())annotations.get(0).getReplies().remove(4); // Save changes annotator.update(annotations); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java index 220c66a..4156c97 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java @@ -42,7 +42,7 @@ public static void run() { area.setOpacity(0.7); area.setPageNumber(0); area.setPenColor(65535); - area.setPenStyle(PenStyle.Dot); + area.setPenStyle(PenStyle.DOT); area.setPenWidth((byte) 3); area.setReplies(replies); annotator.add(area); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddArrowAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddArrowAnnotation.java index e70a1b1..a8f30f0 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddArrowAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddArrowAnnotation.java @@ -41,7 +41,7 @@ public static void run() { arrow.setOpacity(0.7); arrow.setPageNumber(0); arrow.setPenColor(65535); - arrow.setPenStyle(PenStyle.Dot); + arrow.setPenStyle(PenStyle.DOT); arrow.setPenWidth((byte) 3); arrow.setReplies(replies); annotator.add(arrow); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddDistanceAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddDistanceAnnotation.java index be9cf24..498721d 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddDistanceAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddDistanceAnnotation.java @@ -41,7 +41,7 @@ public static void run() { distance.setOpacity(0.7); distance.setPageNumber(0); distance.setPenColor(65535); - distance.setPenStyle(PenStyle.Dot); + distance.setPenStyle(PenStyle.DOT); distance.setPenWidth((byte) 3); distance.setReplies(replies); annotator.add(distance); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddEllipseAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddEllipseAnnotation.java index cb391e3..2f346bd 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddEllipseAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddEllipseAnnotation.java @@ -42,7 +42,7 @@ public static void run() { ellipse.setOpacity(0.7); ellipse.setPageNumber(0); ellipse.setPenColor(65535); - ellipse.setPenStyle(PenStyle.Dot); + ellipse.setPenStyle(PenStyle.DOT); ellipse.setPenWidth((byte) 3); ellipse.setReplies(replies); annotator.add(ellipse); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java index 016624a..c29e518 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java @@ -41,7 +41,7 @@ public static void run() { polyline.setOpacity(0.7); polyline.setPageNumber(0); polyline.setPenColor(65535); - polyline.setPenStyle(PenStyle.Dot); + polyline.setPenStyle(PenStyle.DOT); polyline.setPenWidth((byte) 3); polyline.setReplies(replies); polyline.setSvgPath("M250.8280751173709,48.209295774647885l0.6986854460093896,0l0.6986854460093896,-1.3973708920187793l0.6986854460093896,0l0.6986854460093896,-1.3973708920187793l1.3973708920187793,-0.6986854460093896l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0l2.096056338028169,-1.3973708920187793l3.493427230046948,-1.3973708920187793l0.6986854460093896,-0.6986854460093896l1.3973708920187793,-1.3973708920187793l0.6986854460093896,0l1.3973708920187793,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0l0,-0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l0,-0.6986854460093896l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l2.096056338028169,-0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l1.3973708920187793,0l1.3973708920187793,0l2.096056338028169,0l5.589483568075117,0l1.3973708920187793,0l2.096056338028169,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l1.3973708920187793,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0l2.096056338028169,1.3973708920187793l0.6986854460093896,0l0.6986854460093896,0l0,0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0.6986854460093896l0,0.6986854460093896l0.6986854460093896,0l1.3973708920187793,0.6986854460093896l1.3973708920187793,0.6986854460093896l3.493427230046948,0.6986854460093896l1.3973708920187793,0.6986854460093896l2.096056338028169,0.6986854460093896l1.3973708920187793,0.6986854460093896l1.3973708920187793,0l1.3973708920187793,0.6986854460093896l0.6986854460093896,0l0.6986854460093896,0.6986854460093896l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l2.7947417840375586,0l1.3973708920187793,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l1.3973708920187793,0l0.6986854460093896,0l2.7947417840375586,0l0.6986854460093896,0l2.7947417840375586,0l1.3973708920187793,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,0l0.6986854460093896,-0.6986854460093896l0.6986854460093896,0"); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextFieldAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextFieldAnnotation.java index 455ac7d..2b791d3 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextFieldAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextFieldAnnotation.java @@ -44,7 +44,7 @@ public static void run() { textField.setMessage("This is text field annotation"); textField.setOpacity(0.7); textField.setPageNumber(0); - textField.setPenStyle(PenStyle.Dot); + textField.setPenStyle(PenStyle.DOT); textField.setPenWidth((byte) 3); textField.setReplies(replies); annotator.add(textField); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextUnderlineAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextUnderlineAnnotation.java index e9be4f2..533292c 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextUnderlineAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextUnderlineAnnotation.java @@ -5,9 +5,14 @@ import com.groupdocs.annotation.models.Point; import com.groupdocs.annotation.models.Reply; import com.groupdocs.annotation.models.annotationmodels.UnderlineAnnotation; + +import java.nio.file.Paths; import java.util.ArrayList; import java.util.Calendar; import java.util.List; + +import com.groupdocs.annotation.options.export.AnnotationType; +import com.groupdocs.annotation.options.export.SaveOptions; import org.apache.commons.io.FilenameUtils; /** @@ -18,9 +23,10 @@ public class AddTextUnderlineAnnotation { public static void run() { + //String outputPath = Constants.getOutputFilePath("sample", "docx"); String outputPath = Constants.getOutputFilePath("AddTextUnderlineAnnotation", FilenameUtils.getExtension(Constants.INPUT)); - final Annotator annotator = new Annotator(Constants.INPUT); + Annotator annotator = new Annotator(/*Constants.PROJECT_PATH + Constants.SamplesPath + "sample.docx"*/Constants.INPUT); Reply reply1 = new Reply(); reply1.setComment("First comment"); @@ -59,5 +65,59 @@ public static void run() { annotator.dispose(); System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + + annotator = new Annotator(outputPath); + + SaveOptions saveOptions = new SaveOptions(); + saveOptions.setAnnotationTypes(AnnotationType.NONE); + + String noneAnnotation = Paths.get(outputPath).resolveSibling("none-annotation.pdf").toString(); + + annotator.save(noneAnnotation, saveOptions); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + noneAnnotation); +// String outputPath = Constants.getOutputFilePath("AddTextUnderlineAnnotation", FilenameUtils.getExtension(Constants.INPUT)); +// +// final Annotator annotator = new Annotator(Constants.INPUT); +// +// Reply reply1 = new Reply(); +// reply1.setComment("First comment"); +// reply1.setRepliedOn(Calendar.getInstance().getTime()); +// +// Reply reply2 = new Reply(); +// reply2.setComment("Second comment"); +// reply2.setRepliedOn(Calendar.getInstance().getTime()); +// +// java.util.List replies = new ArrayList(); +// replies.add(reply1); +// replies.add(reply2); +// +// Point point1 = new Point(80, 730); +// Point point2 = new Point(240, 730); +// Point point3 = new Point(80, 650); +// Point point4 = new Point(240, 650); +// +// List points = new ArrayList(); +// points.add(point1); +// points.add(point2); +// points.add(point3); +// points.add(point4); +// +// UnderlineAnnotation underline = new UnderlineAnnotation(); +// underline.setCreatedOn(Calendar.getInstance().getTime()); +// underline.setFontColor(65535); +// underline.setMessage("This is underline annotation"); +// underline.setOpacity(0.7); +// underline.setPageNumber(0); +// underline.setPoints(points); +// underline.setReplies(replies); +// annotator.add(underline); +// annotator.save(outputPath); +// +// annotator.dispose(); +// +// System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); } } \ No newline at end of file diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromFile.java b/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromFile.java index 6b4efcb..a4caea4 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromFile.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromFile.java @@ -1,7 +1,7 @@ package com.groupdocs.annotation.examples.quick_start; import com.groupdocs.annotation.examples.Constants; -import com.groupdocs.annotation.license.License; +import com.groupdocs.annotation.licenses.License; import java.io.File; /** diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromStream.java b/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromStream.java index 04af39c..2f2b1d7 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromStream.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetLicenseFromStream.java @@ -1,7 +1,7 @@ package com.groupdocs.annotation.examples.quick_start; import com.groupdocs.annotation.examples.Constants; -import com.groupdocs.annotation.license.License; +import com.groupdocs.annotation.licenses.License; import java.io.File; import java.io.FileInputStream; import java.io.IOException; diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetMeteredLicense.java b/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetMeteredLicense.java index 035cd73..7745279 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetMeteredLicense.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/quick_start/SetMeteredLicense.java @@ -1,6 +1,6 @@ package com.groupdocs.annotation.examples.quick_start; -import com.groupdocs.annotation.license.Metered; +import com.groupdocs.annotation.licenses.Metered; /** *

    From 6586fbefa2844a1a2eeaaa47ec3b08202a230be7 Mon Sep 17 00:00:00 2001 From: SemenchenkoA Date: Tue, 14 Feb 2023 02:20:47 +0300 Subject: [PATCH 66/76] fix libs --- Examples/pom.xml | 17 +++-------------- .../annotation/examples/Constants.java | 2 ++ .../annotation/examples/RunExamples.java | 2 ++ .../basic_usage/MinimalAnnotation.java | 18 ++++++++++++++++++ 4 files changed, 25 insertions(+), 14 deletions(-) create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/MinimalAnnotation.java diff --git a/Examples/pom.xml b/Examples/pom.xml index cb4a565..7d0c3ff 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -5,8 +5,8 @@ GroupDocs.Annotation-for-Java 0.0.1-SNAPSHOT - 7 - 7 + 8 + 8 @@ -23,18 +23,7 @@ com.groupdocs groupdocs-annotation - 23.2 - - - org.tukaani - xz - 1.9 - - - com.aspose - aspose-note - 22.3 - jdk17 + 23.2-20230213-0421 diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java b/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java index f93b4d7..1ce50b5 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java @@ -20,6 +20,8 @@ public class Constants { public static String ANNOTATED = getSampleFilePath("annotated.pdf"); public static String ANNOTATED_IMPORT = getSampleFilePath("annotated_import.pdf"); + public static String INPUT_DOC = getSampleFilePath("sample.docx"); + private static String getSampleFilePath(String fileName) { return PROJECT_PATH + SamplesPath + fileName; } diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java b/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java index 9ec87d7..ab7f377 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java @@ -126,6 +126,8 @@ public static void main(String[] args) throws IOException { // Load document from Azure // LoadDocumentFromAzure.run(); + + MinimalAnnotation.run(); System.out.println(); System.out.println("All done."); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/MinimalAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/MinimalAnnotation.java new file mode 100644 index 0000000..dd946db --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/MinimalAnnotation.java @@ -0,0 +1,18 @@ +package com.groupdocs.annotation.examples.basic_usage; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.annotationmodels.ArrowAnnotation; +import org.apache.commons.io.FilenameUtils; + +public class MinimalAnnotation { + public static void run() { + final Annotator annotator = new Annotator(Constants.INPUT_DOC); + String outputPath = Constants.getOutputFilePath("MinimalAnnotation", FilenameUtils.getExtension(Constants.INPUT_DOC)); + final ArrowAnnotation arrowAnnotation = new ArrowAnnotation(); + arrowAnnotation.setBox(new Rectangle(100, 100, 200, 200)); + annotator.add(arrowAnnotation); + annotator.save(outputPath); + } +} From 17a64d62abd5f5463d0b5b54706ece70cabc0e2c Mon Sep 17 00:00:00 2001 From: SemenchenkoA Date: Thu, 16 Feb 2023 02:20:29 +0300 Subject: [PATCH 67/76] fix lib annotation version --- Demos/Spring/pom.xml | 13 ------------- Examples/pom.xml | 2 +- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml index 19145d2..14f93aa 100644 --- a/Demos/Spring/pom.xml +++ b/Demos/Spring/pom.xml @@ -133,19 +133,6 @@ groupdocs-annotation 23.2 - - org.tukaani - xz - 1.9 - - - com.aspose - aspose-note - 22.3 - jdk17 - - - com.google.guava guava diff --git a/Examples/pom.xml b/Examples/pom.xml index 7d0c3ff..e0b3311 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -23,7 +23,7 @@ com.groupdocs groupdocs-annotation - 23.2-20230213-0421 + 23.2 From 408bd837f057201638d13a216ba83017e74d9384 Mon Sep 17 00:00:00 2001 From: SemenchenkoA Date: Fri, 17 Feb 2023 11:40:34 +0300 Subject: [PATCH 68/76] update description --- Examples/Resources/SampleFiles/sampleNew.pdf | Bin 0 -> 121917 bytes .../annotation/examples/Constants.java | 1 + .../GenerateDocumentPagesPreview.java | 11 ++--- .../basic_usage/MinimalAnnotation.java | 13 ++--- README.md | 45 +++++------------- 5 files changed, 24 insertions(+), 46 deletions(-) create mode 100644 Examples/Resources/SampleFiles/sampleNew.pdf diff --git a/Examples/Resources/SampleFiles/sampleNew.pdf b/Examples/Resources/SampleFiles/sampleNew.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ef4cae4dbb1c48f063d2bd3f82d255f5c903562e GIT binary patch literal 121917 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 literal 0 HcmV?d00001 diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java b/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java index 1ce50b5..34e6eb7 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java @@ -21,6 +21,7 @@ public class Constants { public static String ANNOTATED_IMPORT = getSampleFilePath("annotated_import.pdf"); public static String INPUT_DOC = getSampleFilePath("sample.docx"); + public static String INPUT_NEW = getSampleFilePath("sampleNew.pdf"); private static String getSampleFilePath(String fileName) { return PROJECT_PATH + SamplesPath + fileName; diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java index 27cd456..1e42530 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java @@ -3,14 +3,11 @@ import com.groupdocs.annotation.Annotator; import com.groupdocs.annotation.examples.Constants; import com.groupdocs.annotation.exception.GroupDocsException; -import com.groupdocs.annotation.options.pagepreview.PreviewFormats; import com.groupdocs.annotation.options.pagepreview.CreatePageStream; +import com.groupdocs.annotation.options.pagepreview.PreviewFormats; import com.groupdocs.annotation.options.pagepreview.PreviewOptions; -import com.groupdocs.annotation.options.pagepreview.PageStreamFactory; -import java.io.File; -import java.io.FileNotFoundException; + import java.io.FileOutputStream; -import java.io.IOException; import java.io.OutputStream; /** @@ -21,7 +18,7 @@ public class GenerateDocumentPagesPreview { public static void run() { - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_NEW); PreviewOptions previewOptions = new PreviewOptions(new CreatePageStream() { @Override @@ -37,6 +34,8 @@ public OutputStream invoke(int pageNumber) { } }); + previewOptions.setResolution(50); + previewOptions.setPreviewFormat(PreviewFormats.PNG); previewOptions.setPageNumbers(new int[]{1, 2}); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/MinimalAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/MinimalAnnotation.java index dd946db..0b79f76 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/MinimalAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/MinimalAnnotation.java @@ -8,11 +8,12 @@ public class MinimalAnnotation { public static void run() { - final Annotator annotator = new Annotator(Constants.INPUT_DOC); - String outputPath = Constants.getOutputFilePath("MinimalAnnotation", FilenameUtils.getExtension(Constants.INPUT_DOC)); - final ArrowAnnotation arrowAnnotation = new ArrowAnnotation(); - arrowAnnotation.setBox(new Rectangle(100, 100, 200, 200)); - annotator.add(arrowAnnotation); - annotator.save(outputPath); + try(final Annotator annotator = new Annotator(Constants.INPUT_DOC)){ + String outputPath = Constants.getOutputFilePath("MinimalAnnotation", FilenameUtils.getExtension(Constants.INPUT_DOC)); + final ArrowAnnotation arrowAnnotation = new ArrowAnnotation(); + arrowAnnotation.setBox(new Rectangle(100, 100, 200, 200)); + annotator.add(arrowAnnotation); + annotator.save(outputPath); + } } } diff --git a/README.md b/README.md index c13ef2e..8057bdd 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![GitHub release (latest by date)](https://img.shields.io/github/v/release/groupdocs-annotation/GroupDocs.Annotation-for-Java) ![GitHub all releases](https://img.shields.io/github/downloads/groupdocs-annotation/GroupDocs.Annotation-for-Java/total) ![GitHub](https://img.shields.io/github/license/groupdocs-annotation/GroupDocs.Annotation-for-Java) +![GitHub](https://img.shields.io/github/license/groupdocs-annotation/GroupDocs.Annotation-for-Java) # Java Library for Document Annotation @@ -22,7 +22,7 @@ Directory | Description - Add or remove comments. - Export annotated documents. - [Generate document previews & thumbnails](https://docs.groupdocs.com/annotation/java/generate-document-pages-preview/). -- Load password protected documents. +- Load password-protected documents. - Save annotated pages or pages by range. ## Annotation Objects @@ -33,43 +33,20 @@ Directory | Description ## Get Started with GroupDocs.Annotation for Java -GroupDocs.Annotation for Java requires J2SE 7.0 (1.7), J2SE 8.0 (1.8) or above. Please install Java first if you do not have it already. +GroupDocs.Annotation for Java requires J2SE 8.0 (1.8) or above. Please install Java first if you do not have it already. GroupDocs hosts all Java APIs on [GroupDocs Artifact Repository](https://artifact.groupdocs.com/webapp/#/artifacts/browse/tree/General/repo/com/groupdocs/groupdocs-annotation), so simply [configure](https://docs.groupdocs.com/annotation/java/installation/) your Maven project to fetch the dependencies automatically. -## Add Watermark Annotation +## Add Arrow Annotation ```java -String outputPath = Constants.getOutputFilePath("AddWatermarkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); -final Annotator annotator = new Annotator(Constants.INPUT); -try { - Reply reply1 = new Reply(); - reply1.setComment("First comment"); - reply1.setRepliedOn(Calendar.getInstance().getTime()); - Reply reply2 = new Reply(); - reply2.setComment("Second comment"); - reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); - replies.add(reply1); - replies.add(reply2); - WatermarkAnnotation watermark = new WatermarkAnnotation(); - watermark.setAngle((double) 75); - watermark.setBox(new Rectangle(200, 200, 100, 50)); - watermark.setCreatedOn(Calendar.getInstance().getTime()); - watermark.setText("Watermark"); - watermark.setFontColor(65535); - watermark.setFontSize((double) 12); - watermark.setMessage("This is watermark annotation"); - watermark.setOpacity(0.7); - watermark.setPageNumber(0); - watermark.setReplies(replies); - annotator.add(watermark); - annotator.save(outputPath); -} finally { - if (annotator != null) { - annotator.dispose(); - } -} + try(final Annotator annotator = new Annotator(Constants.INPUT_DOC)){ + String outputPath = Constants.getOutputFilePath("MinimalAnnotation", FilenameUtils.getExtension(Constants.INPUT_DOC)); + final ArrowAnnotation arrowAnnotation = new ArrowAnnotation(); + arrowAnnotation.setBox(new Rectangle(100, 100, 200, 200)); + annotator.add(arrowAnnotation); + annotator.save(outputPath); + } ``` [Home](https://www.groupdocs.com/) | [Product Page](https://products.groupdocs.com/annotation/java) | [Documentation](https://docs.groupdocs.com/annotation/java/) | [Demos](https://products.groupdocs.app/annotation/family) | [API Reference](https://apireference.groupdocs.com/java/annotation) | [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | [Blog](https://blog.groupdocs.com/category/annotation/) | [Search](https://search.groupdocs.com/) | [Free Support](https://forum.groupdocs.com/c/annotation) | [Temporary License](https://purchase.groupdocs.com/temporary-license) From 170b188bc07175e94cbfce6848070584482e1aad Mon Sep 17 00:00:00 2001 From: SemenchenkoA Date: Mon, 17 Apr 2023 18:48:13 +0300 Subject: [PATCH 69/76] prepare-2304 --- Demos/Dropwizard/client/package.json | 2 +- Demos/Dropwizard/pom.xml | 2 +- Demos/Spring/client/package.json | 2 +- Demos/Spring/pom.xml | 2 +- Examples/Resources/SampleFiles/input.xlsx | Bin 0 -> 26899 bytes Examples/pom.xml | 2 +- .../annotation/examples/Constants.java | 5 +- .../annotation/examples/RunExamples.java | 22 ++++--- .../GenerateDocumentPagesPreview.java | 43 ++++++------- .../LoadPasswordProtectedDocuments.java | 2 +- .../LoadDocumentFromFtp.java | 2 +- .../LoadDocumentFromLocalDisk.java | 4 +- .../LoadDocumentFromStream.java | 4 +- .../LoadDocumentFromUrl.java | 2 +- .../saving/FilteringAnnotationTypes.java | 21 +++---- .../SavingOnlyPagesWithAnnotations.java | 43 ++++++------- .../saving/SavingSpecificPageRange.java | 20 +++--- .../examples/basic_usage/AddReplies.java | 4 +- .../examples/basic_usage/AddUserRole.java | 58 ++++++++++++++++++ .../ExtractAnnotationsFromDocument.java | 26 ++------ .../examples/basic_usage/GetFileInfo.java | 27 ++++---- .../RemoveAnnotationFromDocument.java | 2 +- .../examples/basic_usage/RemoveReplies.java | 2 +- .../basic_usage/RemoveRepliesById.java | 2 +- .../basic_usage/RemoveRepliesByUserName.java | 2 +- .../basic_usage/UpdateAnnotation.java | 4 +- .../AddAreaAnnotation.java | 6 +- .../AddArrowAnnotation.java | 6 +- .../AddDistanceAnnotation.java | 6 +- .../AddEllipseAnnotation.java | 6 +- .../AddLinkAnnotation.java | 4 +- .../AddPointAnnotation.java | 4 +- .../AddPolylineAnnotation.java | 4 +- .../AddResourcesRedactionAnnotation.java | 4 +- .../AddTextFieldAnnotation.java | 4 +- .../AddTextHighlightAnnotation.java | 8 +-- .../AddTextRedactionAnnotation.java | 4 +- .../AddTextReplacementAnnotation.java | 9 +-- .../AddTextStrikeoutAnnotation.java | 4 +- .../AddTextUnderlineAnnotation.java | 4 +- .../AddWatermarkAnnotation.java | 4 +- 41 files changed, 209 insertions(+), 173 deletions(-) create mode 100644 Examples/Resources/SampleFiles/input.xlsx create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddUserRole.java diff --git a/Demos/Dropwizard/client/package.json b/Demos/Dropwizard/client/package.json index be66aa3..8d291cf 100644 --- a/Demos/Dropwizard/client/package.json +++ b/Demos/Dropwizard/client/package.json @@ -36,7 +36,7 @@ "@angular/platform-browser": "^8.2.4", "@angular/platform-browser-dynamic": "^8.2.4", "@angular/router": "^8.2.4", - "@groupdocs.examples.angular/annotation": "^0.8.54", + "@groupdocs.examples.angular/annotation": "^0.8.98", "@nrwl/angular": "^8.12.11", "common-components": "^1.0.5", "core-js": "^2.6.11", diff --git a/Demos/Dropwizard/pom.xml b/Demos/Dropwizard/pom.xml index 96c1329..39a4602 100644 --- a/Demos/Dropwizard/pom.xml +++ b/Demos/Dropwizard/pom.xml @@ -81,7 +81,7 @@ com.groupdocs groupdocs-annotation - 23.2 + 23.4 javax.xml.bind diff --git a/Demos/Spring/client/package.json b/Demos/Spring/client/package.json index c71927d..8d291cf 100644 --- a/Demos/Spring/client/package.json +++ b/Demos/Spring/client/package.json @@ -36,7 +36,7 @@ "@angular/platform-browser": "^8.2.4", "@angular/platform-browser-dynamic": "^8.2.4", "@angular/router": "^8.2.4", - "@groupdocs.examples.angular/annotation": "^0.8.70", + "@groupdocs.examples.angular/annotation": "^0.8.98", "@nrwl/angular": "^8.12.11", "common-components": "^1.0.5", "core-js": "^2.6.11", diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml index 14f93aa..632cb7e 100644 --- a/Demos/Spring/pom.xml +++ b/Demos/Spring/pom.xml @@ -131,7 +131,7 @@ com.groupdocs groupdocs-annotation - 23.2 + 23.4 com.google.guava diff --git a/Examples/Resources/SampleFiles/input.xlsx b/Examples/Resources/SampleFiles/input.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..171d94896c1b8a926f21219bc6c2ea6b426b7336 GIT binary patch literal 26899 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 |?uKoGK$B90|VPycK+PT+q41GBuTU@%q z1Kpt5lZnR)U9#oq++&{yz84*L;bV3)sp=t;&LPx(bmmwP=n6H(vSh`1FYFr6b&rjs z0UHxMQZYj_UXtg=xGp{teAc?)`?wO#Se#LV#2!G>qsTg(DCD$t28@Wn*FCD&*Kx5> z1ZWefAx#WwOFyV_KgE0`)zABq7<*q9Md4g78gRlW@!(t9vd*%6Q3s>3J_M;4vijLgxA1p~t9$S*+9(Zn6_m*y`y<_lxH^9p7s8S4bB>@zBjuqtE!nS|*2vYu-tD*g-jDy-^Vc-Wu+?8z0c=~D0!;DKvz3w8rDgkh7j)FfFR-Zspz!8Dv`goyIKf9o|jG^%hwgD{r;smuo4h<`meV zXxxvR^7kk5`G-FZm4a29n6_*E62E$(jBxiYGRykv2Loa`&#napd6cXU_+KW#3me%` z^ShZ~e|jUO<(zC)$IQiq>hoaLQz^14F@7EQ0)b1HPC4y)(nf$1RI_>Izm|HYL|l;B zE~{Q8cbqWG>h#S~iEOoIZ06|#bUoQ*Vx36!HT>_7!2HXrud`5V%0QJi+F#cEi&XH- zuy@II|Gin0=j0JNp{fD>Nc*58GM)`2OKq$2(>;>pSwu%{bJGT={m8zS>Q$xvdM-9kw=#Gp~gFcc$L~MY2Srz10g9c{bh5%HAa0EGCkT z9G^gWu_k;fqSKGmQwtU7jnnMDDoLM33ukIh3cWnaf_Ezx@W%MEtgkZQmcDp9`(|5O zrgeQ0p|3^7!~oq0597Xq@>IyQNRL(w3sc>WOQ1r6`b$sbC5t}p`?tboZeV@3O_3t4 zrqq^tc5=h+?f8)$MEj>O)-%>vEd8&n_fu~9XV&xlJJ#!#=gVhmSs(bU@6ErrPbuco zx8)+A#F`yt(yA*m8LF9kz+tJ?9cgb;$}2+Jx)Mw)2JqO#7qdi`Aza!|NA!10+Ekmvh46h{8R>4L zxbf}Z05$222Ff@5XX_C*KxnTkRb>k9$gF=Dsxs-w zT)2nJe2?RlCko$})ffHiE+;E9Oj;P8D7ZMQ-V&GbP)PdQ36;Jf_UNQy1rGvZc)K$ zJ^2;nteK8O63A^lqT#DAHa|yS+QYxzd~E-eQeQ&w38T!jx3OI=G$|exa?B*puhu`e zb9+eYM6JkN>8O3#>g!GivHfTbn5ZB3 zGM(7E@qB$j%w0maV;LL3Ma)Ry4+ayfD8M7IK?9cm?Y|D7Z~W!;5B~W8764nZ{_f~m zP}e~L|D=9BECjX~@ExQG4elS628JcTmdCv#oS^@O@OO&k!XjYnx85O|F#n49Th&}) zA+ReU?;sP8e!AmtuZx5wz^<;lBP_H0B*3QM{afla>>9g2w_!=Jt0L}5$y~pa{=pgv zSQu;$`5o*d?@!oYy1u(k@2_D5Y$o}i+pr|qEY&;GEdOsV`Zpc^&pgFH+dp$wVF|D~ zk#_{J;O~a}m#_Yxq(6zUB-n|#J5smY@1#2y{nyiSurS!Ei#yo0;{Vk}|Ms)~oVb8( zVM(y!;~l9;^(X1?Ns+LJhaFqq9iCq2*Wv%kNE4Or Ub@V?}3<9|OsBm!KjQ`mB9}Q`T^Z)<= literal 0 HcmV?d00001 diff --git a/Examples/pom.xml b/Examples/pom.xml index e0b3311..d639544 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -23,7 +23,7 @@ com.groupdocs groupdocs-annotation - 23.2 + 23.4 diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java b/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java index 34e6eb7..b7aa5bf 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/Constants.java @@ -1,14 +1,13 @@ package com.groupdocs.annotation.examples; public class Constants { - public static String PROJECT_PATH = System.getProperty("user.dir"); public static final String LicensePath = "C:\\Conholdate.Total.Product.Family.lic";//GroupDocs.Total.Java.lic"; public static final String SamplesPath = "\\Resources\\SampleFiles\\"; public static final String OutputPath = "\\Resources\\Output\\"; - public static String INPUT = getSampleFilePath("input.pdf"); + public static String INPUT_PDF = getSampleFilePath("input.pdf"); public static String CLEAR = getSampleFilePath("clear.pdf"); public static String ANNOTATED_BIG = getSampleFilePath("annotated_big.pdf"); public static String ANNOTATED_WITH_REPLIES = getSampleFilePath("annotated_with_replies.pdf"); @@ -23,6 +22,8 @@ public class Constants { public static String INPUT_DOC = getSampleFilePath("sample.docx"); public static String INPUT_NEW = getSampleFilePath("sampleNew.pdf"); + public static String INPUT_CELL = getSampleFilePath("input.xlsx"); + private static String getSampleFilePath(String fileName) { return PROJECT_PATH + SamplesPath + fileName; } diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java b/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java index ab7f377..b29281f 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java @@ -13,7 +13,7 @@ public class RunExamples { public static void main(String[] args) throws IOException { - System.out.println("Open RunExamples.cs. \nIn Main() method uncomment the example that you want to run."); + System.out.println("Open RunExamples.java. \nIn Main() method uncomment the example that you want to run."); System.out.println("====================================================="); //NOTE: Please uncomment the example you want to try out @@ -26,25 +26,31 @@ public static void main(String[] args) throws IOException { GetSupportedFileFormats.run(); // Get file info - GetFileInfo.run(); + GetFileInfo.run(Constants.INPUT_PDF); + GetFileInfo.run(Constants.INPUT_DOC); + GetFileInfo.run(Constants.INPUT_CELL); // Extract annotations from document -// ExtractAnnotationsFromDocument.run(); + ExtractAnnotationsFromDocument.run(Constants.INPUT_PDF); +// ExtractAnnotationsFromDocument.run(Constants.INPUT_DOC); +// ExtractAnnotationsFromDocument.run(Constants.INPUT_CELL); // Remove annotation from document // RemoveAnnotationFromDocument.run(); // Generate document pages preview - GenerateDocumentPagesPreview.run(); + GenerateDocumentPagesPreview.run(Constants.INPUT_PDF); +// GenerateDocumentPagesPreview.run(Constants.INPUT_DOC); +// GenerateDocumentPagesPreview.run(Constants.INPUT_CELL); // Saving specific page range - SavingSpecificPageRange.run(); + SavingSpecificPageRange.run(Constants.INPUT_PDF); // Saving only pages with annotations - SavingOnlyPagesWithAnnotations.run(); + SavingOnlyPagesWithAnnotations.run(Constants.INPUT_PDF); // Filtering annotation types -// FilteringAnnotationTypes.run();// - Unsupported exception + FilteringAnnotationTypes.run(Constants.INPUT_PDF); // Add area annotation AddAreaAnnotation.run(); @@ -128,6 +134,8 @@ public static void main(String[] args) throws IOException { // LoadDocumentFromAzure.run(); MinimalAnnotation.run(); + + AddUserRole.run(); System.out.println(); System.out.println("All done."); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java index 1e42530..0c0ec10 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/GenerateDocumentPagesPreview.java @@ -17,32 +17,27 @@ */ public class GenerateDocumentPagesPreview { - public static void run() { - final Annotator annotator = new Annotator(Constants.INPUT_NEW); - - PreviewOptions previewOptions = new PreviewOptions(new CreatePageStream() { - @Override - public OutputStream invoke(int pageNumber) { - try { - //String OutputPath = "//Resources//Output/"; - String fileName = Constants.getOutputFilePath("GenerateDocumentPagesPreview_"+pageNumber, "png");//OutputPath + "GenerateDocumentPagesPreview_"+pageNumber+".png"; - OutputStream result = new FileOutputStream(fileName); - return result; - } catch (Exception ex) { - throw new GroupDocsException(ex); + public static void run(String inputFile) { + try(final Annotator annotator = new Annotator(inputFile)) { + PreviewOptions previewOptions = new PreviewOptions(new CreatePageStream() { + @Override + public OutputStream invoke(int pageNumber) { + try { + String fileName = Constants.getOutputFilePath("GenerateDocumentPagesPreview" + "_" + pageNumber, "png"); + OutputStream result = new FileOutputStream(fileName); + return result; + } catch (Exception ex) { + throw new GroupDocsException(ex); + } } - } - }); + }); - previewOptions.setResolution(50); + previewOptions.setResolution(85); + previewOptions.setPreviewFormat(PreviewFormats.PNG); + previewOptions.setPageNumbers(new int[]{1, 2}); + annotator.getDocument().generatePreview(previewOptions); - previewOptions.setPreviewFormat(PreviewFormats.PNG); - - previewOptions.setPageNumbers(new int[]{1, 2}); - annotator.getDocument().generatePreview(previewOptions); - - annotator.dispose(); - - System.out.println("\nDocument previews generated successfully.\nCheck output in " + Constants.OutputPath); + System.out.println("\nDocument previews generated successfully.\nCheck output in " + Constants.OutputPath); + } } } diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/LoadPasswordProtectedDocuments.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/LoadPasswordProtectedDocuments.java index 2b2bcb8..15ef198 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/LoadPasswordProtectedDocuments.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/LoadPasswordProtectedDocuments.java @@ -16,7 +16,7 @@ public class LoadPasswordProtectedDocuments { public static void run() { - String outputPath = Constants.getOutputFilePath("LoadPasswordProtectedDocuments", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("LoadPasswordProtectedDocuments", FilenameUtils.getExtension(Constants.INPUT_PDF)); LoadOptions loadOptions = new LoadOptions(); loadOptions.setPassword("1234"); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromFtp.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromFtp.java index 3b15400..fe5a388 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromFtp.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromFtp.java @@ -19,7 +19,7 @@ public class LoadDocumentFromFtp { public static void run() { try { - String outputPath = Constants.getOutputFilePath("LoadDocumentFromFtp", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("LoadDocumentFromFtp", FilenameUtils.getExtension(Constants.INPUT_PDF)); String filePath = "sample.pdf"; String server = "localhost"; diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromLocalDisk.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromLocalDisk.java index 98e096f..ac38a18 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromLocalDisk.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromLocalDisk.java @@ -14,9 +14,9 @@ public class LoadDocumentFromLocalDisk { public static void run() { - String outputPath = Constants.getOutputFilePath("LoadDocumentFromLocalDisk", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("LoadDocumentFromLocalDisk", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); AreaAnnotation area = new AreaAnnotation(); area.setBox(new Rectangle(100, 100, 100, 100)); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromStream.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromStream.java index 9c6c741..917f2fe 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromStream.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromStream.java @@ -17,9 +17,9 @@ public class LoadDocumentFromStream { public static void run() { try { - String outputPath = Constants.getOutputFilePath("LoadDocumentFromStream", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("LoadDocumentFromStream", FilenameUtils.getExtension(Constants.INPUT_PDF)); - InputStream stream = new FileInputStream(Constants.INPUT); + InputStream stream = new FileInputStream(Constants.INPUT_PDF); final Annotator annotator = new Annotator(stream); AreaAnnotation area = new AreaAnnotation(); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromUrl.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromUrl.java index 6ec23f6..4f76e68 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromUrl.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/loading/loading_documents_from_different_sources/LoadDocumentFromUrl.java @@ -16,7 +16,7 @@ public class LoadDocumentFromUrl { public static void run() { try { - String outputPath = Constants.getOutputFilePath("LoadDocumentFromUrl", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("LoadDocumentFromUrl", FilenameUtils.getExtension(Constants.INPUT_PDF)); String url = "https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/raw/api-v2/Examples/Resources/SampleFiles/input.pdf?raw=true"; final Annotator annotator = new Annotator(new URL(url).openStream()); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/FilteringAnnotationTypes.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/FilteringAnnotationTypes.java index 5a599a9..c21fd85 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/FilteringAnnotationTypes.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/FilteringAnnotationTypes.java @@ -18,32 +18,29 @@ *

    */ public class FilteringAnnotationTypes { + public static void run(String fileName) { + String outputPath = Constants.getOutputFilePath("FilteringAnnotationTypes", FilenameUtils.getExtension(fileName)); - public static void run() { - String outputPath = Constants.getOutputFilePath("FilteringAnnotationTypes", FilenameUtils.getExtension(Constants.INPUT)); - - final Annotator annotator = new Annotator(Constants.ANNOTATED_BIG); - try { + try(final Annotator annotator = new Annotator(fileName)) { AreaAnnotation area = new AreaAnnotation(); area.setBox(new Rectangle(100, 100, 100, 100)); area.setBackgroundColor(65535); area.setPageNumber(1); + EllipseAnnotation ellipse = new EllipseAnnotation(); ellipse.setBox(new Rectangle(100, 100, 100, 100)); ellipse.setBackgroundColor(123456); - ellipse.setPageNumber(4); - List annotations = new ArrayList(); + ellipse.setPageNumber(2); + + List annotations = new ArrayList<>(); annotations.add(area); annotations.add(ellipse); annotator.add(annotations); SaveOptions saveOptions = new SaveOptions(); saveOptions.setAnnotationTypes(AnnotationType.ELLIPSE); annotator.save(outputPath, saveOptions); - } finally { - if (annotator != null) { - annotator.dispose(); - } + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); } - System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); } } diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingOnlyPagesWithAnnotations.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingOnlyPagesWithAnnotations.java index b8943fc..e5bcd21 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingOnlyPagesWithAnnotations.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingOnlyPagesWithAnnotations.java @@ -17,30 +17,27 @@ *

    */ public class SavingOnlyPagesWithAnnotations { + public static void run(String fileName) { + String outputPath = Constants.getOutputFilePath("SavingOnlyPagesWithAnnotations", FilenameUtils.getExtension(fileName)); - public static void run() { - String outputPath = Constants.getOutputFilePath("SavingOnlyPagesWithAnnotations", FilenameUtils.getExtension(Constants.INPUT)); + try(final Annotator annotator = new Annotator(fileName)) { + AreaAnnotation area = new AreaAnnotation(); + area.setBox(new Rectangle(100, 100, 100, 100)); + area.setBackgroundColor(65535); + area.setPageNumber(1); + EllipseAnnotation ellipse = new EllipseAnnotation(); + ellipse.setBox(new Rectangle(100, 100, 100, 100)); + ellipse.setBackgroundColor(123456); + ellipse.setPageNumber(2); + List annotations = new ArrayList(); + annotations.add(area); + annotations.add(ellipse); + annotator.add(annotations); + SaveOptions saveOptions = new SaveOptions(); + saveOptions.setOnlyAnnotatedPages(true); + annotator.save(outputPath, saveOptions); - final Annotator annotator = new Annotator(Constants.INPUT); - - AreaAnnotation area = new AreaAnnotation(); - area.setBox(new Rectangle(100, 100, 100, 100)); - area.setBackgroundColor(65535); - area.setPageNumber(1); - EllipseAnnotation ellipse = new EllipseAnnotation(); - ellipse.setBox(new Rectangle(100, 100, 100, 100)); - ellipse.setBackgroundColor(123456); - ellipse.setPageNumber(2); - List annotations = new ArrayList(); - annotations.add(area); - annotations.add(ellipse); - annotator.add(annotations); - SaveOptions saveOptions = new SaveOptions(); - saveOptions.setOnlyAnnotatedPages(true); - annotator.save(outputPath, saveOptions); - - annotator.dispose(); - - System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } } } diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingSpecificPageRange.java b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingSpecificPageRange.java index 2a5ca33..d549b35 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingSpecificPageRange.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/advanced_usage/saving/SavingSpecificPageRange.java @@ -12,18 +12,16 @@ */ public class SavingSpecificPageRange { - public static void run() { - String outputPath = Constants.getOutputFilePath("SavingSpecificPageRange", FilenameUtils.getExtension(Constants.INPUT)); + public static void run(String inputFile) { + String outputPath = Constants.getOutputFilePath("SavingSpecificPageRange", FilenameUtils.getExtension(inputFile)); - final Annotator annotator = new Annotator(Constants.INPUT); + try(final Annotator annotator = new Annotator(inputFile)) { + SaveOptions saveOptions = new SaveOptions(); + saveOptions.setFirstPage(2); + saveOptions.setLastPage(4); + annotator.save(outputPath, saveOptions); - SaveOptions saveOptions = new SaveOptions(); - saveOptions.setFirstPage(2); - saveOptions.setLastPage(4); - annotator.save(outputPath, saveOptions); - - annotator.dispose(); - - System.out.println("\nDocument saved successfully.\nCheck output in {outputPath}."); + System.out.println("\nDocument saved successfully.\nCheck output in {outputPath}."); + } } } diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddReplies.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddReplies.java index f789564..c8a1159 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddReplies.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddReplies.java @@ -19,9 +19,9 @@ public class AddReplies { public static void run() { - String outputPath = Constants.getOutputFilePath("AddReplies", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddReplies", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); User user1 = new User(); user1.setId(1); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddUserRole.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddUserRole.java new file mode 100644 index 0000000..5b66329 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddUserRole.java @@ -0,0 +1,58 @@ +package com.groupdocs.annotation.examples.basic_usage; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; + +import com.groupdocs.annotation.models.*; +import com.groupdocs.annotation.models.annotationmodels.AreaAnnotation; +import org.apache.commons.io.FilenameUtils; + +import java.util.ArrayList; +import java.util.Calendar; + +/** + *

    + * This example demonstrates adding user role to reply. + *

    + */ +public class AddUserRole { + public static void run() { + String outputPath = Constants.getOutputFilePath("AddUserRole", FilenameUtils.getExtension(Constants.INPUT_PDF)); + + final Annotator annotator = new Annotator(Constants.INPUT_PDF); + + Reply reply1 = new Reply(); + reply1.setComment("This comment will be applied"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + User user1 = new User(1, "Reviewer", Role.Editor); + reply1.setUser(user1); + + Reply reply2 = new Reply(); + reply2.setComment("This comment will NOT be applied"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + User user2 = new User(1, "Member", Role.Viewer); + reply2.setUser(user2); + + java.util.List replies = new ArrayList<>(); + replies.add(reply1); + replies.add(reply2); + + AreaAnnotation area = new AreaAnnotation(); + area.setBackgroundColor(65535); + area.setBox(new Rectangle(100, 100, 100, 100)); + area.setCreatedOn(Calendar.getInstance().getTime()); + area.setMessage("This is area annotation"); + area.setOpacity(0.7); + area.setPageNumber(0); + area.setPenColor(65535); + area.setPenStyle(PenStyle.DOT); + area.setPenWidth((byte) 3); + area.setReplies(replies); + annotator.add(area); + annotator.save(outputPath); + + annotator.dispose(); + + System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java index dfba9ed..134b549 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/ExtractAnnotationsFromDocument.java @@ -1,12 +1,9 @@ package com.groupdocs.annotation.examples.basic_usage; import com.groupdocs.annotation.Annotator; -import com.groupdocs.annotation.examples.Constants; import com.groupdocs.annotation.models.annotationmodels.AnnotationBase; -import com.groupdocs.annotation.options.LoadOptions; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.Iterator; @@ -18,30 +15,19 @@ *

    */ public class ExtractAnnotationsFromDocument { - - public static void run() { - //LoadOptions loadOptions = new LoadOptions(); - - try (final InputStream inputStream = new FileInputStream(Constants.ANNOTATED_IMPORT); - final Annotator annotator = new Annotator(inputStream/*, loadOptions*/)){ + public static void run(String inputFile) { + try (final InputStream inputStream = new FileInputStream(inputFile); + final Annotator annotator = new Annotator(inputStream)){ List annotations = annotator.get(); - Iterator items = (annotations).iterator(); + Iterator items = (annotations).iterator(); while (items.hasNext()) { - AnnotationBase annotation = (AnnotationBase) items.next(); + AnnotationBase annotation = items.next(); System.out.println(annotation.getMessage()); } System.out.println("Annotations extracted successfully."); - - annotator.dispose(); }catch (IOException e) { e.printStackTrace(); - } /*catch (NoSuchFieldException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - }*/ - - + } } } diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetFileInfo.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetFileInfo.java index f208237..13c86a3 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetFileInfo.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/GetFileInfo.java @@ -2,7 +2,6 @@ import com.groupdocs.annotation.Annotator; import com.groupdocs.annotation.IDocumentInfo; -import com.groupdocs.annotation.examples.Constants; import java.io.IOException; @@ -12,22 +11,18 @@ *

    */ public class GetFileInfo { + public static void run(String inputFile) { + try(final Annotator annotator = new Annotator(inputFile)) { + IDocumentInfo info = null; + try { + info = annotator.getDocument().getDocumentInfo(); + } catch (IOException e) { + e.printStackTrace(); + } + System.out.println( + "\nFile type: " + info.getFileType() + "\nNumber of pages: " + info.getPageCount() + "\nDocument size: " + info.getSize() + " bytes"); - public static void run() { - final Annotator annotator = new Annotator(Constants.INPUT); - - IDocumentInfo info = null; - try { - info = annotator.getDocument().getDocumentInfo(); - } catch (IOException e) { - e.printStackTrace(); + System.out.println("\nDocument info extracted successfully."); } - System.out.println( - "\nFile type: " + info.getFileType() - + "\nNumber of pages: " + info.getPageCount() - + "\nDocument size: " + info.getSize() + " bytes"); - - annotator.dispose(); - System.out.println("\nDocument info extracted successfully."); } } diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveAnnotationFromDocument.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveAnnotationFromDocument.java index aea9611..89dc99f 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveAnnotationFromDocument.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveAnnotationFromDocument.java @@ -14,7 +14,7 @@ public class RemoveAnnotationFromDocument { public static void run() { - String outputPath = Constants.getOutputFilePath("RemoveAnnotationFromDocument", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("RemoveAnnotationFromDocument", FilenameUtils.getExtension(Constants.INPUT_PDF)); final Annotator annotator = new Annotator(Constants.ANNOTATED_AREA_REPLIES_5); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java index 87a2b64..cf9cce0 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveReplies.java @@ -15,7 +15,7 @@ public class RemoveReplies { public static void run() { - String outputPath = Constants.getOutputFilePath("RemoveRepliesById", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("RemoveRepliesById", FilenameUtils.getExtension(Constants.INPUT_PDF)); LoadOptions loadOptions = new LoadOptions(); // NOTE: Input document already contain annotations with replies diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java index d7e2407..e379832 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesById.java @@ -16,7 +16,7 @@ public class RemoveRepliesById { public static void run() { - String outputPath = Constants.getOutputFilePath("RemoveRepliesById", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("RemoveRepliesById", FilenameUtils.getExtension(Constants.INPUT_PDF)); LoadOptions loadOptions = new LoadOptions(); // NOTE: Input document already contain annotations with replies diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesByUserName.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesByUserName.java index 183098d..1b3f504 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesByUserName.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/RemoveRepliesByUserName.java @@ -16,7 +16,7 @@ public class RemoveRepliesByUserName { public static void run() { - String outputPath = Constants.getOutputFilePath("RemoveRepliesByUserName", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("RemoveRepliesByUserName", FilenameUtils.getExtension(Constants.INPUT_PDF)); LoadOptions loadOptions = new LoadOptions(); // NOTE: Input document already contain annotations with replies diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/UpdateAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/UpdateAnnotation.java index 3000c99..fbd02f2 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/UpdateAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/UpdateAnnotation.java @@ -19,9 +19,9 @@ public class UpdateAnnotation { public static void run() { - String outputPath = Constants.getOutputFilePath("UpdateAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("UpdateAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("Original first comment"); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java index 4156c97..9cb5ea4 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java @@ -26,13 +26,13 @@ public static void run() { reply2.setComment("Second comment"); reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); + java.util.List replies = new ArrayList<>(); replies.add(reply1); replies.add(reply2); - String outputPath = Constants.getOutputFilePath("AddAreaAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddAreaAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); AreaAnnotation area = new AreaAnnotation(); area.setBackgroundColor(65535); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddArrowAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddArrowAnnotation.java index a8f30f0..764727a 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddArrowAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddArrowAnnotation.java @@ -18,9 +18,9 @@ public class AddArrowAnnotation { public static void run() { - String outputPath = Constants.getOutputFilePath("AddArrowAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddArrowAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("First comment"); @@ -30,7 +30,7 @@ public static void run() { reply2.setComment("Second comment"); reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); + java.util.List replies = new ArrayList<>(); replies.add(reply1); replies.add(reply2); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddDistanceAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddDistanceAnnotation.java index 498721d..49a9ed2 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddDistanceAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddDistanceAnnotation.java @@ -18,9 +18,9 @@ public class AddDistanceAnnotation { public static void run() { - String outputPath = Constants.getOutputFilePath("AddDistanceAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddDistanceAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("First comment"); @@ -30,7 +30,7 @@ public static void run() { reply2.setComment("Second comment"); reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); + java.util.List replies = new ArrayList<>(); replies.add(reply1); replies.add(reply2); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddEllipseAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddEllipseAnnotation.java index 2f346bd..6ae2682 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddEllipseAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddEllipseAnnotation.java @@ -18,9 +18,9 @@ public class AddEllipseAnnotation { public static void run() { - String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("First comment"); @@ -30,7 +30,7 @@ public static void run() { reply2.setComment("Second comment"); reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); + java.util.List replies = new ArrayList<>(); replies.add(reply1); replies.add(reply2); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddLinkAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddLinkAnnotation.java index 7b15a8d..2d63be4 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddLinkAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddLinkAnnotation.java @@ -18,9 +18,9 @@ public class AddLinkAnnotation { public static void run() { - String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddLinkAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("First comment"); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPointAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPointAnnotation.java index 3b22324..11f4778 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPointAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPointAnnotation.java @@ -17,9 +17,9 @@ public class AddPointAnnotation { public static void run() { - String outputPath = Constants.getOutputFilePath("AddPointAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddPointAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("First comment"); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java index c29e518..d375ab3 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java @@ -18,9 +18,9 @@ public class AddPolylineAnnotation { public static void run() { - String outputPath = Constants.getOutputFilePath("AddPolylineAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddPolylineAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("First comment"); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddResourcesRedactionAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddResourcesRedactionAnnotation.java index c2d5ee3..85212bf 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddResourcesRedactionAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddResourcesRedactionAnnotation.java @@ -17,9 +17,9 @@ public class AddResourcesRedactionAnnotation { public static void run() { - String outputPath = Constants.getOutputFilePath("AddResourcesRedactionAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddResourcesRedactionAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("First comment"); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextFieldAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextFieldAnnotation.java index 2b791d3..f079230 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextFieldAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextFieldAnnotation.java @@ -18,9 +18,9 @@ public class AddTextFieldAnnotation { public static void run() { - String outputPath = Constants.getOutputFilePath("AddTextFieldAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddTextFieldAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("First comment"); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextHighlightAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextHighlightAnnotation.java index c85a441..08a8816 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextHighlightAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextHighlightAnnotation.java @@ -18,9 +18,9 @@ public class AddTextHighlightAnnotation { public static void run() { - String outputPath = Constants.getOutputFilePath("AddTextHighlightAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddTextHighlightAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("First comment"); @@ -30,7 +30,7 @@ public static void run() { reply2.setComment("Second comment"); reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); + java.util.List replies = new ArrayList<>(); replies.add(reply1); replies.add(reply2); @@ -39,7 +39,7 @@ public static void run() { Point point3 = new Point(80, 650); Point point4 = new Point(240, 650); - List points = new ArrayList(); + List points = new ArrayList<>(); points.add(point1); points.add(point2); points.add(point3); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextRedactionAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextRedactionAnnotation.java index 2597cdf..e2bb5c2 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextRedactionAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextRedactionAnnotation.java @@ -18,9 +18,9 @@ public class AddTextRedactionAnnotation { public static void run() { - String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("First comment"); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextReplacementAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextReplacementAnnotation.java index 802c136..a2b8e23 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextReplacementAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextReplacementAnnotation.java @@ -18,9 +18,9 @@ public class AddTextReplacementAnnotation { public static void run() { - String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddTextReplacementAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("First comment"); @@ -30,7 +30,7 @@ public static void run() { reply2.setComment("Second comment"); reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); + java.util.List replies = new ArrayList<>(); replies.add(reply1); replies.add(reply2); @@ -39,7 +39,7 @@ public static void run() { Point point3 = new Point(80, 650); Point point4 = new Point(240, 650); - List points = new ArrayList(); + List points = new ArrayList<>(); points.add(point1); points.add(point2); points.add(point3); @@ -48,6 +48,7 @@ public static void run() { ReplacementAnnotation replacement = new ReplacementAnnotation(); replacement.setCreatedOn(Calendar.getInstance().getTime()); replacement.setFontColor(65535); + replacement.setFontSize(8.); replacement.setMessage("This is replacement annotation"); replacement.setOpacity(0.7); replacement.setPageNumber(0); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextStrikeoutAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextStrikeoutAnnotation.java index 57df593..8aea48f 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextStrikeoutAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextStrikeoutAnnotation.java @@ -18,9 +18,9 @@ public class AddTextStrikeoutAnnotation { public static void run() { - String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddTextStrikeoutAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("First comment"); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextUnderlineAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextUnderlineAnnotation.java index 533292c..0b78b39 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextUnderlineAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextUnderlineAnnotation.java @@ -24,9 +24,9 @@ public class AddTextUnderlineAnnotation { public static void run() { //String outputPath = Constants.getOutputFilePath("sample", "docx"); - String outputPath = Constants.getOutputFilePath("AddTextUnderlineAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddTextUnderlineAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - Annotator annotator = new Annotator(/*Constants.PROJECT_PATH + Constants.SamplesPath + "sample.docx"*/Constants.INPUT); + Annotator annotator = new Annotator(/*Constants.PROJECT_PATH + Constants.SamplesPath + "sample.docx"*/Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("First comment"); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddWatermarkAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddWatermarkAnnotation.java index 68c3c6c..bb8ed66 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddWatermarkAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddWatermarkAnnotation.java @@ -17,9 +17,9 @@ public class AddWatermarkAnnotation { public static void run() { - String outputPath = Constants.getOutputFilePath("AddWatermarkAnnotation", FilenameUtils.getExtension(Constants.INPUT)); + String outputPath = Constants.getOutputFilePath("AddWatermarkAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT); + final Annotator annotator = new Annotator(Constants.INPUT_PDF); Reply reply1 = new Reply(); reply1.setComment("First comment"); From e521c51a616cc211d4eff07a805950d7a5be737c Mon Sep 17 00:00:00 2001 From: SemenchenkoA Date: Fri, 23 Jun 2023 20:33:44 +0300 Subject: [PATCH 70/76] release 23.6 --- Demos/Dropwizard/Dockerfile | 12 ++++++------ Demos/Dropwizard/client/package.json | 16 ++++++++-------- Demos/Dropwizard/pom.xml | 2 +- Demos/Spring/client/package.json | 2 +- Demos/Spring/pom.xml | 2 +- Examples/pom.xml | 2 +- .../examples/basic_usage/AddUserRole.java | 4 ++-- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/Demos/Dropwizard/Dockerfile b/Demos/Dropwizard/Dockerfile index edebd27..b6ebca2 100644 --- a/Demos/Dropwizard/Dockerfile +++ b/Demos/Dropwizard/Dockerfile @@ -1,10 +1,10 @@ FROM openjdk:8-jre-alpine -RUN mkdir -p /home/groupdocs/app && apk add fontconfig && apk add msttcorefonts-installer && update-ms-fonts && fc-cache -f -WORKDIR /home/groupdocs/app -COPY target/release/DocumentSamples /home/groupdocs/app -COPY target/release/Licenses /home/groupdocs/app -COPY target/release/annotation-*.jar /home/groupdocs/app/app.jar +RUN mkdir -p /app && apk add fontconfig && apk add msttcorefonts-installer && update-ms-fonts && fc-cache -f +WORKDIR /app +COPY /DocumentSamples /app +COPY /Licenses /app +COPY /target/annotation-*.jar /app/app.jar EXPOSE 8080 -ENTRYPOINT java -jar /home/groupdocs/app/app.jar configuration.yml \ No newline at end of file +ENTRYPOINT java -jar /app/app.jar configuration.yml \ No newline at end of file diff --git a/Demos/Dropwizard/client/package.json b/Demos/Dropwizard/client/package.json index 8d291cf..45ce89f 100644 --- a/Demos/Dropwizard/client/package.json +++ b/Demos/Dropwizard/client/package.json @@ -28,15 +28,15 @@ }, "private": true, "dependencies": { - "@angular/animations": "^8.2.4", - "@angular/common": "^8.2.4", + "@angular/animations": "^8.2.14", + "@angular/common": "^8.2.14", "@angular/compiler": "^8.2.4", - "@angular/core": "^8.2.4", - "@angular/forms": "^8.2.4", - "@angular/platform-browser": "^8.2.4", - "@angular/platform-browser-dynamic": "^8.2.4", - "@angular/router": "^8.2.4", - "@groupdocs.examples.angular/annotation": "^0.8.98", + "@angular/core": "^8.2.14", + "@angular/forms": "^8.2.14", + "@angular/platform-browser": "^8.2.14", + "@angular/platform-browser-dynamic": "^8.2.14", + "@angular/router": "^8.2.14", + "@groupdocs.examples.angular/annotation": "^0.8.99", "@nrwl/angular": "^8.12.11", "common-components": "^1.0.5", "core-js": "^2.6.11", diff --git a/Demos/Dropwizard/pom.xml b/Demos/Dropwizard/pom.xml index 39a4602..825e7f2 100644 --- a/Demos/Dropwizard/pom.xml +++ b/Demos/Dropwizard/pom.xml @@ -81,7 +81,7 @@ com.groupdocs groupdocs-annotation - 23.4 + 23.6 javax.xml.bind diff --git a/Demos/Spring/client/package.json b/Demos/Spring/client/package.json index 8d291cf..6d330db 100644 --- a/Demos/Spring/client/package.json +++ b/Demos/Spring/client/package.json @@ -36,7 +36,7 @@ "@angular/platform-browser": "^8.2.4", "@angular/platform-browser-dynamic": "^8.2.4", "@angular/router": "^8.2.4", - "@groupdocs.examples.angular/annotation": "^0.8.98", + "@groupdocs.examples.angular/annotation": "^0.8.99", "@nrwl/angular": "^8.12.11", "common-components": "^1.0.5", "core-js": "^2.6.11", diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml index 632cb7e..7c2ef3f 100644 --- a/Demos/Spring/pom.xml +++ b/Demos/Spring/pom.xml @@ -131,7 +131,7 @@ com.groupdocs groupdocs-annotation - 23.4 + 23.6 com.google.guava diff --git a/Examples/pom.xml b/Examples/pom.xml index d639544..479b104 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -23,7 +23,7 @@ com.groupdocs groupdocs-annotation - 23.4 + 23.6 diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddUserRole.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddUserRole.java index 5b66329..5a916ef 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddUserRole.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/AddUserRole.java @@ -24,13 +24,13 @@ public static void run() { Reply reply1 = new Reply(); reply1.setComment("This comment will be applied"); reply1.setRepliedOn(Calendar.getInstance().getTime()); - User user1 = new User(1, "Reviewer", Role.Editor); + User user1 = new User(1, "Reviewer", Role.EDITOR); reply1.setUser(user1); Reply reply2 = new Reply(); reply2.setComment("This comment will NOT be applied"); reply2.setRepliedOn(Calendar.getInstance().getTime()); - User user2 = new User(1, "Member", Role.Viewer); + User user2 = new User(1, "Member", Role.VIEWER); reply2.setUser(user2); java.util.List replies = new ArrayList<>(); From ab34b2af6344eccbf533b05e4f0e72278455c4b2 Mon Sep 17 00:00:00 2001 From: SemenchenkoA Date: Fri, 30 Jun 2023 11:35:41 +0300 Subject: [PATCH 71/76] upd for docker images --- Demos/Dropwizard/Dockerfile | 9 ++++-- Demos/Dropwizard/README.md | 32 ++++++------------- Demos/Dropwizard/pom.xml | 2 +- Demos/Spring/Dockerfile | 19 +++++++---- Demos/Spring/README.md | 32 ++++++------------- Demos/Spring/client/package.json | 2 +- .../controller/AnnotationControllerTest.java | 4 +-- 7 files changed, 41 insertions(+), 59 deletions(-) diff --git a/Demos/Dropwizard/Dockerfile b/Demos/Dropwizard/Dockerfile index b6ebca2..7dc548a 100644 --- a/Demos/Dropwizard/Dockerfile +++ b/Demos/Dropwizard/Dockerfile @@ -1,5 +1,10 @@ -FROM openjdk:8-jre-alpine -RUN mkdir -p /app && apk add fontconfig && apk add msttcorefonts-installer && update-ms-fonts && fc-cache -f +FROM openjdk:18-jdk-bullseye +RUN mkdir -p /app + +RUN apt-get update && \ + apt-get install -y fontconfig && \ + fc-cache -f + WORKDIR /app COPY /DocumentSamples /app COPY /Licenses /app diff --git a/Demos/Dropwizard/README.md b/Demos/Dropwizard/README.md index 341722c..e3373ba 100644 --- a/Demos/Dropwizard/README.md +++ b/Demos/Dropwizard/README.md @@ -1,6 +1,6 @@ ![Groupdocs document & pdf annotator](https://raw.githubusercontent.com/groupdocs-annotation/groupdocs-annotation.github.io/master/resources/image/banner.png "GroupDocs.Annotation") # GroupDocs.Annotation for Java Dropwizard Example -###### version 1.12.25 +###### version 1.12.26 [![GitHub license](https://img.shields.io/github/license/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard.svg)](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/blob/master/LICENSE) @@ -16,7 +16,7 @@ With GroupDocs.Annotation for Java Dropwizard application, you can annotate and **write on document** using our modern and responsive web UI interface. Thanks to flexible and highly customizable configuration it can be used as standalone application or can be integrated into your project within few simple steps. -**Note:** without a license application will run in trial mode, purchase [GroupDocs.Annotation for Java license](https://purchase.groupdocs.com/order-online-step-1-of-8.aspx) or request [GroupDocs.Annotation for Java temporary license](https://purchase.groupdocs.com/temporary-license). +**Note:** without a license application will run in trial mode, purchase [GroupDocs.Annotation for Java license](https://purchase.groupdocs.com/buy) or request [GroupDocs.Annotation for Java temporary license](https://purchase.groupdocs.com/temporary-license/). ## Demo Video @@ -110,33 +110,19 @@ You can run this sample by one of following methods Download [source code](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/archive/master.zip) from github or clone this repository. ```bash -git clone https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard -cd GroupDocs.Annotation-for-Java-Dropwizard +git clone https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/ +cd /Demos/Dropwizard mvn clean compile exec:java ## Open http://localhost:8080/annotation/ in your favorite browser. ``` -#### Binary release (with all dependencies) - -Download [latest release](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/releases/latest) from [releases page](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/releases). - -**Note**: This method is **recommended** for running this sample behind firewall. - -```bash -curl -J -L -o release.tar.gz https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard/releases/download/1.12.25/release.tar.gz -tar -xvzf release.tar.gz -cd release -java -jar annotation-1.12.25.jar configuration.yaml -## Open http://localhost:8080/annotation/ in your favorite browser. -``` - #### Docker image Use [docker](https://hub.docker.com/u/groupdocs) image. ```bash mkdir DocumentSamples mkdir Licenses -docker run -p 8080:8080 --env application.hostAddress=localhost -v `pwd`/DocumentSamples:/home/groupdocs/app/DocumentSamples -v `pwd`/Licenses:/home/groupdocs/app/Licenses groupdocs/annotation +docker run -p 8080:8080 --env application.hostAddress=localhost -v `pwd`/DocumentSamples:/home/groupdocs/app/DocumentSamples -v `pwd`/Licenses:/home/groupdocs/app/Licenses groupdocs/annotation-dropwizard ## Open http://localhost:8080/annotation/ in your favorite browser. ``` @@ -166,7 +152,7 @@ For all methods above you can adjust settings in `configuration.yml`. By default | **`textUnderlineAnnotation`** | Boolean | `true` | Enable/disable TextUnderline annotation | | **`distanceAnnotation`** | Boolean | `true` | Enable/disable Distance annotation | | **`downloadOriginal`** | Boolean | `true` | Enable/disable original document downloading | -| **`downloadAnnotated`** | Boolen | `true` | Enable/disable signed document downloading | +| **`downloadAnnotated`** | Boolean | `true` | Enable/disable signed document downloading | | **`zoom`** | Boolean | `true` | Enable/disable zoom | | **`fitWidth`** | Boolean | `true` | Enable/disable fit width. Set true to zoom document pages fit width | @@ -177,8 +163,8 @@ Please have a look at the LICENSE.md for more details ## GroupDocs Annotation on other platforms & frameworks -- JAVA Spring [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) -- .NET MVC [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -- .NET WebForms [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) +- JAVA Spring [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Demos/Spring) +- .NET MVC [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET/tree/master/Demos) +- .NET WebForms [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET/tree/master/Demos) [Home](https://www.groupdocs.com/) | [Product Page](https://products.groupdocs.com/annotation/java) | [Documentation](https://docs.groupdocs.com/annotation/java/) | [Demos](https://products.groupdocs.app/annotation/family) | [API Reference](https://apireference.groupdocs.com/java/annotation) | [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | [Blog](https://blog.groupdocs.com/category/annotation/) | [Free Support](https://forum.groupdocs.com/c/annotation) | [Temporary License](https://purchase.groupdocs.com/temporary-license) diff --git a/Demos/Dropwizard/pom.xml b/Demos/Dropwizard/pom.xml index 825e7f2..9193722 100644 --- a/Demos/Dropwizard/pom.xml +++ b/Demos/Dropwizard/pom.xml @@ -6,7 +6,7 @@ com.groupdocs.ui annotation - 1.12.25 + 1.12.26 jar GroupDocs.Annotation Dropwizard diff --git a/Demos/Spring/Dockerfile b/Demos/Spring/Dockerfile index 6f6baf3..501b4fc 100644 --- a/Demos/Spring/Dockerfile +++ b/Demos/Spring/Dockerfile @@ -1,10 +1,15 @@ -FROM openjdk:8-jre-alpine -RUN mkdir -p /home/groupdocs/app && apk add fontconfig && apk add msttcorefonts-installer && update-ms-fonts && fc-cache -f -WORKDIR /home/groupdocs/app -COPY target/release/DocumentSamples /home/groupdocs/app -COPY target/release/Licenses /home/groupdocs/app -COPY target/release/annotation-spring-*.jar /home/groupdocs/app/app.jar +FROM openjdk:18-jdk-bullseye +RUN mkdir -p /app + +RUN apt-get update && \ + apt-get install -y fontconfig && \ + fc-cache -f + +WORKDIR /app +COPY /DocumentSamples /app +COPY /Licenses /app +COPY target/annotation-spring-*.jar /app/app.jar EXPOSE 8080 -ENTRYPOINT java -jar /home/groupdocs/app/app.jar configuration.yml \ No newline at end of file +ENTRYPOINT java -jar /app/app.jar configuration.yml \ No newline at end of file diff --git a/Demos/Spring/README.md b/Demos/Spring/README.md index b470452..f7d798d 100644 --- a/Demos/Spring/README.md +++ b/Demos/Spring/README.md @@ -14,7 +14,7 @@ With GroupDocs.Annotation for Java Spring application, you can annotate and **write on document** using our modern and responsive web UI interface. Thanks to flexible and highly customizable configuration it can be used as standalone application or can be integrated into your project within few simple steps. -**Note:** without a license application will run in trial mode, purchase [GroupDocs.Annotation for Java license](https://purchase.groupdocs.com/order-online-step-1-of-8.aspx) or request [GroupDocs.Annotation for Java temporary license](https://purchase.groupdocs.com/temporary-license). +**Note:** without a license application will run in trial mode, purchase [GroupDocs.Annotation for Java license](https://purchase.groupdocs.com/buy) or request [GroupDocs.Annotation for Java temporary license](https://purchase.groupdocs.com/temporary-license). ## Demo Video @@ -107,8 +107,8 @@ You can run this sample by one of following methods Download [source code](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/archive/master.zip) from github or clone this repository. ```bash -git clone https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring -cd GroupDocs.Annotation-for-Java-Spring +git clone https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/ +cd /Demos/Spring mvn clean spring-boot:run ## Open http://localhost:8080/annotation/ in your favorite browser. ``` @@ -118,26 +118,12 @@ mvn clean spring-boot:run Download [source code](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/archive/master.zip) from github or clone this repository. ```bash -git clone https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring -cd GroupDocs.Annotation-for-Java-Spring +git clone https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/ +cd /Demos/Spring mvn package -P war ## Deploy this war on any server ``` -#### Binary release (with all dependencies) - -Download [latest release](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/releases/latest) from [releases page](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/releases). - -**Note**: This method is **recommended** for running this sample behind firewall. - -```bash -curl -J -L -o release.tar.gz https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring/releases/download/1.12.28/release.tar.gz -tar -xvzf release.tar.gz -cd release -java -jar annotation-spring-1.12.28.jar configuration.yml -## Open http://localhost:8080/annotation/ in your favorite browser. -``` - #### Docker image Use [docker](https://hub.docker.com/u/groupdocs) image. @@ -174,7 +160,7 @@ For all methods above you can adjust settings in `configuration.yml`. By default | **`textUnderlineAnnotation`** | Boolean | `true` | Enable/disable TextUnderline annotation | | **`distanceAnnotation`** | Boolean | `true` | Enable/disable Distance annotation | | **`downloadOriginal`** | Boolean | `true` | Enable/disable original document downloading | -| **`downloadAnnotated`** | Boolen | `true` | Enable/disable signed document downloading | +| **`downloadAnnotated`** | Boolean | `true` | Enable/disable signed document downloading | | **`zoom`** | Boolean | `true` | Enable/disable zoom | | **`fitWidth`** | Boolean | `true` | Enable/disable fit width. Set true to zoom document pages fit width | @@ -185,8 +171,8 @@ Please have a look at the LICENSE.md for more details ## GroupDocs Annotation on other platforms & frameworks -- JAVA DropWizard [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) -- .NET MVC [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-MVC) -- .NET WebForms [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET-WebForms) +- JAVA DropWizard [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Demos/Dropwizard) +- .NET MVC [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET/tree/master/Demos) +- .NET WebForms [Document & PDF annotator](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-.NET/tree/master/Demos) [Home](https://www.groupdocs.com/) | [Product Page](https://products.groupdocs.com/annotation/java) | [Documentation](https://docs.groupdocs.com/annotation/java/) | [Demos](https://products.groupdocs.app/annotation/family) | [API Reference](https://apireference.groupdocs.com/java/annotation) | [Examples](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Examples) | [Blog](https://blog.groupdocs.com/category/annotation/) | [Search](https://search.groupdocs.com/) | [Free Support](https://forum.groupdocs.com/c/annotation) | [Temporary License](https://purchase.groupdocs.com/temporary-license) diff --git a/Demos/Spring/client/package.json b/Demos/Spring/client/package.json index 6d330db..868dc0e 100644 --- a/Demos/Spring/client/package.json +++ b/Demos/Spring/client/package.json @@ -36,7 +36,7 @@ "@angular/platform-browser": "^8.2.4", "@angular/platform-browser-dynamic": "^8.2.4", "@angular/router": "^8.2.4", - "@groupdocs.examples.angular/annotation": "^0.8.99", + "@groupdocs.examples.angular/annotation": "^0.8.100", "@nrwl/angular": "^8.12.11", "common-components": "^1.0.5", "core-js": "^2.6.11", diff --git a/Demos/Spring/src/test/java/com/groupdocs/ui/annotation/controller/AnnotationControllerTest.java b/Demos/Spring/src/test/java/com/groupdocs/ui/annotation/controller/AnnotationControllerTest.java index 152a32d..b9ba16c 100644 --- a/Demos/Spring/src/test/java/com/groupdocs/ui/annotation/controller/AnnotationControllerTest.java +++ b/Demos/Spring/src/test/java/com/groupdocs/ui/annotation/controller/AnnotationControllerTest.java @@ -15,8 +15,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view; import static org.springframework.test.web.servlet.setup.MockMvcBuilders.standaloneSetup; -@RunWith(SpringRunner.class) -@SpringBootTest +//@RunWith(SpringRunner.class) +//@SpringBootTest public class AnnotationControllerTest { // MockMvc mvc; // From d1ad130a2bf24c5f96ad4d06c23468b6def2f34c Mon Sep 17 00:00:00 2001 From: SemenchenkoA Date: Mon, 28 Aug 2023 11:01:32 +0300 Subject: [PATCH 72/76] add pdf component examples --- Demos/Dropwizard/pom.xml | 2 +- Demos/Spring/pom.xml | 2 +- Examples/pom.xml | 2 +- .../annotation/examples/RunExamples.java | 71 ++++++++++--------- .../examples/basic_usage/DevTest.java | 63 ++++++++++++++++ .../AddAreaAnnotation.java | 33 ++++----- .../AddPolylineAnnotation.java | 2 +- .../AddTextStrikeoutAnnotation.java | 4 +- .../pdf_components/AddButtonComponent.java | 46 ++++++++++++ .../pdf_components/AddCheckBoxComponent.java | 40 +++++++++++ .../pdf_components/AddDropdownComponent.java | 47 ++++++++++++ 11 files changed, 253 insertions(+), 59 deletions(-) create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/DevTest.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/pdf_components/AddButtonComponent.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/pdf_components/AddCheckBoxComponent.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/pdf_components/AddDropdownComponent.java diff --git a/Demos/Dropwizard/pom.xml b/Demos/Dropwizard/pom.xml index 9193722..b00bac1 100644 --- a/Demos/Dropwizard/pom.xml +++ b/Demos/Dropwizard/pom.xml @@ -81,7 +81,7 @@ com.groupdocs groupdocs-annotation - 23.6 + 23.8 javax.xml.bind diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml index 7c2ef3f..71ca101 100644 --- a/Demos/Spring/pom.xml +++ b/Demos/Spring/pom.xml @@ -131,7 +131,7 @@ com.groupdocs groupdocs-annotation - 23.6 + 23.8 com.google.guava diff --git a/Examples/pom.xml b/Examples/pom.xml index 479b104..eb2eb8b 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -23,7 +23,7 @@ com.groupdocs groupdocs-annotation - 23.6 + 23.8 diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java b/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java index b29281f..995a86f 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/RunExamples.java @@ -17,21 +17,22 @@ public static void main(String[] args) throws IOException { System.out.println("====================================================="); //NOTE: Please uncomment the example you want to try out + // Quick Start SetLicenseFromFile.run(); - SetLicenseFromStream.run(); -// SetMeteredLicense.run(); +// SetLicenseFromStream.run(); +// SetMeteredLicense.run(); // Get supported file formats - GetSupportedFileFormats.run(); +// GetSupportedFileFormats.run(); // Get file info - GetFileInfo.run(Constants.INPUT_PDF); - GetFileInfo.run(Constants.INPUT_DOC); - GetFileInfo.run(Constants.INPUT_CELL); +// GetFileInfo.run(Constants.INPUT_PDF); +// GetFileInfo.run(Constants.INPUT_DOC); +// GetFileInfo.run(Constants.INPUT_CELL); // Extract annotations from document - ExtractAnnotationsFromDocument.run(Constants.INPUT_PDF); +// ExtractAnnotationsFromDocument.run(Constants.INPUT_PDF); // ExtractAnnotationsFromDocument.run(Constants.INPUT_DOC); // ExtractAnnotationsFromDocument.run(Constants.INPUT_CELL); @@ -39,69 +40,69 @@ public static void main(String[] args) throws IOException { // RemoveAnnotationFromDocument.run(); // Generate document pages preview - GenerateDocumentPagesPreview.run(Constants.INPUT_PDF); +// GenerateDocumentPagesPreview.run(Constants.INPUT_PDF); // GenerateDocumentPagesPreview.run(Constants.INPUT_DOC); // GenerateDocumentPagesPreview.run(Constants.INPUT_CELL); // Saving specific page range - SavingSpecificPageRange.run(Constants.INPUT_PDF); +// SavingSpecificPageRange.run(Constants.INPUT_PDF); // Saving only pages with annotations - SavingOnlyPagesWithAnnotations.run(Constants.INPUT_PDF); +// SavingOnlyPagesWithAnnotations.run(Constants.INPUT_PDF); // Filtering annotation types - FilteringAnnotationTypes.run(Constants.INPUT_PDF); +// FilteringAnnotationTypes.run(Constants.INPUT_PDF); // Add area annotation - AddAreaAnnotation.run(); +// AddAreaAnnotation.run(); // Add arrow annotation - AddArrowAnnotation.run(); +// AddArrowAnnotation.run(); // Add distance annotation - AddDistanceAnnotation.run(); +// AddDistanceAnnotation.run(); // Add ellipse annotation - AddEllipseAnnotation.run(); +// AddEllipseAnnotation.run(); // Add link annotation - AddLinkAnnotation.run(); +// AddLinkAnnotation.run(); // Add point annotation - AddPointAnnotation.run(); +// AddPointAnnotation.run(); // Add resources redaction annotation - AddResourcesRedactionAnnotation.run(); +// AddResourcesRedactionAnnotation.run(); // Add text highlight annotation - AddTextHighlightAnnotation.run(); +// AddTextHighlightAnnotation.run(); // Add text field annotation - AddTextFieldAnnotation.run(); +// AddTextFieldAnnotation.run(); // Add text redaction annotation - AddTextRedactionAnnotation.run(); +// AddTextRedactionAnnotation.run(); // Add text replacement annotation - AddTextReplacementAnnotation.run(); +// AddTextReplacementAnnotation.run(); // Add text strikeout annotation AddTextStrikeoutAnnotation.run(); // Add polyline annotation - AddPolylineAnnotation.run(); +// AddPolylineAnnotation.run(); // Add underline annotation AddTextUnderlineAnnotation.run(); // Add watermark annotation - AddWatermarkAnnotation.run(); +// AddWatermarkAnnotation.run(); // Add replies annotation - AddReplies.run(); +// AddReplies.run(); // Remove replies - RemoveReplies.run(); +// RemoveReplies.run(); // Remove replies by Id // RemoveRepliesById.run(); @@ -110,22 +111,22 @@ public static void main(String[] args) throws IOException { // RemoveRepliesByUserName.run(); // Update annotation - UpdateAnnotation.run(); +// UpdateAnnotation.run(); // Load document from local disk - LoadDocumentFromLocalDisk.run(); +// LoadDocumentFromLocalDisk.run(); // Load document from stream - LoadDocumentFromStream.run(); +// LoadDocumentFromStream.run(); // Load password-protected documents - LoadPasswordProtectedDocuments.run(); +// LoadPasswordProtectedDocuments.run(); // Load document from url - LoadDocumentFromUrl.run(); +// LoadDocumentFromUrl.run(); // Load document from FTP - LoadDocumentFromFtp.run(); +// LoadDocumentFromFtp.run(); // Load document from AmazonS3 // LoadDocumentFromAmazonS3.run(); @@ -133,10 +134,10 @@ public static void main(String[] args) throws IOException { // Load document from Azure // LoadDocumentFromAzure.run(); - MinimalAnnotation.run(); +// MinimalAnnotation.run(); + +// AddUserRole.run(); - AddUserRole.run(); - System.out.println(); System.out.println("All done."); } diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/DevTest.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/DevTest.java new file mode 100644 index 0000000..299e9f5 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/DevTest.java @@ -0,0 +1,63 @@ +package com.groupdocs.annotation.examples.basic_usage; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.models.Point; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.StrikeoutAnnotation; + +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; + +public class DevTest { + public static void run() { + // This example demonstrates adding text strikeout annotation. + + // Create an instance of Annotator class + Annotator annotator = new Annotator(System.getProperty("user.dir") + "\\Resources\\SampleFiles\\dev_sample.pdf"); + try { + // Create an instance of Reply class and add comments + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(Calendar.getInstance().getTime()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(Calendar.getInstance().getTime()); + + java.util.List replies = new ArrayList<>(); + replies.add(reply1); + replies.add(reply2); + + Point point1 = new Point(80, 730); + Point point2 = new Point(240, 730); + Point point3 = new Point(80, 650); + Point point4 = new Point(240, 650); + + List points = new ArrayList<>(); + points.add(point1); + points.add(point2); + points.add(point3); + points.add(point4); + + // Create an instance of StrikeoutAnnotation class and set options + StrikeoutAnnotation strikeout; + strikeout = new StrikeoutAnnotation(); + strikeout.setCreatedOn(Calendar.getInstance().getTime()); + strikeout.setFontColor(65535); + strikeout.setMessage("This is strikeout annotation"); + strikeout.setOpacity(0.7); + strikeout.setPageNumber(0); + strikeout.setPoints(points); + strikeout.setReplies(replies); + + // Add annotation and save to file + annotator.add(strikeout); + annotator.save(System.getProperty("user.dir") + "\\Resources\\Output\\dev.pdf"); + } finally { + if (annotator != null) { + annotator.dispose(); + } + } + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java index 9cb5ea4..71ebf2a 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddAreaAnnotation.java @@ -16,7 +16,6 @@ *

    */ public class AddAreaAnnotation { - public static void run() { Reply reply1 = new Reply(); reply1.setComment("First comment"); @@ -32,23 +31,21 @@ public static void run() { String outputPath = Constants.getOutputFilePath("AddAreaAnnotation", FilenameUtils.getExtension(Constants.INPUT_PDF)); - final Annotator annotator = new Annotator(Constants.INPUT_PDF); - - AreaAnnotation area = new AreaAnnotation(); - area.setBackgroundColor(65535); - area.setBox(new Rectangle(100, 100, 100, 100)); - area.setCreatedOn(Calendar.getInstance().getTime()); - area.setMessage("This is area annotation"); - area.setOpacity(0.7); - area.setPageNumber(0); - area.setPenColor(65535); - area.setPenStyle(PenStyle.DOT); - area.setPenWidth((byte) 3); - area.setReplies(replies); - annotator.add(area); - annotator.save(outputPath); - - annotator.dispose(); + try(final Annotator annotator = new Annotator(Constants.INPUT_PDF)) { + AreaAnnotation area = new AreaAnnotation(); + area.setBackgroundColor(65535); + area.setBox(new Rectangle(100, 100, 100, 100)); + area.setCreatedOn(Calendar.getInstance().getTime()); + area.setMessage("This is area annotation"); + area.setOpacity(0.7); + area.setPageNumber(0); + area.setPenColor(65535); + area.setPenStyle(PenStyle.DOT); + area.setPenWidth((byte) 3); + area.setReplies(replies); + annotator.add(area); + annotator.save(outputPath); + } System.out.println("\nDocument saved successfully.\nCheck output in " + outputPath); } diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java index d375ab3..0cc9709 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddPolylineAnnotation.java @@ -30,7 +30,7 @@ public static void run() { reply2.setComment("Second comment"); reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); + java.util.List replies = new ArrayList<>(); replies.add(reply1); replies.add(reply2); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextStrikeoutAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextStrikeoutAnnotation.java index 8aea48f..dec3328 100644 --- a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextStrikeoutAnnotation.java +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddTextStrikeoutAnnotation.java @@ -30,7 +30,7 @@ public static void run() { reply2.setComment("Second comment"); reply2.setRepliedOn(Calendar.getInstance().getTime()); - java.util.List replies = new ArrayList(); + java.util.List replies = new ArrayList<>(); replies.add(reply1); replies.add(reply2); @@ -39,7 +39,7 @@ public static void run() { Point point3 = new Point(80, 650); Point point4 = new Point(240, 650); - List points = new ArrayList(); + List points = new ArrayList<>(); points.add(point1); points.add(point2); points.add(point3); diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/pdf_components/AddButtonComponent.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/pdf_components/AddButtonComponent.java new file mode 100644 index 0000000..a4412ca --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/pdf_components/AddButtonComponent.java @@ -0,0 +1,46 @@ +package com.groupdocs.annotation.examples.basic_usage.pdf_components; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.BorderStyle; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.formatspecificcomponents.pdf.ButtonComponent; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class AddButtonComponent { + public static void run() { + try(final Annotator annotator = new Annotator(Constants.INPUT_PDF)) { + ButtonComponent buttonComponent = new ButtonComponent(); + buttonComponent.setCreatedOn(new Date()); + buttonComponent.setStyle(BorderStyle.DASHED); + buttonComponent.setMessage("This is button component"); + buttonComponent.setBorderColor(1422623); + buttonComponent.setPenColor(14527697); + buttonComponent.setButtonColor(10832612); + buttonComponent.setPageNumber(0); + buttonComponent.setBorderWidth(12); + buttonComponent.setBox(new Rectangle(100, 300, 90, 30)); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(new Date()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(new Date()); + + List replies = new ArrayList<>(); + replies.add(reply1); + replies.add(reply2); + + buttonComponent.setReplies(replies); + + annotator.add(buttonComponent); + annotator.save("result_button_component.pdf"); + } + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/pdf_components/AddCheckBoxComponent.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/pdf_components/AddCheckBoxComponent.java new file mode 100644 index 0000000..c7a8de3 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/pdf_components/AddCheckBoxComponent.java @@ -0,0 +1,40 @@ +package com.groupdocs.annotation.examples.basic_usage.pdf_components; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.BoxStyle; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.formatspecificcomponents.pdf.CheckBoxComponent; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class AddCheckBoxComponent { + public static void run() { + try(final Annotator annotator = new Annotator(Constants.INPUT_PDF)) { + CheckBoxComponent checkbox = new CheckBoxComponent(); + checkbox.setChecked(true); + checkbox.setBox(new Rectangle(100, 100, 100, 100)); + checkbox.setPenColor(65535); + checkbox.setStyle(BoxStyle.STAR); + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(new Date()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(new Date()); + + List replies = new ArrayList<>(); + replies.add(reply1); + replies.add(reply2); + + checkbox.setReplies(replies); + + annotator.add(checkbox); + annotator.save("result_checkbox_component.pdf"); + } + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/pdf_components/AddDropdownComponent.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/pdf_components/AddDropdownComponent.java new file mode 100644 index 0000000..2302633 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/pdf_components/AddDropdownComponent.java @@ -0,0 +1,47 @@ +package com.groupdocs.annotation.examples.basic_usage.pdf_components; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.PenStyle; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.formatspecificcomponents.pdf.DropdownComponent; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class AddDropdownComponent { + public static void run() { + try(final Annotator annotator = new Annotator(Constants.INPUT_PDF)) { + DropdownComponent dropdownComponent = new DropdownComponent(); + dropdownComponent.setOptions(new ArrayList<>(Arrays.asList("Item1", "Item2", "Item3"))); + dropdownComponent.setSelectedOption(null); + dropdownComponent.setPlaceholder("Choose option"); + dropdownComponent.setBox(new Rectangle(100, 100, 100, 100)); + dropdownComponent.setCreatedOn(new Date()); + dropdownComponent.setMessage("This is dropdown component"); + dropdownComponent.setPageNumber(0); + dropdownComponent.setPenColor(65535); + dropdownComponent.setPenStyle(PenStyle.DOT); + dropdownComponent.setPenWidth((byte) 3); + + List replies = new ArrayList<>(); + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(new Date()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(new Date()); + + replies.add(reply1); + replies.add(reply2); + + dropdownComponent.setReplies(replies); + annotator.add(dropdownComponent); + annotator.save("result_dropdown_component.pdf"); + } + } +} From d2919b3e4dde6554152b2a22afc7b06c7f59434d Mon Sep 17 00:00:00 2001 From: SemenchenkoA Date: Tue, 29 Aug 2023 11:43:05 +0300 Subject: [PATCH 73/76] add examples for annotations --- .../AddImageAnnotation.java | 21 ++++++++ .../AddSearchTextAnnotation.java | 20 ++++++++ .../AddSquigglyAnnotation.java | 48 +++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddImageAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddSearchTextAnnotation.java create mode 100644 Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddSquigglyAnnotation.java diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddImageAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddImageAnnotation.java new file mode 100644 index 0000000..fc90f0e --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddImageAnnotation.java @@ -0,0 +1,21 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Rectangle; +import com.groupdocs.annotation.models.annotationmodels.ImageAnnotation; + +public class AddImageAnnotation { + public static void run() { + try(final Annotator annotator = new Annotator(Constants.INPUT_PDF)){ + ImageAnnotation imageAnnotation = new ImageAnnotation(); + imageAnnotation.setBox(new Rectangle(100, 100, 100, 100)); + imageAnnotation.setOpacity(0.7); + imageAnnotation.setPageNumber(0); + imageAnnotation.setImagePath("www.google.com.ua/images/branding/googlelogo/2x/googlelogo_color_92x30dp.png"); + imageAnnotation.setAngle(100.); + annotator.add(imageAnnotation); + annotator.save("result_image_annotation.pdf"); + } + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddSearchTextAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddSearchTextAnnotation.java new file mode 100644 index 0000000..11f69df --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddSearchTextAnnotation.java @@ -0,0 +1,20 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.annotationmodels.SearchTextFragment; + +public class AddSearchTextAnnotation { + public static void run() { + try(final Annotator annotator = new Annotator(Constants.INPUT_PDF)){ + SearchTextFragment searchTextFragment = new SearchTextFragment(); + searchTextFragment.setText("Welcome to GroupDocs");//If the document does not contain this text, nothing will be highlighted + searchTextFragment.setFontSize(10.); + searchTextFragment.setFontFamily("Calibri"); + searchTextFragment.setFontColor(65535); + searchTextFragment.setBackgroundColor(16761035); + annotator.add(searchTextFragment); + annotator.save("result_add_search_text.pdf"); + } + } +} diff --git a/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddSquigglyAnnotation.java b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddSquigglyAnnotation.java new file mode 100644 index 0000000..30ed322 --- /dev/null +++ b/Examples/src/main/java/com/groupdocs/annotation/examples/basic_usage/add_annotation_to_the_document/AddSquigglyAnnotation.java @@ -0,0 +1,48 @@ +package com.groupdocs.annotation.examples.basic_usage.add_annotation_to_the_document; + +import com.groupdocs.annotation.Annotator; +import com.groupdocs.annotation.examples.Constants; +import com.groupdocs.annotation.models.Point; +import com.groupdocs.annotation.models.Reply; +import com.groupdocs.annotation.models.annotationmodels.SquigglyAnnotation; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class AddSquigglyAnnotation { + public static void run() { + try(final Annotator annotator = new Annotator(Constants.INPUT_PDF)){ + SquigglyAnnotation squigglyAnnotation = new SquigglyAnnotation(); + squigglyAnnotation.setCreatedOn(new Date()); + squigglyAnnotation.setFontColor(65535); + squigglyAnnotation.setBackgroundColor(16761035); + squigglyAnnotation.setMessage("This is squiggly annotation"); + squigglyAnnotation.setOpacity(0.7); + squigglyAnnotation.setPageNumber(0); + squigglyAnnotation.setSquigglyColor(1422623);//Supported only Word and PDF + List points = new ArrayList(); + points.add(new Point(80, 730)); + points.add(new Point(240, 730)); + points.add(new Point(80, 650)); + points.add(new Point(240, 650)); + + Reply reply1 = new Reply(); + reply1.setComment("First comment"); + reply1.setRepliedOn(new Date()); + + Reply reply2 = new Reply(); + reply2.setComment("Second comment"); + reply2.setRepliedOn(new Date()); + + List replies = new ArrayList<>(); + replies.add(reply1); + replies.add(reply2); + + squigglyAnnotation.setReplies(replies); + + annotator.add(squigglyAnnotation); + annotator.save("result_squiggly_annotation.pdf"); + } + } +} From 46a843b17d0a04786449cd181127dde6633ec349 Mon Sep 17 00:00:00 2001 From: SemenchenkoA Date: Mon, 9 Oct 2023 21:40:05 +0300 Subject: [PATCH 74/76] release 23.10 --- Demos/Dropwizard/pom.xml | 2 +- Demos/Spring/pom.xml | 2 +- Examples/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Demos/Dropwizard/pom.xml b/Demos/Dropwizard/pom.xml index b00bac1..eb8ce87 100644 --- a/Demos/Dropwizard/pom.xml +++ b/Demos/Dropwizard/pom.xml @@ -81,7 +81,7 @@ com.groupdocs groupdocs-annotation - 23.8 + 23.10 javax.xml.bind diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml index 71ca101..13898ce 100644 --- a/Demos/Spring/pom.xml +++ b/Demos/Spring/pom.xml @@ -131,7 +131,7 @@ com.groupdocs groupdocs-annotation - 23.8 + 23.10 com.google.guava diff --git a/Examples/pom.xml b/Examples/pom.xml index eb2eb8b..7c66875 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -23,7 +23,7 @@ com.groupdocs groupdocs-annotation - 23.8 + 23.10 From db67832928bc03aae941e2df7a10b408dde9d228 Mon Sep 17 00:00:00 2001 From: SemenchenkoA Date: Sun, 30 Jun 2024 14:04:08 +0400 Subject: [PATCH 75/76] v24.6 --- Demos/Dropwizard/pom.xml | 2 +- Demos/Spring/pom.xml | 2 +- Examples/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Demos/Dropwizard/pom.xml b/Demos/Dropwizard/pom.xml index eb8ce87..b3c68d6 100644 --- a/Demos/Dropwizard/pom.xml +++ b/Demos/Dropwizard/pom.xml @@ -81,7 +81,7 @@ com.groupdocs groupdocs-annotation - 23.10 + 24.6 javax.xml.bind diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml index 13898ce..178a6c1 100644 --- a/Demos/Spring/pom.xml +++ b/Demos/Spring/pom.xml @@ -131,7 +131,7 @@ com.groupdocs groupdocs-annotation - 23.10 + 24.6 com.google.guava diff --git a/Examples/pom.xml b/Examples/pom.xml index 7c66875..9cb67a7 100644 --- a/Examples/pom.xml +++ b/Examples/pom.xml @@ -23,7 +23,7 @@ com.groupdocs groupdocs-annotation - 23.10 + 24.6 From 9e6d7223d22663834dfa225eb3cf9972e4a1ee3d Mon Sep 17 00:00:00 2001 From: SemenchenkoA Date: Tue, 11 Nov 2025 05:17:40 +0400 Subject: [PATCH 76/76] v25.6 and fix --- Demos/Spring/pom.xml | 2 +- .../com/groupdocs/ui/annotation/annotator/BaseAnnotator.java | 2 +- .../ui/annotation/service/AnnotationServiceImpl.java | 4 ++-- .../com/groupdocs/ui/annotation/util/AnnotationMapper.java | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Demos/Spring/pom.xml b/Demos/Spring/pom.xml index 178a6c1..db09fbb 100644 --- a/Demos/Spring/pom.xml +++ b/Demos/Spring/pom.xml @@ -131,7 +131,7 @@ com.groupdocs groupdocs-annotation - 24.6 + 25.6 com.google.guava diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/BaseAnnotator.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/BaseAnnotator.java index 9f70db9..a02ae1b 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/BaseAnnotator.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/annotator/BaseAnnotator.java @@ -103,7 +103,7 @@ protected BaseAnnotator(AnnotationDataEntity annotationData, PageInfo pageInfo) */ protected final AnnotationBase initAnnotationBase(AnnotationBase annotationBase) { // set page number to add annotation - annotationBase.setPageNumber(annotationData.getPageNumber() - 1); + annotationBase.setPageNumber(annotationData.getPageNumber());//-1 // set annotation type annotationBase.setType(getType()); annotationBase.setCreatedOn(Date.from(Instant.now())); diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java index 5e91d98..5bb8d64 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/service/AnnotationServiceImpl.java @@ -342,7 +342,7 @@ public AnnotatedDocumentEntity annotate(AnnotationPostedDataEntity annotateDocum for (int i = 0; i < annotationsData.length; i++) { AnnotationDataEntity annotationData = annotationsData[i]; - PageInfo pageInfo = info.getPagesInfo().get(annotationsData[i].getPageNumber() - 1); + PageInfo pageInfo = info.getPagesInfo().get(annotationsData[i].getPageNumber() - 1);//-1 // add annotation, if current annotation type isn't supported by the current document type it will be ignored try { BaseAnnotator baseAnnotator = AnnotatorFactory.createAnnotator(annotationData, pageInfo); @@ -507,7 +507,7 @@ public List getAnnotationInfos(AnnotationPostedDataEntity annota for (AnnotationDataEntity annotationData : annotationsData) { // create annotator // add annotation, if current annotation type isn't supported by the current document type it will be ignored - PageDataDescriptionEntity pageData = annotationPageDescriptionEntityList.get(annotationData.getPageNumber() - 1); + PageDataDescriptionEntity pageData = annotationPageDescriptionEntityList.get(annotationData.getPageNumber() - 1);//-1 PageInfo pageInfo = new PageInfo(); pageInfo.setHeight((int) pageData.getHeight()); diff --git a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java index 3da9074..9937505 100644 --- a/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java +++ b/Demos/Spring/src/main/java/com/groupdocs/ui/annotation/util/AnnotationMapper.java @@ -44,7 +44,7 @@ public static List mapForPage(List annotat // GroupDocs.Annotation library are obfuscated for (int n = 0; n < annotations.size(); n++) { AnnotationBase annotationInfo = annotations.get(n); - if (pageNumber == annotationInfo.getPageNumber() + 1) { + if (pageNumber == annotationInfo.getPageNumber()) {//+1 AnnotationDataEntity annotation = mapAnnotationDataEntity(annotationInfo, pageInfo); pageAnnotations.add(annotation); } @@ -109,7 +109,7 @@ public static AnnotationDataEntity mapAnnotationDataEntity(AnnotationBase annota annotation.setHeight(annotationInfo instanceof IBox ? boxHeight : (annotationInfo instanceof IPoints ? (maxY - minY) : 0)); annotation.setLeft(annotationInfo instanceof IBox ? boxX : (annotationInfo instanceof IPoints ? minX : 0)); - annotation.setPageNumber((int)annotationInfo.getPageNumber() + 1); + annotation.setPageNumber((int)annotationInfo.getPageNumber());//+1 annotation.setSvgPath(annotationInfo instanceof ISvgPath ? (((ISvgPath)annotationInfo).getSvgPath().replace("l", "L")) : svgPath); String text = "";

    ? zZpO4Pn9gaR$&TLjT~m73pPJI?4`xRNccVYw^;Oe(*QfDK@Hx{n?JM~952kbaH{rfw zdZs^YdgR;PUk$=)xVuM@*3yPe zsJt#6jqmJV1VGarzlrhT@8BnSX?|n*Y8Xj>`sX4(34dn14(3-QQ^HC(#uxjve*!+E ze)mTCyK>$Wl||BXbR3JyDP^1f1?2ICC@;pn<3?1DyY7y7?b2Ut`lmDjrKUaSud{8_ ze`qRa+--X9MqilvsOg{nAnF10!ChUDN!OW8i9yo^7@F23AoC`6N63ndY*Zd?QhA#) zcXiz#?ESFdL`=<{-?p zM4nj^J7*TeM-YF|%omf8yDSK^I9X!qljq&Lr88xWaPv>InLg&0ImnG4@N1Ou1oIKb zl-N>}j>+4D(OZ`%Aq%=#FY;Z;^aA7s zOmvUE7r7el)i=BKUCt*{=aApIo89icPWfGw-LQ9NU!LfmC@;G=CpVg^G4}-d(Y-6# z41O+Fe#o1j_nDr=S=fuc{5p}ZGT$T$z5K~~ab}0FpJZD$lRTB30`nP|&m`N-^yDc( zO|<>rvnKxcSQDRz`3p8W2glku@p<4b0Bh#>USM|Q7rz2i&P9I+yb1V6U>5L;Kqg8f z{zl-~V|qr4HELozkQeC|h+Xs> z;#JXEs0%MRAAOIH>bHBNb4nKm_V|J*jGP0yuyP-*BPs9wV!aG>CQWQTOnGB{MN;&k zqHoKAN}x^c;@6!N{Yi{XKrJA9hBZK`h86#6cL&E{eHw+4-)$%W>VXz@OPmHZU)FFn zYUU-4`<;(6;E22HZRB@}ux>V{Rr4tb;y0-&H1+^z0lA}m5s-2X==X&h*JwIL?jCbQ z(^8-?;)P4QS81sVz;YHVF9a0|*#k%_-E)C^^lsM%w)TI zcRZf#PUMf}7v*(P?*i`A{N%o0A%ByC`Gzzr-OimjEB6Gm7gN)Xq7JL%iCEA=f}eXmyDsGaO>+SDJLM^gFn zKJ1PEns~sxGyWv{+Plmb<8L$#r$|*AWf3Z6iM&E${nTX))&dDpwDCC*iyBFlBxlSPL{b+=%ETTz?PX z(g^Xc2^gM$#pA(us>j}|e)ar*G!8#&evOLDipK0I2f80YxbOMzDYU^vW%On?0iGTJ z;t|}N*_#w!4}NnePv6bGg8p6>|J>+Pip9X274Hpj82GqA#zJF8Kkv$Sn{oNozTZ^l zM*n8Gj4J}yXBFu$!90s_XQdA!J@i@oe?@&*# zi#_7&B#l0Ae?O`Z+lBZaKzd)$xuXd9bcE!p2J#Yu?Z;r+b z=_9Epqp{b`Jr`h4>KJh$GBfCt=>d!vUo^StE_aTRE8~Y7LngGNR2Jqegh$-;HpMc& zpYGa2#@qiTZjabMn=d85;ob`Wd*E}xetBd2rnj{xysQ1HZ)#8Sp0;~OyG7sd<~!ai zU*kL82VO&-U%d4@-eYfgx0wIqZ-|F^E1&l(ufP6pNsH9Gvmfv@IQt_S_J4Cbh=0Vr zogTiKUhrDqf&Z6&i+x_|;QFQ5FFP~H`<3tB@;&uiy`}z$nf)5yQeTkxee;$?mw7|t zl&MdxHQxx{QeQgZE%o7UbULLg;${G8v#8_ zC(!f$N$4rREj?RI(Ij;i(IM|b{kkcg?EU-nx6CuhXF;+9besgg!#exZo8P}jeRZ+E zQVYymQD2{R_4RtwnJSLz3$(obHPVs?S{5iR?*T2}2xxit1X^xtKcMBel$HmTmJcW` zZ$TR_x<$Qok_J~VTit%H|2=?rm}e3hv%uBMNvx5>dg+^_odk7~__BE`>g2PoPQZ`E z5wwv`@Z%Bl_6fASVNzQDC;Tq~t>z8M9P(db^Of;)JGG4 zGeZ0|%rOmvnc$T=U=h9_0agJGuO*C(v*YtL$8I%8+{%CA95d04c6PtCwF$UCaRX)k zQ}fHoyPf%l#9x}9Pvw|jPizAk%*Rp&^UF$;FZVH1*Ue+eLhwn@7GdhgLCZ7dllD92 zy_sh7l>9zJ=3(<>>W|=F4*&md5;;3fLVl;g;r}+DO5bHZb;n+lxO1OLWagQ~lvyw{ zFk?WoN!;-vgnyrTN`A*7U1=W1{QXJ06zSe+hUGUMGSke;^cT%1GY`RU4dQ$f@qc6< z&3x57YFm)sgYf%Bvmys{X8I5}AK|`X9+lsH$b8fN=EI{?{?R;o$7ay^FZoT0hhF_R zC4?`D?PhuW2HN)#Gc)moDNSBQzx!+RwqzW*%e+nOsn42sraEE20>D4+AJ^T}-A-D#&;A!)&_@9}##lCXmKPC=hy!#FKNqT26=3O$s1X}YFUpH?| z?u_!4G+kKvJ%k^axydr~Nc!!lWBDzFw_rSfXY^YLH~kL6x8VNu+x!kf|0KVIP;MHL z{-nQwkp3{jeb&rPUo(%`ADa4{x0?6a`w{=I%!8RL=6zFB=CP@{@SA3y%-nAtvv(*y zW}Zy{$UJE8hFy_a2)9)%MjRlg$F$t>J4kD;c`Rq4Y01278j;rrZ4&l3An&O#f6mm~ zM@@@-Pac!sT$u115#xU!;&J84;}d=x;vw*&g8)w+0zX;h@aXhUy99lp)k0e!}AnqtguBmHpMb3dtPt_Kxz|ByQH z$JKAA>Ntwdqv+}G(zv3BzfJWKcUrHbF1nG>m9`PN}Jv{bo$n!|9C2*LC%xpzMsoa=n!4??P`j?^*nr+dk!1) ze%~rh=LMyIP~(Z-WT*0AK=TzHQ_(>c-QX7eF1nk0tk=<`KDOKo0sS$)sm*%{{puEd z)Tg8Sk1k)iuPJvNMb}kyMnzBbfPU-KdXc;E3zdc{<>eMVM_;aV_p86?j-J!Nxt5w(cn9{h`dcErr_1|axJ%shz25ObRE3DV6U9WYpLisgd{oT_| z*59pV{jbxqO5D7lEZf!I5%7MC@|pL5_E@hIOkM4Etsi;6TiQ*r)`{rlmRhf;E9uo~ z85Ucwx7?!TF41(lm9O(O4DTdScUXAbsQHNAZcZ)V#uiKrk zc1br^X|K_I_5P77YqOdSN^^nc-=k@iXxPQp-$yFYv|6m!Kd0_7?-`XUKWdb}Et*b~ z+S`b7@TufNWFRaMI82F;Ut)~!K$g&M9%>!142#hPAgP%j)S`Zay((${KTlqf$+ z1D;eX{dLOEdh2yi8UhqqewXJ?+8E0p$T z<$baBcQSbQwOmmZ@VzdulXsOt89C1I9#(vgX3hj%o1Z>HS(J2t!{!LhAM?QECyFSfq_3tjzc zwg&N9v~07rK05S!rRH0!JSkHi>fADRZ=uZkdn0TMOEnzth47wKd61ukzt{S9Sg-Zb zYyBA1Wc}R{+Ii2K_Y0R=e+QfWDBt?~ogC|U|AJ#jxu#iS{TRSIJ>-3nqD#|S9?-_| ztX|8+`ytgzSH1N*bOk{=P0C~D%W5-WMuYde|;_KdaRG zF_Cpw8KliIo%2MS^>PvKBr&g6bu%vSSo3~kll5(bV-4>)4k0^gvYh83|KDyL77 zr}b;YwbtL$>{gn2KUjaa$3FLZ3yc+wvBYTPZFcc1n5@-OIj z-bX#9bt|+;n_i{m6PhR!ajY-aa&l~57t}+S*5fAY+flEETVuTp!#n4-*2{{;TAoYR zkHZ|t#LYXdOVrN3CG}fry}T$mpzaRk9p9V~I!d+v>XeU-S_aOS9AkMWwot?Ijg4~s zPI+D5U2tU>P(BL{$E~0LCame?w!l)(>UQ=akkX*3ZY1 z5AU|0(eQl#V}sW9N;`f(hU+n|`FU@+eFA?tPEjsoz3`s7j8&9{+O>WtUvs=^P~LH` zpi^lVx~07x(mLY1UecC!+VOG;$HxKXH~Zf*>whC{ll5bHul3`pj>mECYcy#6bVu)3 zx%|18cqpn58Kc}DoAX_uIvnIdPZzAB^hN zz56v?>r3iot(N^o^*^KKea`x}D&>~;vp;AbYn3Mlv@WDR4{O{VTKD0+qkEW+S6Yvv zNAKFT@bKA42j9_D73J^tIPcNAzZmf--Vy2EyR=VRKjyYZdi7)PQSmJp`LsU^Au%KuHpFRjM%w`WSgWcB5kPDdikbWzlrReuX#6Ezqi9RDc=X+ zd?oIAcD&5XwfO?gGuMuntruG_zlHBeG-=*1D1F>}5&Mw3rH+qAc31!0YY5*Mq8xr$ z`A*r6?`LrQs8p~&wVy{hH224fm|R;~-(>jWgL}ITWOGQcdBNyiN49x~rpdxHsmc z?Y(HdT(@4+5*}{Q?{X)lLhZ+u&!-f8$D>{OCp7X+oF1h?&ANNq0ok zZqoFRD7_oB{KvHnhqVmnwcL{aKK;)3d5%S4-5VaVf4oW4YEynv&RDJfSCpq$H18Ao zeMF(}K{|RRpPkCPi+23)fJ)p80sSND&vz~L%}dwD&j&cC-_H5;9Uu8F55Ef?mo<$e z%8xVptwi~FM8ChR`3`Fwkq@8MF#7_W)3RPvx`s4Q`POOu?}Z-FxQEp}qV;$(pp$J* z_$+N>xt3>}(z;*G0p+`luVotVfYK*n^tVvQ-YObVo>2DcvHlIHy&CS6@`7#Xihe&A z@bav>C9O>Xzjj&QrdbCPevkScQ@=x6=2J=&*E%PZ4v9OcboMI`U$Xw~r=1$-yvCRE zO8?)gJmJ~VHqCQ|=6gDc1v-J$uHYCQIpUghP%fR^*>w_AD5c633@cU=89DQyzA*7~+}S^2Xgpz}GU zd#m#Cg2sE!`m;`qFjHQ`*cH z_2avv60S`7c0|)2R)6*({$9v6rJrZAQZByF%6H4izsp*t-PVso#6eB(d8Ofk<}GDA zr{BBP+@XBjZT(wiLSMV)bxF%TWc}|2U(kHmrgkascWJl-n%)`f--JDC{abYHO5X*Y ztA;eZ&?D{J&`!y{0J=q@*Ti0H!sM}lu`JI%`15lxS6Q)uP;=xhu7w64UxLh0h#X1$tR zhYTz4der`c(*C0LZ|PmuG=%nR*0;|cYM#)%TD1;02DC`ped-pza2(vP^(tjJuiv+8 zTAQqwElvgB_No7F^^>^ynij*HRe!$ecf|Vku}|&K={NS*5#?j}p7Iv0(~DZp=d^5W zzgv{<=d2&kITx@W>{7mQej+~(SubPmu>LJV_V3-+zfCCNWPI6b{d;;ZYgxt4H;#F> zy3LO7ho_YvoHIA6U1;O{aYA`}MAvI*c>6Zbs%&LYn!cuvK)BO8@A?#(w_|Mno)$dy{g@U1!SEB9IdrZ&$i zo2`G-FnmW+`hv7u?umA5Ie7NMH9pVUxOdm9eqDjtZM|*+_aS>V555J+_YbLu!t-J7 zDNwIN^5(mDgVyT}v|6tRP!sU6+WIqXo=37?dxP>ae*yQjI+ce+1JLTC8bzPdQKbPnV>V}#~l%dFpLU!nOnSpSYO_d&Xp_RZGo zLXqbK*0+^1>-!q@o;t1HOX}0_#n!j~RqD?(@0He{8S%WA=RItneb%>co~4HSztusW z4c6;aQIC&j48p?#jnBRA4mG>2KL_I3KF{R2ms?}~9&4BNeTVvboto!>^?S!`yWtsb zllA9&!uOJ(?zs2cZTc&E?jQ+tg+1m{89gpZNA_ujb3Sjc3<4kYBI$oREVOi5ugfUqp-wQz z$Z}1O`Vvw`*}IiFUE~G6DJ-&qoYAaO^lJK&*COlJ9DGY%WhxhUr_v!|WqjFfy?!Qj zmCE%y`77TSD&3ObTI>4;=M1*3UhBu0e(U9kh1SoF98ar){P_NHhxP5TR`VCyxCg(^ zdR?Jv>-8?$G)$;?q(q@e>_HOI-aoLurk3zG``njP+^XUovS6RP5&vCF(>w)KrJpbby#&NR8`ghNH zZozYrz6t45R^fSIul2H3hnnlHm!Z1V&URm+b;dE3dP@D)%TKGUpHui71Jo6$4)T$* zh5C@ol&%%lpTSV4mS@3h?D#o;wbtu^`qx|k=KrvMHE&H<%C)&)?x$X}zpZ{V$Hu?bf#ip=F01zmDV_M*TDDWlv?di@se6LD=TeT90Gl>1n>%$H@S4gqyM_{KQHR%$&_H;Hlz=dMEQ zWk1#nWu;Q<_42uH4cA&cU*`Ioyx^Lz)Oxv$I#BgNertj>$$#p^mTS54tzYAjKa}Iz zG!4p5l;1*K&Q;dyO>-Sc`B(RbVzMuCSnFexhCgimnwGy;(5GqUYPvFKQ^%b8@|_xX zcR(Za=Xk~bOMPAK*X~@GV@8eUF`!{6$E?>f2v4}jCT;4x^}k&*q+vxC*sO852I#T= zH(a>C$TN{aO_%!%{H+`68t^y2xNjn3_de_QQVwZZxR=a*HHm+~`giV+DX(Pi9M-%! z_gx6;kMECCZWa4>>-QyiXNBv|ZOXe<8g{qR!Qajh8FsnGT@mCV@kg}W!^%&IPo2J% z*2^H2;aEpp({)&{ueDsma_>p#-Jxj=2lY=muE+W_?M}4|FJyls*ZMnWoU5qMO5HoI z1zLhUE3_`fy+-RtXyp8`Uj5sZ2ffzc9awI?-p3WKlOp9C`xEb4aLm|Y$Nx6UI_q`1 z>(!rWlv=-UB)q0xH~lFuZq@YHTEAB3yhu4&_(h#_&TrIz;ysc@*2|Y%cTvBd`j4Ck zIVVvss?2)Xg8Y>+bFua9k84ON&r*%E*!q6YagV?AvCEF_k-NKtqt@%@QieXP=+N*| z2hS<=?9BaECeIs==r=KW{wm>Q-6?zZXO;K6t=C1`tTf8_cS89fJUpcLFZTpIzpT1P z;ttO_pHmvnD-U@Oko{5WPWqj+o9))?lN{BsP1c`d9a58WWtsKk2W3jiohMW;cD1HY zdgR+ht)pin-n-vn+j%fRUYxKWQBg`I;~3GtF*o(tuyMsO7mK4{cld4P`&LgEjND?O0Y}$bkO?y znyWPb71p1V?YCYxPST`Y+o(Jedr43qJgYsRVb3eSI6e+3-?-M7u+qPzO)giSm8)+2 zZsqSr>(4z(l=tnL);R^`ItkaOygnb*tuyO19OrJXQ4eamL)Om;Xz}|OQ(j}YJDH)nE$kf>(Mf7vSYsi7OM%ucIh{nTeyCI*?Rqx-snANSI)iG z>z_*9H~BPq2Izi|`MxOLnEv93@^nL#j?*ob->+M0y}rZ&>-Fs~C>=tB^h>raj>!XR zQa(GNZK26}T@1a`KBfn@IZ8h^Tfd9n#i$Nr)tdeV>+kMK{mFQ+&w4!-34h7@btm@= z_FAv&DD6rd_G+K;rGPe(!Ne^SG#a?$o&bN*CofX=l$` zziu8>KAqPzyEIMJk#zOARcTtIyr!O=@L$>}b;V?UyrOBWvi=v_GFxmWqN zPs318gZrJAt(VWZ{*$_wKEwOC;XWhJc(}He_L!%BJfos+I@e(wKl1`R_lR->f8LGd z9*LOT4{r|g;@KP5t~Kf(u8p`3=9-dn^AhXt-*SJ5G!`jsZPuUD@ORY0wP&M-<#|S9 z5SC|7W!B$e<{4CYX2yFz-0$VQU24al8}aObb-_DiVqawa{Y9>IxhE}l%E2W8S|+%; zHXaJ-psqA!R^HX%*@d(zX=^fGNxP*EJIA(Kl_f8zJ_65Iq~C3^emx`YmTx!6c-F7} z(q4IIZJqi_zu+CG)z-^zo2|cZIUMBEAH>^Y{qJ~otGO>QDfcf6@*50jI-p_Jsmb?2 zT9gmEc8GDWQriA?rITki+>@qGInTv-zNu-%xi04!A?q*H8{pmaChPZ9xt>*-Bu1Td z?x*pdNu~8?ojlX#-U{zB*IR$q%XJ_38>_VbxQ|mGpv?L`PU;)*&L(9E-kI+R@@cVt zFQsBan%r9|v%bIZjF9W?@Egxk#4kK&7dOvbc%I4clCQK^?sMz;Vw~p?Twga@uM4ok z`g0Ag@whL~y#($Fb8nJow^GKnK^V3Vo*(esl;@n}r|^&G6x(3lp)W12f zbFY*8thMUD*7`Mnr~2`Xy3YDBmUY0p^xRXRjtB3U6j=Y;s&$%Xji$%(gYyb?MHbuf zZ#Ps1d2p|NiS@rBO&;+KqQv?(S8K=rZYJ9<+Z*3#;64rS@d)m*Uf+cKtbB)o;~{ke z7Aab+UmsA%i0xr%5GR}qxn^O1;k+SqEwuiABF7S*m+*{$cXOy4(X92){MbHA?bv%l zuAD{IpY8DeJliDCdfA7Xtbc=tYafn}+z)IF>W}9He5a(y`nLtxui2ic??icsdjlLt zNC)qUg?nGZ1Il>pzns6QgR;_k*@*fxjn<#DvOgAT_yX(K-|U}UGZZPmc^;8({ka5b zqFl&6zRY^vq-9#>9_!zXXt%yU)CYCaZ+&~>nIY#>&THIXZw<=PYW+ONv6+32x*_Co zv-M|e_bLA>tv_pI+vi&i%8gU!N)tbAlE4-T1)v15cfKc)AI>T{WwSJGLp`^7bH| ze+1_?Tj~!3f<~GsQ~%>cz*-380zIh*BTd3-@Nfnq57y}QQ+16KQT=+Q_16}rzagJ? z+HjHTQKvn4p0~M|bYQ-CxLJD2^#dEK<2w}RPWArFDyy(uyp+izY z?X9hTmeWpx3}>6K3&O>fOD!WFyCuvLTDxOWmjxQA4^(ab!KjOGXYM8#!bY2ZZ-J&&xOMfI>pwx$h|XOVV{>>zN9vtJ}@QY%+Z%me)D3Ws3O1d%{|Zpfesd)rD2R z10BPiuecbF`ZJ*wWeiNXL4Foj{VV=pP&0;nlk8i!U;Ip?^{6QooCGaw=0O{ z35|JRc1E3}+*Z{+z7;bWE9ukBW*M+kC*(`y_~A`kvhHNgRt-3B9=2v{;Vo(ncv{-1 z8dVxg{309?dISq%oq&aYVx-yWGyo9}3^C}jIhNL8nJ?d-Iv@9nw6&2Kd4fQ@G~=>- zH=K|e{FHfyUGMIcFW$cCQ_@BoLVgpx3=>>!ui&5l@@Z%Ey&6V-66ILp->xe1zLCg| zynb3aJR!yK$$0i2SOe&EcJ!VH(#z!tyKPntfD%{()~^J~lKL*`vwb?m&D+xOn8{#) z)jpym&SvxarqvK}fyik6w+9wk8!+`zmN}<<$us7v*{G|hxbrO4%4nGtzBbS8vr@Tu zb$?m_&FxZq3Y{%SXV@_IGXW68L)iLzJoyba&Wg;Y4Db;h!1`xp35mS8Gn^6t|IoJQSGq#mK?1qfwVD*@4uH3$kqK5Bj54R5@MKDLu9eFtx}- zRLF6s(+;+Dzu4gz(Fq-Gql@nDO>FbJGQgRtu#ubh5j|35ahk=0{Ga0xpl!PQ8{YqF z((ocP`9_Z!)8$#~dV5JfE?K9uL#3p;Gn(P~B$tnX0GH8L%R}=@;v}YueMwNuh zquskk(Vf+hPr9VXFooa@_EzGwsp@C%iiMdY722%n9DaD0{Us}hHL*z0-+Ib|$J&vI zgiPjk1e@N71mr{CdJ;@0HlXVHQ*GJ54pMEb;P1Y_n*(O#-}0xV5E;DGh*PjWt34G4 zspp&B5@>~-_;$5FpqQi|U#yG@(SfH&zvpY8NpN_RW(XwIwiD$7G?4gaBse4RV6DBv zd-RI(M%f)^yZ)Ri36kGaBF|1dEq&lsi2MTXArUXqF$y52hkpp1J@{q>)@?rL(ZsBF z!`pXfgkAsoSUbN^V|lUtVqkB~vcc!OJ!|_OD%T^u?mWWL{d34=PVG+lb#on0nCBK+ zEf?N??rgsci2R*!?}_iX-EWKHowcib=ocrR({*R<|8$4c%1(eXYRHkNrIu6q`??Y? zqYpc9!mJ2SXpSlCjZlGoU_1e4a&eYb-KqYvByiX3-&-xtA%fYQ z@wcG_=~$h4uHNN}OUq|SsGg?guUm+N6*khrJ3BDg3>8jz(V;p`3sAZO4oLB(lWc$4 zP&&!Z-Si9I$WLM`_Bjf(SA-aDhnr6hKou}a-|XuJHtM#=&e2;iUMt8rqc&Lfs@ zu3P3Vyb&t%FH|uLw~T@mezga-c+xZKuMIpkeUi>U&#{O#QC{15ZyGZiceQN9uIR&tjZLR+lrj_fr2$0x znUny{x(AJ_1#Sr#6T((ZE$y!<>K<>|uF2$oMn=y(UPiAa?8GY4DmqjwdlqIdwzC;3 zISkLrqCL^Ie`D815zh<-qlRI@1ML-vx$93)%eu6x_ft&WA0e8U^mrcS)_t7s5e-q0-?UZA?d1!G2d8wPa z9-MlR&S~xr@~_Rio{`VJ@&<3(s+0@^%2TbWZ++)BQ91YQR&kM6aL7A0hVG z*$AFqx}MkJfe^F0bMeK(MR>);5yx}wT3^jyj@~QpZqI7cjU?x+qTr>E1ZrUZ9q$`y z8e-!Ng^7)xjNXl;j>{_2ZnTx2H|dc__+yvoQRCwY_Tm;lDP8@c3yBb~{W~K}c=MUl z$}szG_ z6wSYs$wtj*gvetUBkS3bRwOzKrCMj#%UAt{^C45+F3yIl&CUD|E02S>@Ne9g<7?uq zF#%u9=OXGF!F8%0wZmMjmaKV2N(OpKHq$LZVmQVl z*7iz_-+o##J8u8<&zIYcBXO|1n;(gRZndgAzw6&sD+iW6>pml$?xir(px$u#WaxWK z{Cr9Dd+{NTOPk!hqQlG{lu@<(+V%D60;p59-C8FrGsjSm!^_^gP>EzjTOdOSQLn_dp zwY#UPAwQ2i^8O_{^n&!E`$qo?>G2m3!F&N`O8WaN^5u#RFpClPT&~3cV|@Pg`9X{Z zIR)CI*GeHB(~+cIy&Ch5O^;rlc8;dNMlR85;L+}B(j3>R`&M##T@$j$Vc6@%+Fd#U zHUXHdCLO2*?PqXJ&pLe|+0GnaPD?M3JKsf^fC^@m)}k6_!plM$y-lC-ZGP0o>KD@x zfi0Z&qVN78{H^7$yt)QqP~BvlmH4vi5x0ai)MIBzR!pUvcZG|h%8P7d%T z??`L$xjPPvV;BB@;lAvM_#K}mqMWQ0*F;U=9FvxBdUW=sb}gI< zB)D5`H~+~n?+B4DeZw?AGPs>BcpfT!^XMDTivpi{yIMB?f4`Lf#NrUn%OlQ^A_3yz z1<9z3?@O(ZU6CZfVlks}H1AVC-^v{%h<|~lG0T$y_1^kP5z3rg*V73e`HR=1x83(K zZikceC`WOvH`ex>AD!4>Oot2KVO}QZBJrKC?+|+g(;?k!&B;ZZjrgtT=Dsa{^T80i zUei7oI{9K{(2wf1a$?V4hjN)d?-6TklOdh#kq>(zc(e+|SN}$CJW(Vc&j9!>lq~StgIZY&X@4sQFV_&?7e!m@B<=UT znX0WuG#qgd7YCQMEn0;Om-Wv z?+U?R44+2fBDzokFb@=EAzkYT}*u(bm99!tCpVKU!&0>ARgt`6jx^TNWolbuTIT=}zFI&tR@JC@h zZ@rU})(^OYOA#E*G+|DkX6&`2nyFL2T;N@vRm)+U`ddXqvMy%vAh7Kf0++qM_v!D< ze9Jkbeo>_kQQXX$4M-#zfX_$+)0`r1pa?-*%e@^R$PQ|gUfwzczl@9Bqv z)X3{$ALzUl{gsJ_&9#(!?yk0Lc{%;VH&>Xm5m|!$+j}jb@8Qro4aa0Q@Fb2YJ7n;A z{X<%S+^*u2ZAaJ_YE$4;Pqj^jMUs-cnhXk}`1k$Zwc^4Cxy@@tu=zodF_9Av69IB)(v)vq zyY;I#_OB={9UNwhzlDs0mpuFz#CY3NzzLI29eR;!s)fxk&zf+R;Q*pKeGlLy>yXM3 z;C~_gTa`|!zmEB3lJnWo@2C5>ae6Q1R%ipHd%S9|e?CEbw+=#d0~3+=WuM0XNRS*d z8vm2#k37sZkC&wHNif|qG1nYFYXIDs&SUP_X(!P<-gvV&w&L~m@vhw3eERr}0kd-t z7EcAI^Do(T=0pK!uRw=l;H7p$q5ni5w&8bbK=y4X6{to?^?S69PA2^CEjTRiQS;BS z&@t6qZE9N36YwR#A*Wu^oacDc!0y=Im2R4UkYbs#@=BbNI#rKgSoDr6kP=AOx+e@O zPs@qU1yGz6pBtzW&wHN6mbIrM3A35giQsY9<*ZSQI~b>YLb$vBp3tla;$UDB?^xsR zSV~r#!b+FXy29E}@jSbUFNTcEE?rvD zw!4N|aSgjUAP?TnJ=_qr^l9B-ob|EpG!vwa3%cp@4O(KiB47G@YgBpVfKajuJ8N6f zKT4T{I+Ui@UdKUNyN+3Ya|>@zjm} zz`|V3jRJI!8Al7AS%PyBMBORfn`t@C9=|(GUCK(@zNAO!4vACzvat}EA~8p;9oX{j zi3-jzeNMjiIl_2cx9@|zgBswJ;Ze-4V#PR4Bu{zm-oNjfzzSn#+i_M>y`Tg=XWreY zCle}ewOh~9P@?B>;K881R)OwU|Ls`M_C*9Xn@5HnH|VZmOqOD z6fPLCo+45?-xK|wlAAzs3uYKie8(~MCo+;+wvMmr{OEJ`$8!AkLl>HQ(<0%^6X9hx z2MFP)ftS^iVTHTRd7CR$55%E?x7S=2PG;vP%lL+z?01U{Twq@`*TXZj97gQ+)dNzT?%pN?a@NOAmd86W{>q; z*RUTt2XXHoZ{GG2;lgGk*%hTRZa}YIHVOl^0UWPIPWQ$YR}O2>l3iBK>bG;97h`#7 z(8qA~uF5?sjjo00JE;_Ya`uHX+4$8p=jZ{doA``I)sg&+BLf_dnbmZiqG7tS^w0UzUjcWmAgHGH$hN3GN@vqG_fV?+ZWri>@0uv;Ki zeJ@Sr6F%0J->v!h_7E0jtWazs@FQeM5YeYFxxp zn{e-j`0CCeoi0C~vXZtH1WAH}qk}!SG4;^Z0UCK!7z=9vcc}e(J^Iu$olY2rkUO~T z=e+Bvkzdac7GklCIYIf*mM_aTVR|q!)(@Ro{8QUKWJ#6*RSRbU!rV ztj>$NLey|OwMiRwUh^3&jijyHH7Gcf%MD{Jf0zb{91B=Wq9t!1Y8Y~CLs6ZnI)wC> z8HeObc0XdnLUII7;lbT2lBrJ5;64f2mL@~taefPGZQMEIFtX_oWB#vp&-|&|suIG3 z@OXb?P(!Rl=j({rXI23Ki&MCXCudd((C_F5>+k9Fne~#d@s)uG2-Yi?swtlg6;cEb zF!~+7-DzEXA0hv3wcik>lXj$R2ntl6qpYA^S>1Xk)X7C`BdYD2;-(Wn*Qkv52?OQN z(DD;UBeaA5>rH|TiB6_uc0Y$fipU!6rgZ*o?|6OuUW>V5`$dz@{nLlr7)w%f`bLj_ zljH|mBwNlh#jOs+E6hq@){_il4u?2Xr64LoAmc_q*|wbveaDP!>Z+KhZ7%DDex~2u zyqZa}D}iL*8V_w?cs?fw9`f6`CloybMTTrt)Gm~8a3$Wu4O}xE#j!=dLaKc0(k#m# zi7mzyaC)8xZ`V^z^Vu0l?x|bba;ntZEhiQ|5?ngG%J6Kwg{ZR}_LcT~+n+$RA ziY^h57gUCaC2Y^;ty)5`H1@DGBHkIB=9~2;xBYBS(r&UQVgIcZ#J(1X>7Nr_*{rm2 z$QWR~pXHDV9zSgO9H9_o>F?Ow+FPxix+nUX>H$toQTR0X`m~gyHmH0^N{n>pkpy{#dW-2b`;Vgy;-_>}uO3Os;T73Rdm} z4touMkAel)4EOn~-3p08emQfzqH*#JSH&%Rh6&&O2?yQfoxPUj=pb`~k|^w|I`!v4 z?|){IVO3ocdPCzk7KYCuhr<_DwvR3DGh?-2i+^H<4BmKe&mJdG5CPM@X1$RgolKE{ zB66Lj=a9OiB_`4qC@|75?VQC&C*4c+?9?In9Ta4(4sF$zy|ii^+3PCq{;eai6Cj$$ zzs$00M3tr7MZ6r~EA~h?q7&?Spp$;-pAX5%JE${Hg#cvaWTY)o$hBLaYBSe{C&imi zLN<@KIjo;nCy!P9=L4b#5o-6WP$cNSi;ca_FX6)&| zaI%Jp&Q|=wR1+qra|K#$=bO?S-^X!RAD(#??+F-*v8+`YC`mgKWaoY2p!roiCoh&$tovVYgEpsI+DhmtL){1O?3iea15 z>q2jyOmev)ZO=?f^aeN{ug2SXA4#&ziV?WD_+D39Q0B*^b&xXgZYE;s9ryPi*yAxc zn&t)By-}NISagy&(`oqbNHi{psP&k8t5FEoWywsfJ?|<^9|VtLv4B*JL6| za@%JPhc|}L=P})f_)R^<_Mgk6GArU7u`=_aE~p9jX6%3G1sdxg*MG|6;eG%0oU}Vj zlOoG3)N9SV9!DPE+I+3T>BGnuRc?LhYt5<43kd4{t4I(q`LPeAyB@~AUfJk>#3rkr zS$zV5d!u++5jl2cG3U;*v^VJGIR+b66CmHcY5w2?@mBHTOgRwo%I1-ly_A%$I__b^ zgARq^yF6C3MXGt^dty}?-E|OR#(4iTnivG1@`HF~&lj$v zGv^Qf{MtN3zZ`l}*dEdKy=vVGRS25YBkU! zso_A)1D#J|CLD%3LfGkRMNxJ{jsb7w8n!ti&yD=`exq8;V57L#zXvFGcnSVcl-Vgp z;9QH}PP{i>sx!AiWk@)Fn$hDkupVee(7@of{d)kR`R#T2eOorB_td^cdf0=0BQJoz z&At{^>%%3MpmW{g8sstQtpL4gDH!B924!Z2eLeYPd{=d)bt5^OouXgqO4L&Cvme*Q zHU4H96hj9dZOJ(Nd7`2vp}$M#(FIiJ@o1xEHTv9t!&)b@I|zL|HSL8j_FrAokr}i9 zjb1}+;BCC=EdEs(q&ID__{LH5t!N-N4P%pT{ngA5?^wiGcigg99%oE2)(!6ANnMXR zPP2M&jRcB0lxw>$bMq4M@6#arexUgYmhsj?+kyIhqZNvJf}t0_YAQq9gu?i(fXtL8 z#JoY`#L8)M18odEf70($Sq{f+#pjO`C4qW6fQ8&G#1Z!fwrMiD!%}RAnpSw9W3u5` z!(tWanXr(9Dse#*)^AZ^x9Zt3LyW;hmWe0m`@IQKufjtB`L9te;4Jz3{Fv5Q%$U}) z=j0vcSLm#Vkb-%|jK5qHEW=4hncWCDINDmp?}ge7tJve(<04*tajou#Wq4R8I9TfCU5AWT@s zZ;@S@>Zrpi%RYnIR%zs=S79t|{gV|8z14f3F@p`>!+q9`mX}*EfI{^HZq*@Spr)c% z&?h}l0&kjZKz}6_|7Z>v9t7y5A|Ay&q}-jEkq2ZVVoc}}H&LelIgQq7rHX+-agO7E zxeS>8(Y8Hq+i$zT*n9-T_e=)jzw9@T~w;P5ej znqmqX)5R4Z<|l>>!o`37y%mV~=$KMr@X7_A8m~2E_0_aKw3i?!Ivb}W)P##IeO@YA zD*Im5)TncE?NIz5yFs7~1i^i84eE~+0Dl`?<63cY^YqZNWZQD60u zoZ2vP1N%RK{?=r@CE+7LT2*d(uK>hc%j2BfJi6Vx!7C2x%q%qggXF#)fKoLqE7V|F z3CE{utlzGvDec(JvRX$o10pwVLN|ZgG-H`}^bA+C_$69P{jK=6SN%An6I1m^V%0ju zYLx<2$!DPVf(h}2ftL9=ASSa-C+I@k?p#RNnK7%rnK|o3jl`;XqyAKEbRP~_ws4XW zt0pJjp~8AIsk}rE+w2tsip!v^tq6P6Oh^si(*gix`w8B` z(+5|P)%`=(efvf6D z)@y?p?hWkz#iRT>y6IyDyuA0Omr#_clCV#h5u7Qn7!U9|q9R4U&=XV|{G4=o8^GcL zm9%?fhJe4qI7#?DJ*-18)H_IXAO_IUd#v~MrwZfTg;&yvfqtY{%5yPd+V5EfKpB_A zt1?R7go|H^ch&1Og0jVcdeNUOLvcgKu?H3Yv8Mm%GUFA-N?HRde1;YLyR(4(?y^VF zwbK%#DyjIa+KgF}>yRC!2KjV}=4WX7(yp*6{|FCVxDh{OuGf=Lzv=39rl)7S^(F|{ z{Z9O?1N9_kbqO+h8P$PN$5q_OHfFl78k3PFe#6425c%?B?TYBYrt&+CwOrD$3ve?! zZzaakWvj?|mqH){loXoZoThKEjP1B=yGk&*CpkRCGNVqgc%Ct^+DX-dPTMKc{SqHR zXQK?fKX54WCIJ@!iDW|I<#a#THe4Rn^O4`!7Y9n}~rF@;D za35&i%CJ_-B{N$bb>Wv(4{=-M^&LA#N0#|b!_gdIs3rxJ|IC&Gu4=>a1W}YND_2nSD~-UpL^c%U!5%!UlkMn{Z5c!?BZh!*{`9KbhVZd8@SH zdPL)hQsnxzcj@rWkMP>_LXoy1DK?=cup`rSTJGPon=rwbDI1WAF2So{)g<=dz>QHS zb9Ho9daXQU(e2@s#)R5&kSNo#O0#M7vp7GCiGFUd*I(Ul80J^@*Q^3@ghjc^>+(8x zeB~zG(#K}pb;+hHMq#+1*koI6{9>6quDDMNE2n{e6rTtUE~Lpfgcp%(OlKX*~G&mYx@P4&^DM%{|Y<*S#hZ4y^M-M=%RmS zTK9?NZpVsBi)+Y3FxdnUUxs3;%W`=3Hj(f&v%;AUJh+6f3UC~}@B(>lM&Hq|7)!JtNf&L3w8!STxqdHH0ZUQCSj731*D4 zoCIHqR%Lz|8fkH;&*+4ogy5xiC{fUzbTap~7h5)I8rDz&xND1cu$6rD2&(%%zY4OEKy}^WRFa?nBD5a`iW{ zZ{~fzZj0sl$y*$+yEVGp`wojk>7l%_pyBPetK$Y~O{&9^+ZTrqoC7}IJE@EwP8q`Y z(&Vybft_`k8;&JVX^5ETN8eLiqHPnv5gNbYp&n_b9NSurcJZiyDI*TB7P>Nn4LEa; zRr164#M*^jd)AD_U967H&YWsQ=?@Bt;XJQBVf`P$yJpg2tm|7XPfRI&KN{vzpY#)^ zTD|n9i$TFJ@?nM6_!&Ofj?mP+wYSmpGC5uabC_BEcYj$Gp1-G?V z#mrS>^16%)=%qOGZkoPr#b^#YifPfNGL%1+a-PM9Wq&Nt2HWPdoq5|2sj{Gp8&J*}SG-V>Cc zF(JPW(f?QgMX8vbpihMTn6s^~^YJjm`V=jtuYoS=MM8`^pqx}F!57ku$?^?~L;wd4@Uns51mlYX*wggqD;{55E!=(p-K!Ej7s>NZ4}A~# zBreTzTk1ZstF?pnZ96UX{}ZRD2>oil7`<|$#8>NYH-uH4C8G@zao7rvVB?j7Dpnli zOed2w7S5Fm$r{;Nli8MldFQ!=mw-*Y(0402{N2dc$lj_{ypbkrW1w=)-7-n`+)37r zv5g#xPuCsB7l~6?Ms<);Wjqcp?S6wi@>Q6@*oXO<>n!iDPCqs!!{2`BPFo^uCXY<% z`mKI`Wrxk^)zRiWM4?>SNSM?-9iu z!Rp4e`2<{j%NzoC{lQc$QAv;&`%L)!5#(vfN`4e*@f>3K z1w%K0LRl^%E!j@sMz+&BlVm1N6C%ytaW_aGqiSyAZt?_pat>n6Cr>#*RaST|E|$8{ zrjl`9C$g&#{T_;5Ax*hq533Dtc46F6ED5v?=e6!vPrtN~Ttq4Tm>{W)oacvY>qqQ{ zq+7NGOulp(6({q+)Q2nImf)|_UU?*TKM8!|{!OjN7JH&tVJ@T6Fgwh3R`j|W@60$b zA@Oz7*87Lv;tyC!=|-E5#W*_79+A@%I@I;i)TrmygjS$GSzOS4rY;6g`(jg~k2eg| zM3c2~*RmG6eYSm?!U(;Y&*&<71mh}8>W?*Mf>r!e;k^nr-W+=u=Cs%7G6|dZr0038 zf!Xb)v!*moSsi}U0I6TkyxHvATPCSSZpckP^eoT-U3Ie(_5EiuxtVS4i&9Kc-uH4Ohm)xE&kvUp}O2S>377vVA$p)*2FNv0$_5 zBP{OPYk|-AQ;);po80IPNrP1Ct<|25=kn&g-))6I-=Zj4P|75(F`JhRKMH73XUbPs zv}6`Ft{3=r8rf;$S=@tk7Wd;AtU+OJ)knDzn&_0QBVqJP9(7;X1y#+=jFfz68oiGZ zr>LLafa>tY_m!yR08bV*LX!B{V_lV+xC6g%_7FHzt5`)-yNx!KXaaD8c@>wbep^zVz}Nk znMN_SBW-qG5M!rB#>=}4dlY4Ok>o4~tH$b#mc$fWOr&9G76uz)c5CROC@}^lAKjLz z!F*<%gi3S@12H7C7ow<>)hn*bg|M}o!ptt(Tu)Nx)3wx~O0};$p@X=yE&V)atyzjN zc}4#T#QMcqffI}?H( zo^_-Cy_6kBhdfgbjGy>1E9I`1*tw(Y+#<4UU|EKn{g1pn)(32c=X zQId3iO&yDBmugLm+S79QVfXf$`nfq(p0emi^01R6B;h*h5b$K=-QKwz25o^mQJlA~ zvE+v>va(|C1Om*@U2TJ}YpmDwiY?{(fz}7V(Ik0-vb%(9_W-*jR|vw=eA+%PsEu=g z=b*nVUbL^47wsK2|LD~>M)iX>68t`F-bDOK9Ezx+z@Ydl_ zi{ofSFE?bk;ib&_r~huUEVk}l=Z)}8B(I&Uc+dn7(F|1a793TY63^CfeD&w3xCUhO zV4^6wT;61t{Bx7ug5^AdlR8SQyJ*~eR^M?2)W{3tfsXSXdp&wb>hlKFw|u%Y@2G3b z=Wq97awg`2aZLj5r??^3+)JP2IU?6`Bm5$nRaP^lr{11-xpXSzgd7tiNp6(6Z zEMjuAR@%;@?NgBLUP!H5-vmqj%lM}m|I@_6Ux9wfI!LK~dG#DzwrlecTL0GDC(B>xR|$ zW{X=)YSuw~U$@}H4}AUeZ$ZmkUc@c}X&sQjCi(nZj z%do`!jp|IV{rcgT7inKiLGD{pGXFywwHU^MHZ3{#EGoe`?u&QDJJY>pMSbLR?SDJ-dKLHZ2vjqdeD|+w_=y_)UmDrLzbA+m)SRt>*V#i zFFzS0@i`vrk`(0jE7~s=Ji}D^7Sp~%8KnID+B!TtfDr>HyBV!` z#{O^V^~(3}A?L)FZv!Wb0zh8dwvJyXJ@ommsg0;^cgW@qGnY)Uz+E%4P}Eq_Qa4(pvR|3Pa? zPS4bX`Hgr9oR&oV*_LKrImJ{RRU%0$lUhHr1(saNN`T2g+;Ia^l7>F_{Xdr2gw`dc z&qY>ZAx6lP@QqWC-*+zvhot&rcDvSKsSQO4FQV#u$?5+MRSRr|QBL$T5A7(R%~u8! zCRmauVe{0t@n}3h`b}vTKh++%#P766+6Ab2BIGdKiU@r~Z2gOz|Ya zDf%%#0LyT_%uI6c=-poy+m}w%Y5J?|Dqkxbj!ZH#*J6l`Kdb)a#&M!C>>GCoXqiKv z>a*XHP;k4&cnWxr6RskAyAE#>#^fCxJ+D|ux%2EMN{I9->)mf`^ z`sKrMp{GUnVh)IgRjLSmy6fz6=TCJ9b&gm`I;6!Mf7+myyLx@|ZY@RfBQj=EA@G6Y zqFI>SdBQxz8rMs_Q1l7<(qU*?bH!e0;ezQ;-(7dlYhHN|0DKZx^us&s;%LjOT1k6M ze)y-{gjMm!AC~!-XdgQ?ko&hX1QDN4tzX)HH!ii_?ymn?!BT~Xh4&H;`t5ewU8)lQ z=)&UdL)k!`DZ`sM#G~fEkOCpieR4Q*C17CT6?6M#ru>TYrQ!+T}@)p(K)FPI}xyC%K|G zljZBT*YDLk0z1_Nfwu+~rVq%eDNbb$&(sC1oaX&uP)$3gP29o0W%FAyh5YXgPD6Yx zGi$5RU0qr2&m23wTDo!eN}mr29ZqeUZmO-zg(-)*jjAU0n;%ERK6@>C019b`KnmQT zrSP&lVy-1^yVkWg=Y`HkBgEGf%=P&r&r||c{fy7}so|)cTlZ-FvU@@=(|kl1aDbd} zr?y8vo8hXZ$(}2VZ2vi9>GZ{Sq-axV4sq`rf>IUJirYF_#jG zTkk zRn@g~cQy$r9Vv&yf|iIq8@h9cs+s6;Pjv!eh-c@RXqt#vD}eFG{j4>9)4Mgm=kCV- z$fV~~<5$lv81%Hs=?zWqrR^qt+V1N!91WZQlLxa-XsrFt-&%CWQ$CYRPi!`?8- zYwk;v{|=cP6{&mFUnSyMA%X4L&EG5+w$y-Xx$S+z+lZ_GbkK_G)0h<0i{PxFiS&M5J%G-o7gB--bfmjL^;Kzw=?@2$Ta+dS}KscAs zQe?T~YZ!q{M}6>26p@C!B2vfx{RfG1TA3B8iz zXYq)|6J`O_?v_kO9ki1;Nc&=d1{6gJb%EX+V9O|9m6M`S|JkmX2Q`@<#OPa9%Z&SL zV~~Lw0~iFD3#%J(+C(fKiA+X*C8M_eot}zzBb%>#do0;kix7`~*R4jSEl>E#l2DsU|%tkp0}Q#oxVB-$RuoqeZPyQSful z8FK`~aRpsqj(pDP zDO=5mNZ4ttf3dn{#^PSwB-7m)@~oaVp|emp;Mb5NN~_`NZojkAhr$^5y~xAyv!muV zN@To9U5+By-Zrc2F6DiT)TcHvs5B>Pj9rg2)Mh| z$XV94t9ADQw#s^ieEJLcN&ZHzPFg$Lwvhef4&l6u#gQGx@`8BJLprPo}Iabgq+pd;6JLY&;_%ug1>@oxE}p50S;!#lpuj< zaeE2B-XaBa&jFA1tB)`H=8R>d@@aD_`=$3);EXrVKW>PX3-M#~dRKRaK5IWVY9RXdQ34mZNr2lqbI(4zY(#T zcuY>P)eAwU=m?6X#~c2#R1|1fBor@E?o$EYn3R?H_xbL|?3hu-;FfohfW4kLPqtGH z{Zzn0T7#O7kQQn(lg>}KC1+W?e=RE1fW(2F^( zShTtjCovpERDxWzJj4pCgfHS^XQf;HJzLOb;OF6&g${#VN87B!?#;EN1f6)78lLPS zc^~XCR8c?>hzH_0yX2o1rxZ^`W|&WV@ypD!hCrvxLVR9woqPBE;cK#bkd#vF;swLVj?3$sZ)S_&?hYExwvy7cddsu!v7s*%*%e*P&~uw{ydQ zSNA*?^mk#skyKydM@G}}4DfoOxC z>bu*JQIO>FBq_zR>FHtPY+}@TssaVb~`14nN|z60d{WKO4EWqwRUG?Ty~< zjH-6Dk1(~|!DV(<3!}~q5pC9uvBgK!(9U;5gOi@OtEaQtcbfAUH;(B0i2B>O|N2Y z?#)YJqb-Vm%GmqA37Xs+Bo3j{64x#W5Te7_iJ%~8?dx017}y+3MAb9vFVPp!4%#>b zhlq}P4k#iD=iS>O&6eh!V_vFdq%^4!c2;bo)MGXtOw^aoC&g1Qz&xlesd2#PbBbO= zVNZN|__M}MhDYcARa$z$8vj+UZ?F*=ccpQ&gPyzfu9SjDfTktk3$W{x&VD>m;7h`r zhEdE+-rv%qU`&Po7EB_Y6jIue_!6ATBh@2cNJNs3$tUYHgJLzB?b@xbPiNnBCO-)% z$+)qnjD3=|T4jL}MJ|YM_cTB@0pA@qB^|7atGcb44{m6|KCbF2`KLKxQm904(Y=Gr z1N|aR|1MHbz(7`3)9E2p&5%R_gvPb98qL5?;Uq(x+3_5MG|I2IGU_j@QHue{uO|+8 zdEJN4{2u=ovF?Gw`7ZhGLZcJ_N0;Ssd2qvt{a6jI%jqy;M#Cng)$w!xP}DOPZdry$ zO@Zy3%0h=_kV>$AlH8bI$6J#1(^t7louC!}GC{2Nn=>(}!61?8%QYjuKIZpNEPl zz6!xR6Ct}5isS<+px*S&5ubFz*El{Y%}XxS{bzJX1u)0CxhXy|_CkXWK5EaBW6-7W zH28_(jnQ}h8D+xnbhGsClv!9+keX*(gvz3tmCMyqvLH0MoXS{3rFMZh%JlKwo%hB0 zK$W?K0$u*5K}*6F=&P_pCrrToc(N+_&b8t*yyQ;R z`O^yF{;u2V+HGn^jDwnV$sRxL_h!17qq)*XeUAU6(&SR2ha#F-r^l2a0QoK`1lgd0 zeG&zZF%mD>G*6#1B-<#x)tOW?QaUa!4n79|ZDiz@-N;HT7L}T)yHPDlKJn1nExp#H z1Gk~mblO?JyJ>&0G|`QPfG)6glzSGR1>Vv(oqo(*u>|G_+mLQ~vB@Dis;z1 zbY{ep1lTnTRc8WKIs(?aX``e^^G5y_i7n6PLX5B%v@{iXq+-4PK`l#j1jgT z-yEGUEei9ro;9_9zpE7FO)4-2@B^BJaDZakTT{O;qUDqR%wI^kxMx|is{XS6tt>M& z&V{6O5ckefjeFeEZ@4G+MooN_u1YVIAvbGOCOwLO0vV!q(1Yf)bxThG)&wM2kxiL? z+#9%Gw+=bl6JQW7tOHHOxil+v9BdEMR^voCM4gVKcmh;-_Wf>`^#fm@mhFDY&FeaB zWaDEWM|zuz{QXs!P^a|t_2;F3=Xm2PvoEHx zA;PT*vTq4P^J|CtZGKALUKPQIxPG^1yx`V4;Q8NRh`RQ{u!Vw&sqvOiq^ z&yIR3tycU4{y>wgp~G5AImlGK!=8Fub20G3tXHqWcOx<{#2ms?1{rA`X?zD$T7ZCm zD|tA?LS9k+k^sK*Ii0ujk(+njP`s_{y>)V#&$mTcvvg$GnMu=u@NuKC_YG46F@TTZcZUN5CHDbp*M8)qaa*mZEk zH=oOMB}&RVCdgT|pMf*FjnC*R){C3?VHC84@I~#Xo{P+`T0NSJ5{9m(L&(jpWd`9| z3W4hZW9{yQE04;OepBP&rSTnP84n3P)TZoHgk~%%CiFE=FN>Y@2=A7$_4%BM_QD7) zte7s?dW1pxf9@hqbLh)lt&M~#Q9%xoIM1_}Izh|&>`oQ9_Fj_h++Qtiv*y2o+>5zZ zTvPovi7}ajghQm}a99Rv^ifV{8LesQZY9yrR;F4(Z#dAp{Iubjn@7q3mUTD?&f=}vhGT3%A z6zjEEYky2Skp+*iEZI_EVFoylZ4;PR+{C-M!#qn5MdGto=66Z>C-YT#oIH~JqSq|Z zxOwD&a-?(3gZ4J^J*7N*aX1KUU}hqe$X-B~*4m7Qr|h=BEye(o(>XRu8GX0>$c-J`>7KG_o{3S^lpD zF0avu!(7#sk>{fB0rBEU*|pcm;0EqN(HE(`atq`HTbzW^Ct^i^3aRtU>X_9Bi^&Xj zF_-^w&Ejf51T)L|A)%1Al_E73+5!$NOG!@XTkU(9cc*k+i^ROR(P;0O#@qqlv8%{Y zOdtq+0uALt`2@|P9SvRL;!AI_#4hTqB-~7oL?>0+{2zR2l;PC8fmYj!X>t9QwHTtq zA^(F+Ll)$ALvN9;r8u!?%*;K4;`yz;7-6Tt{9Bmd7JPq^-ck$kxrhgJ@6J6lJV$qK zhL9`B21{MW{hfw4C*%5KT~_)j9!Ks^kCY>n8kB>-He)?NGa3bYMw&IA6Q^j0^NS*zG6_|?RhCwP5)?)CSrLDz_~JXI8O?7bl$)?pr*J&TC(xN>OOFF-oqcf#KSMypN!kn5h_C>EftaW2XH`H~SdlF>9}%k{M<49Pluz&9F6qTNuBv z36x^}-ny}NbAHQmQSq6=o{weq-Y=7+F3zTCptyDpkZ3|>c>1+{K5O$Pv(kZ7J|Ybc z)$3R*>|L$)7PT}x6G{znR2eo?_87T}u0MnIB4TAXCe-XdqAkF2YychT`J*Q*aUN}t zqxwE#Z|2X^U)|GMOME2Mu-W?x`)I^+npk5&%L>kBxup`KTp zK`=`pm|~F;der*l5hk?BUJqNu=B5<4R>aYtUio}9iCw1wo%#MlLy9vvaRb`25G$7Xk7?1q!U&~TXh zIg6)1ACtd*w0d43l`0H)6LJvhizXi7i5LrVyj-=Gl5)xu5?}fWHSTNVzKl zg+AZY6BK5fmZP6pywzLpVAXaZpJRnJ#Xuz6BTLm+wglNrPSxy$Uah>^WG|PudqVEm zXk71>w^ruedGrPBm2Vwp!n(YRX(58RO?`wJ=N%G$6XkcUI4cN;PSX21swLUU3Ux=F zc5c!AhB1waJ*%S2gWq$rrc#*6J_d9;V!G9hJNGldwYl8mc4PXU_PGvp2k?i25CL)C zHhw^Qj9-2N+@%lhel}78nr+I(^~EXyl_!Mn3i#(?m25k=`b>O^j9&tA+Z3}?R}f3i@&&guFkjw zK-X5f0WR0RVv6M^0mZ)nwWF7A*$+olUqsb@t$|1~dm5g1AGb0P1)HeNC3MuXNjXtO^f6I*J5Sws|+;5P2T#{6YkmRd~OJ@eFeHCDrF8dL_Ho4I7ue14=+)Q15{ z^3>*B^Vw0+X7`pu&cK&PI#*vRkPd6Uo{Ckv$)An#Qdko6@NE8?*!}%vh$vc!Bi!nt*!noSNRDLZs$8$agyG61b^1F=!Eonr;-@6rQ;~JE$?hS=Ny=<9 z&!?S46WxA;vvkt|(W_x_oA%2oH;T`;%Q?H_*T9}G`TXg(BOZwU&hQ7=_zNT7v5mS6 zxsU|*CV~ici(Ydot*=}7!9HH<#U8{>PpQtC4A}KY9+EqVo!jvqtjIEe9)GC>KRv-j zB~m2m5oyQi%8Z<3^asBVUZ5okJaVm@=>Yg3+~1|EIv#v;I=`hgtH8awm+fYhacJ!R zdLZ}u0G0(R!&)xr&6GX)IN68uwG>p~a|=Jx3t%KQE;uOy7~=k@MfP(AO3Dw;d9Bj9&Hhd)66y5x7Ciw%FEbXE7Q!;5of)R&0oFr{yYN%YN5@8V0 zndzM^pw?58X#L%A^g?u*pG!LP(7X=U+EZH)67Y78!s|`Dmlppl3^d<$Om8W^66`(O z@JsNX^lQOEa>snz`1}3ikfOQ+baCvk=Ge$9e#WQ{QMT^E&y~@+rh~z_Fd8i{s zkO@6^-X(6UHlXT8~Mxmc9zfSF>W_Y?#=JlHLv2ZVN$A1l~r!Y&;g3rvWh2P-T+$bq; z26R(?>VbX*&5R^`+3Ee&Dbw)u8u3c9E9(v;V|A&W4292+URpe%FF}*dljRB1ggIXz z+NbgITW=NWk8##>z5UE2l~8{Xl;=awG<SbV2dvTi5$OF)$B=y~6#>Y8CVAezoQp(FGV-K`cyX4RD%zgOY zrO3t9(0?f84zXp^Y(tB^*>uR$Y&|~oIqV~4Kueew;e{%b{AhpQNMXJGbL8p^fs$EO zJIn1YM4@@#w{G0RLa*`$%(ndqIlsfK0(N8!uh(I^;(r>A?F&!=2I3n?5XwV3s4G;Y zNt?BAbN-jbrdpI(nd)zpC+UeJSj3>UKq&f1lTft=e1FccdZ0Jwt|N5(Zuix^QzKg4 z)R*ltot&V7y(04z=E#q%D*(9*f&qD*;pCbf9qZyrT6x`Dy!AVDyQM-Gb%n&}4%+W_ zu7RG9BjpANuac*}uI(&kb@crilQf*QIbqM8<77b@YdA;c~+iEd}dYVvE`@JURG>v(=+^ziHKj_Qt{g z^k-ioG&2X3S0%QM=t(I4zZqibe#2UHmw~P`XvCpS)v}u8^rg>BK7>y0dk0m&F5{z| zy_eptkSO<>7izi5?98>IP9c8{fAzAr;fdkHU&Wp`lH+Eky8MrGyhvi@xIJ8N8_F;l z(g0#mgL^oCO`c~Q^2q+01if6%A29nxYAI=MHYd*V00eL!u<3k{^)|Sj6$>BJEO_;aT=Z4mjO|0z!-~i!0vhDv&`HdtJUq6KIygphf0?5gVBF!O z!kKOGhU5DCd*G+`gs_il8m2?LsP|Od#FPwh>)t>;RV;lp6+aU$(W8smosn!}3fwT;`IRQ5;e ztaNeh##D5VgC){qT^Ha`FS-EhfF<4at%CKhXxfB?9r+vdLqQyHTt~>+Q)wy<;XD1W z8rp7}F7OJ8Bz96DHl4ci66O&mxOY3xdrKQ0_}^q$ZG(c3_;XxwiLqv4c^A*G-ek#@ z$rZUKp*`;d0o$40{F$hBXdADm?h~*xbQj=SV80mM9N7*Axh;t=)hwyyaGLpTf49I# zQ|4TBZfhTArLnFy|MgKzps=#s-%aiHpqB7#gYRyaz0o_$6jzByr*S}!V2yz;=W@<6 zOu0U+`{ic80CiqACwaYB*oxOD=7a7un+;I1@`p3xDQ z{+U5`>1;V`OS3z`DeW*{C~@WG&YuZmT zFuL#iT!eWMv4V9D6iMt90Mze9D{$YlhO?!o|G4a=a}n=PXbV!g`2!QMH- zG~f}{w+>e}HO5;J@)zc8dS!OCfTkY*B)7EU66F?N_Dh6qd5xVoAo_FqnuIob6>){| z!Y|-jqOCUyZ(ldUr<^3kN`3(vj7Jo6qct5Uhk1&@uSSE&%Su{%BGs}uNL;+hk1@p* z=D*y*DOdu_lu_UK6v-b~8sk^qW*mM#gJUqew|0k+Me(V2Ii45<&>;xWUfnL*SW=n7 zez}+AXH4tpu$FIj5tiJ$wzzN*qwhc1JlLv5AG{TrK;ymKv^~&qicvrwdPQ0qYtWj1 z%JPXK{cXslXHlcO;-aKE*A};&Xn&LIUh@F@1I{!P49zl7nP^6vi)gmpI z9P*QexKd(#qHZ7Uu)LHjaM7uE#J8&b-HW&xnOSqg{p36DF}4fl!MC>2o2W&;ol*bc z=`{l{?x&S0XV1g~&r<0M)tw56O+fom{3V~y*kq{!T)Z3GMcezVhp@*Q`Phq|_DjM0 zzaQ2?3Cf&<_vf|pUN=e-lmNPL8Ja$k_`O#&sqS0q+?a0{6?4r`6ym9o%twAgXn*N0 z-B0}|LzZ_;UplZ7RHD0oYO|aRaCxPiy+(z#Lr+x)9R*0?(t>1DvPPXYgHbNyijW?*{Aj|q`R+do`wbn)7i?+M z(Z#2(Pwmf^Fk5q~#mIizzHp%pUS@#p)8A|oU3A)RwRN-#f3TF&8n-ume6IF}TRz#8 zWpyw}Tu^K{oC{>T3Yp9!vvgp$fFsf-CnvYEaT@NRagB+F(O0A6oyR=&GAA_!1tf26 z^asYg@-Q8fFEn6n61@p?PZLtCUVEqQ4M)?1^4C&dD_2_s&10+H5E5w1=ALtv#rf?N z5q5EcPFDT#kgNS(rmI&c|Ki*#F13zBR{t$?Oh-X$o^OETljYx=NY3;9sasn7;1tO4 zPPS891=wD_H0TT`~I?sVo&%&lQ0fm8=u71wz!HGs=1&8f~nSW0% zB=-8maZKVE=P$`3*M#7C4?IgJ|RM#%+a6ackfri6TH>u zmA*IYfKv&Ge>jIcyi0om&QZP4?Xs`<3uCwLx^3=SNW3Q@%+co9b?00N%`%Zws1f&! z+Es^KQwDj}pP^#tRfV8)+c}X9s7v&^RJ^38*|ML<&5eKX zJGB~f)!xnoFU9FDMk9ugO!I0ykC$G4#7m4&=!rn4?df2U;mVv1yXv{?M!u^~#Pz7P zxEkD~37b^URw$RSw{~lDX-r3QTfGUkpHP_j%&(7y1EdM_{I=|0=Jpi{pao|5BG+Tg z^|S#xX93+1KHYoO6_0_)?C}`0Xffu?VrWw0j(pHjtWKTRe-7YH3ExhAz~q-NdX&zW z4YDchu+7Cy{?B*+ygt6Bzt~l%;5>V^IeF`Fl$u0$rh$v}_hi%PMiD;%cfSkd>(Hyv zJ4w=QciPjk zn4i2_o@k*z*{T0`HZNbp#B(V4Gn1ZYK+E!RB!yLgr&B`WnDb%Q?R)MYNAy7Bv69N| zTTd551TK%91+!F`xf-2saiU2B(n9g#HTQc1be^@P+=41*%CMBaEi`t1GOhn0rl`Jn zrSo^QR9;`iWQx~s4zB44X4MIm*R3zE1)Mm(C#`#8;zOXfy8Usm$&-Ie8c^RiWRMGTQ%yZG~%jQpxzX<-pYOx2u`iNZxytbsZ8jh-ZweR z*$%@T+mSFk-T)IMAJgB*|C}{A0s~MUL|$sCUrL229PDo7c#0R#IxJ0Wz9P$?ZiQ?h zT-)EzIcjr(u!KMx`}umeY3pCoGnPNl#wt{RRre?kyWLG0ladi7iuE5P+Q2hKhmK6{ z*EEssJuya%U!9;aPs-t611_G!_KAaI^p0+}MD?{H^=Q+-3Wycbu_N+5)sgTI>f4=@ z`vlYLQu+GkAfTI&a5ib~X?nH^9bNXc?D4pSpY+;Ell86NrT#7+w`SHKG)aVu0^*ED(5BNxSHcVU+b8tHFYLvI9!zI{K;&OHaVTjY(t$G4OyD@gBk%m z`Ayl&2^w=Zr|A*X(#&?$QQe(o4UqD3A?vQ4 zyWXm24l1tqbZp&0%Vy)H9!?E({LCDA>HK!ba|Gi!?VDAioa%t2DF7)%dTms7nsYSE z)M-4iv;<5%9Wig_nabs1x}ysEmrfNQ_dLSWnZ2@^dRjURLn)VPHX-jdKb*<=%Jg!T zbOR05?ArdyPT{Z4v-^!7CN;cUc%2iwb8?r?E=IRcYZjN&b-#sQTQvGRT8@qUXQH7~ zAPVr!uIZQKnB*N~>srSqVA+ajs&HoQez2(FUu|X2mm&3jZ`XYc-xeDomi_Bu^53Ow zU7sF?TTaKtSXeH$2qJsUb#bOPUG%8xAGytsu2QV*+kgiOls69Y_iYs~Ig?Xa4!`7# zpa+n$*{OSgjT6R48nH} z+m2ez>S$vBc4+Y_SFxXx5;mD%)t)#yGUIb zwQh$CLG}_oImf@pb%Gdv{+AJBqx#u5k>qgyJRsz{{72Ww2W5mG$VYxl8FNx(@8F)$ zeTIsRy9uwF&3jct|59+^+Kh&f_qA%Z%b51Ur?aJRXifm-Y+8xe2mA8?4|tFkTEq6<~8^H zu>4+33_r3Rci|IKXS(xif>HmHq7DVG)&YqW2Bi61E_HBHdU(v}ez&9s)ocuNCuHCE>%FI0HJk2Pb6aNK@5@Tv`XbP2$gtBLZ@wp&Enk&z z>!MI_q}bBfy2&nRcq#HfiXLAUqgtU!m^TA0@(CDRUT^izyx9mYXUehE^{JUyST6V5 zMQ_z`jnQ$k)DmEHa1%P3E$6qrd}R!(K+_@Ku5k*;m7S=f!QOXjASoU`C6AWo$7L5XlQz|V zO^jyGnuH5dGN46**i}^HVaL~f(n0euBg?GX;Lq`9-zANIbRiCIfJgbK?Gq_G`LH9f z7o@}7{qd((LJKPa=&7c+gh+)|>#^5*PphiPQO^e>g-$_7l`VBa#B;jKcGGd-zsKOG zRu32GtW?@1(yxZ8+8kr|y2ZIh`8M5NoH`B3#3C2W{a-*n#RKKy;v?F2-LcC82WBS) z^uFSwSh>{;sWP{kE{^u<@m@&@=@AD>f1~Oz=|!(^-(?px>Ov1HlzM9`Q)j zZH;H5%D0audt16~uvI)W~@ z`w)8Q`rSXL-SZ$lku9M;)H0C~VUAUFtCrb$!db2s%QdW6Xk6b(d!W^*fEVBgD$h+bngW)%y>P9B_9VYeQlY|Rx#T-3i5|C4!rKJ{oR^nzI)TG;IPSl zO-r-VcyZ~8?a(g?{`XB z*>8A<@^sXLQXxv%^MnU%d3Ipv+7?1U-|Cd&BFWaQ(_!5%QI1(M1fc&NAoc)CXG?Dh z+E#R0kG!5o2z=y)ID}#xhb5W64T1uWV{rWQ0(u$gbs7K8&EjkBf1h< z5#OU+AFFJE7ojT?>1EvMmwOB5;mf9?T49>zGpEbjB``e2bi%v5wDQE6wZSe0lU;Ya z5~xGlC8FAbCB8+BY_!-PgE%NrZeJ;uO8!k%c}m3Z^5=(fxwUFBP> zw%y^A>S9fDd~nLToySl=g{qzvHY9`(bjeO3fdftH_%o32WI2IcZn$xqP}IVaPO3~I z=ZBpI^ScK21M+%C;iyq@Qk-M|9fnT$LRzu91O*K-;^_st_@o8dCZex~dAPRmN2A)R z{TabSs>HL5zfto3;oPo<)E5EpTd2}jPhQwvpz4d!^V-4MKAzWyIK{mmTBrv9^f>Y4 z(+OSX>On#+hb4LfjAUq8a%^t&s%}SB;#67h!w#?@`_5+q1G%Z7g^LWI&U|LSAZxv- zMe!uBwn+Q~%DevPb`L|je5^y4B9Qe(3SuX^CX((e1&te?SyCI5oo_VJ`(m^8Y29V zaEf$r0VeR%T$sT`Mhidc%{viNr#1l}V2I)PFIgMXxFgTCDs}^xmD?NJ8NFSZvUP{) z2DIf2m{kS z@E1lcw$iC5(=c_dpXD;Y75rNvE>>U-w+%>b4Ee z@UKz5rcaq{iEaUn=aqO5=NX|{gZoPN--?n|Ls==#$OQp*4Z|;1hb|C*yUkuy^(=n5 z^)kq556Y5O25WaK>gxA3)q)qV{HSqMr@tg)@Au!>ypz;T)fLU3uwQur788HN0A$pv zwW&g+nO~0!3tM0J8~bM>`z}RU7xiHEc@nI#wSXTu_5V22&n!bU9o0?J zvrf!Fe73IjH#aJZL&m+lAj&^Ebu8Bu1y;1N|uwQG_KHQ7D&ofT0P=-)ErkWD76wJiA`$F!G-DRLOQp z?st#G(Kf4|iVm8w&ikd6C5JT&_h2&2O1`iF!AK*aQ#cVl%og}0-x22HJuh-_)E3B= zXz$=!6g+pX#k+_~0#o>{S)S&T8q_%V;mxUtld(qPq5raXxKR;4?-2#P>+Hj#G8$!z zwzZrk2Xf5nN#;i9v!yG0PjjPK28mFkhs?H|n9-bMNXwJrP(AGCtOx2k_e=!25}|S? z=KwLJw`64gQjbfVp4C;WX?1K#@4JV{AIm>{56By8QR$uNP35)gD@JOoWjSWg0grHq z7nc;%YoA--v?NGi1paME#OHZQ{owmV068r{W#pk;y{JIwdE#z5;GnP5x-cWf7Dqk5 zyKN`uynA3uHcuf!BtkRdBtv6YsYz)uBq8BB{4&^GGD@m6eeT$%3{K{~bSnkIo6W!M zR`GdOj$7~U6@M5fnJbG|b2$+FNodTB2m@ugR^>(u595@@ZjKV=?iK!=!olCnrS*^`#_EA ztj07UjPb}RCMAY*Rr5fp>g*xq=`%!se;+q3wQoNW;wVs?Z&Nb!KmjG1ZT3yD#Vbd* z?}qF1lMvwU)w@_KG;7e2rw+RyptOsEx^vQ$buq7zY#m49ix7zF!)GGASJdNXfA>F% zw=cGx7Y*focbcpF$Q>;u^sFA4mP1_HK3S$mJXkmXplT&^Fi^n+2;v%c&IRElB2hw3 zKeAw3*?PQ#^LkNRHyB;vM;#0sAczZ?g^)ev3;nf^)pwoJIsSeSjbF76=xuoy>+O$y zx}bMeea1hm93Z4wlYoinp_3K&=d@)@&7PW3zqB8_)m3-ORDF}=bOPv!@GrIsKCmlf z?oevVEE7=AVncu$J${QiTzCI6pyP=TrT53A3E$L4YSJ1WOO|`D4n-Wa-RAgpa!YUP z`U*e7SuaAG(_1zU;?10z^q~K4;>)!3yX$^vW~E-0cU0b#i&$us150elx4k-Q6}|B< zsSQ1o{TJ7O2wj^{)?KtI4o{QY-Ad;w@n0$YAhjyQRmswo@TZLbHHBYVl@YAPl1daMC~X>u?&}`8Jy}~$B+E6R`rgv-Qtsy;()}{yAr4%?s_jr+Hv|_ zu{vuYp_r1Y+kZ&Y6>{UF7W&TazFgmXiJ+n!<=q456A)7s{Hl_RlAJVsyO2ADOnRxw zbUfU2F5(U#{EAH4X76_tvLK%ucA`mga1b&nBZqa@Fnei)5?9!Rq_jhfmf`p@%+B@;KDx! zCu1qrb-!7SL(A64Cr_j)-ofWziSPXvwak_%us65!4he1Htx4wnzaA2HP!%*QEo|$c~xm!sCfr=Wr zM6#H@GxK=WNJe5%HR;@P?jIxc(Z+L8!{Z~dG~?V23M1qs_%BW)?YidIMnsxQQ}C_z zVX$$6R!9WbIQJ^WM>Q{43-QDbygQe19x1hZPjm!4@=k&?uSA@MsaU52ch~rsh6Zpl zYGItYhwj^@+czM=F-^g>|LOgi12z}Cu|7eZce{@DOgv`_z`Rb!XI|2{gwZPZSJPSR&eLo*fH9!_lQS2|-j^_BKZ$J8jmXN1r=Am|2 zYQq>Io7h8jo?Y8g769rRXQf`E;}3RAY~fogkKWKMZ=QT60AHmI5ZfeOIMy`f;|nfe zPMAG)1qiOPBSVSBYAh#@hcSHrEAul^`-8C&6BoBN%5a`}K4VrSQY+*nU~L}pB$2fD zS?g7w0KtP#OU)E%|K)C-?>n~T0Z7|^`lm;mut~M$|2@JYTh`&YzV*2KgaXvPbu+#( zt(0Chg?KH1IQSyEaEf)5idnh;v?=Ms)H13Av!A{^9}z>ZJrog`StuK}A~|{{gYu zxPi;>mOse)^Yp67(n(5j0+N~78SfAyvK4kyyiC=V29AkW~|XhFNzWAKC_y?!ZS5=%xjK z`@aQ@d7W&XI|NQNKnb2Uuv{W$gGoORY50n#za3u%`Q+6M`63DjdCW(ARH4>hpxSJf zUx>CD)+_Y9>#{$L3FjEQy0KbU*jG}Y5^Asg7mmLFa}|3Zz9-ZwSOsK|JV9q6s>UvE zOCz~yBVZb4LyLE>-nL+`5c0=-yZ6WA!Jnq>#N$MmQC|($kYcmF9x7 z7YB#g$3hvZbS$a2(g%pl=b|)inX}Yzg40NY_u9!E5Jxx3g#N_MYPAmMuo%@-kz?z) zXvNzje`Rm4@{pz5WP=m7BM5wmSuPa?g97_X>%Xy)GcD|DGgdYXgdF+lQ`MAu#&hi! zJ0T~NzxKv#T{R9_vB~jls!-YWa|pn8~`$ z8>DeCDxTB4Mh3+Y5*K7-gQsr$$r_>Xfy*G5L!bsF+d744qo(-9{ zN7k73Q&>bkw?R#!Jo_J$$UcJ2;jF){ z`vR=+FoPbXMI7`?!`*xIu>X>DFQG?ZR%l|_f0IS#Fsm_W0vw1An?&!*{7d4;ljh;I z+dXU0G%$rSxEtK?B7#w!F@?Y`683x>incbWpd!jLXc-jzb&Sicj93hrX7ALJ?1#8h zIamaW$Tht{APnxVvAgQ^XU(UdXrIN~&bZ-|(m62u%j=+7>0~DJt18s6_sb>XCr8k? zp!Q2pJuB|I1G`VIn+#KaYF3KTi|E3HKkI+DSGo04^%ffKWHu(e8I5}XQ%{N#67>rC zktZ?nJulWEEQ!>|^Tcv111Pmi1ZhW1DmD;Y8LgLVSVVaQH&5kt9x0k`P)@!?a@<4oZV7&yW5+G3>cnp!*Fkqa{f1Rv zppE75tITg;?FhyjLA%>K{q#18oD`!$ER&vwYBEO;d?yvo@#2vN@HP_{J zn#1P%mHFE#d`^lvnDGl&($m!FO~8?yL!XWTG&rqZBbX^C#t@FG0rwpX!|ZM0>@i5c zF_WHYFk^5*QWM<7eb$49v%!wjja-szQwST6ZwO;I)BLnZcy2R|k6;%rP%=PT=6LQd z&AEraMWbq<1K2%1U{@Yqi%;p{d;hdhxBJE#e?xNHvbPH^9j%)!Es=HDT0f4jnDr}R zO&!PA%nrRFfw!X7d5?d7Iv%9Xn|V{D?pw?P*dw4n`MB96`-Zw%xH`~@{i{1&9bZkW zu@5bsti$;&G?UB%7e&tGi5pU!{>9>ey!zSQ8$);T_a%a+>zf{C07x7!|`CaySdX)^G zF;}{W#xo31>)oY$Z18R=|2MXjS7V13=*)um)`#&GyMD#I>>@sKMY_nZl((^BV25wq zCD@@Gc2oV#c1uD?D|{jqxk^Q^F4j!L*GTX+su`nz&*0Np!b$wx4*pUNYPIGddKEOn z9e8KX>ESPefennAsvhDuR}SFY9%Fp!8J{28cc9_x$_nQhcII{O>3@>v_Z!_fB;R# zpWL}MVTwnIuwqvDp<+D%k>`gwWx_vMxd|WRwQ2hXX%Y0nX z2O#$&Mn_Zcn|`%?=}A9Xs{}$qY2U!3TF2PO^*xAQQ+K6HpoxKu#m=z%h9?!Yj1vtL zjcuai{Phrl;ZMRHSqU@QKWbi45261WVC?_6euq^w<9BL&T9R+UQjO8qJEQ**+!hnl z5ECFJE#-r`=5q4x(YuL{olgcp+ElJhR0~R4fUdL7)W zgMM@L?xXv+?jwd`z69LGTsv;n7xNDAK&tBE%I7b)?>gsiBu1QHVSll>TY9ZgX~+56 zMEMuc$EwGA#wy0Zh-=$t2YwFd{q1vnz#4L`H!V|M%BSY*;|aMSbg%OH@w_)MmBq`w zQr9M)=~zLglRk|umyfjhT2)Q~CSE+APz*aZV2PC3K?Z6cna;ggc%#s6rE=(=$@qy+ zzPFI4chZMQpHRuW*HW>J7)~0B1-7P{r1L^VM;5eqsyy^ z&-Cg331fqh>EE?NQq#X2M{2(Yc~NMIXBFd2&KrN*a2UP&TPGjlWEEg_*Xm((0pw=K zS;bTnm5}%i*|C%A(yQ@1a3+ft6S02A4K*?;tv2N5host z<@}W+&NbS6LQZY&h?I^@+V3Zdk~5SISKIV>e@T#mA{L1h0+VZ-^&&fjlMaN6Dv5g^ z_Li7D$#NqvHs6kv7bYDkmUNMKkbf+G@xY3(wJ=8Xv*>3L%~zy1Wp;F7TXM(Y$h(nJ zk^dCW@*>+V@8`#y{|6N5gWDzh=hwTZmyj&UU)_u(L5PjwjCe^{@j+i0-wyP?;rtr*>gonBLFPCVf#CU z^|M12fDK1*{i^ra>=cOAXDI%E*gLDII$%GGmjcD1xVsg1=i=_}?(Xg_?oiy_E>3Z$ zxVy{6-JOeVe>=PXz&`IJnMo!ydC1erH)qZ#>wW#)vf*laf>@8)>$DgCNaIL;>MZ9h zXPIZ2r`Em3ozV%44!5|kvFwfaAdSYc zgh2U-_Vf9v=XQKLkIjE=5L@0wF`GGHV}-@L$kkOMcETeTM}Xee>M$YZo}JG9I{)WX z@_sSIJ32ae@F_MrHZm?M2KEa5kQqrIJ(=Nmr!=&=_;}YSH0IWB%-MPX__4XUYy$@LPx)c;H?E>N;O$TfnczQ#m~mM$$0}`mT@*P| z9BF+Zb(HK4M*TaD$~U~t zNP>WU5$nK9{4ch_>@*#k<=<^rzJ$d%`OYAiC}653hWg^)JatR}(Z5H!WoFar8h=^U z6;AosKH8OST1u0c1cn)gnj}fE+P5Y#F*0fui~PtiEM>n)r6>(O_6qSLfmtVmPWBe5 zhK;PAlCLrnq@7{Z?>@PW-{LoBUr`Hm(w3NtLu0Oa;X92<$*Xi614`1GwHQ_A~5q<}x=7P+2A(kGZBBAWSyL%);s%h7n;HI!qUaGx6Npyy&l zcn*&CH5b)1M@UdHaYMbZ43s=<*HFv2h#E%Lmk+uy1{u39LsUU}$!fNv>yufIO`RRa z4z*?0tm3c~efN{%xW`Dbm<)NeWfWz;YijfgwJJ$TJtcFu4tkyZ7~UzKZsLJ!hun@g zY1Zk46DT&osAjrK+Em%3G|e$%EQS_N#|jP6E>R?;SsP3SrsR>R2>;CZHO*wqMKg>C zw}_vjvux9~S*icHuA@;|T-eg+bd^T_BWC=^^@cUDWwO1wUmZXADXnrdA@9=-wY3~9 zSD|YX7Wb2){@&g;&U6-)bJ5>vxT=LUX*c7fp2#~5mUP8fN=jIyP0-NMx&dc>n|?J! z3(C3#eCsN1A5aSL2*`JL@3%ry0* zW~H-@yPtMTufDB;qt)3t3^T31t)$q@Ra7~&WT{K&BU(3mYnN}V%Ndiy1dU32NcV<- zhiyL|LOqc+C_e>k08ag*K`C+lj)pwr0og5gt_|NLQ?U*s;YWqX&OVIP$RehB|H< z8fLo0qjLntrk#z~X!n!I^%c>M#;Nf;a@{m*M|#;QQzqUW|F(JlaJA@K3f#f zJpizxn7;WGwoHrpmcC*ppD0W&v6nG6!D4&VjBY_Nsw;z`@b?c}5znl`xTX#`5XR!T zsnc|w{p^YXW6E?O+fk^`|{Jd`+@SV zy@|)1i@TPNIPwptNCFOh6m)2G8lqt0jp`V7*4vGOXF%mjvS5p1>nqAI7zO8f$}zF3 zr@O~>77TvCUpiA=nl`Ad?h$xd?h*dTY?9L8Ako&2Hxt(nJUVX|cYkn4S;lQN>5qz~ z>!gb@to}}S%2}n5ap7!Jw2x0Y$8Ge}beo;o`KZt@U%3VcL3K!lW@b=}WhyO!+o@*+ z-Sl=?)Ye9#!H(y5Ns|=N7A+g!rg`xVc!TzDYl|@J7(5OBTUbG z-A&re^$NG}_zj`@cTzA(f$@&1*{;RB_YDW2Red=8@uBc^4|zCTx4;_Q4KaEdd}w_a zLi^x(Csw`y2O809DeLJsCQ>Cohok{~|3-t58!F~$A$jb5o&J(2Nc)YPJ^qEQL4-9R zh;NQDI_D_mV9Vv}-=ER;aGvVj=jJOwxxfplexCg8po*5{af*C^oG*?e+U6%w&p1g^N)I z5BYwtcz1gDh@qK5ET`U~ohx$cXie}T!5V_ubIo;``52bQ^WLkh_5ps%(Uzk|)}NWb zPssU&F>{sv!C_>cVLa&XR81oL)te(a>8z4JulszApG-xt>=t9@Gp0y8hS$_BFX8ei=5` zjsvR+<9%UQ_BT$vo#dK!x~CXUwsI`1Ln+tf49HJJPE~n?IeP_GroUc8>86v;IEo=W zXiMSvWhcCQSBd?|=aQpBMI09Nn+{YWS!RA=(lMb$rYtw_bsuP`B&b^1?>{DDSk~04B-UBs zRcgisn%!3BLXz=wh-fX}D3cu(0kwR(er+Y>Yr#c}zZ_tFNu=iId09JnV- zIN{d*qe+W6st~C(RcpXjc__v><3JO5UH{sA572GKV}PxR%>oZz8?f)R`Fg0T2a_;=$KU535UVkIju?4UY= zge4P*paWsr>({-~f6p%W`}ATbwf7~N@QbbY_HXkz;k?0fD;)~&3&3h3u>=UU1bGG# z@!M=1p~O2gi7mb+_!FPE#VbGtlf}Y}z}21LKB)+le?c-LXO8uaVK$W3`966Oep;a7K87thx6{()QN__=<%S9w~7g4k8s<<#6Xv zuR)OzpzSP=jMseU;6w#!r)Q)gG|=?|tzxz_Aj$xR&r!Ht)tWCBe?bQ!8}|AulHao&H4ZbEw}+Mz~EVR`kV4Bt1~!XgVT(O@ziYo73;3knWLC z3qOV?>ko>K)qsV^YS6xGMOGxjIML03e!LjO6EY5kS6lQ1NPOavqMcRDe@fJYHMebL zLUW6r(fpvh!-@hTc-}|_r0KhILOxL5uae6HW6L5jB9DGGpWGIw|8nEhf;#PEtiv{< zo727N?Aa2L7b?0U^%u2%I&&--6g-_C0cd?neRlmGzIa8kf6;x{ZreM%TDjG1_EY|> z_&vS;RC~-s*Cyyj%wH;a7JYRjP%ao9MnJn4;+U_C%>~c?|S$#So0qADk-0G zi}cy+=9xk*@`>9i0?h~4>PJ9iZQyU9XCzAHZa$}UR#3_A+{PMI zc3NBY8dP8|KIqn`De!tbVL&P+CdTcEXdz4$y0@d^c?ElGd6QP)QLwDz7O=BRj>~HT zGbhfv7y$gX1?)PGk8mC)n%UMg(gcw^JM@lNaLM1k$eZgBO&GCrH5oV=x|(9}14mc?C5ha$|Eho_II4h3h8 zAh2(QJ&oERi~NbYn2!AgwN9}Et9}+u^j`?J_xhVlwCOMQrGA9779@m) zQN%(%@K$T)I*BoY_MF89rA1N-3&QrDoEqM)*_>EgF$0}(p~9xKcUt%SSb$hc)efz! zn5Twb2z%B}c8T#jBxfE#Q6vAovsj5~Vrmdo9jez)=??n~DA+G{yHX5F(0FPJLin*@ zb*Zdgfqd0&1M_L~6hNA~z=U~a_e`KvaH91Z2@a1Gk+}|<)DS)8Pczz3`p~MNsvx_6 zEhfJw8vXdl_(l?KH-5L3N#J1za+lj77j=4<(0!fMIWG#bIQ{hX&7W+x)}xo0h??BE zCn{v=O&T`zjcG2ty{A>ubykw>bFtOyY0npNd1!dR)Yol!NOG_!KD|b=xLx-=EFa+P zOZ&)v&ceUfq)@FtIioE_uTc%D!q^(bu--H;<6#r19PQa4V34}Z^eg!(iR4DlbKQlE z!a_aIXxzD(pfY|qfn705K#90mhW9}j7#iSX*d#w7I`+n`JGAz~;$vusooQKjxR|Tj z%wGnmBs>&vJPeHpyea&?g|=3ez}QwSYZw7;pD& zxn?o)m9quXT!f)#P|1T&u8|9C*OyU^$Kk6)B!ytIgTw z<5w#UVtEA;yqn#5rQ_3P)#{zc9pg?-Q5qm*8sry;B@$#Xr?hi#OJB&!RY#wjH`zeW zu7ucc*$q-oTJNk@Ovl}5$(a2i87SY)Qz}wXX-o{XKvp7mtTOakuur^XAT+o` zCL1S(h^}2n)uV3qayK+0_%8tITbXIc_?V(d-N&2xAxHYt4$TS5a+zN$#;obQ~i`)19Qct|I+cTr2XznvH^kT zDflY*wYN)1L%Q2iEspOqSGi59%8deN{G8C_@%=0HI?6rFBE|Wy4gxk^0=1y4>NLAc-VNu_Vp*44W?6Z_g{QKXj6h>QT7U3EH!dW(;JD!c z7N8qv5qQm>+jlt5QO!Muq><&evtD}%BP#u?*0I_{ z^EIhbef+NFBSAxaJqY{QC-jP>P~8v%&GilDfS6_graQ*?b{nJTZkVb)oB*q*$a@=V zX0WzN?)+GkAF@e~9wiy zgZd&LG&itg4&fC@te7B7u91KNq!0Ph%6xTpu**D&M)&}SN+$*0^-vZTKUK{Q^}Xl3 zurtyiMCW_-H$%f!mp@ux>FTbrD?@v<7~UuY=>4kt;6Itud=sf9)XL{!D$4&7k@$9v zZ6Va$+pBbpo14V>WuT=+jH*!@4i8d*JY^Pfs9yM?n^}1kX_EZej@D%Q?h|&2S#%z` z7rBgr#;%_?lI+Y|$2ESd+CkTxn|2>tJrsh|-;yh?_mAUMAXi|UgExB-;)06uQKo{1 zm9Lz$A>-$bud%;FA@i>WbMD;_n{{}7;B27~^}{95f19KfKp3x- zzbe!G)2T-(@crjhv##6BGuE7Q;`u~&U)F`bbI-{94)lu422vPqnVCz5)HW_?+``wJ zOFlcsIt_Z8h_~W}%Q2va-Pbvh$YWCRJ3ez7d1C1Vj8bi4a@TYaePnUB7qCC@Y!D59 zMd+pv0JCknpIh$6kG$Mb?f5{mej0rgy!C^3f>CQkw@Exw_*%qT9bj}hLo3jY_mV~2 z(d^r9Ofw~~7H^MF*#rZcHMx8e4 zpQ`0yfw5U3t|BIL&jSO_kvFF3ro$8x2b5v)3U2#Ur#zADw9Zx<6LnQ9s5R+!nsz=C z6A3XZeHAPkHg;9iIt2as2ZDviQs{#hCTvK`vSxpJ0vq^1NwG2T{}Jp4Mp1MFB2lP! z1AZ^qtQXAu)bnD+;WJX%$I)*DsNro<{d$9a9nKMzIH+{v2ru*&d8IAXr{M$G0q?iQHU$EFo7;dOPGcX{cZZ5vm z_T{AHL~<^^Bu|0MJg4A<8$J9~n-L}*jn3qu=QvXpF-iemHc}x5|2v^0g;-h~>ee$F zZ3frkx}wlj&MDy@t@UCx&lbOCWQ*d--v%tw=2Y_K%FU%H{T17dC7|#CwqAW*l{&@v za8|ZgFy=l(#fqDyceI3R*Dj~y&;~2bEfd|HPD|6!Y-azm$Pw%udsYBOJ7ZSrK66! z<)7uV!c+FRyuO|$IsP(Xeqkdf%OWLu{m{``9N=)u3Avd3_B}0r(0o?FWbr4rb_0J}@JMJg@~JsE0rhM0*4^WXQ>3|xJf0;ET1BH$4x9ZO z`?2$mFF6TNh}Ax~C^36D#C#rw4NZRA&7MRS{o^2PKt5J@%4BpSZYg_W$?Q)29T;CK zuQ<{DI{2~bT)eCEO+oSIS3@uuQQzONKPKZ}9cU~!Ltwc)VRv}>{$GJ+pz9x@nq&Ju zBni@xP-Jo8JTv{5lKg`YSxU%$!j;d4sidaxs_}C`Etq`5fCJL^{bcOUw}Zb&)5n08 zq5DI@^T$xm=~iB$U(d2286SnHYyEQWKkR4%qd@GmfP07xCHZ`{$PS?&`eTSl`O5Q5 zPzmeGueooOqt-|F^04BG1WR6q3RYu76U_zqfBhg%%N~B<1C%3d5&$AmEBtH)x2($jn0E*lnot1 ziq)cj!6*7emf${L5T$U4L16)kqAnCugsd0}hy zd^35WdIG~H*qSU2&m@U`stMG(+^Xrp4YcwuImhQ5J5*{N_0UHLJGkYbAIEl8qk4qV zZV}vCPrDvyt$NM}kQ-&E>iZWGkcwB{lo3hdT;PTlcdjg4c)-gSvgc%8ST_{4jb5%k zO12Ci)ZwShK5ndAv`QhhKhevCuMAG{aF&nXkg?BLaLZ#^osMZLII7??{F=_%pB$u# zIzJp@oUZI{ze=`(OB=R5$*$lwJt}uy%KH5?YuSm7h)eml)Fy6uLJ5ZTc3g+R#6}iJ z-aaxYrno|3R%Ai2rX(Hj-@nywjlDrK8xCX)Z*u)DSheVhbQ#rBind*h83ozfc~g^DRf#;T_DrQ_dx{vuQD=_7lSt)g-cXO>53R7T|w z?R7DK=APGMMlj=MWbReb#J05$>Qm8)B|B^$?$h>3(y=APq|%xwseY#fp`~zLJQzkl_VR*2x@kcSAx0fz zN6P6OE?`x=pcajBV(@Nkgxctz$2sB#q==#fX|L|-=pO%IvM&(iMpIpk>m%r+@>Vtm z5?8F$&W(>ZdZ`?C=d*C{sb9Z-7^^MDPv}O#a<_&25i9XKOU9a|y6hsN*)=e!JiR7p zn7E_2>Z%Z%`HYDKNEBLoIq1Fvat0?{&ZMbSYzglTh}YStKPI=LZl%{^@BX=lqb;y4 z@i!rS*T1L6?%J%3?=U)R-@e&CdWMP|evlPYA$%ve{{X=tyuZhLbVe9G{5TJ3b3Q7*0Ush$l2a=ZT~bh zQdo|-83XgGUurzNU;_dQ_;oMC9tkdnZM>qF3`iW2FlPnDTGMA3KqCAKe;0o`$M-*6 zfj56`nnO&M(lMoL#$cj?IcCrX)UOf&o_(DrUPtg=1+r7&ic?JF!*BA$GthU8YEL5G z9d14KgDZuvsF>u(9PQs`nPEOU(9;w<FpsaOo=v~G zOug&7L)cDDC-%@T=qr>I;??U*x-6$suc25~-jEI=2%68?lO^tdM&0<|z}yy2EYum_ zqfRZNoT&WEeihr65q4whcksvJ7_TQI9^|zdlG}ts=#d4LWu3T8jBXlXn4I!qNTL*# zP}fBdb?C6%BfJqXaeJuzBHz-Ja~|p+LiXqJL5BLo<9C0&bA=y!nB{0;ovRHu zyzE78!cRT#Hy~oTL{pqCa7^xa%yyw3^wWBvShMX);P~tZJ#U}kykPcGm(OP_;HLkC zJAQ!!qKRv1c1(Yy-VSiy>leHi@6}9whD=9f*Ev8d|n-+Y2&qF`;?RUJ)=wnU`}#&kY7Y2XqtdeZYS(6n!Pf1B0xp9}zQjerrWP zuSn@0w{~ZNqsN^;-c+(GxK6oFhJ7a_2pWx048PDF&IngM8P3F8#|2OOTIuvbC zyQbJea~SMo607msYc)v6nI+Vz(TLE0{XRKUYQ0QGc4%!L5o|cN@|Si6pV#}Z$$2hO zkl~Ukb=SYFhRuaY9&opoh2NJ->H9&04kCbmWT9<6n0Ged*pq|bxrjHmSqW?354BMQA2aKeenf^L6R*V zA3_HPF-@HkbcK@Q&0cWb1Y&tcmdwGb!4Qq$FH_?mI8Tr`t6#+w;4F&p>`_W0N4gHO zb}R;FVa;W6-#8%?-;fLaQSK|9k*Usl@+o32So|A22!|eNXp?tGS$*v~?ophUx`30l_&xiceg)nfdCBJ1`0wi;a!*_^$5aXrY}=QldqhV6GYWS* z*YqK?j6V7sGl8x`erCk~@Be=T|9b-ypPp7<$zlk^cth9(S>73`X=WT@1+TSB zunbx0E?al93@#xhTQ|EW{f_aq+Z2Y3wX_4o7_bBwpZWio-mo~^xo>+x*NxAgCY)aN zp@>B}Yaorn`@7Zra6F>;im~E@$RO`T0}zR$+hHt`9IK}YIhCk*OF&|g0oC4f^Q4C4 z(RC5uKZhv2!T~3SWfave-qcUt%>xRRd>X2L30Qw8RbG z#dAzaKE&p(yJRKdYlfr`Z@wj3>A)AE$trK@<|+3 zMy(uc7es8VOk7;cxAeL?){|AWm5w^gO7@rwwGQQm`m1WXhFoK}ReIJHw6RO4r$eWU zw!q4Sw)SS1gCq_6B6Vwy>Y6H`fqI)ysCv&rrlzWYpGQ>_N0Y2gm3qoq)!?F)mA1X9 z>Vr+Xx~?Tdg~6s8TwABNyS=IU1)6rZbMoomOhe6%;%<2RsT|d=DsS_H)5{@Aouf4F z&j8_vQ;F4wW97D@MYh*O{acXjM<-rmcVlzSnvIse;bLd;s7_~lx3*7r#g>jH$d19l zl4G&AUDT4LAKnWwGP(5M}6W~|j~YjBZn;;0r_ zr>)R~o}R3#vaND7$g!Wa2O2;Ms&R6tb1fAec4mUrQ(~90*C^>uftvAArP^wWmDZT* zb23)Z);STSHaZIK_m(qvc8natOUjsYi)tl;`7OsV5B)|xAB7+6m?{hmkn-ESjY{IF zv~;%GjZh36GrSAQB{m7Rv&^*lI|)Ujv9^e@#r$LHY2rl5IzXE#F?nlAbQ`XGeT1fB zbtKwqwf9l9BDLz2)+&Q8c3_9ih|LJcSdEgjwnW^S_QoR6rJ;pt(E@X8#E|`QV6c{`k_8Frx-XvG}-Jt^8O`LW_-hH6^X24})7zc4kU-><@C? zGn*dNy<^-^@w-IL$~Qgpb)K}t@_@`6y|{y{)Oh}3bZm#c9^Y=E)%6v?>1-VxwzXoH zt8LEu;ph6+r>3b}Ghs%xV`WESZI3?I;b>N>A=qSXB(<*;j+Dl3^fGACD7Q1HtkMd5UBx+2Su|~G*jYba zDr&5v@zsXmJFLJ>aMgWB@?FZt<|xn>=sBQQ@9>0TRHke{EW7DU)V31$*-$Cz7z;O1 zU(>8S)*k{g+Q;hXBY3LUzF=3EbPT{Zq zSR4m_8dnpjJ7P+tyDC6QkGH#ERn)7~fZ|UXiDQ>5wbN(4*>j?VAv)95S6O9T;S*GnKvhC>r;K6yEtpAXmwDlav+*I($qK?cgx%HAY(4xv=$Fk zKOb3CcX-kWKC)HgX|w1sVO_AC58TO+STseqXjf@sT$Zf1U$tqXUI6;Ftyih-=>j`j zPJev>TZSnC8k?0VHLyKOf$EQ!)XR$|F(sqTKJ@@LcaL%GbW%F)*i$`4^-BMvEajWY zT;E49hfORexjrK9tw)hf^@(ngX>yl@CXfi}b2*0#rt;+NsjDUxe{q!t6af6;c3LakW}~(62jz|J z4`|WAN`9=VeJD3Jmt$#hi|dGGzdF~|Hqz!U>#X%?pLcm#_LI`qxASe1DD?-5XBTvi zt+EwA>n|$z7G}e)3T^hpp*g5dI)z>yE>u?Rr-GLI8IC-egt$Qt#I}BAo3C4k)Fh5y zW6PYqTGHH_bnN2q-sdv+mTwNs|__2>f)RI1Jc-BS!acZBs!&++>pl?lqT)-|8+0~B5SKs<0z{}gB zu5~SNhKTX3M#IrUev^Tta;<<6_>`;Ruh4bp8JU|aVu;ELG>=U2h_!?7a_6jUHs5mJ zu0wq(^+B-5THv!MP3bq13&wpqQ zE9vddA3DdQYM8>^yKK}~XEDHA#}$iJ9*yU&8d^=a%4tuUmFN}quZWH3>D3z4I|q+= zRT?0!PX%I)^$wZoEsYWl(;vJx)6sEMn1m@n{mNJQg0sy^4M6Qh+^{1!f9_GV8qa)W z{s>&yy^M?j#v5%|b}J7*b6Wgd_q#Rp*Q9@??xFv9&Gq@bD3?U>eh`_C%hN0aXERmJ za4m(d>s4$a`E23`$IePbI#)Qes66oiMi%evt0z<(@o%f;;|v0{Ycx748h6*v^t7nK zf>2I=*GTZ@4rZ=yF6PGe|2=gyv4MwYVpGm^n&duC~Ny5(9&0Ngf)X~hG zNzUBC(#?v6goT5LllgyEBwXB_YytxRdy-f7g%6xt_M-Q3*C%VV1fFz}cH`L;nfCaE z6yB(gy|(-}w==6=bF8s23Jsl0866!#Py2%~xR zx>_52#qes}DT&-Gm0wRvwZ}GiC2|*K) z+h<3W*7ag+WPbT`iXJkOM=s{Y=EpvG532BrNZ5t>GA7u?%$CNT4vS`zP9pX+pRsat zlJ32&E+PXWEgs{=hm+U;nC)2q^0+?JZed*b40xx+`9xr!KG!>4d1I0Uk%T;cC)@lU z9WEM=n^z76#tzE!WOTFpS^99*=fl(c=VeB3|D}u=ARnRlmFN`JBYCte`5@g>WP_FM48Lp@Y zR(@|K5wW~wtB$=Eac2Jn@kQot$WZjUp%R~jmhia=hH}v&B^}b==a9Ug?Ylc;x5>7r zRRwbvJ}f6rAl6#fOaN_Mg3l%aE>!%984M4dBL(E`)2Q|dcO!FWUhq>O ziDf8;w@PO$`v}dgctue5qGKpW`m#M)@SNfZc72+yadnPYv1_rO#t5O1D(kaUK_|YB zJlL>=YvjvuB1ZIFU^Mv4Cwd{Kn_!B9EOLXUOrl~mh$1WhpF?GYYDasfUo71%WP@Sh zcd}AOfb^QE0MZ_e8%jclGtrvF3G;mrd2>>S@Q{Tv3@5+Ht_lLn*_#;CLxKy=*9wFHYWqogm6&2=i{o{`Zl`?wXV;>|83}!8D$UE-POF&nPW%t`mto z*dE2O{EMJAM{>s(ZfE#v=0JF}Pk)z6t1mAGR8ON%iTa(JitT-m_8XVWR$%>;9&tk_ z!F>+Wln=D$UF2iKa1ZGt@-wyotxcht^;W|f>=z_|2!W(6a`={4j!Z^4a3PZ)U6xYT zhrk*!_$a@Nlp%pZTd>N(2>V#KmFX7$`PVC=&jRL4K}|NOOh|DmoS#HrQtvO%TqKwj zMHKBGjF9gOxXI6BS*n{Jzyd!3iTn@+-uRkO=^9n641aP$TrgT;tR>iyvjW3lj!YnI=$|F9frbuVSw<%Lw z#x?sLAU+KrNcG0FBe{DwF-EJ+;9CD}X$ZWc@z^?lVCMwKm{Yl8?yTN!qt8%tQ3I!0 z{Lz6lYlv{d&SWeek{DhtHvaR}qCK9d82uhc$sew~8(M8#i>J~eM)g8pyoo*j6r)V$ zC$0P^>pRy8_WX27PhtSGza!YphsB@5U)ATe!G5*9s$;k9eyBvS=l--rlhOZa4k0bK ztymB5tulxCWkm+3=gz{0TV4z?08T;`u-~Czh zs2-6fPh)4YR-G_gKhmmLz}%O7B#BwElTU`U$$sd@S2-2KV(#WPQ2{kvnLZa>lzZb` ziW4rPDns6l7oI*B7R(vq72p;l|A);|M2-fBFe?Z*%odva^sn-=*y6zRvsa3U&d@N& zRnhr4vj|Z*P~m9!+nH|Fy;! zM*;D0M2v!fXsU5<@|bDt-guDMQ4y}F56IS!#=tb4Rb#CUzeAGCxxkXMN$azUU}s$|c+JusIu0H$GzoV^hha+kIb= zBe8#O@tm0C?5)(T7XwyiD#uAF7$+3)p{EW~H?{F&^UB+OJR_Z>&4OkS(%?fvRdA3VE5 zY^ZJ}yB`CZTnS?nDxq%~d-KboVO1((kjoHKgn5bs(6C0T186vb+`+nvGK-waC_^k zZU3dc6mhlP(ONVP7SMhK$uyuDf>kFrB}Uj~XnwJO9X4Kx7sEr*2DM;yKGt|=CLPHF zk@qJw6voI(=f;^uz=9vnZ_EDH&(1_0QZ2fM`J$Kk6uN?1I8|tRdm93w+n=EEw%E}*eCviCDsz0p(cY84Bi&a`bIs~ns2o#OD^BchI_vd)`mf7zF?9E`83QXvj{?= z731HDc2+KAZ{2+>|3WNy+U(ycB#O%7&DBb(eV2Vnunc8v5CcoLzy4V0=x6U1WC=e6EkW@}(Cs}=DO#0n0iRpCBT*LFPL;3|~48Xf5-q(x*u z9y6$>MfyQU+f~?2yYzcqpG_TJ3%=n$rj!2`JK;dt4CFKle4x_8L>}Ac%iFMk*xxHG z6%H}<4L@nYRk76IM|ntmuKTBlN4Ia8`1)0)K#biwAy9*Ao4Xr5H!K&uh;8H#CE;QS z5z3!3_TSxpNkPfr1r^&Rm=WN{@`~__m9Z_N1`EfVc6BRF$EfqAz$UEu*{krHQ1FsN zd|f8Xq*SZ23!>~LQ_MThk=2bX__`Wv%nzTucs_@nC4{GfG(|5s& z;IQ1@Fa;s38=~1Glv6V0VD;JZ^l^Rt_pRr~9w<{b?aN z3{<{0E-fuPMp`K32BCd9jD=)nX{bN4LVAT_RwRX1KuESEk-rp^J-8&wXnd{-uxc?v zeM6n@>EZ>HGL-i*A^AktRBj4{PcicsHd@rY;%v|_ISVx46JEB(@jUOz3%Uq>Z+Z(W z_b$f!nTCVcV>%h**i}9C{hH#l)X(@LVFAw<5AgE2kmPVW`ZJpPWYG-K zhSg2#Al&egxS=S~m@~E6+wr^)qcD}_!4ERd%t;b`41NTM!FLqd4<|y-8}jk6yWJOL zbqsqV^CFzz56$iC*?fFu@P4jreEz#J5u5j;(JK?Mei`t19C>s}KwD)8q~XS6C@^K@mXh82@%CxhgQj-Og`+7azF*-fp$&Y~ z)DIn+qNxO~3#nI2*U;q^f3{a)U$%CVPeq-7@Jx8yyeksZ(F6%(4!WxwW!6&_Sx8{-nm<9*3WMkP9q8R&?6dXSj`Sb_hyXe z`+k*>*P7*Lq^_(J)n_xO(`hPqp!kYb2qDE`0t_}2`^lQ9?aP7qc1NPda)5b3`^8{+ z!#iQc(obEM5VA1~IpV!>L4R#^QNF%aI3pMne`4EWFMrpL2IJ3~3b?gkLBslGYrU|w z^G|E+;-BW-15#4irq#lkZ)Vu@9H0GDQYxZn)8Ib|EtTX4 zcW{@yf_1CDx<6aG18iJ=|BS8}vO%)zvd%vOZ=G(54huM+D_w09g7`V_E0V&qJhM*6 zXu*#JTN(V&vMv2{rF&zE^Ntt4yX{&QI2P2KkT^Z;>}{=108Xdd`^y46DwsG9ZT)&n z7*?5Cmz!IcHs?IgC)c@5#bJ^yqRi*ex`MQ;QsgIvkix#Ms=BtSnyzWX>bm+nb*ULK zUs(zlZTsBtv(=K{)yiNH&IWYoUkfRqf}#wlj~6q`aX~tk`MiYS-#~n(Okx1`8#g=i zEKk7(qs7bycilHaTmtfFDQZbncu@gN{L9e39NX_Cyzu`B5(yBRM(eIe5ynUCF_wxD z)eH26wzFxQt9!U|o;UNjgA5K`+Kt*5yG72Pra%2Rr)GmUvyPs;xIUHy-)DcGam75s z*wFD)fnJ_a0sR-v_(kiUwYOT7_kL(^O-MCBunw9Q z-rF0>VLLIl1Vm;|_~NW=ufhnuEHPQ4DnM4cE%|q+?PzM(B%H>}9r?Cj0w!D9<#M;e zvuMsOwf4_Cph)!AA?*UgC>g(b;>u#-2;|N|kk+|GE zNFW!l26?}>4w@MUW;D0W4XxUK^zch>X8D(RYBQNrRKo#%oCs8IQz)(g9JE}bFVVXd z6{N#BeEg1;ZHG4c2kmolb6_D&&x$+?J^D*Wy5@$Rt`@h=>o%z;p;NlVcj~o(riq&9 zCXR4lUx&4Q;K|wrf-g9eu>VPqJEheLwB^vF^ct|O`0M@tAnx!G{|Zm=ITGM-DLGLR z7^DZJ4$wiPH(VByc2x}y%;_l|v!P*R#gztBb6MO1=YOUFt|14%BlT8?MrqOJhm7FV z5dEMwiyZ*3w0dV?YDFR>1QnBSWN7nNs#bm$k@_n+m^Vxx0fK)B7<0DZB=!67 z!KbqfE{R?DV`XwE*(**)t{p`y4lDnZj-m%)0C;OtSMUWCKd6vAw@lmdD4qJVq;|OS z%zlUopmYIbWUn}RSk)9D^gm=PI#Q%>+=Lz0`PDa=N{sO--tb$XA&a08z3+4ukQ{RX za<#gjnM$0@;;)Hvk%c3WeYMJi1E?XT;<2i96%@&Rzt`1)(#EhwC?`U$_qljuJQJ%C z{FiJf6lB2#v{*i2-&>{Z#@TOy&6Zk;tR>1X^itvte6HVLE~Dk2datC~L`wq5GCo>hE7F864hXX^9k zR`qa3-`6EKfxEwIDPB8nzs<}-ki$p$ocid#Y~Iq1+X}c(-Re^m@OQhpAqSXt;J;B$ z1=&7554C|x*m8fKIl{eW@d3do_Jo;hdL3^FpBj04RL`!@VHCFN2a|C!ZH*1_7rbpf zi)wonl{6R#wCxVKt3Ez9MUF@N;EN=V<{ctQUtL-2yCdWaUhm$|vm+aPJLrZgS34V^ zjeE-KDPPD5{FTsq&CQK|E`(udd)^k3Cj*2{TdW_K)>k%8lRwEAn5P9(7K)`#aaa{8 z@MM>&#juWAI-8A4!WrlxBBZ{vE(d)o-B}f7DP))pTH9r>Et<-cA}%BshpHiU!iEB_ zo$)(_KjN7uyuKsAc+E&UdI;?-2+;2c6K@tWb-ilhUm|Qe9YKIk2k zt|lC>dVXUF1X`6cIsI2-Ul~+Kvu+Ipf|C$}+s0it?k>Syf;$^`cXtWy?(Xgq+}+*X z{o}p&+MntLHuPR)CwyHe zGnIp1o-+3@(H=Q8_7X0o`u&_%*4Uhr)11iuqE1P&wJ;)ktgiZP{H_b<-UIWa7f+VI zqxVglpYn8m`o|wR#kVM91Jd3OrHU55_V--+{jv)ZntpB<>!x>po7it|G)^TkKW_K_ z{JhF|h-v#4lm%{6|AB8#MO%*DVp#@6hm74^8R5V#EA8Rq-VsaJNo154?LezrEQ?cA zQav$usG>@ksyQ{SRj&>1qso-5)&5P*WR}RRYu?;yNkZ%E%LS{<$0y{hOe_CNxHHbL zn}`_F_N@TphoSQ~g_Bs#LkZ85^RtzUcV)(>GdB^D^C!pa+o8{OS8Z>OLp3|=@PjfM zY_$?#;6+D%S_pBDG8tIbxgQ$$hjni0rT5DyfbY4`LZr;y_=B>ND4XhiXV&Y8R~ zbc>I=Xe^opbic?ye)xs9T-HkA0iu2|6qYl8p*Bk}1J_~rg5ZQHXVSq@qxdu3=+pUr zR}{gshd)j)egwstqZtidu7z@uN%1t@dO+0+HRb1{b=%dIMqEz_#7Nxplx*1a3pQwP z`yASG9aSf%zOJcuujT2hc#-3p=SkZOrbPAAfQQOC*zw8q1q^Qt>v!~g{$Q!s9CafK z8VcHJar%SpgA2XMF|#~H1MB2XM!0lUu}?CgS$a@L8-mwE%~tdxQi;vlBd%B)sjQ2H zO15?(i&^$+24XHm@eLuBzYf_G@tK^>-$YxNS>qHa%DgmJ)$tRdDaJ8zE79?tc^ov6 zzD)iW=60T1KhHHyF}EnAaC6;i5fRA|)NjIw?P%{&vD@wD9}yq_N2zWVr0uEPd~NhQ zv3Sye5%=b)db5WXFee6a$d1Rw%R-GAje(bY!>z4~X-HsgO zb3{)_>+$=ofhNTv5ZaBzZ*81nfZII-B^F8B^n{PB4MR1&h#){H`ac2 zRd$SDyv6;qa&vn#lHCYO-l~)&;SfwdQW9+6$=~ZNEz8mVnOV}H@l-gRahy^C%0@s1 z)Z6pCeDJ0d2x0dM!>!L&gY9fg4-l$}j)U|=FouB3s-zLS!WQ8l+{ebtsxr%edCl~{ zoRU~tm=pKcX=9_q@aA#WRfoh$ATBpWL*{{7Xb5S=q19CMGiv6CtFx?SgRJz6e%zeS)R$rZLk4EKp6|fU>IBFis9GI$_Ro*@Z&3k5k%_f11 zA2BF!qhP+Uy(N1Mx#CKQmCS*RSetJGN;nH6CJM=op_=4;r!Nn4B6+k@v`J2#)v9D+6We7Vw=$KW6Ic(1S9&rI|v2`m|{SX@XNn|&@Q`A z7cEmuLGwc$zEr!`;17W;EwXSde9Vz7TTg+Y-PEED3#zz?@qRb`l*=4tn4O&tppFCU zm5)3If#!)+(1a6_#U}m^TM1a(3{#~`8y^TSUP8(Gv?KnKnxf3Bj%_d!#Wee z2Mr*}h}5ATTu69RYyyMcbM~0HQG+wA-Zi?pKlBB4V5-!6(D-@Z(xT_aRV>4Q8VoQL=QNai`44itBML@)t zB2m#B6bQkTWyR!17Jpts)XA`>j*}GW1?!9srt3qYu(q2X@phub(t>o3eluahOb-`k zMAOtz4JPg(2ro}QoPx;=6PEvuJag5jA@3l>6sJ?0-KXLH&L-F?q8Ec%7oKS$Z4*u` zVn@jVttdNcK>dR~?FK}R$2+<&5Y*iflRHIG^+gmybO#V8Pvk%mr?F*aUxWUgkle)G z#t3bU6BU~9=IUo^LfAiluOQhEJDoWu;(8(l4J#39puUhY0clmE6tVsrIJNSeI-5FBzsU6V5|=~WYruxA zDMs=(WHO2`Gg^0!xjwh6?G}L$%ccex6!#SxLP!p1CGz7YmrTj})>ScsG*%d~tZVs0 z2a^w%EY};8h=5V1K*tDOjW}qFMqIjUMfouz7N$%GKQNi(P=PNq#)Cf7KLH@h4oTF@ zXPRNRj`(w5Cjl8<7NJ`MN5oSa|40aowpf?Oc3dpTW;ob^8xvei0Q&m{I3z?h45Z|8|xeBY67;`u3eL~F+cGWd7lXmKmhI-s6ThL8X z(I-C^ZDL1C^-#n{R~=4X>q zwnl5;70Pjk`|J2<7WDntom9|6uEsn0A=-|;%D^F^4y`qNk2)kF^Xw71_Cyzf<*!oY znY0g_1%^aqx$!^X?!lEg=7TPl#ZOpUOhz>fel3>sgqF%-*^(9_-1|&wjPsJVuP~K_ zDhD8h$Nnd*`IKJuSCOWB1$C}nwqnfmWLVQVP6d>NCX)H_3rSKpW~7)hVFr+q^PFO? z6P%Hv_`ZuWy=5y#qN8|iL<+X58j6c;$xbmUa?EZuegG(DGi`Q_LV-b^>sl}EcfqjM zS?ey`#lAg~%@X0NMDnO&F}3Nt(C4I=EeaV2gu7CRrW5H?;CE)b(MV_Fe27kwAX z$KotTt&Y7iPct6p8tghv+HAax+BTngps<4DoIK2W?%u$1-^Zu0qn{H*4KqNyD9q>-q!iLX2qt zKeOS$|35aIg_Z4p*>Dy{de;BLhO5KcYs|U4Z?pqrsUyP8(*V?d6KRt zVp@h0j>NqLt|>0lTo_{rpR6`qq&Hu<>UNX4xY)6*{QYin^n7+42aOaAtoSc-+2dV| z*dK6#UkS0zBe>qqJ*-4>`^`;lm+iQAKH5Lt9ySu)HgJ-e2r08Xx9k2cl#9xLFh08F z4ACJsCsmTs4j&s01dqQ$#E7KFRGe$CJ(fd<6yOotlC}79a&*#kL>@HTWg9wlO}=%m zH{4wK@Pf0^feE~K9`K_hLX5-O4>opQ-q!PaSL_J|xcTX3O4}cz3(aJAUanhuxb<%jVxln zG`ybF!9BXflKu9CDEbopC6v_R7w)fn3J#fR4XZ`7NS^-87cM<`q%~oCcRmQtlpp8M zaXJeHmQM9~mSkAd7Hpm<=L-^(>oRx%EG<#{9PMfDx2grJ6Nj@v%f5*VsCSM_i6eo; zd|S1%d+!El_A>5wq!WyHOf%f|d|a{jjQY%^VWZ7v;kKJ2>QPm&qUboriY3-?$TX889>tgBS8N4y}DuusRrHY@Z3dVBr#pv~SXI9IL^ zHA$AuC-9sHPa%7A#x1WP@B;};4*laTbJ>tjA~ORf09g)7y6ZGd+-Tx!16@l z$%PsZut_aAG`JB{|B6+UsmcHMOzKSWQUes_8#%i`|FSaa*YDUlw9ejw>Ks$9G99Sp z{YumZ^ZNNR=nX1xUb$m^%XbvVTbbBZC|Yu|7TrKPxa=(+Ar`}_d%m=z0&WZO666u_HV7W(aQU$%+RzXKk)fyPLn2SIbS^ z9fcGAx9gef2WM}q=@M)}g<3FZO_JG7SI&6bb}6TpMp^7l>5$fn-W%|jWT}FSOHtF} zoQW(>yM0Qn`ifm7gWU!`%MQPT1Dry=)tjFhqFVRd&q%x2;0t^kpjA}94^t%1h%|t4>6w#I-t1i!KIzRT%FP*F;J1gNAJC&l&P3L_Dh4A*ZoxJrbh&gp9U>4f z4CTXfM+gfSCh+U9E4G~92k&<0)J^>$4^_GnC+|+_pR>Iwd0yDRf6n!s#v>NSzS4WrSmMEbCR8qkcYlez9AmlfvrkT^g z=8Nj7t&hoHwy_EWcL2uUn2i>g5sMBuiwrRy2Eir_7Osh{m013!aBu_Dt>*4qv}USQ zGNRoMQrhtP=4I%va&Je{=Ip^P35_na&KTgX%5SkYJwAUtFki;-7YSQpSSP{GAGV(? z7ZmE?PQJCAXAOcyLF9OU@iqpd1N+<%nD1Ib?eMKS)zr4Z3+kDuIq1m6)0?^&{sCRX zY08WZJ+`TGztA+Z`)zQuo!bdZEjHtK+AkyfZhY)I_L>PpnHrft+GcE1K`nGcQ>O8y z(aJT-9Kjo+o)7xor|ao4D#t~u2n@jIKx2`*c4LZK z0WJaOfE%@=c0PscwF9;NGsmV6_O1-ZM)Vb%hp8h*&a5U07) zDmkBKMtQhhu67Ii#rvW9!9!n3=v$9(o_0@nXM&}=-fjeY0`FMi&+1Gf zOS4thUG@@G5^!41Hq#G-9nZ`U)4-cF;J1&vgz!%rOivjdEE+3Q@H^K?(2|P6UlFuM zCk)cvIq0^4k7}>xTEkFuJHY0|%wFTGC3mFEk%OxzcW}A`co(S3-LS`IcLwdA#B0N{ zFsP&O84`kc2()(oH^MG*U7=b)x_nVJ5;6K zLY3K)!zui!tK*j!!j*nYgD>l3@eDWg&{{J+65p7uHcyKFw2G$^EIn*-UWEB(nLdk*W*j=E!( zjT*J>h=}lewJOm36NGiYA@ZK5xDrfM%=MUznb|l8t(8~O<}jtp#me&H;YWniRa7VD zUHd&PRtl6i8)sct{O=Na7N}O4e{=ub&MrgvkyF7YOGRC-IjeTZ?c>vOuYS0q60N;c z&Tx&MFw^l0kpuo)<`HRiUj#$yh%p%3%KZ?mzJPp}bS zDYLb*NU!gLH#B24MleZmQ;tzVz#(A!G@idS2|bs!HA2ND2pRqkH0^Q4B76M$4Ov?) z`F5}1ZEn^Fy3|Xd^o_bGcUSIHW-)10?bvJ!XumF|vCZdgk43h6NEniztLOZ1h3HrI z3Q|>#JT3LAz5I64vt7Hw=??C)5CLvwQJ&tIpj_I5CRTsmr`~8KNAh^*2&p^FWDcsQ zY)3XrajG8!^NnVvPyHPqOk^ZgT3xhuAf^`YP(Mv4$2zHH#!2qr!dmZ{nUIHc_M7ro zN2`B=eCloQvpr%cW2+=gjmc^n?sr5ZD$ zZHUBFN?>eF1LMmLIBh%|PqVR_i&{%4-`_`r74~8?mPUJ%j3OYY76&JP_KfY&By~}S z)NTtSP$+}iSkN_OqG#84AWJ0105vQ?Sn89!bY5vY%swtq#!MZpFS%GYx>%N4QCF%@ zr!~dAGpMASC}UTBruur_W|j&~9JQcE$S`SwoKlIU-{5{MpQ;|^0n*7@r#gmShQ56( zen+Y#zeYO!-RcOCU!YAl7w&l|#Oo~XE9q<=qXd03QIhX$oZ{WIu+$7;`rBK_!7{{L ze#?|dPGgUnxZg7Ts}dni&h<{oFyAPv%>F{!;zDV8-8*3?L-W{ij5d8#nr^SGtS;6x z##*ho5X?lilzOsYvTk}kqh=Zyni!{SxjIj=K(;VCF@cnq&$97}0Qm~SX+kY2F1(z2*dQC2rA zUu~ODnY9-`;gM>sFE=>zv~XepZ|$jg!>U*P-01+*Qo*c2bGk*FQ-M}X``Tlgsb;=G z+e;#K&OTvJdu0`LmpNxdlkoSvc9|UQca;vmq~|PdRTn9B6>p#R!NqptiEbO&S$^S> zXA4}Frd)-TS{9@Rul)rV1D}un+wLH&TQD8>6(zH25YH0)X6EsZr8R5!N#bRL(>D(v zEl~ut{GWRw&kL(6HYD#7@B1N;Pnwxu2H$QSS~A;DgDZKU3O9eI`6^h$Nq1AQ{VTZi z0!w=Rux!ihluolXb#?Gbm9dqp5TT{kyge130L4$By*)44q0=PGvluEb#npI9_r8To zZys3GG-gmC1 z)?L|FE6wMI0DU3u$T-VV{_@-JCgXbR4T#ZLSacXvw zNeC%IK2=&U^jI_j;-fHMP_(YU|3+}KCIO5DRY(#+RaO{H#IU_E053{WN%_+NU)i3M zA;mEmwZqzJFNm5|xcA+k4$n*^R4Nm>G|qE&`D^Z&k9FlYORL4jY1IwY+LC;mov+o^ zTAy07;+07aGG)!S<_b%XwLr9(%#9y>;qq>U=RkutM%)+^Ha(#oPN60RNmVe^q7cH7 zDh|hB+%5mOy8yRvatLX_nWNs0NF68X+#w+huOK75rd;nKOEkpP*J|%|KS;;F;R1|2 z!?;V@?XI)m17Qv2wp37&&cCNmSwA>W7%=o|2I`#!^aZzVg!ktfi4r2AShM0V=E+R+ z@5N8h>!I|k$4JYH#F!IK%xDBm|V=AKHl@YZdUP-`hc9U$Y#@Q@Lc#A1g6|l|SW5)8oUsE_35FS1oT9#Sf}DNv zutcQge=GQWa|y`uOkBO9SF8EhkZ<)%4;doXV_d_BgLVa%5QR1yM<|~d`Fm-YqdOiS z1Eax@BOlUHN)s!z&2>zob%BsRmhq`2?(8nMvii2`*Ec8Glr-k7^*BC4k{67O@gb0i zlIe#G`lKxoG51)w5NxCU76B+Su1;0*Kd5luP-9~=JI7Cf0v@=5_~9Y4=qx|O;}@fY zAGRn0!y&VpX8MW(glb{2L!_;BCWIfn<`08)jl!d>>cyXNVM+CRc*&^nlPPmpp*Vg& zej3<(yt9Wig>+P74_7US#Pi?@oBj~_4!@T(D3;XqyemMB9R9`6tVr+l4|}PoL$lN0 z=ls$G-~|G#Ii6f*B(5rC@1l%lgkvfJ;Qh8OwPi6op-P4z=3brW zSr?&_-j}hsi^nI?8YvY@;6BwuEbJ(c1W)FWU*WG5|GBvlm*ud#QQPEJ5T=mtbcVl@ z;88b#k_hVgxd(qC^&7VXAZ~v_Kj!Qf47Tlpy2pvV>dqiGD#!UG1e}8cNgc6@TzFOq zx*rlP2d=Cv2hagwukgnF>BRPAuxYuu?pKPRhAv3!qm;gQ9k1Rq%z4y2QC(bG zCRU7QBBSHbS6LNGP{bB42`O*Jrxu-nfEp(2s$W7T5V>bh4Z9a+O>Dm>rLR1TS`xNh zr6wHzcwb@##mL$cxnD%7Tm;k7{V^!cT0H*HE0KA;XH*zw*kB+OpX@#x8A@Mrj2lRk z`R5F=$Q+)q6na)inz#d5QSHiAV}ZgImwc>gSiA)TS2gIuRoDWY27d!>&VykNs$oxB z^|BbJ;K%%@%_EqsbttcnV2ve>4g<0)8#+I>;iw{-$!!>Wgf<{+_qr*#hGP1=|We!h@ zk@AiXhT7mVtrG!(0o+Z)xI#g!-J|{kistx(Ijg^YhbL5(2g7G4D=x$ql8)I=oskt> zJ+d4*URHx1LS=tyZXF%xogG(wezB@$zIv>hDrIbqucwQEF1wTAOVayB6{jN&ge1hc zg&C%9hN4JO#dy}~nv*OFth>>3{DFq3#b@(cW98y-?mafdNToUV(bN;BdWh}eB2g_@7C zzA(*X-x(6?f%bQh#>UlWlgD|DjU4t|p4*AIz4VP`GL*e!F{jeYp5x*+k}s=nJg>Dw zHxxStYUV}9ofL-7{>EN&uI(vsZUrj}oGI+(l1|7r|570+8BbN+KSh!Lh7EdnECZ$v zBysP^BuexyIfP5bzkz<8SuzaTOK3QRRoI7)rV2c#k13uQ74Qxo2smBqmYAG{M~#cK znFUQNL66%Qtu;&rSv|^Rr1HKuMp~Gbd1|(cTYTV0XLK9?XI6sg->ih9i?t!0j2=kA z-r|4ccnr)8%>PNdCkeWL z2w14;qUEv@M6Is!Glw&h5Y)ZTeQd9=+BUI14H3V^bMe#y4_NFvxDU!?{eNV`0(-u{ zCNcQJz#sGB>L$PvQs_of5n^uj_}KQu&kMoz)K?4rA|z)Pq9jbp76K7A#S01K*DW^6 zN@2zzm0*&TzFxk%*m6<0EgbY4m>F}>77DwsE|H<{`L_-8 z?p;zUuMDl{{Vlca=0_^kYD>q7Z@Zml~dbO>co+1 zoUWXj43G>+gcA%Pi-cUE>HFIFGTc!zjMG;ztP8*MWC(W(WBN<;LZkRybK!S^ z6vI8eoUj5`FctS=y-*(emkMTzFTh~%Ld>c^6-_j=3TlczJJ?1KaTxfQ?}@f}!j5r=L3<@+ycg zho&9HwAHAQqNJZ=s>%)i$H2P;xvtoeV(?hiwrq9N3M9Sc8@BgQgLd0xfO%ybo{~RF zZ6vR*oLi$lliaODx-rZnq&T52^J+CMDngj>N0-(7zfW z@)Q()V1fKN+w*rp2xdZk6G37*w1}u*GzXA$2va(f%E*4CLTYGCm;oXK56mXkllAoC zIGL5cnJ#z{xFl5vRY=Fo3~*nt+L6_hB~KKa0Epbb*qPYuO4w3JnKa;Be==QX#eW4o zxm)nCDU(POZ85E8R&J9IILRtLyX>1EM~xv!m)Z|NJrs^JYEa71q=6WInX*J3M+Qj< zr!fy{@$kSDhhP-wD+v}8(u@n$@cyMM6bj^AU!&>Fqe;u_rydjr?mvaxq^qK_-M{!j zcx1za-@sd4>rO#RHx5I;-K0%^=@rSy`Rd=?(#(Lt<_Go-0?n?cNnZl0lt{TN4j*XEk0fS--)x);82oai; zg;bfU`ZY02%9`1?4o*Yz2(hXjcy!>0g)Un7FqPklubEaMynq`f6GB(3D zY!{I#(x2z6hm`bUsBZl|mS7>#4ax^t4=_wsL18BfWLUzi6=mSSo0eho(7I^Y^li<1 z%rCmaV{uKa(-8FGBq z|7oTpzdDqo6yAG-kO7s&dJG%)(J>!Wot~wz|PK2N6$#d$Vl^f z1&y7HrM<2*jinvYKPmn@hmfJ2zOAXXy{VNY;GdkjdR7kh+=PSxx_^41`&T!g!=n4& zaeW5=`(&RId2T}6&vF09sr$EB9`Iii2B1@wH#7qL3w=M!e@o{9{{zpA^Z+^)z;6Hp z0Qh-m!U50|053ceXV&f@5G|g(D#mmJxybe=^&g4=-a}!0 zKsj905cGRE2Mb3Klpl~*{m;q%s!(@ybOXWvR{pz(27oUJ&Ibakx*$D%qXz%g754@^ zS2q`=i9N38OS&N;LR1r!t{;w1TJGA$KY!jArrf;bg+^UN!wR!WlKfO35@RPlC$UPd zSoYZZD&2^;e@Lgtvxk?NJcdBy=W{FV#E*HtBoyouZ;HP>4R}^m+?2;d*6|RQl6ORr zS+kKPUCwpp%Cl%A5R`JqzN;P^5A=3^DJQLFA!3h}zO^zM=Ss&o1fAr$B>qxd;Qay+ z0aafx9%2tf6neMlfLixvmH#2^9}E5`0RNwUgL|_mzcn7LYGR3W1wjRFmI-{LW?(53 zHxoNYORzH1&BPpd59kq4Cn`$t$0Tw2{@MLsDx(Gn%J+vxBKZEgq-Ms(aloI4xv{aa zuy8girm>wC$ihS%1;J`z9A{2!tVy9{?A!5^6fG$IkZP4`HSHs062i=j%X1sL&ocvo z@xahc$U=C~Lv$Xj-L7upa~xjFNhz(YY5=s0<`%95Ot)hqq~b4(p6X(EaT}Wr{MG-R&JSnFUgBS0#sxezR|&X2KAhF?U+Rb<^1ogm zH@ZGN+`VwacJOVu3^5ARxH?bC9uV`tKH6MXSv&j|(93i0C)u6#15lft_dfJG>7dj2 z3!}VKIj?XxZ)Dl2Aym6niv&cCz*R!*2w&`)KwUMa+;Y;JFx&TqX%c=2L zqd~ivhtgj3*rM0ZO@^bKBxf^uUy9yODYE0bU==$}4zDnhy*FvU7=|*LGpzjX$-5d< z`&+N7qF0?nCl4*?paiL<40`xD##j*ZVD$E`Z&p%cMW=B`AFNhV`KY^AQ?b!=F~~Bp z>&3y0dh_!bZzNv9Qq3WcasFCGg&=md|Et{W(< zLvE*vJZEym>L{|zsQCvbFX52xt5N*K)WQDXgV9;xk6Zno$Aw+7e#5;TvETZXm-U68 z>?-4hn6Z@xHwTQ752H)((s}O(-;$%0FTN~RGsUFIZ%88!6sT~Akf2jVRwumNKE%C?}rc7cRMr|@J~F?s*IZi4Votj_H&Y0>6>{d?xhx4&5QB>KxAn?#v(@>USm za@O%QS})oH!)yjs>j-&PTlGs$dIu+Zh9{QjZ|@JJkC75i3W+|h;}{YQOZvu%DXwdo zadh=4ok4AhrBCE1mel)19>d)qPxo+DbnMqpDbU{^`>s6e{Ct=G1C+8a?R}E4{~g45 zRx}5FROD!0Rd`@YPTXc{Bhq4@Y}qp4{lIM`@5kEW=O5{Ag(4Kv#3t2vODU9|cLlP< z(yvsx4s%0=%+V@Q(7%b4%B|Bi^sVKAXEtA6)pTpFXZI$;!rbAWPn9z9P#nAj{%z&w*)uM|&|jOIBn4z9unO>Ofee znz$gE1{Y7ggi{caXuhu3G0_`2n$gcFlbuBUFz^pQ-3Woyr%FUkt37gTMcG7yW0G!e z(SZxPzWekq$;a21_YalaoD#k~V@SO<8pa5jsQjj&#)&u^OmHWfIaG98%zBE#o}sW6AJ+%ZJa=%} z!W=9TJ7olEKL7raM&-E@;`Go@rzCtsO0VS3Gx->MHZNK!j)fq`N8z=e@+!FM#>OuK z15Xgt=YDreBw=S})NHoX6L{n!2#YtF4eDQumCB^6(1?|gcqsVQG3}aopE<%4?aX&$ zTJf}BlWspJ+)&ho0cHI$JQq~o#W+)6OIMZRB37BYR*0N`vW1BBc*NgJ4_pXMdMzzy z_w3rL!|7YjDmEc8S^0{Nm(7KUwByJ=8y z>fDu7w^8EE_dH&T?{#7k0^1+9hA+M2xjlypL+S_tW=fD?OxVZXQfbT4b*V~sWYuh&nkQ2nS!`~_lAyz^v+qpb?oWehQ@6ir*K#a*7{4Ca zh4xNDR5a;}1vCRK9DT1)DQmnMdn)|JyEL_{PpU@-hu_f~-TaENvdpmcI^Przy%~#w zq~-}_aEd(4A)rAdYb2Njc$F}Id?}`9JY;Wr_pzC!ICd%}=D|#|JM~yH;wf=w)#O(h z+n)t+;i0{j_iId(OU(|6`kublku_&CL9ZT^mTKeEgF%FjI~MM!fPA$v`!CJ(Z}Sv=B3}X)JH)& z&|g3s>ggu_G-)mLIrdXJ1`_Nyso15a_sW|JMiX_7GH;jOqp-^}FWRone!Wsr75bhp z@DZpqAsm4*Z5e(!TJ^(QaVpbsQAbMPfA$PRCAY*w!P<-Q%x|bZSJy&k~Te4w$=U9v+1A z+qlgO4a}naT`Y{?5+9uQ=kvNI+N1Wt@}=L(J}s-7Q^v&II|P^p= z-H&8GJJEAsXP8U%W6z1>eoNB0yuR}+^U9SjWZVD3SF72%@{RSXAdLV1f~9fj#H)yU zzpJP$L1%39pC(UhIZHUSctv+pti;QLj*mxJ_%V{(n^9!913z#`+nO&?>0@&DG8bM? z2-g}DgkNxISzFAf`#u^tqF1d8p~=%R8vJ45CX>6IjF5HO5c0t2C>-(QCYrYUjL5HX zi5z;T^GeWmF!-g*eLp?}I}D*lq=b59x^Gx-*~WcUEe*|-sC^9Rx5igewD5?FcOMAj z1)O5XF`7aOoBiCY9&kr8Fgy@Q^Lc69@>0gVdcrvG<=kl4$TRBNgi4jiMq4k0@XCko z;V7VF*jK8M|9FJ8TiM&(g09{=E&cuQ+w)mwx8d8q3=RUG<}Zs;w8ER+pL0l5DiLqi z7ly6n9X0!8E>4qv`KD?8+@O(`ZDF|f1)V6|Il1KU!X8i$2JVvov+ zCm#ZLJ~C8Zt|K)j$Z(8<4r4Q0eppC^+(F@qn!Aa2UDnKjnK9xI;9MRXyO%+5Fl zgiPIhB2(8yP#sElklg|$l~{Ar*5rf|1&9C8#IhfyDdCb~rpRaUh$5kbboVLAj7}UY z3Xq*s=!{8DYAIeOc4tJ(R#$k0VO*<6jN%(uJ3XC$3_(ugY-Y!#_uGIrTl3 z?m0Ej)~M3tjqM3cEfFo-DP&8@Qjjl5c3;Bl(!ulzK`|cBwd>pVLs}R^)DDXW3Fj7< z*+p}3XBi$6o`-c()wf6v8MkGR*t}aylL;n3;yzK9gFyC+ltZydsA!f4<@;IB0a%Ws;~RTlN!|QFz^~muR=6;`#<&Vsp9L zY!01?d2i?yf_?GGnTXQbHwEi=} z-YdQIOLk)|7o^4<2>;!RP0#$LqJzdy>1eq_T#xx_-ij*T0#``nr}QuUF!i^7R7L4| zVZ+UZ@)A#tYJzzUyN6)mhEv%)V>~v-N?KmyGe$;4?jcO2AJghsZKwGkbu$!QT7KU0;EOJfrh@1Fy7FXH467VN4s>=jf>Xu-f92cQ6B?a;sUm$`Ndj+QtA_R5 ztD5yaUtOQ|Mr}LZJmXC|P#i+<#e82ddYPVDta)aRw&m6RbMIdE_j;RT_)FTA;>j2v zJWu$$J}hk+(K@iD1|~?nsXiw;c>i|MwClq=bw!|WZ_O$-Jg(`$SsAix&{lfEV4o}9zX|)CC-M}s9P=~3?M=e*fai+Kme$QF!)|wM(0V-bv%2-&Vbeuf&C3s_ zi@cv&m@xhCvREyg>*Fe|F<6OQ`584&^}&W;c{)C;-1XD!TQ|anUrFX}whOP^aTF`w zu5+Z26L{B|7OvAhBdF%85pUXRVsPuJCCfBhf7WMzD<KKahlZ`hMu$+Y}EM>GUH8>Q;*NZF??DRCF^Hdz&(K_a}imBUu z)w?Wm`$A|(mDg8y?|f>j6*>%HSuQOh?fV>nlB)4fZ*d)wRQk=-T&Q+aYnlTm{ecf`*U&s_yEMD-WdRWR-w;tmgG3eN3oh0i0 z0VBGHt-;%NGIT5R%Uy!)>vZ`xLY@hb7Mffu*^5Ta@KnDYt|R*l2W!|9L*LTLfelK= ze#sZ^isrpoTCb6x)+Zg3)wnKb=lWFe?V1i@Qg=2EY($&97e3PX8`R!TxTM7TMmcLW zwLPbb@)~zH*)V&s*c*e}hG5ISv8kL%d(if%sm#OZ!Q0MFe}g6XQMnv{{SW>sT&`vq z$Eo2k_e1%L@t2SBq9A!!ai({>FD}HKr$rw8imUw*J^3SWd=motN8m-$+RarJ=_2K5 z@8sxk6PpqMOF7y(x@b6=m?6Q^NDpf>q`I8s??O!%69-odM;Ch_>hq6?jkJ{J?;czrL`6Vsc_Y_P@VwN^hq1_t#A+$$u@KLBU5y z1)hRVf+B{J^!G0R8+QTMpZ}!-{0ja3j|Tj2>cIb18gLWx{T~hZ|FZ_%g!=zS1OET4 z0sqWRga5}4_)it#|Ef=cKWG5@V1Tw@_|GKluN2-t4hMB0b*K+y75RY-AP-Cc#1G>! z{B73#%J+d~0h>=1pe)>EBGueY%vBw&fjsE19zdq@A3bi;l79}s12g>7N|XnzM!Or! z5iFq!Bq$$(c>l;VO8v^60?(3?071Cn;D^eraxRYUPSTEMuH3&KZQ^F_=m0XaKtgyd zc=@?tW-wkZn1!hcmk9*Q#|7u-g+t6tAg1PgP&Tltqm#Q6i1$}&^5)?-tPman1jG~p z=Q2gY__$!^<`!J0<`4*%g{g%Z#1!Bxm?2Erz?!TQ4vr39_8eI+fFu6I?N=`MH*Nw*ggKwNDU^%fQ~>B_VFu+w0OS-d9t(2>9BIJ^hw=jb{tt2c zOJ@C-{@qNQ56Dj=1OWUX{~>Nb%RhSj!tIX%_@Mv9?GZp>aj^r4IsY+ka0@8R1Y%;s zWo}{)D4hi#j7tDvZq5ZUfdfChX1wMI$e+0V-WI>~jSmSkAW^Kf1$KtH${AE^I*1>A~X_dJN-SAf#= z>mJzqPzWFcz#oDFZQ%SsJ-{!3BW~`2as)qc1r`^wL!dK4X`v=S|7060TKmRQbt%9xcuX21ok>NgdYMI5a5LZvxEV}GGN1U zLwVsa1hB{XAp8QrlHHu5P~cGfXPM!@JyiKk&G^ia7Q9>tJ~$5-48{-TGBxAn;o=8a zGH^2_+(f{{>`x{CO?mmHF~-k;SY^ZIDstdO`Jh9#8giK*dCe~-t+Y_FM6=S09MorN7eBGhg-%Sf!14VBluHTcpJJKMw310TlYyFJ;~PT-*R;e@imAnWvB zBmWmy{@)|d%gg^a33@5qFU#U zQnMleiA@{w+B`xxN^EuRiTiqg<~D7N@Md>`Hk7e1f=;Nn zb$B*Dtu1Dli{a%Ptu}yzT7TaxUMW>|gG?LmEbR@&ojI|9qOj4&1UO~sYgtV+M>#ep zSC8xW+w@tRNS(79pHde{@1Z*SDDqIeetB0W$5HWLL-iM*_uoSW<%RtXsu#02P=)RK z;ezWZA4DPC8Ez$4<27sqz48kzeON1L)>TjGb^bcxizEhm_QCLwV^6_$mS7pJ^87ZZ zx09Quo}SLy8w&AZC$;o~mx@etvOhRpb;NbCoP1j{-Z~UWXnX}b-5c%xoU{|;BHD?r zFkgD>&0*+H>&(1s0DKLLc_fB+45s;hgQEq1%{?`cna6%X;jXsBm-Clm-Rm}i`+aPU zBvntl@zK8LfW>Xrw57f!7!jayU3ZUjZ3{>2cF20ItwuRd-cm%2v5^iluCl2|x;;-! zijUw_j~O6Mk|8NslBZCQaT8~cudoP(Kltu%K6XjdhS0GR7cBd<~g0m zrMXtj$zR@^ai3nx>VEgPoREDl*FcfZ0Q`eiA_ar8ql56+dxXqU($@8DG|-GVievEA zXtBq?UW>nYpZ|U>czOSRipNRVbV2ZCPDDeKp^+U5lMEvd*~~|+t!K~$YF|)Oe`fu7 zude)i7@MYX$i+3;!r0VR2}`zkn{x#^bE+_+2X1FaBKuOLq!D%9Ua-++wp+RogZ>!) zb!?nma~5smiP}_`&`WxQJ3mSfIfTqrpf5$sLk>G{FY|NDd3RI^mMnV6LV<X~2o9hgq^P5{F4XW)WxCCxXF(J^QZosiVTbhUpI%?S}jLi=6#8mgFD7c3B`Q z|Myt?P0252HxKx)MAJXHp#P+l$|LPOK!9!Zn=JYV-xKaX~}+znmzS5*Jc zDzJot20*m6a|NswWw5flotw3jo!1}6iJ8fb;UW6#1y(iz{1nd{D+VaMA^&m%zlLDR zKd7>Rea{PcHUD6o!+~!9{IpnRUl}7}Qyk*(0BgyE*LYPSst`?9#b><1a~)9zAZzot zah*tO)FOgFP0SQBZ4e6TdqS~)4eDPw%D>EHz(_*?zA6GRqX4UshliJspAWG5{ySIq z59EJ2mjBj{LhzZHnwmpRxnR5|fOE>j3%HvCNH`Zi5-`_H02d4a;rpA%2-tytevba> z`M?2GposrPw*SU`{Lf^AK@osY0yp8ZFbCWam>Gf}@cm#gE)#Q8Q>dw_89$s~;P0~i zE3XXDlm8;yf9In8hq4JEP52Oif5nG1fdJqE7Nsda4}c(GxKzQL6=H>_(uYkqhMf;1r z`fKCdP`UpMfZUYufF(^_k-v&>HX{=7zD&RmP3)0CR?W`iuK|T$yYeQW@V`cEZp`~X z!nyzAocO(=c!13X=l_#F&jS^J{q3V}+ZV@Ee-Bk#{ur{H-4DJC=dF~h8(BUd1Fl@JjxH?YahRSKywJx{VV8Rq zT;=1RrmO%7IuX-K3fq>nC<}N;w%9S5 zf_J~f9bbxl=c{d%dsi(MNV zQ<6nHOkr%BcWX>=d>3S^&51~I3NsQDn2Q_r4_rO-B}v#~r4}&r#Z>%LG?xc~VcVI29W_{YfEKE59TFAmG!_hBidJaA?kUIn^q9(6D4qZr{p$fzexMp z?8a(nTkt*>!*zkh-3F{dh9g|`y{CN5DRZ5%FZgz}yRcT}FeHbTkfw_ZOo%xCJ)#8q zjVY{6$~es2>*oVLec8d9c$)(EF*~o*hdQS5#q}vqXg_ykn?X((c6C4BsSF{6DYL~Xbs5v95(v4^nZT|euLW;snOsG*FXDaOr zQvTXKk@iz!;Q;i_x^#8*vH=t8VCOGGE5YyN6_sv-pkGP7s7_lA#_&7Ikns%y&gNgm zg06|$4+!M1@7vwKbVhJ0w^MpzrgFX@>kID3&ywdjepdbNDhowWS8PQgmte(-rbOlZ14w$W3JqFgWuNXsOv`UJ%qk^?eIP+_nD?+_x&RD z1GTQA-9Se$zAs-hCoQlh)1hE?10sU2V}xEBfThEw{wk4C0pE6|*&Dd`bQ8Wx(db_4;lA zTR?snOSEj^S00r_eEhJmfqZh@f{i!mY8_2n>~4;C-MkDw7hx7|w72JQP~RCy&Wld9 zrKNt6ceb-=Rei_k=!<$aDKrWD$5wj|j5$+~A~BB*J)~3ho{1su+7^$t*h>*%7%Y*F z2`MF|xG;iPkF*h?QzN(^TmpT)IS08j;gM{JawhalDDPO6u>FT@JoLO&Kx1(Ov;w7qYycT|aL}Go%sUpI*( z*GqFfuoj zD+Z4$ai(-6h^osJ>s4of7EK{CSHnN{eoYn{XR>tJisg~I<}JHwr3k|O0(2ToqeUi( z0so*A+>g02gmDFL$)tM%MMOH)D#^N_QQl0pumyzhRyb~Ehgux}0@YC11!Rjf5F^*9 zf>wp7Vg%h2IC>f%hT*C96$>lLeMR2!V$S0=*0;i%mT*QDB3j6)`Ak2hipKc7D`F*( zF(Tq|D6I;IsBx`BHYh=sW{s%iZ6IX61b)9`)20F)me*d_us6 z9`9RBH0s;e81IoZCwYHrRc+%@4_y)DF57oZdU=t>8qK^2Uo~4=37%GID1-KU7u`4x zWK<9(OLO9BUadeikWsHk;tkw-%jtD?!QOyQ>Ysgk_wnbWR>+pM%`a zwOO~~OYuwho9{!U%qE|E&%g01UvrEfD==z&*fj6Fu-^aUp&e6{aeYvZCOE2@DD1}AxiE;-Wh}57oRoe-gpVnR zvx@zJQCJRq*;8caM|;{+7d=$-a}%ZqA6Q!HW0P4jp*oRb?TJOc=ZcWA7wXE z)f#ZDqST>uK1-l6qQF^Nwya=~@bFSWpjwZPAxnVUxBgH{YP5&<0gaJHX7A@x%no@G znR&k4x0BzTX#`@M`qcHyKXqiJG%CHtl;5?4yO*7m(;6AR(0**RNune-e#_EJs<67T zq@YrO1uFlJD$Qb#!Dn&w??}F1R{VtNDol=uw<{{BXv=t2 zPI0A0d2{J1Xm6?Nd9iZEtG|ukcXM~tHK{HBdMa#u2NGG%Obdx2w_+IKUnR?;T$CvY zj!PyYjcmhiH`m?UzDq=*1_@84l&R_?&YjkNOh;mhqRZplJ$ff$WLjDwgKp#0>JBWp zI2UA*g?;bdLC=rH&O$m<(jt)hGc9yduKfd6>kJB9D;j&Ne6CL@kz&QK1EYGk*SBnD z>oLW;u`nvqx6Uw&zwYP<%C$dZrIo;4B~Npy6X^4aX1ccHU{tGJ5LeL694 z2)f)c-2Ec7Hxl0(q3mkNk^W6~H^Q&n<%`w!_t3Y~BdwQ9%W=pmQmvnLa=3w2fNulzC&Cg-ahj>?*7M1Sg@%coeHQTo+x zx(cAH?t=o7Cj$+O;s}DsSrr)AsDrf2rr*j{p*ES!W@FHHU6x2MRiVF7M`bD<2zkV6 z;EVnWCkn}2Cb1R~K54#(IQ?j#9OlV)JZZ@kD|g1}j=u7Cx@{bFpRk{?2|fKgXLNgs zUq*DIg<0?Oq%j!oDs@v-ND`ju&t(Iw2b()k; zMJ*r8_=i=wJo0+n$iQSYFj*k<;6RyQKym-Wab9}!{^E}P{9JXEo0N?SvTE=f)49 zmBSdqJ*0vKp-BRvI|b@A$?SfH65s%g7WuWD?$sxPmkyEL(JCoO>c^#8p8edtlKAo) z?*ll6`!63iWBXSM=ZxB7#6)jC+z=snW`IRkP}QnYQKe_4(PQFBh|ZNyuKe{NENl)w zr|Mm38~tJV_Vr_ze6Wq-&nLNeed9yPP>*E>o_Kp?c&P!)7O&ruoR5?c?A}Tw5jx2NK|z`_m8?`FJ#B39*ms2x-RJomi6dmW z0ZJd9bu5pfx<&=xXYYEz&gwhG`;n!C3R!Q2X0Ykv6dZV#Y86P7!Yrifi~%_lf1iRj zbxS5RL60@2Vg&ixo|vNZ6`WbsCY|V#GmiYtd}@hx!LV<-;CjEpm80LP*r@gRk?rQu zZkwz6F~1Kg5_Lm@;8YP5LTY3kG;7l@&jPQO&EGF<4#xFmkBS;(L{sTt(dJkpUoAnO z6V$tnbQDGuAF44;Y}Wjk8##9U8Z!`mu5XsjIlocpxZVhULZy7zq}(Kk7vbYEF}17nC@C-D zrRi&rB9q0i;c%6Z-g&sw{ws72Q~sh?O;s$~IuXi;=O4~lEVbUweMttx%ii?4tEX44 z2UQBLtgpOp3cmaE^D`1Erp#?Fr{*DqJ$=%XtR@tKT@kgp<%%Qk>A^WsLPxYdU zM3MY= z?+WEo&d;WfJ7liPp>);8@_qCzj3fP-PeiPmV{c4PEnOMJvHXPPX@9(FMYKt3B=mWv zFN<--EN@hacjoQ<(t7(9i90MK!m3(X@7V4zYN6hiWnrKpiiRn`6=NQ7wDc^ZKVU(2D{cUwRU}4^C9NV|X zYmdG6NgltvM!%CTkZcm`_k!Lzwe}#kt98vTX-(f;WZkTtM$Ahn?kgC~HZbgNkq&he zuzuZaO;RH7holA1uoaU?pWl;pBi<&vQ_M;Pubd3*Q12mzV&Squ-)`El=1|F0?J+Y% zGFIf$;JW#i*3z=%FuxJl3!+a})}W4!ELX{DN@E@*ODt`swvX@bZd3bAZu>3ui^#cM z0dg@$`<0fgY+e1<2e0JxdE@o;&Z*PL$-4$dcdav`om9eYn;%ssq|wE@3az(#`>1GH z`#o-hE@T)X+?HoP_Ft)2O>}26+IN>7D^Wh$?B8lqRPqO0gcrpm!(GccxM>v71K)?!N9_fA%vEDOe= z!ynTFYJMDK3_okrtn;4MTg$M z>8nHg*r=Bx-9JE4^JYscDM=pwmO3GRW&Gmj+}Ghx&Jek^O>t4-4Zec`Q{l(s>Rw2! zd1^*Jcg172GSzL2S3n>rVOE?RYpnd5*s0d^;C@YKQ66UAJ%6tcOc^nXI4M+Ae-g|9#I}2=mPwk5YCi{U#!}qQ~*wj8?WukSCUi_Q}9&9R0yZ zzF;Se=G}YaJZ!B-HSjt#yjFu8C3S@|^4+_v+JWt3TQ3-XSS5HdG0l*Ya=sd9^2Cv?D`yUs6xBFDR?&IIXl!E-jn)qX;II`Hd9p0ui5o=TR~~S!ob^0zxfDv zvv=7u?~KP*o`37dBrQ-zwH}vMtR=F?cfftS0cF`TdA<>X&A!2hi^GAT zube`NT?=5UYUmDn=o)F5_lW2OkeT0m<#C4##krM<1|u|MtUP-})ZS3Ui{ur{%-jC> z`aWl4Ht@-tVC?|qW^XF+#DVm%!OXMVDN8I&F?x&kLd%_7Xmhst$;)1Kb*z=PL8xTq zm0Ulv_}(C5m$)&Nq)s&%J?AhU-=Y+!x}_N=iQ-VY>-sc%&Mi zIVRvSHK`$1pYQX%dm-Q~ZTkIbM+~)}h1_n>W?OD+xk}4bp-L=2MLAx;+VF|W)oJ)u z=j0aGcC~z)%XiNwyIQa0*q%Or(-BY&*B*^DDC$1FGX)E(b7EOBhN7-G6G&JGChFw1rqc7Qf|ip6=Vv&Q zhV>1U(n0kHch+YMf~UHy24(eU{zU~sJOSf4WkTQl9lDKrcD~YHo7WZ2sK3-|t`-_D(>t7zSfCe z4iXQ@#zWpoTUN3m=`*&MimRkb#xPUC#0X}^>W9^kcYQf)>FwkxS6R}G+$49~&)oXo z2TJ1D)J|y>TNtcwK8Xof4!f;wS^OsSb(XHrxUR#=W_PpgzV1X7`ZPV^|3EABh zuQwX9iON2uD{nS*ANl#9eRX`P*K|x~l!hH;Z@3H}T{=`Yb3F&EcbdhjbrxRw@DUXj z=(`lq4xahU*Kc>xWbg1RK5}5hCvj63#t}@Dedk2f?@*I^IJ0^Zr=D;eHzsOM)c=#` zB(D9kLHyaRre?1d)3f_ov_1%r)42<9!;q_{r`Pw{mR=*A-mJo@P$R_rpx^F6rC2L3 zcNX1sS55wbjlmvkXzA+x`KVAmJO$+rcsBNaj?p3QI*+K@xg_6#u;QCf@(21kB6g)4S#zW+dE(d#7N8K6AVhIDTFAe$ZAhYS5V(d61}=?bXeRSqYUK!EVz|>vCrKZx$=^qV+(Tm7xOC`IT!fX#+Fh)z4lZ0U zgMAZ(MDCIdf4sZw5cF{#<=!s(nddu()?JSAB<45t`An6zgU2CwOQS6ztUhZ$aD7>u zYDfGCT6V{nl2Xd>c3l>ND6vjWLEWg2yW(D1HItnd6x#Vbw#aQnFW*UDdTyX+U?2|b z%YXWYs=$Si5&gAZLJ`V7xdja*Wad^PZ5E{=4oGgrSsYHEvi&qOv~rnbkBl=FGU2pf zjdT53(FPj)Vc1$5}7uUeP9eFlatKw!iRt6#Fv(Wk!aVdZeG4 zTr91E7|F$?64c*|e!JFRNwa?)9ieDFwkFKt_|Y}OnljIHYDCvzf1f6WK7f{~y(b5O zsY~Pqk7Hh4U7O~*L)XO^Li<=$Cy~;5qS&PV*&t?tcV;t(39CNgyUK3H5RM!j-$ey9 zOBNhZ1TMWh0^I8UY-{+v2QguK`I8@?L)c#kZ=rZqQ1Ds_a3{lwCnzNv2;lV1h*eAc z+C=iEpetdKUau)AEoBulX+6=hTix?2t?4CV^N{}~a}~ExQBS|ouDn-(L0`=y3&Yl$ z=9g_>bnVX#Hs_%96<25xg0T-Oq06cR72+J3e zKG6L^R9j1Q1xg7+vL=tGlx*H~UbCz`3S8-#E+g?jH0Sr_+uuMnNshHs@H?FcVBM7y z)b#c}ned&u5+6nx7tY<#xV_`Z!;*vr#Qgk0f1BWOq>)`CGIDp*GN1$b@mgKDiFaSx z>af2vljw9(<%#bWgI9Fu;U(?H;8TD92xww&QYMBYVWffqOo}QITUE;Iop}goXMP!) zh(>F)!2;JO1)n2T*T%lRps8>*iVE_&ePCiP1+jVi$jMb$&zwzgJGq;^ zQ8gX0-e&kdUTHRy$@chd^AX=??sUre)c~{~Uvc;K+DFDT@lmZ}$cAT@&eW^W@+yQY zkc4%?#?Osc>SZa}aqx!sqGqcv2rVWiGEAkpU!Pa^3#ELxTk-+!!MS>rPkPHHF@s2E z=%|=`H@J{O&4m*&L|C zUVlwa{tW&ucA=NO_hNK|+u28tU$gqHBj*peov2{-H#|8XNqvt3>cMY=Enhmhwlk21kzIP+7e#uN|sx#hS?CmC#5R`B^yTynkfV_(S*6Nvqez&y16@HXX9& zgWSpf^SU3)DZ}$W*DSHH#Lm~E;{vQ^FB3S-&qq3%Duwo!|Hm=?an%`% zd(-aq)qTq=r$q33(Xr!|#px_HI`%8e)zir(vfc(d+)j~fq@a}`5NcO%iuGGbn%0>F z)xQ(uE!lGs-H{W8g9ARXMZva}E27*Z}f|HK*sx&k*wHg((vyW(}gs-Wm zhIT#l)&e%H2L~NpU010ZIQOD1qw2Wrp7{?7*cgnHO!Psh7|XdvcJQ! z(K(7S$@K_|k|@sxqO3nmsh!$o4E%VmrF*~ZXCHRlHU41Ivn8%U1`-qcBq9Z}4ROVO z)|KVG`BgnKf-D;DNSSAFPkXK)g?!quH?x5hpW1uD`Q7C#OJ4jL$@b(YHe2|@JF|Oo zQ$kFmdUI`FPh1B*1H5`$+Wfg;W1^oPe}!0nEBKH?`1px$hM1ONZ2isvW%9tTyc}T#e%S%%^UX!OO7lTM|=S6mQb;0w< zZp5CsMO90(sS}YCeVed2Qr;nGu)aeA6~Wu0wUE!b%2~s!2%Ae*I7QTDI50LQ8rRs+ zGkmh$jx^B;TDKxn5{fL>lG0=<_yKRT5d2ChH*Et`V9iBw{iBANx=DkCrFK+w8>cqX z{^aoFJD9P?*Vp70XyteD6d!-}rWR{(T8i7Yv!moy@B$3Zi!;7E_%y8!=W*!we7GFp z<$UzGy1fsF(ipqMf2t3#KLS3hoJ@US_)qPUM3khsfQmM9GEy$a@w&?JMJLrzhk`6d z!ljgep!$NPqs{6#^JreXWQBIv`)`$T5F^7H_F9wF$U8(7-b&gGnHVYd&KSv@Y*+h1nu>Z)xBE-&|WHV#}$)n0qrd%qlpcWV-K{@!^Rmg(bX zr>AACc6bEt#dQa#*@oi%AG$X={~rdP^ulM1N4t z^Rs3)u+v*q=}S%C06INHfqS7i^vc|*m6na>th;E_#$n(q z8oK)aLR1TJ@}eEK`>3*PJdRm0bEKN0pAbJ|C^@bK6HzyObd zVX5+ZPam|7xLWc7%gVo=T_~F|wJ7YNmF zDAeND*BtiYRuS(|6!LX>XMi2CV)RV;q94Ak*(cYOdpqj}hDhMN-IB*yR=&0Pwn(ft z5x!mS946h^F>gjHnj$(GFgWSvSbm5$(@twYbazZnC+^G`DTYquXmmDlH?dj10tSYw$trKu%dg`x|TGn_NNxipUR*X#1W*a*1X==0VNfnZHyJE6dXH?G|u zmsGo2yV>b)Y3NumeK_f2hGoPj-$IREnh06qaZ#b6X@9_F??X*_?`r_N492W;j3>Et zTZFfadpky6aqq2td`!p);(B@Sh^YbIv{O2+<)q-gJVn||(YHN?aJ})$CMHA{IuYTH zg;&>)LjW;v{dY9tg@y|9&sUo;KEA*b7BZ$kL-w-Nm5V1xb>Hx{{JlHQQ#yRBzi^mw zGmbi^9BR9_$d>I$(!;;(3wY)hycAbp%w7a~i z$3nNPkH=MRjg8LnzufbSTwOz)4~?&~(VPp)7sLF`4&}L{6Ss~>>??3T$+lN{jsD&O zCegXg>R&z^@z)ObPmmWYa!0znxL4@k3o#44fM@*9nV-L$z27x#%EeO#nl}#AQ!W|+ zr;GdZ)s&l@ydCYnGJ|jAA$}&?Pf}ni$34OI%HX2KjFjR~2W#KQNmEm#Y$3I=HfC=s}-gZ55l3?t$w(UKCQGk!DM4zqdpR`l%w0*jqw%14GjE$`2$ zDo9_SwzGpUr}F-4RToUc4ie>oV`4SwRiyUk#Lj4#?lP4a@YKT$+FQ1`kHcm{PPZbq*#O4DE`7 zG5zfxUUO$$;+M~<|2rfi!2Q`dR{Q4Pz+kK%ungt1Psl)NWZxjg*)CmECtF z#H4JM0+&ceD*ZW3k&BON;MbVbqCwb0WZ)Y>{#bw3_KJ%UZuv{ds3au?1HDV1TY-;r z$<_zYCev0-_r$yT&Vsd@z%ikD9EAq8FnJ7`UoC?3{1yBdFK z!Vnww+BhZ0GinAT{3M^IZ3y?$3kb)Y3Apl^;qm1_jc9ZL~eRbNCMd`uQKs~%858x?R1o#0T zxQtk_4B0BfWEtZwcL80D(wF=vlP2Wgq%C(D*PaU^*&CRrH6H0KwQo<@80a2Z{1BW? zG|~eXZ2v>r{p#G^>vzZ|XqZC%PTSJe_yz7?kk4iz$5|*K2QB%!wnqGPaup?pO=LZb zE7}Q+odm{VyM=SQg!#U@v0dbY4y6W-?8V6MJtJ5Q%}LGpVOobX124|b*yg>gP27IK zdA8Sn+00C~K}M$6{z+Y3wqZu+Pv6J&O}@UWR)>Yg?+*n7KDXE92KcXvz-; z!ta@AL;qgDto~+OF3bu`-xjKm4il_S+cj^48DnVez}v7vl;9@yeUVWyUQOJ=6knNn zWNA+3mA=_6os+x&l1AH+29|_6WxGjN*Oq{s%hap4xpjc1eTkkt)9u}p%t(5QVFe8iI>2v)0PgkowI9VrfQdkeG}ll+{p8>VKL-+ z+7-z@OBzRXH~fg{nmXpRzYDETOru_Rf`$*Er-gR4aGH&6^}44rC15ts&taE1`X8!x z+Qi)(Zi1#g+|9kjEoQA}-^LcSYe7nG>Edl9bbT563V&w`YMpbRP4DE}`Es_wm+up4 zYv<@&)rl!yy^EmC6pJ_RyX};ZZPU~TAolW{wtmOe;xK+C&!|H#0G6t1PP2QfAYQ;8YHpLG4!g?yTQ5!2<&S>hFQa2^ocvkIj#B!>sKOeHUOdvRG*nLwWz$jl! z(?H+;3mVZ8LQ|B+0dv)vNgW$M_few=c&?iRMB^J9-q>2N|pzoO2uVb(HCAjt7!RWNPE zkyS@qZQ{ZU%WGM1KQ#n=|i0vsTd4$RwDLmzWguon#QdT`?KfyeKLR29pMNY-} zAe}Cd1cLs+MDb_ib+}#&UFlg8+sRv8SBcTG3gPyze|p%!<(PvfoXh|%Va~xsx?^$V z*w6U%I}`w%s_((FsL$_XHP@zZ;2@du*}ltM7W-%CbN+VP4}YuQK!H9-hkuF5+XBub z=x!dq;s@dNmDqAQ>}RFf=7GNr4?&7lw3-!H=&PyLV^~4}scwObkoxS&(;Kd15xZ@w z@}9fq755uySg{XJ>fvKc#sB)C`J6;@LA!N7s`>ore8h73H5+=9W!apjP}_!lC%(e` zg~AMkn0IfG2arLZug{`E#}ABCbxf>mrz&5csP~Kve^KR|KVdgta@xovHCVtF%VmF( zG)XhBU8erFuac&;I5R|brK2=4>|M;fZ(|TgQ*{%Ro#rjPty#RfrrW#b(5W4L(^gEM zTFz#4otyTXP~LY^<2m8%$`m*X6zBncPms^kKGEAWX15xcA4@fvm;kI4otw|J@lSwg z@^3SkD-nM9ZmKXg%L(j4aT5JR?4_+W&u-Lq37*RfDm3EcNASx^=CxY>!)OWfP{CW7 zb=G;e74^RKR6s<)l55O)+vS3PoY9lKqz1IvNAOSg!+ka+ELTSnzpG#}9kkyc7r@I^A=aY?yG}X%FG;xEL;v%v)+;@6QWdm8*F> z6y<0XOi9SXqWF-7Nohox z1?XyqWCtOK7NDxK+_NBHgmdVAo=)yhUKySNqOEa6qe^?K1QgHj z%gQXu4t98QDb9D}_{eYk8XQ4)j`)66KeNi@QI;OD${2vW_Z1$AtH||LAF(Ta^ODz- zrXorib9B_Wa=@o&gOYKQk`S za8{a7En1YL@ruJ@Lnfb1p3d4#=@DXK7gV_?!JhlnnXr{A(-^5FAKIXoF_5HbHB`R$ zPAdNjO;SYeuR=}nrKyw)5T7VdoPYF4@#W!nz*4%0QnB@IcC~mO-x_}1iBRKHAyL=V zP){4uOl>)hK;vd%V#UrONPS1TL<)|GdD;$rh)VxxHi%1M^E z|E)|ox<-<)*z&IoFd<{Z532%SEH31xZsH`f*V$&Q%}0=*nu85g+(5~KQv}M%s(;f6 za_nH?2r^;ksQRSwYJAwI{T5R(%5rW{pCFeWr?J&7sV#IOW8>6^s-PJ3DaAhH=W{i3 zAPcddOy#Kg64Qc}N$lLSvZCQ?H_XEBrup|>txo3`Ta57Q&s-;r7&k5sTwF*=U8k0=&?`GxFjUt8de%@iY~oOWG?n7&A9`) zRL(upPzN7$fkMO>MuH6`2QC&rBV^|V;twpAoF~)~2QMm&yd*`C7BdSg|9{XAN@fN@ zy2UAl#R&z;T!(g6gw%d7>n{q)QYR`la{T}!5-_k|W%A*cpcih#^!OWa_x!)pq&HYu zVR6uS@DiW#BBa8#rsgAWFU@Wvwy2E=@-q+>NDe7U_D5=kSq_C9JP)j>F4H-{eIzJ? z_iu-x2WDrcfipmHp#|f72tP>*38f^a=U~+RNd9Ev)Z$+jmZGkt!b{C}k-@|o9N1BT zDlyYQ`A~CVIf&De-oKrdng2*pCfV7raU^G6OP`@_ktL?%XQsRDLvg#w1SI^2>V=A2u88deg#tSqYhY~e+bkq8J%iXl1k!=+Gj7wuVLYdW+nF=McC;sVyD z)n7Gv87b??almOId_Ke&F+^Z!LZ=ke95&1~=(U(x9Z@6euffGar?q}gluY}&3NE*^ z-&#X-%}_t%K(&$ON%dm{&GC(H-Q}Gq!I2j-%ES05Hg5=S;1b(n~*1m5>Cd2p@$(9w(8pL^BM3O;Aujbk^IqeWu?8c97_&JSj_X${05n@sq;;xAQ8A z_BmdSJ-W|5T8%By9KQ^a+LYKKKj|wtJ}L;>BG1wj?f&@RlQ%!aQfB+zNG$(LyB9Xx zo;0c)%k)c;83z@E`R{uQh`_jwvz=sy{lqhl3D@W$PjE{cEl#`UJn^z6DZc8YmYPGD z_Q&rB63vZsvPaIL^SRYa%}37R3PSZq;`wB|c^he^yYnhVu3;``_YV#F_43ExQLbpM z7CCPU+CGwnVgwUx&9ISo4oR`k34^%n9CQ6MKNcEl9q%Pi(};b>kY9Qpr=DWVw2$uNyglQt(De_@3qG0CV+ ztCu2c6a*EdHeHKh{EMPl$F|^Jtbx=SGmsdgdku$u#WNx7KPX3a4bFedq7HoRxRvF1 z#F|X;DF${tu_*_|Glk|Dl{*EZj{0Kg@aM`Xs()4azto=_ z3&%vL{NqunaCw!oE4!G_1A!tSZ$d;gWUZITllKXc@f-Q(Tb(tg~o_xPWO|h-@C@lEgnt;pxtf?_8fJ3`fZs5XbGY0S)3OFw90*1t|4YQ zfSeiIF6HWi-^k2CFECB#;Alk{?}`K80^8CT0dslFa{>Uk)>})efqHU6Lh|w?dH;8p zp1gp}phsC769Va ziD@Kd?s}0QkP|?HOn*5;nG&a_l=+WXZ6N(6`8_pn1sY5C+gN3KKosoTDrm7)t<^4R zYQJ1BF!))v>ArtxjpJP1B+#*_7xvwHU>EG0eosB+Z-6}VxAFl6Cw#+i!C65u3IR!i z6}j%Wk8wz?8J~)fuZVMM1@ygU(5`l&Z!mvYmz!cR4p}d(2cc(-xfUkZPmZ&dL7fWi zPNWvBQ_Vnw8gTq>P}ll|WPM2me{%MF5OUh>;ZFRX=!rpp@i#5q$tEjGBX-9E3F{x4 z5MjYoC&uMlqN8_~&dglE9UhITVIjT@(%vE3QF}su{G5e9H~U26M@42Q^|-%K_PXT2 zk7I?i9(ofS^~3;sB!7)XaeY;4cYN zO;Ha}LND7K?Y(NsL&3xRkl3QI_!y`kGZ{j!gZiQ`f;+X2gM9Z`e#zDa!$HOB?At}q znm@UviVO=Wzd%CspKI;sazpYTF@C5wW|5~tY5jFpwQ|nM8GKv2{%X#Zi;EPt@6o#L zN*F}$B5g_Pdg3}ESBs>nC*%b?BIs=>?UCdmYc2>5GL*xAz^tzheOrLPO|G5FDW)`$Nx`oZ&t_h0@Pd>P!SCdv+y|C6m#q4Y*Sn$S-Y&k$H4 zP13%DVIcjF|DS|yhKc7Pg3KT?vMbvi|7HSFFS+-1#XgWE{jg}dS!lX16S1yTk5r^ciPUB&5xmMj0GIQ-O_Kr77-N}s_E zrD=T#|LPDru0a8u=dk98jL7Kn_irb`=T6L4{iVV9Jv?uO)<;b>S;vACezDj~&?Vz|A*`%mkx5}1j@*)hgFpE$%DO%SH&7eJT$OUxg&NjV!uPa4 zF&nY`sf0opOZLaikB#~F5G(%CJwZrru&@F>p_dK)sR5XLHghb_76#Y>;(6U~DG>P( z>r~{8j7s<)7*CBis_Z(yta5L)2^__`;XYamw_`C#f9=ZW9`IrCCFXm@D3`M+Q1?Ip zrb`tHd4KrqD2$lbL;PMTatPZ=DZKZadkg+-zY?%yGL)h{Tg#|^(_Ui_I-1--e|E$9 zI1;0>s^ZSPC>S905+uC*Aqqg6;atmDHQwc9_F#M-+7A2z187P7aAaZ?-VYww| z1UnWaE3O%CQHS&kEl%u!dpX5T@!^!j?p5!>UqQ%|{uK0K(iY*@P<=xkOxsKrqN%c* z>{E7-Zb4CP%+4E#`Y=8Qz$zUb@&_WR@LslvzR7>SG|VD?J6hF?v|)l;&WlZBdLY!O zvJi)NSoVmd3-t%yi*6XpKz;L+(yj(SLvNUxX?`P^5(Zt7%;Eb?0ib+Jz{+HB)Q^7u z;IBIcG)Q*}And{)e4~{?e@NOKN>ZyHMWOuN-dCQ}`@=l1XGI?oSq}0t(FnG5&N047 zF+;R9Ysccz_s7|p5__17v|dHre)4!=j4C=GvZWxE=*2#Q9rIlAAO=6?2a0H}lk zCk||v=FYI8C1mYljb13Wgx6fPuTyAm(Dav)%lfG2YEHT}#G+cFb4Mx%{?Vf=MT)*bAZ;FtTA^c6?C)Dg{jOBL{+ zHAw$pzA6iP_C4`2=&|#0%Y=Cq8$Qdnxz2rw4_F?<>~Ws)Eb=V%tf7~{#aquQZeG5( z|HWHyRRy=}Y^DYm95Omk2W*CTF)~Zm)lF@W<7Rs#vzI7x=96NEFL0`z^;=|8>qh2+tPh zjqw{k^_;!Mp1P-21K1VmmDDSTC@P0~yz$*SZi;v=?+hHyjDityHQcZgc@pM`{TaSZ zKFjYUZ~ehAtLsPm!(Q5*>I+_3?;OYaQ3FW6Ltk_6I$za3Ctua?CXO9PY15F9>GLIc z8+>m+ZBGrkerg|fh3aiOy|}OV`qF0bx!WJMPF&qj2T%1*Sqxu~;TZdGx8M|eZ#yvs zT%QSN{f{npb9+xO!)JH=p5vN1bG_~_ubX*ipL1#jbluzT?cUbsw4dI}^L`c{;st*? zPYM0}rG0yHyxxGami{g$ovea955cUvybr0YKVLw@{I_aC%@Q@8orX{2?ezKban#VrtZpg6qVj*g+XdHr59iiKhN$b~9<+Y< zLI+Q&_1hm_yof>F7EQ~Pt%~8_QX?{b1aWb>O{z(sic;P+p%U@5iQKZv`!6WwqNq-^ zKg)16{&VbDu@d??w9yh@I8R7162->yFqLa#Xc59Ju98227SHXr7y-PG5jJ*AHJKv* zooPe)>`po^=*2AfGoYYO)1>Oae~ zST~92mPh5Ey9Numrz@PZ&0?gk9<27MyURHgbATRCLrUg)VWU=enl^*j%ej$gBjVX5f#b9SQMR4Ln5Il2EU z$2~V~fU$yCNKR3J3cz6EY$^FK_(_Karh~Y}41-Cq#SD24U8f0F>$i>!${fCq42F~G zcz#2-1$Id2mrds=ViW|7ZD}<{E^V^rMY4G{MYJY`<&(5xM9X8-PoRJ3+$?yf+8Jd5 z<~z(;us_&)VSb?aoZJW1Ci)#dwVuewB>E~#xrTC=nMGV3C>l$l(X!2y9+y78 z%0)>Jdx5DwCW|n@Af*$F@>Fnww5)k~w?l0jPoz@^3k1bb&&W)?hPh@rbka3@Narh` zL>vMsxCc~#*iwjIvs?URD2+cldi&cUB?=S|xuS;Z*Ha9)i_wBa3RQU;BnxVlg;0|9 z1ipE3^s&FXy}_`5_DWL4@w-753~7N{tFST~NjDV1NymC8!O4h>e~Uia0@;#Tf623> zIIKs_?3l1J@XMog)m=5h&r94(+ZlIa*g5vsR*`d7z$V`6OYImu|!ZJtVo52J|? zMLXb~ih6A?UPy(hu~lX64*%HgWL7mje_!g777Ssp%i6uU+;73*GT(aBVj?SLOXouw zc13Kjx=vz-dIwp$lZJ*!zdG4iBw9sh!n%)&oaRp^%Y84m+luP`OHwN6mJ#~k`bX87 zw&gc@)p|Tl3ynyRvgjzo(#mL42!2~pdnNFKlg`+xsmP5p1#kuvcLC|LZcw*OlHcAt z?TOT8$_=PR^mLT61vx_nTm=1DuH}+NP1_(qA+C7>-A49?9)TSv7s?O}I1zuvXfvuBTK{RR3K_4y54OMvS2I^y={OHj%_!Wj{3UGkP5k|xEP&9l6DVU_g z@kHYPc0=K%@&tf%irk`&6aQ5u3Jxk4G6}MvO&}H~O)&niBL7#FsWo{Un5okTMoaa; zc~XhGmWi^TKsDa^|awN-1mGD7I0`W?hr2^A%`)ZN#4|UnB3ew>R6^SA6at6 zsc&KvRDtOIjFPQ7hbKFASWTr5hQ2Vure20o3%99?o zHr<^t!ihvjO`0n^QuLy=;65yum>uqX2no|?SCrTSUgodrsxqGB$X=c*FnLhUwrI~4 z!Ar;yuT|0f!1$rk3pq1+ucL;lIXV)YDsxz)_suw+i&1QGoBXRPWUlZ22lL{0*m<> z_RX1xbl{bT-f%@b>+=(I>i*2rSKVK&Hf1UEX3O_e)Kk@CW5d2}bK+Sw?U9w=rl!l# zyk)~}?{&C+`hUyMvFL$gf6m>i7v~SovWhvG-jtLxv%*`9bEziUgJ=m=uHP^>ZwT%f zM_X^#f^Nns9Sb?{q*mv_i#8rNLEeQj9yj*Z4K0K9EfxE+d+TveiC$&3{W1IUjNWq; zyV7cvgN+-6ZcuBwgT|CM;_~zE;zp7la;Mp$oxi!IwY=d|n9&RRlOH9mXBImnXLZZk zKY&HKSw$+odNx4)R3j{oynCCQzthG*K_`r}$IJ9IVxFUpj>$Tm$D8?D1=Baw57Q4#suB~*ZAWslTu!6GS}EKuDO$ON!Gc>PD1t{e{RN_wScd@Lf%hJ3y7)e2OE#2BOe?<%IUHO#A01r z>(!QF+t<-C`{ixgOMHvL%JSiQM!L?1v$gd|-?NdPI|G^x>x%PrU1{$n|7FWZ|q%|5}gi~!$1#R!cngWMxA9x1)kI>d1_M;`aDyPrpGB&_8xhP~S2aRe$}{4+A^2M5g$u28hp(3p{15hA9H z?o5}{h+a11riNf)zVIAe-1eIQniPtjkSVmp?g1p0Q~$olJ_#%z&bV4wmQtv~&`L|s zP)~*Sqh=~;>c*rrrY#j8IvsJj;$tMTkz>e8yZedy>FYZ;%2A)LMsL#U?@V`Bf8xJo zXUlxZa>fz#zWZfz?1ml0T8s#qytJ<6c*VZ8UbRx=4o-{zX`2gcQB$-p9`myvdmQ$Q zv*WORLhqQO4ZnA>i#s`5iXt(@vOyEN5jnd;Z_Md8)~EBRAHL@>_aVa4!krT75Tje= zJkp^fNr8)Mj}>R&-S7Ona`qnri#H?WF03rOfl&8y9UWs&Yn&EVxTECgI;Wq}-8gaM zNHa}8iNxWE^n@TQ*g-ri{7r|hg#L9ZKwlp~l$1I{2fR6qA{Pu7O)*&QB5q#5U6$tm z-QF5choPO<^^pYBQ$986VzvDG^Bma!)Ra{g{04{3(cfI5r@S=;@R>VpqUZ$2 zb>(9h=bky}N?F+1m(LFKmc<>adHl5gS4Yy`-etkTuh`l@i|u579G(r^8(Zq--2>a- zI^;+oW=FQ5vUdP$*{fkeQJ3*Xl_?iyK?ZMRtWrNHf>xh2h|=#NTE~w|kqUGIoopXL~f9Om71WOLb?DF{qRv2v4KVb0#vVA$MzfFp~z!&j^AZ zxBYS^Z1&r^Kea8EVCr`@s^LsU|1>SH%36EPi+EWB8pciawVaSRSH+@Ow45(a=scJl z->knc?^)RqzRPw{tXXeMDF-zFPW+CtV=JC{2=*rW-TH(*GH*sw!i};GFEV102-!4R zwzSNpgMoqJx$&m?R$8ur?X70ouSOG_Qliz#XDoKz64mlI4AxNnw#gpAI+@%)eE$2M zb4ly!vah?Hp3e6pjxvvX)ekA;>U}kzEOCWpyf@Lh62 zqMX?JgJoosC1znq(tq}?({PY)*4K}As~jG>m;uk9iw^7)ENOZ3^Iem_5MK)@lfVe6 zx{%)4Fc+wBd8oqW8WeR05$Yn6#a_UE!~`EW2wZxO3zei5tU(BP_VdoGY@SM+585b( zM6DaoM~ljK4#eaf|HuKp%+M**kcYTNh~i?5CB*wa`G)Iq|K?qoa)O)d3hIpHijEJ` zkeF_djBJ~dxI{;{$N7yQR{)|XQv#_A`wHK~h{f!8l|=c8rXK%$`={yc??06C?q#yY zE{CUHLC4d;*H1_@D=_(#hMgywS*XL-x6C*mL}5|;+F6DZ^E?JEbg}5pQk6kT4uKsB z6gU&^JXnS!=z zLlhFkcJhPX`-(s8QDWv8)KP|2`BgC<9#D9KiTOvB?V(sL#qc*ZNCP_JzB+STIbc9ipgAg zYWnqy2On72dwcA+9Tr6v zVr$D%;%=|QQ2JtzhDl1rslVfx%Xh_0Q(H)o@WSr93uh?_M-7zUc%6Bb+#FIJ)KYVG za4BVTAG)k_;hqJy`jd|DdoTFVnPz;NDcGa9=FR%3sQT%UfgN4kShVf+5EC!zEE9$Q zkPnFbqNlu`AQWsNdw}MKEa8MHP^q|hzHT*)NbhQ={m*(rBP2h%v*vz9h0ak;WN)}K zo$EPov(>}cP+IX?q>O$nRR@iO`nxh^$kYy(!5KZZ#`X>1oR`_Ls;^_n_+yBA068}# zvJ)Yh=)wJpgRTXk35WT#Ad+U6{U5KPQM|Nv#XhOo-{5Jpe}w6|;S%%p^``lR1M?@f zc5RHph73YMnu9pgX_<2$Nc!KJEW={ce*GXQKOU~{fU)tt(Ogtoo`J@RA>jN=Fl&P_ z*ZcX1KM_0`AvQU^Jre9^L3WSrW3SWahX18t1}+?I7K~9lo>hfzi;Qamwto;hBr_#5 zIhXXjho7^(uu!7$Lsq6nqhG)C;k+azb7c1G;lS5rVe8g;_==xh`t!*IQ8mF&&jVeJKy1KXx$UDFUm(%1^WCpqm^0-%#h!zm zeLFKZ_kMb0Q!($e@k_`ujnfBcr?CF}UZi>G^7^5j!;W3|@kimr44XE9^dTZ;u*0>u z{1ES5&|wd@b9Be_9>vb{CcZ9qQppaK zhn>r#)}0ejNJrY0BP zW*$L73|<~VKTj|ci26#J`pt?k%4G?5zG{ubZTj7@Vk zYWMPO0}g?bAB@*f5TyGY+w>evRw)cl`4F2T4WxAj2bhK`xd1rLpHNM2b~LcQV3UHJ z^fjiZIkZ@lUv~n;tAxxaq-#Dwai+dWCxNqI(eu!$rps&<9FyDc%p4F=)_eR|xxxV` zigGgK&)FSDY+%-q=`b-h+xDEd$fAUehZ;Pvb*gT)dV+sCGqxTYQe>QB1HCUv)Euv> z7nozFO=H&r(7K@g>i_zPxnzvW7{|&soI^{f-~Um#WQ$5=)-w0&$G4?u_9K45TET^;yP>H{^`zWMUZ7EJ5)6B3h?$dK7Yy@g9}YYA z5z_JL^&6tqsabUZ!>MF}I%zDA7*)oWZgxW-EhF#uh`PD=$oX2l`#c>z`@v^$w8S_5 zQ08W3@DYjQj-3A6=KZNCr8{l94gXGp5@voGKSB39le(riu{ zkscBgP-XD%9J{NZ?OS=!g|1rVNtAKM4y<6c)nEK?T zVZ%qsPonW}N#s3I-PYYJoP5ly_#8S5b+qr$mJAkKX9nx>AxWWrja8+}i+Vk07$uXR zq}WMoL;e=aVBLD=_N%0ZwVG6Z)kVYvwdow%{siG>7+wICg>%@8vwPH3a==SNCFYQy z{)(CL4e4i{o89tNW>%K?EvKb!jWNd0veXe`dzodFfnqwMaaWnTyJ5-LTK})`D!FmB z3--r@*0vbB=Sgg{ir8?+mf@PpnR_fAE=x`AR1O#W>h;~sOJFZc!0Ad(sSjDYS7vu} zn1ZVW8T=Gq7AqUC&C$bURm4uP-5O$t>LgpM#p#tT;P;MUz(V9=wam$qZc^>>hen>h z>6QozK+8`vLb^}aDt-9$xUzeN!Bv88Mk+r|7JE2WVi?GE;$iaj{4;zoACRJaz{<;3$Bzx*}xdMM5#;oBQ=)a^VMii zaW~qIm2CYpF6pCt@pF&xGgU&^8KXwv=<`~bb|cq)Bi}#>;a`eCz$)<4tJ+`)dF^=N zc`$LQ`SZ9rI_$qpX5jH7$t(DoP$}RbSM@6q4&P6^Y~28G>`p6(9ijzXYS|d zx)~Dm`W_9p_{`acEf-(QfD8NqT*WSq0zJ1C^8&nPV)9jg8v7jyQS%)Mqun##PU?Yb zsGN(_CJ&&dWsE>MW@^-C9C8DuF#S8$GKzKkYfu{2=IK$j+REr!7KA(F#a}6u7THNh z3X7o)y!#Acor(t}zTi&CRAA?SJ_2>bo3q@ZyA2Oya7@oQVxI*TbE~G~Nc!a~i^~w! zpgxrDi`LT^n63^adV-}*@AvzWouL+oELcCoZ+l_V42ZX#d;|@bF>L!xkwEO)~RI1G= z|KRt0kPoIqeb6tPg(MMy)&qD(!oKCy5wmQ+j8BR_-Q&`XAKIaJOMOv!4p1as!yLsc zWuYIEw4q;g#sY2)K0}_x2+krtuOUxBF!i}JaU$1xonxx`+Y8gWAytXBnq{+G!+kEgks+6DWMax{Q>RaDLk&E3g1n5wc{J9VMPN3lTVzy!LUKdVgwSd0XaX;R z)virmcn8CN1H&YTo+)^tZjTdUM<&2vNFazMAKZU{<5uT_>Ky6tBRht3;neXQX;N^y zIK-j}?Ey9r&_iCbKGsdWje`y6aD8+5K{@$=cI)-eazIet?sOw>x8TH4PNmHzS8#>f zC<*Z-#U;-4pRa0iM#4@X`Q)_VR7k4HtwasM^ z8EICr8_qUm*~w67R%7ez4lx&zqoYgyG0OB(&A;B@Eg8KsK*RlopG}&6yJ{J;#g8DG z*&fO^;SNLOo6qFzZ|p3diSpOc?c;IcOLcv-gP@u8QM1X;wVi+*oA3zm#e2#EDX8md zNzam7?xrbh^suL}DP4)cHjKS&27vN8W1ddqz*t9)+8{0AXBRo(^g3;jXSsD~Oj3#$ zE}wNwza5S-BFMJQ3fw_OatCna0?1N;OXVJMGUsDjJ#QF3ZI>x4&H=sEI#a(44>!87 z8Skv61g*zHi)?}Hgn$KRhNv)w1x*KHzi0wk5CA%vXlv*D`|BEPP%)61vkbJ~0rS}EJXJwqt4 z66Mq?1h*pYLJ>Rw^uzG=ldK+>@DKj|Z7jz0&F==?e|m=x2-X0%#oSOB9fL4tWZMQpX97la3)Udhvd`PPKyKnvbn;6i7;MLZ8jgd_trI4(RKWP*z5Rr zsZ4N9nyRZt3bO{{y1KI3tm`&y=P%KeF6Vttev|Ka%vC=AZ{ zUz&X$V*4mlBwiHDe*{_xT;G*D>PfEIIua>Pa+;1vSP>rPX@J`1REH5$vSvgX2dDQv zCK%;qMLm>FLo+$?&b8w}50+^SV8Df(sZHy|)KMVP5EiWuG410(J=|_u7T?@v2Jml( z&vr?2IZ?F%)7PG`wo7bgyvtTHo^Ze6ja40rw)SgQUyNt<-{#;r$rMc#lJYfHi?G~3 zJqAuqw;VCX+zG60o$u6czB@+;ZK52)I++$nJ{!|x3UO}EZJF3Ql6BWbuNKj?$xBEJ za_dy3~*L?hjSXB4rTTvUZR`VtebOmiGHA?#(%fta4pT~@kWl1Kr&0R3xpZ}U2&m? ze5Rk#n};pNYjAOLaUuP94#fB`BMRrb^i{y*Ak#b%m#-G27IMK~ANN4-SLR^sjm-%i zyL{X1Y$(u?&T#+D?$(-ng_Ku#lP$)PDYqBt%Z<=VKlb?k@zQ`1Rtb-#M4`jGy7 zDRm;7Vm`k&FE7?nYoxr6Xh&k)%d4Uq3fQehO7X$;0weDy6AWaxTWK}Y~6#Jsj>;|?g6X*}9$oC`qw*pcBVRSQ%vVmSTILe<4 z1rTrCL%O0>fG~_O4x7ygz~zMb@c{7y|9rU}oqmQJ=Yd~``u(;*a{BElJmd!T?8E+r zS;WLpS7OOlk7#5MaY~@97dyaYGAh#u7)SqEi&!u4k2aYVcTU!oBRmP46yqMf_L+x5 zA_da0{<>HHv-XGmKtW;X#W#c(X`T0;(QW^^s7|5SuQf=sdcJP8h`}Xry#a|7@1PWF zI&8_UnW>ZTAC<{3B}sG#fdu}-FRNMk3{xIcMvEWGOYy}FuB2RAi}M=lFzytCh)#>P zf0&Ew7s`ZDVwh(rY!;jU2WCK-zXVg(nkqp~O@#Cz(<=bY9fJ7M>}X~O(rLxIV4CSq zRiIDoGd-C5Tpp6Qg-XGN1}r0W<(hfrX0NWE0v- zLH4YaHL=1hz=}JGvR(kT0#6~W#zc-8lDw16*}3UOrkG{D6+#|N#28O*2j$l|)Q@+Q zmlOFZd=wr|2FF*yR?}~L;D#xD9>dnjA@wi@)WtY#ha82vNzT9;Lm|An9i;x!2eQ{# zmjblY^#W-Fl3wZr#n1OC0OQpPl;I@iuS&C3keCJ8as;&D zTWn$WV!Svzj5)1bkf?TTzBG0O@|QxwPSQTaECddR?E~^Ht`Q+aZ{(`3q6rsrz7lIr2-cgnLu=mE=K~1Lpmy>F^uL-bh@Gka`?A6TyY)HNTPk8<@WY zcVqU3tS7+NUyFY(dn3Y)pTO^Zkm(D74*{J3+^_tRt{3tU?ri*Xqi;pn%P^n8_Zykl znI`ZF>y}q$!Tl@1Ka4ByCxY?_y(6A)NOOlEzCD&s{z5FBnjKpNJeHbm{v4)(`Fh}w zfgb_?8TbSfp4VWi$UO>kfD$o zfaT!FOL45Q1dsO|H&X!d#NtWFElx$KrF%Um#w4q6KS;W`nie=%1xN4H`a< z{5~2XrAR&j^V8~viS?J`Q3|Cd$V_EY9@tS6pHz8f;bM={5(H}&9iKHAuCB{!HH$i%IwO4FL2YFd+j zX7Uq1f_yd?ZT30DE5f{lZ;;E|Art&Q!qp}Bn6?FE-Ca7=23j0Uiau4}2Hy z52L?d0k-4&?*X&pi{<=l^v?7*A?MD6jA6_H-~#X+U@0(9aT>@2egwP+=_TSH!?^q= z^CaYu52kvtNaInot*25a%~R?BXoiywupctX^m?TC6MQ>veh2H`N9`Wqn0YkkZJ_ZX z^Hl7i(H!&58;6qfv(wW9+3Bh4W_jvkraQCUJbLE`%yOXnt{)qWb2on8r2|@o-gE-# zUj{ub<|)i6?-kmmT(XB_@6UV|>mT{ni}->D z^Td=d!2JWzG7EWq2lky2(odRCq`n6G7W1D7w511<*G-uK<$OYbG5dijTcfz>3s0n` z!u~fHQ(r>Z513|@xeQ}nZl>H6rQU3&#y@O+5tteOVRlPuS$0eO;Am57X!PC58=w`) zyxmMq|9OPW_srDP1Lpk*-(;@7{DrA6p}a+yf4&wgNq-Gv&(};R?3;jlVDAIY!oC^i zO0g$?*E|@Hn+MUant%sE+xs$aGVg+%_+U<*c@SgK`%+hdw=3R_IkFaJgv!KM(SB~2 zxfsVE!8}@@dKmss0A)xEVWu>i$1-hjH==(&0lq(=IE8w80AU`2U4j1mV5&~>F~sQy zEk{j@{hoOc>yO7$k0P&f*gu3Zp$7f_qi{FCd>HwD9et!V`I;&FBwLAVC66vkCn9 zMYy{_%R2K1sN)B~yZQ|1#9Ur){~2+97v|q#tog3_V4}{L#AhILe9cq|635JRw9l3# z%9gVfcoDc8<=kLok9jcJfi(xpX}=5FzlAg(GjB|PA8CFJ`MwMJe8)UC<;$?=;hW_7 zOBi2|m`=zqg{f*&m^=sm0%A`*jd`vcGDtqYRRP_mFue+G__*mre<^gRfx8U;n@xM> zUicqF{4;>0nHPPR_(;3}Q?hOclc}m}%yv_rbje z{dzvkW>c8CYO2$DkV|)%j+F2$7we&wrXtk=p6mt=gLgZDC8i-$gK$^jcNr$&`~{~K zk`B^HZ2$(b))x$$9v5%W`FEsBOlM*lWTH~DEO7$!_6ZYD7sO_dN4y8-bzlLo2z|CI z(SWsEH^O(B0>~+I<4;3YT`%W=@#6@y7^sB32<9G%pL#l?9b^4!l%qbi9PZ^x@6?FS zOp)o#S!B8dkO|rq_b6mf_1VZAJ(e7a&4GOzPzoH35T6PEl`s(|)(>=IeR2lh7Q+4< zkd9!E!z|VCSAZoE%ynQD>{i3Z;jRXb0{NO>36Kjc19l+&zSoA>$%qEC9r;SSdteG} zNnjSx4O~$==fS=hs09`&HUKCOmwayW>;lxO*P#O{q?R!0ziCvt=DYa+y#MP-V?FJ1|=0`6Tf!T%WC=z}9>Kd>pP zS94j*1~WE8-Os9fGcbD+zkAj1viFnvaOoVF;CET;|FV{i=}eRSQx&EbYnBG|r-sye z)YEy>kgmoYT!sEq2Kk{6vd0XwDqW24o6(1@S(OsKhHcr=)N0^7+U;euHQ7Jzf`6xc zL%4bHyAJ+d$M_&|rkk?#0)&-t6_|U(uPNJ`x&XOq4NY-NvJZ5s!FCv{npcv!KHhgP`eI?S{1G5R(WU5nrFgroF=m_+gMd^IF zlSqF#!rzNA7I854txB#z{_T#gVx&|`gbeRZ=M&x+}=2V#AZ@eAfm&4ovQ_9^3AdG1Pma7|eW7Ys2z&c=q zmUT7KK^>ZY4bvZBNW;*+B0&Fbutu>=!wv<0MCd=HScx*M2bPb|KT+l(e(_;o$hW(( zw#PQptL<-M+X->IwmC_=bomTU(msPWYBt|&7c+$O+ctrgx#MAWPVk%9)}Ot(?XnF@ zy@u^<%+9uSWjtcb0==G1PLFG%8R+jhy}eg6U!z{1=&Fj|$<2CvH<|fzZcBH(Ap4!z z(d=hLms0c@sqZw=RNcMRk(vFHn*UABugDp==>1GIZ>iI#=B>^agEQbQEG@5j@8`|z^Xk6yHS7INIHRWi->aE=9z1P=IpB+Wgz7rYiS*yFZn>5I zs57(Qy8ZXpV!mqoD~{AQ>GWo9 zgE8IZuI!*<2-uT4l-(h4dNz{)vd#`*dwOGbhoTecSACpYBK0!jy`0^iNoRK`I)VO7 zGwc9(-3xS}Z(dSdQ0x=LJF+`~?TKEY&7l+MPn?DwNKU5D?CK+X1lW_Ak9_854+DFF zeNNx!Hc00q{5)VLAUaWVkk;)m9r;Yp?n#d#tl&l91;j0nK)#cY*Zgo+_$AY0Q%i-;9_KEUlL48_ZrYW1YD2w*7VN9oCw*MMCTjW39M6y z`;ex2G2V&xBnaZ%)DG4=eWg`&^Ik*>^!0T$MWw7Dx`5C5aBX^C3EWV>+B2 zVn^6IxsRf#Px5ZSh-m|ao_%od6PZ`+%m?myIor%U>V_s4na0?5Qy4#s_2yKV{Q%Mf zM0UE8cpB?F(US%ZnRO;DkTB_W7*9cOtah|O?~};Ai~E3k^bW=hrA_oe=K&Q&Y!~9~ zGH-&tP2;o&cQ;;he9$FxQd=^*dn2;MEWMK=_e2)jTr)4T67oo?yJO+>+_63^0GhFW zoh?WWLQWY3-y{D9tQ!}4m`k$0&*YgEz#(9U*b%-UGut!@&~_^9BJlsBse!vgkc`Xu zGuCg7@Sm9-$rPEzndcDpDAwpELTZJXp6oD7ur_Uu*O;8N=t~~WK4&+YA-UI*y6o-@ ziC$twrroShH@Lj!6S5|n(jw~!GlDQPk^eo(TGN`IX9@(Vjiw;J9x|5G;mnRAjWel* zpbg_uVkTsd%VrQXlp$V|y==-8MWzDo0bq6fu*rkDA-&VI1NR2z9N->x&k0PyMsd44 zN?qn)dWSif>2W%wQ!~A0sx30foOvb**+cw92FbBynAae?@xGJDYfkrbEo8(RV9?#= zm<4lIrpe5jG9UIm&TksbX-IdP8)sFwTG_&-I>M{+zj-`f zExgDEx-aISJVD=#*$8H9gxIRYCUYu8vLzl*wqyg-v;f1b8$H|02bQGr%)E3V$`yra z03`fHq+2p(PK|X*-;{AcAhL>LKM@~-oHS$#t#Rjt%Ya$Hh@Kq^w#)veA{u8#jO^{- z7nwKVw3<7C;Yq&BzJL8B;a|Q*dbjx&E4xjc3GrhE5ytY9{q$D&E!K2S0f*EtOt($_ zDs?Y@$%Oou=)Qhm^1G1vzH8p6_&|Uez`K**jm=QJ3GVZ1{u9jCN02Z#p)g4AEgDDN zWAT|T(`W>~4R=oRG|F|_oK%zclW8*^@RK&M{ogm@ZNOq6A4mg>fH^=tkOvf76RQMP z0fmavTcGdXzC8c$MRFwje1!OP^n?Ac?iQ2w@Ov2Ur};h+6T|;|MaZ96v$~rj+!XGo z@PDm&hjw?qtQh0*As^1w+o6Eo3Fgnl2aKuayW{gu=0)e9uLZHy5pHr1DfUGeTYui8 z*d1XktqI}GfZ}CEuVQV0ke1!Ajb4E(vzY+(ci(PT-Zi)QwlBbfv^yg*J#rT&9i1U= zPp>i+dSC2WpbWCaI*-^O%#qY#v&i8*C7``YP!m-NmrY~bPZ&+l}^SRNS`sinR3&Qb$^*N*P$McBmEr6 zeovdy^u4AjeUH;Y5nbZE^epgvCj4i>w5AMe$FgKQWRD8Saa&N%)n;kB9BrWzVFcA! z9d+Jeb_mi~v!bl!>8)lK!jw7Gnp2rBw9{^^mG_#4%yjT@ zH^S@&PhK#~1>jwUAU%pQj=FN*mst-UEd&oQn|zoHGPBH~%t5mZ<}s;5 z*TOC5xTA1yg?SCAg1t=Rbi>3tDS@zYm~lC$Er403XVZOA7&&7$m#ouUNF@g)XFG)Y^sgM>b=0_ zsJwEylWq483zpOMP{}g2H6zVexUMDU`b>^^1^FE~cj_8^CfR<0%&eK}Hy;_d- zz)QduEz^MVal4j%K613IC;Be@ay*mxed@nO^Ald3&^&-R+IoCY)8P63O685z zSyKd8A9>mbme@$=LDE_lU|j&TBXe4Lbx!Hp8u`VfKZ!2HHs!1MNxA!@FtHiH@u+`r zPI2}8Yy{V)J8h)8BR);tXH<_u z`pHSvxnMe#8s=Kmc3uD5q5c=6G-EYd-&Ik4Iz5w7rDu=Uai6`t{t0!UUZW1mPopFC zzeWGYMB_#X8H*h6cG<~wRRX;f>RyfMTHQj=O7@LJSH<<$P(LNqa|(5d+C36zcX5md zi9=DDU7xAbHZEZsv~2Z3yQ)%NNWYgofJ!a<|JPCY|Knc-nfs*w%iO{7Sms5ULu5RZ zHrEv3-|v zzgf{4#dUh3MH*Jdw~7hqR(j7WWGin6xm})?LTdMx*eJ)fsCswmFFURtkAS8l%EAkugJwaHNPQ^C;4wxtk62`55jFz zNZ11k@t5&M#^-tsyIX0vZoOP5bIv+VcUbwhLg$+uleh=fPh^s{N=uifLB1bU8V+ij z2bH%6HJr$Ao0X*U#vQ3Y8E>k!eTrPPOw$zE zpB|>rKL@2?bQ5)wn85gwf8B#g_?JV^)~}pJ zE>U-j^07kG=325`>0>)-*Y8bQ_FAQv-(_vfaY@#uJzCCXN?Tz>ld~6T`jyK6ZR%g8 zX{}Y7WvnezIyY&aHCk@)CN?dq`&g6u*C?Hp8m30;Xo;rVs`MOF+N!iH)j|CXYWPx3 zhx7RUi>#I zt*p~tjaQ*OtG8a3Ijp=Us*@G&O-eUzrVGq(rsbWwVzW9u-4vxuO?`m6%si({x5&Nu z(`t%SJ55h2*W{+om<_2SQ<*$tN}PSVS&*(b^W7P~ycHC{y-!3;`c6^yf8FAZqQbGa ziTEzjBySSAct}^`xiDKyN$kb!-^Leb|JJ>;Q)&9+OR}Tz8~xXIyZ3T14~@-96WsES zkKBJuEzFLl?)~ZA?v0;eed}j3Q{MPlu5bOols9-XtC9aQq}2j?e@eG|r{|cdqRDc) zHczVq8;J4o23rRVF%=0p2Tj1QPaK6bk3AAefO@>jDE%&zOs7pU^*^(-Q@em$m{WF`k|~d(UCqso+STX_@@5q5?v0^3 zQ#w|s%S@+375c4&+hR&HeQ*=C@Lvc2ZSZHbGl4tPKD_iXR7^+mDag1(K2e*$5DcGfu4%C}MG6)5Kc_<=VPhvC!R`2JyxgSSXe+S0AQWy;aM z6zOiXy~n)!)%?WFDb0>f>Acyzqr@Yp1Ln2}IV0Xqcg{6n4&oh0Ke*~md)gy28kkRc zq#l9a*CwaWr9sS|JWS3e zX`jiC-t}Emde@(t(&-OoM+JAIKi~CL(|OmY@lEhK(=+WW`1TK`bNV;ozG8Z&KWuvB z+udIc!fLp?N0HXk`2P3s`v|_h19^dl=}(!`X@6pR?)*#OSMlvmQ!4hmei3QFJ`H{B zPRx~ee#ms*`3}=F^{sG!9AQ2J-aV{kfuE!Q|X>x(;dHw@!{{_CwXapWBFEY(sOhii^?fwoBjpl@r5Wa#=YZ4RF1puj(F|TUu^oPGy$ciJ?F2pZPR~fDrekn zdhSMFnEI&cpZ*}~0rSCKU64uFnN5j7(*+os)+8YFCU!^2ii~Vj9&J*2n=*HG;Qwm- z0fQ0b_bRg2LwBs!w8kOB!t4+`&?&#Y0kbVRlD!riH08h|U@kBlr~&36%(O(FSrR*E z7Q{yof6&YqlaRYC2(vg@V(OFU-MghTWsGq1PqUdm=9W3gjUVu9l<@@f5yq6*Qj?C! z+k??tmnR_$x%V#7j~Xen&^=MMkbWlpZK51W`Rdi=&7WC*oFFgqUC8tT?cX zo1gcYp2S($i@p3hk*_k}BnrL!$$D{Shp(SxTQ-wCm7N0f8JN!`+syRjDL_rM{ok`D z{`XiDpNIJiHaZ8#+Bxxg;4T1b=J;M?Z%EG>r|TIR)_Mu7C*z&bxA>B1Pf*T@<*d-1JucC>a?W=^ zzcokeNLlAQ97H;zA8=7k$@6M--#vbh>VD>`Dehx>Mv66RVmpu*=@y7x^c&(;(OIYq zFE}54kB{oNd!uto7Y6qDf+&of1G=zsAFU%P@BL!E40I+ofQ2^j7>l-AbW;2K&gfm|7v#!$6$RLg^}NFC;;k#7IjOU1~p&Sa5ZY?C5`)? zk22thyX$S_cZslWHl|hcDG1^>sVOw}0A~TYqkIvNat-MBg&NmrIz{dtb41fppfKWv zOS@NTsS3by7Ar3V6$;q{NGjcPfqV3B*9PTTzn1@umgy9*U(ISYtCWAaK)#xV`n^c` zQl##J=v!=0)OKPoMD5zOD|xd+_Kc8TY=?$F6qv%-GM#UBjs1p0bmvZfmtnU41{8m@ zp$KDlgZ_3yK@=_~Vf*95+1(m$(S+ZX=pIYA&ST93p6pKK zkL4HTby4pE?$i9_zF#4KlY;q%G%MZCoj5D^1hW@Y(~YEiUgPi5G~|BebNsC<%_|+5 z+2`e3;-I+~Se%T0PpM4qWP=ZLfK7_$fo5G>iP-`y1I_}A(hK94VJ=Tki&wgNN8eVK z`NxgX7>{LKzSY~dullC##CL2bykR@(+qEn8En0oAR^F(c>}}fAADc%~`SL#OjsKc> zz`Qg5B>LLB%opQtHuuL~f%})tJCiB!1@lI7LH0&`bM{7}DWWIwJ;bkq30e}zBlpC2 zbrX+AZ{8+87}1u*TeqLw|H;(?}IvfO5Yonw}$uK{MInv7C1=SB6BoH=>DB=UlKnW^>ihxq=R*;mHZ%Y75- zWRuBtb@JB{4YzG0KOHUa`&nr*=K3mE4|^x!yYMh&ej8W|G&tOd=p?sGjA3?b9`R^&T!9->BW;Owy9suGI+?&~( z6kiX1b0<&V&Ao#DUKan{=u?Wtz?&8C4R9FvxIo52V@5yk%6FS_`PIJPROUwiX1I(i z0@r61=`X=Ni*RS945h_cs{6h53dwdUQm}Pzo$U*$p#9`#$4>J$zjn?R$_e81b zN?gGj=8S2LUxvBK3?f`zazejy_vA$9Z%v(`k zpLO;1defOIj_M1vy!|!Ok_TEAC@t>+E#C-edG`cbZfZZE<+qfU2bGo&C@pV68!oy< zy>yZWS1()Ley;yLfOnW@5*f3=)yqk&k;8iFo1~otb&~k9c`NGVv#w6SkHitQkxuaA z5%cy5w7g+bTK*^eF9EIQ4apqy2GH`2fR?vRpylQ^Qi^X8Ee|R!A5dD}BITF-CYD#q z2=gOS*BCD#cire7kL#ZW&cKe*@$ON|P`5F;mygW647BNzfKy>c>ILGv<@_JLbKaX7iN% zK11eV^JMCe;9d^@|85dFJ554HlIr0Wj=MsUX!?UpGjoqnZ%S?Ff%Y?K(k5Q z@ganNpLt4t$01#59>)CrNxKy3-f4#AHytw5%*yl^%_lPt!EX)Xd=l}0WFF0Y)jVoj zkl%yw`$e-N2Xtoo5H}y;zF{7f-+jn@)BWbdqf`FTJbK4w(D^UvKk=;y$rH{6Qm)y2Djj8^RD=xnYYEha^pWH4r09f4fsiVXE5enGQR{`^AcY-Z%pot@|84Q zSouAKADFqxGV@6K?WkkxKAwD*aCy(FacOeXTVqPWxo9pBh z+>`${#lsG_s*_v%E=6qmjjt!J-uQaXQ{dfy!CclpTAbXPeKPUA(e25N*~hS!{G{^} zyFl93S4|%3GEeLRY0GFsZ$llv&DjBc#&4Qp%x)w7aM^P|sb{VS6>|TOI`GHUZ>Q=w ziq50x>F(0FqKCgt^$~YkucI!yq?-Zymm)}sG-DxyKoljOdi%TMSKUG?p1ioW$ce3yF;8}xqPDoy7F zrGHT4iQZ(V@?b#o6&+L2K^5KL7X2=|n|rL+(WE}M+zSEyF}|tIdkOvO7JbyGqx+98 zU%9U-cN|66Rdhy0PxOF(>(hFXyYLH@hAQRd7ClE_u5|aSzvzyh)AF@y{;RFmwI5Kv zNIA-*vc#)Z*Y}vxxYl~T>k;+eXZ<~d_1Xq%mA@;j*Q;Hxb+AJDHDLYS(@oajt!4eM z)3Qq3yr3-G)!q^Cev9&%_ki|TuMGf#%<%X_RQ##n#_PD$ulAtk*xM?lJEfl`21Kl)o*SPLtZ(lz!^A zcUiB$&U;l=%I5~nlX}*zL3)K6u1M>j`q0IiUTaV<94q=Yed^NJYF(5lKS~3hR4e^; z%FlZ1bx;}t6j^^KjQaWI*6VD`x3Zv&)f%Qu^QDf9_%GKwY|=2RG=JgO91T~g-|Ch2 zO6&D$s)G8h(Qq9TXqT`uCUgdLbm%wUg%DkTX#>(1b2Uxsu2W}co|-F^_GaaMvGsQ{ zc=xqjQ5EpLF0hk#l|dOf&hQ>qfzr~Xc?j(@H7scG@9Pfqjo>X~|pM<~H`gT~a_0enn7}R9_ z-4WV(&zkoOms)=ZoBb%?`um+6>v;cyV@J8BSz`Sdz&kzUeUYL|(^?+T#__CP%f$O3 z)k;^r^*VF~K{`#!W9G|os5%JGe!#xgp?R^LEmrz#w5$uQpR-!5zjq~ha-J)+`V>R;=zdq&fQmq3q^Q<3h*oHW+vimCA!+t&6Z-vF}wW z4F$?S_CfmdKJ*feCt>CW<*W$O%u`QT9}llPo6x)iL(e&t)8mTQgm z?W!tBhj*4FOs>++Ii*nPT44P=S7-fQs{##2I$565AP?RbDpz{gE_gqy)cP@zbypdr z%`u(xM4R<;5$_~1uU2(4F7H_Leq)pMZG&SC?>XgYIXF&m4ym?&ekxXzWhzvDu?>-4 z_WvCkU*s*WT{fzp$ho}JsrTVrIoDW!Ur*%ey_)6FZ_BNh?Rl3|^6ApNDy_fY+G72^|8@;SnW-rFHemglsMq@Y_+6S-i}J5V z!!5J^P9o(Uw&PAaULGjcG`S9#WBptpbsoNdL0NU4^>;wo|0v5A2l4ouM=Pvf3tiH8 zP14$q;*nmZbKtdv5R+wg*S3vvRwHh z>vL)A((de^+Z=bZS1lOV8hH;u|Upm4*(bvq|fZa&D*fYs0nH z-_z_?nt4B1f49le%Kj)cNPn26_N$uDHVrRyY}RnJ*9Ok zv`Cv?rR5WvC=+q4FV=E$Y+e`CLzmX$ChOZ#uZCM=y$r)U=e5?$ip5%$C3~4wx7}P zeE(yE*7Zs|em{omF|PS}Z@7H|e>hH2E@Zv%p1F)wl!e;0ekfmaylGJ0aj&3LX&1Vs zy&cjz;=5kbmUi0latX)B0p&OQ-!kieBW;uQV|lOjeuRWQoZp^wAy>sQ}EPeOe#g{p8m--)!>eapbHC^jV z>Se8#{YCXZqvd_h`nD?NmiDthXdi2pCkM1Hq&^R8+#Oo?;k=`Jn2uLkkD^EK+O_cT z*+>W9(Nq=X@Af$F(Yn7F@hILA>E64vPg_6cwnlpOWA9P%Eg1Q>RNKr(OsWl^r-_~wk*xrSt$q%0zBsMLD-rdq#=?3}N8H(0;7!!;@22jF}q?s;~+ z%*(a;0?jkmj+d<$TQ9$b??^Oh-Y+P9+xHvitv2C^=mtw^IcnzIaAsZ-?x!H>X$TaX`j*#WlTDz zkndNNwzZnC^r!ur&P5IPtiIzQVdaf8*<(2rq;pbD;g!5i^t8IGqjI=6=A`YtXuVvw zUegjDZqV;?C#6E|$Cb~g6nw{{UHK<8@=cr`r9tGxOUfq+yIaiz%6mz7MAL54^p7aL z8?^k#wG4-~4Cl4nlKwvZ&i8qaMPc0=9urP{-aX8d085_Uf_z4XC{u?v(O^ZRm=AKNs-wthyzw zO##1lS>L8v2NHgd`W;ihLt5rjN)y*QCzK9}JE(N_D-U0?{_Uro8t1&mm-0&g->N*} z+0i!5bA{%6PI`Il-u_LW}c<-vfK^Xj)-dChioLCbes{WmFX61LX*wsl$gvm>DMIi-86^6`Sk zd(Qf^Off0Pu}|{-SH8C*ZGE$TKd&@O7#Yj-y;?5=Z*db(7al;4mSq0NZNhs7QS#C+^_X2WjL?jw`*FPtd}iL z1>g3m|8Dh@xcQnE!<ilH>q7{_7wgM&(co%M4Z_o$?;H!2TyXm|-LePy+l znZJ20>2UqKP2=y;axYUm+X&wo=RDVC{rii9>c_chtERCjl8fD2%-3~1yJpAUn|A)2 zqJ6rtH=m{cFQ{AE-%EDvO=!0tbwX)664kX^J3p`AUJlYZtL~SrpARkvU_MW4Sn02q z)P5pxpVYX|MKrs#pH}}X*7u`}>c>7K-zbw^QuiV2*DV|`gjf2$y_-9w-*8;#{<^e( zzJJEIN;g`6F3xi*zI`b1xDUs@T%PmrjZiVGtv`?D`B|IwXMvT$cb?yH9baet*}l*s zGUT!e;8_#*Jo(Nd&nS3K#kV6Hl{W6pH(USqAlJy1TE_6LIqoa>S^uUs&nla(f7390 zM^gHNv|H|pc569!_QEwj&)T?m*QTf1<3agsfWVzVeTnVuS4?Y zyLW@u>kYJ8uLn>Q@UhzZGi{znvR-?G@-lw`_p~~dhex%3xG&LY{XP!QY`Gs)Wqmv4 z*$s7Fnyf#U=nCqEZxHevOv)qsBTKA5gX*weUxaSzT<}b?HYgAE2e{wYpmg+Gf5umA z{kxph)8JVr_#X zk7o?R!vc-Zz3vV*yRAP5;@LjWaAgt2meTtDSG_3QxHY%5k&8`u;4mbXu>=DCMC}FvrMpO^^B# zQbyUkl{sDH1->aPvVok@tWxx9`jXco>(?B7OI>9u7k8)9Az@{F*=@akCUup{^*i}1 z-xn&~lHXeE`v&I>wyj?4$C!TW<%osW&y5^UtAhOa{&9!(?Xgz#7uvW7zs`DHp=#^( zF4{CqsF%g_-BNjmZ*wg>#diey4B8hU!irzF_n5s{npD*tE`_>_!|S%6{rsKk+OyQkjs>= z71p1@P^Xq>!E5aJIexX)>wx;#TmR<&uzutCNj=U1r9tGpt=6Bvg#H_?mv^aC!!sW8 zneq_NGzS8^lvi~%#&p1`o4djKH52D~w!KwaPQI5;-jWyL?<3S&uQN_if0FuF)FoJH zy-Z)B{8?kYE@*}IXP^8X0m>(e4osXV3}rF#D3=Il_0;9Spnw%z*vKs^i2 z`<$bwb69GE$9H8aoB)>+?nd7jU+eDZ;M*px%KE~ZWp`CJ*;*QrU_o%AgW(qmuh zvtAx)(t6^U$g_LOV_nwYKj^W3eX!d4e$R7l%C(h2-ke`J@6;(BoGU}Ud&DT0CFo`kTDqny=J)xr{nc^+A4Xf;7p0>cp07x$>=Fm<P*6U4k9Z30C_l9D!FLGGxW0QtIZ2g*+zgN(wY36FWGG|lAoci*e8g_R;BlG8Y z#r{iuUG3NIT$f`;jpi|+VJOF}*D?rCxW^`K>b&*8T{5I$MHbksakvKPvHmw)xWC9V zkwHzD`wRT78|oVHH@~=VB4hVH>-SO)X<4|J%zZV9f57^8?vE+2WbPc+ygBz>2&|V;yHy%?x6;Ai&JY=PxyD@)RzLnO?Ae7-) zM_ki&Sg)_OT*GqjN$B07X$%MTPdTo~`ZMiLwF@s~eJFW#qlth{IFjA+m#2s*54giZoS^e6|IvZ*i91KCI}_@KOiQDfH~j z{Z=N=8;F&ZLrSmoEuL8%Qhv#~!WQfA z;A~YM@vdZre&;%^O5Llpz9g+P>c2|!T5J7pPMuJ_?Jg}he-lcuOZjxr`um!zH2)RW zpOfvkUN=tCq+HvmJQ90JP#-+2J)mLFE5A5C4k_Qb)|ar-zobnrSDuxtZv1ZL??&s- zJxY}K?V8p(1?4&k*QdNbAJwfh>ogqaZmv-eYPv(#&k5yfm%do4@#Q?@dF73?fnkl$ zF`M@h`!r3;I%hS_vr4zrjr6)XVRq0q8)vqhxkftLh zbvSs(`n;yuul1+=9cyRJ%4^QAZCWQ{R;zux^=CT`0gn%A9ZLGSYV!W$6{U5vro-R= zVOv?Pyc^NrDnbL@&(65Dc5D|_n8K*m-#BRe%m$gO`0dqK6v+_(fac$_6O>g z@!m_PhS_R;ALp3=w1(@^GHkMAzX2Aj3Bq>iH#xi{Hhl4rA4t{srsr?n(X0c(BiUJrxOm$@+CC_Y3w~uj?r7 zP{#0W8kagSJaec13-y^K{E((ysqH}G?XrIFaY*yHsCn+xxcy2O5soZb5 zw91`a#x}_Yr2(2q2(-ZbtsGQG{Cl4|gaepp0XMnOCg*O~3_}RAYjG3gn-FfoU%uEh^$m zyY?k@mbN%uUgEKF`9s2|Vb)dWJn4>zmm#%wQ~dDvxe$Yy+z&QD{MRV-rzZpLS`@i6 zRPA5#^Rxd{sjU0$$OpyeEXtm3RBj=y-ZLR(razbG4$=Of<09a~0WA41P5idZdw}v$ zj+xD>{N|Xduh?8M?SJ$q^$6|vUe{jFxLjyNV>Z*WsOy{Zc)I~@Q;3Wq-Zct2Ov|Zl za@Yu?vb{I6v9O>VNUPmo^HtdvX(V8CCXZ4|uH4L| z9G{VqU>?1oKk7wg?mr|vH$K*S&QWP&Yil%P*RKiTQEO7397DXOh80HEhHC4ZraHb` zfMQ;=x_}vtvkmJ_&Llyx8uP%b_@l?M+epl~-8kkY~a?nmA!?_Q{1oHn_= z5r6S_a32ju#Vfe{!T{^SYIC_&&8rv!=W=W%XDh8^jH6Q!-qZPS=3aS*D6QzYqhR`T z`0GdMAFx~Tj6>n(C#Sc94DTO=2G{O^Kg^liN?Q_d2RH@}epo@E>a^Ch{9a29NRqbo zzm0l#QUbRMmK?WNJtBNk-MPvGa0mNx{o#|tYNg`sj~>P@be(yo*~CYj#U4c#Zl*nt z4Eremy^4w7od8*{PsCiSDK#gc);Ia4)93KflgY2EV&jwj0DC4nX@7~;Oo|As^4$=p z^}s~!B=RHe2J~f&u!7}(qO_F67>_>Tk*GCHDduB*!;k36mmIxx0;;hAeDdkeekzf) zhH}+Au8x5!We4%vMV`EM9Ri_8qi5gwIxj0xNokK;(coXA;Xi`lF@K8BQ0|TS&3FV! zj(mU0GsV^y!!tV0kV6`o5Pz1s;6gRn&u5zABDr)G^bjzwFv3m=eYA(Y0c0~qzNrzU z5z~mWi>#U9G&Y525ZbK2Xq4ZJ8a5j{NDa69h#KVhH@U0M%h|YlHel|HJh=n#tY>oD zf2AyPwaLOzTWG%boli_}@U;4q^Nonz$~jr=scq?&_eZJR6IjQ&5+5iK^sRAm`hToY zXbYZ{uO;^QTO)r4Jems6g*LeTRNP>NR=r(o{l!7|*XL2r>n@XBYBh%S+1m$*M;3}k zo5iOcJ~1H|y+)#)$nJj`B~=2&&0_#@ivWhj*?1GEjkt-kF_4R85K>fd^EdvUFie=FX%<{qb?VY}xb!&>BNg0RtL zVyp0Hj6RUIj2wcAX{BvIF**quWhLwFziIb$W1N_*N^8(j4PbPB7Fyc&}6XHqTvGBEZI z>1A})ub89$&1lkHl2Z_K{h=g)A3L_RiBS7yn#Rd!EsBB!E6 zJ)4;f9cI#`bg>jSq>&@(L}GEO!MO|24GR-@L96eJk_N@_k|;tS{~O;WfEQ&8Ebta0 z&dnqP2ryuv4#xaca))W2bbHc5^cx~)D=zE|o^oy0e$_bypBC_fuFkA;vdt52-}WqS zql_TF^2&pGR_#dc`MxiE(AO%M^gP_A*r#1l;C?5L8Fu@;d`N7f?(>OE5okT=d}f5m zWAW88xaBUR8nEbB4c4vzNfLXnX)`@LgpJ#hapf2zvdcgWi;mCDr`4LHq%>WglsJA^qMJLwK|;aOL4r`o=9a%QJK~4#6I-h zBk%Ct2Ug!Uq|;67FU=og>N*C!KUFitX%=Rk`RFj*{cWai!P6HoY8CO=BJv2+<*D#yRlIS+jHvoOelWmDK}|(-OnY`jJmcptU&`xT zYE#6L340(sys*GKkr{ny2K*3ht$#5*Cc284cnrDOy~R9bGnV>E9->#iiEGeo{?GNJ9IK5McQJ&0c%~^82#Yf8e=M}sEzdF3D2lE zQVKda7Jj3G=|{f0B*_&2q&;RvmeMqw)?(TNlL}n~1uQ2j%AN!D!!v_Y}v`F zk!f683Q(^M{&x2f93w^&rkFg=`#IqOv`BG!$Npb+a$W?`*1{zH@ARS20)PvIr^tdw z?8cPu2ii`*Hzjj*iT=Nq-H27{6IE^6w5z`ImqFbwN?t zO}r45WSxZwF{i$9`gW2^dL);zLq&+9A25#rNh$3!9PUP*-ZR=vS^B2d0pgEq*Hf55 zVq)E?&9FS8{bzu${aCB%u?0C{B3;2cG2-v_JngSz-TTH+omC!RG>OlkG6AVfPTY*4 zVv{>^Y4!wCgE5oE4e7GJW_D{sC=B$sZgI(F<3wm|8htmENo_y?@*wYB@rILI5aqn- zw#;8g$>wIT58pq`15@+v`79<9XzZlWbI@Kh5u{F%ezRjNrGORFuJi{K8ULftOs@dt zcYf@9o`!ntt#`?~KzvO*LCRMJfon#9Q~i$CSj&7wt;uhdKA^X2&npr=@-W5H%((O7 zN8SWVFJYe$aDt0^zJ!#JPkwVp-+hC28_&Bm(yJVC*4?SWw+EhSxo>| zX>!JF9C{*Ohj4rF6ifBVB9+><+ve5IcRZ(GT52_2df(L9?hFX~9sBUP*Vp~;3uEjw zsxZ{6lQ~q)IqN^&fi;qopwwzo*m<$lB<`WE*ekh_F}QfxNd8{ObtU{*AB3)ZaqtPrL6y zk!$hH=*tSV6G83LLtBYUWFUZhj;q9qoYsf0-rY3KUV6uu=U%C#7jX3aWq!5$wYXD4 z;y+-yjsb*P0W|PieTuglYc>HeV@T%2L-ZHs0MHRLM9bZ=%C9$NZrAvon>kD6>a$Fu z4CFWV)=gzr#aYc<=s#`f=w-v{J0T$W;|rC zS~eQ|PfzcqOL@db?4GS68QGy=idmYw+RmgYWYJtJ3PmDn{zh$#!C&g~#&m-NhT4(v z)8O({iq?W-Kk&ukQKrSv7bpRhoUs1N`*tytMj<auhLG)Oje1r;)yPQmm9!K?uNzx18xV~7MdMM z{}QX5y%#V`W#vuUK2kqa4W51@c>7%X1Oa1d&U4$RmCE7+ zKV-AQ_ax#U85@lVk0Nf=%rx2f1uy5{1CfXVzw8c~z1im)Phdce^~+#7Kk82N@a_h= zePZ(B9|9rcLD?T{;h#56@AgrgY6b33dB~6<(m^U#b_;y$m;Cf4;w`VB7I&~ZiPL=4 zS87=Km!c{S*jjinB7=MTs^dtDtG8wyzbj`^_3z?TgX&9s*eSH$^|^1Y2vm56Vy$Hl zSMe9tlSFpBIv1ieKl{HyX)LUTd*_i9R~365?b~O(FsaDOQ?J#kLzG3@_oM3E?eon< z=GZwrdAZt-Doo`W_R8#NNC*DcZ85xtIzIBL;|6dqP%W}m<^Z#YcLe?Zs-nW2%b!yv zT#H}u$3)|0MOZyU(ioYTidvCObBsMW8tD>c@n59(VM-A*`tZ!p^4*4S(NO2@&jdfm z8pXZq`gi5pkyY2)CWP(7M0zsB9VVRs`Dlt;D316jJi@YXlUk6yH7k;#S0%l1dvhiq zVq0ao(aA{5($!+IGY>3PAZQULh#(b(Oao^@jTp`5KmIQO)o#w}bpuP4n?FNTs^eE7 zAwAs$l;xI9XgU)EzJj=mNeW0{>x%{=QB4}%(^VcnPds)1B{=q)_^JC&{~GaG9|&)} z1T`f7{S{WeW)4iJ1?Nb$=%6p_zttZ`tB?{Q7_HVt;;DWp2)BJ|re zDg`{&Jwu$|vF*N>kW$--z}y;jd%fXI#X~0nQ&q$x6`;ek9m5N@pNJN-r&p6x%A)nV z@RJbUtlUO;{cK2SV1v8iORo8knkele3f!++FbmkW&hTAOJW@03vbMt;b*Hk-J_YrJ zkxsowvFJM=M8m72B8InGzjC@SukNy31V~|)y-7T5Pj%6D`V{is^jB_eJ>S1}D%wnV zRq=#lY;wjkJCF3p3P<-Amp3SiIa!$G>qXk5)?%{v6c(EXc(Wr35@mziD)avK{d7PE z)ReJ2Yxt>hk4%qikZMa-^L+?-(##LgEy!I@VU8G#2lCizw2(UosrBxZ@M1-hQd{y5 zU!K_?18Vrddsk|8EJpp;CkfKKKaN&BLwZ?<&P?G4gekLnhkuv?+9z%ECEpGt{opL&&qZftEdnz4lbn)e8R~RU2gl%->sO620!~{ZF#!~WMZkGk(Cx$5E?>kQP0G8F|D!9*!(TC(O?Xc~hH!~;nTGrTxha6e=Czu_=P0&tkY6I?F#uw&TlrUJSvr)JrJ!uLxM?-eWFITS^mH9x>aCksJL1yjP#tCPo@5p+{+sYr(Cn#SOpmj!3 zp27U=epqdY<^07?pIcHAk^(QLkR9NU%tY>H=VEd{-~l#~cQnm_K69RSz>;jFOzykF zzA>ki#WeIWi||Oln$Grs?yli?n41S){7%a=o!9FZR9qwo8(n7t;)pt6b#Y*_ZRnj0 zygz5Pr{lBqLExBLhjHn&azmFz%|h-+>M?&M(q`}{Dtk?PZSqNT&Ei8R2aAo|tp3rv zYxKF$bl&0J116ASpsX@-z0#IkAf}}SRqgWAd4ct__b@lcGcG5HMy0eqfFuV9uwdd7oQ~|_U<%r z(%?&nR+y4vK{M2~Iz(aAm!M1)0i0zVQ#b*971+OUmC{-lZkYix1I&nbkMqS)+-X7@ql+uIXe*)@68i916^mmV*l3rOK!v+T?Y2hRNm8Ht3ISdIk!6MWi* zJ*Wm*x1E(C>migMQnotju)p_U(A=lZKgWZ{6|*(S$^Os5*8s7j&Szj*ekhW&G@F~fX1n0q4Z(`u;+jy0}R`Fq6U+=o-s z)!XY^c1mzFOW@ZBM4@cy0S_2DaDHgzT#pKH(4 zK^j>9yY^op#g=Q*CBHdi@@q%ji0Vub-}kKSPYX>X^w}^l~cM8TukPO414$*%Ct@Fc@-t8&=2qp&d-0xL3rT5q|Wa z*X=lmy}okCU#U^*ZT0i+D@*Z9$D9&Kr{HMLsB}TXSPJ4eb1&Sx|AE;B?<03Hj>I>G zUyY?UE^k%;Myn!|>c7M&#TY5v*$#R}Jw+8l{ZHxWZdST(dfZ&no&wG3dTKp+}bOrHi^D-r$S#iQXiWbD>*I#ogybtyqBinY&b!4TJvslRjQBcUF>2npyFp7LNZ4$@mZ|PR%yGY?{s+vCEB?t#%dRv0 z)0!l|ueIK=wmNrlW5T5#8a-lkBr`$!0vb@Tq{nyxPhx$K^L{~U1W7F!p;d7mr<9*d zh^krGys7o3&Rd_#@;(e%YV1i4gRM@6l$syGhhz+uSBVA}>^Ej_uT?%4hWOpzuwOcx znU^5p6?nGaG0bm?dDU18M^AssRIIo4qGjaMpO`Q|8V@h;g1ub1)?k|?6##~5|8=WkuFrRkdZV)75C5?jEUw|NY&Vb`GE^pXs8y?a z!JsyP&CRfxp6H^AQH?p0{kl=zZnoWW6dMKl9HQJ+A)?UWP=I=nw8%}!yizI|v%X;$ zF+_G0o>fU7@;mOD#<!(@doxF`p1x9YR|BZC>&W%}p5T_2l- z#$2GRB# zP7z4q&}Nn4@6Xrc{k*vDIg10y)*#yA!NPnKp(RO z{LwHOzW|$p#%`6`)Kt9oz+8O#SNMQf!}1`x5&L0;t853l*yYWZm(wuwKoDWzhyd4J zbRA@Uh(a3UM?ves9ZJ96j=gYAq2fn9NF6)vm)vW~VFT*;rKmyLJg;nopkIxs@8(>+Z zPyD?0s87!#P%)opmnT`7&?Xi45ZS3Jl+3XAc%462Vh*!eaz>ZO@4z~mfu^11pt z9`YSkfBk#PLRy{ZTU>?T5&ZSFYgLP1bY&8GkI~v4Ufs!ETu(mteUQ^n_uXT(aR*H1N3E9)whzx7Z=sD{Y{h}ZV_#{Ko>SU5+gHr5WN|%8+km? zjx6S(zz5Rq^ph;wcOW0=VU1nL1ddU1C8p%*=3|!o|_K7!yHf8FYa1d)Eh_w%v_d0-?MQ2W0X#zU7cu4WuB7+4mMl zl=d*~Su~JVxz@@MIOt`rOw$TUfF%}fX^&ZmoZ7Mj<R(x06&S+m} z_ew3L!7b$Epovp0Wkl`oI-SQG<<8OpoP#^P+(}C9a+Jq#OvM;@*e{QF%U!x`F*xIE z<7AQ{1AU$*3PjpMCW9bl9wUg9mWnT3B>_>OSd11zv|b_J4Z5B`8fG(S6csB;O=CQJTZQZr0NMVfIB4wdT<*H5#~_6{Dh`ja z8%*{}@5^q#fQjEvQpF#>mk2-9a%<-2WLG95dBS5Hu-VVJl?I+TuA2jw@i+CcX>RSQ z(nu1Cc&T`VRb3b|vvYe!OjZL_HXfLi6)QDX?VMh zitpCBSY!TNU)T1%RQVL%>FcqtZ67}YX@}sgJ@6ZK8~q**4X7UN^-;PP7>VdpKaFgd zQr}T<%$%je_J6@b_PJ+nq}$w*II|eX@2Wia=W)*~qp;x0u7g@56L*$IFCj)lmKAnS zEgv#svE{9g5>gW4rWuHhdtYkOHb$p}8_#-dpKQCedA?m*OTk-o8`}9R(?9}8 z`K>fc`JS6y=s7S^I6vR%!%mbAs`bZNU<5|YnZGcSior!r%+hotI;(RHQf29t*b~#s za#9|heG}sf7>gd%TVc$!R%|JN&g_yWMuwKI)7vj$eKVfC)6-2pq8M)wN5Nhmi#nKk zfT}PG`l{Ay)soyB-44lw*=W@#i~3GuFiqaE1@aLNqgHzjMq<1-UMf2WEXWMemlasP zw_A0-&WmqOwEyINy7u{3hITv=Z8_&1M=OvG-WK2FyR#({%5*6rvxyN~;24||dv87B zCF#g-Fk#^X4ix{i&+(fed4h8qeC5N=??2FI<1iG(&13&oO|EX?S;B0m?uQc*Sbu`r zvz>ble3&LfVtON|tH4N{!mOfN$;EbN!Go;|u=Gmi$DW9p@}a0Z|mAS^=Lhu`W0);GBCIgiC%hArgMokqBgm?G<@vhXxy zw9TNzLXdsNq*L?YD}A2I=I70y(l}V}E6iET3luSu#8REwg2QRVY0mar1y(Owy0C)N z*V~#^o9pY}^H&znqjRGki+4SVdb_sO|CC8mR9}DY0dvn_r-x=)mPTH>z|h#DmSyQ| znN5Pc4kY`4kHnb82-BrNg#Wfrv>aGW?5f>4u6y)WLC8LrH4TAcF6p6AWomb=2O)K$ z|0PAp1M84v*4y#N-bQ_hnaP;Ru^9c1u&{=+aXxI13O|y&w z(3BRQ?Npozx`>$;o_yxMtg1K`-Q)3*E4O_*!T_BV0#rTH`8;y+)<{PnGi9SN+>*f3 zVXxgBY!1zJBn>=jP-+=&5O(|bID;8dj5`)?bdKgX-{QSz?~M`b%&u1$;ZK~WVLXR6 z{fzJ`XzZ>J1`w3jUYpm;F*kgu^fk=I8uS}+1^jjHEx$?|c5nqU-z}^{8W-pIYR!m2 zJx-%DjLZh#PCcL4S5v=OI_ffRE&4VH zuQ-{qp_7FgF!ILP6w)?rIM(tLv`N~g&O;or>uJY%1_s-JUo?j7SR6{*zDD@_!r!_d zXnclonX}Y(r0&odQdWyM^4d#DVPqFy5X13JOKgNM=)_H~ohQ{(#=#3`y}y)Zv5eL{ z|JW|ZlF$1x5c~O9!U4ZFRa$p&qQyw#8oMbn6E>(@qySM54m_$5?LT?_eMa!TI%ebu zZ8(l$;0pTwa8l4C^8`Tpt5*ZKK>EHgt~MSyuD0qr^?*JAnRDSUqTkSCZd8YR*(Pa= zMxxL+>@T5WmM#-LI3>DRT+rajG+hq6D$QI;i$$PJ#Lti4v4!!|!h`;@ZqvKsD8~cJ za^Rx_#O#AN`EXwagW>w}D*W<}r)7Uwx?o&`jjkYDbGP$#4fAQ8K63}x6Vxo_M&*4D z`-ybRxJniuaJQp^f9-%SP?f?*IlrTqucpcHV^?t;k^@~iL>3E{tuwdnW{6ze+GyvO3fVL zf#@5#th3uEcYC(jMgE;>1-gF_JMV`eWEE4S5;Q&b^mO(0_iIXWdvdd++Q~HEux<08 z?ce6jgY*Yly6frOVzrh2R$SYgeyrY^>ADk9N}WPAa(;>=b;!d2d<=f5Wg!}fPHVg9 zf2D1Iwnwn~xLNP){Pj4MxXJ~+{-nW(UM#S5=`1ZuNlLgwf$?rieuWgg-6I4PmdLnn zh8IyXAl83R_65xUr#gl#(S(cIx82ULhQJp!p5t!0T6(Z!Zxm<%aGb|M>XEi=sX2S5 z9^s^cYS(=u(mZnK^cPY-2}^GmFW&yrJewx$x2`OAePbBCb7%1I@=0zj)$o}NPTGCj zjW0-3h&{wl4M>xgjRClwP!J%ryipSWEj1IIi7I`Q0 zGTmwYG6_-aJ<5OKAzgN=T^8lnSoVOnkxd-62X05?u0@*Ka|$o-lktOt;)C*EvqotWIkqIx>hG)EqUcql^(3YRJvA{e+aZ-rduOspOz_{apjj7hOjGe z`#v~MMU;9^=8`BV>LEF9-bH**t~Uy1NLA|4bd-P;9?p#o-)gU6n|31Z4ORsX6%FOm z+nc=nvaoAOQ= zpDexLV-W3n&giD+^Ub;J;fa5qn?tS}=@f&JQe^bW{l=S*n(3nB)xDPwE}6Y3%2;h& z(`Mg0X*5;W6$JAD5sS9w{nh_TMA^(&bft#;H~50;)Vz~uLzZ>R4H#Wyi$VUn7BCa4 ztV6Ygp;*c-Xhx$r7_b=9oOU;F*gZi>Y%tSJCcG2LG*w027MXiq z)n7a0q`9+H*Er}4-fzG%V2?&kIfv|nL4VTSO>);Mqjm6xZ*pOqH$SAnwm-va^!Wk} zU1C&hi(f~Y;f&P3mv^DOzG-uif+pTAf88MJ=+K=pTVrKZdPqGKOMjCfoGM0BxIYhxRx{@gP+(^f1jD{kZz|H~4 z-f6DvWo_eNVKx1{YbbMcnh(;_XHFPm`Y;ta3|aO`OYT0i+HHfZFu93129=BjaU~WF zH5s>FzK_GdNJH9Dfk#(xmA*E^|9uko)8njKIq{E_2qXWS(JWG?pPvdbq4k~|K%1hx ziJB-wg!N#qqr>-tuwvo~x%fDek*2q8C7E$hF4l-viaE9pKSK?^S`d(?-LY_WvQYm4 zM7L#9IHqsG7GpxwvhC8g@_4!&FP9M~1g^_Dg{U3+hAwdcbi zHbX1JeGoLd`+j{wC%I8^RCM?1=#fjnX9uR_QKN|?xE_jBrX;YlHf_tM7$WW=X`1Gm?*LtwPzmAffW`BaEf4v;ZB}{4<5T5RoX$;F~X-2eDVHqB7H_ z8#1(q`GgR*n@Di~XYjt+qR>!5kLe4R&G(*>!fnfi#f}S~@ydnc!oB9b$1@(ug=?J&TG(H~`o$n&eGsaCdQ%d$`S90{N^9m()+de)Y=~%^ zYS5&=*BX*}Avd?L*L@fd$y)gR=wO&^et@fy)y{O%O~r+eZ<4(k_uT>Y#>u|jPhAJk zk2ii7+FZPw44lj`eQPg|_L{V81WeX`@b%By6W?2V9(>`atzD}@ z@mQI9P@vK9Fm-e?ooRDxC?V~DXaBmEFCG15 zLVIC{<(+P%fWL)PD4V2(T)%>oAe_raO^rnaQ=X^+pg3%f3Wblu9 zi@I7*7u`Y6!j;5q$l3$5_oQsm34RD(PuJe)EUH&%+n(JtF*Gn*?h)UfMwa!G>92U< z9qhV%_l;kJeVyp!;^&PKPI=H~u77U8)n`>ln*Y>nUbET-u)*0(Y-X1s<4VR4JeSN% z4^wAn0>APmmWKwBM0NkuCw3*YYbF(H`oZbk=ytj#Oa!x4k`?X$n}d zn~yCAY~%P|oP>}M-v+{ZDwA+}s*J6niVY{zc*#p=8F$9FvKBqN9?<#@o*Sf9`Ri50 zU}54;cSzp`_^Gr*=%3kk(mu-6Q_~XM-6u|z75sL>w`oo9^`PBJM<3n0QessstO#cp zIRo!pj!UheD#s21(8nXRqYs2ipkz$_2UCDaXglv;n_n&!bQ^^JvsCyuyE zJUhDqxWI}_`D2N7!0sH$J!o+S+ltNj9R986glraXeQU;ek|bOx1JD6M)&M(J zLpCrU?h>Os3%|4Zcshz8$IFd+$S6(vqk(IUVRsPm(9bGvfvw@x$?e>lKe~2QRJ;Qg;f2EVO_nbj}X)vaoTb4 zxYFo$7uqRYW^z4KJad;>DMea=o!_{qX%BDW)yHQ|0z!!X!4B{ABIx z3hYht8<)85=YG$fzA9lX2G119%%@i9W(GUV3Eo!W>}W?O4-RZwxc|^v{sAp6*=oCJ zGJ%S=hG$`dM!G&5>S69ps`>elgn8ZSwUIbVpLwx1PS;NrMbg0DOke8u-1Te>#`mPX zq$=d%FISq9e{9fW&0=2gA0nAJ<3VSr?E$?T#KGj}n4Bmbqx<3@NPATHLk{Lc5NB zx7n+wR8)ynpPh2-rJoL}Mjx4imPSw1hf0=J^9KtLdB~%FxV8t`gFR3j`Of#tW)EsI z3yp8|0aTWI<}M-#?HoDp6B;-&q83^I}ux= zI!WYv>zJ(^Y2%*n7W|*@GZxb!i&NN!Om+h7B%no^E?tFeNh@sF%=hZlvsA?~c8*dR zJD6KcO{^DbI*ZBPnvL%Dkvr}bi3TC16K$4m9+z#GY30sK zBC-4H)U=U3-b19rW zRkh|IUjW^>%TMc~%wys^Uu-1#S11kanGT{awDhy>)aDlX32WNVJ+8mLz_W$!h&fU$ zaYgIHrVA&JkP^TsXsmldNSEPBfk{}f4Jh_h@i#p^T~&m|9A;Cm|G?s2Mu#+A3XGfl zF(>Av6xX@O>)azS%%SPJ+x<`7TsDU+$gH=v%d&b7a?*sa3m1hkw`WOFDB+j`vLXTN zh2GqVp$;=gp@{#Q->2BdK3L8jCwWeKzqhTRrLcuXQQ4$;Da>2TuhbcT^C4iL=o+41l1DkT18QR(Vc*hT6)rqf!;WwgZM%py ztcNtP&R{BR>#BRK<`)N9)eU9kjZHjyk{qHw7y(o^UJHd z3=_`7+w5;_1JRpjk&hc;fvSEA?!1$7)54i5HgEo%6jt#VI~pfQD3dnWC!J%^lfRma zw^hy%>Mooxp3}Bj12wRN*`U*0n;w^*Z*{pt${f$`v(s{c*=&Z^40Bj>~=S%bm zW4_!oVV%M{w`poRqb-ADKq@V8z+AgH;q_4GIKv^du+T9Rp z_rCI0`d4u;Qvatq2zvwiC3#Cssqak=xOCt4F__YcV>bw6BSvb`GGQgMA$1!(HrTHV zxpX4HRc#u=qdOh12$eVyzETKhxcu7F64~ooOA;fxPijY%4`d3POsUp-c)e}Gg&Z09 z^KVJbSX#g=1gRYnJ%AoVHr^flGym#F>}}teC(^u^7_`fBI34ztzbBuIv;SwGp(Ly{ zs5CV9?C#w3ytt*{?az40c$JN8=Dk5#C4J6RmO{(`XXYaJ!zwf`Z>uWJ?XY&pjb%!o zA;^g%Ch@)HlHm{#?$5US0aPY_WGna z4JvtFth+2dTzdG@3i3`L*TA;zm{?|l5n5SmoGCf8JGCKRZLI1Af4_v~Z$ z5`RRjKXSiA^&q*v5bj1${3tr}zmY1Q1wY)Ds{X`s5w!hAXVPGh=!)My_jMuy$BlSb zlFm)C2Ci^Btr3>KO0IAz^bRsq8y;2n&e>tP_ca}CdY>*F&pSsw}Kct^sMnNA&W=Mr2|>I_3%Q6YA} zk&wcp?PLFrjm;!=4znGy1%3@djy(OMUMYM1_O^4)qUdKtr^b5ePsP3JbR?S7aL+iZ8zZjv!oU=PB2@JGG(+wLz>h(XH&F;%=0&KxJM$%Pw`{tjtx=cqLuYsRxdd?s|Bni`5 zVJaRZG$$T&khp2vV0lJwvO+pfS3~K>l*>pwQ8z0k`lzi`;k&7_&HI}V>ui9XN<6=N z!!k2Rq?BZ*(?(}&eb>&j|Io;W9Ww?_V6V~zjzj_Xd%f)lSIy|US2)gB`~ds8$;? zs|oR;?718;0_!YeH{%f=FqIVhx?7}p2+{apS-;V~wLrHgSoEgT%GAGO1}6o|E_GG} z93#-LJ+t|%=@Lf?sFdB_%fAn|`X?QBflQWTm$mv?gZ=HObI$B1qr}_vx&LiAdtZ|p zLHiMQ41iky>wI2sE+cn=?FkuVro=8nA_L5KwTFP@i;Ks@j$tlQr`Ry`hrrcW7Taq#1j5A)?t2&&76pNe`cp?>D=| z-SgHw{BG{({ZBf47W3G;e1V?`xe+V+)LrCAjoH~EAnx5nhPP~Ugaw7(Z;yPP_+)!1DFl1{bsuj zUp^6*fEXZU?E2Wg5bQ@Z-*$Idv91!ppZ>0H!G(sjIxn8tTB;xOtJ3sNlI)GLD2qz| z>kL#n>@*nds~A+sURY6#f0{4Z)UL+ezgCAKi;_@+R)`=Vhoug~{L4r5_zA++)g(+Q64UOGvtbe`EF=Fgo z-6m0;XwnQ!8{dx4AM&ox5+ql%HFrOlX+xm2M{cCin7J`yb2$=Dpe(h>+ub#)?Ji+| z4bvt!(#RBBa-=23ZqS4uqdd(B1X+7@=dzMx|Jlq%s!d0zQBAd{m0)Vq|D3nKmauKu zk!A&vKe5GcOI;>gA{$FH8#BPe4erAc9^WEz=5X{s@To5{_)l&{#K?wSB4bjTF<04G zc6V@nbTPM!@~w)M>|{V|idCat0sQ87+jDlxMp3|MO&atvbqg`axM@}U2w)+vRludb zhMnbZWnWBgXId06fBc~(3Q$_!4EMjSh7GYE>WkZHT?dhSai(1~Vdxy<90ts1!ua;v z{bjeb$q?7hY4GGub`s`+{CJ#COUz?BuNpsNbmdv}AynE>{_* z_@;9nC(6pyFATqeN$>Jn_sC*0)O<09Xsm{AY`orcFRkD3C{-LfE5PhEFHLYFgQ3M9 z?OQ4I(=Fr+7t8l50Pjpm9{ktjyfrtjhaBeoA4}IA*TfR7MFjMMprQg&qH+Zhq$-`D zqM)KgMd=VEKva4skbr|*(gT9jfFKDd0o>7kSrLLrmF*qiLVPSpQ-Hx1~5q zkF!yG88Nk;Mj+yPVv8pW=dsa7KV+}15@JZ{n6;Q?r1xHot-t)57fXAV@}XUG>p(}u zt#*3L6HBjT(F6I04Ln!slq`B&-%SK-Ci(WY)|>;a{R1T3uv#N0^YPhVdky`Qb^0J-P5T=pRFl}7O|Zw z9??^vkXuvQdGTB0??y$j8=wX9r0&uUjJu!)a!Z_$zpzzmlR{^OfT`@9;}@$OHwDqq zUkXVbec8ZMmIF;|PMRrWr(cvzXyMrhvE~8woXykpAc`jC5~t}{L?T-Wjejau)S4_( zHtD=M?tDaFqhc*^Liu5id8QxJ>2uh4br=?<+=O|H|8iZD75flya;+tFYc{59-hyPR z%sItf1$ruUmFpa!N3mbsHhoHMZ;t6kFPFS*OZY;_fke zim6!YL9K7~hHTfJ*VPnc7*O+QUp)8@XoRGH#Pt&BCq>&Lg;Tt}O1fUYchqg-`nydG ze!p-~e&Bx%$WLA;SRS7(yp);T8FW8GtI81xwn!9FNOxobu*JF{V9M^TX&NF+q6f znV6Ek$Cyf?S0nGEg00D!wQD9+wsf#BkktAUk_^T7)Tux>ISM(Z+cY54(j z;&+9*;f`IK-}{*6vEC|;x4uHEX|OwLVb;^Ux_%o|)~%;W5}?-ocg#G=G@ zPXmMk_~Ag2aGxTdQVnC^g1C6D-uaYY&X`bC>>-^GHaCHEReRElQope`{{2%0^OK>e?5$sazqK?W|%pP93t~ zexsM|x@bW9=OlDidWhi^Tx~ziD93<%x0VtQZ&RPd+H{*r)5pGQNEg4&LQrn3V|fkq zr*P!3m?Q4DQ23XfJV2ZE<{QYB0V4~rC;ydktcY^-IjD%@i!hw?2xPZXk+?4v)SE#W z^~=D2OW+gIz2w5(f5mlF0&|_4n-Y`b&o}7cV!4)VgD!<9p^pu3jJ*rYEEj&Ko2_@J z+`_7o&^*^7R36)`T%nel4WY{AR>d1CwF|^iW{&Odye}>Qs>~-9>hdWDElHQ5FCz9I zHv#wKICt8wln-a&3>HGPDX1M!=Vq3c_js<()#B5+tiHcqM9_R zo&fFlX1eGjdD2FGj{l}n*{0mam}rU75XDy9M%zY%f?KH0LWfwF*#=P9b%j(z#vjs2bzX; zX;$hGZI94aV@El}o=PBj0#tbR{ce}^gI}JK?S9V5?>b;)<7Y^Q-K0<2N_ogfEkxc~ z600-N@A=UncFp`}Mw^QK{WX|Sr}WIVn6g8;zSydq3+XI~aBGt6Tl~<%`u={KUsAW% z$3)~9?laH2hGi`Ssn)@{z?Dm^WOGGDcZ>$3g)A5Cd01iJ(k@GZ><}Q}mO-es`<)lF z!hJt0v0UY4^k&mKa4-1#+|K3R^OOzW*Cel9{DtplBpOnqU@yB94?~=1&sM=j-Fs7h z)0VIe*&0$)uWN(NXjy4~gI{`vZ*3b@{H!3E=6OBukJSIWqn=K$mH2?$*CcD`u%220 zGF9)eC*Rgw3O+yQ)obv>h{y{whwzj^Mp_3O-@%j?A>cns9uD!47o>kAf$#iI?bv3xbMr&t+&hyfpNbjs)uOd3UFE^ zJv1#Mkz30#=Ux!!TpMZ2EmqF&C3U7`d4+Nkj06R{L`VG#I6T)8DOtxPIg9qw(e!TP z)4GcF5+(s?1uY?5QTxdlk-0T1@A+6^=voGZ*z8(v5UHgQyb(0s?vB6gU7qrXoETk} z*g=%>kkms`WS_t_Jw*)54Gfwyn$ve&BOb012iXtoVnHuhXZ5(Qen`?j2vpc31cCvoY0Cdu9G*kn2L5PX%LG1Sg8w)B}m|u zkU2rwc;g&cfI2KzO94$-+pqEh6t7d}Bb1kHWNCV$;<^PkztM=zSksk}=OFI^aS{mG z^_Pgy29BuMv$S5hMPiaIR?_IxNM(O2q4UeyxYY-XsZ3TehyQWi;z~aRJ;(kjsgS;v zdU!m%1sq(S`X;Gwt?zmMow5xr0^`DFqrGD~V+VZ4t}<6K2`}&oG*k!`;5CbOG;~Ln zp8JX?cadMDU}t+IJIT`K|KiGG4W}0jwAxlpi|e3#;=Z8=wFj?@<9eT1~U zntp{XTN*QK%(5TtW*wzJVsiUQS+OQDfQPYdhOI%IuZfEk;9=&UtsCn%7q%>y6nzx9 zewNkT-zF(tY>HU0gmx})#Dq-u3~2j&#^!Zal>?z-R2m$v*RlS!cdgo2%+l<1I62Hw zW!OyFWAqBD{xrsG1S7jSsb>EXWdTlL0cb$apFP>h3n+Um+25N*DVU?ZxTm$A{Ako# zu=z}0vmG}u?}5hCqIGCleZkEckb{^$Y6UF6FX;59dVXyt-YgYwia|u_k?Y@#GN4WN zdYB>>C$+e>GJ*Ew^5-KdtU3+o?2n%!`<*4$(OZCw3fpxL`t5S31rrzD5pAD$h<);V zi!1Wwgl3M0wdluK9RTk4J~;ByHB3Mso7;u48cu{lBVq1mEuQ>(L@fPi6;pUPO&IVx zOcd&m8ac=lF&5-_xoRz^aBOM zYCB)Rw!)aAAyVy6%hXr51ldbY)vTmmt^C?IUM_FBLhhJ2Z10w@R@U7G)OpP1(hf6W zUEYQCFhSg=KFW;!4iSA58E~~YI|PeL(fc)~CDq9ccSoLbZqY48o4$%aqoT`;zUO95 zCNbXl8PI6(nN~N>{I4L_<_eG7jTv0+vmK}o;7^Xx09nQoF$+%r%+ zYWbG^a8&gLWbL;ah!mrzA*TD7m4O)8L~TB)(`I|cLbqC9bMi);{b`x_G7Iz)ys!kj zc@H)oDATgsV$$xJufD6X7E#lnGT_|IA(|HOpBlw}7?2`PQ|6n`jEOb7x9lfgC@_EO z_{_Ss)+)mEOMT>@y*4QUA|~NwoS8$Brc5@bZ#TBUri(du7v^?4dS$e8?YRQsfac5T zc%_^CxmYiSWpNMB=5NW}KTd>+p@i7NtsaWa4^Da~XSFq+NeLPcu;qI6>d;q%j5eRL zr8?K-dKD%OS1+p5-bo3DJCBt(Db=2asGED^9#)*9%rf(Q(m7(H+i!4&W;!5tB_i6U z{Zi_U;xp}X&hEH%u%}A_f9CC|2fV*C@&P9C{OAu%qb^-8EQv*dk3ikx)}6}g>lS~q zj+J?_2C*~Ks`DlTcKuKH%ZXy-=(WM5qfi`prtjt(7n2sJaCCcxy^zJnrS~)?GqQ1ztzWqrW}sm61Gc+ohY0>6X=w z9(`kqYA&69^8rJY_R#tzm9i;GPe2|>k+v~4RIXErGKlKT^34%Y>q#lp{_behVqAHE zO9o^Af)2;pQ(F)c@O6&G>CL#8761AgY`*K5(NcUl)OW7ox8ObL_o9Q;j`_CnkNd|U zMRogV5}0Al@zEFj%rTu2*}4b6R>$Vw421DTq#p7r!X43qOz8P@HgTxeJa5IHkK_5E z&N{nA+Ryoi08er;(rI_=)w;!JGLccyQ7LAtSz%G|DY>JE-+Mk(e?i+v$~n)6L_1M& zjoeAj^mHLD=rt8!qP@T!|23$dL@)b9KX!OF^#iir=l2qAzS)MRenEeH!eF`VP^;V(&D0?H%H^59v zc{OH3jv$PIIhN>8i($z}lW*@Jk~&Eb-}4Wp+?~Hb92c;B<*{!g);&BqgRDoMre2(XV#YXHF9VC^ zCTL0{_Cb#j)OU{>A7hUIvnO964tx1!azV?r%Ykgqyoc{yid;+$1Bb%yjI>b9Hnmuk zrv08~8;RjDu#cnxEn#Yu7qVRHqy2p&g^l*lPuHFal+3=jGu_@o6q@&xc4HS8dzCj~ zw(SRr1s!IUu!G|`y$;jWz*8tpUyuqg7}r36kRH-NUEv~4+RQzah2ItwwOH|T)jvp2 z!ed9Uh(T+iP~5>Lp=yojy}85c!M^Ofj?js_-BreQ0OQkOIGJ)P5ve)fw1FZl{$O{r)BTj!?-&xM? zoGqX_rmeHbQYnv(LgXj&Duij5YI0M(PO(jxcg-MAZk9x!nvc6J@v<4YhknFQ@eM2~ zQA^)2N{X&GCO+D1#6woIp0BGum%lPiEUM7#hh7=Ig8nztzbf6nR+Z?VE&`0(IE*zK zq2HEMM}629t}sm1Qm~#IX;J%)BZmHTw(@Qdm{AqAHxB)`Kj$*OnK7WeCb?}yOF{Cl zXNqS83~SL`2D(n8;QJ}6-_B)e=M=7F`v)qBK5lBNwXW;d=;-oT0^mY(vlfz zA**Ff^=Ch(kM}ytt&3fLhPb%V$7?tZDGj_$%mSoB)wFPM|O5<1l^X!Eu87^IXLs;|@O+_FRK+G`7FLC;B8;2;*JT zFcaQIzNg|Qu4I7S@CE9rVrXM&xYC}~% zG>ekPr%ObU4Uz${Zd@>({?b(ZCPTuW?3zl-OO)0)Dk_GI`5)$Tl)Yroq47CpO0Ds zg_V{5ZgQ^&xrApMdUw10wcZhigi0bRoelDaH3qw!%{@am<@ho0SD5_<)Op#Q;PqZ+ zDPEgg2)Wa2HbBZQ7|u*2x!JAB6?L|xEz%k|{*5Xfp*NTKrw3VOa}~@j&F&zl^aFgM zWXb`@j-0oI!wE>EdsGNM|6JIm!ZMxR+^(o^>A!gGym4P;>P4#Q=?)U&Uvho1RXe)+ zeTQPkmg&NA!^8OZ=pzP3rzRntx9%-mEV6_3)qYbB=A1DWhs7Ao$0bymPqrY2OTBNO zu5q+YH?X6gNUQDKh9rt`fD@Nc%{htuS4GKOc#wtDs zsg#XdPQhwQMC%M2pig#o-8RzPz%TgDv3dzC{&eRGAWz=Nu99WGNeCR*Y0=jUyD zWp=fIrXK&kX=%kK%Pl_dmyFo*8b7{I?AOdyNo~{`{4)MoK+x4>TVEv3zHXFHIzfn+ z`T{hVh$`m9X*!S&@DxK|jD-+al(e`a)v{PfLZZpfam7@|b5T5J-62F#Vwzp9CmIfP2m!QLw~IBFRHd?>b5jD0sU02G^35*7QrxRc zi=t@#z`^FhRxR4#t*1#;-gAoWzK)ahLgLU1!t!{7*1{8}Uo7E}A%~Vtj_XQ@m1bXE z+H#^EBG$d+0rUr)sV2r(wA$@&uZJ&=om9;(B>ow@paWdL%?w&`-rh^Os-cvsxZbdZ|#Po#E9YE%zqu7ZZND#Q1pK9_j)4!>+(3 zr`}Qj@9poNCCtjqnH%mU-f@3ryJ#MIYa2yDF7fS*`VY*k8+dU(txh|8Chzk}qbXE( zD!?g#_9M89exEUK4i{n*-B>Q#zGpmyJ=TdwpY^m~4Bh+VfDTen<{Z2?zm@m0Q3|gF z(2bU%>W_^4=oL$;D@~gp_wOR3uLg)gJT>0%5uf1NU%JcolK;(=GG$_S5$H z^KH@P2ADp5N|V@<({`(^qgCXC<lMQ1p#wI$Cdg^6OX$lHR-rDRBe)Yn`bX@+c0h2P~i=Tgz zlxp?TH=R2iM++%fPkX6cZ4ES!|Na`EL|rlWoUbY_XeWuVij#D*>yL$9>Gv{SyE63; z`&Mz8bpoRLkjzmX1+4|X0hUjce{UkSzz-yEY4Jl-A;UX4PHmN7d-bxA)9kQwYcJej zmPqIV8%90@o2CH124B4LIlqth3IPmFHX1KHU?le?t!r$K*oAvI^jfX`p zy^MR;FbGryQk-1)E_FUB(g6Pn9`0n0`YgYDzbZP(SA9Y0N3#w%4G;g9z2C#PtS9I! z*$dS!`+~nXe(SCqW!FOTJppcxGRJH<=Rv5J$?UHh2|nbmI>fp%$gBP|8BLq8&d%?S zy6Q+ISJX6zMCz|8gq+>ZecFJ$NUKZ3NqL&B1bE!s{1>-Vt1(~g>x}nOoav%BqWOq) zuf}sY=@oBYa+E?(6e69ggGNLuvp4Ok=dT(0uQ`ou#I7gQV5dx2gnE`jg`~Z;TboN` z27=S-i?{uRL@#80dn6nrjbGrm<@`3cuS^0hG9s5a9^OFJJUXozEL&Q&|y|B?|x7yMJFETi0Le z`l{eOccuBw)`3_x$?hxz7wI2wOye3w0sx%7E|70SFT(GnNMl{&G-LVxS4U7=gYM{q z-h`1#LxUbVyWh7*Wt@LKanIC@D^{b8^mFEg6#ObMLfG^lvq-~^{r&SuqnU_XOG$G% z?|rxLY_H}~d3TIr-1i4sSuP?D!xfM}gR&v<5|;MvDbLmAX$DKtW0z|d$G#h}B;M%3 zKvgSYa%=8dfH#cOp@-;}>*(xtjL~-wVT7Y*_2KF(#d6vThN{f3>_x+%$mfAxpstXr z;08S#--rBH4Ojes<+9H9z|VYQWrIg#Zo-Bn4TpqcLW@#{UH5%XI zc#{UCh2+I+?)L@g__U?of+}XoFqKLd8#_Ol)_)LJRA0K>`KS4CeqYp7s@ESjw&@^x z%?X*`tuLVkoIJ*r);&J?A=p>l{utQg@%54hn7CMKDf?sftC5owf zqAvA*9}7?#byX}>Z;IV$WxWmtr`6uK3R%xm#`lo#o19^9N1%`HNSYmMfC-Y1Y3~z% z%^4ho0Z0#?UTmpfPJ<|jb~my;C5q=9mM1AMi1MdeA)9d5_V@FS+8iJ(DcHt-q26uA z`nU9~caz2s%ZQDL_lu6$L}!T&9h};$X(HQue0(HvZIa43A%}Yj zxNsKJCjow?cZAXs+t-HBqt5&;9I2F!AC>Q^ej5EjeY$ zWaOC8P~}g`A5BOGNUxtT+1UD17U<$}Yj)#7lVqeAFkz5tQW57F4PftMHM->om{DhL zakkTY{k*{K;lFr$$zGdw=CGY4$Y^<)fUTpaZ5aq$dbn5;60X=J68Ybj1a@DO!dmuN z*m{_!bWo)GWlGJtr9EPjQ_`9z8ngqI>G$&qj-|2eK&f1pIk%PQxp&n?!!yY+irIL_ zm0aJ2TE}Fq>C+*@kzymxpUk+_shKoJ8}j&A*z!yO)Cl0oZ^~Io(wM(FLyMY`X0#)Z z=Al(r$2qV_cG(_SB|nL*FD4ajY=iT1+KpE5yCBPpOR z(vJayK#68Xb{g}ies`oy$i8XlS+<Qg^wtq12 zRU4HJScmK$^dEfHd)R`fjc*D64Im!+c} zrM|3+{AB|sak(Q=*ue~*Q$U4DtoID1jY&rCmUYqbKQwGxQi!_BTG_DzxjdsyvBDOl z2qYd3P@mUV5xf95X2p(rPB++BKWN@2zQr;IJKXOgbY;}K9nOc?OZMa*`;pKIq6Y+C zf{%~s=iEdPBLnk+kZbZEU7tQE$Nxll2P|jKA13;S_Jr>-RHWZcdeLm&s~Y}~f&<59 zER49PjiSwKyIl|w_}OG0cCUR-Gn11wuj=J`aPnw${#ef8Z0qQInPJQijIOmkim{Df zz$4$ko!8FY@iLuf2eA+V%f@4|ooP_7hEJs>-Qo#QC^pX)J5~G1F8^3{NYV?W8aX~F z@(kP864}ug60C3q2T!&S$czOaO)d!9_R0WBgP0$)ueE*g@Dc!U4|S#FMMxU#kG9>87{% zrwVJ<<1h7|eE&|2jTw9@bP_tIY^e(xIjg&3Hf79)y=~Iv_3}Vqd@EPP&B2X?NF{*9X9kU{EV0Mx~?<+rwS6DqeT<%uW#nxUs z)+;3`J?bD8XjJ_rqv+-ByR5=SU8tx+2`CxmbvuUUtF>r<3%Ilt@MXtrCh(?($`O3b z!S?9b)Rtj^=3~d}l1#=6w`}1=Kkd`=mxQr?A`z_jaBne}1I!)fXmVHd0bMb~LAN99 zf4EP{59{I8mw!EPE{ezqK4-rVcQ{N8a5-f!;3ZzXBji%MAHIjC-~DUGJs;BZv?aWU zTrM&y%(jYa)iOJWKf}>tx<+)9(kcKRn3S&E;E^Yb8*XnP7<@($K@~?nyPYw{aC^fF zcb8`Z^*fEVqr@xB+bnhB)cg03?sH5~5W?+)#Moboe%0jxr%0cYn)US0UuP%Q`**a`F4jt}}doJAK)MBGjoyh8OOH%j>Jln417(?bw zc)(njzqYYs`r5LZtzK>CD#-88-1oA(_D^fJ`R+}#!UHCIH7!xfDXyP1w0{;Xrg8Uh zgkgdAmu%lF-(Dis{z3l>k5JY{g&5)>GC$Kg7-MMMXirGE^9agkwkYW^{-sUG zN0->17x{@&`<>lm6Xmuf7&y(22f8u_o^lV&uS7U1volxu%dzfN?&|JMsT8dddZlJ0 z;B@5XyY`TE^#Vr&x<^x7N-mf4qqk=2>{@&UGCv)EX-qBTUfm)$EvVW4>Fwu|v3(|Q zb|9ES{=m+h0b9T*=b43`E;sV@?=8H&3-gU*-GCK~`My)i&Uww-pRc1Hk_J)2oWnn0 z$+LpP*SFvT`c~&*4uWXSJQdOH66=^Pg9irQ0b=$cb++`Dp>0K{^oSez_+W1@_>{fjlhk06AFTCgY{3gk=5b#dnxTy8(p@JmRVlm5Dvd_3_FUI1!ri2(6qm z^PIbA9=T#FrWK)SK6|R7T@uYx%)r0PPp?RxT_5aHFxhptD}g$+T^vzcw8XWD6OESo zU%^EsE9|R;`h~X2E9~4leLkRl&vV7{FDIIB#kFM}?5fyew(Sm|P#15K^z40 zNo4ixh#?_duuD!V0UT^f!<~lwAj%2kawCn~gkl#Dc9Lb1*+1dA|^3sikJc1}A~+t2gb5WBedLkrp9-ySEPdQkdX{E zTaLwvThs0Mo;+RN`>+En$iDNNL_=;WXknj5&Sd%6FUndkX^}jMYb}!hg7U9<-|nF+ zSB!V)68wT)TJMhIU{`SurEJ*n#4si zN}eQt?dv7PixJ_zl1$32C`NJE4l;!hGp7hwWF&G}jM(>P)8 z-u&ZXb!wB*19WjL|2cD08hbECt8zDZMY+APo!;A(C0loZWKh>XWzK^r&*?Rtq6Y-$hTt*2{<6BA*$x+@5ko#=@i%+6;3u zw^Z5_c*;*7K5Z$eS3>Iu`3^L3;7%jhQ&pKW=juR6UEIZ#@rj;zF6y%3$qoMP2>A zrdsgQ<)1Z<>a^!X%>DiwlshTiWL>d>N&D4jU~!4pbU zpBLkwm_C|kiUh0g%;(DfkPE!>P2)38b`nCZzq6J00Xl*>%9Da(B#JJ!i^-=5k8@0T@<>=pL7G}~~puqAFhdMltgr(@|<*$?}|JY(iE zrPj}NUqwH&jh}AeiEcJnl)#rdV|SkQ$18QRR0cK$FQ`)OQk)+i$zyF+J(V3)W1aWQ ztIH1S7Ve=$n3eq3LO4C0fJ$XY^)OnZr}&OAKi>rr(J@;fOR~L#V^J96T#IuNlLDsl zTeCgQr!>e3?!%Pns1xx<65-cbJDk`kzxVLM-VN3PF&T~WCEHr|vIFte+6l&Hr_b_b z?vuP&ra>~)=pmym_tjYL8%WFJ;&43-WzGY6jdMDRSOr%(ox5)&thZ!z;bMwN)dvwenoE7=Skx{_LV+Ms17*R!foqhU4Cb zMSWh7(ht2q0wAUbsf<39s}~apJx|`v0EqfKZ3xp-ZL#EYyW4hh&b#}jW%CuHM4~jK zPS7=Wm70{6!jh6=qA!8nrD6}4Wy~L?$Y5pOOSh6Byt#r)Zk3|mP@`i&4VT$fs1iqRvGOKV{aK-xy7$!R^jT||;#nQe82 zUELG4D*3(L4{P--L)pTi@PX)D*)wt+=%DKvs%ZvkdtZ&}oW=}3g6{3~D)klnisrsD z)w%u3Gp9!a1O42z)JlKBC6J&t|E4#LeTAermRYG_i&uea-;LDgr@+D8Yj-hZX!f8Z zPaSq%Kxr2Pb?2rl>!M#GSUQd)&%z+84}C;bp)E?7#qs#_w7O)V92f_4da;UC_Jlea1hn93X@_lc34C zp%az&=e1?a%$}H$zqB8{)m3-WRGmU_Iu7)N2Nqj}?%NeIcPKMulnbb5@nJxXo`5AC zj(cD^(DC?(visxG_)@jen)HT8QWd^yLs6o(+w6c&PT6f;e_?N|^%A5xqh(VRXXezT z2fa?gm22sD*ZtJYPP-!Ss7#TIT5Oa9OK!=xy*OeOw|Sk=hMLX!hhs1TU7u9eU9u^T zOqbi;%HSyRUnu+}v??Tgm!&D;P8we~jlQ@hBUp<`)s*C5?QWnP;l-eE%D)R6(bQ<) z-*T_yE&4$VV}~n)D-w+wNWzPZ7`V;!NN|$Q%fX*b`|aB59-4ckYzm~EiMdb+pVp5uJ|9(wZ$c>L$ zs5`rR^8D{5gNkyMclV)=Lrhh0Yf3Ika?-TzubgQ_%5zPIRDQzCRxik6|$ z`k9OUM^NW{0xwLmAaVvomkp>VU)<*)C#O*Cn#gv@@>$9Jkf08WNB1 zZA=pwolwIq&AAZ2Tj1(|$I?8%KbPhi_X-7_8pyZl#=n6Mp6SyUbmp~@6Ql6J_Xxgt zw(H_b)r5MPi5W7_2K42@jLU=QMLAQ=KcD{gLg(cJ0`khnFeyNPm*JGt5%95(WiTiw zsKF>R?8Y_Levir6Zv1;9Ib1&sQ9|=VjyIk0C6uAI!XEjsN5X&fs)gC*A5O8X`$Aup zj{g6#`uXF_-ZfpAo~8bLi8=p&2GmR1GUXa|@M)j5_JUVEVIOFA(SnXWN%_SF8D}@W zL9EP6e%6{~c(Hj8{0ZDrt-MDZrGO9^c-7h($M4Gs{rcD7L=4Hg?hmtZXvG@w_^~v} zH}u>K3GRQfD=f)Ed*j?DUjllA-LSFd3Co)a$e|OSPdwqD@2s-fo%jDzN!^W%>nIzH zr+vS!I_$=G7z9L=_AOqE1}11V41FEPF>=f`cdMu%P*EdigeY$B%sBRaG&4D*ns9a{ z@2?U1s1td};fc|Bs&U>Xi5_+W{13a4dQJ0NBRpNDDfHIHFxWUrD=dm*oOgxfr-|afqGjQx_0OJ}Boo^St^U0gzT|bE4{qtwlT7Jp4Z19-`nS18X zJ3J57waC}{t%_Ws!^fLOhE}*{VXtjIvuhE5ZJ7Jfe2o`+b7Pv1JVyCseWveg$Vq+AB7(6s(h2rI`#-$xOHIW z>7W|#o*q9O9dS$XdjL5at`_>bn_*N!r^Z{#<0kvSPgVz^Lo;Sg0*lI{4ggSvOl$Jv zt;F72u075uEtqjS#L{>~a1Yhy5{k@pKG7%C`{=i)p&KSMvvkEr>8Rqq4U^wzanrQ4 zh~+nuf2Z^61>j+J^e>e6up3;hf1rdt_X{riU3;ivArthNQw141Vsf@y* z8D>lxZh?uK*}h+ZA{!vSPLu2}+K%N0WNdr?MN8NdGxKme47p((pEJ@!cAi_`QWgN} zDtonFvg0pyOKhXJR=r!jg)^8)&u$WyJb6M*#v_~T>(_p{cEJ^_LUpOl#?Qvb`_ zI@fn}%L9@g`!xKe0OH^asISw^ zBV_dI{U=Q+AEsB39q7HZm4&ERwAypLkSiO%(C;{(!sl<}{^5Kw&hMi&p$*UHVqEZ* z(N-H~T3REmNpJfN{@N*L*ZW4u-$}N~py#poPS`UN3Z9UWM|m}`0li-unOBLY!uX2z zYzEV&yK;HZX4Se?QL}6%rJg|fWK-x60RGS1-)3VJy$TbR`Cdg*zA%X9{rGen@U4<; z5zp{a)O!5iU$iz9MuBfY{{K2JP@h(1Hjtw?B8-1tRstmdDdd`3E z&ar(`W}3hnFy+_eZRrj))hU6#Hm-4<;@El<_M?2c@Agesv%{LIqfvFk%;`iK@am8+ zxPFkEtabZKC8tiZLyv!xXgw_UC!V(NFM#jmPm`JVD$OVJkY9euKKb*%&*Yzlws;@R z$e%ne?=h(*0^5)vFv;LXbY<&eMs|6UgEb<``*shB*nCA+3n<{~4O? z+4kD462MrW>98?m|L$=>Tu%ah8ZT&q8x$CI9X;d*2Xd_P;9yYU&L{8-<_}3abW}J2 zsyTgI&|)r95*&49<9lHaXH9j;4M|0BI8O|1g9vw`NB8NbhnD`|0>-#Tw9Xp>CmSFI zPa9a?2zrx2I|pg_hNHcmSOfXx*9`f?zYg*k-hAX&EpD*dTy{X1wi(7N{G97bAdC^s zHgfUi~i;b^q5I=6*C+s8z5E$RK!v&O%g;UEG#O^U_DbRP?46?_Rxa zA@?ifulaWG5k<-}wmtrWK&&co^VaBB);1CD^!0_Fo(!@q50tYsILta4PFJO22)$K) zKturtscFlYBS+$$MjL$BPvnBwx+x~K$8J_@by$a`*q+K?^A;Wg%u;Sk-3C92f{O`pfToQ`%|I^;@i@+${e3YqJg21Vkl; z?b%eRvg_q$7v49CcTM@%jq#ne9Z9$1Abo*JUK2kYaE1Vn51=L>CY=CUGRqy-PYro! ziW=3^&qkkeF0IXvm>*^G;Dt?!n|gxtOfq5vZ=KO%!&SCnASCbgR-x%w}bVPTZago3TgKnD&#H4Y-^g(+BNb zw;fNMF*v{8-VDY|yM>2Fof!mg8+@%sebm`xe1j%3Zm{x>6Vv*FtZ*=c9)v{#^h?9t zd$frEQgkn(MqyT{k%<4Mip*hFMnhf@``6gI=!sU_GCai()IaO4Qb^gJFvxVz5k zs@I=0pLwi(24_3#hD*s{!|X3@faav%Fc{xdp@zL*E{=S11eJ!gUxeyeaW))SeRADI znDP^|GPGV)7dq0X{~fn#>$&PJ6w1kLT$mDveE&=DFexnd1>z%5a`H!hyg@_?p^xW@ z;Zy~YYM1fSj_5Q@Ft{pCFVC=uss}&cN5A zh#y$n&BE${$jEU%r&(Bvw;|U0AA3@YGhK?>B8~zYctngTGd7O5Yk_0`ZnHp%pwSGB~HR+X_ib9Zum4TZNnJ@;c373;oLc?NmNH)f`O! zjVS_B-YnaYQ=zAln7L0aZG&MwuthrdN7YoLNyJw0Go z9!`r->f!tTvQW1xWlp>%xNX_ng_e!g&6SnNI&5tm!&S}&lrX1{;cDiFUK7Auaq7HB zzdjucQRmIRE>ia|W&-Tt&|iG)T#9`|-CVRf(24cCJ3}2;O|7vHFPo~v1}rvr2b3u| zvFg>O%1pmgrR;dK-D~Rnt!{ELXS3VfjkVg1s-}YMnrf(cCB*VTMhbFcfPf5LD?n`w zJhj4cm&vBP^(jhjJNEY6z6Yp)VN}H`&S{5T^x2*p`+y%fjH+D4x$Y23cFFb#=rF%( zwZ4cq`k<^d%4gUF%#~`|#UOU3?D@+@d}0y5)t=vFkE4B;!O`c-xF{Um0J+g!#$|zb z%lLmVWxN_Ylt5<|%-tBqRqh59^Ky##BdgLy0cE_+RRcR*<1XF~)v%iuV76NlMp)&K zkP&NS)Y?+bO!PV-dYx=WFXYqtG^TJ0Kd*zoT!UPz5k;+mMmYoT%-KEsB`~moKKs3A zq|}uSDCN>8rhWMQ@V+1a@ z*H1pYe)`6xtKyRPMMREPowK_;;1u+uR>tp;+=SD2$@3-EO#zDk94~qC=&Rp@V2e!# zft@dLvMGR#1QAHACg}8hKv@`lymi8-tdU{VBI0NdJ>N5tz2h?SVd_AwZE(aAFn!X< zIC^_zK#Fv*SH062L+XoGE(_^>rvpe_fit%v0PG>og_Xf?AT*+mI|#@hX}ZaJa);d+ zqpW>W8>np*c%xbRtVC6AUU2y2xIJFfSkGA8gcPc|;WAKLSNXM4IWmlLhcZkQI5$KI zQph75(@1^UtJ{uM&Q(62-r1XcPILQU@byu>$UyZ2)GhM~ML&St&sRE{dZqf+@?|Fi zWUZ3$No9Ql-nEYLkLr8iy{7I;7eSK)nM<7!_YF@dXc;FPCL7ztB?RihgCieDIx>@H zbAHymAn!;0GeF<_apMlNXg1*F#EcZ*f~opSU+=X3M{wJ#R}HU%4oe^QLtk|{aremG zvUJ?w{iedMn9{ag3pL$AIB z-9=wLX7xYpozrur!Jo!wCicX(Cbn~8+jeqd+nCtN#I~J@ZQDMvZD;4Vwfhh3_14>O zRd;n&U-Z?tpMLuJOopWssv zQ*iTnirkaW4$iXtv_YShHWrykOvOdEX)ZTk$9D3YAf;Z*j_{y36qrC3S+`;mH{OaZ zS~;m(9O_rgqw}pv1F=QDiIQL;R4m04nm0 zdlfxR!O(P2qtCAzU9-WLEof-9Sf7WPEhb(wm-vi}_?IXINc<;dhtrCysVv!xtXqp{ zYpMa4(ktKUwH#q)4@W!spWQ+nQSE=5X1XYyFPA zHKV!QTJ8iqx{V>nkL01|uD;Y*QJiBcFxC=x5LXm83@tI18Yah2;GuAdy2M(I-(<=s zEg-EjRtWt|T147PT4pRDZuC#4)Df2n-O7Xb5zr0Jhvbc64wng=3IEP@ZLyuuGaP^# z5c|Up$`_jx%bn`lD3|Tu3lz8jpYQtHtvxIO!(g%Cu22N<)-cwH8#vE;+lM`}0k~iw zgi0hGTn$`vcvkRJFln$9sA8yM2>M`9M6KE#nDX{8On_nlasXN7?q|S&z>jxa+%Oms zD7=f_$EnB1NBQ-yg-^-1;S0*O*hasVPr)~y3%jQ7CB8f#87~lK8F=7`q?jUX$(_%fV&EonkyJ%# zB&SE;6H+oK09>~wk2lK0@_1i+H~e^C+t2O8AimFxy^7dn!W^%T`aaL`U8Ojj=bXZg~%mgJvqbl6UTd6e_zSJjEmGuji-k+wtif7N502 zOj$?yOh(_06()}YCnvG!3D;;WK3XgD!?>t>RvMS<+<>XX{lf1bsHm@lPtlRl;V}_W z&{wF3j0n1@iFAKDBq4yJoJ;%h}6#pBW+ zQXMcwK)OW!x{WjYEPaz?_35ZL5`-i(?kbX+`0y`gQx!Fj&`B!k@vyh7zi%E~r|!zI zV{>zvdUU8?vcshB90habw?j!J{QoM%w9BG7W=X5-g7A^TaEk+pqeKrVx6R}f{gIIm zkzUeG(-^^cO(Q2AX$MEayc86z(q~cz@-d+j%0DR-UZJf9VtA~J7zgg6eVBT)(=;e% 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

    ;P^R-)cq?FnnG<$gAYA5lwDXdf4 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 B;h_Kk literal 0 HcmV?d00001 diff --git a/Examples/Resources/SampleFiles/annotated_with_replies_new_old.pdf b/Examples/Resources/SampleFiles/annotated_with_replies_new_old.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a6cf83b689ebc4a0a2583524478c585ebeaa0456 GIT binary patch literal 7902 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 literal 0 HcmV?d00001 diff --git a/Examples/Resources/SampleFiles/annotation.xml b/Examples/Resources/SampleFiles/annotation.xml new file mode 100644 index 0000000..28f21d6 --- /dev/null +++ b/Examples/Resources/SampleFiles/annotation.xml @@ -0,0 +1,22 @@ + + + + 0 + 0001-01-01T00:00:00 + This is rectangle annotation + + + Area + 65535 + + 100 + 100 + 100 + 100 + + + + + + + \ No newline at end of file diff --git a/Examples/Resources/SampleFiles/clear.pdf b/Examples/Resources/SampleFiles/clear.pdf new file mode 100644 index 0000000000000000000000000000000000000000..725a073bcd875e7d47e6bed88dfeb2f84e97e93f GIT binary patch literal 469513 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�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 !(8S5MD+o zJ5XPw2{|XR2tvFuuR>Ai9XsIUjbK={`wgz#K1^K*xGo0_rbe0hm$pnb>Vp0j9)pU6k!^)N$g^pX~ zZQX6yhUW=2k1G)*Wuh#C6c8jK1TrxKSfX4VNYHu$N)4cj!*PhpM&u>7Hh4Tg?-M6n zSlEQPvIxVH`#$H}{{ROoq>Q|uAn+t`FvJU$9=fny98a)f{=>k+E$NdhjIEtagq_iP<1%YLeLL=9t79hojtC{R%GLU*z#9(9&EAo{r;? z!wnFGoRuIp#g=xK2e>ua4(+m9DIv`kgi0C_ITN80-vg^d=v5t`lTw|~XR;zYk}cjS zRWL4x_<9}V$mesD9TVdQzjPsco?5Vq^U9! zTd3MoMp9d7Xo}X$EB^q%zLa|B(A**f;z`S6a{iJ&gBZtydLjn!x!6V?js=aH#@sX> zYvb_5@&SMKO4S&Uzz3;m|Ci6ptLn z5&1kX|8KHp)u>T@(V=!vti9EI|r&~+SIvFK=UeNotF z@@1qo$WL4!IH9wFu_~aHl48ey`I=%)_AowW@KixHgb>R$($tPCx!OBK`e~VBO)V;u z?}GlHA*^oBq{&kl?JCu6p??IL1SiR;Q73+xWWRwvaU(+4p{!h$S;m!|K#-6dNkpF_%#j^V z(2qd+h)UZw0BeB(HVmdaeo4?HfUSuiMpLv?w1^s0iIr6t{z@tBFW_3Vw#g_AZ9+~2 zc!5E*T5Wutg7+g1P+H_;^v4jR+sUiBS^OB>W^cCQL$W8m`M&DB$t6E(2ry|v?MJJ zI*C^!Or^F-brD}cJV^B0YWoR!uzZQHa$|!-l(Ie(xV5E^BSaTY5}J#qgh*6~9E1ro zn7tbin^b;9F25wM{$l+XxaQsNKjDkcA0o{RC8R@^-3I;5NgY#xF+mZ-`9HJ-)uj0w zU-A@3-Voxw$|?s)6D8RK;Dy}?SUphXh;n2iz#7x(sM*KleE{tg?M|3H9Exy+FHHXc>tk1%i0%@|X|sX7Aqd%R$`&yq zB*|QQnj#R~F}H%mVT@%9BTQuQPa+(Myhg31~%%sVl&TbE-`_MhpW?`M)P zK_k%vh$AP4AM@~cN82s_G5-KsKh8hOKgtxb_JsccvIT_0_Eo(`>K%443=k+WEL{j>-6j6W)c$EIKJ@

  • O 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 DGrBao diff --git a/Showcase/README.md b/Showcase/README.md index c9e8439..e642717 100644 --- a/Showcase/README.md +++ b/Showcase/README.md @@ -1,8 +1,8 @@ # Showcase -GroupDocs.Annotation is a UI-Less back end API. Therefore, open sourced front-ends have been published. Users can seek the knwoledge about implementation of the project and make the changes according to their needs. - +The showcases provided in this section are open-source. You can explore them in order to learn how can GroupDocs.Annotation for Java be utilized for the front-end projects developmemnt. These projects are easy to manage and can be enhanced as per your requriements. Directory | Description --------- | ----------- -[GroupDocs.Annotation-for-Java-using-Servlets](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java/tree/master/Showcase/GroupDocs.Annotation-for-Java-using-Servlets) | This showcase project demonstrates Java developers about basic functionalities of the API and how they can add further features in the project. +[GroupDocs.Annotation-for-Java-Spring](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) | Our new and improved GroupDocs.Annotation for Java Spring UI Example - native, simple, fully configurable and optimized Java document annotation application. +[GroupDocs.Annotation-for-Java-Dropwizard](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Dropwizard) | Our new and improved GroupDocs.Annotation for Java Dropwizard UI Example - native, simple, fully configurable and optimized Java document annotation application. \ No newline at end of file From 11cce72f7eef1ddfc37b0c6e6c884acf22c65395 Mon Sep 17 00:00:00 2001 From: Muhammad Sami Date: Thu, 27 Dec 2018 13:56:12 +0500 Subject: [PATCH 02/76] pom.xml updated --- .../Data/SourceFiles/GroupDocs.annotation.documents.xml | 1 + Examples/GroupDocs.Annotation.Examples.Java/pom.xml | 2 +- Examples/README.md | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/GroupDocs.annotation.documents.xml diff --git a/Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/GroupDocs.annotation.documents.xml b/Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/GroupDocs.annotation.documents.xml new file mode 100644 index 0000000..486f7c4 --- /dev/null +++ b/Examples/GroupDocs.Annotation.Examples.Java/Data/SourceFiles/GroupDocs.annotation.documents.xml @@ -0,0 +1 @@ +1sample.pdf062b626fe-8a77-4d97-86ce-c36ca742205d015458828101111 \ No newline at end of file diff --git a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml index 25f2f4a..96499cc 100644 --- a/Examples/GroupDocs.Annotation.Examples.Java/pom.xml +++ b/Examples/GroupDocs.Annotation.Examples.Java/pom.xml @@ -35,7 +35,7 @@ GroupDocsJavaAPI GroupDocs Java API - http://artifact.groupdocs.com/repo/ + http://repository.groupdocs.com/repo/ diff --git a/Examples/README.md b/Examples/README.md index 96adf0b..c4e5533 100644 --- a/Examples/README.md +++ b/Examples/README.md @@ -1,6 +1,6 @@ # GroupDocs.Annotation for Java Examples -This package contains Java Example Projects for [GroupDocs.Annotation for Java](#) and sample input templates used in the examples. +This package contains Java Example Projects for [GroupDocs.Annotation for Java](https://products.groupdocs.com/annotation/java) and sample input templates used in the examples.