<?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.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zhao-opsawg-resilience-validation-00" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="Scenario-based Resilience Validation">A YANG Data Model for Scenario-based Network Resilience Validation</title>
    <seriesInfo name="Internet-Draft" value="draft-zhao-opsawg-resilience-validation-00"/>
    <author initials="J." surname="Zhao" fullname="Jing Zhao">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhaoj501@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="S." surname="Zhang" fullname="Shuai Zhang" role="editor">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhangs366@chinaunicom.cn</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <area>Operations and Management Area</area>
    <workgroup>opsawg</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 48?>

<t>Network resilience validation evaluates whether network services can maintain acceptable performance and recover within specified objectives under disruptive conditions. Such validation may be performed using simulation, emulation, or controlled laboratory testing. However, differences in scenario descriptions, evaluation criteria, and result representations make validation results difficult to exchange, reproduce, and compare across implementations.</t>
      <t>This document specifies a YANG data model for scenario-based network resilience validation. The model standardizes the representation of validation scenarios, disruptive conditions, service-level evaluation criteria, and validation results. It also defines common evaluation semantics to support consistent interpretation of results across validation environments.</t>
      <t>The specification focuses on interoperable representation of validation information. It does not define simulation algorithms, fault-injection procedures, or mechanisms for modifying production networks.</t>
    </abstract>
  </front>
  <middle>
    <?line 56?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Network resilience refers to the ability of a network to absorb and contain disruptions, maintain acceptable service levels, and restore services within defined objectives <xref target="I-D.zhao-opsawg-network-resilience-ps"/>.</t>
      <t>Existing protection and recovery mechanisms improve network availability, but their presence does not necessarily guarantee service continuity under complex disruptive conditions. For example, multiple simultaneous failures may exceed available backup capacity, or recovery mechanisms may depend on control or management functions that are unavailable during a disruption.</t>
      <t>Network resilience validation therefore requires evaluating service behavior under explicitly defined failure and degradation scenarios.</t>
      <t>Such validation may be performed through simulation, emulation, or isolated laboratory testing. Although these environments may use different techniques, their evaluation results need a common representation to support interpretation and comparison.</t>
      <t>IETF benchmarking methodologies, such as <xref target="RFC6414"/> and <xref target="RFC8456"/>, provide examples of specifying test conditions, performance metrics, and reporting requirements. However, resilience validation systems may use different representations of disruptive scenarios and evaluation results, limiting interoperability.</t>
      <t>This document addresses this gap by defining a vendor-neutral YANG data model for describing network resilience validation scenarios and reporting their outcomes.</t>
      <t>The objective is to standardize <strong>what conditions are evaluated, what service requirements are assessed, and how the observed outcomes are represented</strong>, without standardizing how a validation engine executes the test.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words <strong>MUST</strong>, <strong>MUST NOT</strong>, <strong>SHOULD</strong>, and <strong>MAY</strong> in this document are to be interpreted as described in BCP 14 <xref target="RFC8174">RFC2119</xref> when, and only when, they appear in all capitals.</t>
      </section>
    </section>
    <section anchor="scope-and-standardization-points">
      <name>Scope and Standardization Points</name>
      <t>This document specifies a declarative information model for scenario-based network resilience validation.</t>
      <t>The initial scope covers validation within one administrative domain using simulation, emulation, or isolated laboratory environments.</t>
      <t>The model standardizes four information elements:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Validation Scenario:</strong> Identifies the scenario revision, network and service context, and traffic profile against which validation is performed.</t>
        </li>
        <li>
          <t><strong>Disruptive Conditions:</strong> Describes the affected resources, impairment types, event timing, and conditions required to verify disruption realization.</t>
        </li>
        <li>
          <t><strong>Evaluation Criteria:</strong> Specifies the evaluated services, performance metrics, measurement methods, observation windows, and acceptance thresholds.</t>
        </li>
        <li>
          <t><strong>Validation Results:</strong> Records disruption realization, observed service performance, evaluation verdicts, and supporting evidence.</t>
        </li>
      </ol>
      <t>These elements constitute a common validation contract that can be exchanged between heterogeneous validation systems.</t>
      <figure anchor="fig-1">
        <name>Scenario-based Resilience Validation Information Model</name>
        <sourcecode type="text"><![CDATA[
        +--------------------------------+
        |       Validation Scenario      |
        |   Identity / Context / Traffic |
        +--------------------------------+
                       |
             +---------+---------+
             |                   |
             v                   v
   +-------------------+  +---------------------+
   | Disruptions       |  | Evaluation Criteria |
   | Targets / Timing  |  | Metrics / Thresholds|
   +-------------------+  +---------------------+
             |                   |
             +---------+---------+
                       |
                       v
        +--------------------------------+
        |      Validation Environment    |
        |           (External)           |
        +--------------------------------+
                       |
                       v
        +--------------------------------+
        |       Validation Report        |
        | Events / Measurements / Verdict|
        +--------------------------------+
]]></sourcecode>
      </figure>
      <t>This specification does not define network topology or inventory models, traffic generators, simulation engines, recovery algorithms, or fault-injection protocols.</t>
      <t>It also does not define a standardized interface for starting or stopping validation runs.</t>
      <t>A validation scenario is a declarative data object. Creating, storing, or modifying a scenario <strong>MUST NOT</strong>, by itself, trigger a disruption or change network forwarding, control, or management state.</t>
    </section>
    <section anchor="evaluation-semantics">
      <name>Evaluation Semantics</name>
      <t>This section defines the common rules for interpreting validation scenarios and results.</t>
      <t>These rules ensure that different validation implementations can evaluate the same declared conditions and report outcomes with consistent meanings.</t>
      <section anchor="scenario-and-evaluation-conditions">
        <name>Scenario and Evaluation Conditions</name>
        <t>A validation scenario is uniquely identified by a <tt>scenario-id</tt> and <tt>revision-id</tt>.</t>
        <t>The identifier pair <strong>MUST</strong> refer to an immutable scenario definition. Any change to the scenario conditions or evaluation criteria requires a new revision.</t>
        <t>Each scenario <strong>MUST</strong> reference an immutable or version-qualified network context and traffic profile.</t>
        <t>The network context identifies the topology, resources, service relationships, and relevant network state used during evaluation.</t>
        <t>The traffic profile identifies the workload used to assess service behavior, including relevant offered-load and traffic-distribution characteristics.</t>
        <t>Baseline performance may be measured before introducing the declared disruptions. Such measurements can help distinguish degradation caused by disruptions from limitations already present in the evaluation environment.</t>
        <t>A validation report <strong>MUST</strong> identify the actual scenario revision, context, and traffic profile used.</t>
        <t>An implementation unable to resolve the declared evaluation context, or unable to reproduce materially compatible conditions, <strong>MUST</strong> report an INCONCLUSIVE result.</t>
      </section>
      <section anchor="disruption-realization">
        <name>Disruption Realization</name>
        <t>A scenario may contain multiple disruptive events, including simultaneous or overlapping conditions.</t>
        <t>Each event specifies its target, impairment type, start offset, duration, verification method, and timing tolerance.</t>
        <t>Initial disruption types include:</t>
        <ul spacing="normal">
          <li>
            <t>Resource unavailability.</t>
          </li>
          <li>
            <t>Capacity limitation.</t>
          </li>
          <li>
            <t>Packet loss.</t>
          </li>
          <li>
            <t>Management connectivity unavailability.</t>
          </li>
        </ul>
        <t>A disruption is considered realized only when the observed condition satisfies its declared characteristics and verification requirements.</t>
        <t>An implementation <strong>MUST NOT</strong> infer successful realization solely from issuing a fault-injection command.</t>
        <t>For each event, the validation report records one of the following states:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Realized:</strong> The declared condition was confirmed.</t>
          </li>
          <li>
            <t><strong>Not realized:</strong> The condition was not achieved as specified.</t>
          </li>
          <li>
            <t><strong>Unknown:</strong> Available evidence was insufficient to determine realization.</t>
          </li>
        </ul>
        <t>An event reported as realized <strong>MUST</strong> include observed timing, the verification method actually applied, and supporting evidence.</t>
        <t>If any required disruption is not confirmed, the overall validation verdict <strong>MUST</strong> be INCONCLUSIVE.</t>
      </section>
      <section anchor="service-performance-evaluation">
        <name>Service Performance Evaluation</name>
        <t>Service performance is evaluated using explicit acceptance criteria.</t>
        <t>The initial model supports three service-level metrics:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Metric</th>
              <th align="left">Purpose</th>
              <th align="left">Acceptance Rule</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Minimum throughput</td>
              <td align="left">Evaluate service continuity during disruption</td>
              <td align="left">Observed value ≥ threshold</td>
            </tr>
            <tr>
              <td align="left">Maximum packet loss</td>
              <td align="left">Evaluate service degradation</td>
              <td align="left">Observed value ≤ threshold</td>
            </tr>
            <tr>
              <td align="left">Maximum restoration time</td>
              <td align="left">Evaluate recovery within a specified objective</td>
              <td align="left">Observed value ≤ threshold</td>
            </tr>
          </tbody>
        </table>
        <t>Throughput is expressed in bit/s, packet loss in parts per million, and restoration time in milliseconds.</t>
        <t>Each criterion specifies a measurement method reference and an observation window relative to the scenario start.</t>
        <t>The measurement method defines how the observed value is obtained and interpreted, including any required sampling intervals, counting rules, or aggregation procedures.</t>
        <t>For restoration-time evaluation, the measurement method <strong>MUST</strong> define the disruption reference point and the condition under which the service is considered restored. The restoration condition may include a stabilization interval during which the service must maintain acceptable performance.</t>
        <t>The specified observation window <strong>MUST</strong> be sufficient to determine whether the acceptance threshold was satisfied.</t>
        <t>If a required measurement is missing, invalid, or obtained using an incompatible method, the corresponding criterion <strong>MUST</strong> be reported as INCONCLUSIVE.</t>
        <t>This document does not define new packet measurement algorithms or prescribe specific traffic-generation procedures.</t>
      </section>
      <section anchor="validation-verdict">
        <name>Validation Verdict</name>
        <t>The overall validation verdict is determined by both disruption realization and service performance evaluation.</t>
        <t>Three verdicts are defined:</t>
        <ul spacing="normal">
          <li>
            <t><strong>PASS:</strong> All declared disruptions were confirmed, all required criteria were evaluated, and all criteria passed.</t>
          </li>
          <li>
            <t><strong>FAIL:</strong> All declared disruptions were confirmed, all required criteria were evaluated, and at least one criterion failed.</t>
          </li>
          <li>
            <t><strong>INCONCLUSIVE:</strong> One or more disruptions were not confirmed, required observations were unavailable or invalid, or evaluation conditions were incompatible with the declared scenario.</t>
          </li>
        </ul>
        <t>The decision rules are summarized below.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Disruption Realization</th>
              <th align="left">Criteria Evaluation</th>
              <th align="left">Overall Verdict</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">All confirmed</td>
              <td align="left">All passed</td>
              <td align="left">PASS</td>
            </tr>
            <tr>
              <td align="left">All confirmed</td>
              <td align="left">At least one failed, all evaluated</td>
              <td align="left">FAIL</td>
            </tr>
            <tr>
              <td align="left">One or more unconfirmed</td>
              <td align="left">Any</td>
              <td align="left">INCONCLUSIVE</td>
            </tr>
            <tr>
              <td align="left">All confirmed</td>
              <td align="left">One or more inconclusive</td>
              <td align="left">INCONCLUSIVE</td>
            </tr>
          </tbody>
        </table>
        <t>A validation report <strong>MUST</strong> contain a realization result for every declared disruption and an evaluation result for every declared criterion.</t>
        <t>A PASS or FAIL result <strong>MUST</strong> include observed values, actual measurement methods, and evidence sufficient to support the reported outcome.</t>
        <t>A missing measurement <strong>MUST NOT</strong> be interpreted as a successful measurement.</t>
      </section>
      <section anchor="result-comparability">
        <name>Result Comparability</name>
        <t>Validation results are meaningful only in relation to their evaluation conditions.</t>
        <t>Different validation engines may use different algorithms while evaluating the same declarative scenario. Their results may be compared when the scenario revision, network context, traffic profile, disruption realization, measurement methods, and observation windows are compatible.</t>
        <t>Results obtained under materially different conditions <strong>MUST NOT</strong> be reported as directly comparable without qualification.</t>
        <t>Repeated validation runs may be used to assess variability or consistency. However, this document does not define a statistical aggregation method or a composite network resilience score.</t>
      </section>
    </section>
    <section anchor="yang-data-model">
      <name>YANG Data Model</name>
      <t>This section specifies an initial YANG 1.1 <xref target="RFC7950"/> module implementing the information elements defined in Section 2 and the evaluation semantics defined in Section 3.</t>
      <t>The module contains two principal data structures:</t>
      <ul spacing="normal">
        <li>
          <t><tt>scenario</tt>: Configurable declarations of validation scenarios, including disruptions and evaluation objectives.</t>
        </li>
        <li>
          <t><tt>report</tt>: Read-only operational records containing event realization, observed measurements, and validation verdicts.</t>
        </li>
      </ul>
      <t>The model uses external references for network context, traffic profiles, measurement methods, and evidence, avoiding duplication of existing topology and measurement models.</t>
      <t>The namespace and module name are provisional until IANA registration.</t>
      <sourcecode type="yang"><![CDATA[
<CODE BEGINS> file "ietf-resilience-validation@2026-11-02.yang"

module ietf-resilience-validation {
  yang-version 1.1;

  namespace
    "urn:ietf:params:xml:ns:yang:ietf-resilience-validation";

  prefix rv;

  import ietf-inet-types {
    prefix inet;
    reference "RFC 6991";
  }

  import ietf-yang-types {
    prefix yang;
    reference "RFC 6991";
  }

  organization
    "IETF Operations and Management Area";

  contact
    "Editor: Jing Zhao
     <mailto:zhaoj501@chinaunicom.cn>";

  description
    "Declarative network resilience validation scenarios
     and operational validation reports.

     This module does not execute disruptions or modify
     production network state.";

  revision 2026-11-02 {
    description "Initial revision.";
    reference
      "draft-zhao-opsawg-resilience-validation-00";
  }

  typedef validation-verdict {
    type enumeration {
      enum pass;
      enum fail;
      enum inconclusive;
    }
    description "Outcome of validation evaluation.";
  }

  typedef service-metric {
    type enumeration {
      enum minimum-throughput-bps {
        description "Minimum service throughput in bit/s.";
      }
      enum maximum-packet-loss-ppm {
        description "Maximum packet loss in ppm.";
      }
      enum maximum-restoration-time-ms {
        description
          "Service restoration time in milliseconds.";
      }
    }
    description "Service-level evaluation metrics.";
  }

  container resilience-validation {
    description
      "Validation scenarios and their results.";

    list scenario {
      key "scenario-id revision-id";

      description
        "Immutable, version-qualified validation scenario.";

      leaf scenario-id {
        type string;
        description "Scenario identifier.";
      }

      leaf revision-id {
        type string;
        description "Scenario revision.";
      }

      leaf context-ref {
        type inet:uri;
        mandatory true;
        description
          "Immutable or version-qualified network
           and service context reference.";
      }

      leaf traffic-profile-ref {
        type inet:uri;
        mandatory true;
        description
          "Immutable or version-qualified traffic profile.";
      }

      leaf description {
        type string;
        description "Scenario purpose.";
      }

      list disruption {
        key "event-id";
        min-elements 1;

        description "Declared disruptive conditions.";

        leaf event-id {
          type string;
          description "Event identifier.";
        }

        leaf target-ref {
          type inet:uri;
          mandatory true;
          description "Affected resource reference.";
        }

        leaf kind {
          type enumeration {
            enum resource-unavailable;
            enum capacity-limited;
            enum packet-loss;
            enum management-unreachable;
          }
          mandatory true;
          description "Disruption type.";
        }

        leaf start-offset-ms {
          type uint32;
          mandatory true;
          description "Start offset from scenario start.";
        }

        leaf duration-ms {
          type uint32 {
            range "1..max";
          }
          mandatory true;
          description "Declared duration.";
        }

        leaf timing-tolerance-ms {
          type uint32;
          mandatory true;
          description "Permitted event timing deviation.";
        }

        leaf realization-method-ref {
          type inet:uri;
          mandatory true;
          description
            "Version-qualified event verification method.";
        }

        leaf reduced-capacity-bps {
          when "../kind = 'capacity-limited'";
          type uint64;
          mandatory true;
          description "Declared capacity limit.";
        }

        leaf loss-ppm {
          when "../kind = 'packet-loss'";
          type uint32 {
            range "0..1000000";
          }
          mandatory true;
          description "Declared packet-loss impairment.";
        }
      }

      list objective {
        key "objective-id";
        min-elements 1;

        description "Service evaluation criteria.";

        leaf objective-id {
          type string;
          description "Objective identifier.";
        }

        leaf service-ref {
          type inet:uri;
          mandatory true;
          description "Evaluated service reference.";
        }

        leaf metric {
          type service-metric;
          mandatory true;
          description "Evaluation metric.";
        }

        leaf threshold {
          type uint64;
          mandatory true;
          must
            "not(../metric = 'maximum-packet-loss-ppm')"
            + " or . <= 1000000";
          description
            "Acceptance threshold in the metric unit.";
        }

        leaf method-ref {
          type inet:uri;
          mandatory true;
          description
            "Version-qualified measurement methodology.";
        }

        leaf window-start-ms {
          type uint32;
          mandatory true;
          description "Observation window start.";
        }

        leaf window-end-ms {
          type uint32;
          mandatory true;
          must ". > ../window-start-ms";
          description "Observation window end.";
        }
      }
    }

    list report {
      config false;
      key "run-id";

      description
        "Published results of a validation run.";

      leaf run-id {
        type string;
        description "Unique run identifier.";
      }

      leaf scenario-id {
        type string;
        mandatory true;
        description "Evaluated scenario identifier.";
      }

      leaf revision-id {
        type string;
        mandatory true;
        description "Evaluated scenario revision.";
      }

      leaf context-ref {
        type inet:uri;
        mandatory true;
        description "Context actually evaluated.";
      }

      leaf traffic-profile-ref {
        type inet:uri;
        mandatory true;
        description "Traffic profile actually evaluated.";
      }

      leaf environment {
        type enumeration {
          enum simulation;
          enum emulation;
          enum isolated-laboratory;
        }
        mandatory true;
        description "Validation environment.";
      }

      leaf engine-ref {
        type inet:uri;
        description
          "Validation engine and version reference.";
      }

      leaf started-at {
        type yang:date-and-time;
        mandatory true;
        description "Validation run start time.";
      }

      leaf completed-at {
        type yang:date-and-time;
        mandatory true;
        description "Report completion time.";
      }

      leaf verdict {
        type validation-verdict;
        mandatory true;
        description "Overall validation verdict.";
      }

      list event-result {
        key "event-id";

        description "Disruption realization result.";

        leaf event-id {
          type string;
          description "Declared event identifier.";
        }

        leaf realization {
          type enumeration {
            enum realized;
            enum not-realized;
            enum unknown;
          }
          mandatory true;
          description "Event realization status.";
        }

        leaf observed-start-ms {
          type uint32;
          description "Observed onset offset.";
        }

        leaf observed-end-ms {
          type uint32;
          description "Observed end offset.";
        }

        leaf actual-method-ref {
          type inet:uri;
          description
            "Event verification method actually applied.";
        }

        leaf-list evidence-ref {
          type inet:uri;
          description "Event verification evidence.";
        }
      }

      list objective-result {
        key "objective-id";

        description "Service criterion evaluation result.";

        leaf objective-id {
          type string;
          description "Evaluated objective identifier.";
        }

        leaf verdict {
          type validation-verdict;
          mandatory true;
          description "Objective verdict.";
        }

        leaf observed-value {
          type uint64;
          description
            "Observed metric value in the metric unit.";
        }

        leaf actual-method-ref {
          type inet:uri;
          description
            "Measurement method actually applied.";
        }

        leaf-list evidence-ref {
          type inet:uri;
          description "Supporting measurement evidence.";
        }
      }
    }
  }
}

<CODE ENDS>
]]></sourcecode>
      <t>The <tt>scenario</tt> list represents the validation contract, while the <tt>report</tt> list represents the observed outcome of an external validation run.</t>
      <t>The schema provides the identifiers and fields required to associate reported measurements with their corresponding scenario definitions. Implementations are responsible for applying the consistency and verdict rules in Section 3 when publishing reports.</t>
      <t>The module defines neither an RPC for executing a validation scenario nor a protocol for submitting results. NETCONF, RESTCONF, or other management interfaces may be used to expose the data.</t>
    </section>
    <section anchor="example-correlated-failures-and-limited-backup-capacity">
      <name>Example: Correlated Failures and Limited Backup Capacity</name>
      <t>This section illustrates the use of the data model for evaluating service continuity under correlated failures.</t>
      <t>Consider a network supporting two services, A and B, with separate primary paths and a shared backup path.</t>
      <t>The validation objective is to determine whether both services can maintain their required performance when the primary paths become unavailable and the shared backup capacity is limited.</t>
      <t>The scenario is identified as follows:</t>
      <ul spacing="normal">
        <li>
          <t>Scenario ID: <tt>dual-primary-failure</tt></t>
        </li>
        <li>
          <t>Revision: <tt>1</tt></t>
        </li>
        <li>
          <t>Context: <tt>urn:example:resilience:context:v42</tt></t>
        </li>
        <li>
          <t>Traffic profile: <tt>urn:example:resilience:traffic:profile-1</tt></t>
        </li>
      </ul>
      <t>The traffic profile specifies an offered load of 7 Gbit/s for Service A and 6 Gbit/s for Service B.</t>
      <t>Three disruptive conditions are declared:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Event</th>
            <th align="left">Condition</th>
            <th align="left">Start</th>
            <th align="left">Duration</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">E1</td>
            <td align="left">Primary link A unavailable</td>
            <td align="left">0 ms</td>
            <td align="left">30,000 ms</td>
          </tr>
          <tr>
            <td align="left">E2</td>
            <td align="left">Primary link B unavailable</td>
            <td align="left">0 ms</td>
            <td align="left">30,000 ms</td>
          </tr>
          <tr>
            <td align="left">E3</td>
            <td align="left">Shared backup capacity limited to 10 Gbit/s</td>
            <td align="left">0 ms</td>
            <td align="left">30,000 ms</td>
          </tr>
        </tbody>
      </table>
      <t>The scenario specifies the following evaluation criteria:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Criterion</th>
            <th align="left">Metric</th>
            <th align="left">Acceptance Threshold</th>
            <th align="left">Window</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">C1: Service A</td>
            <td align="left">Minimum throughput</td>
            <td align="left">≥ 6 Gbit/s</td>
            <td align="left">5–30 s</td>
          </tr>
          <tr>
            <td align="left">C2: Service B</td>
            <td align="left">Minimum throughput</td>
            <td align="left">≥ 4 Gbit/s</td>
            <td align="left">5–30 s</td>
          </tr>
          <tr>
            <td align="left">C3: Service A</td>
            <td align="left">Restoration time</td>
            <td align="left">≤ 60 s</td>
            <td align="left">0–90 s</td>
          </tr>
        </tbody>
      </table>
      <t>Each disruption and criterion references an appropriate verification or measurement method.</t>
      <t>Assume that the validation system reports the following illustrative observations:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Criterion</th>
            <th align="left">Observed Value</th>
            <th align="left">Verdict</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">C1</td>
            <td align="left">6.1 Gbit/s</td>
            <td align="left">PASS</td>
          </tr>
          <tr>
            <td align="left">C2</td>
            <td align="left">3.4 Gbit/s</td>
            <td align="left">FAIL</td>
          </tr>
          <tr>
            <td align="left">C3</td>
            <td align="left">35,000 ms</td>
            <td align="left">PASS</td>
          </tr>
        </tbody>
      </table>
      <t>If all three disruptive conditions are confirmed as realized and the measurements are valid, the overall verdict is <strong>FAIL</strong>, because Service B did not satisfy its minimum-throughput requirement.</t>
      <t>If the system cannot confirm realization of the backup capacity restriction, the overall verdict is <strong>INCONCLUSIVE</strong>, regardless of the observed throughput values.</t>
      <t>This example demonstrates that different validation engines can exchange a common scenario and interpret its results consistently, even when their internal execution mechanisms differ.</t>
    </section>
    <section anchor="relationship-to-existing-work">
      <name>Relationship to Existing Work</name>
      <t>The network topology model <xref target="RFC8345"/> and the SIMAP concept <xref target="I-D.ietf-nmop-simap-concept"/> provide relevant means of representing network and service context. This document does not duplicate those models but provides validation scenarios and results that may reference them.</t>
      <t>Service Assurance for Intent-Based Networking <xref target="RFC9417"/> and its YANG model <xref target="RFC9418"/> provide service assurance information. The model specified here complements that work by associating explicit disruptive conditions with service-level evaluation criteria and validation outcomes.</t>
      <t>Network incident management <xref target="I-D.ietf-nmop-network-incident-yang"/> addresses operational incidents. Hypothetical or laboratory disruptions represented by this model are not operational incidents and do not create or resolve incidents in that model.</t>
      <t>IETF benchmarking methodologies, including <xref target="RFC6414"/> and <xref target="RFC8456"/>, define metrics and procedures for evaluating particular network behaviors. Such methodologies may be referenced by resilience validation criteria where applicable.</t>
      <t>This document differs from those specifications by defining a common information model for exchanging resilience validation scenarios and results rather than prescribing a specific benchmarking procedure.</t>
      <t>As noted in <xref target="RFC6815"/>, laboratory benchmarking procedures should not be applied to production networks in ways that may disrupt operational traffic. This specification does not define or authorize production fault injection.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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="RFC6991" target="https://www.rfc-editor.org/info/rfc6991" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6991.xml">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC7950" target="https://www.rfc-editor.org/info/rfc7950" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7950.xml">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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="RFC8341" target="https://www.rfc-editor.org/info/rfc8341" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8341.xml">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6414" target="https://www.rfc-editor.org/info/rfc6414" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6414.xml">
          <front>
            <title>Benchmarking Terminology for Protection Performance</title>
            <author fullname="S. Poretsky" initials="S." surname="Poretsky"/>
            <author fullname="R. Papneja" initials="R." surname="Papneja"/>
            <author fullname="J. Karthik" initials="J." surname="Karthik"/>
            <author fullname="S. Vapiwala" initials="S." surname="Vapiwala"/>
            <date month="November" year="2011"/>
            <abstract>
              <t>This document provides common terminology and metrics for benchmarking the performance of sub-IP layer protection mechanisms. The performance benchmarks are measured at the IP layer; protection may be provided at the sub-IP layer. The benchmarks and terminology can be applied in methodology documents for different sub-IP layer protection mechanisms such as Automatic Protection Switching (APS), Virtual Router Redundancy Protocol (VRRP), Stateful High Availability (HA), and Multiprotocol Label Switching Fast Reroute (MPLS-FRR). This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6414"/>
          <seriesInfo name="DOI" value="10.17487/RFC6414"/>
        </reference>
        <reference anchor="RFC6815" target="https://www.rfc-editor.org/info/rfc6815" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6815.xml">
          <front>
            <title>Applicability Statement for RFC 2544: Use on Production Networks Considered Harmful</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <author fullname="K. Dubray" initials="K." surname="Dubray"/>
            <author fullname="J. McQuaid" initials="J." surname="McQuaid"/>
            <author fullname="A. Morton" initials="A." surname="Morton"/>
            <date month="November" year="2012"/>
            <abstract>
              <t>The Benchmarking Methodology Working Group (BMWG) has been developing key performance metrics and laboratory test methods since 1990, and continues this work at present. The methods described in RFC 2544 are intended to generate traffic that overloads network device resources in order to assess their capacity. Overload of shared resources would likely be harmful to user traffic performance on a production network, and there are further negative consequences identified with production application of the methods. This memo clarifies the scope of RFC 2544 and other IETF BMWG benchmarking work for isolated test environments only, and it encourages new standards activity for measurement methods applicable outside that scope. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6815"/>
          <seriesInfo name="DOI" value="10.17487/RFC6815"/>
        </reference>
        <reference anchor="RFC8345" target="https://www.rfc-editor.org/info/rfc8345" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8345.xml">
          <front>
            <title>A YANG Data Model for Network Topologies</title>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="J. Medved" initials="J." surname="Medved"/>
            <author fullname="R. Varga" initials="R." surname="Varga"/>
            <author fullname="N. Bahadur" initials="N." surname="Bahadur"/>
            <author fullname="H. Ananthakrishnan" initials="H." surname="Ananthakrishnan"/>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document defines an abstract (generic, or base) YANG data model for network/service topologies and inventories. The data model serves as a base model that is augmented with technology-specific details in other, more specific topology and inventory data models.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8345"/>
          <seriesInfo name="DOI" value="10.17487/RFC8345"/>
        </reference>
        <reference anchor="RFC8456" target="https://www.rfc-editor.org/info/rfc8456" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8456.xml">
          <front>
            <title>Benchmarking Methodology for Software-Defined Networking (SDN) Controller Performance</title>
            <author fullname="V. Bhuvaneswaran" initials="V." surname="Bhuvaneswaran"/>
            <author fullname="A. Basil" initials="A." surname="Basil"/>
            <author fullname="M. Tassinari" initials="M." surname="Tassinari"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="S. Banks" initials="S." surname="Banks"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines methodologies for benchmarking the control-plane performance of Software-Defined Networking (SDN) Controllers. The SDN Controller is a core component in the SDN architecture that controls the behavior of the network. SDN Controllers have been implemented with many varying designs in order to achieve their intended network functionality. Hence, the authors of this document have taken the approach of considering an SDN Controller to be a black box, defining the methodology in a manner that is agnostic to protocols and network services supported by controllers. This document provides a method for measuring the performance of all controller implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8456"/>
          <seriesInfo name="DOI" value="10.17487/RFC8456"/>
        </reference>
        <reference anchor="RFC9417" target="https://www.rfc-editor.org/info/rfc9417" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9417.xml">
          <front>
            <title>Service Assurance for Intent-Based Networking Architecture</title>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <author fullname="J. Quilbeuf" initials="J." surname="Quilbeuf"/>
            <author fullname="D. Lopez" initials="D." surname="Lopez"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="T. Arumugam" initials="T." surname="Arumugam"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>This document describes an architecture that provides some assurance that service instances are running as expected. As services rely upon multiple subservices provided by a variety of elements, including the underlying network devices and functions, getting the assurance of a healthy service is only possible with a holistic view of all involved elements. This architecture not only helps to correlate the service degradation with symptoms of a specific network component but, it also lists the services impacted by the failure or degradation of a specific network component.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9417"/>
          <seriesInfo name="DOI" value="10.17487/RFC9417"/>
        </reference>
        <reference anchor="RFC9418" target="https://www.rfc-editor.org/info/rfc9418" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9418.xml">
          <front>
            <title>A YANG Data Model for Service Assurance</title>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <author fullname="J. Quilbeuf" initials="J." surname="Quilbeuf"/>
            <author fullname="P. Lucente" initials="P." surname="Lucente"/>
            <author fullname="P. Fasano" initials="P." surname="Fasano"/>
            <author fullname="T. Arumugam" initials="T." surname="Arumugam"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>This document specifies YANG modules for representing assurance graphs. These graphs represent the assurance of a given service by decomposing it into atomic assurance elements called subservices. The companion document, "Service Assurance for Intent-Based Networking Architecture" (RFC 9417), presents an architecture for implementing the assurance of such services.</t>
              <t>The YANG data models in this document conform to the Network Management Datastore Architecture (NMDA) defined in RFC 8342.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9418"/>
          <seriesInfo name="DOI" value="10.17487/RFC9418"/>
        </reference>
        <reference anchor="I-D.ietf-nmop-simap-concept" target="https://datatracker.ietf.org/doc/html/draft-ietf-nmop-simap-concept-15" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-nmop-simap-concept.xml">
          <front>
            <title>SIMAP: Concept, Requirements, and Use Cases</title>
            <author fullname="Olga Havel" initials="O." surname="Havel">
              <organization>Huawei</organization>
            </author>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Everything OPS &amp; Arrcus</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Thomas Graf" initials="T." surname="Graf">
              <organization>Swisscom</organization>
            </author>
            <date day="23" month="October" year="2026"/>
            <abstract>
              <t>This document defines the concept of Service &amp; Infrastructure Maps (SIMAP) and identifies a set of SIMAP requirements and use cases. The SIMAP was previously known as Digital Map. SIMAP evolves the earlier 'Digital Map' concept by making explicit the ties between service and infrastructure layers, clarifying expected outcomes for operations and automation, and addressing ambiguity associated with the term 'digital.' The document intends to be used as a reference for the assessment of the various topology modules to meet SIMAP requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-nmop-simap-concept-15"/>
        </reference>
        <reference anchor="I-D.ietf-nmop-network-incident-yang" target="https://datatracker.ietf.org/doc/html/draft-ietf-nmop-network-incident-yang-20" xml:base="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.ietf-nmop-network-incident-yang.xml">
          <front>
            <title>A YANG Data Model for Network Incident Management</title>
            <author fullname="Tong Hu" initials="T." surname="Hu">
              <organization>CMCC</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Nigel Davis" initials="N." surname="Davis">
              <organization>Ciena</organization>
            </author>
            <author fullname="Chong Feng" initials="C." surname="Feng"/>
            <date day="16" month="October" year="2026"/>
            <abstract>
              <t>This document defines a YANG data model for the network incident lifecycle management. This YANG module provides a standard way to report, diagnose, and help reduce troubleshooting tickets and resolve network incidents for the sake of network service health and probable root cause analysis.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-nmop-network-incident-yang-20"/>
        </reference>
        <reference anchor="I-D.zhao-opsawg-network-resilience-ps" target="https://datatracker.ietf.org/doc/html/draft-zhao-opsawg-network-resilience-ps-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.zhao-opsawg-network-resilience-ps.xml">
          <front>
            <title>Problem Statement for Network Resilience</title>
            <author fullname="Jing Zhao"/>
            <author fullname="Ran Pang"/>
            <author fullname="Wenxiang Lv"/>
            <author fullname="Jie Dong"/>
            <author fullname="Shuai Zhang"/>
            <date day="2" month="November" year="2026"/>
            <abstract>
              <t>This document examines the problem space for network resilience,
   focusing on the ability of networks to maintain acceptable service
   levels and recover from disruptive conditions.  It identifies
   limitations of existing protection and recovery mechanisms under
   correlated, cascading, or evolving failures, and when resources or
   systems required for recovery are themselves impaired.  It analyzes
   resilience challenges across risk anticipation, disruption absorption
   and adaptation, service recovery, and continuous improvement, and
   identifies corresponding capability gaps to be addressed.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-zhao-opsawg-network-resilience-ps-02"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8U923Ibx7Hv+Iop+sGJzIVJSZYtOHGFIumEKVtUibJSOS5V
aYAdAGstduG98OLQrrye5/ML5/xYvuT0bS67mAVBWU5YlRjA7sz09L17ukdJ
koyarMnNRB2pvx89/7M60Y1W35apydW8rNTFzBS6yspkqmuTquemuSqrd+ql
qbM8M8XMqNc6z1LdZGUx0tNpZS4n/UHxl9NyVugVLJxWet4kPy11mZTrWl8t
ksoNSC7dgOTgYASfYMDDg4dPksPD5ODhaAY/LMrqZqLqJh3V7XSV1TW8/Opm
DS+enb76epStq4lqqrZuHh4cPIUxujJ6os7XpqJ5a6WLVH2rC70wK1M06gie
j3CXi6ps1xPFQI3emRv4MYVZi8ZUhWmSEwR8NNJtsyyryUipRGVFPVF/Hav/
gt3AD0rxFv+aFQv/W1ktJup4mRVafVdks3JFv86yBrbxzGQ/wMv8S9kWDe6N
3qWfzEpn+UQhsn747ODwTzN80tIk41nhQbggEGQehuFi2eos+PWDQFEs6kdP
nmyCoVRVIlOZNGvKajQqymoF2L40iKaXXx8/PDx8Kh+fPH16KB8/f/rZgXz8
4vDzx/bjo8fwwigr5r1Jnjw+tO88+eLwM/+6+/j4syfy8enjw8/9xy/w41ly
Ms5MM0+KVblO6myl18msBKZbN5uPC2b8JCtmWQpcktzA3u1rIe/aFwMeXtcA
/ng8Ho2SJFF6WjeVngHjWGHyryrP7srA5xbYu1ZXS9MsTaVkalWb6jKbwYOZ
LhSQomjgf0rPEHI9zY0C1iZc4YzI3JWZlZcwwVXWAKFUvTazbJ6BZJbTH8wM
MVqrtkjhjTSrq3aNvwDdCyAeCshYXbSzZQjbSt+oqVsHJmpr5HDAYZvTG/vA
I+4jqBGYrAGOyOHVXE9LkDwQWgWba2DcWP2lvDIA4D6sP5+bClFRK4RUFIlK
TT2rsjWBs29Rg5DAryCNmd6XjdZt3sB/1vAJqCQCvtLvOqjl12paLZvhiKZU
5nqG/Gz2aXiZtjPDkwJTr0FnAIKrsgawVuucFAVPDlR9tcxgrnLWkvqw2AW9
who1RY26chq17irHYhsTjNWrpZGxdQPA6CrNfoKpgR96u1TlPNyiXaXej9N0
33JRkgPm82GUbqJtrM4apfMaqTLPCuTDcrXyHEvLg4oommxWI2brdr0uqwZX
r7O6QSRlqEMBfA+7pYlgORSE4jKrygKRy9g2FsczfmEOqK8BDPhI85ao2lEO
tmLI6RNEM+woLWGKomxkVwEzw2bBxoDsrABtcw1gghogwYFnwCozk7awDjH6
yiAXZfWqJmID6bL5DcoGsxQNEZLXohBWWZrmZjT6CC2LeyuqHioD0kE4RQbQ
U/i9ucF9acdH8Aw0TFlNhXdZOVgeIMrHVIZwgyJuqJ00gZgar29EfzCCOtrj
+53U4BvY8el1RkKPCGkEh4GOugkxCKJWwY9ub/oS7I7sel9N2wbRkFWKqQzQ
OxoWBuCtQQDyG7VodQXMaPwmEStZ0SLuWO2hiOfmekj9fQ2UNNca3wHsAf2z
dS4MAkJpyhaIDZAhE5BqBFViAD8CLrw61bN37Rr09VrPCHaYMLZhHJyatQF8
oCCy0iS28u7JvC1mrNaapQZBBAK1hV8KWBGxqwOSj+8yNWhdzBxJXZkf2wy3
YWUZtbpgbWqW+jIDYBhn5nqdZ7Cb/MYxhCCB6JmaRaX7ygggudOUNEtwuxbL
LcYkq0v4NmBKjnLwxnA8bKo2HeVBa4GmcFYG+AdwX2Q/tii9zEuBErMqqSBi
Wi3XUyqBfuspNW87AGAkArqjsNditlzp6h2idgWGvUzLvFxkCEGNuNEgTeLc
vKE5vhdP5s0+yswluB+WGWsUfdaFpGMQCR0dHzoCsFYFCtmKNkKMY4TirF29
IY4zSn0D6nsVQ2Tf5AJggTA5BqDFN1G8r/JslRE8gQYnOd+wrzpNYVRNRhB+
X+i1mgoLMuNfgviUFWigFvysPGqD2Z2Y4vtb7W8PcI815pWybYDAxlolpw+B
Q4kvvMVWDx5cobR64pDgWh8v3Vf02IpaSBR6UeOGa3wP4ViWV2QAyikOQE0s
gNC7jhQmffBgn5Q2PA+gwQ3gFLprZRdo9cy1mbWNeBjIT7C3jz6CEC4A6Btw
k1pQR7xriIsUBkY17PHb7y5e4Zr8ST0/l28Xfzn/7psT/Izgw9Ojvz94gA5e
0yUtQA94A3XgRAklr7b0gi8w5tnxC3X4mMQCw4g3LCAQL7xBT7ngNcoC9BJ/
hZ3cKL1eG13hcJ3nqIizBlwY3BxEq8BuNOjCoYhx8qIEOOptDl5qZrmuNBPd
OxTv6+4xRoGRmww4tybAyEp0HCIxwyWQS6creBsDCgIhLdG23+mNxxRoxMuK
+J3zsq06GzXsC2OEczgGyvoA32UBJkDqM4yZGGnIWM6vr8xlVhNYzsYDHUI7
ba4bpijsEb111IHzDAydXsBWQd9dLbOuRQFaOWsCO3mIYJ14XXTsRBABOxHO
YrhgBZBgQ64P7HSGShmcEJ1VRPnmZm0o/KAvoLGKhQ0RnFiL6KbIyEA40MyB
JYanAOdPltiPELRTrw2PxfNGwC4clyFgTlE4Z2xAua+MrlsWVLEu6JeSnrDM
A9rxSsyAOIA4A5hdUy/LPEXqP+6R8iWraYTrJbgtKOzxTe17nWSJGIDZidwA
OWk2awQSsaHItwZNHLzNXIg2XHiMAogma0A/eXMcEJ78JYis2THC4HhqXFiX
wpfmyphCQTQNFmZh2HHbtG6w7i+//IKMR4kM/PskuePvE/fqrfw3IgjyQudV
FgxwRD9FxsRF4dMrYfXb9wGg93fbfeAn+mRo7K3a/OvNchl55XI0AOcnQ+DT
urfqxMcmHoJbFZELBuNWvdLVwgA/AKZICGXEtywE+LNj5tv3g+pe2NgBp4Nj
e/jrzTfwt8FtAbOdej3eXS7cyO9OrzGHqfPfRyH7YNz2YXanOpqIXO2N5ZBf
SEd8CmzgVCB+fc165l67A/kf/WOiPppni+RQUYL8j3u7ZLUhhPe2kbLoez+L
/9DNWfSzDT58X2M4cENmusAtoXEmS4whiigGVF5ktzFo8HkK9uHqfR9bhpkL
mDGSvGjKWUmOkEvq9CDToQeQsmc217Br8m4azUqbPpfrNX4OU0YtZciOYj41
GuquB0VeOnvRYxB6Q/HnPk5c0YdOQkX7ibruJkQDWVObfI74yhYLiFXDaJjS
kWQSHNJhJ1e4P1xDgu79XtQNG20MuYuBXrqwWS5LYkGrzYuh5bZRY5sbTgk5
17aHqn6owbk2awN5vCmQs9m++dgr9H26yUkygtZ3YM9Lr4zg3HT8Fh/f+GgC
Hc0wawfOBcZYNccEzqzh0FBbu0m3EL6lqBt89Mx6hikSTqu3zmHO0rc09Vvr
JOIv1kW2oyqF3pkLPThDRkkwRMaqleyWzyPPybvGnN9RcWMZQRJq7rUAL2UV
y436RAlm3q6cH4sJLg3uaI81LWCGM/IBZDA9uve4ux9bQBUhwvKl+L8x91fw
0H8z6/rZVpvshw6tDzJZbdTLbO3SAjlstmj8UQOyPYb6qU0seWQICH2/vAcC
TpOXOuVJkDAUym5klcDRLmZ5m3JOQsAoicXThCYIsJCkGPNk05aJstTo9gFd
ahRGgOsZaOgclVfHR+ZMk3jI6A9SyiuTpKuE9V44gpypnICsQsuCorU0+Rrf
Q1lus3rZyXrNNG15GgYAoAKqcsXZDnv6mIOiS28kidlwVGxCpgtCs74uFYl1
XCbIv+FoZta0FEZuBFtbAyuEGtfpaxNMMyLLNiVxU35puvgKxcTOT9lCP0rO
VYAUJEU5yD9lyJoMXwkzV4Hc0A4B2WfPj8+fH3/z3cXZ61PRj6yIvAMJRtmF
Iogpt3Wkvc2FuwRukKCikK4OebCT3YVtoD3NNRu4IDcs8s4hoc8MgAFSDXmp
GwHkPhtN5O0aH4NcSehE4aJ1EDh4Ewqxl9uUOVh9jozOJEcQ2DWKTmUHBuJx
jNVY6H2CWFJqD9SxpKIDVsSfX+jZO9OovKxr/BqcisOeC8pucda8Ox+gOgAk
40gNeLGiUBpJYoKUTDd35ZAJtqnJaoc+b6S64s2nUiGqOinMGOOG/gFmL8BC
1O0MTwjmbR6GrwrYGo0SCWlW1y07Gn23CW06QAFr0cmAYwDKNUXEs5KYGTM2
5Zxempd5Xl4Ro6GKrYleDx68FGRhpP1qGbPU6koTeucZ5zdw1POycWi2I7sD
0J8DMDNzyQk1dwTME3xXvCvKqwLHHrmTBBuH0wQZeB6oJTJiYzSkQJAVqthu
SuOoEFngrfNqjgW8nmIu9VxgsymEwE05EF2WUyIPvO50W9bgbA4Pb3wmpsua
iAqHP14QZRvTggHlJDvhIQbLESogcYHEiL0IzIz3hEaji80cCILgszmcqbNH
KWE+xnoavZyg5OR43zVlbUzvKFdyQcBRNiSG6OhFW61L8CNv1ZFf4yU4lRBD
3ULM4/6Hg2CxVbuyJzHrtvHhePQQTVyDAM+36txSFscZ9a///j+fYlK0ir6m
VdZe5cSWCS1qZNb/HZiVzy7liCZbmXBqFx1JIlXHKiLuXgzo4vCDRL1e07kE
5ainWfMppuiCvcGva400A2ZQqyzPSef7c9YAVjRS+ALEEyDFzsgIS5RFJwW9
mfHr+JroN0USgOL9XW76vmSdbAZ4c24b22ycQTCSABHlFM2sYYctSOSH1rUj
nzUeZrmzH5in3ueqI/IFMfAhR0IvFpVZ6N6puyjhAIcJ4dB7Iyzjka042ZZI
l7yZMK1psbjGcwC2xB3NygehnIAmHArP9g0gHaOnXMwREtvPhP6J1YkUcKNl
/ckWKjBWrJhtrrdq6+auQqBu5QRx+gZPhMpuSN3bYiR2MDfTx2QtrCVPRRt7
WodkADRRuR7q/awg5UuEdgzE2hHjpSJwE61nxLSoYN014hH9Micg4U5CS9RT
4d2Dnc2czJWV4BBsn1NBYFHo6QTBJXhckCJZmg1+BcMRZIwkPyVHiMOWCCG1
VKCoYlpCdB5Pw3dOUULj04ve0HjYPDydvslJvngjL44uLsgnAIhiYZG6AgYP
jSmC7kjtYmV6KzjqJKWEp3D2hTXGhOKKfH109s1vtSZoYqBjQ36Y5xWsWrCr
h/yBUJwXhrNOldkEoudJOCACyZI3wwINTuw5Zu9GTTbrQKM6XE+5mE68ZTW2
SDb8TtGdpIqQmnULfmpFntfUgLs5RpcgHi2BuXNZ9iCXA0ZQOFLYNOIuIKUc
GhR/Z4qi3wEspKJvhcRgEjAtvXN0q5AZaHRIh7bozAOW5LYbG8aWCydAvKKu
rdnM98ZuD7BtEKk74iZ1h3OiJ3oWEc61tnij+iE2zHEnxVaERHiJ0CGDhl1p
MsSY0OHwP3oiyGUY4t93Vb2tZpESQ1adkhIkaERndybuRFib5/c6jLeCcba4
gHZ0TLUyElOORq91v/CQeFpykDgRBZRZ4RJZ4spkA0IFi53EcqaSNY8UtQSa
HoxubsKqqF4yVXfqXMjUZ5UDXFJPUkma+ih4y0G4y6H08jP7g0evg5SOnP8S
Lr16AdzIGW9gfcm7CVI1HjGBpupTPrS2KajDWWOTPFyTactRJNs5s8bopVkb
kvre6YHFXS99eAlYc/WPlU9Sz26CIqZmq3knP6uhpAKISehdin+IPieBXtYg
jbHSjRr8Dz4V6PVO9A4EAn+9cKEcDTkcH1L9Cpa+v8HoDkMyl76wjBaruHBV
dxkeRPA6D52TGq3FjYx45Gs9Wk7BIfUhsLwqgeGw2n2NnidurG6qFlRKJckK
l6h/O8GU/zxbtExhJxBSBxavSvaxQGhXe+VhvsIUzfNb5i1YDwxXmpD4l7aN
Q+cuzSKb4KwA5yJiBQphNnej1tl6RZ1SGKoyNnJ06uMDPte5S26HijNCVQzf
LsuMsdJiTsAVLhtbNusOCHFcZ0I6I7TnAqCZ6rWWCFCIiz+S3FMZYc1IwzAr
V2dHz49gQwspJSKJ/OWXX7DJYfSH4/OTU/Xs9M9nzy++UpQi3qPGiGibzp98
d84Yh++NRparB8eof4yUwpcTOQtBsfhyNFJ+H3R6u9dWxQSnmaA2WdWT61U+
KeoJ9WIMT79HU4E1mmfXqrqkbyBiVLKJgzJs5uHs6T9oHXkVf/+Sm1lcKLgH
sqqwZWUPn/zcn4o2EZkKf99hqrJagHWT/DXtmGpGt/cq8faI6WdcsrJ3Sm03
/b4j9Qfs22nKyUD70Fc8U9BrwbOdBBZux3JJXo9sTyCgG34Vsiu9SdpS+MTp
aalF7CgIdwTM4zar6uWklrdirWrQMiZ0CTYJSBaN7E7x9nq0ktqBvd1b1TxN
kRtA8QabT2xIx6DgC+CEgJGqvDTgH/5GnvSX4Q/oK3d+CN1ZfvDz5hbP2YHr
6eMgHNwE2GYVOZ+4E7ArzhwmPnOYTNe1e6cHk80z2kA1yDfaFJqlhN2TXYez
fAlH5wnm15L1ejW4UCTViOm49eqO+ftZpWQ1sJmg7GXvwp2v3pHW660dodrF
UI+O5HgDqonRM5UaVrExkPdeR8TXuhHehRWBUgrAb7zbapGBRcB7wcm9Cs7s
7cg4wvbO7Fn4fuQkPKJbxn4+CCDnKlzV04b4FM+Ird7dxK2rRnC1BCFFwiWC
zbzfEn3F0l9AfAbgt3l/ATRCk7bK/BJ49CRND1VrokuH7Hi2U61BWLcVKcH1
qnBoCzbpJd7Of2Ir/RKJAUhDEr0XNdd8lhKbH4UjCM/89CQg5I2yRDgMZEXi
PPpDx9m9pU/66YRug9JeMI62aBcKABjYYW8hKqKLSkSwS0txOt/uEXqQ1MPE
7oFw1K/BjvHeJjTvIK7dhCNmqfiP9LxdIgkSdF9uvmb7thI6LDdp5JXAEkWe
+kIyWKnCA+P+Sj/fH1En3aP/bcihM52EKw66Nkzw1GZF8+jhe1DrIqhl4GPz
3kHSFqhs5cMWiHpEq6haa+9wPAYLvfdr8eeESuDYyux0Pp24EowPi8UXmNZv
Giqi8b0F8M5ldidkQXCbcFD5gUWyQ4G91xtql0GOHNpvhxoLgdLEiVbXT1Sc
Itsbjz8lwf6j+rgvhB936O/w/+Txe+DfscKsUxazbQMRnzMCdKAWBuAd4vGD
8fjwgP4+GJ8HwARFSd1N9jZLBs2fiffsmXvwPjbNusmR6spNgxaudG+jdu77
8nYybDbw+dCW7dSdbPgSzB0sWyf+Cnfdic/eHx4fT2xVgO6AN6r2dhU7PKru
KhSI9H8HEiO7BJkZCO4+/v1eZ+Anag/dwLH6wx9VTFIGNdhR7NRaqi4FirbY
Lvz/ET27mT2kROA2ODnZn7D5/6AW63yzeuBOey/QmCL91bBQxcPeWH2lgHV6
uxzigijQAExcAQYbICUoB4EWajpbXKi5zmsHGOnEqt0h5n3RTmHSpXF1/nyH
Q/foox/o8sz3Clm+oyp7HLlDlHuPQHqHuK2j7n6TUPt9gfh3B+Nqz3b2uSJG
d8b9746m1d6rfhvtzjAFZeh9WIbCLAp+fIPSl/1HZvCJbVFOfIvyppTuuOXX
4VmvL6Uf3CYeB++G8YE8xev+4bKtWeb6jLtSKaTIYOt6A8900IGXoCUwIWUk
70n91x0NI5XoOM+wMOBZ5G8EjTTzyRo2TzoESjdr7qDYzKvfE4rzwZqroQwP
p1ekEGM4xxNf7iResSUNDR8ulXPi+zJ2z+mEEN0/mcJV3pH8B/h4yZbHLZef
/8o457R/1ktHQW29bb/2MPheLlLEp6D2BkyBcCZkpyV394PiC9ItQXcux/r9
3pmBQb/0dCja3yjR3wJVImLEp97vBVUUEtcEsHtMOyDGvdA2Lso2hPW1hBvF
XR84lPXuTHnPoHZTe+6gP+8RDlhoNlTnFgngkvEd4slBbjz3xRwUuEkR+r2C
uQ8tId9uVpr/u0XjwvfFhFHjdvGw///zCEDioo/T5ycXX1E3PFWV+JIfFxNx
02Ldb3yyV3HsS+EcPrblO9Gx/auMKCAqfLFNLzSSYvbZ0qy0vRWLJ/LSwKeY
8ClPu9ey6LouZxl3gkixWqez05baZlWvvjzSRoy3IfZ6rvkOJhxUU+UuFgch
3W9sNVdQrGYdQxJNLtwNi7M4objmaJE7Y23ZRFC0ZVsyCpNRaT7g7eWLYy4r
pRIKuRcr0oldUI2bvQaAW/rxEt1G7gaTCx+fn746Pn/+9b56eXohn7BOn1YL
muTd3QAbVXvmmrqPqH5ZN5ob6fkSM6weq6iEE1792l6jh3j5hhO96hnfnmdb
Fnu1dVmet1S1JAyAJZzSZNe79Styp13kJkAHi73SD4A9lm6O4J7FoPUMa+X8
tTxHBPszvngLfsdSpQZrrrKVBjW61s2St6dVvSQHTW4HxCdC2IBU/UvFNjsx
qA8gfiesPcIX3g87AVwJahewqSHpCwvWbUlhF1qXKQewJCPvpNK3+Qfd/bqW
pkcuH3SnqWcnE/U2RQ0skCSC+LfUwcqxOrxyiN8lkoavWAom1+BNfMXDRIL3
yeXjh/h+L9odHicB98QG3LBatLu9U8kp7emK2tOB5z5Xf6aqFb45W1iM+eFJ
7NEz14QRPdeVjgx246mdj12eW3/FAnzmE7hbdSKnWP0KfanSPz3EanyhdZ4V
7wCwkMq36kCtsAPv0cH+wQF/xmEP+8Oe7TTsEUIWZxjhFmTmwwOLlug8XXaq
Ozdi+QbayAECIevYeWVBH2SQ/H3le/nU3zgbGEfd8eEkoOZAfyQ2OD7xu/ns
X//8n0cHirFx/NBP8GzbBI+HJnjUheDlZncjdic+offVAQx9ykO5cbDXhODd
1aCEFdgZjFRVghCiuuq41XSvbd+pwV6AuoaIkK8j6TkAfJeWtVc9ijmVjfwe
dsts0M35d6/Jsbvd0oZyjAz+ZHzoUeh6T46RiR+NA+y6xpJjZNRHnzmes4Oo
bS3PpcF2WDx9j0nY52xVZsetwNel76fTdOz7u7j7ie6wMXR7RMA1KUQLWBTJ
rXV0xU2k3C7shefeO9LcTAwwDUHLUidSFoPZF1UsYQO5wVe2AB020CDwWEdf
pTmW6cu8vs3bQ8ptKrYJT1QyqLsVXvJmzfnQPTe2Z4Put5Eb3vydcE5ldDpQ
CWU23+5vtclv+EY/ZxEzuaMH3U7xnyjIdbf0MkTkw7wM7lBBheZuN/4b1lR1
rmhxhdvskHwvV9W/ccxycfbt0QslN9DzjcoD19O/cRfBuptSsC2m5nu0xa8O
LzeNVHSN1VDzoxSeo1yjz8Z15XTbsnO077q2iCmHPqAvd4Ytrsa+JR51B1VS
kEXEf1OhaJJn4T8ygRv4Xq7uZywhAalrwqMQL/P36LB71G7yzi3fwaWWrg12
aaQRxh5YE+iENbyPSEKFTpd+XBuIu3fHper9PoPgCll7R7P9JwZCz/r7Hf41
gjfB1bhh1bV9Ca/3vVmj084dL4D24P7PsMg6uEEWkdBIcTbsSEvbY3R+vve5
5L5IvL3L8D3XfFeMf40cUy0dC7vci+x7RQZvRpaeHqmLpae+57bv/WMfPt77
r33Xhr2GyF/1E0BgoxnHzISWeAm870AlzqKAf6ancmNTR+JIjciNQCxrnTvi
6t69xqLc4tfMihKUqG2Hm4xZToGI3MytC9fJLJer2W7mDmEcTsn6I6W5neh7
+Tc4gBIBT8WHQui2LNuczdnU2JwIqs/IJfk4+5W+CVSKcGqHB8VNF6W2/ao9
DHnpn2zBe5mDFemWF+VueeG7gUH9V2gJbQTIlAFSPjuhF6hxJv4Q/BIyqKP/
B9+/swllZwAA

-->

</rfc>
