From c0fb535301ead816e9920519528147ae38182a8b Mon Sep 17 00:00:00 2001 From: Kostiantyn Perehuda Date: Thu, 24 Sep 2026 15:08:26 +0000 Subject: [PATCH] Add Learning Path: C2PA Content Credentials on Arm Introduce media provenance and a hands-on workflow for adding, inspecting, and validating Content Credentials. Demonstrate a content-binding failure after a controlled image modification. Include install guides for C2PA Tool, ExifTool, and libjpeg-turbo, along with tutorial images and contributor records. --- assets/contributors.csv | 2 + content/install-guides/c2patool.md | 127 ++++++++++++ content/install-guides/exiftool.md | 96 +++++++++ content/install-guides/libjpeg-turbo.md | 95 +++++++++ .../c2pa-on-arm/1-understand-the-c2pa.md | 149 ++++++++++++++ .../c2pa-on-arm/2-prepare-example-files.md | 69 +++++++ .../c2pa-on-arm/3-add-content-credentials.md | 162 +++++++++++++++ .../4-inspect-content-credentials.md | 191 ++++++++++++++++++ .../5-validate-content-credentials.md | 102 ++++++++++ .../6-detect-an-unauthorized-change.md | 147 ++++++++++++++ .../c2pa-on-arm/_index.md | 65 ++++++ .../c2pa-on-arm/_next-steps.md | 8 + .../images/c2pa-manifest-workflow.svg | 106 ++++++++++ .../images/c2pa-sample-image-license.txt | 31 +++ .../images/verify-credential-details.jpg | Bin 0 -> 38838 bytes .../images/verify-grayscale-invalid.jpg | Bin 0 -> 46021 bytes .../c2pa-on-arm/images/verify-select-file.jpg | Bin 0 -> 54516 bytes .../images/verify-unrecognized.jpg | Bin 0 -> 45130 bytes 18 files changed, 1350 insertions(+) create mode 100644 content/install-guides/c2patool.md create mode 100644 content/install-guides/exiftool.md create mode 100644 content/install-guides/libjpeg-turbo.md create mode 100644 content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/1-understand-the-c2pa.md create mode 100644 content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/2-prepare-example-files.md create mode 100644 content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/3-add-content-credentials.md create mode 100644 content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/4-inspect-content-credentials.md create mode 100644 content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/5-validate-content-credentials.md create mode 100644 content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/6-detect-an-unauthorized-change.md create mode 100644 content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/_index.md create mode 100644 content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/_next-steps.md create mode 100644 content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/c2pa-manifest-workflow.svg create mode 100644 content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/c2pa-sample-image-license.txt create mode 100644 content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/verify-credential-details.jpg create mode 100644 content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/verify-grayscale-invalid.jpg create mode 100644 content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/verify-select-file.jpg create mode 100644 content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/verify-unrecognized.jpg diff --git a/assets/contributors.csv b/assets/contributors.csv index 333233e95d..caca415e65 100644 --- a/assets/contributors.csv +++ b/assets/contributors.csv @@ -134,6 +134,8 @@ Tirui Wu,Arm,,,, William Watson,Arm,,,, John O'Hara,Arm,JohnOhara-Arm,johnaohara,JohnnyDoItAll, Usamah Zaheer,Arm,usamahz,,, +Kostiantyn Perehuda,Arm,,,, +Yogesh Deshpande,Arm,,,, Roy Jamil,Ac6,RoyAc6,royjamil,,https://www.ac6.fr/en/ Elad Gross,Arm,eladgr,,, Ash Naik,Arm,,,, diff --git a/content/install-guides/c2patool.md b/content/install-guides/c2patool.md new file mode 100644 index 0000000000..ed0989003a --- /dev/null +++ b/content/install-guides/c2patool.md @@ -0,0 +1,127 @@ +--- +title: C2PA Tool +description: Install C2PA Tool on Arm Linux, macOS, or Windows on Arm to work with Content Credentials from the command line. +minutes_to_complete: 20 +official_docs: https://github.com/contentauth/c2patool +author: Kostiantyn Perehuda + +draft: true + +test_maintenance: false + +### FIXED, DO NOT MODIFY +weight: 1 +tool_install: true +multi_install: false +multitool_install_part: false +layout: installtoolsall +--- + +## Overview + +[C2PA Tool](https://github.com/contentauth/c2patool), invoked as `c2patool`, reads, creates, and +validates Content Credentials in supported media files. Content Credentials use the +Coalition for Content Provenance and Authenticity (C2PA) standard to record media provenance. + +You can install C2PA Tool on 64-bit Arm Linux, macOS on Apple silicon, or Windows on Arm. +The Linux instructions cover Ubuntu and Debian. + +Homebrew and Cargo install the version available from their package source. For release +information, see [C2PA Tool releases](https://github.com/contentauth/c2patool/releases). + +## Install on macOS + +Install [Homebrew](https://brew.sh/) if it isn't already available, then install C2PA Tool: + +```console +brew install c2patool +``` + +## Install on Arm Linux + +Prebuilt Linux releases target `x86_64`. Use Cargo to build and install a native `aarch64` +executable. + +Install the build dependencies on Ubuntu or Debian: + +```console +sudo apt update +sudo apt install -y build-essential pkg-config libssl-dev +``` + +Install [Rust](/install-guides/rust/) to obtain Cargo, then install C2PA Tool: + +```console +cargo install c2patool --locked +``` + +Cargo installs `c2patool` in `$HOME/.cargo/bin`. + +## Install on Windows on Arm + +Prebuilt Windows releases target `x86_64`. Use Cargo to build and install a native ARM64 executable. + +Install the Microsoft C++ Build Tools and [Rust](https://www.rust-lang.org/tools/install) with the +MSVC toolchain for ARM64. Open a new PowerShell window and run: + +```console +cargo install c2patool --locked +``` + +Cargo installs `c2patool.exe` in `%USERPROFILE%\.cargo\bin`. + +## Verify the installation + +Print the installed version: + +```console +c2patool --version +``` + +The output reports `c2patool` followed by the installed version number. + +Display the command summary: + +```console +c2patool --help +``` + +The expected output starts with: + +```output +Tool for displaying and creating C2PA manifests. +``` + +## Troubleshooting + +If your shell can't find `c2patool`, open a new terminal. For a Cargo installation, confirm that +`$HOME/.cargo/bin` on Linux or `%USERPROFILE%\.cargo\bin` on Windows is in your `PATH`. + +## Update C2PA Tool + +On macOS, run: + +```console +brew update +brew upgrade c2patool +``` + +For a Cargo installation, run: + +```console +cargo install c2patool --locked --force +``` + +## Uninstall C2PA Tool + +For a Homebrew installation, run: + +```console +brew uninstall c2patool +``` + +For a Cargo installation, run: + +```console +cargo uninstall c2patool +``` diff --git a/content/install-guides/exiftool.md b/content/install-guides/exiftool.md new file mode 100644 index 0000000000..f3a761410c --- /dev/null +++ b/content/install-guides/exiftool.md @@ -0,0 +1,96 @@ +--- +title: ExifTool +description: Install ExifTool on macOS, Linux on Arm, or Windows on Arm to read and write media metadata from the command line. +minutes_to_complete: 10 +official_docs: https://exiftool.org/install.html +author: Kostiantyn Perehuda + +draft: true + +test_maintenance: false + +### FIXED, DO NOT MODIFY +weight: 1 +tool_install: true +multi_install: false +multitool_install_part: false +layout: installtoolsall +--- + +## Overview + +[ExifTool](https://exiftool.org/) reads and writes metadata in image, audio, and video files. +You can install it on macOS on Apple silicon, 64-bit Arm Linux, or Windows 11 on Arm. +On Windows on Arm, you use the Windows x64 executable under emulation. + +Package-manager commands install the version available from your package source. See the +[ExifTool download page](https://exiftool.org/) for current releases. + +## Install on macOS + +Install [Homebrew](https://brew.sh/) if it isn't already available, then install ExifTool: + +```console +brew install exiftool +``` + +## Install on Arm Linux + +On Ubuntu and Debian, install the `libimage-exiftool-perl` package: + +```console +sudo apt update +sudo apt install libimage-exiftool-perl +``` + +On Fedora, install the [perl-Image-ExifTool package](https://packages.fedoraproject.org/pkgs/perl-Image-ExifTool/perl-Image-ExifTool/): + +```console +sudo dnf install perl-Image-ExifTool +``` + +Both packages provide the `exiftool` command and its Perl dependencies. + +## Install on Windows 11 on Arm + +The Windows x64 executable runs through +[x64 application emulation on Windows 11 on Arm](https://learn.microsoft.com/en-us/windows/arm/apps-on-arm-x86-emulation). + +Follow the [official Windows installation instructions](https://exiftool.org/install.html#Windows): + +1. Download the **64-bit Windows Executable** ZIP from the [ExifTool download page](https://exiftool.org/). +2. Extract the archive into a permanent folder in your user directory. +3. Rename `exiftool(-k).exe` to `exiftool.exe`. Keep its accompanying `exiftool_files` folder beside it. +4. Add the folder containing `exiftool.exe` to your user's `Path` environment variable. +5. Open a new PowerShell window so it picks up the change. + +## Verify the installation + +Print the installed version: + +```console +exiftool -ver +``` + +The output is similar to: + +```output +13.55 +``` + +Your version can differ. List the available metadata tags to confirm ExifTool runs: + +```console +exiftool -list +``` + +The output begins with `Available tags:` followed by tag names. + +## Troubleshooting + +If your shell can't find `exiftool`, open a new terminal and confirm that the directory containing +`exiftool` is in your `PATH`. On Windows, also check that the executable is named `exiftool.exe` +and that `exiftool_files` is still beside it. + +If Ubuntu cannot locate the package, check that the `universe` repository is enabled for your Ubuntu +release, then run `sudo apt update` again. diff --git a/content/install-guides/libjpeg-turbo.md b/content/install-guides/libjpeg-turbo.md new file mode 100644 index 0000000000..c2582eab5a --- /dev/null +++ b/content/install-guides/libjpeg-turbo.md @@ -0,0 +1,95 @@ +--- +title: libjpeg-turbo +description: Install libjpeg-turbo on macOS, Linux on Arm, or Windows on Arm to encode, decode, and transform JPEG images. +minutes_to_complete: 10 +official_docs: https://libjpeg-turbo.org/Documentation/Documentation +author: Kostiantyn Perehuda + +draft: true + +test_maintenance: false + +### FIXED, DO NOT MODIFY +weight: 1 +tool_install: true +multi_install: false +multitool_install_part: false +layout: installtoolsall +--- + +## Overview + +[libjpeg-turbo](https://www.libjpeg-turbo.org/) provides JPEG encoding and decoding libraries and +command-line tools. The tools include `cjpeg` for encoding, `djpeg` for decoding, and `jpegtran` +for transforming JPEG images. + +You can install the tools on macOS on Apple silicon, 64-bit Arm Linux, or Windows on Arm. +Package-manager commands on macOS and Linux install the version available from your package source. + +## Install on macOS + +Install [Homebrew](https://brew.sh/) if it isn't already available, then install the +[jpeg-turbo package](https://formulae.brew.sh/formula/jpeg-turbo): + +```console +brew install jpeg-turbo +``` + +## Install on Arm Linux + +On Ubuntu and Debian, install the `libjpeg-turbo-progs` package: + +```console +sudo apt update +sudo apt install libjpeg-turbo-progs +``` + +On Fedora, install the [libjpeg-turbo-utils package](https://packages.fedoraproject.org/pkgs/libjpeg-turbo/libjpeg-turbo-utils/): + +```console +sudo dnf install libjpeg-turbo-utils +``` + +Both packages provide `jpegtran` and the other command-line tools. Installing only the JPEG +runtime library doesn't provide these tools. + +## Install on Windows on Arm + +{{% notice Note %}} +The following steps use libjpeg-turbo version 3.1.4.1. You can use another version that provides +a native ARM64 installer. Replace the installer with the file for your chosen version. +To find the latest version, see [libjpeg-turbo releases](https://github.com/libjpeg-turbo/libjpeg-turbo/releases). +{{% /notice %}} + +1. Download `libjpeg-turbo-3.1.4.1-vc-arm64.exe` from the + [libjpeg-turbo 3.1.4.1 release](https://github.com/libjpeg-turbo/libjpeg-turbo/releases/tag/3.1.4.1). +2. Run the installer and note the installation directory. +3. Add the installation's `bin` directory, containing `jpegtran.exe`, to your user's `Path` + environment variable. +4. Open a new PowerShell window so it picks up the change. + +## Verify the installation + +Print the installed version: + +```console +jpegtran -version +``` + +The output is similar to: + +```output +libjpeg-turbo version 3.1.4.1 (build 20260327) +``` + +Your version and build can differ. A successful version check confirms that your terminal can +find and run `jpegtran`. + +## Troubleshooting + +If your shell can't find `jpegtran`, open a new terminal and confirm that the directory containing the +executable is in your `PATH`. On Windows, check for `jpegtran.exe` in the installation's `bin` +directory. On Linux, check that you installed the command-line tools package for your distribution. + +If Ubuntu cannot locate the package, check that the `universe` repository is enabled for your +release, then run `sudo apt update` again. diff --git a/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/1-understand-the-c2pa.md b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/1-understand-the-c2pa.md new file mode 100644 index 0000000000..27b93dd0ea --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/1-understand-the-c2pa.md @@ -0,0 +1,149 @@ +--- +title: Understand the C2PA Content Credentials +description: Learn how C2PA Content Credentials record provenance and what successful validation does and does not establish. +weight: 2 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Synthetic and untraceable media + +Advances in cameras, editing software, and generative AI make digital content easy to create and +modify. Synthetic or manipulated images, video, and audio can be difficult to distinguish from +captured media by appearance alone. + +This ambiguity creates opportunities for misinformation, impersonation, and fraud. It also affects +legitimate content. When origin and edit history are missing, you cannot reliably trace where a file +came from, which tools changed it, or whether it is being presented in its original context. + +The problem is not the existence of synthetic media. The problem is the loss of reliable context as +media moves between people, tools, and services. Media needs provenance information that remains +associated with the digital asset and can be checked for tampering. + +## EU AI Act transparency requirements + +[Article 50 of the EU AI Act](https://digital-strategy.ec.europa.eu/en/policies/guidelines-ai-transparency-obligations) +has applied since 2 August 2026. It requires providers of AI systems in scope to mark synthetic audio, +image, video, and text outputs in a machine-readable format so that they can be detected as +AI-generated or manipulated. + +Separate disclosure rules apply to people and organizations that deploy AI systems. Deepfakes must +be clearly disclosed to the people who encounter them. Certain AI-generated or manipulated text +published to inform the public on matters of public interest must also be disclosed. The Act includes +scope conditions and exceptions, so machine-readable provenance is one part of meeting these +transparency obligations rather than a complete legal solution. + +## C2PA Content Credentials + +The [Coalition for Content Provenance and Authenticity (C2PA)](https://c2pa.org/) defines an open technical standard for +recording provenance information, such as how a digital asset was created and modified, and binding that +information to digital content. The same model can be used across supported media types and +platforms. + +A *Content Credential* is the preferred non-technical term for a [C2PA manifest](https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html#_c2pa_manifest). The manifest packages +statements about a digital asset's origin, the tools used to process it, and the actions performed during its +history. The manifest can travel with the digital asset or remain available separately. + +A verifier can inspect these statements, verify the signature on the claim, and check the +cryptographic binding between the manifest and the digital asset. + +This gives the recipient a tamper-evident record of the digital asset's claimed origin and history. Content +Credentials do not detect fake media or determine whether a claim is true. C2PA can provide the +digitally signed metadata layer described in the +[Article 50 Code of Practice](https://digital-strategy.ec.europa.eu/en/policies/code-practice-ai-generated-content). +For images, signatories following the Code generally combine that layer with imperceptible +watermarking and a detection solution that meets effectiveness, reliability, robustness, and +interoperability requirements. This Learning Path demonstrates only C2PA metadata, so it does not +establish compliance on its own. + +## Understand the C2PA workflow + +[Figure 1](#figure-1) shows how a C2PA workflow connects a digital asset to a signed provenance record. A claim generator records +statements about the digital asset as [*assertions*](https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html#_assertions). These assertions can describe how the digital asset was created, +the actions applied to it, and the information used to bind the manifest to the digital asset. + +The [claim](https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html#_claims) references the assertions and identifies the claim generator. A [claim signature](https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html#claim-signature-definition) signs the +claim with the signer's private key. The claim generator assembles the assertions, claim, and claim +signature into a verifiable unit called a C2PA manifest. + +The [hard binding](https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html#_hard_bindings) +is itself recorded in an assertion. For the JPEG example, a data-hash assertion records a hash of the +asset byte ranges included in the binding. The signed claim references that assertion, making changes +to the recorded binding detectable. + +The digital asset and manifest are distributed together, either in one file or separately. The digital +asset's consumer uses a validator to check the manifest's integrity, its binding to the digital asset, +and the signing credential. The validator checks the manifest's structure and signature and evaluates +the signing credential against its trust policy. + + + +![A C2PA manifest contains assertions, including a hash-based binding to the digital asset, a claim, and its signature. Consumers independently validate the manifest of the distributed digital asset.#center](images/c2pa-manifest-workflow.svg "Figure 1. C2PA manifest structure and workflow") + +[Figure 1](#figure-1) summarizes the model defined by the +[C2PA technical specification](https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html). + +## Understand trust in Content Credentials + +The [C2PA trust model](https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html#_trust_model) distinguishes a *valid manifest* from a *trusted manifest*. A valid manifest is well-formed, has +not changed since it was signed, and passes the required signature, validity-period, and credential +revocation checks. A trusted manifest is valid and its signing credential is also trusted. A validator +can establish credential trust through configured trust anchors, including anchors from the +[C2PA Trust List](https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html#_c2pa_trust_list), or through a credential that the user has explicitly added to a private credential store. + +Trust applies to the signing credential and the signer identity associated with it. It does not prove +that every assertion is factually true. The consumer uses the signer identity, the assertions, and +other trust signals to decide whether to rely on the provenance record. + +## Why stripping provenance does not establish trust + +As digital content ecosystems move toward a future where verified provenance is a requirement for +acceptance, a digital asset must meet all of these conditions to be accepted within such an ecosystem: + +- The manifest passes structural, signature, and credential-validity checks. +- The content binding matches the digital asset, linking the signed provenance record to the received content. +- The signing credential is trusted under the consumer's trust policy. +- The recorded provenance meets the acceptance requirements, such as an approved origin or permitted editing history. + +Together, these checks establish the basis for acceptance. They do not guarantee factual +accuracy, as the [C2PA explainer](https://spec.c2pa.org/specifications/specifications/2.4/explainer/Explainer.html#_goals_and_non_goals) +explains. + +An attacker might modify protected digital asset data, causing the content binding to fail, then +strip the manifest to hide that failure. If no manifest is available for validation, the provenance +is unknown and the content remains untrusted in this ecosystem. Absence alone does not reveal whether +the manifest was stripped or never created; neither case provides the evidence needed for acceptance. + +The attacker therefore cannot turn failed validation into trusted provenance by removing the +manifest. The outcome changes from a failed content-binding check to unavailable provenance, but +the digital asset still fails the acceptance requirements. Stripping the manifest does not bypass +provenance-based trust. Untrusted means that the required evidence has not been established, not +that the content is necessarily false. + +## C2PA Conformance Program + +Verifying a digital asset's provenance depends on whether the products that create and validate its +Content Credentials follow the Content Credentials specification correctly. + +The C2PA Conformance Program evaluates products against the Content Credentials specification and +security requirements. It addresses the need for interoperable implementations that generate and +validate Content Credentials correctly, with a shared basis for certificate trust. + +Production solutions participating in this trusted ecosystem are expected to be conformant. +Approved products appear on the C2PA Conforming Products List. Approved generator products can +obtain claim-signing certificates from certificate authorities on the C2PA Trust List, subject to +their enrollment requirements. + +To prepare your production solution for conformance, start with the +[C2PA Conformance Program](https://c2pa.org/conformance/). It links to the technical and security +requirements, certificate policy, and application process. + +## What you've learned and what's next + +You've learned why digital assets need traceable provenance and how Content Credentials provide a +signed, tamper-evident record of that provenance. C2PA lets you inspect a digital asset's recorded +history, check its integrity, and assess the signing credential to make informed decisions about its +provenance. + +Next, confirm that C2PA Tool is available on your Arm device and prepare the example digital assets. diff --git a/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/2-prepare-example-files.md b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/2-prepare-example-files.md new file mode 100644 index 0000000000..67b1f88894 --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/2-prepare-example-files.md @@ -0,0 +1,69 @@ +--- +title: Check C2PA Tool and prepare the sample image +description: Check C2PA Tool on your Arm device, download the sample JPEG, and confirm that it has no C2PA manifest before signing. +weight: 3 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Create a working directory + +Create a folder named `c2pa-demo` wherever you keep your projects, using your file manager or terminal. +Open a terminal in that folder and run the remaining commands there. Keep all files from this +Learning Path in the same folder so the commands can use their filenames without full paths. + +## Confirm C2PA Tool is available + +Run the platform-independent version check: + +```console +c2patool --version +``` + +The version number depends on the current stable release. All subsequent outputs in this Learning +Path were recorded using the following version: + +```output +c2patool 0.27.21 +``` + +If the command is unavailable, follow the [C2PA Tool install guide](/install-guides/c2patool/). + +## Download the sample image + +In a real-world workflow, the software that creates or modifies a digital asset adds Content +Credentials as part of that process. For example, when you take a photograph with a camera that +supports Content Credentials, the camera software signs the image and adds Content Credentials +during capture. + +To focus on signing and validation without setting up a camera, use the +[sample JPEG from the Content Authenticity Initiative's `contentauth/c2patool` repository, pinned to `v0.27.20`](https://github.com/contentauth/c2patool/blob/v0.27.20/sample/image.jpg). +For this exercise, assume the sample represents a digitally captured photograph whose capture +details are available to the camera software when it adds Content Credentials. + +Download the original JPEG from that GitHub page and save it as `image.jpg` in your `c2pa-demo` +working directory. If your browser displays the raw image, use **Save image as**. The file is +61,720 bytes. Keep this unsigned source file for the later steps. + +The upstream sample is provided under the [MIT license, © Copyright 2020 Adobe](https://github.com/contentauth/c2patool/blob/v0.27.20/LICENSE-MIT). +Retain its copyright and permission notice if you redistribute the image. + +## Confirm the starting state + +Use C2PA Tool to confirm that the source image does not already contain a manifest: + +```console +c2patool image.jpg --info +``` + +The expected output includes: + +```output +No C2PA Manifests. (file size = 61720) +``` + +The downloaded sample has no existing C2PA manifest, so you can use it as the unsigned source for the +next step. + +Next, you will add Content Credentials to the image. diff --git a/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/3-add-content-credentials.md b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/3-add-content-credentials.md new file mode 100644 index 0000000000..a1eab6fa9b --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/3-add-content-credentials.md @@ -0,0 +1,162 @@ +--- +title: Add Content Credentials to an image +description: Define provenance assertions and sign a JPEG with C2PA Tool's development credential while preserving the unsigned source image. +weight: 4 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Add Content Credentials to an image + +You will add Content Credentials to the image prepared in the previous chapter. You will save the +signed image as a separate file, preserving the unsigned original. + +## Create the manifest definition + +A manifest definition tells C2PA Tool which information to include in the manifest. An [*assertion*](https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html#_assertion) +is a structured statement about an asset. Assertions can describe creation and editing actions, +identify source assets used as ingredients, or record metadata. See the +[C2PA standard assertion summary](https://spec.c2pa.org/specifications/specifications/2.4/specs/ContentCredentials.html#_standard_c2pa_assertion_summary) +for the standard assertion types and links to their definitions. This example uses an actions assertion +to declare how the image was created. + +The [*claim generator*](https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html#claim-generator-definition) is the software that assembles the claim and its references to assertions for +signing. In this exercise, C2PA Tool performs that work using the example identity you supply below. + +In your text editor, create a plain-text file named `manifest.json` in your `c2pa-demo` working directory +with these contents: + +```json +{ + "claim_generator_info": [ + { + "name": "Arm Learning Path C2PA Example", + "version": "1.0.0", + "com.arm.learning_path.tool": { + "name": "c2patool", + "version": "0.27.21" + } + } + ], + "assertions": [ + { + "label": "c2pa.actions.v2", + "data": { + "actions": [ + { + "action": "c2pa.created", + "digitalSourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture" + } + ] + } + } + ] +} +``` + +The manifest definition identifies the signing workflow and records the image's declared origin: + +- **`claim_generator_info`** names your signing workflow `Arm Learning Path C2PA Example`, version + `1.0.0`. This version identifies the tutorial workflow; it is separate from the installed C2PA Tool + version. + +- **`com.arm.learning_path.tool`** records the tool's name and version. Set `version` to the value + reported by `c2patool --version`. The `com.arm` prefix identifies this as a custom field, following + C2PA's [rules for extending claim-generator information](https://spec.c2pa.org/specifications/specifications/2.4/specs/ContentCredentials.html#_generator_info_map). + +- **`assertions`** contains a `c2pa.actions.v2` assertion. Its `data.actions` array records a + `c2pa.created` action, with `digitalSourceType` declaring digital capture as the image's origin. + + You supply this declaration for the exercise. C2PA Tool does not verify how the image was created. + Signing makes changes to the declaration detectable, but does not establish that it is true. + + An action can also include `softwareAgent` to identify the software or hardware that performed it. + You omit that field because the sample's original capture agent is unknown. C2PA Tool generates the + claim, but did not capture the image. + +You supply the provenance fields above. C2PA Tool generates the claim, content-binding data, and signature +when it builds the signed manifest; you do not write those cryptographic structures by hand. + +C2PA Tool also offers a command-line shortcut: with an empty `assertions` array, `--create digitalCapture` +adds the creation action. If you omit `claim_generator_info`, the tool supplies its own name and +version instead of this example label. Keep the explicit claim-generator information to retain the +Learning Path label. You have already defined the creation action in `manifest.json`, so omit `--create` when signing the image. + +## Understand the development credential + +The example uses the private key and signing certificate built into C2PA Tool. These test credentials +let you practise signing, but do not establish a production identity or trust by public validators. +Do not use them to sign production content. Keep the development credential for this exercise so +that your validation results match the following chapters. + +For production, C2PA Tool supports an external signer that supplies the certificate chain and uses +the corresponding private key without exposing it to the tool. Once you have such a signer, +the command takes this form: + +```console +c2patool image.jpg --manifest manifest.json --signer-path /path/to/production-signer --output image-production-signed.jpg +``` + +This is an illustrative alternative, not a step to run in this exercise. +`/path/to/production-signer` is a placeholder for an executable implementing +[C2PA Tool's signer protocol](https://github.com/contentauth/c2patool/blob/main/docs/signing.md), +not a certificate file. The signer supplies its certificate chain and signing algorithm and +manages access to the private key. Do not copy production private keys into the manifest definition. + +For production conformance requirements, see [C2PA Conformance Program](../1-understand-the-c2pa/#c2pa-conformance-program). + +## Sign the image + +Run this command from your `c2pa-demo` directory. The output filename must not already exist. If it +does, move or rename that earlier output before you continue. + +```console +c2patool image.jpg --manifest manifest.json --output image-signed.jpg +``` + +`--manifest manifest.json` supplies your definition. `--output image-signed.jpg` writes the +signed image to a separate file, leaving `image.jpg` unchanged. + +The command exits with status 0 when signing succeeds. The expected development warning is: + +```output +Note: Using default private key and signing certificate. This is only valid for development. +A permanent key and cert should be provided in the manifest definition or in the environment variables. +``` + +The command also prints the generated manifest report. Its generated identifiers differ between runs. +You will inspect that report in the next chapter. + +## Confirm that the signed file contains a manifest + +Inspect the signed image to check that a manifest is present: + +```console +c2patool image-signed.jpg --info +``` + +The expected output includes: + +```output +Validation issues: + signingCredential.untrusted +One manifest +``` + +`One manifest` confirms that the output contains a C2PA manifest. `signingCredential.untrusted` is the +expected trust result for this development certificate; it does not mean that signing failed. +The byte counts and percentages also printed by this command can vary. + +## What you've accomplished and what's next + +You have defined the provenance information, signed the image, and confirmed that the output contains +a manifest. Keep these three files for the remaining chapters: + +| File | Purpose | +| --- | --- | +| `manifest.json` | Your claim-generator information and creation assertion | +| `image.jpg` | The unchanged unsigned source image | +| `image-signed.jpg` | The signed image containing the C2PA manifest | + +Next, inspect the generated manifest and confirm that C2PA Tool reports a valid signature and content binding. diff --git a/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/4-inspect-content-credentials.md b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/4-inspect-content-credentials.md new file mode 100644 index 0000000000..375a1d2c3d --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/4-inspect-content-credentials.md @@ -0,0 +1,191 @@ +--- +title: Inspect Content Credentials +description: Inspect a signed JPEG with C2PA Tool and ExifTool to connect its stored provenance with signature, content-binding, and signer-trust results. +weight: 5 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Display the manifest report + +Inspect the signed image to see the recorded provenance and the reported signature, content-binding, +and signer-trust results. Run C2PA Tool to display its JSON manifest report: + +```console +c2patool image-signed.jpg +``` + +C2PA Tool validates the manifest while reading it and includes those results in the report alongside +the recorded provenance fields. + +To save the report as a JSON file that you can open in a text editor, redirect the output: + +```console +c2patool image-signed.jpg > report.json +``` + +This writes the report to `report.json` in your working directory, replacing that file if +it already exists. The signed image remains unchanged. + +## Find the active manifest + +Find `active_manifest`, locate the same label under `manifests`, and inspect +`claim_generator_info`: + +```output +"claim_generator_info": [ + { + "name": "Arm Learning Path C2PA Example", + "version": "1.0.0", + "com.arm.learning_path.tool": { + "name": "c2patool", + "version": "0.27.21" + }, + "org.contentauth.c2pa_rs": "0.90.21" + } +] +``` + +The name and `1.0.0` example version match the values you supplied in `manifest.json`. The custom +`com.arm.learning_path.tool` field records the separate tool name and version you supplied. C2PA Tool adds +`org.contentauth.c2pa_rs` to identify its underlying library; `0.90.21` is the library version in the +tested tool. Manifest labels, instance IDs, and UUIDs differ between runs. + +## Inspect the assertions + +The `assertions` array contains a `c2pa.actions.v2` assertion: + +```output +"actions": [ + { + "action": "c2pa.created", + "digitalSourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture" + } +] +``` + +This is a declaration supplied by the claim generator, not independent proof of how the depicted scene +was produced or whether it is truthful. + +## Inspect the hard binding + +Under `validation_results`, `activeManifest`, and `success`, find: + +```output +{ + "code": "assertion.dataHash.match", + "explanation": "data hash valid" +} +``` + +For this JPEG and tool version, the data-hash assertion provides the hard binding between the manifest +and the image. `assertion.dataHash.match` reports that C2PA Tool successfully checked that binding. + +## Inspect the signature and credential + +```output +"signature_info": { + "alg": "Es256", + "issuer": "C2PA Test Signing Cert", + "common_name": "C2PA Signer" +} +``` + +The validation results also report: + +```output +{ + "code": "signingCredential.untrusted", + "explanation": "signing certificate untrusted" +} +``` + +Keep these checks separate: + +- `claimSignature.validated` says that the cryptographic signature on the claim verifies. +- `assertion.dataHash.match` reports that C2PA Tool successfully checked the hard binding to the image. +- `signingCredential.untrusted` says that the validator's trust policy does not accept the certificate. + +A verifying signature does not, on its own, establish who controlled the corresponding private key. + +## Interpret the result + +For this fixture, C2PA Tool also prints: + +```output +"validation_state": "Valid" +``` + +`Valid` refers to the structural and cryptographic integrity of the C2PA manifest store. C2PA Tool +could read its structure and successfully check the claim signature, referenced assertion hashes, +and binding to the image. It describes the integrity of the provenance record and its connection to +this image, not the truth of the image or the recorded assertions. + +Read this summary together with the individual status codes. Here, `signingCredential.untrusted` +means that the signing certificate is not accepted by the tool's configured trust policy, even though +the integrity checks succeeded. The tool distinguishes `Valid` from `Trusted`, which additionally +requires acceptance of the signing credential under that policy. + +## Locate the C2PA structures inside the JPEG + +The JSON report is a readable interpretation of the embedded data, not its storage format. In this +JPEG, the C2PA manifest store is carried in application metadata segments called **APP11** segments. +A large store can span several segments. Within that store, **JUMBF** (JPEG Universal Metadata Box +Format) organises the data into nested, labelled containers called boxes. Each manifest contains an +assertion store, a claim, and a claim signature. See the +[C2PA JPEG storage specification](https://spec.c2pa.org/specifications/specifications/2.4/specs/ContentCredentials.html#_embedding_manifests_into_jpeg). + +**ExifTool** is a command-line utility for reading and writing file metadata. Use its read-only +inspection commands to connect the fields in `report.json` with the structures actually stored in +`image-signed.jpg`. Start by listing the JUMBF labels: + +```console +exiftool -a -G3 -s -JUMDLabel image-signed.jpg +``` + +`-a` includes repeated labels, `-G3` shows their document hierarchy, and `-s` prints tag names. +Look for these labels: + +| Label | What to identify | +| --- | --- | +| `c2pa` | The manifest store | +| `urn:c2pa:…` | The manifest label matching `active_manifest` in `report.json` | +| `c2pa.assertions` | The assertion store, containing `c2pa.actions.v2` and the `c2pa.hash.data` assertion that provides the hard binding to this JPEG | +| `c2pa.claim.v2` | The claim that references the assertions and signature | +| `c2pa.signature` | The claim-signature container | + +## Trace the stored assertions, hard binding, and claim + +ExifTool's verbose listing lets you trace how the recorded actions, hard-binding parameters, and +claim references connect within the JPEG's nested JUMBF boxes. This view exposes the stored metadata +behind the fields in C2PA Tool's report. You can save it to `metadata.txt` and explore it in a text editor: + +```console +exiftool -v2 image-signed.jpg > metadata.txt +``` + +The following entries help connect the stored metadata with the C2PA Tool report: + +- `JPEG APP11` contains the JUMBF structure whose outer label is `c2pa`, identifying the embedded + manifest store. +- Under `c2pa.actions.v2`, the decoded `c2pa.created` action and `digitalSourceType` correspond to + the declaration in `manifest.json` and the action shown in `report.json`. +- Under `c2pa.hash.data`, `Alg = sha256` identifies the hard-binding hash algorithm. + `ExclusionsStart` and `ExclusionsLength` describe the byte range omitted from hashing. The stored + hash appears as binary data without its value expanded. +- Under `c2pa.claim.v2`, assertion references point into `c2pa.assertions`, and the `signature` + reference ends in `c2pa.signature`, the label of the claim-signature container. + +The claim and action values are stored in CBOR, a compact binary encoding that ExifTool decodes for +this listing. This view reveals the stored structures and their connections; it does not verify the +C2PA signature or content binding. The image remains unchanged. + +## What you've accomplished and what's next + +You have inspected the recorded provenance, distinguished signature and content-binding results from +signer trust, and traced the report's fields to the structures inside the JPEG. The development +credential remains untrusted; reading these records does not establish that their assertions are true. + +Keep `image-signed.jpg` unchanged, along with `report.json` and `metadata.txt`. Next, use an external +validator to examine the same signed image and interpret its results under that validator's trust policy. diff --git a/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/5-validate-content-credentials.md b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/5-validate-content-credentials.md new file mode 100644 index 0000000000..61873b5c06 --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/5-validate-content-credentials.md @@ -0,0 +1,102 @@ +--- +title: Validate Content Credentials with a web validator +description: Validate the signed JPEG with the CAI web validator and compare its provenance display and issuer warning with the C2PA Tool report. +weight: 6 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Validate the signed image with the CAI web validator + +You will open `image-signed.jpg` from chapter 3 in the +[Content Authenticity Initiative (CAI) web validator](https://verify.contentauthenticity.org/), +a browser-based tool for inspecting and validating C2PA Content Credentials. The site calls this +tool *Verify*. You will read the recorded provenance and compare the validation results with your +C2PA Tool report from chapter 4. + +According to its [open-source project](https://github.com/contentauth/verify-site), the validator uses +WebAssembly to read and validate C2PA data in your browser. The website can still make network +requests, so this does not mean that it operates entirely offline. + +## Open the CAI web validator and select the signed asset + +1. Open the [CAI web validator](https://verify.contentauthenticity.org/) in your browser. The start page says + **Inspect content to dig deeper** and lists JPEG among its supported formats. +2. Select **Select a file from your device**, as shown in [Figure 1](#figure-1). +3. Choose `image-signed.jpg` from your `c2pa-demo` directory and open it. You can also drag the file + onto the page. +4. Wait for the image and its Content Credentials panel to appear. + +If you use another computer, copy `image-signed.jpg` without modifying or recompressing it. + + + +![CAI web validator start page with Select a file from your device and JPEG in the supported formats. Use this control to open image-signed.jpg.#center](images/verify-select-file.jpg "Figure 1. Select the signed JPEG in the CAI web validator") + +## Inspect the validation result + +In the Content Credentials panel, look for **Unrecognized** beside `image-signed.jpg`, as shown in +[Figure 2](#figure-2). The orange notice indicates that the CAI web validator does not recognize the credential's issuer under its +trust policy. As explained in [chapter 3](/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/3-add-content-credentials/#understand-the-development-credential), +the built-in signing certificate is for development and does not establish a production identity. + + + +![The CAI web validator shows image-signed.jpg with an Unrecognized status and an orange notice about its issuer.#center](images/verify-unrecognized.jpg "Figure 2. Expected result for the development credential") + +{{% notice Note %}} +If no Content Credentials appear, check that you selected `image-signed.jpg`, not `image.jpg`. +If you transferred the file, retry with a copy of the original signed output. +{{% /notice %}} + +## Read the recorded provenance + +Scroll through the Content Credentials panel. Read **Content summary**, then expand **Process** +for the recorded action and app or device name. Expand **About this Content Credential** to find +**Issued by**, as shown in [Figure 3](#figure-3). + + + +![The CAI web validator's details panel shows captured media, the Created action, C2PA Signer, and issuer C2PA Test Signing Cert. Locate the creation and issuer fields in this panel.#center](images/verify-credential-details.jpg "Figure 3. Recorded provenance and test-certificate issuer") + +## Compare with your C2PA Tool report + +Open `report.json` and locate the active manifest as described in +[chapter 4](/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/4-inspect-content-credentials/#find-the-active-manifest). +Use its `assertions` and `signature_info` fields for the provenance comparison, and +`validation_results` for signer trust: + +| Information | C2PA Tool report | CAI web validator view | +| --- | --- | --- | +| Declared origin | `digitalSourceType` ending in `/digitalCapture` | Content summary: This is captured media. | +| Creation action | `action: "c2pa.created"` | Process → Actions: Created | +| Signing certificate's common name | `signature_info.common_name: "C2PA Signer"` | Process → App or device used: C2PA Signer | +| Signing certificate's issuer | `signature_info.issuer: "C2PA Test Signing Cert"` | About this Content Credential → Issued by: C2PA Test Signing Cert | +| Signer trust | `signingCredential.untrusted` | Unrecognized issuer | + +The captured-media summary and **Created** action reflect the declaration you supplied in +[chapter 3](/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/3-add-content-credentials/#create-the-manifest-definition). +**App or device used** shows `C2PA Signer`, matching the development signing certificate's common name, +rather than your custom `Arm Learning Path C2PA Example` label. As that chapter explains, C2PA Tool generated the +claim; it did not capture the photograph. + +The web panel displays the image's provenance without separate signature or binding status codes. +As confirmed in [chapter 4](/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/4-inspect-content-credentials/#interpret-the-result), +both checks pass for this image; **Unrecognized** refers to signer trust. In the next chapter, you +will modify a copy of the image to see how a content-binding failure changes the validation result. + +As discussed in [chapter 1](/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/1-understand-the-c2pa/#understand-trust-in-content-credentials), +validating Content Credentials on its own does not establish that the depicted scene or the recorded +assertions are true. Successful signature and binding checks show that the signed provenance record +is intact and bound to this image. Establishing credential trust also requires the validator to accept +the signing credential under its trust policy. To decide whether to believe the content, consider +the signer's identity and reliability, the recorded history, and any corroborating evidence. + +## What you've accomplished and what's next + +You can now read the web validator's provenance summary and interpret its issuer warning alongside +the detailed C2PA Tool results. + +Keep `image-signed.jpg` unchanged. In the next chapter, you will modify a separate copy and inspect +the resulting content-binding failure. diff --git a/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/6-detect-an-unauthorized-change.md b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/6-detect-an-unauthorized-change.md new file mode 100644 index 0000000000..452abf7e87 --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/6-detect-an-unauthorized-change.md @@ -0,0 +1,147 @@ +--- +title: Detect an unauthorized change to the asset +description: Use jpegtran to create a grayscale copy that retains its C2PA manifest, then identify the content-binding failure with local and web validators. +weight: 7 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Confirm jpegtran is available + +Run the platform-independent version check: + +```console +jpegtran -version +``` + +The version and build depend on your installed release. The output is similar to: + +```output +libjpeg-turbo version 3.1.4.1 (build 20260327) +``` + +If the command is unavailable, follow the [libjpeg-turbo install guide](/install-guides/libjpeg-turbo/). + +## Modify the signed asset + +Continue in your `c2pa-demo` directory. Create a grayscale copy of `image-signed.jpg` while keeping +its embedded manifest unchanged: + +```console +jpegtran -copy all -grayscale -outfile image-modified.jpg image-signed.jpg +``` + +- `-grayscale` removes the image's color. +- `-copy all` preserves the metadata, including the embedded C2PA manifest. +- `-outfile` writes the changed image to a separate file without re-signing it. + +The command normally prints no output. Open `image-modified.jpg` in an image viewer: the image +should appear in grayscale. Keep `image-signed.jpg` unchanged for comparison. + +{{% notice Note %}} +Keep the input and output filenames different. The command overwrites `image-modified.jpg` if +it already exists. Preserve the manifest with `-copy all`; otherwise, you would be testing +missing metadata instead of a change to the image. Removing the manifest cannot turn a failed +binding check into trusted provenance. See +[Why stripping provenance does not establish trust](/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/1-understand-the-c2pa/#why-stripping-provenance-does-not-establish-trust). +{{% /notice %}} + +## Inspect the modified image in the web validator + +1. Open the [CAI web validator](https://verify.contentauthenticity.org/). +2. Choose **Select a file from your device**, or **Select another file from your device** if + chapter 5's result is still open. +3. Select `image-modified.jpg` and wait for validation to finish. +4. Open the image's result or **Content Credentials** panel if needed. + +Look for the grayscale preview, the **Invalid** status, and the red tampering warning. Compare +this with the **Unrecognized** issuer warning you saw for the original image in chapter 5: + +![CAI Verify displays the grayscale image-modified.jpg with an Invalid status and a red warning that its Content Credentials cannot be verified or viewed. Look for both the visible edit and the new validation warning.#center](images/verify-grayscale-invalid.jpg "Grayscale asset: invalid Content Credentials") + +The red warning tells you that the credentials cannot be verified or viewed. Use C2PA Tool next +to identify the failed check. + +{{% notice Note %}} +`jpegtran` preserves stored thumbnails, so some viewers may still show a color thumbnail. +Check the full image to see the grayscale edit. +{{% /notice %}} + +## Find the content-binding failure + +Save a report for the modified image: + +```console +c2patool image-modified.jpg > report-modified.json +``` + +Open `report-modified.json` and find `validation_state`. The expected output is: + +```output +"validation_state": "Invalid" +``` + +Under `validation_results.activeManifest.failure`, find: + +```output +"code": "assertion.dataHash.mismatch" +``` + +This means the image's hash no longer matches the hard-binding assertion. The unchanged manifest +is still present, but it no longer matches the grayscale image. + +Under `validation_results.activeManifest.success`, find `claimSignature.validated`. The claim's +signature still verifies because you changed the image rather than the signed claim. + +## Compare the original and modified assets + +Compare `report-modified.json` with `report.json` from chapter 4 and the web result from chapter 5: + +| Check | Original signed image | Modified copy | +| --- | --- | --- | +| Image appearance | Color | Grayscale | +| Embedded manifest | Present | Present; unchanged | +| Claim signature | `claimSignature.validated` | `claimSignature.validated` | +| Asset binding | `assertion.dataHash.match` | `assertion.dataHash.mismatch` | +| Development credential | `signingCredential.untrusted` | `signingCredential.untrusted` | +| Local validation state | `Valid` | `Invalid` | +| Verify status | Unrecognized | Invalid | + +The issuer-trust result stays the same. The new failure concerns the binding between the signed +record and the changed image. + +## Why replacing the hashes does not restore validity + +An attacker might try to alter an image and reuse its Content Credential to present it as the +unchanged original. Replacing the recorded hashes cannot hide the edit: the data-hash assertion, its +reference in the claim, and the claim signature form a chain of integrity checks: + +- **Changing the data-hash assertion** can make its stored image hash match the edited asset, + but changes the assertion itself. The claim still references the original assertion hash, + so the assertion-reference check fails (`assertion.hashedURI.mismatch`). +- **Changing the assertion reference in the claim** can make that reference match the modified + assertion, but changes the signed claim. The original signature no longer verifies + (`claimSignature.mismatch`). + +Hashes can be recalculated without a secret. A replacement signature that verifies under the +original signing certificate requires the corresponding private key. Without that key, patching +the assertion and claim cannot make the altered content pass these checks under the original +credential. The protection comes from the signature, not from preventing access to the manifest. + +See the [C2PA validation rules](https://spec.c2pa.org/specifications/specifications/2.4/specs/ContentCredentials.html#_validation) +for these checks. + +C2PA also supports legitimate edits: a new signed manifest can reference the earlier asset as +an ingredient, linking its signer and provenance record to the edited version. This provenance +chain records the modification rather than concealing it. + +## What you've accomplished + +You have added Content Credentials to an image on Arm, inspected its embedded provenance with +C2PA Tool and ExifTool, and validated it with the CAI web validator. You then modified the image +while preserving its manifest and traced the resulting warning to a content-binding mismatch. + +You can now distinguish asset integrity, claim-signature validity, and signer trust, and explain +how signed provenance makes changes detectable. Content Credentials give you verifiable provenance +signals to help you assess an asset's recorded origin and history. diff --git a/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/_index.md b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/_index.md new file mode 100644 index 0000000000..645b1437e7 --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/_index.md @@ -0,0 +1,65 @@ +--- +title: Create and verify C2PA Content Credentials on Arm + +draft: true +cascade: + draft: true + +description: Understand why digital media needs verifiable provenance. Add Content Credentials to an image on an Arm device. Inspect its C2PA manifest. Validate it with an external validator. Observe a content-binding validation failure after a controlled change to the image. + +minutes_to_complete: 55 + +who_is_this_for: This is an introductory topic for developers who want to add and validate C2PA Content Credentials on Arm devices. + +learning_objectives: + - Explain what C2PA is, the content provenance problem it addresses, and why provenance matters. + - Add Content Credentials to a sample image on an Arm device. + - Inspect the manifest and interpret the content-binding, signature, and trust results. + - Validate Content Credentials with an external validator. + - Demonstrate a content-binding failure after a controlled change to the image. + +prerequisites: + - "The current stable release of [C2PA Tool](/install-guides/c2patool/) installed on your Arm device" + - "[ExifTool](/install-guides/exiftool/) installed on your Arm device" + - "[libjpeg-turbo](/install-guides/libjpeg-turbo/) installed on your Arm device" + - Familiarity with running command-line tools + +author: + - Kostiantyn Perehuda + - Yogesh Deshpande + +generate_summary_faq: true +rerun_summary: false +rerun_faqs: false + +### Tags +skilllevels: Introductory +subjects: Security +armips: + - Cortex-A +tools_software_languages: + - Content Credentials + - C2PA Tool + - ExifTool + - libjpeg-turbo +operatingsystems: + - Linux + - macOS + - Windows + +further_reading: + - resource: + title: C2PA technical specification + link: https://c2pa.org/specifications/ + type: documentation + - resource: + title: C2PA Tool source repository + link: https://github.com/contentauth/c2patool + type: repository + +### FIXED, DO NOT MODIFY +# ================================================================================ +weight: 1 +layout: "learningpathall" +learning_path_main_page: "yes" +--- diff --git a/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/_next-steps.md b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/_next-steps.md new file mode 100644 index 0000000000..727b395ddd --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/_next-steps.md @@ -0,0 +1,8 @@ +--- +# ================================================================================ +# FIXED, DO NOT MODIFY THIS FILE +# ================================================================================ +weight: 21 # The weight controls the order of the pages. _index.md always has weight 1. +title: "Next Steps" # Always the same, html page title. +layout: "learningpathall" # All files under learning paths have this same wrapper for Hugo processing. +--- diff --git a/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/c2pa-manifest-workflow.svg b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/c2pa-manifest-workflow.svg new file mode 100644 index 0000000000..4467568b59 --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/c2pa-manifest-workflow.svg @@ -0,0 +1,106 @@ + + + C2PA manifest structure and workflow + A C2PA manifest contains an assertion store, a claim, and a claim signature. The assertion store includes a hard-binding assertion recording a hash of the included digital asset data. The claim references the assertions and is signed with the signer's private key to create the claim signature. Three arrows lead from distribution of the digital asset and manifest to separate consumers, who each independently validate the manifest. + + + + + + + + + + + + Digital asset + created + + Assertions + recorded + + Claim + assembled + + Claim + signature + created + + Manifest + assembled + + Digital asset + and manifest + distributed + + + Consumer 1 + validates the manifest + + Consumer 2 + validates the manifest + + Consumer 3 + validates the manifest + + + + + + + + + + + + + + Digital asset + Image, audio, video, + or document + + + + + + C2PA manifest + + + Assertion store + + Hard-binding assertion + Hash of included + digital asset data + + + Other assertions + Actions, metadata, + ingredients + + + Claim + References the assertions + and identifies the + claim generator + + + Claim signature + Signs the claim with + the signer's + private key + + + + + + + Hash + + The digital asset and its manifest can be distributed in one file or stored separately. + diff --git a/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/c2pa-sample-image-license.txt b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/c2pa-sample-image-license.txt new file mode 100644 index 0000000000..c38edb6cda --- /dev/null +++ b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/c2pa-sample-image-license.txt @@ -0,0 +1,31 @@ +Third-party sample image: c2pa-sample-image.jpg + +Source: https://github.com/contentauth/c2pa-rs/blob/712f03b72cbc1b00fc41adee5835fc92be2758d1/cli/sample/image.jpg +SHA-256: f999fd78bfe8a83c96e468a078830ba94485bc1bc6fd086fb94a43bd29dd0f23 +The JPEG is unchanged; only its filename differs from upstream. + +Redistributed under the upstream MIT license. This notice applies to the +sample JPEG; it does not change the Learning Path's documentation license. +Retain this notice with redistributed copies of the sample. + +MIT License + +© Copyright 2020 Adobe. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/verify-credential-details.jpg b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/verify-credential-details.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e17d8bcbb9b87424c16cfa238b6d374a9c8f409f GIT binary patch literal 38838 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

^`awu`XxQ})2f1m7 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 FKLFG$b5{TW literal 0 HcmV?d00001 diff --git a/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/verify-grayscale-invalid.jpg b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/verify-grayscale-invalid.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d4cc3f51851b8225b0181103852281ce1f139729 GIT binary patch literal 46021 zcmeFYcT`i`*C>j|j-Uq-P>P;IH#8}s3LceSg=8mml};ek1P}y|9z_Tc1R-?L03n40 z2_!%$9_d9uO6WyEN`f@$*dD*{``vec@4h$g{qFtl826vI_85DtHRfD%&As+ov#q&) zj{N+{^Q*bBnK93iBRo7u4j-PM<2<){P8>Ua;`p%>Cyt*udGf?5-d}lnPoL(!aP}PE zuOb&NUKF_?EG#M^b4654N?cg@H^twiWaX}cu3oyLbWKVAnvDEa`F{{Oa`NO!-c!7S zyu5<)qQau`|I_8?-#h}Re)({m=jahho?irx92Ge7vzbTYA8Z~!@(+IhOF4G*kk3=U z965am_W70P$kC&}{BrEXX+A!_qbH6Z=Q;Ar(PPI2PW*me^`ziU+Y6E!_aB#^5)x6f z3x4^!Us&pvF%02SQ8$xbR@QqSG$9VXT9y$EzqXIlPc(^bA z?-Blcm0$GR+CObYet2P0y)T}h?0CfVzlZ(506Xp!p3=tICjFKi@J0K(0YmyfOamNN z&B^a52~2)7Ca zfWBb-#ZPnbomn5F9xyuc&F?Yt^fWD~DMarni2hB&V(M`oOd}N-z(JCv-5&)dkg*p-?y#rJ< zZ6K&o4|7oyyOC`$FhrGpC>)3U1|*2VB@nIH4R_ZTVEPQR^Tfc3qvtGiT@KDx0A2b< z`a%~Hj$0{i6oT&OiAY!!_P(9QMPKi}8^N)Tw(T!7-U=f}TiuIiLzG-3PyqyUVtz`g zHLNgQI-qBu_RWASUL!QVQcT-`8&_5Od*e!t)0eUD}p-6@!&l5{K1s zpPeD0Bk|JKB>>8Y^|c!}?Z{&5YPQoQHx{2!BRv5@^y&mZng3{ifmNyzL1Vk=_P|sg ze`AC!`XP!h^|)L8=hSrP&v+YL)S&ge$$g9Z0$01?t>PIpJ2Jn^dYq3j;ILXrI(E%O z9P3vciN+AWfdRqi;-G{VTH4@%Tn@b{vVM#x;X5e26tEVm#MrL%=|nKB-n2=jhful# zKF`U@^tG9F53ocV%51wH)Wg{bQ5J~TCuJMbNu7bUzNfY4#ph4H;QzsAQTRQ|Z&<+j z{IpHbYg$!j3ha*aJuc!mptCBz##wSE_^n%(&wmv%{|5w|>OR_&r4)QNEyQM}s4_;J zZ7c_8Zzx3XJea32`TiUfZP*SaaHu;6k(@cal@i$Q)-V|?W76?_?ybl4`xDbAW#|+q z$X0YQ7^Tbo%z%@B^7sko!-LxdojIb|Mw(Cuo4j~w@){{It3H1vy3eu7fzySf5~+p7 zbZSrjOsHQmS|iIZG>P4j@pW+VsiF1y^sD(F$qe+D{K^0xXVqo2NDG5Dw+*AKn zp&GWhle~^6hlhpFNa@Z{*77b*M;f{ygI9S~gEC{gmRvTcNx{~C+=RP?x740 z*o>@&IJ+1p;#5xLn`&$4DD*)t*+f?NdU0#+XlZMhn6jQjre!~%Dwk1x+gg542P>LW z7YyBkBz1zHx}*bqZejuS{CS#x!;(nlbMxCX&@aJd4tlvQkpJE>zbLy3&5;(WFD>>f$uC!cn(5V$*hc_*#QSHjZmcwk>#hVjse@b0_FSuFBszS zygzx4b}tv^QIihls*5Tnw0OJH~!37Syb)9RSt=KjeS+?#AOtr(}4b)H?0t_mwlxC zgsz+IPL3?%XgX`TzoE0RoO+j=M3s!Mzy-jPNbeZ|Nhmlbh34fd2#J$Pvt=5$A(JY) z8LrDn9YSF(oa5s`S6g=Y*j{eE??NvZ3L?hU=X-nWxxvfFaI^&2R*G3L&FPu5(0YrE z-DbMeP|5lI^_-HJKgKTT(kGotS9RSk6pVvTU9wfHiA!0peSXn-wLvZH(h)p57GG!Q zhkf~qPy=n@KU;t_QnCqPC@e;Y5H6S(|H-g(KSe;F$N#tgDq#Lu6ZIPfEN;|H9-qq7 z{$6yr&ZXTL&RDl#^{Fo|Q|##q{dv}0P}v()!3|TGf>ImcOWDTD7e*JyE550r1zb1U zctdK?V~6A`k2kVX^BXXDEK}IV!d48AyDF#@C7u}y=-Ju={O4{K>)u{Ur8D(U9yciI z`=T>ox<}9j<`_@+T-BtN=V;lW)PRiEiNV`U`$C7nIt9i zlF_Ko^Mbg&9>L#tpg(z1StdVub`UlTmioi!q8KF;L*2*p5)DjDdBbz*sLVh!R)Rh1 zxy3!^*BrzdC;7Dt+r9b5EW;T$eR8I;TvN}(zXJ`@N`-U_3%kDK9=DINI^k;KHKLdw zJ{WSsQ@~QCZS?&R%L&TuV4pfVkAaf1i-`nl`+ojNS&)genyseovu;iSf$n@17bOjc0=-Rn&W8m$*N9iqUTk zgMq$o4Opk>PoA@+c%cnQhk{q6stZe2*f21J#(B@-IjP%)UtU>|wh$Bh!pAMs@?0nk@%n$#@F}C62ebRM0mqfAZY* z9j8Vwzb0cWJT1GKfGRuL-{J?~)Wy)Ybx4bAbn9mx-VZ7PWecFo+9k&bZD z4a&nAN=<&&8OIUy0LD-EDm0uEt*`199MFf+iw58lx4o;!oJ=I0+|3YIKe>;0RQK}E zX!h&_y$OGz|I}%6xPzFy@6|tiCN>GlSSGts&=MLTj)QsD!MyR*S9Isf^wW+|PN9X1 z?|~JbJ=lj})mk#A{kRSU#O2Nr=hR@yLP)M(+J@}|Jo)4FpJ(AO3&pm>{-o87`44Na zD%anPz)nA)EhD(2=NxnG_L5-jpI%OFczaH38#N$wSFHNwOj#!ylr9k!aZ#v#CL()8 zx5hy_3851KY4sCp%#0cB^*Wo#6Fh%5_N|k@N}q^=?Ax-^^^Du+Z6_pzQhjiMYk5y& zk#F}1Y*8C%Brziu`-k;!3>Z^W39$q{w=wEg<#qs~G*l6~Ufw=DBhZOqf3~(LXZHCON4!vw<%A+S+XYth>#{Up{76*={8Sv%@675lkyc z(PD8ivh^heg+8s2QW~PyVgiyo?-~5e2D=DX*5c*SY*c52_g~9K8@bv1<}k=$=xi{`Uk( zU*uVsOSr0AJK4`KUruV=DBNh!U+t<2_pSQ-Uj)rR zU9|J3cCSdi>|6fh>c7DLw^S+rbkPJ>rcADs3>E!(LJ9q0XB<}+R+t~zI;_OlX*i)z zx&oaKA)T1D z{RXl%;uBi&;+Vl{?afP>NA2wo#2I5{IH$t0u~?SVty!#YC$2->e`dy5GDuc5eiCbn z&2xI8uG5(isf%J&F%4+NGXI`HE9#v}ejqsU$hPWat6x1Aeo+cRc$Gz};3^gNC zL9igGW;|erCBKvt%(NNo+#8z+BF}_O%t!62B?%QHS-S6p2t6I=Pw4a;n7On_mxXK9 z2W0_2p59tB0{GEF`Ys9woe$>x%ir?mT7`IuoMHJF-&38mDDnaGbKiwhainx%he=!O z5$8d_-0IOKDgfPpq`p2cancX7Os4VYGrR_an4*>Ns%J^Y3WAi4FlU_yi=j$9eq%r4 z{e>d!x;)ks(v&MeRQ|?GDd~5}H268=Idq%1Ti7amU{ct3TpzoEOjl60u9M@Bc0o;g zY!ddmQUot{lHDJ!rK`U=QCx)*ax1JJL(JE6b*mgpu#xg)(8%75v5t76F+~$WmJP<5 zwRezM+Le$ov`c-u(DK=$d<3RSVYIo;EMGdgrBU{)r%1oopM08>!dfe<6RAbfMv*22 zPmCkjq(V*6CvK{uW%4?-N83W?C(rAo8xeJ|A(`lf*z6feE0@4RGM7Ux$fe{@D0Ay} z_ude?dG2NR7M@WiWDi3mj2gRLkO}WNWNN6iiidrpNv;Ye%h_Fgu=2x}TnVxA`)VJ5 z>+ay>d@Le9?@mj)geV!$n2;b-a`6ZJc%Bbv(c6%T)$cO!hAtUJ09Sxm>1%kM91Z_P z%JIkhU@3v{R_*eJ3#_HH&ya)66&(j6s7!s()5woynJl@I-Yy!mwLJB*X8P6Z zhACwYW`ukornB=|%35-1db+?ySh+nr{G2q@@?P@Ym}*xJiHxtF64t*NN=ltHGlHf) zgrYuwG+NFjvB7|_Q6s1}{?|#m)6%E>2cL>cPy@{`ETjq%EYksP_l!%hy`Isq$*6W< zETHW!vZQL*fy%ycVT60NnBZQRaQf*Cf*{5m4?FT&f~cH6X5RK7pJg&JH&C@I%B&aK z$G}vvvxb(mi_@0`)M_)L9RS;i!eJE_7qRS46&^{&rix-|I*td>$Ohw|Jo|NlaP{s) z*@gLlT)Jjf+DgT^U0zC;pxZhuh>@!7fsj>goS*FIh_cbrS9fD|9~-s+GwJr1*v(uF z%(T4fBLU*Ed1TJ;Cr=9Q+)tjifgef5OB=^*2b#pM8MnVqBDSg~88fJcjgpcfhWda0 z4;IXkUv?v2(QS)?p4Y!Wb4{sgf$OZgTKU-u0T0`scgZX~**9ircJ%vXZzt^|81F+u z{j!OegpJo8oL@i=_baz|!3=;|PAep%%%sFr&eXvrSDsmJLMIxP!@s_~N+IISVM9v& zyoj!6bm(ISKPn*P{%WV{4-gn$k+P+z9E|i9wBhdG$BN&GuB|Gnth34s6|C6Y^sZ+r z1Y8)j>o&c~PtkEBt=OfdbMj~`WW+TRx`1VM0jVUw?4mKFQg znNk|bBvH8)P|J$-=dcXrcz0~_O-K(T)Etwl&r!_v6&7E~&WmRTPeqJPN_JvO#Jyyt zJif;CELCN5st_$_AHLW-Cz`Y2-8VuAW+LfbBBV}jE&i@B@6+zy1JIe z$nn-(e5#`bH5$c$3DKaGmsBpn#2B;Vohqr{)zpRj5@lly2xe%w>s=0xCb)}(H7Dq5 z@&(c~W8-GHPG_~D;X;w73(dm=+C!HVI2X;!JjioH1AbTcvB?OE`& z+n_UY;a%EA~}-hFlaReyX`gY!qaT{qm}-A6%lj_-1o@xF&g zPjY;3ctevThPu)Neaq=s9iFuC+-c+hXQV2P92BASLU&?{Y=~6e(?&*n7Sz%^ph-zr zm!h3bCWGDgzaX`$X+d$g@UZ$jV}znuCY*_=Dh(=6(KXSBH%TbKis8eoc$Un_`Fp#Qpc&SxLP5qu`Y)%a_$lD$%#($$rc(ot3WQm|UpzAvt6&jc zZDb+QbM-E`Q32fXIc2$-)C7%7cx!OM+ST2E73%0PpwUzFlPA1lq;m~y>)hN*{PMNx zYC!7tt*%dD&(fD&_YS70<@)VIYtKScw4L&W7D(J{F<6SS@1u1DCTp=U`x!_Gq|8To zbmhFHK6yHlZFEa{A=_2vl$beiub9qwY6#{3W& znjaQVs~9h;pC~Lw47aAED$s#s4;y#)NV0$3{?1I)Ae!HPfnA3B8q<%aj-n5R$|UnK zxzft2kKt&{ByYIDmYWa`kPBaejdS@!%I&Aip);0czG1^v39)%BGo|YMu%S2-VtIY|Zo@?HYbnM=Qb(uMc$xk11abtX-%qGh>f8MCB z3H!v=H6Rltv)a5R_8y^hawb)=s{0qe=RgZx0DgWUBNxa4D>7nIF}bnqjAIti7*H#B zALDCJ=5E7Ymy&8=4ZMzRklSWM(Y_>hIRNPEg$GW#jdeOG%nZ@tcR|F0z(89YBk>6V zmX;wV*Yc|YIE3&G>rV@IA(&BO4ZazyQtCVlHB7GHZg>qpf!XkdG}qa-4@SW+c7i<5 zd8OA*u9-PFRB*a)TZWz zU`bHGu!3{WE(mnq3J9c9Sgh`VYF7n$U(l7iQYDxenpuH3cc?XaAuh>zuI74+Sa;`~ zEf_ax7EUR{qcy%1dx9bIckOn}nrbK0!g<4^Rv$jydf4sYM!RvUEv9=qdmUZfbts^b zV~+=RSo*>id{VO+3Wfm{56&{s)Tpe-``;wYGh3>tOJO zN!0`Km;%St|1bdt_l$ZVw7Vpm=Ht6Nmy~i_%3~fYjnn$lI?{F{uCk@j4Kw!jA>6U` z&W&jZ6PF|v-a1vt>jDOkIq4sjD=BoWxgu$tMKTcH& z^Q2H|(S{bhhlfr{ALbI4Gohhy9ix@;x*ft4>uQ%ECG9$wP9U|y08^Ic;RXKX4%2-Rh3$w zH;z09TzF|_zCV8ckCExWSLHy;4^fTCx0w{Y@@h;{J}30y(#Sj+XI;~|Xx!SqJ+me0 ze%U>;yW~n*bk^&_FP?T8CMISsN=T(Kx@bq}kd1_rnCmwhT-j8u#;*8mn$shfk6Pq| zfSQRAw8obITzKRx|6sYg-K4^{a)!eSLzpW{Yw-EW(`d`N)BLzIZl^?Mm-4K4?iO&i zhC*fD88o_|4pLSNy7MEMeL;JWP`K@HF$dxnizE%b-=b{aI>_lX(MQ%*d=mpn{< z!t|MxavrAm5N(}@WyKSIoa=yO3+50!{8QS;=iglskG2p`+j`(16%ki&+&!u}PZu5q z*Ks7S3pjX2v$q5AsY%`lbcmGpW?P~HaII$Ce^+Eu>j8R7lrU(gi(#dDKEdbpnyl-c zA`(9>U@(}3r<#GVbYwwVble-fX0#`=%4cLHDP3vUu@joH)BFUNl>6xNZ_}Bt`^rBk z`rSsC672V?g+b=B>l^L~7yt5~QJ;P)*+gXr<`1)-T&z>2CvQ=2!%WafxQckhY?6>D zIjcjMKN?o)Pb3d~`FjkbHPkN&Wqc34^eoapA5;jxI=vtmS(zK0*UqV+{f z6Q^6khqSDQJ=g4dFTYJ0dgL!%!ICEs%^eMN31GRG$|jz`b>kA=y-p8NyPrG~Kd|B3 zX2*@LQ~3HcVV#3v0=AAjpFcsN({q}KlcC*n@k?@rhDP)KubmPBDdt>FyTikB#8n6E zsbWH5sMyoS`@(#(zwVyJJyb5S4+J)-dcxX3<)AN{5sa%^7L%OOwEm>_hi*6FB4W>E zOvj;9p>A6wh)6(hiY5uhreK-w46fyyMOgJgcGOlMWH3*&rDQcM~IC z9q)}4I=N6lZ7{5(DOpG@p&{g&ZVN$sZT^b;ZR3kEUs@;{C^RDl7;^Cgf$(i`#mdTn zsB1Nrpm%B0p)E~@0~2I1{l<9+pzhR|oR5uPHC*ld+w;$nddJp_*1aCl@o(^9Z9Vqi zM8ohW&6iYmwI|gNI)q->N!E`T&N|;@%?PM3NIGjkMMPtJgKF4-<-$QAuUNT6%6CAKlW@O zRJWYr7gM7Iu`g$OK1ogzrKBVDh&}2f9>1Y;%x2b;%l{#iFoR3&WS>+los)b}uT zF*7VR0g)*wx{00u{E=<}V#^;$3+e}45DUf6C7jjlY;_V_J7P;OS|t{V4N)V$6@K=S z|CVLQv}MI6Rj!e6#bOmM3Q~x|D6v>Dweg`5$Vq~nlFnDmw7u0COY!m#0+S?F+*1Tm zlVPr3KAtwPKG@czZ?t*u64?nzV+e?vdV!A40rX+xzC_KI8E%ETw^n-aIv0S}~} zKqncK(4fu&l@wcKsuIDlC{Gt@4F>E$hjhOU;CsP%pM2;o8(GSZ`#T0^!$3<{-Kwm| zQK)au*Xa2=zq!hElAAxx%o=qTzKkBO>);XoegpBO&6`kVSF?t>aQD)3h7JJq0DEk} z;!mD`1~PBm{HJa`{@Z_8=l#bJg^>Rq$b6#zPu+Ur(tu1Wd7!U&l{T&ZisUEd?%_7m zZPMAQEK(jcKQZTB(;HI5rG?M{AcS1vy0!hockS)^4Vz2ta@`HRn{9F{KY3z(u~g_< z_t!u8lK9>kII_0>^{!-*FEryz=BHkFzbh z;3tp$Lu@`lcFwuyv%#C`zmG28$miiv)UCCl9*9bNthXMR9qiEYXIXM(yj5qtAlG*$ zn4IsTUjdf}yv1MM(TWT^vSyx?N$JG(6!ALknf{=xo1~ z_q{SkYpWBTe~RwR6e|b84}Ih^RL0eS^8g!;KK*wuRlza$(r%_F=#U=p+!O9e_P|q%GREa4gh0Jb7!7~=c4=s+bgrvf ziOBV^7=>EY7pITq)*KJAh0KLFindJ|&<$1Us5bMiAa1``U7qJ2OU0~6S9i|nuK1gV z1-c|1m`#;0eb14gLK+9Woe)#T1Vy z{Np#}nuf*{6$Cqa;3Dus)31I;n1IU{|)><+dKlB{1ki; zjWCrOufyK3p_=jBlhA*Z9kurD+(2u{>EX$LX>6(#&~$DDe^Xy#JR--uSZYW_`QxUZ zgZZOAhSI_*sAWNc>mCW@5aYq0JidTSl?H70ysmK{-R0oon?cQ!n#*2Qe{8#zB>kNN zmUjDQ-}~c=4)$wZn|?a7ieKTvddDvV??;v+nfl}@Awz_5ojhp-6CG%SEUutWBm4UX z+Af?vcItqgQqB--9E5TQMf=++Fs;%7 z0jIahKAt#eNq!Tu+OEy^sDk2dTk-XDJIj%jD|D^+uuZb0XShqZx^L~UqcXC3oGYw5 zRM;m2D;#b^FvfL+MC9kcd5pO@L>9dw;7h0<34|w+K3Qzl2=}Z|g%DDDZ{%uTrZ#@) zYNFhxTLQbW*2zjny^4R61xm`_+yA;lz%TvevAkm+0JZJ7HC}wYw&^^nN<aAaV$^W4;J4WJ4Og%zOk47sbmSE&li`PH@P*xgi@c;5zku5rB3$?fF z1-JCzxv9qw#&z3_6Vlu|uri2n@9y@>n`mlDC42n$oY+{>=Tx6+$2x1T2)K5qyF!N% zEX}L+cP8AT*}+OUeNJ7qAVqEM{g_>iNAg5=^3bqfOLnf-(ezkeqrLP9JZBn}xIr>l( z^n;PqMD7$O$>vhj;If%_8N6dgOJTxDwTLbDC_8xc;^uH-8z1^!S(yey^F{f%4`Oci zZLh7ZB0X3~`=0wjb)Q)7eeSTnNLKFDQYoBb#hi5Ti=2Gbw*kK$jI?<9%smMxFOAuT zcy?}1_xoLb!O+_dAQEdR(%7@YO~*p?;@>Bco_6k%=erg|Qht!vTu>oVWI%Q9)9uta$ZF(Y-u#Mbuh<>gV9$~vO-f+*yFzy zlSyt9;#`s=Ezo}SK7!(A0){_7+pD58YmivFwOdr>ECd;MdJ7;^=rkwe_Jc+J+L=z` zf=POhNa$VI)-#eH6%gi<_oi)Z1@GrQ6qSD19iSai(9}$hi_7Ywe@HIea$2G*H6{XBE{Y6^@#mp_fC(0cwYdED9wFpub5bDDEEy{gBC6VQoDz`MM zgz3D8NwMg4pY(MGQyb;gAiyP?FFzRl4Ra;GU{?AhWARitNvv4%zg-&|_;Fq+EAsHV>_j9%K%Pac0| zl%E{~TcfKp8-l0U$*VT*l$;d;Lf2}OJbi|BF?~Ke%qO!;97rlgf6x-PzjN2@6n7CB^MW3K$xEwEG!tbk1Pf zi#omkR~YMhWbgPB;<*=FMZERU z(=nd>I*+P3ogC1Ly5?1n_zz}nVjg}YpFPRLl6d^gSyb9Wd|Xs_=a4@IPcCoc->kYc z&AQg){f?pWBmRwZ<#Qn`rmjVjQA6ZjG4A6h;&{A$`QI4gQi_0J{0J}|VC3^z7bI+9 zW{`_>%+|jl!8Pk|fNl30GhhbdWUxrQmbKFi|D%(pWBI&Sj$v5R31qY`sK1$JnwQ&p z7?BiX&8Sy-ODkd7;U!krY1FQTR~8-#Z1vU>L&J~r-!4q&PxMr#85#?Gd7f-n4*(D# zvYh=4i1D8+ueeJ<Ei+p z!SUbx*w^pq#ZYo{Qc%bfy96?0mtClyGp$j6Fb}D4=O2icoIq+WCrGFF59vM;i@uO& ziD<`Tjl$1llb%a5daU~3Aw#T9Tk7|!WPd=x>EvIM(w3$N1zXXs+7S;&7T@Z(ruM?h zG8W(ULL01oFzY)DdBIN+KY7B2TB-e!x@@J{Ww4;K@Defz)@EVlx~rPX0^G{!1flnU z;YPYp5M=_MbJN#^v-jHYRY^7A_`MwSde}s9C8ZnAAn}%*!5eNw)Q}~2RuQ$h@`efA z+a?8^@$hYl>)qVUB>Rz7Syf_utfcY}W#01TJR^y}#=It6KI)qf;1&HH&dV%{nv$B6 zHob8Zv8la((F&s)<;==1PU~Gu#@0PpLn5X82blcsx4lX#ZNQ_r5!|EsyQtr#5DC#tQIN$;rwghPdg9!O0!gDE$w}S7jCFI*)KgW#o_-c0 zE)E`AJ2najU@x)Sfmx%;5;(f74ZZMPIJ)&tG`B&?H#eFmM)7IK6$Edet zu|1w>@69(C>SR@(Z_2M{He7j6n9t|y76)!xG`j6QQcFIaF!QZbt@o%#FmPPu-x}Bd z4Y%t$UtbIKUpp2muB)2}-Ld;ODuw^nJF(*L|DV*R{J+oDKW$|FJci347&V=o0K&3e^$Z9>(fjNLnI67 z3C}t~%A@1@o%UAa-W=g~La|LY&WjON{#I3YgT*qw32VIP}D-RE-feb*bJabaLAvxf^Y=nP7SXu43g5oeJA-X4TYx{*>tZ6|vrMJS< z5(EPI6A4Iy?hUKkUIP_<29Hjc(Qv%E^>OX5-6~WN%0hrZXLaXd`Kig@haAwyrlDa`e#XsT25x{sDPX#a=-l&XPGdPcf*LzT3|j{csE`n7lse3ykP*i7+}T;T4eyJt z7Ie=rZ9=viDSmW;JTx>_D~iC&f~LvQ4h6B=QQN=S^u>~#p7rEoMh-HUJneJ0a2oK4 zIxDzpF5v0F8?IRWZ3V828S*tDl}U$HsrXyA+LFfR0YjT)y}2{=tsnRS z7-#jucJ`Aew5jFX^g6*imNesf(%eA%poyB*9$bIadg7y_@K- zIgZvSP1+I>G3J0o=NomEk6DscG&X-|XG9+*ty~z~oIt8I2^l8EC$zTRU)`mKNRrFp zSJ&RSat2I%!FXCRtAnUqK77+wwCU(a?5V<(%byFsZ|24)hDB<>+LSVm6@paq>2e6GLO__@RK2LYYncU`hm)?H#ldv!imbn#MBlvILH zxDkuVJ9be4sr-xq**>+EFDI!i)Rn6jC?o{Y?!6CN>5IWX2Zl$fD4SAq)Up$(LrlO8 zu3*0is^te@G*L=khT95+vSOX%(#~z`%s5l51PDf4*&dn8>Ior0TACuloWm~(g1xdm zyP*BWJp&M{Fp_60FJ}B<#UBY7QuvfilVHjF?bXo9C@YNO;-lW2P6~S`FVuPs_Gl$H zY_-*W(qILNSlR?!ys5F6KB?lu3}PPLLLAXHC!eqWQZI}!Uh*IazcjS1iED5{T%A5P z#1SB!$#0%Brm)z~wO5-O3oeIsJQzM0nvATNc7Ih0kccdZ#g$_!2{f#>w$R?BfOg6? zOwD|`6a=Ak<6%b8#hF@@Gsrb8nt!S@(sA0FZ z`}2LTpkZsh?-jKkHnr#bMI(o8-K(d!!A8!oY@JKi?Ii6;ZhS6=I7DF@9_9u?G9-=K z%*V^@#wA|K5~(`GRk9;z3b&GejD1B8Ay}CtZXIahMSDAYHK{u(rGmFsMa#V= z6zgCKQN1|xyqn|ai!?%a>kx=-r<(S?uCX_F=CIVn;5@O47~TsKIu3@ zLKQ#Bp0f=orc~IdPcU%1gY63q)*7g@h#6W>SNmX`o3JTI4*vWpr;Q>?w)s9-M_@i4nwplehqgo6PNOOkDhJ%w6wE- z7u}$4<3v`FS7N`kE22dS^n48YoCTc=6A-c`jdz9U7Z!E{5e%8uNuN}N(VStplbAD^ z4Gob3+UKEAm-4)%9KO-sY-pq8K#x z*nf#xzB8#FLW!jz{BkB|1R!R-W?~`|b`^*AY=|=4U{~y8tNfP1>oR(G#A`;k65Rm2 ztUZE-9Y&Uo7vo1(phhd2#}gpF%`v!AQk{t<(=XkF{>PFG+)TV*lF@ybgVvr?q81a+ z&bA)+W$H$yONTVs-03*H>h^%_B*otIw=smZiQ*Se_g0}HsIbu3w*_+QQ4J0)5S&-= zws+E9rs((bgi~cp+y)wfeKwPjUp_E)H9$x~vAn#z0qT;{)fks$^%A}KzS+gQnz_Y% zR+uxckwIKX1>9}Rbw4r2^gAP#V{?>Nsgy9L7cKq4*+)7*+u{D~oL`Dyy!gaCISWB9 z%WNg0jc~&QYST+Yq#fAcjc03c18b4iQh15*SB3QUga(0M7s&E#Rh6hS-HZDia&Az3 zCR=wg)?nJLE#!l4{&?uCD)yKs5(rICTX7%RO6ll6O#F!>ji+16a$&Amw4Ek+>h;YbTyPCsgJvy=hV z2)TU+Gb~viIjjHy86~s%yHCTHZUieK(At0XQVj>m9&CVNs3EIhZ;fw;1i{N z)-6%)xG>sPBh4z59Nc;>Z(PT{%5jFuQfG}0MJ@yURz|6yh!Tfs>3~Sda`N_!rQS1f z%Gytn0yH)WhF^@Dec$R_+ zEBM9Y?qB8!iU}eoPXNR`S9m=9aDRi~TYtF`2P)WYN_5@P&&z>mIYzG|t=!@7(&f-5 zc63I|=*xcp&kNpn7Z*N-g?G(s3|vwjO`Ol%eN^jRUTF1`=QHH1&o_~Sxj)2y@{E-1 z^zEr^w`sW!-O$oM2>+m@Kh5U<#$!;iKi1C!GH+RB;TRdDl`t{I3TPaAm6O>tU>i+;or_W93(}6>cg@9ZQ}0h$K52K8wtfo}GFAD1zPAU>!X_ zYmkXjjKg%T+CJJd`|;R_K@}D<67Uuz%U$YjkPNpB4)*lcEYC({4qw-@7C*0F%l^sp z;O@5lqdPlm@bB}F*!RC1E_=Nl&@z?Fj$IsT<7G&@;$iC>%7UJVD-LCq19Mp`HJ)$E z&ip7>c6=*xdVYwrO8Ut&{xv_(G5W!N^o##5ibhkl4)#70yuk3bpN6l3L51Wzr6bJO zvy|g!*w7MrNM)X&R&P=%S+zpoVmD>J-WK5o=2TY+$``{K-6=5+GO^ouP3L>(*m z)$qr1oZ>X#7!?~H6^)pAOx%YzNi`#ZMuny-xC| znQxqTR({wPt70kg>&eAzG}OA46@QOjBvi9JuC4q7)0LtA)H&Gw8JS%7b%VFJpVws--1oumgN=zzFm|fL zAvC!(QXz$w@z_@Id31_6`SX3gR38_Faj*~hJR#oqii;p~` zj30uH8v!!n;0x*Ln{Y^@V$7W1;kK@@;kb2w3R?~DI=!1nKc)sfl2vB8~)oE?T5HFYek z@g7gs|K5B5|L`y~eTQKW==a}v&fhTP z3D_#VWmUym|vjO6oCM3&~HjEpT({<|^-bB?hzC zX0{7LO$B|G07lr@!9j%37D~Q_^fF$MG8cX(4CtH>8<{>xw)Sl^=Z1|F3!@vBO^)%$ zvSn_>akAS?6tRH+zSsVycWUPR5Ph<#pC2&DEpNn$Vi1w`{V9iWFF=PDI>2zwQC4OC zx|PFM>nS9mP#l*npI2Tru6pI|x3%H$Bmtu076UB8E8Hfb5!_`Um(&wq76Q(-G65ZC zy(1Gd``)r{A^FEv%A~4oKivFy6`90He0(0pG?SW(${QoHTcchc>vk{Rs$E(Y-tF)I z&~_VQCLRhI_jtTs{soL(mJ4&z5(EH|x6$3?Cg=Hr?nmBv$rhFnYg}GvZ2M>;#9-QK zGv=>X4A{g~1+wq&%fG!&k|l-@p;|7+V1O+UGX!1Y>Y zx5TY*f&!QvgBRIL|bD z78d!ETagP{825AeKY4PFq_UkP@)al_p|5b>e{@8=9G)AoFDhng^TtX}U=medBPRlR*oQFBxH8~XO zV7K&?8(}p<+5n_LVCb)ltuk{GN*CCvEN_XJmA92P-jP}!ZA3k#{h00 zxlLReE6uNcqLI`SI2ti<15}qznlKx3^tKonSrcBkX~Cy)!M4{1B1D6|AHH85#SLu& z=>w3Na(0J zwuH&dL6U}Xj!NoAxBXt1TaHCNMRlgOCy0eTeCyr9`pGl1d9{~4h=v`M48RAhtnM@$ zp&-Vkk)CQ_ESU?R`4Q`=bX&n{}OHam*|?$(MMk|{204& z{6{r@d8}<=v4b=HN9FD#sMb2qLGPlUDGx~@Bl^X!MzSRh-3lS)ioDa7O5cr(tJ>?G zE{x{4AH@I89)_t;nJ%SF#X0;18~^m4PxJfOPo6oOttLvD_gX>P(|1Stdp=H}|{wgC$tH45@7D5gTBOUHUtJ!-++ZXgm~={;AjK;GlPGjg zCyljW831q=7u(xX<#~W}i>`dk6aCmzvZa0vs)po%V6+yxEa(ExWrHSGHhWauFYWP3 z@bH_RgF@1KYXV9|B4T>(J-!p3VU+8_#-qQoQ5FRqaAhi3g=Ub@%&s?*faP;$RP8X` z%9hCY@%P8)-h(jG#R}VCi8uEZYItoHUg#)_MsrZzTY97!x0(d!gZU2?H=mxr@u|b9 z$|}XG(lhe$jG|}f!dF5Xaa^gMbv&=KqeraJ(M>r#xw)wHG3g9PHd|5z&ynSvH#Vf< zFjZ;c=#*m^tVTblWoyp?hiOzB*{(8^^XM;AG|HLU#!it;G~;x?QvoHlbQ_yL2j?{^ zG-et$!e0En`;wGU_u_S4C9Es=SBdvwXj z>^(spRF8!(sS@5&e|va@0Z*tfMdq?|$y?`H8B-(HsA_e>YTES2Aa77v7K|EEW&WA8 zO-2c?=C~VD>6>Zeu*uR5wt3N+X!uu1x0Y%?D=OlaEhF=7rrUYNJT9|EV1KqwYLX&p zDG4But%k%pn)BSCLEH_79N2oD52VR(7Q!aU;fj=lDykLmAd-I9_8lpjYWqu?iYev+qt z@@zmsb^S1Fh!#R+9vr?7UNuC`xj?sLFzS2y4kxmjBTnQH!vc|5j5DFeB0NzK0|A7u z*#QnXNVbb;gskro+5agVuGCLq5Nq3_>vmQ~?4|4PzFiXfXDCB|PVv8P{S7SW(regX zQm|gY@K-U6R8vV;7!EU8yfbyzjD#8Rdn|yHJ5th)yZcR?8#3>$&-k=|62S;s1X-;d zxtW>%$;~A*u+|FKWU)}1B{&>y>ZGuElaPBTk{CQ%*}uXw01}A;O>B@iDJ|5b73O(o zX*gHwZ5HR6=d$pi!JUrwCPq311yE_keTcaSYekewpG1B4?PP7Qh-`K z4rLe`ZizCei{oM2@G$!k!6aE29>yWuc1>k$eYA4w8mVJv89d}Ro0h6XYU7JXiFRm; zTg4s^9k0-e!0ZN!Jdyo}E6A%~5Y@)na0NC$*%i}#y<9fEMdB3B*=Iobu4{=ZTYPAc z3CX-O$%LkGCWI3@J_e zS6leYZ#_hYsGJbW%s5T7n$++PU7eokN!tk$cn=;;Kb)pr#E4X9nJUb4ItR9)KNg|y z+N8v-l%&agsN%&nEvJog|LKydKzV?Nc~eH!QsC$ne$H~^NcaY>DnPWq9qygeDbms zoqn+hCDRjk;L(V2e-v2i=E8*tSLMOiV@3&?X-BCkedo`Y_A|Qff4ZatVe#R}(X(%@ zz%k{6_hgw@fo=?WpB~~)oVrIN4Pimhlf<$kk2h|90Yh`4ZzE`q{7z&3u(hs!_`($3 z;|bB&!uaS_rV!5J)7YW?Poi*{zB}mZj2i#qwtS$Ot_kID`luh;ZWW3_>(llz3qKf- z6)60WTdMe0b~Ea_^ns(ewxE4_(QMOjV76bOrorAonw`yhx983gNN_=o1?t-4Llv-1 zgPHrX@rh@jQC_k1Np@O+H|_`bLBM4z!9nXOt6P-ZO;Eqykl<(lYC7=26c!E5ZO^k` zolrbdR{?CM(uaJ2hg-|LWk*ZMP~Ke3N6l!>P|!OzrSFpC_IP^P<^9y6Y&W1RXBVPozX0(XQ{ zcSpSM_ZBc4qtG3zx@C7VnY+5(()69=sCq7eX4YAH*UxT@U46DtqfPC|aLlbEt~e_s z4{ffMX4-vv@LG=L+*x#-rNJbZB!=JhmU!+w_knhcUnp61e*@RIiR@vDH@>_ zItF`jY$ZCp@u9H;F(~6Tu}I~u@NEw>ba^_3)l^NN^U~zDW9f<~ms62ESf@X`w0Wqy zhD0g4QZCpyI39@_AJAL884kj~@pCp&4casnM}F5k1pyCm*^F+tft36G>kj!5w!`Cd zjdqzS^&j)F>c;?b#C`{mikw{*wXwfXOvNJ!FF31HHK6dd>Ql$C1VcY+Ukq5s#1U$ggVh-_ zW?SKmS`X0&Sk1}JDIhWHKl~eXldVhbfdYQCD|F$ijyS!3aj*q{%=arC!K}X8kalF zZ6=QM0!{1ST6)XdOd=)W34%RTM(e+H-?{r`6#$hTz`Rh@IJfY(Gs`qvJNWa$J8j-nnvt9Z=) zad;MGxEcmPS`yLC*j_Wco-pmZBuQr$xcf!JW;TU)%f7!_+g8dW4=K+x1~OB%*RD)8;N`w-n**K3Yav1VWag2{>> z?OQd7jP}sz3cj!It2LuBmtL-vJtsUg_(Z#z{%i_u{^bO^j?DB5DFf_X%IBDGofa|w z`Ac{IZ2k{F8W6N^x2<@PIJO=6?tFCL8Dv;uvOF3}GLOtIE6&~*cGI+=Z>+c1<(He1 zdhZS1vh}~w`SyGE5wkdnks%<&HWwuKqMUJ8x|2621pd-)OlB*KxaN=Lc#70sS(I%P zaq)=vNq5P7r>zBqqeC!L|0e-w@ASMoaAqH4VS=#TJjJR zAD`HL(RB@$K-NNMXhd~&t0Ixo>ezTDp%?XyT>RjWi_pt@b@lhJ2t96wOaCtqjHB7} zwz_HM?OeQf>6cHH|6KB48voDdXA>@OE}62ffB!7kU(Vx~&CAuIBi_W<{?Cg3VGjNE zJVg3>FaPJlFXa$rr@qp=D_QXZeiG$JC8_-5QIAkqK5@Ff4MIqTzth7mE9(5pl6q%r z+s*RQHptDeSBq$J`Ps_-5$!OSrt9t3OAl$k`VDxVRs19>VVZktYOm>1 zAa!UphPODm^5>M@CK4lC$H}Vx8-lra|GT!Ri?E*D>Viu6fq)TnH;b;O`_ihGR`kt@;l6g8KuzG3 zv|#L5bPibbF~7TBMMF@IU4`0$7hjY_dl7 zt?E3bxv1@D))`f(*`2PTnjU91Sbg%OBFo9xWMQM_}j$ znS+q^19|Ipvx_f3iEI{$-RdYZ&8Uc$1V+dR_&sDzSqFHPEd-TA`jVq{(1t7~-e?C`uq z7Ne5yKJAwF*08~|qz@t#-m~A)T11GySH%g3x46-LVF}-Gq)%PInA8dcJsl8X;?!@Mx#C(@_>zE-lOz^*s&ul3@_=gDj4ZjJ_EQE^(;oAUOu{Ss~fWaJRzp>lc?M7r4z`8-e`j0C+G=S_(`-!`EvOKs_Q6HCWtT+7`^jQPax#8 z12Q7@B=slJkx%H>cz~W!&cU;N)eAN2pG1iPqd@lWJG@c`kZYytCwpwDF1LStp~1aE=t=)SP4je-fGAP<#FB8|H7+ ze-~E0d-HGbapI?c8}cs#Ft_MD?PYZSrs3hXfRlJdS2gdXQ{2h>4md3CI~PCZ<4G`* z9HKZ-ln=#(EWnZ0L2YdkqD4v*H^v`gY)A^+G?}%p8TYn)n`EDH;04#YqZ>1OPSEg@ z>?1dJ-~Lw}A|*=b{3MI_BKqlr7~_w~kHPPACO-P?P2?C&z_v4@2>}&Uwq6;9^LsJw zR4L4hC!#-zo}FMv%N6BLu$~(*`+g8|7kVCg&b$RZ&~C@(m!j^^A$F|tyxzAbb)esulODdoC(A+!FXLf%4-U|lL8 z4=dmKSa3;Pbl?@CVt<7ngc(}i&?u~WrPrm@I=F97!RoMGo^MA0i+J@hsV>*)Vl%qd ztWr4`VTbJ7)mC@NFE?J9kOD!=QGPshc?8&YdTj=@A}2ARMaz?NGCF#I-Bx%^~Zs zNW5HA7^?PEzHasNz6qP?ilZ1`gudIgGCJ`lh_ph1NL1fG@xm*N=V-y2DFgp0UW+s` zca;sd?4#c4UKB?KdetvQ6A~`(O4b^jiWVJ?m;b7*Y~34=a??#*UbdOZ@oq#GxF*-z z&2fc><+}V*8@!Z%;yypSDxMAR)dlKZ<7mV^yv#|#a=DV9xWH8Ys!k^87O4&j6w$x~e2N~T zB2&3p-BeaVTGWj(wkK_kHwD&}ffO#-_a7Fg$F3fb1HB4`)%Ilcj@)EFhp(IWKU=`J zj1nZ)Z-j_r9dsU2mxn03cbi$WH%t73meL>qXlVxoOZ2f-4o55HY(r5C{F~W^UUpgD z@EU8@gj>Zkg6G#V3pH;>CxOX2oyonnuIE=Y^$)5vw7zKIV$;Xl<6?1k72+vxuwr5) zOizag4YGW1hT9t_u5+kF*U%0xB_@UITF~|Z`Sg337CFtQn@7L$#35LFz|>Ypuj@*% z#g(*n+3F)5u7+p_yO5gH1Pa&92~Rb?Rq%`Ee=tTkSHR$k-=9K`a|tEwMqIHk5H1 zi3j)5{`mn{E~*yfO*)eg?)z0-+&K4SeEdsR_yzGF$f;RokV z!n`Mued}OQ-=LTfwmp^%a3M)k{#0h(&HD88Cy^p;aa*Mxi?e&;wkOOl8>X)t|Ej;Z z+x8S(lZ_F%&%?(jE4B7jTQE{HSQolILuJzAuX0h+{ov!r;T+@&+6C$2wH1P1s$~z* z|M#cC5*>b#0L=$Ki#xX{L~excK=#vLQ}z`4^z2}b=ken~Pk*sMA|krJ+|3>F$n*1z z%ugdPOP5d2A~Jsx1z0c53oO;DmMp}d4ntaszg;DM{maAuW*=W?@2zyPAwdREo#-)C z!$KQ$5#rivORC9#5W3v#SdFh=aknN$M5=Als)Za?Kxk5Ttd5$=S&d`h^J)0XYpn@1 z$CnK5I_kvuHYfxdpqldsSb-{QCa?2DM}0JGbZytgE=AcG#%2!?AW4(VTf?AUY2|x_ zd*qBhoH{SA#+SRjU$-V5O`BK&b5?{O_h=;LB-_r0C?RK|Qe@gx65sS#wZrX&e}tC| z=Tr?)h5qLCB}w=lbla=1ba>z+a=(?sN1NbMKrFMLi4wnDd?K$UwW_3}pCoA;zm`{H z^=P9{ATx>I&{2QUYU?Q7*FE5H;n5Httyd^=c|RA)$f!sRuohEGns-j>De`0inS`6j z3P7})0PCsrcgA?hzjgALaMye@-z|UdML&+0eF>8oWD}JxXr36UJW+Qx?ss%p8sEws zqCM(}>>(B`_26c+Pn#sl=~rXwq=*6ZiW!=uIG(uB_p_FUbqn=#&rdgFpgNQxYDuo?vka-R#5^4u zDF;;lac2R=orl2(_#^85Y1s5HdF1cJe+=<-B~?U5MZ}P)1$fP*5{}sE7l-*e+p(}< z3J4kGYYAdf(Pi%Z_rIIgZYSD?KT8J)Y^jl#91I97YpRwm#N&sxTl)D9R1GFhznkr} z^E9nRl-9<*$I8rp#VbWYgX+>=Wf7;zO;8+N!u(KwmHH)ZT2;a4OEWlh3rSg!+{@pSX9Kz$VbTwKOkH!if4Xy#!C^ilamh zT*(!wRegMV-ocgRj0jw5@D|&Ymv4I6Xt=I;MORAgg8 z!KZG>|cDr=^XGbapxlS}~%v%ws2j z0j1t!Ik&|X@;?P$FUTp;s?1ShkITzTw1Zo7JWAv1F5I-z#Fqy3!Xj0L6BmofjHk$? zg+V3hMB|9w2I7kY(1nqv>B^qj%4kNLZEmuU=~KtxO4HAwX=p^itVlTshIjlRRx&7X zrjVS2^#u$1#8hw5*JxU@BY~4GMmzc3xy3B~wN-9YfFG$yNF!HyA|ney9S3LER)Glt zE~+5vQ?>%q#pi{`FBzr;*dM5UhV`Cu@Gc+J5?F=T8<#_T=M!JiXx_RTC|VW(=8bM9 zRAaKHgyVc+XNnS4%_0IDRa5l>yUAuf{t4C{e1~5PWA<(nJoruXXt{annQD<)I(rkqaZ8^+C+@F5KN_0x4+GyaqZ~zCiO?}kYjyB z7+MLWgJQFT&p~(n>$iUcO**Mb%w28`jZkpS2AJ?V$b;$}a&98CPgVLe0pjI=IkBhw zkcvSbj4If_O(tx(`ks)cy_0}Na{nq_2(re))Q+lSP?3|96)Zze`;$nnb)aNid(CGE zZO0;d{z;e?T&1DR4sJaUhKuXYsJlYt6lcg~dP*nT74tuanF~rBPxnaiSXHjzQ!^7# z_%=qPr%hbhD=Yf*POTMSq3eY&LIjuV(}l~0?7Yaffz4R8OD1iz@yJDo>_&OD`^XKI z*ZTY>Ym&&xjS~#l}xvBt?MVzR+AG@ zS=ESGslpOHZKnAESa84u$MXg$GJ<298|q7hoD={57`$i2Ug$dQe$1U zc!4|#-16Bfk-nZ9PqmXkf#REQ99G|4ZL1&~$Lc=p4ncXQ9DN87%XzXt-dxJOQU5oY zLHXa18790kZ!=F(2_?vLo;%>Gek*F%Ja5|oNKYDmVnTB{5lY%xC?>DP3-NFP#8YXa zy;aldOxaD^4Ea|+tG|t=nAMrMoNyCIgr-O&^3kwTKq%j}`3#XC-qV)Xfpam1pLSbO zO!ra&1ttJ?RN57%_u(7?OaWw{^+Og}IDx|}>jKWI(kW$HGc-rf?EvKoR-E$V9A;kiP*ZX>S!-7bTgk@3`e#9#=RLj!-XUf4Z}LZlD2uNH=@j>=%1V^S2U5`m48R zTGGc)Qf*xAVS=DV?QvTjuK8&nOF8eu9GNdfBfC6_{J69br?=~)1}JB}rMGz| z0YnAvog0?w*wtwf$E%;?L%jweG85^LH4?p2fyFS?E>8`f0jz~nS;wve{j7`$!HiI3p z*AoD%KbhzR*oUZvE;rjGM9n19$&8Z3(R(dN5Nc{;>2bp$N5IA75pRjlZXN%KQniEVsrXz#o)Keb2k!I1Sn zj1u5=)4`n8U6wSJL)RJ2@DLlPH+&al2!OrufS%5ecczOH&U)&bfVDKl@chDS!@_o0 zDI-XI)_|#B&MZ=<+a@9=&qNkEub6XRKZ%pq-Qt9F&Kvng9I1p%UnpuVoVE6TK{05@ zluQqs1Dz8nY@)UbBx2#^ZXTFS#a>8&W}C?cy;e z-_o4pw3~+n_!aO=MeFJ^Mom14>11g!86oe(gU`r;z6%>m@rpPN@GD?Q4LJ@g{BFjE zwn64jr-KT9&9z))un39+O+1Mr)A8V#wEB*dx1ey*oNx##L>h z%uTBFB^lJv0n_=qz!zwf{?eAs&^Wt|?4s2KuB-EkDN(G^WVx4bw^e?c2Z4v<#6L~6 zU*^zAJ)p{w&aeI5-QhV_)R+F_YMuSvZ$F6&ujKriHU3Wh$2fruY4)1i4jJo(h})Vv z{GCE}+&U6IebuWgvJ|y#4fSTd=?S(Sd~IJdW3HmrT5D+!lI~&<`weDd2T6|~fGU2p z5HBTyxqgIkC=*d6X=jTp_}GxsU;(9{8vyXYO%Asn%B2Z;kvsMoL(eMgAs8y^ftV{T ziF?WnG4^A2f(&^BJ{fft+u9*Fo@&%P*z|YOCD!fAYVKimQ!os-BFTZ!6Ub?J8)$MI zFTr?D?0Tr|X5wFnvg7Yzwa|PP;CYXCUsWB#5IkIkJMB)$Gq>ldZ1ia%W9V(sI1@vf z@i5NZZ)GWQ!i&~!$;JE+73 zF$i~T z^riCW0QZ*!taXpwWDC{y7Lgkp?SB&@_x>9~#59#cirTcVvTXh#lQkho9v#k`P7J`hNWj`w4gU4NNWt_^?D z^KJ5RVI8RTY$bb2D)=b&wg3TkygW=^m{or`ylx|D@to_q6i=nsQvN=bM$isRb0-(p zq5;&^X=!U%?u~obquan^0A@24nv>*tXQpkr%pVojN7?&0UWt+M8OtKf7`}6+bR833 zpEt4iph#H|_gvth3$5KRdJ~y=5#0fJrL=I!{df!jG>w>@0jX`p@~cf}@O3gyUbPw@ zo45yRT9@mo4L2JS(=PZ)WQD-y7Uwwk1oiZnbL!?7STN2xk2RBSbQW!d>pWJd-`1w4 zT^zMR?H+BGQ+xC))wb$-^oT`*^w^@ELeSvh?zrN8Oi44&r5S(xEz)#ST+yQ(+C!gk zGtB}lks7o)C1^C6$j5M}Ertwz_8QxZ^`#&QgBP-l8E;r7gY_`W-+wGW7?Mbz)?cM| z<6GSf#@J(TJn&v))lgnz=@)p!*SD*~@4=>lL(s3ij-l-{{UOpc@L@V&D7B4@AVo|K z3AmiA-#m!`6YBhgsV`|=a`Ej77nQb3fy-}5ANk8=>gC;} zGyB(Mac1J&| zm|{qEeOYdigh0-FaHkE5&i*7?zY~$~K`Md_t|Z`l?bGpO^SI_MmbDk{`#Cr{NwZ&U z3DU$?jZH>`w?mK68dSW35}hVo#=*r%r)#$;f>sjeE7%PIzD$*(=w=)@6V5iZmINv! zW;hR82>m34vadkd)`r>nE;+9x0K3$9qXDj+&92oUrhrzf&U1UnqU;y;m=Fiv*3Idr z;p?ou`4I={!J+i}18ES(Bj>|p=`U&OYGHEjWbUGxDjPH9V}^rb1+YkC2i(-9QlWIBI{w19Qa_?Xns*BvBLMzjf~CcNUKzNW?IniH-5Z znMQN!p<+8-+q$j9FF0D@cAkJNADaBAqUMyfGwVfNQPv#MSptNP;9$Okn136$`2b9!4rd`ycl; z@OW#4~V)_Pn@+x1?+OaU&K8^o@Iqtm*>EnG6Vz1bytypsw2@8EE}L8FUpMe!y7`^ zR11W5I38ZVQ)eM|X_K>*JAD-K8t`zPSSh#kvYcS0L1u&qL~26;LxBOU+N;w$mW8Nr zSWs>i^9ndo(2C*Ur*f|b8Y5Qi99xbTZQTx*@~H}uTX6z6to@o*k0AWm`)!K=CNJZt+T zKxb!c!fjYpx!~QsOywHYx>gi^ahc(VO$@S9N6L$>plePxYdyxTG~bo3Ie8(+c)vC9 z1MKVkNMBEOY!p+FHZyCuzv9(#n0Xd=XcXp6k{10wCsYlF3m1v)eGzEP2_xk93I zh`u&fXgI6!Ph_9m*zPHEP30gVw~BxQsw+&_5>&*%GfmU3pHPP zPl)|ddSeMzipt+VKuy^|7ct&?-zj6M9(7QD;*FBRT2~okv=-@sif8xH8sa zEY=(DZW%x10@ST0A+cP^0?mT!0^>lZdr*!}wOA?-$==SG9s(|Q$EGx3e*7mIFo8vKk+cW_M5$7ijZSA?8>FQnx~s0twz=LO2;w zGp*nQrcVXBukivqC)6T5qo^B$+IMr7EU0h1*gV?0mX7cMvtY*J047*k#@a`0Qj^@| zR>OIVj_r{=<(C;&vGQVZR>lbVnxk7T=w{gB*RJ@&v%3U$Yo;-rQDRN#^cA7ECH}uX zwe?bcdE}_pH*`iBBE>9w`UhlszK)-N)_bn1Hd~6nFWD&Jg(7?PS(jGMV$%*le)ChH z4ovD@BjOH=5$LX$G(25M=rvf;BYiacs_9%W7yaAMBmoAmu;UElSuSPwk%w4lZHH!~ zQ`KVEs_fMz^NDG3mRrVCOlU=o>ZAD#A(j(0JVXk+dk|RY<~YNcKjvr{fqt@d(hj$7 zg!se9ki#WQp&?~EUCkZyb5V<1PIIHILpmA1~`nf>a;sX0inmp8K1!%Y&ER0H9U+Zj2#8204 zxoo7HS2wvAgPe)^zsW1|fT^g7Q@+%AKdH#B>$pquWU}4L6vyfH89ee>K#uAR*sCLk z;_$Es4?h*C=2b#@e6c1MBhQe4PHdbjP!7>TRGeq~wQ}fEMb_0s6KbG|Z>dXfx~a|N z1%&O%Pg%AyEoZ!gy0DgQ)Wrb~eW-)IETWWge$ia_obD`G4A@sD;ND^r&sFdsV#fux zk=#b^9jmdq%M+mN8V$>pxCNuB&DVvuVr>XXRkW=cr*RjqYNixiJ!X}J6r+2!owfn; zCngyp<&$+a8W%+O0Dphr{7(5><{@3v2;YU}KJ)a{abm=M*-AgcYzwN|7o>!@UVNO9 zyD~E4mEl^1hY;z7D{CQ0L*K~RH~%h05Ho1vX(>R4kSB!c{!`(IU`Knm!96}#S4!fN z+Mc$>@BN`|w<_t(hS%*IfQ?HBr-y93WpAW4vVZJGP5%<=U4h5#Xkp~bQ~Vgi=fy?eK=#5PQM$=au!bBj9!F4& zSW!RQC(KHQWy-_0RDahmB0yOHte{v?u;rt6nuG7oMD1r%MP$+aTpW-hh#aZLA^2`q zhlI(vQeHu}fM1!uB6(48sruLg?C-|Qm%^BLZICmkWzqnpZJ^EKV$rz4E@Yn8kuD@9 zSjlqs4N?kz)g0z};6BVB&61fQl|oZ5#0$lAn5tO0skc*NXh&^!m*u}Py|9c-eq5jA zlVB-yU93ZcdToBhUzkSm6;i;(H7BqBwuaFq55+Go7+`T$-U7DyV~WVvGE39Ry7L^f z`sFC5f)UZn1+p|lNFf8(3z9wy;wn#!P|o;JR1u0b?kCZOr7mYi655RpX>6@18bnaf zu1o2x_lHD`BXriAM=qCSM2AHX<0!MVxSDYY^{Ot-c`xTj>~gTpuWjo;2#xb`RgJy3#H_Az<~NJ;uyH8Tp3#HEk&?{$?F4DU`!pZ;<)~r zaa`W4AJ|xAo0BrSnx=mfY)tkftPf7_T$VihA-GDrZ^0vA2EU8E)LWLUV6+a4jmiza zsva(JpvL5cae$W%fR#621or|C){@xK=SlmCifYu%_IrH(j32r_(l47_I0SZyxOJ(H z10#*At(B=D7|&uDv(^ZLEqrfSS-${MSG|O&^wzL;NQ4Tw^y-O?v7m^@ruVcF#bX-DdYj|J*s&mLih!9QZ6q@zLU;T>}R zy3xor!wr&T&N+z}?nkZnlhL;fLmMJgE2y7sXRcP=(9%)KLk>WJx=&hOCOt8&IO-B? z&i64Lm_Wr|v4#Z;sUsK)R1+;_ye*UM=RJT?V`~IF)Z-RFQEyiH=oI0>2Hb8 zIcl=~P5TuRIWYD$dK??^BT8`6GhXynZb*~Y=yjP_rdDshObR8Wy#0#i1@e#I&3D-PG3>dpB=3%egKpZdjW2aQ70_GWDxB1n>2UmeZVy z{3#nMlIsk2tNrsb$-+BKr zRKNqh<4?rSjvrY+Ax?d{u@q5W&|45$;L3Qr^QDhqS3sl92PyT!?l}ASc)Uu;IB?yc zx|}<5>GDYLs@eUou;^C{HZ*%60;o8l0!#UQ)}*WGa#2OqSdKkaDrlwM-2rb>%Qa;3 zocey(B0pNA<~`>NYAdx9HS2=9U7=9wBl+wx>o@Y6i6mykS?^zc-A{ft#X(U&J5@f# z{ZW(pHmWGY&|Fz0j*xv8WZ%bg(Hj^_kS_V*EX6$oMO4D9GXaeRmYp?A{Gdr(^M!sS zl{?N9@uc*cPA2sur52-d_qJWJrw!(aPEldTyDTk|!=O5#SaL6M(3tDEXU zL?(3og?=NFCo2fGXr7D%V+(Ma-%vlwWj>C82S{BjXz=zi87?S{E8$&$6dMuvO5djz zad%n~^uZFXF*xYsr${un*fYco=q^90Nmod9ZsR3>pt#4dMVr3=jdQPdGDfMjNB`Dt zp8rka{1=3OTDWuRc(*XX{o%#K+D?}U+WR%ci`K}7Bl&U#zA)#(hDJ+m7gKLi%KOB^z z8}04MoB5OYf|eEtO*}l1YaSU6~FNmT;|B`6vY-T%H~UqpCDjLiH+rpI?Kg{tn)VaI^7V0 zz*%GXOeem51ETa8joj?xsPsG}xX03d5@lhE@T=Lkn+kY@2nnaG?sPbxdchpk@Yfa1 zRiGW97z$J@&r&RBMuYt>K+#i6Vm_cXV2MoB5>m=mMkH?Zt8ul$pTEsDEfL#0YD*o^ z+Z=sY!`_ujvX1^@`Sy;<*tWE93)1s+kYc9WL0%7xjFF7=aoz)WegoS}%weu+kbp+y$G&hSpM zwyvb`eq7^~RZ}mYogjYJxzuai3FgAp+j{cjnWNV{)pF(hSK9vYyyWoRid~AFFbMc) zwkT2yKj-gCHrjk)#<@g96sYw}Ciy#X)F4w!P}4KWv!8L&rRnb?dhpaH_el;~wD^?94SsRFJk`l@(Y&>3eo<;Rr7m$?KQ$bf zX?VtMP}oY3scAU3$*4*8*bS~N0&o_E8su)Kr=86@uf6VNP*^w+9XUBIa2!-P`dWfC zKORaFI1sXz*-uaZeMERyPo#nYGw&UYmX!d+cUSpH8UgXPWN7qe5-$Y&inA@%!WMlO9B&++Kq*J;QD zJg5Vx6R%Y-<-lqhNo{ItynkO80m)Z&cr~B5eAIhnLyuanJ+oJAVHN~hYgf8X-)HIQ zS2iF49oLa4{pLcRGKf{c6W8--kT_53+1Q0F>%VBnP#7Rw$w(vs5aOw!{kA3Vy z*U~3aU6bonYP}tF=W0EksFt=`0pA=)NH<4L64=PhN;ASBphO6u@uBe3h%GlG#KFMa z4l^9B!GMQ2Q*>UBf0I;z^v)4A-WhIQjw&ZnZ=Is=%ZI6SGHq}mAEwHDF_Dea(=&ut z@3fpJX{y5nkOk$HD@f$2@N%xbc7bItDoS@QoM?fD3A_8HMEr3ACD_Yb6!6h9=9F&V zI;ee#Uym}#6mKr>Rq`XPWFPG*R3Om(KC84xnM&R&Y15}9UKNnrMMHy2J(Ti{Lm!1( zpoXZE-)V{pd|aAe3ONgnA293*2#;B!@jDzoMQ%{jA|F=hk2ay3m$T*ZXIc!$La{>c z_X3Iv^(ErkG|#H0Mks$0Sx6TVF0JiPqJ)&w2O?0!Hst!wdDuzQxmE6ksqJ}=LYBv^2T<6>(-DFQ0s+9mMNXq)sGv) z5f~5!)DU0#!iBsQVu#>d|LaeCn-Hfjg zKNy&48x*2enmUsfI%}SN2ljX6?%vDaYRoTaV`>7P`h{Rzcj->7{Ma4#de_->#6^8= zDzt=Krds(fl}`hpPlbly$1V6dHpy^mY6dz+=|n_xGF z0W*AREk!U0Vw&?lMs%Lnh+nYmo>DtZ`9heZUi@i*X@DUQl{dt32mB*7M`#(AAG4?T z*V+!6T#oPG13>L61W(gUYZ^iU=SAcG@_|yJ_d%x?6=$JDc=uY1m5P;^^mz8 zUa6)vvtrCTbcOzH6!nu8g9;|^yCnrESzV=rtqu@MxP~3SOMeN}oCgcyV`LEN?qX4- zAPe8tjiyRadscf&2lBt1)^B#$bt=!Y^0aRhjvj)ct! z!bS*`)mq@uQ_o@xY9La1NUVNhXa&Q5?sGGwxSSl=lzl{+U5IBwTv|?%#bIrFVsP>e zA54@6Ip&$~li3wgR8A86T^jWT@{HfdVc(&(d}S5 zg}mm(Dt)jqp>ppL-Hl8GPaY)Ln1Igv_^5rR3nJyhBGc`FyYV!>O*otI^3G!3;Go&y z6zWKqle_!b8Udj;3^B-rGZ#?sR+zih_^N6`(cpj?gim&JpaT{fCl{P@&t%P_1h@Wv zW{3AmoRF_cC-OY(v2zXmhvu)xr!>3--n&cKyd0#b{P+s~KwurD*5q`F=SL|clY&e zitYcaz2^*TYFidTEO?Mhvw|EUsDvg;z<_`rO6W19(2Il!1`tF*qzI@WAVmq#9yX~L2z|75YX?#|YdBx1O!36DQUa>v|&h4ML_82;YwJocZp&Q$O z$>Q~c2eDQ!&41m>9`cVtfQZoU zem9|&6&1*FN`r0l{IYUzT7!MZy)P{HkAJh`>OI-=nQuD!_Jhg&)1YnJ`Z!^5c6xHg zMRW6O&!hT?_T8K@n=b(`A9S%Sl1ha7sJp3;>629m4zGRomKvM%$j#p( z_wfdvpVQVXYSTyuPKF<{ZcX@1^%_^quZ7H37fB_ogpW8l^w5+*Aq+oioBzJb-gIV z69wblqC(AbMn}AeZpzXk5T_52`wbaN9j*&qH=Uv)h9mwYd8M8W>N-yRz29zZrDk#| zm-y#6WWJH?u(~=PPg^Vw6D+%ROh_(g0n^-lol&Z-Lik4VsRXA|Gd1yGWODw5NX6h5 zQ}ZWMZ^C=0W!=~MJ-j=c|D4a0ZzLUF{xN-x@b2OWuBRs7=5y>%X*J+>B@8p54{H9c zMRfZ!)yHRyzr`?HfwUgWgWs30Nxc(D?Nb#k(tod#5iaI4JHGTP?!;>3nc%|QH`(44 zN|l4ebW4@302mvn_klWR(iZAm!NTG_XZ2lu=g9jb(Za=JU+ZRm7wcy`x4kv_SqA?< z-uIs!{a?c0T5{W7Y_}%yW5{2^-&#I@34d$ZY(W0amL24qsrq}sH@kU6`p5d;pPG8s zr$6l}EPR<6V9au%Pk*W^zJEH5mm$f2p6Tyv%&jXKA?>^-JHgyNL%+dA7yy04OeDa| zXV0A4(!)JnS3jI&MfF$6JJsW@U9&E3d0gsvwLS!>Q~Rt?Zo$0ik>A{ANLj~(5>NG1`QaT^$L zfD1%*14AF-0+eTB^xFv@-QW^ON^8b#aM1%qX{l~-(L=hB^O;=we_4%iTzi|kE|!o2 z;2tY0q?P@Cmga|57`v4LTvnqU5a*)B$)eJpg`ozQ&^WcoI14GE`%?Ao@%QVAdVez- zy6n?9UrWZ6l=>U%Qj)Dxt$U`6B+W_+b(0(l+aFnTa(6?V%j z9{?)Bj(jEzz4MNLdWdn&k2W=w4>({na?O=m(ncBIy*cB)qtp)g zG3z<;MM|V7ffPomoK;u5A;3(IU&7B7EtI3U*rAfp;}~@{gGNC#djKYa!=n;|1!;w_ zGk+)42hhd3PN~@4oTB(Dy*6bQNQ0W%15ygQGh}06ec^{kMZ(7Fgb60;(RD!Sl(4xQ zDeKD;mg_xSO@J=h%!ERemf`i6o!F6-YJuj)Y7xdgHQhqE_&qh~#iJufwbn-4%hpPT zlGsPO&9z*T!!sF3c5{i?kNCYj8j2jG0vCq@1Y(wNlsC{ls~ie5=vLKoOb(A?=&*}Q z-1-=}r%6s8NG`xS#3GTi(c+fB8&sWaC#*kI`gL#3<}lyw>f3hkwjG_Z9by|ed<0uw z#GH;%WD*1xT~+girPWJJi$@W^<2t%?wq77yf7UEfN1W7|UbFO3Z=7`=mV{19B8Cm$ z&y&lA7sB=#`pXx1@Ot@`+^J>4kL~>MQ5thZL*ZOpgf6gV!IOU^ZAJ_`d18T!)yetb zOL9;wvity)+18dLS{>vF8S0y|Mnpm70gE*+W$MVEGR@Ls;GdmAB>^_NJ7#}&#n=Jm z^=77~I__&!*}Y$-#R8@(Ho)4d7vW&1kdj~@zo6LXRuv$+X`=YHTZAyH8!3YXWEQ^KmYl|zD>RW zk26fi?Ybu48~B^YYbU26ccqu1{ra7$R1+Gg=u(#75YawzQls;JEnldsnSCHIy8&{!zV>>+1e@e8 z8Aw*n@0dGzbDSUe@)}jrNl_ZgpkVrCa<#Cccyu}1dn_uROA~KEWw>PCnc{();;WHV zqi&vxDsm_U)SzCMj^vg}Fumr7vC6$#qK>8INTpLya)bj)Xy1@QWqG1pVYnLe#BUEw z4k6=pQ?qs1RJMhhMBtE@d`k)3Rq;!NVcuc0uF3phI*62Mp*6^+wCkkj@Ih^3baGUW zM{wv1e_&ecxo)5q&l=tt5hV?WUbO9dak|R}brO}~lFYw8cdTFkfOrviUF>Hzk=?N=HZsb_3GKaT zT>yucXhE$}CCh~Sw6L$%;l&{P`J0^96f@hu)wS8}v z;(D#e5W*pD*lQvD2~B--D?cwYh9V~qHVx+HhQWK0AY7EAI^wu^M*%E zcOp+^c}`|~n1y*Rh-3#?219QS>WD@aMh~TnKlcRj;>X&5)26GA@kts&0MbVEUvwE= zrp!N3SHvZ0ze*tXlV-a8s=}3)H>j7@+7VOy#hO7awpg-LBDnWTOU>{}$0`cQr{Ssx zQ?!B;QqZ6mF4HKP{5(99d_^wf zVTFiAJeu-B)Yhn=O6Fan)nVt;bzegVkj!NP_4IWt%LJLmRp@x zlri_;Ge*t{UZPpQdLW==2}0^k@4Au}T|WJ*<_9vy$$I?Ww4lqHyVR=m?2gHu{Xf4a z04?ausH(Gv3k{NmNrDP`*Q&3NN>6qR@FW3k|@* z3Z?80*fu4YJ9;V_H6TBTob-IH4LsGTyv!`R`9*cvCIHCHWy)EroTf1VOUnaa zD^T#;k>sYumQ#o&ITw$4$}u*SNoQuz}COkXa% z@DdTCrKiezQ60*8UW~fo34{K&gS32_W`d=|ybI0TL`(6ep^=v#@0$bZjypJ%gGZ{J zlO{riGaGal4!P;|azHLT>~;)KH5pBL=a{#o%K6(|^ORb;csH&xqmC>C>!Lih8a};S zW!B9SliP6Ft#gHlc9g>VP%&Kl%m&gLLQQYFrin5Ub}mIBza! z)f`H&!Np=T@fx_!{D~eytbzOamkpx>^ALr#C07+Bn<)x zd%z8la^ic?OJs}1O*EWCtYq}%`=GG+z0$NOxcSJFg-PrYtlcwIZfIl-ccI53{smH> z&!VyerhgB2CmdTalA1#FL1+c)4mDc53vRFDxsc5EJS{n_v8FCaG>kt>9U`YezVS{} zU3GsmLxAo;eLz2epwVFP>t2SAF*n$AEmy27<3~%CIe@tZ>Svw5yM}G|h}w5=-rT7S zK6C&5?vTS#U~}Gih?Gg`?cUTu24^Q7#IKX$V9*zgMnD`$MVNyH&(CYlp09?(Se?m$ zFlfNLDSyXjjdFF$C+1?{Y6I#<{hsJxFqog4pI@<2CxA0#pHD?O=?eZtNdf+(l0{S& z`Y{+`2{xpQDG#n&E^s;YuRLAy?P9M96D$n}#*o6JcIg-QJJ^M<+BkiMDZP3$?lka) z#hE8wU3-~8qv8)D)w_^aRFm-i8p+uSMKMz_%y7R zjk7V_$oT9=iO5$0QFHH{Sb>_w!0w}En5B@?HfC|pyB>gJoN;sJCeEMAcKU8&*prlc z_ih>?P?;U+#Kz66wZ@Ug$a`Zqj7tNe68K4K)uylGEF)rh>EN%kNwGjIS~9>IE{6A?PWc$+bA6HXUVE_OC literal 0 HcmV?d00001 diff --git a/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/verify-select-file.jpg b/content/learning-paths/embedded-and-microcontrollers/c2pa-on-arm/images/verify-select-file.jpg new file mode 100644 index 0000000000000000000000000000000000000000..53a18a324ba9932ae16b4c6024008b9aef070215 GIT binary patch literal 54516 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%0ALUcFWs$m_!#p%B-1JzJ~R`MP7mAU@B6yI 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