From 108806c89298a5c6313195ce4eae82f144b3cc91 Mon Sep 17 00:00:00 2001 From: mprinkezs <131883374+mprinkezs@users.noreply.github.com> Date: Tue, 6 Aug 2024 14:59:02 +0200 Subject: [PATCH] Delete examples directory --- examples/DisplayImage/doc/README.md | 19 - examples/DisplayImage/doc/images/dialog.png | Bin 95507 -> 0 bytes examples/DisplayImage/doc/images/wheel1.png | Bin 14915 -> 0 bytes examples/DisplayImage/doc/images/wheel2.png | Bin 16453 -> 0 bytes examples/DisplayImage/doc/images/wheel3.png | Bin 7948 -> 0 bytes examples/DisplayImage/icon.png | Bin 3659 -> 0 bytes examples/DisplayImage/license/license.txt | 296 ------- examples/DisplayImage/metainfo.json | 19 - examples/DisplayImage/scripts/dialog.gdlg | 45 -- .../scripts/display_image.metainfo | 25 - .../DisplayImage/scripts/display_image.py | 31 - .../FileSelectionAndFiltering/doc/README.md | 3 - .../license/license.txt | 296 ------- .../scripts/listdir_categories.py | 62 -- .../scripts/listdir_dialog.py | 55 -- .../scripts/listdir_ext.py | 63 -- .../scripts/walkdir_ext.py | 59 -- .../scripts/walkdir_import_scripts.py | 64 -- .../scripts/walkdir_import_stl_pol.py | 69 -- examples/MeasurementSystemAnalysis/README.md | 12 - .../MeasurementSystemAnalysis/doc/README.md | 3 - .../MeasurementSystemAnalysis/doc/README.pdf | Bin 42493 -> 0 bytes examples/MeasurementSystemAnalysis/icon.png | Bin 9597 -> 0 bytes .../license/license.txt | 296 ------- .../MeasurementSystemAnalysis/metainfo.json | 14 - .../msa_anova_2.metainfo | 27 - .../MeasurementSystemAnalysis/msa_anova_2.py | 281 ------- .../msa_anova_3.metainfo | 27 - .../MeasurementSystemAnalysis/msa_anova_3.py | 256 ------ .../msa_arm.metainfo | 27 - .../MeasurementSystemAnalysis/msa_arm.py | 307 -------- .../msa_config.metainfo | 1 - .../MeasurementSystemAnalysis/msa_config.py | 52 -- .../msa_excel.metainfo | 1 - .../MeasurementSystemAnalysis/msa_excel.py | 514 ------------ .../msa_export.metainfo | 1 - .../MeasurementSystemAnalysis/msa_export.py | 149 ---- .../msa_gui.metainfo | 1 - .../MeasurementSystemAnalysis/msa_gui.py | 729 ------------------ .../msa_lib.metainfo | 1 - .../MeasurementSystemAnalysis/msa_lib.py | 494 ------------ .../scripts/MSA/data/msa_template.xlsx | Bin 119840 -> 0 bytes .../scripts/MSA/modules/README.txt | 1 - examples/ResourceAccess/README.md | 2 - examples/ResourceAccess/icon.png | Bin 3927 -> 0 bytes examples/ResourceAccess/license/license.txt | 296 ------- examples/ResourceAccess/metainfo.json | 15 - .../scripts/Resources/assets/zeiss_logo.png | Bin 29387 -> 0 bytes .../scripts/Resources/dialog.gdlg | 41 - .../scripts/Resources/modules/modules.json | 6 - .../scripts/Resources/resource.metainfo | 13 - .../scripts/Resources/resource.py | 29 - examples/SettingsAPI/doc/README.md | 3 - examples/SettingsAPI/icon.png | Bin 14058 -> 0 bytes examples/SettingsAPI/license/license.txt | 296 ------- examples/SettingsAPI/metainfo.json | 52 -- .../SettingsAPI/scripts/settings.metainfo | 25 - examples/SettingsAPI/scripts/settings.py | 88 --- .../TemplateUnittestCoverage/doc/README.md | 24 - examples/TemplateUnittestCoverage/icon.png | Bin 3659 -> 0 bytes .../license/license.txt | 296 ------- .../TemplateUnittestCoverage/metainfo.json | 19 - .../scripts/run_tests.metainfo | 25 - .../scripts/run_tests.py | 123 --- .../scripts/tests/test_blackbox.metainfo | 25 - .../scripts/tests/test_blackbox.py | 31 - .../scripts/tests/test_fail.metainfo | 25 - .../scripts/tests/test_fail.py | 14 - .../scripts/tests/test_pass.metainfo | 25 - .../scripts/tests/test_pass.py | 15 - .../scripts/tests/test_whitebox.metainfo | 25 - .../scripts/tests/test_whitebox.py | 21 - .../scripts/uut_project_keywords.metainfo | 25 - .../scripts/uut_project_keywords.py | 57 -- examples/TextDetection/README.md | 15 - examples/TextDetection/doc/README.md | 18 - examples/TextDetection/doc/text_detection.png | Bin 376526 -> 0 bytes examples/TextDetection/icon.png | Bin 3659 -> 0 bytes .../TextDetection/labels/Part Id/Part Id.json | 22 - examples/TextDetection/license/license.txt | 296 ------- examples/TextDetection/metainfo.json | 19 - .../TextDetection/scripts/display_image.gdlg | 43 -- .../scripts/display_image.metainfo | 25 - .../TextDetection/scripts/display_image.py | 40 - .../TextDetection/scripts/text_element.gdlg | 144 ---- .../scripts/text_element.metainfo | 27 - .../TextDetection/scripts/text_element.py | 133 ---- .../scripts/text_extraction.gdlg | 126 --- .../scripts/text_extraction.metainfo | 25 - .../TextDetection/scripts/text_extraction.py | 70 -- 90 files changed, 6919 deletions(-) delete mode 100644 examples/DisplayImage/doc/README.md delete mode 100644 examples/DisplayImage/doc/images/dialog.png delete mode 100644 examples/DisplayImage/doc/images/wheel1.png delete mode 100644 examples/DisplayImage/doc/images/wheel2.png delete mode 100644 examples/DisplayImage/doc/images/wheel3.png delete mode 100644 examples/DisplayImage/icon.png delete mode 100644 examples/DisplayImage/license/license.txt delete mode 100644 examples/DisplayImage/metainfo.json delete mode 100644 examples/DisplayImage/scripts/dialog.gdlg delete mode 100644 examples/DisplayImage/scripts/display_image.metainfo delete mode 100644 examples/DisplayImage/scripts/display_image.py delete mode 100644 examples/FileSelectionAndFiltering/doc/README.md delete mode 100644 examples/FileSelectionAndFiltering/license/license.txt delete mode 100644 examples/FileSelectionAndFiltering/scripts/listdir_categories.py delete mode 100644 examples/FileSelectionAndFiltering/scripts/listdir_dialog.py delete mode 100644 examples/FileSelectionAndFiltering/scripts/listdir_ext.py delete mode 100644 examples/FileSelectionAndFiltering/scripts/walkdir_ext.py delete mode 100644 examples/FileSelectionAndFiltering/scripts/walkdir_import_scripts.py delete mode 100644 examples/FileSelectionAndFiltering/scripts/walkdir_import_stl_pol.py delete mode 100644 examples/MeasurementSystemAnalysis/README.md delete mode 100644 examples/MeasurementSystemAnalysis/doc/README.md delete mode 100644 examples/MeasurementSystemAnalysis/doc/README.pdf delete mode 100644 examples/MeasurementSystemAnalysis/icon.png delete mode 100644 examples/MeasurementSystemAnalysis/license/license.txt delete mode 100644 examples/MeasurementSystemAnalysis/metainfo.json delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_2.metainfo delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_2.py delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_3.metainfo delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_3.py delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_arm.metainfo delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_arm.py delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_config.metainfo delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_config.py delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_excel.metainfo delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_excel.py delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_export.metainfo delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_export.py delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_gui.metainfo delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_gui.py delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_lib.metainfo delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_lib.py delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/data/msa_template.xlsx delete mode 100644 examples/MeasurementSystemAnalysis/scripts/MSA/modules/README.txt delete mode 100644 examples/ResourceAccess/README.md delete mode 100644 examples/ResourceAccess/icon.png delete mode 100644 examples/ResourceAccess/license/license.txt delete mode 100644 examples/ResourceAccess/metainfo.json delete mode 100644 examples/ResourceAccess/scripts/Resources/assets/zeiss_logo.png delete mode 100644 examples/ResourceAccess/scripts/Resources/dialog.gdlg delete mode 100644 examples/ResourceAccess/scripts/Resources/modules/modules.json delete mode 100644 examples/ResourceAccess/scripts/Resources/resource.metainfo delete mode 100644 examples/ResourceAccess/scripts/Resources/resource.py delete mode 100644 examples/SettingsAPI/doc/README.md delete mode 100644 examples/SettingsAPI/icon.png delete mode 100644 examples/SettingsAPI/license/license.txt delete mode 100644 examples/SettingsAPI/metainfo.json delete mode 100644 examples/SettingsAPI/scripts/settings.metainfo delete mode 100644 examples/SettingsAPI/scripts/settings.py delete mode 100644 examples/TemplateUnittestCoverage/doc/README.md delete mode 100644 examples/TemplateUnittestCoverage/icon.png delete mode 100644 examples/TemplateUnittestCoverage/license/license.txt delete mode 100644 examples/TemplateUnittestCoverage/metainfo.json delete mode 100644 examples/TemplateUnittestCoverage/scripts/run_tests.metainfo delete mode 100644 examples/TemplateUnittestCoverage/scripts/run_tests.py delete mode 100644 examples/TemplateUnittestCoverage/scripts/tests/test_blackbox.metainfo delete mode 100644 examples/TemplateUnittestCoverage/scripts/tests/test_blackbox.py delete mode 100644 examples/TemplateUnittestCoverage/scripts/tests/test_fail.metainfo delete mode 100644 examples/TemplateUnittestCoverage/scripts/tests/test_fail.py delete mode 100644 examples/TemplateUnittestCoverage/scripts/tests/test_pass.metainfo delete mode 100644 examples/TemplateUnittestCoverage/scripts/tests/test_pass.py delete mode 100644 examples/TemplateUnittestCoverage/scripts/tests/test_whitebox.metainfo delete mode 100644 examples/TemplateUnittestCoverage/scripts/tests/test_whitebox.py delete mode 100644 examples/TemplateUnittestCoverage/scripts/uut_project_keywords.metainfo delete mode 100644 examples/TemplateUnittestCoverage/scripts/uut_project_keywords.py delete mode 100644 examples/TextDetection/README.md delete mode 100644 examples/TextDetection/doc/README.md delete mode 100644 examples/TextDetection/doc/text_detection.png delete mode 100644 examples/TextDetection/icon.png delete mode 100644 examples/TextDetection/labels/Part Id/Part Id.json delete mode 100644 examples/TextDetection/license/license.txt delete mode 100644 examples/TextDetection/metainfo.json delete mode 100644 examples/TextDetection/scripts/display_image.gdlg delete mode 100644 examples/TextDetection/scripts/display_image.metainfo delete mode 100644 examples/TextDetection/scripts/display_image.py delete mode 100644 examples/TextDetection/scripts/text_element.gdlg delete mode 100644 examples/TextDetection/scripts/text_element.metainfo delete mode 100644 examples/TextDetection/scripts/text_element.py delete mode 100644 examples/TextDetection/scripts/text_extraction.gdlg delete mode 100644 examples/TextDetection/scripts/text_extraction.metainfo delete mode 100644 examples/TextDetection/scripts/text_extraction.py diff --git a/examples/DisplayImage/doc/README.md b/examples/DisplayImage/doc/README.md deleted file mode 100644 index ef9a4a0..0000000 --- a/examples/DisplayImage/doc/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# Display measurement image from project - -This example demonstrates how to read a measurement image from a project and display it in PNG format in a user defined script dialog. - -## Example - -![](images/dialog.png) - -## Preliminaries - -* For the sake of simplicity it is assumed that the measurement list from which the image is read has a fixed name ('Scan 1'). -* You have to install [OpenCV python](https://pypi.org/project/opencv-python/) for the example to run. -* The example code must be part of an add-on, so that this python wheel can be added to that add-on's environment. - -![](images/wheel1.png) - -![](images/wheel2.png) - -![](images/wheel3.png) diff --git a/examples/DisplayImage/doc/images/dialog.png b/examples/DisplayImage/doc/images/dialog.png deleted file mode 100644 index 8c5f5a36a7654a79686076870d71639f8e8cb52e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95507 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 Ihdh1tf93*X<^TWy diff --git a/examples/DisplayImage/doc/images/wheel1.png b/examples/DisplayImage/doc/images/wheel1.png deleted file mode 100644 index 403f1d478564b6783cb166f603d15697858acada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14915 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 TUO#{bKp|u#6vZn=4FmrVCQ)|W diff --git a/examples/DisplayImage/doc/images/wheel2.png b/examples/DisplayImage/doc/images/wheel2.png deleted file mode 100644 index e9bb8d75712615343df338b3dfc3915a3908ca05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16453 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 lj|g%}%4$z6=0A diff --git a/examples/DisplayImage/doc/images/wheel3.png b/examples/DisplayImage/doc/images/wheel3.png deleted file mode 100644 index 68c0208287d36f54e605de9bbe092ff125866bc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7948 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 diff --git a/examples/DisplayImage/icon.png b/examples/DisplayImage/icon.png deleted file mode 100644 index 42dbd76527a0dbe429f308f7cb6f0bcb29752e6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3659 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 diff --git a/examples/DisplayImage/license/license.txt b/examples/DisplayImage/license/license.txt deleted file mode 100644 index bb42913..0000000 --- a/examples/DisplayImage/license/license.txt +++ /dev/null @@ -1,296 +0,0 @@ -ZEISS Add-Ons / Apps End User License Agreement (EULA) -====================================================== - -English version. See below for German version. -Englische Version. Siehe unten für die Deutsche Version. - -1. Introduction - -1.1 General information - -This End User License Agreement for Add-Ons / Apps ("EULA Add-Ons / Apps") is a legal agreement between "you" (either an individual or a legal entity, hereinafter referred to as "licensee" or "customer") and ZEISS ("ZEISS" or "licensor") (each individually a "party" and collectively the "parties") for your use of ZEISS software products. The agreement sets forth all rights and obligations for both licensee and ZEISS and governs your use of all Software Products installed or provided by ZEISS. Any amendment to this agreement must be in writing and in accordance with the terms and conditions contained herein. By paying the applicable license fee(s) and by downloading, installing or using the software, you agree that this agreement shall be enforceable against you in the same manner as a written, negotiated contract signed by you. If you do not agree to the terms of this agreement, you are not authorized and may not download, install or use any ZEISS software products. - -In order to use the ZEISS software products and services, the licensee must have the following: - -(a) a so-called valid subscription agreement or - -(b) a valid license from ZEISS. - -Furthermore, individual software products - -(a) which are based on a subscription agreement and / or - -(b) with a server-based licensing solution - -require and use a secure connection of the application computer to the ZEISS infrastructure and/or the "Cloud Services". - -1.2 The licensor is ZEISS, the licensee is the end customer. The licensor grants the licensee a non-exclusive, non-transferable right to use the "software product", which includes the specific software program and the subsequent extensions, updates, patches and associated documentation for internal company operation, as well as the associated manuals and software documentation. - -1.3 The software product may contain codes, objects and other intellectual property developed and licensed by licensors or third parties and integrated into the software product ("embedded third party software"). Any embedded third party software or open source code and open source licenses used shall not limit or impair the rights of use granted to licensee and may be accessed at any time within the respective software used. In individual cases, the respective license conditions can be made available by the licensor upon request at any time. - -1.4 Any terms and conditions of purchase of the licensee that conflict with or deviate from this agreement shall not become part of the agreement, even if the licensor does not expressly object to them. Amendments to the EULA must be expressly agreed in writing by both parties. - - -2. Term and termination / license fees - -2.1 The license agreement begins with license activation and ends with the period of use of the Pro Version or with the end of the payment period. - -2.2 The Licensor shall be entitled to terminate this license agreement and the corresponding rights of use with immediate effect if the licensee violates any provision of this license agreement or tacitly tolerates a violation of this license agreement by third parties or fails to fulfill its obligations under this license agreement or if the licensee files for insolvency or a change of control occurs at the licensee. - -2.3 Notwithstanding the foregoing, and unless otherwise agreed in this license agreement, this license agreement shall terminate automatically upon licensee's breach of any of its provisions. - -2.4 Under no circumstances shall license fees be fully or partially refundable upon termination or mutually agreed termination of this agreement, unless ZEISS is responsible for the early termination of this agreement. - - -3. Reproduction rights - -3.1 The licensee may reproduce the delivered software to the extent that the reproduction is necessary to use the software. Necessary reproductions of the software include, but are not limited to, the installation of the software product on the mass storage of the device in accordance with this license agreement and the loading of the software into the main memory of the computer. - -3.2 In addition, licensee shall be entitled to make copies for data backup purposes. This backup copy of the licensed software product must be marked as such. - -3.3 If, for reasons of data security or backup, a quick reactivation of the computer system, including the subject matter of the agreement, and the backup of the entire data stock, including the installed software product, are required after a total failure, licensee may create the maximum required number of backup copies. The data media concerned shall be appropriately marked. The backup copies may only be used for archiving purposes. - -3.4 The licensee is not entitled to make further copies or to instruct third parties to make further copies, in particular the licensee is not entitled to print out the program code with a printer or to make photocopies of the manual. - - -4. Resale and transfer - -4.1 The licensee is not entitled to rent, lease, lend or make the software product available to third parties within the scope of hosting or download options, unless the Licensor has expressly indicated or permitted this in writing. - -4.2 However, it is permitted to grant a right of use to third parties if they have to use the software product to the licensee’s specifications (like own employees). Independent third parties are excluded from use in any case. - -4.3 Transfer within legal entities or global groups of licensee: Provided that the transferring licensee and the receiving party are part of one legal entity or part of affiliated companies, the transfer is permitted provided that the receiving party agrees to these license terms. "Affiliate" means any legal entity that is directly or indirectly controlled by a Legal Entity or its parent company. "Control" for purposes of this license agreement means direct or indirect ownership of more than fifty percent (50%) of the stock of such entity or more than fifty percent (50%) direct or indirect participation in the decision-making body of such entity. - - -5. Back translation and program changes - -5.1 As a matter of principle, the licensee may not make any changes to the software product unless this is necessary to correct errors. The prerequisite is that this is done solely for the purpose of correcting errors that impair the functioning of the software. -In the latter case and if important program functions and working methods could be disclosed during the repair process, licensee may commission a commercially active third party to carry out the repair if this third party is not a potential competitor of licensor. -Insofar as the licensee makes changes to the software product in order to rectify errors, the licensor shall not assume any liability for the resulting consequences, in particular not through this authorization. - -5.2 The reverse translation of the licensed program code into other code forms (decompilation) and other types of reverse engineering of various different phases of software creation are permitted only to the extent that they serve to correct errors that impair the functioning of the software (in accordance with section 5.1). However, licensee may perform such decompilation only to the extent necessary for correction and, if applicable, in compliance with the terms and conditions contractually agreed with the owner of the copyright in this program. -Further, decompilation is permitted in cases to obtain information necessary for interoperability with an independently created computer program and only if such information cannot be obtained otherwise. - -5.3 A further prerequisite for the permission to reverse engineer is the performance of reverse engineering or program observation exclusively by means of procedures which the licensee is authorized to perform in accordance with this license agreement. In particular, the program code may in no case be printed out. - -5.4 All property rights and copyrights relating to the software product, the printed accompanying materials and all copies of the software product shall remain with the licensor or its suppliers. This software product is protected under German copyright law, U.S. copyright law and the provisions of international treaties. The licensee is not entitled to reproduce the printed materials accompanying the software. - - -5.5 The licensee shall not be entitled to remove, modify or add to any copyright notices or trademark notices placed by licensor. This includes, without limitation, all references in physical and/or electronic media or documents, in "setup wizards" or in "about..." dialog boxes, and/or in other references displayed on or activated via the Internet, in program code or other embodiments originally included in the software or otherwise created by licensor. - -6. Warranty and right of termination - -6.1 The licensor warrants with respect to the software product licensed to the licensee the performance set forth in the description, provided that the software product is installed in the intended system in compliance with the licensor's guidelines. - -6.2 The licensor shall correct errors in the software product, and in all manuals and other documents, within a reasonable period of time after receiving from the licensee the corresponding information on the error necessary to correct the error. Errors shall be remedied by rectification, which shall not be invoiced, or by replacement of the delivery, at the option of the licensor. - -6.3 The licensee's right of termination due to the non-executability of the software product may only be exercised after rectifications or replacements have been made twice without success. - -6.4 The licensor neither warrants nor guarantees the functionality of the programs created by third parties or the licensee / customer, nor the error-free execution of the programs with the software or on the licensor's systems. - - -7. Liability - -7.1 If the licensee is unable to use the software product in the manner specified in the agreement and the licensee is responsible for this due to the failure to implement or the incorrect implementation of suggestions and advice before or after signing the agreement or due to the breach of other contractual obligations, the provisions set forth in this agreement shall apply mutatis mutandis to the exclusion of any further claims by the licensee. - -For damages that do not occur to the software product, respectively not to the hardware and the connected device, the liability obligation of the licensor applies exclusively in the following cases, regardless of the respective legal ground: - -- willful misconduct, - -- gross negligence of its executive bodies or officers, - -- culpable damage to life, limb and health, in the event of errors, which the lLicensor has fraudulently concealed or which it has excluded under warranty, - -- software errors within the scope of liability for personal injury and property damage due to personally implemented objects, as set out in the product liability regulations applicable to them - -7.2 In the event of culpable breach of material contractual obligations, the licensor shall also be liable for gross negligence on the part of non-executive employees and for slight negligence. In the latter case, liability shall be limited to damages that are foreseeable and typical for this type of contract. - -7.3 In addition, the licensor, its employees and its vicarious agents shall be liable for data loss or changes due to program errors, limited to the extent that this would have been unavoidable if the licensee had complied with its obligation to make back-up copies regularly and at least once a day. - -7.4 In the event of claims based on copyright infringement, the licensor shall grant the licensee the right to continue using the software product or to make modifications to the software product so that copyright protection is ensured. If this is not commercially reasonable, the licensor shall take back the subject matter of the agreement and refund the license fee paid, less an amount corresponding to the duration of the previous use. This shall apply provided that the licensee notifies the licensor of this type of claim in writing without delay and allows licensor all legal remedies and out-of-court settlements. - -7.5 The licensee or its IT provider shall be liable for server interruptions, interruption of license allocation and other support cases that are not clearly attributable to an incorrectly created license. - -The licensee or its IT provider is responsible for maintaining the necessary number of licenses to provide its services. The licensor is not liable for interruptions in use and subsequent work / production stoppages. - - -7.6 Further liability claims of the licensee are expressly excluded. -7.7 The licensee is responsible for all problems arising from the use of the software product that are not directly caused by the licensor. Therefore, licensee is responsible for all data generated and produced during the use of the software product. Accordingly, licensee is obligated and responsible for compliance with the terms and conditions set forth in this license agreement. - - -8. Security measures - -The licensee shall take suitable measures to secure the software and, if applicable, the access data for online access against access by unauthorized third parties. In particular, all copies of the software as well as the access data shall be kept in a protected place. - - -9. Industrial property rights and copyrights - -9.1 If a third party asserts claims for infringement of an industrial property right or a copyright against the customer because the customer uses a software version, firmware supplement or associated documentation supplied by ZEISS, ZEISS shall be obligated to pay any cost and damage compensation amounts awarded to the owner of the property right by a court or awarded with the prior consent of ZEISS. This is subject to the condition that the customer informs ZEISS immediately in writing of such claims and that ZEISS reserves the right to all defensive measures and out-of-court settlements. The customer is obligated to support ZEISS in the defense to the best of its ability. Under these conditions, ZEISS shall generally procure for the customer the right to continue using the software version, firmware supplement or documentation. If this should not be possible under economically reasonable conditions, ZEISS shall be obligated, at its own discretion and at its own expense, either to modify or replace the relevant item in such a way that the property right is not infringed, or to take back the item and refund the remuneration paid for it less an amount taking into account the benefits derived. - -9.2 ZEISS shall have no obligations if property right infringements are caused by the fact that software versions , firmware supplements or documentation supplied by ZEISS are not used in the intended manner or are not used on the specific systems. - - -10. Export Control - -Licensee assumes responsibility for compliance with all applicable rules and regulations, including but not limited to the export control and sanctions regulations of the Federal Republic of Germany, the European Union and the United States of America. In particular, licensee agrees not to provide the software or any related technology or documentation or any part thereof, directly or indirectly, to any sanctioned country or to any sanctioned person or entity in violation of the foregoing. - -Licensee represents and guarantees that it will not use the software or any related technology or documentation or any portion thereof in violation of any applicable law or regulation. The licensee further agrees to indemnify and hold harmless licensor from and against any and all claims resulting from licensee's failure to comply with any of the foregoing applicable provisions. - - -11. Miscellaneous - -11.1 All verbal agreements, amendments, extensions or concretizations of these license conditions as well as the special characteristics of the assurances or agreements or arrangements made must be in writing to be legally effective. If these are drafted by representatives or vicarious agents of the Licensor, they shall only become legally binding upon approval by the Licensor. - -11.2 Should parts of this contract become invalid, this shall not affect the validity of the remaining parts of this contract. The ineffective part of this contract shall be replaced by its parties with legally permissible provisions that come as close as possible to the intention of the ineffective provisions. - -11.3 The laws of the Federal Republic of Germany shall apply to this contract, excluding the law on the international sale of goods and the rules of conflict of laws. - -Version from October 2023 - ------------------------------------------------------------------------------ - -ZEISS Add-Ons / Apps End User License Agreement (EULA) -====================================================== - -German version. See above for English version. -Deutsche Version. Siehe oben für die Englische Version. - -1. Einführung - -1.1 Allgemeine Informationen - -Diese Endbenutzer-Lizenzvereinbarung für Add-Ons / Apps (End User License Agreement, „EULA Add-Ons / Apps“) ist eine rechtsgültige Vereinbarung zwischen „Ihnen“ (entweder eine natürliche oder juristische Person, im Folgenden als „Lizenznehmer“ oder „Kunde“ bezeichnet) und ZEISS („ZEISS“ oder „Lizenzgeber“) (jeweils einzeln eine „Partei“ und zusammen die „Parteien“) für Ihre Nutzung von ZEISS Softwareprodukten. Die Vereinbarung legt alle Rechte und Pflichten sowohl für den Lizenznehmer als auch für ZEISS fest und regelt Ihre Nutzung aller Softwareprodukte, die von ZEISS installiert oder zur Verfügung gestellt werden. Jede Änderung dieser Vereinbarung muss schriftlich erfolgen und mit den hierin enthaltenen Bestimmungen und Bedingungen übereinstimmen. Durch die Zahlung der geltenden Lizenzgebühr(en) und durch das Herunterladen, die Installation oder die Nutzung der Software erklären Sie sich damit einverstanden, dass diese Vereinbarung Ihnen gegenüber gleichermaßen durchsetzbar ist wie ein schriftlicher, ausgehandelter und von Ihnen unterzeichneter Vertrag. Wenn Sie den Bedingungen dieser Vereinbarung nicht zustimmen, sind Sie nicht berechtigt und dürfen keine ZEISS Softwareprodukte herunterladen, installieren oder verwenden. - -Für die Nutzung der ZEISS Softwareprodukte und Leistungen muss der Lizenznehmer über Folgendes verfügen: - -(a) einen sog. gültigen Subscriptionvertrag oder - -(b) eine gültige Lizenz von ZEISS. - -Ferner erfordern und verwenden einzelne Softwareprodukte - -(a) die auf einem Subscriptionvertrag basieren und / oder - -(b) mit einer serverbasierten Lizenzlösung - -eine sichere Verbindung des Applikationsrechners mit der ZEISS Infrastruktur und / oder den „Cloud Services“. - -1.2 Lizenzgeber ist ZEISS Lizenznehmer ist der Endkunde. Der Lizenzgeber gewährt dem Lizenznehmer ein nicht ausschließliches, nicht übertragbares Nutzungsrecht für das „Softwareprodukt“, welches das spezielle Softwareprogramm und die damit nachfolgenden Erweiterungen, Updates, Patches und zugehörige Dokumentation für den unternehmensinternen Betrieb, wie auch die dazugehörigen Handbücher und Softwaredokumentation, einschließt. - -1.3 Das Softwareprodukt kann Codes, Objekte und anderes geistiges Eigentum enthalten, das von Lizenzgebern oder Dritter entwickelt und von diesen lizenziert und in das Softwareprodukt integriert wurde („Embedded Third Party Software“). Etwaig verwendete Embedded Third Party Software oder Open Source-Code und Open Source-Lizenzen beschränken oder beeinträchtigen die gewährten Nutzungsrechte des Lizenznehmers nicht und können jederzeit innerhalb der jeweils genutzten Software abgerufen werden. Im Einzelfall können die jeweiligen Lizenzbedingungen vom Lizenzgeber auf Anforderung jederzeit zur Verfügung gestellt werden. - -1.4 Entgegenstehende oder von dieser Vereinbarung abweichende Kaufbedingungen des Lizenznehmers werden nicht Vereinbarungsbestandteil, auch wenn der Lizenzgeber diesen nicht ausdrücklich widerspricht. Änderungen der EULA müssen schriftlich und ausdrücklich durch beide Parteien vereinbart werden. - - -2. Laufzeit und Kündigung / Lizenzgebühren - -2.1 Die Lizenzvereinbarung beginnt mit Lizenzaktivierung und endet mit der Nutzungsdauer der Pro Version oder mit dem Ende der Bezahldauer. - -2.2 Der Lizenzgeber ist berechtigt, diese Lizenzvereinbarung und die entsprechenden Nutzungsrechte mit sofortiger Wirkung zu kündigen, falls der Lizenznehmer eine Bestimmung dieser Lizenzvereinbarung verletzt oder eine Verletzung dieser Lizenzvereinbarung durch Dritte stillschweigend duldet oder seine Verpflichtungen aus dieser Lizenzvereinbarung nicht erfüllt oder falls der Lizenznehmer Insolvenz anmeldet oder bei dem Lizenznehmer ein Kontrollwechsel stattfindet. - -2.3 Ungeachtet der vorstehenden Bestimmungen und sofern in dieser Lizenzvereinbarung nicht anderweitig vereinbart, endet diese Lizenzvereinbarung automatisch bei Verletzung einer seiner Bestimmungen durch den Lizenznehmer. - -2.4 Unter keinen Umständen sind bei Kündigung oder einvernehmlicher Beendigung dieses Vertrages Lizenzgebühren vollständig oder teilweise erstattungsfähig, es sei denn ZEISS hat die vorzeitige Beendigung dieses Vertrages zu vertreten. - - -3. Vervielfältigungsrechte - -3.1 Der Lizenznehmer darf die gelieferte Software in dem Umfang vervielfältigen, in dem die Vervielfältigung zur Nutzung der Software erforderlich ist. Erforderliche Vervielfältigungen der Software sind unter anderem die Installation des Softwareprodukts auf dem Massenspeicher des Geräts gemäß diesem Lizenzvertrag und das Laden der Software in den Hauptspeicher des Computers. - -3.2 Außerdem ist der Lizenznehmer zur Anfertigung von Kopien zur Datensicherung berechtigt. Diese Sicherungskopie des lizenzierten Softwareprodukts muss als solche gekennzeichnet sein. - -3.3 Sind aus Gründen der Datensicherheit oder -sicherung nach einem Totalausfall eine schnelle Reaktivierung des Computersystems, des Vertragsgegenstands eingeschlossen, sowie die Sicherung des gesamten Datenbestands, des installierten Softwareprodukts eingeschlossen, erforderlich, so kann der Lizenznehmer die maximal erforderliche Anzahl an Sicherungskopien erstellen. Die betreffenden Datenmedien sind angemessen zu kennzeichnen. Die Sicherungskopien dürfen ausschließlich zu Archivierungszwecken genutzt werden. - -3.4 Der Lizenznehmer ist nicht berechtigt, weitere Kopien zu erstellen oder Dritte anzuweisen, weitere Kopien zu erstellen, insbesondere ist er nicht berechtigt, den Programmcode mit einem Drucker auszudrucken oder Fotokopien des Handbuchs zu erstellen. - - -4. Weiterverkauf und Übertragung - -4.1 Der Lizenznehmer ist nicht berechtigt, das Softwareprodukt Dritten im Rahmen von Hosting- oder Downloadoptionen zu vermieten, verleasen, verleihen oder zur Verfügung zu stellen, es sei denn, der Lizenzgeber hat dies ausdrücklich schriftlich angegeben oder erlaubt. - -4.2 Es ist jedoch gestattet, Dritten ein Nutzungsrecht einzuräumen, wenn diese das Softwareprodukt nach Maßgabe des Lizenznehmers (wie eigene Mitarbeiter) nutzen müssen. Von der Nutzung auf jeden Fall ausgeschlossen sind unabhängige Dritte. - -4.3 Übertragung innerhalb von Rechtspersonen oder globalen Konzernen des Lizenznehmers: Sofern der übertragende Lizenznehmer und die empfangende Partei Teil einer Rechtsperson oder Teil verbundener Unternehmen sind, ist die Übertragung gestattet, sofern die empfangende Partei diesen Lizenzbedingungen zustimmt. „Verbundene Unternehmen“ bedeutet jede Rechtsperson, die direkt oder indirekt von einer Rechtsperson oder deren Muttergesellschaft kontrolliert wird. „Kontrolle“ im Sinne dieses Lizenzvertrags bedeutet direkter oder indirekter Besitz von mehr als fünfzig Prozent (50 %) der Anteile an diesem Unternehmen oder mehr als fünfzig Prozent (50 %) direkter oder indirekter Beteiligung am Entscheidungsorgan dieses Unternehmens. - - -5. Rückübersetzung und Programmänderungen - -5.1 Der Lizenznehmer darf grundsätzlich keine Änderungen am Softwareprodukt vornehmen, außer wenn dies zur Behebung von Fehlern erforderlich ist. Voraussetzung ist, dass dies ausschließlich zum Zweck der Korrektur von Fehlern geschieht, die das Funktionieren der Software beeinträchtigen. -Im letzteren Fall und wenn beim Reparaturvorgang wichtige Programmfunktionen und Arbeitsmethoden offengelegt werden könnten, kann der Lizenznehmer einen gewerblich tätigen Dritten mit der Reparatur beauftragen, wenn dieser Dritte nicht ein potenzieller Wettbewerber des Lizenzgebers ist. -Soweit der Lizenznehmer zur Behebung von Fehlern Änderungen am Softwareprodukt vornimmt, übernimmt der Lizenzgeber, insb. auch nicht durch diese Freigabe, für die daraus resultierende Folgen keine Haftung. - -5.2 Die Rückübersetzung des lizenzierten Programmcodes in andere Codeformen (Dekompilierung) und andere Arten des Reverse Engineering verschiedener unterschiedlicher Phasen der Software-Erstellung sind nur insoweit zulässig, wie sie dazu dienen, Fehler zu korrigieren, die das Funktionieren der Software beeinträchtigen (entsprechend Ziffer 5.1). Der Lizenznehmer darf eine solche Dekompilierung jedoch nur in dem für die Berichtigung erforderlichen Ausmaß und gegebenenfalls unter Einhaltung der mit dem Inhaber des Urheberrechts an diesem Programm vertraglich festgelegten Bedingungen vornehmen. -Weiter ist eine Dekompilierung in Fällen zulässig, um Informationen zu gewinnen, die zur Interoperabilität mit einem unabhängig geschaffenen Computerprogramm erforderlich sind, und nur falls diese Informationen nicht anderweitig beschafft werden können. - -5.3 Weitere Voraussetzung für die Genehmigung zur Rückübersetzung ist die Durchführung des Reverse Engineering oder der Programmbeobachtung ausschließlich durch Verfahren, zu deren Ausführung der Lizenznehmer gemäß diesem Lizenzvertrag berechtigt ist. Insbesondere darf der Programmcode in keinem Fall ausgedruckt werden. 5.4 Alle Eigentums- und Urheberrechte in Bezug auf das Softwareprodukt, die gedruckten Begleitmaterialien und sämtliche Kopien des Softwareprodukts verbleiben beim Lizenzgeber oder seinen Lieferanten. Das vorliegende Softwareprodukt ist nach deutschem Urheberrecht, US-amerikanischem Urheberrecht und den Bestimmungen internationaler Verträge geschützt. Der Lizenznehmer ist nicht berechtigt, die der Software beiliegenden gedruckten Materialien zu vervielfältigen. - -5.5 Der Lizenznehmer ist nicht berechtigt, Hinweise zum Urheberrecht oder Markennennungen, die der Lizenzgeber angebracht hat, zu entfernen, zu ändern oder zu ergänzen. Dies beinhaltet ohne Einschränkungen alle Verweise in physischen und / oder elektronischen Medien oder Dokumenten, in „Setup-Assistenten" oder in den Dialogfeldern „Über...“ und / oder in anderen Verweisen, die im Internet dargestellt oder über das Internet aktiviert werden, im Programmcode oder anderen Ausführungsformen, die ursprünglich in der Software enthalten waren oder anderweitig vom Lizenzgeber erstellt wurden. - - -6. Gewährleistung und Kündigungsrecht - -6.1 Der Lizenzgeber gewährleistet in Bezug auf das für den Lizenznehmer lizenzierte Softwareprodukt die in der Beschreibung festgelegte Leistung, insofern das Softwareprodukt in dem vorgesehenen System unter Einhaltung der Richtlinien des Lizenzgebers installiert wird. - -6.2 Der Lizenzgeber beseitigt Fehler an dem Softwareprodukt, und in allen Handbüchern sowie anderen Dokumenten, innerhalb einer angemessenen Frist nach Erhalt der zur Fehlerbeseitigung notwendigen entsprechender Angaben vom zum Fehler Lizenznehmer. Fehler werden durch Nachbesserungen, die nicht in Rechnung gestellt werden, oder durch Ersatz der Lieferung, nach Wahl des Lizenzgebers, behoben. - -6.3 Das Kündigungsrecht des Lizenznehmers aufgrund der Nichtausführbarkeit des Softwareprodukts kann erst ausgeübt werden, wenn Nachbesserungen bzw. Ersatz zweimal erfolglos erfolgt sind. - -6.4 Der Lizenzgeber gibt weder eine Garantie noch eine Gewährleistung für die Funktionalität der von Drittanbietern oder dem Lizenznehmer / Kunden erstellten Programme, ebenso wenig wie auf das fehlerfreie Ausführen der Programme mit der Software oder auf den Systemen des Lizenzgebers. - - -7. Haftung - -7.1 Falls der Lizenznehmer das Softwareprodukt nicht auf die vertraglich festgelegte Weise nutzen kann und der Lizenznehmer dies aufgrund der unterlassenen oder falschen Umsetzung von Vorschlägen und Ratschlägen vor oder nach der Unterzeichnung des Vertrages oder aufgrund der Verletzung sonstiger vertraglicher Pflichten zu vertreten hat, so gelten unter Ausschluss weiterer Ansprüche des Lizenznehmers entsprechend die in diesem Vertrag dargelegten Regelungen. - -Für Schäden, die nicht am Softwareprodukt, beziehungsweise nicht an der Hardware und dem angeschlossenen Gerät entstehen, gilt die Haftungsverpflichtung des Lizenzgebers ausschließlich in den folgenden Fällen, unabhängig vom jeweiligen Rechtsgrund: - -- vorsätzliches Fehlverhalten, - -- grobe Fahrlässigkeit seiner ausführenden Organe oder leitenden Angestellten, - -- schuldhaft herbeigeführter Schaden des Lebens, des Körpers und der Gesundheit, bei Fehlern, die der Lizenzgeber arglistig verschwiegen, oder die er unter Gewährleistung ausgeschlossen hat, - -- Softwarefehler im Rahmen der Haftung bei Personen- und Sachschäden aufgrund persönlich implementierter Objekte, wie in den dafür zutreffenden Produkthaftungsregelungen dargelegt - -7.2 Bei schuldhafter Verletzung wesentlicher Vertragspflichten haftet der Lizenzgeber auch bei grober Fahrlässigkeit seitens nichtleitender Angestellter und bei leichter Fahrlässigkeit. Im letzteren Fall ist die Haftung auf Schäden begrenzt, die vorhersehbar und typisch für diese Art von Vertrag sind. - -7.3 Außerdem haften der Lizenzgeber, seine Mitarbeiter und seine Erfüllungsgehilfen für Datenverlust oder -änderungen aufgrund von Programmfehlern, beschränkt auf den Umfang, in dem dies unvermeidbar gewesen wäre, wenn der Lizenznehmer seiner Verpflichtung, regelmäßig und mindestens einmal täglich Sicherungskopien zu erstellen, nachgekommen wäre. - -7.4 Bei Ansprüchen aufgrund von Urheberrechtsverletzungen gewährt der Lizenzgeber dem Lizenznehmer das Recht zur weiteren Nutzung des Softwareprodukts oder zur Vornahme von Änderungen am Softwareprodukt, so dass der Schutz der Urheberrechte gewährleistet ist. Wenn dies nicht wirtschaftlich sinnvoll ist, so nimmt der Lizenzgeber den Vertragsgegenstand zurück und erstattet die gezahlte Lizenzgebühr, abzüglich eines der Dauer der vorherigen Nutzung entsprechenden Betrags. Dies gilt unter der Voraussetzung, dass der Lizenznehmer dem Lizenzgeber diese Art der Ansprüche unverzüglich schriftlich mitteilt und dem Lizenzgeber alle Rechtsmittel und außergerichtlichen Regelungen gestattet. - -7.5 Für Serverunterbrechungen, Unterbrechung der Lizenzzuteilung und sonstige Support-Fälle, die nicht eindeutig auf eine fehlerhaft erstellte Lizenz zurückzuführen sind, haftet der Lizenznehmer bzw. dessen IT-Provider.. -Der Lizenznehmer oder dessen IT-Provider ist verantwortlich für die Vorhaltung der notwendigen Anzahl an Lizenzen zur Erbringung seiner Leistungen. Der Lizenzgeber haftet nicht für Nutzungsunterbrechungen und nachfolgende Arbeits- / Produktionsausfälle. - -7.6 Weitergehende Haftungsansprüche des Lizenznehmers sind ausdrücklich ausgeschlossen. - -7.7 Der Lizenznehmer ist für alle aus der Nutzung des Softwareprodukts entstehenden Probleme verantwortlich, die nicht direkt durch den Lizenzgeber verursacht werden. Daher ist der Lizenznehmer für alle Daten verantwortlich, die bei der Nutzung des Softwareprodukts erzeugt und hergestellt werden. Der Lizenznehmer ist demnach zur beziehungsweise für die Einhaltung der in dieser Lizenzvereinbarung genannten Bedingungen verpflichtet und verantwortlich. - - -8. Sicherungsmaßnahmen - -Der Lizenznehmer wird die Software sowie gegebenenfalls die Zugangsdaten für den Onlinezugriff durch geeignete Maßnahmen vor dem Zugriff durch unbefugte Dritte sichern. Insbesondere sind sämtliche Kopien der Software sowie die Zugangsdaten an einem geschützten Ort zu verwahren. - - -9. Gewerbliche Schutzrechte und Urheberrechte - -9.1 Macht ein Dritter Ansprüche aus Verletzung eines gewerblichen Schutzrechtes oder eines Urheberrechts gegen den Kunden geltend, weil dieser eine von ZEISS gelieferte Softwareversion, Firmwareergänzung oder dazugehörige Dokumentation benutzt, ist ZEISS verpflichtet, etwaige dem Schutzrechtsinhaber gerichtlich zugesprochene oder mit vorheriger Zustimmung von ZEISS zugestandene Kosten- und Schadenersatzbeträge zu bezahlen. Vorausgesetzt ist dabei, dass der Kunde ZEISS unverzüglich schriftlich über derartige Ansprüche unterrichtet und ZEISS alle Abwehrmaßnahmen und außergerichtlichen Regelungen vorbehalten bleiben. Der Kunde ist verpflichtet, ZEISS bei der Abwehr nach besten Kräften zu unterstützen. Unter diesen Voraussetzungen wird ZEISS dem Kunden grundsätzlich das Recht zum weiteren Gebrauch der Softwareversion, Firmwareergänzung oder Dokumentation verschaffen. Falls dies zu wirtschaftlich angemessenen Bedingungen nicht möglich sein sollte, ist ZEISS verpflichtet, nach eigener Wahl und auf eigene Kosten den entsprechenden Gegenstand entweder derart abzuändern oder zu ersetzen, dass das Schutzrecht nicht verletzt wird, oder den Gegenstand zurückzunehmen und das dafür bezahlte Entgelt abzüglich eines die gezogenen Nutzungen berücksichtigenden Betrages zu erstatten. - -9.2 ZEISS hat keine Verpflichtungen, falls Schutzrechtsverletzungen dadurch hervorgerufen werden, dass von ZEISS gelieferte Softwareversionen, Firmwareergänzungen oder Dokumentation nicht in der vorgesehenen Weise verwendet oder nicht auf den bestimmten Systemen eingesetzt wird. - - -10. Exportkontrolle - -Der Lizenznehmer übernimmt die Verantwortung für die Einhaltung aller anwendbaren Bestimmungen und Vorschriften, einschließlich, aber nicht beschränkt auf die Exportkontroll- und Sanktionsbestimmungen der Bundesrepublik Deutschland, der Europäischen Union sowie der Vereinigten Staaten von Amerika. Insbesondere bestätigt der Lizenznehmer, die Software sowie jedwede damit verbundene Technologie oder Dokumentation oder Teile davon weder direkt noch indirekt unter Nichtbefolgung der vorgenannten Bestimmungen in sanktionierte Länder oder an sanktionierte natürliche oder juristische Personen bereitzustellen. - -Der Lizenznehmer sichert dem Lizenzgeber zu, dass er die Software sowie jedwede damit verbundene Technologie oder Dokumentation oder Teile davon nicht unter Verletzung vorgenannter anwendbarer Gesetze oder Vorschriften verwenden wird. Weiterhin verpflichtet sich der Lizenznehmer den Lizenzgeber von allen Ansprüchen freizustellen und schadlos zu halten, welche aus der Nichteinhaltung vorgenannter anwendbarer Bestimmungen resultiert. - - -11. Sonstiges - -11.1 Sämtliche mündliche Vereinbarungen, Änderungen, Erweiterungen oder Konkretisierungen dieser Lizenzbedingungen sowie die besonderen Eigenschaften der getroffenen Zusicherungen oder Vereinbarungen oder Absprachen bedürfen zu ihrer Rechtswirksamkeit der Schriftform. Falls diese von Vertretern oder Erfüllungsgehilfen des Lizenzgebers abgefasst sind, so werden sie erst mit der Genehmigung des Lizenzgebers rechtlich bindend. - -11.2 Sollten Teile dieses Vertrags unwirksam werden, so berührt dies nicht die Wirksamkeit der übrigen Teile dieses Vertrags. Der unwirksame Teil dieses Vertrags soll durch seine Parteien durch gesetzlich zulässige Bestimmungen ersetzt werden, die der Absicht der unwirksamen Bestimmungen am nächsten kommt. - -11.3 Auf diesen Vertrag sind die Gesetze der Bundesrepublik Deutschland anwendbar, unter Ausschluss des Gesetzes über den internationalen Warenkauf und der Regeln des Kollisionsrechts. - -Stand Oktober 2023 diff --git a/examples/DisplayImage/metainfo.json b/examples/DisplayImage/metainfo.json deleted file mode 100644 index 0e53933..0000000 --- a/examples/DisplayImage/metainfo.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "author": "Carl Zeiss GOM Metrology GmbH", - "description": "Display single image", - "labels": [ - ], - "licensing": { - "licenses": [ - ], - "product-codes": [ - ] - }, - "software-revision": "55", - "software-version": "ZEISS INSPECT 2024 Alpha1", - "tags": [ - ], - "title": "Display Image", - "uuid": "74edeeeb-126b-4033-814f-66272bc7ba1f", - "version": "1.0.0" -} diff --git a/examples/DisplayImage/scripts/dialog.gdlg b/examples/DisplayImage/scripts/dialog.gdlg deleted file mode 100644 index 3ba66e0..0000000 --- a/examples/DisplayImage/scripts/dialog.gdlg +++ /dev/null @@ -1,45 +0,0 @@ -{ - "content": [ - [ - { - "columns": 3, - "data": "AAAAAA==", - "file_name": "", - "height": 0, - "keep_aspect": true, - "keep_original_size": true, - "name": "image", - "rows": 1, - "system_image": "system_message_warning", - "tooltip": { - "id": "", - "text": "", - "translatable": true - }, - "type": "image", - "use_system_image": false, - "width": 0 - }, - { - }, - { - } - ] - ], - "control": { - "id": "Close" - }, - "embedding": "always_toplevel", - "position": "automatic", - "size": { - "height": 88, - "width": 134 - }, - "sizemode": "automatic", - "style": "", - "title": { - "id": "", - "text": "Text detection", - "translatable": true - } -} diff --git a/examples/DisplayImage/scripts/display_image.metainfo b/examples/DisplayImage/scripts/display_image.metainfo deleted file mode 100644 index 7aa4ad6..0000000 --- a/examples/DisplayImage/scripts/display_image.metainfo +++ /dev/null @@ -1,25 +0,0 @@ -{ - "display_name": "display_image", - "folded_blocks": [ - ], - "icon": "", - "iinspect_condition": "", - "interactive": false, - "main_menu_path": { - "anchor": { - "item": "", - "submenu": [ - ], - "type": "command" - }, - "script": "userscript.display_image", - "submenu": [ - ] - }, - "multicreation_script": false, - "script_check_type": "none", - "script_element_type": "none", - "show_in_iinspect": false, - "show_in_menu": true, - "uuid": "c269d2dc-b6c2-471d-ace9-c2d58d5fa767" -} diff --git a/examples/DisplayImage/scripts/display_image.py b/examples/DisplayImage/scripts/display_image.py deleted file mode 100644 index 0916b79..0000000 --- a/examples/DisplayImage/scripts/display_image.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- - -import gom -import cv2 -import numpy as np - -# -# Read image from project -# -def get_image (): - - # - # It is assumed that the measurement series 'Scan 1' contains images - # - measurement = gom.app.project.measurement_series['Scan 1'].measurements[0] - image = np.array (measurement.images['left camera'].data.rgb )[0] - return cv2.cvtColor(image, cv2.COLOR_BGR2RGB) - -def image_to_png (image): - _, data = cv2.imencode(".png", image) - return data.tobytes() - -image = get_image () - -DIALOG=gom.script.sys.create_user_defined_dialog (file='dialog.gdlg') - -DIALOG.image.data = image_to_png (cv2.resize (image, (640, 480))) - -gom.script.sys.show_user_defined_dialog (dialog=DIALOG) - - diff --git a/examples/FileSelectionAndFiltering/doc/README.md b/examples/FileSelectionAndFiltering/doc/README.md deleted file mode 100644 index 25c940c..0000000 --- a/examples/FileSelectionAndFiltering/doc/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# File Selection and Filtering Examples - -Examples for selecting and filtering files in ZEISS INSPECT Python scripts. \ No newline at end of file diff --git a/examples/FileSelectionAndFiltering/license/license.txt b/examples/FileSelectionAndFiltering/license/license.txt deleted file mode 100644 index bb42913..0000000 --- a/examples/FileSelectionAndFiltering/license/license.txt +++ /dev/null @@ -1,296 +0,0 @@ -ZEISS Add-Ons / Apps End User License Agreement (EULA) -====================================================== - -English version. See below for German version. -Englische Version. Siehe unten für die Deutsche Version. - -1. Introduction - -1.1 General information - -This End User License Agreement for Add-Ons / Apps ("EULA Add-Ons / Apps") is a legal agreement between "you" (either an individual or a legal entity, hereinafter referred to as "licensee" or "customer") and ZEISS ("ZEISS" or "licensor") (each individually a "party" and collectively the "parties") for your use of ZEISS software products. The agreement sets forth all rights and obligations for both licensee and ZEISS and governs your use of all Software Products installed or provided by ZEISS. Any amendment to this agreement must be in writing and in accordance with the terms and conditions contained herein. By paying the applicable license fee(s) and by downloading, installing or using the software, you agree that this agreement shall be enforceable against you in the same manner as a written, negotiated contract signed by you. If you do not agree to the terms of this agreement, you are not authorized and may not download, install or use any ZEISS software products. - -In order to use the ZEISS software products and services, the licensee must have the following: - -(a) a so-called valid subscription agreement or - -(b) a valid license from ZEISS. - -Furthermore, individual software products - -(a) which are based on a subscription agreement and / or - -(b) with a server-based licensing solution - -require and use a secure connection of the application computer to the ZEISS infrastructure and/or the "Cloud Services". - -1.2 The licensor is ZEISS, the licensee is the end customer. The licensor grants the licensee a non-exclusive, non-transferable right to use the "software product", which includes the specific software program and the subsequent extensions, updates, patches and associated documentation for internal company operation, as well as the associated manuals and software documentation. - -1.3 The software product may contain codes, objects and other intellectual property developed and licensed by licensors or third parties and integrated into the software product ("embedded third party software"). Any embedded third party software or open source code and open source licenses used shall not limit or impair the rights of use granted to licensee and may be accessed at any time within the respective software used. In individual cases, the respective license conditions can be made available by the licensor upon request at any time. - -1.4 Any terms and conditions of purchase of the licensee that conflict with or deviate from this agreement shall not become part of the agreement, even if the licensor does not expressly object to them. Amendments to the EULA must be expressly agreed in writing by both parties. - - -2. Term and termination / license fees - -2.1 The license agreement begins with license activation and ends with the period of use of the Pro Version or with the end of the payment period. - -2.2 The Licensor shall be entitled to terminate this license agreement and the corresponding rights of use with immediate effect if the licensee violates any provision of this license agreement or tacitly tolerates a violation of this license agreement by third parties or fails to fulfill its obligations under this license agreement or if the licensee files for insolvency or a change of control occurs at the licensee. - -2.3 Notwithstanding the foregoing, and unless otherwise agreed in this license agreement, this license agreement shall terminate automatically upon licensee's breach of any of its provisions. - -2.4 Under no circumstances shall license fees be fully or partially refundable upon termination or mutually agreed termination of this agreement, unless ZEISS is responsible for the early termination of this agreement. - - -3. Reproduction rights - -3.1 The licensee may reproduce the delivered software to the extent that the reproduction is necessary to use the software. Necessary reproductions of the software include, but are not limited to, the installation of the software product on the mass storage of the device in accordance with this license agreement and the loading of the software into the main memory of the computer. - -3.2 In addition, licensee shall be entitled to make copies for data backup purposes. This backup copy of the licensed software product must be marked as such. - -3.3 If, for reasons of data security or backup, a quick reactivation of the computer system, including the subject matter of the agreement, and the backup of the entire data stock, including the installed software product, are required after a total failure, licensee may create the maximum required number of backup copies. The data media concerned shall be appropriately marked. The backup copies may only be used for archiving purposes. - -3.4 The licensee is not entitled to make further copies or to instruct third parties to make further copies, in particular the licensee is not entitled to print out the program code with a printer or to make photocopies of the manual. - - -4. Resale and transfer - -4.1 The licensee is not entitled to rent, lease, lend or make the software product available to third parties within the scope of hosting or download options, unless the Licensor has expressly indicated or permitted this in writing. - -4.2 However, it is permitted to grant a right of use to third parties if they have to use the software product to the licensee’s specifications (like own employees). Independent third parties are excluded from use in any case. - -4.3 Transfer within legal entities or global groups of licensee: Provided that the transferring licensee and the receiving party are part of one legal entity or part of affiliated companies, the transfer is permitted provided that the receiving party agrees to these license terms. "Affiliate" means any legal entity that is directly or indirectly controlled by a Legal Entity or its parent company. "Control" for purposes of this license agreement means direct or indirect ownership of more than fifty percent (50%) of the stock of such entity or more than fifty percent (50%) direct or indirect participation in the decision-making body of such entity. - - -5. Back translation and program changes - -5.1 As a matter of principle, the licensee may not make any changes to the software product unless this is necessary to correct errors. The prerequisite is that this is done solely for the purpose of correcting errors that impair the functioning of the software. -In the latter case and if important program functions and working methods could be disclosed during the repair process, licensee may commission a commercially active third party to carry out the repair if this third party is not a potential competitor of licensor. -Insofar as the licensee makes changes to the software product in order to rectify errors, the licensor shall not assume any liability for the resulting consequences, in particular not through this authorization. - -5.2 The reverse translation of the licensed program code into other code forms (decompilation) and other types of reverse engineering of various different phases of software creation are permitted only to the extent that they serve to correct errors that impair the functioning of the software (in accordance with section 5.1). However, licensee may perform such decompilation only to the extent necessary for correction and, if applicable, in compliance with the terms and conditions contractually agreed with the owner of the copyright in this program. -Further, decompilation is permitted in cases to obtain information necessary for interoperability with an independently created computer program and only if such information cannot be obtained otherwise. - -5.3 A further prerequisite for the permission to reverse engineer is the performance of reverse engineering or program observation exclusively by means of procedures which the licensee is authorized to perform in accordance with this license agreement. In particular, the program code may in no case be printed out. - -5.4 All property rights and copyrights relating to the software product, the printed accompanying materials and all copies of the software product shall remain with the licensor or its suppliers. This software product is protected under German copyright law, U.S. copyright law and the provisions of international treaties. The licensee is not entitled to reproduce the printed materials accompanying the software. - - -5.5 The licensee shall not be entitled to remove, modify or add to any copyright notices or trademark notices placed by licensor. This includes, without limitation, all references in physical and/or electronic media or documents, in "setup wizards" or in "about..." dialog boxes, and/or in other references displayed on or activated via the Internet, in program code or other embodiments originally included in the software or otherwise created by licensor. - -6. Warranty and right of termination - -6.1 The licensor warrants with respect to the software product licensed to the licensee the performance set forth in the description, provided that the software product is installed in the intended system in compliance with the licensor's guidelines. - -6.2 The licensor shall correct errors in the software product, and in all manuals and other documents, within a reasonable period of time after receiving from the licensee the corresponding information on the error necessary to correct the error. Errors shall be remedied by rectification, which shall not be invoiced, or by replacement of the delivery, at the option of the licensor. - -6.3 The licensee's right of termination due to the non-executability of the software product may only be exercised after rectifications or replacements have been made twice without success. - -6.4 The licensor neither warrants nor guarantees the functionality of the programs created by third parties or the licensee / customer, nor the error-free execution of the programs with the software or on the licensor's systems. - - -7. Liability - -7.1 If the licensee is unable to use the software product in the manner specified in the agreement and the licensee is responsible for this due to the failure to implement or the incorrect implementation of suggestions and advice before or after signing the agreement or due to the breach of other contractual obligations, the provisions set forth in this agreement shall apply mutatis mutandis to the exclusion of any further claims by the licensee. - -For damages that do not occur to the software product, respectively not to the hardware and the connected device, the liability obligation of the licensor applies exclusively in the following cases, regardless of the respective legal ground: - -- willful misconduct, - -- gross negligence of its executive bodies or officers, - -- culpable damage to life, limb and health, in the event of errors, which the lLicensor has fraudulently concealed or which it has excluded under warranty, - -- software errors within the scope of liability for personal injury and property damage due to personally implemented objects, as set out in the product liability regulations applicable to them - -7.2 In the event of culpable breach of material contractual obligations, the licensor shall also be liable for gross negligence on the part of non-executive employees and for slight negligence. In the latter case, liability shall be limited to damages that are foreseeable and typical for this type of contract. - -7.3 In addition, the licensor, its employees and its vicarious agents shall be liable for data loss or changes due to program errors, limited to the extent that this would have been unavoidable if the licensee had complied with its obligation to make back-up copies regularly and at least once a day. - -7.4 In the event of claims based on copyright infringement, the licensor shall grant the licensee the right to continue using the software product or to make modifications to the software product so that copyright protection is ensured. If this is not commercially reasonable, the licensor shall take back the subject matter of the agreement and refund the license fee paid, less an amount corresponding to the duration of the previous use. This shall apply provided that the licensee notifies the licensor of this type of claim in writing without delay and allows licensor all legal remedies and out-of-court settlements. - -7.5 The licensee or its IT provider shall be liable for server interruptions, interruption of license allocation and other support cases that are not clearly attributable to an incorrectly created license. - -The licensee or its IT provider is responsible for maintaining the necessary number of licenses to provide its services. The licensor is not liable for interruptions in use and subsequent work / production stoppages. - - -7.6 Further liability claims of the licensee are expressly excluded. -7.7 The licensee is responsible for all problems arising from the use of the software product that are not directly caused by the licensor. Therefore, licensee is responsible for all data generated and produced during the use of the software product. Accordingly, licensee is obligated and responsible for compliance with the terms and conditions set forth in this license agreement. - - -8. Security measures - -The licensee shall take suitable measures to secure the software and, if applicable, the access data for online access against access by unauthorized third parties. In particular, all copies of the software as well as the access data shall be kept in a protected place. - - -9. Industrial property rights and copyrights - -9.1 If a third party asserts claims for infringement of an industrial property right or a copyright against the customer because the customer uses a software version, firmware supplement or associated documentation supplied by ZEISS, ZEISS shall be obligated to pay any cost and damage compensation amounts awarded to the owner of the property right by a court or awarded with the prior consent of ZEISS. This is subject to the condition that the customer informs ZEISS immediately in writing of such claims and that ZEISS reserves the right to all defensive measures and out-of-court settlements. The customer is obligated to support ZEISS in the defense to the best of its ability. Under these conditions, ZEISS shall generally procure for the customer the right to continue using the software version, firmware supplement or documentation. If this should not be possible under economically reasonable conditions, ZEISS shall be obligated, at its own discretion and at its own expense, either to modify or replace the relevant item in such a way that the property right is not infringed, or to take back the item and refund the remuneration paid for it less an amount taking into account the benefits derived. - -9.2 ZEISS shall have no obligations if property right infringements are caused by the fact that software versions , firmware supplements or documentation supplied by ZEISS are not used in the intended manner or are not used on the specific systems. - - -10. Export Control - -Licensee assumes responsibility for compliance with all applicable rules and regulations, including but not limited to the export control and sanctions regulations of the Federal Republic of Germany, the European Union and the United States of America. In particular, licensee agrees not to provide the software or any related technology or documentation or any part thereof, directly or indirectly, to any sanctioned country or to any sanctioned person or entity in violation of the foregoing. - -Licensee represents and guarantees that it will not use the software or any related technology or documentation or any portion thereof in violation of any applicable law or regulation. The licensee further agrees to indemnify and hold harmless licensor from and against any and all claims resulting from licensee's failure to comply with any of the foregoing applicable provisions. - - -11. Miscellaneous - -11.1 All verbal agreements, amendments, extensions or concretizations of these license conditions as well as the special characteristics of the assurances or agreements or arrangements made must be in writing to be legally effective. If these are drafted by representatives or vicarious agents of the Licensor, they shall only become legally binding upon approval by the Licensor. - -11.2 Should parts of this contract become invalid, this shall not affect the validity of the remaining parts of this contract. The ineffective part of this contract shall be replaced by its parties with legally permissible provisions that come as close as possible to the intention of the ineffective provisions. - -11.3 The laws of the Federal Republic of Germany shall apply to this contract, excluding the law on the international sale of goods and the rules of conflict of laws. - -Version from October 2023 - ------------------------------------------------------------------------------ - -ZEISS Add-Ons / Apps End User License Agreement (EULA) -====================================================== - -German version. See above for English version. -Deutsche Version. Siehe oben für die Englische Version. - -1. Einführung - -1.1 Allgemeine Informationen - -Diese Endbenutzer-Lizenzvereinbarung für Add-Ons / Apps (End User License Agreement, „EULA Add-Ons / Apps“) ist eine rechtsgültige Vereinbarung zwischen „Ihnen“ (entweder eine natürliche oder juristische Person, im Folgenden als „Lizenznehmer“ oder „Kunde“ bezeichnet) und ZEISS („ZEISS“ oder „Lizenzgeber“) (jeweils einzeln eine „Partei“ und zusammen die „Parteien“) für Ihre Nutzung von ZEISS Softwareprodukten. Die Vereinbarung legt alle Rechte und Pflichten sowohl für den Lizenznehmer als auch für ZEISS fest und regelt Ihre Nutzung aller Softwareprodukte, die von ZEISS installiert oder zur Verfügung gestellt werden. Jede Änderung dieser Vereinbarung muss schriftlich erfolgen und mit den hierin enthaltenen Bestimmungen und Bedingungen übereinstimmen. Durch die Zahlung der geltenden Lizenzgebühr(en) und durch das Herunterladen, die Installation oder die Nutzung der Software erklären Sie sich damit einverstanden, dass diese Vereinbarung Ihnen gegenüber gleichermaßen durchsetzbar ist wie ein schriftlicher, ausgehandelter und von Ihnen unterzeichneter Vertrag. Wenn Sie den Bedingungen dieser Vereinbarung nicht zustimmen, sind Sie nicht berechtigt und dürfen keine ZEISS Softwareprodukte herunterladen, installieren oder verwenden. - -Für die Nutzung der ZEISS Softwareprodukte und Leistungen muss der Lizenznehmer über Folgendes verfügen: - -(a) einen sog. gültigen Subscriptionvertrag oder - -(b) eine gültige Lizenz von ZEISS. - -Ferner erfordern und verwenden einzelne Softwareprodukte - -(a) die auf einem Subscriptionvertrag basieren und / oder - -(b) mit einer serverbasierten Lizenzlösung - -eine sichere Verbindung des Applikationsrechners mit der ZEISS Infrastruktur und / oder den „Cloud Services“. - -1.2 Lizenzgeber ist ZEISS Lizenznehmer ist der Endkunde. Der Lizenzgeber gewährt dem Lizenznehmer ein nicht ausschließliches, nicht übertragbares Nutzungsrecht für das „Softwareprodukt“, welches das spezielle Softwareprogramm und die damit nachfolgenden Erweiterungen, Updates, Patches und zugehörige Dokumentation für den unternehmensinternen Betrieb, wie auch die dazugehörigen Handbücher und Softwaredokumentation, einschließt. - -1.3 Das Softwareprodukt kann Codes, Objekte und anderes geistiges Eigentum enthalten, das von Lizenzgebern oder Dritter entwickelt und von diesen lizenziert und in das Softwareprodukt integriert wurde („Embedded Third Party Software“). Etwaig verwendete Embedded Third Party Software oder Open Source-Code und Open Source-Lizenzen beschränken oder beeinträchtigen die gewährten Nutzungsrechte des Lizenznehmers nicht und können jederzeit innerhalb der jeweils genutzten Software abgerufen werden. Im Einzelfall können die jeweiligen Lizenzbedingungen vom Lizenzgeber auf Anforderung jederzeit zur Verfügung gestellt werden. - -1.4 Entgegenstehende oder von dieser Vereinbarung abweichende Kaufbedingungen des Lizenznehmers werden nicht Vereinbarungsbestandteil, auch wenn der Lizenzgeber diesen nicht ausdrücklich widerspricht. Änderungen der EULA müssen schriftlich und ausdrücklich durch beide Parteien vereinbart werden. - - -2. Laufzeit und Kündigung / Lizenzgebühren - -2.1 Die Lizenzvereinbarung beginnt mit Lizenzaktivierung und endet mit der Nutzungsdauer der Pro Version oder mit dem Ende der Bezahldauer. - -2.2 Der Lizenzgeber ist berechtigt, diese Lizenzvereinbarung und die entsprechenden Nutzungsrechte mit sofortiger Wirkung zu kündigen, falls der Lizenznehmer eine Bestimmung dieser Lizenzvereinbarung verletzt oder eine Verletzung dieser Lizenzvereinbarung durch Dritte stillschweigend duldet oder seine Verpflichtungen aus dieser Lizenzvereinbarung nicht erfüllt oder falls der Lizenznehmer Insolvenz anmeldet oder bei dem Lizenznehmer ein Kontrollwechsel stattfindet. - -2.3 Ungeachtet der vorstehenden Bestimmungen und sofern in dieser Lizenzvereinbarung nicht anderweitig vereinbart, endet diese Lizenzvereinbarung automatisch bei Verletzung einer seiner Bestimmungen durch den Lizenznehmer. - -2.4 Unter keinen Umständen sind bei Kündigung oder einvernehmlicher Beendigung dieses Vertrages Lizenzgebühren vollständig oder teilweise erstattungsfähig, es sei denn ZEISS hat die vorzeitige Beendigung dieses Vertrages zu vertreten. - - -3. Vervielfältigungsrechte - -3.1 Der Lizenznehmer darf die gelieferte Software in dem Umfang vervielfältigen, in dem die Vervielfältigung zur Nutzung der Software erforderlich ist. Erforderliche Vervielfältigungen der Software sind unter anderem die Installation des Softwareprodukts auf dem Massenspeicher des Geräts gemäß diesem Lizenzvertrag und das Laden der Software in den Hauptspeicher des Computers. - -3.2 Außerdem ist der Lizenznehmer zur Anfertigung von Kopien zur Datensicherung berechtigt. Diese Sicherungskopie des lizenzierten Softwareprodukts muss als solche gekennzeichnet sein. - -3.3 Sind aus Gründen der Datensicherheit oder -sicherung nach einem Totalausfall eine schnelle Reaktivierung des Computersystems, des Vertragsgegenstands eingeschlossen, sowie die Sicherung des gesamten Datenbestands, des installierten Softwareprodukts eingeschlossen, erforderlich, so kann der Lizenznehmer die maximal erforderliche Anzahl an Sicherungskopien erstellen. Die betreffenden Datenmedien sind angemessen zu kennzeichnen. Die Sicherungskopien dürfen ausschließlich zu Archivierungszwecken genutzt werden. - -3.4 Der Lizenznehmer ist nicht berechtigt, weitere Kopien zu erstellen oder Dritte anzuweisen, weitere Kopien zu erstellen, insbesondere ist er nicht berechtigt, den Programmcode mit einem Drucker auszudrucken oder Fotokopien des Handbuchs zu erstellen. - - -4. Weiterverkauf und Übertragung - -4.1 Der Lizenznehmer ist nicht berechtigt, das Softwareprodukt Dritten im Rahmen von Hosting- oder Downloadoptionen zu vermieten, verleasen, verleihen oder zur Verfügung zu stellen, es sei denn, der Lizenzgeber hat dies ausdrücklich schriftlich angegeben oder erlaubt. - -4.2 Es ist jedoch gestattet, Dritten ein Nutzungsrecht einzuräumen, wenn diese das Softwareprodukt nach Maßgabe des Lizenznehmers (wie eigene Mitarbeiter) nutzen müssen. Von der Nutzung auf jeden Fall ausgeschlossen sind unabhängige Dritte. - -4.3 Übertragung innerhalb von Rechtspersonen oder globalen Konzernen des Lizenznehmers: Sofern der übertragende Lizenznehmer und die empfangende Partei Teil einer Rechtsperson oder Teil verbundener Unternehmen sind, ist die Übertragung gestattet, sofern die empfangende Partei diesen Lizenzbedingungen zustimmt. „Verbundene Unternehmen“ bedeutet jede Rechtsperson, die direkt oder indirekt von einer Rechtsperson oder deren Muttergesellschaft kontrolliert wird. „Kontrolle“ im Sinne dieses Lizenzvertrags bedeutet direkter oder indirekter Besitz von mehr als fünfzig Prozent (50 %) der Anteile an diesem Unternehmen oder mehr als fünfzig Prozent (50 %) direkter oder indirekter Beteiligung am Entscheidungsorgan dieses Unternehmens. - - -5. Rückübersetzung und Programmänderungen - -5.1 Der Lizenznehmer darf grundsätzlich keine Änderungen am Softwareprodukt vornehmen, außer wenn dies zur Behebung von Fehlern erforderlich ist. Voraussetzung ist, dass dies ausschließlich zum Zweck der Korrektur von Fehlern geschieht, die das Funktionieren der Software beeinträchtigen. -Im letzteren Fall und wenn beim Reparaturvorgang wichtige Programmfunktionen und Arbeitsmethoden offengelegt werden könnten, kann der Lizenznehmer einen gewerblich tätigen Dritten mit der Reparatur beauftragen, wenn dieser Dritte nicht ein potenzieller Wettbewerber des Lizenzgebers ist. -Soweit der Lizenznehmer zur Behebung von Fehlern Änderungen am Softwareprodukt vornimmt, übernimmt der Lizenzgeber, insb. auch nicht durch diese Freigabe, für die daraus resultierende Folgen keine Haftung. - -5.2 Die Rückübersetzung des lizenzierten Programmcodes in andere Codeformen (Dekompilierung) und andere Arten des Reverse Engineering verschiedener unterschiedlicher Phasen der Software-Erstellung sind nur insoweit zulässig, wie sie dazu dienen, Fehler zu korrigieren, die das Funktionieren der Software beeinträchtigen (entsprechend Ziffer 5.1). Der Lizenznehmer darf eine solche Dekompilierung jedoch nur in dem für die Berichtigung erforderlichen Ausmaß und gegebenenfalls unter Einhaltung der mit dem Inhaber des Urheberrechts an diesem Programm vertraglich festgelegten Bedingungen vornehmen. -Weiter ist eine Dekompilierung in Fällen zulässig, um Informationen zu gewinnen, die zur Interoperabilität mit einem unabhängig geschaffenen Computerprogramm erforderlich sind, und nur falls diese Informationen nicht anderweitig beschafft werden können. - -5.3 Weitere Voraussetzung für die Genehmigung zur Rückübersetzung ist die Durchführung des Reverse Engineering oder der Programmbeobachtung ausschließlich durch Verfahren, zu deren Ausführung der Lizenznehmer gemäß diesem Lizenzvertrag berechtigt ist. Insbesondere darf der Programmcode in keinem Fall ausgedruckt werden. 5.4 Alle Eigentums- und Urheberrechte in Bezug auf das Softwareprodukt, die gedruckten Begleitmaterialien und sämtliche Kopien des Softwareprodukts verbleiben beim Lizenzgeber oder seinen Lieferanten. Das vorliegende Softwareprodukt ist nach deutschem Urheberrecht, US-amerikanischem Urheberrecht und den Bestimmungen internationaler Verträge geschützt. Der Lizenznehmer ist nicht berechtigt, die der Software beiliegenden gedruckten Materialien zu vervielfältigen. - -5.5 Der Lizenznehmer ist nicht berechtigt, Hinweise zum Urheberrecht oder Markennennungen, die der Lizenzgeber angebracht hat, zu entfernen, zu ändern oder zu ergänzen. Dies beinhaltet ohne Einschränkungen alle Verweise in physischen und / oder elektronischen Medien oder Dokumenten, in „Setup-Assistenten" oder in den Dialogfeldern „Über...“ und / oder in anderen Verweisen, die im Internet dargestellt oder über das Internet aktiviert werden, im Programmcode oder anderen Ausführungsformen, die ursprünglich in der Software enthalten waren oder anderweitig vom Lizenzgeber erstellt wurden. - - -6. Gewährleistung und Kündigungsrecht - -6.1 Der Lizenzgeber gewährleistet in Bezug auf das für den Lizenznehmer lizenzierte Softwareprodukt die in der Beschreibung festgelegte Leistung, insofern das Softwareprodukt in dem vorgesehenen System unter Einhaltung der Richtlinien des Lizenzgebers installiert wird. - -6.2 Der Lizenzgeber beseitigt Fehler an dem Softwareprodukt, und in allen Handbüchern sowie anderen Dokumenten, innerhalb einer angemessenen Frist nach Erhalt der zur Fehlerbeseitigung notwendigen entsprechender Angaben vom zum Fehler Lizenznehmer. Fehler werden durch Nachbesserungen, die nicht in Rechnung gestellt werden, oder durch Ersatz der Lieferung, nach Wahl des Lizenzgebers, behoben. - -6.3 Das Kündigungsrecht des Lizenznehmers aufgrund der Nichtausführbarkeit des Softwareprodukts kann erst ausgeübt werden, wenn Nachbesserungen bzw. Ersatz zweimal erfolglos erfolgt sind. - -6.4 Der Lizenzgeber gibt weder eine Garantie noch eine Gewährleistung für die Funktionalität der von Drittanbietern oder dem Lizenznehmer / Kunden erstellten Programme, ebenso wenig wie auf das fehlerfreie Ausführen der Programme mit der Software oder auf den Systemen des Lizenzgebers. - - -7. Haftung - -7.1 Falls der Lizenznehmer das Softwareprodukt nicht auf die vertraglich festgelegte Weise nutzen kann und der Lizenznehmer dies aufgrund der unterlassenen oder falschen Umsetzung von Vorschlägen und Ratschlägen vor oder nach der Unterzeichnung des Vertrages oder aufgrund der Verletzung sonstiger vertraglicher Pflichten zu vertreten hat, so gelten unter Ausschluss weiterer Ansprüche des Lizenznehmers entsprechend die in diesem Vertrag dargelegten Regelungen. - -Für Schäden, die nicht am Softwareprodukt, beziehungsweise nicht an der Hardware und dem angeschlossenen Gerät entstehen, gilt die Haftungsverpflichtung des Lizenzgebers ausschließlich in den folgenden Fällen, unabhängig vom jeweiligen Rechtsgrund: - -- vorsätzliches Fehlverhalten, - -- grobe Fahrlässigkeit seiner ausführenden Organe oder leitenden Angestellten, - -- schuldhaft herbeigeführter Schaden des Lebens, des Körpers und der Gesundheit, bei Fehlern, die der Lizenzgeber arglistig verschwiegen, oder die er unter Gewährleistung ausgeschlossen hat, - -- Softwarefehler im Rahmen der Haftung bei Personen- und Sachschäden aufgrund persönlich implementierter Objekte, wie in den dafür zutreffenden Produkthaftungsregelungen dargelegt - -7.2 Bei schuldhafter Verletzung wesentlicher Vertragspflichten haftet der Lizenzgeber auch bei grober Fahrlässigkeit seitens nichtleitender Angestellter und bei leichter Fahrlässigkeit. Im letzteren Fall ist die Haftung auf Schäden begrenzt, die vorhersehbar und typisch für diese Art von Vertrag sind. - -7.3 Außerdem haften der Lizenzgeber, seine Mitarbeiter und seine Erfüllungsgehilfen für Datenverlust oder -änderungen aufgrund von Programmfehlern, beschränkt auf den Umfang, in dem dies unvermeidbar gewesen wäre, wenn der Lizenznehmer seiner Verpflichtung, regelmäßig und mindestens einmal täglich Sicherungskopien zu erstellen, nachgekommen wäre. - -7.4 Bei Ansprüchen aufgrund von Urheberrechtsverletzungen gewährt der Lizenzgeber dem Lizenznehmer das Recht zur weiteren Nutzung des Softwareprodukts oder zur Vornahme von Änderungen am Softwareprodukt, so dass der Schutz der Urheberrechte gewährleistet ist. Wenn dies nicht wirtschaftlich sinnvoll ist, so nimmt der Lizenzgeber den Vertragsgegenstand zurück und erstattet die gezahlte Lizenzgebühr, abzüglich eines der Dauer der vorherigen Nutzung entsprechenden Betrags. Dies gilt unter der Voraussetzung, dass der Lizenznehmer dem Lizenzgeber diese Art der Ansprüche unverzüglich schriftlich mitteilt und dem Lizenzgeber alle Rechtsmittel und außergerichtlichen Regelungen gestattet. - -7.5 Für Serverunterbrechungen, Unterbrechung der Lizenzzuteilung und sonstige Support-Fälle, die nicht eindeutig auf eine fehlerhaft erstellte Lizenz zurückzuführen sind, haftet der Lizenznehmer bzw. dessen IT-Provider.. -Der Lizenznehmer oder dessen IT-Provider ist verantwortlich für die Vorhaltung der notwendigen Anzahl an Lizenzen zur Erbringung seiner Leistungen. Der Lizenzgeber haftet nicht für Nutzungsunterbrechungen und nachfolgende Arbeits- / Produktionsausfälle. - -7.6 Weitergehende Haftungsansprüche des Lizenznehmers sind ausdrücklich ausgeschlossen. - -7.7 Der Lizenznehmer ist für alle aus der Nutzung des Softwareprodukts entstehenden Probleme verantwortlich, die nicht direkt durch den Lizenzgeber verursacht werden. Daher ist der Lizenznehmer für alle Daten verantwortlich, die bei der Nutzung des Softwareprodukts erzeugt und hergestellt werden. Der Lizenznehmer ist demnach zur beziehungsweise für die Einhaltung der in dieser Lizenzvereinbarung genannten Bedingungen verpflichtet und verantwortlich. - - -8. Sicherungsmaßnahmen - -Der Lizenznehmer wird die Software sowie gegebenenfalls die Zugangsdaten für den Onlinezugriff durch geeignete Maßnahmen vor dem Zugriff durch unbefugte Dritte sichern. Insbesondere sind sämtliche Kopien der Software sowie die Zugangsdaten an einem geschützten Ort zu verwahren. - - -9. Gewerbliche Schutzrechte und Urheberrechte - -9.1 Macht ein Dritter Ansprüche aus Verletzung eines gewerblichen Schutzrechtes oder eines Urheberrechts gegen den Kunden geltend, weil dieser eine von ZEISS gelieferte Softwareversion, Firmwareergänzung oder dazugehörige Dokumentation benutzt, ist ZEISS verpflichtet, etwaige dem Schutzrechtsinhaber gerichtlich zugesprochene oder mit vorheriger Zustimmung von ZEISS zugestandene Kosten- und Schadenersatzbeträge zu bezahlen. Vorausgesetzt ist dabei, dass der Kunde ZEISS unverzüglich schriftlich über derartige Ansprüche unterrichtet und ZEISS alle Abwehrmaßnahmen und außergerichtlichen Regelungen vorbehalten bleiben. Der Kunde ist verpflichtet, ZEISS bei der Abwehr nach besten Kräften zu unterstützen. Unter diesen Voraussetzungen wird ZEISS dem Kunden grundsätzlich das Recht zum weiteren Gebrauch der Softwareversion, Firmwareergänzung oder Dokumentation verschaffen. Falls dies zu wirtschaftlich angemessenen Bedingungen nicht möglich sein sollte, ist ZEISS verpflichtet, nach eigener Wahl und auf eigene Kosten den entsprechenden Gegenstand entweder derart abzuändern oder zu ersetzen, dass das Schutzrecht nicht verletzt wird, oder den Gegenstand zurückzunehmen und das dafür bezahlte Entgelt abzüglich eines die gezogenen Nutzungen berücksichtigenden Betrages zu erstatten. - -9.2 ZEISS hat keine Verpflichtungen, falls Schutzrechtsverletzungen dadurch hervorgerufen werden, dass von ZEISS gelieferte Softwareversionen, Firmwareergänzungen oder Dokumentation nicht in der vorgesehenen Weise verwendet oder nicht auf den bestimmten Systemen eingesetzt wird. - - -10. Exportkontrolle - -Der Lizenznehmer übernimmt die Verantwortung für die Einhaltung aller anwendbaren Bestimmungen und Vorschriften, einschließlich, aber nicht beschränkt auf die Exportkontroll- und Sanktionsbestimmungen der Bundesrepublik Deutschland, der Europäischen Union sowie der Vereinigten Staaten von Amerika. Insbesondere bestätigt der Lizenznehmer, die Software sowie jedwede damit verbundene Technologie oder Dokumentation oder Teile davon weder direkt noch indirekt unter Nichtbefolgung der vorgenannten Bestimmungen in sanktionierte Länder oder an sanktionierte natürliche oder juristische Personen bereitzustellen. - -Der Lizenznehmer sichert dem Lizenzgeber zu, dass er die Software sowie jedwede damit verbundene Technologie oder Dokumentation oder Teile davon nicht unter Verletzung vorgenannter anwendbarer Gesetze oder Vorschriften verwenden wird. Weiterhin verpflichtet sich der Lizenznehmer den Lizenzgeber von allen Ansprüchen freizustellen und schadlos zu halten, welche aus der Nichteinhaltung vorgenannter anwendbarer Bestimmungen resultiert. - - -11. Sonstiges - -11.1 Sämtliche mündliche Vereinbarungen, Änderungen, Erweiterungen oder Konkretisierungen dieser Lizenzbedingungen sowie die besonderen Eigenschaften der getroffenen Zusicherungen oder Vereinbarungen oder Absprachen bedürfen zu ihrer Rechtswirksamkeit der Schriftform. Falls diese von Vertretern oder Erfüllungsgehilfen des Lizenzgebers abgefasst sind, so werden sie erst mit der Genehmigung des Lizenzgebers rechtlich bindend. - -11.2 Sollten Teile dieses Vertrags unwirksam werden, so berührt dies nicht die Wirksamkeit der übrigen Teile dieses Vertrags. Der unwirksame Teil dieses Vertrags soll durch seine Parteien durch gesetzlich zulässige Bestimmungen ersetzt werden, die der Absicht der unwirksamen Bestimmungen am nächsten kommt. - -11.3 Auf diesen Vertrag sind die Gesetze der Bundesrepublik Deutschland anwendbar, unter Ausschluss des Gesetzes über den internationalen Warenkauf und der Regeln des Kollisionsrechts. - -Stand Oktober 2023 diff --git a/examples/FileSelectionAndFiltering/scripts/listdir_categories.py b/examples/FileSelectionAndFiltering/scripts/listdir_categories.py deleted file mode 100644 index 3c69e33..0000000 --- a/examples/FileSelectionAndFiltering/scripts/listdir_categories.py +++ /dev/null @@ -1,62 +0,0 @@ -# -*- coding: utf-8 -*- - -import gom -import os - - -RESULT=gom.script.sys.execute_user_defined_dialog (dialog={ - "content": [ - [ - { - "columns": 1, - "default": "", - "file_types": [ - ], - "file_types_default": "", - "limited": False, - "name": "directory", - "rows": 1, - "selection_type": "directory", - "title": { - "id": "", - "text": "Choose Folder", - "translatable": True - }, - "tooltip": { - "id": "", - "text": "Click to select a folder", - "translatable": True - }, - "type": "input::file" - } - ] - ], - "control": { - "id": "OkCancel" - }, - "embedding": "", - "position": "", - "size": { - "height": 112, - "width": 271 - }, - "sizemode": "", - "style": "Standard", - "title": { - "id": "", - "text": "List files in a folder", - "translatable": True - } -}) - -dir = RESULT.directory -# change working directory to the selected directory -os.chdir(dir) -print('Files in directory', dir + ':') -for filename in os.listdir(dir): - if os.path.isdir(filename): - print(' Folder:', filename) - elif os.path.isfile(filename): - print(' File:', filename) - else: - print(' Other:', filename) diff --git a/examples/FileSelectionAndFiltering/scripts/listdir_dialog.py b/examples/FileSelectionAndFiltering/scripts/listdir_dialog.py deleted file mode 100644 index 5b19bae..0000000 --- a/examples/FileSelectionAndFiltering/scripts/listdir_dialog.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- coding: utf-8 -*- - -import gom -import os - - -RESULT=gom.script.sys.execute_user_defined_dialog (dialog={ - "content": [ - [ - { - "columns": 1, - "default": "", - "file_types": [ - ], - "file_types_default": "", - "limited": False, - "name": "directory", - "rows": 1, - "selection_type": "directory", - "title": { - "id": "", - "text": "Choose Folder", - "translatable": True - }, - "tooltip": { - "id": "", - "text": "Click to select a folder", - "translatable": True - }, - "type": "input::file" - } - ] - ], - "control": { - "id": "OkCancel" - }, - "embedding": "", - "position": "", - "size": { - "height": 112, - "width": 271 - }, - "sizemode": "", - "style": "Standard", - "title": { - "id": "", - "text": "List files in a folder", - "translatable": True - } -}) - -dir = RESULT.directory -print('Files in directory', dir + ':') -for filename in os.listdir(dir): - print(' File:', filename) diff --git a/examples/FileSelectionAndFiltering/scripts/listdir_ext.py b/examples/FileSelectionAndFiltering/scripts/listdir_ext.py deleted file mode 100644 index ce15455..0000000 --- a/examples/FileSelectionAndFiltering/scripts/listdir_ext.py +++ /dev/null @@ -1,63 +0,0 @@ -# -*- coding: utf-8 -*- - -import gom -import os - - -RESULT=gom.script.sys.execute_user_defined_dialog (dialog={ - "content": [ - [ - { - "columns": 1, - "default": "", - "file_types": [ - ], - "file_types_default": "", - "limited": False, - "name": "directory", - "rows": 1, - "selection_type": "directory", - "title": { - "id": "", - "text": "Choose Folder", - "translatable": True - }, - "tooltip": { - "id": "", - "text": "Click to select a folder", - "translatable": True - }, - "type": "input::file" - } - ] - ], - "control": { - "id": "OkCancel" - }, - "embedding": "", - "position": "", - "size": { - "height": 112, - "width": 271 - }, - "sizemode": "", - "style": "Standard", - "title": { - "id": "", - "text": "List files in a folder", - "translatable": True - } -}) - -dir = RESULT.directory -# change working directory to the selected directory -os.chdir(dir) -print('Files in directory', dir + ':') -for filename in os.listdir(dir): - if os.path.isdir(filename): - print(' Folder:', filename) - elif os.path.isfile(filename): - base, ext = os.path.splitext(filename) - print(' File:', filename, ' Base:', base, ' Extension:', ext) - else: - print(' Other:', filename) diff --git a/examples/FileSelectionAndFiltering/scripts/walkdir_ext.py b/examples/FileSelectionAndFiltering/scripts/walkdir_ext.py deleted file mode 100644 index 29c3981..0000000 --- a/examples/FileSelectionAndFiltering/scripts/walkdir_ext.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- - -import gom -import os - - -RESULT=gom.script.sys.execute_user_defined_dialog (dialog={ - "content": [ - [ - { - "columns": 1, - "default": "", - "file_types": [ - ], - "file_types_default": "", - "limited": False, - "name": "directory", - "rows": 1, - "selection_type": "directory", - "title": { - "id": "", - "text": "Choose Folder", - "translatable": True - }, - "tooltip": { - "id": "", - "text": "Click to select a folder", - "translatable": True - }, - "type": "input::file" - } - ] - ], - "control": { - "id": "OkCancel" - }, - "embedding": "", - "position": "", - "size": { - "height": 112, - "width": 271 - }, - "sizemode": "", - "style": "Standard", - "title": { - "id": "", - "text": "List files in a folder", - "translatable": True - } -}) - -dir = RESULT.directory -print('Files in directory tree below', dir + ':') -for (basepath, subfolders, filenames) in os.walk(dir): - print(' Files in directory', basepath + ':') - for filename in filenames: - base, ext = os.path.splitext(filename) - print(' File:', filename, ' Base:', base, ' Extension:', ext) - print(' -> Full path:', os.path.join(basepath, filename)) diff --git a/examples/FileSelectionAndFiltering/scripts/walkdir_import_scripts.py b/examples/FileSelectionAndFiltering/scripts/walkdir_import_scripts.py deleted file mode 100644 index ea6aa82..0000000 --- a/examples/FileSelectionAndFiltering/scripts/walkdir_import_scripts.py +++ /dev/null @@ -1,64 +0,0 @@ -# -*- coding: utf-8 -*- - -import gom -import os - - -RESULT=gom.script.sys.execute_user_defined_dialog (dialog={ - "content": [ - [ - { - "columns": 1, - "default": "", - "file_types": [ - ], - "file_types_default": "", - "limited": False, - "name": "directory", - "rows": 1, - "selection_type": "directory", - "title": { - "id": "", - "text": "Choose Folder", - "translatable": True - }, - "tooltip": { - "id": "", - "text": "Klick to select a folder", - "translatable": True - }, - "type": "input::file" - } - ] - ], - "control": { - "id": "OkCancel" - }, - "embedding": "", - "position": "", - "size": { - "height": 112, - "width": 271 - }, - "sizemode": "", - "style": "Standard", - "title": { - "id": "", - "text": "List files in a folder", - "translatable": True - } -}) - -dir = RESULT.directory -for (basepath, subfolders, filenames) in os.walk(dir): - for filename in filenames: - base, ext = os.path.splitext(filename) - if ext == '.py': - scriptfile = os.path.join(basepath, filename) - basename, _ = os.path.splitext(filename) - gom.script.sys.import_script ( - config_level='user', - display_names=[basename], - files=[scriptfile], - names=['test.' + basename], - replace_existing_scripts=True) diff --git a/examples/FileSelectionAndFiltering/scripts/walkdir_import_stl_pol.py b/examples/FileSelectionAndFiltering/scripts/walkdir_import_stl_pol.py deleted file mode 100644 index 338df93..0000000 --- a/examples/FileSelectionAndFiltering/scripts/walkdir_import_stl_pol.py +++ /dev/null @@ -1,69 +0,0 @@ -# -*- coding: utf-8 -*- - -import gom -import os - - -RESULT=gom.script.sys.execute_user_defined_dialog (dialog={ - "content": [ - [ - { - "columns": 1, - "default": "", - "file_types": [ - ], - "file_types_default": "", - "limited": False, - "name": "directory", - "rows": 1, - "selection_type": "directory", - "title": { - "id": "", - "text": "Choose Folder", - "translatable": True - }, - "tooltip": { - "id": "", - "text": "Klick to select a folder", - "translatable": True - }, - "type": "input::file" - } - ] - ], - "control": { - "id": "OkCancel" - }, - "embedding": "", - "position": "", - "size": { - "height": 112, - "width": 271 - }, - "sizemode": "", - "style": "Standard", - "title": { - "id": "", - "text": "List files in a folder", - "translatable": True - } -}) - -dir = RESULT.directory -for (basepath, subfolders, filenames) in os.walk(dir): - for filename in filenames: - base, ext = os.path.splitext(filename) - if ext == '.stl': - stlfile = os.path.join(basepath, filename) - gom.script.sys.import_stl ( - bgr_coding=True, - files=[stlfile], - import_mode='new_elements', - length_unit='mm', - stl_color_bit_set=False, - target_type='mesh') - if ext == '.pol': - polfile = os.path.join(basepath, filename) - gom.script.sys.import_pol ( - files=[polfile], - import_mode='new_elements') diff --git a/examples/MeasurementSystemAnalysis/README.md b/examples/MeasurementSystemAnalysis/README.md deleted file mode 100644 index 7567ac4..0000000 --- a/examples/MeasurementSystemAnalysis/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Measurement System Analysis - -## General - -* MSA / Gauge R&R conformal measurement system analysis. -* It will compute statistical values based of repetitive measurements to generate values describing the system quality in means of repeatability and reliability. -* The generated data can be output via an excel sheet. -* Please see the sparse documentation here: [README.pdf](doc/README.pdf) - -## Add-on development - -* The add-on is meant to be as an example for your own project. diff --git a/examples/MeasurementSystemAnalysis/doc/README.md b/examples/MeasurementSystemAnalysis/doc/README.md deleted file mode 100644 index d6eb794..0000000 --- a/examples/MeasurementSystemAnalysis/doc/README.md +++ /dev/null @@ -1,3 +0,0 @@ -MSA / Gauge R&R conform measurment system analysis. It will compute statistical values based of repetitive measurements to generate values describing the system quality in means of repeatabillity and reliability. - -See PDF for detailed description: [PDF](README.pdf) diff --git a/examples/MeasurementSystemAnalysis/doc/README.pdf b/examples/MeasurementSystemAnalysis/doc/README.pdf deleted file mode 100644 index edfe7eb7eefeec14d36bc28805226711751d0174..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42493 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 diff --git a/examples/MeasurementSystemAnalysis/license/license.txt b/examples/MeasurementSystemAnalysis/license/license.txt deleted file mode 100644 index bb42913..0000000 --- a/examples/MeasurementSystemAnalysis/license/license.txt +++ /dev/null @@ -1,296 +0,0 @@ -ZEISS Add-Ons / Apps End User License Agreement (EULA) -====================================================== - -English version. See below for German version. -Englische Version. Siehe unten für die Deutsche Version. - -1. Introduction - -1.1 General information - -This End User License Agreement for Add-Ons / Apps ("EULA Add-Ons / Apps") is a legal agreement between "you" (either an individual or a legal entity, hereinafter referred to as "licensee" or "customer") and ZEISS ("ZEISS" or "licensor") (each individually a "party" and collectively the "parties") for your use of ZEISS software products. The agreement sets forth all rights and obligations for both licensee and ZEISS and governs your use of all Software Products installed or provided by ZEISS. Any amendment to this agreement must be in writing and in accordance with the terms and conditions contained herein. By paying the applicable license fee(s) and by downloading, installing or using the software, you agree that this agreement shall be enforceable against you in the same manner as a written, negotiated contract signed by you. If you do not agree to the terms of this agreement, you are not authorized and may not download, install or use any ZEISS software products. - -In order to use the ZEISS software products and services, the licensee must have the following: - -(a) a so-called valid subscription agreement or - -(b) a valid license from ZEISS. - -Furthermore, individual software products - -(a) which are based on a subscription agreement and / or - -(b) with a server-based licensing solution - -require and use a secure connection of the application computer to the ZEISS infrastructure and/or the "Cloud Services". - -1.2 The licensor is ZEISS, the licensee is the end customer. The licensor grants the licensee a non-exclusive, non-transferable right to use the "software product", which includes the specific software program and the subsequent extensions, updates, patches and associated documentation for internal company operation, as well as the associated manuals and software documentation. - -1.3 The software product may contain codes, objects and other intellectual property developed and licensed by licensors or third parties and integrated into the software product ("embedded third party software"). Any embedded third party software or open source code and open source licenses used shall not limit or impair the rights of use granted to licensee and may be accessed at any time within the respective software used. In individual cases, the respective license conditions can be made available by the licensor upon request at any time. - -1.4 Any terms and conditions of purchase of the licensee that conflict with or deviate from this agreement shall not become part of the agreement, even if the licensor does not expressly object to them. Amendments to the EULA must be expressly agreed in writing by both parties. - - -2. Term and termination / license fees - -2.1 The license agreement begins with license activation and ends with the period of use of the Pro Version or with the end of the payment period. - -2.2 The Licensor shall be entitled to terminate this license agreement and the corresponding rights of use with immediate effect if the licensee violates any provision of this license agreement or tacitly tolerates a violation of this license agreement by third parties or fails to fulfill its obligations under this license agreement or if the licensee files for insolvency or a change of control occurs at the licensee. - -2.3 Notwithstanding the foregoing, and unless otherwise agreed in this license agreement, this license agreement shall terminate automatically upon licensee's breach of any of its provisions. - -2.4 Under no circumstances shall license fees be fully or partially refundable upon termination or mutually agreed termination of this agreement, unless ZEISS is responsible for the early termination of this agreement. - - -3. Reproduction rights - -3.1 The licensee may reproduce the delivered software to the extent that the reproduction is necessary to use the software. Necessary reproductions of the software include, but are not limited to, the installation of the software product on the mass storage of the device in accordance with this license agreement and the loading of the software into the main memory of the computer. - -3.2 In addition, licensee shall be entitled to make copies for data backup purposes. This backup copy of the licensed software product must be marked as such. - -3.3 If, for reasons of data security or backup, a quick reactivation of the computer system, including the subject matter of the agreement, and the backup of the entire data stock, including the installed software product, are required after a total failure, licensee may create the maximum required number of backup copies. The data media concerned shall be appropriately marked. The backup copies may only be used for archiving purposes. - -3.4 The licensee is not entitled to make further copies or to instruct third parties to make further copies, in particular the licensee is not entitled to print out the program code with a printer or to make photocopies of the manual. - - -4. Resale and transfer - -4.1 The licensee is not entitled to rent, lease, lend or make the software product available to third parties within the scope of hosting or download options, unless the Licensor has expressly indicated or permitted this in writing. - -4.2 However, it is permitted to grant a right of use to third parties if they have to use the software product to the licensee’s specifications (like own employees). Independent third parties are excluded from use in any case. - -4.3 Transfer within legal entities or global groups of licensee: Provided that the transferring licensee and the receiving party are part of one legal entity or part of affiliated companies, the transfer is permitted provided that the receiving party agrees to these license terms. "Affiliate" means any legal entity that is directly or indirectly controlled by a Legal Entity or its parent company. "Control" for purposes of this license agreement means direct or indirect ownership of more than fifty percent (50%) of the stock of such entity or more than fifty percent (50%) direct or indirect participation in the decision-making body of such entity. - - -5. Back translation and program changes - -5.1 As a matter of principle, the licensee may not make any changes to the software product unless this is necessary to correct errors. The prerequisite is that this is done solely for the purpose of correcting errors that impair the functioning of the software. -In the latter case and if important program functions and working methods could be disclosed during the repair process, licensee may commission a commercially active third party to carry out the repair if this third party is not a potential competitor of licensor. -Insofar as the licensee makes changes to the software product in order to rectify errors, the licensor shall not assume any liability for the resulting consequences, in particular not through this authorization. - -5.2 The reverse translation of the licensed program code into other code forms (decompilation) and other types of reverse engineering of various different phases of software creation are permitted only to the extent that they serve to correct errors that impair the functioning of the software (in accordance with section 5.1). However, licensee may perform such decompilation only to the extent necessary for correction and, if applicable, in compliance with the terms and conditions contractually agreed with the owner of the copyright in this program. -Further, decompilation is permitted in cases to obtain information necessary for interoperability with an independently created computer program and only if such information cannot be obtained otherwise. - -5.3 A further prerequisite for the permission to reverse engineer is the performance of reverse engineering or program observation exclusively by means of procedures which the licensee is authorized to perform in accordance with this license agreement. In particular, the program code may in no case be printed out. - -5.4 All property rights and copyrights relating to the software product, the printed accompanying materials and all copies of the software product shall remain with the licensor or its suppliers. This software product is protected under German copyright law, U.S. copyright law and the provisions of international treaties. The licensee is not entitled to reproduce the printed materials accompanying the software. - - -5.5 The licensee shall not be entitled to remove, modify or add to any copyright notices or trademark notices placed by licensor. This includes, without limitation, all references in physical and/or electronic media or documents, in "setup wizards" or in "about..." dialog boxes, and/or in other references displayed on or activated via the Internet, in program code or other embodiments originally included in the software or otherwise created by licensor. - -6. Warranty and right of termination - -6.1 The licensor warrants with respect to the software product licensed to the licensee the performance set forth in the description, provided that the software product is installed in the intended system in compliance with the licensor's guidelines. - -6.2 The licensor shall correct errors in the software product, and in all manuals and other documents, within a reasonable period of time after receiving from the licensee the corresponding information on the error necessary to correct the error. Errors shall be remedied by rectification, which shall not be invoiced, or by replacement of the delivery, at the option of the licensor. - -6.3 The licensee's right of termination due to the non-executability of the software product may only be exercised after rectifications or replacements have been made twice without success. - -6.4 The licensor neither warrants nor guarantees the functionality of the programs created by third parties or the licensee / customer, nor the error-free execution of the programs with the software or on the licensor's systems. - - -7. Liability - -7.1 If the licensee is unable to use the software product in the manner specified in the agreement and the licensee is responsible for this due to the failure to implement or the incorrect implementation of suggestions and advice before or after signing the agreement or due to the breach of other contractual obligations, the provisions set forth in this agreement shall apply mutatis mutandis to the exclusion of any further claims by the licensee. - -For damages that do not occur to the software product, respectively not to the hardware and the connected device, the liability obligation of the licensor applies exclusively in the following cases, regardless of the respective legal ground: - -- willful misconduct, - -- gross negligence of its executive bodies or officers, - -- culpable damage to life, limb and health, in the event of errors, which the lLicensor has fraudulently concealed or which it has excluded under warranty, - -- software errors within the scope of liability for personal injury and property damage due to personally implemented objects, as set out in the product liability regulations applicable to them - -7.2 In the event of culpable breach of material contractual obligations, the licensor shall also be liable for gross negligence on the part of non-executive employees and for slight negligence. In the latter case, liability shall be limited to damages that are foreseeable and typical for this type of contract. - -7.3 In addition, the licensor, its employees and its vicarious agents shall be liable for data loss or changes due to program errors, limited to the extent that this would have been unavoidable if the licensee had complied with its obligation to make back-up copies regularly and at least once a day. - -7.4 In the event of claims based on copyright infringement, the licensor shall grant the licensee the right to continue using the software product or to make modifications to the software product so that copyright protection is ensured. If this is not commercially reasonable, the licensor shall take back the subject matter of the agreement and refund the license fee paid, less an amount corresponding to the duration of the previous use. This shall apply provided that the licensee notifies the licensor of this type of claim in writing without delay and allows licensor all legal remedies and out-of-court settlements. - -7.5 The licensee or its IT provider shall be liable for server interruptions, interruption of license allocation and other support cases that are not clearly attributable to an incorrectly created license. - -The licensee or its IT provider is responsible for maintaining the necessary number of licenses to provide its services. The licensor is not liable for interruptions in use and subsequent work / production stoppages. - - -7.6 Further liability claims of the licensee are expressly excluded. -7.7 The licensee is responsible for all problems arising from the use of the software product that are not directly caused by the licensor. Therefore, licensee is responsible for all data generated and produced during the use of the software product. Accordingly, licensee is obligated and responsible for compliance with the terms and conditions set forth in this license agreement. - - -8. Security measures - -The licensee shall take suitable measures to secure the software and, if applicable, the access data for online access against access by unauthorized third parties. In particular, all copies of the software as well as the access data shall be kept in a protected place. - - -9. Industrial property rights and copyrights - -9.1 If a third party asserts claims for infringement of an industrial property right or a copyright against the customer because the customer uses a software version, firmware supplement or associated documentation supplied by ZEISS, ZEISS shall be obligated to pay any cost and damage compensation amounts awarded to the owner of the property right by a court or awarded with the prior consent of ZEISS. This is subject to the condition that the customer informs ZEISS immediately in writing of such claims and that ZEISS reserves the right to all defensive measures and out-of-court settlements. The customer is obligated to support ZEISS in the defense to the best of its ability. Under these conditions, ZEISS shall generally procure for the customer the right to continue using the software version, firmware supplement or documentation. If this should not be possible under economically reasonable conditions, ZEISS shall be obligated, at its own discretion and at its own expense, either to modify or replace the relevant item in such a way that the property right is not infringed, or to take back the item and refund the remuneration paid for it less an amount taking into account the benefits derived. - -9.2 ZEISS shall have no obligations if property right infringements are caused by the fact that software versions , firmware supplements or documentation supplied by ZEISS are not used in the intended manner or are not used on the specific systems. - - -10. Export Control - -Licensee assumes responsibility for compliance with all applicable rules and regulations, including but not limited to the export control and sanctions regulations of the Federal Republic of Germany, the European Union and the United States of America. In particular, licensee agrees not to provide the software or any related technology or documentation or any part thereof, directly or indirectly, to any sanctioned country or to any sanctioned person or entity in violation of the foregoing. - -Licensee represents and guarantees that it will not use the software or any related technology or documentation or any portion thereof in violation of any applicable law or regulation. The licensee further agrees to indemnify and hold harmless licensor from and against any and all claims resulting from licensee's failure to comply with any of the foregoing applicable provisions. - - -11. Miscellaneous - -11.1 All verbal agreements, amendments, extensions or concretizations of these license conditions as well as the special characteristics of the assurances or agreements or arrangements made must be in writing to be legally effective. If these are drafted by representatives or vicarious agents of the Licensor, they shall only become legally binding upon approval by the Licensor. - -11.2 Should parts of this contract become invalid, this shall not affect the validity of the remaining parts of this contract. The ineffective part of this contract shall be replaced by its parties with legally permissible provisions that come as close as possible to the intention of the ineffective provisions. - -11.3 The laws of the Federal Republic of Germany shall apply to this contract, excluding the law on the international sale of goods and the rules of conflict of laws. - -Version from October 2023 - ------------------------------------------------------------------------------ - -ZEISS Add-Ons / Apps End User License Agreement (EULA) -====================================================== - -German version. See above for English version. -Deutsche Version. Siehe oben für die Englische Version. - -1. Einführung - -1.1 Allgemeine Informationen - -Diese Endbenutzer-Lizenzvereinbarung für Add-Ons / Apps (End User License Agreement, „EULA Add-Ons / Apps“) ist eine rechtsgültige Vereinbarung zwischen „Ihnen“ (entweder eine natürliche oder juristische Person, im Folgenden als „Lizenznehmer“ oder „Kunde“ bezeichnet) und ZEISS („ZEISS“ oder „Lizenzgeber“) (jeweils einzeln eine „Partei“ und zusammen die „Parteien“) für Ihre Nutzung von ZEISS Softwareprodukten. Die Vereinbarung legt alle Rechte und Pflichten sowohl für den Lizenznehmer als auch für ZEISS fest und regelt Ihre Nutzung aller Softwareprodukte, die von ZEISS installiert oder zur Verfügung gestellt werden. Jede Änderung dieser Vereinbarung muss schriftlich erfolgen und mit den hierin enthaltenen Bestimmungen und Bedingungen übereinstimmen. Durch die Zahlung der geltenden Lizenzgebühr(en) und durch das Herunterladen, die Installation oder die Nutzung der Software erklären Sie sich damit einverstanden, dass diese Vereinbarung Ihnen gegenüber gleichermaßen durchsetzbar ist wie ein schriftlicher, ausgehandelter und von Ihnen unterzeichneter Vertrag. Wenn Sie den Bedingungen dieser Vereinbarung nicht zustimmen, sind Sie nicht berechtigt und dürfen keine ZEISS Softwareprodukte herunterladen, installieren oder verwenden. - -Für die Nutzung der ZEISS Softwareprodukte und Leistungen muss der Lizenznehmer über Folgendes verfügen: - -(a) einen sog. gültigen Subscriptionvertrag oder - -(b) eine gültige Lizenz von ZEISS. - -Ferner erfordern und verwenden einzelne Softwareprodukte - -(a) die auf einem Subscriptionvertrag basieren und / oder - -(b) mit einer serverbasierten Lizenzlösung - -eine sichere Verbindung des Applikationsrechners mit der ZEISS Infrastruktur und / oder den „Cloud Services“. - -1.2 Lizenzgeber ist ZEISS Lizenznehmer ist der Endkunde. Der Lizenzgeber gewährt dem Lizenznehmer ein nicht ausschließliches, nicht übertragbares Nutzungsrecht für das „Softwareprodukt“, welches das spezielle Softwareprogramm und die damit nachfolgenden Erweiterungen, Updates, Patches und zugehörige Dokumentation für den unternehmensinternen Betrieb, wie auch die dazugehörigen Handbücher und Softwaredokumentation, einschließt. - -1.3 Das Softwareprodukt kann Codes, Objekte und anderes geistiges Eigentum enthalten, das von Lizenzgebern oder Dritter entwickelt und von diesen lizenziert und in das Softwareprodukt integriert wurde („Embedded Third Party Software“). Etwaig verwendete Embedded Third Party Software oder Open Source-Code und Open Source-Lizenzen beschränken oder beeinträchtigen die gewährten Nutzungsrechte des Lizenznehmers nicht und können jederzeit innerhalb der jeweils genutzten Software abgerufen werden. Im Einzelfall können die jeweiligen Lizenzbedingungen vom Lizenzgeber auf Anforderung jederzeit zur Verfügung gestellt werden. - -1.4 Entgegenstehende oder von dieser Vereinbarung abweichende Kaufbedingungen des Lizenznehmers werden nicht Vereinbarungsbestandteil, auch wenn der Lizenzgeber diesen nicht ausdrücklich widerspricht. Änderungen der EULA müssen schriftlich und ausdrücklich durch beide Parteien vereinbart werden. - - -2. Laufzeit und Kündigung / Lizenzgebühren - -2.1 Die Lizenzvereinbarung beginnt mit Lizenzaktivierung und endet mit der Nutzungsdauer der Pro Version oder mit dem Ende der Bezahldauer. - -2.2 Der Lizenzgeber ist berechtigt, diese Lizenzvereinbarung und die entsprechenden Nutzungsrechte mit sofortiger Wirkung zu kündigen, falls der Lizenznehmer eine Bestimmung dieser Lizenzvereinbarung verletzt oder eine Verletzung dieser Lizenzvereinbarung durch Dritte stillschweigend duldet oder seine Verpflichtungen aus dieser Lizenzvereinbarung nicht erfüllt oder falls der Lizenznehmer Insolvenz anmeldet oder bei dem Lizenznehmer ein Kontrollwechsel stattfindet. - -2.3 Ungeachtet der vorstehenden Bestimmungen und sofern in dieser Lizenzvereinbarung nicht anderweitig vereinbart, endet diese Lizenzvereinbarung automatisch bei Verletzung einer seiner Bestimmungen durch den Lizenznehmer. - -2.4 Unter keinen Umständen sind bei Kündigung oder einvernehmlicher Beendigung dieses Vertrages Lizenzgebühren vollständig oder teilweise erstattungsfähig, es sei denn ZEISS hat die vorzeitige Beendigung dieses Vertrages zu vertreten. - - -3. Vervielfältigungsrechte - -3.1 Der Lizenznehmer darf die gelieferte Software in dem Umfang vervielfältigen, in dem die Vervielfältigung zur Nutzung der Software erforderlich ist. Erforderliche Vervielfältigungen der Software sind unter anderem die Installation des Softwareprodukts auf dem Massenspeicher des Geräts gemäß diesem Lizenzvertrag und das Laden der Software in den Hauptspeicher des Computers. - -3.2 Außerdem ist der Lizenznehmer zur Anfertigung von Kopien zur Datensicherung berechtigt. Diese Sicherungskopie des lizenzierten Softwareprodukts muss als solche gekennzeichnet sein. - -3.3 Sind aus Gründen der Datensicherheit oder -sicherung nach einem Totalausfall eine schnelle Reaktivierung des Computersystems, des Vertragsgegenstands eingeschlossen, sowie die Sicherung des gesamten Datenbestands, des installierten Softwareprodukts eingeschlossen, erforderlich, so kann der Lizenznehmer die maximal erforderliche Anzahl an Sicherungskopien erstellen. Die betreffenden Datenmedien sind angemessen zu kennzeichnen. Die Sicherungskopien dürfen ausschließlich zu Archivierungszwecken genutzt werden. - -3.4 Der Lizenznehmer ist nicht berechtigt, weitere Kopien zu erstellen oder Dritte anzuweisen, weitere Kopien zu erstellen, insbesondere ist er nicht berechtigt, den Programmcode mit einem Drucker auszudrucken oder Fotokopien des Handbuchs zu erstellen. - - -4. Weiterverkauf und Übertragung - -4.1 Der Lizenznehmer ist nicht berechtigt, das Softwareprodukt Dritten im Rahmen von Hosting- oder Downloadoptionen zu vermieten, verleasen, verleihen oder zur Verfügung zu stellen, es sei denn, der Lizenzgeber hat dies ausdrücklich schriftlich angegeben oder erlaubt. - -4.2 Es ist jedoch gestattet, Dritten ein Nutzungsrecht einzuräumen, wenn diese das Softwareprodukt nach Maßgabe des Lizenznehmers (wie eigene Mitarbeiter) nutzen müssen. Von der Nutzung auf jeden Fall ausgeschlossen sind unabhängige Dritte. - -4.3 Übertragung innerhalb von Rechtspersonen oder globalen Konzernen des Lizenznehmers: Sofern der übertragende Lizenznehmer und die empfangende Partei Teil einer Rechtsperson oder Teil verbundener Unternehmen sind, ist die Übertragung gestattet, sofern die empfangende Partei diesen Lizenzbedingungen zustimmt. „Verbundene Unternehmen“ bedeutet jede Rechtsperson, die direkt oder indirekt von einer Rechtsperson oder deren Muttergesellschaft kontrolliert wird. „Kontrolle“ im Sinne dieses Lizenzvertrags bedeutet direkter oder indirekter Besitz von mehr als fünfzig Prozent (50 %) der Anteile an diesem Unternehmen oder mehr als fünfzig Prozent (50 %) direkter oder indirekter Beteiligung am Entscheidungsorgan dieses Unternehmens. - - -5. Rückübersetzung und Programmänderungen - -5.1 Der Lizenznehmer darf grundsätzlich keine Änderungen am Softwareprodukt vornehmen, außer wenn dies zur Behebung von Fehlern erforderlich ist. Voraussetzung ist, dass dies ausschließlich zum Zweck der Korrektur von Fehlern geschieht, die das Funktionieren der Software beeinträchtigen. -Im letzteren Fall und wenn beim Reparaturvorgang wichtige Programmfunktionen und Arbeitsmethoden offengelegt werden könnten, kann der Lizenznehmer einen gewerblich tätigen Dritten mit der Reparatur beauftragen, wenn dieser Dritte nicht ein potenzieller Wettbewerber des Lizenzgebers ist. -Soweit der Lizenznehmer zur Behebung von Fehlern Änderungen am Softwareprodukt vornimmt, übernimmt der Lizenzgeber, insb. auch nicht durch diese Freigabe, für die daraus resultierende Folgen keine Haftung. - -5.2 Die Rückübersetzung des lizenzierten Programmcodes in andere Codeformen (Dekompilierung) und andere Arten des Reverse Engineering verschiedener unterschiedlicher Phasen der Software-Erstellung sind nur insoweit zulässig, wie sie dazu dienen, Fehler zu korrigieren, die das Funktionieren der Software beeinträchtigen (entsprechend Ziffer 5.1). Der Lizenznehmer darf eine solche Dekompilierung jedoch nur in dem für die Berichtigung erforderlichen Ausmaß und gegebenenfalls unter Einhaltung der mit dem Inhaber des Urheberrechts an diesem Programm vertraglich festgelegten Bedingungen vornehmen. -Weiter ist eine Dekompilierung in Fällen zulässig, um Informationen zu gewinnen, die zur Interoperabilität mit einem unabhängig geschaffenen Computerprogramm erforderlich sind, und nur falls diese Informationen nicht anderweitig beschafft werden können. - -5.3 Weitere Voraussetzung für die Genehmigung zur Rückübersetzung ist die Durchführung des Reverse Engineering oder der Programmbeobachtung ausschließlich durch Verfahren, zu deren Ausführung der Lizenznehmer gemäß diesem Lizenzvertrag berechtigt ist. Insbesondere darf der Programmcode in keinem Fall ausgedruckt werden. 5.4 Alle Eigentums- und Urheberrechte in Bezug auf das Softwareprodukt, die gedruckten Begleitmaterialien und sämtliche Kopien des Softwareprodukts verbleiben beim Lizenzgeber oder seinen Lieferanten. Das vorliegende Softwareprodukt ist nach deutschem Urheberrecht, US-amerikanischem Urheberrecht und den Bestimmungen internationaler Verträge geschützt. Der Lizenznehmer ist nicht berechtigt, die der Software beiliegenden gedruckten Materialien zu vervielfältigen. - -5.5 Der Lizenznehmer ist nicht berechtigt, Hinweise zum Urheberrecht oder Markennennungen, die der Lizenzgeber angebracht hat, zu entfernen, zu ändern oder zu ergänzen. Dies beinhaltet ohne Einschränkungen alle Verweise in physischen und / oder elektronischen Medien oder Dokumenten, in „Setup-Assistenten" oder in den Dialogfeldern „Über...“ und / oder in anderen Verweisen, die im Internet dargestellt oder über das Internet aktiviert werden, im Programmcode oder anderen Ausführungsformen, die ursprünglich in der Software enthalten waren oder anderweitig vom Lizenzgeber erstellt wurden. - - -6. Gewährleistung und Kündigungsrecht - -6.1 Der Lizenzgeber gewährleistet in Bezug auf das für den Lizenznehmer lizenzierte Softwareprodukt die in der Beschreibung festgelegte Leistung, insofern das Softwareprodukt in dem vorgesehenen System unter Einhaltung der Richtlinien des Lizenzgebers installiert wird. - -6.2 Der Lizenzgeber beseitigt Fehler an dem Softwareprodukt, und in allen Handbüchern sowie anderen Dokumenten, innerhalb einer angemessenen Frist nach Erhalt der zur Fehlerbeseitigung notwendigen entsprechender Angaben vom zum Fehler Lizenznehmer. Fehler werden durch Nachbesserungen, die nicht in Rechnung gestellt werden, oder durch Ersatz der Lieferung, nach Wahl des Lizenzgebers, behoben. - -6.3 Das Kündigungsrecht des Lizenznehmers aufgrund der Nichtausführbarkeit des Softwareprodukts kann erst ausgeübt werden, wenn Nachbesserungen bzw. Ersatz zweimal erfolglos erfolgt sind. - -6.4 Der Lizenzgeber gibt weder eine Garantie noch eine Gewährleistung für die Funktionalität der von Drittanbietern oder dem Lizenznehmer / Kunden erstellten Programme, ebenso wenig wie auf das fehlerfreie Ausführen der Programme mit der Software oder auf den Systemen des Lizenzgebers. - - -7. Haftung - -7.1 Falls der Lizenznehmer das Softwareprodukt nicht auf die vertraglich festgelegte Weise nutzen kann und der Lizenznehmer dies aufgrund der unterlassenen oder falschen Umsetzung von Vorschlägen und Ratschlägen vor oder nach der Unterzeichnung des Vertrages oder aufgrund der Verletzung sonstiger vertraglicher Pflichten zu vertreten hat, so gelten unter Ausschluss weiterer Ansprüche des Lizenznehmers entsprechend die in diesem Vertrag dargelegten Regelungen. - -Für Schäden, die nicht am Softwareprodukt, beziehungsweise nicht an der Hardware und dem angeschlossenen Gerät entstehen, gilt die Haftungsverpflichtung des Lizenzgebers ausschließlich in den folgenden Fällen, unabhängig vom jeweiligen Rechtsgrund: - -- vorsätzliches Fehlverhalten, - -- grobe Fahrlässigkeit seiner ausführenden Organe oder leitenden Angestellten, - -- schuldhaft herbeigeführter Schaden des Lebens, des Körpers und der Gesundheit, bei Fehlern, die der Lizenzgeber arglistig verschwiegen, oder die er unter Gewährleistung ausgeschlossen hat, - -- Softwarefehler im Rahmen der Haftung bei Personen- und Sachschäden aufgrund persönlich implementierter Objekte, wie in den dafür zutreffenden Produkthaftungsregelungen dargelegt - -7.2 Bei schuldhafter Verletzung wesentlicher Vertragspflichten haftet der Lizenzgeber auch bei grober Fahrlässigkeit seitens nichtleitender Angestellter und bei leichter Fahrlässigkeit. Im letzteren Fall ist die Haftung auf Schäden begrenzt, die vorhersehbar und typisch für diese Art von Vertrag sind. - -7.3 Außerdem haften der Lizenzgeber, seine Mitarbeiter und seine Erfüllungsgehilfen für Datenverlust oder -änderungen aufgrund von Programmfehlern, beschränkt auf den Umfang, in dem dies unvermeidbar gewesen wäre, wenn der Lizenznehmer seiner Verpflichtung, regelmäßig und mindestens einmal täglich Sicherungskopien zu erstellen, nachgekommen wäre. - -7.4 Bei Ansprüchen aufgrund von Urheberrechtsverletzungen gewährt der Lizenzgeber dem Lizenznehmer das Recht zur weiteren Nutzung des Softwareprodukts oder zur Vornahme von Änderungen am Softwareprodukt, so dass der Schutz der Urheberrechte gewährleistet ist. Wenn dies nicht wirtschaftlich sinnvoll ist, so nimmt der Lizenzgeber den Vertragsgegenstand zurück und erstattet die gezahlte Lizenzgebühr, abzüglich eines der Dauer der vorherigen Nutzung entsprechenden Betrags. Dies gilt unter der Voraussetzung, dass der Lizenznehmer dem Lizenzgeber diese Art der Ansprüche unverzüglich schriftlich mitteilt und dem Lizenzgeber alle Rechtsmittel und außergerichtlichen Regelungen gestattet. - -7.5 Für Serverunterbrechungen, Unterbrechung der Lizenzzuteilung und sonstige Support-Fälle, die nicht eindeutig auf eine fehlerhaft erstellte Lizenz zurückzuführen sind, haftet der Lizenznehmer bzw. dessen IT-Provider.. -Der Lizenznehmer oder dessen IT-Provider ist verantwortlich für die Vorhaltung der notwendigen Anzahl an Lizenzen zur Erbringung seiner Leistungen. Der Lizenzgeber haftet nicht für Nutzungsunterbrechungen und nachfolgende Arbeits- / Produktionsausfälle. - -7.6 Weitergehende Haftungsansprüche des Lizenznehmers sind ausdrücklich ausgeschlossen. - -7.7 Der Lizenznehmer ist für alle aus der Nutzung des Softwareprodukts entstehenden Probleme verantwortlich, die nicht direkt durch den Lizenzgeber verursacht werden. Daher ist der Lizenznehmer für alle Daten verantwortlich, die bei der Nutzung des Softwareprodukts erzeugt und hergestellt werden. Der Lizenznehmer ist demnach zur beziehungsweise für die Einhaltung der in dieser Lizenzvereinbarung genannten Bedingungen verpflichtet und verantwortlich. - - -8. Sicherungsmaßnahmen - -Der Lizenznehmer wird die Software sowie gegebenenfalls die Zugangsdaten für den Onlinezugriff durch geeignete Maßnahmen vor dem Zugriff durch unbefugte Dritte sichern. Insbesondere sind sämtliche Kopien der Software sowie die Zugangsdaten an einem geschützten Ort zu verwahren. - - -9. Gewerbliche Schutzrechte und Urheberrechte - -9.1 Macht ein Dritter Ansprüche aus Verletzung eines gewerblichen Schutzrechtes oder eines Urheberrechts gegen den Kunden geltend, weil dieser eine von ZEISS gelieferte Softwareversion, Firmwareergänzung oder dazugehörige Dokumentation benutzt, ist ZEISS verpflichtet, etwaige dem Schutzrechtsinhaber gerichtlich zugesprochene oder mit vorheriger Zustimmung von ZEISS zugestandene Kosten- und Schadenersatzbeträge zu bezahlen. Vorausgesetzt ist dabei, dass der Kunde ZEISS unverzüglich schriftlich über derartige Ansprüche unterrichtet und ZEISS alle Abwehrmaßnahmen und außergerichtlichen Regelungen vorbehalten bleiben. Der Kunde ist verpflichtet, ZEISS bei der Abwehr nach besten Kräften zu unterstützen. Unter diesen Voraussetzungen wird ZEISS dem Kunden grundsätzlich das Recht zum weiteren Gebrauch der Softwareversion, Firmwareergänzung oder Dokumentation verschaffen. Falls dies zu wirtschaftlich angemessenen Bedingungen nicht möglich sein sollte, ist ZEISS verpflichtet, nach eigener Wahl und auf eigene Kosten den entsprechenden Gegenstand entweder derart abzuändern oder zu ersetzen, dass das Schutzrecht nicht verletzt wird, oder den Gegenstand zurückzunehmen und das dafür bezahlte Entgelt abzüglich eines die gezogenen Nutzungen berücksichtigenden Betrages zu erstatten. - -9.2 ZEISS hat keine Verpflichtungen, falls Schutzrechtsverletzungen dadurch hervorgerufen werden, dass von ZEISS gelieferte Softwareversionen, Firmwareergänzungen oder Dokumentation nicht in der vorgesehenen Weise verwendet oder nicht auf den bestimmten Systemen eingesetzt wird. - - -10. Exportkontrolle - -Der Lizenznehmer übernimmt die Verantwortung für die Einhaltung aller anwendbaren Bestimmungen und Vorschriften, einschließlich, aber nicht beschränkt auf die Exportkontroll- und Sanktionsbestimmungen der Bundesrepublik Deutschland, der Europäischen Union sowie der Vereinigten Staaten von Amerika. Insbesondere bestätigt der Lizenznehmer, die Software sowie jedwede damit verbundene Technologie oder Dokumentation oder Teile davon weder direkt noch indirekt unter Nichtbefolgung der vorgenannten Bestimmungen in sanktionierte Länder oder an sanktionierte natürliche oder juristische Personen bereitzustellen. - -Der Lizenznehmer sichert dem Lizenzgeber zu, dass er die Software sowie jedwede damit verbundene Technologie oder Dokumentation oder Teile davon nicht unter Verletzung vorgenannter anwendbarer Gesetze oder Vorschriften verwenden wird. Weiterhin verpflichtet sich der Lizenznehmer den Lizenzgeber von allen Ansprüchen freizustellen und schadlos zu halten, welche aus der Nichteinhaltung vorgenannter anwendbarer Bestimmungen resultiert. - - -11. Sonstiges - -11.1 Sämtliche mündliche Vereinbarungen, Änderungen, Erweiterungen oder Konkretisierungen dieser Lizenzbedingungen sowie die besonderen Eigenschaften der getroffenen Zusicherungen oder Vereinbarungen oder Absprachen bedürfen zu ihrer Rechtswirksamkeit der Schriftform. Falls diese von Vertretern oder Erfüllungsgehilfen des Lizenzgebers abgefasst sind, so werden sie erst mit der Genehmigung des Lizenzgebers rechtlich bindend. - -11.2 Sollten Teile dieses Vertrags unwirksam werden, so berührt dies nicht die Wirksamkeit der übrigen Teile dieses Vertrags. Der unwirksame Teil dieses Vertrags soll durch seine Parteien durch gesetzlich zulässige Bestimmungen ersetzt werden, die der Absicht der unwirksamen Bestimmungen am nächsten kommt. - -11.3 Auf diesen Vertrag sind die Gesetze der Bundesrepublik Deutschland anwendbar, unter Ausschluss des Gesetzes über den internationalen Warenkauf und der Regeln des Kollisionsrechts. - -Stand Oktober 2023 diff --git a/examples/MeasurementSystemAnalysis/metainfo.json b/examples/MeasurementSystemAnalysis/metainfo.json deleted file mode 100644 index fc65eea..0000000 --- a/examples/MeasurementSystemAnalysis/metainfo.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "author": "Carl Zeiss GOM Metrology GmbH", - "description": "MSA conform measurement system analysis (ANOVA, ARM)", - "domain": "Metrology", - "labels": [], - "licensing": {}, - "software-revision": "200823", - "software-version": "2023-Beta2", - "sort_index": -1, - "tags": [], - "title": "Measurement System Analysis", - "uuid": "14560e9c-4113-4f95-a23c-fd19397e3b40", - "version": "1.0.5" -} \ No newline at end of file diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_2.metainfo b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_2.metainfo deleted file mode 100644 index b174186..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_2.metainfo +++ /dev/null @@ -1,27 +0,0 @@ -{ - "display_name": "Generate MSA ANOVA-2 setup", - "folded_blocks": [ - ], - "icon": "", - "iinspect_condition": "", - "interactive": false, - "main_menu_path": { - "anchor": { - "item": "reports", - "submenu": [ - "operations" - ], - "type": "submenu" - }, - "script": "userscript.newenv__Tools__MeasurementSystemAnalysis__msa_anova_2", - "submenu": [ - "System analysis" - ] - }, - "multicreation_script": false, - "script_check_type": "none", - "script_element_type": "none", - "show_in_iinspect": false, - "show_in_menu": true, - "uuid": "3633fc5a-e66e-4b44-bfdb-7ce63e82c38e" -} diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_2.py b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_2.py deleted file mode 100644 index 156b6bb..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_2.py +++ /dev/null @@ -1,281 +0,0 @@ -# -*- coding: utf-8 -*- -# -# msa_anova_2 - Script for generating a ANOVA-2 MSA setup -# -# This script generates table templates displaying the ARM values needed for -# MSA / Gauge R&R evaluations. The generated template contains an entry for each -# inspection element type present at script evaluation time. -# -# The table cells will contain a parametric computation for the values in question. -# This means the values will adapt whenever preconditions are changing *except* the -# number or names of the appraisers, parts and trials. So the script must be executed -# again if, e.g., stages are added or an appraiser is renamed. It does not need to -# be executed again if the checks or stages are edited in any other way. -# - -import gom -import xml.etree -import xml.etree.ElementTree as ET -import xml.dom.minidom -import Tools.MeasurementSystemAnalysis.msa_config as cfg -import Tools.MeasurementSystemAnalysis.msa_lib as msa -import Tools.MeasurementSystemAnalysis.msa_gui as gui - - -# ---------------------------------------------------------------------------------- -# Configuration -# ---------------------------------------------------------------------------------- - -# -# Display name of the table template for ANOVA Type-2 evaluations -# -TABLE_TEMPLATE_NAME_ANOVA_2 = 'MSA (ANOVA type 2)' - - -# --------------------------------------------------------------------------------------- -# Functions needed for ANOVA Type-2 expression and template building -# --------------------------------------------------------------------------------------- - -# -# Build stage ranges matching the project setup -# -def create_anova_2_stage_ranges(config): - - for appraiser in config.appraisers: - for part in config.parts: - msa.create_stage_range(appraiser, part, None) - - for appraiser in config.appraisers: - msa.create_stage_range(appraiser, None, None) - - for part in config.parts: - msa.create_stage_range(None, part, None) - - -# -# Create ANOVA 2 expression variable name -# -def create_anova_2_rr_expression(type, data): - text = """ -byappraiser = {{}} -bypart = {{}} -bytrial = {{}} -byAandP = {{}} - -app_element = gom.app.project.actual_elements['{appraiser}'] -par_element = gom.app.project.actual_elements['{part}'] -tri_element = gom.app.project.actual_elements['{trial}'] -sigma_element = gom.app.project.inspection['{sigma}'] -all_stages = gom.app.project.stage_markers['All stages'] - -for stage in all_stages.used_stages: - appraiser = with_context (stage=stage, app_element.value) - if appraiser not in byappraiser: - t = [] - else: - t = byappraiser[appraiser] - t.append (stage) - byappraiser[appraiser] = t - - part = with_context (stage=stage, par_element.value) - if part not in bypart: - t = [] - else: - t = bypart[part] - t.append (stage) - bypart[part] = t - - trial = with_context (stage=stage, tri_element.value) - if trial not in bytrial: - t = [] - else: - t = bytrial[trial] - t.append (stage) - bytrial[trial] = t - - if appraiser not in byAandP: - byAandP.insert (appraiser,{{}}) - submap = byAandP[appraiser] - if part not in submap: - t = [] - else: - t = submap[part] - t.append (stage) - submap[part] = t - byAandP[appraiser] = submap - -p = len(byappraiser) -t = len(bypart) -w = len(bytrial) -sigma_factor = sigma_element.value - -total_avg = avg({result}, index=all_stages) - -P = 0 -for _appraiser in byappraiser: - term = avg ({result}, index = byappraiser[_appraiser]) - total_avg - P = P + (term * term) -P = t * w * P - -T = 0 -for _part in bypart: - term = avg ({result}, index = bypart[_part]) - total_avg - T = T + (term * term) -T = p * w * T - -PT = 0 -for _appraiser in byappraiser: - for _part in bypart: - term = avg ({result}, index = byAandP[_appraiser][_part]) - avg ({result}, index = byappraiser[_appraiser]) - avg({result}, index = bypart[_part]) + total_avg - PT = PT + (term * term) -PT = w * PT - -E = 0 -for _stage in gom.app.project.stage_markers['All stages'].used_stages: - appraiser = with_context (stage=_stage, app_element.value) - part = with_context (stage=_stage, par_element.value) - term = with_context (stage=_stage, {result}) - avg ({result}, index = byAandP[appraiser][part]) - E = E + (term * term) - -f1 = p * t * (w - 1) -f2 = (p - 1) * (t - 1) -f3 = t - 1 -f4 = p - 1 - -s2p = P / f4 -s2t = T / f3 -s2pt = PT / f2 -s2e = E / f1 -s2add = (E + PT) / (f1 + f2) - -f_limit = f_table_value(f1,f2,0.05) -interaction = s2pt / s2e > f_limit - -VE = not interaction ? s2add : s2e -VW = max ((s2pt - s2e) / w, 0) -VP = max (not interaction ? (s2p - s2add) / (t * w) : (s2p - s2pt) / (t * w), 0) -VT = max (not interaction ? (s2t - s2add) / (p * w) : (s2t - s2pt) / (p * w), 0) - -EV = sigma_factor * sqr (VE) -AV = sigma_factor * sqr (VP) -IA = sigma_factor * sqr (VW) -PV = sigma_factor * sqr (VT) - -RR = not interaction ? sqr (EV * EV + AV * AV) : sqr (EV * EV + AV * AV + IA * IA) -""" - return text.format( - result=msa.get_result_token(type), - sigma=cfg.sigma_tag, - appraiser=cfg.appraiser_tag, - part=cfg.part_tag, - trial=cfg.trial_tag) - -# -# Generate table template matching the current element setup -# - - -def create_anova_2_table_template(template_name, config): - - # - # Generate root node - # - root = ET.Element('tabletemplates') - root.attrib['dynamic_stage_support'] = 'none' - root.attrib['view_mode'] = 'report_template' - root.attrib['expanding_column'] = '0' - root.attrib['name'] = template_name - root.attrib['dynamic_column_for_stages'] = '-1' - root.attrib['version'] = '2' - - # - # Generate table headers - # - # The number of headers must match the number of columns. So if cells are added below, the - # header texts must be expanded appropriately. - # - header_texts = ['Element', 'PV', 'EV', 'AV', 'IA', 'RR', 'Sigma', - 'PV [%]', 'EV [%]', 'AV [%]', 'IA [%]', 'RR [%]', 'Tol.'] - root.attrib['columns'] = str(len(header_texts)) - - headers = ET.SubElement(root, 'headers') - - count = 0 - for text in header_texts: - msa.create_column_header(headers, count, text) - count += 1 - - # - # Generate one entry for each element type - # - for type in config.types: - template = ET.SubElement(root, 'template') - template.attrib['dynamic_row_for_stages'] = '-1' - template.attrib['rows'] = '1' - template.attrib['element_type'] = type - - row = ET.SubElement(template, 'row') - row.attrib['index'] = '0' - - # - # Fill entry colums. The number of cells here must match the number of header texts above. - # - gauge_rr_expression = create_anova_2_rr_expression(type, config) - - col_index = 0 - col_index = msa.create_cell_raw(row, col_index, '$icon (explorer_type_and_state)$ $name$', 1) - col_index = msa.create_cell(row, col_index, 'PV', gauge_rr_expression + "return sqr (VT)\n", 1) - col_index = msa.create_cell(row, col_index, 'EV', gauge_rr_expression + "return sqr (VE)\n", 1) - col_index = msa.create_cell(row, col_index, 'AV', gauge_rr_expression + "return sqr (VP)\n", 1) - col_index = msa.create_cell(row, col_index, 'IA', gauge_rr_expression + - "return not interaction ? 'pooled' : sqr (VW)\n", 1) - col_index = msa.create_cell(row, col_index, 'RR', gauge_rr_expression + - "return not interaction ? sqr (VE + VT) : sqr (VE * VT + VW)\n", 1) - col_index = msa.create_cell(row, col_index, 'Sigma', - 'gom.app.project.inspection[\'{element}\'].value'.format(element=cfg.sigma_tag), 1) - col_index = msa.create_cell( - row, col_index, 'PV [%]', gauge_rr_expression + msa.create_percent_expression(type, "sqr (VT)"), 1) - col_index = msa.create_cell(row, col_index, 'EV [%)', gauge_rr_expression + - msa.create_percent_expression(type, "sqr (VE)"), 1) - col_index = msa.create_cell( - row, col_index, 'AV [%]', gauge_rr_expression + msa.create_percent_expression(type, "sqr (VP)"), 1) - col_index = msa.create_cell(row, col_index, 'IA [%]', gauge_rr_expression + - msa.create_percent_expression(type, "sqr (VW)", "not interaction ? '' :"), 1) - col_index = msa.create_cell( - row, col_index, 'GRR [%]', gauge_rr_expression + msa.create_percent_expression(type, "RR"), 1) - col_index = msa.create_cell(row, col_index, 'Tol.', msa.get_tolerance_expression(type), 1) - - return xml.dom.minidom.parseString(ET.tostring(root)).toprettyxml() - - -# ---------------------------------------------------------------------------------- -# MAIN -# ---------------------------------------------------------------------------------- - -msa.check_project_setup() - -# -# Hiding the table widget will speed the script up dramatically -# -gom.script.view.set_tab_visible(view='table', visible=False) - -try: - gom.script.sys.close_stage_range() -except: - pass - -# -# Setup configuration -# -config = gui.Configuration(cfg.EvaluationType.Anova_2) -config.edit(show_sigma_input=True) - -msa.create_common_stage_ranges(config) -create_anova_2_stage_ranges(config) - -template_content = create_anova_2_table_template(TABLE_TEMPLATE_NAME_ANOVA_2, config) -msa.import_table_template(template_content, 'd2e09184-3bd0-4cf2-abdb-e935464593cb') - -gom.script.view.set_tab_visible(view='table', visible=True) - -gom.script.table.switch_template(name=TABLE_TEMPLATE_NAME_ANOVA_2) diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_3.metainfo b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_3.metainfo deleted file mode 100644 index 1b79518..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_3.metainfo +++ /dev/null @@ -1,27 +0,0 @@ -{ - "display_name": "Generate MSA ANOVA-3 setup", - "folded_blocks": [ - ], - "icon": "", - "iinspect_condition": "", - "interactive": false, - "main_menu_path": { - "anchor": { - "item": "reports", - "submenu": [ - "operations" - ], - "type": "submenu" - }, - "script": "userscript.newenv__Tools__MeasurementSystemAnalysis__msa_anova_3", - "submenu": [ - "System analysis" - ] - }, - "multicreation_script": false, - "script_check_type": "none", - "script_element_type": "none", - "show_in_iinspect": false, - "show_in_menu": true, - "uuid": "ece719a7-666b-4468-b077-424b35b7c653" -} diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_3.py b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_3.py deleted file mode 100644 index 3b7c757..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_anova_3.py +++ /dev/null @@ -1,256 +0,0 @@ -# -*- coding: utf-8 -*- -# -# msa_anova_3 - Script for generating an MSA ANOVA-3 evaluation -# -# This script generates a table template the ANOVA Type-3 values needed for MSA / Gauge R&R -# evaluations. -# -# The table cells will contain a parametric computation for the values in question. -# This means the values will adapt whenever preconditions are changing *except* the -# number or names of the appraisers, parts and trials. So the script must be executed -# again if, e.g., stages are added or an appraiser is renamed. It does not need to -# be executed again if the checks or stages are edited in any other way. -# - -import gom -import xml.etree -import xml.etree.ElementTree as ET -import xml.dom.minidom -import Tools.MeasurementSystemAnalysis.msa_lib as msa -import Tools.MeasurementSystemAnalysis.msa_gui as gui -import Tools.MeasurementSystemAnalysis.msa_config as cfg - - -# ---------------------------------------------------------------------------------- -# Configuration -# ---------------------------------------------------------------------------------- - -# -# Display name of the table template for ARM evaluations -# -TABLE_TEMPLATE_NAME_ANOVA_3 = 'MSA (ANOVA type 3)' - - -# --------------------------------------------------------------------------------------- -# Functions needed for ANOVA Type-3 expression and template building -# --------------------------------------------------------------------------------------- - -# -# Build stage ranges matching the project setup -# -def create_anova_3_stage_ranges(config): - - for part in config.parts: - msa.create_stage_range(None, part, None) - for trial in config.trials: - msa.create_stage_range(None, part, trial) - -# -# Create ANOVA 3 expression variable name -# - - -def create_anova_3_var_name(appraiser, part, trial): - return 'X_{0}_{1}'.format(part + 1 if part != None else 'x', - trial + 1 if trial != None else 'x') - -# -# Create expression to compute sum (E) -# - - -def create_anova_3_sum_e_expression(config, type): - - text = '' - text += 'E = 0\n' - - count_p = 0 - for part in config.parts: - - Xxpx = create_anova_3_var_name(None, count_p, None) - text += '{0} = {1}\n'.format(Xxpx, msa.create_restricted_avg_expression(config, None, part, None, type)) - - count_t = 0 - for trial in config.trials: - - Xxpt = create_anova_3_var_name(None, count_p, count_t) - text += '{0} = {1}\n'.format(Xxpt, msa.create_restricted_avg_expression(config, None, part, trial, type)) - - term = '({0} - {1})'.format(Xxpt, Xxpx) - text += 'E = E + {0} * {0}\n'.format(term, term) - - count_t += 1 - - count_p += 1 - - return text - -# -# Create expression to compute ANOVA Type-3 R&R value -# -# This function generates the complete expression for a table cell necessary to -# compute the final R&R value -# - - -def create_anova_3_rr_expression(type, config): - text = """ -bypart = {{}} -bytrial = {{}} -byPandT = {{}} - -par_element = gom.app.project.actual_elements['{part}'] -tri_element = gom.app.project.actual_elements['{trial}'] -sigma_element = gom.app.project.inspection['{sigma}'] - -for stage in gom.app.project.stage_markers['All stages'].used_stages: - - part = with_context (stage=stage, par_element.value) - trial = with_context (stage=stage, tri_element.value) - - if part not in bypart: - t = [] - else: - t = bypart[part] - t.append (stage) - bypart[part] = t - - if trial not in bytrial: - t = [] - else: - t = bytrial[trial] - t.append (stage) - bytrial[trial] = t - - if part not in byPandT: - byPandT.insert (part,{{}}) - submap = byPandT[part] - if trial not in submap: - t = [] - else: - t = submap[trial] - t.append (stage) - submap[trial] = t - byPandT[part] = submap - -t = len (bypart) -w = len (bytrial) -sigma_factor = sigma_element.value - -E = 0 -for _part in bypart: - part_avg = avg ({result}, index = bypart[_part]) - for _trial in bytrial: - pt_avg = avg ({result}, index = byPandT[_part][_trial]) - term = pt_avg - part_avg - E = E + (term * term) - -f = t * (w - 1) - -s2e = E / f -EV = sigma_factor * sqr (s2e) -RR = EV -""" - return text.format( - result=msa.get_result_token(type), - sigma=cfg.sigma_tag, - appraiser=cfg.appraiser_tag, - part=cfg.part_tag, - trial=cfg.trial_tag) - - -# -# Generate table template matching the current element setup -# -def create_anova_3_table_template(template_name, config): - - # - # Generate root node - # - root = ET.Element('tabletemplates') - root.attrib['dynamic_stage_support'] = 'none' - root.attrib['view_mode'] = 'report_template' - root.attrib['expanding_column'] = '0' - root.attrib['name'] = template_name - root.attrib['dynamic_column_for_stages'] = '-1' - root.attrib['version'] = '2' - - # - # Generate table headers - # - # The number of headers must match the number of columns. So if cells are added below, the - # header texts must be expanded appropriately. - # - header_texts = ['Element', 'EV', 'RR', 'Sigma', 'EV [%]', 'RR [%]', 'Tol.'] - root.attrib['columns'] = str(len(header_texts)) - - headers = ET.SubElement(root, 'headers') - - count = 0 - for text in header_texts: - msa.create_column_header(headers, count, text) - count += 1 - - # - # Generate one entry for each element type - # - for type in config.types: - - template = ET.SubElement(root, 'template') - template.attrib['dynamic_row_for_stages'] = '-1' - template.attrib['rows'] = '1' - template.attrib['element_type'] = type - - row = ET.SubElement(template, 'row') - row.attrib['index'] = '0' - - # - # Fill entry colums. The number of cells here must match the number of header texts above. - # - gauge_rr_expression = create_anova_3_rr_expression(type, config) - - col_index = 0 - col_index = msa.create_cell_raw(row, col_index, '$icon (explorer_type_and_state)$ $name$', 1) - col_index = msa.create_cell(row, col_index, 'EV', gauge_rr_expression + "return sqr (s2e)\n", 1) - col_index = msa.create_cell(row, col_index, 'RR', gauge_rr_expression, 1) - col_index = msa.create_cell(row, col_index, 'Sigma', - 'gom.app.project.inspection[\'{element}\'].value'.format(element=cfg.sigma_tag), 1) - col_index = msa.create_cell( - row, col_index, 'EV [%]', gauge_rr_expression + msa.create_percent_expression(type, 'sqr (s2e)'), 1) - col_index = msa.create_cell( - row, col_index, 'RR [%]', gauge_rr_expression + msa.create_percent_expression(type, 'RR'), 1) - col_index = msa.create_cell(row, col_index, 'Tol.', msa.get_tolerance_expression(type), 1) - - return xml.dom.minidom.parseString(ET.tostring(root)).toprettyxml() - - -# ---------------------------------------------------------------------------------- -# MAIN -# ---------------------------------------------------------------------------------- - -msa.check_project_setup() - -# -# Hiding the table widget will speed the script up dramatically -# -gom.script.view.set_tab_visible(view='table', visible=False) - -try: - gom.script.sys.close_stage_range() -except: - pass - -# -# Setup configuration -# -config = gui.Configuration(cfg.EvaluationType.Anova_3) -config.edit(show_sigma_input=True) - -msa.create_common_stage_ranges(config, use_appraiser=False) -create_anova_3_stage_ranges(config) -template_content = create_anova_3_table_template(TABLE_TEMPLATE_NAME_ANOVA_3, config) -msa.import_table_template(template_content, 'e95e1e2d-075b-4b9d-bc00-6abddd13af89') - -gom.script.view.set_tab_visible(view='table', visible=True) - -gom.script.table.switch_template(name=TABLE_TEMPLATE_NAME_ANOVA_3) diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_arm.metainfo b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_arm.metainfo deleted file mode 100644 index 6196647..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_arm.metainfo +++ /dev/null @@ -1,27 +0,0 @@ -{ - "display_name": "Generate MSA ARM setup", - "folded_blocks": [ - ], - "icon": "", - "iinspect_condition": "", - "interactive": false, - "main_menu_path": { - "anchor": { - "item": "reports", - "submenu": [ - "operations" - ], - "type": "submenu" - }, - "script": "userscript.newenv__Tools__MeasurementSystemAnalysis__msa_arm", - "submenu": [ - "System analysis" - ] - }, - "multicreation_script": false, - "script_check_type": "none", - "script_element_type": "none", - "show_in_iinspect": false, - "show_in_menu": true, - "uuid": "67dc6830-f4c9-450d-9446-60356c3416ca" -} diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_arm.py b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_arm.py deleted file mode 100644 index 84e861e..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_arm.py +++ /dev/null @@ -1,307 +0,0 @@ -# -*- coding: utf-8 -*- -# -# msa_arm - Script for generating an MSA (ARM) evaluation -# -# This script generates table templates displaying the ARM values needed for -# MSA / Gauge R&R evaluations. The generated template contains an entry for each -# inspection element type present at script evaluation time. -# -# The table cells will contain a parametric computation for the values in question. -# This means the values will adapt whenever preconditions are changing *except* the -# number or names of the appraisers, parts and trials. So the script must be executed -# again if, e.g., stages are added or an appraiser is renamed. It does not need to -# be executed again if the checks or stages are edited in any other way. -# - -import gom -import xml.etree -import xml.etree.ElementTree as ET -import xml.dom.minidom - -import Tools.MeasurementSystemAnalysis.msa_config as cfg -import Tools.MeasurementSystemAnalysis.msa_lib as msa -import Tools.MeasurementSystemAnalysis.msa_gui as gui - - -# ---------------------------------------------------------------------------------- -# Configuration -# ---------------------------------------------------------------------------------- - -# -# Display name of the table template for ARM evaluations -# -TABLE_TEMPLATE_NAME_ARM = 'MSA (ARM)' - -# -# UTF-8 symbol for a black circle -# -EMPTY_SYMBOL = '●' - -# --------------------------------------------------------------------------------------- -# Functions needed for ARM expression and template building -# --------------------------------------------------------------------------------------- - -# -# Build stage ranges matching the project setup -# - - -def create_arm_stage_ranges(config): - - # - # Stage range set 1: Stage ranges for appraiser/part combinations - # - for appraiser in config.appraisers: - for part in config.parts: - msa.create_stage_range(appraiser, part, None) - - # - # Stage range set 2: Stage ranges for appraiser/trial combinations - # - for appraiser in config.appraisers: - for trial in config.trials: - msa.create_stage_range(appraiser, None, trial) - - # - # Stage range set 3: Stage range covering all stages associated with a single appraiser - # - for appraiser in config.appraisers: - msa.create_stage_range(appraiser, None, None) - - # - # Stage range set 4: Stage ranges covering all stages associated with a single part - # - for part in config.parts: - msa.create_stage_range(None, part, None) - - -# -# Generate table template matching the current element setup -# -def create_arm_table_template(template_name, config): - - # - # Root node - # - root = ET.Element('tabletemplates') - root.attrib['dynamic_stage_support'] = 'none' - root.attrib['view_mode'] = 'report_template' - root.attrib['expanding_column'] = '0' - root.attrib['name'] = template_name - root.attrib['dynamic_column_for_stages'] = '-1' - root.attrib['version'] = '2' - - # - # Table headers - # - header_texts = ['Appraiser', 'Trial'] - header_texts.extend(map(lambda part: 'Part {0}'.format(part), config.parts)) - header_texts.append('Avg.') - root.attrib['columns'] = str(len(header_texts)) - - headers = ET.SubElement(root, 'headers') - - count = 0 - for text in header_texts: - msa.create_column_header(headers, count, text) - count += 1 - - # - # Entries for the single element types - # - for type in config.types: - template = ET.SubElement(root, 'template') - template.attrib['dynamic_row_for_stages'] = '-1' - template.attrib['rows'] = str(1 + len(config.appraisers) * (len(config.trials) + 2) + 1 + 1 + 1) - template.attrib['element_type'] = type - - row_index = 0 - - # - # Header row - # - element_header = ET.SubElement(template, 'row') - element_header.attrib['index'] = str(row_index) - row_index += 1 - - msa.create_cell_raw(element_header, 0, '$icon (explorer_type_and_state)$ $name$', - str(3 + len(config.parts))) - - # - # One block per appraiser - # - appraiser_avg_exp = [] - appraiser_range_exp = [] - - for appraiser in config.appraisers: - - # - # One row per trail - # - for trial in config.trials: - row = ET.SubElement(template, 'row') - row.attrib['index'] = str(row_index) - row_index += 1 - - # - # First columns containing appraiser/trial information - # - col_index = 0 - col_index = msa.create_cell_raw(row, col_index, appraiser, 1) - col_index = msa.create_cell_raw(row, col_index, trial, 1) - - # - # Inner part matrix - # - for part in config.parts: - col_index = msa.create_cell(row, col_index, 'Stage value', msa.create_stage_access_expression( - config, appraiser, part, trial, type), 1) - - # - # Last column containing the average sums - # - col_index = msa.create_cell(row, col_index, 'Avg.', msa.create_restricted_avg_expression( - config, appraiser, None, trial, type), 1) - - avg_summary = ET.SubElement(template, 'row') - avg_summary.attrib['index'] = str(row_index) - row_index += 1 - - col_index = 0 - col_index = msa.create_cell_raw(avg_summary, col_index, msa.italic('Average'), 1) - col_index = msa.create_cell_raw(avg_summary, col_index, '', 1) - - exp = [] - for part in config.parts: - exp.append(msa.create_restricted_avg_expression(config, appraiser, part, None, type)) - col_index = msa.create_cell_raw(avg_summary, col_index, - msa.italic(msa.overlined_var_name('X', '{0}.{1}.{2}'.format(appraiser, part, EMPTY_SYMBOL)) + - msa.quote(exp[-1])), 1) - - col_index = msa.create_cell_raw(avg_summary, col_index, - msa.italic(msa.overlined_var_name('X', '{0}.{1}.{2}'.format(appraiser, EMPTY_SYMBOL, EMPTY_SYMBOL)) + - msa.quote(msa.create_average_expression(exp))), 1) - - appraiser_avg_exp.append(exp) - - range_summary = ET.SubElement(template, 'row') - range_summary.attrib['index'] = str(row_index) - row_index += 1 - - col_index = 0 - col_index = msa.create_cell_raw(range_summary, col_index, msa.italic('Range'), 1) - col_index = msa.create_cell_raw(range_summary, col_index, '', 1) - - exp = [] - for part in config.parts: - exp.append(msa.create_restricted_range_expression(config, appraiser, part, None, type)) - col_index = msa.create_cell_raw(range_summary, col_index, - msa.italic(msa.overlined_var_name('R', '{0}.{1}.{2}'.format(appraiser, part, EMPTY_SYMBOL)) + - msa.quote(exp[-1])), 1) - - col_index = msa.create_cell_raw(range_summary, col_index, - msa.italic(msa.overlined_var_name('R', '{0}.{1}.{2}'.format(appraiser, EMPTY_SYMBOL, EMPTY_SYMBOL)) + - msa.quote(msa.create_range_expression(exp))), 1) - - appraiser_range_exp.append(exp) - - part_summary = ET.SubElement(template, 'row') - part_summary.attrib['index'] = str(row_index) - row_index += 1 - - col_index = 0 - col_index = msa.create_cell_raw(part_summary, col_index, msa.italic('Part avg.'), 1) - col_index = msa.create_cell_raw(part_summary, col_index, '', 1) - - exp = [] - - for part in config.parts: - exp.append(msa.create_restricted_avg_expression(config, None, part, None, type)) - col_index = msa.create_cell_raw(part_summary, col_index, - msa.italic(msa.overlined_var_name('X', '{0}.{1}.{2}'.format(EMPTY_SYMBOL, part, EMPTY_SYMBOL)) + - msa.quote(exp[-1])), 1) - - col_index = msa.create_cell_raw(part_summary, col_index, - msa.italic(msa.overlined_var_name('X', '{0}.{1}.{2}'.format(EMPTY_SYMBOL, EMPTY_SYMBOL, EMPTY_SYMBOL)) + - msa.quote(msa.create_average_expression(exp))), 1) - - # - # Compute overall average value - # - summary_x = ET.SubElement(template, 'row') - summary_x.attrib['index'] = str(row_index) - row_index += 1 - - col_index = 0 - col_index = msa.create_cell_raw(summary_x, col_index, msa.italic('Summary'), 1) - col_index = msa.create_cell_raw(summary_x, col_index, '', 1) - - for part in config.parts: - col_index = msa.create_cell_raw(summary_x, col_index, '', 1) - - x_avg_exp = '' - separator = '' - for exp in appraiser_avg_exp: - x_avg_exp = x_avg_exp + separator + msa.create_average_expression(exp) - separator = ', ' - - x_avg_exp = 'max ({0}) - min ({1})'.format(x_avg_exp, x_avg_exp) - - col_index = msa.create_cell_raw(summary_x, col_index, - msa.italic(msa.overlined_var_name('X', 'diff')) + - msa.quote(x_avg_exp), 1) - - # - # Compute overall range value - # - summary_r = ET.SubElement(template, 'row') - summary_r.attrib['index'] = str(row_index) - row_index += 1 - - col_index = 0 - col_index = msa.create_cell_raw(summary_r, col_index, '', 1) - col_index = msa.create_cell_raw(summary_r, col_index, '', 1) - - for part in config.parts: - col_index = msa.create_cell_raw(summary_r, col_index, '', 1) - - r_sum_exp = '' - separator = '' - for exp in appraiser_range_exp: - r_sum_exp = r_sum_exp + separator + msa.create_range_expression(exp) - separator = ' + ' - - r_sum_exp = '({0}) / {1}'.format(r_sum_exp, len(appraiser_range_exp)) - - col_index = msa.create_cell_raw(summary_r, col_index, - msa.italic(msa.overlined_var_name('R', 'all')) + - msa.quote(r_sum_exp), 1) - - return xml.dom.minidom.parseString(ET.tostring(root)).toprettyxml() - - -# ---------------------------------------------------------------------------------- -# MAIN -# ---------------------------------------------------------------------------------- - -msa.check_project_setup() - -# -# Hiding the table widget will speed the script up dramatically -# -gom.script.view.set_tab_visible(view='table', visible=False) - -# -# Setup configuration -# -config = gui.Configuration(cfg.EvaluationType.Arm) -config.edit(show_sigma_input=False) - -msa.create_common_stage_ranges(config) -create_arm_stage_ranges(config) -template_content = create_arm_table_template(TABLE_TEMPLATE_NAME_ARM, config) -msa.import_table_template(template_content, '01a35fd4-1a98-4752-b1be-d21a3e6446ef') - -gom.script.view.set_tab_visible(view='table', visible=True) - -gom.script.table.switch_template(name=TABLE_TEMPLATE_NAME_ARM) diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_config.metainfo b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_config.metainfo deleted file mode 100644 index f549187..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_config.metainfo +++ /dev/null @@ -1 +0,0 @@ -{"breakpoints":[],"display_name":"msa_config","folded_blocks":[],"icon":"","main_menu_path":"","script_element_type":"none","show_in_menu":false,"uuid":"e85ed25b-4642-4de5-91cf-943926c19319"} \ No newline at end of file diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_config.py b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_config.py deleted file mode 100644 index 4d43aed..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_config.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- - -import gom - -from enum import Enum - - -# ---------------------------------------------------------------------------------- -# Constants -# ---------------------------------------------------------------------------------- - -# -# Type of evaluation -# -class EvaluationType(Enum): - Anova_2 = "ANOVA-2" - Anova_3 = "ANOVA-3" - Arm = "ARM" - Export = "Export" - - -# -# Id addressing the element object families to be able to access the right tokens. These -# ids are used during table template import as some kind of jokers for whole element groups. -# -Type_Inspection = '!scalar_checks' -Type_GDAT = '!gdt' -Type_Picker = '!picker' -Type_TwoPointInspection = 'inspection_dimension_two_point' - -# -# Element keyword set for each automatically created element -# -automatically_created_tag = 'msa_automatically_created' - -# -# Value elements used to tag appraiser, part and trial in each stage and the global sigma value -# -appraiser_tag = 'msa_appraiser' -part_tag = 'msa_part' -trial_tag = 'msa_trial' -sigma_tag = 'msa_sigma' - -# -# Name of the stage range representing all stages -# -all_stages_range_name = 'All stages' - -# -# Default sigma factor -# -default_sigma_factor = 6.0 diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_excel.metainfo b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_excel.metainfo deleted file mode 100644 index b364671..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_excel.metainfo +++ /dev/null @@ -1 +0,0 @@ -{"breakpoints":[294],"display_name":"MSA ANOVA-2 Excel Sheet Generation","folded_blocks":[],"icon":"","main_menu_path":"","script_element_type":"none","show_in_menu":true,"uuid":"81348b5e-3370-4efc-87c2-424578c221d9"} \ No newline at end of file diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_excel.py b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_excel.py deleted file mode 100644 index d8318bc..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_excel.py +++ /dev/null @@ -1,514 +0,0 @@ -# -*- coding: utf-8 -*- -# -# msa_excel - Script for generating excel table sheets for Gauge R&R values -# - -import gom - -import copy -import os -import os.path -import re -import shutil -import sys -import tempfile -import zipfile - -import xml.etree.ElementTree as ET -from xml.dom import minidom - -import Tools.MeasurementSystemAnalysis.msa_config as cfg -import Tools.MeasurementSystemAnalysis.msa_gui as gui -import Tools.MeasurementSystemAnalysis.msa_lib as msa - - -TEMPLATE_FILE_NAME = os.path.join(gom.app.software_directory, 'config', 'msa', 'msa_template.xlsx') -DATA_SHEET_FILE_NAME = 'xl/worksheets/sheet1.xml' -CALCULATION_SHEET_FILE_NAME = 'xl/worksheets/sheet2.xml' -IMPORT_SHEET_FILE_NAME = 'xl/worksheets/sheet3.xml' -STRINGS_FILE_NAME = 'xl/sharedStrings.xml' - -# -# Maximum number of cells reserved for the appraiser/part/trial properties (must match the template) -# -NUMBER_OF_APPRAISERS = 3 -NUMBER_OF_TRIALS = 3 -NUMBER_OF_PARTS = 25 - -# -# Value used in empty table cells -# -NONE = '#NV' - -# -# Build configuration for the ANOVA-2 setup -# -config = gui.Configuration(cfg.EvaluationType.Anova_2) - - -######################################################################################## -# CLASS SheetAccess -# -# Access class for manipulation of a single excel sheet. This class will access the -# sheet with (row, column) indexing counting from 1. -# -class SheetAccess: - - COLUMN_IDS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' - - # - # Constructor - # - # @param sheet DOM of the sheet to modify - # @param strings DOM of the string reference list - # - def __init__(self, sheet, strings): - self.sheet = sheet - self.strings = strings - - self.row = 1 - self.column = 1 - - self.cells = {} - self.texts = [] - - for s in strings.iter('si'): - self.texts.append(s.find('t')) - - for cell in sheet.iter('c'): - self.cells[cell.get('r')] = cell - - # - # Get value of single cell - # - def __getitem__(self, key): - - cell = self.cells[key] - - # - # Cells with string content are not containing the string itself but a - # reference id into the string database. - # - if 't' in cell.attrib and cell.get('t') == 's': - return self.texts[int(cell.find('v').text) + 1].text - - return cell.find('v').text - - # - # Set value of single cell - # - - def __setitem__(self, key, value): - - cell = self.cells[key] - - # - # Setting a string value results in a new entry in the string database. The sheet - # cell will reference this entry instead of keeping the string itself. This way old string - # database entries will still be kept while being deprecated, but a cleanup is not simple here. - # EXCEL might care for this when loading/saving the document again. - # - # The exact purpose of the ids (37, 43) is unknown. - # - if isinstance(value, str): - cell.attrib['t'] = 's' - cell.attrib['s'] = str(43) - - si = ET.SubElement(self.strings, 'si') - t = ET.SubElement(si, 't') - t.text = value - - self.texts.append(si) - - cell.find('v').text = str(len(self.texts) - 1) - - else: - cell.attrib.pop('t', None) - cell.attrib['s'] = str(37) - cell.find('v').text = str(value) - - # - # Initialize sequential write at a given cell - # - def init(self, id): - self.row = int(id[1]) - self.column = SheetAccess.COLUMN_IDS.index(id[0]) + 1 - - # - # Write at current cell in sequential write setup - # - def write(self, value): - self[self.getCellId(self.row, self.column)] = value - self.column += 1 - - # - # Advance sequential write to next row - # - def next_row(self): - self.column = 1 - self.row += 1 - - # - # Return string id of a row/column addressed cell (like 'D23') - # - def getCellId(self, row, column): - - assert column >= 1 and column <= len(SheetAccess.COLUMN_IDS) - assert row >= 1 - - return '{column_id}{row_id}'.format(column_id=SheetAccess.COLUMN_IDS[column - 1], row_id=row) - - -# -# Fill import sheet with the data from a single element -# -def fill_import_sheet(access, element): - - def get_project_keyword(keyword): - try: - return str(gom.app.project.get(keyword)) - except: - pass - return '' - - # - # Fill appraiser / trial / part lists up to the maximum number of supported items - # - appraisers = copy.copy(config.appraisers) - appraisers.extend(max(0, (NUMBER_OF_APPRAISERS - len(appraisers))) * [NONE]) - - trials = copy.copy(config.trials) - trials.extend(max(0, (NUMBER_OF_TRIALS - len(trials))) * [NONE]) - - parts = copy.copy(config.parts) - parts.extend(max(0, (NUMBER_OF_PARTS - len(parts))) * [NONE]) - - # - # Row 1: General element information - # - type = msa.get_element_type(element) - - # Nominal value. This is always '0.0' because we are computing with deviations. - access['B1'] = 0.0 - access['D1'] = element.get(msa.get_tolerance_tokens(type)[1]) # Upper tolerance limit - access['E1'] = element.get(msa.get_tolerance_tokens(type)[0]) # Lower tolerance limit - - unit = element.get('format ({token}, "", show_unit=true)'.format(token=msa.get_result_token(type))).split(' ') - access['G1'] = unit[-1] if len(unit) > 1 else '' - - access['J1'] = gom.app.project.inspection[cfg.sigma_tag].value - - # - # Row 3: Appraiser names - # - access.init('B3') - - for appraiser in appraisers: - for _ in trials: - access.write(appraiser) - - # - # Row 4: Trial names - # - access.init('A4') - access.write(element.name) - - for _ in appraisers: - for trial in trials: - access.write(trial) - - # - # Row 5...n: Part data - # - access.init('A5') - - for part in parts: - - access.write(part) - - for appraiser in appraisers: - for trial in trials: - if appraiser != NONE and trial != NONE and part != NONE: - access.write(element.get(msa.create_stage_access_expression( - config, appraiser, part, trial, msa.get_element_type(element)))) - else: - access.write(NONE) - - access.next_row() - - # - # Project keywords - # - - access['B31'] = get_project_keyword('user_system') - access['B32'] = get_project_keyword('user_location') - access['B33'] = '' # Description - access['B34'] = '' # Number - access['B35'] = get_project_keyword('user_date') - access['B36'] = get_project_keyword('user_inspector') - access['B37'] = '' # Comment - - -# -# Scan through document and remove the value entries in fields which use formulas. -# Only this way, the sheet will be recomputed after loading if in EXCEL. -# -def remove_precomputed_values(root): - - for cell in root.iter('c'): - if cell.find('f') is not None: - - value = cell.find('v') - - if value is not None: - cell.remove(value) - -# -# Extract the namespace defining 'worksheet' header from sheet document -# - - -def extract_worksheet_header(text): - worksheet_header = re.search(']*>', text).group(0) - text = re.sub(']*>', '', text) - text = re.sub('(\w):(\w)', r'\1__NS__\2', text) - - return (worksheet_header, text) - -# -# Re-insert the namespace defining 'worksheet' header into the sheet document -# - - -def insert_worksheet_header(text, worksheet_header): - text = re.sub('(\w)__NS__(\w)', r'\1:\2', text) - text = re.sub('', worksheet_header, text) - - return text - - -######################################################################## -# MAIN -# -# -# Show configuration dialog -# -elements = None - -CONFIGURATION_DIALOG = gom.script.sys.create_user_defined_dialog(content='

' - ' Export MSA As Excel Sheet' - ' ' - ' ' - ' ' - ' ' - ' ' - ' ' - ' ' - ' ' - ' use_custom_template' - ' ' - ' false' - ' Use custom template' - ' ' - ' ' - ' template' - ' ' - ' file' - ' Choose Template File' - ' ' - ' true' - ' ' - ' ' - ' ' - ' *.xlsx' - ' ' - ' ' - ' file_label' - ' ' - ' Export Target' - ' false' - ' ' - ' ' - ' file' - ' ' - ' any' - ' Choose Output File' - ' ' - ' true' - ' ' - ' ' - ' ' - ' *.xlsx' - ' ' - ' ' - ' message' - ' ' - ' 0 elements selected' - ' false' - ' ' - ' ' - ' spacer' - ' ' - ' 0' - ' -1' - ' ' - ' ' - '') - -CONFIGURATION_DIALOG.template.value = TEMPLATE_FILE_NAME -CONFIGURATION_DIALOG.file.value = os.path.join( - gom.app.default_directory, os.path.split(TEMPLATE_FILE_NAME.replace('_template', ''))[1]) - - -def update_dialog(widget): - global elements - - elements = [element for element in gom.ElementSelection({'category': ['key', 'elements', 'explorer_category', 'inspection']}) - if element.is_selected] - - CONFIGURATION_DIALOG.message.text = '{number} element(s) will be exported'.format(number=len(elements)) - CONFIGURATION_DIALOG.control.status = 'No elements selected' if len(elements) == 0 else '' - - CONFIGURATION_DIALOG.template.enabled = CONFIGURATION_DIALOG.use_custom_template.value - - -CONFIGURATION_DIALOG.handler = update_dialog - -update_dialog(None) - -CONFIGURATION = gom.script.sys.show_user_defined_dialog(dialog=CONFIGURATION_DIALOG) - -tempdir_gom_template = tempfile.mkdtemp() -assert tempdir_gom_template is not None - -# In packages, the System Resources (like data/msa_template.xlsx) are only available in memory. -# If the user decided to use the builtin template, we copy it in a temp folder, -# making the rest of the script compatible. -templatefilename = "" -if not CONFIGURATION.use_custom_template: - templatefilename = tempdir_gom_template + "/msa_template.xlsx" - newFile = open(templatefilename, "wb") - newFile.write(gom.app.resource["data/msa_template.xlsx"]) - newFile.close() -else: - templatefilename = CONFIGURATION.template - -# -# For each element a separate EXCEL sheet is created. If more than one element is present, a postfix is added. -# -for element in elements: - - tempdir = tempfile.mkdtemp() - assert tempdir is not None - - filename = CONFIGURATION.file - - if len(elements) > 1: - filename, ext = os.path.splitext(filename) - filename = '{name}_{postfix}{extension}'.format(name=filename, postfix=element.name, extension=ext) - - try: - # - # Unzip XSLX file into the temp directory - # - with zipfile.ZipFile(templatefilename, 'r') as zip_file: - zip_file.extractall(tempdir) - - # - # Read import sheet XML representation. - # - # Because xml.etree does not get along well with namespaces, the namespace attributes - # are removed manually and the original worksheet header is kept for adding it again - # later. - # - with open(os.path.join(tempdir, IMPORT_SHEET_FILE_NAME), 'r') as file: - worksheet_header, text = extract_worksheet_header(file.read()) - import_root = ET.fromstring(text) - - # - # Read string reference XML represenration. - # - # The namespace problem is handled here, too, as described above. This file contains some - # kind of string database which entries are referenced from the sheets cells. - # - with open(os.path.join(tempdir, STRINGS_FILE_NAME), 'r') as file: - text = file.read() - strings_header = re.search(']*>', text).group(0) - text = re.sub(']*>', '', text) - text = re.sub('(\w):(\w)', r'\1__NS__\2', text) - - strings_root = ET.fromstring(text) - - # - # Fill import sheet with the element data - # - access = SheetAccess(import_root, strings_root) - fill_import_sheet(access, element) - - # - # Convert back into string representation and add the original worksheet header - # containig the namespace definitions again. - # - with open(os.path.join(tempdir, IMPORT_SHEET_FILE_NAME), 'w') as file: - file.write(insert_worksheet_header(str(ET.tostring(import_root), 'utf-8'), worksheet_header)) - - # - # Adapt data sheet - # - # The pre computed values have to be removed from the cells here to trigger a recomputation - # when the generated document is imported into EXCEL. - # - with open(os.path.join(tempdir, DATA_SHEET_FILE_NAME), 'r') as file: - worksheet_header, text = extract_worksheet_header(file.read()) - data_root = ET.fromstring(text) - - remove_precomputed_values(data_root) - - with open(os.path.join(tempdir, DATA_SHEET_FILE_NAME), 'w') as file: - file.write(insert_worksheet_header(str(ET.tostring(data_root), 'utf-8'), worksheet_header)) - - # - # Adapt calculation sheet - # - with open(os.path.join(tempdir, CALCULATION_SHEET_FILE_NAME), 'r') as file: - worksheet_header, text = extract_worksheet_header(file.read()) - calculation_root = ET.fromstring(text) - - remove_precomputed_values(calculation_root) - - with open(os.path.join(tempdir, CALCULATION_SHEET_FILE_NAME), 'w') as file: - file.write(insert_worksheet_header(str(ET.tostring(calculation_root), 'utf-8'), worksheet_header)) - - # - # When writing the string reference, the headers attributes have to be adapted - # - with open(os.path.join(tempdir, STRINGS_FILE_NAME), 'w') as file: - text = str(ET.tostring(strings_root), 'utf-8') - text = re.sub('(\w)__NS__(\w)', r'\1:\2', text) - - strings_header = re.sub('count="\d*"', 'count="{size}"'.format(size=len(access.texts) + 5), strings_header) - strings_header = re.sub('uniqueCount="\d*"', - 'uniqueCount="{size}"'.format(size=len(access.texts) + 5), strings_header) - - text = re.sub('', strings_header, text) - - #print (minidom.parseString (text).toprettyxml (indent=' ')) - - file.write(text) - - # - # Pack everything into a XSLX ZIP file again - # - if not filename.endswith('.xlsx'): - filename += '.xlsx' - - if os.path.exists(filename): - os.remove(filename) - - shutil.make_archive(filename, 'zip', tempdir) - shutil.move(filename + '.zip', filename) - - finally: - shutil.rmtree(tempdir) - -shutil.rmtree(tempdir_gom_template) diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_export.metainfo b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_export.metainfo deleted file mode 100644 index 5f8960c..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_export.metainfo +++ /dev/null @@ -1 +0,0 @@ -{"breakpoints":[],"display_name":"Generate MSA export setup","folded_blocks":[],"icon":"","main_menu_path":"","script_element_type":"none","show_in_menu":true,"uuid":"02dd5b25-98eb-46c0-acdd-7106e7a4abba"} \ No newline at end of file diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_export.py b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_export.py deleted file mode 100644 index edbd8cb..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_export.py +++ /dev/null @@ -1,149 +0,0 @@ -# -*- coding: utf-8 -*- -# -# msa_solara_mp - Script for generating an MSA setup for exports -# -# This script generates table templates displaying the MSA relevant values in a way that -# the content can be copy/pasted easily into third party statistics tools for further evaluations. -# -# The table cells will contain a parametric computation for the values in question. -# This means the values will adapt whenever preconditions are changing *except* the -# number or names of the appraisers, parts and trials. So the script must be executed -# again if, e.g., stages are added or an appraiser is renamed. It does not need to -# be executed again if the checks or stages are edited in any other way. -# - -import gom -import os -import os.path -import re -import xml.etree -import xml.etree.ElementTree as ET -import xml.dom.minidom - -import Tools.MeasurementSystemAnalysis.msa_lib as msa -import Tools.MeasurementSystemAnalysis.msa_config as cfg -import Tools.MeasurementSystemAnalysis.msa_gui as gui - - -# ---------------------------------------------------------------------------------- -# Configuration -# ---------------------------------------------------------------------------------- - -# -# Display name of the table template for exports -# -TABLE_TEMPLATE_NAME_EXPORT = 'MSA (export)' - - -# ---------------------------------------------------------------------------------- -# Functions needed to generate an export template -# ---------------------------------------------------------------------------------- - -# -# Generate table template matching the current element setup -# -def create_export_table_template(template_name, config): - - # - # Generate root node - # - root = ET.Element('tabletemplates') - root.attrib['dynamic_stage_support'] = 'none' - root.attrib['view_mode'] = 'report_template' - root.attrib['expanding_column'] = '0' - root.attrib['name'] = template_name - root.attrib['dynamic_column_for_stages'] = '-1' - root.attrib['version'] = '2' - - # - # Generate table headers - # - # The number of headers must match the number of columns. So if cells are added below, the - # header texts must be expanded appropriately. - # - header_texts = ['Part'] - for appraiser in config.appraisers: - for trial in config.trials: - header_texts.append('Appraiser / Trial') - - root.attrib['columns'] = str(len(header_texts)) - - headers = ET.SubElement(root, 'headers') - - count = 0 - for text in header_texts: - msa.create_column_header(headers, count, text) - count += 1 - - # - # Generate one entry for each element type - # - for type in config.types: - template = ET.SubElement(root, 'template') - template.attrib['dynamic_row_for_stages'] = '-1' - template.attrib['rows'] = str(1 + len(config.parts)) - template.attrib['element_type'] = type - - # - # Top row: Element name and entry description - # - row_index = 0 - row = ET.SubElement(template, 'row') - row.attrib['index'] = str(row_index) - - col_index = msa.create_cell_raw(row, 0, '$icon (explorer_type_and_state)$ $name$', 1) - - for appraiser in config.appraisers: - for trial in config.trials: - col_index = msa.create_cell_raw(row, col_index, '{0} / {1}'.format(appraiser, trial), 1) - - row_index += 1 - - # - # One row per part - # - for part in config.parts: - - row = ET.SubElement(template, 'row') - row.attrib['index'] = str(row_index) - - # - # Every appraiser / trial combination leads to a cell - # - col_index = msa.create_cell(row, 0, 'Part', 'return "{0}"\n'.format(part), 1) - - for appraiser in config.appraisers: - for trial in config.trials: - description = '{0}.{1}.{2}'.format(appraiser, part, trial) - col_index = msa.create_cell(row, col_index, description, msa.create_stage_access_expression( - config, appraiser, part, trial, type), 1) - - row_index += 1 - - return xml.dom.minidom.parseString(ET.tostring(root)).toprettyxml() - - -# ---------------------------------------------------------------------------------- -# MAIN -# ---------------------------------------------------------------------------------- - -msa.check_project_setup() - -# -# Hiding the table widget will speed the script up dramatically -# -gom.script.view.set_tab_visible(view='table', visible=False) - -# -# Setup configuration -# -config = gui.Configuration(cfg.EvaluationType.Export - ) -config.edit(show_sigma_input=False) - -template_content = create_export_table_template(TABLE_TEMPLATE_NAME_EXPORT, config) -msa.import_table_template(template_content, '5d7198c6-31a0-4118-9110-e6eafb084501') - -gom.script.view.set_tab_visible(view='table', visible=True) - -gom.script.table.switch_template(name=TABLE_TEMPLATE_NAME_EXPORT) diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_gui.metainfo b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_gui.metainfo deleted file mode 100644 index f3b19a8..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_gui.metainfo +++ /dev/null @@ -1 +0,0 @@ -{"breakpoints":[],"display_name":"msa_gui","folded_blocks":[],"icon":"","main_menu_path":"","script_element_type":"none","show_in_menu":false,"uuid":"27a5c451-0a1c-4699-abf8-b878551be26b"} \ No newline at end of file diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_gui.py b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_gui.py deleted file mode 100644 index 426f04c..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_gui.py +++ /dev/null @@ -1,729 +0,0 @@ -# -*- coding: utf-8 -*- - -import gom - -# -*- coding: utf-8 -*- -# -# msa_lib - Common library functions for generating MSA / Gauge R&R setups -# - -import gom -import os -import os.path -import re -import xml.etree -import xml.etree.ElementTree as ET -import xml.dom.minidom -import stringprep - -import Tools.MeasurementSystemAnalysis.msa_config as cfg - -# ---------------------------------------------------------------------------------- -# Local functions -# ---------------------------------------------------------------------------------- - -# -# Make container content unique and sort it (if possible) -# - - -def make_unique_and_sort(container): - def convert(x): return int(x) if x.isdigit() else x.lower() - return sorted(list(set(container)), key=lambda key: [convert(c) for c in re.split('([0-9]+)', key)]) - - -# ---------------------------------------------------------------------------------- -# Pre checking -# ---------------------------------------------------------------------------------- - -# -# Check various project properties to guarantee a smooth run -# -def check_project_setup(): - # - # Temporal directory has to exists for table template writing/import - # - if not os.path.exists(gom.app.temp_directory): - raise RuntimeError('Temporary directory "{0}" does not exist.'.format(gom.app.temp_directory)) - - # - # Project must be loaded - # - project_loaded = False - - try: - gom.app.project.name - project_loaded = True - except: - pass - - if not project_loaded: - raise RuntimeError('No project found.') - - # - # We need at least some stages - # - if len(gom.app.project.stages) == 0: - raise RuntimeError('No stages are present at all.') - - -# ---------------------------------------------------------------------------------- -# CLASS Configuration -# ---------------------------------------------------------------------------------- - -# -# Class keeping / editing the configuration -# -class Configuration: - - def __init__(self, type): - - self.type = type - - self.types = [cfg.Type_Inspection, cfg.Type_GDAT] - - self.appraisers = set() - self.parts = set() - self.trials = set() - self.stages = {} - - self.appraiser_element = Configuration.get_actual_value_element(cfg.appraiser_tag) - self.trial_element = Configuration.get_actual_value_element(cfg.trial_tag) - self.part_element = Configuration.get_actual_value_element(cfg.part_tag) - self.sigma_element = Configuration.get_nominal_value_element(cfg.sigma_tag) - - self.collect_data() - - @staticmethod - def get_actual_value_element(name): - - element = None - - try: - element = gom.app.project.actual_elements[name] - except: - element = gom.script.inspection.create_value_element(name=name, type='string', stage_values={}) - gom.script.cad.hide_element(elements=[element]) - - return element - - @staticmethod - def get_nominal_value_element(name): - - element = None - - try: - element = gom.app.project.inspection[name] - except: - element = gom.script.inspection.create_constant_value_element( - description=name, - name=name, - type='float', - unit='UNIT_NONE', - value=0.0) - gom.script.inspection.measure_by_no_measuring_principle(elements=[element]) - gom.script.cad.hide_element(elements=[element]) - - return element - - # - # Build appraisers/parts/trials sets - # - - def collect_data(self): - - def sanitize(string): - if string and len(string) > 0: - return string - return None - - self.appraisers = set() - self.parts = set() - self.trials = set() - - for stage in gom.app.project.stages: - - if stage.is_active: - stage_item = 'gom.app.project.stages[\'{name}\']'.format(name=stage.name) - - appraiser = sanitize(self.appraiser_element.get( - 'with_context (stage={stage}, value)'.format(stage=stage_item))) - if appraiser: - self.appraisers.add(appraiser) - - part = sanitize(self.part_element.get('with_context (stage={stage}, value)'.format(stage=stage_item))) - if part: - self.parts.add(part) - - trial = sanitize(self.trial_element.get('with_context (stage={stage}, value)'.format(stage=stage_item))) - if trial: - self.trials.add(trial) - - self.stages[stage.name] = (appraiser, part, trial) - - self.appraisers = make_unique_and_sort(self.appraisers) - self.parts = make_unique_and_sort(self.parts) - self.trials = make_unique_and_sort(self.trials) - - # - # Edit configuration via dialog - # - - def edit(self, show_sigma_input): - MAIN_DIALOG = gom.script.sys.create_user_defined_dialog(content='' - ' Generate ' + self.type.value + ' table templates' - ' ' - ' ' - ' ' - ' ' - ' ' - ' ' - ' ' - ' ' - ' text' - ' ' - ' <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">' - '<html><head><meta name="qrichtext" content="1" /><style type="text/css">' - 'p, li { white-space: pre-wrap; }' - '</style></head><body style=" ">' - '<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Generate MSA (' + - self.type.value + ' table templates)</span></p>' - '<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>' - '<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> This script generates a ' + - self.type.value + ' table template displaying the MSA variant.</li>' - '<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> The generated templates are matching the number of appraisers, parts and trials found in the project.</li>' - '<li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> The script has to be executed again if stages are added or removed.</li></ul>' - '<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html>' - ' false' - ' ' - ' ' - ' appraisers_label' - ' ' - ' Appraisers' - ' false' - ' ' - ' ' - ' appraisers' - ' ' - ' ' - ' true' - ' ' - ' ' - ' parts_label' - ' ' - ' Parts' - ' false' - ' ' - ' ' - ' parts' - ' ' - ' ' - ' true' - ' ' - ' ' - ' trials_label' - ' ' - ' Trials' - ' false' - ' ' - ' ' - ' trials' - ' ' - ' ' - ' true' - ' ' - ' ' - ' sigma_value_label' - ' ' - ' Sigma value' - ' false' - ' ' - ' ' - ' sigma_value' - ' ' - ' 5.15' - ' 0' - ' 1000' - ' 2' - ' ' - ' ' - ' ' - ' spacer' - ' ' - ' 0' - ' 10' - ' ' - ' ' - ' spacer_1' - ' ' - ' 0' - ' -1' - ' ' - ' ' - ' edit_stages' - ' ' - ' Edit stages' - ' push' - ' none' - ' icon' - ' ok' - ' default' - ' ' - ' ' - ' separator' - ' ' - ' ' - ' ' - ' ' - '') - - has_appraisers = self.type != cfg.EvaluationType.Anova_3 - - if not has_appraisers: - MAIN_DIALOG.appraisers.visible = False - MAIN_DIALOG.appraisers_label.visible = False - - MAIN_DIALOG.appraisers.value = ', '.join(self.appraisers) - MAIN_DIALOG.parts.value = ', '.join(self.parts) - MAIN_DIALOG.trials.value = ', '.join(self.trials) - MAIN_DIALOG.sigma_value.value = cfg.default_sigma_factor - - MAIN_DIALOG.sigma_value.visible = show_sigma_input - MAIN_DIALOG.sigma_value_label.visible = show_sigma_input - MAIN_DIALOG.sigma_value.focus = show_sigma_input - - def adapt_main_dialog_status(): - - number_of_stages = 0 - for stage in gom.app.project.stages: - if stage.is_active: - number_of_stages += 1 - - if len(self.parts) == 0 or len(self.trials) == 0: - MAIN_DIALOG.control.status = 'Stages must be tagged appropriately.' - MAIN_DIALOG.control.ok.enabled = False - - elif has_appraisers and len(self.appraisers) * len(self.parts) * len(self.trials) != number_of_stages: - MAIN_DIALOG.control.status = 'Number of appraisers ({0}), parts ({1}) and trials ({2}) does not match number of stages ({3}).' \ - .format(len(self.appraisers), len(self.parts), len(self.trials), number_of_stages) - MAIN_DIALOG.control.ok.enabled = False - - elif not has_appraisers and len(self.parts) * len(self.trials) != number_of_stages: - MAIN_DIALOG.control.status = 'Number of parts ({0}) and trials ({1}) does not match number of stages ({2}).' \ - .format(len(self.parts), len(self.trials), number_of_stages) - MAIN_DIALOG.control.ok.enabled = False - - elif has_appraisers and len(self.appraisers) > 0 and number_of_stages % len(self.appraisers) != 0: - MAIN_DIALOG.control.status = 'Number of stages ({0}) / number of appraisers ({1}) does have a remainder.' \ - .format(len(gom.app.project.stages), len(self.appraisers)) - - elif len(self.parts) > 0 and number_of_stages % len(self.parts) != 0: - MAIN_DIALOG.control.status = 'Number of stages ({0}) / number of parts ({1}) does have a remainder.' \ - .format(len(gom.app.project.stages), len(self.parts)) - - elif len(self.trials) > 0 and number_of_stages % len(self.trials) != 0: - MAIN_DIALOG.control.status = 'Number of stages ({0}) / number of trials ({1}) does have a remainder.' \ - .format(len(gom.app.project.stages), len(self.trials)) - - else: - MAIN_DIALOG.control.status = '' - - MAIN_DIALOG.control.ok.enabled = MAIN_DIALOG.control.status == '' - - def main_dialog_handler(widget): - - if widget == MAIN_DIALOG.edit_stages: - self.edit_stages() - self.collect_data() - adapt_main_dialog_status() - - MAIN_DIALOG.appraisers.value = ', '.join(self.appraisers) - MAIN_DIALOG.parts.value = ', '.join(self.parts) - MAIN_DIALOG.trials.value = ', '.join(self.trials) - - MAIN_DIALOG.handler = main_dialog_handler - adapt_main_dialog_status() - - gom.script.sys.show_user_defined_dialog(dialog=MAIN_DIALOG) - - gom.script.sys.edit_creation_parameters( - auto_apply=True, - element=self.sigma_element, - value=MAIN_DIALOG.sigma_value.value) - - def filter_map(self, n): - for key, tuple in self.stages.items(): - yield key, tuple[n] - - def write_back_values(self): - - gom.script.sys.edit_creation_parameters( - element=self.appraiser_element, - type='string', - stage_values=dict(self.filter_map(0)), - auto_apply=True - ) - - gom.script.sys.edit_creation_parameters( - element=self.part_element, - type='string', - stage_values=dict(self.filter_map(1)), - auto_apply=True - ) - - gom.script.sys.edit_creation_parameters( - element=self.trial_element, - type='string', - stage_values=dict(self.filter_map(2)), - auto_apply=True - ) - - # - # For some strange reason we need a recalc here - # - gom.script.sys.recalculate_visible_elements_in_all_stages(enable=True) - gom.script.sys.recalculate_project(with_reports=False) - - # - # Assign appraiser/part/trial tags from the stage name pattern - # - - def assign_from_stage_name_pattern(self, pattern): - - split_pattern = '[._\-/]+' - template_parts = re.split(split_pattern, pattern) - error = None - - if len(template_parts) == 3: - current_stage = gom.app.project.stages[gom.app.project.stage] - - appraiser_index = template_parts.index('appraiser') - part_index = template_parts.index('part') - trial_index = template_parts.index('trial') - - if appraiser_index >= 0 and part_index >= 0 and trial_index >= 0: - - for stage in gom.app.project.stages: - if stage.is_active: - gom.script.sys.show_stage(stage=stage) - - stage_name = gom.app.project.stage - - parts = re.split(split_pattern, stage_name) - if len(parts) != 3: - error = 'Name of stage {0} does not match pattern'.format(stage_name) - break - - self.stages[stage_name] = ( - parts[appraiser_index].strip(), - parts[part_index].strip(), - parts[trial_index].strip() - ) - - if current_stage != None: - gom.script.sys.show_stage(stage=current_stage) - else: - error = 'Wrong pattern format {0}'.format(pattern) - else: - error = 'Error parsing the pattern definition' - - if not error: - self.write_back_values() - - # - # Open dialog for letting the user check/edit the appraiser/part/trial keywords of each stage - # - - def edit_stages(self): - - EDIT_DIALOG = gom.script.sys.create_user_defined_dialog(content='' - ' Edit stages' - ' ' - ' ' - ' ' - ' ' - ' automatic' - ' ' - ' ' - ' ' - ' stage_label' - ' ' - ' Stage' - ' false' - ' ' - ' ' - ' stage' - ' ' - ' ' - ' true' - ' ' - ' ' - ' separator_1' - ' ' - ' ' - ' ' - ' ' - ' appraiser_label' - ' ' - ' Appraiser' - ' false' - ' ' - ' ' - ' appraiser' - ' ' - ' ' - ' false' - ' ' - ' ' - ' part_label' - ' ' - ' Part' - ' false' - ' ' - ' ' - ' part' - ' ' - ' ' - ' false' - ' ' - ' ' - ' trial_label' - ' ' - ' Trial' - ' false' - ' ' - ' ' - ' trial' - ' ' - ' ' - ' false' - ' ' - ' ' - ' spacer' - ' ' - ' 0' - ' 10' - ' ' - ' ' - ' spacer_1' - ' ' - ' 150' - ' -1' - ' ' - ' ' - ' prev_stage' - ' ' - ' <' - ' push' - ' none' - ' icon' - ' ok' - ' default' - ' ' - ' ' - ' next_stage' - ' ' - ' >' - ' push' - ' none' - ' icon' - ' ok' - ' default' - ' ' - ' ' - ' spacer_2' - ' ' - ' 0' - ' -1' - ' ' - ' ' - ' separator_2' - ' ' - ' ' - ' ' - ' ' - '') - - has_appraisers = self.type != cfg.EvaluationType.Anova_3 - - if not has_appraisers: - EDIT_DIALOG.appraiser.visible = False - EDIT_DIALOG.appraiser_label.visible = False - - def update_edit_stages_dialog(): - stage_name = gom.app.project.get('stage.name') - - EDIT_DIALOG.stage.value = stage_name - (appraiser, part, trial) = self.stages[stage_name] - - EDIT_DIALOG.appraiser = appraiser if appraiser != None else '' - EDIT_DIALOG.part = part if part != None else '' - EDIT_DIALOG.trial = trial if trial != None else '' - - def apply_changes(): - self.stages[EDIT_DIALOG.stage.value] = ( - EDIT_DIALOG.appraiser.value.strip(), - EDIT_DIALOG.part.value.strip(), - EDIT_DIALOG.trial.value.strip() - ) - - def handler(widget): - - if widget == EDIT_DIALOG.next_stage: - apply_changes() - gom.script.sys.show_next_stage() - update_edit_stages_dialog() - - if has_appraisers: - EDIT_DIALOG.appraiser.focus = True - else: - EDIT_DIALOG.part.focus = True - - elif widget == EDIT_DIALOG.prev_stage: - apply_changes() - gom.script.sys.show_previous_stage() - update_edit_stages_dialog() - - elif widget == EDIT_DIALOG.appraiser or widget == EDIT_DIALOG.part or widget == EDIT_DIALOG.trial: - apply_changes() - - elif widget == 'system': - update_edit_stages_dialog() - - EDIT_DIALOG.next_stage.enabled = gom.app.project.get("stage.name") != gom.app.project.stages[-1].name - EDIT_DIALOG.prev_stage.enabled = gom.app.project.get("stage.name") != gom.app.project.stages[0].name - - update_edit_stages_dialog() - EDIT_DIALOG.handler = handler - - gom.script.sys.show_user_defined_dialog(dialog=EDIT_DIALOG) - apply_changes() - self.write_back_values() - - -# -------------------------------------------------------------------------------------------------- -# CLASS CheckboxConfiguration -# -# Display checkbox grid dialog for assigning appraiser/part/trial configuration to stages -# -class CheckboxConfiguration (Configuration): - - def __init__(self, type): - - Configuration.__init__(self, type) - - header_code = ''' - - Configure stages - - - - - - - ''' - - label_code = ''' - - label_{row}_{column} - - {text} - false - - ''' - - checkbox_code = ''' - - checkbox_{row}_{column} - - {checked} - - - ''' - - self.content = header_code.format(rows=2 + len(self.stages.keys()), columns=1 + - len(self.appraisers) + len(self.parts) + len(self.trials)) - - row_count = 0 - column_count = 0 - - # - # Row 0 - # - self.content += label_code.format(row=row_count, column=column_count, text='', span=1) - column_count += 1 - - self.content += label_code.format(row=row_count, column=column_count, - text='Appraisers', span=len(self.appraisers)) - column_count += len(self.appraisers) - - self.content += label_code.format(row=row_count, column=column_count, text='Parts', span=len(self.parts)) - column_count += len(self.parts) - - self.content += label_code.format(row=row_count, column=column_count, text='Trials', span=len(self.trials)) - column_count += len(self.trials) - - row_count += 1 - column_count = 0 - - # - # Row 1 - # - self.content += label_code.format(row=row_count, column=column_count, text='', span=1) - column_count += 1 - - for appraiser in self.appraisers: - self.content += label_code.format(row=row_count, column=column_count, text=appraiser, span=1) - column_count += 1 - - for part in self.parts: - self.content += label_code.format(row=row_count, column=column_count, text=part, span=1) - column_count += 1 - - for trial in self.trials: - self.content += label_code.format(row=row_count, column=column_count, text=trial, span=1) - column_count += 1 - - row_count += 1 - column_count = 0 - - # - # Row 2...n - # - for stage in gom.app.project.stages: - key = stage.name - self.content += label_code.format(row=row_count, column=column_count, text=key, span=1) - column_count += 1 - - for appraiser in self.appraisers: - checked = 'true' if appraiser == self.stages[key][0] else 'false' - self.content += checkbox_code.format(row=row_count, column=column_count, checked=checked) - column_count += 1 - - for part in self.parts: - checked = 'true' if part == self.stages[key][1] else 'false' - self.content += checkbox_code.format(row=row_count, column=column_count, checked=checked) - column_count += 1 - - for trial in self.trials: - checked = 'true' if trial == self.stages[key][2] else 'false' - self.content += checkbox_code.format(row=row_count, column=column_count, checked=checked) - column_count += 1 - - row_count += 1 - column_count = 0 - - self.content += '' - - def edit(self): - - DIALOG = gom.script.sys.create_user_defined_dialog(content=self.content) - RESULT = gom.script.sys.show_user_defined_dialog(dialog=DIALOG) - - -# -------------------------------------------------------------------------------------------------- -# MAIN -# -if __name__ == '__main__': - config = CheckboxConfiguration(cfg.EvaluationType.Anova_2) - config.edit() diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_lib.metainfo b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_lib.metainfo deleted file mode 100644 index 2731046..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_lib.metainfo +++ /dev/null @@ -1 +0,0 @@ -{"breakpoints":[],"display_name":"msa_lib","folded_blocks":[],"icon":"","main_menu_path":"","script_element_type":"none","show_in_menu":false,"uuid":"ab37d5d4-7dc5-4fe4-b0e3-54b80ceafff8"} \ No newline at end of file diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_lib.py b/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_lib.py deleted file mode 100644 index c0c9999..0000000 --- a/examples/MeasurementSystemAnalysis/scripts/MSA/Tools/MeasurementSystemAnalysis/msa_lib.py +++ /dev/null @@ -1,494 +0,0 @@ -# -*- coding: utf-8 -*- -# -# msa_lib - Common library functions for generating MSA / Gauge R&R setups -# - -import gom -import os -import os.path -import re -import xml.etree -import xml.etree.ElementTree as ET -import xml.dom.minidom -import stringprep - -import Tools.MeasurementSystemAnalysis.msa_config as cfg - -# ---------------------------------------------------------------------------------- -# Pre checking -# ---------------------------------------------------------------------------------- - -# -# Check various project properties to guarantee a smooth run -# - - -def check_project_setup(): - # - # Temporal directory has to exists for table template writing/import - # - if not os.path.exists(gom.app.temp_directory): - raise RuntimeError('Temporary directory "{0}" does not exist.'.format(gom.app.temp_directory)) - - # - # Project must be loaded - # - project_loaded = False - - try: - gom.app.project.name - project_loaded = True - except: - pass - - if not project_loaded: - raise RuntimeError('No project found.') - - # - # We need at least some stages - # - if len(gom.app.project.stages) == 0: - raise RuntimeError('No stages are present at all.') - - -# ---------------------------------------------------------------------------------- -# General auxillary functions -# ---------------------------------------------------------------------------------- - -# -# Check if an element has the 'automatically created' flag set -# -def is_automatically_created(element): - result = False - - try: - result = int(element.__getattr__('user_{0}'.format(cfg.automatically_created_tag))) == 1 - except: - pass - - return result - -# -# Tag element with 'automatically created' flag -# - - -def tag_as_automatically_created(element): - gom.script.cad.edit_element_keywords( - add_keys=[cfg.automatically_created_tag], - description={cfg.automatically_created_tag: 'Automatically created by Gauge R&R script'}, - elements=[element], - set_value={cfg.automatically_created_tag: '1'}) - -# -# Check if a stage range already exists -# - - -def stage_range_exists(name): - exists = True - - try: - gom.app.project.stage_markers[name] - except: - exists = False - - return exists - - -# -# Create stage range for a set matching an appraiser/part/trial triple and mark it as automatically created -# -# @param appraiser Name of the appraiser or 'None' if the range should cover all appraisers -# @param part Name of the part or 'None' if the range should cover all parts -# @param trial Name of the trial or 'None' if the range should cover all trials -# @return Created stage range -# -def create_stage_range(appraiser, part, trial): - checks = [] - - inputs = {} - - if appraiser != None: - checks.append('APPRAISER.actual.value == "{0}"'.format(appraiser)) - inputs['APPRAISER'] = gom.app.project.actual_elements[cfg.appraiser_tag] - if part != None: - checks.append('PART.actual.value == "{0}"'.format(part)) - inputs['PART'] = gom.app.project.actual_elements[cfg.part_tag] - if trial != None: - checks.append('TRIAL.actual.value == "{0}"'.format(trial)) - inputs['TRIAL'] = gom.app.project.actual_elements[cfg.trial_tag] - - stage_range = None - name = get_stage_range_name(appraiser, part, trial) - expression = ' and '.join(checks) - - if not stage_range_exists(name): - stage_range = gom.script.sys.create_stage_range_by_expression( - expression=expression, - inputs=inputs, - is_visible_in_diagram=True, - name=name) - - gom.script.cad.hide_element(elements=[stage_range]) - - tag_as_automatically_created(stage_range) - - elif gom.app.project.stage_markers[name].expression.strip() != expression: - raise RuntimeError('Stage range "{0}" already exists but has different expression'.format(name)) - - return stage_range - - -# -# Create stage ranges common for all evaluations -# -def create_common_stage_ranges(data, use_appraiser=True): - - def make_string_list(list): - return ','.join("'{0}'".format(x) for x in list) - - # - # Create stage range covering all stages - # - inputs = {} - if use_appraiser: - inputs['APPRAISER'] = gom.app.project.actual_elements[cfg.appraiser_tag] - inputs['PART'] = gom.app.project.actual_elements[cfg.part_tag] - inputs['TRIAL'] = gom.app.project.actual_elements[cfg.trial_tag] - - all_stages_range_expression = '' - if use_appraiser: - all_stages_range_expression += "APPRAISER.actual.value in [{appraiser_list}] and " - - all_stages_range_expression += "PART.actual.value in [{part_list}] and TRIAL.actual.value in [{trial_list}]" - if use_appraiser: - all_stages_range_expression = all_stages_range_expression.format(appraiser_list=make_string_list(data.appraisers), - part_list=make_string_list(data.parts), - trial_list=make_string_list(data.trials)) - else: - all_stages_range_expression = all_stages_range_expression.format(part_list=make_string_list(data.parts), - trial_list=make_string_list(data.trials)) - - try: - if (is_automatically_created(gom.app.project.stage_markers[cfg.all_stages_range_name])): - gom.script.cad.delete_element(elements=[gom.app.project.stage_markers[cfg.all_stages_range_name]]) - except: - pass - - if not stage_range_exists(cfg.all_stages_range_name): - - range = gom.script.sys.create_stage_range_by_expression( - expression=all_stages_range_expression, - inputs=inputs, - is_visible_in_diagram=False, - name=cfg.all_stages_range_name) - - gom.script.cad.hide_element(elements=[range]) - - tag_as_automatically_created(range) - - else: - range = gom.app.project.stage_markers[cfg.all_stages_range_name] - - if range.expression.strip() != all_stages_range_expression.strip(): - gom.script.sys.edit_creation_parameters( - auto_apply=True, - element=range, - expression=all_stages_range_expression) - -# -# Quote expression so that it can be used in a table template cell -# - - -def quote(expression): - return '$' + expression + '$' - -# -# Add token replacement comment to expression -# - - -def create_comment(text, expression): - return '#@ {0}\n{1}'.format(text, expression) - - -# -# Add table template via XML import -# -# @param content Table content in XML format -# -def import_table_template(content, uuid_template): - - template_file_name = os.path.join(gom.app.temp_directory, 'msa_table_template.xml') - - with open(template_file_name, 'wb') as file: - file.write(content.encode('UTF-8')) - file.close() - - gom.script.table.import_table_template(file=template_file_name, - uuid=uuid_template) - -# -# Construct stage name from a appraiser/part/trial triple -# - - -def get_stage_name(data, appraiser, part, trial): - - assert appraiser != None - assert part != None - assert trial != None - - return data.stages[(appraiser, part, trial)].name - -# -# Construct name for stage range addressing an appraiser/part/trail combination -# - - -def get_stage_range_name(appraiser, part, trial): - if appraiser != None and part == None and trial == None: - return 'Appraiser {0}'.format(appraiser) - if appraiser == None and part != None and trial == None: - return 'Part {0}'.format(part) - if appraiser == None and part == None and trial != None: - return 'Trial {0}'.format(trial) - if appraiser == None and part != None and trial != None: - return 'Part {0} / Trial {1}'.format(part, trial) - if appraiser != None and part == None and trial != None: - return 'Appraiser {0} / Trial {1}'.format(appraiser, trial) - if appraiser != None and part != None and trial == None: - return 'Appraiser {0} / Part {1}'.format(appraiser, part) - - return '{0}.{1}.{2}'.format(appraiser if appraiser != None else 'x', - part if part != None else 'x', - trial if trial != None else 'x') - - -def create_item_filter(keyword_name, value): - return 'gom.app.project.actual_elements["{0}"].input_value == "{1}"'.format(keyword_name, value) - - -def create_stage_filter(appraiser, part, trial): - parts = [] - if appraiser: - parts.append(create_item_filter(cfg.appraiser_tag, appraiser)) - if part: - parts.append(create_item_filter(cfg.part_tag, part)) - if trial: - parts.append(create_item_filter(cfg.trial_tag, trial)) - return " and ".join(parts) - - -# ------------------------------------------------------------------------- -# Table template creation functions -# ------------------------------------------------------------------------- - -# -# Create single cell table template entry -# -# @param parent Parent XML element -# @param index Column index in the current row -# @param text Cell text in a quoted format -# @param span Column span -# @return Index of the next column in the current row -# -def create_cell_raw(parent, index, text, span): - cell = ET.SubElement(parent, 'cell') - cell.attrib['index'] = str(index) - cell.attrib['background_mode'] = 'none' - cell.attrib['row_span'] = '1' - cell.attrib['column_span'] = str(span) - - content = ET.SubElement(cell, 'content') - content.attrib['alignment'] = 'left' - content.text = text - - return index + 1 - -# -# Create single cell table template entry containing an expression -# - - -def create_cell(parent, index, comment, text, span): - return create_cell_raw(parent, index, quote(create_comment(comment, text)), span) - -# -# Add column header to XML table definition -# -# @param parent Parent XML element -# @param index Index of the cell in the current column -# @param text Header text / cell content in a quoted format -# - - -def create_column_header(parent, index, text): - header = ET.SubElement(parent, 'column_header') - header.attrib['index'] = str(index) - - content = ET.SubElement(header, 'content') - content.attrib['alignment'] = 'left' - content.text = text - -# -# Create HTML format string representing a subscript name -# -# @param name Variable name -# @param index Variable index -# - - -def var_name(name, index): - return '{0}{1}'.format(name, index) if index != None else name - - -def italic(text): - return '{0}'.format(text) - -# -# Create HTML format string representing an overlined name -# -# @param name Variable name -# @param index Variable index -# - - -def overlined_var_name(name, index): - text = '{0}'.format(name) - if index != None: - text += '{0} = '.format(index) - else: - text += ' = ' - return text - - -# ------------------------------------------------------------------------- -# Expression creation functions -# ------------------------------------------------------------------------- - -# -# Return element type classification -# -def get_element_type(element): - - if element.object_family == 'gdat': - return cfg.Type_GDAT - - return cfg.Type_Inspection - - -# -# Generate result token access matching the given type -# -def get_result_token(type): - if type == cfg.Type_Inspection: - return 'result_dimension.deviation' - elif type == cfg.Type_GDAT: - return 'result_gdat_size.deviation' - - raise AssertionError('Unknown element family type') - - -def get_tolerance_tokens(type): - if type == cfg.Type_GDAT: - return ('result_gdat_size.lower_tolerance_limit', 'result_gdat_size.upper_tolerance_limit') - - return ('result_dimension.lower_tolerance_limit', 'result_dimension.upper_tolerance_limit') - -# -# Generate tolerance accessing expression -# - - -def get_tolerance_expression(type): - if type == cfg.Type_Inspection: - return 'abs (result_dimension.upper_tolerance_limit - result_dimension.lower_tolerance_limit)' - elif type == cfg.Type_GDAT: - return 'abs (result_gdat_size.upper_tolerance_limit - result_gdat_size.lower_tolerance_limit)' - - raise AssertionError('Unknown element family type') - -# -# Generate tolerance checking token -# - - -def get_tolerance_used_token(type): - if type == cfg.Type_Inspection: - return 'result_dimension.is_tolerance_used' - elif type == cfg.Type_GDAT: - return 'result_gdat_size.is_tolerance_used' - - raise AssertionError('Unknown element family type') - -# -# Create expression for accessing the value of a single stage -# - - -def create_stage_access_expression(config, appraiser, part, trial, type): - return 'avg ({0}, index=gom.app.project.stage_markers["{1}"], condition={2})'.format(get_result_token(type), cfg.all_stages_range_name, create_stage_filter(appraiser, part, trial)) - -# -# Create average over multiple expressions -# - - -def create_average_expression(params): - - return 'avg ({0})'.format(', '.join(params)) - -# -# Create range over multiple expressions -# - - -def create_range_expression(params): - - return 'max ({0}) - min ({0})'.format(', '.join(params)) - -# -# Create expression for computing the average value restricted to a single stage range -# - - -def create_restricted_avg_expression(config, appraiser, part, trial, type): - token = get_result_token(type) - - # - # Case 1: Stage range covering all stages. Using 'index="stages"' here instead does not work because - # in that case the content would be dependent of the currently activated stage range. - # - if appraiser == None and part == None and trial == None: - return 'avg ({0}, index=gom.app.project.stage_markers["{1}"])'.format(token, cfg.all_stages_range_name) - - # - # Case 2: A dedicated set of stages - # - else: - return 'avg ({0}, index=gom.app.project.stage_markers["{1}"], condition={2})'.format(get_result_token(type), cfg.all_stages_range_name, create_stage_filter(appraiser, part, trial)) - -# -# Create expression for computing the range (max - min) value restricted to a single stage range -# - - -def create_restricted_range_expression(data, appraiser, part, trial, type): - return 'max ({0}, index=gom.app.project.stage_markers["{1}"], condition={2}) - min ({0}, index=gom.app.project.stage_markers["{1}"], condition={2})' \ - .format(get_result_token(type), cfg.all_stages_range_name, create_stage_filter(appraiser, part, trial)) - - -# -# Create expression for computing the value in percent of the tolerance -# -def create_percent_expression(type, variable, prefix_function=None): - expression = '{0} ? 100.0 * {1} / {2} : "No tol."'.format( - get_tolerance_used_token(type), variable, get_tolerance_expression(type)) - - if prefix_function: - expression = prefix_function + ' (' + expression + ')' - - return 'return ' + expression + '\n' diff --git a/examples/MeasurementSystemAnalysis/scripts/MSA/data/msa_template.xlsx b/examples/MeasurementSystemAnalysis/scripts/MSA/data/msa_template.xlsx deleted file mode 100644 index f809f66271f15a4b0d12bc99c8d9cbc0bee299df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119840 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 diff --git a/examples/ResourceAccess/license/license.txt b/examples/ResourceAccess/license/license.txt deleted file mode 100644 index bb42913..0000000 --- a/examples/ResourceAccess/license/license.txt +++ /dev/null @@ -1,296 +0,0 @@ -ZEISS Add-Ons / Apps End User License Agreement (EULA) -====================================================== - -English version. See below for German version. -Englische Version. Siehe unten für die Deutsche Version. - -1. Introduction - -1.1 General information - -This End User License Agreement for Add-Ons / Apps ("EULA Add-Ons / Apps") is a legal agreement between "you" (either an individual or a legal entity, hereinafter referred to as "licensee" or "customer") and ZEISS ("ZEISS" or "licensor") (each individually a "party" and collectively the "parties") for your use of ZEISS software products. The agreement sets forth all rights and obligations for both licensee and ZEISS and governs your use of all Software Products installed or provided by ZEISS. Any amendment to this agreement must be in writing and in accordance with the terms and conditions contained herein. By paying the applicable license fee(s) and by downloading, installing or using the software, you agree that this agreement shall be enforceable against you in the same manner as a written, negotiated contract signed by you. If you do not agree to the terms of this agreement, you are not authorized and may not download, install or use any ZEISS software products. - -In order to use the ZEISS software products and services, the licensee must have the following: - -(a) a so-called valid subscription agreement or - -(b) a valid license from ZEISS. - -Furthermore, individual software products - -(a) which are based on a subscription agreement and / or - -(b) with a server-based licensing solution - -require and use a secure connection of the application computer to the ZEISS infrastructure and/or the "Cloud Services". - -1.2 The licensor is ZEISS, the licensee is the end customer. The licensor grants the licensee a non-exclusive, non-transferable right to use the "software product", which includes the specific software program and the subsequent extensions, updates, patches and associated documentation for internal company operation, as well as the associated manuals and software documentation. - -1.3 The software product may contain codes, objects and other intellectual property developed and licensed by licensors or third parties and integrated into the software product ("embedded third party software"). Any embedded third party software or open source code and open source licenses used shall not limit or impair the rights of use granted to licensee and may be accessed at any time within the respective software used. In individual cases, the respective license conditions can be made available by the licensor upon request at any time. - -1.4 Any terms and conditions of purchase of the licensee that conflict with or deviate from this agreement shall not become part of the agreement, even if the licensor does not expressly object to them. Amendments to the EULA must be expressly agreed in writing by both parties. - - -2. Term and termination / license fees - -2.1 The license agreement begins with license activation and ends with the period of use of the Pro Version or with the end of the payment period. - -2.2 The Licensor shall be entitled to terminate this license agreement and the corresponding rights of use with immediate effect if the licensee violates any provision of this license agreement or tacitly tolerates a violation of this license agreement by third parties or fails to fulfill its obligations under this license agreement or if the licensee files for insolvency or a change of control occurs at the licensee. - -2.3 Notwithstanding the foregoing, and unless otherwise agreed in this license agreement, this license agreement shall terminate automatically upon licensee's breach of any of its provisions. - -2.4 Under no circumstances shall license fees be fully or partially refundable upon termination or mutually agreed termination of this agreement, unless ZEISS is responsible for the early termination of this agreement. - - -3. Reproduction rights - -3.1 The licensee may reproduce the delivered software to the extent that the reproduction is necessary to use the software. Necessary reproductions of the software include, but are not limited to, the installation of the software product on the mass storage of the device in accordance with this license agreement and the loading of the software into the main memory of the computer. - -3.2 In addition, licensee shall be entitled to make copies for data backup purposes. This backup copy of the licensed software product must be marked as such. - -3.3 If, for reasons of data security or backup, a quick reactivation of the computer system, including the subject matter of the agreement, and the backup of the entire data stock, including the installed software product, are required after a total failure, licensee may create the maximum required number of backup copies. The data media concerned shall be appropriately marked. The backup copies may only be used for archiving purposes. - -3.4 The licensee is not entitled to make further copies or to instruct third parties to make further copies, in particular the licensee is not entitled to print out the program code with a printer or to make photocopies of the manual. - - -4. Resale and transfer - -4.1 The licensee is not entitled to rent, lease, lend or make the software product available to third parties within the scope of hosting or download options, unless the Licensor has expressly indicated or permitted this in writing. - -4.2 However, it is permitted to grant a right of use to third parties if they have to use the software product to the licensee’s specifications (like own employees). Independent third parties are excluded from use in any case. - -4.3 Transfer within legal entities or global groups of licensee: Provided that the transferring licensee and the receiving party are part of one legal entity or part of affiliated companies, the transfer is permitted provided that the receiving party agrees to these license terms. "Affiliate" means any legal entity that is directly or indirectly controlled by a Legal Entity or its parent company. "Control" for purposes of this license agreement means direct or indirect ownership of more than fifty percent (50%) of the stock of such entity or more than fifty percent (50%) direct or indirect participation in the decision-making body of such entity. - - -5. Back translation and program changes - -5.1 As a matter of principle, the licensee may not make any changes to the software product unless this is necessary to correct errors. The prerequisite is that this is done solely for the purpose of correcting errors that impair the functioning of the software. -In the latter case and if important program functions and working methods could be disclosed during the repair process, licensee may commission a commercially active third party to carry out the repair if this third party is not a potential competitor of licensor. -Insofar as the licensee makes changes to the software product in order to rectify errors, the licensor shall not assume any liability for the resulting consequences, in particular not through this authorization. - -5.2 The reverse translation of the licensed program code into other code forms (decompilation) and other types of reverse engineering of various different phases of software creation are permitted only to the extent that they serve to correct errors that impair the functioning of the software (in accordance with section 5.1). However, licensee may perform such decompilation only to the extent necessary for correction and, if applicable, in compliance with the terms and conditions contractually agreed with the owner of the copyright in this program. -Further, decompilation is permitted in cases to obtain information necessary for interoperability with an independently created computer program and only if such information cannot be obtained otherwise. - -5.3 A further prerequisite for the permission to reverse engineer is the performance of reverse engineering or program observation exclusively by means of procedures which the licensee is authorized to perform in accordance with this license agreement. In particular, the program code may in no case be printed out. - -5.4 All property rights and copyrights relating to the software product, the printed accompanying materials and all copies of the software product shall remain with the licensor or its suppliers. This software product is protected under German copyright law, U.S. copyright law and the provisions of international treaties. The licensee is not entitled to reproduce the printed materials accompanying the software. - - -5.5 The licensee shall not be entitled to remove, modify or add to any copyright notices or trademark notices placed by licensor. This includes, without limitation, all references in physical and/or electronic media or documents, in "setup wizards" or in "about..." dialog boxes, and/or in other references displayed on or activated via the Internet, in program code or other embodiments originally included in the software or otherwise created by licensor. - -6. Warranty and right of termination - -6.1 The licensor warrants with respect to the software product licensed to the licensee the performance set forth in the description, provided that the software product is installed in the intended system in compliance with the licensor's guidelines. - -6.2 The licensor shall correct errors in the software product, and in all manuals and other documents, within a reasonable period of time after receiving from the licensee the corresponding information on the error necessary to correct the error. Errors shall be remedied by rectification, which shall not be invoiced, or by replacement of the delivery, at the option of the licensor. - -6.3 The licensee's right of termination due to the non-executability of the software product may only be exercised after rectifications or replacements have been made twice without success. - -6.4 The licensor neither warrants nor guarantees the functionality of the programs created by third parties or the licensee / customer, nor the error-free execution of the programs with the software or on the licensor's systems. - - -7. Liability - -7.1 If the licensee is unable to use the software product in the manner specified in the agreement and the licensee is responsible for this due to the failure to implement or the incorrect implementation of suggestions and advice before or after signing the agreement or due to the breach of other contractual obligations, the provisions set forth in this agreement shall apply mutatis mutandis to the exclusion of any further claims by the licensee. - -For damages that do not occur to the software product, respectively not to the hardware and the connected device, the liability obligation of the licensor applies exclusively in the following cases, regardless of the respective legal ground: - -- willful misconduct, - -- gross negligence of its executive bodies or officers, - -- culpable damage to life, limb and health, in the event of errors, which the lLicensor has fraudulently concealed or which it has excluded under warranty, - -- software errors within the scope of liability for personal injury and property damage due to personally implemented objects, as set out in the product liability regulations applicable to them - -7.2 In the event of culpable breach of material contractual obligations, the licensor shall also be liable for gross negligence on the part of non-executive employees and for slight negligence. In the latter case, liability shall be limited to damages that are foreseeable and typical for this type of contract. - -7.3 In addition, the licensor, its employees and its vicarious agents shall be liable for data loss or changes due to program errors, limited to the extent that this would have been unavoidable if the licensee had complied with its obligation to make back-up copies regularly and at least once a day. - -7.4 In the event of claims based on copyright infringement, the licensor shall grant the licensee the right to continue using the software product or to make modifications to the software product so that copyright protection is ensured. If this is not commercially reasonable, the licensor shall take back the subject matter of the agreement and refund the license fee paid, less an amount corresponding to the duration of the previous use. This shall apply provided that the licensee notifies the licensor of this type of claim in writing without delay and allows licensor all legal remedies and out-of-court settlements. - -7.5 The licensee or its IT provider shall be liable for server interruptions, interruption of license allocation and other support cases that are not clearly attributable to an incorrectly created license. - -The licensee or its IT provider is responsible for maintaining the necessary number of licenses to provide its services. The licensor is not liable for interruptions in use and subsequent work / production stoppages. - - -7.6 Further liability claims of the licensee are expressly excluded. -7.7 The licensee is responsible for all problems arising from the use of the software product that are not directly caused by the licensor. Therefore, licensee is responsible for all data generated and produced during the use of the software product. Accordingly, licensee is obligated and responsible for compliance with the terms and conditions set forth in this license agreement. - - -8. Security measures - -The licensee shall take suitable measures to secure the software and, if applicable, the access data for online access against access by unauthorized third parties. In particular, all copies of the software as well as the access data shall be kept in a protected place. - - -9. Industrial property rights and copyrights - -9.1 If a third party asserts claims for infringement of an industrial property right or a copyright against the customer because the customer uses a software version, firmware supplement or associated documentation supplied by ZEISS, ZEISS shall be obligated to pay any cost and damage compensation amounts awarded to the owner of the property right by a court or awarded with the prior consent of ZEISS. This is subject to the condition that the customer informs ZEISS immediately in writing of such claims and that ZEISS reserves the right to all defensive measures and out-of-court settlements. The customer is obligated to support ZEISS in the defense to the best of its ability. Under these conditions, ZEISS shall generally procure for the customer the right to continue using the software version, firmware supplement or documentation. If this should not be possible under economically reasonable conditions, ZEISS shall be obligated, at its own discretion and at its own expense, either to modify or replace the relevant item in such a way that the property right is not infringed, or to take back the item and refund the remuneration paid for it less an amount taking into account the benefits derived. - -9.2 ZEISS shall have no obligations if property right infringements are caused by the fact that software versions , firmware supplements or documentation supplied by ZEISS are not used in the intended manner or are not used on the specific systems. - - -10. Export Control - -Licensee assumes responsibility for compliance with all applicable rules and regulations, including but not limited to the export control and sanctions regulations of the Federal Republic of Germany, the European Union and the United States of America. In particular, licensee agrees not to provide the software or any related technology or documentation or any part thereof, directly or indirectly, to any sanctioned country or to any sanctioned person or entity in violation of the foregoing. - -Licensee represents and guarantees that it will not use the software or any related technology or documentation or any portion thereof in violation of any applicable law or regulation. The licensee further agrees to indemnify and hold harmless licensor from and against any and all claims resulting from licensee's failure to comply with any of the foregoing applicable provisions. - - -11. Miscellaneous - -11.1 All verbal agreements, amendments, extensions or concretizations of these license conditions as well as the special characteristics of the assurances or agreements or arrangements made must be in writing to be legally effective. If these are drafted by representatives or vicarious agents of the Licensor, they shall only become legally binding upon approval by the Licensor. - -11.2 Should parts of this contract become invalid, this shall not affect the validity of the remaining parts of this contract. The ineffective part of this contract shall be replaced by its parties with legally permissible provisions that come as close as possible to the intention of the ineffective provisions. - -11.3 The laws of the Federal Republic of Germany shall apply to this contract, excluding the law on the international sale of goods and the rules of conflict of laws. - -Version from October 2023 - ------------------------------------------------------------------------------ - -ZEISS Add-Ons / Apps End User License Agreement (EULA) -====================================================== - -German version. See above for English version. -Deutsche Version. Siehe oben für die Englische Version. - -1. Einführung - -1.1 Allgemeine Informationen - -Diese Endbenutzer-Lizenzvereinbarung für Add-Ons / Apps (End User License Agreement, „EULA Add-Ons / Apps“) ist eine rechtsgültige Vereinbarung zwischen „Ihnen“ (entweder eine natürliche oder juristische Person, im Folgenden als „Lizenznehmer“ oder „Kunde“ bezeichnet) und ZEISS („ZEISS“ oder „Lizenzgeber“) (jeweils einzeln eine „Partei“ und zusammen die „Parteien“) für Ihre Nutzung von ZEISS Softwareprodukten. Die Vereinbarung legt alle Rechte und Pflichten sowohl für den Lizenznehmer als auch für ZEISS fest und regelt Ihre Nutzung aller Softwareprodukte, die von ZEISS installiert oder zur Verfügung gestellt werden. Jede Änderung dieser Vereinbarung muss schriftlich erfolgen und mit den hierin enthaltenen Bestimmungen und Bedingungen übereinstimmen. Durch die Zahlung der geltenden Lizenzgebühr(en) und durch das Herunterladen, die Installation oder die Nutzung der Software erklären Sie sich damit einverstanden, dass diese Vereinbarung Ihnen gegenüber gleichermaßen durchsetzbar ist wie ein schriftlicher, ausgehandelter und von Ihnen unterzeichneter Vertrag. Wenn Sie den Bedingungen dieser Vereinbarung nicht zustimmen, sind Sie nicht berechtigt und dürfen keine ZEISS Softwareprodukte herunterladen, installieren oder verwenden. - -Für die Nutzung der ZEISS Softwareprodukte und Leistungen muss der Lizenznehmer über Folgendes verfügen: - -(a) einen sog. gültigen Subscriptionvertrag oder - -(b) eine gültige Lizenz von ZEISS. - -Ferner erfordern und verwenden einzelne Softwareprodukte - -(a) die auf einem Subscriptionvertrag basieren und / oder - -(b) mit einer serverbasierten Lizenzlösung - -eine sichere Verbindung des Applikationsrechners mit der ZEISS Infrastruktur und / oder den „Cloud Services“. - -1.2 Lizenzgeber ist ZEISS Lizenznehmer ist der Endkunde. Der Lizenzgeber gewährt dem Lizenznehmer ein nicht ausschließliches, nicht übertragbares Nutzungsrecht für das „Softwareprodukt“, welches das spezielle Softwareprogramm und die damit nachfolgenden Erweiterungen, Updates, Patches und zugehörige Dokumentation für den unternehmensinternen Betrieb, wie auch die dazugehörigen Handbücher und Softwaredokumentation, einschließt. - -1.3 Das Softwareprodukt kann Codes, Objekte und anderes geistiges Eigentum enthalten, das von Lizenzgebern oder Dritter entwickelt und von diesen lizenziert und in das Softwareprodukt integriert wurde („Embedded Third Party Software“). Etwaig verwendete Embedded Third Party Software oder Open Source-Code und Open Source-Lizenzen beschränken oder beeinträchtigen die gewährten Nutzungsrechte des Lizenznehmers nicht und können jederzeit innerhalb der jeweils genutzten Software abgerufen werden. Im Einzelfall können die jeweiligen Lizenzbedingungen vom Lizenzgeber auf Anforderung jederzeit zur Verfügung gestellt werden. - -1.4 Entgegenstehende oder von dieser Vereinbarung abweichende Kaufbedingungen des Lizenznehmers werden nicht Vereinbarungsbestandteil, auch wenn der Lizenzgeber diesen nicht ausdrücklich widerspricht. Änderungen der EULA müssen schriftlich und ausdrücklich durch beide Parteien vereinbart werden. - - -2. Laufzeit und Kündigung / Lizenzgebühren - -2.1 Die Lizenzvereinbarung beginnt mit Lizenzaktivierung und endet mit der Nutzungsdauer der Pro Version oder mit dem Ende der Bezahldauer. - -2.2 Der Lizenzgeber ist berechtigt, diese Lizenzvereinbarung und die entsprechenden Nutzungsrechte mit sofortiger Wirkung zu kündigen, falls der Lizenznehmer eine Bestimmung dieser Lizenzvereinbarung verletzt oder eine Verletzung dieser Lizenzvereinbarung durch Dritte stillschweigend duldet oder seine Verpflichtungen aus dieser Lizenzvereinbarung nicht erfüllt oder falls der Lizenznehmer Insolvenz anmeldet oder bei dem Lizenznehmer ein Kontrollwechsel stattfindet. - -2.3 Ungeachtet der vorstehenden Bestimmungen und sofern in dieser Lizenzvereinbarung nicht anderweitig vereinbart, endet diese Lizenzvereinbarung automatisch bei Verletzung einer seiner Bestimmungen durch den Lizenznehmer. - -2.4 Unter keinen Umständen sind bei Kündigung oder einvernehmlicher Beendigung dieses Vertrages Lizenzgebühren vollständig oder teilweise erstattungsfähig, es sei denn ZEISS hat die vorzeitige Beendigung dieses Vertrages zu vertreten. - - -3. Vervielfältigungsrechte - -3.1 Der Lizenznehmer darf die gelieferte Software in dem Umfang vervielfältigen, in dem die Vervielfältigung zur Nutzung der Software erforderlich ist. Erforderliche Vervielfältigungen der Software sind unter anderem die Installation des Softwareprodukts auf dem Massenspeicher des Geräts gemäß diesem Lizenzvertrag und das Laden der Software in den Hauptspeicher des Computers. - -3.2 Außerdem ist der Lizenznehmer zur Anfertigung von Kopien zur Datensicherung berechtigt. Diese Sicherungskopie des lizenzierten Softwareprodukts muss als solche gekennzeichnet sein. - -3.3 Sind aus Gründen der Datensicherheit oder -sicherung nach einem Totalausfall eine schnelle Reaktivierung des Computersystems, des Vertragsgegenstands eingeschlossen, sowie die Sicherung des gesamten Datenbestands, des installierten Softwareprodukts eingeschlossen, erforderlich, so kann der Lizenznehmer die maximal erforderliche Anzahl an Sicherungskopien erstellen. Die betreffenden Datenmedien sind angemessen zu kennzeichnen. Die Sicherungskopien dürfen ausschließlich zu Archivierungszwecken genutzt werden. - -3.4 Der Lizenznehmer ist nicht berechtigt, weitere Kopien zu erstellen oder Dritte anzuweisen, weitere Kopien zu erstellen, insbesondere ist er nicht berechtigt, den Programmcode mit einem Drucker auszudrucken oder Fotokopien des Handbuchs zu erstellen. - - -4. Weiterverkauf und Übertragung - -4.1 Der Lizenznehmer ist nicht berechtigt, das Softwareprodukt Dritten im Rahmen von Hosting- oder Downloadoptionen zu vermieten, verleasen, verleihen oder zur Verfügung zu stellen, es sei denn, der Lizenzgeber hat dies ausdrücklich schriftlich angegeben oder erlaubt. - -4.2 Es ist jedoch gestattet, Dritten ein Nutzungsrecht einzuräumen, wenn diese das Softwareprodukt nach Maßgabe des Lizenznehmers (wie eigene Mitarbeiter) nutzen müssen. Von der Nutzung auf jeden Fall ausgeschlossen sind unabhängige Dritte. - -4.3 Übertragung innerhalb von Rechtspersonen oder globalen Konzernen des Lizenznehmers: Sofern der übertragende Lizenznehmer und die empfangende Partei Teil einer Rechtsperson oder Teil verbundener Unternehmen sind, ist die Übertragung gestattet, sofern die empfangende Partei diesen Lizenzbedingungen zustimmt. „Verbundene Unternehmen“ bedeutet jede Rechtsperson, die direkt oder indirekt von einer Rechtsperson oder deren Muttergesellschaft kontrolliert wird. „Kontrolle“ im Sinne dieses Lizenzvertrags bedeutet direkter oder indirekter Besitz von mehr als fünfzig Prozent (50 %) der Anteile an diesem Unternehmen oder mehr als fünfzig Prozent (50 %) direkter oder indirekter Beteiligung am Entscheidungsorgan dieses Unternehmens. - - -5. Rückübersetzung und Programmänderungen - -5.1 Der Lizenznehmer darf grundsätzlich keine Änderungen am Softwareprodukt vornehmen, außer wenn dies zur Behebung von Fehlern erforderlich ist. Voraussetzung ist, dass dies ausschließlich zum Zweck der Korrektur von Fehlern geschieht, die das Funktionieren der Software beeinträchtigen. -Im letzteren Fall und wenn beim Reparaturvorgang wichtige Programmfunktionen und Arbeitsmethoden offengelegt werden könnten, kann der Lizenznehmer einen gewerblich tätigen Dritten mit der Reparatur beauftragen, wenn dieser Dritte nicht ein potenzieller Wettbewerber des Lizenzgebers ist. -Soweit der Lizenznehmer zur Behebung von Fehlern Änderungen am Softwareprodukt vornimmt, übernimmt der Lizenzgeber, insb. auch nicht durch diese Freigabe, für die daraus resultierende Folgen keine Haftung. - -5.2 Die Rückübersetzung des lizenzierten Programmcodes in andere Codeformen (Dekompilierung) und andere Arten des Reverse Engineering verschiedener unterschiedlicher Phasen der Software-Erstellung sind nur insoweit zulässig, wie sie dazu dienen, Fehler zu korrigieren, die das Funktionieren der Software beeinträchtigen (entsprechend Ziffer 5.1). Der Lizenznehmer darf eine solche Dekompilierung jedoch nur in dem für die Berichtigung erforderlichen Ausmaß und gegebenenfalls unter Einhaltung der mit dem Inhaber des Urheberrechts an diesem Programm vertraglich festgelegten Bedingungen vornehmen. -Weiter ist eine Dekompilierung in Fällen zulässig, um Informationen zu gewinnen, die zur Interoperabilität mit einem unabhängig geschaffenen Computerprogramm erforderlich sind, und nur falls diese Informationen nicht anderweitig beschafft werden können. - -5.3 Weitere Voraussetzung für die Genehmigung zur Rückübersetzung ist die Durchführung des Reverse Engineering oder der Programmbeobachtung ausschließlich durch Verfahren, zu deren Ausführung der Lizenznehmer gemäß diesem Lizenzvertrag berechtigt ist. Insbesondere darf der Programmcode in keinem Fall ausgedruckt werden. 5.4 Alle Eigentums- und Urheberrechte in Bezug auf das Softwareprodukt, die gedruckten Begleitmaterialien und sämtliche Kopien des Softwareprodukts verbleiben beim Lizenzgeber oder seinen Lieferanten. Das vorliegende Softwareprodukt ist nach deutschem Urheberrecht, US-amerikanischem Urheberrecht und den Bestimmungen internationaler Verträge geschützt. Der Lizenznehmer ist nicht berechtigt, die der Software beiliegenden gedruckten Materialien zu vervielfältigen. - -5.5 Der Lizenznehmer ist nicht berechtigt, Hinweise zum Urheberrecht oder Markennennungen, die der Lizenzgeber angebracht hat, zu entfernen, zu ändern oder zu ergänzen. Dies beinhaltet ohne Einschränkungen alle Verweise in physischen und / oder elektronischen Medien oder Dokumenten, in „Setup-Assistenten" oder in den Dialogfeldern „Über...“ und / oder in anderen Verweisen, die im Internet dargestellt oder über das Internet aktiviert werden, im Programmcode oder anderen Ausführungsformen, die ursprünglich in der Software enthalten waren oder anderweitig vom Lizenzgeber erstellt wurden. - - -6. Gewährleistung und Kündigungsrecht - -6.1 Der Lizenzgeber gewährleistet in Bezug auf das für den Lizenznehmer lizenzierte Softwareprodukt die in der Beschreibung festgelegte Leistung, insofern das Softwareprodukt in dem vorgesehenen System unter Einhaltung der Richtlinien des Lizenzgebers installiert wird. - -6.2 Der Lizenzgeber beseitigt Fehler an dem Softwareprodukt, und in allen Handbüchern sowie anderen Dokumenten, innerhalb einer angemessenen Frist nach Erhalt der zur Fehlerbeseitigung notwendigen entsprechender Angaben vom zum Fehler Lizenznehmer. Fehler werden durch Nachbesserungen, die nicht in Rechnung gestellt werden, oder durch Ersatz der Lieferung, nach Wahl des Lizenzgebers, behoben. - -6.3 Das Kündigungsrecht des Lizenznehmers aufgrund der Nichtausführbarkeit des Softwareprodukts kann erst ausgeübt werden, wenn Nachbesserungen bzw. Ersatz zweimal erfolglos erfolgt sind. - -6.4 Der Lizenzgeber gibt weder eine Garantie noch eine Gewährleistung für die Funktionalität der von Drittanbietern oder dem Lizenznehmer / Kunden erstellten Programme, ebenso wenig wie auf das fehlerfreie Ausführen der Programme mit der Software oder auf den Systemen des Lizenzgebers. - - -7. Haftung - -7.1 Falls der Lizenznehmer das Softwareprodukt nicht auf die vertraglich festgelegte Weise nutzen kann und der Lizenznehmer dies aufgrund der unterlassenen oder falschen Umsetzung von Vorschlägen und Ratschlägen vor oder nach der Unterzeichnung des Vertrages oder aufgrund der Verletzung sonstiger vertraglicher Pflichten zu vertreten hat, so gelten unter Ausschluss weiterer Ansprüche des Lizenznehmers entsprechend die in diesem Vertrag dargelegten Regelungen. - -Für Schäden, die nicht am Softwareprodukt, beziehungsweise nicht an der Hardware und dem angeschlossenen Gerät entstehen, gilt die Haftungsverpflichtung des Lizenzgebers ausschließlich in den folgenden Fällen, unabhängig vom jeweiligen Rechtsgrund: - -- vorsätzliches Fehlverhalten, - -- grobe Fahrlässigkeit seiner ausführenden Organe oder leitenden Angestellten, - -- schuldhaft herbeigeführter Schaden des Lebens, des Körpers und der Gesundheit, bei Fehlern, die der Lizenzgeber arglistig verschwiegen, oder die er unter Gewährleistung ausgeschlossen hat, - -- Softwarefehler im Rahmen der Haftung bei Personen- und Sachschäden aufgrund persönlich implementierter Objekte, wie in den dafür zutreffenden Produkthaftungsregelungen dargelegt - -7.2 Bei schuldhafter Verletzung wesentlicher Vertragspflichten haftet der Lizenzgeber auch bei grober Fahrlässigkeit seitens nichtleitender Angestellter und bei leichter Fahrlässigkeit. Im letzteren Fall ist die Haftung auf Schäden begrenzt, die vorhersehbar und typisch für diese Art von Vertrag sind. - -7.3 Außerdem haften der Lizenzgeber, seine Mitarbeiter und seine Erfüllungsgehilfen für Datenverlust oder -änderungen aufgrund von Programmfehlern, beschränkt auf den Umfang, in dem dies unvermeidbar gewesen wäre, wenn der Lizenznehmer seiner Verpflichtung, regelmäßig und mindestens einmal täglich Sicherungskopien zu erstellen, nachgekommen wäre. - -7.4 Bei Ansprüchen aufgrund von Urheberrechtsverletzungen gewährt der Lizenzgeber dem Lizenznehmer das Recht zur weiteren Nutzung des Softwareprodukts oder zur Vornahme von Änderungen am Softwareprodukt, so dass der Schutz der Urheberrechte gewährleistet ist. Wenn dies nicht wirtschaftlich sinnvoll ist, so nimmt der Lizenzgeber den Vertragsgegenstand zurück und erstattet die gezahlte Lizenzgebühr, abzüglich eines der Dauer der vorherigen Nutzung entsprechenden Betrags. Dies gilt unter der Voraussetzung, dass der Lizenznehmer dem Lizenzgeber diese Art der Ansprüche unverzüglich schriftlich mitteilt und dem Lizenzgeber alle Rechtsmittel und außergerichtlichen Regelungen gestattet. - -7.5 Für Serverunterbrechungen, Unterbrechung der Lizenzzuteilung und sonstige Support-Fälle, die nicht eindeutig auf eine fehlerhaft erstellte Lizenz zurückzuführen sind, haftet der Lizenznehmer bzw. dessen IT-Provider.. -Der Lizenznehmer oder dessen IT-Provider ist verantwortlich für die Vorhaltung der notwendigen Anzahl an Lizenzen zur Erbringung seiner Leistungen. Der Lizenzgeber haftet nicht für Nutzungsunterbrechungen und nachfolgende Arbeits- / Produktionsausfälle. - -7.6 Weitergehende Haftungsansprüche des Lizenznehmers sind ausdrücklich ausgeschlossen. - -7.7 Der Lizenznehmer ist für alle aus der Nutzung des Softwareprodukts entstehenden Probleme verantwortlich, die nicht direkt durch den Lizenzgeber verursacht werden. Daher ist der Lizenznehmer für alle Daten verantwortlich, die bei der Nutzung des Softwareprodukts erzeugt und hergestellt werden. Der Lizenznehmer ist demnach zur beziehungsweise für die Einhaltung der in dieser Lizenzvereinbarung genannten Bedingungen verpflichtet und verantwortlich. - - -8. Sicherungsmaßnahmen - -Der Lizenznehmer wird die Software sowie gegebenenfalls die Zugangsdaten für den Onlinezugriff durch geeignete Maßnahmen vor dem Zugriff durch unbefugte Dritte sichern. Insbesondere sind sämtliche Kopien der Software sowie die Zugangsdaten an einem geschützten Ort zu verwahren. - - -9. Gewerbliche Schutzrechte und Urheberrechte - -9.1 Macht ein Dritter Ansprüche aus Verletzung eines gewerblichen Schutzrechtes oder eines Urheberrechts gegen den Kunden geltend, weil dieser eine von ZEISS gelieferte Softwareversion, Firmwareergänzung oder dazugehörige Dokumentation benutzt, ist ZEISS verpflichtet, etwaige dem Schutzrechtsinhaber gerichtlich zugesprochene oder mit vorheriger Zustimmung von ZEISS zugestandene Kosten- und Schadenersatzbeträge zu bezahlen. Vorausgesetzt ist dabei, dass der Kunde ZEISS unverzüglich schriftlich über derartige Ansprüche unterrichtet und ZEISS alle Abwehrmaßnahmen und außergerichtlichen Regelungen vorbehalten bleiben. Der Kunde ist verpflichtet, ZEISS bei der Abwehr nach besten Kräften zu unterstützen. Unter diesen Voraussetzungen wird ZEISS dem Kunden grundsätzlich das Recht zum weiteren Gebrauch der Softwareversion, Firmwareergänzung oder Dokumentation verschaffen. Falls dies zu wirtschaftlich angemessenen Bedingungen nicht möglich sein sollte, ist ZEISS verpflichtet, nach eigener Wahl und auf eigene Kosten den entsprechenden Gegenstand entweder derart abzuändern oder zu ersetzen, dass das Schutzrecht nicht verletzt wird, oder den Gegenstand zurückzunehmen und das dafür bezahlte Entgelt abzüglich eines die gezogenen Nutzungen berücksichtigenden Betrages zu erstatten. - -9.2 ZEISS hat keine Verpflichtungen, falls Schutzrechtsverletzungen dadurch hervorgerufen werden, dass von ZEISS gelieferte Softwareversionen, Firmwareergänzungen oder Dokumentation nicht in der vorgesehenen Weise verwendet oder nicht auf den bestimmten Systemen eingesetzt wird. - - -10. Exportkontrolle - -Der Lizenznehmer übernimmt die Verantwortung für die Einhaltung aller anwendbaren Bestimmungen und Vorschriften, einschließlich, aber nicht beschränkt auf die Exportkontroll- und Sanktionsbestimmungen der Bundesrepublik Deutschland, der Europäischen Union sowie der Vereinigten Staaten von Amerika. Insbesondere bestätigt der Lizenznehmer, die Software sowie jedwede damit verbundene Technologie oder Dokumentation oder Teile davon weder direkt noch indirekt unter Nichtbefolgung der vorgenannten Bestimmungen in sanktionierte Länder oder an sanktionierte natürliche oder juristische Personen bereitzustellen. - -Der Lizenznehmer sichert dem Lizenzgeber zu, dass er die Software sowie jedwede damit verbundene Technologie oder Dokumentation oder Teile davon nicht unter Verletzung vorgenannter anwendbarer Gesetze oder Vorschriften verwenden wird. Weiterhin verpflichtet sich der Lizenznehmer den Lizenzgeber von allen Ansprüchen freizustellen und schadlos zu halten, welche aus der Nichteinhaltung vorgenannter anwendbarer Bestimmungen resultiert. - - -11. Sonstiges - -11.1 Sämtliche mündliche Vereinbarungen, Änderungen, Erweiterungen oder Konkretisierungen dieser Lizenzbedingungen sowie die besonderen Eigenschaften der getroffenen Zusicherungen oder Vereinbarungen oder Absprachen bedürfen zu ihrer Rechtswirksamkeit der Schriftform. Falls diese von Vertretern oder Erfüllungsgehilfen des Lizenzgebers abgefasst sind, so werden sie erst mit der Genehmigung des Lizenzgebers rechtlich bindend. - -11.2 Sollten Teile dieses Vertrags unwirksam werden, so berührt dies nicht die Wirksamkeit der übrigen Teile dieses Vertrags. Der unwirksame Teil dieses Vertrags soll durch seine Parteien durch gesetzlich zulässige Bestimmungen ersetzt werden, die der Absicht der unwirksamen Bestimmungen am nächsten kommt. - -11.3 Auf diesen Vertrag sind die Gesetze der Bundesrepublik Deutschland anwendbar, unter Ausschluss des Gesetzes über den internationalen Warenkauf und der Regeln des Kollisionsrechts. - -Stand Oktober 2023 diff --git a/examples/ResourceAccess/metainfo.json b/examples/ResourceAccess/metainfo.json deleted file mode 100644 index 020890d..0000000 --- a/examples/ResourceAccess/metainfo.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "author": "Carl Zeiss GOM Metrology GmbH", - "description": "Examples for accessing add-on based resources", - "licensing": { - "licenses": [ - ], - "product-codes": [ - ] - }, - "software-revision": "157350", - "software-version": "GOM Software 2022 Service Pack 2", - "title": "Resource access example", - "uuid": "040e602d-40d6-47a1-9fb4-e558b231ada9", - "version": "1.0.0" -} diff --git a/examples/ResourceAccess/scripts/Resources/assets/zeiss_logo.png b/examples/ResourceAccess/scripts/Resources/assets/zeiss_logo.png deleted file mode 100644 index c850a79f700ca6730a1dee45489624d981a03afd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29387 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 diff --git a/examples/TemplateUnittestCoverage/license/license.txt b/examples/TemplateUnittestCoverage/license/license.txt deleted file mode 100644 index bb42913..0000000 --- a/examples/TemplateUnittestCoverage/license/license.txt +++ /dev/null @@ -1,296 +0,0 @@ -ZEISS Add-Ons / Apps End User License Agreement (EULA) -====================================================== - -English version. See below for German version. -Englische Version. Siehe unten für die Deutsche Version. - -1. Introduction - -1.1 General information - -This End User License Agreement for Add-Ons / Apps ("EULA Add-Ons / Apps") is a legal agreement between "you" (either an individual or a legal entity, hereinafter referred to as "licensee" or "customer") and ZEISS ("ZEISS" or "licensor") (each individually a "party" and collectively the "parties") for your use of ZEISS software products. The agreement sets forth all rights and obligations for both licensee and ZEISS and governs your use of all Software Products installed or provided by ZEISS. Any amendment to this agreement must be in writing and in accordance with the terms and conditions contained herein. By paying the applicable license fee(s) and by downloading, installing or using the software, you agree that this agreement shall be enforceable against you in the same manner as a written, negotiated contract signed by you. If you do not agree to the terms of this agreement, you are not authorized and may not download, install or use any ZEISS software products. - -In order to use the ZEISS software products and services, the licensee must have the following: - -(a) a so-called valid subscription agreement or - -(b) a valid license from ZEISS. - -Furthermore, individual software products - -(a) which are based on a subscription agreement and / or - -(b) with a server-based licensing solution - -require and use a secure connection of the application computer to the ZEISS infrastructure and/or the "Cloud Services". - -1.2 The licensor is ZEISS, the licensee is the end customer. The licensor grants the licensee a non-exclusive, non-transferable right to use the "software product", which includes the specific software program and the subsequent extensions, updates, patches and associated documentation for internal company operation, as well as the associated manuals and software documentation. - -1.3 The software product may contain codes, objects and other intellectual property developed and licensed by licensors or third parties and integrated into the software product ("embedded third party software"). Any embedded third party software or open source code and open source licenses used shall not limit or impair the rights of use granted to licensee and may be accessed at any time within the respective software used. In individual cases, the respective license conditions can be made available by the licensor upon request at any time. - -1.4 Any terms and conditions of purchase of the licensee that conflict with or deviate from this agreement shall not become part of the agreement, even if the licensor does not expressly object to them. Amendments to the EULA must be expressly agreed in writing by both parties. - - -2. Term and termination / license fees - -2.1 The license agreement begins with license activation and ends with the period of use of the Pro Version or with the end of the payment period. - -2.2 The Licensor shall be entitled to terminate this license agreement and the corresponding rights of use with immediate effect if the licensee violates any provision of this license agreement or tacitly tolerates a violation of this license agreement by third parties or fails to fulfill its obligations under this license agreement or if the licensee files for insolvency or a change of control occurs at the licensee. - -2.3 Notwithstanding the foregoing, and unless otherwise agreed in this license agreement, this license agreement shall terminate automatically upon licensee's breach of any of its provisions. - -2.4 Under no circumstances shall license fees be fully or partially refundable upon termination or mutually agreed termination of this agreement, unless ZEISS is responsible for the early termination of this agreement. - - -3. Reproduction rights - -3.1 The licensee may reproduce the delivered software to the extent that the reproduction is necessary to use the software. Necessary reproductions of the software include, but are not limited to, the installation of the software product on the mass storage of the device in accordance with this license agreement and the loading of the software into the main memory of the computer. - -3.2 In addition, licensee shall be entitled to make copies for data backup purposes. This backup copy of the licensed software product must be marked as such. - -3.3 If, for reasons of data security or backup, a quick reactivation of the computer system, including the subject matter of the agreement, and the backup of the entire data stock, including the installed software product, are required after a total failure, licensee may create the maximum required number of backup copies. The data media concerned shall be appropriately marked. The backup copies may only be used for archiving purposes. - -3.4 The licensee is not entitled to make further copies or to instruct third parties to make further copies, in particular the licensee is not entitled to print out the program code with a printer or to make photocopies of the manual. - - -4. Resale and transfer - -4.1 The licensee is not entitled to rent, lease, lend or make the software product available to third parties within the scope of hosting or download options, unless the Licensor has expressly indicated or permitted this in writing. - -4.2 However, it is permitted to grant a right of use to third parties if they have to use the software product to the licensee’s specifications (like own employees). Independent third parties are excluded from use in any case. - -4.3 Transfer within legal entities or global groups of licensee: Provided that the transferring licensee and the receiving party are part of one legal entity or part of affiliated companies, the transfer is permitted provided that the receiving party agrees to these license terms. "Affiliate" means any legal entity that is directly or indirectly controlled by a Legal Entity or its parent company. "Control" for purposes of this license agreement means direct or indirect ownership of more than fifty percent (50%) of the stock of such entity or more than fifty percent (50%) direct or indirect participation in the decision-making body of such entity. - - -5. Back translation and program changes - -5.1 As a matter of principle, the licensee may not make any changes to the software product unless this is necessary to correct errors. The prerequisite is that this is done solely for the purpose of correcting errors that impair the functioning of the software. -In the latter case and if important program functions and working methods could be disclosed during the repair process, licensee may commission a commercially active third party to carry out the repair if this third party is not a potential competitor of licensor. -Insofar as the licensee makes changes to the software product in order to rectify errors, the licensor shall not assume any liability for the resulting consequences, in particular not through this authorization. - -5.2 The reverse translation of the licensed program code into other code forms (decompilation) and other types of reverse engineering of various different phases of software creation are permitted only to the extent that they serve to correct errors that impair the functioning of the software (in accordance with section 5.1). However, licensee may perform such decompilation only to the extent necessary for correction and, if applicable, in compliance with the terms and conditions contractually agreed with the owner of the copyright in this program. -Further, decompilation is permitted in cases to obtain information necessary for interoperability with an independently created computer program and only if such information cannot be obtained otherwise. - -5.3 A further prerequisite for the permission to reverse engineer is the performance of reverse engineering or program observation exclusively by means of procedures which the licensee is authorized to perform in accordance with this license agreement. In particular, the program code may in no case be printed out. - -5.4 All property rights and copyrights relating to the software product, the printed accompanying materials and all copies of the software product shall remain with the licensor or its suppliers. This software product is protected under German copyright law, U.S. copyright law and the provisions of international treaties. The licensee is not entitled to reproduce the printed materials accompanying the software. - - -5.5 The licensee shall not be entitled to remove, modify or add to any copyright notices or trademark notices placed by licensor. This includes, without limitation, all references in physical and/or electronic media or documents, in "setup wizards" or in "about..." dialog boxes, and/or in other references displayed on or activated via the Internet, in program code or other embodiments originally included in the software or otherwise created by licensor. - -6. Warranty and right of termination - -6.1 The licensor warrants with respect to the software product licensed to the licensee the performance set forth in the description, provided that the software product is installed in the intended system in compliance with the licensor's guidelines. - -6.2 The licensor shall correct errors in the software product, and in all manuals and other documents, within a reasonable period of time after receiving from the licensee the corresponding information on the error necessary to correct the error. Errors shall be remedied by rectification, which shall not be invoiced, or by replacement of the delivery, at the option of the licensor. - -6.3 The licensee's right of termination due to the non-executability of the software product may only be exercised after rectifications or replacements have been made twice without success. - -6.4 The licensor neither warrants nor guarantees the functionality of the programs created by third parties or the licensee / customer, nor the error-free execution of the programs with the software or on the licensor's systems. - - -7. Liability - -7.1 If the licensee is unable to use the software product in the manner specified in the agreement and the licensee is responsible for this due to the failure to implement or the incorrect implementation of suggestions and advice before or after signing the agreement or due to the breach of other contractual obligations, the provisions set forth in this agreement shall apply mutatis mutandis to the exclusion of any further claims by the licensee. - -For damages that do not occur to the software product, respectively not to the hardware and the connected device, the liability obligation of the licensor applies exclusively in the following cases, regardless of the respective legal ground: - -- willful misconduct, - -- gross negligence of its executive bodies or officers, - -- culpable damage to life, limb and health, in the event of errors, which the lLicensor has fraudulently concealed or which it has excluded under warranty, - -- software errors within the scope of liability for personal injury and property damage due to personally implemented objects, as set out in the product liability regulations applicable to them - -7.2 In the event of culpable breach of material contractual obligations, the licensor shall also be liable for gross negligence on the part of non-executive employees and for slight negligence. In the latter case, liability shall be limited to damages that are foreseeable and typical for this type of contract. - -7.3 In addition, the licensor, its employees and its vicarious agents shall be liable for data loss or changes due to program errors, limited to the extent that this would have been unavoidable if the licensee had complied with its obligation to make back-up copies regularly and at least once a day. - -7.4 In the event of claims based on copyright infringement, the licensor shall grant the licensee the right to continue using the software product or to make modifications to the software product so that copyright protection is ensured. If this is not commercially reasonable, the licensor shall take back the subject matter of the agreement and refund the license fee paid, less an amount corresponding to the duration of the previous use. This shall apply provided that the licensee notifies the licensor of this type of claim in writing without delay and allows licensor all legal remedies and out-of-court settlements. - -7.5 The licensee or its IT provider shall be liable for server interruptions, interruption of license allocation and other support cases that are not clearly attributable to an incorrectly created license. - -The licensee or its IT provider is responsible for maintaining the necessary number of licenses to provide its services. The licensor is not liable for interruptions in use and subsequent work / production stoppages. - - -7.6 Further liability claims of the licensee are expressly excluded. -7.7 The licensee is responsible for all problems arising from the use of the software product that are not directly caused by the licensor. Therefore, licensee is responsible for all data generated and produced during the use of the software product. Accordingly, licensee is obligated and responsible for compliance with the terms and conditions set forth in this license agreement. - - -8. Security measures - -The licensee shall take suitable measures to secure the software and, if applicable, the access data for online access against access by unauthorized third parties. In particular, all copies of the software as well as the access data shall be kept in a protected place. - - -9. Industrial property rights and copyrights - -9.1 If a third party asserts claims for infringement of an industrial property right or a copyright against the customer because the customer uses a software version, firmware supplement or associated documentation supplied by ZEISS, ZEISS shall be obligated to pay any cost and damage compensation amounts awarded to the owner of the property right by a court or awarded with the prior consent of ZEISS. This is subject to the condition that the customer informs ZEISS immediately in writing of such claims and that ZEISS reserves the right to all defensive measures and out-of-court settlements. The customer is obligated to support ZEISS in the defense to the best of its ability. Under these conditions, ZEISS shall generally procure for the customer the right to continue using the software version, firmware supplement or documentation. If this should not be possible under economically reasonable conditions, ZEISS shall be obligated, at its own discretion and at its own expense, either to modify or replace the relevant item in such a way that the property right is not infringed, or to take back the item and refund the remuneration paid for it less an amount taking into account the benefits derived. - -9.2 ZEISS shall have no obligations if property right infringements are caused by the fact that software versions , firmware supplements or documentation supplied by ZEISS are not used in the intended manner or are not used on the specific systems. - - -10. Export Control - -Licensee assumes responsibility for compliance with all applicable rules and regulations, including but not limited to the export control and sanctions regulations of the Federal Republic of Germany, the European Union and the United States of America. In particular, licensee agrees not to provide the software or any related technology or documentation or any part thereof, directly or indirectly, to any sanctioned country or to any sanctioned person or entity in violation of the foregoing. - -Licensee represents and guarantees that it will not use the software or any related technology or documentation or any portion thereof in violation of any applicable law or regulation. The licensee further agrees to indemnify and hold harmless licensor from and against any and all claims resulting from licensee's failure to comply with any of the foregoing applicable provisions. - - -11. Miscellaneous - -11.1 All verbal agreements, amendments, extensions or concretizations of these license conditions as well as the special characteristics of the assurances or agreements or arrangements made must be in writing to be legally effective. If these are drafted by representatives or vicarious agents of the Licensor, they shall only become legally binding upon approval by the Licensor. - -11.2 Should parts of this contract become invalid, this shall not affect the validity of the remaining parts of this contract. The ineffective part of this contract shall be replaced by its parties with legally permissible provisions that come as close as possible to the intention of the ineffective provisions. - -11.3 The laws of the Federal Republic of Germany shall apply to this contract, excluding the law on the international sale of goods and the rules of conflict of laws. - -Version from October 2023 - ------------------------------------------------------------------------------ - -ZEISS Add-Ons / Apps End User License Agreement (EULA) -====================================================== - -German version. See above for English version. -Deutsche Version. Siehe oben für die Englische Version. - -1. Einführung - -1.1 Allgemeine Informationen - -Diese Endbenutzer-Lizenzvereinbarung für Add-Ons / Apps (End User License Agreement, „EULA Add-Ons / Apps“) ist eine rechtsgültige Vereinbarung zwischen „Ihnen“ (entweder eine natürliche oder juristische Person, im Folgenden als „Lizenznehmer“ oder „Kunde“ bezeichnet) und ZEISS („ZEISS“ oder „Lizenzgeber“) (jeweils einzeln eine „Partei“ und zusammen die „Parteien“) für Ihre Nutzung von ZEISS Softwareprodukten. Die Vereinbarung legt alle Rechte und Pflichten sowohl für den Lizenznehmer als auch für ZEISS fest und regelt Ihre Nutzung aller Softwareprodukte, die von ZEISS installiert oder zur Verfügung gestellt werden. Jede Änderung dieser Vereinbarung muss schriftlich erfolgen und mit den hierin enthaltenen Bestimmungen und Bedingungen übereinstimmen. Durch die Zahlung der geltenden Lizenzgebühr(en) und durch das Herunterladen, die Installation oder die Nutzung der Software erklären Sie sich damit einverstanden, dass diese Vereinbarung Ihnen gegenüber gleichermaßen durchsetzbar ist wie ein schriftlicher, ausgehandelter und von Ihnen unterzeichneter Vertrag. Wenn Sie den Bedingungen dieser Vereinbarung nicht zustimmen, sind Sie nicht berechtigt und dürfen keine ZEISS Softwareprodukte herunterladen, installieren oder verwenden. - -Für die Nutzung der ZEISS Softwareprodukte und Leistungen muss der Lizenznehmer über Folgendes verfügen: - -(a) einen sog. gültigen Subscriptionvertrag oder - -(b) eine gültige Lizenz von ZEISS. - -Ferner erfordern und verwenden einzelne Softwareprodukte - -(a) die auf einem Subscriptionvertrag basieren und / oder - -(b) mit einer serverbasierten Lizenzlösung - -eine sichere Verbindung des Applikationsrechners mit der ZEISS Infrastruktur und / oder den „Cloud Services“. - -1.2 Lizenzgeber ist ZEISS Lizenznehmer ist der Endkunde. Der Lizenzgeber gewährt dem Lizenznehmer ein nicht ausschließliches, nicht übertragbares Nutzungsrecht für das „Softwareprodukt“, welches das spezielle Softwareprogramm und die damit nachfolgenden Erweiterungen, Updates, Patches und zugehörige Dokumentation für den unternehmensinternen Betrieb, wie auch die dazugehörigen Handbücher und Softwaredokumentation, einschließt. - -1.3 Das Softwareprodukt kann Codes, Objekte und anderes geistiges Eigentum enthalten, das von Lizenzgebern oder Dritter entwickelt und von diesen lizenziert und in das Softwareprodukt integriert wurde („Embedded Third Party Software“). Etwaig verwendete Embedded Third Party Software oder Open Source-Code und Open Source-Lizenzen beschränken oder beeinträchtigen die gewährten Nutzungsrechte des Lizenznehmers nicht und können jederzeit innerhalb der jeweils genutzten Software abgerufen werden. Im Einzelfall können die jeweiligen Lizenzbedingungen vom Lizenzgeber auf Anforderung jederzeit zur Verfügung gestellt werden. - -1.4 Entgegenstehende oder von dieser Vereinbarung abweichende Kaufbedingungen des Lizenznehmers werden nicht Vereinbarungsbestandteil, auch wenn der Lizenzgeber diesen nicht ausdrücklich widerspricht. Änderungen der EULA müssen schriftlich und ausdrücklich durch beide Parteien vereinbart werden. - - -2. Laufzeit und Kündigung / Lizenzgebühren - -2.1 Die Lizenzvereinbarung beginnt mit Lizenzaktivierung und endet mit der Nutzungsdauer der Pro Version oder mit dem Ende der Bezahldauer. - -2.2 Der Lizenzgeber ist berechtigt, diese Lizenzvereinbarung und die entsprechenden Nutzungsrechte mit sofortiger Wirkung zu kündigen, falls der Lizenznehmer eine Bestimmung dieser Lizenzvereinbarung verletzt oder eine Verletzung dieser Lizenzvereinbarung durch Dritte stillschweigend duldet oder seine Verpflichtungen aus dieser Lizenzvereinbarung nicht erfüllt oder falls der Lizenznehmer Insolvenz anmeldet oder bei dem Lizenznehmer ein Kontrollwechsel stattfindet. - -2.3 Ungeachtet der vorstehenden Bestimmungen und sofern in dieser Lizenzvereinbarung nicht anderweitig vereinbart, endet diese Lizenzvereinbarung automatisch bei Verletzung einer seiner Bestimmungen durch den Lizenznehmer. - -2.4 Unter keinen Umständen sind bei Kündigung oder einvernehmlicher Beendigung dieses Vertrages Lizenzgebühren vollständig oder teilweise erstattungsfähig, es sei denn ZEISS hat die vorzeitige Beendigung dieses Vertrages zu vertreten. - - -3. Vervielfältigungsrechte - -3.1 Der Lizenznehmer darf die gelieferte Software in dem Umfang vervielfältigen, in dem die Vervielfältigung zur Nutzung der Software erforderlich ist. Erforderliche Vervielfältigungen der Software sind unter anderem die Installation des Softwareprodukts auf dem Massenspeicher des Geräts gemäß diesem Lizenzvertrag und das Laden der Software in den Hauptspeicher des Computers. - -3.2 Außerdem ist der Lizenznehmer zur Anfertigung von Kopien zur Datensicherung berechtigt. Diese Sicherungskopie des lizenzierten Softwareprodukts muss als solche gekennzeichnet sein. - -3.3 Sind aus Gründen der Datensicherheit oder -sicherung nach einem Totalausfall eine schnelle Reaktivierung des Computersystems, des Vertragsgegenstands eingeschlossen, sowie die Sicherung des gesamten Datenbestands, des installierten Softwareprodukts eingeschlossen, erforderlich, so kann der Lizenznehmer die maximal erforderliche Anzahl an Sicherungskopien erstellen. Die betreffenden Datenmedien sind angemessen zu kennzeichnen. Die Sicherungskopien dürfen ausschließlich zu Archivierungszwecken genutzt werden. - -3.4 Der Lizenznehmer ist nicht berechtigt, weitere Kopien zu erstellen oder Dritte anzuweisen, weitere Kopien zu erstellen, insbesondere ist er nicht berechtigt, den Programmcode mit einem Drucker auszudrucken oder Fotokopien des Handbuchs zu erstellen. - - -4. Weiterverkauf und Übertragung - -4.1 Der Lizenznehmer ist nicht berechtigt, das Softwareprodukt Dritten im Rahmen von Hosting- oder Downloadoptionen zu vermieten, verleasen, verleihen oder zur Verfügung zu stellen, es sei denn, der Lizenzgeber hat dies ausdrücklich schriftlich angegeben oder erlaubt. - -4.2 Es ist jedoch gestattet, Dritten ein Nutzungsrecht einzuräumen, wenn diese das Softwareprodukt nach Maßgabe des Lizenznehmers (wie eigene Mitarbeiter) nutzen müssen. Von der Nutzung auf jeden Fall ausgeschlossen sind unabhängige Dritte. - -4.3 Übertragung innerhalb von Rechtspersonen oder globalen Konzernen des Lizenznehmers: Sofern der übertragende Lizenznehmer und die empfangende Partei Teil einer Rechtsperson oder Teil verbundener Unternehmen sind, ist die Übertragung gestattet, sofern die empfangende Partei diesen Lizenzbedingungen zustimmt. „Verbundene Unternehmen“ bedeutet jede Rechtsperson, die direkt oder indirekt von einer Rechtsperson oder deren Muttergesellschaft kontrolliert wird. „Kontrolle“ im Sinne dieses Lizenzvertrags bedeutet direkter oder indirekter Besitz von mehr als fünfzig Prozent (50 %) der Anteile an diesem Unternehmen oder mehr als fünfzig Prozent (50 %) direkter oder indirekter Beteiligung am Entscheidungsorgan dieses Unternehmens. - - -5. Rückübersetzung und Programmänderungen - -5.1 Der Lizenznehmer darf grundsätzlich keine Änderungen am Softwareprodukt vornehmen, außer wenn dies zur Behebung von Fehlern erforderlich ist. Voraussetzung ist, dass dies ausschließlich zum Zweck der Korrektur von Fehlern geschieht, die das Funktionieren der Software beeinträchtigen. -Im letzteren Fall und wenn beim Reparaturvorgang wichtige Programmfunktionen und Arbeitsmethoden offengelegt werden könnten, kann der Lizenznehmer einen gewerblich tätigen Dritten mit der Reparatur beauftragen, wenn dieser Dritte nicht ein potenzieller Wettbewerber des Lizenzgebers ist. -Soweit der Lizenznehmer zur Behebung von Fehlern Änderungen am Softwareprodukt vornimmt, übernimmt der Lizenzgeber, insb. auch nicht durch diese Freigabe, für die daraus resultierende Folgen keine Haftung. - -5.2 Die Rückübersetzung des lizenzierten Programmcodes in andere Codeformen (Dekompilierung) und andere Arten des Reverse Engineering verschiedener unterschiedlicher Phasen der Software-Erstellung sind nur insoweit zulässig, wie sie dazu dienen, Fehler zu korrigieren, die das Funktionieren der Software beeinträchtigen (entsprechend Ziffer 5.1). Der Lizenznehmer darf eine solche Dekompilierung jedoch nur in dem für die Berichtigung erforderlichen Ausmaß und gegebenenfalls unter Einhaltung der mit dem Inhaber des Urheberrechts an diesem Programm vertraglich festgelegten Bedingungen vornehmen. -Weiter ist eine Dekompilierung in Fällen zulässig, um Informationen zu gewinnen, die zur Interoperabilität mit einem unabhängig geschaffenen Computerprogramm erforderlich sind, und nur falls diese Informationen nicht anderweitig beschafft werden können. - -5.3 Weitere Voraussetzung für die Genehmigung zur Rückübersetzung ist die Durchführung des Reverse Engineering oder der Programmbeobachtung ausschließlich durch Verfahren, zu deren Ausführung der Lizenznehmer gemäß diesem Lizenzvertrag berechtigt ist. Insbesondere darf der Programmcode in keinem Fall ausgedruckt werden. 5.4 Alle Eigentums- und Urheberrechte in Bezug auf das Softwareprodukt, die gedruckten Begleitmaterialien und sämtliche Kopien des Softwareprodukts verbleiben beim Lizenzgeber oder seinen Lieferanten. Das vorliegende Softwareprodukt ist nach deutschem Urheberrecht, US-amerikanischem Urheberrecht und den Bestimmungen internationaler Verträge geschützt. Der Lizenznehmer ist nicht berechtigt, die der Software beiliegenden gedruckten Materialien zu vervielfältigen. - -5.5 Der Lizenznehmer ist nicht berechtigt, Hinweise zum Urheberrecht oder Markennennungen, die der Lizenzgeber angebracht hat, zu entfernen, zu ändern oder zu ergänzen. Dies beinhaltet ohne Einschränkungen alle Verweise in physischen und / oder elektronischen Medien oder Dokumenten, in „Setup-Assistenten" oder in den Dialogfeldern „Über...“ und / oder in anderen Verweisen, die im Internet dargestellt oder über das Internet aktiviert werden, im Programmcode oder anderen Ausführungsformen, die ursprünglich in der Software enthalten waren oder anderweitig vom Lizenzgeber erstellt wurden. - - -6. Gewährleistung und Kündigungsrecht - -6.1 Der Lizenzgeber gewährleistet in Bezug auf das für den Lizenznehmer lizenzierte Softwareprodukt die in der Beschreibung festgelegte Leistung, insofern das Softwareprodukt in dem vorgesehenen System unter Einhaltung der Richtlinien des Lizenzgebers installiert wird. - -6.2 Der Lizenzgeber beseitigt Fehler an dem Softwareprodukt, und in allen Handbüchern sowie anderen Dokumenten, innerhalb einer angemessenen Frist nach Erhalt der zur Fehlerbeseitigung notwendigen entsprechender Angaben vom zum Fehler Lizenznehmer. Fehler werden durch Nachbesserungen, die nicht in Rechnung gestellt werden, oder durch Ersatz der Lieferung, nach Wahl des Lizenzgebers, behoben. - -6.3 Das Kündigungsrecht des Lizenznehmers aufgrund der Nichtausführbarkeit des Softwareprodukts kann erst ausgeübt werden, wenn Nachbesserungen bzw. Ersatz zweimal erfolglos erfolgt sind. - -6.4 Der Lizenzgeber gibt weder eine Garantie noch eine Gewährleistung für die Funktionalität der von Drittanbietern oder dem Lizenznehmer / Kunden erstellten Programme, ebenso wenig wie auf das fehlerfreie Ausführen der Programme mit der Software oder auf den Systemen des Lizenzgebers. - - -7. Haftung - -7.1 Falls der Lizenznehmer das Softwareprodukt nicht auf die vertraglich festgelegte Weise nutzen kann und der Lizenznehmer dies aufgrund der unterlassenen oder falschen Umsetzung von Vorschlägen und Ratschlägen vor oder nach der Unterzeichnung des Vertrages oder aufgrund der Verletzung sonstiger vertraglicher Pflichten zu vertreten hat, so gelten unter Ausschluss weiterer Ansprüche des Lizenznehmers entsprechend die in diesem Vertrag dargelegten Regelungen. - -Für Schäden, die nicht am Softwareprodukt, beziehungsweise nicht an der Hardware und dem angeschlossenen Gerät entstehen, gilt die Haftungsverpflichtung des Lizenzgebers ausschließlich in den folgenden Fällen, unabhängig vom jeweiligen Rechtsgrund: - -- vorsätzliches Fehlverhalten, - -- grobe Fahrlässigkeit seiner ausführenden Organe oder leitenden Angestellten, - -- schuldhaft herbeigeführter Schaden des Lebens, des Körpers und der Gesundheit, bei Fehlern, die der Lizenzgeber arglistig verschwiegen, oder die er unter Gewährleistung ausgeschlossen hat, - -- Softwarefehler im Rahmen der Haftung bei Personen- und Sachschäden aufgrund persönlich implementierter Objekte, wie in den dafür zutreffenden Produkthaftungsregelungen dargelegt - -7.2 Bei schuldhafter Verletzung wesentlicher Vertragspflichten haftet der Lizenzgeber auch bei grober Fahrlässigkeit seitens nichtleitender Angestellter und bei leichter Fahrlässigkeit. Im letzteren Fall ist die Haftung auf Schäden begrenzt, die vorhersehbar und typisch für diese Art von Vertrag sind. - -7.3 Außerdem haften der Lizenzgeber, seine Mitarbeiter und seine Erfüllungsgehilfen für Datenverlust oder -änderungen aufgrund von Programmfehlern, beschränkt auf den Umfang, in dem dies unvermeidbar gewesen wäre, wenn der Lizenznehmer seiner Verpflichtung, regelmäßig und mindestens einmal täglich Sicherungskopien zu erstellen, nachgekommen wäre. - -7.4 Bei Ansprüchen aufgrund von Urheberrechtsverletzungen gewährt der Lizenzgeber dem Lizenznehmer das Recht zur weiteren Nutzung des Softwareprodukts oder zur Vornahme von Änderungen am Softwareprodukt, so dass der Schutz der Urheberrechte gewährleistet ist. Wenn dies nicht wirtschaftlich sinnvoll ist, so nimmt der Lizenzgeber den Vertragsgegenstand zurück und erstattet die gezahlte Lizenzgebühr, abzüglich eines der Dauer der vorherigen Nutzung entsprechenden Betrags. Dies gilt unter der Voraussetzung, dass der Lizenznehmer dem Lizenzgeber diese Art der Ansprüche unverzüglich schriftlich mitteilt und dem Lizenzgeber alle Rechtsmittel und außergerichtlichen Regelungen gestattet. - -7.5 Für Serverunterbrechungen, Unterbrechung der Lizenzzuteilung und sonstige Support-Fälle, die nicht eindeutig auf eine fehlerhaft erstellte Lizenz zurückzuführen sind, haftet der Lizenznehmer bzw. dessen IT-Provider.. -Der Lizenznehmer oder dessen IT-Provider ist verantwortlich für die Vorhaltung der notwendigen Anzahl an Lizenzen zur Erbringung seiner Leistungen. Der Lizenzgeber haftet nicht für Nutzungsunterbrechungen und nachfolgende Arbeits- / Produktionsausfälle. - -7.6 Weitergehende Haftungsansprüche des Lizenznehmers sind ausdrücklich ausgeschlossen. - -7.7 Der Lizenznehmer ist für alle aus der Nutzung des Softwareprodukts entstehenden Probleme verantwortlich, die nicht direkt durch den Lizenzgeber verursacht werden. Daher ist der Lizenznehmer für alle Daten verantwortlich, die bei der Nutzung des Softwareprodukts erzeugt und hergestellt werden. Der Lizenznehmer ist demnach zur beziehungsweise für die Einhaltung der in dieser Lizenzvereinbarung genannten Bedingungen verpflichtet und verantwortlich. - - -8. Sicherungsmaßnahmen - -Der Lizenznehmer wird die Software sowie gegebenenfalls die Zugangsdaten für den Onlinezugriff durch geeignete Maßnahmen vor dem Zugriff durch unbefugte Dritte sichern. Insbesondere sind sämtliche Kopien der Software sowie die Zugangsdaten an einem geschützten Ort zu verwahren. - - -9. Gewerbliche Schutzrechte und Urheberrechte - -9.1 Macht ein Dritter Ansprüche aus Verletzung eines gewerblichen Schutzrechtes oder eines Urheberrechts gegen den Kunden geltend, weil dieser eine von ZEISS gelieferte Softwareversion, Firmwareergänzung oder dazugehörige Dokumentation benutzt, ist ZEISS verpflichtet, etwaige dem Schutzrechtsinhaber gerichtlich zugesprochene oder mit vorheriger Zustimmung von ZEISS zugestandene Kosten- und Schadenersatzbeträge zu bezahlen. Vorausgesetzt ist dabei, dass der Kunde ZEISS unverzüglich schriftlich über derartige Ansprüche unterrichtet und ZEISS alle Abwehrmaßnahmen und außergerichtlichen Regelungen vorbehalten bleiben. Der Kunde ist verpflichtet, ZEISS bei der Abwehr nach besten Kräften zu unterstützen. Unter diesen Voraussetzungen wird ZEISS dem Kunden grundsätzlich das Recht zum weiteren Gebrauch der Softwareversion, Firmwareergänzung oder Dokumentation verschaffen. Falls dies zu wirtschaftlich angemessenen Bedingungen nicht möglich sein sollte, ist ZEISS verpflichtet, nach eigener Wahl und auf eigene Kosten den entsprechenden Gegenstand entweder derart abzuändern oder zu ersetzen, dass das Schutzrecht nicht verletzt wird, oder den Gegenstand zurückzunehmen und das dafür bezahlte Entgelt abzüglich eines die gezogenen Nutzungen berücksichtigenden Betrages zu erstatten. - -9.2 ZEISS hat keine Verpflichtungen, falls Schutzrechtsverletzungen dadurch hervorgerufen werden, dass von ZEISS gelieferte Softwareversionen, Firmwareergänzungen oder Dokumentation nicht in der vorgesehenen Weise verwendet oder nicht auf den bestimmten Systemen eingesetzt wird. - - -10. Exportkontrolle - -Der Lizenznehmer übernimmt die Verantwortung für die Einhaltung aller anwendbaren Bestimmungen und Vorschriften, einschließlich, aber nicht beschränkt auf die Exportkontroll- und Sanktionsbestimmungen der Bundesrepublik Deutschland, der Europäischen Union sowie der Vereinigten Staaten von Amerika. Insbesondere bestätigt der Lizenznehmer, die Software sowie jedwede damit verbundene Technologie oder Dokumentation oder Teile davon weder direkt noch indirekt unter Nichtbefolgung der vorgenannten Bestimmungen in sanktionierte Länder oder an sanktionierte natürliche oder juristische Personen bereitzustellen. - -Der Lizenznehmer sichert dem Lizenzgeber zu, dass er die Software sowie jedwede damit verbundene Technologie oder Dokumentation oder Teile davon nicht unter Verletzung vorgenannter anwendbarer Gesetze oder Vorschriften verwenden wird. Weiterhin verpflichtet sich der Lizenznehmer den Lizenzgeber von allen Ansprüchen freizustellen und schadlos zu halten, welche aus der Nichteinhaltung vorgenannter anwendbarer Bestimmungen resultiert. - - -11. Sonstiges - -11.1 Sämtliche mündliche Vereinbarungen, Änderungen, Erweiterungen oder Konkretisierungen dieser Lizenzbedingungen sowie die besonderen Eigenschaften der getroffenen Zusicherungen oder Vereinbarungen oder Absprachen bedürfen zu ihrer Rechtswirksamkeit der Schriftform. Falls diese von Vertretern oder Erfüllungsgehilfen des Lizenzgebers abgefasst sind, so werden sie erst mit der Genehmigung des Lizenzgebers rechtlich bindend. - -11.2 Sollten Teile dieses Vertrags unwirksam werden, so berührt dies nicht die Wirksamkeit der übrigen Teile dieses Vertrags. Der unwirksame Teil dieses Vertrags soll durch seine Parteien durch gesetzlich zulässige Bestimmungen ersetzt werden, die der Absicht der unwirksamen Bestimmungen am nächsten kommt. - -11.3 Auf diesen Vertrag sind die Gesetze der Bundesrepublik Deutschland anwendbar, unter Ausschluss des Gesetzes über den internationalen Warenkauf und der Regeln des Kollisionsrechts. - -Stand Oktober 2023 diff --git a/examples/TemplateUnittestCoverage/metainfo.json b/examples/TemplateUnittestCoverage/metainfo.json deleted file mode 100644 index c8b7687..0000000 --- a/examples/TemplateUnittestCoverage/metainfo.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "author": "Carl Zeiss GOM Metrology GmbH", - "description": "Add-on template for running unit testing and generating a test coverage report", - "labels": [ - ], - "licensing": { - "licenses": [ - ], - "product-codes": [ - ] - }, - "software-revision": "64", - "software-version": "2023-Service-Pack-2", - "tags": [ - ], - "title": "TemplateUnittestCoverage", - "uuid": "d569d88b-a493-4298-ad4a-0875f5173ce1", - "version": "1.0.0" -} diff --git a/examples/TemplateUnittestCoverage/scripts/run_tests.metainfo b/examples/TemplateUnittestCoverage/scripts/run_tests.metainfo deleted file mode 100644 index 924796e..0000000 --- a/examples/TemplateUnittestCoverage/scripts/run_tests.metainfo +++ /dev/null @@ -1,25 +0,0 @@ -{ - "display_name": "run_tests", - "folded_blocks": [ - ], - "icon": "", - "iinspect_condition": "", - "interactive": false, - "main_menu_path": { - "anchor": { - "item": "", - "submenu": [ - ], - "type": "command" - }, - "script": "userscript.run_tests", - "submenu": [ - ] - }, - "multicreation_script": false, - "script_check_type": "none", - "script_element_type": "none", - "show_in_iinspect": false, - "show_in_menu": true, - "uuid": "597f1fa8-b9d9-4e19-b40d-836b4460d036" -} diff --git a/examples/TemplateUnittestCoverage/scripts/run_tests.py b/examples/TemplateUnittestCoverage/scripts/run_tests.py deleted file mode 100644 index 3a0d641..0000000 --- a/examples/TemplateUnittestCoverage/scripts/run_tests.py +++ /dev/null @@ -1,123 +0,0 @@ -# -*- coding: utf-8 -*- -# -# run_tests.py -# -# Test framwork using -# unitest (https://docs.python.org/3/library/unittest.html) -# and -# Coverage.py (https://coverage.readthedocs.io/) -# -# Runs all test cases in the Add-on's scripts/tests/ folder and its subfolders. -# Test cases must be named test_*.py or *_test.py. -# -# Carl Zeiss GOM Metrology GmbH, 2024 -# -# --- - -import gom -import sys -import os -import unittest -import coverage -import tempfile -import zipfile -import inspect -import glob -import importlib - -#################################################################################### -# User defined options -#################################################################################### - -# Analyze coverage -COVERAGE = True - -# Generate HTML coverage report -HTML = True - -#################################################################################### - -def collect_tests(path): - """Collect and add test cases to the test suite - - Parameters: - path (string): absolute path of test case folder - - Returns: - test suite - """ - # Get a list of all Python files in the folder - python_files = glob.glob(os.path.join(path, "test_*.py")) - python_files += glob.glob(os.path.join(path, "*_test.py")) - - suite = unittest.TestSuite() - - # Loop through the list of files, import each one as a module and - # add each function with the same name as the module to the test suite - for file in python_files: - file_name = os.path.splitext(os.path.basename(file))[0] - module_name = 'tests.' + file_name - module = importlib.import_module(module_name) - test_function = getattr(module, file_name) - suite.addTest(unittest.FunctionTestCase(test_function)) - - return suite - - -def main(): - '''Run tests and generate coverage report''' - - # Get test case folder - addon_path = gom.api.addons.get_current_addon().get_file() - tests_path = os.path.join(addon_path, 'scripts', 'tests') - print(f'Test case folder: {tests_path}') - - if COVERAGE: - # Init coverage - cov = coverage.Coverage(data_file=os.path.join(tests_path, '.coverage')) - cov.erase() - cov.start() - - # Run unittest with test folder - suite = collect_tests(tests_path) - unittest.TextTestRunner().run(suite) - - if COVERAGE: - # Finalize coverage - cov.stop() - cov.save() - - # Create coverage report (text) - cov.report( - file=sys.stdout, - omit=['*/gom_script_server/*', '*/gom_python_wheel_cache/*'], - ignore_errors=True - ) - - - if HTML: - # Create coverage report (HTML) - html_path = os.path.join(tests_path, 'coverage_html') - try: - cov.html_report( - directory=html_path, - omit=['*/gom_script_server/*', '*/gom_python_wheel_cache/*'], - ignore_errors=True - ) - except: - pass - - print('\nHTML coverage report:') - print(f'{os.path.join(html_path, "index.html")}') - - - -if __name__ == "__main__": - '''Check if the Add-on is in editing mode as required''' - if sys.argv[0][0] == ':': - # Inside a packed Add-on - print("ERROR: Add-on must be in editing mode!") - sys.exit(0) - else: - main() - diff --git a/examples/TemplateUnittestCoverage/scripts/tests/test_blackbox.metainfo b/examples/TemplateUnittestCoverage/scripts/tests/test_blackbox.metainfo deleted file mode 100644 index 54ad9ec..0000000 --- a/examples/TemplateUnittestCoverage/scripts/tests/test_blackbox.metainfo +++ /dev/null @@ -1,25 +0,0 @@ -{ - "display_name": "test_blackbox", - "folded_blocks": [ - ], - "icon": "", - "iinspect_condition": "", - "interactive": false, - "main_menu_path": { - "anchor": { - "item": "", - "submenu": [ - ], - "type": "command" - }, - "script": "userscript.tests__test_blackbox", - "submenu": [ - ] - }, - "multicreation_script": false, - "script_check_type": "none", - "script_element_type": "none", - "show_in_iinspect": false, - "show_in_menu": true, - "uuid": "3c2b51c0-c5c9-4739-a192-ae896a21228f" -} diff --git a/examples/TemplateUnittestCoverage/scripts/tests/test_blackbox.py b/examples/TemplateUnittestCoverage/scripts/tests/test_blackbox.py deleted file mode 100644 index e47e383..0000000 --- a/examples/TemplateUnittestCoverage/scripts/tests/test_blackbox.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -# -# test_blackbox.py -# -# This test runs the Unit Under Test (UUT) as script and treats it as opaque. After running it, the ZEISS INSPECT project -# is checked for the expected changes of state (in this example: project keywords). -# -# Carl Zeiss GOM Metrology GmbH, 2024 -# -# --- - -import gom -import os - -def test_blackbox(): - '''Executing the UUT as the entire script''' - - # Add-on relative path to UUT - UUT_PATH = 'scripts/uut_project_keywords.py' - - # Get path of UUT - addon = gom.api.addons.get_current_addon() - uut_path = os.path.join(addon.get_file(), UUT_PATH) - - # Run the UUT - gom.script.sys.execute_script(file=uut_path) - - # Check project state - assert gom.app.project.get('user_inspector') == 'Clouseau' - assert gom.app.project.get('user_project') == 'Test Projet' # intended to fail - diff --git a/examples/TemplateUnittestCoverage/scripts/tests/test_fail.metainfo b/examples/TemplateUnittestCoverage/scripts/tests/test_fail.metainfo deleted file mode 100644 index d4be08f..0000000 --- a/examples/TemplateUnittestCoverage/scripts/tests/test_fail.metainfo +++ /dev/null @@ -1,25 +0,0 @@ -{ - "display_name": "test_fail", - "folded_blocks": [ - ], - "icon": "", - "iinspect_condition": "", - "interactive": false, - "main_menu_path": { - "anchor": { - "item": "", - "submenu": [ - ], - "type": "command" - }, - "script": "userscript.tests__test_fail", - "submenu": [ - ] - }, - "multicreation_script": false, - "script_check_type": "none", - "script_element_type": "none", - "show_in_iinspect": false, - "show_in_menu": true, - "uuid": "b7242bf1-c462-4e4b-a263-120b9249a063" -} diff --git a/examples/TemplateUnittestCoverage/scripts/tests/test_fail.py b/examples/TemplateUnittestCoverage/scripts/tests/test_fail.py deleted file mode 100644 index a5b127d..0000000 --- a/examples/TemplateUnittestCoverage/scripts/tests/test_fail.py +++ /dev/null @@ -1,14 +0,0 @@ -# -*- coding: utf-8 -*- -# -# test_pass.py -# -# Dummy test which always fails -# -# Carl Zeiss GOM Metrology GmbH, 2024 -# -# --- - -import gom - -def test_fail(): - assert False diff --git a/examples/TemplateUnittestCoverage/scripts/tests/test_pass.metainfo b/examples/TemplateUnittestCoverage/scripts/tests/test_pass.metainfo deleted file mode 100644 index 9da8de7..0000000 --- a/examples/TemplateUnittestCoverage/scripts/tests/test_pass.metainfo +++ /dev/null @@ -1,25 +0,0 @@ -{ - "display_name": "test_pass", - "folded_blocks": [ - ], - "icon": "", - "iinspect_condition": "", - "interactive": false, - "main_menu_path": { - "anchor": { - "item": "", - "submenu": [ - ], - "type": "command" - }, - "script": "userscript.tests__test_pass", - "submenu": [ - ] - }, - "multicreation_script": false, - "script_check_type": "none", - "script_element_type": "none", - "show_in_iinspect": false, - "show_in_menu": true, - "uuid": "581dd310-b984-4fb9-9781-7cb04603d1eb" -} diff --git a/examples/TemplateUnittestCoverage/scripts/tests/test_pass.py b/examples/TemplateUnittestCoverage/scripts/tests/test_pass.py deleted file mode 100644 index 9a631df..0000000 --- a/examples/TemplateUnittestCoverage/scripts/tests/test_pass.py +++ /dev/null @@ -1,15 +0,0 @@ -# -*- coding: utf-8 -*- -# -# test_pass.py -# -# Dummy test which always passes -# -# Carl Zeiss GOM Metrology GmbH, 2024 -# -# --- - -import gom - -def test_pass(): - assert True - diff --git a/examples/TemplateUnittestCoverage/scripts/tests/test_whitebox.metainfo b/examples/TemplateUnittestCoverage/scripts/tests/test_whitebox.metainfo deleted file mode 100644 index 16d9801..0000000 --- a/examples/TemplateUnittestCoverage/scripts/tests/test_whitebox.metainfo +++ /dev/null @@ -1,25 +0,0 @@ -{ - "display_name": "test_whitebox", - "folded_blocks": [ - ], - "icon": "", - "iinspect_condition": "", - "interactive": false, - "main_menu_path": { - "anchor": { - "item": "", - "submenu": [ - ], - "type": "command" - }, - "script": "userscript.tests__test_whitebox", - "submenu": [ - ] - }, - "multicreation_script": false, - "script_check_type": "none", - "script_element_type": "none", - "show_in_iinspect": false, - "show_in_menu": true, - "uuid": "16674162-a8b7-41bb-aac0-4bc188c4098a" -} diff --git a/examples/TemplateUnittestCoverage/scripts/tests/test_whitebox.py b/examples/TemplateUnittestCoverage/scripts/tests/test_whitebox.py deleted file mode 100644 index 799c420..0000000 --- a/examples/TemplateUnittestCoverage/scripts/tests/test_whitebox.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# -# test_blackbox.py -# -# The test calls the function get_project_keywords() from the script (UUT) and checks the return value (actual) agains the expected result (EXPECTED) -# -# Carl Zeiss GOM Metrology GmbH, 2024 -# -# --- - -import gom - -# Name of the UUT script -import uut_project_keywords - -def test_whitebox(): - '''Executing a UUT function''' - EXPECTED = {'user_inspector': {'description': 'Inspector', 'value': 'Clouseau'}, 'user_project': {'description': 'Project Name', 'value': 'Test Project'}} - - actual = uut_project_keywords.get_project_keywords() - assert actual == EXPECTED diff --git a/examples/TemplateUnittestCoverage/scripts/uut_project_keywords.metainfo b/examples/TemplateUnittestCoverage/scripts/uut_project_keywords.metainfo deleted file mode 100644 index d59d7b8..0000000 --- a/examples/TemplateUnittestCoverage/scripts/uut_project_keywords.metainfo +++ /dev/null @@ -1,25 +0,0 @@ -{ - "display_name": "uut_project_keywords", - "folded_blocks": [ - ], - "icon": "", - "iinspect_condition": "", - "interactive": false, - "main_menu_path": { - "anchor": { - "item": "", - "submenu": [ - ], - "type": "command" - }, - "script": "userscript.uut_project_keywords", - "submenu": [ - ] - }, - "multicreation_script": false, - "script_check_type": "none", - "script_element_type": "none", - "show_in_iinspect": false, - "show_in_menu": true, - "uuid": "79f1d3fd-a1bb-40c4-aeee-8c346e104f02" -} diff --git a/examples/TemplateUnittestCoverage/scripts/uut_project_keywords.py b/examples/TemplateUnittestCoverage/scripts/uut_project_keywords.py deleted file mode 100644 index 58a7b2f..0000000 --- a/examples/TemplateUnittestCoverage/scripts/uut_project_keywords.py +++ /dev/null @@ -1,57 +0,0 @@ -# -*- coding: utf-8 -*- -# -# uut_project_keywords.py -# -# Unit Under Test (UUT) Example -# -# Carl Zeiss GOM Metrology GmbH, 2024 -# -# --- - -import gom - - -#################################################################################### -# Note: This entire script is run by test_blackbox -#################################################################################### - -# Create a new project. This will rais an exception if a project is already open - which is fine. -try: - gom.script.sys.create_project () -except: - pass - -def not_covered_by_test(): - '''This is not covered by any test''' - print("Hello") - -def excluded_from_coverage(): # pragma: no cover - '''This is not covered by any test, too, but won't contribute to the coverage''' - print("Nothing to say") - -def get_project_keywords(): - '''This is called by test_whitebox''' - keywords = {} - for k in gom.app.project.project_keywords: - keywords[k] = { - 'description': gom.app.project.get(f'description({k})'), - 'value': gom.app.project.get(k) - } - print(keywords) - return keywords - -PROJECT_KEYWORDS = { - 'project': {'description': 'Project Name', 'value': 'Test Project'}, - 'inspector': {'description': 'Inspector', 'value': 'Clouseau'} -} - -for k, v in PROJECT_KEYWORDS.items(): - gom.script.sys.set_project_keywords( - keywords={k:v['value']}, - keywords_description={k:v['description']} - ) - -print("-- Project keywords --") -for k in gom.app.project.project_keywords: - print(f"{k}='{gom.app.project.get(k)}'") - diff --git a/examples/TextDetection/README.md b/examples/TextDetection/README.md deleted file mode 100644 index c11c8e4..0000000 --- a/examples/TextDetection/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Text detection in images - -This example demonstrates how external libraries can be used to detect and extract text fragments in images. It uses the Tesseract library for that purpose. The resulting element will be a "scripted element" which integrates neatly into a ZEISS INSPECT project and can be edited, recalculated or checked. - -## Preliminaries - -The following python wheels must be added to the add-on and are not included due to copyright reasons: - -* numpy -* opencv_python -* pytesseract - -In addition, the tesseract executable must be installed and the path to that executable must be adapted in the script. - -![Software](doc/text_detection.png) diff --git a/examples/TextDetection/doc/README.md b/examples/TextDetection/doc/README.md deleted file mode 100644 index c155cfc..0000000 --- a/examples/TextDetection/doc/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Text detection in images - -This example demonstrates how external libraries can be used to detect and extract text fragments in images. It uses the Tesseract library for that purpose. The resulting element will be a "scripted element" which -integrated nealty into a ZEISS inspect project and can be edited, recalculated or checked. - -## Preliminaries - -The following python wheels must be added to the add-on and are not included due to copyright reasons: - -* numpy -* opencv_python -* pytesseract - -In addition, the tesseract executable must be installed and the path to that executable must be adapted in the script. - -## Example - -![Software](text_detection.png) \ No newline at end of file diff --git a/examples/TextDetection/doc/text_detection.png b/examples/TextDetection/doc/text_detection.png deleted file mode 100644 index 3909cf619924da256f268a0ffc0c69bb09556440..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 376526 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

Ok1{4+W3{&EvQ$|Y}fT++FN!AAXa{}t> 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 F75Us^OKjuv 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

NMR*#;V}) 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%0D|8-4R-f*t4 z$R+owAR>@67#!XqHZ=D0Q2iVR+1djpu+xEU~63xQ%$p!t3?M0RdJu zpYrgkrpDjhhXJ!${!jD@C>f@1(9#qte@kgqfSJ%?6=Cl=wH(#urHnU)GkoGi^Qf0) z?SUulkcMM4zIOp1abpp6YdqEpi&5xaVeUP5t?VUujwGWNky^}#eAIG_0(oYU8{J{D z-pZM)Foj%bi5uKZa!jzQvA)LI>L;3}TJe=9-ISEO5EAEuo>}z7mNr#9Kel__P=dWM zaQi(twc}IO9B$G2{n1G5c2)nANg43O7mOrZXmaQ`P-2AK4Jh;bccv9L<$U!|Ai1pN z;-;J0NX#387o@XaEKASG#*8tz>j+dhz365?eiVPK&!>weQXf>br4}F)c--cA

iK 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⁣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

)FBc-&A}XiVdF!t zrrgNj&v>%{&$C$&*Z|W0p?nwsJ`6_0;OYLnBnxVMuy+g$Y~vJ6Gmu>b9Gt1w$KMfS z(riKAg}tepAKclrXt1DWJq6NPeBwj993TMd*{Y8tasc&k&zCGL2XvnSGQRz7gA8IG z%z^3aBAMoja-%hwU09g>@#ArSseT#tNM{j) zq0O>spT_MHUAf(e4eMVGFQw=2V=~)3n%Kg)Ltu*6&^9~H*cTV(GChZ77DA> z-CIMJ)t!No=qiek6_%YE-;lLSv8_1UW!!;SEM=I;O|(PoeSaNX5zN{=604~w+M8m# z=M`EyO*B(h&`{7(ppbIpTTlJ?#&^IeX^eH268>-6$={dxg-*65-Z&dpDak0rkZhyF zH*Jc-nT?lgsuIR>!))x=?;yTDP8|?8pAegl1bue0o|SrE$SaWAUSnOQoGDm?nL=W& z49T%)XIk!j)6Ynmn`QZnan|9k#O65H2(ZKbRvde{T|mHve~=%)&dS>!%DK$q+SSH6 zo7~Y|B`0SN%0@(s!DKvEW zSLxMPK7#cYPiQ80#~s%&?00$#I+6675al`eS4zH2B&$D!<++hw>g-9IZYT=5#&SPk z-_FrFmPyHDt-vOvOjba^or3Ui&8e-$Vk*f(lw8+@yG+(-y)+3`6Es_-9C;G3sE@?jFIg``}Pu$nCg#yt{NK;CLHP|F>~1C9b$QZY=n%J;&Q%wN$| zU9ne|nUz(+psKfjQwf-LE?wBINPkn7gT1cWE$Qc^=Pwz8bAmXVk`%8IN)idB%5}oK zSq{3EUQDuV1bbnv?&2Q#ub+4^&p-x04(>6l@AVyq9tsb}Qwh>|KEepd{quYOl!Y_L zJ5Vh-fm!n)5}rV>I;@&%SRY%vD->x#FRbzB3XEkmxNkA!9ULPjxY3>1q5EH+aUr~7 zPmD)=+Z1 zrE^#SGAZ1?14-UhZV`VdBk}8Oo*G5e!mb8C*@F~}Eb1leuo(Z4TNK3AANnttiDF4z ztY1Us!Uj&hYAtprf$U`@^z;#vEmc5%WB5fQ;I9GU!z{X$jqVL9>RLfx6>SRU&f#** zAWQbw2%cT?V4b%JFn%^wMj#L#xcZKerJ>79nwbU3{?~V7R&j;L4vx&cYMy#w4I6DT zwXk5xfRIag-YuFhOh^j-aOqb6oNG5;F4D2Wu(H$X)(rxb*hZ-yDK~cZ3yEf?lYvDTLJ*ENW|R{BYXl>r^Ey6z7#CKkq7cwOzhaPX`?MBDRDDKU#$e44DBf0#M zXOHE-c9eY;O%NitFJ2t-L@_VjG1}lV4DwSRPcP`?+GtJe5ZIvS0tNCGw2wM?~bK3W_6A3<7xe3^ERj${t9Qkqn(3y4(hYsH8V-w!+sS^yhE^R8l5*fpcOMQLS-*`tc6&6||3V|naiTy5seSTB_P z_uF!{XezXsN7<_OwfchNk)hYH~H_|=HRt)bxoFNMj zz|AX4L?7tDpzRvFH=$;e0?=F2-scs&fug(&-;MdCEnjU-0cW}kdG3LwdDYD{o94B#y-+cx~!QubYC06O_6 ze$#V@o%|Emot0fFh~7!_)Tt?ta-)E^`N*5dT9ka9>lX2GG^m3ByseBGtX+_Rqs<0+ zsgce*l+ul~x>|9<=NeH&+Pf}?3!#BF@J4f?1BA?1m&C5ZS;ES(+GhW&-)iJO>yJ`gr{2P-Gtpa znRKUfHCZEK`^Y3-h$Mf;hiPBj1(Us5|7;UFV|jo7gvKM&DR8v)W8l3@CxSn`xe1R) zha(}AGdv;K5c!;y9*3Ks{$6s1s|O0nrIyQKSZT>x^3L zC4Ykr2%}XQ&XSej3+R1e{**CK--u`N`pE1;F(Pr4A3S2Tma;?DXxFav^5x_) z>qYAKIC_W`Okq9N%cgzRx!f~)`w*>ytFJ{nDReG{XCd)i)3I9tJ0hln)452c*hdPQ zrqzGyYCE>Xa@g5S>RDJO6@pbwMch`hS*Ss;-p`Ko@j~ZsSId zXBAUUl+(6u*m8{9?FHN4^7U!O)156Kt7USES^|4;2V%WT>?aI@e_yXwwpNGPNh3Y^U<&ry$`_%?_!rGQC_~O)B}GeKa7E28lL@ zt@^Gw{BD$pL(`4v8waOG$)Sp|>IVo^%eEPs+{Vx1?9l-t^z*lnOeCmi;>9ktwW77E z>Ad=hDxqya+-G5L{I%!E$xAIWKYRWNQn$%_~ECXMc@U()wynL;(u6?4= zMn<=E_ND?V9>c+k4KfV=Y4#D@{V;`PY+heoREEBmC3FUy?VDw<=tS&IIp^JXwGl%=mCz+ zdM`-)m_{d^6r&9TO9FPqo0E}%T=93hL#Ce>+-qK*$gcl7Q^k?set?#^4o5QkNAY;< zJQxy5C{gk=GfMnt9|v@GCKN~{zAa%Dxk(ZJq;Vn<@dJx}95- zR>P!4HWdo#jg;GT$j0Ry{t(@my9NYn*L73dc+!D@SGnr9; z;brkB@yuc6CGv~jhMS*kF1+LlK6zGT=WGHMrX8*hq7x23PFGYkyyUYrqi$OC7EHL3 zdPChV7%IDP$hP_{%B-Z4L-B2KhZaQ1cMHdd)ip$LTJ;#TRHd8QBjpd5I zkPZ|3M?&IxAgPqgFDy7sU6oC>U}ssnRucq>Nk;FXQvv@USYE;j7h|GXqv`6f`R>a+lBC7uSqf2TYVH%)Cf;j!!y)$c4 zvG&Jfxr5^-Qz2Z8>?~_zICwklouQ%)>bw@FhW+j2 z{6-AKTgI@e%uaD5ClCGowKsoVuAtr@s3~*xCK1qXTIt+56zx9m>lDA{Zg;1!g3Hr& z5SI}pJ`qba@5c{^Zxp6237y&Bb9`>M=N&xWv~sR!%0uw|E2<6&YIR|eN4lJ9wro+h z5L=j)KG841L70G{l}wm!cq=&t%KciHWT}7NN37w`)dkw zQrbi;;W7zSq1hh8$Mc-0KkM1UIH1(EuFX|D+uL-bJk#g-kMESPMxrt?OLZi-w32%P zJp}Y7r@P1YuU@?>*g2B;BG6jN2O(+Zvz4yq4Ule>vk({${qRQoAY;Xnlz%^p#ZfTUSXK_XjXR|8TS;<&Z^ir00Grisk)+`cj*UHyPMLOJ`RGWICwG)Do50luT zSKSurj|f~<{os~%WWODt?yB)e|Nl;REL!7d`9D6cQfzByc~1^TeVgx?U!VVx!4~IT zy+4#z>7R$O9vm?4=V!L-FgcyF&?>+KE`Z&390a#x^h;#~IKrqydeDB#di=f>AA8s# z-}J+Zzo_lrV&uZfr@(N~flx z{a%UFU8C}cKgPvvXlb-eky3?9nu;*8(vX{@`JMuIIpHUP+O~7s@D^Sn@yD(eo;o#g zk$DaNNiT_r`HV524kK7NvZ8iA$}!6#u8P+Vi+hyI>YFsYUMlUE@M6XY%V9=%3W+DVOsiHE z7sUIi8lHZ0kOHKGL0Lo&Jhv8XnPY+6)CQr&iou)VLGB z7TKF}aW{E~kHs#2w$PFc)DIz^$@lp#-qvVFHQB#tD)!$ls%UbZhtyu4bfDVGiCVm| zs8i$`pD)t9f#Vnyq6p}wFVe~mxtC5_#+nK)RW8^AFSAdS(I*C>rHt|TA~R5mawSRb z(=YQK?*dxvkN!VO4TGi40g6sgzqq4rwA~?W7O&#Vzb0~5>2K2)O-Kj?GWoiX`qP%Kc1teqj>^W9zsU+|Dc?;Q{Q_fy3d79okVRomijiKKu&2qY zCt zOD2Mc`l{N0WNN<6K6Wpf9Jrg7Wf(>_8c>yQNMg*1-&pG{J#wdDz`+l!eQLpP@O_0 z>vy9cmQGJk-yiIplgFQ#^T&~iIIcUeV&p{&xE z;F2G6S23AA8V?XytLq}I+H~6ThUcc;Z-3X6`W4q^73zG0nqx-3G3+}BT4*&=lO{D+ zt*$wQqi~w7>IzxfjAhzd!FdrsysAtt+LgOx050mAF}+BVclxQIHZozF{GK|aljJmt zWHgRQYyQg4l_BYLmSmReIJk1oe0kiL3G1dS{uSQUwmG%T+z;0lpGtGE&aWYFp!s5- z4!DgpmieD_pI>q))g|J@)GsZ@ax~6gB(~H?8Q>FZeeG%j|3fVZP}aR@D+C&-Ki=N; z#S=`Q`nqL*uUs0)kFW4jdf)Fq;vYydzLa<-eRx5kYRgnvpif@J)G@dGvjFtL0t5fEPo^SOJlqe9iunN_43Dc z^F87_6tLgK9|OHEHlSL zOLAfL{6@zjUjw2CWUA|b`-9?K54XEX-k6b5bAch1YVU=nHB)4%<+z8Fw-ff!&7hAf{^7F@c!w|*u zXR|{$dcOYcNcQ^db!w~pKz%n2l=tE4=gR7v{|9UbIr&90^go17fVKyFdwcQ4?SDzE zr=hS%{s&K|Cvgji2aUUhwa>;i^ZDOJ1!_NqFjCUn1b>qCEV3D_p}(obz;q`A5tesV zt7UL}{Xg{>%YV*|bD(-O@jq(hLLgQgD*_Fs+B!P7-?@X|L84}RvGEjnB5VwS9dRov z1sm|y2}CSWrW_ko^?L`zpSd5j@%LBFB{aTow&W%f7|M9bGU`~l{O+>I_fDrnzSTt~>PNjf?<_}GLB^(h%E>KVt8yV0;3xQ@jBR||0Gh9WARm9($9EsNNN9xXiew4Jw$ zJNAAK2g;$5s3i7$hw{p+H=J1dM3%%OO7#$wvk!)t4Jzm8h2!18n~ z?e!&UP^c_+Y8Mj=1?3*lcf#+jJ8`tk3)wmlgNi&WJ-7sV|EEgdy5LD>_q#}ZuP)V4 zDQFV>K)qmZ_}J+Lc5Z;Oej?QmT2Ly-%j7C6AK>e(KmZ7|$RPf4@p%9x6p+gRB5=bO z6f2rj*1syp@g>o19vRh!XYP*O487LsuUJz6QpoSz$~41=_TCB!4gQ*nMXv;P6C|m< zWoM}vvyT$L~WxMAr6F;Nc-fc{0_i1!K{MscJVc z5DWjtFZ?TsZ7AjwGpVZr39yNpptRYP;6=LpB)%(ky%Gy0gHnq60 z@x_KnvS-?`aJ!kqDHVDpzef^nbU9p~?%nwc=MaQcr85ljE%)iDk~u6WpvEli!ly$2 z>r82Ws}1GIq7KQ<=oQf3V`-h3FG{5{#S`}-rGa;k+oK2QAa@HRMz8VPi3>lkoO+)J zp}q?xZPuDr?jG1>`1EBN-|7UEBcM^CcoT?T|IE)%L{Q6@045r*7XugTf+avfH`W{u z<_q?@dY1~+xovSf0TP#tV+HA1+;=b%WLhs`-Z1&f^OX|If*nD;nK)L-E=D+B@70 z={ypZE4-7cAE74%v$zUB)#C4e-B>*4RL$rlPUs3_*8i$yo2BxtKzYEP&dORD3dHOmnwUXfJBNM?QISu0|bV61{_rJLBSW)_VFVA8$wj8iv1YY(wc*bNq9O0 zneC1!(Qs@DCcU^Nq||@Z^d-+KPB69q&G%i03q4av z?tmR5GM*}wmRqDaY)fXte@*_vyfJ3!lfSZb6_JJ$uXk`w7QeK*RcK_Afz0#LqKPn77YqO>=A{nm zZ-l>!&0VtqGr?X_C8f?Bt73%qVx4@r9W!-Qe_aK$Z}=-0Z>X$czrm!5=VDC|`74~s zIQ0+oE5$N=vQt`QoLoYKq=t+(?RT0%O1o4Qo`1TRW;uSH1J-wTS*9<|{}JaJ`gT!H ze%oP@hTl0jt>;>dI}yLjM}+3A^#vy5P<^&$W_I=&@c*E^4tk!RF#^4vDs5_9T%0rL zL;_k#ya-EU4M0 zk!`@qw?|*Kh*xk59WANRYJnY%XfSYJO(MH1r#(*v{lU5PT~s=1>}vVvoT@0}SYrmK z9b&uO$yX_7O3K4QVnPSPT_JNTeHKAuVNtU{+mk>XvMaH_`eZd#bC)u5t;U^UXTT?b zGS72MB)2%z?mK%aNqe8=^l-cmG!lxDwajMiTTxeZ0s5o2A4FfrS=IK&_6UVhH}qn2 zhsK(U8VfI!<;SH~PyJjqgx?{OB;6oHS1opVy_5Z`-;hblMY>7$emtys#kwTx6@ZcM zmFl8aM}-qZNm_=@@@en%)4Umcgbw3pdxtG>X~{N=^RCvkir&1|{{HG#2JMsA0e$-D zkGW=GgVdYaowBc$2QM`i!eu@0GWftk@6TmjJpC8cY_YQ)vnsVxmwaD8JY{}&NVV#Q zAwe(^1WDZOGAr4cX`5=b7SWw|Z!V_qfPNPNrhgZr-(#ppp7z%REIsglIR zQM~zbLzy%~-BHdh7-n$;HzaFk!3u?%z+BYMaVa+G7aVr+9*ifM$!|? zGQr4=GGukczxZPxZE`5AFFeNWXH!($Vqw0p7aI?r5R12KjuH4GF0jEF#K|ujGnT@8 z6FbM%zCGKJ23HnnrBOF(J}8QHfA0%PQ)T-K8foVX{BBtx;d)aCAvmAAB>rBm%MLEB zsQ%557ZBUY?_u5@raP4DX90|B$=V~PRo202ibQh`d+^Y&XK9;}gJ2AU6jGb_?%Ug6 z%?1)saiMeTh>(aQjhsKq~o7g~1x=$Qg;z3~S@Cf}l`u>UYno2izel z)lTRP>}p*!#71YquU|p<(*}q0HUnXy<-HQ)%_v@v(OoH#1S)Q;}*cMu{44dIauW3EqOUM zHGso_0(U-@=Pojmy->0T2+T!Jn0uxH-_lCP=wkJ!2?xYk&p$<}viKK-TDk|!%}wm0 z-{6~Bs;lGfNN?mRkxr^OG4|tz0`qFk>G)OR!5mTtBoanO7DEr!+CMO$*RSO~+DIRTWF{TN;-Ic0*j{ zqNC<$lpZWx%R-1Lsw{#ka5A$G8GU;sm$1ec-{cT)^EwR8Io(@mG;+Q!5nZwJZrxsi z>i>7viFEoo(1y8fWtbkm0S2!I%<%suTUhof>vL>TzTZ>Q92S;U_fCX@URbfHhVZXE zdkQhDrsz#Ch9fse32L{rBm=htpw;4#4viIkTcM^$?y&wzt`XC$#Ff?w<{Bif;d_h# zf&_Bt0$9L~G@er>UAh-ll{Hp*@7>Z(N>@0Clel;oSyX|I)!e!~kU5(a zbp5KKWAs?{hpvv!h zC>HEnH6KDEbAFq^Yx1&K4MU;f@?@{cZSLC5;DnWVx<@G@b*pHz)+KHI6yj-! zIT-XXuGVzpX_tNQ0))px7RI6A#WpUfo?sI}EyKkuH~Q%-jqoQ79Pc-Meltn*4j+42 zT8GTI9lH4VoQ!6bh)$W)qhS?MaIa4@Ays#eK77lnvm}4QJ^F)2{$MLdYgITe)s9v#xDx$%sb~Rgs~6M5$aWO zh|d>9#7pEHG1cVys)ZA*Mk6E(9iDKzN_r?!Q%$W%*jKR-Nhd4mF@7PF$0)?Ohszp< zW=7Xqpz>^_(U%}cjPlc#R@>zopb5JgF0m>}85sNV;veo}_h?m{LznC_=C8@x{P9eaKy`LMVx9?U2v}zn;aLP=4yi6Gbi1; zAm;14ggdOLB(E&zV#J|L_wmSP-Q3T;z$uW-_LFo`#}cBJc|G3S4n|OgxM%ctc#YJy zA$>;-tDFOKR+e^oAEgdbnET4%^OtNcHm#aLJ8wk6r`o&CYw01$(fI_$W%~ngDILR5 zlLLv~RPU6)!S;uC5w5F@!!l*a^q~AeFPDw}9+{-F^Wznj|4Ry-9~+bv1WEe19gLNT z?s>T(<`(D1cY5W0cq>Yax|6Tzq}V)(7>LwiBxF`*qGE>UhsJ>99O!_F^nOdRz2}Ir zP=*z6B!V_r(}81OhMnXdvXHt8S<>BOXrU{RF9M$rd8bnKr`I@TrI_qZN z{he7!bQk8$h2J(}X@zMvZZ|lZ8Wtw>Q5~^~MuL|M~+wIEkw~69hh?P{J{io95 zgoXsR+`?cotMJvMa|Z5Ru63`87$-L#|Hr!NwSP~Z-%fvRsb@+rDwMADRy_SsLiS*h z?StJruS`X{t~(0dzFx4*5JTyRF)6$B%r!>kXXNMp7+TD5eFbn`;L5z*$(%kya==C5 zw}nF3*c5{c{%%R=>)agWpf>3NT@QWddUkJlq`DtQTqvxmF`|wnkYKu(jraf|k z{I0LdEO@z zSm2r{PNJ=JW2xt|5zRUWqjsn~WxATAT(ElcdHS{*jc|y5s?_SL_T(iw%jbhL&e*Ov zvC02q1IP{e;!73x>s0dh6O~FwcCoN?yg>Nm>z7*-Fug`@{uk;b?3^*Y%@R@-9)N~P zh%Y56Vy0DrkT3pBJ!bfRPgpT7S^Q*-z&hsunYt)es#eDwz%#n^4}F0bv~Hs-ZGd6p zJDos_92LW@jLfKk>eunI=|QOI);Ue;aDxt~r6vXO3CCNj{SOdgcb2@!1)AExJQ`)= z_(ON7OGdgc$EH^Ir)^QV-vw>2WY>dfc*BLH90Jp*R4-mt{{0s859h8)Wbc@wF=GZ& zl}L)gB2{)^UK*FT7JJEKnFOk>usLnTWJP+^RA_#Vh+3i*Pj9#^kE6OY#Q*S6BCD~n zQB}6UQH=*o8ts4cTkL(CogC~CX6sZy`|ZH@<|M+Is{M;&Zjypoz-g>qOi#xpkHSm?Ngzcc7u(~r8ZeaYU~&04+B@qo z8iVTiem@a_Z2eua_#tej+_gM>pF z>hdzhMhbmy6sDXAVPdqy)Snr+!yEiezD!XRXZ|Z>pxj@7l1CvaG;8pfJ$mhZPX4^Z zMF?~02>bs^lAJY+$a;HD+_9cIrC^%AvUH)$__&Z<@x<3NI*2AmACKm0baPNT z5tEg^h5#a0-o@3`2@C)M2;M>61qKtYN@~15*5n=gFq}f7){G2tG=9O}ZZ@`bFEm|+ zP{}5i_{@ewpuKorwK2?2w`;X2Lx5h~>}q&H*ZRITaX8j0KsI&bmmXI)na~)4`0g2t zk~R}{sw6tv`e}yPAW9@I5!EGo8pCuv()G?SDqBL6YUG;Ftbk>#)@rr?0Z zrDTGn8P@Q&rC_TK$#!a8XI^cGV&p04V%Y^;{X&lAN@^C0an%l<29w$T4lYrPVY z3&sIVezonrCVX5=n;o)zbIcuU^lZRc_n$Bqf!=Yu_~*A%i;s;$T}cX*UcO5iSeltJ z*{8{6cZFYLI?*!Q*`**eIV(!|ColCn*40Yk;7FhGA@{~hH1X#y2J~d_ZO!rDe z7|;XaCF}U{Ggk&&3#_-sG5o)hA|XU?#4Y-5lg=DbIo3~ssE2fV;~X>zi=50*U8e84 zsS+7h@yHSDovm&Ng{g$}>~Ss*^cSpBT&m{}w-t41=ci(71ML#MfEx#dGh=fkjI72# z2S$fX>$=}CXGJLY!9;~9RzNa_Z}8e&P9(ithm;YLUcoo>j?o%T4iF9Ah~wa{M$FFg zS;Pa?lw*FHE#nM}7&Pznj3SL=Pb>F(t>Ug`1cTY3l#yG0yZqHA&w0MM)JM>1WSf|k zLwuA9Z+8w~c{2>Ebyb72WLSDz!cTtRv?1fTAT9D@M}qUzuzoe5gBE-^z@V>$nwK{8 z?|G(03oeU3J)H+M7X7Cs7E~|79R;E=e<3H+cDli*4E|YcH|DyeU&)_JSG_T%?(z=l zd4g=l9mIDl7=E{azB~)q`KVgo_|Log?krDg+J*AKQ@R@Cdh{v7&iHH*Nr{Q%@wL>n zl_5<^lc{IBO~a`xTJ*YHQCWkkgl5&(u_1}UFUE=r7FZ9qG;{y2;{Ar5NKe&Y156)C z+x`EjI`4R@);sa*dycE z;~eX7aDV#U_wW0C-2d0(f%7@<&+C1?uIqX6AAi#QchYk{)TPiIt1Z-bem313)|LL^ zGfSK*%vC7PgC1_|(sM4(>?i3)9&76KyxR+S)Ah7QeCD81dKkX>OC_@SMuT{*B(Ns{ zcp^ZOs+^lmGV`yWOTomFsG`%m(qv6yaoyLIVH^=JT|ytWNVfN@rEmJSaDcS=SU`4O zlz2)&5wqX;82(-&%DmnF<7LH`09wlaBWcNOHtf@Q=%qH_uAgfG zU81Ht4dP+AF)!CTeu?!jI-o-1B4D)yHbU;m@;$WJWQ~Fzzn?Y6prIb!H8> zd?iYFi27=@#MWdQ!Sg$3y`Gu`AGRGQFDO(!_c_<(mqIjP>-7+8<&a{^7stG4j*FCS zrwAYZ3|Pl%`w%=CU;c%)29-OL3{5^_Np9yWm)$z!`LC^|g;vUy*pRdY;I=sHmZLrz zd@43by>YL5+5a_?-ZKi!!vjlZ5?$iWqICR$j z_{b&<16da!;q?#y!rKRs^kILYs-;vO4+}T%EIDl4d*H-v9tK>?^@LD2@cODs%wQ0$ zqkJh^JK%O=es#@5MKUmvW9>|VZL3q~IJw_N)y9Y+U>>Q5`IZkiNuI*~dJ75=-oi=`;JrfWYuA}O zgCiGB(>Hz4r{a{UyV?i2D_ts-P0`yox}CG=6V^n+Lot1>U*`^K(R?(l)ku&e-S59M zgLN`rWvY!jnNIT_CJyBDmT5qWhK%$h#8+|pvc@MF$3_D@iz{f*-)U-Wl&xBb{dL8< zQX}u;^3^8VEA~tQMY|!Tm1GvjT=*T&<1+^%g^_tnZsi~k9{ z*>3|Z26BGHB?Ez<^73-P(c<$(-sX58q%humB2A}V+r_s_402kX=|A*4Nd;D(JgDS5 z7IX*uLRRx8pYJS z?@7_LOZ?o~o9?K~LwDvDr$kzb2H-dKBvZw1)YvS%OCiW=JHp% zB%pOqax6n#y!Y7L-1jPtE*{^3q-xw*P3q-jcX7@*@gZO7WWq*0B#3h6Y}? z-Z?WQQQ{eWc}zWh~?ZD`qmuL@7Rg-IGNx&pv`)tRv$?PbBb$+A&IFhSV2|mOnqkbB`m9A3e-}HcHKYUG| zi|rXzZ}_P}TQL~sgL|=h3GMcp**z(wcM1>zR4PYX+ag9@fF#E#^IW3DH~}C}#f8aB zJT2C@Z@%%)0%i{i0H{7A$MA4djj>M{`tfu7Q7uQ2NZ>wJ&(p!?De?fz}` z!8k=i8$_=A-J&6yXcYjQ_H~sBA(Q=-$%kEKpJiRDZ)pGEHAVIJE9eqM*Mszw?T?D3 z8L8-TeI=4L{7Y*p$Y#iS;D|;9zXpG#TTWk=J?7xcjfNrc^jiJAQEHeuMjZ7km*#U$ zw9Ef`0d`_KcpZ(5LL>B6;o$}m&!*Yam0x#M+NE85&M%E$b%;OLfX;t*D`}dq$Ym(H zh)+n^MulFYj{8FKec5@?`P2CG=3+GWEcZC zrO48}HMl-2Pz}6jredzDso@|>0c--Ql#fC)q8@Flmn5o^r+H)mTVnpr&WSg^zKwj1 zlAT#g=FG=0z8|hS%=13n*;8Srd>P?H3mcXknxesU$#{+@J|})J^?usJH(xs4NbG3> z`TEDgQoVq;wQa2XzO7&)&hu!_q-)8J&2k_FI*4_NL=@i2?qr!wCgtnkBJXP-bLI_y zkWh)%C*lKjlZVyrgE9@G&1;vTatnDQ)<{g+|LSmFg^>V#;)g| zu*3}1zE%TxC`SPI1;7!a|J0=7%o$({^aTCKIk=UnH$)Oayr_>4m44;xyWwH>_xduN z3G<)RMqy=Wbnt8{w_zjoc>_|!=IIoTU~~#@K+-dR1l`Yq$r96OFKJH-(`n@G`}(;~ zJ^=0MW=QHy>4mSanYP@zy_2%tM0t_5V>sEoc*8?ep*>py_(=fX(I!wiQVireh2pf% zLytZeX#7VFVu>izE-Ah3zF6P%`$bcwFdmQG{vNm=Jm$mZuepowiQZ=`*(f3E=_w!a zGqj(ZQ7;^O$`kk5_0O{ea+V^}ygGPXZ+HfgV$)wKfTj`dR3v++{fJYYI1#EQv4E#e zGi?e6GOImhCySDEnG7G~k?pu^(9iLe&#GawefU=rQRHt$UWBs?CaZ4!4IEd_{H%yP zX|{w;u>{%WIA+#fUOf-10_-IRKe3Nz)x|o*h3P^k9L0pELRcV2)*4I2Z+AA5))!L) zGcpK1@PjSS+5zp6^Urgr!$R)SnT@}5S~Q^|SJ_WhxbriRR?_qJU&C|^+bPh7O_(+>ZS+yS_h`J zHchwsxLmAJ@NqpTkirg9O)vPG&!c*A)w%J5EkbV;zgHIg3u8(W&#ScRH+?r0dD(cw zqx`(}Ego}GLHr({>)m|AF5sRu-LFgQ9NU8vFs?kX1SM$*OdTziLF%kanW z*Wl!5GmZi_z5)EobAU}N9_Jpb#lQ^~-aL@RfBEn5&`q0`@lcn4Jr(G&8Utd|?7^q4 zR$_cUC(EIi^!XdPy|kb5^*sS9>Aw_nnFl-R!+{g^0$!bfpT%Pi`?Qff=7rfsvt=K0&O3(C2y`ZzUlJSD+_4&o*aj${0O@dvluCl-;3%p#{K-lrDI45p z=egdUSDh&i3!vUyxoO_e^--GBn5J-8hs4ok7IzjLEsLO2DDXo_|aJg2Y}C#33xVPMs^oJ4%TN{y~t~Xen8l8Iv9L zykn8$aKE&Om7uiE?5n6Z13+SsnIRv%7y>#xmc#n+~+y9ZYO-_%v5RXU^Lf9J<8m5zA zMYoH?Buo6Y0C@0EWUF1m5f z3$5meln(3#Xt=)=R6x$m)0tUkLbAn5vhLx!#JvAqN940T2Z@PMxCZD6U9sF26Xt%` zH&9`}UsGOZMrbKo0+&{&IT&IL$u@mSC;hht3F(7$Dg<2ie;@Q*q3J-&4uW&ND{c%S zR0z{^mZqGa1JDW7;zeMn?#+pt;|`V~kpCV6pPR?NmfrT(WRvr)A~3YND9;bjDEOTh zdQ9?I;p*^~EspnAs%C}kt>Pq?ggY!;FLtWP4YC?MRaLrF$+}a^%Ff-H{j;{8jH@p& z5m^E5F}US^;?Fmc(%pv}I9uCB052cHNX`Thh$p)9PcMT1A8uASst}$^`SjpKF-o*# zY(=u!V#ILGx1?+7;k6Z>-TVERN%5`cT)!7oD5iKumrt{ZV+mOMCKqAB z5~@ztw9-X{U81g%Ilpoqq(Kq{@|#fc+jYxZiRqyC{Z`ky#FLkGo=9J_2jpeVJFE;C zby!?5rfw zl}wYU%oGGNJAX(yUFi<6ZY@&IA;`la+NE!`aRc6+*i~x;#1^MPa|;vU)#HnCSJW!F z-}h;eCt=*gH=jw+0hKQaGBr-)vJv(c)jSGz#93Pt-G zRENnY@X-a+eT%icpBS7uk>L?Yj6()p**lF{t|NbeUXJ)=O%1pYGCHu{=_y{xyLS2X z{Yc-joJZl6a~bq6hC+&Cc{fzrxid4va?ozo%km;+L#TWI+9mf z6Uy<}cls3d8Q^IiRd$?LUO3%k55%qgca)H>`};(<9PoAm7mQ@x!NNcQ{QB^uW%W*Y&(m5aHwWlB2pmp~E|R@bRaOPyNDeC;2lW&=He1oBEiU@I@I#Z1Xkf?vz{PZAt5m zq}S}D&Oi5I*H6E&kEWG1TXv=P9@sDJd0e3|AZ{rZM@*}{v9mEQB-mr?c%%1{*l`vBbf0x-{0pYTQwG$rp2t-j2 zpNqjWb#(!W*Q7Z^a|VMy;%$>{n9T1q=2DDM&4eQS?B#dLS+0Jh36$b~rtq}nV!WE} zePR>flEw9D&?(6KTVs&_H%`XxAHB9~l60~6mkjNfuzEe%%s>+&@zh!1`WnO1CIu53 z3EY!{k$MIJ+wJ?g6GloeCePm}82DB~k=-1MTKfj=TGQ*<_v7}kt48TvzI9jT*K^eI zWGIpLoO^#j5b3XKgu*amh#(HWCOx|Y>;4h%{k39vhyJ*CRbWlTM_Vz4Oa!-Zvk>*l z9UOdqbR~O0tr3mg=-~U0wzx3*w5WFSZ8^{vuggzl2-r2w&vmbl5QF^3DI5GgzXxXZ zZ@?u2F#K$iXWvFk96r8V617`F@#4x8{bchDY7k%axtw}D?yc?0NQ{2tG&C(vS~=W* zCtKnIZJsHsZ5jnU$bi}axV|N&q!4lT5}ozApmE0_gF+5!nkNZ!mic?*DP7P9Ck>+R z(r&3v0ok{JeQ1D-`Ag`HS*_1rPp)1j{;u;<>g!{n>h?2NUu(xU%^YeDGyM;a`x$h zIQ_LFQ!#yY6yu{@g35#)x>+lM=`ly0h30EiQS2Opk5xou{KS5zi#V!5Q3(z{GGm)SRU_qm4^_w|O6@jIDw*iutsW*r zb3uQQJHLeRjY=l({82Li3g+RUBNSjkyj++6T8)6-1|FhUK>dJdh4j_t_hn?&M@@k9 zDf7;!F;4K|2kKL~!KuWPxKg(!0S(}v32O}V+^M06ESF5p%Kvrw;H*1j$}C2Sj*u+_ zsCd^bOTnpG10A4uZD*B?A|4;v9Y`C+k#$j^o)af2-HD@#q+pE!B|EOZV0w)MgVhCZ zx{0s(0FWqP)x&kkMtuqv2bkx;Ul?HF>W6W}hhsHxY=dF;!9axB|K@q9f|Wgpu8PNG z_3(9BJ|WWx?|R?scvfQYDjHD96r>evt^tbp<y0uTzIPPGICqA4E{^PR9C zPH{X|9r9d1@z7ag?mmGfq`OAz(8Y?<+Ay8YHSFA?^fG04$L0b_cykouibaICY()}+ z{2uOXJ>#8(LCelLjIaQgN5%+xoD{mbZ#GCG^pV_=0Y?1jtES!uis4PCry_`LhjlgY zS#LI;u)Km6bTx_+ST;7bbby>>_J`>MR$mf|P!Q3jsv}j9eHETHn27Rh8W6uWg_2SD zE08Rn+8xAgV!$In@oIh1$obKteQO<9F!I8MUE#p=BrepLP@7_DHIwbJqB=#jDcSd+ zu}ak11OoQ9jV|bQ>%jhwqVO6p=gxf_FZF6)d<*sm|D%fo=Y#G)FzciF`lC9F-2XTe zIVkGxKh@2UhlvGWmWI9>*CH$Nz1mx36P*jqRW5({Og2rAe*RCnwkaV(th^XNP{uLl zNN}^Vzb<$U1O|J|26_QfU+>4lp*s2=kHF1kF;P*`byh1LNIpV)S=y5b9pmN2h-$girDEMbd@BbrQ8yh1W*jIpy zB=F5m=N#`!KW36dYn{U4S-K$ zhb~%YT`x;--aO|3n8DW}hp!3mv&3DBJiT^>485OZyAdhAT6%wNd%0Qd5rC2LerwB&cWTMgSCAr*xV%&a8H~qi-WdR&&U~aEQ{yXU)}TXLYp##D-7xm z#)guU@*0Kre60w%rI##G$3WX`XKK`W>(r$^g)^&9m{9bj=|=y6*fcv){S_4Ry8U39 zRd?{gY+r~G+h^_?egwtKq_Z8C=VbGMXOIKm#j%0WwMgIl|HcykikaV#SG&k!;;Aa)tT% z^Pb4(BgOgPCg}9SA1(yq7XooSF*QVMvdIZbwx)!nU{G#N066*vvTiY#1$Y8T1Vwa# z<@Tgo6N0&uR*s0A{pMiu_7eMR=-38V0<3+kwLf26mtMIJ1l{ES#lp|eFxN-dtPQOb zHtLMB|3Hu!{`~Zpb*{2DA_tytUV70#OX$5=QfgH?!9=mp^zS?H)9oqX=;4ZZ*+mMHqE87nEaj_}B4+E_K5QK^O1Iw!hadEQ;t;BiC<4 zKhA<9)Ifgf6qal4eMpK<p8mL8Z{69Z2M;E=INBa51g*Wic>ywkvPHb3=I#bd9mK@p*M=B z09YwD>at<>VBQ_`K3G$j<^hwR#g&|Q z$zc|NELowaKew{#JU_Ks3<=x}rR$RuCh>rS!lZ=&dk|M)Ebt`QSMB)N$sE7Z5viDW zbN2G8BTxW{#Lwk&+7GiQIcK3`wli z!gc&NRUIc@T6YN(z9&$9%^7BCCml{G>-kz>ATq8enQtKKnSykkHB)*nD4bA{8}gB@ zFOg8OC*AsK-7=ZRr-G~`zU0655)^D^mda+%0&9i*_yW~ zm@IiY5_3YS%zGnYZ?F?YrbRjix<3vX`|u9>s+YnG$5&E(#FewFVd(^U%0<<< zl)4;FvLMVQXvIK5yFXHOisiSs@@G2uLEm4ps2^XA@o-o;hcGxgva}uB~AOD`xnm z@y;bt=Rrz(R~L=^_oU>gbhzXAsMy)EY(jketAQ)0O6AAcw5wNyNZk%%N7+MBB(dc< zMTN;6P^78(8J{QY4p_!O_x;h@r4y>8f3|&yBV63wn>uOMscqMM z2xz0)XNkw1{{r;q%3;YryM<}{Opad^i&MJ%NcCV59F08(V?c{W@ZTC z;F{B{r=kcHElGB+;j!!4$K-6ke=%i71O!0Z6a9K%o$~B2H`uHQp{RTzV^>+2gQT%^LmamC7l#4 z3flxpHVzIcSn<+;qeR8B#}u~-*}E=cLL9+6k!B+Df$ZnOM+uU#szqNFqQifhtwxD2Wf~p~mW(f+n_{D>4WQr-@K?xu zLEArLHF=hcMMw?tzZhnUJieWWtBY0amipS-fsRxXPzoKNyGqT$?b@LB`Tkc1Hh2^+aw|(Bi50 z_Hhf)qTn1Fdi^BdOHrdX>NwKDJHKw|91eoF<-c*Os}}Xm@nWlyy_T(+wMM#yq^OKq zr$hSAm%;aZvQk|+mfjuCx-QA^p${%JIu2Pn^gA$2nLrzl^7gt&k-n#&FZFjalF6 z<*~QjnaQmCnXB_gDg67K`V`Y?HR^IC=W} zo9HTDzPlW(!E4$!GYPIq%ijtaI^*@RyA4;5WU} zTN}O?xGw8agAE}3&J3mh@_`HqESH~`PJCsLwM^hy={uVpl^ji4PIsd@HeKJjMWp^> zl2rSVRa@lF(r)x=Y`6l80K3^A{w)to2n#msZb;t>b(sU?L!F|Oq|`QAA>=yijg^Az z+YdjoQT+!V(k>7-q6UH^$exYA=*xpiOLKX|j{&>!-+{iqe=y@+-Gn%zsW;C>9YGwq zWHAm@eD`bc!;Fm5RkBi+6EVN6OpbhN1pG-%RrxqPVr6q#07o)i?oo5A`BszQVeTjN zyl{-Z4k>`f2``Z~c7$+rIp%3_&M8G^I?gT4y1IKXRjGUNPYm>#TO zHCy$+W++<&KR*3l?FByxq|wpi4W~qeU99`Qn@n3P-dUcUE#dOd^MU|x!XiFYV9?eb zx1!mtfL5h%f;SgR_FfkteAezgNk=kg1~x%*1K*51I{npY5)Y~NmU+1-be^}i|Kifa z=n_{E5Lh}(_LV*H-vJV^wVA{t;PhV8JlzmL_M;2EHC?Z^YW^I=SXI@ptdSU>^<}lB z8VR^DvTxoZB3BuqOXdIRVg8`wu%Q<721(#04DiSseiA^?K$wf6z3xpB@15lr=an;2 z*^n@o!=~_$|M0rct*AO}%(JRGA0(tC(=Zz8u;vp04_YnPZ*f znEnk(!F!ue-~E7d*?&r8-QV^_UZjfTPqv2+k>d+&k}duV*5On?E8af&MaNf5xPtd2 z5N;T=A3K#`G#6gYHIS4RGp*^SVPk)zLVm^a4p`x*4ay*&dl&wN^ z$ogeBEG9M|p6O3YJTFhsQ}4&wia;=KI-hWn}n4Xp+&`F zq|)JQl+s-jV~#I4@JnRdz{cm12xSe2ov6wwK{Tb_a!Is2&q3O9SG!ssg#=U233KjJ z3H+BlX+PD17H~16Qd*%QS^DJSF+_1DBj0J3Ao=`33b1N=yX7!92mG93FWD0+u&~8D zn5{%NL)7^U2?+A-M0WE>45oSSdVUXNEpPk?VG$UP@ReCG^lBUCFx&%<72iX0CT)cP zn&(R&8&~foK~n6QTp~H-(LdU6hHc534?46la4(i~ohmj>t_`EHH-j|`MtxLBSKx{U z3266t*v0OmMd#m(CrIN-wQaCUe1KBLzo(+SR4rTYm57@#Hg#rxKG*?j&~f5?9DRKn z>W?(s`cjB1Gl159^+fvghZ#VVzl6!a8q@gEBFdf|ajM^hRS94HJEloj-u|eVZE}}# zts`cX=w8^>H1q><#H<|kGyz0AakGHZ>kY@}?IQ=@KyQUs&~ItG1SFqht$1y4!6Ar=t+JkMBwsyN}lJ+!SwTA_wt5PP4kW?0!c1rO*5Ph1w#0u9~`l%9L$2 zXh6kPH;dF($Yy>A?#<-{%F3Myn+_jy{7pnTZ`?^vOvx^66)DBkxOpYU3xpfZK5gZN zmLb%+Y?{&hp|cky70gNu(?_}1><;l?foVG6c+wcCN32=XKVD7IZCp)PFpyj}P3^lr z8rb#l&n2X96X#UAHbDt{0g@4r6@kOyple4J>#=^-u%0MivAQgE&;k)?$S#Hwd-KcZs>c1B2!I6_5r41fIvGR}HsR zpprO*`R{PG8+N93grm{;agGv&a zoJUfx9G*q+-gb_n*RI!X)+HUKq?@f53cruNg%eqNU4U|?Lct%1wc{l@GYG=h9uQ*8 zQ^1Y#k@6Nd8960kKeDa@ECD;xw6#%d4`2ldqY$?jVe;bk3FXfu0Q~DetFUK6m95%rD3iDfRLsX)3&6n9R zJm0No?KgI!t*nBSvL3&N_iA1a2)?>Ua^@xy2I~&-2nd+zr*PhIlz2|qi44$m{`?vEXpoqyR&Ii#edw#D;t+VkzfttY3a&SF^-P#)6n zLf8P&8dvRidFkUL+7UDM^6&U@OmCbBKA^|t!VZT|M*o0>T^PIkuG*{EGMH?SxZ*?* z4Es#A-wACz$YJ%RH+M+Gt&&JWp~_rTcdJY)Pxq=Ui&})vXw>O2c21FR0#zTEvB{ocQKVhX6cn-Z%&F$>!Vk*z zS9V$N%;-gizzEDLWSuxK)gH?U-eNZbV|UBQivQNEs+zLb02=iXPxi{$svK1EYBvx|Z|Edj>|&shK+I{KK9^^J+}uP?;hR)Qa>0y&Sc? zY_pBsC;ikSZ!P`2rloRd&7tI5nArf9w=BBb#=FJo1G9Bk)TcW-#2mngbv)x-^Vpsp zcwD`#4?>8*>jKAbz@&ndbKIN`-J-h2tzqAUeof;g!&HLZSPIjO&>Bs(y`SQ43ZT1}aVW}RWAw(ooj%^RIW3sz$4u+j#(e1)!&5f?()rpbe?wp9 zEvF?@p}D&RIq1g5ty0DFu@FKHP!H7@m9B7qt z$Uk@lBj%po2fjFb8R#Fd=ilx<92mdPQl=T)CI7`@)5pd1h+W@j4>CI`)jJ$~%9!nr z3#z_M-KM#5kc)}~&6;$~h1xL>p0@NZAbl@g2Y(E7a7b+tmj6GwLhd!TW61D^d->+O zQsDb?8M=6Vd0eB2%_6Htdty>GKa^H-NUDpzbO|C(v_4pNeV^ncoQw-v@RwPFjT=S7 zU2`i3RKMR@mbdBEvk<)d$eo_$+6diw!*xKoYC5H2t2+E(J;%LK2kaE>{S4PLr)tWO zK-E@El!Nd8UYC?;ZEhq-SO@t9KC@f;D7xCzy(1`0`k8>5HG9QjUR9}IB7(0HQ8}dg zfsi{P1?NQEUAOGD5gHM1G@arU(E5BJ(h;HxckAdb-Emdo%RrH2C|l*F3`9XDaT%n$^VTxqY9||B zW#xqS#9U#V{!%ci*g`mOl16WW=&x<@ln^;&p0fFMBOz6Zc_+Q1!@=b7D^ghcK=Y&e z)a@TR@FdA8fvSq#EQ-W5c8$Flgw#ienlC`6ay^oibl(6v+Wt<;>K}H@Fmc2Ia=_$XpcWlRRL8YME136>Rfz1 zB--xR=ChP#cS#98GW%i9k5q&LwQhzF#~8i%@=gT9fI-uns#_w>DRgE|Q;40zKZ2XX z$#(tq7on}NAi8{BoLj;j{E(>8fxv#@uMRiLf)+? z6vS))Bw%M41uEhrj{IXKy7iaG9=$08RRi8Xch)m3O^jR#CRIOnl}UtwL-uk~Y|Y%f z@B~Ug@5kku1GHSxN7!y7WFr&~slQ6dkrHMcJRqQ9V+sEKqwVyA{(4ehFBE+8F`SH4 z&?Q#J=7)V3fd(c=X7D_skFFrQFaLxf!e59BO$w!aYu6l$_74$FJ(1=X>Prc+a}!T+ zjiP(dxk%D8?HsLOl1}x0l;dm|ue=VgHc4kw*gQPQwO(NP&GjxN0IZlq)u}yG_v%~r z<4Mk9m1@db(U79CGN1x>CTKK5cG-3WYfjS^_3m=la|MUj5TR@rk0NDhV>i)hTd-pR z`&!uhyLcg&aYsU0Fp#V&#hD>EOzpd;UD$G>pFnnLijh&Xku^sELlm$=Qx!uDWyhW z)2^nb_Gks!dBgsT2j=3U<$*9Xh!s1fvE}U> zAoYQs7v09rM)^k=AN1H#B`%#b4_n~GToO%sF%9{$bCMam9`Xq_;UJcy6HSj<3Vkh0 z(e?fZt|E*Mo#O>jghGS$#!2?`-U9`BaQ#G@kb~D|-(DV<4-|*&z|g=YF$d_9S`5J< zjC`*2BP3QSg-S)q59(iidn=aJ(0j|YtRg*{b$icx^eW<>^|L`@RNkVaw|D(I7J?Nj z{Mo<|HnJ3D&pw)ouB<4Z4Q|rrExW<^9-kTNFU0gtiJg*NY+;j-n0Dv=MtThXbG}M0 z+grQDu7xtvAj;3u2*j3G9mtab$V zp-`wKGVv*!WuVXq8v8Z>Xn@_M;Stsga(O&=3{AOUObw*{H-906 zvuXAiH_DCvipyL|hiv(9p0btR@0WC7;ZXbUneSX@12h8W<>h5RN5V_~$(?}CWO0}p zkg8M;l5e@v5#i~ksn`o(vMD>H90>l_Ae4c)t7I}st>SS8?Y`U*wF?_4?SzO?d4A3w zK6?0G|#I20i>H z*??(4m0n9~^7W~bs&DBT0A8SyGYju$}+?q?rdUi&lqzutR2O4LRGV(Bcn#^Ty2Hi^RO z{BA0d5YV{-s>$%Vjc&>6BdBGVW;(^X;5LaD5xE#Eb&g0=E|xThFXr(OX;as20`{2@ zz?K3GJCBIj+28bM6Ru8f$w$)_Fv$bpb2oy==g+PQ6_+VobvbXtwlPOl6?dCA4jiya zhbDq|pIZ?cQ|T~D+qO|XwWss>GlC1U{3pKvGKC~`bn}C)^}^D<-8Yt{s8stotPCM% zTSD&s5J5a4L*QVs;GyLnd_fBXnE*;qClvZ!4+7RNC)Rv_P=t(z41)ATKW=(Wo8@80 z>e5>bFyL7`s4ql{*+YWk8;6|^AJVECcTg0AJ~^qDT@2-mzJN*UaqMCkwCih*P;HR8 z|IUp&pN7HUk_Qt`*fnry@P1x^X5PYu*Y6@CO=XME?x+Fo(n-loQBuxS*gO5c(aw$f zC+cTZr=oL?X3X~(1^E1`7fbUkN=qsyEAGZTvkjA#K=gjOh)afdbXYB(^-8@396N+& zjLy*%V}AKB%nEf0NT1ED*euK%e!L(ZG?&DOW$ek>+p{&0Mc(g@7IEC@tX%(OhcEE-`}k3#f{c^1d4NnmE(h9+5_Cr(*Poh$Yj5 zsID~EYj*|w^11D4?8rso^p#VkyD0uBrI<;xX+)MyO`_~SaBn85WFUIH|B0F zK>|2B*xy=&7Ha0E@p9z4is35rNqi-^lc23lhvmh9LJKSQ6NIQ4G)4T;HZe&iX70XP z0~2TT>7$q`8aI}(Yd|s)$e`xT2p2hj;-)x5fTX%Fw%#yV0Cr|~6(s;_#i7hal4a(W!Oh{d5WrA*G9pi*KGl+SWZ#6O!MU%SPorPBn;#$+Wsp9!+YyJ`otp z&XNG6sJ_{?9x!_RCav4QPMWT|Y9%9|yqNJaRlK_BurfkZoK8gcThg5P*J`gEuGBIl z!1{6m*QHi6!tU5wGaaA*^$=nK-a>uP0|^-`Dh@?t!C=>)9YFfWjFZM*L~@5>r2IF@ z?Pm5s<%5nmyEC#i_8vywel*U8_;Hs4fsNfX`?H3~^DN^bf+BnC8f%hs$PCoyFUKoiu|92NceuM`(ET4;vzIcy_|)6 z&A;^$L4gT{Z;l@2{v2!qpP+9Y_NndOwBi;Z%RJ)h^%)m_0+gvM(?eH6 z++AFLrwJIpl6fxjI=Ce!Iy252TdMWFLD|^oQFo^AR6Q?M_KUM5zp%TMhUaUi<5RV_ ztV@Ewn@Cs_tmQ~GL@V%GKbxh*ce%$tKYdKd!IB}Af8pd(S{SapxhKKlJ9y%%5T=a5Wmr{524efH%HKyf&=Z7Tkjm`x zkeaL=CVem4SCIHa4Dl@F7kx(f zL$^}Yn=93t192vz1iU}hiE<=dWS%;q+dfFQla}3d!TV9|4v#Kg(X~K3Qm_3auR>Qr z@Hp(nKih<%?xK<1nw{;6+eQR^p4|KW)-J=r&w7o>f=~M;_Y;yo-r5EIJdsth`Efr+ zG=i|F_22ieM%*T7>fnozKsYdB{(GJQZ_M-7Jcjq?RFZGLF%pT4L4Um-Yp@Yv{3mBI zSo#+NeRz<2WW#_50YC_(-^w49wkw&q(Uj&RaLhQ#n4-`n#hB4cRktU?+%&Lo`}Z@m z-S4V$R7zjPb`@s$>It)=xZ3&;xCQoc@nE5GTGDqSVXv)6+Da9ov+w1bH+4l6t{+O4 zIYs`owO;C8pnET4WW=={+tEdwfJ^{d0fQIcy*kwjy*68{xJE#h7TsUXN?6}e~ z;ta9y;3dNV`R8F|Q%(IeJlnx#aLNQDANN~9iaHv`p!Ne?k>!@o z@}+eC{V*lDEP=?bf@8l3VVDqi?TXLi)00$BJ{mEDg`k9MaQZ?Y=4S36(Ka_UI3w+% z;uP+p)t*DKHtdZkKd!3|9*EXT?2>{aMtfNq5-j537ifpz`8IE$65zj&fREj?v|NLU z%?6G4nrG}#1L3Pe#iQx~&0t<4!>>)UaVzdWtD2+!zNrOqrG?DSl9#Zkj1=5nJ7A4^ z8(`_;;vxYl5EG2mql&f9KQb$CvROBL9%!A(0i1Tn7=*AC#B!Vwn7N$&(@5 zZtnAjRtiNKyqJHSDY^j3s2gV3>J%YkZQxA`=SALOd6=3tkY7k?@2wskXU5y@1EcU_ z(mv#e-+?TMGo}_~?N6r^3zS1LmbWnDhyuh}q~D3^cYVip|EeKl%2njZo8uy&(fm|P zco=<*>NuZNU7-3{Qn*&5C3bc4LW72y#r6P6@JVHblG(=bpL&EVCy-9mq6=!xBkh=5 zIP{-uAnqjOoL-{GWwR1(t9Q16h9o}r z?#rwTcq2_hspk+SvMWb0M?FtrEp&M~akOHzAUx5Q7N~ zp7=x9xrqB~zf_W+NnvN8_18a=WeychIuA~@EC;x>p;6aJcP z>>+BA1{wU2_Vm!wI_GC}w4WCF#>13?!ky&Vn>xd~ySu-FC2#KpTl3JBjIcBF1^OQn zv@P*iD|Idy@}0}?n=9bkz1B1>fMQFap?zHTR%zQ2^M=77+x=u!YE_$f<%fX1efP$p zMp%!lT@`D!<1e*=_eL+kX|{I=?r z8r|D0Sk!CwCB9lg2Gw%660Y5B8w6ZruYx(Hc6wE54IY6mrqJE`iD^Li(_V+E?XX?x zI2K#gN*&)_2cexzqhGern-r~K(08C#F{x{{iEm|Nu@8INNx!|kMxde!zXt4(2LeX@ zpBFCOm9h8_BYAliuakQnb}^@;q=X^E6ugk10=n$yJjsjQ)Ny%h$3O%mW1F zxShzo+`$=4>tre+%?sQb$(*dljgrgqbOKXdAo5Cd-q_zfCp=nb8$@I@UpBlI4;Y zz$MNu>$nqQ`qf0!qGO446_lY130vSIqMb~VwBY>Vjno~Bpj<|+ygX(zr>8+ zYP!<+tnkD~@5-zBs8`)!=CkrFac4aUHUIp)eUoH>^eK>4Cg|xzR3T#FZ~ zm-Wv=jnW?UYmCsNt4mZI%fh0jY(nCmLUQ!J)fcoAFU-j}6yyai`iuj#B6^D$upH`l z2-=2!K`|+jLnGILHymqb)^Ebhu)cH8^0K~B0g)eths@mJ{5*G}c8K?)mrPR6+}yK@ zwPxX~7H20DBNYJ+&j`$MnGD?LGGQlG~FzV~3nt60>!ojLgi;Sy`Mcg#gW^VH%S)FYulOZ8z6quUk>UwDbb)$&*Zww?bAqmVk>IRm8l8a?gslN)%_+{iN{{f=Pz2; z|JfVN2ja|&Z2v|U`s<<%lcD#OOG9>x-O_fjEguHQF}y0De|RA5n`{gWbx0Jyg;Mh| z618_}b-;Qgmy8|RsrXT8Xk7*=rt8eliHRRGTpOHB;Z9(=G0LD|!|~teqsOvtZV8?K zrK?|+95djx`g>siRqEI1iVDW2@T!!U3>Rz%X;@E~upT-J)@b(^FS?0I<0hcf0kr2{ z>92c1WhaNn?KBR*7hkuF&>+XM#Z zKdoN?htz7WDLod2BX~1FQ*3(@WxDsRjPZ4cb-|ZPAonOnH$;8{GY9NZ>V1K1iHpBl zs~NV22RxWA$qy>1@q2*kHoQPXb*B{1(PVldg@5!%(h;PXLjITcG++K%SMy8>2A&z)Hr zYY)*w7gN(9ex*#MTi)l}wCsyJCMSx1nIR>oq)#P0h{zHZ`|zVm=WRuCUr<>~UGpA( z>(t6=%AcEFQXPV0lSfR7b;4fl$+@9%J1Gi*fT_s zQl;U4&`w_x`zd4ZyHQhInwd>6Hs8A5bs%m(b?_Z$boX$koF`w_?eSgn>~|M7+L?1A z3pGV!&Ri1|+Q4}v-2U^+5Y~CBuKD$)*B{)*FPc8I#=d3u-TG47nwI>g5=_n7w4j$stPv2USjgSNE;rj{0%)Yt&t4w;s~6^7kf=e z*rWO`Qz0qng+xSU5 z!R~zasg>BZP+=Og8jE*l^>rC@UD>?rI|yetugG1$Zg=CaP`pdNeoRHute8dM7L)%V ze-QTRLCg_#g zx$BUW|4S5iY-7Ty$cx2b9U~;Fg=z)b27z>s=C$t_)KtfBj%6)sAzy`&mJxP&otbI;{t!#COgqrW%SBd6HO zE%?lSOvGi^yA>#cwnxK}hZgCM%@s%EX5NqqGiTZF%qNnJAs_(}yUFRE`@(_0Ja^Az2R8+fnW1H^K>jw^_WVrX^N z^Qop+JKwTSR3q$vJ`CN8s7MwUkJ7F0f}C0)))*t)58NxMy8H2K74_JM0R!Bna>w}I}yk5}Y^#MV`* zI9!W&$VdW*==GWwBe9Yh+?|*|C$iGRw$D?;F)i-MS@-fWl{jqwt}jw~OK&}`qiXa& zwPE8$gch^bm{dl0d;4<5=ymB7jfLW>E!=2c#-l*!imX)%_BENj785&Fq*u7p_DbRP z#hs5@#HEU{&zV?-JBE;VK&6qZVt%6ESNRoxaY(EJip@A<1d%fJnJ=t!X;z!ahuR<( zl$Q@87Abxez zjx}67l0i6s+;Sw6E6HU^Ql>OC4DrtbjpY6h%@Tn80I^`mD06o6Vc)joC{$c>|Bu=R zkn{1B`Bf+$)v)v){H+=u%@OlGSh%W6uX;+E1%C-6ysyz5#H8BX;w(DPtI3tGrXEYe zC+Fz)1XC{Pz)oQNx^LUY)hz*lh1SDMF)E{xFN3nZzFv4o{J|0YySGDD))SF);bZ|b zVGH`%AbURQ#b+Hwze^MLe^=0@E(TcjgToRU&yRlo5;hg|@-g(@S=n%Qt&JfT_7%&4{3krZHDBaI6R5 z$$zmfEwoL1l5$1^_J~6->$vqUmygTBEOQDa%y(fxQi@_}VA6%2|alk!Iz=(VB_3s?BqRr+6?%l-LoUG@rnSGJ2Bh121 zh`K}0_}CxoR}jphMaSQ^phnD_z)5sMLpq*L6qvTizu9B%vA#Oo?(X3YVnQn=IZ#T%r*;5o%+sQ*j;eL-l<%V64d%1%*q6GxjLG6(t(9vCr)MOl$Fc)MqgC{% z-I8XMzvvI)m$zoJ>!|R+Rc=B|w>h#=LQMmzn6QFEc~Wm7uVpI4dxnl`M@+}sG22Lu z%~m3Brk|J3DYY@{T;by8mf7ctXmBUDr(|WFJ2~fL1Mw`BCP8--$6issr;ul%FiWJJp6nk zlC{5yTaLc1WJjl$!JWITPFd;>mRwv34|sX)%6Ef|8?B>0?khlWeEcPPA-1E(5i0F- z6J6>tEj435JcFS;12=r}>|hql<`VMKm7{M2pcN1UBzBOqbEq!ODR;d%%yiwkvs4W3 zTxkcJpsqE|y(Ys5i+Hx-4f{Zy%Jw6fj}rOteHEE^I*Q_f_9c&WTTV_EtnEkSk)7|x zxYtjDmsFyWOJn>{koP&uwXm9N!CoO%QiW|xGR_kU`ITIzTbBaV2z!4U6!kiebr71q z8{al2Fp<%_zHF(a9f^}MYh#Dja-XN|fLC^h=F+%6UP_e2eOtH3tEP|lK_?qG^5mU} zi#UEhj^I<|viZ;B-1kC%nzvGAT_51OZ0UT)?%{(spkaSxap8Z}c3+`O!(ng7s%lhd z(ID*qcvPD4A9yz&(=wfZiDRGTs0{wRS3M|ZGc35+i`%_T%1eTa8O0(+t5i5h?Z7z) zK7bke3XSjE6}F(qo_OaVBPB|rJ~)_U82SGw=lc42|BnoAS_QUD)K{45vWp1Nj-Qks zRF>+%R;&>wx3E9$SPC@8B=aM7CjC6Z<}Tg!6ljUQPFR9D_hbzZ8I)$dtd*fj_B5*??3rlu77~jUEn&%B+ZNmT9{pq)PqIU z0Bw}g;pC`{X6B>KEKvc@=_l_rf1a1Isyy8rxaw5*ORyF8Gb?KupxE6E6y>)uz(8?P z?x&08%XSm?!dJLWwd(gTP~wnnl*JnO@(9?O1U(H7lmaZWe$oXf&%ZoCH0qKGH;vKK z5wbHfWFaH6u98@z`ejmCkBF~?kKu&ZSIX7dMA*fd3} zE(tIBjB)z9(_7WN#hyr$yWD%%61PV~UJoWI^ZKLq8>6v7*zO}9%<9d9MjcJ#$ncg~ z{jJUUm5Q~yEwmSzZby9cAEXtqY7L33I9al+Sm0qkHfYfVllG-6$!}ooP@dDhT@Dxd z?DM%5U=1WM^fB=I#YD+wXdxEwWXC)J8pyKnL(PlxcshtehWsV5OrX7Cy?~Et`nT>7Cz%FUV`#l68nR_ zdacoh_wUjKRx!j3`3YV;%+UW#3WTHFu7F*3V@8Tdtzbv&C~ZLXfft4?yN<3kD3mNG zKNiTrIDXooU!L}}z_;1mqPe$IwG(MET_GEwYWdr}go&YWYNTGF+5m|zgTK$)cfr)* zhxKw^IqEO#8&?glOg;XQdHC_`D~UDEXC_mG<;p74vI*Rsf1_JEn(?fs#6wzpZM&N< zTWMzY+v|;P_cd^ziW%^kOCQ*+<(Plre-xOv>i6)Qe^k7uvjB!~!nQyI-fMf6&~-OXA-(mp~b*sjQ;7URIGKA1=k$)Au@%xCA{jb?2M{+Wwck)!1g zBv8?d5Ke)H0d{qe4FTzd?VU>Wq+*<#ET@eAVGCzj3kZikm<5>?c<$$1;0oMZeB zUllZSH4PK!VIKlsTD?A@j1l$rw%*4Bcr%-f+}z<{iMU3EGNrzZge9GC|+ z__={$C5vS0Um@``Yv2QHCLy*TY+u^XnWm5wajU2LD1yuo{9R{`Xb#&z3|};i;X85f zMK6I40o~L#H%iX=rDnMK=I2gf($BO=i|Wr&s>2$cOM8@Rd`JziSBOd^A5R!9J^;gQ z6vvcDH$I!OW2Y(}z_sN9c$iV_;ZE6y+@HmtQn%;z7rt%P-oyNe!&$zSXS5njFdh1| zqA|3TtR!#BCX~-5#T{JkP2g7|T#rLm(?mBk@Z9^F)k|UmI09H0>V@ew1#y$7T~D5N zl;sQu%AH5LMN=T?&m{6P&O$(aS^AyLxAp)jtXUV z2+4m=%8@rhBVXh^#Phe_B6#vNrQfbFUJ$NMtjK|%>*Sts(;pGZS-H#u>Q8@=!5%sU z*3vJlp{Z$?XHa;9G3q?C1XsS**f}#{6){?Km>w|%`&NfgL1k-QyB^H19ap2?q8Hy< ziav?&oSc^Kpk5&V+>4{<#@fE~bwjavNt$jC@?{vCMXLH$=u0jW_#MA(UCIfFGv^sG zI3$MJR5X!^?GdCNqDpia|5!z=Ebk@bHWH@drU%6f+<@4UY+5T4OpWJh{J&>rywqoL&k>~RP;UC*;dH_Z2$N#8AX z#5#aBT>7s3Qh&T`!dX(Q%0qX@+z*!5GZ=h-Q|9kpX}%+uYOTrIv_J8PYce!v*Ib<< z`?^@=5-$4jX?MSPIu-l-)i$9e)wij=cS~b^Q)vVZtSx%#&$yTK9GX+ivY{&R*Cg#zTYi&BVVRP0{jvJ=(4h zZ}~ENVzFSK72E>N#@$L z(qyx|I_lEL?2~d|z}>?`570?j?W$cA129NEaDCP*4B@Lxe&s_*Ns;bgJG_oaCYSKH z7H1`j;RhIlM`v;d=SyR`4Q8%8SRJHsR~o3N0+m2g5q)(HtQ<;Lf0CwCYIa;=>j|BK zjamFA?ohiO>@3w9^?%jm?S9m-`k~V9My3?W)Ud3m2H%`{!lXH@v^$OsHbMnU_Q6cY zO@HLURwFZ$ap;b11mdG8j&UxCsg$?XiVvXF&ph=feJUMRqf=Uft9@=Cx>wf2z!Ku|;ze#WQv3rUFURxd` zPa-(~gMng(>HF0irmI?Xj)gNG9v&l68E3|E%$`^=mCM5U`=;&^RjNPh1QUh)WwxOf zT%5W<%YF8Y5&kl&0%*UF-9g*GgzE*1yA6Ao&C?u`JAnh#puba^HNT*sD@^K6V#B11 zTOzTjNEgr&B@o+3DZ*(QPg~u+VwVbCVosI#8wM0VwbP_WJ)BFJTBRD)=tH2XG&)Kh ztP_?A*E*kCq4>La1MBp>WSPvVS@UT4E0)VW5B@X?_QkqRa0VbdSxc8( zT6+A}0;9oXRGL{&>G<2*%}q^rzzB7Y@{7t$mPo6MUq0!XXN2XZ3BEv!ZvZ-yof7C| zk%7n)b6jD=!h2FS;Nx0fW@UZ)^yx{?%1p?0G}^w1#4Q74#Vt2CAHP}5JHdLZD)Kh& zk^FaH+?HM9)lY@8*P0{QNt*p$RhLdSmW)6CC5Ze`%-$@hPyhPWg52XYe&-hN4(k+jRS$QpYY6NwT&?YD?(^^cqpYa2~EIDsq zoB+GVPPhDyXC;AX!&;BOWR^xcv+_^?*Llf#LJ{Ya)dYPW#k+jn7-$G<^7{rk--{j``^;lnLyS`h}LofkY-?WSL9wSFnTNC;jwVEFak zAbVMW!((D}{g;IJ%Nve$wWq`#^2~#2T1P=v=mXP6mwW?}c?u<0Lqp>^z=tb-j{i{G(`BjS`U#waadZk@VBQ zy^>PBkPlOttOZ@ZRCuAGCtqOMo&B$I77@9i0>otmq!09#dA`;+tcs`suV?RaPML*K z%xA&_3?R{>n##)X%9&@%U9O4L2D7tPecMIj^SL4e%n}i;-+&Ds5=t2;&0B;nL#fWGeA_aTcjk~KlnmQD;wKW_ssCI6I{Wl4jsctSTC14*IDEQGF+pjNw_=+Y2L z>uw8W0=c4HrIf|XkE*yJv;{e=AR!hfjdP|SD_Wt#WGQiFG!7dIgFT^iKZOPl@<+_g zGVC1Ouv+u<0v-N1i!#S~H>5GWD6IW&d6T=1|8Nz$q*0Y|AcmT>HX>|H8T?Pug^nhR zGIsZU+L;k;AKw*oOuCGzcjiz3`HbU17Sndwz5lXd{L|l~hoj@>c=q;=T833nDJ!dA zPQXjZT++H^!9qV-sAOm!6Oi_>O547d*UK7k+?MHtKPrs?bKno4^g0zUF*bSVi3~yX zA=Pa7{~6_G6#fmeGAl{%ms(!7f2uOoEZ1fpbqY>Yl@Mv_I2Ro=|N*SYD4w^ zoI(E7w%yw~6&^K_g#pvz+&}(wthYKNWj@;G>`bt*^U`j17wBuXGlbqrAF}>vzs)4h zgrD$yZwh;0i=(N8(Gc}mmqD4;165@FMD^#I_4PFKlxA^rqVSS0y?T_Ibu;h&cp}M< zmLE~?_-19#IOr720oy)e%DlApUW(hR1=~6nUy%gKg2QURfvRxogjL6wF~rFgvnsL> z8SYOz+1;{oEC{)u8CqE*Mw=eTbCkMAqqG^gMr}+Fpx-4A>8}6IPr6gZ9+qch!>#lK zs%Sk3|I3NKU;WaiV&$_Z%Zfo|L0jCMC?u@XK*QLtr_@vWNU$Vn_a4m}mNmwKGSG$z zvV*lPX3l!d@IB<{>pl_p_%IE=QmftSgcV`oRBy0aG@`U;poeoJK0scYJ zNa0wXAD7-wEWlp)G`G6Lkw46nDalIH%-eurO&dz%kTzU=kgG^P@N47%N1rmiAn;(wP>45Bm(P9s>($a-%N41kZ_aU>r8g#Fwdo1^_LY7 zwirsF7fofI@ih)PR=~$zGE>ZN{S(Ko2eQJ?RXf#xXZjp(yhVh{viH^EIC)gM@ln#z z#eC}@UsmZ(n(x$!Tem_*q_`4XJk>j_Lb#V|?uASZH=d;00O6P&&4HP(cn4Txh0nZ~ zkc>zuXyoE^*_6rCuX8OWb{1!O7_cq<>UyOx#xY)nwo6zWYR1|l8|7tEJCY8&ZY$m} z=WVdCRTNLP|BM?cKVUHHH1$(&Uv^0!g=JMZBGspiacv;uN@mPmx9Hut;g?wyICV=_ z1oABjwnp(1vj{$NXEUb7jz51Pw@}oH$G@@0O`2rNR#=`5t6}S=Y>2dkGA`4uV0i*X z2RSZx_#4LU`|A$cB_4k0sDKK~pL`|M&+v64*2&@iGa|!7KUhqpbz^)XB>I8C92`&W-TM?8n@I@ zxKXDD$_LidO1(BlY2Mk1@GJD-=6$r1v%kF3i^?FUzARo{SpCAZ$vNe>){nnLZ9kwz zLpoJL&`Ll+fx`by>v)=Hi@#F;a-&*Vib}|n>{vWYqjcFV&%lV1D5s$CJV2Wm8qaRQ z+!sF76+-toD+_oZQIW66k0-ZP{2H^TB`ZuMm?;rEww+<_Eqr+9Z|C7KrrF4PrTyaK z=$5U4F?nTR8i$S-*X4Gd^bkr3;B)m#Xn;7INVWP?dlu5_zCA-J^N+;o_9WJQe-qaQ zA^@_Yuu~&=dMmB?fF?REw_zz$xX^Z44M%f>-Rp%RixhWbn6|I8%6Zs}@?L2|+fNj0 zI`axU7E(8==yfOM;>O7wsxj{)nh%cA(54>;VgYF)q4~pt1C!`zlgV-91~%nEr%;Vq zM_xBcgawuq=}D`ze49IKN-9F~zr!cy;-$u@aa{0nMHi(a8z>>0Mz>Kbh99Y-kuR&t zHPjxCiSH(N_ht+WIc_FWp2^>huQL-D$y(-gJ2p^rN1*C}t)nmujnkKJc&!?q2IjEl zqj5hcN5@`(kbcw8=>@Kr^ITll(&A(Fius|}&$Lci1$q}Y)x(zZ*ixH)I5{$H$(M!E zc^?)$zjhH2-KspR@EW-dAW;x_Dg@y+ur8?r!g4@xJa|0rp&o&y9c5}45dU4`+%c|+ zz{`k?zscc?Zah;TrP=0?)+vLF>vy*N4nN%I0O~G(;K?jA-EGLJGC5lB&9=Ue-h!k1 zN{UpHs&BomuzC-;XwFBHh&jq_v=QW7Bnq`7(|9uJf%D6HY zFMzJcIJQ=%>sg>RG_ug3t!BE|h0;HTob5R+u`hwZalTqA^DPO3v5Q6fn|ChN z!${zU83;A+p@N92(Y=aML;v-N!$0+n$r>5Q>>VvgB5JcPfIU*#sbf{c-l|dU|6TqR z#65tfJ-Su^4%5( z_ZdDVWjWb48EEb}*${#vonH%nI7i{9^$82#vH3)6Vt(?etu}qfcHtoY)lSr1zYuV3 z=G%a2`&zO%58M6y?Owfq@w3BXzSQlKf4NQvG#+ys*0*ka7D*?Ekc%-ELZF5eR$pqi z4qF`7a_43X$_Nji?zitPe96KE;f$mVgnW#CQl2fd?Z8FtQG@X91`m}0CJ#JEP_8KU z8D*OLGf2}@g@5jkUIpk7-Ymv^tjU$m8RBf!Ax7okmMcbu$Syn%fdehnjH0iV!vosE z{Y}ny)h{asxZXKvip|I@eG|l=G5!h|mlz;}lFjFy4;`B1yi>F-F6}$CFGs z1oJ9!1tGg7rt&1nXaB+Ahaa>jIvSD}U}i!ccukJ#8e+jBlIwxlZ(L-Jd5c}(w?+PV zr~pGU%50tUfxoMRG{TX!$*zP&gbgiOMcj;L{{zObH-lz=UYehbxy5o&1eRqt?`fBc zdsXH4w{S5vng7ne$;|Ln*J~aD3|w1|Z?=cuZid~)?!t=qHsS1-M;CSe+=;w`d9L++ zU;66upw?tC=S#NgSGy^8U*^%lZ-bjCyZtt)*`tR`qd!LX+eYmxV?03!5?~>~UNS#6 zmbQ~p|5EjyxL%G?sWzBQ?`VT^F&ezpXHek!JgA$OrMX!1nXg!#Z^>J8>+~}t@J+$sxS}W^Hy>({&~WCAhL75NidZ-mOe>W z%V51)TyfPa)a66!+^RMIyUhfrXPuX}PnA3q3j-i{Qjp5QgrL$+^#^a+6=(~ly7RoD#0OxB2NmU*Wp^A~^-)|| zPtF&4S`8qOo)-$)HDitj;=D28SYir95Ck(PQ7Wg9`3|3u&UWC};s1bBaI{`JGHBip zGH%lBR6|F5-aS<)H+yK=>8!XB8Tp3CI-s)~PC6)ZzL?MIl6?0eY4iQv&iaLT=&AX8 zetD*HH~aR~dWNN0SstuONoaUkA;XkFJFFF4dT3oO&_Gx-2x>~2@r>HruT5*HaqAkn z#o&nhei>Y83bKS5F3DTu$a#hCBTFoNRez+|4o}|MW6N!=7}&w5n{ z;WIctUPIPugk^5N9ok2(GkpPJS-6!+IuT)5>4azE_FVd7qFIoQbT2WpJ;oe^Q z_&?82fR^Q7ohvGr(dpbWe|CC>bGl=zc4Ytc7~S1Axsnr~(pb?Wo!Y${?4*$LQ^U=s z04$i_Kor+ime(8J!^uNWp1Ic=hCzs8Kyoo$;_~TmJ@v3_qor!UC0ydg!R|)A7Hu%i zHYalj`w1SP1_28SRkii`lh}`56=v1gz`>ctuCFNmZhRp7T!cI#h`vivj^yRi6 z+LS~w<&jKq*`=X>-+BU1WJ_UyV12>@Wz^gUK}6)j=rC_#hj3OywZ)e=k`7x~{7Vk| zDqKo=jyE5@qy08n6!&NJXBE=)bgbGttCo6Q&XBNAJGXWiyw*<0wgfdK=8M0EUP8$F zKZwSX*U-#!{lz9ZNj|zV-!C(2Dux;L5`fr8Z3e@k|4o;DUK#;UwBb5;H(_t)>>0xUk>H8R$=6ZUCnslQ)k^rIhQQpwt(k?J=R5*P&N>Pvr=6a}@th3&WlmZDaA$ zye@(pFmg$2CkNp%h5Ia`Iq~(siE#S}N{y*S-e52s2 zWI{y4q=sfDAi6?XMsd@zWt+u^df6ua6;`}xxRBL}{Chk1rZc`VD7_7Swi3MV7VkP%^kslWN#P9?}KuV1@i zVN9WQ0^cKd=TIiE@XwFUQK|nIw^J=DzX*ABr3I+e}8-lp7vC z|Cr?n{Btz^X)A+HduWtMRv^l7zNbFqkgpxGQG=72TGZvBD~eQ1NQOO<#6Du<@HYAEb@F zq2B{j^9os5{uB-$9UL06zXABGoGdl0W?j==?o*lJ&z1RHUk(9_-?0@}yd;Tt&v0~C z?>OY8vewhbXJ|^ZDY^rsoB;#^DLm3YGVcdfO9EU@m zs5#bVYeJ&HXctAoD`+b~(~D`w{1K~SfDJ=PE)&x96C8CYgV-Mo;V^NA(ZbQlNBJBl zSELk~Kh&1AP|(yCc_Q3ix2U4omT?Tf=QP$fLbt#2lk?GJ3LOQ_!>RcL2uo@Nl^##h zi(gPYT5ECNTc03tb&chH7r(uD;y0pCm7j?#;;Lj_IhxkC)?E;`svm}!B(ER#bkWCv~vgt{$^r%GKAf*(Qv+COdn$i4C> z5#!3JFgt?$G|;9T^V!{^pciLG$57Vir>pNRZb-gvo#TypX2^E7o4yP3tzPQX{3*Pi|^pgF^IIrS$W+Y=lMi!*JZu+QJuJ3S6HPi*IRJtCj0RsSUfU98q= zhH;i!SQqr4usWj}Sq94S!kJy2)ZItNszgA9F8~M@_-sMi8_7qp3S!B{#nla#ZdBbH z%Q7$p?Ocdg?E$!Nw3Hip<{`C1D9R$ztG!u#8!n5&|+7 z5PAy2NP5N}a?v6#?W997JqzRnFY|agWp8m2egAA41L2aFp8H{}I?)G`^{lFf87G%Q zAoPN8D#nX>Tv&&7r=T8_!DLSdFd-2PTdz{_?l1j1#b|E=$MT7%h;?&}a_@L1De78Q zW=GnOaQ~Ilux+@;KoDDwC@!It<-4)br(q(Qs1oNn^*+L~6NdZMN6P}~-s?CflkO@@ z&af<5YSMmP-{wtP@0gDMJeoEF#xSYFnU?47%kuZPDIj#HQNjHMHhI50Rp2IrN*XjMWc=iYV z%X^)OF5?#|Dg%$*AC9+n{X$<2wl`3?NlSaii4GMmbK#E3;@VOa{;54JRT%UK-4wx@ z-?J{Jl*%VS$hOd%U9VLwbgj=U2ku&HcE;ebEGxv{-st`cl$kOGWFRA6li_7RIBSvS zw#%seFS*<$#3JHL@b$H-@PVu>u>NqW?ne;7kGdSqfb)11qO;NT<{c zUWIw;G;cg>af_u5nwtcmuhqmIO;e21`C4_~FcsaRH4TXfK8Ruq4KaA7uqEvbcdV`_ zX=t4=Ps4Ck_Iors3Hu4o)laeZ0XHIs&7$0D#;xw12O6peh?0OaxTjbjFoQ~2$Dx$Z z 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 G2mcFfQADc% diff --git a/examples/TextDetection/icon.png b/examples/TextDetection/icon.png deleted file mode 100644 index 42dbd76527a0dbe429f308f7cb6f0bcb29752e6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3659 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 diff --git a/examples/TextDetection/labels/Part Id/Part Id.json b/examples/TextDetection/labels/Part Id/Part Id.json deleted file mode 100644 index 94db8f8..0000000 --- a/examples/TextDetection/labels/Part Id/Part Id.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "content": { - "value_element": { - "iso_3d_label_show_results": "False", - "iso_3d_label_show_tendency_markers": "False", - "iso_3d_label_use": "False", - "label_background": "gom.Color (0, 0, 0, 0)", - "label_border_color": "gom.Color (0, 0, 0, 255)", - "label_border_mode": "'none'", - "label_connector_line_width": "'small'", - "label_font": "gom.Font ('gom_system_label_font', 0.0, 0)", - "label_grouping_enabled": "True", - "label_grouping_skipped_header_lines": "0", - "label_text": "'\\n\\n\\n\\n\\n\\n
\\n

$icon(explorer_type_and_state)$

\\n

$format (name, \"+1\", show_unit=false)$

\\n

$format (ude_text, \"\", show_unit=false, date_format=\\'dd.MM.yyyy\\')$

'", - "label_version": "1" - } - }, - "name": "Part Id", - "overwrites": "00000000-0000-0000-0000-000000000000", - "sort_index": 2147483647, - "uuid": "16e4c736-f2a8-44aa-9e56-538e689b1738" -} diff --git a/examples/TextDetection/license/license.txt b/examples/TextDetection/license/license.txt deleted file mode 100644 index bb42913..0000000 --- a/examples/TextDetection/license/license.txt +++ /dev/null @@ -1,296 +0,0 @@ -ZEISS Add-Ons / Apps End User License Agreement (EULA) -====================================================== - -English version. See below for German version. -Englische Version. Siehe unten für die Deutsche Version. - -1. Introduction - -1.1 General information - -This End User License Agreement for Add-Ons / Apps ("EULA Add-Ons / Apps") is a legal agreement between "you" (either an individual or a legal entity, hereinafter referred to as "licensee" or "customer") and ZEISS ("ZEISS" or "licensor") (each individually a "party" and collectively the "parties") for your use of ZEISS software products. The agreement sets forth all rights and obligations for both licensee and ZEISS and governs your use of all Software Products installed or provided by ZEISS. Any amendment to this agreement must be in writing and in accordance with the terms and conditions contained herein. By paying the applicable license fee(s) and by downloading, installing or using the software, you agree that this agreement shall be enforceable against you in the same manner as a written, negotiated contract signed by you. If you do not agree to the terms of this agreement, you are not authorized and may not download, install or use any ZEISS software products. - -In order to use the ZEISS software products and services, the licensee must have the following: - -(a) a so-called valid subscription agreement or - -(b) a valid license from ZEISS. - -Furthermore, individual software products - -(a) which are based on a subscription agreement and / or - -(b) with a server-based licensing solution - -require and use a secure connection of the application computer to the ZEISS infrastructure and/or the "Cloud Services". - -1.2 The licensor is ZEISS, the licensee is the end customer. The licensor grants the licensee a non-exclusive, non-transferable right to use the "software product", which includes the specific software program and the subsequent extensions, updates, patches and associated documentation for internal company operation, as well as the associated manuals and software documentation. - -1.3 The software product may contain codes, objects and other intellectual property developed and licensed by licensors or third parties and integrated into the software product ("embedded third party software"). Any embedded third party software or open source code and open source licenses used shall not limit or impair the rights of use granted to licensee and may be accessed at any time within the respective software used. In individual cases, the respective license conditions can be made available by the licensor upon request at any time. - -1.4 Any terms and conditions of purchase of the licensee that conflict with or deviate from this agreement shall not become part of the agreement, even if the licensor does not expressly object to them. Amendments to the EULA must be expressly agreed in writing by both parties. - - -2. Term and termination / license fees - -2.1 The license agreement begins with license activation and ends with the period of use of the Pro Version or with the end of the payment period. - -2.2 The Licensor shall be entitled to terminate this license agreement and the corresponding rights of use with immediate effect if the licensee violates any provision of this license agreement or tacitly tolerates a violation of this license agreement by third parties or fails to fulfill its obligations under this license agreement or if the licensee files for insolvency or a change of control occurs at the licensee. - -2.3 Notwithstanding the foregoing, and unless otherwise agreed in this license agreement, this license agreement shall terminate automatically upon licensee's breach of any of its provisions. - -2.4 Under no circumstances shall license fees be fully or partially refundable upon termination or mutually agreed termination of this agreement, unless ZEISS is responsible for the early termination of this agreement. - - -3. Reproduction rights - -3.1 The licensee may reproduce the delivered software to the extent that the reproduction is necessary to use the software. Necessary reproductions of the software include, but are not limited to, the installation of the software product on the mass storage of the device in accordance with this license agreement and the loading of the software into the main memory of the computer. - -3.2 In addition, licensee shall be entitled to make copies for data backup purposes. This backup copy of the licensed software product must be marked as such. - -3.3 If, for reasons of data security or backup, a quick reactivation of the computer system, including the subject matter of the agreement, and the backup of the entire data stock, including the installed software product, are required after a total failure, licensee may create the maximum required number of backup copies. The data media concerned shall be appropriately marked. The backup copies may only be used for archiving purposes. - -3.4 The licensee is not entitled to make further copies or to instruct third parties to make further copies, in particular the licensee is not entitled to print out the program code with a printer or to make photocopies of the manual. - - -4. Resale and transfer - -4.1 The licensee is not entitled to rent, lease, lend or make the software product available to third parties within the scope of hosting or download options, unless the Licensor has expressly indicated or permitted this in writing. - -4.2 However, it is permitted to grant a right of use to third parties if they have to use the software product to the licensee’s specifications (like own employees). Independent third parties are excluded from use in any case. - -4.3 Transfer within legal entities or global groups of licensee: Provided that the transferring licensee and the receiving party are part of one legal entity or part of affiliated companies, the transfer is permitted provided that the receiving party agrees to these license terms. "Affiliate" means any legal entity that is directly or indirectly controlled by a Legal Entity or its parent company. "Control" for purposes of this license agreement means direct or indirect ownership of more than fifty percent (50%) of the stock of such entity or more than fifty percent (50%) direct or indirect participation in the decision-making body of such entity. - - -5. Back translation and program changes - -5.1 As a matter of principle, the licensee may not make any changes to the software product unless this is necessary to correct errors. The prerequisite is that this is done solely for the purpose of correcting errors that impair the functioning of the software. -In the latter case and if important program functions and working methods could be disclosed during the repair process, licensee may commission a commercially active third party to carry out the repair if this third party is not a potential competitor of licensor. -Insofar as the licensee makes changes to the software product in order to rectify errors, the licensor shall not assume any liability for the resulting consequences, in particular not through this authorization. - -5.2 The reverse translation of the licensed program code into other code forms (decompilation) and other types of reverse engineering of various different phases of software creation are permitted only to the extent that they serve to correct errors that impair the functioning of the software (in accordance with section 5.1). However, licensee may perform such decompilation only to the extent necessary for correction and, if applicable, in compliance with the terms and conditions contractually agreed with the owner of the copyright in this program. -Further, decompilation is permitted in cases to obtain information necessary for interoperability with an independently created computer program and only if such information cannot be obtained otherwise. - -5.3 A further prerequisite for the permission to reverse engineer is the performance of reverse engineering or program observation exclusively by means of procedures which the licensee is authorized to perform in accordance with this license agreement. In particular, the program code may in no case be printed out. - -5.4 All property rights and copyrights relating to the software product, the printed accompanying materials and all copies of the software product shall remain with the licensor or its suppliers. This software product is protected under German copyright law, U.S. copyright law and the provisions of international treaties. The licensee is not entitled to reproduce the printed materials accompanying the software. - - -5.5 The licensee shall not be entitled to remove, modify or add to any copyright notices or trademark notices placed by licensor. This includes, without limitation, all references in physical and/or electronic media or documents, in "setup wizards" or in "about..." dialog boxes, and/or in other references displayed on or activated via the Internet, in program code or other embodiments originally included in the software or otherwise created by licensor. - -6. Warranty and right of termination - -6.1 The licensor warrants with respect to the software product licensed to the licensee the performance set forth in the description, provided that the software product is installed in the intended system in compliance with the licensor's guidelines. - -6.2 The licensor shall correct errors in the software product, and in all manuals and other documents, within a reasonable period of time after receiving from the licensee the corresponding information on the error necessary to correct the error. Errors shall be remedied by rectification, which shall not be invoiced, or by replacement of the delivery, at the option of the licensor. - -6.3 The licensee's right of termination due to the non-executability of the software product may only be exercised after rectifications or replacements have been made twice without success. - -6.4 The licensor neither warrants nor guarantees the functionality of the programs created by third parties or the licensee / customer, nor the error-free execution of the programs with the software or on the licensor's systems. - - -7. Liability - -7.1 If the licensee is unable to use the software product in the manner specified in the agreement and the licensee is responsible for this due to the failure to implement or the incorrect implementation of suggestions and advice before or after signing the agreement or due to the breach of other contractual obligations, the provisions set forth in this agreement shall apply mutatis mutandis to the exclusion of any further claims by the licensee. - -For damages that do not occur to the software product, respectively not to the hardware and the connected device, the liability obligation of the licensor applies exclusively in the following cases, regardless of the respective legal ground: - -- willful misconduct, - -- gross negligence of its executive bodies or officers, - -- culpable damage to life, limb and health, in the event of errors, which the lLicensor has fraudulently concealed or which it has excluded under warranty, - -- software errors within the scope of liability for personal injury and property damage due to personally implemented objects, as set out in the product liability regulations applicable to them - -7.2 In the event of culpable breach of material contractual obligations, the licensor shall also be liable for gross negligence on the part of non-executive employees and for slight negligence. In the latter case, liability shall be limited to damages that are foreseeable and typical for this type of contract. - -7.3 In addition, the licensor, its employees and its vicarious agents shall be liable for data loss or changes due to program errors, limited to the extent that this would have been unavoidable if the licensee had complied with its obligation to make back-up copies regularly and at least once a day. - -7.4 In the event of claims based on copyright infringement, the licensor shall grant the licensee the right to continue using the software product or to make modifications to the software product so that copyright protection is ensured. If this is not commercially reasonable, the licensor shall take back the subject matter of the agreement and refund the license fee paid, less an amount corresponding to the duration of the previous use. This shall apply provided that the licensee notifies the licensor of this type of claim in writing without delay and allows licensor all legal remedies and out-of-court settlements. - -7.5 The licensee or its IT provider shall be liable for server interruptions, interruption of license allocation and other support cases that are not clearly attributable to an incorrectly created license. - -The licensee or its IT provider is responsible for maintaining the necessary number of licenses to provide its services. The licensor is not liable for interruptions in use and subsequent work / production stoppages. - - -7.6 Further liability claims of the licensee are expressly excluded. -7.7 The licensee is responsible for all problems arising from the use of the software product that are not directly caused by the licensor. Therefore, licensee is responsible for all data generated and produced during the use of the software product. Accordingly, licensee is obligated and responsible for compliance with the terms and conditions set forth in this license agreement. - - -8. Security measures - -The licensee shall take suitable measures to secure the software and, if applicable, the access data for online access against access by unauthorized third parties. In particular, all copies of the software as well as the access data shall be kept in a protected place. - - -9. Industrial property rights and copyrights - -9.1 If a third party asserts claims for infringement of an industrial property right or a copyright against the customer because the customer uses a software version, firmware supplement or associated documentation supplied by ZEISS, ZEISS shall be obligated to pay any cost and damage compensation amounts awarded to the owner of the property right by a court or awarded with the prior consent of ZEISS. This is subject to the condition that the customer informs ZEISS immediately in writing of such claims and that ZEISS reserves the right to all defensive measures and out-of-court settlements. The customer is obligated to support ZEISS in the defense to the best of its ability. Under these conditions, ZEISS shall generally procure for the customer the right to continue using the software version, firmware supplement or documentation. If this should not be possible under economically reasonable conditions, ZEISS shall be obligated, at its own discretion and at its own expense, either to modify or replace the relevant item in such a way that the property right is not infringed, or to take back the item and refund the remuneration paid for it less an amount taking into account the benefits derived. - -9.2 ZEISS shall have no obligations if property right infringements are caused by the fact that software versions , firmware supplements or documentation supplied by ZEISS are not used in the intended manner or are not used on the specific systems. - - -10. Export Control - -Licensee assumes responsibility for compliance with all applicable rules and regulations, including but not limited to the export control and sanctions regulations of the Federal Republic of Germany, the European Union and the United States of America. In particular, licensee agrees not to provide the software or any related technology or documentation or any part thereof, directly or indirectly, to any sanctioned country or to any sanctioned person or entity in violation of the foregoing. - -Licensee represents and guarantees that it will not use the software or any related technology or documentation or any portion thereof in violation of any applicable law or regulation. The licensee further agrees to indemnify and hold harmless licensor from and against any and all claims resulting from licensee's failure to comply with any of the foregoing applicable provisions. - - -11. Miscellaneous - -11.1 All verbal agreements, amendments, extensions or concretizations of these license conditions as well as the special characteristics of the assurances or agreements or arrangements made must be in writing to be legally effective. If these are drafted by representatives or vicarious agents of the Licensor, they shall only become legally binding upon approval by the Licensor. - -11.2 Should parts of this contract become invalid, this shall not affect the validity of the remaining parts of this contract. The ineffective part of this contract shall be replaced by its parties with legally permissible provisions that come as close as possible to the intention of the ineffective provisions. - -11.3 The laws of the Federal Republic of Germany shall apply to this contract, excluding the law on the international sale of goods and the rules of conflict of laws. - -Version from October 2023 - ------------------------------------------------------------------------------ - -ZEISS Add-Ons / Apps End User License Agreement (EULA) -====================================================== - -German version. See above for English version. -Deutsche Version. Siehe oben für die Englische Version. - -1. Einführung - -1.1 Allgemeine Informationen - -Diese Endbenutzer-Lizenzvereinbarung für Add-Ons / Apps (End User License Agreement, „EULA Add-Ons / Apps“) ist eine rechtsgültige Vereinbarung zwischen „Ihnen“ (entweder eine natürliche oder juristische Person, im Folgenden als „Lizenznehmer“ oder „Kunde“ bezeichnet) und ZEISS („ZEISS“ oder „Lizenzgeber“) (jeweils einzeln eine „Partei“ und zusammen die „Parteien“) für Ihre Nutzung von ZEISS Softwareprodukten. Die Vereinbarung legt alle Rechte und Pflichten sowohl für den Lizenznehmer als auch für ZEISS fest und regelt Ihre Nutzung aller Softwareprodukte, die von ZEISS installiert oder zur Verfügung gestellt werden. Jede Änderung dieser Vereinbarung muss schriftlich erfolgen und mit den hierin enthaltenen Bestimmungen und Bedingungen übereinstimmen. Durch die Zahlung der geltenden Lizenzgebühr(en) und durch das Herunterladen, die Installation oder die Nutzung der Software erklären Sie sich damit einverstanden, dass diese Vereinbarung Ihnen gegenüber gleichermaßen durchsetzbar ist wie ein schriftlicher, ausgehandelter und von Ihnen unterzeichneter Vertrag. Wenn Sie den Bedingungen dieser Vereinbarung nicht zustimmen, sind Sie nicht berechtigt und dürfen keine ZEISS Softwareprodukte herunterladen, installieren oder verwenden. - -Für die Nutzung der ZEISS Softwareprodukte und Leistungen muss der Lizenznehmer über Folgendes verfügen: - -(a) einen sog. gültigen Subscriptionvertrag oder - -(b) eine gültige Lizenz von ZEISS. - -Ferner erfordern und verwenden einzelne Softwareprodukte - -(a) die auf einem Subscriptionvertrag basieren und / oder - -(b) mit einer serverbasierten Lizenzlösung - -eine sichere Verbindung des Applikationsrechners mit der ZEISS Infrastruktur und / oder den „Cloud Services“. - -1.2 Lizenzgeber ist ZEISS Lizenznehmer ist der Endkunde. Der Lizenzgeber gewährt dem Lizenznehmer ein nicht ausschließliches, nicht übertragbares Nutzungsrecht für das „Softwareprodukt“, welches das spezielle Softwareprogramm und die damit nachfolgenden Erweiterungen, Updates, Patches und zugehörige Dokumentation für den unternehmensinternen Betrieb, wie auch die dazugehörigen Handbücher und Softwaredokumentation, einschließt. - -1.3 Das Softwareprodukt kann Codes, Objekte und anderes geistiges Eigentum enthalten, das von Lizenzgebern oder Dritter entwickelt und von diesen lizenziert und in das Softwareprodukt integriert wurde („Embedded Third Party Software“). Etwaig verwendete Embedded Third Party Software oder Open Source-Code und Open Source-Lizenzen beschränken oder beeinträchtigen die gewährten Nutzungsrechte des Lizenznehmers nicht und können jederzeit innerhalb der jeweils genutzten Software abgerufen werden. Im Einzelfall können die jeweiligen Lizenzbedingungen vom Lizenzgeber auf Anforderung jederzeit zur Verfügung gestellt werden. - -1.4 Entgegenstehende oder von dieser Vereinbarung abweichende Kaufbedingungen des Lizenznehmers werden nicht Vereinbarungsbestandteil, auch wenn der Lizenzgeber diesen nicht ausdrücklich widerspricht. Änderungen der EULA müssen schriftlich und ausdrücklich durch beide Parteien vereinbart werden. - - -2. Laufzeit und Kündigung / Lizenzgebühren - -2.1 Die Lizenzvereinbarung beginnt mit Lizenzaktivierung und endet mit der Nutzungsdauer der Pro Version oder mit dem Ende der Bezahldauer. - -2.2 Der Lizenzgeber ist berechtigt, diese Lizenzvereinbarung und die entsprechenden Nutzungsrechte mit sofortiger Wirkung zu kündigen, falls der Lizenznehmer eine Bestimmung dieser Lizenzvereinbarung verletzt oder eine Verletzung dieser Lizenzvereinbarung durch Dritte stillschweigend duldet oder seine Verpflichtungen aus dieser Lizenzvereinbarung nicht erfüllt oder falls der Lizenznehmer Insolvenz anmeldet oder bei dem Lizenznehmer ein Kontrollwechsel stattfindet. - -2.3 Ungeachtet der vorstehenden Bestimmungen und sofern in dieser Lizenzvereinbarung nicht anderweitig vereinbart, endet diese Lizenzvereinbarung automatisch bei Verletzung einer seiner Bestimmungen durch den Lizenznehmer. - -2.4 Unter keinen Umständen sind bei Kündigung oder einvernehmlicher Beendigung dieses Vertrages Lizenzgebühren vollständig oder teilweise erstattungsfähig, es sei denn ZEISS hat die vorzeitige Beendigung dieses Vertrages zu vertreten. - - -3. Vervielfältigungsrechte - -3.1 Der Lizenznehmer darf die gelieferte Software in dem Umfang vervielfältigen, in dem die Vervielfältigung zur Nutzung der Software erforderlich ist. Erforderliche Vervielfältigungen der Software sind unter anderem die Installation des Softwareprodukts auf dem Massenspeicher des Geräts gemäß diesem Lizenzvertrag und das Laden der Software in den Hauptspeicher des Computers. - -3.2 Außerdem ist der Lizenznehmer zur Anfertigung von Kopien zur Datensicherung berechtigt. Diese Sicherungskopie des lizenzierten Softwareprodukts muss als solche gekennzeichnet sein. - -3.3 Sind aus Gründen der Datensicherheit oder -sicherung nach einem Totalausfall eine schnelle Reaktivierung des Computersystems, des Vertragsgegenstands eingeschlossen, sowie die Sicherung des gesamten Datenbestands, des installierten Softwareprodukts eingeschlossen, erforderlich, so kann der Lizenznehmer die maximal erforderliche Anzahl an Sicherungskopien erstellen. Die betreffenden Datenmedien sind angemessen zu kennzeichnen. Die Sicherungskopien dürfen ausschließlich zu Archivierungszwecken genutzt werden. - -3.4 Der Lizenznehmer ist nicht berechtigt, weitere Kopien zu erstellen oder Dritte anzuweisen, weitere Kopien zu erstellen, insbesondere ist er nicht berechtigt, den Programmcode mit einem Drucker auszudrucken oder Fotokopien des Handbuchs zu erstellen. - - -4. Weiterverkauf und Übertragung - -4.1 Der Lizenznehmer ist nicht berechtigt, das Softwareprodukt Dritten im Rahmen von Hosting- oder Downloadoptionen zu vermieten, verleasen, verleihen oder zur Verfügung zu stellen, es sei denn, der Lizenzgeber hat dies ausdrücklich schriftlich angegeben oder erlaubt. - -4.2 Es ist jedoch gestattet, Dritten ein Nutzungsrecht einzuräumen, wenn diese das Softwareprodukt nach Maßgabe des Lizenznehmers (wie eigene Mitarbeiter) nutzen müssen. Von der Nutzung auf jeden Fall ausgeschlossen sind unabhängige Dritte. - -4.3 Übertragung innerhalb von Rechtspersonen oder globalen Konzernen des Lizenznehmers: Sofern der übertragende Lizenznehmer und die empfangende Partei Teil einer Rechtsperson oder Teil verbundener Unternehmen sind, ist die Übertragung gestattet, sofern die empfangende Partei diesen Lizenzbedingungen zustimmt. „Verbundene Unternehmen“ bedeutet jede Rechtsperson, die direkt oder indirekt von einer Rechtsperson oder deren Muttergesellschaft kontrolliert wird. „Kontrolle“ im Sinne dieses Lizenzvertrags bedeutet direkter oder indirekter Besitz von mehr als fünfzig Prozent (50 %) der Anteile an diesem Unternehmen oder mehr als fünfzig Prozent (50 %) direkter oder indirekter Beteiligung am Entscheidungsorgan dieses Unternehmens. - - -5. Rückübersetzung und Programmänderungen - -5.1 Der Lizenznehmer darf grundsätzlich keine Änderungen am Softwareprodukt vornehmen, außer wenn dies zur Behebung von Fehlern erforderlich ist. Voraussetzung ist, dass dies ausschließlich zum Zweck der Korrektur von Fehlern geschieht, die das Funktionieren der Software beeinträchtigen. -Im letzteren Fall und wenn beim Reparaturvorgang wichtige Programmfunktionen und Arbeitsmethoden offengelegt werden könnten, kann der Lizenznehmer einen gewerblich tätigen Dritten mit der Reparatur beauftragen, wenn dieser Dritte nicht ein potenzieller Wettbewerber des Lizenzgebers ist. -Soweit der Lizenznehmer zur Behebung von Fehlern Änderungen am Softwareprodukt vornimmt, übernimmt der Lizenzgeber, insb. auch nicht durch diese Freigabe, für die daraus resultierende Folgen keine Haftung. - -5.2 Die Rückübersetzung des lizenzierten Programmcodes in andere Codeformen (Dekompilierung) und andere Arten des Reverse Engineering verschiedener unterschiedlicher Phasen der Software-Erstellung sind nur insoweit zulässig, wie sie dazu dienen, Fehler zu korrigieren, die das Funktionieren der Software beeinträchtigen (entsprechend Ziffer 5.1). Der Lizenznehmer darf eine solche Dekompilierung jedoch nur in dem für die Berichtigung erforderlichen Ausmaß und gegebenenfalls unter Einhaltung der mit dem Inhaber des Urheberrechts an diesem Programm vertraglich festgelegten Bedingungen vornehmen. -Weiter ist eine Dekompilierung in Fällen zulässig, um Informationen zu gewinnen, die zur Interoperabilität mit einem unabhängig geschaffenen Computerprogramm erforderlich sind, und nur falls diese Informationen nicht anderweitig beschafft werden können. - -5.3 Weitere Voraussetzung für die Genehmigung zur Rückübersetzung ist die Durchführung des Reverse Engineering oder der Programmbeobachtung ausschließlich durch Verfahren, zu deren Ausführung der Lizenznehmer gemäß diesem Lizenzvertrag berechtigt ist. Insbesondere darf der Programmcode in keinem Fall ausgedruckt werden. 5.4 Alle Eigentums- und Urheberrechte in Bezug auf das Softwareprodukt, die gedruckten Begleitmaterialien und sämtliche Kopien des Softwareprodukts verbleiben beim Lizenzgeber oder seinen Lieferanten. Das vorliegende Softwareprodukt ist nach deutschem Urheberrecht, US-amerikanischem Urheberrecht und den Bestimmungen internationaler Verträge geschützt. Der Lizenznehmer ist nicht berechtigt, die der Software beiliegenden gedruckten Materialien zu vervielfältigen. - -5.5 Der Lizenznehmer ist nicht berechtigt, Hinweise zum Urheberrecht oder Markennennungen, die der Lizenzgeber angebracht hat, zu entfernen, zu ändern oder zu ergänzen. Dies beinhaltet ohne Einschränkungen alle Verweise in physischen und / oder elektronischen Medien oder Dokumenten, in „Setup-Assistenten" oder in den Dialogfeldern „Über...“ und / oder in anderen Verweisen, die im Internet dargestellt oder über das Internet aktiviert werden, im Programmcode oder anderen Ausführungsformen, die ursprünglich in der Software enthalten waren oder anderweitig vom Lizenzgeber erstellt wurden. - - -6. Gewährleistung und Kündigungsrecht - -6.1 Der Lizenzgeber gewährleistet in Bezug auf das für den Lizenznehmer lizenzierte Softwareprodukt die in der Beschreibung festgelegte Leistung, insofern das Softwareprodukt in dem vorgesehenen System unter Einhaltung der Richtlinien des Lizenzgebers installiert wird. - -6.2 Der Lizenzgeber beseitigt Fehler an dem Softwareprodukt, und in allen Handbüchern sowie anderen Dokumenten, innerhalb einer angemessenen Frist nach Erhalt der zur Fehlerbeseitigung notwendigen entsprechender Angaben vom zum Fehler Lizenznehmer. Fehler werden durch Nachbesserungen, die nicht in Rechnung gestellt werden, oder durch Ersatz der Lieferung, nach Wahl des Lizenzgebers, behoben. - -6.3 Das Kündigungsrecht des Lizenznehmers aufgrund der Nichtausführbarkeit des Softwareprodukts kann erst ausgeübt werden, wenn Nachbesserungen bzw. Ersatz zweimal erfolglos erfolgt sind. - -6.4 Der Lizenzgeber gibt weder eine Garantie noch eine Gewährleistung für die Funktionalität der von Drittanbietern oder dem Lizenznehmer / Kunden erstellten Programme, ebenso wenig wie auf das fehlerfreie Ausführen der Programme mit der Software oder auf den Systemen des Lizenzgebers. - - -7. Haftung - -7.1 Falls der Lizenznehmer das Softwareprodukt nicht auf die vertraglich festgelegte Weise nutzen kann und der Lizenznehmer dies aufgrund der unterlassenen oder falschen Umsetzung von Vorschlägen und Ratschlägen vor oder nach der Unterzeichnung des Vertrages oder aufgrund der Verletzung sonstiger vertraglicher Pflichten zu vertreten hat, so gelten unter Ausschluss weiterer Ansprüche des Lizenznehmers entsprechend die in diesem Vertrag dargelegten Regelungen. - -Für Schäden, die nicht am Softwareprodukt, beziehungsweise nicht an der Hardware und dem angeschlossenen Gerät entstehen, gilt die Haftungsverpflichtung des Lizenzgebers ausschließlich in den folgenden Fällen, unabhängig vom jeweiligen Rechtsgrund: - -- vorsätzliches Fehlverhalten, - -- grobe Fahrlässigkeit seiner ausführenden Organe oder leitenden Angestellten, - -- schuldhaft herbeigeführter Schaden des Lebens, des Körpers und der Gesundheit, bei Fehlern, die der Lizenzgeber arglistig verschwiegen, oder die er unter Gewährleistung ausgeschlossen hat, - -- Softwarefehler im Rahmen der Haftung bei Personen- und Sachschäden aufgrund persönlich implementierter Objekte, wie in den dafür zutreffenden Produkthaftungsregelungen dargelegt - -7.2 Bei schuldhafter Verletzung wesentlicher Vertragspflichten haftet der Lizenzgeber auch bei grober Fahrlässigkeit seitens nichtleitender Angestellter und bei leichter Fahrlässigkeit. Im letzteren Fall ist die Haftung auf Schäden begrenzt, die vorhersehbar und typisch für diese Art von Vertrag sind. - -7.3 Außerdem haften der Lizenzgeber, seine Mitarbeiter und seine Erfüllungsgehilfen für Datenverlust oder -änderungen aufgrund von Programmfehlern, beschränkt auf den Umfang, in dem dies unvermeidbar gewesen wäre, wenn der Lizenznehmer seiner Verpflichtung, regelmäßig und mindestens einmal täglich Sicherungskopien zu erstellen, nachgekommen wäre. - -7.4 Bei Ansprüchen aufgrund von Urheberrechtsverletzungen gewährt der Lizenzgeber dem Lizenznehmer das Recht zur weiteren Nutzung des Softwareprodukts oder zur Vornahme von Änderungen am Softwareprodukt, so dass der Schutz der Urheberrechte gewährleistet ist. Wenn dies nicht wirtschaftlich sinnvoll ist, so nimmt der Lizenzgeber den Vertragsgegenstand zurück und erstattet die gezahlte Lizenzgebühr, abzüglich eines der Dauer der vorherigen Nutzung entsprechenden Betrags. Dies gilt unter der Voraussetzung, dass der Lizenznehmer dem Lizenzgeber diese Art der Ansprüche unverzüglich schriftlich mitteilt und dem Lizenzgeber alle Rechtsmittel und außergerichtlichen Regelungen gestattet. - -7.5 Für Serverunterbrechungen, Unterbrechung der Lizenzzuteilung und sonstige Support-Fälle, die nicht eindeutig auf eine fehlerhaft erstellte Lizenz zurückzuführen sind, haftet der Lizenznehmer bzw. dessen IT-Provider.. -Der Lizenznehmer oder dessen IT-Provider ist verantwortlich für die Vorhaltung der notwendigen Anzahl an Lizenzen zur Erbringung seiner Leistungen. Der Lizenzgeber haftet nicht für Nutzungsunterbrechungen und nachfolgende Arbeits- / Produktionsausfälle. - -7.6 Weitergehende Haftungsansprüche des Lizenznehmers sind ausdrücklich ausgeschlossen. - -7.7 Der Lizenznehmer ist für alle aus der Nutzung des Softwareprodukts entstehenden Probleme verantwortlich, die nicht direkt durch den Lizenzgeber verursacht werden. Daher ist der Lizenznehmer für alle Daten verantwortlich, die bei der Nutzung des Softwareprodukts erzeugt und hergestellt werden. Der Lizenznehmer ist demnach zur beziehungsweise für die Einhaltung der in dieser Lizenzvereinbarung genannten Bedingungen verpflichtet und verantwortlich. - - -8. Sicherungsmaßnahmen - -Der Lizenznehmer wird die Software sowie gegebenenfalls die Zugangsdaten für den Onlinezugriff durch geeignete Maßnahmen vor dem Zugriff durch unbefugte Dritte sichern. Insbesondere sind sämtliche Kopien der Software sowie die Zugangsdaten an einem geschützten Ort zu verwahren. - - -9. Gewerbliche Schutzrechte und Urheberrechte - -9.1 Macht ein Dritter Ansprüche aus Verletzung eines gewerblichen Schutzrechtes oder eines Urheberrechts gegen den Kunden geltend, weil dieser eine von ZEISS gelieferte Softwareversion, Firmwareergänzung oder dazugehörige Dokumentation benutzt, ist ZEISS verpflichtet, etwaige dem Schutzrechtsinhaber gerichtlich zugesprochene oder mit vorheriger Zustimmung von ZEISS zugestandene Kosten- und Schadenersatzbeträge zu bezahlen. Vorausgesetzt ist dabei, dass der Kunde ZEISS unverzüglich schriftlich über derartige Ansprüche unterrichtet und ZEISS alle Abwehrmaßnahmen und außergerichtlichen Regelungen vorbehalten bleiben. Der Kunde ist verpflichtet, ZEISS bei der Abwehr nach besten Kräften zu unterstützen. Unter diesen Voraussetzungen wird ZEISS dem Kunden grundsätzlich das Recht zum weiteren Gebrauch der Softwareversion, Firmwareergänzung oder Dokumentation verschaffen. Falls dies zu wirtschaftlich angemessenen Bedingungen nicht möglich sein sollte, ist ZEISS verpflichtet, nach eigener Wahl und auf eigene Kosten den entsprechenden Gegenstand entweder derart abzuändern oder zu ersetzen, dass das Schutzrecht nicht verletzt wird, oder den Gegenstand zurückzunehmen und das dafür bezahlte Entgelt abzüglich eines die gezogenen Nutzungen berücksichtigenden Betrages zu erstatten. - -9.2 ZEISS hat keine Verpflichtungen, falls Schutzrechtsverletzungen dadurch hervorgerufen werden, dass von ZEISS gelieferte Softwareversionen, Firmwareergänzungen oder Dokumentation nicht in der vorgesehenen Weise verwendet oder nicht auf den bestimmten Systemen eingesetzt wird. - - -10. Exportkontrolle - -Der Lizenznehmer übernimmt die Verantwortung für die Einhaltung aller anwendbaren Bestimmungen und Vorschriften, einschließlich, aber nicht beschränkt auf die Exportkontroll- und Sanktionsbestimmungen der Bundesrepublik Deutschland, der Europäischen Union sowie der Vereinigten Staaten von Amerika. Insbesondere bestätigt der Lizenznehmer, die Software sowie jedwede damit verbundene Technologie oder Dokumentation oder Teile davon weder direkt noch indirekt unter Nichtbefolgung der vorgenannten Bestimmungen in sanktionierte Länder oder an sanktionierte natürliche oder juristische Personen bereitzustellen. - -Der Lizenznehmer sichert dem Lizenzgeber zu, dass er die Software sowie jedwede damit verbundene Technologie oder Dokumentation oder Teile davon nicht unter Verletzung vorgenannter anwendbarer Gesetze oder Vorschriften verwenden wird. Weiterhin verpflichtet sich der Lizenznehmer den Lizenzgeber von allen Ansprüchen freizustellen und schadlos zu halten, welche aus der Nichteinhaltung vorgenannter anwendbarer Bestimmungen resultiert. - - -11. Sonstiges - -11.1 Sämtliche mündliche Vereinbarungen, Änderungen, Erweiterungen oder Konkretisierungen dieser Lizenzbedingungen sowie die besonderen Eigenschaften der getroffenen Zusicherungen oder Vereinbarungen oder Absprachen bedürfen zu ihrer Rechtswirksamkeit der Schriftform. Falls diese von Vertretern oder Erfüllungsgehilfen des Lizenzgebers abgefasst sind, so werden sie erst mit der Genehmigung des Lizenzgebers rechtlich bindend. - -11.2 Sollten Teile dieses Vertrags unwirksam werden, so berührt dies nicht die Wirksamkeit der übrigen Teile dieses Vertrags. Der unwirksame Teil dieses Vertrags soll durch seine Parteien durch gesetzlich zulässige Bestimmungen ersetzt werden, die der Absicht der unwirksamen Bestimmungen am nächsten kommt. - -11.3 Auf diesen Vertrag sind die Gesetze der Bundesrepublik Deutschland anwendbar, unter Ausschluss des Gesetzes über den internationalen Warenkauf und der Regeln des Kollisionsrechts. - -Stand Oktober 2023 diff --git a/examples/TextDetection/metainfo.json b/examples/TextDetection/metainfo.json deleted file mode 100644 index 51b2e49..0000000 --- a/examples/TextDetection/metainfo.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "author": "Carl Zeiss GOM Metrology GmbH", - "description": "Text detection examples", - "labels": [ - ], - "licensing": { - "licenses": [ - ], - "product-codes": [ - ] - }, - "software-revision": "871", - "software-version": "ZEISS INSPECT 2023", - "tags": [ - ], - "title": "Text Detection", - "uuid": "ebf221f1-d3db-4677-96ff-d86f423cb70e", - "version": "1.0.3" -} diff --git a/examples/TextDetection/scripts/display_image.gdlg b/examples/TextDetection/scripts/display_image.gdlg deleted file mode 100644 index 8982a3b..0000000 --- a/examples/TextDetection/scripts/display_image.gdlg +++ /dev/null @@ -1,43 +0,0 @@ -{ - "content": [ - [ - { - "columns": 2, - "data": "AAAAAA==", - "file_name": "", - "height": 0, - "keep_aspect": true, - "keep_original_size": true, - "name": "image", - "rows": 1, - "system_image": "system_message_warning", - "tooltip": { - "id": "", - "text": "", - "translatable": true - }, - "type": "image", - "use_system_image": false, - "width": 0 - }, - { - } - ] - ], - "control": { - "id": "Close" - }, - "embedding": "always_toplevel", - "position": "automatic", - "size": { - "height": 113, - "width": 178 - }, - "sizemode": "automatic", - "style": "", - "title": { - "id": "", - "text": "Text detection", - "translatable": true - } -} diff --git a/examples/TextDetection/scripts/display_image.metainfo b/examples/TextDetection/scripts/display_image.metainfo deleted file mode 100644 index 2f94418..0000000 --- a/examples/TextDetection/scripts/display_image.metainfo +++ /dev/null @@ -1,25 +0,0 @@ -{ - "display_name": "display_image", - "folded_blocks": [ - ], - "icon": "", - "iinspect_condition": "", - "interactive": false, - "main_menu_path": { - "anchor": { - "item": "", - "submenu": [ - ], - "type": "command" - }, - "script": "userscript.display_image", - "submenu": [ - ] - }, - "multicreation_script": false, - "script_check_type": "none", - "script_element_type": "none", - "show_in_iinspect": false, - "show_in_menu": true, - "uuid": "85f89210-3df6-4669-922d-f54539cc0ef9" -} diff --git a/examples/TextDetection/scripts/display_image.py b/examples/TextDetection/scripts/display_image.py deleted file mode 100644 index 621711c..0000000 --- a/examples/TextDetection/scripts/display_image.py +++ /dev/null @@ -1,40 +0,0 @@ -# -*- coding: utf-8 -*- - -import gom -import cv2 -import numpy as np - -def get_image (): - ''' - Query image from project - - The image is read from a hardcoded measurement of the associated demo project for - the sake of simplicity of this example. - - \return Image in RGB format as a numpy array of matching shape - ''' - measurement = gom.app.project.measurement_series['Scan 1'].measurements['M1'] - - image = np.array (measurement.images['left camera'].data.rgb )[0] - return cv2.cvtColor(image, cv2.COLOR_BGR2RGB) - -def image_to_png (image): - ''' - Convert image into PNG format - - \param image Image in numpy RGB format to be converted - \return Image in PNG format - ''' - _, data = cv2.imencode(".png", image) - return data.tobytes() - -# Define user defined dialog. The dialog is not displayed yet, but its widgets can be accessed -DIALOG=gom.script.sys.create_user_defined_dialog (file='display_image.gdlg') - -# Display read, converted and rescaled image in the dialogs image viewing widget -DIALOG.image.data = image_to_png (cv2.resize (get_image (), (1024, 768))) - -# Display user defined dialog. The script execution will be stalled here until the dialog is closed again. -gom.script.sys.show_user_defined_dialog (dialog=DIALOG) - - diff --git a/examples/TextDetection/scripts/text_element.gdlg b/examples/TextDetection/scripts/text_element.gdlg deleted file mode 100644 index 64cae98..0000000 --- a/examples/TextDetection/scripts/text_element.gdlg +++ /dev/null @@ -1,144 +0,0 @@ -{ - "content": [ - [ - { - "columns": 1, - "name": "label", - "rows": 1, - "text": { - "id": "", - "text": "Image", - "translatable": true - }, - "tooltip": { - "id": "", - "text": "", - "translatable": true - }, - "type": "label", - "word_wrap": false - }, - { - "columns": 1, - "fast_filter": false, - "name": "element", - "rows": 1, - "supplier": "custom", - "tooltip": { - "id": "", - "text": "", - "translatable": true - }, - "type": "input::point3d" - } - ], - [ - { - "columns": 2, - "data": "AAAAAA==", - "file_name": "", - "height": 0, - "keep_aspect": true, - "keep_original_size": true, - "name": "image", - "rows": 1, - "system_image": "system_message_warning", - "tooltip": { - "id": "", - "text": "", - "translatable": true - }, - "type": "image", - "use_system_image": false, - "width": 0 - }, - { - } - ], - [ - { - "columns": 1, - "name": "threshold_label", - "rows": 1, - "text": { - "id": "", - "text": "Threshold (0-100)", - "translatable": true - }, - "tooltip": { - "id": "", - "text": "", - "translatable": true - }, - "type": "label", - "word_wrap": false - }, - { - "columns": 1, - "maximum": 100, - "minimum": 0, - "name": "threshold", - "rows": 1, - "tooltip": { - "id": "", - "text": "", - "translatable": true - }, - "type": "input::integer", - "value": 90 - } - ], - [ - { - "columns": 1, - "name": "result_label", - "rows": 1, - "text": { - "id": "", - "text": "Result", - "translatable": true - }, - "tooltip": { - "id": "", - "text": "", - "translatable": true - }, - "type": "label", - "word_wrap": false - }, - { - "columns": 1, - "name": "result", - "rows": 1, - "text": { - "id": "", - "text": "-", - "translatable": true - }, - "tooltip": { - "id": "", - "text": "", - "translatable": true - }, - "type": "label", - "word_wrap": false - } - ] - ], - "control": { - "id": "OkCancel" - }, - "embedding": "always_toplevel", - "position": "automatic", - "size": { - "height": 180, - "width": 249 - }, - "sizemode": "automatic", - "style": "", - "title": { - "id": "", - "text": "Text detection", - "translatable": true - } -} diff --git a/examples/TextDetection/scripts/text_element.metainfo b/examples/TextDetection/scripts/text_element.metainfo deleted file mode 100644 index a4c2cee..0000000 --- a/examples/TextDetection/scripts/text_element.metainfo +++ /dev/null @@ -1,27 +0,0 @@ -{ - "display_name": "Part ID detection", - "folded_blocks": [ - ], - "icon": "", - "iinspect_condition": "", - "interactive": true, - "main_menu_path": { - "anchor": { - "item": "", - "submenu": [ - "construct", - "value_elements" - ], - "type": "command" - }, - "script": "ude.text_element", - "submenu": [ - ] - }, - "multicreation_script": false, - "script_check_type": "none", - "script_element_type": "value", - "show_in_iinspect": false, - "show_in_menu": true, - "uuid": "d1f5e5ed-c05d-4a7d-bde2-e0e88fa6ee13" -} diff --git a/examples/TextDetection/scripts/text_element.py b/examples/TextDetection/scripts/text_element.py deleted file mode 100644 index 7542706..0000000 --- a/examples/TextDetection/scripts/text_element.py +++ /dev/null @@ -1,133 +0,0 @@ -# -*- coding: utf-8 -*- - -import gom -import pytesseract -import cv2 -import numpy as np - -# -# Path to the installed terresact executable -# -TESSERACT_PATH = 'C:/Users/IQFBLANK/AppData/Local/Programs/Tesseract-OCR/tesseract.exe' - -# -# Return left camera image of the given scan -# -def get_image (scan): - image = np.array (scan.images['left camera'].data.rgb )[0] - return cv2.cvtColor(image, cv2.COLOR_BGR2RGB) - -# -# Convert camera image into PNG format -# -def image_to_png (image): - _, data = cv2.imencode(".png", image) - return data.tobytes() - -# -# Detect text label in the given image -# -def detect_text (image, threshold): - pytesseract.pytesseract.tesseract_cmd = TESSERACT_PATH - - results = pytesseract.image_to_data (image, output_type=pytesseract.Output.DICT, config='--oem 3 --psm 1') - - result = [] - for text, confidence in zip (results['text'], results['conf']): - if confidence > threshold and len (text) > 0: - result.append (text) - - return ' '.join (result) - -# -# Interactive (dialog handling) part of the scripted element -# -def dialog(context, params): - - DIALOG=gom.script.sys.create_user_defined_dialog (file='text_element.gdlg') - - # - # Dialog handler function, called in case of dialog events - # - def dialog_handler (object): - - calc = False - - if object == 'initialize': - image = get_image (DIALOG.element.value) - DIALOG.image.data = image_to_png (cv2.resize (image, (640, 480))) - - calc = True - - elif object == 'calculated': - DIALOG.result.text = '-' - if 'ude_text' in context.data[0]: - DIALOG.result.text = context.data[0]['ude_text'] - - elif object == DIALOG.element: - image = get_image (DIALOG.element.value) - DIALOG.image.data = image_to_png (cv2.resize (image, (640, 480))) - - calc = True - - elif object == DIALOG.threshold: - calc = True - - if calc: - params['scan'] = DIALOG.element.value - params['threshold'] = DIALOG.threshold.value - - context.name = 'Part id' - DIALOG.control.ok.enabled = False - - result = context.calc (params=params, dialog=DIALOG) - - DIALOG.control.ok.enabled = True - - - # - # Filter for the elements which can be selected in the measurement selector - # - def element_filter( element ): - try: - if element.type == 'scan': - return True - except Exception as e: - pass - - return False - - DIALOG.element.filter = element_filter - DIALOG.handler = dialog_handler - - gom.script.sys.show_user_defined_dialog (dialog=DIALOG) - - return params - -# -# Calculation function for the scripted element -# -def calculation(context, params): - - ok = False - - for stage in context.stages: - try: - scan = params['scan'] - threshold = params['threshold'] - - image = get_image (scan) - text = detect_text (image, threshold) - - ids = [float (s) for s in text.split () if s.isdigit ()] - - context.result[stage] = (ids[0] if len (ids) > 0 else -1) - context.data[stage] = {'ude_text': text} - - ok = True - - except Exception as error: - context.error[stage] = str (error) - - return ok - diff --git a/examples/TextDetection/scripts/text_extraction.gdlg b/examples/TextDetection/scripts/text_extraction.gdlg deleted file mode 100644 index b8e326c..0000000 --- a/examples/TextDetection/scripts/text_extraction.gdlg +++ /dev/null @@ -1,126 +0,0 @@ -{ - "content": [ - [ - { - "columns": 2, - "data": "AAAAAA==", - "file_name": "", - "height": 0, - "keep_aspect": true, - "keep_original_size": true, - "name": "image", - "rows": 1, - "system_image": "system_message_warning", - "tooltip": { - "id": "", - "text": "", - "translatable": true - }, - "type": "image", - "use_system_image": false, - "width": 0 - }, - { - } - ], - [ - { - "columns": 1, - "name": "threshold_label", - "rows": 1, - "text": { - "id": "", - "text": "Threshold (0-100)", - "translatable": true - }, - "tooltip": { - "id": "", - "text": "", - "translatable": true - }, - "type": "label", - "word_wrap": false - }, - { - "columns": 1, - "maximum": 100, - "minimum": 0, - "name": "threshold", - "rows": 1, - "tooltip": { - "id": "", - "text": "", - "translatable": true - }, - "type": "input::integer", - "value": 90 - } - ], - [ - { - "button_type": "push", - "columns": 1, - "icon": "AAAAAA==", - "icon_file_name": "", - "icon_size": { - "value": "icon" - }, - "icon_system_size": { - "value": "default" - }, - "icon_system_type": { - "value": "ok" - }, - "icon_type": { - "value": "none" - }, - "name": "detect", - "rows": 1, - "text": { - "id": "", - "text": "Detect", - "translatable": true - }, - "tooltip": { - "id": "", - "text": "", - "translatable": true - }, - "type": "button::pushbutton" - }, - { - "columns": 1, - "name": "text", - "rows": 1, - "text": { - "id": "", - "text": "-", - "translatable": true - }, - "tooltip": { - "id": "", - "text": "", - "translatable": true - }, - "type": "label", - "word_wrap": false - } - ] - ], - "control": { - "id": "Close" - }, - "embedding": "always_toplevel", - "position": "automatic", - "size": { - "height": 152, - "width": 178 - }, - "sizemode": "automatic", - "style": "", - "title": { - "id": "", - "text": "Text detection", - "translatable": true - } -} diff --git a/examples/TextDetection/scripts/text_extraction.metainfo b/examples/TextDetection/scripts/text_extraction.metainfo deleted file mode 100644 index 34229eb..0000000 --- a/examples/TextDetection/scripts/text_extraction.metainfo +++ /dev/null @@ -1,25 +0,0 @@ -{ - "display_name": "text_extraction", - "folded_blocks": [ - ], - "icon": "", - "iinspect_condition": "", - "interactive": false, - "main_menu_path": { - "anchor": { - "item": "", - "submenu": [ - ], - "type": "command" - }, - "script": "userscript.text_extraction", - "submenu": [ - ] - }, - "multicreation_script": false, - "script_check_type": "none", - "script_element_type": "none", - "show_in_iinspect": false, - "show_in_menu": true, - "uuid": "5f3a02f4-23fe-466a-8144-7b828df11090" -} diff --git a/examples/TextDetection/scripts/text_extraction.py b/examples/TextDetection/scripts/text_extraction.py deleted file mode 100644 index 74152ff..0000000 --- a/examples/TextDetection/scripts/text_extraction.py +++ /dev/null @@ -1,70 +0,0 @@ -# -*- coding: utf-8 -*- - -import gom -import pytesseract -import cv2 -import numpy as np - -# -# Path to the installed terresact executable -# -TESSERACT_PATH = '' - -def get_image (): - measurement = gom.app.project.measurement_series['Scan 1'].measurements['M1'] - acquisition = gom.api.project.get_image_acquisition (measurement, 'left camera',[0])[0] - - image = np.array (measurement.images['left camera'].data.rgb )[0] - return cv2.cvtColor(image, cv2.COLOR_BGR2RGB) - -def get_preview_image (): - - measurement = gom.app.project.measurement_series['Scan 1'].measurements['M1'] - acquisition = gom.api.project.get_image_acquisition (measurement, 'left camera',[0])[0] - - image = np.array (measurement.images['left camera'].data.rgb )[0] - image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) - - return cv2.resize (image, (640, 480)) - -def image_to_png (image): - _, data = cv2.imencode(".png", image) - return data.tobytes() - -image = get_image () - -def detect_text (threshold): - pytesseract.pytesseract.tesseract_cmd = TESSERACT_PATH - - results = pytesseract.image_to_data (image, output_type=pytesseract.Output.DICT, config='--oem 3 --psm 1') - - result = [] - for text, confidence in zip (results['text'], results['conf']): - if confidence > threshold and len (text) > 0: - result.append (text) - - return ' '.join (result) - -DIALOG=gom.script.sys.create_user_defined_dialog (file='text_extraction.gdlg') - -def dialog_handler (object): - if object == DIALOG.detect: - DIALOG.threshold.enabled = False - DIALOG.detect.enabled = False - - text = detect_text (DIALOG.threshold.value) - if text: - DIALOG.text.text = text - else: - DIALOG.text.text = '-' - - DIALOG.threshold.enabled = True - DIALOG.detect.enabled = True - -DIALOG.image.data = image_to_png (cv2.resize (image, (640, 480))) - -DIALOG.handler = dialog_handler - -gom.script.sys.show_user_defined_dialog (dialog=DIALOG) - -