<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-oauth-cross-device-security-12" category="bcp" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.1 -->
  <front>
    <title abbrev="CDFS">Cross-Device Flows: Security Best Current Practice</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-cross-device-security-12"/>
    <author initials="P." surname="Kasselmann" fullname="Pieter Kasselmann">
      <organization>SPIRL</organization>
      <address>
        <email>pieter@spirl.com</email>
      </address>
    </author>
    <author initials="D." surname="Fett" fullname="Daniel Fett">
      <organization>Authlete</organization>
      <address>
        <email>mail@danielfett.de</email>
      </address>
    </author>
    <author initials="F." surname="Skokan" fullname="Filip Skokan">
      <organization>Okta</organization>
      <address>
        <email>panva.ip@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="September" day="05"/>
    <area>sec</area>
    <workgroup>oauth</workgroup>
    <keyword>security</keyword>
    <keyword>oauth2</keyword>
    <keyword>best current practice</keyword>
    <abstract>
      <?line 317?>

<t>This document describes threats against cross-device flows
along with practical mitigations, protocol selection guidance,
and a summary of formal analysis results identified as relevant to
the security of cross-device flows. It serves as a security guide
to system designers, architects, product managers, security
specialists, fraud analysts and engineers implementing cross-device flows.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Web Authorization Protocol Working Group mailing list (oauth@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/oauth/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/oauth-wg/oauth-cross-device-security"/>.</t>
    </note>
  </front>
  <middle>
    <?line 326?>

<section anchor="Introduction">
      <name>Introduction</name>
      <t>Protocol flows that span multiple end-user devices are in widespread use today. These flows are often referred to as cross-device flows. A common example is a user that uses their mobile phone to scan a QR code from their smart TV, giving an app on the TV access to their video streaming service. Besides QR codes, other mechanisms are often used such as PIN codes that the user has to enter on one of the devices, or push notifications to a mobile app that the user has to approve.</t>
      <t>In all cases, it is up to the user to decide whether to grant authorization or not. However, the QR code or PIN are transferred via an unauthorized channel, leaving it up to the user to decide in which context an authorization is requested. This may be exploited by attackers to gain unauthorized access to a user's resources.</t>
      <t>To accommodate the various nuances of cross-device flows, this document distinguished between cases where the cross-device flow is used to authorize access to a resource (cross-device authorization flows) and cases where the cross-device flow is used to transfer an existing session (cross-device session transfer flows).</t>
      <section anchor="cross-device-authorization">
        <name>Cross-Device Authorization</name>
        <t>Cross-device authorization flows enable a user to initiate an authorization
flow on one device (the Consumption Device) and then use a second, personally
trusted, device (Authorization Device) to authorize the Consumption
Device to access a resource (e.g., access to a service). The Device
Authorization Grant <xref target="RFC8628"/> and Client-Initiated Backchannel
Authentication <xref target="CIBA"/> are two examples of popular cross-device authorization flows.</t>
        <t>In these flows, the Consumption Device and the Authorization Device are not directly connected and there is no technical mechanisms for the Authorization Device and Consumption Device to establish mutual authentication. It is left to the user to decide whether the source of the authorization request (the Consumption Device) should be trusted before they scan a QR code, enter a user code, or accept an authorization request pushed to their Authorization Device. The transfer of the authorization request and context between the Consumption Device and Authorization device is done over an unauthenticated channel. The only mitigation against this unauthenticated channel is the user's judgement.</t>
        <t>Cross-Device Consent Phishing (CDCP) attacks exploit the unauthenticated channel
between the Consumption Device and Authorization Device using social engineering
techniques to gain unauthorized access to the user's data. Several publications
have emerged in the public domain (<xref target="Exploit1"/>, <xref target="Exploit2"/>, <xref target="Exploit3"/>, <xref target="Exploit4"/>,
<xref target="Exploit5"/>, <xref target="Exploit6"/>), describing how the unauthenticated channel can be
exploited using social engineering techniques borrowed from phishing. Unlike traditional
phishing attacks, these attacks don't harvest credentials. Instead, they skip the
step of collecting credentials by persuading users to grant authorization using
their Authorization Devices.</t>
        <t>Once the user grants authorization, the attacker has access to the user's
resources and in some cases is able to collect access and refresh tokens. Once in
possession of the access and refresh tokens, the attacker may use these tokens to
execute lateral attacks and gain additional access, or monetize the tokens by
selling them. These attacks are effective even when multi-factor authentication
is deployed, since the attacker's aim is not to capture and replay the credentials,
but rather to persuade the user to grant authorization.</t>
      </section>
      <section anchor="cross-device-session-transfer">
        <name>Cross-Device Session Transfer</name>
        <t>Session transfer flows enable a user to transfer access to a service or network from a device on which the user is already authenticated to a second device such as a mobile phone. In these flows, the user is authenticated and then authorizes the session transfer on one device, referred to as the Authorization Device (e.g., a personal computer, web portal or application), and transfers the session to the device where they will continue to consume the session, referred to as the Consumption Device (e.g., a mobile phone or portable device).</t>
        <t>The session may be transferred by showing the user a session transfer code on the Authorization Device, which is then entered on the Consumption Device. This flow may be streamlined by rendering the session transfer code as a QR code on the Authorization Device and scanned by the Consumption Device.</t>
        <t>The session transfer preserves state information, including authentication state, at the second device to avoid additional configuration and optimize the user experience. These flows are often used to add new devices to a network, onboard customers to a mobile application, or provision new credentials (e.g., <xref target="OpenID.SIOPV2"/>).</t>
        <t>In these cross-device session transfer flows, the channel between the Authorization Device and the Consumption Device is unauthenticated.</t>
        <t>Cross-Device Session Phishing (CDSP) attacks exploit the unauthenticated channel
between the Authorization Device and Consumption Device by using social engineering
techniques to convince the user to send the session transfer code to the attacker.
These attacks borrow techniques from traditional phishing attacks, but instead of collecting passwords, attackers collect session transfer codes and other artefacts that allow them to setup a session and then use it to access a user's data.</t>
      </section>
      <section anchor="defending-against-cross-device-attacks">
        <name>Defending Against Cross-Device Attacks</name>
        <t>This document provides guidance to implementers to defend against Cross-Device Consent Phishing and Cross-Device Session Phishing attacks. This guidance includes:</t>
        <ol spacing="normal" type="1"><li>
            <t>Practical mitigations for susceptible protocols (<xref target="practical-mitigations"/>).</t>
          </li>
          <li>
            <t>Protocol selection guidance to avoid using susceptible protocols (<xref target="protocol-selection"/>).</t>
          </li>
          <li>
            <t>Results from formal analysis of susceptible protocols (<xref target="foundational-pillars"/>).</t>
          </li>
        </ol>
      </section>
      <section anchor="conventions-and-terminology">
        <name>Conventions and Terminology</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <t>This specification uses the terms "access token", "refresh token",
"authorization server", "resource server", "authorization endpoint",
"authorization request", and
"client" defined by The OAuth 2.0 Authorization Framework <xref target="RFC6749"/>.</t>
      </section>
    </section>
    <section anchor="best-practices">
      <name>Best Practices</name>
      <t>This section describes the set of security mechanisms and measures to secure cross-device protools against Cross-Device Consent Phishing and Cross-Device Session Phishing attacks that the OAuth working group considers best practices at the time of writing.</t>
      <ol spacing="normal" type="1"><li>
          <t>Implementers MUST perform a risk assessment before implementing cross-device flows, weighing the risks from Cross-Device Consent Phishing and Cross-Device Session Phishing attacks against benefits for users.</t>
        </li>
        <li>
          <t>Implementers SHOULD avoid cross-device flows if risks cannot be sufficiently mitigated.</t>
        </li>
        <li>
          <t>Implementers SHOULD follow the guidance provided in <xref target="protocol-selection"/> for protocol selection.</t>
        </li>
        <li>
          <t>Implementers MUST implement practical mitigations as listed in <xref target="practical-mitigations"/> that are appropriate for the use case, architecture, and selected protocols.</t>
        </li>
        <li>
          <t>Implementers SHOULD implement proximity checks as defined in <xref target="establish-proximity"/> if possible.</t>
        </li>
      </ol>
      <t>These best practices apply to the Device Authorization Grant (<xref target="RFC8628"/>) as well as other cross-device protocols such as the Client Initiated Backchannel Authentication <xref target="CIBA"/>, Self-Issued OpenID Provider v2 <xref target="OpenID.SIOPV2"/>, OpenID for Verifiable Presentations <xref target="OpenID.VP"/>, the Pre-Authorized Code Flow in (<xref target="OpenID.VCI"/>) and other cross-device protocols that rely on the user to authenticate the channel between devices.</t>
      <t><xref target="cross-device-flow-patterns"/> provides details about susceptible protocols and <xref target="cross-device-flow-exploits"/> provides attack descriptions. <xref target="practical-mitigations"/> provides details about the security mechanisms and mitigations, (protocol-selection) provides protocol selection guidance and <xref target="foundational-pillars"/> provides details from formal analysis of protocols that apply to cross device flows.</t>
    </section>
    <section anchor="cross-device-flow-patterns">
      <name>Cross-Device Flow Patterns</name>
      <t>Cross-device flows allow a user to start a flow on one device (e.g., a smart TV) and then transfer the session to continue it on a second device (e.g., a mobile phone). The second device may be used to access the service that was running on the first device, or to perform an action such as authenticating or granting authorization before potentially passing control back to the first device.</t>
      <t>These flows typically involve using a mobile phone to scan a QR code
or enter a user code displayed on the first device (e.g., Smart
TV, Kiosk, Personal Computer or other electronic devices.).</t>
      <section anchor="cross-device-authorization-1">
        <name>Cross-Device Authorization</name>
        <t>In a cross-device authorization flow, a user attempts to access a service on one device, referred to as the Consumption Device, (e.g., a smart TV) and then uses a second device, referred to as the Authorization Device (e.g., a smartphone), to authorize access to a resource (e.g., access to a streaming service) on
the Consumption Device.</t>
        <t>Cross-device authorization flows have several benefits, including:</t>
        <ul spacing="normal">
          <li>
            <t>Authorization on devices with limited input capabilities: End-users can
authorize devices with limited input capabilities to access content (e.g.,
smart TVs, digital whiteboards, printers or similarly constrained devices).</t>
          </li>
          <li>
            <t>Secure authentication on shared or public devices: End-users can perform
authentication and authorization using a personally trusted device, without
risk of disclosing their credentials to a public or shared device.</t>
          </li>
          <li>
            <t>Ubiquitous multi-factor authentication: Enables a user to use multi-factor
authentication, independent of the device on which the service is being
accessed (e.g., a kiosk, smart TV or shared Personal Computer).</t>
          </li>
          <li>
            <t>Convenience of a single, portable, credential store: Users can keep all
their credentials in a mobile wallet or mobile phone that they already
carry with them.</t>
          </li>
        </ul>
        <t>There are three cross-device flow patterns for transferring the authorization request between the Consumption Device to the Authorization Device.</t>
        <ul spacing="normal">
          <li>
            <t><strong>User-Transferred Session Data Pattern:</strong> In the first pattern, the user initiates the authorization process with the authorization server by copying information from the Consumption Device to the Authorization Device, before authorizing an action. By transferring the data from the Consumption Device to the Authorization Device, the user transfers the authorization session. For example the user may read a code displayed on the Consumption Device and enter it on the Authorization Device, or they may scan a QR code displayed on the Consumption Device with the Authorization Device. The Device Authorization Grant (<xref target="RFC8628"/>) is an example of a cross-device flow that follow this pattern.</t>
          </li>
          <li>
            <t><strong>Backchannel-Transferred Session Pattern:</strong> In the second pattern, the OAuth client on the Consumption Device is responsible for transferring the session and initiating authorization on the Authorization Device via a backchannel with the Authorization Server. For example the user may attempt an online purchase on a Consumption Device (e.g., a personal computer) and receive an authorization request on their Authentication Device (e.g., mobile phone). The Client Initiated Backchannel Authentication <xref target="CIBA"/> is an example of a cross-device flow that follow this pattern.</t>
          </li>
          <li>
            <t><strong>User-Transferred Authorization Data Pattern:</strong> In the third pattern, the OAuth client on the Consumption Device triggers the authorization request via a backchannel with the Authorization Server. Authorization data (e.g., a 6 digit authorization code) is displayed on the Authorization Device, which the user transfers to Consumption Device (e.g., by manually entering it). For example the user may attempt to access data in an enterprise application and receive a 6 digit authorization code on their Authentication Device (e.g., mobile phone) that they enter on Consumption Device.</t>
          </li>
        </ul>
        <section anchor="utsdp">
          <name>User-Transferred Session Data Pattern</name>
          <t>The Device Authorization Grant (<xref target="RFC8628"/>) is an example of a cross-device flow that relies on the user copying information from the Consumption Device to the Authorization Device by either entering data manually or scanning a QR code. The figure below shows a typical example of this flow:</t>
          <artwork type="ascii-art"><![CDATA[
                              (B) Consumption Device
             +--------------+     Get QR/User Code  +---------------+
(A)User  +---|  Consumption |<--------------------->|               |
   Start |   |   Device     |(E) Grant Authorization| Authorization |
   Flow  +-->|              |<--------------------->|     Server    |
             +--------------+                       |               |
                    |                               |               |
                    | (C) Scan QR code              |               |
                    |         or                    |               |
                    |   enter User Code             |               |
                    v                               |               |
             +--------------+                       |               |
             | Authorization|                       |               |
             |    Device    |<--------------------->|               |
             |              |(D) User Authenticates |               |
             |              | and Authorize Access  |               |
             +--------------+                       +---------------+
]]></artwork>
          <t>Figure: User-Transferred Session Data Pattern</t>
          <ul spacing="normal">
            <li>
              <t>(A) The user takes an action on the Consumption Device by starting a purchase, adding a device to a network
or connecting a service to the Consumption Device.</t>
            </li>
            <li>
              <t>(B) The Consumption Device retrieves a QR code or user code from an Authorization Server.</t>
            </li>
            <li>
              <t>(C) The QR code or user code is displayed on the Consumption Device where the user scans the QR code
or enters the user code on the Authorization Device.</t>
            </li>
            <li>
              <t>(D) If the user is unauthenticated, they authenticate to the Authorization Server before granting authorization.</t>
            </li>
            <li>
              <t>(E) The Authorization Server issues tokens or grants authorization to the Consumption Device to access the user's resources.</t>
            </li>
          </ul>
        </section>
        <section anchor="btsp">
          <name>Backchannel-Transferred Session Pattern</name>
          <t>The Client Initiated Backchannel Authentication <xref target="CIBA"/> transfers the session on the backchannel with the Authorization Server to request authorization on the Authorization Device. The figure below shows an example of this flow.</t>
          <artwork type="ascii-art"><![CDATA[
                              (B) Backchannel Authorization
             +--------------+     Request           +---------------+
(A)User  +---|  Consumption |<--------------------->|               |
   Start |   |   Device     |(E) Grant Authorization| Authorization |
   Flow  +-->|              |<--------------------->|     Server    |
             +--------------+                       |               |
                                                    |               |
                                                    |               |
                                                    |               |
                                                    |               |
(D)User                                             |               |
  Authorize  +--------------+                       |               |
  Action +---| Authorization|                       |               |
         |   |    Device    |<--------------------->|               |
         +-->|              |(C) Request User       |               |
             |              |    Authorization      |               |
             +--------------+                       +---------------+
]]></artwork>
          <t>Figure: Backchannel-Transferred Session Pattern</t>
          <ul spacing="normal">
            <li>
              <t>(A) The user takes an action on the Consumption Device by starting a purchase, adding a device to a network or connecting a service to the Consumption Device.</t>
            </li>
            <li>
              <t>(B) The client on the Consumption Device requests user authorization on the backchannel from the Authorization Server.</t>
            </li>
            <li>
              <t>(C) The Authorization Server requests the authorization from the user on the user's Authorization Device.</t>
            </li>
            <li>
              <t>(D) If the user is unauthenticated, they authenticate to the Authorization Server before using their device to grant authorization.</t>
            </li>
            <li>
              <t>(E) The Authorization Server issues tokens or grants authorization to the Consumption Device to access the user's resources.</t>
            </li>
          </ul>
          <t>The Authorization Server may use a variety of mechanisms to request user authorization, including a push notification to a dedicated app on a mobile phone, or sending a text message with a link to an endpoint where the user can authenticate and authorize an action.</t>
        </section>
        <section anchor="utadp">
          <name>User-Transferred Authorization Data Pattern</name>
          <t>Examples of the user-transferred authorization data pattern include flows in which the Consumption Device requests the Authorization Server to send authorization data (e.g., a 6 digit authorization code in a text message, e-mail or mobile application) to the Authorization Device. Once the Authorization Device receives the authorization data, the user enters it on the Consumption Device. The Consumption Device sends the authorization data back to the Authorization Server for validation before gaining access to the user's resources. The figure below shows an example of this flow.</t>
          <artwork type="ascii-art"><![CDATA[
                              (B) Backchannel Authorization
             +--------------+     Request           +---------------+
(A)User  +---|  Consumption |<--------------------->|               |
   Start |   |   Device     |(E) Grant Authorization| Authorization |
   Flow  +-->|              |<--------------------->|     Server    |
             +--------------+                       |               |
                    ^                               |               |
                    | (D)User Enters                |               |
                    |    Authorization Data         |               |
                    |                               |               |
                    |                               |               |
             +--------------+                       |               |
             | Authorization|                       |               |
             |    Device    |<--------------------->|               |
             |              |(C) Send Authorization |               |
             |              |    Data               |               |
             +--------------+                       +---------------+
]]></artwork>
          <t>Figure: User-Transferred Authorization Data Pattern</t>
          <ul spacing="normal">
            <li>
              <t>(A) The user takes an action on the Consumption Device by starting a purchase, adding a device to a network or connecting a service to the Consumption Device.</t>
            </li>
            <li>
              <t>(B) The client on the Consumption Device requests user authorization on the backchannel from the Authorization Server.</t>
            </li>
            <li>
              <t>(C) The Authorization Server sends authorization data (e.g., a 6 digit authorization code) to the Authorization Device. Examples of mechanisms that may be used to distribute the authorization data include text messages, email or a mobile application.</t>
            </li>
            <li>
              <t>(D) The user enters the authorization data (e.g., the 6 digit authorization code) on the Consumption Device.</t>
            </li>
            <li>
              <t>(E) The Authorization Server issues tokens or grants authorization to the Consumption Device to access the user's resources.</t>
            </li>
          </ul>
          <t>The Authorization Server may choose to authenticate the user before sending the authorization data.</t>
        </section>
      </section>
      <section anchor="cross-device-session-transfer-1">
        <name>Cross-Device Session Transfer</name>
        <t>Session transfer flows enable a user to transfer access to a service or network from a device on which the user is already authenticated to a second device such as a mobile phone. In these flows, the user is authenticated and then authorizes the session transfer on one device, referred to as the Authorization Device (e.g., a personal computer, web portal or application), and transfers the session to the device where they will continue to consume the session, referred to as the Consumption Device (e.g., a mobile phone or portable device).</t>
        <t>The session transfer preserves state information, including authentication state, at the second device to avoid additional configuration and optimize the user experience. These flows are often used to add new devices to a network, onboard customers to a mobile application, or provision new credentials (e.g., <xref target="OpenID.SIOPV2"/>).</t>
        <section anchor="cross-device-session-transfer-pattern">
          <name>Cross-Device Session Transfer Pattern</name>
          <t>In this flow, the user is authenticated and starts the flow by authorizing the transfer of the session on the Authorization Device. The Authorization Device requests a session transfer code that may be rendered as a QR code on the Authorization Device. When the user scans the QR code or enters it on the Consumption Device where they would like the session to continue, the Consumption Device presents it to the Authorization Server. The Authorization Server then transfers the session to the Consumption Device. This may include transferring authentication and authorization state to optimize the user experience. This type of flow is used, for example, for adding new devices to networks, bootstrapping new applications, or provisioning new credentials. The Pre-Authorized Code Flow in (<xref target="OpenID.VCI"/>) is an instance of using this pattern to provision a new credential. The figure below shows a typical flow.</t>
          <artwork type="ascii-art"><![CDATA[
                              (B) Session Transfer
             +--------------+     Request           +---------------+
(A)User  +---| Authorization|---------------------->|               |
   Start |   |   Device     |(C) Session Transfer   |               |
   Flow  |   |              |    Code               | Authorization |
         +-->|              |<----------------------|     Server    |
             +--------------+                       |               |
                    |                               |               |
                    | (D) Scan QR code              |               |
                    |      or enter                 |               |
                    | Session Transfer Code         |               |
                    |                               |               |
                    v         (E) Present Session   |               |
             +--------------+     Transfer Code     |               |
             | Consumption  |---------------------->|               |
(G)User  +---|    Device    |                       |               |
Resumes  |   |              | (F) Return Session    |               |
Session  |   |              |     Context           |               |
         +-->|              |<----------------------|               |
             +--------------+                       +---------------+
]]></artwork>
          <t>Figure: Cross-Dvice Session Transfer Pattern</t>
          <ul spacing="normal">
            <li>
              <t>(A) The user is authenticated on the Authorization Device and authorizes the transfer of the session to the Consumption device.</t>
            </li>
            <li>
              <t>(B) The client on the Authorization Device requests a session transfer code from the Authorization Server.</t>
            </li>
            <li>
              <t>(C) The Authorization Server responds with a session transfer code, which may be rendered as a QR code on the Authorization Device.</t>
            </li>
            <li>
              <t>(D) The user scans the QR code with the Consumption Device (e.g., their mobile phone), or enters the session transfer code on the target Consumption Device.</t>
            </li>
            <li>
              <t>(E) The client on the Consumption Device presents the session transfer code to the Authorization Server.</t>
            </li>
            <li>
              <t>(F) The Authorization Server verifies the session transfer code and retrieves the session context information needed to resume the session on the Consumption Device.</t>
            </li>
            <li>
              <t>(G) The user resumes the session and is able to access the information on the Consumption Device that they authorized on the Authorization Device.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="examples-of-cross-device-flows">
        <name>Examples of Cross-Device Flows</name>
        <t>Examples of cross-device flow scenarios include:</t>
        <section anchor="example-a1-authorize-access-to-a-video-streaming-service-user-transferred-session-data-pattern">
          <name>Example A1: Authorize Access to a Video Streaming Service (User-Transferred Session Data Pattern)</name>
          <t>An end-user sets up a new smart TV and wants to connect it to their favorite streaming service. The streaming service displays a QR code on the TV that the user scans with their mobile phone. The user is redirected to the streaming service provider's web page and asked to enter their credentials to authorize the smart TV to access the streaming service. The user enters their credentials and grants authorization, after which the streaming service is available on the smart TV.</t>
        </section>
        <section anchor="example-a2-authorize-access-to-productivity-services-user-transferred-session-data-pattern">
          <name>Example A2: Authorize Access to Productivity Services (User-Transferred Session Data Pattern)</name>
          <t>An employee wants to access their files on an interactive whiteboard in a conference room. The interactive whiteboard displays a URL and a code. The user enters the URL on their personal computer and is prompted for the code. Once they enter the code, the user is asked to authenticate and authorize the interactive whiteboard to access their files. The user enters their credentials and authorizes the transaction and the interactive whiteboard retrieves their files and allows the user to interact with the content.</t>
        </section>
        <section anchor="example-a3-authorize-use-of-a-bike-sharing-scheme-user-transferred-session-data-pattern">
          <name>Example A3: Authorize Use of a Bike Sharing Scheme (User-Transferred Session Data Pattern)</name>
          <t>An end-user wants to rent a bicycle from a bike sharing scheme. The bicycles are locked in bicylce racks on sidewalks throughout a city. To unlock and use a bicycle, the user scans a QR code on the bicycle using their mobile phone. Scanning the QR code redirects the user to the bicycle sharing scheme's authorization page where the user authenticates and authorizes payment for renting the bicycle. Once authorized, the bicycle sharing service unlocks the bicycle, allowing the user to use it to cycle around the city.</t>
        </section>
        <section anchor="example-a4-authorize-a-financial-transaction-backchannel-transferred-session-pattern">
          <name>Example A4: Authorize a Financial Transaction (Backchannel-Transferred Session Pattern)</name>
          <t>An end-user makes an online purchase. Before completing the purchase, they get a notification on their mobile phone, asking them to authorize the transaction. The user opens their app and authenticates to the service before authorizing the transaction.</t>
        </section>
        <section anchor="example-a5">
          <name>Example A5: Add a Device to a Network (Cross-Device Session Transfer Pattern)</name>
          <t>An employee is issued with a personal computer that is already joined to a network. The employee wants to add their mobile phone to the network to allow it to access corporate data and services (e.g., files and e-mail). The employee is logged-in on the personal computer where they initiate the process of adding their mobile phone to the network. The personal computer displays a QR code which authorizes the user to join their mobile phone to the network. The employee scans the QR code with their mobile phone and the mobile phone is joined to the network. The employee can start accessing corporate data and services on their mobile device.</t>
        </section>
        <section anchor="example-a6-remote-onboarding-user-transferred-session-data-pattern">
          <name>Example A6: Remote Onboarding (User-Transferred Session Data Pattern)</name>
          <t>A new employee is directed to an onboarding portal to provide additional information to confirm their identity on their first day with their new employer. Before activating the employee's account, the onboarding portal requests that the employee present a government issued ID, proof of a background check and proof of their qualifications. The onboarding portal displays a QR code, which the user scans with their mobile phone. Scanning the QR code invokes the employee's digital wallet on their mobile phone, and the employee is asked to present digital versions of an identity document (e.g., a driving license), proof of a background check by an identity verifier, and proof of their qualifications. The employee authorizes the release of the credentials and after completing the onboarding process, their account is activated.</t>
        </section>
        <section anchor="example-a7">
          <name>Example A7: Application Bootstrap (Cross-Device Session Transfer Pattern)</name>
          <t>An employee is signed into an application on their personal computer and wants to bootstrap the mobile application on their mobile phone. The employee initiates the cross-device flow and is shown a QR code in their application. The employee launches the mobile application on their phone and scans the QR code which results in the user being signed into the application on the mobile phone.</t>
        </section>
        <section anchor="example-a8-access-a-productivity-application-user-transferred-authorization-data-pattern">
          <name>Example A8: Access a Productivity Application (User-Transferred Authorization Data Pattern)</name>
          <t>A user is accessing a Computer Aid Design (CAD) application. When accessing the application, authorization data in the form of a 6 digit authorization code is sent to the user's mobile phone. The user views the 6 digit authorization code on their phone and enters it in the CAD application, after which the CAD application displays the user's most recent designs.</t>
        </section>
        <section anchor="example-a9-administer-a-system-backchannel-transferred-session-pattern">
          <name>Example A9: Administer a System (Backchannel-Transferred Session Pattern)</name>
          <t>A network administrator wants to access an adminstration portal used to configure network assets and deploy new applications. When attempting to access the service, the network administrator receives a notification in an app on their mobile device, requesting them to confirm access to the portal. The network administrator approves the request on their mobile phone and is granted access to the portal.</t>
        </section>
      </section>
    </section>
    <section anchor="cross-device-flow-exploits">
      <name>Cross-Device Flow Exploits</name>
      <t>Attackers exploit the absence of an authenticated channel between the two devices used in a cross-device flow by using social engineering techniques typicaly used in phishing attacks.</t>
      <t>In cross-device authorization flows the attacker uses these social engineering techniques by changing the context in which the authorization request is presented to convince the user to grant authorization when they shouldn't. These attacks are also known as Cross-Device Consent Phishing (CDCP) attacks.</t>
      <t>In cross-device session transfer flows the attacker uses these social engineering techniques to convince the user to initiate a session transfer and send them a session transfer code. Once the attacker is in posession of this session transfer code, they present it to the Authorization Server to transfer the session and access the users resources. These attacks are referred to as Cross-Device Session Phishing (CDSP) attacks.</t>
      <section anchor="cross-device-authorization-flow-exploits">
        <name>Cross-Device Authorization Flow Exploits</name>
        <t>Attackers exploit cross-device authorization flows by initiating an authorization flow on the Consumption Device and then use social engineering techniques to change the context in which the request is presented to the user in order to convince them to grant authorization on the Authorization Device. The attacker is able to change the context of the authorization request because the channel between the Consumption Device and the Authorization Device is unauthenticated. These attacks are also known as Cross-Device Consent Phishing (CDCP) attacks.</t>
        <section anchor="user-transferred-session-data-pattern-exploits">
          <name>User-Transferred Session Data Pattern Exploits</name>
          <t>A common action in cross-device flows is to present the user with a QR code or a user code on the Consumption Device (e.g., smart TV) which is then scanned or entered on the Authorization Device (the mobile phone). When the user scans the code or copies the user code, they do so without any proof that the QR code or user code is being displayed in the place or context intended by the service provider. It is up to the user to decide whether they should trust the QR code or user code. In effect the user is asked to compensate for the absence of an authenticated channel between the Consumption Device (e.g., smart TV) and the Authorization Device (e.g., the mobile phone).</t>
          <t>Attackers exploit this absence of an authenticated channel between the two devices by obtaining QR codes or user codes (e.g., by initiating the authorization flows). They then use social engineering techniques to change the context in which authorization is requested to convince end-users to scan the QR code or enter it on their Authorization Device (e.g., mobile phone). Once the end-user performs the authorization on the mobile device, the attacker who initiated the authentication or authorization request obtains access to the users resources. The figure below shows an example of such an attack.</t>
          <artwork type="ascii-art"><![CDATA[
                           (B) Consumption Device
           +--------------+     Get QR/User Code  +---------------+
           |  Attacker's  |<--------------------->|               |
           |  Consumption |(G) Grant Authorization| Authorization |
           |   Device     |<--------------------->|     Server    |
           +--------------+                       |               |
             ^   | (C) Attacker Copy              |               |
(A) Attacker |   |     QR or User Code            |               |
    Start    |   |                                |               |
    Flow     |   V                                |               |
           +--------------+                       |               |
           |              |                       |               |
           |   Attacker   |                       |               |
           |              | (D) Attacker Change   |               |
           |              |     QR Code/User Code |               |
           |              |     Context           |               |
           +--------------+                       |               |
                  | (E) User is convinced by the  |               |
                  |     attacker and scans QR code|               |
                  |     or enters User Code       |               |
                  v                               |               |
           +--------------+                       |               |
           |   End User   |                       |               |
           | Authorization|                       |               |
           |    Device    |<--------------------->|               |
           |              |(F) User Authenticates |               |
           |              | and Authorize Access  |               |
           +--------------+                       +---------------+
]]></artwork>
          <t>Figure: User-Transferred Session Data Pattern Exploits</t>
          <ul spacing="normal">
            <li>
              <t>(A) The attacker initiates the protocol on the Consumption Device (or mimicks the Consumption Device) by starting a purchase, adding a device to a network or connecting a service to the Consumption Device.</t>
            </li>
            <li>
              <t>(B) The Consumption Device retrieves a QR code or user code from an Authorization Server.</t>
            </li>
            <li>
              <t>(C) The attacker copies the QR code or user code.</t>
            </li>
            <li>
              <t>(D) The attacker changes the context in which the QR code or user code is displayed in such a way that the user is likely to scan the QR code or use the user code when completing the authorization. For example, the attacker could craft an e-mail that includes the user code or QR code and send it to the user. The e-mail might encourage the user to scan the QR code or enter the user code by suggesting that doing so would grant them a reward through a loyalty program or prevent the loss of their data.</t>
            </li>
            <li>
              <t>(E) The QR code or user code is displayed to the user in a context chosen by the attacker. The user is convinced by the attacker's effort and scans the QR code or enters the user code on the Authorization Device.</t>
            </li>
            <li>
              <t>(F) The user authenticates to the Authorization Server before granting authorization.</t>
            </li>
            <li>
              <t>(G) The Authorization Server issues tokens or grants authorization to the Consumption Device, which is under the attacker's control, to access the user's resources. The attacker gains access to the resources and any authorization artifacts (like access and refresh tokens) which may be used in future exploits.</t>
            </li>
          </ul>
        </section>
        <section anchor="backchannel-transferred-session-pattern-exploits">
          <name>Backchannel-Transferred Session Pattern Exploits</name>
          <t>In the backchannel-transferred session pattern, the client requests the authorization server to authenticate the user and obtain authorization for an action. This may happen as a result of user interaction with the Consumption Device, but may also be triggered without the users direct interaction with the Consumption Device, resulting in an authorization request presented to the user without context of why or who triggered the request.</t>
          <t>Attackers exploit this lack of context by using social engineering techniques to prime the user for an authorization request and thereby convince them to granting authorization. The social engineering techniques range in sophistication from messages misrepresenting the reason for receiving an authorization request, to triggering a large volume of requests at an inconvenient time for the user, in the hope that the user will grant authorization to make the requests stop. The figure below shows an example of such an attack.</t>
          <artwork type="ascii-art"><![CDATA[
                              (C) Backchannel Authorization
             +--------------+     Request           +---------------+
             |  Attacker's  |<--------------------->|               |
             |  Consumption |(F) Grant Authorization| Authorization |
             |  Device      |<--------------------->|     Server    |
             +--------------+                       |               |
               ^                                    |               |
  (B) Attacker |                                    |               |
      Starts   |                                    |               |
      Flow     |                                    |               |
             +--------------+                       |               |
             |              |                       |               |
             |   Attacker   |                       |               |
             |              |                       |               |
             |              |                       |               |
             |              |                       |               |
             +--------------+                       |               |
                    |  (A) Attacker Sends           |               |
                    |       Social Engineering      |               |
                    |       Message to User         |               |
                    |                               |               |
(E)User             v                               |               |
  Authorize  +--------------+                       |               |
  Action +---| Authorization|                       |               |
         |   |    Device    |<--------------------->|               |
         +-->|              |(D) Request User       |               |
             |              |    Authorization      |               |
             +--------------+                       +---------------+
]]></artwork>
          <t>Figure: Backchannel-Transferred Session Pattern Exploits</t>
          <ul spacing="normal">
            <li>
              <t>(A) The attacker sends a social engineering message to prepare the user for the upcoming authorization (optional).</t>
            </li>
            <li>
              <t>(B) The attacker initiates the protocol on the Consumption Device (or by mimicking the Consumption Device) by starting a purchase, adding a device to a network or accessing a service on the Consumption Device.</t>
            </li>
            <li>
              <t>(C) The client on the Consumption Device requests user authorization on the backchannel from the Authorization Server.</t>
            </li>
            <li>
              <t>(D) The Authorization Server requests the authorization from the user on the user's device.</t>
            </li>
            <li>
              <t>(E) The user authenticates to the authorization server before granting authorization on their device.</t>
            </li>
            <li>
              <t>(G) The Authorization Server issues tokens or grants authorization to the Consumption Device, which is under the attacker's control. The attacker gains access to the user's resources and possibly any authorization artifacts like access and refresh tokens.</t>
            </li>
          </ul>
        </section>
        <section anchor="user-transferred-authorization-data-pattern-exploits">
          <name>User-Transferred Authorization Data Pattern Exploits</name>
          <t>In cross-device flows that follow the user-transferred authorization data pattern, the client on the Consumption Device initiates the authorization request, but the user still has to transfer the authorization data to the Consumption Device. The authorization data may take different forms, including a numerical value such as a 6 digit authorization code. The authorization request may happen as a result of user interaction with the Consumption Device, but may also be triggered without the user's direct interaction with the Consumption Device.</t>
          <t>Attackers exploit the user-transferred authorization data pattern by combining the social engineering techniques used to set context for users and convincing users to providing them with authorization data sent to their Authorization Devices (e.g., mobile phones). These attacks are very similar to phishing attacks, except that the attacker also has the ability to trigger the authorization request to be sent to the user directly by the Authorization Server.</t>
          <artwork type="ascii-art"><![CDATA[
                              (C) Backchannel Authorization
             +--------------+     Request           +---------------+
             |  Attacker's  |<--------------------->|               |
             |  Consumption |(G) Grant Authorization| Authorization |
             |  Device      |<--------------------->|     Server    |
             +--------------+                       |               |
               ^       ^                            |               |
  (B) Attacker |       | (F) Attacker Forwards      |               |
      Starts   |       |     Authorization Data     |               |
      Flow     |       |                            |               |
             +--------------+                       |               |
             |              |                       |               |
             |   Attacker   |                       |               |
             |              |                       |               |
             |              |                       |               |
             |              |                       |               |
             +--------------+                       |               |
(A) Attacker    |       ^   (E) User                |               |
    Sends       |       |       Sends               |               |
    Social      |       |       Authorization Data  |               |
    Engineering |       |                           |               |
    Message     |       |                           |               |
                v       |                           |               |
             +--------------+                       |               |
             | Authorization|                       |               |
             |    Device    |<--------------------->|               |
             |              |(D) Send Authorization |               |
             |              |    Data               |               |
             +--------------+                       +---------------+
]]></artwork>
          <t>Figure: User-Transferred Authorization Data Pattern Exploits</t>
          <ul spacing="normal">
            <li>
              <t>(A) The attacker sends a social engineering message to prime the user for the authorization request they are about to receive, including instructions on what to do with the authorization data once they receive it.</t>
            </li>
            <li>
              <t>(B) The attacker initiates the protocol on the Consumption Device (or by mimicking the Consumption Device) by starting a purchase, adding a device to a network or accessing a service on the Consumption Device.</t>
            </li>
            <li>
              <t>(C) The client on the Consumption Device requests user authorization on the backchannel from the Authorization Server.</t>
            </li>
            <li>
              <t>(D) The Authorization Server sends authorization data (e.g., a 6 digit authorization code) to the user's Authorization Device (the authorization data may be presented as a QR code, or text message).</t>
            </li>
            <li>
              <t>(E) The user is convinced by the social engineering message received in step (A) and forwards the authorization data (e.g., a 6 digit authorization code) to the attacker.</t>
            </li>
            <li>
              <t>(F) The attacker enters the authorization data (e.g., a 6 digit authorization code) on the Consumption Device.</t>
            </li>
            <li>
              <t>(G) The Authorization Server grants authorization and issues access and refresh tokens to the Consumption Device, which is under the attacker's control. On completion of the exploit, the attacker gains access to the user's resources.</t>
            </li>
          </ul>
          <t>The unauthenticated channel may also be exploited in variations of the above scenario where the user (as opposed to the attacker) initiates the flow  and is then convinced using social engineering techniques into sending the authorization data (e.g., a 6 digit authorization code) to the attacker. In these flows, the user is already authenticated and they request authorization data to transfer a session or obtain some other privilege such as joining a device to a network. The authorization data may be represented as a QR code or text string (e.g., 6 digit authorization code). The attacker then proceeds to exploit the unauthenticated channel by using social engineering techniques to convince the user to send the QR code or user code to the attacker. The attacker then use the authorization data to obtain the privileges that would have been assigned to the user.</t>
        </section>
      </section>
      <section anchor="cross-device-session-transfer-exploits">
        <name>Cross-Device Session Transfer Exploits</name>
        <t>Attackers exploit cross-device session transfer flows by using social engineering techniques typically used in phishing attacks to convince the user to authorize the transfer of a session and then send the session transfer code or QR code to the attacker. The absence of an authenticated channel between these two devices enables the attacker to use the session transfer code on their own device to obtain access to the session and access the users data. These attacks are referred to as Cross-Device Session Phishing (CDSP) attacks.</t>
        <artwork type="ascii-art"><![CDATA[
                              (C) Session Transfer
             +--------------+     Request           +---------------+
(B)User  +---| Authorization|---------------------->|               |
   Start |   |   Device     |(D) Session Transfer   |               |
   Flow  |   |              |    Code               | Authorization |
         +-->|              |<----------------------|     Server    |
             +--------------+                       |               |
(A)Attacker    ^          |                         |               |
   Sends Social|          | (E) User sends QR code  |               |
   Engineering |          |     or Session Transfer |               |
   Message     |          v     Code to Attacker    |               |
             +--------------+                       |               |
             |              |                       |               |
             |   Attacker   |                       |               |
             |              |                       |               |
             |              |                       |               |
             |              |                       |               |
             +--------------+                       |               |
(F)Attacker scans   |                               |               |
   QR code or enters|                               |               |
   Session Transfer |                               |               |
   Code             v         (G) Present Session   |               |
             +--------------+     Transfer Code     |               |
             |  Attacker's  |---------------------->|               |
(I)      +---|  Consumption |                       |               |
 Attacker|   |    Device    | (H) Return Session    |               |
 Resumes |   |              |     Context           |               |
 Session +-->|              |<----------------------|               |
             +--------------+                       +---------------+
]]></artwork>
        <t>Figure: Cross-Device Session Transfer Pattern Exploit</t>
        <ul spacing="normal">
          <li>
            <t>(A) The attacker sends a social engineering message to that convinces the user that they should authorize a session transfer including instructions on what to do with the QR code or session transfer code once they receive it.</t>
          </li>
          <li>
            <t>(B) The user is authenticated on their Authorization Device and authorizes the transfer of the session to the Consumption Device.</t>
          </li>
          <li>
            <t>(C) The client on the Authorization Device requests a session transfer code from the Authorization Server.</t>
          </li>
          <li>
            <t>(D) The Authorization Server responds with a session transfer code, which may be rendered as a QR code on the Authorization Device.</t>
          </li>
          <li>
            <t>(E) The user sends the QR code or session transfer code to the attacker, following the instructions they received in step (A).</t>
          </li>
          <li>
            <t>(F) Once the attacker receives the QR code, they scan it or enter it on their own Consumption Device.</t>
          </li>
          <li>
            <t>(G) The client on the Consumption Device presents the session transfer code to the Authorization Server.</t>
          </li>
          <li>
            <t>(H) The Authorization Server verifies the session transfer code and retrieves the session context information needed to resume the session on the Consumption Device.</t>
          </li>
          <li>
            <t>(I) The attacker resumes the session on their own Consumption Device and is able to access the information that the user authorized on their Authorization Device in step (B).</t>
          </li>
        </ul>
      </section>
      <section anchor="examples-of-cross-device-flow-exploits">
        <name>Examples of Cross-Device Flow Exploits</name>
        <t>The following examples illustrate these attacks in practical settings and show how the unauthenticated channel is exploited by attackers who can copy the QR codes and user codes, change the context in which they are presented using social engineering techniques and mislead end-users into granting consent to avail of services, access data and make payments.</t>
        <section anchor="example-b1">
          <name>Example B1: Illicit Access to a Video Streaming Service (User-Transferred Session Data Pattern)</name>
          <t>An attacker obtains a smart TV and attempts to access an online streaming service. The smart TV obtains a QR code from the streaming service authorization server and displays it on screen. The attacker copies the QR code and embeds it in an e-mail that is sent to a large number of recipients. The e-mail contains a message stating that the streaming service wants to thank them for their loyal support and by scanning the QR code, they will be able to add a bonus device to their account for no charge. One of the recipients open the e-mail and scan the QR code to claim the loyalty reward. The user performs multi-factor authentication, and when asked if they want a new device to be added to their account, they authorize the action. The attacker's device is now authorized to access the content and obtains an access and refresh token. The access token allows the attacker to access content and the refresh token allows the attacker to obtain fresh tokens whenever the access token expires.</t>
          <t>The attacker scales up the attack by emulating a new smart TV, obtaining multiple QR codes and widening the audience it sends the QR code to. Whenever a recipient scans the QR code and authorizes the addition of a new device, the attacker obtains an access and refresh token, which they sell for a profit.</t>
        </section>
        <section anchor="example-b2-illicit-access-to-productivity-services-user-transferred-session-data-pattern">
          <name>Example B2: Illicit Access to Productivity Services (User-Transferred Session Data Pattern)</name>
          <t>An attacker emulates an enterprise application (e.g., an interactive whiteboard) and initiates a cross-device flow by requesting a user code and URL from the authorization server. The attacker obtains a list of potential victims and sends an e-mail informing users that their files will be deleted within 24 hours if they don't follow the link, enter the user code and authenticate. The e-mail reminds them that this is the third time that they have been notified and their last opportunity to prevent deletion of their work files. One or more employees respond by following the URL, entering the code and performing multi-factor authentication. Throughout the authentication experience, the user is interacting with a trusted user experience, re-enforcing the legitimacy of the request. Once these employees authorized access, the attacker obtains access and refresh tokens from the authorization server and uses it to access the users' files, perform lateral attacks to obtain access to other information and continuously refresh the session by requesting new access tokens. These tokens may be exfiltrated and sold to third parties.</t>
        </section>
        <section anchor="example-b3-illicit-access-to-physical-assets-user-transferred-session-data-pattern">
          <name>Example B3: Illicit Access to Physical Assets (User-Transferred Session Data Pattern)</name>
          <t>An attacker copies a QR code from a bicycle locked in a bicycle rack in a city, prints it on a label and places the label on a bicycle at the other end of the bicycle rack. A customer approaches the bicycle that contains the replicated QR code and scans the code and authenticates before authorizing payment for renting the bicycle. The bicycle rack unlocks the bicycle containing the original QR code and the attacker removes the bicycle before cycling down the street while the customer is left frustrated that the bicycle they were trying to use is not being unlocked <xref target="NYC.Bike"/>. The customer proceeds to unlock another bicycle and lodges a complaint with the bicycle renting company.</t>
        </section>
        <section anchor="example-b4">
          <name>Example B4.1: Illicit Transaction Authorization (Backchannel-Transferred Session Pattern)</name>
          <t>An attacker obtains a list of user identifiers for a financial institution and triggers a transaction request for each of the users on the list. The financial institution's authorization server sends push notifications to each of the users, requesting authorization of a transaction. The vast majority of users ignore the request to authorize the transaction, but a small percentage grants authorization by approving the transaction.</t>
        </section>
        <section anchor="example-b42-fake-helpdesk-backchannel-transferred-session-pattern">
          <name>Example B4.2: Fake Helpdesk (Backchannel-Transferred Session Pattern)</name>
          <t>An attacker obtains the contact information for a user and contacts them, pretending to be a representative of the user's financial institution. The attacker informs the user that there were a number of fraudulent transactions against their account and asks them to review these transactions by approving or rejecting them. The attacker then triggers a sequence of transactions. The user receives an authorization request for each transaction and declines them as they do not recognize them. The attacker then informs the user that they need to close the users account and transfer all the funds to a new account to prevent further fraudulent transactions. The user receives another authorization request which they approve, or provide additional authorization information to the attacker which enables the attacker to complete their attack and defraud the user.</t>
        </section>
        <section anchor="example-b5">
          <name>Example B5: Illicit Network Join (Cross-Device Session Transfer Pattern)</name>
          <t>An attacker creates a message to all employees of a company, claiming to be from a trusted technology provider investigating a suspected security breach. They ask employees to send them the QR code typically used to join a new device to the network, along with detailed steps on how to obtain the QR code. The employee, eager to assist, initiates the process to add a new mobile device to the network. They authenticate to the network and obtain a QR code. They send the QR code to the attacker. The attacker scans the QR code and adds their own device to the network. They use this device access as an entry point and perform lateral moves to obtain additional privileges and access to restricted resources.</t>
        </section>
        <section anchor="example-b6-illicit-onboarding-user-transferred-session-data-pattern">
          <name>Example B6: Illicit Onboarding (User-Transferred Session Data Pattern)</name>
          <t>An attacker initiates an employee onboarding flow and obtains a QR code from the onboarding portal to invoke a digital wallet and present a verifiable credential attesting to a new employee's identity. The attacker obtains a list of potential new employees and sends an e-mail informing them that it is time to present proof of their background check or government issued ID. The new employee scans the QR code, invokes their digital wallet and presents their credentials. Once the credentials are presented, the employee's account is activated. The employee portal accessed by the attacker to obtain the QR code displays a message to the attacker with instructions on how to access their account.</t>
        </section>
        <section anchor="Example-B7">
          <name>Example B7: Illicit Application Bootstrap (Cross-Device Session Transfer Pattern)</name>
          <t>An attacker creates a message to all employees of a company, claiming to be from the company's IT service provider. They claim that they are trying to resolve an application performance issue and ask employees to send them the QR code typically used to transfer a session. The employee, eager to assist, initiates the process to transfer a session. They authenticate and obtain a QR code and then send the QR code to the attacker. The attacker scans the QR code with their mobile phone and access the users data and resources.</t>
        </section>
        <section anchor="example-b8-account-takeover-user-transferred-session-data-pattern">
          <name>Example B8: Account Takeover (User-Transferred Session Data Pattern)</name>
          <t>An attacker wants to use some website which requires presentation of a verifiable credential for authentication. The attacker creates a phishing website which will in real time capture log-in QR Codes from the original website and present these to the user. The attacker tries to get the user to use the phishing website by sending messages by e-mail or other messaging technologies. The user scans the QR code on the phishing website, invokes their digital wallet and presents their credentials. Once the credentials are presented, the original session from the attackers device is authorized with the user's credentials.</t>
        </section>
        <section anchor="example-b9-illicit-access-to-administration-capabilities-through-consent-request-overload-backchannel-transferred-session-pattern">
          <name>Example B9: Illicit Access to Administration Capabilities Through Consent Request Overload (Backchannel-Transferred Session Pattern)</name>
          <t>An attacker attempts to access an adminstration portal repeatedly, generating a stream of authorization requests to the network administrator. The attempts are timed to occur while the administrator is asleep. The administrator is woken by the incoming requests on their phone, and, in an attempt to stop the notifications, they accidentally approve access and the attacker gains access to the portal.</t>
        </section>
        <section anchor="out-of-scope">
          <name>Out of Scope</name>
          <t>In all of the attack scenarios listed above, a user is misled or exploited. For other attacks, where the user is willingly colluding with the attacker, the threat model, security implications and potential mitigations are very different. For example, a cooperating user can bypass software mitigations on their device, share access to hardware tokens with the attacker, and install additional devices to forward radio signals to circumvent proximity checks.</t>
          <t>This document only considers scenarios where a user does not collude with an attacker.</t>
        </section>
      </section>
    </section>
    <section anchor="cross-device-protocols-and-standards">
      <name>Cross-Device Protocols and Standards</name>
      <t>Cross-device flows that are subject to the attacks described earlier typically share the following characteristics:</t>
      <ol spacing="normal" type="1"><li>
          <t>The attacker can initiate the flow and manipulate the context of an authorization request.
 E.g., the attacker can obtain a QR code or user code, or can request an authentication/authorization decision from the user.</t>
        </li>
        <li>
          <t>The interaction between the Consumption Device and Authorization Device is unauthenticated.
 I.e., it is left to the user to decide if the QR code, user code, or authentication request is being presented in a legitimate context.</t>
        </li>
      </ol>
      <t>A number of protocols that have been standardized, or are in the process of being standardized that share these characteristics include:</t>
      <ul spacing="normal">
        <li>
          <t><strong>IETF OAuth 2.0 Device Authorization Grant (<xref target="RFC8628"/>):</strong> A standard to enable authorization on devices with constrained input capabilities (smart TVs, printers, kiosks). In this protocol, the user code or QR code is displayed on the Consumption Device and entered on a second device (e.g., a mobile phone).</t>
        </li>
        <li>
          <t><strong>Open ID Foundation Client Initiated Back-Channel Authentication (CIBA) <xref target="CIBA"/>:</strong> A standard developed in the OpenID Foundation that allows a device or service (e.g., a personal computer, smart TV, Kiosk) to request the OpenID Provider to initiate an authentication flow if it knows a valid identifier for the user. The user completes the authentication flow using a second device (e.g., a mobile phone). In this flow the user does not scan a QR code or obtain a user code from the Consumption Device, but is instead contacted by the OpenID Provider to complete the authentication using a push notification, e-mail, text message or any other suitable mechanism.</t>
        </li>
        <li>
          <t><strong>OpenID for Verifiable Credential Protocol Suite (Issuance, Presentation):</strong> The OpenID for Verifiable Credentials enables cross-device scenarios by allowing users to scan QR codes to retrieve credentials (Issuance - see <xref target="OpenID.VCI"/>) or present credentials (Presentation - see <xref target="OpenID.VP"/>). The QR code is presented on a device that initiates the flow.</t>
        </li>
        <li>
          <t><strong>Self-Issued OpenID Provider v2 (SIOP V2):</strong> A standard that allows end-user to present self-attested or third party attested attributes when used with OpenID for Verifiable Credential protocols. The user scans a QR code presented by the relying party to initiate the flow.</t>
        </li>
      </ul>
      <t>Cross-device protocols SHOULD not be used for same-device scenarios. If the Consumption Device and Authorization Device are the same device, protocols like OpenID Connect Core <xref target="OpenID.Core"/> and OAuth 2.0 Authorization Code Grant as defined in <xref target="RFC6749"/> are more appropriate. If a protocol supports both same-device and cross-device modes (e.g., <xref target="OpenID.SIOPV2"/>), the cross-device mode SHOULD not be used for same-device scenarios. An authorization server MAY choose to block cross-device protocols used in same-device scenarios if it detects that the same device is used. An authorization server may use techniques such as device fingerprinting, network address or other techniques to detect if a cross-device protocol is being used on the same device. If an implementor decides to use a cross-device protocol or a protocol with a cross-device mode in a same-device scenario, the mitigations recommended in this document SHOULD be implemented to reduce the risks that the unauthenticated channel is exploited.</t>
    </section>
    <section anchor="mitigating-against-cross-device-flow-attacks">
      <name>Mitigating Against Cross-Device Flow Attacks</name>
      <t>The unauthenticated channel between the Consumption Device and the Authorization Device allows attackers to change the context in which the authorization request is presented to the user. This shifts responsibility of authenticating the channel between the two devices to the end-user. End-users have "expertise elsewhere", are typically not security experts, and don't understand the protocols and systems they interact with. As a result, end-users are poorly equipped to authenticate the channel between the two devices. Mitigations should focus on:</t>
      <ol spacing="normal" type="1"><li>
          <t>Minimizing reliance on the user to make decisions to authenticate the channel.</t>
        </li>
        <li>
          <t>Providing better information with which to make decisions to authenticate the channel.</t>
        </li>
        <li>
          <t>Recovering from incorrect channel authentication decisions by users.</t>
        </li>
      </ol>
      <t>To achieve the above outcomes, mitigating against Cross-Device Consent Phishing attacks require a three-pronged approach:</t>
      <ol spacing="normal" type="1"><li>
          <t>Reduce risks of deployed protocols with practical mitigations.</t>
        </li>
        <li>
          <t>Adopt or develop protocols that are less susceptible to these attacks where possible.</t>
        </li>
        <li>
          <t>Provide analytical tools to assess vulnerabilities and effectiveness of mitigations.</t>
        </li>
      </ol>
      <section anchor="practical-mitigations">
        <name>Practical Mitigations</name>
        <t>A number of protocols that enable cross-device flows that are susceptible to Cross-Device Consent Phishing attacks are already deployed. The security profile of these protocols can be improved through practical mitigations that provide defense in depth that either:</t>
        <ol spacing="normal" type="1"><li>
            <t>Prevents the attack from being initiated.</t>
          </li>
          <li>
            <t>Disrupts the attack once it is initiated.</t>
          </li>
          <li>
            <t>Remediates or reduces the impact if the attack succeeds.</t>
          </li>
        </ol>
        <t>It is RECOMMENDED that one or more of the mitigations are applied whenever implementing a cross-device flow. Every mitigation provides an additional layer of security that makes it harder to initiate the attack, disrupts attacks in progress or reduces the impact of a successful attack.</t>
        <section anchor="establish-proximity">
          <name>Establish Proximity</name>
          <t>The unauthenticated channel between the Consumption Device and Authorization Device allows attackers to obtain a QR code or user code in one location and display it in another location. Consequently, proximity-enforced cross-device flows are more resistant to Cross-Device Consent Phishing attacks than proximity-less cross-device flows. Establishing proximity between the location of the Consumption Device and the Authorization Device limits an attacker's ability to launch attacks by sending the user or QR codes to large numbers of users that are geographically distributed. There are a couple of ways to establish proximity:</t>
          <ul spacing="normal">
            <li>
              <t>Physical connectivity: This is a good indicator of proximity, but requires specific ports, cables and hardware and may be challenging from a user experience perspective or may not be possible in certain settings (e.g., when USB ports are blocked or removed for security purposes). Physical connectivity may be better suited to dedicated hardware like FIDO devices that can be used with protocols that are resistant to the exploits described in this document. The authorization server does not directly establish proximity, but relies on the deployed system and selected protocols and devices to establish proximity.</t>
            </li>
            <li>
              <t>Wireless proximity: Near Field Communications (NFC), Bluetooth Low Energy (BLE), and Ultra Wideband (UWB) services can be used to prove proximity between the two devices. NFC technology is widely deployed in mobile phones as part of payment solutions, but NFC readers are less widely deployed. BLE presents another alternative for establishing proximity, but may present user experience challenges when setting up. UWB standards such as IEEE  802.15.4 and the IEEE 802.15.4z-2020 Amendment 1 enable secure ranging between devices and allow devices to establish proximity relative to each other <xref target="IEEE802154"/>. The authorization server does not directly establish proximity, but relies on the deployed system and selected protocols and devices to establish proximity using these wireless proximity protocols.</t>
            </li>
            <li>
              <t>Shared network: Device proximity can be inferred by verifying that both devices are on the same network. This check may be performed by the authorization server by comparing the network addresses of the device where the code is displayed (Consumption Device) with that of the Authorization Device. Alternatively the check can be performed on the device, provided that the network address is available. This could be achieved if the authorization server encodes the Consumption Device's network address in the QR code and uses a digital signature to prevent tampering with the code. This does require the wallet to be aware of the countermeasure and effectively enforce it. Note that it is common for a Consumption Device (e.g., a TV) to use a Wi-Fi connection while the Authorization Device (e.g., a phone) uses a mobile network. Though physically in close proximity, they don't share a network, so other proximity checks are needed.</t>
            </li>
            <li>
              <t>Geolocation: Proximity can be established by comparing geo-location information derived from global navigation satellite-system (GNSS) co-ordinates or geolocation lookup of IP addresses and comparing proximity. Geolocation based on GNSS may vary in accuracy depending on the users location, and when mapped to national or regional boundaries may show a Consumption and Authorization Device in different locations if those devices are close to a border. Since relative position is more important than absolute location, implementations should consider relative location to both devices rather than absolute location when determining proximity. Geolocation based on IP addresses may be inaccurate along regional or national borders due to overlapping coverage by different network providers from the respective regions. This may result in the Consumption device being mapped to one region, while the Authorization Device may be on another network from another provider and mapped to another region. These inaccuracies may require restrictions to be at a more granular level (e.g., same city, country, region or continent). Similar to the shared network checks, these checks may be performed by the authorization server or on the users device, provided that the information encoded in a QR code is integrity protected using a digital signature.</t>
            </li>
          </ul>
          <t>Depending on the risk profile and the threat model in which a system is operating, it MAY be necessary to use more than one mechanism to establish proximity to raise the bar for any potential attackers.</t>
          <t>Note: There are scenarios that require that an authorization takes place in a different location than the one in which the transaction is authorized. For example, there may be a primary and secondary credit card holder and both can initiate transactions, but only the primary holder can authorize it. There is no guarantee that the primary and secondary holders are in the same location at the time of the authorization. In such cases, proximity (or lack of proximity) may be an indicator of risk and the system may deploy additional controls (e.g., transaction value limits, transaction velocity limits) or use the proximity information as input to a risk management system.</t>
          <t><strong>Limitations:</strong> Proximity mechanisms make it harder to perform Cross-Device Consent Phishing (CDCP) attacks. However, depending on how the proximity check is performed, an attacker may be able to circumvent the protection: The attacker can use a VPN to simulate a shared network or spoof a GNSS position. For example, the attacker can try to request the location of the end-user's Authorization Device through browser APIs and then simulate the same location on their Consumption Device using standard debugging features available on many platforms.</t>
        </section>
        <section anchor="Short-Lived-Timebound-Codes">
          <name>Short Lived/Timebound QR or User Codes</name>
          <t>The impact of an attack can be reduced by making QR or user codes short lived. If an attacker obtains a short lived code, the duration during which the unauthenticated channel can be exploited is reduced, potentially increasing the cost of a successful attack. This mitigation can be implemented on the authorization server without changes to other system components.</t>
          <t><strong>Limitations:</strong> There is a practical limit to how short a user code can be valid due to network latency and user experience limitations (time taken to enter a code, or incorrectly entering a code). More sophisticated Cross-Device Consent Phishing attacks counter the effectiveness of short lived codes by convincing a user to respond to a phishing e-mail and only request the QR or user code once the user clicks on the link in the phishing e-mail <xref target="Exploit6"/>.</t>
        </section>
        <section anchor="one-time-or-limited-use-codes">
          <name>One-Time or Limited Use Codes</name>
          <t>By enforcing one-time use or limited use of user or QR codes, the authorization server can limit the impact of attacks where the same user code or QR code is sent to multiple victims. One-time use may be achieved by including a nonce or date-stamp in the user code or QR code which is validated by the authorization server when the user scans the QR code against a list of previously issued codes. This mitigation can be implemented on the authorization server without changes to other system components.</t>
          <t><strong>Limitations:</strong> Enforcing one-time use may be difficult in large globally distributed systems with low latency requirements, in which case short lived tokens may be more practical. One-time use codes may also have an impact on the user experience. For example, a user may enter a code, but their session may be interrupted before the access request is completed. If the code is a one-time use code, they would need to restart the session and obtain a new code since they won't be allowed to enter the same code a second time. To avoid this, implementers MAY allow the same code to be presented a small number of times.</t>
        </section>
        <section anchor="unique_codes">
          <name>Unique Codes</name>
          <t>By issuing unique user or QR codes, an authorization server can detect if the same codes are being repeatedly submitted. This may be interpreted as anomalous behavior and the authorization server MAY choose to decline issuing access and refresh tokens if it detects the same codes being presented repeatedly. This may be achieved by maintaining a deny list that contains QR codes or user codes that were previously used. The authorization server MAY use a sliding window equal to the lifetime of a token if short lived/timebound tokens are used (see <xref target="Short-Lived-Timebound-Codes"/>). This will limit the size of the deny list. This mitigation can be implemented on the authorization server without changes to other system components.</t>
          <t><strong>Limitations:</strong> Maintaining a deny list of previously redeemed codes, even for a sliding window, may have an impact on the latency of globally distributed systems. One alternative is to segment user codes by geography or region and maintain local deny lists.</t>
        </section>
        <section anchor="content-filtering">
          <name>Content Filtering</name>
          <t>Attackers exploit the unauthenticated channel by changing the context of the user code or QR code and then sending a message to a user (e-mail, text messaging, instant messaging or other communication mechanisms). By deploying content filtering (e.g., anti-spam filter), these messages can be blocked and prevented from reaching the end-users. It may be possible to fine-tune content filtering solutions to detect artefacts like QR codes or user codes that are included in a message that is sent to multiple recipients in the expectation that at least one of the recipients will be convinced by the message and grant authorization to access restricted resources.</t>
          <t><strong>Limitations:</strong> Some scenarios may require legitimate re-transmission of user, QR and authorization data (e.g., retries). To prevent the disruption of legitimate scenarios, content filters may use a threshold and allow a limited number of messages with the same QR or user codes to be transmitted before interrupting the delivery of those messages. Content filtering may also be fragmented across multiple communications systems and communication channels (e-mail, text messaging, instant messaging or other communication mechanisms), making it harder to detect or interrupt attacks that are executed over multiple channels, unless here is a high degree of integration between content filtering systems.</t>
        </section>
        <section anchor="detect-and-remediate">
          <name>Detect and Remediate</name>
          <t>The authorization server may be able to detect misuse of the codes due to repeated use as described in <xref target="unique_codes"/>, as an input from a content filtering engine as described in <xref target="content-filtering"/>, or through other mechanisms such as reports from end-users. If an authorization server determines that a user code or QR code is being used in an attack it may choose to invalidate all tokens issued in response to these codes and make that information available through a token introspection endpoint (see <xref target="RFC7662"/>). In addition it may notify resource servers to stop accepting these tokens or to terminate existing sessions associated with these tokens using Continuous Access Evaluation Protocol (CAEP) messages <xref target="CAEP"/> using the Shared Signals Framework (SSF) <xref target="SSF"/> framework or an equivalent notification system.</t>
          <t><strong>Limitations:</strong> Detection and remediation requires that resource servers are integrated with security eventing systems or token introspection services. This may not always be practical for existing systems and may need to be targeted to the most critical resource services in an environment.</t>
        </section>
        <section anchor="trusted_devices">
          <name>Trusted Devices</name>
          <t>If an attacker is unable to initiate the protocol, they are unable to obtain a QR code or user code that can be leveraged for the attacks described in this document. By restricting the protocol to only be executed on devices trusted by the authorization server, it prevents attackers from using arbitrary devices, or by mimicking devices to initiate the protocol.</t>
          <t>Authorization Servers MAY use different mechanisms to establish which devices it trusts. This includes limiting cross-device flows to specific device types such as intractive whiteboards or smart TVs, pre-registering devices with the authorization server or only allow cross-device flows on devices managed through device management systems. Device management systems may enforce policies that govern patching, version updates, on-device anti-malware deployment, revocation status and device location amongst others. Trusted devices MAY have their identities rooted in hardware (e.g., a TPM or equivalent technology).</t>
          <t>By only allowing trusted devices to initiate cross-device flows, it requires the attacker to have access to such a device and maintain access in a way that does not result in the device's trust status from being revoked.</t>
          <t><strong>Limitations:</strong> An attacker may still be able to obtain access to a trusted device and use it to initiate authorization requests, making it necessary to apply additional controls and integrating with other threat detection and management systems that can detect suspicious behaviour such as repeated requests to initiate authorization or high volume of service activation on the same device.</t>
        </section>
        <section anchor="trusted-networks">
          <name>Trusted Networks</name>
          <t>An attacker can be prevented from initiating a cross-device flow protocol by only allowing the protocol to be initiated on a trusted network or within a security perimeter (e.g., a corporate network). A trusted network may be defined as a set of IP addresses and joining the network is subject to security controls managed by the network operator, which may include only allowing trusted devices on the network, device management, user authentication and physical access policies and systems. By limiting protocol initiation to a specific network, the attacker needs to have access to a device on the network. This mitigation can be implemented on the authorization server without changes to other system components.</t>
          <t><strong>Limitations:</strong> Network level controls may not always be feasible, especially when dealing with consumer scenarios where the network may not be under control of the service provider. Even if it is possible to deploy network level controls, it SHOULD be used in conjunction with other controls outlined in this document to achieve defence in-depth.</t>
        </section>
        <section anchor="limited-scopes">
          <name>Limited Scopes</name>
          <t>Authorization servers MAY choose to limit the scopes they include in access tokens issued through cross-device flows where the unauthenticated channel between two devices are susceptible to being exploited. Including limited scopes lessens the impact in case of a successful attack. The decision about which scopes are included may be further refined based on whether the protocol is initiated on a trusted device or the user's location relative to the location of the Consumption Device. This mitigation can be implemented on the authorization server without changes to other system components.</t>
          <t><strong>Limitations:</strong> Limiting scopes reduces the impact of a compromise, but does not avoid it. It SHOULD be used in conjunction with other mitigations described in this document.</t>
        </section>
        <section anchor="short-lived-tokens">
          <name>Short Lived Tokens</name>
          <t>Another mitigation strategy includes limiting the life of the access and refresh tokens. The lifetime can be lengthened or shortened, depending on the user's location, the resources they are trying to access or whether they are using a trusted device. Short lived tokens do not prevent or disrupt the attack, but serve as a remedial mechanism in case the attack succeeded. This mitigation can be implemented on the authorization server without changes to other system components.</t>
          <t><strong>Limitations:</strong> Short lived tokens reduces the time window during which an attacker can benefit from a successful attack. This is most effective for access tokens. However, once an attacker obtains a refresh token, they can continue to request new access tokens, as well as refresh tokens. Forcing the expiry of refresh tokens may cause the user to re-authorize an action more frequently, which results in a negative user experience.</t>
        </section>
        <section anchor="rate-limits">
          <name>Rate Limits</name>
          <t>An attacker that engages in a scaled attack may need to request a large number of user codes (see exploit <xref target="example-b1"/>) or initiate a large number of authorization requests (see exploit <xref target="example-b4"/>) in a short period of time. An authorization server MAY apply rate limits to minimize the number of requests it would accept from a client in a limited time period.</t>
          <t><strong>Limitations:</strong> Rate limits are effective at slowing an attacker down and help to degrade scaled attacks, but do not prevent more targeted attacks that are executed with lower volumes and velocity. Therefore, it should be used along with other techniques to provide a defence-in-depth defence against cross-device attacks.</t>
        </section>
        <section anchor="sender-constrained-tokens">
          <name>Sender-Constrained Tokens</name>
          <t>Sender-constrained tokens limit the impact of a successful attack by preventing the tokens from being moved from the device on which the attack was successfully executed. This makes attacks where an attacker gathers a large number of access and refresh tokens on a single device and then sells them for profit more difficult, since the attacker would also have to export the cryptographic keys used to sender-constrain the tokens or be able to access them and generate signatures for future use. If the attack is being executed on a trusted device to a device with anti-malware, any attempts to exfiltrate tokens or keys may be detected and the device's trust status may be changed. Using hardware keys for sender-constraining tokens will further reduce the ability of the attacker to move tokens to another device.</t>
          <t><strong>Limitations:</strong> Sender-constrained tokens, especially sender-constrained tokens that require proof-of-posession, raise the bar for executing the attack and profiting from exfiltrating tokens. Although a software proof-of-posession key is better than no proof-of-posession key, an attacker may still exfiltrate the software key. Hardware keys are harder to exfiltrate, but come with additional implementation complexity. An attacker that controls the Consumption Device may still be able to excercise the key, even if it is in hardware. Consequently the main protection derived from sender-constrained tokens is preventing tokens from being moved from the Consumption Device to another device, thereby making it harder sell stolen tokens and profit from the attack.</t>
        </section>
        <section anchor="user_education">
          <name>User Education</name>
          <t>Research shows that user education is effective in reducing the risk of phishing attacks <xref target="Baki2023"/>. The service provider MAY educate users on the risks of cross-device consent phishing and provide out-of-band reinforcement to the user on the context and conditions under which an authorization grant may be requested. For example, if the service provider does not send e-mails with QR codes requesting users to grant authorization, this may be reinforced in marketing messages and anti-fraud awareness campaigns. The service provider MAY also choose to reinforce these user education messages through in-app experiences. In <xref target="PCRSM2023"/>, it is proposed to advise users to verify the trustworthiness of the source of a QR code, for instance by checking that the connection is protected through TLS or by verifying that the URL really belongs to the Authorization Server.</t>
          <t><strong>Limitations:</strong> Although user education helps to raise awareness and reduce the overall risk to users, it is insufficient on its own to mitigate cross-device consent phishing attacks. In particular, carefully designed phishing attacks can be practically indistinguishable from benign authorization flows even for well-trained users. User education SHOULD therefore be used in conjunction with other controls described in this document.</t>
        </section>
        <section anchor="user-experience">
          <name>User Experience</name>
          <t>The user experience SHOULD preserve the context within which the protocols were initiated and communicate this clearly to the user when they are asked to authorize, authenticate or present a credential. In preserving the context, it should be clear to the user who invoked the flow, why it was invoked and what the consequence of completing the authorization, authentication or credential presentation is. The user experience SHOULD reinforce the message that unless the user initiated the authorization request, or was expecting it, they should decline the request.</t>
          <t>This information MAY be communicated graphically or in a simple message (e.g., "It looks like you are trying to access your files on a digital whiteboard in your city center office. Click here to grant access to your files. If you are not trying to access your files, you should decline this request and notify the security department").</t>
          <t>It SHOULD be clear to the user how to decline the request. To avoid accidental authorization grants, the "decline" option SHOULD be the default option or given similar prominence in the user experience as the "grant" option.</t>
          <t>If the user uses an application on a mobile device to scan a QR code, the application MAY display information advising the user under which conditions they should expect to be asked to scan a QR code and under which circumstances they should never scan a QR code (e.g., display a message that the QR code will only be displayed on kiosks within trusted locations or on trusted websites hosted on a specific domain, and never in e-mail or other media and locations).</t>
          <t>The user experience MAY include information to further educate the user on cross-device consent phishing attacks and reinforce the conditions under which authorization grants may be requested.</t>
          <t><strong>Limitations:</strong> Improvements to user experience on their own is unlikely to be sufficient and SHOULD be used in conjunction with other controls described in this document.</t>
        </section>
        <section anchor="authenticate-then-initiate">
          <name>Authenticate-then-Initiate</name>
          <t>By requiring a user to authenticate on the Consumption Device with a phishing resistant authentication method before initiating a cross-device flow, the server can prevent an attacker from initiating a cross-device flow and obtaining QR codes or user codes. This prevents the attacker from obtaining a QR code or user code that they can use to mislead an unsuspecting user. This requires that the Consumption Device has sufficient input capabilities to support a phishing resistant authentication mechanism, which may in itself negate the need for a cross-device flow.</t>
          <t><strong>Limitations:</strong> Authenticating on the Consumption Device before starting a cross-device flow does not prevent the attacks described in <xref target="example-b5"/> and <xref target="Example-B7"/> and it is RECOMMENDED that additional mitigations described in this document is used if the cross-device flows are used in scenarios such as <xref target="example-a5"/> and <xref target="example-a7"/>.</t>
        </section>
        <section anchor="request-verification">
          <name>Request Initiation Verification</name>
          <t>The user MAY be asked to confirm if they initiated an authentication or authorization request by sending a one-time password (OTP) or PIN to the user's Authorization Device and asking them to enter it on the Consumption Device to confirm the request. If the request was initiated without the users' consent, they would receive an OTP or PIN out of context which may raise suspicion for the user. In addition, they would not have information on where to enter the OTP or PIN. The user experience on the Authorization Device MAY reinforce the risk of receiving an out-of-context OTP or PIN and provide information to the user on how to report an unauthorized authentication or authorization request.</t>
          <t><strong>Limitations:</strong> The additional verification step may reduce the overall usability of the system as it is one more thing users need to do right. Attackers may combine traditional phishing attacks and target users who respond to those messages with an interactive attack that sets the expectation with the user that they will have to provide the OTP or PIN, in addition to granting authorization for the request.</t>
        </section>
        <section anchor="request-binding">
          <name>Request Binding with Out-of-Band Data</name>
          <t>In the User-Transferred Session Data Pattern, users MAY enter out-of-band information on the Consumption Device to start the authorization process. The out-of-band data entered by the user MAY then be included in the QR code which is displayed on the Consumption Device. When the QR code is scanned by the Authorization Device, the out-of-band data is verified by the user or by the Authorization Device. The out-of-band data could be any attribute that the user or Authorization Device can retrieve during the authorization process. Examples include a serial number, one-time password or PIN, location or any other data that the user or the Authorization Device can recall or retrieve during the authorization process (<xref target="MPRCS2020"/>, <xref target="PCRSM2023"/>).</t>
          <t><strong>Limitations:</strong> A sophistacted attacker may include an additional step in their attack where they create a phishing attack that gathers the out-of-band data from the user before initiating the authorization request. The additional step could also have a negative impact on the usability level of the solution.</t>
        </section>
        <section anchor="practical-mitigation-summary">
          <name>Practical Mitigation Summary</name>
          <t>The practical mitigations described in this section can prevent the attacks from being initiated, disrupt attacks once they start or reduce the impact or remediate an attack if it succeeds. When combining one or more of these mitigations the overall security profile of a cross-device flow improves significantly. The following table provides a summary view of these mitigations:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Mitigation</th>
                <th align="center">Prevent</th>
                <th align="center">Disrupt</th>
                <th align="center">Recover</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Establish Proximity</td>
                <td align="center">X</td>
                <td align="center">X</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="left">Short Lived/Timebound Codes</td>
                <td align="center"> </td>
                <td align="center">X</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="left">One-Time or Limited Use Codes</td>
                <td align="center"> </td>
                <td align="center">X</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="left">Unique Codes</td>
                <td align="center"> </td>
                <td align="center">X</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="left">Content Filtering</td>
                <td align="center"> </td>
                <td align="center">X</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="left">Detect and remediate</td>
                <td align="center"> </td>
                <td align="center"> </td>
                <td align="center">X</td>
              </tr>
              <tr>
                <td align="left">Trusted Devices</td>
                <td align="center">X</td>
                <td align="center"> </td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="left">Trusted Networks</td>
                <td align="center">X</td>
                <td align="center"> </td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="left">Limited Scopes</td>
                <td align="center"> </td>
                <td align="center"> </td>
                <td align="center">X</td>
              </tr>
              <tr>
                <td align="left">Short Lived Tokens</td>
                <td align="center"> </td>
                <td align="center"> </td>
                <td align="center">X</td>
              </tr>
              <tr>
                <td align="left">Rate Limits</td>
                <td align="center">X</td>
                <td align="center">X</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="left">Sender-Constrained Tokens</td>
                <td align="center"> </td>
                <td align="center"> </td>
                <td align="center">X</td>
              </tr>
              <tr>
                <td align="left">User Education</td>
                <td align="center">X</td>
                <td align="center"> </td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="left">User Experience</td>
                <td align="center">X</td>
                <td align="center"> </td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="left">Authenticate-then-Initiate</td>
                <td align="center">X</td>
                <td align="center"> </td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="left">Request Initiation Verification</td>
                <td align="center"> </td>
                <td align="center">X</td>
                <td align="center"> </td>
              </tr>
              <tr>
                <td align="left">Request Binding with Out-of-Band Data</td>
                <td align="center"> </td>
                <td align="center">X</td>
                <td align="center"> </td>
              </tr>
            </tbody>
          </table>
          <t>Table: Practical Mitigation Summary</t>
        </section>
      </section>
      <section anchor="protocol-selection">
        <name>Protocol Selection</name>
        <t>Some cross-device protocols are more susceptible to the exploits described in this document than others. In this section we will compare three different cross-device protocols in terms of their susceptibility to exploits focused on the unauthenticated channel, the prerequisites to implement and deploy them, along with guidance on when it is appropriate to use them.</t>
        <section anchor="ietf-oauth-20-device-authorization-grant-rfc8628">
          <name>IETF OAuth 2.0 Device Authorization Grant <xref target="RFC8628"/>:</name>
          <section anchor="description">
            <name>Description</name>
            <t>A standard to enable authorization on devices with constrained input capabilities (smart TVs, printers, kiosks). In this protocol, the user code or QR code is displayed or made available on the Consumption Device (smart TV) and entered on a second device (e.g., a mobile phone).</t>
          </section>
          <section anchor="susceptibility">
            <name>Susceptibility</name>
            <t>There are several reports in the public domain outlining how the unauthenticated channel may be exploited to execute a Cross-Device Consent Phishing attack (<xref target="Exploit1"/>, <xref target="Exploit2"/>, <xref target="Exploit3"/>, <xref target="Exploit4"/>, <xref target="Exploit5"/>, <xref target="Exploit6"/>).</t>
          </section>
          <section anchor="device-capabilities">
            <name>Device Capabilities</name>
            <t>There are no assumptions in the protocol about underlying capabilities of the device, making it a "least common denominator" protocol that is expected to work on the broadest set of devices and environments.</t>
          </section>
          <section anchor="mitigations">
            <name>Mitigations</name>
            <t>In addition to the security considerations section in the standard, it is RECOMMENDED that one or more of the mitigations outlined in this document be considered, especially mitigations that can help establish proximity or prevent attackers from obtaining QR or user codes.</t>
          </section>
          <section anchor="when-to-use">
            <name>When to use</name>
            <t>Only use this protocol if other cross-device protocols are not viable due to device or system constraints. Avoid using if the protected resources are sensitive, high value, or business critical. Always deploy additional mitigations like proximity or only allow with pre-registered devices. Do not use for same-device scenarios (e.g., if the Consumption Device and Authorization Device is the same device).</t>
          </section>
        </section>
        <section anchor="openid-foundation-client-initiated-back-channel-authentication-ciba">
          <name>OpenID Foundation Client Initiated Back-Channel Authentication (CIBA):</name>
          <section anchor="description-1">
            <name>Description</name>
            <t>Client Initiated Back-Channel Authentication (CIBA) <xref target="CIBA"/>: A standard developed in the OpenID Foundation that allows a device or service (e.g., a personal computer, smart TV, Kiosk) to request the OpenID Provider to initiate an authentication flow if it knows a valid identifier for the user. The user completes the authentication flow using a second device (e.g., a mobile phone). In this flow the user does not scan a QR code or obtain a user code from the Consumption Device, but is instead contacted by the OpenID Provider to complete the authentication using a push notification, e-mail, text message or any other suitable mechanism.</t>
          </section>
          <section anchor="susceptibility-1">
            <name>Susceptibility</name>
            <t>Less susceptible to unauthenticated channel attacks, but still vulnerable to attackers who know or can guess the user identifier and initiate an attack as described in <xref target="example-b4"/>.</t>
          </section>
          <section anchor="device-capabilities-1">
            <name>Device Capabilities</name>
            <t>There is no requirement on the Consumption Device to support specific hardware. The Authorization Device must be registered/associated with the user and it must be possible for the Authorization Server to trigger an authorization on this device.</t>
          </section>
          <section anchor="mitigations-1">
            <name>Mitigations</name>
            <t>In addition to the security considerations section in the standard, it is RECOMMENDED that one or more of the mitigations outlined in this document be considered, especially mitigations that can help establish proximity or prevent attackers from initiating authorization requests.</t>
          </section>
          <section anchor="when-to-use-1">
            <name>When to Use</name>
            <t>Use CIBA instead of Device Authorization Grant if it is possible for the Consumption Device to obtain a user identifier on the Consumption Device (e.g., through an input or selection mechanism) and if the Authorization Server can trigger an authorization on the Authorization Device. Do not use for same-device scenarios (e.g., if the Consumption Device and Authorization Device is the same device).</t>
          </section>
        </section>
        <section anchor="fido2webauthn">
          <name>FIDO2/WebAuthn</name>
          <section anchor="description-2">
            <name>Description</name>
            <t>FIDO2/WebAuthn is a stack of standards developed in the FIDO Alliance and W3C respectively which allow for origin-bound, phishing-resistant user authentication using asymmetric cryptography that can be invoked from a web browser or native client. Version 2.2 of the FIDO Client to Authenticator Protocol (CTAP) supports a new cross-device authentication protocol, called "hybrid transports", which enables an external device, such as a phone or tablet, to be used as a roaming authenticator for signing into the primary device, such as a personal computer. This is commonly called FIDO Cross-Device Authentication (CDA). CTAP 2.2 hybrid transports is implemented by the client and authenticator platforms.</t>
            <t>When a user wants to authenticate using their mobile device (authenticator) for the first time, they need to link their authenticator to their main device. This is done using a scan of a QR code. When the authenticator scans the QR code, the device sends an encrypted BLE advertisement containing keying material and a tunnel ID. The main device (CTAP client) and authenticator both establish connections to the web service, and the normal CTAP protocol exchange occurs.</t>
            <t>If the user chooses to keep their authenticator linked with the main device, the QR code link step is not necessary for subsequent use. The user will receive a push notification on the authenticator.</t>
          </section>
          <section anchor="susceptibility-2">
            <name>Susceptibility</name>
            <t>The Cross-Device Authentication flow proves proximity by leveraging BLE advertisements for service establishment, significantly reducing the susceptibility to any of the exploits described in Examples 1-6.</t>
          </section>
          <section anchor="device-capabilities-2">
            <name>Device Capabilities</name>
            <t>Both the Consumption Device and the authenticator require BLE support and access to the internet. The Consumption Device must support both the WebAuthn API <xref target="W3CWebAuthn"/> (or a platform-specific WebAuthn abstraction for native apps) and the FIDO Client to Authenticator Protocol (CTAP), specifically version 2.2 with hybrid transports <xref target="FIDOCTAP22"/>. The device serving as the FIDO authenticator must also support CTAP 2.2 or later to be used as a cross-device authenticator.</t>
          </section>
          <section anchor="mitigations-2">
            <name>Mitigations</name>
            <t>FIDO Cross-Device Authentication (CDA) establishes proximity through the use of BLE, reducing the need for additional mitigations. An implementer MAY still choose to implement additional mitigation as described in this document.</t>
          </section>
          <section anchor="when-to-use-2">
            <name>When to Use</name>
            <t>FIDO2/WebAuthn SHOULD be used for cross-device authentication scenarios whenever the devices are capable of doing so and a suitable FIDO credential is not available on the Consumption Device. It MAY be used as an authentication method with the Authorization Code Grant <xref target="RFC6749"/> and PKCE <xref target="RFC7636"/>, to grant authorization to a Consumption Device (e.g., smart TV or interactive whiteboard) using a device serving as the FIDO authenticator (e.g. a mobile phone) for authentication. This combination of FIDO2/WebAuthn and Authorization Code Flow with PKCE enables cross device authorization flows, without the risks posed by the Device Authorization Grant <xref target="RFC8628"/>.</t>
          </section>
        </section>
        <section anchor="protocol-selection-summary">
          <name>Protocol Selection Summary</name>
          <t>The FIDO Cross-Device Authentication (CDA) flow provides the best protection against attacks on the unauthenticated channel for cross device flows. It can be combined with OAuth 2.0 and OpenID Connect protocols for standards-based authorization and authentication flows. If FIDO2/WebAuthn support is not available, Client Initiated Backchannel Authentication (CIBA) provides an alternative, provided that there is a channel through which the authorization server can contact the end user. Examples of such a channel include device push notifications, e-mail or text messages which the user can access from their device. If CIBA is used, additional mitigations to enforce proximity and initiate transactions from trusted devices or trusted networks SHOULD be considered. The OAuth 2.0 Device Authorization Grant provides the most flexibility and has the lowest requirements on devices used, but it is RECOMMENDED that it is only used when additional mitigations are deployed to prevent attacks that exploit the unauthenticated channel between devices.</t>
        </section>
      </section>
      <section anchor="foundational-pillars">
        <name>Foundational Pillars</name>
        <t>Experience with web authorization and authentication protocols such as OAuth and OpenID Connect has shown that securing these protocols can be hard. The major reason for this is that the landscape in which they are operating - the web infrastructure with browsers, servers, and the underlying network - is complex, diverse, and ever-evolving.</t>
        <t>As is the case with other kinds of protocols, it can be easy to overlook vulnerabilities in this environment. One way to reduce the chances of hidden security problems is to use mathematical-logical models to describe the protocols, their environments and their security goals, and then use these models to try to prove security. This approach is what is usually subsumed as "formal security analysis".</t>
        <t>There are two major strengths of formal analysis: First, finding new vulnerabilities does not require creativity - i.e., new classes of attacks can be uncovered even if no one thought of these attacks before. In a faithful model, vulnerabilities become clear during the proof process or even earlier. Second, formal analysis can exclude the existence of any attacks within the boundaries of the model (e.g., the protocol layers modeled, the level of detail and functionalities covered, the assumed attacker capabilities, and the formalized security goals). As a downside, there is usually a gap between the model (which necessarily abstracts away from details) and implementations. In other words, implementations can introduce flaws where the model does not have any. Nonetheless, for protocol standards, formal analysis can help to ensure that the specification is secure when implemented correctly.</t>
        <t>There are various different approaches to formal security analysis and each brings its own strengths and weaknesses. For example, models differ in the level of detail in which they can capture a protocol (granularity, expressiveness), in the kind of statements they can produce, and whether the proofs can be assisted by tools or have to be performed manually.</t>
        <t>The following works have been identified as relevant to the analysis of cross-device flows:</t>
        <ul spacing="normal">
          <li>
            <t>In "Formal analysis of self-issued OpenID providers" <xref target="Bauer2022"/>,
the protocol of <xref target="OpenID.SIOPV2"/> was analyzed using the Web
Infrastructure Model (WIM). The WIM is specifically designed for the
analysis of web authentication and authorization protocols. While it
is a manual (pen-and-paper) model, it captures details of browsers
and web interactions to a degree that is hard to match in automated
models. In previous works, previously unknown flaws in OAuth, OpenID
Connect, and FAPI were discovered using the WIM. In the analysis of a
cross-device SIOP V2 flow in <xref target="Bauer2022"/>, the request replay attack
already described in Section 13.3 of <xref target="OpenID.SIOPV2"/> was confirmed
in the model. A mitigation was implemented based on a so-called
Cross-Device Stub, essentially a component that serves to link the
two devices before the protocol flow starts. This can be seen as an
implementation of a trusted device relationship as described in
<xref target="trusted_devices"/>. The mitigation was shown to be effective in the
model.</t>
          </li>
          <li>
            <t>In "Security analysis of the Grant Negotiation and Authorization
Protocol" <xref target="Helmschmidt2022"/>, an analysis of a draft of the Grant
Negotiation and Authorization Protocol (GNAP)
<xref target="RFC9635"/> was performed using the Web
Infrastructure Model. The same attack as in <xref target="Bauer2022"/> was found to
apply to GNAP as well. In this case, a model of a "careful user" (see
<xref target="user_education"/> was used to show that the attack can be prevented
(at least in theory) by the user.</t>
          </li>
          <li>
            <t>In "The Good, the Bad and the (Not So) Ugly of Out-of-Band
Authentication with eID Cards and Push Notifications: Design, Formal
and Risk Analysis" <xref target="MPRCS2020"/>, Pernpruner et al. formally
analysed an authentication protocol relying on push notifications
delivered to an out-of-band device to approve the authentication
attempt on the primary device (Backchannel-Transferred Session
Pattern, <xref target="btsp"/>). The analysis was performed using the specification
language ASLan++ and the model checker SATMC. According to the
results of the analysis, they identified and defined the category of
<em>implicit attacks</em>, which manage to deceive users into approving a
malicious authentication attempt through social engineering
techniques, thus not compromising all the authentication factors
involved; these attacks are aligned with the definition of
Cross-Device Consent Phishing (CDCP) attacks.</t>
          </li>
          <li>
            <t>In "An Automated Multi-Layered Methodology to Assist the Secure and
Risk-Aware Design of Multi-Factor Authentication Protocols"
<xref target="PCRSM2023"/>, Pernpruner et al. defined a multi-layered methodology
to analyze multi-factor authentication protocols at different levels
of granularity. They leveraged their methodology to formally analyze
a protocol relying on a QR code that has to be scanned on a secondary
device to approve the authentication attempt on the primary device
(User-Transferred Session Data Pattern, <xref target="utsdp"/>). Given the results
of the analysis, they proposed some practical mitigations either to
prevent or reduce the risk of successful attacks, such as those
described in <xref target="user_education"/>, <xref target="request-verification"/> and
<xref target="request-binding"/>.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="conclusion">
      <name>Conclusion</name>
      <t>Cross-device flows enable authorization on devices with limited input capabilities, allow for secure authentication when using public or shared devices, provide a path towards multi-factor authentication and, provide the convenience of a single, portable credential store.</t>
      <t>The popularity of cross-device flows attracted the attention of attackers that exploit the unauthenticated channel between the Consumption Device and Authorization Device using techniques commonly used in phishing attacks. These Cross-Device Consent Phishing (CDCP) attacks allow attackers to obtain access and refresh tokens, rather than authentication credentials, resulting in access to resources even if the user used multi-factor authentication.</t>
      <t>To address these attacks, we propose a three pronged approach that includes the deployment of practical mitigations to safeguard protocols that are already deployed, provide guidance on when to use different protocols, including protocols that are not susceptible to these attacks, and the introduction of formal methods to evaluate the impact of mitigations and find additional issues.</t>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <t>The authors would like to thank Tim Cappalli, Nick Ludwig, Adrian Frei, Nikhil Reddy Boreddy, Bjorn Hjelm, Joseph Heenan, Brian Campbell, Damien Bowden, Kristina Yasuda, Tim Würtele, Karsten Meyer zu Selhausen, Maryam Mehrnezhad, Marco Pernpruner, Giada Sciarretta, Dean H. Saxe, Roy Williams, Dan Moore and others (please let us know, if you've been mistakenly omitted) for their valuable input, feedback and general support of this work.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC7636">
          <front>
            <title>Proof Key for Code Exchange by OAuth Public Clients</title>
            <author fullname="N. Sakimura" initials="N." role="editor" surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Agarwal" initials="N." surname="Agarwal"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>OAuth 2.0 public clients utilizing the Authorization Code Grant are susceptible to the authorization code interception attack. This specification describes the attack as well as a technique to mitigate against the threat through the use of Proof Key for Code Exchange (PKCE, pronounced "pixy").</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7636"/>
          <seriesInfo name="DOI" value="10.17487/RFC7636"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8628">
          <front>
            <title>OAuth 2.0 Device Authorization Grant</title>
            <author fullname="W. Denniss" initials="W." surname="Denniss"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="August" year="2019"/>
            <abstract>
              <t>The OAuth 2.0 device authorization grant is designed for Internet- connected devices that either lack a browser to perform a user-agent- based authorization or are input constrained to the extent that requiring the user to input text in order to authenticate during the authorization flow is impractical. It enables OAuth clients on such devices (like smart TVs, media consoles, digital picture frames, and printers) to obtain user authorization to access protected resources by using a user agent on a separate device.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8628"/>
          <seriesInfo name="DOI" value="10.17487/RFC8628"/>
        </reference>
        <reference anchor="RFC7662">
          <front>
            <title>OAuth 2.0 Token Introspection</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This specification defines a method for a protected resource to query an OAuth 2.0 authorization server to determine the active state of an OAuth 2.0 token and to determine meta-information about this token. OAuth 2.0 deployments can use this method to convey information about the authorization context of the token from the authorization server to the protected resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7662"/>
          <seriesInfo name="DOI" value="10.17487/RFC7662"/>
        </reference>
        <reference anchor="CIBA" target="https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html">
          <front>
            <title>OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0</title>
            <author initials="G. F." surname="Rodriguez" fullname="Gonzalo Fernandez Rodriguez">
              <organization>Telefonica</organization>
            </author>
            <author initials="F." surname="Walter" fullname="Florian Walter">
              <organization>Deutsche Telekom AG</organization>
            </author>
            <author initials="A." surname="Nennker" fullname="Axel Nennker">
              <organization>Deutsche Telekom AG</organization>
            </author>
            <author initials="D." surname="Tonge" fullname="Dave Tonge">
              <organization>Moneyhub</organization>
            </author>
            <author initials="B." surname="Campbell" fullname="Brian Campbell">
              <organization>Ping Identity</organization>
            </author>
            <date year="2021" month="September"/>
          </front>
        </reference>
        <reference anchor="CAEP" target="https://openid.net/specs/openid-caep-1_0-final.html">
          <front>
            <title>OpenID Continuous Access Evaluation Profile 1.0</title>
            <author initials="A." surname="Tulshibagwale" fullname="Atul Tulshibagwale">
              <organization>SGNL</organization>
            </author>
            <author initials="T." surname="Cappalli" fullname="Tim Cappalli">
              <organization>Microsoft</organization>
            </author>
            <date year="2025" month="August"/>
          </front>
        </reference>
        <reference anchor="SSF" target="https://openid.net/specs/openid-sharedsignals-framework-1_0-final.html">
          <front>
            <title>OpenID Shared Signals Framework Specification 1.0</title>
            <author initials="A." surname="Tulshibagwale" fullname="Atul Tulshibagwale">
              <organization>SGNL</organization>
            </author>
            <author initials="T." surname="Cappalli" fullname="Tim Cappalli">
              <organization>Microsoft</organization>
            </author>
            <author initials="M." surname="Scurtescu" fullname="Marius Scurtescu">
              <organization>Coinbase</organization>
            </author>
            <author initials="A." surname="Backman" fullname="Annabelle Backman">
              <organization>Amazon</organization>
            </author>
            <author initials="J." surname="Bradley" fullname="John Bradley">
              <organization>Yubico</organization>
            </author>
            <author initials="S." surname="Miel" fullname="Shayne Miel">
              <organization>Cisco</organization>
            </author>
            <date year="2025" month="August"/>
          </front>
        </reference>
        <reference anchor="W3CWebAuthn" target="https://www.w3.org/TR/2025/WD-webauthn-3-20250127/">
          <front>
            <title>Web Authentication: An API for accessing Public Key Credentials Level 3</title>
            <author initials="T." surname="Cappalli" fullname="Tim Cappalli">
              <organization>Okta</organization>
            </author>
            <author initials="M.B." surname="Jones" fullname="Michael B. Jones">
              <organization>Microsoft</organization>
            </author>
            <author initials="A." surname="Kumar" fullname="Akshay Kumar">
              <organization>Microsoft</organization>
            </author>
            <author initials="E." surname="Lundberg" fullname="Emil Lundberg">
              <organization>Yubico</organization>
            </author>
            <author initials="M." surname="Miller" fullname="Matthew Miller">
              <organization>Cisco</organization>
            </author>
            <date year="2025" month="January"/>
          </front>
        </reference>
        <reference anchor="FIDOCTAP22" target="">
          <front>
            <title>Client to Authenticator Protocol (CTAP)</title>
            <author initials="J." surname="Bradley" fullname="John Bradley">
              <organization>Yubico</organization>
            </author>
            <author initials="M.B." surname="Jones" fullname="Michael B. Jones">
              <organization>Microsoft</organization>
            </author>
            <author initials="A." surname="Kumar" fullname="Akshay Kumar">
              <organization>Microsoft</organization>
            </author>
            <author initials="R." surname="Lindemann" fullname="Rolf Lindemann">
              <organization>Nok Nok Labs</organization>
            </author>
            <author initials="S." surname="Verrept" fullname="Johan Verrept">
              <organization>OneSpan</organization>
            </author>
            <author initials="D." surname="Waite" fullname="David Waite">
              <organization>Ping Identity</organization>
            </author>
            <date year="2025" month="July"/>
          </front>
        </reference>
        <reference anchor="IEEE802154" target="https://standards.ieee.org/ieee/802.15.4/11041/">
          <front>
            <title>IEEE Std 802.15.4-2024: IEEE Standard for Low-Rate Wireless Networks</title>
            <author>
              <organization>Institute of Electrical and Electronics Engineers</organization>
            </author>
            <date year="2024"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9635">
          <front>
            <title>Grant Negotiation and Authorization Protocol (GNAP)</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="F. Imbault" initials="F." surname="Imbault"/>
            <date month="October" year="2024"/>
            <abstract>
              <t>The Grant Negotiation and Authorization Protocol (GNAP) defines a mechanism for delegating authorization to a piece of software and conveying the results and artifacts of that delegation to the software. This delegation can include access to a set of APIs as well as subject information passed directly to the software.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9635"/>
          <seriesInfo name="DOI" value="10.17487/RFC9635"/>
        </reference>
        <reference anchor="Exploit1" target="https://0xboku.com/2021/07/12/ArtOfDeviceCodePhish.html">
          <front>
            <title>The Art of the Device Code Phish</title>
            <author initials="B." surname="Cooke" fullname="Bobby Cooke">
              <organization/>
            </author>
            <date year="2021" month="July"/>
          </front>
        </reference>
        <reference anchor="Exploit2" target="https://www.optiv.com/insights/source-zero/blog/microsoft-365-oauth-device-code-flow-and-phishing">
          <front>
            <title>Microsoft 365 OAuth Device Code Flow and Phishing</title>
            <author initials="D." surname="Min" fullname="Daniel Min">
              <organization/>
            </author>
            <date year="2021" month="August"/>
          </front>
        </reference>
        <reference anchor="Exploit3" target="https://o365blog.com/post/phishing/#new-phishing-technique-device-code-authentication">
          <front>
            <title>Introducing a new phishing technique for compromising Office 365 accounts</title>
            <author initials="N." surname="Syynimaa" fullname="Nestori Syynimaa">
              <organization/>
            </author>
            <date year="2020" month="October"/>
          </front>
        </reference>
        <reference anchor="Exploit4" target="https://www.youtube.com/watch?v=9slRYvpKHp4">
          <front>
            <title>New Phishing Attacks Exploiting OAuth Authentication Flows (DEFCON 29)</title>
            <author initials="J." surname="Hwong" fullname="Jenko Hwong">
              <organization/>
            </author>
            <date year="2021" month="August"/>
          </front>
        </reference>
        <reference anchor="Exploit5" target="https://www.secureworks.com/blog/oauths-device-code-flow-abused-in-phishing-attacks">
          <front>
            <title>OAuth's Device Code Flow Abused in Phishing Attacks</title>
            <author>
              <organization>Secureworks Counter Threat Unit (CTU)</organization>
            </author>
            <date year="2021" month="August"/>
          </front>
        </reference>
        <reference anchor="Exploit6" target="https://www.helpnetsecurity.com/2022/08/11/squarephish-video/">
          <front>
            <title>SquarePhish: Advanced phishing tool combines QR codes and OAuth 2.0 device code flow</title>
            <author initials="K." surname="Talebzadeh" fullname="Kam Talebzadeh">
              <organization/>
            </author>
            <author initials="N." surname="Romsdah" fullname="Nevada Romsdah">
              <organization/>
            </author>
            <date year="2022" month="August"/>
          </front>
        </reference>
        <reference anchor="NYC.Bike" target="https://nypost.com/2021/08/07/citi-bikes-being-swiped-by-joyriding-scammers-who-have-cracked-the-qr-code/">
          <front>
            <title>Citi Bikes being swiped by joyriding scammers who have cracked the QR code</title>
            <author initials="K. J." surname="Byrne" fullname="Kerry J. Byrne">
              <organization/>
            </author>
            <date year="2021" month="August"/>
          </front>
        </reference>
        <reference anchor="OpenID.SIOPV2" target="https://bitbucket.org/openid/connect/src/master/openid-connect-self-issued-v2/openid-connect-self-issued-v2-1_0.md">
          <front>
            <title>Self-Issued OpenID Provider v2</title>
            <author initials="K." surname="Yasuda" fullname="Kristina Yasuda">
              <organization>Microsoft</organization>
            </author>
            <author initials="M. B." surname="Jones" fullname="Michael B. Jones">
              <organization>Microsoft</organization>
            </author>
            <author initials="T." surname="Lodderstedt" fullname="Torsten Lodderstedt">
              <organization>yes.com</organization>
            </author>
            <date year="2022" month="November"/>
          </front>
        </reference>
        <reference anchor="OpenID.VP" target="https://openid.net/specs/openid-4-verifiable-presentations-1_0.html">
          <front>
            <title>OpenID for Verifiable Credential Presentations</title>
            <author initials="O." surname="Terbu" fullname="Oliver Terbu">
              <organization>Mattr</organization>
            </author>
            <author initials="T." surname="Lodderstedt" fullname="Torsten Lodderstedt">
              <organization>yes.com</organization>
            </author>
            <author initials="K." surname="Yasuda" fullname="Kristina Yasuda">
              <organization>Microsoft</organization>
            </author>
            <author initials="T." surname="Looker" fullname="Tobias Looker">
              <organization>Mattr</organization>
            </author>
            <date year="2023" month="November"/>
          </front>
        </reference>
        <reference anchor="OpenID.VCI" target="https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html">
          <front>
            <title>OpenID for Verifiable Credential Issuance</title>
            <author initials="T." surname="Lodderstedt" fullname="Torsten Lodderstedt">
              <organization>yes.com</organization>
            </author>
            <author initials="K." surname="Yasuda" fullname="Kristina Yasuda">
              <organization>Microsoft</organization>
            </author>
            <author initials="T." surname="Looker" fullname="Tobias Looker">
              <organization>Mattr</organization>
            </author>
            <date year="2023" month="October"/>
          </front>
        </reference>
        <reference anchor="Bauer2022" target="https://elib.uni-stuttgart.de/handle/11682/12417">
          <front>
            <title>Formal analysis of self-issued OpenID providers</title>
            <author initials="C." surname="Bauer" fullname="C Bauer">
              <organization/>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="OpenID.Core" target="https://openid.net/specs/openid-connect-core-1_0.html">
          <front>
            <title>OpenID Connect Core 1.0</title>
            <author initials="N." surname="Sakimura">
              <organization/>
            </author>
            <author initials="J." surname="Bradley">
              <organization/>
            </author>
            <author initials="M. B." surname="Jones">
              <organization/>
            </author>
            <author initials="B." surname="de Medeiros">
              <organization/>
            </author>
            <author initials="C." surname="Mortimore">
              <organization/>
            </author>
            <date year="2014" month="November"/>
          </front>
        </reference>
        <reference anchor="PCRSM2023" target="https://doi.org/10.1109/TDSC.2023.3296210">
          <front>
            <title>An Automated Multi-Layered Methodology to Assist the Secure and Risk-Aware Design of Multi-Factor Authentication Protocols, IEEE Transactions on Dependable and Secure Computing (TDSC)</title>
            <author initials="M." surname="Pernpruner" fullname="Marco Pernpruner">
              <organization/>
            </author>
            <author initials="R." surname="Carbone" fullname="Roberto Carbone">
              <organization/>
            </author>
            <author initials="G." surname="Sciarretta" fullname="Giada Sciarretta">
              <organization/>
            </author>
            <author initials="S." surname="Ranise" fullname="Silvio Ranise">
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="MPRCS2020" target="https://doi.org/10.1145/3374664.3375727">
          <front>
            <title>The Good, the Bad and the (Not So) Ugly of Out-of-Band Authentication with eID Cards and Push Notifications: Design, Formal and Risk Analysis, Proceedings of the Tenth ACM Conference on Data and Application Security and Privacy, Pages 223–234, Association for Computing Machinery</title>
            <author initials="M." surname="Pernpruner" fullname="Marco Pernpruner">
              <organization/>
            </author>
            <author initials="R." surname="Carbone" fullname="Roberto Carbone">
              <organization/>
            </author>
            <author initials="S." surname="Ranise" fullname="Silvio Ranise">
              <organization/>
            </author>
            <author initials="G." surname="Sciarretta" fullname="Giada Sciarretta">
              <organization/>
            </author>
            <date year="2020"/>
          </front>
        </reference>
        <reference anchor="Helmschmidt2022" target="https://elib.uni-stuttgart.de/handle/11682/12220">
          <front>
            <title>Security analysis of the Grant Negotiation and Authorization Protocol</title>
            <author initials="F." surname="Helmschmidt">
              <organization/>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="Baki2023" target="https://doi.org/10.1109/TDSC.2022.3151103">
          <front>
            <title>Sixteen Years of Phishing User Studies: What Have We Learned?, IEEE Transactions on Dependable and Secure Computing, Volume 20, Number 2, Pages 1200–1212</title>
            <author initials="S." surname="Baki">
              <organization/>
            </author>
            <author initials="R. M." surname="Verma">
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1157?>

<section anchor="document-history">
      <name>Document History</name>
      <t>[[ To be removed from the final specification ]]</t>
      <t>-latest</t>
      <ul spacing="normal">
        <li>
          <t>Fixed malformed labels</t>
        </li>
        <li>
          <t>Clarified common use case for when phone and TVs do not use the same network.</t>
        </li>
        <li>
          <t>Clarified role of authorization server in establishing proximity.</t>
        </li>
        <li>
          <t>Clarified which mitigations can be implented by the authorization server only.</t>
        </li>
        <li>
          <t>Add Dan Moore to acknowledgements.</t>
        </li>
        <li>
          <t>Updated outdated references.</t>
        </li>
      </ul>
      <t>-10</t>
      <ul spacing="normal">
        <li>
          <t>Shepherd feedback: Describe unauthenticated channel.</t>
        </li>
        <li>
          <t>Shepherd feedback: Seperate normative and informative references.</t>
        </li>
        <li>
          <t>Shepherd feedback: Update FIDO/WebAuthn references</t>
        </li>
      </ul>
      <t>-09</t>
      <ul spacing="normal">
        <li>
          <t>Affiliation change to allow publication to Datatracker.</t>
        </li>
        <li>
          <t>No content changes - re-published to avoid expiry while waiting on shepherd review.</t>
        </li>
      </ul>
      <t>-08</t>
      <ul spacing="normal">
        <li>
          <t>Editorial updates.</t>
        </li>
      </ul>
      <t>-07</t>
      <ul spacing="normal">
        <li>
          <t>Clarification of FIDO\WebAuthn section.</t>
        </li>
        <li>
          <t>Updated langugage in section on FIDO to allow for use of FIDO keys on consumption devices.</t>
        </li>
        <li>
          <t>Clarified origin of QR Code.</t>
        </li>
        <li>
          <t>Editorial updates</t>
        </li>
        <li>
          <t>Updated examples to be consistent.</t>
        </li>
        <li>
          <t>Made diagram description clearer.</t>
        </li>
        <li>
          <t>Added CTAP 2.2 Draft.</t>
        </li>
        <li>
          <t>Added additional guidance on geolocation inaccuracies.</t>
        </li>
        <li>
          <t>Added Roy Williams to acknowledgements</t>
        </li>
        <li>
          <t>Clarified that authorization servers can detect</t>
        </li>
        <li>
          <t>Consistent use of "smart TV"</t>
        </li>
        <li>
          <t>Fixed references</t>
        </li>
      </ul>
      <t>-06</t>
      <ul spacing="normal">
        <li>
          <t>Corrected typos.</t>
        </li>
      </ul>
      <t>-05</t>
      <ul spacing="normal">
        <li>
          <t>Added section to provide actionable guidance to implementers on how to use this document.</t>
        </li>
        <li>
          <t>Expanded section on formal analysis to include completed research projects.</t>
        </li>
        <li>
          <t>Added reference to OpenID for Verifiable Presentations.</t>
        </li>
      </ul>
      <t>-04</t>
      <ul spacing="normal">
        <li>
          <t>Corrected formatting issue that prevented history from showing correctly.</t>
        </li>
      </ul>
      <t>-03</t>
      <ul spacing="normal">
        <li>
          <t>Introduced normative SHOULD, RECOMMENDED and MAY when applied to actions the Authorization Server, Resource Server or Client may implement.</t>
        </li>
        <li>
          <t>Added User Education as a standalone mitigation.</t>
        </li>
        <li>
          <t>Added Maryam Mehrnezhad, Marco Pernpruner and Giada Sciarretta to the contributors list.</t>
        </li>
        <li>
          <t>Added Request Binding with Out-of-Band Data as an additional mitigation.</t>
        </li>
        <li>
          <t>Adopted the OpenID Foundation terminology from <xref target="CIBA"/> and changed Initiating Device to Consumption Device</t>
        </li>
        <li>
          <t>Added Fake Helpdesk and Consent Request Overload examples</t>
        </li>
        <li>
          <t>Replaced "Authenticated Flow" mitigation name with "Authenticate-then-Intitiate"</t>
        </li>
        <li>
          <t>Added Cross-Device Session Transfer pattern</t>
        </li>
      </ul>
      <t>-02</t>
      <ul spacing="normal">
        <li>
          <t>Fixed typos and grammar edits</t>
        </li>
        <li>
          <t>Capitalised Initiating Device and Authorization Device</t>
        </li>
        <li>
          <t>Introduced Cross-Device Consent Phishing as a label for the types of attacks described in this document.</t>
        </li>
        <li>
          <t>Updated labels for different types of flows (User-Transferred Session Data Pattern, Backchannel-Transferred Session Pattern, User-Transferred Authorization Data Pattern)</t>
        </li>
        <li>
          <t>Adopted consistent use of hyphenation in using "cross-device"</t>
        </li>
        <li>
          <t>Consistent use of "Authorization Device"</t>
        </li>
        <li>
          <t>Update Reference to Secure Signals Framework to reflect name change from Secure Signals and Events</t>
        </li>
        <li>
          <t>Described difference between proximity enforced and proximity-less cross-device flows</t>
        </li>
        <li>
          <t>General editorial pass</t>
        </li>
      </ul>
      <t>-01</t>
      <ul spacing="normal">
        <li>
          <t>Added additional diagrams and descriptions to distinguish between different cross-device flow patterns.</t>
        </li>
        <li>
          <t>Added short description on limitations of each mitigation.</t>
        </li>
        <li>
          <t>Added acknowledgement of additional contributors.</t>
        </li>
        <li>
          <t>Fixed document history format.</t>
        </li>
      </ul>
      <t>-00 (Working Group Draft)</t>
      <ul spacing="normal">
        <li>
          <t>Initial WG revision (content unchanged from draft-kasselman-cross-device-security-03)</t>
        </li>
      </ul>
      <t>-03 draft-kasselman-cross-device-security</t>
      <ul spacing="normal">
        <li>
          <t>Minor edits and typos</t>
        </li>
      </ul>
      <t>-02 draft-kasselman-cross-device-security</t>
      <ul spacing="normal">
        <li>
          <t>Minor edits and typos</t>
        </li>
        <li>
          <t>Upload as draft-ietf-oauth-cross-device-security-best-practice-02</t>
        </li>
      </ul>
      <t>-01 draft-kasselman-cross-device-security</t>
      <ul spacing="normal">
        <li>
          <t>Updated draft based on feedback from version circulated to OAuth working group</t>
        </li>
        <li>
          <t>Upload as draft-ietf-oauth-cross-device-security-best-practice-01</t>
        </li>
      </ul>
      <t>-00 draft-kasselman-cross-device-security</t>
      <ul spacing="normal">
        <li>
          <t>Initial draft adopted from document circulated to the OAuth Security Workshop Slack Channel</t>
        </li>
        <li>
          <t>Upload as draft-ietf-oauth-cross-device-security-best-practice-00</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+y96Xbc1rUw+L+eAov+YdK3ipIoWbbVw/dRlGgz0cAr0nZn
3WmhCqdIhCigAqBIV2jd1e/Qr9P/+k36SXqPZwAOikVKcZJOuJyIrALOsM8+
ex4mk8moadMy+6+0qErzImnrlRnly5p+a9qDx4+/e3wwmqXti2Q6W46a1XSR
N01ele16CY+fvD4/HqW1SV8kjZmNbi5eJFW6ai9Ho6yalekCHsnqdN5OctPO
J/TVZFZXTTPJzHU+MxN4a1Xn7Xry5GA0avO2gDd2juiJV/REclxUN82L5Ewe
TF6apk2OVnVtyjY5rdNZC0/tjNLptDbX+PKr47OdUZGWsBZTjq5uXiT/tqPT
7IyTHVrFAf42xaFmMtRSh/qP0RdJlrawkIPHBweTx/hfMpnQZ0neJPO8KEyW
5GUCA1WLFF5Ki2KdTNfJL4vioJ7PknyelFWbXOTXsAKcrqpfjCYJA+QUYGHq
5Pdp05hikZblKEmqGlZ7dnry4Q38YRZpXrxIlvTc/2yWeV3sz6qFHeBVWuam
SI5N2+qrhzBHAY+7t/H//2dGT87hwf3M2PeP8yJfJmdX1VVq535/1abe1Gl5
ne7ny/95gX/T5KOyqnGv1+bFKPlwfHTw5Ml3L5Ivkt+bdXJT1RnApaqTVWMQ
MPB9k7RVclJmABwA2wfzp1VemwUC+o25NkVDgzz/5hkN8h7XnxzsP6aNVHX+
Z5ipKpPjGhYMo1/R0988f/ocnz6tq2pOE+OUR1Vmkte/zC7hxA0eAg92upoW
+Sw5KnKYk2f79sk3z/D9w8U0v1ghLsEwPy6Xpp6lsO7rJnlT3cgfvIkEd0kz
/Yxb5FGeH3wbrlkQNVz693VatrLs5wfhC+fVlSkBOC3g+dLM8PlRcnTy8hBA
Cz96Dd4vTXnyCjZYlvCQbGVyUuZtDjDNkpfp7Aq3XQIy4NjwLUKbAAeXJpnA
q7VJnuw/3qFxFRET+lFs+L4q/wyXH9CpLoEQmD8nH6qsBgCZP8uTgiLnpjDz
qoQpOiPAZHWelsnPaQEIG770yqzaZnZp6O2rapEcft95+/AXWP47U5ZX93/3
VXoN31Zw8OGbb4GWrS9X087jL2mZR+liOTVFEb5ympcXyUmGMGzX9JWlAU8m
j7/jg0nrCwOU8LJtl82LR48qOKA82y9N+wjPsZEPJjM+qVxPajJ1JzVJg5Oa
zOCIJk/+6/H+ZbuAJR0dvj7FE+rjQJuXq2rVJIezmWma5PV1Wqz4sOE+AE2y
B+0f8yThRRRAQXcO93dkz82qZojsnK+K5jKfphc3aWH06/mqKOT7w3ZVJNGH
AGpAXRjb4cGz79+92enPeR6Z8yhdLoFi5pHpzvNF0v26M9HbHBlINW/xe3tG
X08efzu6xwmlZolQn8zzMi0E9mdnxxHQn10Cf8uSs/wCnmwcSUrOYMB8rjfu
HxD4ndneRmY7A+7amma2ikz3Nq1zwOfeI50pj6q8nAJJjswYgykSRWCqMWiW
ZYr33iSdZzoTHi7SP1dlZLrfxaar06ww68h0v6suy6TzdWemP6ym+ayKzHQW
mektcPLINICe69Ik/rddAOYNTzJ0WXbuui0NXYGGb8Bkrjegc4Fgip+fHv1s
psiLSv8mwWcdBgVkv0wOT0+Ig6dE0ZD+CtNGhnsEM+LzeOdIYkiebrxfnx/X
USSKovnLyFS/A47TxJA8B7oPi3+5nwSP3ONexbD896tFWsdw/ArOap0EX99j
qteRqd6symxq6ovIbK8XeZF0v98Wx2Pk4i2K1rF9vU1bQJ+bJHxgG0R/EkP0
m5ub/Zun+/D+o/MPj/DBRz+/mtyYKaJXOXk6wY8ePzn45hEMd3zy6v3R+eHp
wYGP0yyNoZDrYTYgMzDjtppVRbKL7+xtxNnfjqD8/xlpP8SQNgdJFnWryHQf
qmKe9B7oTPiuukrwf2/SabMlgf7JgCK5bOMnB3Jn5/sutSnN2TKNsZ1Xkbl+
TvM2JjGAQJxnSfBtZ55Azu1elm9il2WeZxWSybScGboyzBvw48n1wf7BZNnw
ffnmyTP+VOTftvKF3aqeLOVu9F5T/uEmhz9OXr9+/S1I318/8+8dfpqctVkC
X+0/+Xr/GQ7y7EUin4MGk9YZsRVQ5iYfUPn8GTTPAmXmd6ZFvtX0LmUcVCdl
A7OuYATQE18XoIPVqOonMIf8idoQiOLlRV4aUzcBOJ/FYNnIApv93BiGJv7y
SDfz6MmTx8+eANUZ5eU8VLi/e/70a1QjSbGErVxUqFyg6InrCZVPR4S+fwdE
aDQCBXlZVHn7xAflOahWh3WLu4NTUjWW9OnTy7y57ILJU6SqKSjaRxXosaNQ
UfIxSDf9+JdpdbVCKwKS2iePHn/z6MnBI5j5/ZznxClpRhbE7WoDgmtJQPL0
+deiTPtLJpUXQUEjAZYPL18MKG/zsrP6mAqBvKJawjnQBvISxKDLtnnUVKt6
ZiZ/NnX1aFpUF48Wur4JrE9MXWLkmsH6JnNY3wTWN1nK+tw+nwYIjmaBbDXD
e5omJTA9fSFpzeyyzP+0MoTfsBy4UIucJKf38zlCAkED4lS1Ktselrv9vzMN
XMc8OVuvy3yRpj4UHk+ePI4pUjAybpOAsKya9pGu6tEXsEa7qYldY7D5UOl1
Ow+u9jvYqx5ecti2IKU3+iDtkc48Yulokt1Xr4+P3r9LDr7rclzd8+9MeVUl
P9xUAPjtDn1drdrV1NCOb9J2dvk/rv+375riwx+ul7//YfnMbeLrQGvE9X3Z
9FHzcLpq2GzY3WNvxV3tDo2XJHE3MB4cramT88vapG3yI7AJlDR+3NvZcleN
G4x2RrhL2NpE0JXWPMlLd74pr9nt/rm/+7M/rUBVoA2CiJ9dI8/IPASugCbB
rFOgl03yrx8SnKqhW+usY7wK+irBVQwc6O/TRXIOKvH0z2lmLkcBel+nWZp8
qBZNll76cDkYhsulKZag+KihWKnVwaPH3wJRftTQxmgjE2CxpnoEEHj3h6P9
l/mVCeRCwNUEP2ySqcE9Nzf5EmAA9PKP1brOM/psli4WwDCSm8squUQj1qwG
qMJjSIgFLkP7BjFinfxuP3m5rssu+Y3trlzjffXI77dIgWewzskU1zmhdU54
nZPpemLXOdF1TmCdE1znRNY5gXVO/lQTqiAk2Fayf3by/vSngGqfmWI+OWma
FexNDCrAnBCCdXJ9MLTFOgfOW6bJH9JmlYm5kQ17SmT9x7vi6l3Pn1d105oS
BIQMlgG/Zq33ytrQxQjR5smTCGCneTtdATRa4uOsKz+asbX2UVPPHi1SGLy2
Nif+ZtIgSHICCQhCm78ly+AicxD+KWYdRG4A0mU+z9NpYTzVGWBtGviVKEmf
zjA43hcgYwBFMfV05YMObnr9ELA99BjPq2meog2+spbgYCH2OJ7Gj2PIevFs
cm1hAyKoBxBnd3XwPTq5F4ARtZHIDcD2bwlmUba+DcxmdruEmLhdH3Iv05Wp
8Zb4gDtG4RVF5bRYN3mDMqaH2UoKlkIKhlDziAcP7mJkF6bIp/urMp80IK23
F2mN7q5HoHOBqgzE+/m3ByBwPnvyjTtmdIwEzpaur0UcJ/zItkZlucIdk36i
q39XXZvFFK7at2PYyZNn9FVXQgMBE57cT87Sq3yxqtPwCyT7bAEIP0f93id+
+jl8Clz0LZxfDsgTfne0n7yt6jZfwHIBMqdHH87eIqb4x4hWOnZywqG9XRXA
M96ka4MG8bcGFp5VID6syQrSwDG3xL9YXiGu/iFvriaHN8A6QSBCAyIiAo9z
nM7QXtIR51Rzacas0Z2DttOk5CIDJCphFIB1RrcQx5epjkAUXpGMuHv+6uxo
s9UlZng6NXW5rFflgPGpnlVJ95E7bRBHaT2FE4laIAALAGbBE8F430dt6Xla
16ZVq2Qw5Pc5ijzdR+60WXwAObOJLfEsL67zKnHfO0oS02uzKicm+OTxPmiw
3z3CU9jHh/efHnz3/ODJY9Bok7enH47OUMXoKqHfV1U2JtR5mWZ0rvj77ruq
Tc6qveTHi4Jcte9X7aSaT16qvuuhzU0OwqPBC4zKNauBq+YSrlxrXTTNC8HB
cWKpE2Nocihkaoz4NzMGhZ9G9eJzmAfUjqO3SB3mgPtA/wgV0zZl3Xu5LHQh
NkyBllDn1+lsDaOmFyAPHhw8/X//z//r4OmzMd6WaibqOzuxFYHfpjMQlU29
/rvH4U/Dt7/EhXBK7p04/OzrR0+ffvPs+fNn+/Dv198cfIMY/IMpFs3scpFn
bZfheQfvWB6iz33sNRvP/DgCAm9BwQYPYhvcik0eHNBdfQnsp8sMzvJfWgPC
zB9MWtP2rCL7YwNc7axdZbmBlf58CZrpD6jV/GySN/BwabL/8TB6Pk5+qorV
wsCexsm7FXHPA71PTw4eP4YL9eTgSVeRuBsRcX/RO5DErhbIfov04VTwYP/p
k6/hk6cA2clkkqTTpsVoo9HoHCCYZNVsRZExoAvP6nwKW2tJvQdCdpECr24T
P2aKlOJmhAFbF0z4JHQJKNoCdnLB1G6cqLkVJS+OMkkuVnmG8tt4hNBOYYuL
RVoTdZ13JDYQlIFPN0lOst88B5af4qcFaNfk+Bghdqu+jCP0F7mfnLTwSH2N
Sn6D8+njuBAzAvrRrEEqXuDWgTKDJDhOgFJd5i0smLeQrUAeW8CyLuhbHWGE
ohecGggd8Om8TleZrL1l+m/UKpvki2VBoUeIqpFF8qHAHYJ7MBp9kagFjiB2
+4X/58eRNa3Su3BQgOvNMi2TBUo1MBFMnE1WeCF4ElhNTfFEN7DjBvQPYHEY
JtVWWbreT4D/NbIQehAEfLhitZmjtyBDyQoAF4PsIRpSFrBC80uKG8TQtDSh
iWlR8BsuDwS/ZAFaAjywvARCjSOCWg9USO0MALxqIU82gA1tcv7TGGPXyAIJ
Dy6XeFOJFf4kzlochd8gY0gC+GzSBZk24LRhlfsYp4cbtlaecVLBG7AYg5Ew
ebPw90umsWY1u8Tdnp68E8MQbQQnpm1dpjSvIQMYrAh3I0RWQA1z1MkSGX/p
M36CokIBtxMdF74AdcQAOpzAposiwUAwGDJvEbSrpexZQFzBnDPYYHJzaWhf
8MkFkfo0IO2wIFjLfvJDdWNApxr7Fh78EjeLcGiRMMqhX+coWCSrUoeCzyR8
aJwUJqWTgWUNrgmx7TIHaIJK0ppfWjrGYFl0wf+0MqiSIhLC34t0nUwBfdms
xyYrtvbhJcLtAS0KF+WQgTHvSyIbZBnHa3VekTEasJRiJ3Gh12mdYxRTSWpk
EycbCKSALpJODCSjucRlmfYG2RAdD4K/5qF749CxNXKJdNHBmnWxyW7wcggq
WtIe0ZR7TaknisA3v/AW4HpQ9GxnQv3UvsJzAgi/+CIJomEDuWF0dMeq4a4w
a7UIojFpPYwY0fLlVsmIu7hHEHqBSyxpUF7EnorodG+ZqlclSPBLQJSqxGDY
EUUPG/hMhwoFHh0oOJnObCPZclvpmfkHZvYv9sfBYQrl2SOaKjOMIkGZye2t
hHF+/Eg72RRYOeooGre3GKeJLyIK3FRKfQmTl9VyVaR1chcyMYlpHeUfd/eu
7gPVhWLQoyVgmHGW18AtQUcSA4SxOlRNXKGsxHNEEoIjv6h4DA+OgOkvCOlv
0wJSwV0ElteuUGQIQEQ8H2YtzLy9i2SiAMHnKXQ8BJZQqGE8bC6rVYEUIRF8
g1/nFV/OdYfNjYVxyF3gjyT6aBmhkDo5shO50MTwYtBilLO3d+NmiI4IWVZS
tuH0w+kEp4g4Ive7ZvLCRFnOwDELXlZVAmo4wdDKlERjB97EGfTggKj/cZVd
kAQFmBuQI1w0xeGrJrB79OrodE/4RqPMhMeKTzW6NxDkixU5PkmPLqy0h35V
64K8k2t5WwQOle6D/gEQheGWFIjG0sOIHDSwfZD2yX+Hb/EDcAoLHH739lYd
7B8/jhP710Hw19Pgr2fw18j+9XXw3fOPH/fGqg7gLi+BNm+AYYKYPjUjx7uH
gJN4wJlWdQ1SScYCoDrp9pMfyyK/InTOcoRAWoysB08OdizUS88ZsPHLFgQp
lPRRW7Gxe0ANANdA5h3LnbzKUfwyI/hwSdy/Kkg5IdHchfyB7IHcZJWSvwzP
qBmSsGiro+HLieT2PdpsLCWiUZpwGCbBKu+QTBjDk5GVbwgx4eybCtRTFgxQ
Akd2C2/ItizngmdBpoeXL+HbK1MCYGhNeTlawn0S/q+EY+ilziJRYiNVgs6C
H0HFzPwCShLw+AJwBLFZTwkHpOuQZnqyMhdRQlAmTKuMWEabgqJlioIw59Is
VF+xIwKtNfM5HiDekWuDgqcRZWgyZxNvx/mPxMsAnq5RPICzk5PRXcFdTPMF
8y1iILN02ao9uYYXYdMse1lsGY+mqzapU5XDBXNMwHsiqBORr87kJM6Flo/O
oqJZX7By0l5fJCElgGOP+K6lSsgrFdTtShGHClQS10l41WVAlLT0bVWY0kDD
wyvXFy7s4MGgVpCz5JHpfk8gDQTDcVc/HZQiVEyzoiFFrQBugiJ0Y6YgMdUt
fIhI4oyoQPpoXTJ3Z0WVp/A5UXwN6jWqbJwnIVcQeYnx344uPMJz7LIDzRl1
S1wvHjzPjxL6ubc4UaF8XQ4IGUgpN3KB+BjSPnxZHSwHITkWPGG+XLIsA8NX
Q3xTlDqS6mVZrKTDXeZl1abMhCfETpxWRMhltdXh5dGBobwlYw+sKYSWnYqc
smQkAtESk+w09g1PDAhEsSIuENIRfhYOqZX1+zcDT/e6yjOf0sH38/xiVTsj
LIZ1LZTg0ckAAwWQoIV/yDJjFcoso+AsNfLQ9ZRLDtS0nFYYhzgDqbRaCPPy
TRCK62yxQDcogQRH9NmgIOLtbRBgAdKBr0JsoUoyDVBpwZe4Bk9z4Gr0Zcau
TKgU05cJzz5BJryPejJdbysWAjZc54FUgIYxIxuP3wahPcqp9kchM2R5ypew
2LLm5KikL0ch58pZROqIQ8u0aSizcuyZYVSuiC6QOTyb2dK6Nch/xYgGSjmL
kAveZ7taemQo0OfzNlC5ffmY+OUrIKElXchD0SRCC4UEiIWmbfH0N9YCTcYI
NczKBcloZKugbNY0CAM24p3AWCihnZgJimlejEZP9jWDOLSdk2rcrBrUDHMk
92pKb1DUt+b2ifcK3cmDfRd62ze6O6okODo8gcRJ2zFo9Kf7yQcxyhNidS32
GGMxNOS8WpVZylg4WQKrTGteMklAcBfwDuLOEaznpl7kJbn2mWJf2STfnbc/
np1j7jT+m7x7T79/eP2vP558eP0Kfz/74fDNG/vLSJ44++H9j29eud/cm0fv
3759/e4VvwyfJsFHo523h3/YYXlg5/3p+cn7d4dvdlgJ89GLrDEVMrkcsQkY
Ckk3zUhdKiSqvzw6TZ48Y/sPZvZ+/Ci2oCffgDZGkitPRSoz/4myxQgItklr
Svkmu/Ayb1HsRPaIzL1MUAzZF3dOE+QFqhkeyEK9APhZ8RDEa9xyIODjhkPl
hvhizQ+KqcR9FD4KV2dZwfb7g4jpgeE42uHw/B28bioL4CHfmYTNwMKc7Y8f
EXE4FV9T8OXGN4L0vi8L19xyCJC4f3wnAMB7YdIGRPyGaRO5AAOmRqiMmPyZ
SYNzBPDmcZf49UVdAX1EAZKikxIqFKAFAhoVOUB4IMPVTU3xyftET058mkaX
BCQKvKlovcRYg5S0PcJaMVbd4Z9CSTm/uFRBDQcRAvC5oKBQnZoSUKK1qfx1
QyQt2JLcX6Zj/cVi6QNeIQqDVUty5wqD0xHnnCEKxYan8aHnlfIqRzmFfdAt
jtNHWnPf47k/ehY7EwvyuO8ULzZ6Ft2EUYovrLU27Dta1mRZV7Mq8lK0C3ge
TUBsJjC8PgyNViK9P/o6Dg5/qdUvIK/C9ZldGjq3xt5hWqa1zE7so7DIHA3T
cPLAE1gAh3V1ERoE0rWKN8PlDJCRWNP5Hk5/Y4Aewr8sc/TvLLEfVVNJouS0
ua2KGKitfZxsjiLui8fjJB64GYTDutd+OsVXcHnwwOTQWQpd9D4b+VyQKO3f
ClsDGyf0qA1GL5WBnOkLvVHJPLOWq9vboF4KheUv4eKamjDQylWZadMcKeS0
AokyLgfggmPjiUQejMe0Qcg4ydggSA3fhIF1BCECXaLvxyrs9u/0nht0QySD
bCou3/SXNSQ4dQ7NXggCVuJTOOJ8vQo1yamcSXL7xYYDCz12olsSuXOWJLjE
NawgiTnk1C6hfnrPFWc1gY61xJpEQK5HUb+jKUdNHeJDC58UK4JVgEWQuTTW
zEWgu8EokVVZIoMRtJ/nddNa21GlNjrmirAkPlFrzfKoAI4h9lq1ADiaJOxz
WbWsLsOJoc5EXLTCoA24T4jDQtf8VVhCKFEc66UU8cnL66q4VudCekfoxAgW
1/MqobsarZTOOuPPrAA/wxMcYaTF7/OquRpjbB5byI7EQoY7Z/JibLKhJQx3
+4YxiOEuT+RY1434CZp0E2h+1np5p+2vr4mPN+IqCcUdTHyAUZFGZoQdb+Pk
j/iMu3Ere7DV0aD16k5/O7mKGnEiqTjl2bBA55x0NmW9eg0HcxXIt4mjAxag
rpECBgKpxMi61xJaRNKVDXnDDW85hHe+5INEnk5QgcH0nGC9WX6BGg7aHFtD
liyKxcpZMEHdGGYAEss+ZwxmIyFEFgG4ObFB4CFLx2vO9VQoUId9aPxWZ3dK
IGSX3hgUudb3AHlGZiTd4g9W3EK4AEOC0UgIB4oPt3RWVI2I1Xkd2N0IOWR9
uF1es9KOSfLjNP/TKm8xkmWDqwO3hHJH41F3lAr9V3r7Q2zJKCoSTyeIbwrd
BXo9c8k0w5HoaGGl9opcMXHRs/U206M3dGxsCsg5xnmONwRGLgCAavkee3BK
MI3UvKDwTz60K2OWyNAwOrIHVFSflaDewEOoE3aD00QfW6sTBAaapZjwRohN
Ligi3TWHP2CcZCwMRxkuC+NqjlcVKu6Yv8MPLVwk6v7HW/3VVwiGybln+1eF
iyLFRUB48dVX4p8RtiBL9b00Ihw3kcUuMT69aSw4kpi5ADX6WbVcU5iYs6Xb
QL97bm+snFbn0sBA1rCSl+s+iNFc+PD5nKwc+IC6eyXo7mM0vw2CtG+itEKx
lukAUx4INWB2zrLS8AJZxVvTLJ1oym0msqc3HEyytRaGPj0XBEp3tn8f6F5Z
xRpeEazbJ8T1dLAo/vZRVzh3gLtsQmHj0oa9c2jxEm0rqJ1EL6hvl5bb0Bf/
NrmjKIIy8cquDYH8jC7MBhwSyQhhXJXoOwO2AOo81ggkaXqT97Dn9NwTJ/bM
oLt8MOSId5b3kqPC8SMC+0O068+BQD3K1zmUOP2DceqH4VBb5xcXcaqgMLw3
BnQCrXDJ9iCfs0TUmQqvO92/3pXf5MGN0bZqAxpNkcqUK5JqiDhx8O/eFjjr
hD3aDvJf8RyDLNcEfsgQMTds+CHI6bF1G7wdla+/AJVmKy4KWvaqbbLlx9Ff
iFbWpkBx2bfbfEaOiodqctbt9EjpiOxJo5yGFlQWbIW38CUnJzaa8HCx6H5A
8VI0WH9vrfr/Qen47//+b1CpZnk+Qa0z2fiz+3Ivsp3wpX+ZBD//Qh9+DwLd
v354RMlAZDnrPjb5l9Hu4R59T1/9mgQT/fq/TmI///uvnQX+ims5IysJfoX/
E7DSt7uv9+TwA9D/2jkJGoVMN7iW7iSb18I0w67lDrj0f6I7uvOph46ye7SX
nKGQoiLKJ62lqj9lLYlQAA9J7j3KdezD7Uf5PGf0axe7HjhK4iPvvW7A4CS/
7r7aYwB7JBqI2T1HCSJvjdad/UzQ7VMGIFGjYyJtL7bjAah0ATkhmsgMNb2i
EAg1KA7LDxiUhfRDzAYi0I0pWog+8sKINKhnRCWXKMCen7FWz2ow3GlCxPQ8
vojagBhjKDXOTwhydkQOFSzj8gqOfcRjR1+OiSUxTcTmstCryHNYqupaOBuf
EW4OBqO1AQqezIPIw06sjwQEh66QGMsUYis6aNwWTFO+ZnBE36a6E41GtVbx
GODho+wYvCO5Tii6bKlHgfAybRuQXUYPltnjsZFyJlsLvbgrm5awrW41LISU
Uelj//7SRxcCzqh9N6n5IPvZRGr+KYQkybbM9q6ff4RRgJgxvnziWhwz/ZQz
OmTuxrj7qUKI4u6nCSEx3EXupJfRg959hZAk6VyZbUb5LELIltT8NxZDkk8S
Q+60rAg7aMQtGGMKPnux+u9dMkqU/djJ+mYcOzCtw1PDge3+5jLHyvMSuSOJ
JpT8tcWQwZk1VyilFGzDFRu8iAxPFOgffRCF30+wZwTNTKZZJVwxIPSek9G8
kcjhNKH8xwXsJL0Qe3iaFHlJ3vrUBTN2BdSZGE3t8fneQON5JQaMScOGSTIp
pWhSeu2l9OrEEz+nIzwtMtyIFVODizUYzvfXbbptmyQ0CkqPTLmFdZJdbj6o
x4mZYE8fz/PmZ95s9HIlNosuatMS62HsNuN6Pa+OKBT5BkK0P6Q1ITSGpgjC
PaLgRG/DdVrkWRBBguGPhJWxxFB3u+4v+P5T8v07lnz/c+Dt+43ya6LS42vG
+geOknTlIKJdDxhlw89vMso/gPkN7a2ml7b+AMk3OOOtdvSXMb8Nc81/Sr8P
ln6Zkz2Msd/BqH0Jxpfx0LPVCePE2jp1Pl1JIHJkOSrS+GJEM+ZWgZS5GxEk
VBw/77D8gSlkx/jtpj0PSwt/23L37LKqGhMN/CbgiBiiwnEcSP9MVv9nsvpn
TVb/Z/r1J6Vff3HXbbQs8qR0SsFd+E0ckY+aghGm6yDqjsJmOmWGOtb/YZv9
gNYmLG+oKIHPNLhkAFeC3KouwH7y86XxYih6/qWk2kodDO4O1XziEjWX0VSH
wXJaUv29kRzn4WCgQXLe+qkW0cs+WIoBYWh5qR/xdmd8M19LGP+uG5NTKgOp
oX41ujHpvaKj8h8iZHWukFwgTEuvqhbjupdLfcy7NU14bfSJoOwPQvBe2VQc
m4N5iKkEH6vZzUWbUeKIva1pZ9YtwmMe6JDqMdq7Ze4HaOOhRhNVRe6vjR/1
Vz+kRbA2/mv/a/qzF6zRU8Lu8gjEtavJ32VIzavPFlJjU4geupbe8QYn9VvC
xQXmoDAuyZZ2fQ/TXfu7ulOP9ilwsv092v0+tI0FloHYdqNrwQoNoCQN3KPd
Y3SKtau69MASGcV+OXQbqSM0KmSb1mJ/vfdtjI4iI21zGzfbF0Rs2iw1dQ0L
PXFpg9gRegWajWJThG1nd1gOHiZIfaqvDGPms0Z9JdE5NMb4weJaV23vy2s2
oGRYE2l7Raf3xkkYR7Sx/hXXVb9Dzb/TlmNlveH5NomAONXxhvPg/jhDGigX
z6KQag3y8p/T+p9+KHFpTMa6TW26quAdlo/vvROrhf74b1MahatN6Fky/AUM
g9LLynLS3EY0QlOFb4Tq5Us3gZetH4TdzEyJpaIbFZlfsMYlbyWHT170YxNJ
yfuJCpKf2cTOMzFr7G4VVLg3OixdBffGtFT5myVNm0SH8Lwh+xErHdQyyKoU
gPtz0H7rvDWxuuikgnc/1li9yD2F+cJy5Xwn9R52btp+QDBhl1Qb2Navjcys
PZi+bNjIgf5YIp/NFb/G0kkbzZG0J0BjK3w62eFxGHTMgp3BqVRltExnOsfl
eGmQvR0hql+neUH4LlDUte130OggjkanUvH/GusWCAY190KhBVW4NA5PHEQQ
QfKCswtI5cEqnVxB0yXcsut25jrO1FW1YMgNvOCh0I8f3vAZemkDXTMsPlNp
LkfP4qU0AzuMLhF/tKoJD6ie4LXDDmFAgXlDUWiDx74d3lAUaNsiT4z7i0tC
q9sNTBuQbHtWNGYhPR9cJQ8dw/FFyavuItpTH9F+bCT7BBtFJmeXKdkBzmaX
ZvEwQmWxrKZqWMk0n61nhYYQJ9jnkfJ+ufkkTsNwlOfYwlZU1IISEA8/LhDn
qDwQWiCAQtykBVVMqqvVBeZSI3Zhp8zkvEpWJb5MQOIgExl43CVbPfKmK/Vj
bEKCdqZ5ML4YopQtPA1/wHC7X3Zt/UTnOsElPpr2sGiZrqkKD16EWoo1efPJ
nXAMchxfjdAoBljjPzNm/AoqhUrCOPMWHimtsdQJoxqCv4Nnz3w8S5PjvExL
KoXodd4BsXa72LYQyRbq2uskQmKvD3JgIPEojIWMc+kRpUCZLg3jhiz9CQOF
gG5oweE+l/FuskcLsAWfXlgMP9LDc8epDFAOIJLS3B29A9mvsaMt0lTPJ6Qt
xUF238YUvJfcfiFmuEn69ceAUeRNIs0RRcLv02SSAzyfyx8rKrvg274ZJBHu
k2URUCtQ1N+DD1KKZ1ADclbVy6pG0p1py7PGskQW+R2N5PCivc46sB9AdXFB
vYT15vf35xl5bZ8KelKS3pFkZlmcTnS2wvP3p4jIWSxKdPiF3j4E8baz2d0O
a03dYZQVBR8CsNzJDs+C5iepFUTnxHVvho+qe9kyJ6t7WP78RfLBLCoY4T07
UaiC67YsieRk/9R9+ZMohx1TvGlq0UV9yTmLfL2EZex5XmuTIu5I1a7djqTA
Trr2Ae0tpbYkith9akmULvXLRtumM9nur9ML1RNh3G5TNE1AqQtsyFASm5C7
fPKKmlgB5hK/x+iBCybgVMONTsh+z+v+0yotXO8i7eHQXU8fkXsJxncoClG+
ivWPruQOeMCxBWGkbMcA3RZs9hHAyoAKJR0KIIUYxLe6dIdqa3pav2ZWcy+q
AtC1bNCYsAmi6DHzhhM9vR5vC2q7+A5FwM5naWM7lfTkTVJLOhzQPzamYWod
EWwjCDFKUiHl4Cp+8yJoLflSXTIPYTbf9JgN9VtDaY9vpp8LfodaYJmKdRL5
NCw6UF9FdUsJqp30LQGiiHCd1dRDVMftbdRJOHKRrkrAiebO1TlaHKHcdKds
MzzPlynt3T0w4lf9CcLNd8742xeqdaah0umffJ/8DgdkIRG2+pflC6mrKnaY
Z9qLd/fo8NVeCEBy17r3Ojsax+OD6DGq5kZXclM8MhaILYO+QEBdBgwY17kR
bWubcgTuEJ0/WZYG2+zsomND6DzgiGuwyKalGGdu1Ajwa7qH+R1KiAtA6IZL
wp1xb8N7SNtWEktlHODlVd0zIuB9xQfoe9JmmClodITGWjjJDqvOSmNEbr7R
8+nq2XPtCDr8WJG/cSAwhsu0EeAdMZ8LT7g+gl0ZZKzc1Zf6leeHQdm8UUaS
+CKkjZ8S7U5FlZ70hZXB0c7U6wskM8WrPUqfnni1R1tOc3Ro67b7Re/TaWPr
a5Udp0asRD+2GVMnPZ1w3ivtp7Ei27T9EV/42o7VLUrPvQXuamLGW9FWNFrm
ujF3NR1a0x4vlLo4U7h3H8Pp9BDJHEVChMXyfgn/WIegG4lBWUvDsPLLNtbI
Blh5lVyVxGeaO4orh32uIhCL92F4INCGNuu6+fXnY9mfJbLFkMPIy+mwq8qJ
zS2roCkREe6ox4ngqsLd5riaIPSw7TgoOvGV3cSLzll1QuPu04DirsqZ4Q2P
3OE7b8bU6q9aKa330B1VyFptxnA3XuBlMsNXaejyWDRChbzO+HB8JFsM3aY7
48x8TLL9sPrL3Nglb2pmqbS2itLE+/ZKjLQt+dwUYPviRQ63tIev2OXyMlpS
vfH1J3twYibyAun8IrTD+CV6lSvLGnYW0i4+6rC9w9O+25Vw94Zj/nSds2qZ
+3YWj5BkFaC8VuuEI12Lyma17qFiFyyNu5IX2qevSGcyp16OFr3itktR1w2m
7Svv7vfr+AlXGx1cHsU4c5c079p5qjFqV6DZ+sXj7ysjbHPOGy+IF4IfnuYo
KsXQ1X64GAPAr6atpN1ph+gAaI1X/8wjpn2KIa1y8TavPxPdDCfwWyUHRNLY
erVaGLqDAZ1akgP9CQfq+VnGbO3vUhE3lkURapoqVQds/ebSyQuZHcKvzdvN
eLHCM51UrB/i/bMjOQuglGXdJxTz7rJkDy5KFgZRHbpGhA/LCOvmVWJ8xrYZ
kd4YQRznQ/IhP0/k5H/SIxibpICB3S3Xd42BsVv2BRfFBrejGqj+FV8Hh7Ym
0Ui4bffCga3y9U8PG0N+PgdMo/F8DxjDgvcTxgj+xNAvd8hMIB+yFzhkPFzv
0t1/jHvFN37WKOFfKcbsR2HSSu2twLDlGPhjaa8zLQp32H4MFzfXvTTbjPFJ
pfI+F66/ht1LBZgH4umn5/p+jkzfXp7v8f3L7PVw/QFF9n67EntOU/GicZ16
F1jubY+WDZoHFp3IF7kGPsRauv/2WcF/ydJ8FlaeyhNVEbzAW/cOUeAmLqNu
0oUCLYglruSG2ianoQaCSVTc5yYmvqr+7cYmQ1rHxxUWwPGLEncE0BmpSrM6
nVM1balDwjEN0pKxMx0Mpcux1qw8cB6Ix4eHWuQXly1QS5ioTi86nT0HxfNw
SkS/1cWFtUXD4rKKbaqSeMYmETGq1eaGItU4KApL2FTrtGhJa4UHF5wnhX2x
GfBF1TTO/chpvS6m+e7z7BhuUosXs8sKwKM8ynYoDaJBe6zMa7kN6mmFkQRR
H9hDa0Aee3HJ0WCcTUWXNhR6/P4vl+nt9VlelZmghwcnaSw0visjPLzJFxH9
KWwkj5aOcIlIA7mB6y7lOg42hd8Lg/7Vqj9fUdd0dUbcs0SlJfwnvbIHQSkk
teAGVdwlNn9Dea/G2oPjGfGUHkxqZ1fbRy3VtZ6wiZWX2KKz5EQHdtZyBiHd
EwnzRE/AcPYCt+Kl8uloBZzaKvMSkaXtzFjv5biW7cfmNXH58OHC/3ELrc7u
GU5vLqlEOOr0bpWeuXfYalNgiSRqNMyDbes0QgNkvvCOSE8iuhExNdWGOpHE
jMr9m82R8RtXUZNKgkytQqeVNV0QO9bSFMAHmtoIKG3XTJM2gj7spYxa5mX5
Y3ZUEFxZoCgwJSW5rooVt/x0yT4th3DPtG9Oy21BvSaQ9ViNkZfV0iVT6NkW
RdTKDivAeEv/UDE/v1r+xQ0t8IPiy1+6FFVHDv50s0vE8HJ8f8MLjeJZXv7a
pajuqkI1OAqKt4EB5kGj4M8Z1yTYwvyyaZTACPPgUeTncxWR2vj0PUb5VFPM
51zL38oonztxO7AonlHxpAeMQj9nzGVee1zmAaO8leqVQKqD8sB/qZRrUBN6
ZYgfYuBx5oZ/hDLEr/4xyhBvNtVIrbGYeLVwWAwy0zKtOzIe/bEEpb/fgWu3
WnK89p5vT/k0+xC2OyITkUpun9NI5AdE2nJXG1Nrj/5aleNeff66yV5a++u7
NPOourZRM3dOTm+ev76mvoUm3lXeOVKcW6avN2rmmxXzB9Qg9tXuSCRI2IXt
XpWJA818GI839Z602tF05acjt6jCXKZNL7orspiNNZKib6BCjjUlQeOeUyos
ZeAtmrAkdQl6WU0Vfq7TYuUXmxsOHY5Nqfrrb29S+PK+NoUBFf9+5apJPV9M
c5sHsln/1vjixjhrxFyslXwDRNnH92xoBIfW2Nhejlvqr8kLDB+IlGhioRIS
+9GJ5AICs9YuxbSGTozrGEA2M9gjT9Vx56zDs7qUenvcOXntGQQ2BK21dMbd
AHc5VyAlYnaN0/x/SAX9AZERf6sK+kZFfWsFnUsE2Y+PqxodDM3mtfQUdP43
wmc2jdJT0DdqKP9U0P/uR3nwGQWauPcEXgEbO7HVWnw1vot2XRV/wyjMtKKj
xC5BfBTfGrDNFYiPokaB2Fq2H8X/uR548h6j/APUXH/1j1Nz/fOo+j1nzga5
hko/YXz8lETWSjO9fCGcstFWJLY2XCo6pUezaqhZPUl9la0ko92H8/af1oTf
0prwWerQiwoznCIwoNpNjef09MvUUcU4v+T8Xs9wEQtp2ID1gl8cFNOaJV0d
1FnmKmQNrPM+cLCRF178g0XhrYrgb55mM35tMrdErSucAUl2mEEzxmcwwbx3
UUNVqYk/orN2ooS2MdBIIfNOQo9NOvAVbpmETx07X6VCoCT5aFpdG1tsrlsP
aBcQslpiJlzWPd+9Dj2inC5NKG05TEpRcxv/OuWPb24A8DA83FxfP1q8X5z3
64HeoNaQYzMNXZnCWqM2mgod5RgCgKzmGrT1C2eVweomg5R1oyWIilrGCYal
F9jPAvOzGFobYNUxDdKpUZkGkxHqBUaVAVzbPnwimsCpCZrx0K/eWfbXqzF6
8SOSw2CGKacgVkQOZrtMrzGIgMxcUsnAj667u+XE1nmSA/mw98tZ3pC0PAji
SPUoqQKbBvmnBE57HgMFSl1AYvxs7pcS1YRJUdymo5MjLBXANqxJze6Yteju
k0ZPBYR0Y74tRSN+9lTb+1q1/lKl1l/+5Uutv/qHLbUOkpRvD/jP4Wc3jZKo
zs/6/K/+s9aswNKqLbseHSWmydsZq7p/StFRYpp8our4kdCAmBkkGMX9/NMk
9rc/ysNvwLG7ARxAfYf9dGgtvZjrB41yJ4ZvNUqPDnkF/r//Kxb4D10RW1Pv
3ZM9t46uK2J7uOjksZiVZPeH7Qr8J9onYIgHbJcAp3P8bRb431yfTEXHT7Bi
kSSrUp9fuNEWLJcEfScERgqh3M+G5V3QIYFss0XLKl+BeFhtTBH/tH4Gd1mg
olN+hn4Gm2NYfqt+Br7JyHUPvvMYOwL+WOIuVD8PUMU/7cC+pGagfpWdoFuy
tXkxzmKuElYNiFUQQCl/s/Xnt+iM8MPfSWeEkw5ZiXVHuAO0W3ZPCMP67V29
62JbXHm5t0XXBKdt464cQhp9KS+KFRVCM6JfqiKHGjMFlWCMTGNaNHazsQ+T
B5JLDSgaMHPkjWdJwwqbVtnHFBTE1xnWBPBwudFi4FLOY3xXpSL2MDjbzjZm
AZxikTeFSTOvGgfZ0myQ2kwK9+DRXVPL0rmtiTvW07TVcinnQkp9d+v7vXzy
IjkpinwG9/EzdpzwynROn1CZTouutvJG2HtCavR1KgJKVe6hlhM6gBtTSaAl
5P1WCtEwQCoiqBUSmTY1s9qYsmOgiuS8UnnGxRQNbFyesZsI6upDatJNuYLn
a066meXLnA7GT/tEZJIdqWiADfNs/mZ8Z7akIjxTXnFkknjB4K5SGmfSrJZL
zYqcMl3uFswVkk1pPFPjiAQVCp9W5arxbDJtUPoVZyupEA1sE23ktras2yjV
NWdrOW9WEzQDqKLpq0hzPkTNQOXUVC8D1JaPWWAm2gQjGKsg+jOn0phY4JUK
QVJ1onwuG6QMJa9foAQ7wUatzdDtTaASmt78mu2ekyCzBbpKrPbqCGdIa6Wt
gpcZKF2m414LmUZv6RVuqOhX4POLnLvx+Qy80YbeFSNb4C1B4JlrdYb4CwAK
mtfWe5F66iKS7tXSGx7RzcA5SQW5oP3M2CudREeJtCmgujdY/dg5EjLqD4kX
ri/+tBWX66IVpw7zIlnAERlUK3azNdUhR8ens8V5jX1G0Bi4TZRfiPb4ed5t
pvHyIEaIP7lni/PTEeS51wFJYMs6b8LSvuqLGWrfwp5F5yMaqNfp1T31i7fh
u9ifxVLmGB3uUFtH14u8oVDVZdVyheoE5mzzRWOz6BuP7rIQ4wVsCs20nU+U
tmWmMK1ErgLSHzwDqWGF7FZIRFaVXwbRycCOrsbRLPtud4aAntcGVsNoutDV
5I341fB3TLjn6AXV8pwbg+vOOicW0vIUwUGUfFVKLKfm5NOenE8Snua+19xp
5j33UV5g0LtWlW5Uc8HjC1UCODHZrituKpsV2muvbJz6IhhsdxU9dq9Cl2v2
GrrxLArC8KJOUUU6k3WbxGIi8sTgic90jYW5ACRdpLO1Yz+cQ2y1lsbfvkeh
+TIPXfZBf/JGrFaxsQl7UFg3xZd8OGMFaYI3tQYc9/xAPd8HOyJ9cV1ilbFd
cLVqirVbo6cZhBeUCiZ79NzWJZVtiZJqfoEFkgguHZ2rQhgkIu4S40xMT7J8
GiVol+uG5PVDLt78EFImMlhH2HMNglzPH/cZdv2R6hJwXbDafi49kxFwAPCp
YUGEiivy2fCHlT+MiF4Me/SrCXr50+wnh7ZJN1duTm3Fdn1OjTyMVoygTIhh
4UF9kLDQZL8FTKTny51dfc47K4517tHV2bL/dQ7qChycv7qO9r+wNap1EFkd
/kGlLFEdVdnVtMhbCtGeFGCYzm/msPhalL7MSbwOeii9UVhDvZaq3tRSCOWt
Vspm8p7g9dvbd3842seuVB8/8t7tZL5n3LZ74sO1Jw7bLKrsgvkdBnwAULzW
WBaORlWzxTItuy2MXj7b9xQtv21RqEFvXVbdV7CeDSlYyjSZplJrB2wb0Ygc
Mrd9lNDwk7crS0UkLYC6THtr1dgJ6rwNSK3Yz0xWrBY4qebzR8bvNa1q/Iit
5QrIlV9nnYMWunMFxdU7oWTzcNG8lOuUEmD+CM+1awUJXP+LsqqDegQD3nUe
i3NfSHEF8QGINRbOR90sGoeEJgWq2353HyZADxD/jlFP/8EUS5B5r+7Xz6p3
+KpepLPQ7jR3JXWVXaTScWyBVNG0Gq/DqpALTUlJGvROAU4yesLdgsmlK/AZ
GLIB8HSHU08dntcg2q8KUpcdtACyFEKlMpxqm9LSUcUqtKVhfwVh78EAwWEQ
XfyjVNbCd2NRKN4daBA3JAbCH9VTRF2bgKHyIfbSdNv2ZQaJo5FdpI1KnkTL
YNzqohRcjK5zEL5rMjKyIl15Za+aAH4u4qko6JH5qswajV66sc96AuZ8VROJ
HDisOFSYqsZB49vLuNPBmItM9XoodarYhh2VAm7EYw6Fn0jknlGEYgWVT4O2
ZaHVvalfOzKufdJ+h/207t+/Zvp1SLdntRG1yvMG4ak4OZWIm3CYMdtH3F0V
KUilZDIpVkV1sbZ1oLETEhLNC1XBm1Wz5FZWjZmtiDZOa0RSKT0Ml8ub3Yvt
WoQKdxjJ1EqLsa5pBV+RgDjsC1ipZJ8ZoFkFLqI1S+IjZLoNQr1kqrAbDmgm
6YVYPADemMbZi6i2Jk2yXuGCgoLCnXXpvoMCTmE/Ob+MU7CsdT/ybXOw24A5
Isu06V8Y/dRfJgdR5dbepOqJKvk1HH2Vy0Xv6hYirDnNwt0yL67Oj6oiXwWQ
RUIYP3A1uCDP3QV5SLe10ucc1tLgtXny+k/ZXkob7L/R7mzcEQxjNcMeYNxO
SzufsdOHzJ+uMxYZqhvbSyZoDgccUXt03cOQ4Y9wlznD2Q9yMiyzzcAV0u/0
Aus1EsOM9Eg/N+09c7Oh39/Y76OGGfGDoNMnvHZiXunvoMmY7x1hnbvfvS7s
Jxa2w5IjZQztFwGMExG/z1zgePfZBxKmrutcyFLQwFcW2b0F33jK7yf2O5Mx
Jy+/+QvwC5YT6QGA+Ml5pHcAkRq1xade5oxTvpAYFNem23NNSE5KllrENZXY
HsZU+sHZD2cHA2N1SH+M1kcCax9K7jd10IyGsorlaYDyct81ujLnoErgPX8Q
3bVuJG46sEA5fdpg63dtHPenFRr9E6cZqOIVJ5nzqFXQxFDZhkCHU5K9NkeJ
EQk4Er1ZuqRakCDgYP9VKc/tGeKswUJH8om7aAjdoquObtQ54yY2+HWStYtb
7q1zurapDrZoHzo8mIJjEgEJwPyddfmifJYHDcAjlUrL6Iy/ET22YFQDorN0
Wn+5c3d5hlRrIRFd0Z+9g7jfxSyFh64DGk57lC65bgEejJiUbQMbjZZ+D/hX
VGn2QOU57oOOdqUDtRhRNiuArl6Y0tRWpCavLN2GmK7T9MRJv9GbxUJeBhFZ
QHaiftUMJHTPYhZ2iKPWK4UxUkqx9+UNeeuEPWJpR2IEdlE2oMN1PR1rVU9e
DRHqtmKHXmChUcfobEbCD5FsUeN8g3nAXmMZUa45HeDG+xVJSWezammwcAzy
Nc1vYmVNE5waEqnQMD0lxTG1LgSKouCmPxrnwbWcRRfVqhmdDKmc3UMAnwIr
iRQSR+cSPm30FBl1LpF2Af3OTDF2alS+cF0IpfaOynuLnDUw+kbLethKMJ1q
08i+AQSCXuxtSvEgl8DigDjP2xscwx/TnqX6LbFPu+e2TeDPjN5S725/Z+zo
a/AwfcVAszpgEEkwTOo0yyvqGIoEBFXrvJ6tFtcijf4CEke7ZumTvcSormg7
3KokEJcNShqNd6R8JHKUWWXYsMuHIXwzdRe339DwVFJpGfZnLfw/ZkOOjgbq
DyE0mtX0j9TOyOfiSNyaWZ1PAZFMWhc5sgErmTBkyWpivWYY+wDiKjBCrOXa
vBiNnnS5HXlYvV7gVo8BUSlfkp/WGvCkOO6QWWmf0/xtn6Ngkp7o4mdikYkF
n3L1bTtM+lEnAcvM8pADsH3kgLfnl/jZoqtZPHKs39GM9neyb2B/rPKQd8Av
RdPaNlbstXUKS7jXjuPRayLHDgMXpkUwUx9ia88BqxN5tsqlxTFCIeevbQTd
kA3yzLX29vXbvkuvXe9hHsgiVWO6yKRF5V9gfPFXX528Pj9O3iMkk4P9xwrE
ELJcimb39vbD8dG3zw++/fhx78VXXyWHdmIysJOZrJ+UrfedLhzeU2AoObcG
XmLxZp8n72osRyPeNbLTX8FtvsJyRpSySQ37GGqet7ebhhZUhx8O+bRtcfkp
FORnFVnw/A5Uaa/1F0LuPYYgnbwCWgu6sQgYHGJ6YttJoQgxOfKKEXnIs3t0
8vIQlLNb/Pfjxw5EYQWmAKptO7bhdOFsTHU4AsemjFLcbh2uvteueuwFzfwe
obvHGpgta6CznarVr/WbanYvORMfuDlwu7BLIC7nOi3yzHMYBZWfPVlVragu
/bs77sqWEtjiaCyOzP1acI78U4xYQMwsget0sYhjDLtvKLYABIbUej+c3SAC
Od9S3N2i7q7ntRqL3D8Osv2JFJRrET+aFYjreOsWBgXVvFl4uAmLQJj/5NSp
I6dOKXNLzlaoeeyegGqdUiDEqaeQ0TU/d5saHM8laYbJrZYZo+9EuVvYG85G
aBEGcuxzoFDYtSUTwAEDF4ZXs//T0QlQImklQTJ88Jq/kd6rp/DmftBcImgE
SrRAzabciaOb1S6QPjPFfHLCRrDu0V8fJLtnJ+9Pk58OegTTu7u2kZ1nhGtw
WDYTsvjpwiTWif0cfgGxYoXLupGsZ1Ga7kQAy3l6eqO7HQ4egtu1KdYcHVBz
vFBPBAGoBPKRY3BnP7z/8c0rca7zSnF1TbowPXSBazy/N+NXMQpHtHKrm59q
UgpYjrgpDvxbe0iBf338SBM4hhhORblYzA5TFOvmwskS4o3Pv3n2HQ6AwjQF
VKAGs8TaCoZ2lLryLBJCCxcDbnIABHKp+iBc+F0f7WIRr346ACyWApbdN+4J
78OubCgu9beHf8AeKhVbOqYU3jCLH7BmoEdnEO6QARVkV7EGILvDIsmtQf1q
aDEYSUTGExfprqUTVBwH7KSwRAqkGHsaclaTyKSKW1iDgJeFa0zju3MSHu1S
BApv8Xy+JelsBvWSqhaJ0lrBhobWeE7+S+LU+udJPCoGW2lO6mlv6PBdLLid
ay780OpLgheAE3atmkSSrcSeA6LilXdI22Q/kP70NreOwUPxtvdzNThPsNlY
quRTWhqrRGRNS+3d3aDjPuWh3tDSX6W5zOetxj02uVTEFKuNsniNeLyj8auM
rqxgH5vDSdoGKQU7FKvYYritKRpDuu3OmGmeVSVJwFHrAb/QsB7OMahUjIZY
kOoRnoLbrIGlLCRyQBUxQke4kK7W69hLKCFTX1XVMDWac5dLiU4PPJ93b37f
4g0ir2QmzgFf0Q7Buu9bYDQLjkwDHpSTNFB5vZRb6Qqi+mWzaR2kbp7a4quw
qrYTBUmXULDjfiM/3U8+wO275lhXEiTRUlZTBVuFQ0cEdENT1Q+ALBo50Hx4
ScIQISgV5KlWLdxsjPJcuJuWxm5ary23miLE8I5O/svamAkgAdyMzAYZMrw/
MC1gOgAYnRlyj2QezhCMXO6UR38IvodZtaRUPVFkuqou4k6BJLlZNVhwNpcM
kTZIz2IbjtScNgTeU43oAIVmzXO3VcV2o7RBC3NyvSrQmmrVStLyqM90fm1K
UZ2DBWOG2andi4+Ot1/YPU68Vz5u1ONFFx6qVM2WomDb2x0e92Ln2kR6JJLG
pNeeEgMKDbJq/FtORj8i+2hXdd3ZoofIK9XwGZB0TNkQE4J5ydSH28yRlzLG
nHJgjx8mw+jPbNN2WCbkeJU39WoZPlxJLgbpVvZhuk8Lk7HsTUFXiJmSZ7hY
psy2fZvuakbxmHCo3LH8w+uj92/fvn736vUrXnblha+LPbhrTyUPpMlc0orl
layt9U4WCDbZYN1ACjux/1v7J5okak62kyOjRSGRoVhitKx2FG63uzFaNRh0
QQZjdaHiTQQ+XNJnRbbb+UojwtWB0qAGCXiGF0ssrbdfGP10Yu2vHz+VYW/N
rDeaHHG/eIAgibqIdTH12Nw5lvH0kX2+UBh/1xYUty1bkoh/k8VuqpXiAbI5
Ms12+3uKuXPeNETn+lPsO+Cz7VDh7wPT7rPaqBENSkMFDtn4lm6MinDVu4t0
VaIILSv3XJCWuTqzWsNvuPTDxsXBWsp2YbDF4/JShJIMXUikpDKpqllTQ6fE
Snpy3WAcBZoQLS5aWJCV0gb8azNTTGV6wUIYOq2Si6pCSTdDpKyUIPMAbLCx
7maMVUMTC3mKMPmWrRYIQuvSYCs6JS0AehcFJdleaGxcJ3OEjGtLZi1EVdK1
6lzKthAnZyCLUf03TTEWfY7U9h/PXvJ6CDJTiTmvNBxeFDdL4Vc1lt5Dg2gU
MLp2kWvQRsRyGagDcmvtVkkpPj559d4JopRVwJzCmRMizDu4FiS7Sg625+3o
Kh+xGnai21kLna0KH8EGPcwCubrIf1Y0YQFWgp8KDkkMRVxP2I4MTgadn2F2
uq4OA5N3Jq2T49yAVHoEetWqtE653XfHR6CAvyxWBmQQgNMbzEUH2eNiney+
fPN6j6XvHzHvBYbOzBT/3P3x55d7Ntc6AHbLXQHMADEIhGaY2w/QJJdjhm1r
LUQA/EFHAFSU0XRDF0QSPJqqWIkLFmGLg6J8oeI9waIz7n4CW3OBATYut0Bv
OId4U6BylLi53g9q6upeKL1zatSSK5OslvsJQM7a0Jzyf/L69esk+fbxwf6T
r/efWXpIH+unf54cPD54nByiWkwbf6JSGl0sQz0URR0geCuyUCAN5e5tRh9E
S968zTYgsNze4jpgGU++fqbJI3+jN0CM0Sw33vRugmczxKtyhj6mTE0sL1wV
DeuwFXmzlLgJ4C0U27O2Kehk/LKArk1gWPHiVLGiLcUeamlcDgrzgvWibXnW
HJZm0w471iBjy50KV3ZO/L4PaTdWIVm83mmrA0WLrSSH7mYUa9EXcTcCILcb
e6DWeIkSpJe91LVnIffD4g2IyAooUp8x74LVx8zKxzEYYVdobTDd3yGICr0Z
wzBIm5Xo4mDJj09xVV68f5sulqwT20gBDXom/mCcZorfSQCSJJAQqxIIU2ya
AWilzUp4tVXt8MqwRIelhZJ3VavW+5aLIi8WNn0lVhhbXUrnP+05o93P+eQ4
twy2Kr3wmXhVZ+t1I4+UQkcIsYfUrHsJBy/WJCVQkoV32VuXQCwRGC76vals
IdkwRIJuEheHoYv6valUinzhSfmCfZYO8G1yNwbkuImVPn3rCDAHqudDAtFF
UU0xADm9Vr2nARGjAPHSTIQe7X7/7uxsD0aeVBhErZrchVsWSLnV1WqJZ3xy
6l1PTi/SBTlO7W8pmaZiksVpiEJcpzWBM8VwJ0zgBQopQq1nNGqsbO1Vd1ik
asUqU1HYSA674N+n5H2lwD6ciGrEhLg0HJdQeq2adGbJEsdT98mgJNtUVCuj
pgjaMyrgankMSIBcYQBjlFBLAV0PY58oLhGF/SkxduPt0aqwoaFNQ2fc2Bay
eP18Cl2nbDuPTsDwQ0s6hplvc17BUQtlB/SgQ0M3M2V3WNBjVRA9EgYK0I0V
13TFkD04OM6dhD/QUTr1AqIsFdOIZC/GE823Ir7zXI3XPlv6W+V9xVZYBls3
HNagasrDjO8iFLLjyimsukrWNEp7u9mbyGqJNbLK1zyZplwr+GaKoUpUNetC
LZhTykNOGXcw9XCFDaEKtNUpBSMmzJnORHTr9Vhmo6gfShIH2O4hbtp+UsS9
A8FAiNLYRqMQiboXI6/q8N4O80efTDFrk0gcz8uLtu0LtZW1LCWpF77Hw4CA
vuoSD7SKWjubCpt+DJ/zLaQqk+VUsoZD8CgKCR1rUyTTaJVBeiUMZ8HJpClb
Oaxff0hiQ79NmktA8TTV9uNrL1bQ2lZgL8gSX3hauPPPEQgdC05tLJfXcpBM
VJTczkDt0zNeOa4FVx+4WPyUxSDKtxOt2NLiBD9SasiB4GGhFiNA8C909GMl
bXSlX1aFXg+iVmFonJdUyLIzxQuy+4NHlvdn3n5ZfmAwUUJ4crFK0etrvD7l
8ZXxaI0fr0UXydmr+G0KQK8ikhmFsJBmMwNC2XjmKurcoX3q7ad7FlZlaAIh
NFX0FDTER1ld8E2S0o/AGiX8o+K+gWxF6nxjYE+4LP5yT8x06lqSNQfFJRoJ
+iLORutbpCUQa9ZEaYmApF999QbfZTaFcRNOZrH3oWGvTGAv1ey0zTa63aNX
R14l7uSH6gYtvONQSNDCbx3ZilyCSrPGvlXNnoIY9L0QVvW1sfz4oh/IyYLm
T6fvKCgm5yo7SDtCQopGoGVF1lwSdVQG6F+gcPiWqYsf3tW1KqpPb6hViboK
pnV1g+r64emJjcgu3ZL72G4DiSPytlSycxFv09UFW9oM0V5Pt8FxFkTWYB7K
VRbz9dklFiJ7g/Loo3O4UiSgIbUHiFBdbM7ouP2CHpzQgxP74IS+Zcu2ZyzX
U1URmW3qxKMA63CFPIGr4ofCFKyjwOE1FCBWrc495aqkgRQjeQHwC2lIlmYO
WdtVdHdNPBpd5NhRftIpMC1GtXqYsxl0B4jQ4/wXzl1kowSEAUaZtDbuZFe7
V15GSA/K8VUp5QN7V9zS2tRzRxFhoWhzuI0MOz9MTxbIkYYiCupdQXQsZ2tX
bNEzMBVu6mSXsx9TzGygINaW8rlswK913pJuKSWMUu2T8RaZdVNhWo0e0XYO
AtFi+e51PZNdLGlYL7MNRFPr89aSS0RPbXKPVxKPmJ1/8TuIa4vyykdFjquz
VTjKKxtz3Bn89lZKbj7/+FHTLUpDNwsnoNOF5cMV5Bs4eqm6ORNYMyHAI+VD
piaP05/zntdhPIx1iAOCJuEdDhzIli4NxQprcUVbN04qg1GtK7dUpfFqWZmu
w267BE30eaeo/aLNQ+EXndh2CSIUTts7xGBSsOxgkcxvCQTwEoSxmAXXcZI8
XYLnX/muv47jgQAXhcp8JloX+5rYxhD6kmy8CtmT0DyrV16EWKpUOnYyKEpT
wdUKy1OR3G1JT+fc+Rba/kkUkcPBXoRu3qk4MtNLwqHvcYyQyEjT6NzVW7aq
MDyGvl5EC66BRAfCOThejJKGF2c2bFLROg0h7BfmJN1fi3ugdoh+AbonXi8U
64nFtG4atMltFe8bMktNxYdrMkc/7XVjtNTIbVwHoB7Wm63yjDxDnlUChWZU
ilJbJ88NwQqr199Iyue4AAwc2zYWp8A+y/lX9Od/zZjVv+SrwNWd6Lk+telp
Ph6xcaGCwRLFdWc4Qknz+jAfCFBfXJ95ExwtFcrhmt1lBduBewrfAW7lVe2y
3e4OypTaL3ZbwwXmujGYwfq7CSxuF+HafeK3wDpWqWtaVa6Z9ISlyazzOBSZ
uN2S4XRRJVMcADroI8Gds7TcFLmk1JUZ4AvcBi7LwIxrblS/SnnzuHfv8j9q
rawosMHjIxfcLgeKb5IXOXRccvw89tOg5mhdCgKMvzKxfTtwRCF3wLhwDLPR
G4BGezGUh4AeSwv4GAFUAgxDb6LYXD/S9xbmksJ/sbD+QCv3aDTB2tlhxRLG
+yJVo3AbUyJwJHVrj/NCpLbbL6SW7WSun30cahU/3NWMTsHJ0za5bpDJB6n+
fAp+rQXpqBfJ9WBLUck+dpfzbUOYZ74v2tOMATlfqpYvhb4JEnbXrkhrm0+a
ZbqQr/bURmeTzwVTNSJB8sGvGWfJSkmVfhQcNjIUGFFrTXwaBYEJnzmyo1Vp
IouyjmgvIBt4kplTbTEKVNhESNjeQpltYvKzUO4U0LYynldOWqQ05N6z1s+u
AnphqE5qtAq1loDttdvUuRFiF5wuEJrSKsfHo+Vwevf4DGsoOHOdb9v1sgxr
AC+aaBa51PBnYXqMoPPrFIu+6XVP5NQbRJ5zz2t3aTTgTEbz5rKLGXdOs7GB
+hxk2qBNzPOjp1bed/zbopx1DxJr6unZLAnIHltPNLLSkiJjZpDS11K9tfLQ
et8SB4d9fm/MeZ1eCF1OKWrLocwsjP9QGVT8VN51FIrRfN6bPVb7Q2D3kstC
2qoAwY9E47thfjEzosJU0sNtSNY5xtqViI9OD7/ML9D1c1EbQn02m6dBbm7k
FguNZyL8Sq4xgMdGcY4GmXvHgibbAlQWtVAlW+v3URGFca0TeHR7Gwh+H8dS
04otkBLM1d8Ad1SIjNZnHh+5F6+YxrQ2hzVQanQKrJJiu2hKn0RGMrI1FES8
aJa4DSquXlKKLbVAZWqZ/jopMS9VyeQqfSIRslZIVVEoi8GLwXZ108nUKmlw
njXXGucUBFbWQnMye9XID5NxBTGRrD4cH33z/PkBSVEnLjRWl0w5kGtLDAUk
ja0dgXTT3nJXZbhi9xOBDTdpfsm5wpboMxj8RE0ztFR3+DrbIo9s5WMtIvIa
7d+8X5syuXt0+Pp0z5Gs21v84ONHFz6jsTFnUtLguAZiRnap3bOzY8z5hX/g
hbn9nER+yqKACclj6aWCbjCN8w1ToaiWS6ZJLBTyKJ6dDjhToZkXtYOIyx25
lkhnJXAE3f7RagybpyFgAFNaUETn1FOoOSLMnolHN+kl0UORtKPG7+XbLNBk
CfeQRwm2QT5p6ZUB/LeuqCKZkJ5zKWH4SnzXt19IUcP/Em/2x1HHTMuFA4T4
BLHXQb45161yT26OVvbDKdG7iq7pzLWV79WH6EdMvlw7561gl00WI4dzIeW1
lb670DUt47jBqES+yKXG7rswbCJW4hWtpzkwXCwwYqQ7TLeDvBdWFgUcVj2I
tERqrD7nPIkeAQ1cnmzE0YlQTsfNKeaJ5NewZEFSbyT3onLhv5rbu156SYSI
3L2OBYT8QV0CM0E9pBGGEdQ32OzCLiQJOrY479jYJ+byMzQLsOsqg82/GvpK
DE0cDLWssDCSkgIu3pcs05Yk9zEG5ZGwuFoie8DjLV0yKqgIC7zPtcYZ4iwo
Ll6riwebyqz88ELP17moyguUnpE34lkJQupO8fhJl2QDmBQ+xJXWVSVVNGys
sgvPOn1LBXkcsXRhsFicAW6MgzXdmc60Ppr2j4KuhEc9w1KArPraOjiMOrZ4
pq+YykNEG4AeMvBtkGcYWZJpuB0tVUHq5c8gvK8onqvHAg47TkggsWHTnV7Z
/7QDEfWSSGsBV+ghWn3KF0KD8AVMmon7lbkUkMiPGgMoibgcN5EFfCyCz5aQ
iliIZWcBqT2j2ar2RS4WDP2KWQPbAkwiSfca9E82GdkmT1ww0rkxg4TfkM1I
Hd8mrK4o8Z2hyizrGEgkcsR92kPjDuknQ6JWGqGKBXqsnsdYupKkXv4A0K0F
CpjuRs2qGmRUhI28uYcNCLqjqYFest5TLmvdRqP2tJW9H7SKOrirj2TXY7FE
6Z6wK7sJipupar/podD7O+65nJqNmOwR0rHrSuflY5KZQzMr5NZYEuqlyhJv
tgzHpYrL+Yqa73iOXUdAU0ptHtChLK6iS7CLv7I5UetVc6SYd3RdyW+Obucp
ej4ovo7d0RIimBaWCMwoLIDcWWHdLh8DvJwaSmHWeV2Lz2690dfXbPLlwF/f
BCXRL2V0H0T6XYK8qlXw9R9X5cylBquaLrsHcBZaCCJMtm9dFi+lUFLk1IRS
KIWAqKeUqtQ1HTGp8cQkp8p5Bmd6iaVSvRI+pfd1PJUmIrKHV7zurvQ+L2U9
ksXKvMqrlHdivaNq8pElo63BlGEaZ8k+uuH4BJeFjfnQKy36LkMGFkChVVpm
vhaaZWNPYcvCfsIiDwME1RVXUjvvly58OMj8iEXXRJpw/nVv8RslWgK6oaRR
HAVYVt6In9JKL+zBwyC5k3tcGD/LdoPK04vsSc4Jk4G3dsdJuL/LxTqiAagn
yEbZDfnFGLWs08hqa+UFXgXOxCPfEf7RiROLoMNYrMRizHU6o6t1LEupah8P
RbGUSNQQ8/YFHIHnWto7qLEW4w7YVusxGD43Qhpm2GIiKLzQUr147i1NonZ+
y78SokZ27eMqnZd4AIPgqbQnhZVAAazZbyj6iYLpQf62ITnsAwubW9mAQYr2
iAd6dXr40elyN1gyMBk/Hq/XP4sslTfY649E2RBVj70WZdQ4cc0tQANHL5n+
Ug3GdNFCE6/fdymNJznyYV67/Git0IwKiugvpblgCtcNcuC7+gFFRzq6UACW
YggXZCZjKRSbOmaKZr7tx5aQ7PU39cz/ZEJUT93trdcflguBORm/N8pAKd2h
EZ/hiLxkwkHccZVpqMHmgkmsCJE8LenX6HbiEiYi2XjNW2UhMD0HZbCB01qo
uaQgl5MUHkpozwuKXZoP3sRk+rfYjJUhRVb28ZZaalEKtCmWLCSBppaZ8LQa
5QEB1eF4dTXaDbsdNEwHy6KRpsWUWIOIJdoaXTkkhElyivIUr9NHrH6T7fKi
UtZEpSwrdmlwVCD+aBCwcBxqoz458mpUCuORb/zqlXLTorFnffqCOo1ATC+v
3/RPskgqm1XlbAIsrNg6RTzaTdp4c2BoooDZGmIxUj+MgfMP/IISeZrYLRkM
HiF5CJmT63viubaLQnoPzbnpDhJbQg0bzjV2sUNemXjGeBtUhSa/X6i3MDl7
6vWy1WICyZVZNzZLuumciA9StE6aSF9yzoyVStvG5XhwL7P5inIWYQIbRqW+
lMYKts7G2pMNfZVNigs729mYcjL82uCuHaK3bNqiVbMlN0VDgeI2IleoAMv4
7Cc/kvxgjWY0IpcPCAHGkojUbsa2slZStlXAUlfRqmsFQ1TV171kJGsa6TPy
oRsU6IfdRbp7FqSnUIeSCfxHdRAakrn6WTB8WnrdvPZMjJ62pIM9CQcSStm9
FJ+WLZDdnxbBy+jRtpoYV1YDD/bTBdhS52MC6nQ6HbwCwkZwkPiL8/u6F5ky
z6jNAqGes8GFWX8SK/gLUdwep7YKbVxpiVsXzS8zAyKJAJ/2aQLt27PhhpVY
2L+TcgEbNf8FyaXD+MCl2Sw9vYuWRjbTQ1tJPXJB/s7JTo2Xm7YqKEqc48Us
InW7GWgUIkotr+EyMeBvv0Ax5r+MfvBx9ME0Jq1Rf720laFYvLIvYYE9y7zJ
SQtfKUZT/gyGcXWDy29vX8IGDh4fPNV6A10DCUkpPE2n86Kt+BXwyZnEsbup
ePfEdEG6R1yfMs/I2eeg1g8rf8r4GjEljQMZTRsx6zjZPZCsOIBGCJ3IS720
sTxuCvIq/2KnFQ7GEGeNDSfyGkHa2rSRqJ0x66l2IblWD8I6G2l9ZWgE6xam
gBfkAdwMjrLYKcR/BktOgfk0Gw6HWKIz+djJxGvdwRM7pxp5QPwBIdQT1Bvy
td/enh59OHvLqKHF0LFGaSVsNc2u88Y4KHC9BmauyHVugDVf5pqowOSK/LEk
9tii6XMSxTG+ZWY4aM6wo9Amz3n59FLQm5mdbuD8zZl4GTslI/BlbAGOXVzI
84mSoa2fGPMyRn0mSt47gEQBuHFJle7MGLkta6QkY6AJdAc5c7NuxpbgNSsU
enJuT5CgHE5NayvVo81d10uT005K7ow8w/RcrFYEQhkJfIC2gEEm699+63QQ
zztlAWXseF/Bs0S3hVKWMEbnsrFF0MZ/oho6UdorgSs/hjAT80+r8vt9LKd3
WoGYilo05hpknXweWQCFLtfXYZVPcX84CdorYEiRTtbeF8ZwSVO8WYENG9YB
JdM0DLbXpM2VsVUvSbUeh+UhvfLUqVegms+Wl9wJJ+0oQLSGzgq0/RxLhnhm
qLZTAbQbcmTzl1zWwF05vwmpZA1Y+SikdB2XSOV3/gl7NuV+Ben+qQSUK4zJ
lIgzuy13Fn1rkpBoCj3AHXKkJnNpsa8IxDQcno1w0uBiJFECLnpJ8q+9E6dI
TVu2jCgYaTzUX0gXLi6znZOWalZIYOq6WsUtfGv0SlJjdikprg2WbHgBzkJP
USrtjBMoKiQfKC1hPhaH5DmWZD1EbnDSWHQRyOw2LGRMD/aAlbuUEsQaicJi
liqOOlCogRbh5dzZ4+qKzvLbR1JpdBc7DpcD4hr+xHi+JH7tyBg7SbX0Kc7U
iF40T9GVLl9iZRFMpsOTo6oEZMEuxffi1uehKvfLTXZoUp0Fd+iFdXMZl7A3
HR1prxVo2GJAvH3eW4h5tmChH0+HvDcovOdLRZ6w5GM73wPxBlta1OlyQO59
fyzKTWb2HA7HxS47rwvO65o7kdXtpd+MDlssSURS0H+De3goOVbV2ZVBkRIP
8rm0J2sAiRqrb7vYnQqVBi7aItU5y0iTtCznXnd2kj2iA/3jxwNx3rOgHbBq
xSor++LsViw8CaRipcNRsTeC/32hNyLLnHA914VxHfeC7dkUbJRBKMgNaRYz
tSm68KysQn2O7u39vJOHe31PzAR/nWiDlNFLjWIP81pDBjpYVVRqpVuYu5KE
Hfa1MABbL1R8UwDG2OoR4jtQS6evvW8TyOES6CRjPJK7IPa6Zb94rk7iRtgU
YWgdDCvWF6htWYoCABy3dGhW9UbmDONDByB8SYZGiyCRlj0UA0W9DLY8CfE6
hdEcKCObYs5+BnX+S6BkrNpuTKQPi64PY41gAWU8Dp2d1Rr9TIhotKbnMvha
mkdgbrRtt8of5fFKxJ6dZjvfqPZIUHV3oG6tbcVggyo0MsotN3XLtR99Y5O5
tRviiQtm4T4i1pwhNGly7X380dFXka8sSwJyMc/rhSx8HQjeEWkzXpDfq07r
pbZiGztQTLNk9/35KbmBTk/e+bLIUFUL6SQrPHfhEljzdgP+eJsJhJqTuf+3
yOG6SXWD6pKaL5VlBAm50uweYQJ70a1U3MjQ6jT24rCWqqFwZafHkhdcH2b9
VtJpzGd2HBPBgqbL4nWLiAv5AqUodBEDQs6nFivepXihxHykm/O27RuZOnzZ
58MiaHKaBVM8r4Xolqg1UJPCv6E+olObeUnC6hkFVk3Hcq51ORuhA1TZifO5
nc1J/aAZbCW/uASEcrmJ5M+tFlMSpLFboiwpKm2wM05GRVXRqxIRJkLZJoi2
7961NZRzGzkjPMlPjAuasnrsh4Q/9eLouYVIxP1ANeFDVRraQGiEEDx2h+PT
pJd56bppvmf0eYk7p3bEjjJN+bmPoxPGUrQl3NnGeCyAIwspK2OefbNzY4Yp
hMunD3cmvfv4NvkjUy6ekVZ0EgFpCSk52aZhgmMgd2shiS163u0nP2sdCb8A
xgwDvezMsQstvXy7a8byFXQzOutm693QYAMAcMVL2V3GqcNORNGRowSHG1FK
BzEJB9lwAsKkbfIARbPWaN9gd+g4wmEUjV2El9+OjbbQW+sggeT1zqgtbb39
yrER49vTD0dnWNAYzbiBVXcvKhtpkRruVBc4oezugy4FRN9y1RzU7axxgmvp
tu2LfD7dUP9yFGGC1p8RmXzQ+LPfpci0yFnHhewFq3TrcyhZ5qBPa8DmvGMh
MrEuIMnZaoGl3ki6iXfL6ItsjZi3fRXClyJjzTFsewf7VGXLbTBFqQIPrW6w
tplfnp9fPHC2Hwbfe2YjUnyl0wajMZ0OII6nxfqLxARnaS7SkHed2CV6+vjk
XH9bblroGmTAIgnAyXVubqKLeTEajX71j2TDz6/ajAR+k04j8Ju05Ul+hXFe
TLb4SfS5F/HfYJxY84zYeuDn/4j8xt/COPEqZlzApDNObEQ7zsYSTPcYJ6ig
sgHOd43TL8LwsHG8PGKH6HeN0x0RxukmBW7YV3cVwXq6WR8PHScM/h5Yzhb7
6sfKPmwcL45vaDH9fcXweSiS6p7r6fjQt1tPd0Q7jlNbHjrOsCXrfuPcpV1v
gEp0nM0S8V3jjM6RHL/YzPq4Q5Y2jaXuAmwHUIfapNEPP46oWMVAm0jbV6ff
+GubFiIJ18ZtOaHwpMNsb8QGzUXDuSqvn106sCacxNQLdWpjLS5dnG2UY9dG
nemchD2QMjEWb6MhOxtbszEJTcNxJF+SklHQ+DD2YxwvVnmmPe7I3ch6o9dP
VAy99KpILtt38vYaeb+gd7FSAwKc9ITR309fb5RgUXT1y4QO6GR2CXvJQ5t+
E6DOAsRAiVBLKVN2d2HLPWjhxBUICOqzkEwhitDT9tQDGTdi+XclPgkFKf4Q
K85vUWUS9QQp0viE1QT56yD462nw17Pgr6+Dv56zdiH4wlN7p+zBoqRWfHIC
DhRKPjh5h5wf3E84QJagJ4efbJomO1yMRxo5ZKasqNpDVe94iZFS7odNFgw4
ziPkVUzrCnCmaTV10e/z4pURaHSnXjPA0UlovQi8o1pHX0vDaHSLZI7KjRoP
mYLvaEo3nGLG5YdoalQgvGjKXjc/VEUoxDtWSZzjFNjTEZYBCJwYoftCYMQW
BaJIo/dlIV16/SuNyoj4jYbZAhomr7lTtVR4cXlXNl1ECA2m/h+SD5kzZsQg
7iKJXAIO384SiyVfA0Jxti+WteZCBvg+N2jLpfbjIWcx9gtl+xAlx38APi/B
X5pmuUoBLit1P3nFEfQIo8GOzEqF8vv3wc690n487J5WaOXu18fUxIJeOeLs
ghNrp34JBz85Ehp0GNpOd49OXh7uxTjGA4bBqinwL3Agvy26NAt1Fq7+kv3O
6amPIBJG5/qvAAJLGvoCOBIadJQHjJPfI+/Z8/NOvNlsA/cga7znpmCFl5Ts
q5KXw7WIuY7BPDd1xyJ/7tgal+xsrLWjO67mgW3FmywHnWvtTJrFxT6GDv2q
dlVLHJfdECzL8cUc2taiX5FqO8682iIRyOkeY1vU3S1XQIP8UjfjJFIvy4Rm
NuxoR0TCOhMHmPObSH/ZIX4b5LhwkLO2kZU8AksU0aaOB05RUQDYi1UYxuRO
n03GHgJJEPqwD/GZeuA2sVhuSeDVub3DFi3+WRtA4cKxz4dskwtMMZhyLxOm
X48i9ZMkfZ4dnPqKzbaeR42fHJRJ7LPOLy7o/b50yTzOq7TwT0YcBhxEs9m6
/Bj03hHZf4DS2rsLm9qgG/ST5vUY48gVEhIP9zeI4tJlQquGaU02IuKqWNq7
zfJ6HuuvduaCNDbj0pAP4q/GibHl5sGjn80U3ysjHDV8gAvyNa30/nAdEHv8
knp5HhbSIh1X9vPTI6/HERVhoHAjklNw17Dsi7yckM1xbO35ExfCEauRIQS8
WS8W6LeY+bla68SveqWxqJLPeGOmtouEtHS6NpLluI9WEPLIHewf6OWjHYmA
AfjmCRPojHE12c4PT/eU1DVasjpI9gt34JRN9MDAAncu19Ma61Kjh5BG2dEg
FdaBKf4PuBLWrS2sfqKRFdLwjTw++DQ69iuXwEhZwVW60Mvr9kCYh9Zy8gQI
NdPmMpFZumKNy11mvahY644YdL6q2BPFXh2C9ICwI5D3IEA838v0Fm4vSala
UdTtxW/PQURI6MJNKsFpQWSXrZeX150wyt1g2D1Lg+Z5jaJavtA65uo1p14F
4qwKVsTwxAnSXI0WDmIZnpgVtRBj/UQGz1UaDtqrvT/2VFYKUWFcKelWoDz8
5jXGd5q6zRvm2FIdG2e+MmsuQdqy+5HAmrQrkktOXjGX9pbPyC6HsBc5BWqD
5FiLy7WweRJ4C0VgHtsEwxJd2wVjg9XbzC+cWphU2Fis6UTFcoYKDXtlzDJ6
Ang0vszg7WQcuKHpDNnxyGKrqy5Fd2Q1ldQxTtK0wjRZ/GzkTF+m9OsT2GUN
23M23hgt0YQuLq9H71qL++FB9g5bMzBZQbEHwxWIAkdZmOHVN0KSEDzfYCu1
Tu0nk+ebBMmXlZzGhn7i4TFq8iXuzkb8lZkXj04eSbSrlUZ8tbEcQspdlfen
ugrL6A5PT0AcBp6ln3z8SG2vUktaJlaMtS+l04YL90noiDCVdLls9uxu7sNH
xlZWJvnt2uNKhMZ9Onl7i+PjywcHmnVnyQFneEiUOa0jBC3BhDzYChhLkanj
V8vycsBLhlibw2xfXt6OE3i9QH3sVkFNbj0iICDBOMRVF64ZNZdQtqnX64HC
WljN8mrUOuN4bJCe3hQJNg5l344U1Yltnlf1RgkhKEnFgeaOykujTrxT7A3P
Kq5iLuTbKqkEei95JtcKOnfarKm4jsRR2oPvWSEkttmS11ASRReub/V//s2z
7yTu8/T3R6+1HO/T52jpjac9cmb7sByvRhVbgLpXQnPPstitrwSN3bVzMH4F
27dNjzGqQaj9vCNeRwR0AsuxtdQRKFTI45LfHkp0kuPGQTAnJ8xyAqVIR9t5
Xmy8Sc+n5kebbHlxLVvKtZnzFG1aXl61bQ5kA0s2uh/s3VBA0NYJI0Wul3hE
wTznd0JgizXoiAUPz8pLfFC1lwlX4wpB3JFmLNQpvrZzrkotu1dqHLdrzjba
I100Suk3p4h0GdUC6Tqe0kevTMdQ9xixmzEDl9ZkXiQa6nZcUFTH1ugstZd3
ZZtm7GW++Cazxm8j18j0wqvV0pfbig0IXDYScHz5eMjqTQ5BqSprGURg5vI7
bspM3bKMdbe0ZONnklkbCnPRrTyaAepTCac5VjkQwYlK2witwRI0Tesbz4La
u7x5snbGzUMawSu9atg9OwAsVzSXlZTQrCO2oK36jkj5PXUhjMgd74ziMO8p
sNK0xjrXc+/jyZI//jjyoh/owqIGcOfNcxdX9U8+jcgdp0yRS0pz5sjhmQ1j
bHw/j1APNEGqYvNHki7Txgb+sm5mAykLmA40rmXYUJbTb21T3WRiFZu8nNcp
SISrGVV0oe2KyQGui9RUdGqP54fUqpAT11brF4zJwxdEUUIxYGKuqwIZGNa1
btTMQzXUvASpqxzVQG7Vypsnm6P2bkwbkuipd3VVXVlrs7pBVb7xS5tT5xyq
JVz5YYCIJjMmH5d5llFBHheuBwRx0UiPHe6zBu9gDDMIt5OiuuBYRuxbLK1X
WMIKXLaciQn0wveQKgSpdZnMd1GlhYNtqTEK1NhYZ5B+pKRF2TeFkVOIQ8rB
zDfiyV01K64OAwrgasFy0M6clVU7cQrYvm7yZoeT/MQRjfUqGcEAH6igH0FJ
XtZ3XiTHaFcYY3+ajPHgpnceXuVmVoQoBDa/xskBX/YNiEJkcypSqoLrNSGU
I1+VFIFoMlsgpeSG4VyLoHWBj/oiB8dyJkcyTwG3sKQUQXLcW+DUUAEYzsT1
goipGo0NHsaaGTg75rXn1FieHEzjLkxo0aD8E/dhfRMdAZI8LuHZXF5KcjpR
6CDSU3tefO6HbS2+XhAAhnBgagM+gDSXbroG5mam1RaWc8k9TGWbAkPJq20E
I1yxP6fkuivOe6N8kBBTsc4xuRGBcCHX0fbTHtalyUW6dAVQ3Z6YEqmNIsdH
RQ9tsHDEmpkf70T00LAYD8cvMbHA6HK/G55wEO5l3dYV3fV5kQbVWnkhFjGl
KxdcpXeAVfAAptePtSIXQ90KX/ED1wJwBoT92ou7t+owu1IaBqOR4CTPQGi7
pQbX8BrVqFXjBWLpPWfb0dBlZoqL5GCK6NzYUhruNlOJA5NelVR7ulMURmgO
T6sm8i6ShUyFpLR0SZwjdXDbRcUIi3DA8sbIs7HWtfRs3Rvr0EjyxUDfakKu
DrrkQxxLUYag/Gw1t0QCMDq3TRsqqi5c26yaqXHdp7GMNWGoZDW76GqWqOid
KeKsdcpkXFASAJC66jwW1t2iPyR2vxiNkq8QTXeOO+hChdKL+UTKC4s4oEVs
mh0qQ7Qy9cFjtIiMR0kS3n94//aW39o/O3l/+hM8RUlzNMOfTebMw2jpwfdP
Qsb+lu/hzydv91iUgN8IN33bjS2UIiZkHMffg8pBntTTb5Rl2SBahFEfzVsc
h7QAPoZkF3YygTcnSxBU6j0l0sTwl1xlTkgBzqriCK8mE7FFdGeRs1NtvqQR
TZcSkbfAzg2USbVqK7QaZzgM47qWFaHGfowJ46C/Yome61JICYxBAt1Yjg/H
EYGO8fQY7XFUKCXLG+Ve3rmcvJXYgxCPUhwoQCY84eSnA4mZKDvIwZq0BGLU
hssMEEknABXAabN1aPs5E732ydP9p8O4JImaDKHcI99Y396zLFGypu/n0DrR
WP5twu4UAo6viZ+1qyn6eRuj7bZTV85WxeD6mkmcOijoHnhVtL3OrvZqEJAo
30MTxIU4NHid6YrQfsLSbtzsMixKyJWpAaEu82XXfIZD3N52u+KI7bIDG5Hs
iQIFFclkRwxTJRVnPTou0gAra+/MRaVhzz3TDI6mNhGkIT+YYtHMLhd51iqy
oCLrI1uS1em8DebAUTZO41l8v393eLrHwPhwfPTd86dfC/I4UrsVJZJqXujs
dXEeXVSngefSeJSQm2rFAmRxGVr41wX0oFLB8T4ZM6002ZEqUKTW71ABW159
p8Acz2ULZnLAaeonIfUaVOA4u7bnIR9vVa/3/MQ+e8q42++rSiSxl6mrVLn7
DqSRs2ov+fGiIH+FF5KOU3QMMKQzGdQlyadNtkm0c7zz7Rwv0D0OlHycMCNS
yvkBc4oPVfhPOqlxp6Yul/WqxKxlNLHvi6hRrB0fiKag27sIN2gt9QT6xhcc
RPoMShGoMsx3c6UGl6zudPwqgvBSGFSNcqHzN9n1jFex/FW6Mpq9ens7bZul
tKj1qPIQQgeSHY4E2vbFCmOuDs/epOW//Is9VUZBKuUG4Dw7PH97tI9t0kBy
lVpDQgy0crTWDZUliMfWl0YIRFyZnzXoFu4sVbTGcb5CApfPcmsw+coVjSil
f2ombj9O2iX3OYOazMtEmtJC+sR02bwAXc13FN1USANAylYiWm0LDeP6Vyxp
27r4NAu204tE8QErr5jDYwhEcW2y/6Wj3lH9sILFE2u/J4DkQtF7PKcX6717
9OrodM9VMpbLeVjiLWPpIHmL3R4nb1Dhwr/IYUDdksgRRgInTX3GQr3cUrxZ
k0MqPspXDw+UhzqmvXXvsZLUZofpUVBrsH8TbR8Z7kY5KWR9C7c+OoBKJUJ5
jgE7bKrCbkJWzyBhnw4BuxI7GZ5ux9prycZ2jEUIGyUWugK6q1Ha4IIricaS
tZHL60hitZdogLZ9Ihx3E4fNlIHI9ZZZ7cAe2iZjwvA91cdimYuuqsAncltt
ccgGbQvx3FeTsy5D/MzrRuBZqLTyQ68wduNCW6g2AQMmbOPZYWu4l2jxkY+K
ue57LQGA3pbRiLpCz4oVEc2jfumUrVJdtAh7P81l7AVViX7cOc0bNolRuyDO
C6HWEqkXHm79DYhoKdKE6obY4ibkTylyyyu5gA2JTZlbc40U7oaHqprdkp5H
smnRyMRa5LJayg2J64OUlJ/ObJG+FvM7Vfq00Yr3NmzHHaDDkXXCv1wReBv6
pKVv+rU0z4n23oeaar9it69uM7V+nXSsRC2qfV+qcEDH5+jucdSXF0Xh8hbU
SmhdOLS3DXiAZ1hpI66Q14wxNU4us7Rlpr+xaLgzukqPV+mkwtxIe/6xJTt2
/1G6TOcGpIY68+iw7QHg9Dd2hThU7eW5iYna0W/fdm57CUXmoCj3XkKhv38V
Y9Scplgrtiem/Ozg4p6vYYr9PPTsoGESjT1+pW00hFAILuU9U+kKFADOrUOw
kQI8lDpCK0xBKTzPFxibswRky8fJO6z4+GaV3eQX4+Qwq3PAouPa0DdXl3mR
fDAZwPIlXFn4d5y8/GNVl8kPfwQ1aZz8Dk53eZn8AFcqBZr/kt4+ShfLKSgV
Y+AICyAJ8O5Nhl1Jfl9TVdg0+UParLJ0TCv5+f/5v+vWIKn4fVqjwRfkBeDL
yZ9X6KG+xKYi8OpbYELpAr66rEvz58s0o49mlcfmx8Bm0ixNzkCqAr4ExwAL
MLCeH/aTs/QXmOBDtU5+zjFWddHg4mCqqmL5QxI8k90lqiJos8OgL4q6p0jc
dbX6Us1bCwxThauHqgb3BLfxgsDR6SwRI4hej5O5MdlUK8FzL4DCOpKJB+Zs
N4GDxCIA+Cwe6SsN8/4hR3pJHPzf/+3f/w1rWVKcfKfiOGAHDhzYTf/jP4AJ
wXsTDOlpWvr9q+Q4/4WseYXI5kU6FZHlq+QIaTHJypLzhreDHE3zSirRctQp
7ub8J9sTSFu/kDaqneO6Q9aV1HGIeauxpKJGA8mdY29vbxgRyb3b4bcI8sNG
oxMh1ZYxD7PMQwMqXoonXpiM2/U18tyP1Kg0Q1UrkzaPRC7YNYoAfvJYgHt2
CRfCAF3Sc38hYdbTQaa0P/jmmVly64iSiwBdmyQoCnRtgpUMDcPLp2AGF8vg
XuQdPP5OdnA4n4N8IfyDQzERMsSZWIiwUToo8SF3viItHV9+V9kW59qAaYJ9
gOjF5lKUVkqjk2ZCN2TfvElzraLX6AbQiGhuBMCPv5XlvQb6V1HYqrSP1Qe+
GQWI4jqi4b7/3cVwsB2vc7KkhGLbIKpiJ6Y++I/CYez255yMqINyj4SqlKaC
LElYl3kHaznqHV8FwR3DgfYH9hMuzGioBkv3FKyAVLKV199iPnKWp6BqLESQ
5XWQW86eC2A6DGaj/F6hASv4yuMrPpO8MJUtPQQEBkNyU2xLGbzr09XYLeqC
gplo5G42XsNVecnuVwG/o+FfOz4162Hzc8UG9g/hrGuQRRRZvh75G9AD9+qI
sV2cCLmFhx8xKC0MpBacTT91wYF8uL8s4cJ6M3DIQeDXoJw/dntqBhslk3Kv
BlgPNjANAW53iy+LIwRxk2s60KJPvZLZdtfPekBhQsJCIYoTfDaugewlMx/p
jnHJ/h7f50bjPpVxT9RzmHkUiyNtxkFkC1IxDDTkYBasVSyUQb0RA6k3MIo2
ZD+zfa4l9opqS+nxBODqVPVIJbcFFOOCKuNZThK8tYXIQfvoSh3q55p5MhlI
YE24pu0qaUgAZizax45WLVU5iuSumnqRc6NqPkJNguXq89zDx1YFgWW4PKu+
duQv/xgEIBD7iiWQHBZtVLXRjb2nOJPUUTB+/QM6WxBBdg4DXoixkTu+F6BM
tblM8KRWQWk5+msnIG+Bs0SsEmqpQOUWLROCsgeBMES0gSU0oKNAYBKT5ZZw
pUusoZ43UVANqYy9G3FHCQVujjWVUEg8Tu4V74V1bIpF7nAzlOhoIKfZ2OFY
r97WjnOHLdg92BuvAxVv1L0Qd2c9In+5BhGgVLYj2veObx3YGeQPscPY8eED
OOiRT7FBnmFzLoDZMZy/oZgsUo3nGCPLuCiyEF2jzkuIA6+vHat7ZQ9KwU9l
gNn04MIY/7/WrmUHQRgI3v0KjnBoAl/ByZMxnDlUY6xAFOLv233M8tJEEhJP
mDbd7nR2aYetx30uWnhUHrsgxQGWOyHSdalvEN7SBqoVqKAuFNTrmK4Zwku3
wC1NEAXWeFnHqPz7XsJGdL/iRcQkBFGuCTVNQeIvjHUByTksrVhxGIY7TxsY
+Yu73ZVO0U4Wr30Qa8GKYw+CU56kVfQnIah8tkMnyU+GqZIVHZKq5ISTMZ0i
hx0acKRoa6ilu5PeKjzqxk2nxkFMEsNhhrj4XwsM5RipWplHdg+IlcBXe3Ql
/5075mU6neUub76/uJbysR8GkbTb6VaMB3VGtG0bEshJDk/twNvej3mG8eUL
3xgQai2nIiLQt3rxSl7cyZbCQLLJFoBGbKmVxwQjQOPchN6UxXZYTaiMi6ZL
ToHs1+oVOxmWHz4NedmkU9IBAA==

-->

</rfc>
