<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Yuan Tang</title>
    <description>Personal blog of Yuan Tang</description>
    <link>https://terrytangyuan.github.io/</link>
    <atom:link href="https://terrytangyuan.github.io/feed.xml" rel="self" type="application/rss+xml" />
    <pubDate>Sat, 16 May 2026 02:50:56 +0000</pubDate>
    <lastBuildDate>Sat, 16 May 2026 02:50:56 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      <item>
        <title>Production-Grade LLM Inference at Scale with KServe, llm-d, and vLLM</title>
        <description>&lt;p&gt;&lt;strong&gt;Authors&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Yuan Tang: Project Lead, KServe; Senior Principal Software Engineer, Red Hat&lt;/li&gt;
  &lt;li&gt;Scott Cabrinha: Staff Site Reliability Engineer, Tesla&lt;/li&gt;
  &lt;li&gt;Robert Shaw: Director of Engineering, Red Hat&lt;/li&gt;
  &lt;li&gt;Sai Krishna: Staff Software Engineer, Tesla&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Originally posted on &lt;a href=&quot;https://llm-d.ai/blog/production-grade-llm-inference-at-scale-kserve-llm-d-vllm&quot;&gt;llm-d Blog&lt;/a&gt; and on &lt;a href=&quot;https://kserve.github.io/website/blog/production-grade-llm-inference-kserve-llm-d-vllm&quot;&gt;KServe Blog&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;h2 id=&quot;the-problem-with-simple-llm-deployments&quot;&gt;The Problem with “Simple” LLM Deployments&lt;/h2&gt;

&lt;p&gt;Deploying large language models is becoming common, but the real difficulty lies in managing hundreds of LLMs efficiently at scale. Our initial approach—a straightforward vLLM deployment wrapped in Kubernetes StatefulSet—created three major operational challenges:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Storage Performance Issues:&lt;/strong&gt; Large models like Llama 3 exceed hundreds of gigabytes. Network storage solutions proved impractical due to sluggish performance with massive safetensors files.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Infrastructure Constraints:&lt;/strong&gt; Local LVM persistent volumes resolved speed issues but introduced rigid node-to-pod affinity requirements. Hardware failures necessitated manual intervention to delete Persistent Volume Claims and reschedule pods—an unacceptable operational burden.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Inefficient Load Balancing:&lt;/strong&gt; Simple round-robin strategies fail to leverage the KV-cache on GPUs, a critical vLLM feature that maximizes throughput. Given GPU cost sensitivity, optimizing efficiency is non-negotiable.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;what-we-needed-from-an-operator&quot;&gt;What We Needed from an Operator&lt;/h2&gt;

&lt;p&gt;The team identified specific requirements for a Kubernetes Operator designed for AI/ML workloads:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Full specification-level customization beyond typical Custom Resource capabilities&lt;/li&gt;
  &lt;li&gt;Flexible deployment patterns rather than rigid prefill/decode architectures&lt;/li&gt;
  &lt;li&gt;Integration with standard Kubernetes APIs rather than novel abstraction layers&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;the-winning-combination-kserve--llm-d--vllm&quot;&gt;The Winning Combination: KServe + llm-d + vLLM&lt;/h2&gt;

&lt;p&gt;The solution combined three technologies: &lt;strong&gt;llm-d&lt;/strong&gt; (powered by KServe and its Inference Gateway Extension), &lt;strong&gt;Envoy&lt;/strong&gt;, and &lt;strong&gt;Envoy AI Gateway&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/img/inblog/kserve-architecture.webp&quot; alt=&quot;KServe Architecture&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key advantages delivered:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Deep Customization:&lt;/strong&gt; LLMInferenceService and LLMInferenceConfig objects expose standard Kubernetes APIs, enabling precise specification overrides for specialized hardware and rapid flag implementation.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Intelligent Routing:&lt;/strong&gt; Integration of Envoy, Envoy AI Gateway, and Gateway API Inference Extension enables “prefix-cache aware routing.” This directs requests to appropriate vLLM instances, maximizing KV-cache utilization and GPU efficiency.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Performance Results:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Testing with Llama 3.1 70B on 4 MI300X AMD GPUs (tensor-parallel-size=4, gpu-memory-utilization=0.90, max-model-len=65536) showed:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;3x improvement in output tokens/second&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;2x reduction in time to first token (TTFT)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These improvements occurred after enabling prefix-cache aware routing.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/img/inblog/performance-improvements.png&quot; alt=&quot;Performance Improvements&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;community-contributions-and-collaboration&quot;&gt;Community Contributions and Collaboration&lt;/h2&gt;

&lt;p&gt;Production deployment surfaced issues fixed upstream in KServe, benefiting the broader community:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;New feature requests:&lt;/strong&gt; Issues &lt;a href=&quot;https://github.com/kserve/kserve/issues/4901&quot;&gt;#4901&lt;/a&gt;, &lt;a href=&quot;https://github.com/kserve/kserve/issues/4900&quot;&gt;#4900&lt;/a&gt;, &lt;a href=&quot;https://github.com/kserve/kserve/issues/4898&quot;&gt;#4898&lt;/a&gt;, &lt;a href=&quot;https://github.com/kserve/kserve/issues/4899&quot;&gt;#4899&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Made storageInitializer optional&lt;/strong&gt; (&lt;a href=&quot;https://github.com/kserve/kserve/pull/4970&quot;&gt;kserve#4970&lt;/a&gt;) — allowing RunAI Model Streamer as an alternative to default storage initialization&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Added support for latest Gateway API Inference Extension&lt;/strong&gt; (&lt;a href=&quot;https://github.com/kserve/kserve/pull/4886&quot;&gt;kserve#4886&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These contributions emerged directly from encountering production edge cases, with validation of KServe and llm-d at scale helping strengthen the platform for all Kubernetes LLM workloads.&lt;/p&gt;

&lt;h2 id=&quot;acknowledgement&quot;&gt;Acknowledgement&lt;/h2&gt;

&lt;p&gt;We’d like to thank the following community contributors from Red Hat and Tesla:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Red Hat:&lt;/strong&gt; Sergey Bekkerman, Nati Fridman, Killian Golds, Andres Llausas, Bartosz Majsak, Greg Pereira, Pierangelo Di Pilato, Ran Pollak, Vivek Karunai Kiri Ragavan, Robert Shaw, Yuan Tang&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tesla:&lt;/strong&gt; Scott Cabrinha, Sai Krishna&lt;/p&gt;

&lt;h2 id=&quot;get-involved-with-llm-d&quot;&gt;Get Involved with llm-d&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Explore code at the &lt;a href=&quot;https://github.com/llm-d&quot;&gt;GitHub organization&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Join the Slack community for direct maintainer contact&lt;/li&gt;
  &lt;li&gt;Attend open community calls (Wednesdays 12:30pm ET)&lt;/li&gt;
  &lt;li&gt;Follow project updates on Twitter/X, Bluesky, and LinkedIn&lt;/li&gt;
  &lt;li&gt;Watch demos on the &lt;a href=&quot;https://www.youtube.com/@llm-d-project&quot;&gt;llm-d YouTube channel&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Review documentation on the &lt;a href=&quot;https://llm-d.ai/docs/community&quot;&gt;community page&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate>
        <link>https://terrytangyuan.github.io/2026/04/21/production-grade-llm-inference-at-scale-kserve-llm-d-vllm/</link>
        <guid isPermaLink="true">https://terrytangyuan.github.io/2026/04/21/production-grade-llm-inference-at-scale-kserve-llm-d-vllm/</guid>
        
        <category>Open Source</category>
        
        <category>Kubernetes</category>
        
        <category>Artificial Intelligence</category>
        
        <category>Machine Learning</category>
        
        <category>KServe</category>
        
        
      </item>
    
      <item>
        <title>Best of Both Worlds: Cloud-Native AI Inference at Scale using KServe and llm-d</title>
        <description>&lt;p&gt;&lt;strong&gt;Authors&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Yuan Tang: Project Lead, KServe; Senior Principal Software Engineer&lt;/li&gt;
  &lt;li&gt;Ran Pollak: Manager, AI Catalyst at Red Hat&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Originally posted on &lt;a href=&quot;https://kserve.github.io/website/blog/cloud-native-ai-inference-kserve-llm-d&quot;&gt;KServe Blog&lt;/a&gt;. Also available on &lt;a href=&quot;https://developers.redhat.com/articles/2026/04/21/kserve-llm-d-optimized-gen-ai-inference&quot;&gt;Red Hat Developers&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Enterprises today seek to integrate generative AI (GenAI) capabilities into their applications. However, scaling large AI models introduces complexity: managing high-volume traffic from large language models (LLMs), optimizing inference performance, maintaining predictable latency, and controlling infrastructure costs.&lt;/p&gt;

&lt;p&gt;Platform engineering leaders require more than just model deployment capabilities. They need a robust, Kubernetes-native infrastructure that supports:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Efficient GPU utilization&lt;/li&gt;
  &lt;li&gt;Intelligent request routing&lt;/li&gt;
  &lt;li&gt;Distributed inference patterns&lt;/li&gt;
  &lt;li&gt;Cost-aware autoscaling&lt;/li&gt;
  &lt;li&gt;Production-grade governance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This article demonstrates how two open-source solutions, KServe and llm-d, can be combined to address these challenges.&lt;/p&gt;

&lt;p&gt;We explore the role of each solution, illustrate their integration architecture, and provide practical guidance for AI platform teams, with deeper focus on KServe’s LLMInferenceService, available since KServe v0.16.&lt;/p&gt;

&lt;h2 id=&quot;kserve-simplified-deployment-of-ai-models-on-kubernetes&quot;&gt;KServe: Simplified Deployment of AI Models on Kubernetes&lt;/h2&gt;

&lt;p&gt;KServe is a Kubernetes-based model serving platform that simplifies deploying and managing ML models, including LLMs, at scale.&lt;/p&gt;

&lt;p&gt;For platform engineers, KServe acts as the model serving control plane: the layer responsible for lifecycle, scaling, and operational governance.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://kserve.github.io/website/assets/images/kserve_generative_inference-21648e7df404ea6f57b9d3c83e8e0ca4.png&quot; alt=&quot;KServe Generative Inference Architecture&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;inference-as-a-service&quot;&gt;Inference as a Service&lt;/h3&gt;

&lt;p&gt;InferenceService serves as KServe’s core abstraction for model deployment, encapsulating the full serving lifecycle, including:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Automatic deployment creation and reconciliation&lt;/li&gt;
  &lt;li&gt;Request-based autoscaling with scale-to-zero and autoscaling based on custom metrics&lt;/li&gt;
  &lt;li&gt;Revision management and canary rollouts&lt;/li&gt;
  &lt;li&gt;Endpoint exposure and traffic routing&lt;/li&gt;
  &lt;li&gt;Runtime abstraction across serving backends for both predictive and generative AI&lt;/li&gt;
  &lt;li&gt;Optional pre-processing/post-processing, inference pipelines, and ensembles&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ML engineers provide trained models. Platform engineers retain operational control without writing custom deployment code.&lt;/p&gt;

&lt;h3 id=&quot;llminferenceservice-in-kserve&quot;&gt;LLMInferenceService in KServe&lt;/h3&gt;

&lt;p&gt;KServe v0.16 introduces stronger generative AI capabilities, including LLMInferenceService, designed specifically for large language model workloads.&lt;/p&gt;

&lt;p&gt;Unlike traditional stateless predictors, LLM workloads require:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Long-running streaming responses&lt;/li&gt;
  &lt;li&gt;GPU-heavy memory footprints&lt;/li&gt;
  &lt;li&gt;Prefix KV-cache management&lt;/li&gt;
  &lt;li&gt;High-concurrency token streaming&lt;/li&gt;
  &lt;li&gt;OpenAI-compatible APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;LLMInferenceService shares common foundations with InferenceService but introduces additional capabilities tailored for large language models, including:&lt;/p&gt;

&lt;h3 id=&quot;unlocking-generative-ai-serving-with-llminferenceservice-from-pod-level-speed-to-cluster-wide-intelligence&quot;&gt;Unlocking Generative AI Serving with LLMInferenceService: From Pod-Level Speed to Cluster-Wide Intelligence&lt;/h3&gt;

&lt;p&gt;Imagine you want to bring the power of generative AI directly into your applications, but without rewriting your entire stack. It offers OpenAI-compatible endpoints like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/v1/chat/completions&lt;/code&gt;, complete with streaming token responses and multi-turn support. With prompt templating built in, developers can integrate seamlessly with existing tools—whether it’s the OpenAI SDKs, LangChain, LlamaIndex, Llama Stack, RAG frameworks, or even enterprise GenAI gateways.&lt;/p&gt;

&lt;p&gt;Under the hood, KServe connects to LLM-optimized runtimes such as vLLM, Hugging Face TGI, or other GPU-native backends. These engines bring advanced capabilities like continuous batching, memory-efficient paged attention, and KV-cache reuse, delivering high throughput per GPU.&lt;/p&gt;

&lt;p&gt;Yet, while these runtime-level optimizations make each pod lightning fast, true cluster-wide efficiency needs more. That’s exactly the role of llm-d: adding an extra layer of intelligence that orchestrates resources and maximizes performance across the entire deployment.&lt;/p&gt;

&lt;h3 id=&quot;distributed--multi-node-model-support&quot;&gt;Distributed &amp;amp; Multi-Node Model Support&lt;/h3&gt;

&lt;p&gt;LLMInferenceService supports advanced parallelism strategies implemented by runtimes, including tensor parallelism, pipeline parallelism, and multi-GPU sharding.&lt;/p&gt;

&lt;p&gt;This enables hosting 70B+ parameter models, partitioning models across nodes, and serving models larger than single-GPU memory.&lt;/p&gt;

&lt;p&gt;KServe orchestrates the deployment topology, while the runtime manages execution parallelism.&lt;/p&gt;

&lt;h3 id=&quot;advanced-autoscaling--networking-including-scale-to-zero&quot;&gt;Advanced Autoscaling &amp;amp; Networking (Including Scale-to-Zero)&lt;/h3&gt;

&lt;p&gt;KServe integrates deeply with Kubernetes to support request- and concurrency-based autoscaling via Knative, GPU-backed scaling, and scale-to-zero for cost control.&lt;/p&gt;

&lt;p&gt;It also integrates with the Kubernetes Gateway API for TLS termination, traffic splitting, and advanced routing.&lt;/p&gt;

&lt;p&gt;This makes it suitable for development environments, internal copilots, and large-scale production workloads.&lt;/p&gt;

&lt;h3 id=&quot;kubernetes-gateway-api-integration&quot;&gt;Kubernetes Gateway API Integration&lt;/h3&gt;

&lt;p&gt;KServe integrates with Kubernetes Gateway API for:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Enterprise-grade routing&lt;/li&gt;
  &lt;li&gt;TLS termination&lt;/li&gt;
  &lt;li&gt;Traffic splitting&lt;/li&gt;
  &lt;li&gt;Multi-model routing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This enables integration with modern Kubernetes networking stacks.&lt;/p&gt;

&lt;h3 id=&quot;where-kserve-alone-is-not-enough&quot;&gt;Where KServe Alone Is Not Enough&lt;/h3&gt;

&lt;p&gt;Even with LLMInferenceService and optimized runtimes, KServe does not inherently:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Route requests based on KV-cache locality across replicas&lt;/li&gt;
  &lt;li&gt;Separate prefill and decode cluster-wide&lt;/li&gt;
  &lt;li&gt;Perform SLA-aware routing decisions&lt;/li&gt;
  &lt;li&gt;Optimize GPU utilization across multiple pods&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To address these, we introduce llm-d.&lt;/p&gt;

&lt;h2 id=&quot;llm-d-distributed-intelligence-for-llm-inference&quot;&gt;llm-d: Distributed Intelligence for LLM Inference&lt;/h2&gt;

&lt;p&gt;llm-d is a Kubernetes-native distributed inference framework designed to enhance performance and efficiency of LLM workloads.&lt;/p&gt;

&lt;p&gt;If KServe is the control plane for models, llm-d is the distributed intelligence scheduling layer.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/llm-d/llm-d/raw/main/docs/assets/images/llm-d-arch.svg&quot; alt=&quot;llm-d Architecture&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;kv-cache-aware-scheduling-and-disaggregated-inference-with-llm-d&quot;&gt;KV-Cache Aware Scheduling and Disaggregated Inference with llm-d&lt;/h3&gt;

&lt;p&gt;As LLM deployments mature, scaling is no longer just about adding GPUs. It’s about using them intelligently. Modern runtimes such as vLLM introduced prefix (KV) caching to reduce redundant computation, but without smart scheduling, much of that benefit is lost.&lt;/p&gt;

&lt;p&gt;This is where llm-d changes the game.&lt;/p&gt;

&lt;h3 id=&quot;disaggregated-inference-prefill--decode-separation&quot;&gt;Disaggregated Inference (Prefill / Decode Separation)&lt;/h3&gt;

&lt;p&gt;LLM inference consists of two distinct phases: prefill and decode. The prefill phase is compute-heavy, processing the full prompt and building the model’s attention context. The decode phase is latency-sensitive, generating tokens step by step where responsiveness directly impacts user experience.&lt;/p&gt;

&lt;p&gt;llm-d separates these phases across different GPU groups, assigning compute-optimized resources to prefill and latency-optimized resources to decode. With intelligent scheduling between them, workloads are aligned to the right hardware profile.&lt;/p&gt;

&lt;p&gt;This phase-aware architecture increases GPU utilization, reduces tail latency, and lowers cost per token by eliminating resource contention between fundamentally different workloads.&lt;/p&gt;

&lt;h3 id=&quot;intelligent-inference-scheduler&quot;&gt;Intelligent Inference Scheduler&lt;/h3&gt;

&lt;p&gt;llm-d’s inference scheduler evaluates the following metrics:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;GPU utilization&lt;/li&gt;
  &lt;li&gt;Queue depth&lt;/li&gt;
  &lt;li&gt;Cache residency&lt;/li&gt;
  &lt;li&gt;SLA constraints&lt;/li&gt;
  &lt;li&gt;Load distribution&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It enhances load balancing with an intelligent scheduler to decrease serving latency and increase throughput with prefix-cache aware routing, utilization-based load balancing, fairness and prioritization for multi-tenant serving, and predicted latency balancing.&lt;/p&gt;

&lt;h2 id=&quot;kserve-llminferenceservice-and-llm-d&quot;&gt;KServe LLMInferenceService and llm-d&lt;/h2&gt;

&lt;h3 id=&quot;responsibility-separation&quot;&gt;Responsibility Separation&lt;/h3&gt;

&lt;p&gt;This layered design ensures composability and specialization, providing a complete, production-ready solution for generative AI. KServe acts as the control plane and LLMInferenceService delivers the generative API abstraction, while llm-d provides the cluster-wide optimization.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Layer&lt;/th&gt;
      &lt;th&gt;Responsibility&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;KServe&lt;/td&gt;
      &lt;td&gt;Model lifecycle, scaling, governance&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;LLMInferenceService&lt;/td&gt;
      &lt;td&gt;Generative API abstraction&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;vLLM&lt;/td&gt;
      &lt;td&gt;Efficient execution inside runtime&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;llm-d&lt;/td&gt;
      &lt;td&gt;Cross-runtime routing &amp;amp; cache awareness&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Kubernetes&lt;/td&gt;
      &lt;td&gt;Resource orchestration&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Together, KServe and llm-d enable a production-ready, Kubernetes-native inference platform that balances scalability, performance, and cost efficiency, providing the best of both worlds for cloud-native AI inference at scale.&lt;/p&gt;

&lt;h2 id=&quot;cost-efficiency-comparison-naive-vs-optimized&quot;&gt;Cost Efficiency Comparison: Naive vs Optimized&lt;/h2&gt;

&lt;p&gt;Serving LLMs at scale is no longer just a model problem. It is a distributed systems problem where naive load balancing leads to significant inefficiencies and wasted resources — lost cache locality, GPU imbalance, redundant prefill processing, high tail latency, and overprovisioned GPUs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Naive Problems:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Cache locality loss&lt;/li&gt;
  &lt;li&gt;GPU imbalance&lt;/li&gt;
  &lt;li&gt;Redundant prefill processing&lt;/li&gt;
  &lt;li&gt;High tail latency&lt;/li&gt;
  &lt;li&gt;Overprovisioned GPUs&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;optimized-architecture-with-kserve--llm-d&quot;&gt;Optimized Architecture with KServe + llm-d&lt;/h3&gt;

&lt;p&gt;The combined KServe and llm-d solution introduces distributed intelligence to solve the problems of naive architectures, delivering superior performance, scalability, and cost control. This optimized architecture is pluggable and extensible to work well with many AI and cloud-native technologies.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://kserve.github.io/website/img/kserve-layer.png&quot; alt=&quot;KServe Layered Architecture&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Cache reuse preserved&lt;/li&gt;
  &lt;li&gt;Balanced GPU utilization&lt;/li&gt;
  &lt;li&gt;Reduced recomputation&lt;/li&gt;
  &lt;li&gt;Lower cost per token&lt;/li&gt;
  &lt;li&gt;Controlled autoscaling via LLMInferenceService&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;benchmark-results-why-cluster-level-intelligence-matters&quot;&gt;Benchmark Results: Why Cluster-Level Intelligence Matters&lt;/h2&gt;

&lt;p&gt;By integrating llm-d’s cache-aware routing, prefill and decode disaggregation, and SLA-based scheduling with KServe’s enterprise-grade generative serving and autoscaling, the system achieves cluster-wide GPU optimization.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: The following results are based on benchmarks published by the llm-d project&lt;/em&gt;&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Optimization Area&lt;/th&gt;
      &lt;th&gt;Naive Architecture (Round Robin LB)&lt;/th&gt;
      &lt;th&gt;Optimized (KServe + llm-d)&lt;/th&gt;
      &lt;th&gt;Source&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Cache Locality&lt;/td&gt;
      &lt;td&gt;Requests routed randomly → KV cache frequently missed&lt;/td&gt;
      &lt;td&gt;Cache-aware routing preserves prefix locality&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://llm-d.ai/blog/kvcache-wins-you-can-see&quot;&gt;llm-d blog&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Time to First Token (P90)&lt;/td&gt;
      &lt;td&gt;Baseline latency under cache-blind scheduling&lt;/td&gt;
      &lt;td&gt;Up to ~57× faster P90 TTFT in benchmark&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://llm-d.ai/blog/kvcache-wins-you-can-see&quot;&gt;llm-d blog&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Token Throughput&lt;/td&gt;
      &lt;td&gt;~4,400 tokens/sec (baseline test cluster)&lt;/td&gt;
      &lt;td&gt;~8,730 tokens/sec (~2× improvement)&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://llm-d.ai/blog/kvcache-wins-you-can-see&quot;&gt;llm-d blog&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Throughput at Scale&lt;/td&gt;
      &lt;td&gt;Degrades under multi-tenant load&lt;/td&gt;
      &lt;td&gt;Sustained 4.5k–11k tokens/sec&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://llm-d.ai/blog/llm-d-v0.5-sustaining-performance-at-scale&quot;&gt;llm-d blog&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Tail Latency (P95/P99)&lt;/td&gt;
      &lt;td&gt;Higher tail latency due to stragglers &amp;amp; imbalance&lt;/td&gt;
      &lt;td&gt;~50% tail latency reduction (reported tests)&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://developers.redhat.com/articles/2025/05/20/llm-d-kubernetes-native-distributed-inferencing&quot;&gt;Red Hat Developers&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;GPU Utilization&lt;/td&gt;
      &lt;td&gt;Uneven utilization, idle GPUs possible&lt;/td&gt;
      &lt;td&gt;Improved effective utilization via routing intelligence&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://llm-d.ai/docs/guide/Installation/inference-scheduling&quot;&gt;llm-d docs&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Autoscaling Control&lt;/td&gt;
      &lt;td&gt;Scale reacts to load only&lt;/td&gt;
      &lt;td&gt;Works with KServe autoscaling + routing intelligence&lt;/td&gt;
      &lt;td&gt;&lt;a href=&quot;https://kserve.github.io/website/docs/model-serving/predictive-inference/autoscaling/kpa-autoscaler&quot;&gt;KServe docs&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Modern GenAI platforms require cache locality awareness, phase-aware scheduling, distributed intelligence, and composable Kubernetes-native design. This combination ensures a production-ready system that meets the demands of large-scale production workloads.&lt;/p&gt;

&lt;h2 id=&quot;next-steps&quot;&gt;Next Steps&lt;/h2&gt;

&lt;p&gt;Explore detailed project documentation:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://kserve.github.io/website/&quot;&gt;KServe&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://llm-d.ai/&quot;&gt;llm-d&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Engage with community resources and Slack channels to stay updated and contribute to ongoing developments:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://kserve.github.io/website/community/get_involved/&quot;&gt;KServe community&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://llm-d.ai/community/&quot;&gt;llm-d community&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate>
        <link>https://terrytangyuan.github.io/2026/03/05/cloud-native-ai-inference-kserve-llm-d/</link>
        <guid isPermaLink="true">https://terrytangyuan.github.io/2026/03/05/cloud-native-ai-inference-kserve-llm-d/</guid>
        
        <category>Open Source</category>
        
        <category>Kubernetes</category>
        
        <category>Artificial Intelligence</category>
        
        <category>Machine Learning</category>
        
        <category>KServe</category>
        
        
      </item>
    
      <item>
        <title>Kubernetes Serving Working Group Has Succeeded and Will Be Disbanded</title>
        <description>&lt;p&gt;&lt;em&gt;Originally posted on &lt;a href=&quot;https://groups.google.com/a/kubernetes.io/g/dev/c/nDjMph1146A/m/z-T7POJQBQAJ&quot;&gt;Kubernetes dev mailing list&lt;/a&gt; and on &lt;a href=&quot;https://www.cncf.io/blog/2026/02/26/kubernetes-wg-serving-concludes-following-successful-advancement-of-ai-inference-support/&quot;&gt;CNCF Blog&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;We’d like to announce that Kubernetes WG Serving has succeeded and will be disbanded! Thank you everyone who have participated and contributed to the discussions and initiatives!&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/kubernetes/community/tree/1cd8d239089e777d0e2f70d665e7db153f040a80/wg-serving&quot;&gt;Kubernetes Working Group Serving&lt;/a&gt; was created to support development of AI Inference stack on Kubernetes. The goal of this working group is to ensure that the Kubernetes is an orchestration platform of choice for Inference workload. This goal was accomplished and we are disbanding the working group.&lt;/p&gt;

&lt;p&gt;The WG Serving formed workstreams to collect requirements from various model servers, hardware providers, and inference vendors. This work resulted in a common understanding of inference workload specifics and trends and laid the foundation for improvements across many SIGs in Kubernetes.&lt;/p&gt;

&lt;p&gt;The working group oversaw several key evolutions to the role of load balancing and workloads - the inference gateway was adopted as a request scheduler, multiple groups have worked to standardize AI gateway functionality, and early inference gateway participants went on to seed agent networking in SIG Network. The use cases and problem statements informed the design of &lt;a href=&quot;https://github.com/vllm-project/aibrix&quot;&gt;AIBrix&lt;/a&gt;. And many of the unresolved problems in distributed inference - especially benchmarking and recommended best practices - have been picked up by the &lt;a href=&quot;https://github.com/llm-d/llm-d&quot;&gt;llm-d&lt;/a&gt; project which hybridizes the infrastructure and ML ecosystems and is better able to steer model server co-evolution.&lt;/p&gt;

&lt;p&gt;In particular, we believe llm-d and AIBrix represent more appropriate forums for driving requirements to Kubernetes SIGs than this working group. llm-d’s goal is to provide well-lit paths for achieving state-of-the-art inference and aims to provide recommendations that can compose into existing inference user platforms.  AIBrix provides a complete platform solution for cost efficient LLM inference.&lt;/p&gt;

&lt;p&gt;WG Serving helped with &lt;a href=&quot;https://github.com/cncf/k8s-ai-conformance&quot;&gt;Kubernetes AI Conformance&lt;/a&gt; requirements and llm-d leveraging multiple components from the profile and making recommendations to end users consistent with Kubernetes direction (Kueue, inference gateway, LWS, DRA, etc.). Widely adopted patterns and solutions are expected to go into the conformance program.&lt;/p&gt;

&lt;p&gt;All the efforts currently running inside the WG Serving can be migrated to other WGs or to SIGs directly, requirements for them will be discussed in SIGs and llm-d community. Specifically:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Autoscaling&lt;/strong&gt; questions - mostly related to fast bootstrap - will be either SIG Node or SIG Scheduling.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Multi-host, multi-node&lt;/strong&gt; work can continue as part of the SIG Apps (e.g. for LWS project) and DRA requirements discussed in WG Device Management.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Orchestration&lt;/strong&gt; will be covered by SIG Scheduling and SIG Node&lt;/li&gt;
  &lt;li&gt;Requirements for &lt;strong&gt;DRA&lt;/strong&gt; will be discussed in WG Device Management.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/kubernetes-sigs/gateway-api-inference-extension&quot;&gt;Gateway API Inference Extension&lt;/a&gt; project is already sponsored by SIG Network and it will stay this way.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/kubernetes-sigs/wg-serving/tree/main/serving-catalog&quot;&gt;Serving Catalog&lt;/a&gt; work can be moved to the &lt;a href=&quot;https://github.com/kubernetes-sigs/inference-perf&quot;&gt;Inference Perf&lt;/a&gt; project. Originally it was designed for a larger scope, but was used mostly for Inference perf since.&lt;/p&gt;

&lt;p&gt;The Inference Perf project is sponsored by SIG Scalability and no change of ownership is needed.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br /&gt;
Yuan Tang On behalf of Kubernetes WG Serving Co-Chairs&lt;/p&gt;
</description>
        <pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate>
        <link>https://terrytangyuan.github.io/2026/02/13/k8s-wg-serving-has-succeeded-and-will-be-disbanded/</link>
        <guid isPermaLink="true">https://terrytangyuan.github.io/2026/02/13/k8s-wg-serving-has-succeeded-and-will-be-disbanded/</guid>
        
        <category>Open Source</category>
        
        <category>Kubernetes</category>
        
        <category>Artificial Intelligence</category>
        
        <category>Machine Learning</category>
        
        
      </item>
    
      <item>
        <title>Feeling Thankful Today and Reflecting on Two Incredible Years at Red Hat</title>
        <description>&lt;p&gt;&lt;em&gt;Originally posted on &lt;a href=&quot;https://terrytangyuan.substack.com/p/feeling-thankful-today-and-reflecting&quot;&gt;my Substack&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;While my official two-year anniversary is just a few days away, Thanksgiving feels like the perfect time to express my gratitude for this journey.&lt;/p&gt;

&lt;p&gt;I still remember coming across a job posting shared by &lt;a href=&quot;https://www.linkedin.com/in/jeremyeder/&quot;&gt;Jeremy Eder&lt;/a&gt; in the &lt;a href=&quot;https://www.linkedin.com/company/kubeflow/&quot;&gt;Kubeflow&lt;/a&gt; Slack channel. It described everything I hoped to do next. That led to interview panels with amazing colleagues (&lt;a href=&quot;https://www.linkedin.com/in/daniele-zonca-9867807/&quot;&gt;Daniele Zonca&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/edsontirelli/&quot;&gt;Edson Tirelli&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/jessica-forrester-a5bb747/&quot;&gt;Jessica Forrester&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/astefanutti/&quot;&gt;Antonin Stefanutti&lt;/a&gt;) and my manager &lt;a href=&quot;https://www.linkedin.com/in/taneemibrahim/&quot;&gt;Taneem Ibrahim&lt;/a&gt; for the first year.&lt;/p&gt;

&lt;p&gt;I’m deeply grateful to the Red Hat leadership, &lt;a href=&quot;https://www.linkedin.com/in/john-j-graham/&quot;&gt;John Graham&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/sherardgriffin/&quot;&gt;Sherard Griffin&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/stevenhuels/&quot;&gt;Steven Huels&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/taneemibrahim/&quot;&gt;Taneem Ibrahim&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/jen-albertson/&quot;&gt;Jennifer Albertson&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/chris-wright-b733851/&quot;&gt;Chris Wright&lt;/a&gt;, and Matt Hicks, for their incredible support and trust, and for giving me the opportunity to take on technical leadership role working so closely with the open source community.&lt;/p&gt;

&lt;p&gt;A heartfelt thank you to my mentors: &lt;a href=&quot;https://www.linkedin.com/in/daniele-zonca-9867807/&quot;&gt;Daniele Zonca&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/jessica-forrester-a5bb747/&quot;&gt;Jessica Forrester&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/jason-greene-7a72982/&quot;&gt;Jason Greene&lt;/a&gt;, and &lt;a href=&quot;https://www.linkedin.com/in/adam-miller-redhat/&quot;&gt;Adam Miller&lt;/a&gt;. My journey wouldn’t have been this fruitful without your support, guidance, and encouragement along the way.&lt;/p&gt;

&lt;p&gt;Earlier this year, I was promoted to Senior Principal Engineer - a milestone made possible by the incredible mentors and colleagues who supported me along the way. I’m especially grateful to those who took the time to write thoughtful reference letters. &lt;a href=&quot;https://www.linkedin.com/in/jeremyeder/&quot;&gt;Jeremy Eder&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/carlos-costa-9b9b1a1/&quot;&gt;Carlos Costa&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/mrunal/&quot;&gt;Mrunal Patel&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/huaminchen/&quot;&gt;Huamin Chen&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/andrewsblock/&quot;&gt;Andrew Block&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/caldeirav/&quot;&gt;Vincent Caldeira&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/adamtetelman/&quot;&gt;Adam Tetelman&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/joshbottum/&quot;&gt;Josh Bottum&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/andrey-velichkevich/&quot;&gt;Andrey Velichkevich&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/eduardo-arango/&quot;&gt;Carlos Eduardo Arango Gutierrez&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/jawks/&quot;&gt;James Wu&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/johnu-george-83036610/&quot;&gt;Johnu George&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;None of this would have been possible without my wife and our three wonderful kids. Thank you for being my foundation and inspiration.&lt;/p&gt;

&lt;p&gt;To all the collaborators and partners in the open source community: thank you. Every conversation and collaboration has meant a lot.&lt;/p&gt;

&lt;p&gt;The past two years have been the most fulfilling and accomplished in my career. Some highlights:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Delivered sessions and keynotes in front of up to 9,000 audience; participated and organized panels; and served as co-chairs at major industry conferences.&lt;/li&gt;
  &lt;li&gt;Co-founded and co-chaired &lt;a href=&quot;https://www.linkedin.com/company/kubernetes/&quot;&gt;Kubernetes&lt;/a&gt; WG Serving, WG AI Conformance, and &lt;a href=&quot;https://www.linkedin.com/company/cloud-native-computing-foundation/&quot;&gt;Cloud Native Computing Foundation (CNCF)&lt;/a&gt; TAG Workloads Foundation.&lt;/li&gt;
  &lt;li&gt;Represented Red Hat in &lt;a href=&quot;https://www.linkedin.com/company/kubeflow/&quot;&gt;Kubeflow&lt;/a&gt; Steering Committee and the &lt;a href=&quot;https://www.linkedin.com/company/lfai/&quot;&gt;LF AI &amp;amp; Data Foundation&lt;/a&gt; Technical Advisory Council.&lt;/li&gt;
  &lt;li&gt;Became a maintainer and project lead of &lt;a href=&quot;https://www.linkedin.com/company/kserve-project/&quot;&gt;KServe&lt;/a&gt; and led successful transition to CNCF.&lt;/li&gt;
  &lt;li&gt;Contributed to Llama Stack in collaboration with Meta, which led to organization-wide adoption.&lt;/li&gt;
  &lt;li&gt;Served as a Staff Engineer in the technical leadership team, helping shape our technical strategy and product alignment.&lt;/li&gt;
  &lt;li&gt;Published the State of Model Serving Communities newsletter, which fostered collaborations across internal teams. Now with over 1k subscribers externally.&lt;/li&gt;
  &lt;li&gt;Filed 5 patent applications and published 10 blog posts.&lt;/li&gt;
  &lt;li&gt;Received organization-wide awards such as the &lt;a href=&quot;https://www.linkedin.com/company/ibm/&quot;&gt;IBM&lt;/a&gt; Tech Leadership and &lt;a href=&quot;https://www.linkedin.com/company/red-hat/&quot;&gt;Red Hat&lt;/a&gt; AI Engineering Jedi Award.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Time flies! Looking forward to many more years to come!&lt;/p&gt;
</description>
        <pubDate>Fri, 28 Nov 2025 00:00:00 +0000</pubDate>
        <link>https://terrytangyuan.github.io/2025/11/28/feeling-thankful-today-and-reflecting-two-years-at-red-hat/</link>
        <guid isPermaLink="true">https://terrytangyuan.github.io/2025/11/28/feeling-thankful-today-and-reflecting-two-years-at-red-hat/</guid>
        
        <category>Open Source</category>
        
        <category>Kubernetes</category>
        
        <category>Artificial Intelligence</category>
        
        <category>Machine Learning</category>
        
        
      </item>
    
      <item>
        <title>KubeCon North America 2025: Red Hat AI Model Serving Highlights</title>
        <description>&lt;p&gt;&lt;em&gt;Originally posted on &lt;a href=&quot;https://inferenceops.substack.com/p/kubecon-north-america-2025-red-hat&quot;&gt;InferenceOps Substack newsletter&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time&lt;/strong&gt;: Nov 9th - 13th, 2025&lt;br /&gt;
&lt;strong&gt;Location&lt;/strong&gt;: Atlanta, Georgia, USA&lt;br /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h1 id=&quot;executive-summary&quot;&gt;Executive Summary&lt;/h1&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Red Hat AI&lt;/strong&gt; had a great presence at KubeCon. Highlights of what we’ve accomplished this week:
    &lt;ul&gt;
      &lt;li&gt;Delivered the day 1 sponsored keynote that focuses on security and AI.&lt;/li&gt;
      &lt;li&gt;Got invited to the opening keynotes to talk about K8s AI Conformance Program. Red Hat has been leading this effort and is among first vendors that are certified.&lt;/li&gt;
      &lt;li&gt;Co-chaired the two main AI related co-located events: Cloud Native AI Day and Kubeflow Summit.&lt;/li&gt;
      &lt;li&gt;Showcased our model serving related projects in many demos, breakout sessions, and media interviews.&lt;/li&gt;
      &lt;li&gt;KServe joined CNCF as an incubating project and many people joined our session and at the booth for questions.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;AI on K8s&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;The community started collaborating and actively addressing pain points to improve AI workloads on K8s.&lt;/li&gt;
      &lt;li&gt;Many K8s vendors have adopted the new K8s AI Conformance Program that we’ve been organizing, which was announced at the opening keynote.&lt;/li&gt;
      &lt;li&gt;Many model serving related initiatives and projects exist but more collaborations would be useful to share solutions to common LLM inference challenges.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Hot topics&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Security and observability for AI agents and workloads are increasingly important.&lt;/li&gt;
      &lt;li&gt;Kubernetes AI Conformance Program has been announced and many vendors have already adopted it.&lt;/li&gt;
      &lt;li&gt;Dynamic Resource Allocation (DRA) is now GA and delivers 50-70% GPU efficiency gains.&lt;/li&gt;
      &lt;li&gt;The EU Cyber Resilience Act and AI sovereign drive compliance-first infrastructure decisions.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Event statistics&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;9,000+ attendees&lt;/li&gt;
      &lt;li&gt;19+ co-located events&lt;/li&gt;
      &lt;li&gt;270 vendor booths&lt;/li&gt;
      &lt;li&gt;67 project booths&lt;/li&gt;
      &lt;li&gt;34 Red Hat sessions&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Red Hat Booth&lt;br /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image2.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Red Hat AI team members and Kubeflow + KServe community members&lt;br /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image3.jpeg&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image4.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h1 id=&quot;keynotes&quot;&gt;Keynotes&lt;/h1&gt;

&lt;h2 id=&quot;sponsored-keynote-security--ai&quot;&gt;Sponsored Keynote (Security + AI)&lt;/h2&gt;

&lt;p&gt;Session title: &lt;em&gt;Anchoring Trust in the Age of AI: Identities Across Humans, Machines, and Models&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Yuan Tang from Red Hat AI and Anjali Telang from OpenShift team have delivered a sponsored keynote on main KubeCon on day 1 in front of more than 9,000 attendees.This keynote focuses on trust and identity in the AI era and how KServe (integrates with llm-d, vLLM, etc.) connects seamlessly with security-focused technologies (SPIFFE/SPIRE, Keycloak, OAuth, OIDC, etc.) in the cloud-native ecosystem.&lt;/p&gt;

&lt;p&gt;We also announced that KServe has joined CNCF as part of the keynote. Announcement blogs:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;CNCF: &lt;a href=&quot;https://www.cncf.io/blog/2025/11/11/kserve-becomes-a-cncf-incubating-project/&quot;&gt;https://www.cncf.io/blog/2025/11/11/kserve-becomes-a-cncf-incubating-project/&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Red Hat: &lt;a href=&quot;https://www.redhat.com/en/blog/kserve-joins-cncf-incubating-project&quot;&gt;https://www.redhat.com/en/blog/kserve-joins-cncf-incubating-project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Recording: &lt;a href=&quot;https://www.youtube.com/watch?v=Sw5uT4VkCHA&quot;&gt;https://www.youtube.com/watch?v=Sw5uT4VkCHA&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Huge thanks to Josh Berkus and Laura Santamaria for their incredible speaker training, and to Andrew Block, Christopher Nuland, Jennifer Vargas, Sean Rickerd, and Stuart Miniman for their support.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image5.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image6.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;opening-keynote-kubernetes-ai-conformance&quot;&gt;Opening Keynote (Kubernetes AI Conformance)&lt;/h2&gt;

&lt;p&gt;The CNCF leadership invited the co-chairs of the Kubernetes WG AI Conformance, including Yuan Tang (Red Hat), Rita Zhang (Microsoft), Janet Kuo (Google), and Mario Fahlandt (Kubermatic), to share their experiences and vision of the Kubernetes AI Conformance Program.&lt;/p&gt;

&lt;p&gt;Special thanks to Laura Santamaria, Derek Carr, and Mrunal Patel for offering insights from both community and technical perspectives as well as Jessica Forrester and Jason Greene for their support throughout the journey.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Recording: &lt;a href=&quot;https://www.youtube.com/watch?v=cQvtT2vRhok&amp;amp;t=1462s&quot;&gt;https://www.youtube.com/watch?v=cQvtT2vRhok\&amp;amp;t=1462s&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;CNCF announcement: &lt;a href=&quot;https://www.cncf.io/announcements/2025/11/11/cncf-launches-certified-kubernetes-ai-conformance-program-to-standardize-ai-workloads-on-kubernetes/&quot;&gt;https://www.cncf.io/announcements/2025/11/11/cncf-launches-certified-kubernetes-ai-conformance-program-to-standardize-ai-workloads-on-kubernetes/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Red Hat has been leading this effort and is among first vendors that are certified:&lt;br /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image7.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Yuan on the keynote stage, together with other program co-chairs of K8s WG AI Conformance:&lt;br /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image8.png&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image9.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h1 id=&quot;other-sessions&quot;&gt;Other sessions&lt;/h1&gt;

&lt;h2 id=&quot;llm-d&quot;&gt;llm-d&lt;/h2&gt;

&lt;p&gt;Sponsored demo on llm-d by Christopher Nuland at the demo theater located in solutions showcase area:&lt;br /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image10.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;llm-d: Multi-Accelerator LLM Inference on Kubernetes by Erwan Gallen: &lt;a href=&quot;https://sched.co/27Fee&quot;&gt;https://sched.co/27Fee&lt;/a&gt;&lt;br /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image11.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;intelligent-routing&quot;&gt;Intelligent routing&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://sched.co/27FaI&quot;&gt;Intelligent LLM Routing: A New Paradigm for Multi-Model AI Orchestration in Kubernetes&lt;/a&gt; by Chen Wang (IBM Research) and Huamin Chen (Red Hat)&lt;br /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image12.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://sched.co/28D0y&quot;&gt;You got a match! LLM Prefix Aware Routing with Kubernetes&lt;/a&gt; by Ricardo Noriega (Red Hat) and Cong Liu (Google)&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://kccncna2025.sched.com/event/27FX6/routing-stateful-ai-workloads-in-kubernetes-maroon-ayoub-ibm-michey-mehta-red-hat&quot;&gt;Routing Stateful AI Workloads in Kubernetes&lt;/a&gt; by Maroon Ayoub (IBM) and Michey Mehta (Red Hat) &lt;br /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image13.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;benchmarking&quot;&gt;Benchmarking&lt;/h2&gt;

&lt;p&gt;Samuel Monson (Red Hat) and Jing Chen (IBM Research) delivered a tutorial on distributed LLM inference benchmarking with Junchen Jiang (University of Chicago), Ganesh Kudleppanavar (NVIDIA), and Jason Kramberger (Google).&lt;/p&gt;

&lt;p&gt;Session: &lt;a href=&quot;https://sched.co/27FXL&quot;&gt;https://sched.co/27FXL&lt;/a&gt; &lt;br /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image14.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;kserve&quot;&gt;KServe&lt;/h2&gt;

&lt;p&gt;Yuan Tang (Red Hat) and Dan Sun (Co-founder of KServe, Bloomberg) shared the project’s current state and future direction.&lt;/p&gt;

&lt;p&gt;Session: &lt;a href=&quot;https://sched.co/28D4J&quot;&gt;https://sched.co/28D4J&lt;/a&gt;&lt;br /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image15.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;k8s-wg-serving&quot;&gt;K8s WG Serving&lt;/h2&gt;

&lt;p&gt;Yuan Tang (Red Hat) shared the current state of model inference on Kubernetes with Rita Zhang (Microsoft), Jiaxin Shan (Bytedance), and Sergey Kanzhelev (Google) as well as efforts and initiatives from K8s WG Serving.&lt;/p&gt;

&lt;p&gt;Session: &lt;a href=&quot;https://sched.co/27Nlv&quot;&gt;https://sched.co/27Nlv&lt;/a&gt;&lt;br /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image16.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;media-interview-kserve-and-vllm-semantic-router&quot;&gt;Media interview (KServe and vLLM Semantic Router)&lt;/h2&gt;

&lt;p&gt;Huamin Chen and Yuan Tang joined a media interview to discuss KServe joining CNCF and the new vLLM semantic router project.&lt;br /&gt;
&lt;img src=&quot;../../../../../img/inblog/kubecon-na-2025/image17.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;other-relevant-sessions&quot;&gt;Other relevant sessions&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://sched.co/27Nm7&quot;&gt;Kubeflow Ecosystem: Navigating the Cloud-Native AI/ML and LLMOps Frontier&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://sched.co/27No3&quot;&gt;Gateway API: Table Stakes&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://sched.co/27NnE&quot;&gt;Introducing TAG Workloads Foundation: Advancing the Core of Cloud Native Execution&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://sched.co/27FY7&quot;&gt;RAG and Fine Tuning With Kubeflow&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://kccncna2025.sched.com/event/27Fd3/high-performance-ai-workloads-in-kubevirt-vms-with-nvidia-gpus-challenges-and-real-world-solutions-ezra-silvera-ibm-michael-hrivnak-red-hat&quot;&gt;High-Performance AI Workloads in KubeVirt VMs With NVIDIA GPUs: Challenges and Real-World Solutions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Full list of sessions from Red Hat: &lt;a href=&quot;https://kccncna2025.sched.com/?searchstring=red+hat&quot;&gt;https://kccncna2025.sched.com/?searchstring=red+hat&lt;/a&gt;&lt;/p&gt;

&lt;h1 id=&quot;relevant-events&quot;&gt;Relevant events&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Cloud Native &amp;amp; Kubernetes AI Day&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;300+ attendees&lt;/li&gt;
  &lt;li&gt;Yuan Tang co-chaired the event to ensure the event ran smoothly from start to finish and delivered the closing remarks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Kubernetes SIGs Lunch and Learn&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Representation for AI related WGs: WG Serving and WG AI Conformance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Red Hat Time Machine&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Invited community members and collaborators to join this event and had great discussions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Kubeflow Summit and project booth&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Valentina Rodriguez Sosa Co-chaired Kubeflow Summit and helped coordinate booth schedules for the Kubeflow project and ensured our presence at the booth through the week&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;upcoming-kubecons&quot;&gt;Upcoming KubeCons&lt;/h1&gt;

&lt;p&gt;Dates and locations for upcoming KubeCons in 2026 were announced during the opening keynote:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;KubeCon Europe in Amsterdam, Netherlands (March 23–26)&lt;/li&gt;
  &lt;li&gt;KubeCon India in Mumbai (June 18 - 19)&lt;/li&gt;
  &lt;li&gt;KubeCon Japan in Yokohama (July 29 - 30)&lt;/li&gt;
  &lt;li&gt;KubeCon China in Shanghai (September 8 - 9)&lt;/li&gt;
  &lt;li&gt;KubeCon North America in Salt Lake City, Utah (November 9 - 12)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;See you in 2026!&lt;/strong&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 18 Nov 2025 00:00:00 +0000</pubDate>
        <link>https://terrytangyuan.github.io/2025/11/18/kubecon-na-2025-model-serving-highlights/</link>
        <guid isPermaLink="true">https://terrytangyuan.github.io/2025/11/18/kubecon-na-2025-model-serving-highlights/</guid>
        
        <category>Open Source</category>
        
        <category>Kubernetes</category>
        
        <category>Artificial Intelligence</category>
        
        <category>Machine Learning</category>
        
        <category>KServe</category>
        
        <category>Conferences</category>
        
        
      </item>
    
      <item>
        <title>KServe Joins CNCF as an Incubating Project</title>
        <description>&lt;p&gt;&lt;em&gt;Originally posted on &lt;a href=&quot;https://www.redhat.com/en/blog/kserve-joins-cncf-incubating-project&quot;&gt;Red Hat Blog&lt;/a&gt;. In addition, check out the complementary &lt;a href=&quot;https://www.cncf.io/blog/2025/11/11/kserve-becomes-a-cncf-incubating-project/&quot;&gt;announcement blog from CNCF&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;We are excited to share that &lt;a href=&quot;https://kserve.github.io/website/&quot;&gt;KServe&lt;/a&gt;, the leading standardized AI inference platform on Kubernetes, &lt;a href=&quot;https://www.cncf.io/blog/2025/11/11/kserve-becomes-a-cncf-incubating-project/&quot;&gt;has been accepted as an incubating project&lt;/a&gt; by the Cloud Native Computing Foundation (CNCF).&lt;/p&gt;

&lt;p&gt;This milestone validates KServe’s maturity, stability and role as the foundation for scalable, multi-framework model serving in production environments. By moving into the CNCF’s neutral governance, KServe’s development will be driven purely by community needs, accelerating its standardization for serving AI models on Kubernetes.&lt;/p&gt;

&lt;p&gt;For Red Hat this is a validation of our commitment to delivering open, reliable and standardized AI solutions for the hybrid cloud.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The critical engine behind Red Hat OpenShift AI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At Red Hat, we believe the best AI infrastructure is built on open standards and Kubernetes. KServe is the critical model serving component that powers Red Hat OpenShift AI, helping ensure our customers can transition from model experimentation to production inference seamlessly and at scale.&lt;/p&gt;

&lt;p&gt;OpenShift AI leverages KServe’s features to solve the biggest enterprise AI challenges, helping enterprises realize:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;High-performance LLM optimization -&lt;/strong&gt; KServe is optimized for large language models (LLMs), providing high-performance features like KV cache offloading, distributed inference with vLLM, as well as disaggregated serving, pre-fix caching, intelligent scheduling and variant autoscaling via the integration with llm-d.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Advanced autoscaling -&lt;/strong&gt; In addition to the horizontal pod autoscaling capability from Kubernetes, KServe also supports autoscaling with KEDA (Kubernetes Event-driven Autoscaler), which enables event-driven scaling based on external metrics such as vLLM metrics.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Both predictive and generative AI model inference -&lt;/strong&gt; KServe supports pluggable, reusable, extensible runtimes, ranging from scikit-learn and XGBoost for predictive AI to Hugging Face and vLLM for generative AI model inference. This helps ensure that enterprises can switch to the best runtime for specific use cases.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Unlocking enterprise AI value&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The journey of AI from the lab to the bottom line requires production infrastructure that can handle exponential growth, especially as enterprise usage shifts to widespread generative applications.&lt;/p&gt;

&lt;p&gt;Now bolstered by the full resources and neutral governance of the CNCF, KServe directly addresses these core operational challenges - from tackling complexity with a unified API to controlling cloud costs through its scale-to-zero capabilities.&lt;/p&gt;

&lt;p&gt;This move offers enterprises confidence in the longevity, security and open future of their AI infrastructure investment. KServe is now positioned to be the open-source standard for cloud-native model serving, empowering enterprises to confidently build, deploy and scale the next generation of intelligent applications on a foundation of open standards and community-driven innovation.&lt;/p&gt;

&lt;h2 id=&quot;join-the-movement&quot;&gt;&lt;strong&gt;Join the Movement!&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt;We invite the community to join us in congratulating the KServe maintainers and contributors on this achievement.&lt;/p&gt;

&lt;p&gt;Want to get involved and shape the future of AI inference? Here’s how you can join the journey:&lt;/p&gt;

&lt;p&gt;Check out KServe GitHub repo: &lt;a href=&quot;https://github.com/kserve/kserve&quot;&gt;https://github.com/kserve/kserve&lt;/a&gt;&lt;br /&gt;
Join KServe community: &lt;a href=&quot;https://github.com/kserve/community&quot;&gt;https://github.com/kserve/community&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Additionally, join us at our KubeCon+CloudNativeCon NA sessions to hear more about KServe:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://sched.co/27dCb&quot;&gt;Anchoring Trust in the Age of AI: Identities Across Humans, Machines, and Models&lt;/a&gt; - Tuesday November 11, 2025 10:08 am ET&lt;/p&gt;

</description>
        <pubDate>Tue, 11 Nov 2025 00:00:00 +0000</pubDate>
        <link>https://terrytangyuan.github.io/2025/11/11/kserve-joins-cncf/</link>
        <guid isPermaLink="true">https://terrytangyuan.github.io/2025/11/11/kserve-joins-cncf/</guid>
        
        <category>Open Source</category>
        
        <category>Kubernetes</category>
        
        <category>Artificial Intelligence</category>
        
        <category>Machine Learning</category>
        
        <category>KServe</category>
        
        
      </item>
    
      <item>
        <title>The Best Choice for AI Inference: vLLM</title>
        <description>&lt;p&gt;&lt;em&gt;Originally posted on &lt;a href=&quot;https://medium.com/open-5g-hypercore/episode-xxx-the-best-choice-for-ai-inference-vllm-286b2af2df71&quot;&gt;Medium&lt;/a&gt; and on &lt;a href=&quot;https://developers.redhat.com/articles/2025/10/30/why-vllm-best-choice-ai-inference-today&quot;&gt;Red Hat Blog&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Authors:&lt;/strong&gt; Fatih E. Nar, Greg Pereira, Yuan Tang, Robert Shaw, Anish Asthana&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO8AAADvCAIAAACVEhTuAACAAElEQVR4XlS9aXDdZ5bed0ntEgng7hcAd1JcQKwkJbXGmcQ1kynbySSxJ/FS5aqk4pQ/xOVUXPmQOPngKueDnXIWz+LYmcTuzGJ7PLHb0yKJlSCpmXbs8iSx3d3qlloisZDdEkViIwHc/eLmPL/n/UNyF0p9efFf3vec5zznOed9/3/k6ltrja21/c3V+uZafXO1sbW6v7Gy90wfGlsr9a3VvY21/Y3V+tbKnv67ysErzZ21Rhy8rV81tlfrz+LDSmNT/9Tp/Le+vR4HxJd7m6tx/b1nD/c3ddb+5sP69upe3EjfrOxv6b66O9dv7qzHl/HP/a0V7hXDW49B7m6sNmOo21wqhrEdh2kwe3GjDR1f3+HIZw9i5LvPVnbjLhwZI49b7MU1Y1Rx2Wcr8Vn33WScGlicvuo5ejx7GzpX14zPz2JeK8xrdTduFKONgcW8tvltZjdNigHv6njdbj8uEgeHcbBqXQNY4bDV/S3dV7+Nu2/KLGGrfVk4rrmq6YTZPUjcUZfdwiCrDGxNPsI1GnyYPU6Mi+hDnIWD0vXTLWTPDR3ApOL6mG57PYak0WpsHBnD23pol8lNYe3DW3ORuEIcL4PrtxqnISGrxvXxcsx395kGGe6Ws7Z1bmND02/qyvFhXZjRyB+GLwIDzW3NQkbwsPWzsvflg/hgg2uEW2txuoekketIDQM4aQDxZdwxZ7/KOhp0fNBUY9xxy2a6dGYjhm5AN5j87sbDxs56c0vj0wy3OUDmjnH7gqt7T1f03/hnHCYUCjSyewKxjpc59E9AoCEKKHJ/fCOrrQJoDxpfbgpPxIYQLFtsrDU5XWcxVDn4WVhwHVDKN3WOBGeCgu4LmvfB0K4Muir7EgaYRSgU1jd0uk7cklnqsqbDEvDprIfyMRCsb+hI/pmBBpcIi5gacJgmcDzBAyCyWE2soaj2kXwAoxpkGqHCbBsrKQjDnpoXxMFEEnDhCMBqu2nMjEdG21o39O36QHl82H2WrqD7Gjr4ES5YkTsMZSOJLx0nmZcVz4TTw7rimVlvKZJxk4CrwW89jLkH1jVgYiYNgwlytTWRHV/GHMWtO+sCRuJcRcvexoPwrwxlZG6u5UyiOHhNUWJwQ077TxXQ8XlPuDEIYJHN1bgKPLECQ4MtzUF3DVLc3XiADxKDRrzK7tseN+6xg2H3PcJUV9sK8D3SNTGiQJa8srb79AEYlXXqciEe2pZfmXx4EZ7bsM/WFJPYpZkQYN94OvauHCzcYMq6gjm+BwcgFSiswA2rOFixquCR+YBmcnZYjLkzVL7XTQn+5GMPGKvKGc1s4vuKzPUweEtWMjVq8PLQznrYGRyI82S0beC7Qw40BOWv9WQKhWtCrSASLEMO0U2VHAA6YSnqIUkSGym9gLwHKXIgTvCh1Gro1JWECWZu19h+bKsyx7gjcxeDpASIF7hCZud9ERNcTuTo+kQah8U3Dw08fVZyE+spcnbM4j4YX4dBsmHgRPO6ojRmnWtsP4IY7A/5z0GvOdgHzx6+AEx1fAmg5YYshjRQfdD815T1MLezHuEolgLc4iFgQazL+qS57XCwYsPu5yKwKQLAYsbHQ6vME6MkxAR0fKJ8v9Z6/ihikuzp/CjW9wciWzOSlXVBhYFdKJPpdmQJUYL+C9MDVrGmGMKDZ7KBkmQK3dqMwoBfPH2IcSzJGPMzXRYDpjB2FO0r46c0mm6tswRQc57SlwLjkS6+k7gZS0KlwB2pk4HVqdlwQeZ5bIQQuNeQYOUEO008o1h7RDkTEWUU6khnP+OBwfB9JJanDxxUBo9IQYnLyCEr6pjP0sSNYIDIYACPuEBpLcu9CgAb3yGkcxOBKp4xI57CtvY4xCezxE9ub/OBJmOAb+B4518dqu+FM41YrKMki+0kU0htCgBdnViRisjAp5E91GE6gJSB3BETQISymjhGd4GVgaB4MaVCjwriFE/vPXvAYFaEQuCouzMGzP1QaSGQJPd4quHahzrR14mLyLtIF2cMw0hSzJ9lR0VymsuKEcDsUOfwn1xCvjP9CEw+Ht5VjaErABppWU8ceiNsTEi78pZO1BXkHhQ236SoBgGgB40EU2I9w1djEFmQ05HUcJBswq2lXEVMyY9wnvMPFI4gwaEOm2RtrEF+wI8AwMUMx5CdSHoamMobW0P0v2diBmGyz3aqDYCmMrlvQdLLqJOR1wlXjU3lmQeskFA0Zn7Ewjo9HKqU6MEkmGmcsJt+ck0lNWccx71OhvbSPKUxqMN0D+YJ6T7AahgC0oJUBAWZyd41y5qWdE0zh+sPMib3TdyJipDkgtEzKWlzO9jQLU5eGwg4AYXKAA26T9LRALbBK2khvmwaGYxhf3OdsoxwonBp7jzCgpx4aDtGK/tm04GlZBMiIcU86ihFnQvKmO+uzCUw2an2ceIFa74dviQGUrXguQAdqRRrfW6qYev6qcRUaYUQAq8m+4dCLXOPH01W0e4yNGGduTMwk1mGGBKL3adyQvJGv0LzJJtL70I66fpwDTN1AUNs8F9lsKYsT8ilTKsYFt+ZK4k6XRkJ5AjXNXceuZbQwOyFHQjIQSgpH79S0eWwF0JgXt0UIsvibS2ne5vtnAWEGOJG/40s6c/rqUIH4qIrBZ8mwNCBOOCobz0SrGXHtV2fYqjJ6CJOCACuApdcGd4S2z0CuymOlfFlwa9CKCbpcWO+Q4Ayc2HlIbxFzuLWLzYeNnce63QIxiYWQxjfIgNJMUt2Epl/QInTKy7HAisSx8ENGpUph5xuTjJVOPYcfpmrErehzSSozKNiqZiXBYncZh7as7KSw6APuUDfN7Ye61LK0Q65KC30gUAVDuz1lKZlH10QRxC6iS8YjxRXFooOGNU5mBSfKlqSIygYSGvEHhHIkTqYvCcIipLWlSUc5BL367vPHoA8HemY33V4y1CGON0eHZAqHCJT3zRtcxMfqsbmjX8qIMn/npQoJvHaOnBfy9Wj8AK4zDwTWMYKtt51yaxoeAhJYyz0SvD6oYC2YHKlQrEpr+gi2wITcWkJ4UGvtUAJhk5I4r6MPru7zUFYU5UiDc0WQmSS7wpZxsMpJh5fWX1GA24tOFh6RrIvZXmRjUe+SSeRAp9wj98+Yu7qmpElqcCEVJVKLg1d+Tm511He1FtrHqrUBUxjUApbJmbPS7WvqEjfMOw9Nb9SrYxykFmalMg+3e60lfZ0i7VU4HowbhrCkfIUR/LBSUCO0O1AoYpOi0MQrKCNUan1Bn/hBStUDnC0cCn6SHQIzPcCEIWNNBVOSSEBR+gWEpmMWW0DMoOjQsYXO2QjhP4dY0KRvtc1FbdfEQq0uCla0Zc7EK4ztm8XSqMhrkr3c3CYPoX9pwov64G4YpPgq+/Ix1kW09U1FCVlLip8ZH2fbaX1fdKTwl1hsKZGhMaKFYxXTdunC1h2rQLUgkfHyHBoqVRbNLgFTOxgACi0bHH5mvIyo6XnwF2Ixq/kBAWTLEg/GF6RUPbITfP+rInEaJ+R5kB2SouMjcN0TVM+U9OA1e1O6pwpIHM1Hk/T7QKGvZ+lNYXTRsyOW6d0p+giDHAwkPJErBT5HDd9oMCmFbir4jW1LNJcKFpELqnRyU3pxsh6aDNzYQgk8YINjtGgPXmf/CPScb3LLLRooAEQSLZAPfWUUohCMZCdrmMCNsbcWyS2k3aXu12hGXt2n6iHvg28wJSBaAoA4Q3uiBEKaas5HObczT1Uvz+yYxyCZN4VJ0RV1rKgeV79bX7ssGQsfZZ+Qn5ltXA4o/VcCpUxkWHxrplPqce32yaZms/cMCfWm1icdmwalQGqc0WZMXklDd0ULOq3TF4YksTUVJ0TQKHEEkZ0zyTNSGeZLbJf1T0GzEqBSG+bEnBPqzAPhQOh3LPG62T8ujMmczcr60f+XkU7pXjwYBw5mWIhw2Z44nNaeLKPAJCH5HtlLnAgyfEaYWJoSmQPwGQpJ8rmTkqAVXGlYkD54Sl0gChPGN1UcrfTUaSKPSCru2dIdaioSrPr8R16I7HvmrKc5igsZV9mqUAN3PW9pw9Sx4wpeyLmNTmOzKPDIj2iIwiVR/guLJzWbnK6lklINcSqWgcyhNqWshpwwTTmCY0JT3wlCilIrUqpYLbdxtK4gYhSjO2uAcHoDBepINDTfIAq4vvOziPJyq+fmMUM/sBV1PJBpZGd9SUhkdxJnqpnOU6XhQxcK2AvV2ZYTaPNcADbpTAw3zDadE3GIPLext+ZJ1CHRkbA+kGC+7YM5TtmwzYyAAGgR4lpeLqIOycOafeFoBywrgnqXs8SuCmvQaGwRebhJwQewZzsrDhENFKZ6L57coruAoPQkdgBNJsrL9DQjmHC6RDrqC85An85C6X8QIqAm4OekqqRDel6aQA6/XDWUlY0OiiiNDzNThJR/TFFgtJCgk0KV1OhrKdUpm90lq4vKpH93XvWl6SglVyaMNEWwWRYZAllFa2c3OyoEuWICSRGPT0bHR+Y1z3VLDtgRGVAoO/FOTNiXfGjKpB2j7lqPSNgxoDAokEhaqSE+hofZODzN2JK12QscJChgA5gUnPHVXCyLzAiIAlCp0gf+cAKSj6AKX2kFmYdpZiIwKBvbQuQxynj8BaQ1Y9CXcBtqthYT0sntvm2oUB8ynlEF5Dinw/lSCqtfedrXQ3JC9qISdMtoEQZu8NogySRqsazC386fdYbDj+IlmhPq25Kg2qNrcqJWjD/yo++wtfwgMWe+da6Vxo/0av2CHjVUgCmAJqoGociplZGolmJ6y2XLZ1XHatx8V2ZCCeq++lAZZVa0LI6J/jl8bUcn5JLGpTJTAAypjbCnVhWjqRMJuNAabaXeC7wqn0UxpmWlCVa4mAqRWBkxYlxJadQS7SEMRD8p74HAJU7+ZILZmtXcryPJOlLgpvm5QlLbR2j/3K8uYG717k7dgR8Oou8pg+6jkh6C+YTDegwiEcHR5xQh0UhKH/rCtoTYscg9NkmoX9mfUnnn0xVy1wyiyyumtuTTdEI8ij4SHGyLXGiOGcu9o5jCaYkZ5L6zYICqywgBk2jwoPbtLqy62ucz1y8gnXMTnKAF8yXBL9RlbGGVytsNIUWEb7GHRPHp99uyoZevgHNnKvmOuHKHg9CVDeylZigudn4zrrpLn8pdlX0u0mgMZsFwrDajSOTplgS3cStc6IH6ui6FhqS9BR/AGsuAdeaqr8SPSQjN5u2VJ+xuiGrKdRUwIKnQ7uQkgQOcJCGdTgg2IgiIMFR/oZIMIruGHkc1UUgkhwoKUjocsbXAoz8aAOxZEp+wMFOL/KrTtfENSOiPxVtoJYPqBeFnzGtXJSWcN1OpuLW7cRJhITaAqmKcj9YJ2Jbev4iPBx/yHlA3CNhyjQEUk9JGNqktScuTzimDkspmBMN9NU97UEA8eZ1IK6u5VPbPHXfM1jYR16UObSDA8xcwPKKyVJmZL5EfsJ0knPCrnMIAZxx5A7mtcEdV4rzyK4PRF66ONA3gTqEUk25Jr3khOwA/ooajJYEvF2JOrvs6zl8LefaVvZ9BrVgIwTiaitx2CGG3D9OcN/lfnvuqkg5MOdNcY/8BxY9IAhM3KBzlbDWSW3wnD1q1ZiYTMHgWNRgLJgIkhcUQzrFpleSYs8TKMxm7mXYRO0E4ZqgKQFgV2FHaRLtP8FhTjuAA2zhe4UcLSFhpaEF2Cy1baYohbDlA0d1QqeMYLZj5KwO7mNSG1MXhMh3v6Q85b7atHhIdbbVpnYFKj0q0mRPLEme0WVlQIwv5BGcmq86xIkROExphBUAfquxGTqisK+ILSEJI+BHPOUA01nr2kPG8VL8WRWRfOTpoGWd0/ZpVCvqMJSxLpdlsJOQMwmm6ctEKG9GIl8/Uh4TWrRuIkDS2fDtbLHUeA4LpNJIn3MpqwJcszcM4UunfGEaYDUEja8lNFQpN4D8sCZWaAAspkQkoWgZjTEqA4ktdFl+C57MDYQ+eX9Tkss5jl+54eVe75oqBhCvNQ4DUfM5pGedrsSd5kJ0ycpq29Hjs7ZhtNliIQiQV3QwKyPKCW5WAEGAC2Npvr6ggtzQcZjp86YSBdSbUKv7kuj3ExtpRRNVwGVTl1ohBNWlaCE8fAWSjDEB+ARimZR/ZlBW7HEigh774/jDA3QXGSfdQsxNTiBuNQX70Rk4USaNfIbNUlfqr63R4Mo8niai7Ra6o/6J/WkXyjKZGnSGUURtqduLd1wrr7Fzy1SlcxmV1gh1LmuB7L7CjOajZPA0O6hNU8jtwdtZ1OLFTTbQqODQaNT3dgLFOl9rg+M2sg+WWnXq1+ds0OJsgAJ0YBROYa+pRhNKlM2vDtlkOOLSKBTx615SjfC0lyGfrkLwWfjZQPQTMkpQooctWIwFqWAUtKGF/MGCkmrGHtJcUEogMozz1DEJrGVr9gBl8rHuSkOjNXBJgnyvgUEY5nsdrP6jVq0SmAhCB7+GtOmGugbg2wHlpGLBq8MGfDvXJ/mXHMGJrhdxNu7QPzURXUS9pvRZykTXTCAT6eJi8IQWYswWmbKzFZ2+J5JJv76IbgF2iROhhQ8bbvigBr3sZZqDd9T7F06kCIRRYLr35WeHQtywUUmapkyI6sr8E5nQ5Id97Vx5ayUnVmbCDN0+M7WQeoh1Lp3xCv7mMLlHMQfakhE1PnphW+stlt88LAexryM/yfRAzVnDHmLCWUoFzUDBoIRmhACuIC0FtjROq0k5+JnpzTy6Qj9SgQo09b0J2/8l32m3k1nwcGy6uFOKN0tlNKDdhQKQ4KLjJV2clBmD4xm4uBLa83KXacmC1ZHmDe9Ylc3yuj4ERjCnw/TAxKEAw55fUdGhPVUKa2pSQRZFKn6wJziLUYkyU4qTidISptjaIUEWghR0Qd9Ct0NAZjHs2PByhG7N9VWIs4uddCGg6wreGeET2bZPvEEuMikWE9bBjK+ZdSQIcpSVrOSShqoattKoaHc40oAc0Y6Fk0Nz3NhJB0Rur7V2vCsgcYBiS51FxPEmC+4KFI535krw0unU5hgFtrD6kZMAa3IJix17zwQa4cApTF0OQKALqmySmGHa2XIdkoBJghVMAEV5yUrlmnCWhsQ3toULtSRC3KS0LRSfxKGH5/YOxxijfBZKYCzwobn46QlGntlUxzSfZ/Ipmy+jhQXMuOxBs2GRKInqDCOpIAFLi+r8qC6Pq714yoAhbBvTnktBxUWU0xPO/IPjWLUmkSpy9hzVUK+mTCli++i3EK1GqwUy0gIHKG+r03JY/KEH8LWCVhb22Ixg6QEPg/B2KeUhJUSJrXZomKYMKZc5LVBwaz+PtV+DBq7SDk2S+BHryxFwv+AHjlFWjHY950SjROw4JrNT3nnmKTSVSljodu7TEK2Vyfh1AhHcQxvgUqO0FbSwnhE8dbfQoAOcIFa1TU8WXMsqejZ8bTtsdMcUi9o04oaJ9JwoGXKCaWzBhAOqFqUaB48DTLwOBHUjui7kRM2duyf4xhWCF4UznS6g0FXAH4DJksaEqqUp4J6WUUisGi3Xkcuz2ghMp34Fcc7VIO9dhocxD+FlbwnNu+YqRW9GwMx9zxvudKK1WcZq3Ij70ppQsSvVC5LcAsNH+GJ3g91dqUeRaiFEnVqEze1HLEOmucACon+ZSPGQyirvL/cYMDtmMY630Da2swxLIIFpWRKD+Bv9dss9HDjLguSQATEaZ1H5QAEEp6pMMCD05ih0oGFXIRb4LhjJBex+0rX0T8WitkOkOukQvknfpEjVIyQMAkZ0ZtHM99RlS4qFaQiaXhUzand59sk9eexrRvz6dbSrSdTupibKRHCMaz5njQBaqqdFrBjMQzWJNfOHqfaKqaHwEuPaRjo4WU22zvIDIPta/UFKtW8AX1oqc+OJMfOMjO5rTGc/2+qSOrY1najZ1XxQ3912UMxL1Dn81HRX815w8TjNLBrki7ShwO3nR1CXLOCsmIhG3mRGHOnAa8FtIAlhCVaYoB0tehLcyTNfUSwD2089AOgWqKAVlWqEH9HQ145Bh2Ao+Vez2GGpCDu7j0mEr6S1DuNKTzApLMVNrowzP6ZtwB6nfUQrEyyZPtZRNWugGcJLOGCGuqKxr2ySmttmnf3NdW+u2OODR5zNUwnLIHahoFYofsXK/GyxzT8LZSk/oBDfvHimZ8UQxCTlHSbPCgsPyCRhQPAoMHRZ49Jxj67gGyU46JPZukdBdhbFcgVyqK1JkjLZQN5yocapYXivhdFg9HsMikZDdsu7w9cTevzj2n8TBYzXNR6AVbeqsYXxjbOWIcjsMI6s7YABTES1OE8+1qT8hIvZATIiNuRpXY2C0vSm6RAbdplmof8qYlnIAMHKFVzf49eDxjiRwkk9PruPb0jrFl2YTnmYmAR2mq9s6PTlpmS6LDJMDoLs3Uum2q5787CDUNZj2YEMwF2kdrLDvO0iJX8uK04Blvo+h9exNTcGuPjMpXda6tTQfdie2nOPxL7QGzPMkqa6hjQ9NtgNrGSaGljO2iIkrplRCDs0NKtHEhKafwIQ43MOgm/4UgydnuOQR/XNZvbAlUhCbsOUsJ24Qb/Sb4WSNeVcV11iDj2DqXEqVIjkDewukgBbnOh4tpWZyKpaRUoRANGbXRTP2B0bMh2MycglE2HHenqmNa3G0dLSkoHBLaXIorRrUyyfdvlZhu2nNO3YEB1y8RX0EvslBMfEKeAS9MORChjo0Iwgh7p/5eBhkLqpC4nwjrxG0iBL8LgGAcbwNK+nIkIuqMEzHcELpuTulFh176YknEgv1vcyGt8b/VCkjO9dBrIt+cHfexHaDuVX2fMKZpykk70WSxWY6i0RmFZihBWFL5uDldCzLX9EkgtVAVEXkok1sYY1aFqkgR62Hvms7IIKRLY6rDeeSZkQfGn/RjKHC38ZNKFBw5VIOsQW4SsdnMWlqdq6RQaSn17YsttpBS7V75gprEYXNkkmHKBjEq9oRvqg+JFlVY44tyh4VEskRSEfO+ux1xa/CmSH4ht2WeXZwQRx34XRWq8/NF3pAHgBgxxmbeQmlKFhwwtk2xXBwkyWFa/6iVk/5YMGQM2HXk+jxffErWbH7SxduAipFcTb+MhfjV8RooSm7KF9ghpJalhRimAuBZL7m14azPCtJSe5+xGHgW8I3qenW0jxO4SwAy4G6Ep61CrJmHa0zC5jWoDJFBowxwSQvLKto93EASLORKqEOF9X8ZlgjlviaSu2LLhVA4FFXYSuhZV+NggnIy3UuYrC7qkLk4LVKziHHQxtYsZGmg8715gMIGbmCgybWMpYPfY60g2y5CwmD3t5x7DGwDZlggEWYczyii8l1lH2JAaUYXQvBfAGOZEafM+dPvaVvyBfpXMzrB/KQSwmf2shgMhxtOimNogSvc5yUw9e0JgVOZu0F8gkdoGbr0aGjaYfPR5iCaFVMTIkz+fK0zhO+8BWeRgem6T52puKK6EnW6XyvVBr2R4PHW/qtT0Vn2QbXoqiYMNfav2Kj4QEslmapiYlYIhBDGuYSDfa1jr2vlf7TDc70j++JqPCFLJGihwDjKqGp12cBzaFRlHP9mrOX9n3Dn35j+iXxjXz64QV7w4jQWRi128OgEhs5XSAdzz6ymoYP1D1xnyyNG0dmQJGNCBDiy/3VOdpYVPUpQOSrNQ00FLmOTmPQaohYCfhCbtQPzAcoWztnuhKHzbVn6EHrPsqZhx4OEBg1aYCN/8VdUKJwaHBq6Pi6wALCXHhVdiVRs9iKeb7SL5BsmcLfjSw40v3hZjjC20C9mCgQwcwLEjrJqyqmsGD160Ppwn1YApIlDh/8fQzbsRuOyKE702lIgVuxN4VG0qTWieWkvfFTZq7y7jEJkrdPEagU5yUMhTqeOKZqXFxIVUBlvQkhjJV76dNSAmvNiAYcDCbEJ27qGTwETGv3Z3GNNQJtKBOKQscF0fmDjUxLxnSCc6tdfhf3zuqfG/jnrAWDsCKla74STZNnTgZVD5wkJgpmTA9E/ts9+lnjJ5qEpfgVwyU7JspMJcdwooOcJHqGo7o8sFwcIpd30XzEkQSxB33+lIv6BARGhnKFfgJgJpUkoaBdyUErT7hJ+UEdYUxK3kmIcNG02SRyKn6zMBnVQZEPDXlCuNbDV1+ZQbCWxgwFSG4PwtXoxPSwYx4R9Nk/6PEt32XwORNTpyYQV/fwItCsKbDBe0jHbZFcaznNpwNyGl+HtRkyS1kVVVHpNlE3hqJooLhOfidCS3MPH3ZjRMVVO5CasHVPtU0DzEpUzgmSUfpvoJomrUNpbvsaFK5ZGvnet9sE86HL41XXUUTg+Sy8OVmoFkP26W3M0lR8AGI60gFXNbE8Ma0Pb8ZyFDjjqZnGQ6xXnfgSrTx3IR/ZWdIVpLvABZGJGxSxkxwPPxReKifqBMbaVVZdpcQAvRCXhJCydwILbX/qJZSP8fVRupDaxhcHEo2Ll1IZVGUCJ65a+RePwd5DqrDhWX8Qc9BMclFPDyNxPFPGHsYQgCUISPjWp7E5rP2siZ7glokO9raUObuHLbJo3XeachcZHyvMCiQlGEUJ+Zg3Ae4dW4WnzpGNKcRZsDSkdnWho3IElrh9+KLvjHvwIZpa01CF2pHXaCHGbmsaQypNBfNo9A43htNE+UrbkX2G+mZ3/hVTpNXY0G3JEUmNPgSDl/6Zc4pKzCloIDkX7V8zHyZoE+8Et+QOlPSZ0AAjKSuFPq7YFFfmhE1SncfMwnFFVyI0ONUVauVwsOuEJCCrVNlI3zjad0uqSP7zOsUYgv7WGNW0pfqQgsJRjYCuEyRk95CtoXYdbTItZ6+Bp+tgDqhyz11KgQhPqHWz9hZ8ibCNjL0z0SitFOSKnXCEar0iGFKaIn8hBix7zqvCDQCVuleOUfLm+6fYASzkos85zojRmmnoR5U8riBC61k4SQJQWvLrSoNxtPJ0p2XzHCEVjFV9jkqFAx6kFTjcfzjdD6IpLRAw2ZuZqoKynO0eU3baqZB5JIx6cGIFLqyFYgCP0omzCunCeMt5CB99dTZIfKEvBQHWog+9CvRJu/KFno8Uw4j0aeGMQuk+q0e16Hfp1ZGimbXocAiC0fNn0qL6wjEO6Ep5TbLTb9xUHeRRRiDKhItWTno0TmiDSaWLss3qcLTHXfY2JCmZqFv9oIJjAbiQbFBqeBvFLFY0750FO2nfZ66lF8ahpVZUHBoCbIu18CfwMFF5LNkBA81fKY9Gz5eaUcrkTHOlkRzBqBngsieXhiQtvvICyxG1h0VsgwQJIrSA5EYypQB71B+YTddjUE6ZwrBXuxI8YbpHIebkDp2sGBTPiSHmCwSDxK6Np1FCJGpyoTxZEBMkYxEAbuKTKxqPCS2MlSAH2hRK8MuYBhpLrID4I4vc6iQNCAZBVZO63PyN0ktrUubfZWkdL7mzFA0YphAv0Uv2vFcBDxl2YF2nsW07IvVdM1UZon17WncyeIQzjZvecIiA6ym5rEmqfhJoEyD0TgPazVW3UzGuB9Z4pGY5BDN3iqUkte+H6YSSrwp2fRDXaHhgSSxvgaJZViV9X2RN7ALplcdAzLM5TrRpKIp72LAbGA6Uv/VqFKnVqNNMewtUCzT4E5d3DYnYNxtsAddgYHgVToS4dxHWV0ujjSYmDILJeS31Kawagdncc1skydUogBTIDUJmJTBjHv8osDGpGJ9bc7W1TjSeczH60Q3czhLD5zvY3lPRwcwPPtCEzwcQLIeWMW8drr4l0XrnNC5g9cxnyfpWtKeMIC4Dayemv86mBGI1fBB6qOZy7Nxp2YZge4pMQJkd92rBlwBxs0ms4FW9onQpxFgv6ppjefAKDmLCdtkQJD7evLYjpF7By2/ReR5GTZLwR4kdhRGV0lEXI22V7rdc4aRrEGdROA5eiP/aNuDrY+nG44ihJlQKA2QSm1f05otu2YGDtBASOvWqDgNW/lNF0kNBN3I8Wwf6WraZgmUVeOKrtAJwhlwz2J1zUnf1/EV2LCOHdzSESg1L9EEWy7tZUULz33YwgxbPai9zQfKzL4CQBQ2ZJOv/GLp3PAT2mpGabJyaLqp+qHZdhdvXk1KgUuZnnV3oxFhjYs3sQbezOFv99VpwSh2jQaiXyccrujI9FKZRAMjIAzY2SgfSA9pWcSpVhIqAVqvNFDO2vBjS3xI21nUZpdfXQZxI4/bJR1v1lI2wBau9hgkMkPfJAbKYlf/tWaV4w+rRqtJZEMij8y+AEWwcxigCG0v9Radaowz/UCQ5IrESb41l800qBUzLkyyMgOrCY8A0z8RNtvpdTM8mpXG41vL2mppOzwMROtaTaqpy3J3lRnrZFGCwUdmZ+nKcAGfVTCR1pEico0dzWDUsNdM2V6W9O5epmF4RecDKIbklokNe4cEDtpknFROaCQ2pqds5/KwhQgLSBhjCQB2JR0t8oBYVfKM0R5mGxln0+tHnEsKfQGKcqLbJItjPp/Z1np/BegxiH2aXxuVLCuyWfW7fq23JMJkIG/Ek3d5olMo0fR0yhrvTNDVSGfS9dydWxCCiSaNM8CnOEZKaqeBO7sWyppkRmCCIPDidt6ToAu6BJaxsurNnCf7PnSShYFEmfIcI8/MJPLWMBR1SlOUietuV4kOtYFkJXtA3ZJXOYTPwge7HdZ4lZT1LkJZ33iOanhRgK4IJQ6MzUQlWaSBKn2Z3h9gHKv3jAaF6nCTmwlix0So9h0okf3tZQOxbj2mY9bYU6B/CmFCs+I/k0MOPCbFcwZOQYoEhsryJACNK2/LShIY5p1kRjE3vR1eMq93pSZwE0ImqdXscUmZ1CNPuPdFRD22m0IOvMkObhkBAO/tkftyoDsxpcDkNQXQLLtwV+kSt2Zwv0t4W1mXE0SYqu7BC8iIeO6Hre2hFAxICBezm1LMCr4khmifyZG6FC9VEm4SXmUawVFD5/ivrpaoyHyQXE7FkHxWd43PkQYBgWe6CjMlJYPpvx4YLBLBLg05Hk2CZbnXasbZXET3InIAtKxhnKGYOWuVCLfGkOe4Y1YL6o7r7NfjSF3ksBTRdfSUMmJA71bVKdzR45cHCTDx0WHvT99YzSevQ8ANPUnJbxXbOr2RXhJnzoakcKvcgRFsXoc6j8AZr1wBwZo4IuVzoyKZxcOwneULJ5NsynYZbAgIHbdWgLCekyp0s5I2M+rE1AfEOMZGErS5OvpBv9AgKCTRD+kvNmBQ8Af4cK0GZyzy1IMj0kxMW0NYb5FzdaI30Xut2+82ptY20JFoh6CkYpBUSqD0hhuN2xTFPmmZg1a05rBDHS3HSEDHP1+gq4AOtmA7LHLfXV5Zh4vb3A4DDSClewIAcPj0hw3Fgysw+2A17cgBwfhGM8XoqZSR3oBI0q9sbiJEGhF4EfwiP5HlzjrbVhM78PIuQ0R3kR2y3aSJzCTlV6kUsUYKBsKeKTT1Wik53ukLNGsfrD5v+9Ejj19KxsPQRczN3tZD3tcPCko75R3qzIiBEbpKO6ncx30pK6KhdX09/2fqYYTpNcfglafp0BI8BYfAALXZkAh+OlTyL7NwAiRpGNaiGKAvs2+t55LVmDzj00w87aROHGH4kpmI23UkfLDPIqIOw/32Lp7TwXKw0EyJAAr5Xu5sbD3mUs68Es14Gi6ByTQ+VoBU9m1ai5t1UsRraQOUJHnACGUsp0Lm5YHhA7iBssnPd9gxOoXmjuzLu380CytdaoPEAQmRiQxavP1ERoeJ5ScZxNDRdNBIZCc/spBUpjOMqYFdh6IruIdOsyfoKzAkfJle+JJVVCm9hG5WRuVqdhNFnuwGEAlOaFUOylBrMKWroUQxEW6l3uW5DyalKnlbr7MxKuxQZV14NHHzlt85hImStBVGfbAmSzOemzqo1viLOWvaXicHySD/2uwMNi7eZK1A/hU7kBBsZ8keyNtDymIvrpnbc42pgerfeH0VdUj1w+X8QgKZwx7dTK/9k2uJlYyq0xyS1Q59gz7WB87inTcSFWlREEshXbxNzFGBYsYucrzTEO/pghV0gBoC7pBApZxIfwaPavwqXETbqpayGNBvE8RdnKmZbwJwqWGvOHMRbDql9fyxRkIcKpniYEoZvzI5DlYbmA9OfN5tjEEcFRsE2HZWyjBa9UOSWtWY4RSSDI7wloGUDJ15v+okqmizRLYjeAUtEciX/IggvQyJO9Z39VAWiJToF5smg3BMXVhRfQaeXCqww0RTYCQQR3prf0YBzFdT9hIG15ESMLKtjnQX1il31cC18WU3zcLnEn76SZp+VX9+RBbQXLIgNFSQGWQM0O8HuiLz6J85vKsjuCg1uNHAhawlJDTtGHOD6yeFi7vCgGmbJxxxFQnicIgKAO0rz1ri5Ag8nbX/KHdkGuEY9DQ4GAGTRYVykK+vKeESDclRoS+JbEUO/k5mpT+q3gJxSLSk64NvOSMltSwOU9Z268A+dvtTqglvWSeAXSUf1sno28hQCe4aA+p8Cw7e1GPwwIv7ZpsTDHcmrnOzrTIZ+WnkcLnoIIsT0ZKKUT8Bivt1CrwAy9InNWQZMBBMBuTi2B+RIBlmo1lc2QtA0w4yTLmL/iuKcZdpX8KDDcCHweOY8dpqBlBavbK/JSLD0AdKMuPKwcC+K0a478JaI4SwNR1TmKYjolHo2lkcw6S4Dn/Fx2yxy0z0Xg9DxAsijICOICVkXEJjhQ88VW6sqOXgppwqlMsEru4Bt5ev5BWmnQDHYQrxlLYYk5u7CbW6r8wkTK+wiOMcZ/fryUdgpw4RVRoTQZfrAN9RDLHmVzJjLLeiqGD44E1YIINXN2xaN8umrefAK3Ve02bFzCwp/t3K4G1DZk3bBAjqMymOkrTOzjLMiDYjYBg5WY5j2A61ioLk+KcP9RYebZvRXBrsIfZm+WwM3B3cqDLJHtNQyUEwJFAaQLoCTQwHP2TvoTrriuQMd3yUmu5QMqcQA87+GIr3jGXOSqJ2xf11EjtNoeToDH9ckMc4rPHQJyo9H4gZZVvyNpO1FCGq5VPtUkZKeFLAwyEKnW9FFYjowZdyrW6J9CbZ+RE9IVKjccRsPqQFts7bucXzDbZxcjpFgEaZXTBbwPNdvsoXmjNPTEiaW2J6sd630x31DYBOSfbwS0CpH8k7ZoIpMQRDNeKFVw5Iugqv4Kd0i5RwoKLkVFK20KZIQKKkiBVE4Dlc4spGF9/F6+oSPPWf5NCJjR22qBOiFJcW2YkpGQ/3lTCQM4xmQYTuOJNlBwt7AfSZjtMer6OVPXV99ZsTX6QZyaSYXafX0x+d8A76ZMkG24Lj4IY0MQoT+9uA3jVhNjXjtvyeJNvc1yEm6V1qMGqWMSQmpWeHMWbW0/TVSC8KOaydDG7PpsrSNbFRgYP4rTfqHFbA5E+bLrVZoEinBQKPdx1xMw0igUYqM/FcMu4eT+Yhdt1ggn25awZcIJUlFDlJI3a69LKFtjhzFgnXop7Ma+cxW/0KEMsNIE+xrqwKCTnb+hSFE5UERCXJC5KMFT0w50cJHV3IHpnbfTpD00SL8nbB7vzF8Wzpgr0AB0wA1SlIMK74RmOQBYRLWECM5agzAvgxjFIEyj26GgHvGAYoWNJdTt2FMVNqy/c2JiAgwl12cyORMSbSAGAp0Zjpg4wEv9BH0+mygzfxyLaeOxZ7ZGrnNV+8dcV+cadFc0+pn7rWcwGXJGrP3UDCqlggC1pgrbj10wbYBEH77CER68BwRCloJX4IAIkWNuxr8JQQWENzVIj6ZV9O3babVrZxLdqAYAX7XnBOl4atuQquxUa2l2CReE5Ax7iiansxZEDa9U9uMg+J1ayHMH3kF6086Vw1+JJMT2TsfY8JLvgP7ZVaJeQH94AtVDLEMNQQCY8bmM9dKvynW6vEVjPEw7bmsaWUInWuLyX/saOXjor7R6i99Cy3QSaq+9cXir07B+jIUDKawgDjGLtiQboxHhgFk+OcHqIeRRMoJRu0IqjsxyoJ40wRxSCT+tQt2JSC4w0vy6e0gyA9/Ba4Z4nR+kEXMR+L/FSzmgUpwkwiqVOZaE7BBmSZHX/+C/gCQS0xOktohKQjc7Z51z/QvG+U+B424bl6odZES1rQNVta3USAkSS5goIN8nVjxNSw4q2kYaKcwmLbWyVlLH6MSBlL2ELYca0UGU3/EaGMfpp+oBpq0Qfev7+HEXVAIhWZA1pNZzlwqdC9EUKIwamODTmJOxJspp9EM+AyDtD2Ev0q5Qe3sbfS1UxdmR1XUs9YGUZP/2fEj2lYECGLJemSckWqZiDj9JALWQgPWUf5ClA7XSTv3GB4yozbMhSfk+kg+0PLIKyRnikItwQLgkoViE8xiDmXgIEOdKRSUGodwM3pxS4OG/9KcEmnK1aJWBIgVq3jX83L1zSCpUO4VzKdDGV29AWNfqduLKY0hQzQg8YJJ5qXLewcwuwUCYwQJmKo/m/GdFhDhEgjxVxmVEhGU31pVNt6qbOBxAXlgt3NB/vaQ8edsrSbkpQxlP3xYJnAWOeVySz5yhlKx6IWTufqACiFhG5jqzlrp/AyOKAH+DXl2T3UhW3BowDJi/peunz12ePvbT395MXTz55/8Wl8fvHlpx65O5e2kckYh6mTz6hk8Qi/nSc/fLr2r54/+Sx8uf35D54/+RG8bjJA0m2zr8NhkO24MBY1MBKXIIUQlHHdYElzp1/GB1ACgUE2NNG/FlfuSW+5gSp3ev1ITkousMQUqiIz8BQw1ib/NP0Ysk7XZlGbKM0a+zefP/It8Kk6ngyVZ+wYAJJDaoE/ubCGE8WFrueITEJF9KnxizLxEZLGVIrZN4iHhG9Eo2IgIQzKX1PWos42PLCAOzzgGNAzJIe675UwoByoZCgnsnU7gcqkgyVJHRwmr+ki7Ag1qsy1/msmfoCH46BVIN6UMLcgeeRHiXQbLqppg8UM0GAaTnUW9q9wiS5iZPhIN1AhDPdrudqzR/v6A7IrnYOD/+4v/YVcLpfPD549P3rm3MmTJ2ujp0aOvPRSLvdSu9sI9ytx08jMJAfkJK5a74d7H/wgTj8++NbZt0+dPX/y1JnhS5fOv3X81fjyV//GX+v1W8+ffSaO9PZ2mz5xmyQm5hMIDnOCsgEyd197I9NELExxg8bALLSXK8HaZjRRQfC6DtbIQkIxAyg5RshI6iIFtuWEiErrJg7gPf7GLmwitSZlIpCt0x8AlBk7otaIWPIJCSHpWuEGwtJ9aTKAG4e6UqhCy323tMwptLBzCMzIfc6lQiTjBHDIV418+xFX0AG77gtRHQEPwgPHJbLwiV9HUdpHmgbJG7DSZ0BLvkIpBKBzdatsJqapZolMY/LzbWYa2RHLkpedszSCrKjala1lUw1xExmQFAIy1/mOPuthK94KIf1VRiQN4yb0d58G2k6dPVkuDQ6VB4aq+cpwJV88ni8XKrVSsVYoD+dL1VK5ki+V3jo2+Ppv/B+/JPKQJtaNNn/8/e8s/sOBwWNxerlSLFbzxXKhXB2sDOtzqTJYGi6XyvlatTxYzg+fKB99+ehzRWaSFrImMYyr0rITyVSOwfHmEr02RfiTJ0zJ+ABdKLYAx0oOOMYE4WOoAWAjeYImAMgmeMT6ULL1un+l39oFjjc8xZcb+sMlkBN5RserWWHmE6YPkWGm4K8diLndgkiRQ6+T7UcUuJYKzlHGEyStLzU2j9No4fk0BKcFwJZQZAYlYrUpj7tAqDwdR9DqaoxWv7Ilqb99FgOz8ANj3E76PsWGHbRJX4gbNbce57gu1C2fmedV7dqpe+z2PHxXiE5WUDrUsDtDB5p69PerpUFLNDMWSxgauoLPOUghoQNU0iYzgXuh5M/+mT99+uyJciXwlx/IH6uOFAulodposVTNV4dLpUqhUi0NlQfzpcHaSLlcK+SLQ8XSUO5IrtdtdXceHfT7b7z1RmWkEEcG4odKx4uVfGWkVKkWC8WB0ROlalwqLhKXqhWGSgPF6lBc5+Sp4V03y4murEwBPdnGEj//4ryJb1hvRzXZ9w5mfsWrFMw0UKzI0gQJRuUJfmtWA5QISgBng0R+aEXAPNMxPNeJp0zYG1rkysoykcthtWNPJQZxk0eiUYYFNF9hJf2XFI9HFJbGgADHmhQXBLJMEGBpwDT+cGiiOQ1Df3l708+MragbmHzKkY5bgkFzZ7svFnObUp00/Xw1R/cl+Z5uoFr7Kc8IdYQ01R2CyryQ09XhHqS9chYvDNB1HeWEju2VkQHWt+nJEUpP2scjTZkeNOdIPR3EyovDQzFA5JCOXeare/3IL4aLW+988bFERXmoVB0qxE9pcPhEgHqoVBsaOVkcPlk+e6525kzpxMlCuZYvDxeKpcHqiXLAvTpSrlaKJ0+M7G5tlSrFajW+if8L9BcK5UDzYATGaE28ns8PvX12uDYaUZEfyh8fKg6UR4q1kVJttFKuFePuVAV4CCtrIkQ/RSdItTAT1v0kCC4n/sW+gojSMSwOhpwKmbvCHi+S+ohn71wDFpzyMP2dl1RRJayT6MicvgupIG7k19I50Xnjl8amHzSDLpJ1+tAkBjGYAM0iV00n8TcHIMSddV3bGOJAFifuuU8MozmA7VbuYjsoy2E6fQNM05+tyF5fgREE3NQ0Y5oaAMiW5a3lFGyuMYgib3m1EVQUcrplVRycsylZ7E684nRGYtUQk/WxEXmc0cusqbCjgkm+1MF+li57fBrWOVQ5TuVyhq8AUGzHte5B79S5E7VSqIhSdaSUrxSCOV96+fgPf22y9y+mGv94svXhZGdpsrNwpXl35st/eLH7YKpWKLx9plIO0i3l45RCEG1laHi0XCzmayOFQm2gUi79iX/7Qn99au/bk42Fye6d8d7idPPeWGthPP77D/7bsVeOv1EqxLmhQAbj9AikV998rbX9pVnEE6+zAZCdBswIlnW+8zH0OzMrqWcHu8ss6/zJUDkpJUDQvJs2N6d9tkI2tCqQJWDpMRZ2I/GgHlg3O4KSpGW9TiGgyBdCnvDq5QZu6l3LpET8vbn6QvLda/WwLKPyAb51cqLjOVVK9BblWX2PyuIWuBWbOKElEAOvtJIvGZkwoLujvkR2ybCJH2VV9rIahJI6mqZ7Kc5p5mBYVS1LVE0C/Y62JXE8uplXeiZLyZSmImKRHyZvvNqFWt/HN8rCeCjVkY4ETuexK7lBx+iZLczEY3Oa0mc6Xj8PW3LV2u6TT/LFwqkzI6XhQqk4VC2URkcrO9+50vxgpjs31V680pqf6cxd3L95vjl3qTV3pbs0012+1rlzrTk//t7FQqlWGSoMBlsn/VAbHC7n3zpa3PnWxfrc1ebceOODsfbsle7cZGN+unl7qnt3vL08c/C7U3s3x9ufv/vG6wP5waHB8qA0SbX06msvb//k4d4TWr8CEy1bMomsZi+iMvf8R+KysswZRnaAulh4S0ABNHrASfbRqzDSDlL/sbBE1bpC8rEyHntd5G9zD7aVC/WXvtQVbbLHjW0qPNKcGtVZcgeyerCPCofl8YQAfqwQqArwcl3wQra6etvSq2ypL+mrsG1dt3Z+IDxabBvmle9wUyb3Xfo7SgVKrWKutRiz7kJxqesju0NVs6rn5SrV3+we0W5SV1YOY6iTdSh+wgISEYp5FzySBjllFkUh+QtiJ/JI/W6vZAYF/umfHKkJYALNPxNkyh1ckGtyNZ6vxLv6p2h4V6c/3H72Wb/f63V7jebzSmWgHIqiEoo2P1jK53Kv1RcnW3NT3aWp7u+91/7gQn32ShBqa2kmoNleEo5bSxP7dyYbs1caczP9p9cqlWK5VqqMFvOlodOnqv0vrh8sT3QXrjeWp+PgzsJY44PLnbuT3cWZ1sJYd3G6s3i1vnCpvXitvTy1+a2ruaNvlUul8rAuUh4tHX396PPnX3b7vX6/vfHjH7Z2Hhso5gAyoLt1q2lj05YNTb2S8maidlQsDoCYU+qH7VikxGhSLKwCJBLVbyHppDX94wZZuD89XwMKHUKiT4AO5xFv7oJpDORu3VQjT4BONGkXWxJYXPnunpoGQ9sh7VC1BZS3CXJhhtTE9wgDb8BI6oV7oT91d8+IAnEvPV16ODUDRncH6IFjGRzEA19+y5MyWhXigQOTps0l40dU5zRiYleBznqEprfh7j0G0vn+Ay3w/7Zyru4Hl2QVkgiAE90DwbWp9ueWgWBGsLf1eOvJj5598fBI7siJ07XKcH4omFiKtjBUHiqWC6WR0uu54+07Adzpxtzl3r2ZzvJEa/Zqa368szjZvH21szTdvvNu5+7V1u2rAe72zfONuWut22PtL3+6mM8PFPMhpvtb7zaWL8WX9W+d6y1HAFxuL1zr3L3ejghZvNKev9RceLc1P9a5M1FfGG/MRdhc2Z09nzvyZqWcD7VdqRXjIqHdI1GUR/Jnzo689PLL+/ub25/7kU8iOWEC+cQ+L5kVjeEsrG/UwnMyVRjLW/ozH8KBjZZ+yKTu35kyBEpLRnkEIgCyXmyi5MAXOlc793V9OmhZXnU/kXH6v9s0ep/pL2kLbZB91rtwx11/TV5ljEnaGN1QHnZZBd+n1VDmrtGKp3SwrpkeX9IUaBdy3/TmCdhaFwSpfnGZE4gDJrEhj0Iq+BWWbg8IXYQf7aMNWWbPK1k05uvs8E6O0LMnULR+wZ38I3WhX0MMhr9Sqjzk2xN22s3N8dZD7ryu0mTRl+ZjbiO/7jx50Ol2AsS1E1F1lYtldRLKtajnBOVyNf5brNUKuSNvNO7OdO9N1efGWnPjrYWJ9vxYc36iMzvWWb7aWZ5pL4+3A8dBsR/eaC2OteDpxp2r/a33QmqXQnGUB7tfvNe/924cU791uXVnuhEBsDjVvf9Oc3asvTQVUdFZ/kbn3kRn4VJnfry5EDLmajNYf+lGvlyOwZSqhUKpUAxVXhk6dXp4sDAYNeLwaHXg+JsvvZrrHnQ1L4tUmThtXWi4cNkUAvbIyGYdo/lQiggoqoRkKCgTG0K6Eh5iNfewHBJiRJSirqNOAozrJ6bwLsD11j+DO/MXMlpCSESoMEsLJQIZVzjMusF/vCc2PQ+6pxf6fw2aDMNNRq6T3YJwSmreyWFLiNSwU6sKNhUcwQBT0BMYAt86E9HtLKb5K4OW18Bsy3t+WLumHtXtvLPFeCPa9zxNrxVsrOTEB3oiw4EiRNIZURmXDEQgYgK+2dLbT1CHuhaFyGp6LTaucseK4x9JMWt8axs/+fjI0SOhIoqlocHisSjaAsrqXZQDN6FWQ/gWC5V89Uzx2T8aay1PtW9d6ixcbX77ksRxQHlpsr3wdnthqn33emfxRmv5vd6dmUZ8uTSm39653pid6my/Xw25XcuHXDn4/Fp3/krjgyvNhauNpWutm5cb85PB0J3g8tmL3YXp1vI7nUDwwlRzPlg/OH6yNT/dWpra+mBqNBR3aSD0RqlSGKgUKvQH4xuNs1as1Mq1Wkmtj+0f17d5Fp9Ml+REmNh/4ILdHUlxARpvwjYU5EWkBZgQVduvDv66E/TWo750Tr/X7fQPDg768d/ewUGnHx/67fi6tf24vfuk34/iuRv/3d/9iZ8ue6ETu71er3/Qbew8aWysP9/47KDXjtOzn4N+V9c56B80dr+oI2p5sl/wtRjoHbQPdFwc3omfuNuugBiI9ANpAnG/WY9b6MpxzEErLswZcefe7saPHJ9KMnG1frvX2D44aB40dxyfL4SuH8fsDro9ptnu9lt9/a/bPYiBxf/2GrQTEgvILClpQBA0+LEYjJCiK4fh9AtFMEd7Z2MKO7iHzTcpvLxPD9ZJPI23KKj9Gge30CUzRBsx+fDHwNBb5ao6YoHaUghT6eNS6IqT5crrx4dK1WK+nA9ifnL/D+wHB9+91lyabt2Nn6n2vffa81cbt95uz13q3A1yndifjwLuPcmGpanG7UsBx+bs1c7ixMHmu4PFQnVYV+4/G2/NX2kvTrTvTLXmJrrBzQqDYOiJ5p0J0fntK92F4PuQK+eaIT9uXerdvda7O9VfnPmdv3qxXAtAH68Ol2v5wkB56MyZSBwDw8NFFZrVYjB3DHh4tNRpbx1u+EQyQpZq29Hqh0JMSLYPX/KcCzRh6qVpkB7CbUieyk8NerdvXzpdGy4PR9gXBwvlgdpoqVIr1UZKldA/lYF+Zze8HiVvdbgwVDwWwBChPnsYWr9YVn+9NlroH/Sfb61sf/7xmTOn4qzaiWqpOliK2mBkaDCCszp00O/xN0VFinR8NYzNH//L1994OS5So6oeGS2G74aHS0dePhqxlfz+fPU3v/nLlZGhSrVYrZUK1XxxOF+uDOUr+ROnh798/AOI7JMTw9WTZ04EWw0Vj5eKAyMny7kjR7a/0L6/iKrh2lBMqliToitVBkdO1vLFgcpIuVItBF+woQ9LgmaTAv2iVEQaeAaqdJp2HfGtxFBaBXDFwHHUASCbnOicAvsqU6h6SKkHWeY/oSyLOBgcRn/vN/+3geJbw6Nh4IFI4vn430jtrWP5g/VvbP/Wxc798d7SRH/j/deODvSfvt+8NS2aXL7WXBzvzF1szwanvt1eHOsFQ4dOCNVxa6ytFse1zvLkwb0bjdm3mzcvN29eaC5f7228ezx/PNAW5jjYvNr+9mT77rvNxSn99+al3v3rndDid67XP3i7EbXj7XONCJL5S+258aDq5oIUSGN+qnPvxu63pl8eLEQpWSzlL5wdavzD8QiJg8+unhocGKmWg6or8b+R8lD+WOB77/nGczeMLDfVExCCEZHYIb5U2v0qQQvfMg7agKSnteigRl4TBQtIQ8fBp86OqCqNlDUsSRYAzZcHpM2qhWJpoN9v9g76kTSk76tDQXBisq314PFqdWioOBC/Cn4NAbrz5JOR09VApHJOtRDXrA1Xg1YiSHr93v5T9DH5neBc3fz844Hjr8c1dVMtWgVGB8u1GEmAu3jQ7XofwW9+8xfDGkEf1cir1cH4bxwTwD13fuTp+nebm58dPZKr1PJxkdpwUR8qUeVHlhscGS0LzQedclBGhOhwMWTnYP6tGHMtLhLUUQk0HwGT2Er/dd+Qxi5kymQzfLpS3NRfv9Qzw/o2qzzAvoRdJh50RYswqQ4lU5MNmVRnKWjin6o0xeXGvTo1vU5voDhYCkqWLM6HtMjl3ug8+jfay9N7N6eac2PtW1e6czMhcPtzV9pRk90baywF9U7Xb12qf3C+vXhlf/ZSVxXh1Z3funzwe5MvPrjUvzPTuXujtXClcy+quvHOcsB0srVw9eDZtUL+zZFTwZyF/kao4enWwnj7lni9tTC2f/ti/YMLndAncdP56RAtwevdxfHm7cuN21cieBpLE/GhMTtZ/52Jv/SfXBRqR4q5o2/u35roL0/szl7dX5xsz48ffalQLJclmcqDlcpgcHav32nuPIZxeXE/sKabnp7MRbOJp2VVmNiLZO6+oym9OJqEox0TATA5c/Hs+VOnz48On6hoNb48EF4/fW74zNkTZy+c6HcbkY+DJqoj5ULgstev69nEByE8RHXVwkD+eJB3OHTnycdBgYOl44Hj4ZPVKL5PnamdODty5sLJ0C5W+XpUO+Omrc8/fuvYqxWhOX988I0jL7909KVcSTsCokQOD+aeP/00sPEbf+eXaiNR9oQSG4hxnj0/cvb8aOSTsbG3tx5/P6KrVIygGiyWBwaLQ6+/8VKcGDAtleOyg3/rb/zViLQz50bevnjq9LmT1WoAOsruwsnTtQsXzpw5Oxq6tLnzY1mVgJeKozKBQ00fqhb23LLUr1QVePVE5Ytr7dQIRCqgsmVrsiRFgKjeEYNglxVcYaCqSbUOjLjH5pefHB96sxiZSKl5qJKvfPZbU/WbY63ZIOCQreOq5+bH6/NXo6oLDdCau9Kcn+rOXencv9aYv9y4dbl3Z7x5d6rz8bu5V/Kjo8UTw/kjuTca88Gmk1HPNe/NNG5ebM7P7C+M129f7W5Nl7R/I2RMtb15LTRx485PtQLoS9eaH1wM5d378Hp9MRj9evO3x7qL8flCZ34yxEZ78UZ7ebJx62Ir5MfdG72lqfZvj/+lPzVyJDfU/+fT9dkYzET77kx7aaJ9Oyh84q/+FxfKI5EjRXKVkUJttNrr1vlTa2sWV4ptBEMibLWHzRfEuaxHJxVS0KIAbG2+Ee6JhKiWnn3+gy9Wv/ts7QcCU6UQSBo5Mxy093T9Bxs//rghCdcfKBwvaJH/WIDDO6UC4lG8VrSWVOj2DuKmz79cCQpEqOTvzH97c/1fPV3/3pePPnry6KMXTz/dT383Wv1pS46NL74/MHSsOiJBGFDefapBXh67oK0ylfyZc6efPvpXceTf/41fEQSH87WTtc3H33+6/tGz9e/HZbd+/NHe9urTtQdBxkMlaaQQw8GDT1a+VxspliUFB4N6Xzz9ZPMnP/zy8UePP/3/zl04w7aFws//e//Wk7WPnqx/98tH32Ujv1tAqORsnzBtfnYECW8mbzpvevYEVtBpsjubV1KXTaFQl4CDMCQH5SdK+DUtMHoPJLRvhZ2hXKIwXHIklyuWikVpo0q1Uuxu/kxneWLv5uXu/Rut22PN2fHW3MXevXfFkfdDBE+r7Lt59mDxcmv2slppC1dCVNz95fFa5Vh1NF85URwuF48PDfZXZxqB/rvTzbszoT2izut9+G6Ud/0n12q1WmW0VK2Wep+/0166wSLLRD24+c5Me26yHrw7fyWXe/n025WXXn3lr/yX0zsROQsTB/f/YHt5KlR16+bF/bnJ1uJU7/54Y26itzRz8OFEjCF0Tmthprk03rwTHybrtyfrD96vjqo6DNwUQ+Qdecn7zZ3ZlPtUfrAyzD+FYGGXrgK/tZP21YSW7DaOIWyM7Ppb9CPnHXn5SFSlIU9PnBp2eWOyj+pJ7ZdQPaXjKgTpZwWai+VidSSUfTkqs7jU82c/qo0WR06E2Cj+3/cXGlr3iSHpOTxreqodMjjD2P7iBwNDb8Zli5V8cOSLpz9qPIsg6RbKx/PVocgMO09Eir/xzb9eUS0xUB0t7D75zFTY0FZjMej/+av/Y8juwcJgSLIv17+7T09MkiPCspJ/+ZWXeLxF03z++cfnz58olKOCH/ojf/inZCJaloZT3X9Mw4v5W9oXeagXvLWVhSSKV72HTkzAE7OQhDDKxiCeUGClES2RuUolLfPXM9+pbrU5WB3ALusRAFGUBDeEVivWCsViYXPx6sF9tREiy4dard98uz431lkOjTHZvHmxPXfVzNeKou2W0NxZmD64N/ln/ti5qqquvHBTzZfLxdybhcbCeHN+snEz9PSUBElIhfkrnTtTvY33a3JhhP5Q59n1vdmx3vzV+pLwF0KlJVl8tf7Pr5TK2rOh/XfVwunhYv+jKDSvdm5f7ty50VqeaoXemL/cufvewfJ4/eal9v1vtJdCzLzTVutjrLkw2YsoihBanO4/u64kG3lT20WU0/WuZUId/eAsp8aOy5esiMEZqGeHPRQuTs24OdNv6jN4H9x68EJ1OJL+WydPD+9rUddNj7WQyDHZAG4pBE+3v6/NsSvdbi8mqAZR1A8HIaYfPH/6We1EObJWqTrwT393Vn1r3qh5mA3EbX4kkQ0Vz5/88PjxV9XrLA0GmkPzvNh8uL3zRfVEpSKVnP/x+vfj3L/7a78UtwgzjpysPH/yoySZ9NdSNLt2fS9f1HJYiP6//b/9suC49dlBvxlCvd96Hnpes5BUePj8ySenTg+XqwORf/79n//pOn+OSG0iBS1/CNDW8xb+bFuLFzo4hq62prCeo0BRZrSMI9eIt/e9t3VjRX+YQ4uCkuFKoy7JiWl0DIFigk9lzcqLrYchkgLHobTyheO53Ov9uRudD2c6SxOduWvNm2ead6a7C5f3P3i7vaCqrnP3WjBie+Fy+9al5s0rvcXJ+sJ0f3OmMqxGR9QNUY/njhYONt7vL830FsZ6965374bsvhwf2vOTzQiS2asHGzfC1sPDEeNDvSfv1G9eay9MdJfeU5wsB8tG5EwdPHhv9KSWG0shSGr5ocKx0olS9/MbESGd+zc6995r3YlT4ki1OyKiYsDNuUv7t1mGXLzWDd0yd6G7OKn0sjCeyx2PsSk2ynnV4NuPGpZhNC5kHxoapme1ohXtqULf9Rp44idvpXByMzcn3tKfXdt+FOVUlEcSzaer+7pLeoIoaNg9+6GhY4Hm5otH9eePesEj5cFiNT8UleJB/8XTz3aefHriZJRX+aDJ//efLhw0d3rNnYPW9kFnz4Oh40u6QOhvf/5xvvBmXDlSf8zrxcanB72DQrWoxkUUkUODerPPxuqv/+1fjGsWikNRYvY7O/32i157p9dSDy7I9aDfCq9Vh9W5KlePnzs/1NAa3ko9tI3+1IGedafOW3/+xSenzg3HLEZPVn7+j/wBhO4af64K7OrRL/YGOo2YVRELMmDaxAKD6K2Ker2NWFZcjWXr4hhKQClu3mhPrW2lQRCv7D/jcQBxc4rpdG9Sbb/fqA5XSiORBAej5u1+P+qtme78VH32SvveTIBMddvtKwcfjoc47t6fDknQvv9+VIGNb5/XfqDZS83ZG8eHhqqjUUUXyuWha+cLvdvT3eDykLmzY4Hd5uxUM4q5panmcuiNqYDswYvroWVrtaDxwdbGdGNxov7t8x0t+IWKGG/cPNu+N9GOcvP/ufaHp8+cKYvy1S4cLp2p1Hr/ZDrCo7U4vj93uf7Bxb2bWjDvLsfFA9CqFDvL1+JDYyGuNtlZGO/f+4b2jTyarNaU6Au1oVNnhvXcAB0JlSnkq8OXNaZyArxm1MvLbvxQHU/0yNoiY++HXPXmaXHw5mpAqlQtlmtDJ05Vrcjpba90e131cIbVnRg5UawNS4rEf8sjQcNBjEMhpvc31qNoO3FqRBsSR4vV0XLtZGn4ZHl4pHLkSK65/WO3DnitlBRRDGzzix++OTAQWAylXqkVT58eVr/vRFwzgvZIiF0H5699838JrhksqJVZqRZGR8snT42MjBS63TabQMRoaibW8mqbBhIqpZVPv7fzxY9SPs/U6faTj8+eDTGaj9T6H/z8H1TNpqYZ9MzfprARQGOq9nhDrE7nb4A8ZE1DBswhOCTd0tME2qrCzcD3nhZWVB1aYMiIDCU92ZaUtLAuTBNtUfH8jV/5a4VyvhhQrFVef+1YY2Hy4MPrUWZFqde5814nSrGFG425qebi1Y1Axk/eb89O7M2PtecnWvMTnQ+vRx3W+954cHJwQ75a/NX/amT/dyZb2o8RwvpqfVEL2nGRxuzbEQOR/Tvi6bHe82vDo8PqAZXz/ec/1VTrbbx7/1prbrwtVXOtu3y9PXtl/+bb3TvjOwvXfv+vj1Wqg4XCoHoXubcCo50PJ3t3piNdNBemm8vvtYRaLad3777TXX63MzfRvD0WOqQ9d+XgXhx2o3P33VxuKBxJZ2qo13qBe4Ay75SIf7a8dMe+TbU1xH8Yzc6gQyyASs5ZIHpZS76EdeKC6wELaa3ywMjJmnOm3w0QQqKklct8ORJ1TeCTmg8pLzU/FL+i0bFaf/pZiAH1j4XywYB1hSCMyzoPZK/1IZ+E8H3y2VsDb3CRqHErhdKxYTUHByM5vPraa188+p5fcPj3fv1Xgr+jDi6o15GvjYbQPjZYPH7QqysdaUH7wV/5y/+1mtyVgbDSUDFcM3jiVG1/f6O+4ZfpiFa3fvLRybPD1ZEATP4/+g9/lppNr9dCicmG5ghErDhC/+QvhJMANX5/r7D3/9X18IibHazzZW3jfV7tvPv0MynprOcnvlEA6chU/21Inkt8qxP56KWXjsgW+im01t6JSqu7MEXDOIAyVr813pmb6n/+U/nK8WKpcDLE6/emWwvXhKTFOHI88vvRV94o1kJzDY5WKy8+GKvfvsKSykRr8Ur37rXO4kRv+Z3WwlTr5iVt51hQv6K/805BJhuM3Nd/9t7+7anunYn2h+/3lq515qciGOKnM3c1KsLW8vXe4rXGh+OvvKEHT8JJoycKEVrNW1ONWTG09PHS1P7NC735ye5yjH+svTzZWZrqaklczenO8mRzduJgYXz/969WqgNReg6PVnIvH90O4vHL4r3KnZ6PSBlM+3ExYFYauo0gY9phaUGRXIdQUZ80LhWwC6WRLw2cOjucuFm88zDEulYoq0PFWv7suZGTZ6pnz54YPT0cVUG+JDSHQogr7z55cPrcaAEd/Ppbr770ci73ytGXXjtqNCPc0844QBNK49Oh4kAANBB/9JWjOfXWcvnyQGCxVBk88tLR+s7jQOFv/vovaxt6WXvQX3n9pZdfeyn38pE33jjSPWh7NxUJ6lG3uaPTi4MlbcJh10B5oNfvBahMjjuff3LmfAyvEAXAH/8Tf8hpKv7b0D59E6sYNiv1eObN+E7SQF12KsLQzcgJ5LKXuBPjNlVxu0rQ1VlglER2lLhq4bEUiCSy3s7jGH2/39HQK4MF2of54kD/X1xt3J6u3x5vBlLvzqh/fHe8s3K9Vqvo2ZDhfMyw/9H7jdtTreWrrSgE56+0lyZDdZcLA8VS/kjueOfujaaUydXe791oBcveu966N91ZDBxPNQOgC1caty8F+/Y33tXTJaUoogd7Tyd7999VFN17v3fvWmP2UhwWVWOwe2dZMr0eH5aur/1fVwslLU/GifXvXNi/efXgn/x06IqDAH2A+M54d2l657evbn1rendeu/B0hfn4ciKkS3tx7ODOZP+jd4pFpLOckX/99Ve73f4L2TPKF2HaKdLobLGLA2IGOrzdwttxGjTs9Vn50AmQ3Ro4LHc0F/V+pJ2TJ4e1M0zvaNMFe/1+5PGK8ng+NPTG+g+frX2v3+sdG5KgD4gfhDSOMubLT0dCgYxGIVj8/e/MPldXbvX5F5/ufPEpS2hSpVRN8nXcdOfLj19967WyesD53Cs589oPv/t7uletXKwcUxt7O9D8N0NJR2Y7eWZk6/MfPP/8k50nP3r+k49FcOxnQnHp4i++/KTT77/6+iu14UoQcEGK5aijfU8PHf/o7Nsn4vtQQb/wC3/YQYU1VtTxdMZAAlmzGdPgENwnSQ03Z0StWhDe9co4/3VkYN8UGYfChR/C2qJwbe/JZzHEYmVQOyUi+VZVbFWq5Rezk+27kwdLQW/XmwtXm/emIvXnXjpeHBzU3svy0MtvFNqzKgFVhM1ebt15J3L9X/jTE0PlwZCAldK5tpRrIOl6K7h54YqWRWbH27Mhr680Z0PRjjdmg9Snu8+uhoYLBqpWi/0vZ5qzk9rvsaw17cZiiOyx7t0g2mDxG6277zSj0Jwb7z0cK1cHqyOV2slKf+O95t3x7ofvqsK7daUdGeDW2Be3bwyPDp4dLR/8y4nnNy+37r/TmLuuJcnbb4dYVzP7g4shRsPrMd8YcOiB0kgpl3u109jRi4tQt5Z9PB8qD1HwQQ2CEWyN+911FveIs6U3OFjrcxKgtcFyZbA2UonjX+il8crFfaG5EKiN9HLQhYY3Vnq9A1bCAzRDcUBza+35k09GT1artVKlMvj735nHv06/HpvGaeUDOFZCyL51/M3BiPNq8ejLL+2yEtze26iMqkkVKuXv//rfjBH+g7/7v7JWdWzkTG33mYjWG0Wc4fudZq/banXbvW4vir8XTx9uPP7o9IW4hFZhLl+54P5aICfCIBJLSPAIy1/4hZ/hdY+iXkcsiY7XEjBONJiCGe4XYk0Q/DEdPUmlf/jX+rNIX63Bps8GtGLXSnpTrwVhXRC7B5qfRwHbHzkR2VaPJx0vHC9XtDI8VMrny8ee//bUwXe0h1h1260L7YV32v9soqLuaTFY+eToSOdeYHSie/+d+u3JqLHai+907k42Fsd6/2K8/y8D5VOdO9c7IZTnr3fjw3JA+e0o5joLWt9W+bg801ia7i1d7e3MhBejaqkMl7ub7+0taWmmMzcZMdBdvtakv9ZZGmstXG6ERl+YjAhpzl07OSqlMXyi1Hk43V+eac+HPrmmJca71zv3p48dL4zogOCSgSg6m9++qIbMB1dad6Y7995vzI01F2fOnyoVpC9LqvYLWqqNiBooHHv70gmV1zvpT1S50ZE2ZJqkgQ6oxeBgF7X9MHvAiXoxSvUjOeW60lAMZn+bGgbK79Jv1pORpWL/oG9nBYIr0tBasepqqW9158sHIyeiVo1QH/z931tw1b7LwqEAzZtaab+oQIorbwWaB95QfVkrHj2aQ9usdPY3A7VV0XP+3/13fka6+Td+JfwYh4Uo3/1SFwEba9oHsfXwpdzRkhbGK1FBbv3kBwhahaWeUK6Vzl86xR5/lRPbP/nByTO1cqUYGv2P/9GfUSFBawWwSq5A1dq/j7RIjw+znZUDkiWlQNRvRt+oY5ckSFLPWv5G0ulMkTxrVM47e09lU27z6Iu1HxbyxyJTiBIq2gRTHgm60oaVfDHf/XCmf/e9zvzFKMg6s5e792b6n79bRT+VygN7wcofTtVnL6klfPt8wK4xfyXAvffttw+iZFycbP3Ole6H73fmp7Ud+f576ljPTvYWrtZvXtKRSzOtgN1yCIDp/vZMVPGjJypRmnSf/VSwdefOdEjt3vzluGxr7nJreaZ771014xYnm3ciHmb6/2RiOAjvRFRIg/3NUDtqKocy6c5fbszNRMX5yiuviXcrldzRN7XHevZqc26yffuKKtqFqcatic79i7UTebYB5kMMVKulUq00qAfFgy+P/7k//5/pIR89vJRyrhKi3wHg4oYn+USKWaEj26IanTq14LKlnka5VqYpUfGmzTov+u71D6ojJenm4uBBAJcdmAe9Pls7SoFy9TR2As2fjcQcKxHqQ//0Owsbj77/9HH8fHfzxx/V1ZtKO59M1TGAjcc/OHYs0Kztta+8kmtuSUM29ra0taN0PL7/5//sXqDiN3/tV4K8gvKHTw1vPPru07jso+/FlTcffxS108/97HvDJVWoobbV9gZwmkiMdqR0/sppaFWZYffLT0+dPxUDHh4p/sIf+7kXW2l7JpJMlGppkeKflrzaEoS93lrhLwlRcbN+yDhOc/RE/US7WZmr0DTR+i3H19Oz3Ksvdp4WtCVFC6dagh+ujAxXc68WC8VjkZiqo7X+6sTe4syL3zrVmLvS/Na55r0b//tfvFRSjTx0+kxxb/ZiayGkwqXm4njr9njj9uXW3KXWfLDpROfOTPt339N+/PkoAadb9661bo3X5y+2Q7bOX22FtJ2/1Fue7t6+Et8HAXeeXi+HqONR1oMfX9379uXu4oSkS0TFQhw82Yra7s717r2o5CYbt8c6C5P9x98oVLytr9j/9Ebn3kz81G9fDX2y+8HFxgfjR44OVipawX71jeP1f6xNS6Hp2x9+oxvEvzTZuTVx8Hgmbhq1UYHnZXJvqgwdKuYjNZVHgrfy//mf+7OtFz+hqU9HCCC6/JBXEGzqjkGKWr2Sba36aEs908v9j+RyAazR07WRE1X+6Dd679lK1FIlPdke9cmxoGT7MUi6pLq2Et93Ot39nbUQyidPDWualUJog7Nna2cujJ44VT19bvjF1pcSuHS1GYzU83PtOnojGCeu8MprUfXlckdeGh7WelOUGUEWB/2Q4w9+/W//kpajI8wqeWXmk5WTp2tnL5y6OHau3d7UkmTp+PCJqnYsVUp//s//x6dPaPdfIQ5ni1yMVsuBW2pvn71wkhIz/yf/5B+ibMj+9JkxrYUSirfUHZK5xAVigfTSaKQvz57wDhG96NIr9bI4LwrSK9voYKQyxbqbY1ygRBVSHVWvRxWG9vUN7fzOlf7C9J9693RF9KyNUX/xj13oLU7szwYjTvd/73p9YWLhf7oaVdfoyVrlVHn31uXG7OWD7/ybkeJbS9OtyPJzUWDNSLzemWkFaBbGW/OXg2LbQavzF5sB4iglb17U0nece+tS69a5UBT7//jUwbOpiKGg/Eiyve1r/XvTeuTk7njo5vbc5agCO4vX27NvN5am2ve/EcNoLt8Ina82YrUUzLofYF2c6kiNTLfvXK/futhZuhYoKhb1REzuyGv9D98PYtbe6KgOl2c6v3styH7q/EixUhwoDBaL+f/5Pz3fvT/T/vH7heJQJKj4fnikOhQyplxqbD0WKVgQmwstWKFtwMT6hXcgwNaSobyjJ1LikaM5bT8s5WujRZX5KMt99fUP1DUHZN1en9Wuh4HmoUgPkvKlg3bo5kfP4Wa12ELWV3R8sTIUEIxjnj995FdY0GZJf0h454sfHRt6c3ikHAxVHs4Xxcd5UbW6HIM//Y2JFuvEv/nNXyzr2fiitHtpKAR0VZEf6qLcbe20n69HEFSr5fB1LUygfee6aaj88mgpRr6nF7mLGbd/8snp86MB+pAxf/SP/hw6ijUNaJiwx1ZJeIgFPGC/K1ViXRSs3OKKdQU+pp4j65m9I5vwWjTsK9r2Hmjf4OGLLz4pF9SDLI2wvb1a6m+rGddenOg/vVY6WQkHDI+WIxG+WLwaCNDui+XrIVgPPn+nBm8Nlgd7P3qnMT/RWb7R/d33OnffbQY0F2bqsxdU+d3S7rbOwrjW/O5cb3x7rD4Psueu9kJC3LzUuXUuNENv6Vr99lhr9mJ3+8aQ3gIzpA7dzrW9hdDNWqOWPFi+1r7zTvfuu635K7059a3b89f6m9crbHIoBViPvtG6P92/I9y3F6Y7s5fas9OtxRntNCjpgcXL58v7ty/s3Rxr3p7an40xXIhp7v321MhwsVSMeMjnq/ne4+v9+9f2Fyb6dy699tqArFLJDw4dz1eGRGYWZofvG3fS82tL5aTDP7yCzPO7y7x/Y2P16Mu5SiU/VBkaPj2qL9UzEV31+t3AJQqneNDvsad3rdvrhSbRivdwvuM9dE9/dOJk4DGKyKL2/cQp5YFiKX6OPV77AcUPAtJdwi3B6/jgG+UYf+B4JHTU8eDUUm3g/LnR//4v/zd7mz/So41bK7/6t/4HXu0wJGFZHVJmltyKAvR4v7MbF3z+RG+ZKp8MCTpQGlYVW61WqpV8p9fR+yqEMXUkN3/yw9PnThWqb4bv/uSf+LkXG1q6l7LXmzDMpzA0PZBkvVQIsqnT61PqW3y16whKzuybWkhJbKx4e4ZyZeoFKieePVMeyh+vjlSGq4WhcvH3v3lJvYWFicbS2O63r70xVIlwjGw1MlLe+0ehBITm3Q8uBHCffzBZkSYbPD1Sy+WGWrMz/fvvaFvzUlDjRFBv5957ITPqgeOlIOyQ2tcOPpwJkdq69w7t3ksHS9PduavN+YnWh9N+ZFUqYmtMC2CFoVAa/c2Z+gdXe/ff7d8Z79wZb89daS1G5Xe1fftyZ2ny4Ntjf+cvnhmh5zVUHiwXygcP/kB9brKxdEMK+/bl9uLF3nJIkbFq1FiVwZhdf+en23emunMakirRuan23ET/4/e1fy1Y70Tp2FCxc+uaiP/2uCrO21cC4FGk66daGDk3qldcC6+yuwnYlCyDuzF3yCCwkRnIyy48bBKcq8c08DR+2Vxt7X7e7+pBjd7BQbex2WDlrLH7hY7VcyP9TnO/rhz7OE7lgQ6eDvH/9fRgy0HnufY3I2x0XyrR4Dyu4EP9v17voP/8yWfaC6oHC/SIeL/T1oW4jo7Qcyfpsq2dx1rpfKa/WRNj/7Vv/uKNG5d/9mffj+M3H33U2Fmt86JeF2nPn37W0VB0k/5Br6EyVwUDy5MCK2IjKWHFgBt2elmAjlSiY2NdPXurIs1m+JyX7CYNZ9RqBYtimdmuahPt05V+e2/kTKWmbTdRWxwffKnQXJjUsvOtEANXghd7j949dzIKl2OX84X2cqTm4MixztzV+tzVg7tTudwbo6OVkpb+i7mjr+/cvd6du9QIrCzO7EeuX7yh1Za7083ZyeZclHFT+7em8uXymVOl3NG3Gnemu4vjerwvhPXiTOfuTDtU9Z2p3uY7qotPViulYufJeygWvbqgDdz1gOCStpL2v3zn7PmSVKDK1oEYQ+7lk83FyxEkUV924+LzkV4u9udjkCrYayOVcrG48a3QIeMN6fW3e8vfaIYcnxvr/k4cEzokqLnQf/aelH0YYXG8futSf3mqtzZd5S0fQfCRjrvdLq2M9P5ZWJCqi2dX2a3vFSuv5eoYMVMSFS4KU88U5NEI82KY+hLu5fEUKkD/2rqMnhXYY9mc5V6ytgZwuJ6wqm9Um+qwFxtantQpT3nmSDGWVuN963p6/6Cm8P8z9SawdaXZeeAjqY3bW+7ydi4ixfVxpyhVVbe7bcDOBE6jAQ88wdgxBgMvYwTuiY3x2HEQOHYyNjAZx9tkwdieIMm4x3avJYn7JlVVO7a7x9XVVaVdFElJFPedb3/3vjvn+86l2g2imnp87757//+c73xn/Rlk4I/6XfSvVF2Jff7UOZIrPCZgkZlq3gmbGBgqZhwDfXfkDHgipbjqY+D0YkoguDKQl5nLN5h9gHYHvohOKk1Zszn2gJVxeCTlG9qxqCpCtxEQAoUQCxJLxuxYKGyEAnVXSrPv5CYziFuJpV4YqcwOn4m3NJvJTg7mF8Q0ixD0FYTpLo06i0Pu/JDImRimeBoCLcQ0LWIauHI01e/sjDubw69mMgf3QJoLk32lBVGAUe/ZTdOOxNKGEY963+kvLw2KBOcm+5y50eKMQPWoszxe3XnHQGrXEtvvvR5DJZOQjeWbxTtdyJgsjlUWRvPzA4FAU7zFjMQMbRRvvmKJYsiNucujrhCS+d68APniwMWLuI442vITbQ5WPrhRmRtx33+7PN1XmBsTmBc/tSzPdbu7+u2x7DdEZ1g4NT2UQ5/iiFiS4sJ4oFZogNnQVN9sNNbWXjzZeQq41YgntwoHNJ13CqlY+COIlOwRXLAvAt7HXHl1Fn3qTHGne8QdxB6p70+XHTut1pXsE4JYpMRoBk4/hf5ZPwKrL7IfFO2uEClNuSHvSMzGBRmZKWjgRS/CaBq/DsEDurY42Er/qgdBgfLS/iCFDjn28x0si+Uj4+Y1UarAzE/5d8geM/ZTE5V928UzdPBOVSTVzAAXQtdX4536T0Vi6jeHrrLej4uFNsEVVrdExVKbllXemhB6kL/TVZ4VFBzOiz+3eL003VOc7SvNDrvib90edJeGi4i7dZRm+4UTF24NVVdGO1LCBKPwnRMRxKrBvQzLwgiBSNT8N1/qE6ktotpz4EcnOkHBo5FUMlaZEZ3pKwo0okROO7r7xL67+/1REx3Xdtx0Xg/kFjKIN8+x93t6oCwUYhJkwwrZdgyOXzpmeEc/4ImazQqKj1U/EOkfLM51e9+5GQg0o90tYUbC4eS1ZHmuq7LQW7gtfuRg5e6YmJriwmhpqhM5HRH9230sUu1B8lzUZmEQ6ZWZQWdxvPo3E0gAxUUlxH8KVqoeyQMsLLFW0Q5o5Nd1+PCmSw1fHJu6r90rxDna06zKFsU05ws3Szr5un4cHIbRWYUx7uzzwgF8PvZb+IO+sxjjxCswHE7sB9qh3IeUnf/VYJkfD6DWodAHN0AZ5UAj3DxujGCsYXXoBqRNIzYUx3OVwIMgnfSiiBGP/BYtOVR0p7HiF2kOxQ8EMemheMwvojLoe6hdPDWei6i0CXOPeCqWH+GDNKsx8jNVUAW3WkzEkFMwY5GGhkhueuzk6/3lefHbOlFtvDTszPUXFkWMhLMO5m5dLS/cQKZjVtyvvsrSaFX8pNnx0vRg+bsZBrOaUy2mbbHVEQmIJiSKE+GaQLAwmRHe4q1MxFrEDQ+ZwgoCodKtPmf5Znl+pAASPFIWn0yEbEmweRQdbKY4JYb7SphGRjQqPzsoNKNwq6M80+MgNTN4+o2+V7dHvc3PnMxOlCeHCndEtcS5zFT/67i3NdF86UoyGo7HhPMKPbARh/a+WJga5WilcfbLjDjg4kPFxeHS3HD1vevFW11CtZ3l6+I2lCb7imIx3n8rf7sPkcSpsUCgwUZCx0KOJhE6Za8EwVJ/UYu3hlwViYT6gprXPU8FEIYJP9g5LdJQAIIc6z/V8qomqJRreNuXdQKTb2Nh6M8rRuBQ7mstpI/Z2Hek3CG+gEm+QS9LyIQWgYuzNAKUwCdIwOYznpxJ/aRonqdjoFQgVEBlVEzQyCv0Ktz6ooUr40VSEagfDv5SK8TYBSv3z0kIZZq4oEPdhaGtgDef+Wdh0FjwD8Bz3I0+JDRM+RaVb+0Pfve3bM4pNKPGwz8TL23Cuct03eL1wuxIaWmo+P7bxclrxcnu8lSfe3e0uHhdiKa7PHF6pzc3M1RGiWavWPPy9IBzb1BYwcWLTSjJxRyC5lgq0toavVQbLswMVpf7vNUb0UQoZAUF3uJJy/uuuHQjQsHLy+PiNYoMiRY5QipmM+7RmCH/MxuDRnN1cxSsWiRvaaw4M3B2p7u0/BnhHu5iX/nuMIo8Z4fyM72CpmVxH5cGe1tTBjIfEYSTxEO3hA2HETOGW4nHdF7cqNwd8t7POMKgUCaKgTLeHOr+0Bl+752S8CjxSqcHAMxiNBZHivPDaCXcFDZvhAzxOK3Ll0A2IHxKf7GqPof2t0fJgz9TnbNXVECVLxJofWGlD6T/pPGFuCt48ygPqgEj0yo3BFFi0wFqpjX+TRmF/NEOYIsLPDxcD+aCAvBFSjlwmmYc9EMxmHqid/59QITmqHTqbCdmPc+hmncCLxOidaapZc1rUrX0AVVjeUv4CHWbZAxizcDzoVZ60m9WHaaG5zEjVM/boj/BzyOggdM/SXe02ksVV79S3haovRBHWa0RjYa9h2+VpvrK8xMI/c70I142Kx7SkPP+zfJUxl0SORYGMio4Cnoqe8zKemSJp3sL04OuSOSj0Sj6QQzTily+GPRWb5bkr5NdxTv9zsZ41A7HkkErLuwg+t0/7naWh93ZgSLIA+oznaW3MeVoecBZyLgnE+FQc1IIhGF42+PlhbHCvJCQXiE5JYQj+mA97o6JZynSVrx7U3SgjFaugfzUyKXm+rAZDiXNsBkSshNLhlLpmJgfVnvKP6PRpBlsCgmrOZsdyE4Lz54ozWUK012VZeHKg6XFseLyjfLiSAnZn67K/CgCILP9+du9pdudrW12PIrW5ZarqbMdLKxfQwfs4S+EGdmh091nyBS8gW0IDdpJ5Hf509b6dw+27ud3npVEPnaeqa0vYBAr6haZDOc5VMorKK/qHlFiSB4oLsXjjaPNx0cbj/c37xe1rEcE6E2GQkz8CSYl5PZhojWcpUwgu/vsePPp/sb9/c3HxzvPNE3BEDVmKJ4BOzc0IY8upBME2gCIuAeVIvxk955lOdYQKqfwTEhmEZLe3pvzbgjYfkSYBJpyDPaCinBYBqrcGr1JvBLgMzMLtefrH9FC4QH/JHLQLtD85Zhtj8bR3SQ29FRgb5r0UQzrwghGHs6LL9VfmuuGwyQwPDtWmeotgpuiah6eE8ayDOYnhSeAkPzRl7rDVjMC/lbYzb9VuZcpL44583LNEe/ldTMSFWw24sZPf7bLmR6tzAyKo1lBvfJEdW64dLu3PCPieM2Z6nYPB20bczlM23S3rheXxouLQ/nJPuSxp/tF4HJT1+DnLQhJGCjNjeQXxkTmMHBxfuSf/URrU6jJjIXMlJk2Yu6qPEif++rzTXaTmbSiURuzNaLRQF1TcREJIMTg5jOlye7SwlBlebQwK/eDwlTkHecz5bsj+SmQHIHz/J1+WSgMa0yYdsKuVh0GGYiFSh400Q0pJPIRDvUH2ZPDtdPtp/lsNhCoSbXa6RY7UBv417/9z/ZePaBoQg5Qr6n/uxDYf/E9fhAv1l7ki7U18mZU5ME1XPfc04uXLsg7U+lEqs2Sv2Zzu2dw9CEGsvX/4Q9+M1DjX8+rlkgnoDPHm/c//JtlebG9PZ5IR2vqAlsba8fbT+lHov7kzae+/z//ldo8Rw6pnwoXkOIEN07pKxk8uQq50wHOwiJxIsLijAufkdOjw8rQSYVFkk9BN7h0OXqBrO0CkmMkJk5xVHVhoCOHBjKYJN60OKTrp7tPLzVcgbsWiyRbrLPJQQflwhBQd3ksP9VZFiycHXJm0VK687Xh8v4PVB6NFe70FaZFbjIuLLLA5HV3cRAZPgTCYsiO2uGaRiP/1f6SENCpHmdpJD83mpvK/Ng7HXWB5o/+ROj4QHG621kYKc1n5DrFqUxxftSZocslkL804R6OhMxwNGZHbNvdHnHnRsRjKwLIB8pzY8XbPWUxC2IrZnsFsxF4uX0VenWnz128Xpnqd9dHvW/3nEwNCX6X5/qEjiNecaf3BzrjiYQdSSJfaMSM3/yJDrFFmG03namQ7VQWx8rL10t3Mtnpa5V7N0rLE2WM6ZAnFc8BufcLtc2pdNSIhkKYX+EokaMx5H4gvrbC5O05gJFDn/EYQtkOlBxFQxFTmBjGVHO4OjLDJ1v3ldHK77aNSrpQuEGYDIs81+su1JpgSkZbR+v+qweEtLVy/jCeiiEbFzNlB+1oGMOFE9av/9N/Ujh+CTuwtzr9zf8YMoKcLml4bjm7u1I8WD/cfhjAEAITXfFMImpqUL5aYB6xP7HygRq5MTFlLW0pjMhIhIRcRTGKrUbN+zmh8h0D/H7sqy5oA51Ov/lPoVOZFfScB1Lus/tVUzzwmxmjpE/JigB554tAkUdI4YqQWlo33w4idILT+Phuyjc+fLzzSCQP6Q/MK7ERfXu3tyRcYnawMNtXnB6szPW6c30ntzKyyEbMiqXDHHVlCg8pzw0w9YCgbBl9gZ3F6evhZlkaNLc1XrFETKsirwvj5cXB0lxvZVEwdaC4nMmitA11beKNVZYGyosZgVsx6MWZDIfe9ot/5h0MhTHryLIs030tYHmjtDQq7LY03S1AXpoS123EWR7PT/fLTxH+qLDqmxVhNTODhblMSTB+vld8O2FHhTl0rGBo3Zyw5LHq04lIzEikY9hjy3Iw2XHIE8EVoizUYk4EV74o48z2FOZ6i7fay/BNezjQo1fEPVATtGIoaRd/F80gCIHRhmJLuB/+pNC10skLPbYMPg05bqC2DoOgzJCFszIi8ZQIiFjFoMFShyLn18sv2lTS0HzldOcJYO9gvbYmYFoYttLWmd57dV/2fu/lg4bmOiMaFJfUiJrp9iTyzFE43xErVMrncpi5uDZ9+8vNkcZkSzSdjgs2Q8hENy5elI9odprNUSYi8Snhf0b71URuF9HiAIK2KAO2URWM2QyMgVq1gYC6W3guhufOvQUye7p3eHx4kCAFCslYB2U44NycuE7/GDDP83HkbRiJy4XCkEjatwAdxlVG+3T8nrqNaziyisE/fQOXG5c43nl6sS4gdBYNj/HI9l8MlO8ha1AQuZntc+4Nl+f6T+9krjTLkjewAE3EKxKoNfK3uwvvtpfmEH8oLQy4YvGn+nK3Bi83Bu2obdrBkW6jJFK7NFwUT2umT/5bmhsrTPZjyMbiEERkdqA01YVgn4D6wpi7MOrcfRv8dUoAuMvZH7U4sjYat6trI1l0v/aiEhVRiFGx/oKm+anuimDznWt5dBYOIl+D8V/dzuJ4YbZXrEH1/bfRVzKL4R4F0ZZZtLV6y4O//bNdtqhKLJRKRX78syl3OSMcWi4i/y3fu+m+N1pavC63J1xZ7krkOH+ru7TUl5/NVAWbL0biCSEbVjjSVHXLMHoMEzEK5kMycUhzEIQVRh4OXz9MtNpoFgYoRjxUyb2KpZNhuxnRzGjobFfYM9rvUCInbqvZeLL1DIQSahAwo82CEd19nQebnwpOVVApGhE7I96OfKSU33MxXCZhosgTk/WyjIstTv0/Iu7xZNSMh7xqUSTh8NXHZlJ84VA8YYuhcEq7npNtar6CgRsxIxhuQswbVRmBBOo6LOEX/+53fuMPfu+3/ujf/et//4e/9du//Wvg5aSsOpFa0VOfGrCqKKs8FspDSAUh9uMnPDoVGg42ck5IaNboAZ8vV4HSzM8ou8DcW7ql2oRCw6fxEVA9RoKyu6u1gZooTFVY1qW82F9ZHCgIe77T7cDlesu9OxQINIbDIZw8ggy23dFmlD55S+BK0MuZHy6L0Is1RyXQsPP+cOByvYVqQFniy7npUbLPLjSJLFzPzwDvKwjGdSHntzReWRp1l8bFssvHXWjFiDPTI0Benh9xd0eQt4tFEinbO3g7PwP+Wnnv7erd66XJa8jeLQ+iMRZUZ8i7e0NeKS+LpzjmLg64i+iZFQmuYmKGoL4wmV7RTKEN7r23OTtm8Ep9k8Gq/PqwWKQRZ2FCaI+AdOHOgLM4iJKmyZ7y1KCziPLUwlQf4twLA/mv9LXIXcVRt5lsSzrFQ5JmYAmps26quu0+ZDDIAHfHdR0diiUCfXfhVk5o9M7aD35unEPXUXC7u/Ewy1p+XD8aaWy6fLz5iFHkFzW1AXQrxsOd3a27rz493VsbG+sXZJGNs+2w47jkNhBBbFPcaGuNwbE7Wp+b+lORUZFUEU2hRTmMm6nKbURTKK2peh54//7zlccfCj+MpdBXe7on7JlF2BwjBi6OWS088A7xbJ9LIIQH0UQZJ6UZWKtYqSk8lUM/VuNHbOA8+Efb+ynANSS9IY1wBxUX8ox5ywcDb+ImDO/xOziyt6DhHrUCWHpE+8Rd2NnbCKNNElnfaNwsvxyG24cZm5nSQr+goPfhkMXiBAMx1kbvo97S5Ihzb0KcxeLUteL8iAifd280f7ujND3gzvdfqY+h2sGORAz7aLLHmeoSC16c6spOdpcX+sviwM2yqAh0fKCAAbWZvJD1+UxlLlOeHMKcT6HFM73V3f4IpvqFwnbIPXhH6IRGzRBhmBUWIR8crtztF5GtiPCht29coNd5f8T51qC3d9N79rnqyyHv9mB+uqs8h5BLeRYl0cVFCGhV2NG3b5ho5zRSbXb1g4Hye+MFcRIWMmUECscwOVceTdj88mh1eUQURhRM/GDv+YDosxADI2okWuIcr7ZxtotV5crzRygyFpneDLcAhy4frP7KL/68AHAYc9qDnlsicq85bjEeM0yW+LiVY0FTEaOwgalzEaPpYOPTMyQNXgRqajmHJNTV07638VBkAhDeEo8lzEQqsvvivuLf/t5qLBFBONxqdhxPsHPh9pdBjuPg3PQC10u5I8y/w3uMIx2lfvhCKJMgvZUQwDY3Vz7KH4JphI3GRDIqv5yBKqz73SWky3DGVLrAr+CP6Ss+/dXIsQbp9tdKRwjR8HXNj5wr+QGqw+l0rrKVROPljHmTSQfwVj8Hcz5x47wMQCOUhGc9DmjN8zzTbE6lbDtmobwwHvqLfzUgjnzxjkiJOGRD3q2BH/t8EhGApGUYzd6ZOFh9pzNDuduDwnExE1HQbq6/+G4r5WysMj/gHb0TE5sYDbdfNU6+nvGWR52lodKdvpJAHQLY/YVbHZWFseI0/lmB6ZdvzMAdnJX3YLIM+gJnh6rHE2EGwiwzUt4dLS9jdoz73gQTgaN4s4jmZJfz3g2hws7c4Nmd7uV/3xUI1MUTpINCKFti3s7b4lNycH+mgLauIblDIdOVxWHv/ohpYGhBe7tR/vYExh4sIsWNngAxDveu52634xnRdtBTEeo121dYHnz9zbGoZVio60X7rfhz95bvYM/g458fSnmIykYgNMjeCpMRgizrkVB9GH0A4lk05Y8ZZTtYLZ5sYeitW/K88unO87P9dZFmDEZLms1G4+HmIzCZo/UaeRGDN8NdPR37Gw+Odh6LG4eO1JRVWxc42kKRvnx1xUVNqYn5WgLYRdn02Zk/FVbTHGmwo0bVyQsv/+3f+OVUaxzEPWZsrn9ELrt6tv8C94A6oVJ2+3EeXiBnKCYwpQDguIch7dndZzxzWs8XpP+nQWiEC7WkgjzWj2b41EslPs/xAeAScNvg7THprdXYfjZRsYC0DdmSAHw+/oZiAAbmzuMgfh0tDCJ+X3WLhy0t8bAZxHkOoBkW+oveFZooOzqO3RUyMDcWqG3EQG8rFKhtcKbGqh+8VZ69LjSjPHsTjU8LQ/nZ7gqssFDkQWrCQLuJaYve1him0c0KCekvTiPkhyIeoRPTfcj5zSLLXZ6/jlm3gpdz/QUQ6wwEXcjx7Yz3ckzwL5oyjEi48vKGvI4pt/cmEOGe6slNIuqCTPvdmyiK2vvMxYshZNGjKHEWJx2DquzwV361p4TcodiQocLiGDoMlscwl3+u35se/uJY68Vm41/+dKv3/mB5Snh/FyJ0wp7RqthTXLqOgtXJLgxGwowEIWA9xZkhb+OH0smg0G4xaGEckGV4nsNzICGycNVpD8/pILN9Qhn3nl24EMBE0Lggcejo5WMySFbzcEIXJAZmWkCxlm9DVSqCYoyLBUMijpGg0dTekd5++fHx9rPL9ZdiqahAqbwBniiDuDoeV55d6G+llMserC7c/jPhhwnWhHleQZjn5z83inm1Ucy7EIcSkUSiHrIwtCesdlqtCdSFWTsaNkNo875QI9y99mLN6R77AIiYKrvnLItsgaSCMgaqoHdF9qt8zB/h53MzIK9CNQmG8m9KqfKNgFIT/ANn85yfDM4EFa8rn+H52Hsc9hFDK6Jpid8Qrr8QLn+9tzCF4pvi9DAs+8xA+c5AoLYesp6yelqbcrf6vbucR7jQX5zEJApBssr7E5XlicK0+HkjlaW3S8JZlwdEwrx7QyKyeTHxi+OiHg6CEmPg1ouC+n3lxYny4mgJUd7OCubLTDhyqSkcXIIYxSLGEly63NzaZsjmlpaHcwLAdwcrohJCEuZGc7evCvEoz4k0j335fx2JoSoZg4eFEQYFicRDw7FuIe/1W8KI8uIGzEOLnEWxCd2Ve+9URJdEx2YGEWOZHCnO94uHJ+RYxLdyj0QLccAhZxnlGSXRVaHRKPETmjTsLQ3nvpJJJUHoGWsL1tVdPnj5CbYBUkXbqKctQlCUZQrjfC4EFLMykHMN77/6BDtNPwlioX3dB368OcFGqTj6tyMxcfXSmLgcRaed3dnVurNxf+fFx5bdzLkfIXk/t1Vga91zqoYZEhgWTrL96lHxcHX2zp9rK41YS68qvHmlow3eiFy59WriaPuJD3DsJoQfRqaaP+J0KzvSHG4UeDaimMxr2kZrR+xkF2GWHAKRiI8BZVkwhGdhtI4D3yjW6sKpjJJOaJwOeExeBJn2s/1kExRaxXKercNp5ORwXErqBOgIsBkgfbrH8fF7a07VhT3SWcLJ6CkaRQeK06POHIqNypgANITa38XB0jcG/sOXMt7qROXeSHGBxnp5CMNtESwTJjpURmyhv4jZFGhTFZGVSzlL4ldlKneHheZiQOhMd0lo7mwPGIKQjdkhd2EcU45menNzOD6isjTAjMxQYX7IwQkpA5XZsfyk0OuhwlQGc5XQmtWB96B7BbqUmxkqzI2UX12PIJ6FATwRUcy2eIcZ9rbeLrw/cjaLSyGtMz8AJ3UeIYvKQsa5O15EDWqfsyw3D/NSnup3741lb3fnpwYx639umHQcNsSh3JenuhHiEP/yvXeKs4Pyu/dRT7olij2OReJp+3//V78irrqfAdE0gW6SwhKRSUA2YoWIi8bOGsZyZlkIQeNJKiiezL4Q4tp4Cg53IhkXrJE9MlDCjznWhhlsv5ZGI+Dmp+hrSonKBsVB1AOVc6SOTWE0usubT483CofPl2a/IpIdMoPi4XmVQvZgpeNaWjvl4snI2e5TChMFBmkLTW2KMIkXWEMTIYpkYeyd6JcdbO1Infmn+/hyScn225/8f/oX5JksYBo4/Ip1dvQiWJZMCAeDArXQuLVKLB1opAl5P8ieIEvEox2xlKwEZ3YUgo8cKQ1i2LiCc0kwk8GwozFhiq7g35QgZW9lRnarF27T0mhledhdHCotj3qLwyKyhTnALUgkuj+uF2ZGIaNLiCFU7mGprAAAAIAASURBVN5EKng6UwK7yJRwWtQIyjgFku8MozQZgYtMbrKzMH0td7tLjL58S0Fg+E7GlffMYEhAeQ5zGQHAgtB3mA25iwBZCaGJwTKSzxm0Z4unOJUp3x2Xr/CefhbnVplBMYgNdaHiNzLepCD3UOnuSGlmNH+rB+VQ82+VAeqCxCNCnyqLNwro18oURG2EtwitmuyryuvTGffeW+hQlBWY6sSfRI5xalavGB+M1cPoUWHemcJkxl186/f/cUckhiZwMeJXGi+d7oBuQohZZ4vsLmkiN2atePCq7mIdukStZjEkRxuPz/dewIXHaCs2k7CC+wqviDTi4Iiq6zrO5UuX0Xhrh6/1tO2+fni88ejylQuCRMKsgM07z/CNOMPBi8RwEq4Ia6lwlN1dWV74GgZ0REOJhEhzVsToR37kHfSbJaxUS/x442PtFYBhgTF/xWIpsCORZtEo0QEhGKjix8kR8lM53eWdsyuM4Qv8lw9CrGWsjPMDyLgOYaYUucEI9lk062dS6AuCacCJpKDjUsB7krScMg3qDZeGmE8Chw9rJVfu8MXpzgocZGR6MKJq493B/NxQbrLXeW/cWRgTb8lZFObQ7dBFK04OANXufbY425O/fbUy3Q1DLC7dAoa75d/tqMz0VhdvFJdEygeRuZA/zfdVl66XBRdvXSsLtRX+PdVVvovJ+EXY+j7iekY8yCLyGiLWQ4LKYv1FiDmFY0B0oILJBMMYhTiNk6xEKEs4Q02+uovY3F9CKUUmPzkUj4VaY431gRCouXCVqWsVREsymIQkOjndC8UQUZ7rz032VO+NVabE+AgPHistjheWkfQuCslZkvsZy031FWe6i4u9rnD0mf7KvbezU73l5ZvlhQEeQYSGGlRigffLs4/wlGW4XGKFBRc1TKG0T1GKfAOAJNL2A58dwwxSuF/h8tku37bqFPdxjIgjxtItnu1lGW82cFCLgZjG60+wcYfrtRfrzFhI0Ken/+rRxqOz3WdgAjwe9/KVupPtp6x3W3NcN2w1RTAWLCyiJ+i4MPUVAVeLgc6qkzvdXfnT//hvkBaxDSFjW2sf0p9bL528QpOJ65TdEoN9cEYjsN7iAtVoGE5lSQ/qhYCJurIiilwCwKzy6iP3ecIfFEjRmp/i8aFrPPJPs9TQAY60xWqASvDjrNdbC2jXg287DhmsPucrWm4nuiLKrhOu4gn7aotx+vUMeeFgcTKDUYh3MGDTe+8zQo6ri9cFs4V4FJffFgkWH+jwVl9hGo0khTvCEzLFmbG8fHB+AtEJEcpv9BWFeQs2z/chlDY/UBHa+v5YaboT1cYL49XliTzqk3qRCkECb0iuX0CZxHBpVt4/VJ3NuB9M5N9tryAYglADSibuYtyW/C7YWZjqKYhjh8EGfYWZIee9m9XFgaOv9ggpyt7pxCFXaBMczt4WajGUm86cLA6KEJfmxkvMjQvA54Uxzw0UpjCfrjo7XpzB/HNk6edEA8UcibPYU54edO6NeO+Ny1dgbCTmM424UEWMVUeFk/CoD8ZrAjhRAVmGaOSjv1nOouocVpGzYzSaxO3kIb75s10RRyH3ETPseA6Rad0rZ41IE9oIklHPcXL7T4ReCwyLCEYijcdbD9Ewcrhed6EGR8mkrK6+zoONRwwtXzTsUDxtXe1Ibr/4CIeUHa6/P/8Xto1TIEJGc9UpyWdnEaFDm4JhNlfdXH7vuVcp4+xnjr8vHW9qGEFgN2KHYinTNEM7rzAuQ4Q4jO59Q8T6ZAfVHSSxjMQpd4L/CskmMcC3awUppoZrpMG3Nr5bfJ65oxoQcBmYwyKAKX3/aAf6iCTWYBpYRKRFUKSHIg8sKCLVxHb5eVF1K5jGwDnSgUCzeEJn0yOFya787EAOnac9GC5xq1dwGj3PSwNo978zkH23XyS48N6Y9+GA+2zA2x2u7I55hxPOwai3+7a3NeZt3PB2JqpbN70X3e4nA9W/HCx8bSg7O8YYWSaHyQG9eVEYIb4gDKOgywvj7vsof8vf6RF9KLzbg0EZkGyx8l3lme7y0ljhm1fRn7c0wEhzprTYh9NP7n0GnGFuoLLImaIIq8m33BDsry6Ni/fGZtiRwlzm6OuZ/Gyf+50hZ3PC256o7k64+2+VX417m295L8e8s+ve3ri7/4PVl8Pe/zdQfg8F06fiDk4PF+T2vjVaFPCGhqCQQ2yXi4kzA674stND+cWRH/tcq2kGRUbF92oK1WtRm/9De0gMAw4J/Hg81gSVFXb4P/3J/8mNX0m0RKIIxUTCVuj4tThYwGaEhxNGY/Olw81HDHSsXai5IOIYNoOd3Vf3X90XVfmnv/Iz6OlKifCGKtWqbHGRIuh3LrbEjl6jum3u9p9hLqMdSaWjnqD/wXOvWkTPWzQknLvqVs+O0NX31/duI0ot7kcysvXy4/NAoRG2g3I/WVRDoJiu4M9KJq8AJK+S+Po5ZsaJKb4YKs7365vhwoFxqdeopRYMgACSOSOKUSAf2kHfwUmO1gOUepJjn9P44I8XlcOJPXIKEQMTT2wcexERMlpcGKrMjJ9NjZzcGan+7ZC3/3b1o5Ff/GJbc0M4UFMfuBAPG0Y6jTNVE2krhXn3SNyLZxAON+LwYBs96xZGBNlIIJnhaCqUTBjtnWYqKcQr0lQfuvUvur2dz5/eBuF2RFZuDbhLbznCcG73i4eHA1A+eLs0O4KzK2dZ/oH5dGN5cciEf89NVO70C6Up3uoAUs6PlyavlRdvoIRfDMLM4OE3OsQHFZA++eZg5fFN98k7X3wnGahpqBG/PBFubY3G281YKoggK8ZQIAUYT/FMKvbQi+mXXYwmzUSLlW43W1tiTU2G6Ln8tCajf/yrnd6n192dz7of3jieGi7eyuTfHzwVo7Q08TNf6LAE9TD2IHLhUi0jAwAqxqFQOsweJOIIprR8bKdRdx1viYoUopXUyZmIKYUxGYPnM5ztrohEwgVsiYZCDUcbrJ/eQ6Aj2RKVde7qbTt4jeHhlaojvBnzXDBbTKgtTjQLGxipGo+DTMOjOlidn/qySLOdxOFXTrWQPVzfffVp+9U0QiuxSKCuRm5CPmuEMQzXTtptbTF2EHIsLxeqobnh4sWLtRfqLl66KCJeU3cBJxzT7ABHyTc0bYRX+KIQIVZ1nyMpSLNPr+ELooDEj2moQCMKp/FBBmcg/WQgkGYNH2bRIsUOR2I7SgEZ5SjsI/ETMZojdtCwI7V15trtsaYrTYFAQ5NpJBMRK26Hw5GoLQY0GpXFYpgdhC8O+mVqtQoGOVumGcGE6jhmW2GCKGqX7XCkEWfEmyH81wjixJqkEbXEItshM9LWmQgEmpqbjfLOeP4bN/OCgjDrqFwroH56FGE7oQoIqqDfuzTHoTB3hZBMuPOIRuOf8/356W5hwAXhA4tD+ek+78Xg8v/VH6hrQlt8PGJjYlAk0YKYQDiCTGc8YYXEoAu/QkYGdT9Q5igOgwKYxRGixpQwlpKJeZV3Rkk3MSwGhwpEzZiZaDNS6Vh9UKS8sT8aPn5v9PpAgt38VigcutbVmjtAroRApQktHDmMHg2gFzLPn//cTZSSxkXomkQBEknx7DA9lkmK2uLhSxT11tYCFKLhYLjheOsJkWy1tq7G4K1e607vvf4U3vweqDOGE8QseSJZ7ZDdjBiIjQCI61QAk/urC7N/zlFmtmyZ42QZQFwL1NVZ8RA2DqQfAJ8Q3baDdkpL5FAkHcAcUQ4kYO+zyeNMLR0Eo0X9NEHgUaxsU5cXXt35STq++GpBEqQW1UUF7dPR3hEQYJ43wCgh4R86AHIB6rwWoCPisxkKPtb0TQBF/vvs8UemCY6B8jTOFuGsBjNsNieStoWhGdEI8lWNEVFYs1kYmEZqDISlzWC4KUrxNXg6WBhT6uQhIQeQZmCzuCZwMVH7gYFXBg60Q5zVks1DZXA8wnFKuIfLkXBfIiLspbI4VJgddD64IdCbu9Vbnu1xl6+XkLIGTiOqwCMui9NDIvHOTMaZzJQ+6Fv8wwEgCK5pJltt5n4xsSCeRj0+xkBCA/Fj4g4xFx77ClgSHDJFwSwrYiWiJsYjRaIpDBdF9B3hXpF13CoyzDhWJ9QUxBGJUJKU7HAQpx3HMFaZj4YgWrolWS6cZfefItTFfhNKNofO0yIjv72/Ut940cQIGKQSmWwTbA/W1NYcb2Gzzw4go3KT6NgNXj7Zfpzj+aeBulpOqIlcvZbae/kpCejq6dbT7v52i0eYRaxm8YLsRDASad56jYAsKcHq/CRygWItjXiTV8mj/B+FqU9Ii2Gs8INawpCFAw8CPCNCBEar3o2YGATMi0GtKdJSoKYMbyOuTFawz1JNf6IAYmiETnJl/lAu1X9YQ7TuPAxC8VWHjzWGPpvg7Wn2FNhMpcGrkGCfumX3EKNmMG+1vafVsjG4iJlSdIhglJiNleLUHJS6ImAZtxHB5Zlwyur0tGrISsyOynano61Xk1e7W3p7O9vkl2stbe3xjq6rLe2paNLCm21uFaAC7gsmEEcjyZSsPY5mwx7wPHf5JdUaD9SFhXnjOLZvjZTnxN/KVOZxbKa7MIgJSSyCq0z1FuYG8gsZ99GoAHx7OorBPFG526CF0S2WcE2ctMAXWcEoG4BKYp0rl0zH2jtaWtoTnd0tnT1tXdfar3W0tLbHW9uT6RY7KTrMtLMYE5EbUWkk1UW4o0itsQwIxxeZWBmAOiZTiaOG0x31YRFGaGlL7T3/kJFjvwNZrSetpRYhrOSPUPcjSNxYX9/QeEV+Odh4frT7uHi8AaFn2kL/J1b9aPsJN1vsvtbq438Hrx6z13rtZO/5yc7DP/jd/01eDIeaxH0MBOqENmDsBB01EZc//aPff/PBaqWIr/CJ7Eq55MqL9Y0NwYgQztpSqaJWXvkAP3GeipT/qxXU5v9hSjRbXH1nTgNzEF9lvT4eaxyC7Yz6IoSYVfV5dLaz8INT+egg4nV5z+nuSvEER4aiqhvYrHisXIT8BpfjSd9ZiPVKilOLDPouppAKEycooi42Fg6ZwZAZiuDE7JjNNGHIbuwAN8D/fvNf/mr24FUF5+rKdpRK+V1RyoPXD3dffHy49eBo6/7exsPDrUenO4/K2e1queBUwcgKxf0f/qHP1AhBqwm0dCQ4ntAImc3EbLAR1FQI9ietoBES45b/r4Pe2rCzMHAyNXjytaGTuYHC7cHs5EDhG73e1vDjrwoYNzSH60VVQsJ6ga+sVecwRTGaoXBzW3tLc7Bebri1I7o4+1W3kncdtyr+TvlUFv1w8+nh5sO9jfuHrx8c7Tw5FTf8ZKN0ti++Ed7lFTyv+O2/nEql4rJzYp0076CFQSLu8hOM1IvJEs1hxb3wTRxNiTkkCaQknMIB+5OV/LGlFJTvWR5WGETCN7WHq8fbT852nqrQKyfUdAPtMosW9tBJSqOKiTOQs6M1zK2juDDAzA4X+dPe2vHWQxw2BSZJK69BA3iiUCTeD3N1wEtKodp6DNp6dLD5wL8g3TuNN7OlCr1h56k+3EkBT0QQJXGlTGN4gDIrIvR5tSbBGOkhP92ximpvVHQqUxD5fIVqe94kMv+UW34RnGb0/h3gnG08cIG9gL7/gZvjCSb7IvtPCZMiTJx6LfyBBBeHpmHgroWRyYyJtra3VopnJ3uyQEiPF455eDqSW0IERZmgc3l2jOkyqcZjvaCyL7Rjhw0BGNyYhWewerb3Ym/rgYDHqxefirSlcAikIdwaFJyVCXYKTDcm3D1mJgV5E3YsbcTjdjQlkmKgRRDumoUmi7gR5Lx4AX5xjwRBfvmXf86tOLsvPsEJuNTy3JGw2JUzHA+gp0vRG2ZhkDwOF/28CRmbQUrHXUR1uNzw4Wrx4Pnx1qOKU75wsaalNabH4yHrJHxXUBlHMqP8KI7pmahAgm/n5LEO9L/PRcQ3o2y18GXxvKtPYYl7dLRWZpQKmMooGCMhyIWpwwQPCb+AWfoGGuMH0DuIS3HlxdAzosejkZFHU8KzqqNUsEf4qz/ojbcBWdeMiaIyhUmpsIIu4DZL+3DOknknVFdcgXkM3jOCxFRFKgwwlNlynlDPoQv8FIWVX4SJRzpzUZEeWoT5AnQ5yMURoaPOQcj8qjymznVezPHmSqpNdkXoBfKrIrji12NIno0xmDhKFmMucDathwNjoBU8ppvBcL0m+1aYwoHWZqmauCH57y6SOlBEPkNWI5Faf7OvTQfsy6eCFU/XxZsOXAmYMTZigO0EhXLgLGw7FDaCoLBMiSkVjmAWGwCSo8KNpnCTlRJER6G655VPkIdDYIgjN7HoXC8ACTkZ1hdyw4JYbUPibvGf5HbFYxTTcMVUboATeBDc/PN9qp/J+QomhyrZcP5M1gahFVw4WLIlhqNJnKJus46YIhF8oQO7CGDYDmDw9/syeA8se6CysRKNCE07jntgggMXpMn1HSy/AoTXzLMxm716eC76iGQ1KnDseMX7eUG9LIkBhJXUlC+SzmqKjZacaQpG33gRP+ZA8MKaQD+B5ZpDOddSojvXkI/PU2N4AwzS8dFgplQ9zhcZTwQ7sIrDLPf4Hu5UgFkWrQjhg/Hg8izvEgi9u5Ji3sRAawPsphETahES1ohwBE8ztzEn2OUgCNVL6itEkMLNJ1edIWbQP+WsEN9M0MRw9YEBWKwjWhwfolTTKOuHKyUMlC/bURSwJ1N2UtA6DvsglFTIrqiW+PUIQQgNwTBp8R3RI8MSOfFdIo8e/O3pLvqF/CQRE8uKZFnSLWwhb1jBhr/ozvlWUiTgjEpI1PHzqwQwqC41mYZyb/Vw+xG4BLLEaKQDb+aRc0KTQmYjCpQZDxEQgHCwERAbqUsEkEMrEK+vte3ACL7zJW7mHBfxvRrY0o3X6CxTibjOeVyMEwtwciG2Hwbdl2n/oXZXtIOLoW5/WXgDAELsCJ9OsZ96y2z2Odv2hRtSuKY+mWoUImvwAeDqUVsg6HqKlK82+OGxRoomhxy1xRv2Y8xvcJCGnXJCxiIeLYZ9gdKAO6mAHa0H9MmxXlgjSCSNLCQpJwu3+VTcIAQpE2hSEqKJIe8C0kYQ1froQAmFQ83ChvH8GkGkV07bh5vw70M3Xs00GSGUT59H5Zuji/2d4w9xhQN4mEo91xD8ErjIAhcb02RMuOcQlIhwHgFsEfRoCMQUXaXN0SR8sqg477bxg5+7zpOKsL6YGrGPw+P4mGoTiSI0uGf7KIRQVFCJ4Q5R3GnuwT2QXD1P/vM9xDBlUHhPnsO3w2Z9FNpFz9KG0RAJbg7VC/8ROIjHI65zxv2GRuHxoRi8GUqV3hv5hm6QSsD53dKUEZywXJAYWnZIrXLx8zX3n0Ibmc41U3EdMoQ7xzqoGufZYs0N0sXhBXdRrqPEQN9DrUBIUSHz/JYIsVhVhWQsCGNw58jlPwU2F+uMUctAdH6KmoaZTGSeWEl9/+ob5sNsCz6ii6ZDxKG6ECT0nvigqN+NOgHmaSg6IvvPO7tSITLOCA26GcWZm2rNxXMPW0HxXYuHr1WHcOugCizRom5xUfgLrumrMsw0FgVLxr3He4o6j4whoRyILFYElJ+QyR//mnKr7deSGK8NFgF2EW+Jir8oeCz3mUyJyKDXCLKuMzyR64rvvvqYmk1xhBnhqWe8YRgi8Aofqnn8LcbOYtt8WOIPKZqf8D83NSofBW0bprjzdZwg//d/9IewdKi6Rh8OT7AEHluYORuORMOd3elSbsMvpjvne/gWrBIuq8qmJoIX91XofONJlvgnyi6QD89yXuKD18/1DQwKYE+pwqWgsXgDV5tCv87QmF4NqkJJwP3wiUgh9M0qYdBnypwqEntecB0VXD6CXg1Lem6fYbh01h7+pFLH6/iTCVA1qsKjEp/fw5qoa+h7orQDWfStkrfoLHeqWUCFyd8bapt+AP88xmETABi7CcIRA1EWUUb7Mcu3EYGOGxM3hvNHgDRxpCiO8CQgJfvwVJjI8RH3ze+EMVArEdbDrUdne0+P95+dgQOs4uxe/wnBB1Tvid98ct+XfxyoDdhJnGBpQ3ztmPDnFMYYIPzCfieRoTAatBD4DJqN8v5ThS4Cnkpk8ejNuXRrAANoy6ry18PtZyc7sg3PuHlEQZ21rPtEyVO9olRh28j8oBjqw8nP88ffjSZxgF/YalZsjscRnkOhs/iySavmUu0xzjbFgBWVY72g35e5u+qWTyulQ7d4Ui2dib9YLZ45xeNq+QSmQHHhaPVk836l6lbdfKlwWPG84637vnzzmme7T51yzi3JFU7c8lm1clI43T7eeYzpowcs/SVeqqJyZVSy8fvZwYpXlu/NOqUjp3hEcqX6gzfI69XyabV06jknZ7vPfIznYSNqnGkrIF2CDlnGW4hr4FTU/DVl4TkcwqJGj/EZ5Sp7MDtqIs5F/w2JVUL4fQJGRcIwmoC+G5SALjzpr/YMqsiLbG2PjY8FAjVtHUnbRt7LQG17iCcfRk3L/Cdf+mnM66X2+7dCukZxQUMioAWhn7+jtSqm+2tbq/frLl642plKtMVEbcqep/dN0gIYBlHTDcYMMhUsOKnoC6IbynOLkS0joxDRCSLQm8QhrSixjVsA7Gi4JoAnxXQzQkVeJ75prh83hm/EAe77q1XPkzu52pluvdrSELyUO90/3nmENYE24tgbrBiBnKDle4cESzwad5EPe7BWKZXjLWY0GglFGjEB30TUPGSEWtpi9c0NFy5fLua2T7UhmSRKVR09E/urp2gvdVra4qnWmJ020+loS0estS2WTFvp1phbPtaPeJ535cpFeAVCypNI4DU1N7s89Fvnc3peId0SbWmJpVvjiXQs2RoT7zMUvvz2xPCJiKDvxiEUC2tJzVRbKmxQrpNMWskUsiFtHamznUcUZcXRlbpLAY27N4ebT7afsJuGDqjSaOqzv33+2DtsIv0xbKIiK28A8EfZAL7i4xrCQ6ssh8j4LgFXnvqA2nyf24DB64t5rTrixH1gD/7sd6r4V2f2heC9L+5XLhqzrRgOCkcOE/4NQk7/4z/68QI72xTUKRyMFGq0ktxXzR/9cUhSgWonQhNNIecnF0QDHM8kDQQu4A16BdVLPLwPgRB0hvkCNehCw20gfWoFAk3Vw3eKD8aqfzVcvT/o7U8E6sKRGHKKOBXBCl2pv6Q4AUPG/dN153IwGgqb/vxb96YbmuojwqOSGHSC8J9IXv0VeNA0XMAPPBFXiaUF3BUu1/lMRHYmAzycUhb1nHEoVQT9zEKg5Xnt548/Od57ChKFSREwoKokb7aQhmK1Wq1AP7kymJsqV4gbqHtpjXvlnChSuZhHdiaJY5OYZoeTwHxq6K8/uCMsUdawWimZ8VAC5fPweUT5G0MNQngMnH8eOBXjc6h9XH9HjHz5W2tJ47QU1Brg1Dye13b8GpFcBn9q62rke0NW0+XGK8eb97GSSpP8vCY2jqJPq0WSoFvg01HSd4UGgpdGG/U2VNA5f4vvx8BfdRLUDFKsVRn+rtAGzs2BfyuQSF8DVFf4Acz1YuNkjMZdsDnCnJ+46kiGmVrhyrv5/nfwzpSxqeOpoom7F/vouaeaSSaaRhiXQGOLEUfhLyy7+mH49jVErKDTqjA4tiyAWeEcbiKkIhg6+spAaYkjY+5ed2Z6y9P9zvJbgRokTXjcBnJXvJqPgjSI64BSAexdztYWGKtWDB1eQWorVNvGfBMA/4ffnsWZMbh5Ph09Qp93kiASP8jC/fA5Xpm981/CNjo75ILJJEo4ItHmeCqaaouXTjd8t50wowYUFlKHp8BJeC7UIpWOgTvZ4Y5rrdfEXLQl2zpa+vo6y2c7cs/1jSKXjFfGEXlETDCB+IlhGW1XU7r+bqnA8DbqZK5crA3U1rZ0JOUVhH3s4PHea4Zi1zkGCDcP+Tu/H6FnYliEqsH62ZHB4WvQUkghjo0L1NUyRR+6dPniCRpdseN8A8wLmAyfAs+oJa86v9M3hnQzSEohvvpf0miENbCw0HPmH1Yh3Jz5i/O4FNFY4wkLyQHPRZ0yg3kailj0JdWH9QPAZIqASbpu4nqj8I36HYyFLAMBJjuOGUU1gRp/5OguHxXc8VzseJ2cHmNPJqcYcPTqfnOoQTxI4Y7AvzjmcJommEMU9VwXiocvQVew0zToh6w1Ic+DOWMZJEDXDsVi4UBNU3kRLYA82L07Oz/sfnCj8lc3J9Ixwdeg2SzogsNDUbqF5VCNhVWlJhdg/l6UT14FcP6X+I4hhK7Zj8RYRNhI4Kyaw82PUTeLgxxX4Er7MMwrHGuYjNimA7QpqV/44t+Lo/hOTFgkaCXiSblWs/iFQoHqLtaVj19qRA9KTg9PZSXHWfZZkIQK61vC0ZhVKZ4cvn6w/+LBwesHh68fyr4e7z4TIY4ICojrMtKN4P3eyi/+0v/AyhBRoCa0TB+sV51ilFXIchuvVj6WT8llk1cTKJhJoE9Ej2JRKfw7KCbC8KwtLa62ERP7EAvHZF/q6nJCT/XMqP3VWlQ7RU3bbGisP9t5SgOlnhzsMAXJN9fMPFOWzk0ZAw8aBVrD6bS4AUau9JcDJEpEz0/R8q1sUxGd0sX34516q7AkwJQcznJlWg73QSqjqONfkXKMr99fYY9a0AZoCTYn8ncHTEOeU6izjsnxYzfUOQ13qwpyjahzGkzBUwEFq4IirF4guGrJh4XSIrl+R3cKpWTwQgjtCoT+iiNne7LztL6hTpQhiso1w6pvLy4NFeYy5UWMQyhM9WTn+vO3r7kP3xYNga1sEWmuQdCKREVNFdMf5EK81eOdpykcASaEG7IrmyeqJRYjHG4St1L2vupgjBXW7pihIniERGXFezAWlUsSGCCc0KHaULgpjuPUQz2xVOBiCJO/ULVjJdOJchanm2ELmeDQrAQ2jG4WsLkKacZ0gbhVKZ/xsiT9tOCu66BeGT3noarnUB+eeZUS6kCSUTtpwcQdrrqVvNgZQE80crCNJc0TC4IRTLJsbLiE6KpvviFDOR44LTBZ9pyIwJYVqr1yKd0qRCXU0dVGYgYZyqG7tiaWwDluV5qunG4/JI767tr3t57cXdNP2qBORoF30qeCYPgIqPCMvCxmiSh+AyBo6GBXNX/M+yxiah7l2GcB0AHwTywcZRzL5NNB1Q+YTt0n4UuxVlT/CP2KmEZ1G9O8k4J8UVvQsT7UdPT6MZgQWNcadQB2HMJHs6J6j+2XP8FXXfvd/+PXMWoZR7A1iyUVucGBDAnLYuGVyHTFcfgkb6gLKBSAkAXBx1uPW1tjLE4SbDAqn97EFOf5wcriUO6bnaXpQffu9cJ8X/XjjCBHPIFJhF09HYev7nMt/If1yRWderlmyakYlsCVaaK3WcyrCdORsELhRvEp5d66ezsKB7AY56FZXgcDBeny7iNkDhcQDiKeusAiSYzQFeufMA7e7T37WlcER5KhFDHZKs8ZZFCSXqPcD5w/8eUx2xJWSHTeKcvNizLE09Fi6Yxn5zDOCtq26lTcOA+ulRU73HzMLXu+++o+KkCS0agdOtldye49q4o0I7WOIXoH2zg/WNz/RBKppWQ6Xh+8fLL7FFjG4NrZ7nPEH4Cp6zW8eTMerq0J4BiruBk0mnOHIEhqTGphyqD8VxougWkcUdoAiAxTKn1lIAj3TNgmfFDGmOXR6+h/FYBP957R3Yf4KkSCwTN0C3FXA0jjTzHT1CwvArOJzLZGScgFIelKczW5D8mWh/yz//v3YXaNJisVC1xuLs+OFb45LHucTAbNmNnZ0bK38QjKoLpI801xYfpHs4yaeCOSyX2Pj/ZY6N8MGTFTa3bZssYfAsnGGvrbaHOZZ9n156XTLYAjHzYaxfxZaZz87D2ZqLw3XrnTVV66WZrpLU71oUJ/afj4mwMs5+WJhkmh40WsiPpYkD9VtvUz/tOpFCM2TsrimXamiZkS4iIEWd4uhCpSd+ECI6zYD+zTuWn2lRa7gtJkKq0v6CGzPprAY8pF3N2x0tT1xd8fCBo4ilxE+XLD5QII1UsxGkR6P2fB5DAiDJ5bQVWqiePSnPLZ/uuHexsPd9e+e7j1WL6xmD2Ez4eK6tDOi+8p4zx8fV/0xE4YZiz05f/8h6f7z6tunsWoMKq7rx5DgTEJKYARw3EUH6vsAilIiCEDsmu7Kw1Nl1G1G428XPsOm7UMy4IjiOdlkEF4s6hES4vZ0FAv35sn/SXEIjPgC+sbOFNioFEgCmWRWWeFW0qzirhSXH9JEWYWtFZGR8uM+1dlYJ6LmXCtloPvGGDyCVfHl/EuwVb5xYB6McfC9wN1tFamZUWe/EVfeXk4d2vQbEnA10YvjV318uXTDVUyfpmCMX9HZBTPQ7T2Ccznf3BMHHATkVchCuGg0SAoGAw3anJBpHln4+McT/pQNYVN4X3CyhytFYvHMYhdOBaLCuyd/UVXYaqrOJtxF8Yqy8OlmWuVuZ7CTJ8zN5ZuQWIZQwct0ymVCvRyEInzg6ZQuTMQwRdOuWLZTVqVy3gfpkzABUS1Phr0ZeMRSWWSlthA1oENg0UCAvkWFo+fhVg8b+9uY8GTGTKC3neun86PV/9yQvufYVgSUdTEcXF8t5Ln3JybyueQZllj8jGc+Z4QVxLN/T/1U1+QL/r4w/dExwQFEglr/8VHWRT+rx1uPUy3J7mG4X/8cz95tr/uOSUIrlwkGjrcxBdVql5LawzwIfdmRt48Av1Xfa61w1cPr15rRaDJCsn7/8GPfsaKNcaSkX/033/hzd2KVMTADI26y7UHWw9QsKWPz/QkKASj5vDVkPpVMaOPC3HXKIdyCaVP8kG853QPfdo4UIKD0GnoQMGVBeH9fg7lBWUJ3eAEe2xNQG2iEnAIPjQAu0URRELhaOdJW3sbIkEJ2d3G0mKmMNdfuTcaqLmCUb4oF45UHQ89hbqR9PSRtIQy+DVZvntLtUa9S24Lg1ZtlHmErGAoEgoL8EdRzy66IRa/XHFyODHuhUbBscS8Mc2C1mFOjeyuHYkZgdpmnMG6MOjOZzAqaT5TmR/g8INh59ZwoA4NbXH0FmAqClGBsWFGQHXIH9PdK67nmdo1Ew3hyohSG8JBTQbXBaSXp755dvAMdY9a3IiT5lgDqURIbZGOaSMO7b74FHVzUAmB+cjZN4Yr8zcqCyOtraLGvKwZqhb3mMXwI/RKfmgP8cjVatGWO+FRlrgUqgVRNv3Ff/D35Ss+WPhzsOGYKUxm7+VHEMrd1eO9p52dbRgrGjf+4Y9/UXTMdYqJtAVPzgolWmLJtoSAiLgBwWgwkbT2Xj+kMpNxwb3Rr35edVzZoGajId1i727cr3hlMYbJFuQE8rvPCnRza2oDBpiGcfnKpVOaC9pzWi0Cswi9ENwzFHlCiJUfazSTVMrPoajnxk0hHDDqjGVUcqJ8QY2hH/2AXVWZFmhDYACWH5oghobhen81gQp4K1sOccSnPFj+oLWtTbZTVkSs3ulXB535gcrsyK/9w6uxBHDUTgS/8N98FvvK+CulmadwK3+HdvrbA2NEa+JVcqm2tmgS5Z0CAMIORayFltnweMId3e27Gw+h6IwWQStoLmjBV4snL02r0aShTCViZx/erCyimbQwkyliYM1A4Q6aqyuYZ55Z/9oAInRoCw3XXAgcbz+m/fLPXxKaiEw+nZKdjQ8FwpGuR4uNgSYR5okE2nHqStysutXcDk7RAzIxkYuwOq0el1vtEo0SftY8r0zCamKeVczKzvc6dzFApz6MpkA2koXQ9M9TDaASTEqzSgHLJXDgVUsYeYhpsxGcmipy2GIn0okf+8IPiyl/9MlfCaUWtJYF3H/1MXbwYO1o+0m6LSE7ZUetn//ZnzzbfeZWcuii4InzWj2Laj5gk1mtOvn9lRwDlIzSwPqTZqz/1bfmUGdmoWX1VCTk7HW81QpGmlrbUzlN6e2LNNcC3RORKxcvnGw+VmgHUWGVH0gCI7zgn3RzQXM1x6zPq6JMi0Q5wdLBkaC0nK+DYjavQ6zkUmtIG9+Sx8Fz/sE9cFTwBQerpzjPUK0kM+CMQugVPbcMVwbdb2bgQnN2agQDXuf6q9s3rYgl5NWONgcCtbAsnExK/YZTzFIhtQjkl3hOVRjUuyDEJsBsBJH+QFDTREtLFIWm8qfc4XNM+QcZUsR6o5RrBxsPxKdhrYiQtpjzN/2YDTCTEdnlaKKx4txQfrIThzlMj3h/3draKgAnomCIoaxWTlWvAMlEC6wp1y6/t1JTF4iR54gQi4lAPkLcKXTQ4JbIiTGtocSSqRwre7Cvage53HxSYL/wzlLpWIw7zuu1w0juLA/l7/SWFgYDdfWoKomZhh1xqlXeAAwOQi6EeZTp7T0/3V+tumUwbIQ1LK/qOW7RrZSrjuO5WXE6K4VjNuoFEax49Smf6/neq/stV+PxFKLU//mPf0/23nOKCH0go260t8kf0GsTT0bbOqNFeEdaFPFGvCBVGGYuLiCGytkD/V25o92TgxfhSJOdhF/h4nh6mFl019qGQEBD0xUcyELDouqtsgQkUoMPLxPCQNcQJXt4wwGqjtRnwM2DpvosAtvhV3SpECNRRdjVIOAaZjxz0TSsxDUEQgdUMxSVfVuwz9PlNRODyQlCKIM4rDJp19YGK/NjjvwsD3oz/S1X0Y5mWpHOq617Lz5BkkXjU7w5bPMxyZM6lIz3YbQrazurnlwWvceUM/mvxV4jDMupVgtiNDVCjuenT6BMK3v4vCqUAK1KRjIVu1Rrnc6NVhevV5ZHePbKaHExw6H5NyryT5w1MVofQYFEqjWeaok//PQjXWV6WoBDlNEdwKOXfXWye8kWTL4CqW3BFHtR4ygaHOH9EJPg5KGmh5uEBCcJnDoG0FjgPSReCFKN0KEEBlhZUet/+pF0cXoQoxrmM4HaBnlMdGHFIlXXAxTRvkPtWValrE+uIySBXZhiKMSFLRNiGAA5xCT6iuNpJFiWEVM6j1GosL/xPTSGxQyxCSd0DIQ3RxGoCVsJc3PjSalwZqDwUAyOWS0f63fhzrn7qt4nGw+SSTAuU3Qphn5VFpmgjtyKhX/1l34Bxficf6csqKH54uHmQyoDPRwfLxCSYx0S483YO992MXwJx0AFhhxjzU9OKVdRHdhbAQaDrFLlWLSoA/v4NlWVNUQGGU6BY6qEw/fYkBs7F3+/GnDdLR0kUrIrkbAlbnjobGpYILBwG0dnBy6hVzlkN4fCja7rYZWhTC+V3eOaLBKir6qqT8aJYBbKUARvUq0xAZ5oEl3TQaPpakerW8zhllQ4gH/nmgB2tYqRmJxMDOYTt7fujJYwFa4P83YxchfDaosLAxinuzBSvjdeWR79zu/3oHIVVcWhmkAtz+mAw6TxRwHR80Q0FtopHKRb0aafaIkioSNUPh75f//Lvz2nE6vKjFFcSxQgpKHIgT6K3icM4tHrB4gMGiHRB6FDzvNh5/2J4lyfuzQQDLP3O4q4pOtUfTvLwg+aLzTdQM1AeTGWBRNZY0alUiBwaoYLtsXzXPh2gqBxs1wuQSBQCVSKYc6+uJi2U3XlVquVktjVWCoqNH1389ODjUdtnSlUJViNw4Nt2C8U/WjeHlUosonywQjyixEWmSF/ZCVsHKVgC6jDG87vrgoPrKupRdtY3L5y5fLR1hPNihODYYR1KQABuumsU/DFmsaZTJ0JSIa5qEh4m+ICBFdz7BQGRuVQeUabjwPlcweQdVwT/2Wr1J6eFIFzC6k0ChKqWyRSInmHrx+0d6cMEyGe1kRz9us3S4uYzFmZH535nX7DCDcjq4SBDGeIy1DVfGcCEoN8r9bisBqJ1Gc9h6yh3OuqV3XEmbhSf7m+qUGu4LqF/P4zPgwiL1BN1VcyH97Y+rXODoY+QkbUKLzf7d27mcO0u+H89AhmvsxynsbCYGGquzSVKU8NOR+ORi3M5Y6n4oI0Zc/7vvZDengnfvwSC1fObiNlgKOJ2ajiCrV9qYQPnzpvvvAFFyiFjCv+RLoMsD9cdVzHQu866IRhNGe/OlDEcRZD7uRwZ2cMPYJ2qDnc7BYO8mp/WH2qKTRW6uGfVRFNzEJAu3jFyfp+EmVaaM/hxoMIDuJAbUagJnC6+/R0f/1nf+6/M8gJg5Ggcjy3fEpnUeTbfLX6aekYg8pBnWNmIhHff/1IY6DKDfBch+u/9su/EEH9OrqAb9wc/Oxnhq9P9I2NDYhqiT3p6es82n8qj1lXWyOWx45bjY31wOY9xKqBjKTLrEzSGlFGOWj/8VeuOcOj5MQqr3gPUEABAqf7kLfoRxQy1Lb7y3XOWhXm8oyK5PyKUMV8JSLYHmSD8K1A0BVZppqagJBa+jSW93y8cru/gFNqMt6j61YEZfsRozmZCJ8ePOVN8GuO1s9Ee3BNRIvVhOmqYeNhLpEgoOFeP9p5eogueWR6GSTixxHf0b4s8hYG1f+XL/2MjS5XsMB0ysxP9+KknNlBHCa0IPCMoworM93O/EjxDo+OxUn0gwjzI4UeNeDW1J7tIFBI4P++W31O66FswhwOtx8dbiBJxrXDqultUM9RWauk+XxZWQwNZYBWyNUCl2qMeAjJICvSFglj2v78sDc7kp8dxOmDbH0QOn/0+hNCFIOmmoXBhrFuSWyXW8YRDXGQMcfFoQ34dp4MrVhz4XKdjVi48AqLTdKB+nC9yX7NtpZ4Ftsn2JyPxkMinQLYmy8/zh+sbD3/lI4BGuwd10W4HTuiBZZ4nLoLddqie6GuLrvzTINRrltBpFJMigFEyGFgc62dFCWxmpobjl7fx0Uoi6Sz3GUuHYoriLvcxJd8hTE1Bpjx4gGs7nmgWm+DvItdjPj9WOmEP1UDH/EDI+BjykUVzgNMRFOwgOEMdhy+0Ep5qo6s7Hrthcvi4wv9iiSNeCSVmxdiOi5ilJ0cSlnoNmVPnokxgcwmKNJn+Tvqmw6ZxdFb0fCW3yeM3xXzgOt+hkVpD4rIsoyW5zXxdgT7nmhLRkzUCsse/9yPdruL47lb/RWcAthbwpwuHHmN0egzA/npnsrcYHlpuPxuv7c1Idsp/MQ0w0EjdLT9WJ8a307ho0D7YCC/Z3fxT9Z8oqAZxp0IQfDAaiJnhgWF40t4gHtKcwkIONtfa02ngkY9ItZCeTc+406PlqaHspNd7rOJGHurIlakvrkBYc391dMdmCNoLzebe7aK2mLXieIENMwUdSon2FGICFYMXF9YhFdFZlHYLYAGk0nEvUukkSXd2n5CtvbCLZ5aOFArGk/HXq0/kGf0PEeIByoWmT0p+Cd4+/U5ey8+bevAYVMCUujDOAYYifyVc7vxFHouxZn+jd/8pez+iuCCjkC5cPnC0QZm+uP2KG2M8PqQzHQBBR10GVaogDTTClaYEYhzzsbVI97hRSKx0g8U0FEUc3qyPLJ7ug7PGSmHEiIyfbgewJuUx+BWQBJoSf3xDrziekUcL3HXYpgFmLQj1Q/73ZlMaa4/P9X3Mz/QLp57ImWZSbsh2Hi88yiLQAwIE64MPx1CA+auWVneusZ6IRzgT/ASVIzUOGo6Lc/CK76OYN/J1pMARrsa8TRaTppDzYd/Pujee6u8NFSZzQg/5qHtA8XJa+X3PlNcyJQxVXGQB2OKdzhsmE1sFgxGdeTrIWgP5BIVnpoQoSKpp6L6oyuDWlbEyxS/IW3YJx0Q4f8T72ffcp7l/+LsI8CH0cCRQCBUnBzJT/YXp4dzXxlNwjZjUI6w0l//51+CuqKmHHF04pmyTOYXDp55Xulq59WWttaO7lbHwfAKdgYxAgi8eC6g41aKgcDFeIt8HwiuaYUFo6ueK0hBPVwXutKdudbV33G1u+3Viwd0Zl7WBgLtVxPt3S1yecclh0GnOvSkUva6eq62d7R2d6aePPwr9ODQ6B9sPWhvb0u3p7u728TBze6t11280N7ZerUjIfomuwOAPIJWa/ZHqYIKNAQJoTcGiVF+jG1VwfXRDTiNOts368nlVafrPGZHGq0OlZ/r9ktPdReAIwHsH9cIcgNcZHAEf8buEtjXBTwCOA0OrkA40hSoqXen+7yl64XpodNvXm1ts6OWKcgdTZqNZkPpeBNpRqW5WmtBFYR6sFpS1VGNuD4SxYjUnlUp6trjRWJ8fk9g8vmFi5dM8fySZjydsJOx4sO3MDV5tqe4NFbSIbMcao8p4gsDxWlhzP2Yhj894C4P5iYHCh+N2EK1UYGUEBJZc/EChvTI7e2/gUPGFnkz6htB63hIVxEV1T4w8J6hb1AANNegQoO0Wz6CWMc3vvqfLJFjcZusiGWa3vpb5bmR8sLg6dd77/3bHjuFXKPYlnQ6Wqkcfh/vNTTrZ2GATGd8/M3V7249/3hr7Xun20/henLIFb5d8Ywmjv50wak48j/BXcRVWRWYw1HHqPrYf3l/9+Un2+ufFI5eyfvFIOxt3N998enu+oO99QfH25x97wd5Vs+2n71+/tHm8+9tPv8Iq0GHJ8f49/aL7+2+eLDz8tO9l/dF1OQKr59/9/Xzv91ex6R0TemJC6shLDyIL1SaECH0olsbuMYQGxQSwsDyI1808SL5htauoRYUckK09q9JwaCUI9Lg+2l0GVcDlCr25GEvV9TFOYO1hS2GyNMjERaRTFsGwv6opCv97QRm6y8MFed6fv0X+iNxMVvo8oimw/WXL+BuQMSxEChrFuPLozqIf2A1UFz2mapMZ7HEGsdYZWGrr1p88/OjzYc/9RM/Fk0YyRRytjHUoDZUvjVWnhVXrx9HjUz14Bj3pUEcNDGFgXSF6YHK3ID73oQz11OaulaayeQXxgOBoIkGR3QGaInCzrpsGPovCCFYdwqWFq4gFIPWzgNMIFbl9Hk29dxnJhQ+lcXiyUvXqwB8kxgbKT91AbMyN+4u36wujHifDra02JhCxjlusA8nVCT6MZpS5vdiO7iv674HQndTS09JCbS9z2cdeJG1gTncLfj0GS7FHiSaF5V+Agr9M5oUJXVqf2joeSnyXXyd2neoN5SHIX+8wqQpZyEQO1lN4d+53iRzfrgTcifaecguXTT/bdxWUjs+JjGLEqgx5nOJ99Ubj4nII9tV9M4ZdQZ7wbMQC3BlJp72ngdYdQQ6oZQArRlKWXz3k7vLoOyl+gs2DpuyxTXpaI9XH47kcCzxWGUuEwhEokgvRWJpYSNWuiU+cb2v6lSOd58UD19RiFd16iPqPDXSpDNveGRBQSvcoXmoATrDcz4/2X5aKR431V9u6YQQRxCWNmNR+i4LA4X5gdLSqCOiPDtYnu93lwZKU92lpeHCdD/G4y6OF6Z6MIR8NlOc7SnMdDnLA8V3+wNNl3GIL07xMEORxmQKx4EJj9rbeiSPzKIzJZEvUPbAhB9kF6kNZfNYGWg4fpenQKRZkPtg99HXv/zHoLAJHPkqIhuLGa3pSOHd0crdgeJtsWCZeMLEJJA4yt6bzYb9zQeIqTP2hK2lEFBeceioaojG6eRP2d1nZzvPiJTnntCemjtsmYqjFjxB2oiIZ5AMCsf5MAAms1SwfAlTeAO7IwYT5vFXQCwaNCkA/DqtS1FxhBQyf8SPgCTwi96IMmysIqBeiph4zomVvPk/5DbwxemkIQIB46YaCz1BHTMouy+H1EzyPSKvRuEY9c8zny2/gzeLbJ3sYBG5OtBIaAMSe+eoDi1E5Zpti0dixeLAGDPU5H0yVJ4fK052n93GOcQWpvQha8rBgVa8xYo0NwTqAr/3O/+8UnG8ipM/3Nh/df/g9f3DzUdHW0+zu0gLidQebD/effUgd/zS48z4v7x3JxCoq6mtEYosHnq6Tbx6XNayLbEPzvPPe/OZgtCJyS4csj07XMEJxJnKwkhlut9ZwMnbnJjfVbk7UUJh3UhxYRyD0IW5TnUHLl4JWc0WpwKgqChlW1awoz0dqAkMZbryhay4+V7l5GTz6f7Gg/3X94+3Hx9uPjjcfIj5XS9hoE/3XiAzV/Uef/g3DU2Nog9tV9tQRMrzVSMcyZdqi3lrE+V3+4pLQ/kpWZxgqsUOm81RdIsFkYthfBrixWAlRBa4RRQkIvqSyiAXt0AlHsiUYzSGOAdpQyiTAKwAdO6cAHrpWZ5LEraSbcgUTYg4Ue2c5PjyAXVSC3BuOSFktFckqSuouzhP1PnyDcAmBcIN8+vYKEREJ5xTynPszgIG87uA+lp3jxvwx6fgi3DzMIl4nTltXkTDPjQvSkGh8HyPMpA9zm/GA8Be0OqpblH/VJPwMLwtzNHaWfn5n/tJsZImDlLGabt/+yc4vwwVP3dHil8fwaQNTEVCExuqgnCWKMp5YwkrjNJh6+q1dKo1nmyPNwQvXrx0AQP46gIXLtSGo6H2q+m2TvEnrHjcSKDLjSX8mJaLHCT0x7Jq6i7lFzpLk5nqAgboYwL54kgZJ+70O7N9zuIoTlVbGinP9paFAs0Mugsj+TvdiHhMDVbujTnLIyLfh1/taW7EDGPTRlOj3LDOu0GKQQDbRMdRqi3e0dnKGFZzQ+OVy1cu1V2uudRwWZ49jbZTK80ZS0iyJO04An/4HQ+bQlJTfM3qy7dyc8Ol6eGSLM7LGwbWBNM140nz/scfwKBz5/Lcfj/oplZecUTtKX0Y3VcVHcrHGssQ1BPCfkMuNVd8bkgJTLDjZEpEfVwcDNUX3AMNomlPkO41E860CQz4KE/1g04QTWCnCij9XTpkWXiiSMjD0ONt+BZeUCvdcfP6jNBGpJzW8KUkBqpjdKXWSA0U+FmipHl+TcewwikPzYQoKwoAj/0UgQI29fYA0ryepVYpbuvX04io4QCMqy3APe2vXLiI2LvIgQhEbna0fAfH+MmPtzReme4IBJp4CrmBmH+cI2JtFAqjj9VARUEEE6tsJLG13wSHguHEPox3T9uY2pa02K3ZLE5bDGcbh+Mpo7MtNvU7meztwZKILDLY/aWpTGUZZ+SUFkeKOGjnemVpsDAzjHODFocRnlsaL833F24Lx7hemOwrz4/mxVnEmW79B7dG/sVPtqfaoyK+8Vabg2gNbeQUnmBwFCKKLf2sO8aUMQSJKalRzuqNpjBwGuUl4laKc6wtumg7CAcCzcKCzqYGnMUR996QOz/qvRqLo79Q+DLq+JhIoiD61M43x4xJUQJUcMkTFI+5f0BoppAQhSV1ZpCRIsWP+6IDyT7gGQmMqatIoUGfpSlMJapukIew3dgXskMtu/XFscAIGmSAFWqKrxpr9/XBzxbzDeekln9iZhFYzm/XmBWVhG+ArgJu9RlBfKEJNE1kEQccY0fuAc+KKgo6RC3lSfHMyIDbnBeZqCVh1REdGtU/dSTVb/Bv2kdyegz4Ms91URoaNSKxkPfRjcrcSHVpRIQpP9lR1CGz0z1fHG+tD9nRGFs5OHUYWX4cMoldx+wfI4jDNZjNBpXk0FGeACufEvmI2S2oE2hJxgIBw9uZyC+MOXOjhRl0/gmxKS1kind6nPk+HDUpNGOq210QKR9yhHXM9+Ok16UhRwR9+Xp5MoOQ853O4p3u8t0bpYXh4uxAab67OiW/dHkbQ4ELwXQ8ZMTQfmfFoqJCQqxFQGMtgGHU3xkYJMdKbhQEcyZiNCF3Hhb7I/4cgNmIxS41RP7n/7aveC9TmRxyRa8me92FocqyuKo91YPrKPYA/Jt/74c/g8CTbi3ZArCNkXXdGO4NdhTGd+/F6c7T092nJ7tPeLYpiMfpzuOz7YeFg+elE5Se4xxLwZ29Z9ndx9ndRxRluCWnu49Od5+JN3aKSNGTs50np7uPc6hiXT3ZeZrbQRnx2dYjoXni2xzKXw8QAD7dfY5ZAntPjreenu6soANyf6VwhDYQSpWyXnE3n2UPnp1uPsZ7OLn0dO9ZngOijjcfy/WPtx7k5XsZsMsfvzjB7T0723os3sgxpqZgLk+WEeKdV/e90qlXPiXXRZXBGcB+vQh4foZBK9uPznZ5/1tPTnaenO0/plejWQL8AAUYoc9znobaL/XW5QsouEw1aUUf3XlaKy50tepiigU6Upu3vtqdv9Xx/zP1HvBVnuf58KsjAQYknfGuMzQYQnsigR2zhxg2dtykSdp+7ZflbcCA8UyTf9t8aeMY2xiPjObr+vffxBkeoC2B7aZt8jVpmngb0EJCgCYaZ6/vvq7nld389HPE0Tnved/nuZ/rvu4dF+XeVcVgcm2qi8PR2mvj7dXJj25OvL9+icuj5aE+Ys1ab1GJHiwWxMOMBabdoDTf7YP/VTh3+Vp/Wbm+LF8sM+PvHyxLT9w0/3pt9o31UVJhTMERAW1viLXVJjtqot0NMSEYjPZF26pFaASJMdq6oxwjXzvrY11Nqe6NmDTFgbCx9rrI6ao4WH5N/Nx6kXj5U+TVmmxH0/zpyuzkTX+0t0jLM1YsLxQVUbIaqXNeA4TEHzAMEGLExkS9yPELhYT8FBT6DE0DEl/6eX12bNPsTxtifbXR9qbI6bUYmSVUp7MaIwPPNmQnqt0mKgDsgO+JR+5TFrYSXNUxla4GJ9jr2EA0uzOZiGuJ0KucvKWudCYVHu8Xwq258lxLXMtuyMtkMwhxj1+4NvzbJUtzc/JcS5cvQdhrYmDTp5rlI7l5mpan5S5zLVuWI6TOlZOTScezqbmcXE3+lCdXXuLCRIdlriXL0WVZNlpsA7l83tIcl7xhWQ5GPbhyCguXM3arQHrwT//ojtylrhx5j/xRvmJJjlwwJ0cTwYigsEO+1JWThy7OGI5GRP/hC09iuusSMYVE3i6qRICZy++vdK8sLvX7i4WteVeVhTSXNn35PfhnJy/K87owCjZ32TKXy4X7ceVqrmWuH5z6dhT9g9AFAedfHTAsF86ABpR29NGilYpAAGg4VBuZnGI8ipJns2m4L5D+a3zp9krIGUaNCHMlap5Fog84a19NrK0y+0ZzvG1dtmP99Zdr5jvKs7+ryo61pCdqsx81ZC7enH2vJnuxNjPWmL3UkBysT/SVXX+1bF7IQNv6xNmmhdfWpTAZuyrWWx8/gy+Kni4PdwrZqE+ca0ifa0h11cTbMRYt2VmLCWhd1TGMx6xKnmtOtFdhIHF7TbyjKtZTLjQjynBPuq8x/Hp5EqN9NiY7hbHUhyF5TYnOuqx8V19j9JXquVeqMr9vyl5uylyrzQ5Ux95tTIw2Z0c3Zi43pK/cnJ1Yn/5N48Krclwx3C0lqqC3No7U6vWpnsbMm81ClFPduDeMK+4SWl8X6WtA9hGrngY++A/6CvADgaaGVb4IFd5TRjkd4YMpJHMypy+gi3kcZv6gRQ1mBk3N5YrNwDV77dLbKKwMGiWr/AvXAEn79m1DLa0f/I2Fwx7E0m1fOh1Nx68HilCailB/CFFxeGCCZg464A9MjLzj8RWgEjGkmyjOQCGzzygMFgfkINGBOPhnf/ZZvxBI8EO03XF7V5po5oQBP3L/aFrAyEOgyJ9Nx0g2Bn70j99TbQxyXTgz4K4IJWqomET/fbgsYUb7MVkZiS7jAppZfxBUkMYGhsliBoXp+8H3T6gwITSbqqpURicJiQZOhgJ6IAQZDDIeYyoNjz3zCBugKYrczE2cX1tW6jE9Poy0cGe6m1KdYpZh8oiYZameykRfCzb4dUFQWGOZ7qpoZwPGpXUiqJGC9FSn+pDgFu8ScimHoSncXiF8N/Jq7cJra2OdYsw1xTuqo23rom+0JDroS+5uFEmNd2MUOz7SK0pAxKgl3lmOyZld1RjpR0iOdjK/p7tF5EmOk8hr5IzI94YUB65hLqCwZ7lml1DtqsgrqxZeLxMuvvBKaaqjIX12Q7i7EpNk22rm2yoWeiqzb7YIC5cTFReF08FZrl14qHR7JaYBnd0QebUy1tEUw2yumuQbGzGTWMy+rrp4n3yqPHp6XbK3eZXwLMPrFYn2rkhksrSlFvv9YVeQQRqm74L8laya2JPNxAMhNF8UTZjJpuVT6VTGYmK0T0c3sMlLby9MXrg69HvyNJHmAAjD1NCBW0Sa4VYXOUA2bLEtEly6NpTNJjKJcMnqAITbjzlUwqZWrSmSE5K3BFGCK8O/L0A9G0ozV+Yv9yP1HG5HdBcJuGfHz4uc3PWVP+KUDwyIDxQHSor9qHKwPelMen6Kfd58SKwTO0F+Z17yxR/9w0s+H8yMHATSEfmPLFyDC8j2ub2FokCW3rAMCahMopqfnRB4Tmezbm8+khEsb/EqNGryB42i4tA//P1zWD263RQKQDKRdQj8JW8GVNA3BMr/sZce/lQ4wMmekVUDn2X/5KV3CwtXYolNT0mplT5XlRSrq6Mi3lUf7apNnLsx2b1etH/qXEu6rRwT1XtqUOkkf+rCKMtkZ2WiE2FnIdyRjmpAF5huY7JrIybIi4DKi+11QnBFBEWsU2eqQENPV8Teakh90JgcaMp21MUQrG5MdjZC0HswXx7NNHprMJavtznaB2Mx3lUZPVMRE3NQLtXTGO2uWThdlRVRe7cm+6F8XVOmg7xWhLtbvq4pegYQnuptFksx3l6ZksuKlXkWDpNo+7r42Y3ymJhf39cihAdf1AZylaQLJdXXgOh673oMzxSTtFuOaL3QnoXT6+JvtWg5K32BQsT/VgVSyesgEo617fik4EmFBMO+WWAtPt2u/ZlUBHP7EIgRbM5AmrMZP2Zl6B4vhstkkzGBqKtD/8UOOIUlpYEoAxa33bqNMys8wjDCs6Px66Px+avRyZHZax+mYjPBIvRylyMhanbumiriEtI5Irt8ZfC/VeckwzbHh9+evfLe5LUxdpNCBUMsmZWjcudX/5hQqjpP9MeuX56fGJ6/OnAd/jLOWUOjYbT78Yfs5MLM9YmPXn75B+hpb7lzBJvBpEc15LFBe+TesPT65PDsFUI1xp4bwknCzBYWSwZTls3CS8PvkOiOzAm8zrBHnKIZipLxd3gbOcsV/6daHCi/NDOQaMY6Rreygkm3se5DeS4XmrcGdWHDC+0iN9WpniZOUa+JddTHRChFCt+8MdZZD4FrWyuYGutrBmB31iZ7moVYp97cICwi0SMMGwNYQbvf3BAXXY+JlwK9G5Iii6+uTnZVRdsq5ILR9srN61YXGm5bd7tzA9k3bsqebRKJSXasi59rjqLkhCMxhXt0CfGQMyMnB6mhmNYqVB4DMOvCPQ3Zka2BgCW7lZdjZP6tPoLp3LWJtmom+K8XOZZzEuM/hffHUGVYmxYOIzrnHCbFJ842g/x0VoJTvVaWeVOMPAH7muS5jYm+9TGB/84KYVzxMzVCmuVxMOmwu3LNKr8AFbLa85dev0bHAtkkAlUqBKtoNKbw0rHFeATS31IJf7Efle2WzoqPgTT22O3VMYDHCShOXLh66V1OmRFsDiJfamrw9tt3wx2EDk+CVv1s+cy8lKmhbHw+UGKzBMGbFS5OxwIOlVhpkOa3PQbmzhimb/bKh2w7NIxaVzhbfd3t/0eM0a9+6fMGGtaw3lukghWfwo9nqcaFaQSY/+TxFrr1gj/9wm1yRF/90Q+FkAgdEiEW1jt99cM15QLpqCj98z8/RpY79P0XT+jCfwwMz1yAXsr61NBbwzd9+QO4NegmVkFB5XgJOz5HWhoUXY0hUPo4gNuOc5tSi7idsj0p8R+L+1A6neTEBvROjr51ozCExNnaaG99WHDuXFPi3E3xjqZER22sC1PdhVOmuxujIlsiah3VonmTvU0Ch4m+ZsHytCBZT0OsXWCvMi38tbsxDZQFaVl4bRXkRrC8t3Ghvbq0RFQe5i2ILGavC/FoTpxtlAMjdAXVA531qTdaku3lGBvcUZ7oWS8nKo5J1+vjZ8ozZzHYPX11QykmF3p13Vtk+2Z+VoP5771iDsq5qsMtdTdmzjZHAMw1cfxSl34To2ATPS3x9nJMahNSLqexqzZ5pkKITfhMWfrcxhRcJU0psYAFoYUFddfE+zDlW45BpqP6Vy+Vixx4OVMrb0kuFCIYHRUd0xKUj99xjdE4ITADeDKpeKgEBaqigsXGko+ksln0qGahlx0SKuxNpzNCD9BYx/YUlwQxBWJm8LOf3oPGPTbyqyKzjgW/gEjKcCYxHyR70e3CVDK96AOgu3BapPm3Hm9+UWlQ7nl+/EORmNjkoIAlOncFfN8/9dfy/q98+Y+QLRNEwx24C2kDqMChXEdkkT0KTZTMWCh/nLxy/sf/9LyFwlucLtE82cRCqDhoBc1C74p0NqUSHOLppEcvWOa+QSxaAdAsKoyQKWlahRMjv4PIOu2YZd2GF6aHC33LNIxJyNJ/By4uBw+xQCXXSsHxEPC8KoIxhU48qokYzvHU4Oz4xetXPxKlBpAwC0pL/JE3a2OvI4oRa69PdjdEzqxJ9NSGhdfCFKsGnxZ76Mw6kfUYxgM3Qqbf3CJUJNVdCfkQ5BOA7EKKvYC0iA74roAiULA6cqYseW59srtWc6HADioPLW51bYme6qhb6EZWBmG1ISqwemZ1qqc6Iq8InJ9eKyIuKJvsbBZxr8NsFJg1YuKYqPQ2Fs42iPGXaCtPdFRG39oA41Wkv6smKlSnsyH1i5vivQ3yIALJ6TeaFtqhJcS8Swgh7pBTCs0g9xxtr8nKKTojd16d7mmAB7B3fRr0Q/hVeba9rjTgZi26V/Yvo+pHVJiDG8BEBadmjm4pwocT6BrMpuOq/FGgLkNsls1DxymxjUK6hSQC9D4dGfityWZ5IqZsDTr4udv2eg04YWS/x4ffmRn9YPrK+5NjH0Wm+kWaGQDyW2AawjXSnGaZTUauyFdfHvhvr5eVmn7P9asfyPunRwWtfUZQCE9BJHxdjtxXvvoFuQePnq+EKas+j9sTQwuEAeOR0O4HNpxpGz/90d/9+J+/p9uoz5e/xq8PIZEVDaXQKCuVyagoIFZmGhmLUFmorMki7QeN1DyC0xhDn8b3zI/1z08MvHTym/6QJesQKg7NjL3DPqIqTwMHl3O61coqgUb4VMX9nTOHkCmdSlSLrFHl/Rl+I1/TwwKu3ZiQHhNaKQIk1n1fU7xTtHZ5SnS9iEVvXbyzLioiK9q/rUrEN9leQTRdkzjXEukQJGvOiK3WJ5xb/loXk5MgHLSjUui4QLWITqx7g1GC6F1QLBgBJxO2UHZMxLE+0lYX7qiaf70y3l4P0oLWMJiRvNBZI9QlPV0v1qqKTSIEaPh0v5HtKguD0K8HJeiqEbtQEFe+Tn7CZ9aJOHLodw2y8NrKo6+XCLSDeLTBWoVWEYoiqPyWkOzqjRV+oXzRD25Mnd0g2kaeOtlZERNa312u5a0Uiouxbpg+nReZGWFsjykHrESEGqSexX8ZDVaMGUbL5HA2k8AU1wBquoRjhJn7xaltXs2VE1rlQ9gyZKWjc2IRBoJo1ojdnBy448AeuwiSJIDtdq9we1eYdkGuliPXT8fm/fgTOqT5nLkwhYLHImHCIS8PvI0JY0WY73ht5P3piY9SyYwQGzHITNQmxkUevvrFL2CWKefEWQHBF12+y5WXp7isxqmBIqYH/vBAwEKaWkHBipf/6QVEpkJmjuaSE5JKZ0XHov+E5ZHzxCgMEJfBHcUL+uWUiYBxMKncpBvNgKyCgO2GK2NyqHS1ZYXYi94yp9B6hRAwyV5HoNXQRIy1gpQMKg8/f1defSS1qORaivtgOpMpLfX7OXCp0OeZ+tfa9Lkb070bZS/jHXVJUevnmlPdTZgN3AGEjnUKhQWdECstJpZ+V72IbKKjXlAz3l0tBDR9bkO8W6SqSmQoeY7xaoHJTpHsmkQ7NLuw8+z/t26Fx2OZwtd9RWxHC5DOWfGzJ9ZmL7RE2+ri7XWR1xpSp+snf9yS/e+G+AdbtCUeP/LZPdDFiGbrZWuM1Duw/2Iimu1V8i2IyMhtt1cmwdob0m/QEpX7hAuvEe9pg4ZJCKvBmaxJ9XJMfE9ttL0+e2GrWWTKlbW8/Lg8Y2djqqs8I0eivTk731zoQYMsD9ryGhj7jsCsykAYwJwAJvosQgmZH3s7KRtxQVhBOoFCFTH7LDeGEk8MCJJhXgdBF81Z0HC2MIQuBSieDxWLFXhpfvLiZ/5gH0XNsCzTCCJWZVmijnKi4/1ymUARAplubwGaoltuDOEtsoDOE4NXL72ts9cUSLlLy12SyzmfPj+nH4XZqOCuOz/P/iT5AgoWupD5/KLrcrX5yQuYgZmrAXcDZiqdCpUGkIlle3768t+hBabFua5w8mbdBk6IGLgoVCNKQvYmnYAognRIqUe5k1tHE1Sf3JLfChabsZnR6MxAPJV1W/k2XrTJlBAzYmQbct3P1DmABNJMZ0ChEDakgUKcVnlIJBvTWP0oyyeRfmB6bMsdNAWf9IVX6Gpor42I7U9ZiXVXCRgnOyvjoMK1CWHPnXWp3gbhyoku5HOm+m4EmPXWQ4nDJVyuRsAn32iBGIlp1bk+2gn6m4TYNUU6mr53b43Agc1CYjF9kOFpolWubhqFXm/pKpFx00Q3RU+AnS0xFQrVMWbQr7s0b6S9IiZf1FaZ7r0x+nqZUJ14X32qtyl7Thi86AHB9Q2Js+vF4Iv11EdPlwl/SL7ZAotTDoBYpa+vSfXUgmf3Ci1pbKjyB9AUtjCvYGW6rxZ065zIeu2Dn19t6Wifhf4yFqprlZdU/Ve5L8CYKd9ItGDtKoGDVg4QeiibTgSLbQicrYtwzBObIVsh+BMis1cNmyvACKUcmGCRpWoxPnvHXgbk0XO1snrdqrWrV68N5uW5BFnTCWCzj5ODmxsq6itK6qtKb9pYLXpANlqkGXUxZqHcueombKAtk14aMsOz7EU7PfjVL/2h6UcHeNfS3Mp1dn3F6sbaNWXFftpX/XIGMBzR8skF5Q0mW3mgTUIQh9ClabHpS8IcIKCGVwiJSPO8GKAwGz5mAZBD+jQwn8RjFlZXBNfXrG2oW72+sTI+P0ZifDERnpYTOHMVNS9O4uEkp8YDGOgnYsOlRSt70ewjy+ZYc2WJq2Q/xsDz8jQb7VR8HP4sZkFBZuLmlMgBnMoNou7DPY2pvsZUT1VKzLLu5uTZhlR3RaJd7P164RvZN0VixGirSwC2a+O9jcm+BjjIzjbFYUQKIjahE438VThrL6ISyTNV8d7azGDLSl14IZyRgQCmI8PHHkJ6UzBoB0sws9Ur4IHGmCayNAO+FebK1Id1sW6Ry2rmKoFdxFFwsHbhTFW6d33iXLPYi8mzLTBkewVikdQREROwswLppnio6ogcSDFVe2tTcho7xWCt97kxZ1YvMpcuvSF2Bt7D5PTNWt4yi1EPThXy5S3VJuEfcDxxjtVFwZ0fP890BSAT+7LRT6oYHfAiFizmFGTbByYwDsZp0bzLQZRhCLlY7Osl4lJUbBcVmex/MPCZ21vdekGoBK2Jxod+Pzn83xOjv50Y+T2iiYk5gWR/se02vOlUch6igP1lYufQxMi7bDosSOHNu8FV4FmBnfXrr/7sH1UcPjxx8d67/gQRGZiYLtpkIAaQHMi66qst9p87m04lMlmPXYg8FoGVkBzuwrxcF7E54bPy2Zs9X6xYptf2z1396OrA764My32+K/+UcysflMNc4HNPXv2QznjCK+P2lFinnx3zXsApoowFIteOSU9ODxvKMcm0srvJLpSZCLLBVEOAx8TA9asXVuQvh8HLXAsbTnXRJitiH7Zk5rbkaML6V0a7G9F/o7M2/YsN8c7qZPs6sQjjZ+qSwiLQa6sRNSNCPITgnm2JQaGLvIpJV54+25x6Y2NSaGt7GdpwiRi9eXO8tznaXbfwWln4XyqGX2uADi0yAiFbzWRhhRK0pB/IhPl8Pp97pcf7l3/WOHemBiy8uzrZ15zB/O1yZP8hAF6dFJou1LkdvyR61sff2IDzI7LeCXaRQKy+LgGvXI0cQgHpaAeCKcK5hSblLSlk1yUrt9DqfbpB024IipyEfJYt7NOWXS/wFCQi0zGnnNbJIlIWNvNmFjN7yKeVtU0DBnQuk0oINfSgi4WeTgm/hDSjQyTaUWsLk5camqrZW9VHA1cvWlXE2u/BzxzYpYZsayikv4BmzLi+mEMDmfhsUYmfdNmTzqQoH+oGELieuvweHsf2+PSCiYH//vsfPs2etl7XUm2W1RthxZv9oMsYW49WOHgWPBdcdYieoITUb8gNz7H4zUY8EhEfQf3cXLhB4vOjweIQcwc86QT4epTtQUSQPN6ClQU3zI1fFGwGufej78X4yHuwJWYu8cjhVtmBQK0nc2WR2oG8fE34w8ddBkE+PhnhoQpaQDBwx457X42VgFIAAxEzfOGaKBe/kCc2hvKhIRWaj+Assjz9zW9XgjSfKUFI4tz65NnG6Jl1IppxQes2CHS0fZ1YYOhXy2iwKP14e02kszLV05zoFIQWrtKQ7myInF4bOVMeP12d7KiOv15GLl51/afVmZnmHeUF6Eesow/iuhJzFZiiqeV6PrWuMD1cv/BqFSIaQiEQTayNiFo4w/ZIGC5flxZh7YRjON1bE369IonEj0YAcI8woqqoCHdf40JvffKNDak3b0r2tsQEnsVO7amJtZWlOqtQkyfGQ0hMIrHQUY7K/Du0GLWQMqXFwlN0vWHdFe4qbz9UohrqMalqPYbmpji8dYodJ7jCmUTc9CNP1WcVZjIZ2bBUNqPLcfWbCDFcH0onYv5iP6IMFMHS1WirJbJ7x6e3mzb6toCQIL/C6QYm6JtNzAdCaLYrUsuyK7wenRpRneTH4OzzYOMsffbqR+lE1ApZSHU0fSk6VUQG7vzK5+U9ARLr2ATLlCb6567Rlp3s13JEXet2yICDfHpwdPgDVIwL9xAdHvRx+szQ1MjbwRDi6kJm7r7rC3OT5wUlO1753yZrdXPztIVr52nvou+eWPxT4yjOVQb03MR58oWhqdH3FkSzTajpQXAoLygrENCLvGkWWk4OxinQxGM0tYd8L87/g6DzT8zdVm1soKSy2QwmVwdNtIu1sI6gd8V+NGTXCkRwE/Axw88gnFjANdZRGTldLvId66qIn2tBGK+nKtqBMHi8vTr62iogokiSCG53ZbxNZL0mIvjd15TqqU70CM/eGO6gTdlRF+moWWiry55F7V2kszHxrxuTv2hJtdXG+xoWzlSGxRLtrEJJATzK9Wm5jZ6aRM+Nye76ZE9zurc2KRyjp5YJFUiSjreXi3DH2isiog26a1MfNWaHKmNtTTF5J3NN44iwVCQ6yiNnqua7KorWiAnoQzs2OEyYjy9bUiQU1v7xj/8Bk6JFmIBqzqBIcgy45OYXJ+0tEGAo5XA5w61B81xFtu0iXXVnlRWWpU7LOnOeOcypmUtC/3Lz8jhCPF/kPlQSgL/5OngzkzTwNmSKUg7I2ocz8QUM79LzraCeSIZnxgeujZ6fvtL/9q/fFLG4Nvi2mBmiUgSPp8c+RL8VYQ7CeuX85GiCjnII7/7KF8QK95oF8sr4pQ+uDr0zfvnDycsfZbPR6NSAS8inwDkGombDSKl7z/AX6qj38ammK3Po6DyUy9EI8rNmdTCxMJFNRS0OL5XVk8uGJy/K8zI3w+e2PNeG3p6bGBwffffK6Nsf/u7fwcHEfjB9Hl9+3pIlIL0zzPGHNM/AW0SsBcdQAkoyBMezwmOaiZRj0hRVvMCTCvyOUVWNj75dULCytDSoy3JwMKaH9D9U4ptsq4uda4y8sjbRVR6DN7cuckaUfmPk9DrkeXbXJzoaBICnflqVurplqrMxe3Y9Moq6RfSFvCKjKNZWnujZgEwMNs2Idop8V4v8IdcZXpTKtHCG9spkZ02srznaJkygnoZjfQy5ctXhdnmlVthC9LUKeDC66oR8p7vlCFULw8n0ITMkdgYdknjq1kU7a7Jv1UXa69auhp7V8vJip+VqG9LCi9oq4ZmWy8oR+qDZjw4BBhy0GEyIBlmhYr2ppeb6VThQY4xd02pZzNwihVssv0NEQFk/UICod6LSg+QhUoC+jBQCsQpk/0S9CuAJBtu2mvCACJ/supfFPnaxhejJLMybO27fhW56JpmGQ22x3/DjJudDxYaFLhyYhsGxdG7FSeQ914bfZikGonTTY+/PTw2dOvGUqB0xqVevK5m9Jq/0f/mLX2BvWDFwkSjrhaUrPLswIyJJ3gzHQAid/TFidXLw8OEvqaHowu9zXRpdvYOpbMIN8cgXxVJcGgAz5ClFn7tMMgpOBabhI2lx+wrMoOFFArrugi07VBIy4fc09WCJf3L0HadSe5pWII1o1ReCh5g9ItBLlKSESw8PHSkdeR5NwwX01mXTCcq3YL68YebahWQmJY8U4BAJ+fFbno7/JdSiEbVMoqmFSAigtgsrbUC5Xk9TWjhob/P8K42Y3yanU/emesXeakDUsAu+swh8Z7XhtnUi8Un5VPu6WPfGeEd5oluIihiOzTGENlYnhHl3t0QYRqF7WNAUaXHJLvlnTfTVtdE2HIxE7/pIR21UZLcPAfAUPBVyP+tibWvFQo13Vcfb5JzUpt9qyfZ/ymd4gmgyK8w7OP9aTbK9JnpaKHVV4lyLsOpczYPZzKJ2g3ZOLnIgZUcF0pxGlyrgp6w6/jOMghE00P8fRE756Yggir/yzaQig9lMDPU77OcpUhvD9Lc0WqOb8DerLKWF68rFi2KCohI7hmrtwT+4Y5+goxfdHLU5XI1aF1/Un4nPFZVYDLMZdtDAMCt20cVcmOlLE5feMUzMThcqMjP2gdwt5kDDs4GB4dfGRAAQ2bYDOD9e5qzjMAh4o99pQu4HtDPkR+93JnUgEzA8jZHsiM/DsSiiEoVBOezSMARIHs0fxBhV9AcDcCCcJ4c5xQbEgWJYkGw/4lYtdXAeJkb+7z86gJGQqK4w5q68r/ybC6oukMyB6Ugs40HusxNSQYstCj7XGs4jx6JU1FmxDjXfCvLNwrLo1CV5hkw2GkDliM+y9OJiK/tOgwBw7HQ1kns6UeYEoBXd/VpFpKMi0deYHW1SLUvsgDf+emWqsy7e2RjrBsdFfVQnsoLiaDleDXr9xkYROLHGEp3lcRHW0ygQjHZVRM+UpXpaUsDyuoxwZZHpLvnGCvgERSG8Xgaf8RvN0ddK4j0tSeEMvS2IQiP5qRYZHWIOnl6VESlvK1/oqoj11mjLCvWAEEdvaZk/2QvXXuRMRbqnJiWk5YM6i5xKRKFodWhm/CMAquNjgtaCL5lijcWBN0AxVGYaIYUXq6p66CMxQ7UcQS6uqrnvR45vIryq1Fy72l+22sqmhYEPpDPp8rKiNWvs/MIVsblRtqgczKSz69YGy8uCFev8c2hbM3jHHdvLyuzydcUFK1dw5ukATHzOY07FZioqgmWrzbI1dtla/+pV/tJV1ro1Rv7KJQvC3a9eWL06tHq1f02pOXf1Q5CfifMFK5eUrTGLSo1QwCM25QP3/OnaMv/aUn/5Wv+6NYGa6tK6ypLSYiOZCstTiBlXttaurAxmMgl6PKDtDXtFVVWobLWdvzw3NjOiVklM3lQmtnT5Uk3LyV2So7lyY/E5zKkAaArTSK9da5WXBdatC1ZWlq5Z619bFlq7yvJ5V8rjTI+9o+XmuvJyhi+8qyg1sINMw6n+VdQqzIqAOGWaKpKdfZmlqlI44BOhlxscmhMG+Au8M5R4zLbB3ox/JHDFfps6eoZrVrizNioq/mxDsqM81rch09MiBJrR48bE2ebMQL3NhsGChemx+khnlVhdSMoT2WUkJS58V0jwWQHUJrCInjp4ggXCezZSNJHDBHx9o2WhnbWAXY3pcxtinfXRV9dEOyuSfS1wePc0IOu/E9lwibPr5dtFUeCcdCLTH2mo3fXoXtBTE+kQFK9I9TcEzAIMJtR9qekt0TYhMMJPapI/b1hyQ4Htx0BL4VSFnhvQXcVpIYCTT0tarSdJxRRsjzCNbI4DdQYygHuAIuPNYCAqFqtwegozN5gNhg/GZ0ZxZVS/DWBgF2tjmZyA4WgorELXEQbM0QMc/fvkW6IQxyHGaOh4XYzUkKCPyE9k8lJ0gps+JYxRdg1dl0QAYqqKHqcFbRhg7qMWC6hHvX1JWLt8PDwJw4Andhi1J87zwkWGImoYuPxqCkxYvmv6Mt6senbhxMK1tzDWP8cGSKoEC0AgS4R2PMqheUnNu+f0EtwqrgBKxtrbT2ZcQOo0x484PfBJa0BV9b6YSQcMxngO5wP4evYHwnUZOFRcEEeEHaG5cPgFJM8Q29mLDK+gPv/rT83CG9AU7SxPCxaeXhM/szbC4F+qryHSVu8PwXY0A95n7ludBettSnTWRl4Xbg0zLtK2NtHTlMRkk1o5D3Hw6WaRQsRrxI5sFz5dkehGblOyowZper11kZ6meHd1+q0bo0K1wTeaMsJVzjZk3toQ723kndQm2isj7dWJtzYk5ZZeLU2fuzFxpjzZWRvrbYy314u4Y1pQUKxad3qiZeHVsoX2qvQbdVpuoZ9zJAzDXba2BLaycoFBamHzcfXVejoLgvHDlDbmJCwuNXgzwijyhjlVMo0wiuJyZAgclgz7BH/CwYCsMxpA/ykPj+InuDJ/BwZfRHsDFUlgURzwhW9TGhUqFBIwgAIt9oDjnfBE8bvC6BbHkBldvPwi51vCDLfxUsBXQWvlpeHN03FOTMTb8LoKLdMp6TwLZAO5buC0juLiO/s5nkHRrSFVj60C3c5t4wq4Bxp4ylamjQGdhoug1xHO6zg/r+J/jmbsR59Gyr5acdgQ/HrGTQADOEzUX1gpdmJ1PB4Muyj/39IbllgW+IYPyayBX75QNXumMtmOHIZER0X0dWGrlUkETZrnumoLxMDRCwxTX7ksP3YG3TCS3XA4JPoaUufWJ3obMoLWZ2qEEy90yKdakFPa1RB9bQ0Ch/Be1wnVRqZ1d42wFMQa5Q19kPjU2eZkdxWSmdrLF14tTZ1DokXijQ0xoSKvrxZcT6LeuzFxujIFAlOelD/h4NVlJj/FoKPQPk/2QhM8MGcbNc3n9bgN20Tthq2nUuEoKjcJq2rjKb4oDcamApaYTIsfQU3qQHS3UCgYRicXzvZcbHKOHQUeK9kC9EIQ8SLUJrYAVBD+kDiGxGG/gMfwRDmUj4ioYJISzHFePGNKc6rtB66rbyHmORAOsVMCzR9lOzFyoc4YcwApQ9h9qG6VVYLPOgdYrcOiIC7ej3PwFALyPOMsUasPxa8TC5SpyjpW6hllVDhUFkXsixRFCSdSrLDIcEESIwY0tXA8E1SC6nn4GPwwWh3TUlReOWIGDZcICaKD2ep2lRbDK8PRGY7rmhpatjzX5y1AOrnps2zbXOHNTm9Id9WH26ujMAQrk33MiO9o+LsHizyqR6Ph/dfnVwstSfY0pPo2IIWoszbVuz5+pgwpoCJ2fXXwRnetj51tYaMjYLBwmFhnLehHb3OioyzRWxd9fXX0rLzSFO9rlL/C2dclMlofJa9IdtajTKavPolTUZ3ulTNQF++uCtOTLdcUanRDPrpv+U33yoIVUz9rzI616Cu9wSLbQp8Xr217Lg9R4BRycFOVKncCTGoj6QhCuShJcwTqnqIAsWbeIoEKoM72aosrTF7BLkf06HGyPLrFQexiFCNkhgGwsakQawWc3FfKAS6r+tFTTFldS8+G3GoMs57Af3i6BlVHBJj+0C3O8YPoKEUBsFPEEqWsFE1KMAatOpqZ/+RUSAIchJVXhkQtOnYijC6zjwcgD58lzEOUeYbJQFR0iU43ng1H53CRVasDHjAeCTwmvohub0izcyjVx9iwaxiwr3zMlGN1kvg1DJqQhCi0FrCJo7OlPJXymyo/9qJ/euJibPbaDZjVZXh8K00M3dADIX2JKz9zSRC6brYNvV2SrzSH++pmfrElFEAZLH48vtivK5LnmlNv1EbPrEn1Nc6/VpE82xjv2yCSBwdcR128DTGURHddqqs+zmnE8Gx01iTaqhI4IahjRdI9zkBNqn1dorcpjuylmqTQ9571cpHw6ar4uRsjXeuTfRti3bUoMmhvSo3cnB3bkH2nfukKUShwEvmswq0bS7VcXbcN3Y+xQKibCBgvnPwmYBUdj6iXHWwjW5hG6r3aJLXcStqQVKTUtxJT4sKi8FGTcnuUWQJKyjFNwHi1hcB+Fd5itwDIELonkoE4Oh1i5yAr1TEFSO4Tfb0UAUALSbxTVTEro4jQqKxS7C9exzt5ThwmgPJydVkFXnwPodS5CP4LNwtRNkatrtZECR/nFZHWoi5BJVfh0eARV/5KJWyKkKjOpSxRRfcMtT7qVqlzIKXTanIDSS+ayg5rQBFIHh1tpAf8m0OY1FRNkBghdsLGiAdc1kEVdlHiru6DxwWEGydSKQuGEsMqfI8Z7oiIun1uVAcFdH/ItouM5SsLfKZ3FfoTeDGPDPMeDcvyaMsKFl5pSL3ZIIKbPHcjwt2d1Qvt9cDatqpYex2y5vvQ0zbVXhnva0701iTeaGExdlMcsyNa4kKsX1+T6GlJdTUieb+9KoLU/hpwm3/diBR+YfB9SOSPi7Eogt5Rq2n5mCJV7C1Bh3q0ikT5g98IcM4kGn2rJOkia9mS3MTMZWAVYUZhlRJZLqNCJkgqkRs0WjFUridElmDGhWLKl0IHUDs0JGBizMyl2CxaspPsqug09STDKwpQlBJQYKTwL3odLyowUuo7DGkWc1AxFmwxjVG8n3FHJR+DNGQZzWF/DAAn/H3QHhFMLybkUxbVowGGleiLWaXOG0kLPq5IhZJXgD2kFnQI0WkiLkXQIfEUd3Vi59kPCV0TePOk6Ur/8w3UJPIUKjGOj4yPs1sknl1T4M9OUAQGmBfcHqeNCE0N/FCpEQnUWVSVWGoFsTFEGnWI1WnDFjprja9fmJuCjg54QkGOng64jQD7wfkwNd4MIPecnbeRJ4RkJiShuefP1mTfqk0hSlIf72sQkxE+PjQFbY6212TO3pjsqIqiKrYmKsZcZ3XkZ2vFwhNpRuYd0qOrF15bE0PbobJEV1Xk1ZLw6xXpN29E6V6HfLxG7MKF1yvib1Ynrm203W4bg9vQsshneThRuIBOQyFAhcg0QFdjt6a5Mql5tmN09D41o2M2oNsOtbZKoFXbDEFXO6ds60Vskw0mZEKJOa8oIMBm859Qx9xXLimkRDXjgt9g0YXiYNViQzeiOOSSbSu4BbxJ9mJUrXvxEbWtIAbsHMdHUCQY71dXoPUGaOTZU2VLSoDU3aIFAo1aBBzUkeB3hSlwah2U6Ku8SywRB8eE2fsLUX0lP7g+rWQeVzwylRu/dJCtapzFETGbc9QFHpmCylXiA2pKuymy70AIDw1XnI9N4sW6AGW1KAFVb+bdqEvzMPBRsabKv7OAMwDuIYR99uqFa6PvdnX+nOGiQmQLWEhdRaRHwK8I4VDdcud7VqD/tsg3JkgXBoNm/K2NEz/ZGG2vSnbXiG0XP12W7W2IwXFRh0K9N1uSHauFk8TFyOtsTPWigivZUZs8sw6tZs9uQLsP4dwdjQvtjdFz6C8jZAMJqOjPVB3vqJ76ac1v/6XMDrmDMPi8Hj2fVUBOKo9uI+vAZ/iKS4OalpNKxqAlYZBhEeg55t6DdH5MHwcxfoERU0Ve8U61ko4ocGHlF87dwuuT6Kq6KEZcZKw/NwX5omQdEHElhYRkR8PiagoOnd/Jj/ktyntFIqt8IEpcnPFkaL+CfyoUUxpm0aSL0j3FJLVhdUFAFb8UpwhIievwBvAscAOQLlPgcGVeB4zL6R6GU0fNo36nqDhnQ/2uwho851RTXEl1hsnflLCp95OqEeOxqgx94ApOLJAoohZRLT1NAYg8PaPqdfyJC0qlqRZrsWkf3aLqpokBXMRF7YNLcYIJ1eXA7PjFdDb9Vt+ZvFztk/+5tCcePZrJpmeuvL91ywY7hHAu5NtEbX2BUTDyT9WZdxsm/nfl5Gs1ifb6ubMw7Ba6mqZfa8aYiG5E9cKnK+LdyBmKddSLxIv5iIYE3UKdKzNt67PvV06+Wn/9ldrIK03zP6tbON2Ynbq5oWiVR2dAi3VsPrvQLvJs3baJ94TwnvyvOOBNJhPJyJX58QtYR9jRWCW1JoRM7jcfGa16FBV2zDKoSywXNx4Tlrg36lPgx5Rp7CWXnWSA8jEJR4faYFhO8qXjA2r6kTLIeAPEDgjHEHxK2BelmrHlCjXVTwSye5ERA0Am44ikpM794824MZAN3i0PFe4NV6YUUs8A2h0jyvkiRmfUKzwG/D3CboYwXtl7VmlvBwQV5BGkI1TjyhLlU7DxsYJ59Ta1LCA/yp9G9AT7l++6AHHnMaPzEauK6AlWX4GNwhU1eYVUGBdy1ounk/ehoAi3grVz4BlKCjEX/E7dpJQIj5G6Y55sR/+Oy9vYjQ/n9bIQTQG8+OwwevHDsrz06KOHA8KqA4aBShM30Fr3FIf00iKkp7tyvTk5bs21cvlyJBVkJ0GCw6fLGRzBFDOUCXZVps6hP3mypyrcUZe3zFcSNCqL7ZBt5Xtss8gsKtN1uTY63RiB4oDhR+qC4S9IZ1PR65ejs6PR2ZGEgiiUnUGr0iSC0bO43/gFrNE5+XzYRWBTm0cUwSsRpVt5pNXqK3FRy0WBGETvai4XlbLyA0BwVSIvxoFSjJTqV6CIG5tgPfL08NTou9Nj709deX9q7IPpsfdmr3wQJo6Clzt6A6wS9zaJMbtql/EnypNSvLPXLsxceW9m/MPp0fdnrqA/Kr6CEgxR+1g5U5/jnh0VRDP3E/QFA56++v70mFzhw6nL702OvDMx+jaWC1ndF+BsmBqMz6ryBRGwflpoSsDUOYSuw52MvT99+Z3p0XemRt6ZGfvg+pX3lRWrlo4KwTEWgc2gPuM4rMo1TSaEAOzi3DvlfePq85Bx0fE2iqkyPHH3GJWgRnSp9XLaPCobkT/8IA8MRYRa0kEdtSv0Xgt/Qt4ZCOLFvNwcIayBoGEKg7W9KJ9Ey8NCjw/97DDNDoTEZwZ9mmYmxupjTHxLikXYhxjHfFt99rcNO2pLLZHUIDogMonHEyjSkcrjB1nXUTNr+dEQUQhxTmL2WhSOnYsqC0IZ2hGH+Dp6kIezX1XvgEiosJl6LnjELhF4KJ3YdYeH4JwTdGlXAcWxtoAALpGjx5StwnOCTeU6zHyCaorREZMW6QH+NBC5PnD6Zz+0i/TiVf4gkniM4tWBpcuWEvYoGeqyPCoKGp2gurM16tvBhUQXiRXuLzKDIX+g2BIlmckmWRviwBNSo9SCKJUOn51qn0xBx6nDAZbrBEtssfuD7E0TCJmhEn+OlhPFCAtqaRTdXESOvzqcAAKccEonYDgVmQkELbG1bGSKyi+WHTTluTKpLOFZHSceMIwoxuFkfjMDe1wsbJhSPQ4PQynYhfnFc6nWjuweR2FO4bSyAmlNKh+NI8pYpiHQc/44lIPXdyRY0US1xLyU6r+NFcEFL8Ymh9LZjKyLLY+EAmAf+i8izQVTRVSXUTHaCn0FqKTyCWMwXDk+LTc/V1up5az0FPhsnRMbOKLTYC6YGs9qmD6U3GEUMdpM5S51pVPZ8NR5jCyYGlY5WRBNrAnWOk6PEpab5h2eVBEJohHVN0UQFBbOzQhPrEI77BCVvno04qujTBWzVFdz2tHiK/CNyuPrMAEiKNcfi8/NVsCsuvng4//+xitiT9sh9IpHbQjK/XOQ4jM1FJuGaxk4TXgOq/53dImQzDjMnm9ADpOae4k2MbbARn4yncR9MkGeR9eBJ+eEI6sEywKOoZziPIS8jlA4j9yVZetei7tmulGyRREEZvEizsJyDZUDhM7vwV1bNvv0AlremCCj6wVeNmFChSV0jrIxHNLF5xrUwkrFLC49xc4RUPz+SSadCkEpQ5XwDD8Ro1MO2VBfoJiiuj8cQS4TeQj3HjYTtR7WDq5Tmh0QaNk51dnX2SrO4ZJf5PXhZHRirP+D3KVLQWZdmj+Ays3cZXk5ubkB9IdGtwcUsZkYbIyO0SFUnnp9aMsJeWURoRhzmisXbRGLbD3gWbpiiZaT+3/++SWRY6HyMSzxABzk1N2LGKaMY9AMZY0t/pOSpM628kDxnolVzlggHmw+6aLHlCOClHSqbYCXWgGtusLH1+EvOPDz6JmpcAjNmCm4qlcVRFBJP+9h4D9/0e5D+2DDo2PQregiDUmeMPKwwsxGUvpQLT4+NcmUMhXPo5koe6RxQitLLlATzlTPzKKQQGT5i0I9dbc8BrxhnNtp5QST67ho5fvsIpj7KMBGb+9C2/ZAThb5rnx1nIuj2CkvBXGavvKuBwUHXsF1O2Axlsyhj0X+FOasQlb5Tj7IxEUlhxr5h+O9U6pEKUfuB3eR5wZCRuMRq4/HVrFu9o3E+2l5TDFPV0k/rUOcaWIAmR++L7ZIncNoH8ERvxMXp0aFVwnnOw/FB40MwFCHb1FXwnmkit6i0xciTItBKye0HsyKUIKKWCKvNgajoOEfsp1QZO/3ei3P2vJVvT2nZy9foI2CO4nPjvA0DrIx4QBKGP7nNk9dFL549dI7c9dgakQ4TEMWR/WCV7yN5q8KzFI04fBRSINXiKlYBMox8UOlj0MIRCiH4Ehe9MTNCUNj0pKCYbzZ8T0N4JBT11GyQUtgbxDaeZ+UaWxt/2//o8fLGfcYqY2zzeTmKUz8xSYuMni1/ergKXGMckwRdSbWWcxxTPZG72pkmbp9BZlMBpiC93A3IQBKdZD8qMVRAkOojtA358rLMeh+RSIye5iIZAsG+YNmJjbNM4zMCtwJV4zHG/aJYPbcxMCjR77kheIFFUT2DlqNofWRJWYSevlR9hbRkw+CUitNqTM+G2aOQARVfIRHEAvHXaGZDJHih5074D1xtybVVhGWptQsTn4HLssDgNOMpxWAWWSNAgwfdXX/RBbdKtHXriu5YWWeLMHPXv77bDpxffR30LwM/1JicPf4maACIcjhaNEsm7n2biqVztG0olVBoYyinrxetxmwV69b7cpzXb3yEee+qONLjwSFA0KzqPqjUwgMzY6fT6Xm21/5x5wl2vL8FcWldoEnX3Y3kU06s4cXDyfQkVfAMUaWi8JIJVhEBEohDjYhwFkEhNMwvoQ6iucfa6L6lgAICA34UxhJc7L+mKtC2cXbsClQa0yac1rEL15nevC//qM3VOwX3sWMYTT/1HJymECiZsMR1B3i/rE5BHtUWVQKzqLEZuFyoZIABsLq+TrS5zNKUUDtcA0jKoQxzcVEcasKwUAP4MoM3YNpYCyGbqPsHG3eYagQYleX+jmQjs40xNKpFcncCM+QcqHIIr6FaJ7N0nEbzlyP4XbrBelkirFS+FL4dZ+cTO3jW4T8ccV56FXZn1KLuD9IklpxyhYOFr4e6x5RQUEGS1HTwtOvLoXnJAwochZVQV1FJyYGdrVuMW0DzbhQhuSz/T41mzqIimJj2ZLcZDYrMBmdUGWMnxAA4KXjN8DtgR1irN3FiZH3sulYNoWuOJnkwvjld8KTw/NTFxcwz0veibwcRRkXJgHwsiJiPYiJLW8XO7DQc4NPlw0QBam8dQXBYguVeUEzm86SpNKTpVIFKF5KO6tlVYNklDRziUAigawUBWeKAkkXHb2AJQI/AYmkmd4Pni5n9QhdFDtZLkQHoZqG1QBTnhnal7zsb3/VC72Enoser1WI7rGunAg6xAGAPja1AV5QueT3yuhcvH+1sBqbfIp1AWvbdBfoBSmRHkUtaBlj73iEYnPKwHB8NcrYgGqdxO7LdYwgeLMfPRhQnMJxBV4jgHYR05c+JGVFA7swB1aoAKo6n6nwHDLxQyYmFgTQqkbkGOIRtAo8K9hgkmOElPKHNCusROcuBRKDHw+EVMvkSC3/hLZ8FHElQDzHENnwOOJDXFnqGogpP8KNwVrjR/2TS0BLVsEhit5CGA/Fuh0UcSDBB8Ux6HOFep4AnlzLc/34R9+PLYyLUIaZfasupURqziFMREq5Mu1rMkvaxSrEqpCYux517G5FePoXxgd/8VYHrMxiE95Av0+UtfBstzffq6PXP/pUBNCwR96j5gsqiMVeKktDPZTK/gFv4fXJI/ngjFwo03vRgkT3DDUTjWdScQYRO3SrcCwQxa8uUIMpkUX2D/p6ETgUQOD6NC4VFfn1v3WJ/MHzg+7LcCMIc6W48ApAAR4POp6xI8wtIf3gWaLyXGAhoJfVjV7Uohu6WZBG23OnaMPBZkc21KlQwK9uTL0oV+apQL2JV4wZMIQgZoCwFNoQo2VyjGnTsL6UTxbWqqJk8s/6+kr5dtr9HCiDUaKo+oZVYKpG0SqiBJxV0RlKtuqtT5BnOBEPScDACjIQT9lXIVxn9cFslJ2HhXCorfM8i++HTMfYIxqcjNEERUJ4E3KOL7lyNHTnRceJwmP7Ao/v8332JtPlsb0iVQGPW/cFStB3Vew5gzNTNHY9m0VeHrU2zERqcMywUefkgnO+Jy+Qd0JKGLEfCgu0UznII6CGdxwlwXJB0ciyal6U9KHdiY6eOh7d1LUb9M+1mI+1mp+qsC305RaxRjc0tSx8TOesgiGgkPgCnoviRTupP5JIRNKpcDQeSyXi0VgkmYrEk9FYOhxNLGTT0URiJpYKJ5OqsxFl4qIyOcg+hyITQvFHYrMX4nMXE3PnUwuDmbnBeOz9ZPjD1MIHqTn577vR8PsL46hegxRO9v/nf7S5fXBfYj4xq7JRLoooIIRGgRR1GvZaiaM6G1HlIeajRSmFrFySi9hsmwueSs8pPr4AA4buc4TDFMsnZjHorSRS0QZXHnwjPhqUsAWDyHJhP2nURMkrcKaxWocqiOYp1vZifPZyEK5YTFlGz3MoHJMmqSmqWzYrlYpD8ACdTp4qvxHbrSnxUpuE8CkfzOF8i2cXK67CH6RxIAzUqirHQN0HyDdPOa+uvknZ3dx4vqIIulx5dvLi8hUAAJ9V2FRuPrIvcO92z8Gd5kO3+u/eYn33T+y8QnQ3c4t6QvmXD562AHwUwmLTqPcEHOKETKPIJSvMLpVB6z1hDGjBJ6dX3oWOgelkfO7aeUqhwCRMvUx8QtMwFR2ya3mCJX5uXr4d8HmDge/+ScnhXYH7d5gP7rCP7DHv2mpqBW5ReYEic8PG2vlpQqxc7ePVoLm2GFghPjFSOJ3KRp/V4i9qsee1yHe1xAtaTP75tBY7pSW/70p8X0u+oCWeRLcriDIZLZQm1S6uiRLXD299fmzvi1dvfe7y1mev7Hr6yq0vXtl7cqz12dHdT1/e/szILS+MxSip+NLpgV/9qoOtyTzwJCD/1oMOMjQ8qP1pNlGDoSCFaoRQLTvCcVhojAspJ2/2qiFMFhJUvKLZESdGRge+i+wOIkHvE0+C87OY0kMCA95seHR23hDMQscjJLp4Cr35cPPLIUnOcsVU5j4COrja5OCX/6/PCTlR1YoY0GFiMIDwT+QXsCBX7ge0TR1FFbtZ5JwawHhGBTKwoEp7Ql4/USg4agQ2BeGk/ItL45xyRULUcQd1gZHndBYFMHAVAM/MKIdsja4pK+HEc/35P7bu2Wrcv1U/ujfwwHbjgW3mfdu8h3f5Hr216IUvBF1uOdoQZfjaAiaaqOqeF09+67rw6clBgb/cZS6Tvhu6pQRpMVMerWrYjNC0PdoSgPo8htacP/Gdr5es8rPPFax+HS2RvC638eVt1uFW/8GdxgNbrXu3mIdaA1+/LfTQXvvwbmu5LvAsKwvlANekmofOUzqvyrB5PheHOA2yV76Iy/nwES323dzE0zmp72nJZ7TES1rqlJb+gZb6YW5afn8uL/Hdpcx8oKJTTIDrjMGbUwMt3xrf+fTwrlOXN50YvenJwe0nRrc/d/VT3xn51InhLU9d3vvMUGr2IwfOcQYu/vrfu33QLfATgyeYbrECmT5BWQEGcQAwN0LxHMcpxt9xESpSSiEmKfowdMsjhgSrryEDtASgCqK4SRjTkIfrdNpCHB1T6pFpuwAAXllJREFUUomBlpsjV2CLMLHeCoygaFvV94MNGwJ6fdXaGHQFIIlZhDgt06PvBYrFWkRnPRF9E2YAknK98L2i/ZfQjwxsGFXZgJIq6gTyBVRS4WgqaVasCDQIu0XrBKs8zW4b3KqP5RvBFNI76CmlblQXjv+hiPFfvh/vwZLRI8PlyyYzOsaW4RYf2Gke2mkc2xu4f5v3WKt91xbPQ3v8d2/2PLzf//Ctoa/dXnJsj/+xvTb6rIF1oPeKYReUlAT+9sVvm2YhxnMEkUQK6TTFdDDQLUVWUC+wi5C9hJCh6f7G1x8NFNuG6fbZbmVryxm4c5d9307r638QOiT3sNt8dJ//4G7j8C7/sV3W8T1++d5Du6wvbbGVv9NjrJi+9C6oBfFAmU3ENsBVGF5bxhcABEPz1z5cuD4VfklLfFeLP5uTeFaLvZQjeBw9pcWf0ZLPCkJriR/kzU9CcOF5JA9WAAO8uNa/55nhLc8O3/ztwdZTY9tOjGw/OXbTU0ObT4zuPjm2/cTlLc/OigRDKBXvEivwl+1iT6PvFIgmzC+RS272oIosYO+xxfinUiNQmNxxADPdalDWaL0l5Jv9amHS+ET1QXzhFFJPCs7JqwlgO6OecP/AQVQQ8pbg6YP8+ell8+vFq2xtSQ7CusytRf+ggC8RnlCUnQQG0P6X33giwIY4FoY3oAldsKRIRw8GejYs5IRlUumFRVRlPx36fLiA4M1qHYG4NFe5JXQYTyuaxbg5V00JJXj3Imflc6qIFFgj1m6Rs368PTzQCskAz/KKcIFgkREqtgKW+882WUf32Y/fUvrANuPIbvvobvvBVuvebfpjt5bcuVV/bH9QAPvYXv+De2zVF9QKejEbk43XMRtG5DhEKiKGfJHPh+Rj3R8wAmLYBUG2UCQicBXw2OReIuIe2+0xfYd2GY/f6v9ft4Xkl3s2eQ9tMx69tVjYzqFW++ie4NduL3p4b/Dezfq3bkPTb1n6VWtKJoZ/p/ypdBXDcKGfkSRhcUeRS0RtKziXfdAVP6FFn9LSQjZeyol8R0s8r8W/l5P8oZY5JcidF7n6AccbI+jIs0EInLiYzfbveW50x3MjO06Obj5xaeuJ4W1PjzT85fkdJ8f2nBrf9+xgMvwRg1AAZhhS04Nv/+psoVEgGIEogwmGprlyUGt4TZndSpqhB0QO5hG6Z5gQblBl/9BB4fBmdC+Ar0l+8eRnUxlsJcAIouPgFE8yzwYOhso8CSuY4xESzeBjW1vDBBjbxRbaftoGA43oiSU/n//crWLGyJLOw2yQmxkRbgm3tFEYKkJ7QX9I7zj9YwuNDjHTkVmWbGWNQ0jLm/ejziG+lGSXh5XS7RAJiiM9qWDMaqsWH4O5f04EEnKv2DAch6TaYccBpFJm6c5cnB3NmD7AYOij31m2WeAryDeBx4d3CUm1H7kldKzV/8TtwaO7rS/f7Dm80/+gCHdr8Mgu69CuwCOt/sN7zL+43a8ViLqx1JRBJPgHzGN7gl//tP/wduvwDp/g66FdvqO7At+4o+TBVv+epoAXU9rR81iQ2xvwum3fE/uMo3usI62mvFO+/fFPlzx2S1BUwdFW6+BOW355aI9wHv3+rb77tnj/8nagPvq6Ftvx2VFl7mChnFK5IZQoIzuAJSHKacMlFvtmJp2NP6+lX9SEbCSeg0An/xYcOiHE4zlX4rtL5kbfUf47R9dTRBYmBmu+OXLztwe2PDOy87mxLd8Z2vzU8O4Xru6UfwrxeHKg4NAYaBtNH4Z+cAb+65ddXrbCQBgfjNMr8iT3NnftEk1heuIc1UrtvNj8HKgEL9CiQGjopM95U8KeRbmJ1ZWl4NK7D0KCM0xDH1kAZEqKXThSHp9FpormykWRDrrfAoyDRWY2m1hdvlrQR9SpiLIbkVrv7NUPF8D+4XqKz094vYUwxNlno9CTf8MNuT9/5e/gzUAABW4W26/DWzp1CVlT+JTj6sEpYl0g0DfGBvp0yhJ0lQeA7hKSIUAsDS8Qa1Jkxv1pAMGwmB5iV3c6Pfhf4gF9f0qjoemTGtw9ELs+dOTIvUGhB0E9N997dLf/3q36E7cXia4XLf/IPv+jtwSP7wmJSAn9eHifX2T98QNCBvz3bTUf3GU/tMv/hU1Bj+5B3zfZs6XuL2/yPtQKXH98v/9wq/nw3sB923wP7fU/3Gof222t0A0DHa3RzaR+TeDuLb77d1oP7rLu32k8ut9/bJ//ob2Bx24tOrjD+/jtxcf3+r/x6ZLDO83j+wNyhbtuXvkXt6Flo0hJIGCkk/PqobgyJBuCWLThaMc4BoM68wI5s5P9yUe01As56ZNa4qmcxHM5ye+6Et/OST6txU9qqZNaZPR36GRyDWP/0MiLanpu4sK2E2OtIrjfGd164vKGvxnc+vRw66lx4Rs7Tl7edPJKNvu+mpZJKaSGnBj+zS87PTT+7KBlsF8tePNVuQ1aSNj4YSbbAPsX3eRUp3ApYIu50SrqgXaGJtmaXDCTcvIiSEqdHOgI0vGgkVBBpyZwUktTO+FwCtNw62j44kFXMd0ftLPpcH7BcjknggscOem2g3p8fiaC+A6qFv7gs3vlCInoe3Qgulg42eT8T3/yA6/hZUkH2mSaQZ9YgXF2rMWzTCvbVAVrMZNKOVzoc3FywXh2RbiZBYs9Q3Ua6YeyghXfwhLgvp3jToXFc4YrqKVh+QB+UTgtu0VyMpDvXm6ggt/UbrAearWOttr3bzOO7w891GoLHh/ZHXjigP/hvfbD+0JP3Ba6b4vv3u3Crc1H9xcf3QcElV9YjOW1QuYXb7L+6g9Kju70H9rhEzA+ssM+uF0k23/3Jv3wLuueLcb2OssMCZXUhY0c2Wc8tD/wlZsK/+ozpfftMI/vCwpFFn58VMB4hyHffnxf4OB2864tPhH3w7uNY63Wkf12MISekSYbwZNZIc2XS9EPS1cxSMdJhJ1WBxivT16cuzqUfMEVf0FLivi+iP/GxS6U/57SxECcnxqNMaeMHI8RqPGBbHZgzzOXtz49uuWpS9ueubTve9c2P3tp67OjW58d2/7MiOvuMQaDmK0B1zWV5+TF//xFOxsiMnsWJgQaC4XhdFIjuIGmtPlwt2D/FHHa+sqsVzYopJmeZma2BIxC34pUMoNpk9xrhrgVBkMhq6O7AKahOCddyDztOBUBjA8NldhsEWZkU+GZsfeLi0KCQYVeBPkCxZZHX658iGJHhlaXivXJ5BCPETC23NQomvxf/uV78k+RZkFoUeZiWaZTwGbVYFepMn4jTpQGtwh9Dszv+ZgYcYd47gnSeEWxQ6VQ6FEipabaVbOdSaGUL31RgmkX0nrA96E3zzTme+bmaOi8ZPjyCnwP7jYfuy1wpNX/6P7QY58uuner7/HbS463mndv1e+FRRg6vid49ybvkd3mvds9YiN+7ZaiB3dagaDP40OI6OTngwd36SJ/j+yF1fjQPvCT47cEHr4lcO8m38Ed+l/dZtt+jGsPBvQHWwNf2ew7DnZObN4beKhVvr3okf3Br90SPLRD/8ZtJcdajbs3yweNh/YFHz9QctdOE6UDaILm5mAorJ1SqeoBFTbAgYUXsYAfl2czUj08M/yT5NMuMGZB6OdygMqntORTWup5bSGeWJhRPhDHQbYw3r/6MRHisR3Pju549vL2p0d2nrx8098MbXt2bOsz8sq1dPo9uNioUSmIcESIMP3+Vz1gRH4o5eLSoMEJaGLeiaxzLAhulbECmHGf7CMlO0IGrHSyfKrAl4+UD/YhL/SuzGSyQHfkQxPUVHoCjhCBDFdePL0ALK7PzEBOjmYGTUSg4JUrsENmls2Qtm1rMTBUE/1jgf2GIUgbm+g/8e1HAHCINui6XRgq9qej18TWevnlH5q23Ea+ik26xQpUWUcMvjgMx4FUzD3BohBUlDjyBNOTB8mDSsWBVvYsawHZIZeKlWllSrgZfCHgh5UDm99BmMcPxZpLQJajaTkm3JC+5W7rob2WSOH9280/318sxOArGwsO7bTu2+a9b5v5F58pPbjTEjG9/2Zf9VpjQ7nZtMa3udZfs85mS2CUyj59h08E9/heYdshkfKDO8xj8KwZB7ca92z13r3N+zd3BAW0ikoCouDWlppVpe6WiuCNNdaGtSLW/js36cf2BI7DfWGAfmw1BLOFYzyw3ffFmwq++CnfkX0B9BvA0NJ85N/QRSBPhHZQDl+kI4isF+JIRyRrF5yFjl/7KCWy+7dLYk9q8W8Jb3Ylv7ck9ZKW/p42n8qyJo/eAIjCQGT8ws6XRrefENm9vPmZS5u+M/Kp7wwKSO96bvTmp0Z3nbwUddxh2JQF2NYQQfn5za86mc+AbCFOHmFXz0lm4oM3OiWiELhJjGWPIlsD8yDjTKohxOIpgM0iNL58NcpthWdFKpNc1DxkFDTyICGsaY0gykZwXZRp5bySb/dxAIrtR5A1WGpk03PynoWZEVTNBS36XnCrtx7YMT12QexDHQmoYr9iJvTSpXnz6Gdw8Scv/wDzC/3ogyU/suNZjNKCVnHsNEdiIVoavGbCHEAJHDtgnpE/3hPetABDlQeOEXkVJcHr1F9ITsd5UKef6MI2anzgTzZ4gdiDVwgPGkYdIs603LQf2Rt84paih/YFHtxpfuOO0q/e7Hlgp/7YgSLo+u364e3mQwdCNuthCzxudBqXM82urLrpC9i+b3569dcPhIRhH91rP7jDeGCnITz40Hbf0b0BEdPDu4NP/6EhCBFA0jfSGEqK/R4LNVrBYtsOeUBgeBju2uQVwn3nzYUP7w0e3K4f2ml87fbQoV3m8VuLSovFtDIMDO1LIFCs9oxuHCyCqk/hk9I0xL5Cp7GBIrNWLs7SHEw8DVsw/m0Nwv2Cln5BmxW8mkQEm1ZHPyuALt70neEdz43e9K2hDX89tPPUmIjy7lNjm5+6tPXJq//0llptbAT6DBFTAYfjQ7/6ty64d+CvRLMHQUQM3kOCq8JUAgqRWLWBwz4Sa5VLgccJhxMj0gy3mCVuvWCl+wbdKMxm0nxMbBy5hBwe8k+1xcgvULDFV+Ckw/VztBz4LhhAETENFpvZ5BzjuP0//P43PSbcHWgO7TdWrS76xb++6g+gSyIGFdiIhM+MI3tRiP6Pf/Rd0cPoquindy+oo4m6Sm4T0VWQgeyXi2AauFGcKqc+hxujbLhBeDQdZHWOI73FZB14nTn7DnIPoyEN3FUK0Z2EjYgqSScb4T/xMGECgI7Okz5fwP/ILcEj+6xDyg0nxHen9cTtJY/c4n/i0wLVYvkZQpoDIVN5iH2Wz20U6nAbewV+PD73X9/iffRASJjDPVv1h28JPXJr4PAu36Ed1gM77SOt1uFd5skvBHx+byBoCVHzM5lG7JuiEr8IdCigP7Q78MitwUPCsDe7D++2iOuW0GUxTEXQH7mt5M7NesBvFrgLPLaX2WRwZTh+SSwIrChAxSJUAxoWE2gUv8KyiAnx3JLES1riFDzQiX9ZKmQjc0qbT15T3n3muSPDLhX7YOeJkU0nRrecEF4xuufF8V2nxrY+dWXXyZHWk1euj34I8QXcQjEyLEwjbwo+DR9aoCNTR0ftsFtz5ZD5qITyoTmAOsWaqhjjqMmFFnu1IHkrgsElOUgotcTswkIV+jxpsRYY9nJOLE0F5Q9Qi6BIqaKXKI3jMXbluFSICvWdAcPv1zPJWWq2gevXLoTWFGEirV4gMuD1iaSaAbbgL/TA7tRQonKJmDjw439+Ebmpfj2IDEHZPncmlVXlW+gORfcxeB1cFILNPJTI3KWdRwR1zAJ8YFGa5UWw3hn8QKc4ZB++GKYdctugdLArCsix2dOo64S35H/wKrlmbq7LZHQnd6VXJPiuzR7hG8da/cd228f2+w/tsUWeHtojQmbftUk/uMt87rMBLd/rWunV8nWX28zL9+qWwUQl73NfKL57s/eebb77d+gP7tSP7LG+fkexUPDjcFFbQhj+nzuKPJhnIyDh1ZauzCn03OD1aivcK33mYweEcwvPFoocEKbx8D5RCMbXDoTu2mo8fEtQCP3B7dZd2+QswagSqyibTsFcU6j2P5UPyRVh8uOjq9JoFePqF/Sam3478yy4cvIZLfnXWuKkFn1Bm7/0/ZmJCyqaCKSfuOA6OL3vpWtbn76845mRPS9daflm/85nr2x+enTTk0NFjw0zq5vfTj5DlIFszU0O/Pcvu62gKB/LLrJEX8vKCGTAnhnn9i2a5gqSFaYCXBznnXoRICWfwsKiFpPjHWx3Mp1m8IEKR32WSkmZg7D+P7EZ1H+xICKRPjitPegnETICpXYmPh/hV8SnBtc3VaEmH8EBGy1KUNgGT6hPLxRDNp5Kz3NikJCCn7/89x5Oa1DNeU3bECswSkYQZg8jdUKQUMCabWwDfW0OkGAnANVqyDYJllpBJZGT7BuiLjGDLEHwNn6EmE+OwVwc5BjxFbkIWCbRnVgyuHT5EiRgWF6XxxIBun+HX4BZhPKh3dYDcDJYR3ZZB7cJcPqPtdqP3Rp45EDocKv50B5TOPTx/cHD2/wYemfJElhP3xEUlvzAFv1uhMe9D2wxH94TEKvu0f3B+7fpB7f5/uo2U0dxEWyaO7eaR/aGDu8KHMZ7Sh9oFXG3D+025VvEynxkv318X/CwcBVh0vCoBA+32sKkA0FMU4U0c/oBtBn7SkZUg0plvSEllY/MfAMFCkQs1iCJOr7Sn3pSS57KSf8AlCPzvBZ7UUu83Byd5a6Qdl+73L//xMj+F8a3iQn41MjuFyd2nbq6/ZmRbU8Nbz8xmg2/O48tUHXdyihnJgIF6Df/3g5gRooPkiuEb8CngfxjJbK4VSIOnRLTvDHKdBip9wzIK59GjubxoZ98oZFvcaJUBgOMyUMWewYpqFKpoTy3Kp5HH4uiTA7/RgAvELJk9UJBbzYxD7mX1bs+lIlP6khO9BX4CpD1ZcC3iPEaAVPL02avfohDyJq01376j0IsraDtl6czgEqZTFqszOgMBoPDY6OylHm2NeAoC62hLkGXCZ/kxM6LiwyB5jOegaFdJs7SuOYpJ2HCWVdBE+gytfHUvI79ywviK+4/+EUhzX5Z8RWGSNLBXSJM/vtFue/yHWm1H71FBM64b4v3qEjV/sCxvUH507F9/rs2+UTm7triE9xd6fX40U9bv22j+ZefWQU/9H4RfQQOH7819MB2U3D9nk2+wzutdattISpeU1/u8z6yP3Rkr30UlmUQHuU99l98ZvXD+0OHd+pHW0257L1bhKWYj+wLHtluCNs51hr4871+22/5EZ4VppGOqKIbKlk8jiIVTiKoUkHklFwWQAAlBlG36YH5VDL6rJb8QU78SS1zAjgd+5o2D39wf2TyAoyT6IDI8fanRrY+NbLlqZHtz4ztfG5k84lLm799qexbl6Mz/Ujkos9eSCAqVlRxF+X717/s5DQ3j8cohNc5YGu5OdGJS+h465xAtf4UbjooFrebr4NwDsSvsysVW+EjgIKW44WZdDpKIgrUo38aHIMJEkyxQpRXlb0p5CbqwTQSSwMpR7gZNGTLJiOM5JPoTwilccmLgFuR9pCF3vW2D71YARkqlocT+9Mf/8BkSrRIS6FPlLIbPhbFY7kLSr0wkAcPHUt08GwDbKmG0wbho4kK7wR5hdJERF9HsTobhv8OhlkS8/F6fZz7iydnKRHvjBfB1QZ/9qPvm5hbUbi0MP/uHfo9O30P7/UL631wt3V0T/Cem31CZA/t1B/dX/TgHiEb+OsD261DO7x3bvUJeO9pKTIxZKTQCJmulZ7j+wJ3b9EfvTX0tdtCYvzds1k/vj/04A5TsPlwa9Djt01kIKHPZ2OlX1Bc9ICcEEb+rLs3eR7e5xdW8/Xb1xxpDTx2oPTBXaYQj6M7zb/47Cq5pa/tR+M5t69AEDodm4GngjpOyS6wgE70MJaV2AyHOpMClIpTulht/PjFzGPMQHoqJ/2clvi2ljgqaDLKpBd52/nlB0fE7GuVn5Ni/I3seX589/NXNz85uOk7g9n4BYenTsIfiqWWlWTRijo2//nLTtR3YJaZwZxgDBlxXHJUlTxp2HLK8aKfESdTma3cTWXSQP5MWBoQr8Ks8FT4TwYZLkFVqDoe3HEaDNTYcB6QgKkDjOncyKvxhlYFwFtC8GnAYmbJmbwhk8745PJIoUZOOfq62xjzM4+acFrPOCcXf/6T/9fvNy1M2jRFlIUFIetINbpgfpu8GcEUPE4/rUCaLw6RUAiNX0iS6NlQbjiiLN+msMcxJLEoSt8tfhBeIeTC41SQq6mTxF6rYsLL86dTYfQAEE6v+7682fvgLhCDR24pErAUgBTu+/iB4OO3FR3d579/m0/E7r5tvicOlDywzRSsFcprW7rH8mJeTom/UEjwSu+f31r09QPmAzv1Y63eh4WQ7LP/6tOhP7vZFp5dVGKjUUEQiXi64S4MWI/utuWywOk9waPwe5jH99gP7PId3xP4+qdXPbDde99W7+HWwJ2bffdutb7/x3JyDH/AChWZqK1XdjAlY9HhCOHGw1KNUnqgqRxaifdDxSODefL8bGwi8WxOXEzAH96QeCknezwnPIEealjMK+dvOTl681OX9j1/ZeczY9ufHrvx28PbTl7ZJQh9ajQydZ5+J3ydAj+sKrcsjFTywd/8R6dOxY10cB1NWUUu51jqAi6ETXHAiDdDywcZB0NQL3SeUkYvku+K0BS6DQQ4kOWDCiCaBB/7mKeovZXA8RXSHu4+lD7uCsOpArrHh7mAwluKQlYmOQ8ei1MhP8J8zoONGAVeq1C+zuZg2VQ6A8ZM7EMC4OTAz1/+oQn+zbQceJa8zNb/xHcMIMZTQEo13BNTqJBJw+wCBgkJJ9wMpp+qVcOL/CdceEpl4Kix9pP+Zu4xkR4PfJ0N9hbzFvj1eJgwp1qwjlf3h/R7tulCUh8/UHywNXD/TiGy+tduCT10SxDqfqd+71b9yA7z6E7j6c/beSu87EiEZCMDaa+YBMX4ttswodF8tieI8htMtLUxUtxvmPDKmSHDLhVeYhQVB2CUBAxXvvnc5wLHRO5v8YsSgE7YZR3Z4z+4PXDPFt992z13b/EKdRF6/c3PFjEwa1ghz/jo7xftY5xqyBOsYXBKByNVWYfiGAg+qxwMxp/HFUgPZh8Gb069oKWe05InXJGrF/m2izPTv9/yHRHi0e3PXd761NDNTw7vfPbq3hevbD11FdFjZdsoRFy0NelIVhbk0G9+2csBImJaeTAUh4N5oEPYu5W8HFuG3inYZZ5ACrGqLyRe4hU6T31eC/Vjhb4Vov2zqRRw17G0BueB5RfhvFId91g/AXbOwh/ljI+Af+eIpPqLUA8hdyXglU3Ap4ETpfImJi5itJTtKcSgR25Z0MS6Qe1TY+Ax+3/+0+8j19ePThIYwGx4spkMXREkuore0NjDzVNqAaIOiyJ5IMpy1VTokn1eGM5VYq2sH9w0AyjwrWI5nHgBtpNMC/0t+TbFVahB+C2Y9hySW/QUmgXfOCAsNvDwvpBg8/G9wTu36ILKB3eaItbH9obu22Y8/Tm/tgwlZSXFNmb9imwF9GUr84VgFa8OGgFvoMRivEBHIqxRKGBs+40AmBYnL5kFK1YszWYxW0hEPIDpqF4vpjf7tBXmqc/a928Xvi4Mxzq4QxfuIXTlzhvzhaYf3GF+eZO+r9kvsOHlaGuVn66QY1G2QJwYYQYAq0OroCJKny49RQypKm49OZBIZLPfg0AnT2rRHyyLXn0HhHVmwHV4qvXkyI5nR1tPjW/5zvBNTw5sf3Z0y4mRPS9cnb58Ea5lB2KIDspYRwwFv8xNnP/1LzuwCCzrMNjIlD6NwfjcJSdngUoDm6KIrzJehdA7zWfVBiG/QoRGmJWXQoaprNmMAlRq5mHq9/+/qTP90Sw963PN2ICwPT0zvW9j7CzKp3wJUkIQNtjY2E6cRImiKH8BS1AAWRhCBF9IWGwMATsGERBKviUKWVBIlM+JBBKKIoKwwZ7pqu72LJ6equrq7tp6ts65rus+b3tU6nnrrXPO8zz3/bt/9/IshxsNP24dvnaTxQuedMowPSkGNC8RC6e4n1l+Ftu4fPXco7eP6fmCnLuQLgeBGtjMCWlPbl25+MzJXd4TfujBMYcg/uZ/+o+/tQQqT5351lm9vVjF22/RlmVlrtnnaaUTZIGzPEN0HjslG6lAAOJSH8QYeHtuHeJiDjc6djGG4iAmifxH1vrEDVUTkMxh7tv7L/7p+99//ulzvCrzn3/i3ALZJf369CeuLuz4A9/17A9/74VPffTyj3zo3C/+/WvffIbtx5euXry8UOySmpw/c+7yU5/85If3fRPR3itf/ckf/5ERyJPvWCSCVN65tQRt73jnE0npVz73M/svfXkhp3uvfPWnf+KfXvm2q1dZvOu5iZ7CsfWuc7/4Dy986pNXvv+D55YA+oc+dG4JoClXf+TiP/s717aeepbqPUXQdxzfI6By+L61cmjY8+6VAIMFMYaYcExxJJvDdU1GIHsvHP3E1hu/xirnh//2W/Zv/gnvW9/76ie/+PL3/vKND3zm5kLPH/61Vz7wy1/7vs+/9Nc/8+KP/jsjAX7iY2nJAK/Mmyxwf+f//OF/71CRp5d0wlOgzjm53X9PPvHEO5544oknEckTT7wTgfEb3y+f77z4J1L+Eiw9v+Vea5Y4X7/IIb+u9+C+JxaRvnPL65985zv4Yo7pU8x+/vrX/izTpULHTrmzvJKUFZ5Pn7ty4dHDfT3JtgeUtVCEzGqBzf07C8R3TkvbhkAZnZHGbzzLvl0PRbh8/vK1C28sXOjcZOg64uw/N4z29stVKJq+tU9Dgpb0S8CLnvSqrSjwlhyrS58t5Gm+xpESEhnSkqwcTM01kp4iIKSyxGesPPSo5qd//G9d/YEPXvjpv3f9B5eE729f+/RHL/zYJy49ueDtEosSr167dPnapYtLLnH17NY3PfHo0aOTg9udq8I2DaBgi7vPP3j1hku6jOYZp8Cqz/RwiVxvv/XW0dL05euXLl49u5D0FdbEPLNkPO9417nv/54L/+TDlz710Us/9D3nfuCDZz/1sSs/+rEr7zxz5sr1i8+effrf/MbnPBJgkiqMGXFptHHBBAD4fec1jM2kT2e53aT9Gmq7f/j1N7/4BNtSfvOJBw9eObqz/dbrt7/zcy9+4Fde/u5/9dIHPvvSh7/wynf83M6HFkB/4cXj/T+PAgrS4BdJB40ayC4jXaTxRwuaL529dO3S1etLNHVuMb/FC7H2khNFWOBlbMYrkxdSWEa0xGZs6zjHS8peuvXHZrTOSLsvkK2+Z59a0My5wwsWLz9z4RKsf4lt2Pz17MIF558mP7t2ntdvesDaZ3/+JzE2F7FtWaFbKMNTPjwH4/S+0EJxnAnBHgUg2Op5d3IYTW2WBjm/83u/+9uLRZ0/R+h8xRrIW2+9zebOWQbYe4mg2hPPOlqdoP8WJ1BFZq6FeIOtJWavDzxA0nnR6JwYw/wd7nHZK0Ucu7LOlpkhuSs21fqKF3r81Y995Dtwi0vge/3iv/wHV37pH13+9r9ybsnnrl246JusPLtoTgZ59tp7L//4p3/4eJ8SI0e8OXFVauzEW42W2DJfo9Okt5CZBTVt138NQA/ufOXHfvT73/veq+fPnXmWN9JxXMO5RV5XL167em7rPec/8u1nf+UfX/vOv3r5opuyLi2O8tFbLmJWRJtYDTwZTlRz9fi5Fuxi220IndKkQRqyJXI93P2Dh5/dOvn1dxy/friodusHX/r4F1/57l96+aNfePkDn2MD1fd+4eXv+8Krn/v9l3lnlJTcSxsOSbxwiSZbbngz6fzD//U/mC69RN3zIgt6WPa+hF6X3APPa4AvPbvkD2fOvucCU8dPcwQMp7A+e/7i+Tu+qH2JGRb20dSX8Z5fnsOpUVfZJ+ILBs5ytsHZM89eOPPMWbJMNp+yt/LskiK/58y3njt/9uf/xaddtYeKF1+wRBottmbP7HVmtoGB0abLS3JcrPkRYE3HlLbm6BDX7/6H32YhqKfDsCn9InOBzJ7M7dwCm5hqb/GLOoZamDKFTXOL0PhUUoehI131Z7Tkg4ooerrXUDohpNunW0YmcXMTSJa09m68/ehoMXR32pzD7184e/3bLl649PRCBsvIEeIiqbNPv/cvXvnkxz/68MHLMzwq9hMsmnNQPHGKB9AIL+vcLUw16SGXH8OD0ujw3vbi2l7fv/nm6/vv/wtXL10//+yFs1efu3iJM0LPLUxGiHb5ojsR2f6wsNq73v3N93a/TPYzspMp2bVgAsTA3cex5vVjvTordKOn4psc+mLt954//swTp5/f2l3Cyf2bf/cLNz7xxa9/4vMvffhXX/n4F1/9Gz+3/Z2fvfGRX7/1+j6vIcRmms3WTcPxid1MjmHubv/h//79i9YQeuf2AuXLvsja/bxsrOI8ACtll5wT4X3dy4dzC+k+s/vil6UDNA6nul96YdMlEnvm7NPPXnjq7Pkz73nqXZiHW36eqQmOmWPjKs9x/99nfuGneDOaKHxyib+vOJtzAad6+bnzjx7eJSpbTyAvrF2XZ91kgoJBWdjWaAPVf/nd3+LcgqucRnDhApP2j956tDmdGUSxfWYWh2wpazBhnAcQT4gcsCEjY0PkgAvodXBTim4nrM53EB9BotoqmvRyXnZk6JxFGr0sMcA3feuTC5csXu8ZdvY+e2mR77ULV567+vSFZ977l96/xGIvbn9liYzHodPvlRQNT93l1ZEDfdmHAgArkVo5EAfZDceYbPoD5x3dvXXw8vNvkiM+8f6/fP2yKwo4BOy5JUyjtHThKsdPvfn2o7EQjSShOeR5Y+Iy0sVyHihThKnBI+4kjn8wpDZBRHoLET48ffALW/dPHz2898J3feblv/azNz7+m6/+zV+89YFfZsnRBz/74jt/yBOPcikSmGGiCyGAOB7ZY5wY7x//0f8870mneDN2kp7llRe+cZ55Y7ZgPvX0+acWv/eMO+GvPLcwNvhebtl78csYiXwPmp996umz7z5/SdxfZGvq5fY1XV1ueGoxA8+khLmdemQlBqc5Xr3w2Z/9KdyRBrxE5cuTF+5fBHiWUzDPv/n6EQ7zLmbpIRhTsGd0nHjEDL+yRaoku0r79/7r7zzLoUfvvv6+a08/89SZZ9791ts4yRWT3uIaz4W24OYTK8qVtYsL0Y2puugB6KCnyRGLzcJRmBpOIFxLgCfrJsIyaB4+a7i0v9RJiDMF/K986f8uLunC9QtnniXbeM+7v+WNh4cY6N5t3tPRQ2zOwsv4h2MOFrrpFiZPtRtzqqKyphHYJ4FXxiamwfcShzA65jt2nLClYsoT7jAr8fDozldf+KNeM3z23Jkz596zZDNE6noGjWQ7E9IzjAfQqqXk+Dj7GWGyjN1KzkrVzeG9+sLhnedPfmHrwb3/9+//4MVPfPGVD//qze9eYox//bWPff72h3/11oc+9/Lxa88/oNzhuMYCR3naZ+ZkN157YckCl3hsiR9YhOm5kleWoG0xzmvnFr547n3LVywbXKC8QHO5cvny8nMU0c+ff+bO176krtHgMt6rz13GPZIFsnaeFffXLy08vUQg165zwovx65LzXLh6nex8YfGr1y9de9+Vn/+ZTx3tdlImVuGGVpYrLsnJ1fdeevuNwxy7x02BOk3RqCzHDnwJB6yNOOTdnf/2n39nydp9+wLn6y2dYQ+5wQwS3izh3DPob6XSqCG9IjvKz7WE5iyFTFbumv8V1moOf8cuxQcz0dqGOWVNk7oMeXHyS7GlH4BHlyb2X/nS/stfpjbiocW+xsuowJDddourRDO51AvEG9w7NrP6gSDFQMKTAQ9+xhspS3Gx0YgG5mUr42qc7Vzcuffyn+9//c/3XvpT3vmwTuyZZXdKLJimRLPL+nprOwyQEXFgBSZHt01DN6Ogt+YV1p75efjarfuv3cbzvLog8itHr/7ZydefP3yZsOSAKv5XC8TJRiYhcYDWdI9cpy+gwcHBy3/21uv7j97YfXR68NbDu4/euPfo9QePXj9YPrz1+r233zx59ObR26/ff/TmgyV+ffTG4dtvPHj01r1Hb+y//foDCm2MBcs/vffS29x4+PbrB15/uFz86I3l3uXn3vINX57eX5785um9Rw+XC+6//cbB4l/efuPe/otfmlqtG/UevXny1vL90uLDB2+e7j302AAX9hSblQOwEy/gaqtMvel5Ut/2ay/+KQ9/+OCtpcNv3l/GiDA994wwYa8a8dj51lpdmgyDyDipEaECAiDotOcC2TaWAR2PeiHEaWJTuoUniJhlwTnGhhvRMUF6rGy6KckVWPNMfmruli/03OHwOOeE5HIbxXjY7nV693bMBKQ0a5U95+Xk9BlRdV9jOGMPSjFEvWtcBHPn11ZrafoTA7hLB0TM9mkVDHeSHtvbsmkHlWVWXdEYWpJWoWP9QJDjIuC8iibBkJnFOFiM5wUcUdGkq18y+NISoIyCqUMJBQmlgh0ChGUykiNtdcbFjAnTdRrtLS/QBXnEo//ah7s34Cy3WZzq0AycICYF+LUHdxRLZmmABK/t8i54UzTPrhgXd4PjG+kkcXCu7MQgk6ITp/5BUnGcZKzkpc6RVfoSTgUS8im90vkof9fv241bVKskeOMTlno/YPYkWlJMgwypDk4FdnkBLUbCO3RvPd+TlxAXrq0idz7MK9zUIhsKFTFE6/5tl/D1Mq+MUi0iULZscOLOaJEH4gRcNyw/MbBeCTNz6WrdXwWTZI98DZ3VzYSVSpARBfciAU03KJMjTj+TkWe1G+R0PQ5B+6F7nvdqu7xOWPVA1Rkb8DX3QMFD6msJT/0hTNWpgQEs4khjnvwVJuTSRe1w0xyT5024FvPEO3QYO2mWwDB9fQEwt4+0+aY3n2Yq+T0khor5MlZiyBqtdjiJ/pFLGOi8W5htgmNAIhQPYMjG/AYeRA6jWWdMGVT2n7KoN49t0JALif21btNbRFRXkaHOf3w1PItOGRrBJKkFIuWBW+V5pJbIUQKQw/KJR76bG7KM+VVJwkru+KbOhQlbVUDrzdT8ASjPRzeFMdUUZcSNl7/L604SAUsB7/AersRxGHapt3veMx729pqnToYKQfpkziJyLetx00WDIVe4m7Pn/avueePY23FKcrAmCd61a4Ii38MQenl8iBAPFg4t+bafdMeZ/+neVNDKp9WccDFFOfBY0cxvHkgJvyXUhx2uNaK2P6wxYo7aQN/nKGqP8k/+riOYMtRjJ3lMbef50/IKYe2JYV6p56zKOYfUpEpaHK+Y6AKfMgFJRFaORcTPXTyqqq5jR8KNSwEi4R5I+oTETlsNIY6ZnZhHdT1s7b1U6JsBhWiCEIcPmhDvuupY2zh0Zlv2xsWUrFg64Ara0zhEScUNNb2ipIJ0yDAfOgAomYcZGGPGe5p1ic7hP8eAsEjP7Y24r4YKGhBZ/04maqraIOMt8E0ffNn6DaeXbvL26QEo79zlXU/eCxBHoOkgZvJcQNG2hsJ0yWApuATNMdrBvcAVQw55DrqFFKUNXgEf+BhmufYezx/7UbvfEAcH1nB204SETjLYZsuVldcnT1wEm6N2Pcra8MBJ4Bypuak0z8CX79uOWriSzCNFsw6embPKno2LIs6ewCg0gFQQYY2d6BA2nOXFFgb05zk6QzI8VeDmR8BgjUrYQy88NNWqAE/QcSkWhywdkIpAavaEAXIw7EYp9s1GyQJ3WZ5rv8OKnbAyPzrguaKE/a23adt8bkCpRSajQ5bOdZpqw5ihRtjHvpHAxaK3G7luTjrZNOEgx6fvu7fHQapF35ooDvLjRBdu1dSXMVRvcWDC6NisWaF/gyk6UsWnFMautAFlTTLXr+NnkmPqL2hRgs7SHzoPBzPpl+0nfSNNgagI72R6D2a19Olgyw7Vqy8+40qapiHDnhnOofVUdUYnyVWaMcE2NhymiPZN0FXTOhOJnSv/G6fsLVqnmVTu0s9e5sIJLwNQc1nN1QTXEpCewXcSkyN2ZeDOe3wjDARJzK0AsS6xSEhjJBNUciNrCHAESc9sCHNz+sNYoIi0MXJv0dRj33jzIY2CIl6Jubu95XlNaki8d12bXgsDpKJZUiO8wsdNVutLML7LjeXbWYxyr3QFN4sD1HDUpgkU8Bi4G4WpDLm5hzdLUpSm+uvbEL+0AZoNqh66urqnjX8vRZtKwqK24u/obc4M6fW1Iaw4GJwFaDVUQ8qR3sYEEbP8wZVLnrQ+zSCYIbQPrx0Pw7t8mQAr0vNj0ka03a+6prVdPrDpDZ5mRH5Yb+Re+tNK3d0b91+dbSM0hFI66TBTlPNSk+r3yXYpuExUgE61xtGX1DaRXrx2n9BWhSqNPo/r7/oKFEhjpSTIix7K+hYMQGT+LX5ZrVRhKnbXbTOuneMD7uV7z/WCKVCoEUH7TTASM04+8OtWsnapfqJc4TLvK59wWfcxleOo61BsKRRcG/kBF/umNhSj9ajRXDA9rhLMYvPt04aU+Sp0tehlQy3TXZ4QmpMavYfMSEZxuxuseGMo5PyUeQL993azCr1wLLJnbSijZaTFGwkBldjQ9mFTNipJZTgogoFZTSYC0OV4hqLMZJjL2iUzXl9KxE9T00WfgpXOoEjuaq2i1oVw6KHAXYcGOdHu43jG4ERdjATu+yqCeaaJh9ITCgKUMEbVQB/DUKHTeDe3AIVZcCR84slHpcKELqugIJ21G9KiWhaFCVmWOaJFnR72hhINDm+0MP+xwPGl0qjEX1AH2BQ4Us2Kwuo+K3AGt6rmiLlA8TSRWYugFWUxpWDicYe+JEq5OPh1zMiiHvfj+OMzkSSsVSH8rfMy5DJcM9hQT7ey0aNhcWs0LUi3S8NbiXW1iiOSyzSBwgZAJtR8ttG0Dg1rTuHsWHsoTMQ4C0PzvHKe/9IBkWR93o4VAo2yjeTmmcrwWF2ykWfeN6B8BIonePMclBS8MhI6rKOviSh2b5KTpEFq0TqqAJo5TXDYcEZ0XA//5UB0KaR6cBDh0KB/PhCJ5scGxELNC3h++DaoW8U7S9vr1bivNQWU+BFmHwJxg8ppAIyaWPuW2zQZpVFS8+KWFV1GBzN969Nw3WmqMDU0ImTvWi7bmvMWxAE25B+WMIsey/OObfVrhkSadb30PeN0S8gKjqofpn12d91KADPZZFMeGom0SsaqZMs+Ha1ocImwakg0DpXSLwvoRnk+J39i6/oHjlNSbY6ItoSmiuH5yFS3YPVgULvvsiFipHXXjI2S6et2RMkNoz3WqvNiDeUAuBfhsGNvqJHvHQWZohlw5xpWrfd6DwVFhkSlp5zPQoseOrXBkLQdvo1Y1Ejs4F+9nRbn4kSHf5f84D8Jfqd6M00YzxxVe6areJgQqXCoqKTxQNOfVvrUBjYGxiimMpvYmXAwq1s1WAbiNxrGSMDLzMWFhERpW6jMX0nyfDIDpzT8uGhjJ1djQMjTYW3s4NbW8of7pueFJsTa4kDTMU7VB2G7ExHmhiQwKzInB7c39KwvUNB6pSVc8SDKbeQimKLe6agbv9xV0WxzWyAhyxGT/Q6m+iaYzHZ3Cu9WstQw+Mboii/xVp4qpi3Zn1Gb5kQiKy3p+LgGeWkbWHKzr0Bfe6gg5b2B9ai0XUuD2+SPU9+vI5h2WAAtC8bx6IBG5xbtGfXEKz4w5dUT/wV2iOsYr2j3smptnmNWnHvaCLxShoHKWgmRv1W/WXsYHVKPgBHj4wCDb0ppsG1e/zoAsj8OhxhGg/FLpDHeyWsSlOCpaMsTKlkAd6EVTkRt+ejjAA/M8JxJc/HkCCFk803ImV71GecslM1Wt3I94Q8xyRNBzUM2hKYSdBvZTsUvJAVDbBtM17bnjIg8WwqyjjPKUY7pr97MMPIma5qvwdCWF+cNx7popaptMJVZR+V+UKYddiri+2adF9j8i6BtJUPtTe71M0GvODA39XqWFoFISL0uedjrrdwCubYpTlbaKFKMjCK1KFLMABPi19mPpD/UcvQPq9pUyrBXD8zpNwlypKOo/mDPsWSgEwJybmVa/Nhzb1fOUTIsyBjVozoa227IMEIoEYLzr/YJ061MYdOiUwwcHVSX2CR5OzqEqSJ4l0TJo1rRMdWeFGqFLo+kZ0DdLwyzDKJsN2Ei+enJidW2LQagFyYwmFiQYVNKC5SbggsKYLtUfrM+2TCxrJoTK16JA62LK4bi7+Y4JiyhjDUxWS71xNdadntSC8ReLDuu/nS61JA2TSRZkMHBfk2nLXxpV6eCK0PzPaX7hlDPQyHVd3IL7D5vML1dEMCyUg1PjmkCbAKttXv0qhjAJwxv8ZBARvzKSikuMDIGiyxQqbRcc96L4y7l30hgfAsLDZjouaNq4yBtaXkg2zqN++uMmEaqGlLeiVmYE1f8Tebg8MWuwb0pmlMQ2kmyLX3Sv59UHvCviHqjoz2iAhSXHNTCKuHImHEZvmaK21M2YQj21ld1ueKZflb4f3jPmTLNgL8u4Y07LOkt8lcmQaK3xtNp+YwKoq+xQMRTKLAr5m3VEEhps3KDjUDDNfQ+y3YARf284s652U1polEpDscsHOm3IIN9+RPMmqta/WbdBRAuNhiRaUhHBnPr80tThgBGhasPbWhtalQE46HyVkNUI/rUrKqmA+RA4JKKgd3Gm98y8TCOz4/nfNoQ6W65PkDDcY9hSYutqwyqj6Im/+VRayQj4KSAEdREKWU4flZWO0QyZCnplZEOrPc1RXqrSe8WSfuofdY/EPRTgtjh5CosEC1YS80x6k/4a3ioPIATmB4aPU/OI8vkYSwzD4SIoVdMe9lOlkwYrRskDnHBmWHnTYpFBsTyneIKe3ab5mxIW52AKnluPS7EFmBVkQGgiW+sE4vcM9DRR6/mLqMDC7k58qBJ1mouT6YsJVIVWcACAQMyRONc4N5sC0hP8xwGllIVpV3SErzGMIDH2ueskddwIMpyPpTXHGSckaAtCwyB4UAqgjZSm3bIMC5VW7ykZjZhH5lA4puuJlzxtP7rX8EKGuXJa2e8AHycssBACS/DYb8QJLRQzsYI0chdVi+g5pHAFPj807DgocE65RpLGWzZR6mpANY06HLpC0RDOFuF2+oE0qgyzWBn1FiIguXFEa0T4q4DtqVoACEpk8s33tBIyI/5RtQeT9MrxEcm1DSTcybnB5mlCcLKFwwcsdMNkebtE6lbb4YjvBd2MLMU+pwOs1wEUrMznObqC5x6wX/RngZh6roP12qFmm+rkcaSVGfIcG72SPXQobvDx432yJenZN8ejAkWTwvIaNRUr+C1MGBqF5iNyyAL3STjQG8K641oJeRpLQpdMsDAMIk1hhtHn9HerNHjOeAsVLGIoicLaxPi6m4+HLxSA6EDSGy5xpQF1zEEkVurWtL73wswMP402thzTRhe3OEUPYyuNzCwSbaInVPCllZeZSN9tR0pebIlNUUTDgTTxeR6jv4WUbgwy/1IsvgyooUIGEsRKqnbptxhrwSx1t6XSp5GU5zYqJ+o1cpYMad3FZhJEOoiGToczSyGhpuL7uAI/qrH0/Bmg8LYsD6TA0KVEipGeqJ5JhXXxbLM1mAxkCgvNIcMkniC1ugTqzqQOfRi/KhCZwq0KkpR673tahEBatGibEEY0ZjmlBFHQiXCY+sIfSXmlkbwWH4dDWVdcrAtcv1mto8p8Zlk0miNDjGJ1WmsfDYJpW1RX7NpmrNvyEE+hiRiaGrJ6m8sRJaVBdTQeBL+1L35eoev3DIkJW8NWz1pJz4E0DAzWjyg4TkKeot/SynDEccH/Dtu3fhVadAflzfhago0CSkFgdpU/q6oVLPwdOkTFxy40mvcrz6tNWTDmkH2VjNixicJjSAqIrCmwcUnHGtdV53KHqVbCUHIt+n5bLSBO7gFOuiAMrqk8Bl79pBJHKEpYHDC+c2qkB4MFpmjdySDepZcafo5GgXNi6AnPBob3UboisDhCS9MGQXISWrUkXNXPBciUcxEP9KtA4bLjcg3piKJEnfaRH22FUS8oWeA2N5bjN4FD4rAGIsniwmjI8URwhYu5HbMuBCTKx8ya4ryTsBZxmOjPjOGBi4r+o8I+8hU5Mtt367QezIpaHpOw4i6qjbiZc5Sth5jwF+j7NET8YY2mRHKC3pL7SEgKlVQLrJdgtvDtROYWHgZmPElWZRBCIzLQ5yR0dGLwk2wNBLOnGTBwjlQ8XhFFKM2yj9i5kg0g9FsNTiihfmc2xz2IRtmsSQXjxVx5eQMPLzw3Z4MvpVAEZdCng/aWyfecqczMZthcAXPhaGdNuMRUikqVFLuIEAf86wHjO3xwqBRAJLlA8Rgq7wJRX2kQhWQdw4f6WZ4CPVT6iJawvXAPX6/jP811wTvt/D6RqvnRge7zcYhoJ4j1FK8a+s2IlidwNwYOHL6fB6Z+iv2Q40yP5v7c2gqUjfl9B7fsFnLE1h2Wbp07DkkxLh75uCr89X5aGmuc4J0ZdzxJ0rj0DfcDG5U5ERE2pKn2eLBZKKUzWXGEq1p8RsQaQVjt5pXu2MYl+sqE4IWbkBiom9CwpHSN0CS2rQiNFwQZ6llPjQdA+A2EwL8lbEXtaeCuQsCZXQLfczK6V0QyMORs3/iMo051Mq+x5Rf3dnAJktpy1emI5kDPO2WsljhK5KsDWmLChSLtAcAjtR1+/Tg9ikKS5STTyAa1+mn4JnWOhj6XBWQn8K+nWpOSfIoYx4fDQ2z3NHWJ/EfoI/CuD05Lr+ymAkBsbQIHdjntNX3txEQ+SsnSZvbMVI2WTRMudBFtMJXJKXj8ktTw6wR6ESHTuDhoHwCpE7IuJYU0krFzRQjmOqe7qhvTKEqU+jZSliL2su5haDjEt8yDrq/hW2LKgjP1YLdKMnZhLKdQviG4NV9oLeCOXaSupdud7pV0ksv8BSy1aNazeACglpEpGN0ycMulQ0O01ChzMYv0htIqF/vogCqTDTgG4zI0kLmHeQ2Iz1qHk0BihawxPo28ZCNoRpGASFuhT8g785WSHq1quSCZLMY02pLIYkgthN2+7cnx5pIiEwOF6mwpn9AxF8TevJannywsdR0w1RTfLPeooCKYgX3psroUGUFLK3UkI75/c2Wf6yv+yylMFYZxTQE5QJqpYeBZh9maWKpXuG+PCdHWve4f4cXJONqvNFySnDcOE3O70Hihlt+idF6i1PQylMwScw6kwE0Lt75RSFbgKGpwLUKf4oYDkHb7glGn/ZBOWMqhEA+c+VU46i0o9hTDVLl4UHTyKen8UCIY/qwqg9IJR8GorKQnjQMXq0dScz4Up7mXZi0H/irsSWjVoBH7jGjtlY/HQLxJMDQKzaXR6Mu7J4JLHq7dSp9UuLJfRhTH/I3RbZGrmMEQGq72BdQMkhxIzXS6YP1DUgWofnertghE3YdNPhbgY4tiVr1KnPQH68fG2gWQ4duo/YBKxo20vTpXq6qyP7Al2Jota68mXiAgWhyY4c+Cs8ojLIWNRemCXJ8+GAFp6R10ZxZhArLO62YuBO47RXXe6/S0Eq7TBTO7vEQuUG2zxclJhg64vk3QzJyGEzYczU4Q5ha3pT5T9mwg//k1QhKydt5oB1uvEbGVAnGjI8tupWKrP6EpjEw6xKjyhSnGA8VzhQEu8UgKufv9eKkn+Cx9oTvtbflmt4f4C1NeWpgCgcEr6NYmVEdtcrXuBkwlYQtOji9h2PCWF0MpBkpUwbjPa85mY4Wq/nRA1plJ6zNbHKjyWpx4n1/LIM6DOROrirbNVNzSHd5kxf3juKn0gI6Ga3DRhA3VxbBxWc/Kd4oDePhM/9mBn6ZCukqRd8VKFoLI+KyhhyFRy3mDLXoxWbuuYJ18bjnUHGLWhwFKyKiEQNQx5ud8HzuIrCB2NYiwNgYgro5y7vV0HBKmrNF9EqvshD6D9MTnvUl/w5jeZcGIO4j+Ay1NWuliXRGh4B2sg3hYos2CvvQ80gt7cDfIlUhexQTI5XjuNcVIw7ZV8PXhIrOWlQNSCXcUryQkUHLDTMlMwFhgN7l0AYr6uiYg+2vqHjLp0/BJa2PSizEGB1OLkU9HPmye0zIsmYonyJA7SiBo8MuQV477aoGigaamsoTvvRjuFCLFEkBK1BOeIDUZv2KbBFubKK5KGHBjdY3pkvx0Cqy0eI0NDijOaq2HEyI1glLsMA2QeRVAN88p+R1qKJFjESNfLkuHPUJDPwOPtEcJRJCqkWlIwG74daPcTLpTw+Zexkfkjrsf8kZWlS20CduYczAKHzPmbl1Bp4qsjKc4SN59SuhotaD25Qd4nUFe+JWyBOWyui19jlSv7fD00/kgzxRR8uPxsUJx712V9BWlRBjBt864q/L8z08PAwkhAlQuwtNZUV8H/EVFjIinuNI04jIwfgDEmiePK8oUzr0zUurJXm+QZX2Y1fHFySASwgytnA8zkNGNqJHsRI2FUmjORd/ISBZ8NZa/hzQrHFk3LDmfErqkJ29zxff982Jk+0zTZ2e7BXMwdPEvbWzHAI855VOnnG2AyjUk1hVwMNEzMpazx6OGxQi2rH2lO9jsf8YZ9TSmo3mSpwMc5EkT3s4yRzFDS2BVogO93rLhMxX31YlOY0qJuo5je64DJXKLpCqh5L6SMl/wYErBJvVo90p49guIUch2Q6RaAkokaiW486lKh7igxpU/OrisLA77Cv9iUgYYRz16mHGgNNC8uxX/vUhWGz1gMzVqYz184xFpYyRoJoU6usyFGPwm1LbouUtOuTBLk4n9hTkGztuRJx3ODngLAv58oWGZD2BYq02IKfKhSovr7HthnWXma88Z7DIISnOF2iUtjXr5em6T/OdHYVTyUvJ6gTNLRQuf7KTY7gJjgq/bmFGJDTBHxKZszJsml7xclKFTgUUJhihW+v1CSuywQFvKhnweajKFI+Wn0PXt6z723n+iZXdeo7CRGf1rInvGcsNVti6XnQFpQ/UEgxINGwng8z2nKVLLA52Yl9vlHpuanLRWNcgcGzJJvxBdEWYDgRTpD9Z8qRGO+T3DV/LIfCDZXba9LEhCCcvAdb4wH0nQWdFCo+1MNqiCSlSEjRo5BpS5PhVhPSl9/L5xDCGUdwlF2SwBUJ5acCmH9vb3tJ7asos0t/U3dDiCesPh/n8VdesRY6h+DioWhtNRvipPavIeZ/Mawh1tWbHb6zDc0SPY5BFZpOLq/DwI9VVZDJnMfCwpwIO0TiThEatW4Ok9ujzAQHVSXSvi1CLK7wEaCuwKUfApnQJD04rWtogfopreANbnLVWDEplFJM4HUCjDFm5RV0OkD4UiQX9vVkjUJ+1Q7oUbkBM12yo0c7IuxobOpofoh3R47iUtoJtg6agtHWi0nxCvoIlvpMd3m0uUDrwm7E6ZqDsvLYntpJnhr2+40woG0tIZIRMZoT7VsmUkvY80EpW4z2mgLN5/eH0IdmaDNAfmUUmduw8an9OcBxeYyeVJ1cQbjrpf3LwtRLJ47FslaRigm9VkmISbcC/yvyoGStsvgcQYycsXLQ30sPggLpmPMpBvMiFjs6WT2MVIxNY83m1VbmXQVLQmUCF/vh5GJS/IsHVcSvx3NARVlG4pglNJjHpTppWZ9s8YS322XOtFGea0TrfRlsbPGmf8o0GpppHYt4Omu3DlOq/9thOmntSVvAFgZnGgED4xiU1U0/lGm9Ml9Gt1+BYnN3d8aSidSqxH+815CtoeWGRQ6exoNCNSdytwMrDj6MtOVgJzHj514RytsTnqdQjPc/UJV2405RUmNphwDNwythg7pDDvvcW4sFiD5xUVpgGNvnq4lWjyklmtHkGaMEuAW7lWZiStRnCBpdxOtppGHELi7S+HgmVX1DrlujtgXplJEMJhzi4WQqSjPjQUDXWTBArDJelripPYUXGa9CyPJOXFNIxz5qBllS8DMGimdUCfUJhj1GmCkYEaotA2cDUKzl4ZZjDAlNf0o3ughX4a4uruMvs1rbGcpzp5a/O0qNLk1ctliessnJFqEda+WudBFXpI9ZM+EJW+dyj3M4QtBYDZcOJNcQSZ2hKvvQCudl1PE4KVnKV7xvCMdT7Qs7Qb8Jx7QqyDdxlH6WauPz5hnMOZF8kPDsJpttdOerWlkSR35exDCNoUc2SIhDr3AZISS+H7Hp0IyhRmnvRS7B3AeI79i0+KzeEA4NaRG9moIIDytg37ekLSrAYiVtURJvWX1iDnkaRiCCh7E21zuAkH8QYJkvLATl7tHAYF/vZ0Nxc3qlaNcHP+ETnwEAhI/QQNOumhjGd6zPqxyruqDlGQXiHRJqJpdxG8OM5Ciyw9JuCBAsO6LttGrKjgz2yNid3St7qRieg26lRVw8LRDsMCVkrAIVDKuIYsRjvCjXR7+IeNDLfF8URyYyRVD1YmV7pBRREamHYN3sMlZaAQuH6tJUClAYCQX3DpsDLIAd2XL657wc6XPxWRKF9KmdnTB/zSBE/xHfcViCFA0L8azjWK85svAcdzXvt1xquwFVKCMSounTwmNWIvVDBntOxTM7zm62AbHOOoAIN02CRoWbldTQTWePm0JxWtPha4l+bb919Fj+ySFI+YZypyqDMjPQnku5PBIgUhngyAMUqNBhX6/O0Cr0p25VS8FALAA3vZK9cfGgQXvQZvToVF1ByeTugxDgBiE/d3qGpb7U7wNIDgBtlEl7hlYx5HZeVpk6Fa0TowwgYvtSP80D/JE2YzKmbMA0WieahAPFh9KwxRzT2qqqovoJvjgsACHxxQQ023YOPlZssVZHeHCvwFr1YULfbXjaLfqxG+72PvXvbgr39GamKKutg7PTJeTqoeRmPisuHZLoioTkm5KavRq1tV2upQupGRAAg2LgsIjI14FG56sU+s2ebwQxWPFzCyq6WOhMZ9Psu67XxApJ/FgwydtfVNv4sCJ7Nqnswh/EcrJnLCILZQPo7ZhkAG1gsXk7vwVxKUljFjn6vnmpOC9GvkXBAnEPAhiiQdKFRF6wSX26Xng8NP0SAPkv8FajRKDNB2MAUMm1LV0Bd1iyECxwXIlorgMbiqDwrmnyOXyHI6squgwU6Vr7kTjvDSK0YoDxQ5Q4rzojJmzX3npeg9dY/KZAoyoG7PUzc2Ge+B9Cg/6TqSrCWPmGudVz0UMpodKCE1+o4kBK4feNJ+3bYIlhCZI96aspDQQG7ZsIxXRDC6WEZc4YauBWUnOrQqF7jsuwzzbUsdjSiYzcKrWIoEeCCUtMY8DHvpFrTjuCiJqi40ZgGISYY+VCd0xN1brEElsnCGXqfVYItIhNz9Ju6RPf61wxgFSuGMQ6BfxMu0+x1cVDobO3qqpQCbcG7zpN7pQjjAmNBzwoCqWwCYCFeaSXERtqhZ2RQQE23U36jR3ItCk0zSwr/ye5oVEHTJYDb5xkIyjbc4iGEs9mk6bz2sHoGB+ugSgFfI5fvUH6KAMmqAfqQmbJWFLUFLa0eQ+FPLegEtt4Mh+Yy1/EnChC9uDzhSAqL8peYhB4anmnAiAXhDA3xqJMDdafK2IJV64NLuamFxLW+B83XWwXlWLITkznsc5/b7eHjfAAMuNILyOkJDWPoW5bPleNhHLL9ESfobgu8TyK1Ir1SgL/mGdP9wIvXtFhvl94c4U2L8Osp9rssz6uNRMlQ98m7QZ70o5qVo0GLo2Wo43rscbYoCGzrYFIQTggYcBuys6qw84oU6/6t+3eeF1UIyz7DzQ/ZVOKTaQJoHq/T5mGC5Gnc0YoDTuIRB4hy6SrbLb2RAGCoUaOi2/rNRkSLAogQPK3LdvYzKK+YHhPaqWoxg1L91lXqG0IT4n42zeJIXDSVwbRoFhwDHYIHVR7650Z2l/AcSCoThY8tAbmInlE0cO+CnibPC8FjDyrdXVKoNctRlYFH/GhvQ5zGJIraTQ8BlItvNJOafpf4hKXCnkhxtKZqAWPjWpv05fasrtHJ0O35WP66pekkmtErgzQeV4XeE+aMWobexj05Q0G+SEdxGc1dr1K4x4bQbNSAD8uDbFwMPT86gXw60kz0DaZjS3NYTK2VW4Anyzd71ge4uLosT2hNZh2wQGGHZ74j/lORec+UpLDSq/aQ6Uo/jgJqb7e29uktCIdpPOhhnqM3VJde5qNUP6OmsnuIi2vhtfgWH3Q7eUrVa4lG9y3I5Lkg5S0FYzTH9k0e60m1/GiuYmW4pitDQ/GPxz1ud7IHRy3Kl8YYxAOneyTfti4lM/YylkKIME26bLRj+aLVz0km1QcS+pmH51hys4twjNEKRPOiHFdRh2k3o8DqdnCnXFZ4vXGthoipe1CK/acpuNneKy/62klKPLH4XZZFXnlhvhl9q3hffRnoKxQcj0pcAUznNKx9FulzF1KQtGwCUhd/TgIbyCoF9e067o1YEcEwRGIia6zMCVtXENhWKxz/DHSS5qjHAcMo/BoEeVQlxT3D8dVN0Z/cEbdkA2i9LbE58WXgRlm6V0goL6QoYLtJcdR0zTHwkj8RqXCGRH3gAqZ7hHmoKsjy7kMRg7huykAZD7rUI7slTMQAVpQyjNAmU4ZWFTz1C0Fzu6U5CvPHpHrNgyYxoE+YgfZvWHovmrIJZ7YdCJNWJ+4qOhQeRonw+ti/FKOsTAmwVaq0U83kgZiEiJoEWoEojbYeZ8MrMdErQX/fenZPEF04bdy+Ytk6ZQBIOV4JSegbzLGjBMR4+tZqHHaOtksZEy4r321eCRJQChq8m0GFNiDcA6ikO+ljpCsnjYsxqHDwSLxS64q/CgjV+IZWc3ktFcjY+vIuJ6LCcMWCDb5qA2RcQJm83OlksDGiCG1j4aJ5z5P9q3kZRSTWkld9RXysrPdngTxD6F23UJfZxWu+I8KXL6JUv8/+u118T24KngKoNBwzafajrNGrDFc5vAWJ6WXpWzum+FPbTAYEj9e3xJT12WcKtT5nt+HJ0o1F+sftKlUYRG6e248alKpRKa3HMjaLqpmgdsimv2sTwUCbvKuQkV7V6/HPpl5GOBpPVmqL22wpv3trC9SyBMfIOsQESjUkT1DMsrG0AigFUDhWTwORkd1ILe1Oq1MfCMfe5XFy2Ilx0sou2LrydY6QiIInVJeRWZsmDMdCIXc2oOxe+1NFsyfnT2s3rUgwleFUHuTqA5Oa/a/pGYJCR5SavQ11sYpBndqwuyoJ690el1chuHdFR9mV4WOGh0XdAr6iwXUEy10i2G5zGcYsCFyHJF3l9MKiY5wYrCjZ3jZRrMXyvR5JUU/0JVkgFt53raaOdb/8UGt3fYHCqU6QTq0n4jFm+MlElRlSqw7MkqabnTm2xEQfDiywRIgV++thVIUQBnjsCjX5UwJTh1GVAzllu8qfhLJ7i5tZvTmxTuNJuAQDao5EmP7dNPrZ0Gd4uoVwdQQuuCEDi+YJNympDBM7kpmqUMRGP41tqDc+yJT5KxWicaBSKeGKlJbpO3g6TGBwG74ces7G5DAIcu0wj0UfIt7b95vNqQAU00ztxXkWXoJxZPmTYVKHMf2XU1G/pu663nQDvE6JKTUbrldcr/GyzQeu/z704CXHy8VLt90QLiM46vngX9lVPmnZJNwwgnZ+REUiBKNIY56d0c4+aIjb0LGsH9/TASYpgXW6ZshEqByzC3Tc1qCUdtymYMeERFsThrM1jCNMlEwJ/Y6vH+m1e7xuP5zypSwDM8puRjKChCstBRafpFOupy0IIma0/wzq5pyIKTP2KFAkHrbam6Vp1m+qvyWSDUOtAESS3PJC5GWsuUe5G1DmAfdciumECx11kIo7s1YEDcNOhzxzVVbt2HtExhIOykP4R8aGsQ56kou+ZsaGbRyQlFCw7E90JrPG4otbEu6auABxXsCzAcQE3EpcrSt9QTlUh/KsE4OG8r/Jle1SVZR6m+ayHxYhgdebhlKKVOHQrvRB3zRydKZ/s11riOIgcdnJbGCqPW5qGgoYw6NRzJJ/3XgS1IC+S15jhHAfOA6dgokFfH7CWRtijMXK5An8Cny5fn3OOFLFnmYF1p7+zacJ33YtFRPaqO8kmG8QvioDmta8tTE/LC6ihGqW7igQhk8c8ppTm3zwjS13b25Jw0a6JuM+NwVj0zAf6GS5DBxMj7keJMWOmYG6pGeRAegUqQBu/CP9q3ji+nTDeVwSiiz/E3NVzVJqjx2VBEcfq22gaS01PWkMs26B/jvvj1ixH22sp4GYfUp7h87hDya6EgMrOHaBK7ZkLbwoxXah6gHWBNDGGPjl09k3QOszOvx1L8lDx1q+QGztwFCaMIKE1B+p2PjNE66cc/NFqiGHWkC1nEZHHH8MT7/gex6IDA358oT03676/cx0qrLBq/ztOtgkmXkkJc3V2FqTK3sOLdgJKakloD2Lhq4JEehGTbKAkeFq5BqPmmU4Ob00LiR0CIbmR2bb1sfme37At06MbmBFKsu4SGOD4+HmOejIeLf9MFj246Ua+PddNt8epYbsWGERQCvQkI2tTEtYuQBVNGjCJsWEdU1BgBRucHIP/2pF6nXIzHwcba3qx8qnTrdT1gixDeDsD0K/sZ6s7KlWFkx4uEGn9akhA7VoXF4MOkDUHgSQA5R4FKiYbmqNd+xNFkEcQsd8ZYT2o3mjRQn7sKMqKjIIEQ3AnL3XwcPQwpfmBBnds0UkAPE4WzZcw3jtqvaguygNwGZSv8GGeDqOocbUPcfMgVf6PcKeR26iKmucoHz1VHzDshldtLmETKxwlg4/5PgY8qg8T3o3khw3Tgf4fk1pKPmVxcZBMsiQF+0WzEhDiLq2FveLYUMQs4jSR8kX4YFhOnviJ8XKPDPHOWco+HrupG0eaki0RMYtHy0wWIlkBFG8UaB5PIcecbFBkk7EOGlNwtScEKx0j9Zbqht2G17/Uo/DWTPr7lCjt5V+jIgUH33IwICv6TBaGTYSl6qEixHo+lZGOomtYuXpOFeoDtQTErgr7pUVzfErT1ZENJSxzaopZIh9ak60dSSxqd25nofg03RTjHR0of0PmNwS4oyV/TFLc32VFmJD9TOrWNMmidx17nJ5oMlHCRe6lJfnV30dPILvakSBUqXbtw6m2lT063wBITbJr/g6SHAjc5rTDoHQ0o2KeoY0Fvhj36CiqOkYqoTR6EOWVhED0kRQbqel/x7qDuEqJbLA9X6cET3obyUfR05h5H0yI3/0bok7JU3gaNiAEDNr37biQ5g/C3No0WzA6hvcnHAn/u6ZBdk8HPXb44EsMq3uI7wmCNOZmFkKSi04cppQT4sChaSYepLtDQoRlgsAaN1BkfgbaXiXmROY2261eAEAhbzdzdqS7ZNdWH91ApJokwVr/U4Qm/VrhKoWkDFADIwvT/hhXEeu/uMC+nPTlUMrv7xGmSx1pGmjDtCT/dNV1Y9wpOEhRX5Vj+M6tGqXj2IYrgxJGm2YXcvSKD2+EycJjfyBv0p/QRDxtprCJEdOVeaCGDVpnCYbaEq4zw9jXAmbCqaKTrPCYNui3rRIW8FAtOh2JtHc8n/6R3oghhyGIHNdlbh0TbMGaokqxnI2YZtD3um3NqdMCzwKEkSz3zQApIxeo9LBehwwP607I65FvndeiA55rPxdqEcS0PlJOg0JholAnICr0vCbm7lr4sLUjP2AG2XhT24L7U7cJqVJV0xHHbWUrInAurRJy3K+OdP824qn6jbH0R6iu0lujXEyD7JpInNt/ZoD1FDpEvx9v/PXXNhgXDhvc2OwalE089gJcFHQUGnLdIthVH84GCEMSmxX1QTWiYAb9QkjnZjEc8t3fLkySvT2oRudD78uvbq/68lMkF1/6nrhNOQouaiRZNgHuho6LchS0VNuumU9oXayWm/X+6UNrfS3veXSE0QsdQ3/Hd8jcng4y4/QFlmgVDrDNrRiXkNgNSodn9mGY3Y+/dbxwW2nLSZskocMygOlMTEDUOU8x6lXmxAZ8cp0zNQkwvDLGTPbCyKnZOfKFQZv3Tci1HKkebnBwfKl1rUaHmuCtRZtTIPUGw6OGyndnnQTaSYQ+qNDmOYKxvxrZDk/8hbyUc1hAkZ3yq0hEwCkSN80Fx0OaDbxKD2RLEmMSuq/Qc2wCWskMAM7E2rr9nRYCmCYVpcD1gY9c5lhjPLBDHRZj6/xgcUArR4B/ZrKGFs3KnBuz+CrQmjYXMxDBtMOJL+xYW79Rrp25nKjQTrjMF1Vl1L2fe9JglYchVDiTHnNg4QdSOJd6lXXJ/3Ua0B1ZYdDUQi0/N1hF96pCcOJMomEVXMy38SU+WjBneaK0VN/15i+mOSKfp8Je3mmYEuRwgojCh9WrGhdJ+P48VBVoKgSrmASE5z3NeAwBJKzb2KTOHqaq+fqz1vIUczVaJGBK0ylHCD2rJptxutYBli4PrWQQISdTQ/zrSwVKdpJmMyjzzgHQv++4ZrRAo9d9Shw9zhzo9uPV9JVsMvwb7udkcRmYifCMLIOVy+urC/sFKmTBrwg5qYBG1KSO3RT8znt27pTwlq1wVIvTxF44wMduHV0B8iNubKYtAJiEIWzfJQMqBjbx77csiXPiR6lJhBvsddA8bkRUuECWT5UVEr9xUCal4jZk3vkWgem5nCR9kkOcAD6cX0KKuQayVJM88wN7ATEYVxIyKgmSrl6PgZavMjOBfLX4S11CZFID3vOHtXn9K2yNwZZ00qWxQkJyyW2Q2bjH0sDVjuxWEEP/bKGvFie4Jp5pmw3y1DRbguPgOPd2b1iHjw93wAxyaNChBOsub0CVqM+ZpkKpZtFGvde/aoUMHt2vEspTYTgijY/GIKnMj7PogCncvXV4thIt7DKgox9iCbyFYaXJ5m0+/aHcfXnQLkSPstHEyksJjfpKgVozDpWlJzzXXfdc234J1TskpLRtg1mVseo539h+XIrS121Eg7UTc8FrypVVtdLhn6FvqsvGIVlUqIkO3aFjbiXkl2o/sBQYSiNbo3amOUeaiwbKGmNGETJfocQIz5KKPQKspyeZyf0H57AElDh0I+hJz1Ei5oQyshyGrsnKLR+5XSKQSuwjGEEnwPfL7EbZGAPXtn83DEFZjpgH+gPw9eBYs9QY3sLho0UgvgwOIZg6GFc6yKysN7mZ1vJ8HRrYBSr49gGFUFPjP0SpsYpn03h1TObS+ubw6ukMPRP/0UhS6YiBWlYxPgneRddgPj+iicRuPlAwTeAEXOKl7t8/kQdI3/Ey9HJBahCmcWG+1q48NP3mp4BiRLNW1VpDtdyx/xoA1v6BQm/kEBb1Aq9OTwNM5mCwKxu9BiFKThnWGbYGN9Mbqk8EaZls6rTCiKLlRmkDVUXE4iidqV5gwr0Cq1OD5fwvSQa8xiaNDgOZ14cgWEqtTv8KnSonWESayZntkBbvG/hEKMa2pC2fVrlTGNE9e2iP+dTCBBbAeteFd7BKlsIcU1lzEzhiNpCzyNWTmvhEIzuZbdZVUDjo7iXJgBKFFMAXSGSyMSQgIe4XM4b7zZFsDyfXtE9ZKhZKg0MBqrGApUAnRQiO4mxKwXWC/bTOVr0vtKBvKbAx11AJap4BSu6UPKrEvtMfzowKQ5eH3h3PAmP2puoUo6P3cpfozmpR3myANCi8GTbE9Rtb9HpQV5tr3Lcg4Qis+hnjrnQpULAqIGLBVYhr4ShH2yx1RowAEp7b46V+AJfptzEBJ6IUXWlXWq9aDDSKlYC9st6Yg5k/xmSAk06gbgf7XhYGYiIJ5YTQCcxkyBWauDpzvOBcuo8xQaBCXBz42E72DQG0nDZTtiZldrnjMEOy+IiWBoGImv/5VHxl6ht8RtGlLVLh6iWIawlqgklWx9WW/aTFlX/BK/JAcCpRCTsoFQobUkuxWbfACB/VEQO2WsgF5J1MDeekLUWqknTGszJd4CbTaIIE+5z37HMqnz2yPMMIzlCKF2gmp7mECR+6B+m09exqW93c+SnBRCHv8XviZVam4KIZYXUMZMpQrZTQuiBXFi0LRUJ/cJNbL3Kdr3R7qNtXAmbL+Shx/LCOiNLDk8qidadddcqceusPPauKq+fPNmNMMg9f80zA64en/67lEwOtrZvGdWe608GN2Y8LWR1Gxjasv6Y2YQ2MYE7usX8k+aX9OJ4tQut6n+gn0wLEd293WOPcaPOdfPYEvbhUUe9+paGI540Knya4M4vt6iwgM18MXckXLwdvpgwQCyusBapXGAw0/MNtI5EDLw4wajmF3bTo7I1r5iAgV89NoCnKQT0OC4xMkrFaDx855OnD/U5S1YFmVyn7Yt17RCraHFYWb7tAvHgvvMwM3Ms/x8GPBMZq1f6sAAAAABJRU5ErkJggg==&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;As organizations move from Large language model (LLM) experimentation to production deployment, the choice of inference platform becomes a critical business decision. This choice impacts not just operational performance, and also flexibility, cost optimization, and the ability to adapt to rapidly evolving business needs.&lt;/p&gt;

&lt;p&gt;For technologists &amp;amp; solution architects evaluating LLM inference platforms, three key considerations should drive the decision:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Architectural Flexibility&lt;/strong&gt;: The ability to deploy across diverse hardware accelerators and hybrid cloud environments without vendor lock-in.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Operational Scalability&lt;/strong&gt;: Support for advanced deployment patterns that can scale from single-GPU deployments to distributed, multi-node architectures.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Ecosystem Openness&lt;/strong&gt;: &lt;strong&gt;Ecosystem Openness&lt;/strong&gt;: Compatibility with the broadest range of models and kernel support as well as integration with a wide range &amp;amp; variety of enterprise-software ecosystem.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;vLLM, uniquely addresses these considerations through its open-source foundation, advanced memory management capabilities, and upcoming distributed deployment blueprints. Unlike proprietary or hardware-specific solutions, this combination provides the flexibility to optimize for cost, performance, and operational requirements as they evolve.&lt;/p&gt;

&lt;p&gt;This article examines why vLLM’s technical architecture &amp;amp; abilities, particularly its KV-Cache management, parallelization strategies, and with the upcoming llm-d distributed capabilities provides the most sustainable path for production LLM deployment.&lt;/p&gt;

&lt;h2 id=&quot;the-open-source-advantage&quot;&gt;&lt;strong&gt;The Open-Source Advantage&lt;/strong&gt;&lt;/h2&gt;

&lt;h3 id=&quot;community-driven-innovation-at-scale&quot;&gt;&lt;strong&gt;Community-Driven Innovation at Scale&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;The evolution of LLM inference has been fundamentally shaped by open-source innovation. vLLM has achieved remarkable success in supporting diverse models, features, and hardware backends over the past 1.5 years &lt;a href=&quot;https://blog.vllm.ai/2025/01/27/v1-alpha-release.html&quot;&gt;vLLM V1: A Major Upgrade to vLLM’s Core Architecture - vLLM Blog&lt;/a&gt;, growing from a UC Berkeley research project to become the de facto serving solution for the open-source AI ecosystem &lt;a href=&quot;https://blog.vllm.ai/2025/01/10/vllm-2024-wrapped-2025-vision.html&quot;&gt;vLLM 2024 Retrospective and 2025 Vision - vLLM Blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://inferenceops.substack.com/p/state-of-the-model-serving-communities-269&quot;&gt;&lt;img src=&quot;data:image/png;base64,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&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This transformation illustrates a critical advantage; open-source projects can iterate and adapt faster than proprietary solutions. vLLM is now a hosted project under PyTorch Foundation &lt;a href=&quot;https://github.com/vllm-project/vllm&quot;&gt;GitHub - vllm-project/vllm: A high-throughput and memory-efficient inference and serving engine for LLMs&lt;/a&gt;, ensuring long-term sustainability and governance that enterprises require.&lt;/p&gt;

&lt;h3 id=&quot;enterprise-support-meets-open-innovation&quot;&gt;&lt;strong&gt;Enterprise Support Meets Open Innovation&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Red Hat’s approach to vLLM mirrors its successful Linux/Openstack/Kubernetes strategy, taking community-driven innovation and adding enterprise-grade support, security, and operational tooling. This model provides:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;No Vendor Lock-in&lt;/strong&gt;: Organizations can deploy on-premises, in public clouds, or hybrid environments.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Transparent Development&lt;/strong&gt;: Security vulnerabilities and bugs are publicly tracked and rapidly addressed.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Community Contributions&lt;/strong&gt;: Features developed by one organization benefit the entire ecosystem.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Flexibility to Customize&lt;/strong&gt;: Source code access enables modifications for specific requirements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On top, vLLM additionally provides several strategic advantages:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Hardware Independence&lt;/strong&gt;: Unlike TensorRT-LLM (NVIDIA-specific), vLLM supports NVIDIA GPUs, AMD CPUs and GPUs, Intel CPUs,GPUs and XPUs, PowerPC CPUs, and TPU &lt;a href=&quot;https://github.com/vllm-project/vllm&quot;&gt;GitHub - vllm-project/vllm: A high-throughput and memory-efficient inference and serving engine for LLMs&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Rapid Feature Adoption&lt;/strong&gt;: vLLM V1 introduces a comprehensive re-architecture of its core components, including the scheduler, KV cache manager, worker, sampler, and API server &lt;a href=&quot;https://blog.vllm.ai/2025/01/27/v1-alpha-release.html&quot;&gt;vLLM V1: A Major Upgrade to vLLM’s Core Architecture - vLLM Blog&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Ecosystem Integration&lt;/strong&gt;: Native compatibility with Hugging Face, OpenAI APIs, and Kubernetes ecosystems.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Cost Optimization&lt;/strong&gt;: Freedom to choose the most cost-effective hardware for specific workloads.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;architectural-flexibility-and-parallelization-strategies&quot;&gt;&lt;strong&gt;Architectural Flexibility and Parallelization Strategies&lt;/strong&gt;&lt;/h2&gt;

&lt;h3 id=&quot;understanding-parallelization&quot;&gt;&lt;strong&gt;Understanding Parallelization&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;LLMs present unique scaling challenges, for example; a 70B parameter model requires approximately 140GB of memory just for weights in FP16 precision, far exceeding single accelerator capacities. Red Hat Openshift AI (with vLLM inside) addresses such challenges through four complementary parallelization strategies, each solving different scaling challenges.&lt;/p&gt;

&lt;h3 id=&quot;data-parallelism-dp-scaling-across-models&quot;&gt;&lt;strong&gt;Data Parallelism (DP): Scaling Across Models&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Data parallelism represents the simplest scaling pattern, running complete model replicas across multiple servers, with each processing different batches of requests. In this approach:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Maintains Full Models&lt;/strong&gt;: Each accelerator/server holds the complete model weights.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Distributes Requests&lt;/strong&gt;: Load balancers distribute incoming requests across replicas.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Enables Linear Scaling&lt;/strong&gt;: Adding servers proportionally increases throughput.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Simplifies Deployment&lt;/strong&gt;: No model sharding complexity.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;       [Load Balancer]
          	    |
    -----------------------------------------
    |      	   |      	    |
[Server1] 	[Server2] 	[Server3]
[Model A] 	[Model A] 	[Model A]
    |      	   |      	    |
[Batch 1] 	[Batch 2] 	[Batch 3]

Key: Each server has complete model copy
     Different requests processed in parallel
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This pattern works exceptionally well with Red Hat OpenShift AI (RHOAI)’s Model Serving capabilities based on KServe (with Replica-Sets for Model Copy Serving), enabling automatic scaling based on request load while maintaining model serving simplicity.&lt;/p&gt;

&lt;h3 id=&quot;pipeline-parallelism-pp-layer-wise-distribution&quot;&gt;&lt;strong&gt;Pipeline Parallelism (PP): Layer-wise Distribution&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Pipeline parallelism divides the model by layers, with different accelerators handling different neural network layers:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Sequential Processing&lt;/strong&gt;: Requests flow through GPUs in sequence.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Memory Balance&lt;/strong&gt;: Distributes memory requirements evenly.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Flexible Deployment&lt;/strong&gt;: Can span multiple nodes without high-speed interconnects.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Micro-batching&lt;/strong&gt;: Maintains GPU utilization through careful scheduling.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Request → [GPU1:NN-Layers 1-8] → [GPU2:NN-Layers 9-16] → [GPU3:NN-Layers 17-24] → Response
             ↓                    	↓                     	↓
          [Memory]             	[Memory]              	[Memory]
          
Timeline: Request flows sequentially through GPUs
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;While pipeline parallelism remains useful for certain architectures, it faces challenges with modern LLMs:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Pipeline Bubble Inefficiency&lt;/strong&gt;: GPUs idle while waiting for data from previous stages.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Communication Overhead&lt;/strong&gt;: Inter-stage data transfer becomes a bottleneck.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Latency Sensitivity&lt;/strong&gt;: Each stage adds latency, impacting time-to-first-token.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Poor Fit for MoE Models&lt;/strong&gt;: Mixture of Experts architectures with selective activation don’t map cleanly to sequential pipeline stages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These limitations have led many production deployments to favor tensor parallelism for intra-node scaling and data parallelism for inter-node scaling, though PP still has value in specific scenarios like memory-constrained environments or when combined with other parallelization strategies.&lt;/p&gt;

&lt;h3 id=&quot;tensor-parallelism-tp-distributing-model-weights&quot;&gt;&lt;strong&gt;Tensor Parallelism (TP): Distributing Model Weights&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;For models too large for a single accelerator, tensor parallelism splits model weights across multiple GPUs:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Horizontal Layer Splitting&lt;/strong&gt;: Each matrix multiplication is distributed across GPUs.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Synchronized Computation&lt;/strong&gt;: GPUs communicate via high-speed interconnects (NVLink, infinity fabric).&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Memory Efficiency&lt;/strong&gt;: Enables serving models 4-8x larger than single GPU capacity.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Low Latency&lt;/strong&gt;: Minimal communication overhead with proper hardware.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Original Matrix Operation:
[Large Weight Matrix] × [Input] = [Output]

With Tensor Parallelism:
[Weight Part 1] → GPU1 ↘
[Weight Part 2] → GPU2 → [Combine] → [Output]
[Weight Part 3] → GPU3 ↗

Key: Single matrix operation split across GPUs
     High-speed interconnect (NVLink) required
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;vLLM’s tensor parallel implementation is hardware-agnostic, supporting various interconnect technologies across different accelerator types.&lt;/p&gt;

&lt;h3 id=&quot;expert-parallelism-ep-distributing-moe-experts-across-nodes&quot;&gt;&lt;strong&gt;Expert Parallelism (EP): Distributing MoE Experts across nodes&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;For &lt;strong&gt;Mixture-of-Experts (MoE)&lt;/strong&gt; architectures, &lt;em&gt;Expert Parallelism&lt;/em&gt; distributes individual experts across multiple GPUs or nodes. Instead of every GPU holding all experts, each device stores only a subset, and a &lt;strong&gt;router layer&lt;/strong&gt; dynamically dispatches tokens to the appropriate expert(s).&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Distributed Expert Sharding:&lt;/strong&gt; Experts are partitioned across GPUs and nodes, allowing models with hundreds of experts to scale far beyond single-device memory limits.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Dynamic Token Routing:&lt;/strong&gt; Each token is sent only to its assigned expert(s), reducing compute overhead compared to dense model execution.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Expert Parallel Load Balancing (EPLB):&lt;/strong&gt; Prevents “hot” experts from overloading by dynamically replicating or redistributing popular experts.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Hierarchical Scheduling:&lt;/strong&gt; In multi-node clusters, routing and replication are coordinated first across nodes and then across GPUs within each node, ensuring even utilization and minimal inter-node traffic.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Performance Gains:&lt;/strong&gt; Enables higher throughput and efficiency for large-scale MoE models, maintaining near-linear scaling on high-speed interconnects (NVLink, InfiniBand).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;   [Router Layer]
                    		|
        ---------------------------------------------------------------
        |      		|        		|       		|
      GPU1		GPU2     		GPU3    		GPU4
    [Exp 1,2] 		[Exp 3,4] 	[Exp 5,6] 	[Exp 7,8]
    
Token Flow: Router → Selected Expert(s) → Output
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;vllms-unified-approach&quot;&gt;&lt;strong&gt;vLLM’s Unified Approach&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;What distinguishes vLLM is its ability to combine these strategies seamlessly. vLLM supports tensor, pipeline, data and expert parallelism for distributed inference, allowing organizations to:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Mix Strategies&lt;/strong&gt;: Use tensor parallelism within nodes and pipeline parallelism across nodes.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Adapt to Hardware&lt;/strong&gt;: Optimize based on available interconnects and GPU memory.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Scale Dynamically&lt;/strong&gt;: Start with single-node deployment and scale as needed.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Maintain Compatibility&lt;/strong&gt;: Same API regardless of parallelization strategy.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This flexibility becomes critical when deploying across hybrid cloud environments where hardware configurations vary between on-premises and cloud deployments.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Hybrid TP+PP+EP+DP Deployment (MoE Model):

Pipeline Stage 1:              	Pipeline Stage 2:              Pipeline Stage 3:
Node 1 (Attention Layers)     	 Node 2 (MoE FFN Layers)       Node 3 (Output Layers)
[Attn Part A] ←→ [Attn Part B] 	[Router + Experts Subset]      [Out Part A] ←→ [Out Part B]
    GPU1           GPU2         	GPU3: Experts 1-4                  GPU5            GPU6
      ↕ NVLink ↕               	GPU4: Experts 5-8                       ↕ NVLink ↕
                                    	    ↕ NVLink ↕

Expert Distribution Detail (Node 2):
            [Router]
         GPU3  |  GPU4
        -------|-------
        Exp1   |  Exp5
        Exp2   |  Exp6  
        Exp3   |  Exp7
        Exp4   |  Exp8

Request Flow: → [Attention] → [MoE Layer/Router] → [Output] → Response
                              ↓
                    [Route to specific experts]

Parallelization Breakdown:
- Tensor Parallel (TP): Attention and Output layers split within nodes.
- Pipeline Parallel (PP): Different model stages across nodes .
- Expert Parallel (EP): MoE experts distributed across GPUs in Node 2.
- Data Parallel (DP): Entire pipeline can be replicated for more throughput.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;better-memory-management-with-kv-cache&quot;&gt;&lt;strong&gt;Better Memory Management with KV-Cache&lt;/strong&gt;&lt;/h2&gt;

&lt;h3 id=&quot;understanding-kv-cache-in-llm-inference&quot;&gt;&lt;strong&gt;Understanding KV-Cache in LLM Inference&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;The KV-Cache (Key-Value Cache) represents one of the most critical features in LLM inference optimization. During attention computation, models must access previous token representations -&amp;gt; a process that becomes memory-intensive as sequence lengths grow.&lt;/p&gt;

&lt;p&gt;Efficient KV-Cache management can mean the difference between serving 10 concurrent users or 100 on the same hardware at the same time, since cache reuse trades computation for memory efficiency.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;(Q * K^T) * V computation process with caching

Step 1 (Prefill Phase)
                    Keys Transpose
                          ↓
    Queries              Keys              Values            Results
       |                  |                  |                  |
    [  Q  ]      ×     [  K  ]      →    [Scores]     ×    [  V  ]    →    [Output]
       |                  |                  |                  |
      64                 64                                    64              64
                          ↓                                     ↓
                    [Storing K]                           [Storing V]
                          ↓                                     ↓
                    ←── Cache memory (stores both K and V) ──→

Step N (Decode Phase)
                    Keys Transpose
                          ↓
    Query              Cached K            Cached V          Results
       |                  |                  |                  |
    [  q  ]      ×   [K₁...Kₙ]      →    [Scores]     ×   [V₁...Vₙ]   →    [output]
    (new)             (from cache)                         (from cache)       (new)
       |                  |                  |                  |
       1                 64                                    64               1
                          ↑                                     ↑
                    ←── Reading from cache (both K and V) ──→

Key Points:
- Prefill: Computes K and V for all input tokens, stores both in cache
- Decode: For each new token, reads ALL previous K and V values from cache
- Both K and V matrices must be cached (not just V)
- Cache size grows with sequence length
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;prefill-vs-decode-two-distinct-phases&quot;&gt;&lt;strong&gt;Prefill vs. Decode: Two Distinct Phases&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;LLM inference consists of two fundamentally different phases:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prefill Phase (Prompt Processing)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Processes all input tokens in parallel.&lt;/li&gt;
  &lt;li&gt;Compute-intensive with high GPU utilization.&lt;/li&gt;
  &lt;li&gt;Generates initial KV-Cache entries for all prompt tokens.&lt;/li&gt;
  &lt;li&gt;Latency proportional to prompt length.&lt;/li&gt;
  &lt;li&gt;Benefits from larger batch sizes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Decode Phase (Token Generation)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Generates one token at a time sequentially.&lt;/li&gt;
  &lt;li&gt;Memory-bandwidth bound operation.&lt;/li&gt;
  &lt;li&gt;Reads the entire KV-Cache for each new token.&lt;/li&gt;
  &lt;li&gt;Latency proportional to number of output tokens.&lt;/li&gt;
  &lt;li&gt;Benefits from efficient cache management.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;pagedattention-vllms-memory-revolution&quot;&gt;&lt;strong&gt;PagedAttention: vLLM’s Memory Revolution&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;vLLM introduced PagedAttention, a breakthrough in KV-Cache management that treats GPU memory like virtual memory in operating systems:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Non-contiguous Storage&lt;/strong&gt;: KV-Cache blocks can be stored anywhere in GPU memory.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Dynamic Allocation&lt;/strong&gt;: Memory allocated only as sequences grow.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Memory Sharing&lt;/strong&gt;: Identical prompt prefixes share KV-Cache blocks.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Near-Zero Waste&lt;/strong&gt;: Eliminates internal fragmentation common in static allocation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This design allows vLLM to sustain much larger batch sizes, higher concurrency, and better GPU utilization than systems that rely on static, monolithic KV-cache buffers.&lt;/p&gt;

&lt;h3 id=&quot;continuous-batching-maximizing-gpu-utilization&quot;&gt;&lt;strong&gt;Continuous Batching: Maximizing GPU Utilization&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Traditional static batching waits for all sequences in a batch to complete before processing new requests. vLLM’s continuous batching:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Dynamic Request Addition&lt;/strong&gt;: New requests join running batches between decoding steps.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Early Completion Handling&lt;/strong&gt;: Finished sequences free resources instantly.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Optimal GPU Usage&lt;/strong&gt;: Maintains high utilization by mixing prefill and decode operations.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Preemption Support&lt;/strong&gt;: Can pause low-priority requests for urgent ones.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;practical-implications-for-deployment&quot;&gt;&lt;strong&gt;Practical Implications for Deployment&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;These memory management innovations translate to concrete operational benefits:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Higher Concurrency&lt;/strong&gt;: Serve more users with the same hardware.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Better Cost Efficiency&lt;/strong&gt;: Reduce infrastructure requirements significantly.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Improved Latency&lt;/strong&gt;: Faster time-to-first-token through efficient scheduling.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Flexibility&lt;/strong&gt;: Handle varying sequence lengths without reconfiguration.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The KV-Cache optimizations become even more critical with the upcoming llm-d distributed architecture, where efficient memory usage enables new deployment patterns previously impossible with traditional approaches.&lt;/p&gt;

&lt;h2 id=&quot;scaling-with-llm-d-kubernetes-native-distributed-inference&quot;&gt;&lt;strong&gt;Scaling with llm-d: Kubernetes-Native Distributed Inference&lt;/strong&gt;&lt;/h2&gt;

&lt;h3 id=&quot;beyond-single-server-deployment&quot;&gt;&lt;strong&gt;Beyond Single-Server Deployment&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;While vLLM excels as a high-performance inference engine, production deployments at scale require sophisticated orchestration and intelligent request routing. The llm-d project, launched in May 2025 by Red Hat, Google Cloud, IBM Research, NVIDIA, and CoreWeave, addresses this by providing a Kubernetes-native distributed serving stack built on top of vLLM.&lt;/p&gt;

&lt;p&gt;llm-d is not a feature of vLLM, it’s a complementary orchestration layer. Think of it like the relationship between Linux and Kubernetes: vLLM provides the inference engine, while llm-d provides distributed orchestration and intelligent scheduling across multiple vLLM instances. The stack integrates three open-source technologies: vLLM as the high-performance inference engine, Inference Gateway for AI-aware routing, and Kubernetes for industry-standard orchestration.&lt;/p&gt;

&lt;p&gt;In addition, KServe has added llm-d integration via a new &lt;a href=&quot;https://docs.google.com/document/d/11ZQJ2VhTc42S9K4yau2dMs3Q3f4jqWJL_7Sq14C3hzY/edit?tab=t.0&quot;&gt;LLMInference CRD&lt;/a&gt; in KServe to have a single and coherent API that unifies the serving experience across use cases and maturity levels, supporting a smoother journey into generative AI for enterprise users.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnAAAAF9CAYAAACEZVXgAACAAElEQVR4XuydB5gUxdaGDdecMSsiigpXTFfF8GP2ilcRjCgmchZUkCxIUARUEEVAclhyzhmWnHMGgQUEyZIzev59z1JjbzOzwLK7Mzt7vuc5z053V1dVz3Z3vXOq6tQ5YjKZTCaTyWRKVzrHv8NkMplMJpPJFNkygDOZTCaTyWRKZzKAM5lMJpPJZEpnOiXA/f3334nsr7/+MjMzMzMzMzMzSyHzctbpKiTAOVg7evSoHD58WA4ePKh24MABMzMzMzMzMzOzFDL46tChQ8pbx44dU/46lYICHPBGBmQ2pdME6VqqvZmZmZmZmZmZWSrbxlW/y5EjR07pjQsJcFDgvn37TsrYzMzMzMzMzMwsdWx6z8nqkXNdq6EUFOCOHz8ue/fula1btwYyXDRknpmZmZmZmZmZWSqY461xHUbJzp07dQhbUl2pQQGO7lNOXrduXSBDk8lkMplMJlPqyPHW8FZDZPPmzdoTikMtlIICHNS3fft2WbNmjQGcyWQymUwmUyrL8daQXwbIxo0bdR5CsgBu27Ztsnr1agM4k8lkMplMplSWF+B+//33swO43377zQDOZDKZTCaTKZXleGtwcwM4k8lkMplMpnQhAziTyWQymUymdCYDOJMpQvXblBXSqUhrWTx0vv+QyWQymTK4DOBMpgiVAZzJZDKZQskAzmSKUBnAmUwmkymUDOBMpgiVAZzJZDKZQskAzmSKUBnAmUwmkymUDOBMpgiVAZzJZDKZQskAzmSKUBnAmUwmkymUoh7g/v77b9mxY4eu1cpCryZTepEBnMlkMplCKWIBrn379vLOO+/Ihx9+KEeOHNF9GzZskNq1a+v+hg0byq5du3xnnax9+/bJeeedJ+ecc46MHTvWfzhitGXLFtm0aZPs2bPHf8iUQWUAZzKZTKZQiliA+/TTTxW6LrvsMq3Uxo0b5ZJLLpFzzz1XnnvuOS3zdLR//37517/+pXmNGzfOfzgihJfwiiuu0HpWqlTJf9iUQWUAZzKZTKZQShcAd+DAAd0G3s4//3yZNm1aIB1eOLpIXaX/+usv3Xb7/ABH+tWrV6tnzi/O5VrWrFkT8Po5/fnnn5rnwYMHNV+udfPmzZrelcf5eNK2bt0a9EukC3ft2rWaFmhz2r17twIcnsLy5csn8iySbufOnVqWv05o7969WhcAl/JN0SMDOJPJZDKFUsQDHGDzxRdf6OfcuXPL5MmTE6V75JFH9BgAg7gIQA9bsWJFIoB79tlndT+f+RsTExPIh67L++67L9Hxpk2bBmDq2muv1f3vv/++XHTRRXq8Ro0aWh8HluRPGuzCCy9U2ENAWIMGDQJ5Y7ly5dIvGyjDs+j2Y7fffrvCGHW65557Avs5/9tvvw3UGW+d97xrrrlG4uLiEsGhKf3KAM5kMplMoRTxAOeg54ILLgg6PgwQ4jjjxxAg5wBu1apViQCOPKpXry7169fXz3i8Vq5cqbD02GOP6Tbw1KJFC8mRI4duv/DCC3rcARx23XXXyf333y9z5swJABz78+bNK3Xr1g2MuWvdurWeO3v2bE3z8MMPS8uWLaVs2bK6XaJECfXGFStWTOvDvuzZsyuwch1PPvmk7itZsqTW2wEmYwGPHTum0JgtWzb1KFIXADKYl86UPmUAZzKZTKZQiniA83qfpkyZclLlzgTgSAv4YK+//rru6927t3bRXn755Zruhx9+UK9b8+bNNY9MmTJpmQ7ggCYmWPTq1UtntnoBjq5OvkCXtl69etr1CnyxPWDAAM37jz/+UA9d1qxZZcKECQpdV155pYIfXjW28f7RfXzxxRfrd0tZbdq00Xy6d++u5VCXW265RSGUrlT+gabokQGcyWQymUIpXQBcq1at9C+AU7p06UTpHMC5LtSkAA5YchoyZIjuq1OnjsKRg0SgCZjD+AxocX0OyvLkyRPIA3m7UAFDPG45c+bUtHjaGE+Hl4xtl68z8qYbly5PB3B43xCeP7bJm25kb50AQsbTvfvuu4HviHR4AE93cocp8mUAZzKZTKZQiniAc7NQ8Ug5MBs+fHggHd2MpJs3b56CEHVwQOMHOMaskQarUqWK7iNfumYBMIzwJHjkOI+uSv6S3gEc0OTVqQAOz2D+/Pl1G68deWOAJn85JxjAffLJJ1pvDMB0deI8103KvvXr10uTJk3kgQce0DL69OljkxmiRAZwJpPJZAqldANwQM5///tfhRygBpBhH2POSIc3C08Xf0MBHPtuu+02yZw5c2CbLk7yAbacN4tJCpdeeqmW/eOPP2p9kgtw5A3EuXFx5Em3LOcMHTo0AJR+gAPSvJMUOMd5BPkHUW8mPzDJAQjNly+f5slMWwO46JABnMlkMplCKd0AHMLzduutt+r+WrVqKZwtXbo0AEcYgOY8dYwNI407DpS5dBjx5BzsUHcgzHucbSYaIAdwBQoUCNQRBQO4e++9V9OWKVNG07CPCQzevDHAi2MAnAsj4gCOfUxOYHKD9xzS0H2KV44y3bVigCrj8EzRIQM4k8lkMoVSxAIccc+As+XLlwcgC6hhEgD7ly1bpvHWEN2Io0eP1pmYQBTHMUCHiyEt24T1WLBggYwYMUIWLVp0UrgNYA9oGjlypMydO1e7KF0aQpKQh3+iAPHkyB9zafkeSOsmViCOAZTDhg2TUaNGaT7e8smfPLhur6gT14W3jtmsbDvxz6IcVphYvHhxomOm9C8DOJPJZDKFUsQCnMmU0WUAZzKZTKZQMoAzmSJUBnAmk8lkCiUDOJMpQmUAZzKZTKZQMoAzmSJUBnAmk8lkCiUDOJMpQmUAZzKZTKZQMoAzmSJUBnAmk8lkCiUDOJMpQmUAZzKZTKZQMoAzmSJUBnAmk8lkCiUDOJMpBeRWC0lJGcCZTCaTKZQM4EypoiVLlkinTp2ka9eugdUrWP6LVTB69uwZMFbL6N69e6J9U6dO1XsqmFi6jFU3UlusRcsybv7VOrzasGFDYJ1e0u7du9ef5KxkAGcymUymUDKAM6WouIEaNGggTzzxhAwYMEDh7JZbbgksCcY6sezr3bu39OrVKwBwdevWVQjq16+fLhnGkmh+AUj333+/TJgwQbcpC/Mutca96F0CjWPsI53bT5kOvDD2k46l1ly5ABxrz7p82Pbmy/nUlyXOeGC4Pm+ZpCU/b3ryZh/1cfupC2nJ3y8DOJNTUj8knLi/gj03aSHq573f06tSw5NuMqWWDOBMKaqKFSvKbbfdpg2JAySAhr8A3L///W/5888/FXh44TuNGzdOrr766iRvviZNmii8kReeuosvvlguueQSyZkzp5b32muvKVRddNFF8uabb2pes2bNkv/85z+a7sILL5QWLVrI5Zdfrp8ff/xxPY/0zzzzjOZ3ww03yJ49exSsADjyYL1Zl+97772nnrd77rlHzjvvPLngggvUq8h1OZi87777NC35Va9eXetL+dSPfeTVrl07Xcv30ksv1XPZxzq/XhnAmbifihcvLldddZXcfPPNsnDhQn+SgDp06CDNmzcP/KA5HfEcDhw40L9b71nWZr7++uslU6ZM+gwlle/rr7+u9zxrQ4dD1Pfaa6/V55e/RYoUSbK+wUQePIeRLvdeNUu/llIygDOlqHLlyiX/93//pzcpQAK04VFbtWqVfn7ggQfkscceUw9d3rx5A+edCuDI78UXX1QvHC9m8lm5cqXExcVJlSpVFLqAo1atWmlXLS9yIAyAy5Ili+4D/gCuTZs2SenSpRWeuHcBMTx7pKGxHDJkiD4IABzXUK1aNfUYAlxXXnmllrFz506Fsr59+yoEcj7nrFmzRh588EHNa926ddogUA/q9vDDD2t+Dz30kLzyyiuyePFi+eCDD3RfbGzsSd4TAzgT9/cdd9whjRs3lsKFC8vLL7+cqAHwfvYDXKiGwrufZwGvuD8teTAMgvu6YMGC8s0334Qsl7Q33XST/rA5k7JPJ83p7uPZOffcc+WFF17Q74nnjh+KwdJ65c8DSI5U8d0CyLwvzNK3pdRwGwM4U4qqQIECkj17dr2JFixYEGh0ihYtGvDArV27VhuOzZs3B85LCuB4yeINAHYQ9xuQ6NWwYcO06xaQQ7Vq1ZJp06bJ3Llz5dNPP9V9dFVed911+rl9+/YKcMAVL23SIR4uvGx4JgA49gOAwBdeCMCxUqVK+jLlfLxv1M8B3ODBg7Xr2OmNN96QLVu2qNevf//+uo/88RLQbYqnMFu2bPLxxx8bwJlOEmM+uX95Lrjn3IufHwiAFx4yoI39HTt21M+k/fbbb/VHzJ133ilVq1bVe5T7EsDhnBIlSkj9+vV1eMO//vUvqVy5sj4fXnHO7bffrj9c0KRJk6RMmTLqYccrx4+OiRMnqjca7xteL6CvfPnycuONN+ozynPJM/n000/rDxeepR07dqiXGujLmjWrPoM9evTQsvhxR96kd889zwfX8uSTT+ozAsQ88sgjmu6rr77Stgd4/O9//6s/6jiP55R3DM/k888/r88bZfNDkuM//vijPs+8D2rWrKnXznfo/VEZaTKAix4zgDNFpHg5AyV4uLgnMF6gdEM6gIuLi9OXK+ZutqQAbvny5fryBoQQLzIaL/KhcWndurV6xPCO0R20e/dufTFzM+OB++yzz/Q8XtI0XoguTAdweODuvvtuzaNkyZI6Ns954Kg/jZbLd8qUKbqPRsALcDRInLNixQqtG7/+SUedKDcYwFE218Z15c+fX8/1ygDOBLAAGtw/QAyAwo8LQIdnauPGjXLNNdcohABwv/zyizbyQA/H5s+fr+cDUXjyAEIEaPEcAT45cuQI6qHiBwaQ5LxqDAcYM2aMfgbcGNLAeexzE5J4vhjTSmPyv//9T8vkGWSIAvnxfANu/IijfoAmdeIHDO8GyoqJidHnl/SAoBsfCnzNnDlT3xPr16+XP/74Qz1tP/zwg3rXgdGnnnpKofX999/X5xWI5D2BgEHeRfywq1Chgjak7jn+4osvFHB//fVXTRuJMoCLHjOAM0WkeCEyToeXKb+ieaECN7yE6UrlJc0vcefR4mZGNAKhAI6XKl4y75gWJj3QiJH/XXfdpfcg2zQYNBy5c+fWvGbMmCHlypXTcwApGjsE9DmAo3uTX+x58uSRW2+9VaHQjYGjTPLAO/D2229r4wDEcZ10oTKJgc94JdwEBdLQRfrcc8/Jq6++qsdpgJmggd59910FOBoxPAk1atTQc/wPtQGcCeFtw9OEh+mtt97S+xMv97PPPqv3OdDEDyZmfQNwAAtj5ng2MCCIfdyPQI9XDuCCCQDCa8X9i+G9A7rQyJEjFdq439u2batAt3r1arniiit0eAT1wrvG51GjRsl3330XyJPnBqAjDeNXATzeEe45ZZwqP3z4YfPll18G6oMYzoDHkPO5Np5n3g8YQxe4xnz58umPQ7qU8Q46zzbPG98ZXjbvjyXeOwzD4DseP358YH+kyQAuesz/rk+uDOBMqSIAiDFgXi+b6/7w3sgOyriH8BL4PQF4G2hE/AOtSYfHjHPcL3TyB9LomnVl8tdNluAc9+BQP87lHPLHm0GD4WahkZb6OZEH9zdluTpynHoj8nX7yZOGjobXXZ+3nq67BvF90Ij6u6+QAZypc+fO6nXiPuZe4YcAzwRgxA8l7kuAjvsHDxxdqNzD/OBgH8ZzyH3KjyrGcpIX3aHcr6EAjjQAGR5p7mHSOm8c5bEfjxYeQeCLZ5EfOniref6oF9547nm8YfPmzQuUh3eQ467uPC/8oBk+fLimYUIEP5bwEtapU0frQv2BLjzV/EhzzxB5UCd+MPG8ed8fpUqV0rKoA98ZkAZ44rUD5siXZ5rhD9SL7zRckzBORwZw0WMGcKYMIV7uwcAupcTNzkuersxIkwGcia54vEh41LBFixbpfoAEDzZQxZgzII2uS4YG0NDTHYiHmW7Xjz76SJ8fvGR0IeJxwutLOn5oMPHIK9JyHrBIHnTDUh7DGBDbDuYYFkC9nJeOMZ9suzFyPL/M+PaGyWEMKZ460gCdgBfDLmiAyBPvG5ODeDbxqlNful1Jh3399dd6Pp53GkPS0VXqH0NKmU2bNtW0eOfwyCFgk/yoJ+BH+0W51Cepxi/cMoCLHjOAM5lSSM7DEGkygDMh7s1g96jb7932pnHb/n3ec9w+v0Kd6/8cLE2wfX5RB3/dQ33254f834f/uFf+tIht/35/mkiTAVz0mAGcyRTlMoAzmUxOBnDRYwZwJlOUywDOZDI5GcBFjxnAmUxRLgM4k8nkZAAXPWYAZzJFuQzgTEmJMVsMzGdygpsNHWlitmjLli39uwNisoV3ST1TaBnARY8ZwJlMUS4DOFNSmj59uq5+wJJsvLT9A/7920ntCyZvWm+eodIE28+sUVZi8e93YpUJZoV6FazcYMf82/59XgXbl95kABc9ZgBnMkW5DOBMoURYD8JrENOMgLoE6H388cc1ZAbhMTieOXNmDQNCnEPe0Xi7CNFBGA/2E1ibwL98HjRoUKJQH3369NFQGwAWZbzzzjsa/JrPo0eP1pAdpCcECfsIgO1iIdJAsY+6VKxYMbB+KyFDiE/HMYJh09D4AQ5I4TyW9iKMCaFL3GxRggFTV66BYN20N4QPIY4dAcIJbsxSdsRzowyCBiNCrJAn57plxdKjDOCixwzgTKYolwGcKSkBUqxAQMPOy5tguLyLeYGzugiBeDk2depU+fDDDxVuWLUBYIqLi1Owi42N1XOAH4LcOhGHjRUcaGzWrl2rgERAYRoe0uL9I0AvIAbMkYYVVgjYC1S5AN4skwXAEXSYlU6AKcoHMllNJRjAsdICqzLwmTIIFkx9X3vtNc2T8rgO2hvizgGqDgZZFg947datmwY1BnhYrYGgwlwLS2b5l6xLLwoHwAHB/n2nY/xPuV+IM+g/djpGrEF+YCT3/LMxrpm6Y8m9/lOZAZzJFOUygDMlpSFDhkizZs3Uo8TLG3BCNPR4r9yqIjRCeMpY9g2YcSuisDQWYMP7m7VHWVDeyQEcebjzaXTYZtk41gAmyK4bv8ZfVnpguTj+urJZaQGAA6hYDg+PGvXEG8b6p6EAzq1JyhqvrMiwYMECBTLE9RL4l/aGlRlYCYJ9jRs31qDBfAYc69WrpyAJzFImxprHNMzpUakJcPyPx44dq0saYnx2q8n4057KyIvzCEBNPv7jpzLuM5aN4/5idQ7/8dQ27mW8uhg/BvzHU8IM4EymKJcBnCkp+QGOdXcR2xdddJG+k/mMJ46lqfDAufWGaUBefPFFXemB9zdgB2Q5+QGOxtQLcJTNuqxr1qxRsKDBZl1TltN69NFHFcrYj/cMgMObQh2oE3lwnHJDARzdtahWrVoKcJRTvHhxvR7qj0fQARxLYbG/UaNGus4qn/E6AnBcH12uNMTuWpJq4CJZqQlw/G/5f5977rkBw5sJEONd9aZlZZxQnimOkRf/Z9aS5p4jLfu96YLtc8Y18iMAjzJLv5FfsLSuLPfZXyeO+fe5tEnlxzKLXLvz5vrTpYQZwJlMUS4DOFNS8gMcHjUnxsTRINPVyLgzGgzGwLHtAI5ltWhM8Mgxhq1r166B8xkDx3luzWAWgadhpYHAs8KYObbphsV7R4PLeqLUBdhiKS7ypE50c7KfJb/YT8OM9406V6hQQevgBKSQX/v2CW0I3aysU8z+Dz74QM8lD7xptDdAKGPe0LfffqvHvQDnPEuuXLyA6XXWa1oAHOAPhPO/ZNwgENapUydNwz2FZ5R7ge5suqO9eQD9Tz/9tBQtWlQ9sQ7g+L+xvi33H+n4nwDj7HMA5jUvwPE/5R7KmzevemAdkLGE27vvvitPPfWUrhfMuE7K4RgeVpaK40cHk3xatWoVyPvzzz/XunNP0k3r9tOtzn48zQ0bNjSAM5lMZycDOFNS4p3LmDLEi5sGyQmIoSGm25TuR7RlyxbtWuQY0DZ37lx9dzvgoYF2Ii37gAbSkhd/aRwY90bXKCJvQJJGk3wQ51AO3azAHOPiEN21jJ3D00f+pAfOvCFQ2BcbG6vddwgPHg06on50844bN069cjSuXPOcOXP0OGVNmDBBP9NI4nl0dWY/5bq6pEelFcDxf8crilcWTxxjI0nzzTffaNe810vH/5ljABWeWaCN/QCYAzi6Q9nHRBgADDv//PMV0IJdjwO4Cy64IOAVJC+8x9xDeFX5ceHKIh+65AF/8gb42E8Z/AVEN2/eLL169VIoc3VnfVzGkTqgdPnhAXYeSAM4k8mULBnAmUwmp7QAOMAFcALk+MyEFeAHkAZogCLAGDAD2NgGgOhqBYAAOUDio48+0m08tYsWLVKoIi15jR8/Xo8RHxCgbtGihfzwww9qTZo00foAcJT/0ksvKbQ988wzWv5XX30lAwcO1GPAJF33eALJGy8rdXHAB9hTVwAU6OO66PbnxwaQSn7AXVxcnH4uWbKkrF+/XkaNGqXnG8CZTKZkywDOZDI5pQXAAWJAGB5Xui0d9NCVCdDgTQOSqAfd94AO0OM8Vm5sG2DlAI605Mc2sFW4cGGFL7ywMTExCl6U64xzAbhMmTJpiBzqhweVsDZMQuF8vGTUiWN4YR944AHNh20gDzAD6sivQIEC2iVM+Uxo4RhGqBnGRwJ41B/vMPW3MXAGcCbTWcsAzmQyOaUFwOF5o+sbjxteMyCGSSjLly8PeKUIHI0XLGvWrAEPHOe5LlMmPeDNcgBH/kAdk03YhzH2kfPoqqU73mvUxXXBUjaA+Nxzz53kgaNLlbK8HjjKwsNH1y7d83Svkg9wBswxY7l79+56HquYkDdd7+TN+LhVq1bpzFfzwJlMprOSAZwptcWYM8DACUCgYQ0mjnkbBzwVKd0gJSVvPTOi0gLggBb+ElsPLxcgQ0w+0gBAgBPHmAwDNPGZ+4WJJJzLxBU+4+nyAhxGLEL2kYeb0BDM3Bg45zF75ZVX1BPozlu2bFnAQ8akCbxpHAPg6G6l2/euu+5SQCPeIMeATrx3nMPYPsa/AXdNmzbVbl2u1QWOJh8DOJPJdFYygDOlphj7Q2gPvBV4XAoVKqSDw/Gs5MuXTycrOAEPdDcxu9CJQeE0tDTkJUqUCOx3Ag7dxIZTKVRatw9YpAuNsUxRpZMvOaRSE+DwkBE0mYkGzqpVq6YzUN1MUbo8u3TpojOA8YwR4sXNCsWYhcpqIGXKlNHwH+QxadKkwHFi8gFFeOuSug7qQh7MVMbbxjg4unMZM+fChTD5oGzZspI7d26dnEI4GtJzPmVXqVJF68KKHsS1Yz/n1a5dW8PtAGqEqgEGOQbgUQ5dsYSjYSYtz0ZS9TwbM4AzmaJca6auSgC44QZwppQVszMJqYEHghc+3ggAzoHU119/rTP7CLkBONAdRaOK58VBFX8J1+Dd50RjjacDb0aDBg3Uk4F3pl27dtqAs4SX8/TRAOP9wNvC7FJEnVgui/2MUQLg6F7Du0Pe0aLR3w2T8c1Gyrw+M2XH+u1yaO9BOXron1m5XqUmwGEuPpozL5x5DfgIdZxjbr8/DWFk8OIBV/7z/OY915XnT8NxB5euzv5jwepIOndeqP3+/FLaDOBMpijUzJgpMrBmLxlQs6f0qdRVYuKfpd6fx8Rv95L+1XrKpF/H+U8xmc5YhB9h7BDvbuAKT4YLx4EABWJs4XXh3U5wXgaX053lAgQjvDTBAA6wwyNDQ8UsRPLDU/fll1/qZ2LQPfzww9roUA4hQhiPxMByGiEGztP9duDAAR0sT6OHGJeFpyhaNKfXdOlasr3ElGyn1rV0e+lWpoP0+ryLTGg5Rn6buFw2Ltwge7fsluPHjqcqwKWmAVJ0Z+LVAsD9xzOaGcCZTFGo1ZNXSo9POv3zQud5OvGC71j4V5nff7b/FJPpjEX3KEFZedkDSXSLsVqCE6AA1OH1Is4b3joGsuOFIzCuayRCARxjlR555BGpX7++5oUxjonxRog86BJlwDggV6xYMTU8bgxsZ11VwBJ5u1cBAIAvWrQydmmgzUxk8c9852JtpHPh1tKtVAcZ02RYPMitD+pRSg/G2DRChCRnaa1oNAM4kykKdWT/EZnZdcrJL/R4G/P9UNm7bY//FJPpjEUQ3x9//FFf9sARgMa4Jrbpqvvkk0+0C5UGgRhcLF0FvGEAF7P4UKguVLpoabTxvhEOAvAA4Ny4uu+//17uvPNOPc7YJaCN8W38BSiJiO9gjwbPNUpE0Gf1hfSqv44dj3/GD8vB3Qdl44L1Mrn1uJOe80RWor3+oNu6arP+X/buO7nrLyMY94+/SzY9mwGcyRSNim8H927do7/AvS/ymPjtzcs2ntRQmkzJEZDE2qWAHOLlz3JEQBteMBaLZ4A3EJYtWzad5IC4/xjbxiDvNm3a6Lg1xjW55aycmAHIUkYAF12eNFgMYCcdMwSBwIkTJ2p+DB53+/AEso/2hAkS//nPf9QzR7cb4+AIRUHXaqRKvYV//S2H9hyUPZt3ycbFG2Th4LkyqvEQ6Ve5u8IYz3OX4m2lS7E2/3jZfRZTop0Mq9df9m3fGw99CbNvU3sM3JmaG2fmNX+alDK8d9wPP//880nH0qMZwJlMUarjR4/rL+9EL/V4gDt25Jg/qcmULAEDRNLHo+a6KIEDZuAx6QBvB/sYA0dgV9ediVh7ktmJjJkjfePGjaVjx47/ZB4v0rMWacWKFTUavutCJeYWsxcXLlwYaGjopiW+F2PySIsom25YxszRtlBfvHV58uRJscYvpeSgbf/OfbJ9zVZZGbtMprWfqB7zbqU7aFcoQNaleDvpXJTP7RXmYpuPloWD5uoxP8D1r9JD/tywI1E5kQRwwBsx07gPMO4JusNTauA/PzCYQOOulwkthPogKG80eOFS6h42gDOZIlATWoxJ9ELnhS/mfTOloGhIqlevrg1vaouGGE9dchsugBDv25EjR/yH0kza/XngiBzcdUDWTFkpk9qMk5GNB0v/qj10nFqXYm3Vs+a8auwb8c0gWTpqoez8fYd61o8eTFh71utJJx3pAblRjYbIhvlxQT3tkQRw/B8BbLcCg4vvhvfWhebAgC2v+ff7t51XjzAfeIPdagtAPvny13++P69geYZKEy5L7nPglwGcyRSB2rryj8AvcxqEDXPj/ElMphRRMFhIaQEfdMeeTVlnc+7piPz/Oh4PSdv2yp/rd8j6eWtlVrepMu7HkdKjXCfpVrbjCU9aAqj1qtBFZ4aP+WGYzO07U7tL92zZrZBGPqcb421Uo6HSv3pP2fX7Tv+hRIpUgIuNjVVPLSFg2Gb8JNuMacRDS4gaFzSXfZwPmOXIkUOBDK9d3bp15d5779X1UInVxmxkwJCxmcR1w0PLxBY3IxmYd6sqZMmSRbeZhMMxymCyBF2uzFrmHPJ2MBgJZgBnMkWx6JLp8UnnwPN0LERsKJPJdGYCroi1hkeMWIszu0yRCc1Hy8AavaRzkTbazZngSWuvYT16lO+kkLag/2xZH/9DattvW1L0eTxdMI1UgCMQNJNPWK6K7W+++UYh6vXXX1fPHOunAlJ8JjwMnMBSWwAaE1UAOAJBE2aGwLvAHJ48jrPSA+FoGHNJ/MCaNWtq+XTHkx/jOPHWuRUi8LIx6cZtE5DarergVpSIBDOAM5miXAOq9NRnqdenMaf9a95kMvn0d8K4UsaQ7tr0pywbtVDG/Dhchn3dX2MsatdnvP0zFq2D9CjTSSa2HCNrpq9SYMMrRx7+7s+0VKQCHMtZsboBk1CALjcWji7z6667TsPPrFixQrtEgSoWsA8FcIyDZIYzeQFsAB3xAYMBHGWz7ikL3eNhY21UAM4thUWYHMbpde3aVdMawBnAmUxppt8XrNOGZcmIhf5DJpPJ6e8Ej/XxeEBj9ufODTtk7bTf4gFsrAz5sq90Ld4+UbBcQI0g2QTMHv39MFkybIEOUcCrhncuXIB2KkUqwDFzGDjjc/HixRWi6C4H0KpWrRoYe1awYEGFNLpYATaOE8AZgAPoHMCxjVeNGc7OmxcM4EjP+YDLs88+q9t4AoE3zI17o5uWCRAGcAZwJlOaiQaFrhtiRplMpgQBWMzQXMVszw4TZVyzkdK3UjfpXPTEJIISCZDGj58+n3eV2J9HxUPafO0u5TzCcoTTk5ZcRSrAEduPmIJA1SWXXKLj35wHjpAzCxYsUMNDxng1lk5r0aKFnkv3KJBFuJiUADiOMW4OgKMrlnKZJW0euAQZwJlMaSQamCXDFyYMiDaZMqDwrNH1yZg14iDO7jFNxjcdIYNq9NaYal2ANrpASzhway/9K/eQWd2myR9LfpedcdvlUPwPIPLB0vNM7kgFOMbAbdy4UUN9sD1s2DCFMICJbYDKQRUxAQENuj05BtQRJBpvnBfgiBeYHIAjLXED8bhhrPbBXxsDlyADuAwuIqz7b0az1LNImvoe7cZ3TbBYUxrqRPfn0YNH5ODuAzoTE8/a7J7Tdf1fJhAwkUDhrGS7hHVCmf1ZpaeMaTxMVoxbKn8s3ajhPXSMGpAWpYokgAOymH364IMPqpeLZ4e1ctkmgDOBn0lHLEBmmwJpwJg7n/R0pbL/gQcekLZt2+osU2aqkjfARj4EhAbKmIWKl65ly5Z6PmPkSE/3KBBHPEPKdnkTb5DJDBUqVJCBAwcGunP91xEuM4AzhUUGcGbRagZwqagToIY3bduqLbJs9CINvTH6RLDbQAw17fok4G1bGVizt0xtHysrxi+R9XPXyv5t+xK6PaOX0ZJUJAHcmVha/widP3++egO/++47qVOnTmCWKoGn/WnDZQZwprDIAM4sWs0A7iwVD1bqSdtzUHZt3Ckrxi6ROT2ny/CvB2ogal2gvWhCmI5uZTpKr0+7yIAaPWXir2Nl5filGkdt9+Zd6k37+6/Tj6OWUZReAS6tbdasWVKlShX1/N1+++0aaoR4cWkNkkmZAZwpLDKAM4tWM4A7M+lEgBNetf079sm21Vtk0eC5MqVdrPT9opt2f9LlmbDuZ1vpXq6jhu0YWKO3TO0wQRYPm69dpof3xjc6xxJCdJhCywDu9IznmIkUBPMlhAiTLJid6k8XTjOAM4VFBnBm0WoGcMH19/G/dOYms6E3Ld4gi4bPl5ldp8jQOv2kc+E20qlIa4U03vt0gQJtI74dJLN6TJXF8WkZo4ZnLiN3f6aEDOCixwzgTGFRtAEcA2Z5mFJqEeZwWCR1DaRny8gAp3HUDh/TiQTbVm3WRdanto2VoXX7S5+KXaV72Y7S+cQ4tZ7lO6snbVCtPjK90yRZNHSebF6+SZeRcsFuDdRSXgZw0WMGcKawKBIBjllKuMi95k8TypgtxSwqInb7j0W6OfhkFhbXfKYQauCX2DISwLl1Pxlvtm/rHg25sWLcEhnz/VCd5Qmw8R53Ewu6l+kofb7oJsPq9Zf5/WfL6ikr5MDO/XLk4BE5dvSYP3tTKsgALnrMAM4UFkUawAEtRAJnmrgzYgTxgPjTeo3GmsGuzE7CrrjiinQFNCxB8/LLL2tsJHfdBNEcPXr0SWmDGecXKVJEYznx7PqPZ0SLNoBzkPbXseOyd8tuWT9nrawcv0wmtx4v/Sp1l06FWkvnE92fMaXa6SQDPGtjmw6XOb1nyPIxi2VH3LaEGGrqVTO3WjhlABc9ZgBnCosiDeBodInqTeBHgjXecccdOnUcsGM6+YwZM3RA67x58zRuEXGDOI97lYWVAR+OLVmyRPNi3T0gCLjzevLIB28d8YXIx0EPD82YMWN0vwPAdevW6cLOy5Yt03X9Jk6cqDGS3HE8hnjNKMfr+eP4hg0bZOHChVo+y9H4r9ednzVrVq17pkyZ5Ntvv5W3335brrrqKl2ixpXjFpieOXOmlsffpUuX6rVzDYBupUqVZNKkSZon57Bmofd6MM7DS+mtp/tLXSmD8zG+R/KmDL5X/gd8b6Ths8uD743vlOt1ZYfb0ivAMT6NVTsO/HlANi3+XeOoTWw1VobU7aczPfGgdS7W5sT4tI7qYaNrlFhrK8YvlW2/bZb9O/fJUWZ/GqRFrAzgoscM4ExhUaQBHEbDC4gAcC+++KI+HOy78sordd8tt9wS8LQBORwDXtyaeUTqLlu2rPTu3Vujebu0N954o0IUMEg6ook7bxceLKanu0WVMeIOAYgEmyQ9Xj3S8pmglNOmTdOyWROQKOPuvOzZsysI9e/fP1H51DuYJ5F4RuRZu3ZthVPS8ODu379fDh48qGXMnTtXXn/9dU1HXqxVSN4ff/yxTrF30ck5xmfyJTimKxsjOCbPNfW7/PLLtQzSuYCYlMNyOSwezffRqFGjQJ6UhUeQPIFR/rpI6XyfDp7j4uLOuOs3tSySAc4t/bRv+17ZvGKTrJuzRqZ3niQDqvfSFQno8sST1qlIG/Wq4Ukb2XCwTI+ZrGPUmCF6eN8hOXrwaFQHu41mGcBFjxnAmcKiSAQ4zAtwAAGNMbDGPtbjY6mV2267TeECb9jjjz+ugMX2I488ovAFZAFW7733njz66KN6bPbs2QGAc1BGvnjXABIAJl++fHLddddJ5syZdeq6AzjOf/755xUkAT2ijeNxAphcuXfffbcGnQRk8ubNq/ndd9998vTTT2sapsA7jxfG55iYGM2fsngRAH+sL4gxbZ68qlWrpuXgoXvuuefkrrvu0nMKFSokrVu3lly5cilA8Z1QD87herJlyyb58+fXa+Rae/XqJW+88YYeAw5JR75cPx4+9hcuXFgGDRqk3wHbfNdETac88j5w4ICULl1arwf4pBHiuskHQPZeXzgtogAOxvob79px+XP9Dlk79TdZOmKRxDYfpR40wnIE1vyMBzc8bP2r9pBxP46Uqe0myKqJy2XPH7s0PIcuxWbMlu5lABc9ZgBnCovSG8ABDXRhst2vXz/dBj6AOEAFiDhy5EgARu655x4FKaCM/AAh8uczUAWM8BJt3ry55kWgSNIDKqQpXrx4AODy5MmjD2rFihU1b9boc3XAI+Vmv7pJGEAeoPXaa69p+QAW53i9cFwHXcbkT1clxwAyPGQAF/vHjx+v23ym65LzSEd+ABxl8rAzfo6FnvHiAX+kB9YoH5ilzh9++KF2fVJnFp7+4IMP9DNrGo4YMUI/sxaiWwfRLXXDdwS48r1QZzyTeOTo6gU4qQtd3f7/YzgtHACHN+zwvsOyb9teiZuxWpYMXyCxv4yWwbX7aiy1QODb0h2kR7lOCWPUmgyXGZ0nydpZv+kYtUN7D2moD+v+jG4ZwEWPGcCZwqJIBDi6DitXrqwA8tJLLylkeQHOdV26xZcBOO5XL8ABdAAL0MU4McZyTZ06VcewcS55Ay98xpo0aaJ54ckiLecAOoxpa9WqlaYHaoAlFmh2nqqRI0fqeXi+qDfwRtl4ogA4vGWjRo3SPBmbxjPlv17qRB54y1jnj+vl4QXGAKNFixYFuo0Zz8ZLn+tlG4AjDzyBABzdnoyPI1I5dWYhar4frgfvI+PXuAa+J+pH/nT1khfbQCPX8dFHH+kxunXZ5gWFN9MBHHng2aQM5xkFHP3XFk5LNYCL5ypCdOze9KdsXLRevWMTmo+WXuU7B2Z7Aml0f+JZw5M2+odhMqn1OFk1YZnOEiWO2vEjNtszI8sALnrMAM4UFkUiwOEJch4zFkam2w9gOF2Ac2O7ABK8RkARXiygkP2uC9UBHPvoMmQfY8vwTLHtJgM4gHvllVcSARyzPvE+OfgBhNq1a6fl8UBfe+21Wp9SpUrJuHHjdKxasDFwwJ7rhmX8WY8ePaRWrVrqdcPLBRgBss7jxiSEZs2aaZ1CARx1Jz/GzeElHDx4sHrl3Pg0590jTyZ6kJZtukKp4w8//KB1YhIJkxPcd+0AjjyoJ+dgdLcCnv5rC6elNMAdORT/w2DNVvl9wTpZMHCOjGo0RGKKJ6z1qd2fxU9MLojfxuM2OR7YZvecprNF8aoRU41G27o/TcgALnrMAM4UFkUawAEYjLli7JgzPD+86IAbtulGpHEGsth2AEd3IRDjAA5vk/NcASp8ZswXDxtwQneigxHK/fTTTyVLliyanjJfffVV9X79+uuvCmh0rZIOEKNculfJq379+go6nAcY0f1LOXjvbr31VoUwjvGZGa2uTK+RlskFgJDLh7q4BZt5mPGGUW8gk3F1XCteQI4DcJTD2D8AjnpSL9I6wCQ8C/BH+vbt2+v5QCn14S9pXJcpXcCAKHmynwkfTAKhK9bVn7/kAcA1aNDgpGsKt50JwGng23jAArRY9/P3hetlHouz/zBMPWhMLOh8wqPG+7Bnhc7Sv1pPmdxmvC7iDtThkTu464AFvjWdlrhP8G67XgCz9Gu0TykhAzjTGSnSAA5jfBWzIJ25rjn+su3CVAAZbhtz5/FAubzYv2nTJjVveAvSuRAkzpx3irSU5bbxkHnT00XKtgs94srjPNL4yyevjRs3njIgMedRFvmQtz8cB8ddPdxnVweMbermTU9a8gv2vbDP1cldo7dM0rvvnON89naTum5qAI7r89Y1Eoz6BwO4w/sPy87123W1gcVD58vIRoM1PEfPeEgLLNBeJGGc2sCavWRs0xEyrcNEWTdrrRzYuS/gTTOZTKaUlAGc6YwUiQBnlj6sS5cu6tlknJ+D3Uiyndt3yoZF62TBoDkS22KUDKzRS5eN6lq6vcSUpOuzrXQq3Doe3DpLbPPRMrvHNImbuVp2bdipnjTGqGmXp8lkMqWBDOBMZyQDOLPkGN4tZtQy8cJ1u0aabVm/WSa0GnNibFpCmA7eZSwjNbhWHxnXbKTOEt20aIPs27pXl5Gy7k+TyRQuGcCZzkgGcGbJNcb/MfbD2zUbSQbATe4wXnp/FiNd6BYt1kZjrDGerW+V7jLwy14yvePEBK/b7ztl//a9CTHWTCaTKQwygDOdkQzgzKLVdAzckcMKZcdOhP3YsuIPWT5+iUxqM15GNR4iMSXbnwii217Hv8XEv+v6Ve4uw78ZKNO7TJKVE5fJnxt2yKE9BxNWPDDvnMlkSiUZwJnOSAZwqWdMCGDwv9eYNOCfnGCWOhZ0EgMMxuy/Hftk57rtsmbGbzKjy2QZXLuPTmToVqaDgpyuhlC0je4D9GJbjJZFQ+YpAO49EceNVRVMprOVW1bNLP1aSskAznRGyqgARyy5l19+OVUH3xPagzAexK9zdv/992tAXX/a1DKCBBMLjth2/mPRbkEB7hTCU8cEhr3b9siaaatkcuvxGtONUCKAXacirXWGKhMhWEVhSJ1+Mv6nUbJ87BKd2bpn826FO5PpVHJx4LhPzdK3WRw4U1iU0QCOB424ccRTA27YxwO4Zs0ajSuXFFyRbvTo0TJv3jyN50Y8Orxq/nTOCJBLMN6OHTsGQp24Y4TmIAgwoTiIzcZKCeTPMYLwesODEAqEeHDEd2Ob+HbUwwU0pg7Um1hy3rqSL9dF6A/gkSWyXBkZwbjWMwW4oDrhtaMr9sCf+3W5q1Wxy2RGzGQZVq9/whi74v+sZYqxIgOeO4L5Lh25ULYs36RrmdoSWSYnC+QbPWYAZwqLMhrAEZgXzxuwxjYLuterV0+D1T700ENy2WWXBfXMsZoBy2URuJbgtgQFBgIBOX8ZzgA4AvJ6Ac5BHDDFOq333nuvPPHEExqOg2WvKJeguqzNSncrEMLC8XXr1tVjP//8s8ZeA8ioM4vMk+ann36SHDlyBOpNOdSP55jjCxYskGuuuUbXW/XXM1otxQDuVGJpraPHFe72bN0jqyevlPE/jdQ4coyx4/1J2BKMz30qdpXBX/WVsU2Hy6oJy+XQnkMKh4yxU7gzvssQMoCLHjOAM4VFGQ3gWF2Abk28WGyzTimhMFgCCxjD+8Vx/zi1O++8UzJlyqReM4xlsoCuUwEcEJU7d24pWLCgFChQILDcFADH+aykQB7vvvuuLgaPt42lu55//nntggXIHn/8cfWwEbUdiPz+++9lxYoVMmHCBF0xwq31yooLeOOc9w3YdEDHPra//PLLk+oZrZZmAOcTMAaU7d60SzYt3qDx5YbW7y8Da/bWYMF0wTK+Dq8dcemYNDGs3gCZ12+mbP1ts+zbvlcnTZiiWwZw0WMGcKawKCMBHA0665jiQcPzBtywfioeLZaIwoAljgNY7jweTjxzDRs2DOwDsvCAnQrggKY333xTatSooeZe2ORPAFzAi23GqLH+K+fgeaPrtUyZMuoxzJw5s54HOOL5c1DGX/Ju2rSpglvOnDmla9euCp/lypWTr776KlAX0gKmb7311kn1jFYLF8CFkluui5UgNi/bJGumrpJZXafpmqoDq/fS2bBdiuOpS3jn0g077OsBEvvTKFk4YI5smLdODuzcr3nojFhTupYBXPSYAZwpLMpoAFe1atVEAMci8Sx4v3jxYlm+fHnA8IS5Lk9essAaAObyYrF3B3B+b50z7xg4/zEALk+ePOpJY7t///4BgKOegBbQSLBcjlFXxu5df/31mp4ySffCCy9I27ZtdR8L1tNlS1cssLZ69epE186+d955J8OMg4s0gDuVgLL9O/fJ9jVbdW3VaR0nSp/PYiSmWELXq3bDFk9YQYJxd3j1Rv8wVBYPm69x7I4fO57QFWvdsOlCBnDRYwZwprAoIwEcxhgyAM5BDAvT0/U4a9Ys7d6kmxJPF8fxfjFhAXhi8XoWg8c7huXKlSvQhcpkCM73l+XGwLVu3TqwHqtbbzQpgGObcwA4FpAH3NhHPfAWMp6NPMjvhhtu0K5UXiA88NTz/fffV3D0ghqf6W4tVarUSfWMVktvAJdI8QB2ZP9hDVmyfe02WThgroxoMEj6Vu6uoU00zMmJrtge5TpJvyrdZcz3w2RmlymyYf462bNlt47J++uYBSaOVBnARY8ZwJnCoowGcHRZ5s2bV7p166bbQNHYsWMVbm666Sb1cNGNCszR/QkQAQGMKXvttdfUW3f11VdraA4+M06NSQ+kc7NEnXGMMXAAIzCGMZYO2GOs3VNPPaXePtIySYIuVQdweADr168vDzzwQKIJFXjXqBfj8Vw3qztGuhdffFEhz+stxMaPH6/j9pi56t0fzZauAS6E8LDRhXrkwGH11NGtOr/fbBnbZLiGNcE7B9TpsmGl2yvcDarVR6a2nyDz+8+SdbPXyJ4/dsvRA0dPBCY2V124ZAAXPWYAZwqLMhrAATl0LeI9c/CE0dhzv/PQ8DCyjxAfeMy8adwYterVqyuYEaKDbbxhwbomncfOmetu5S/b/rTe7WD5OcPzR938aZo1ayY333xzIpgEJIE9vH3+9NFs0QhwpyMmQOxYu002Lfld5g+YLcPqD5BuZTqqsdKEgzzG2BHjbsIvY2R2r+k64QKv37GDRxM8d8Z2qSoDuOgxAzhTWJTRAM4ZMIMXzcHaqYwuTrozCcVBCI/rrrtOGjRocFK6cBpeQ+rl9drFxcVJoUKFtNvVnz7aLaMC3EnC0fbX3wplBCqmW/b3+et0qTDG0fX5vKt0j4e7hAkUJyz+c7cSHWRyq3GyaOg8+fP3nXJo94GEIMUGdikiA7joMQM4U1iUUQEOmzt37kn7Qhnj0Bo1aqRj35it2r59+yRnoIbD8OrdfvvtOtPWedrYxwSNUBMtotkM4IJLgxLHw9zRg0fjYW63rJ3+mywZsUAmthojg77sLT0+6SRdijIjtq3GsutWtqP0joe82OajZGbXKbJ66kr18AGDgdh1pjOWAVz0mAGcKSzKyACXHONBPV2vXTiMBsE7Zi4jmwFc8nX08FHZtfFP2TAvTpcJi/15lPT8pLN2u9IeuLVi8dT1r9ZDxjQeJpN/HS9r4uHuwK4DcuzQMR2rZ9660DKAix4zgDOFRQZwZtFqBnApKJ3vkLCcGN2ozHD9beJymd19mgyu1Ue7YZkwkRDLrq1OoOhWpoPuG/fjCJnXe6Zs/22rHPzzQEIcO/PaGcBFkRnAmcIiAzizaDUDuNQVMPcXgYn3HZaNC9bLinFLZXLbWA0+jKdOY9aVaJsQmFitg4ZCmdd3lqycuEy2rNgkB3cdkL+OZUygS68Ah4ffvPyJzQDOFBYZwKWtZaRZoJFgBnBhkGfSBBMmNi/dqOvDTmkTqwGIAxMlSrRTbx2TJ/p+0U1GNhysceyWjVqs3bdufdho7YYNF8ABBgT0fu+999RYxm/q1Kmn9W5iljthlAihNG7cuJOOZ1QzgDOZolyrp6yULsXaaOR8kylD6u+/5fiR44Fu2N/nrZOlIxbKmO+GSv+qPdRzp2FO4o12h20CFw//eqAsGjxP1s9Zq2vMEu6ElSfSs8IFcIRRIm4lAczPOeccXaGFNaIBOAKZYwCJC2zuzsPrxjk5cuSQ4sWLa6giznFpvddCWrcPc2tAY3z2p3f7yM/72Vtv6uKvE+Yt339OWpkBnMkU5fptygrpVKS1LB5qAGcyBRNdqXjd9m7eI2umrZTFI+dLbMvR0q9yd50Zm9At204nUHQq3Fp6le8isb+MlmVjF0ncrN9k9x+7/llSLMLXiw0XwGEADwG/ATLaeYAL+GGGPcHM//vf/+pSgXjaiJcJoLASDcDHTHeCnROHskuXLvLKK69oXM3s2bNr2CLyIlA65xcsWFDXb3700Ue1XEAReKTsrFmzysqVK/U7ACJJ/91332nwc+zHH38M1JdA6gRb5zzqNGjQIK1v7969NcA6+++5556whXYygDOZolwGcCbTGejExIkDO/fL5uWbZPnoxTKjy2QZUL2XdCnSRj11dMMq1BVvKz3Ld5YRDQfJtE4TZdGQebJ15eYTAYkjsxs2nACHOYBbunSpbgNEgBkrvbDfeei++eYbDUMEQLGNAViEUbr11lt1G4AjPWtEE9w8JiZGt4E9/pYvX15Gjhyp3juXN/b555+rR41A42xThis3S5YsWi9WrmGZQe95OXPm1PpSPtuUzzmc7w2+nlZmAGcyRbkM4EymFJCOsftLjh05pqtObFu9RRYOmiNT2sXK4Np9tMu1W6kO0rlYwpJizITtVaGLDKjWS2Z2myorxi/VwMRMoAinly6cAAeQhQI44IxVaHbs2KFescyZMysLEE8SSKpUqZKu/9ykSRM9P3/+/LpmdOnSpfVcIK5r166aluMAGOfjiWN7yJAhMmPGDKldu7ampxzWjCb9xIkTlT0KFCig26xOc9ttt+l5HTt21GN0AVNnvHykYUlCymd1HEAuHF44AziTKcplAGcypb5cNyzj7JgdO6fvDF0LFrijG9bFr+Nvhw9bSufCrWXE1wMTZsfGw932tVsTQp0kM0gxY1xXTlh2ynMjFeDwhtHFCpTgjWObblSgDWAClACrjz/+WM+n6/Ltt9/WiRFvvfWWtGrVSgEOmHrmmWcC49qANc53aTFADVh0AMeyf3TBVqlSRbeBO8rns3fpQ9JUqFBB97O+tMuPCRl4DP3Xm9pmAGcyRbkM4EymtBcgBcxt+22zhi+Z33+WjGo4RL10hDfR9WGLt9Vnk79D6/aTye3Ga1gUlhzDy+fG1Z2OhtbrL93LdZSNC9cndN+GUHoHuKpVq+r5L7zwgo59wzNGOiY30IUKwDGWjny5Tmavkr5fv36yZs0aNVa44Zgf4CpXrhzwwN100036uVevXpoXXaR03+IBZP+DDz6odSO/hQsXKvj4rze1zQDOZIpyGcCZTBGiE+Prjhw4ooDG5IflY5bI7J7TZUjdvtKnYtcA2MXEG7Nhe5TvLH0/7yYTWoyRtdNWyfY1W+XA7gPalev1tnUtkdBmEv+O8XoLB8+Vv4+fDHLhAjjadefVwphAAFQBTkxiuOyyy04L4BjrdvPNNyuoAWdA2BtvvKFQ5gAOuHMzQwEwYIz9TJRgTek77rhDy3L1cQDHcoBsA5oDBgzQ9Z3dedTvvvvu02Os/cx+JjaQH14+Jkb4rzm1zQDOZIpyGcCZTOlDGsfu+F+63usfS36XuX1n6hi7oXX6SUyxdtKZSRRuVizrxhZrI0O+6iuzuk/VcXeu3XTWvUzH+Hw2JgK9cAHcpk2bpE6dOlK3bl01Ps+fP19B65dffpGGDRsqkLD91Vdf6RrQnIPnq1atWjJixIjA2spwApMTChUqJF9++aV2h3Ies0Y5t3PnzgGA4y9dol9//bV2v1arVk22bt2qwEaZ1INt0lEGZVEO2/ylrmXKlNGZqq588iMeXZEiRaRmzZo6OzUcQYYN4EymKJcBnMmUzhXw3B2W/Tv3yY6122TpqIU687Vvpe7SrXSHk+DNGWA3pG4/WTR0XsIqFmECOLOUNwM4kynKZQBnMkWRTsDcsUNH5dDehG7YJcMXnARuiaxke50VGzdjtQFcFJkBnMkU5TKAM5miW8vGLDoZ2uJNgw/HP/t9Pu+qkySmdpooGxbEyZ5d4Vk5wCxlzQDOZIpyGcCZTNGtcU1HaHvZvXQHGdlwkCwZuUA2zF8nezbtSghNQoiTE+PgzAMXPWYAZzJFuQzgTE4MwibsAS/ppOKFMUD7119/TTJNMJ1p+mACMJwYyE6IhrPJt0WLFnLs2DH/7rMWDSgzFUM1dB06dNAln9JCdKey+sPpfE/hBDgG/y9ZskTtdFYu4H796aefNCiv/9iZGBMMGjduLD169NA6+I97jeMspzV+/HidHOE/HklmAGcyRbkM4EyIhrtGjRryn//8R8Mu0ACEavAJ2cAak6GOBxMvfeJyeQEsOZo9e3YAuJjhN23atDOqh1833nijhoxIaRHeggCyR44c8R/S+hJMljAUkaZwARwQ1alTJ3n++ef1uwGoCAviT+fMzR4lpAgQ7maVJscOHjyoqzs89NBDOuPUf9xrhClhaaxPP/1UY8v5j0eSGcCZTFEuAzgTIlQDkeppSImv1a5dO10PEtFQAU40CgjQI+YVIMJ7GYhiGSLvS52GkDAQwBYQQwgGwi0sWrQokMaJxhevHuXoAPz4c9avX6/nLViwQP+yf+PGjXLvvfdqOAg+0x7Q+FIucbbwyKxatUoOHz6sxlJGwAjifBrfSZMmaQNE0FXq7mJ+OZGOPNjHNZE/RmBZlxfiXLww1N1BKedyXmxsrMIqEfhd3fFssiQTZbP97LPPaoDaSFM4AI57zq2gQNw2Yqe5hehXrFiRKJ0LJeIAjnQtW7bU/e6YN2+22R8sjIfbz/+XAMLcW9wjnONN7/LgL8eJ68Z6qQ7gXHp/+d5t/7G0MAM4kynKZQBnQgMHDlQPBOBG95XzahFZPk+ePBofK1u2bApODuB4kbMmJOtM1qtXT1588UUFAACL402bNpVcuXLpOpMffvihBmQtV65cIG9Abfjw4XL33XfrUkNPPPGEds0CYpdccokuOo63j8XB27Rpo4BJkFTWt+QzMbooi4bqwgsvlKJFi2ojTHqi7eMBI8AqIEqE/kcffVRje1FnrglI9AMc14RXhwXO8fDhocubN69eH4FhATIa/KxZs2qd+U5Y95IGjSWYbrjhBo0zRtr33ntPQZKyChYsqN191J/G3gDuH+P/A4gBRkAR2/xgANAcrJUoUULBju+V+wgApwuT8z777DNdG/Waa66Rl156KRCPDYjm/uMcgvtyDzmI4p7kf8H/95VXXtF8HMA1b95cg/Nyf5CeFRiuvfZa/X/zw8QLcKTnXuNeJT/ub/LnPPJ7/fXX9TyOTZ069aRrT00zgDOZolwGcCYExLB+JI3kq6++qo04jTlrOuIFIRo9Y3/69u0bADgCqQIhNGKAHdHzgRNAavr06QHPGw0yXi0giONO7P/f//4nc+bM0UaBBpOo+DTAQBYBUIEl0jz99NOaHw0yDTufCaLK+CcaKjwo/MUrBvzReNPI/9///Z/+pQGmvgAVjTd5ck3BAI46tG7dWvdTD66N/XTv8b3gFWSNS/KiUb7rrru0wabc+vXra1sFeOKB4zy63CiL8gE5PJYGcP8Y5QFMeOCAMVZH4PtysMX9BzTxP8aALbpbHcAB6W4/fx144fF1+zBAznnW/v3vf2t5/G84xgoLDuC+//573eYeIh9+MFA+QXy9AMcPHcbNUYYrhx8SQA7nAYd4FDGOn2p8XUqbAZzJFOUygDMhGm5eyhjQBfDwrmU5IDwIRKrH6B7EM5UzZ071nj333HOBYxiwA9zxvvaKMWEAF0DmRMNMo+m6JvHI4UUB4IAlB1Z9+vTRZY2oI140B4F44BzA4Qmj7nRVkgeNDA08EEX3J9fhGh3GVuE1CQVwrpuW9Fwn+xBgy7lMPujevbvuAyTx+tCFC0hQFnJdqFwvYOe+HwAP75IBXGKj257vD6gCnoAhFqCnLk8++aSCFvAE9E+ePFn/564LtVixYvo/mjBhgp7LjwwAirw++ugjnRTB/xPwArgAaY6RP/nxv2PbARweZS/AAYLBAA4ewVv7yCOP6LPAkAF+AHGM+wSAo378oKHOwbpxU9MM4EymKJcBnAm9/PLL6lmjoWFMUf78+bUxY7B2gwYNZPHixQouNEykA2xo3PBqACSAC8sW4ZUiHY0W490AMRo2wArg8gIcafF2sOQQaVjmqGzZsgpwNJJ0XTKOjYaQLlC6Xs8U4OjWZKYqjSwASX545ZwHjq7QYADnxvT5Ac51zwF+eOLopsUDB8iRlkkgwAhdepTNNZKW74TvEIBjHwCHNzHSFC6A4x7ifgL0x4wZo8AGtNOlz/+I/wmwRVr+/6R1AMf/lXsASAO88M6xiD2f8abSHY7xwwK4Yywix6ZMmaL5cb3eMXAO4KhLKICrWLGifmbyA+DJ/54y+MuaqdyH3LfcD3iF/debFmYAZzJFuQzgTAg4wqvEOC3CX7hxavwdO3asjgsaNmyYbgNNvXv31s8ADWOLmjVrpnDnhEeC/cAK6WhMvDNIvSIt4+XoOiMtjQ/eK973TK7gr6tPz549A949GmyOsc1+V07btm21gaGhYXIE9eIYYEo3MNtcCw0353nrxHnso3HmHK7THR86dKheDwIOGR9I/g7wgB9AlDLoXuMY+zC+059//lknUZDv4MGD1SJNaQ1wABJQgAeMHwNAOfcgYAQE4w0uX768Hq9QoYL+bwExACkUwBGixf24AMy4t7gX33zzTU0HpHEeYy75/9Jt6+1C5d6gPLpO6cZnaIAf4PCy8Tl37tyalvGjjN/kh5BbK9UAziMDOJMp5WUAZ3LipQys+F/ONOre/a67FQEjHMMcZCGXlxcE3WxNv/zl0vgQygTPWLB83Tb58Rnz18d99qb31tOd679W5D3He9z72ZXj8nFy35UDNyd3jW4f26G+j3AqrQEOo12nyx4QAo6ANz7jdaW7Ew+qd4wZf5nEkhTAkS/jEMmH/OjqJG83Pi5Tpkx6Ln/Z7wU4vHccoywmP/A5GMAB6YA5Zbj01M3NTjaA88gAzpSexEu9UqVKOj2ecRj82mbW0pmKfHhp+McUhRIPFi+h05UBnCnSBEDQHRsshpopdRUOgMPwWjETGmirXbu2dnW7SQwY3ZncE5g7hicVDy1eTbaZrIL3jq5tzmEfE2R4DzNuk25+lyceVLpKv/vuO/UM01WLN85NNKAMABDP3dy5cwPeU1emN5AvYzkBSmarunA7lEOe7AcI/debFmYAZzIlU7wICWeA+58ZeW4avPMO0BXDgG+3jbxdRTx87p5nmjtjcpz3gAeIl5X3lz9ibAgDcplm7x5e6sFD5/dkOBnAmUwmp3ABnFnKmwGcyZRM8SK85ZZbdJA2n/G+EWHchUBgcDgDvPll6LpbChcurGDHw8EvP0IvEEeI2FKMtYiLi9NflLjviT3lH1PEr0RmBTKIm/PJp1+/fjpgmgHidB/4ZQBnSq683YzBfhycrs7m3NNVJHZXRqIM4KLHDOBMpmTKeeCKFy+uA3FLliyp4QSAN4AKFz2zqog3hYuflyag5sb9MLCWeFFsv/baazqjD7gjYKQbU0F6wMyJBwuvHuEJ+Azw4Y2jHJabYWaXC9ngZABnSo64R4kRx/3M+CViqyVHzEolyGlqQhx1ZSxTapXBd0AXYFIiDUMhIh0kDeCixwzgTKZkygEcoQeI/8RnQjRwH9PgufE9PAxEsGeMBw2ZAzi8bAQJJT0Dupl1xdgOoI1QCoAZfwlL4BUPLt46YA84ZJCt288MKfLwygAu44p7i0Hi/GWgOOK+ZSalm1kJ9NBdT/c8Y30cBHGPZsmSRbfx7LrZmeTFDwfGBzmRJ+OIOMfNGnUC4JgtyI8Mt2yWV4TeIA3PhQv3sWzZMvVEe2GIfNnvFSDCDx/yZkB5MHjiPK9nmrFLXItbPiuYyI/yuXa+P2bpMs6VZ4wyaNzwjnOd/KBiHzMbCWlBnpznvPJ42SNJBnDRYwZwJlMyxYuQX/0syswL2y3rQyOWL18+DVXAw4AHjW5WGgy6WBkvB7gxLR0PHPc93agAHOcCfwAhL3+mx/snRvDgAnCUyWQGZkFRDrG7mHHljcOFDOAyrgAeVjhgUXWC9RIGgdUYvv32W41dhteY+w/PLTHZ6O4nIC4NA/ci3mD+MgMPQONHCMMGGO9JGBAGpbdv317jePFDg1l+RNz3Qgv3I3kSDJdyOR+gAuZ4HhhqwLAAYq0R0oFB6nXq1NEB52+//bY2JpRBYF5ic5EPswMJ6kpMLtLyPFBXL8ABasTr4sdRoUKFNNYXHjJCgPCD6pNPPtG8iN/mFaEs3HJZLJvEIHjyIAYYE5UAOp5RnmnCYOB1B/h4hglHAehRNnHrqD/fMd52nttIkAFc9JgBnMmUTPEi5AXOixzxcqeh4uUNmPFr/IUXXtBglW7tySpVqsiDDz6oa0PSkAFz3PfEL6JxJA3rKjIZggaVRo3uWa/In4YP8ZAxHo4GCS8HEcv93UgGcBlXABzd+cRfo9Fm2SgXKwuQoYuUlzVhGBi7CYiwhBSBVrkvHcAROoEhAd26ddMZeszUcx4x7lEAinyYkQfQ+AGOpYaYqUcaYrUBfsAi+6kLceeAMbppWV+U54fzCMRL0Fw8y3gH8frxbBDIlRheBGwlHd4yP8CRFz+wePa4No5zHtfNkl88R8w6JLCwV3xfACX54l3jO6F+DJXAc0dwWAITcy1AKyEnSENerjx+oAGmgCrbAC6ewkiQAVz0mAGcyXQWonHzNhrebR4A7ml/t47b5x0Y7v3sul9I54cxd9z7cLFN2lAPnAFcxhWABezjqeWeIlYWk2NKlSqlAIS3iZc1XjMn3r/AhxuP6QU4FqwHqtx96bzQBLxFeIvxRPsBjh8X7hy6a/mhwQ8cvFUuH4YCAF00THiwOY73mlANnE+dMWZ94zW7//77FcIQdfR3oXIunjKnhx9+WFdoAOD44YTwejPRyCu32DnebMaVIpZqwoPHc4YXkcDEiO5SAJauXzyUDKNw4165Bs7BA8f3CRRHggzgoscM4EymKJcBXMaV60IFSgAowtXQhYo3C68cMAP84IFjDBf76SrkPN7HjIFzXagA3Lhx49SDFxsbq7A1cuRIXU4KDxMwRFcl3bF+gMML3bFjR4U3xozioYqJiVFvGt4zhgqQhjzxOHM+nis8hnjdACCGFcTFxelnGi68X9WqVdO0DGOgrl6AI1+gjW5ZJgUxnpRy/QCHt80r6gW4AaqsCECeDuAQ0EaXNMc5F7gF4CjPARyhfvCyE3AWzzpA6J9cFC4ZwEWPGcCZTFEuA7iMK7ofgQzGfiGABZABNBivRTc9710+A1CM/cIbB7RhjJNzgAfAAWMAGkMFSE/sQox1SBlOAPDgGeMd7uQ8cIwPdeWyj25YgraSF+PFmInNUlaNGjXSchl+wHqmNCTkR9cs55MeeOKa2Afkkbcf4Kg3QMgxrE+fPjqBglA81BkBVww/8AoPH9eGp5Kxa4Av0MZ4OEQeePsoFy8d1+Y8cNQBgKNs1kGlXIZKcB3ufxBuGcBFjxnAmUzyT7dlaitYl2hyRV6nk58BXMaVu6+994nrgnf7vd2P3q585J4Jfxe/O9/J5ROsPMQ+zD/kwOXlzvOWF6wuofZ5z/XLpfFue6/Ff57b57/mYPX2lhssjT+fSBB1MoCLDjOAM5niVbhwYSlYsKB/d5LifuVGP92XMw8GA6FTSgwCZxbdqco3gDMlJV7UjA0zZQwZwEWPGcCZol786mc8jVd0czDg2t2kdNe4rhSAiOP+Lg/SMh7H/aKmu4exLXQFIV6MDKomnpZXdBfxoDH+xz/ehmOcx73vHyNDGYxdov5euaCi77//vg7SJh35hFpP1QDOZDI5GcBFjxnAmaJawA0xpBhoTdwpbkpuzrp162qMJkJ/IC/AEfCUAdN45RyMuXyYPcfAZPIgDhaxqQjIS74AHWFCGFjtYrExk69hw4bqLSPEgn/GG2N0CEtAnizwDDgiyuvbt6988MEHOqPNdc0wpgloZJxO/vz5FeA4xizAjz/+WNP6HzwDOJPJ5GQAFz1mAGeKauF5A8y42ZkxB1gRZ42YTcRoAtJmzpwZADjuPWbtjRo1SmfiMZgZiKtVq5aGLuB427ZtNT+Ark6dOjr7jKCihGUgOjsz3vC0MaOPrilm1TEImuW0iGflVfXq1RXqqBsgxwBvBkQTa4u88doREJjB5jwbBEpl9iCD0S+88EIddM4MOcI7EOuKmYT+SPcGcCaTyYkfhzTQ/FiMZnNxDaPZ/EHbkysDOFNEil+bBN0kzAGxm7gxmUUHrDnr3r17AOAIMcAKCe4YsAfIMcPO35UJqBGjihudqO4sfYVHjvOIyk4kdwDLCRgjSKhXeOxYfsuJmF1r167VAKuuPK6BgKcAXrNmzQLeOGJo4YHjuSH4KfGoGMfnf/AM4EwmU0YS70R+nJtOTwZwpogVbma8X08++aR6xYAqxq1hjCWjm9MBHNDVsWNHHevGcTxt3I/Zs2cP/NpxAOUFOOJQjRs3TvPDOI8uVUIe8IsXo2vWH7KgatWqGqcKkYagqCzVQ13dGDzyB+Dw4hGc1I1zw5vnxsBRHhHlSecfu2cAZzKZMop4H8bFxWlPiun0ZABnikgxqYB4TIx5YzwZcMNYNPYR44mYWKQB4PCe0f0IrLG+aOXKleXxxx/XG5kYT8S4AgRZ8gdI8wIc9y0xoVz0dTxyuLhZuoeZoqwdyfn+LlTGyxHbiv3EiqKevIB4BogvRR2pK2XxfFBfli0imCmwR7R6uoLx3AF3dLG66PROBnAmkymjiGEsLFdIgOVTzdA3JcgAzhSxYsAuN6X3YQZyWOfQTVJgvAT3HiIdx/3nkA8zV7m5EZ47IM2J+xevHR40r4A98nfHvaILlaCi5OPKdyJ/6ugdqIr3jzozO5W/7hx3Pd76OBnAmUymjCDe1/yQPuecc9R495pOLQM4kykZYqICkyhSUwZwJpMpI4gJZQSlZuUQPHCRsv5spMsAzmRKhhYtWnSS5y2lZQBnMpkyghi7zDq2TOYqVaqUjB071p/EFEQGcCZThMoAzmQyZRQxlpjwTTb+7fRlAGcyRagM4EwmU0YQ8AG8rVy50n/IlIQM4EymCJUBnMlkyghizBsz//0xO01JywDOZIpQGcCZTKaMIus6PXMZwJlMESoDOJPJFM0ivBPx30zJkwGcyRShMoAzmUzRKmJjsvQga1GbkicDOJMpQmUAZzKZolULFiyQp556ShYvXuw/ZDpNGcCZTBEqAziTyRSNYrzbO++8o0sgmpIvAziTKUJlAGcymaJNbrKCTVo4exnAmUwRKgM4k8kUTWKNU7pOTSkjAziTKUJlAGcymaJFu3fvlixZskjRokX9h0zJlAGcyRShMoAzmUzRIKAiU6ZMsm7dOus6TUEZwJlMESoDOJPJlJ7lhTU4wZSyyhAAR7wZv53OrwDS8IXMnDlT3b/pScm53tPR9OnTZerUqbJjxw7/IVMKywDOZDKlV9HmTJ48OUmgMJ2doh7ggJfbbrtNzj33XDnnnHMCtnTpUn/Sk9SzZ0+5/vrrNf29996brqCFhYG91/vII4/Izp07zwrkODdHjhxy4YUXyqhRo/yHTSksAziTyZQeRbtbqVIlKVSokK1vmoqKeoADOho1aiSVK1dWiMuVK5fUrFlTtm7dqjFoNm/erGDD7JhNmzbpZ8Sxm2++WeGnTZs2smfPHs2Lm3HLli1q+/btC5TB+ezjPPLZvn27HuM89lMON7VLz769e/cG0ru8nDiPc1hqxBsrhzzYv3HjRk0TSrlz55YLLrhAihcvLgULFtRrv/XWW2Xo0KF6nOug3A0bNpwEptSP/ydlUL633gZwaafVU1YmANwwAziTyZQ+RNtSv359admy5Vk5DEynVtQDHNq/f7+CCBDzySefKPhwkXPnzpXbb79d3nrrLXn//fflxhtvlLx58yowDRw4UC677DIFuDfeeEO7DgGZIUOGSPbs2dUj98UXX2g+hw8f1s/si4mJkcsvv1zKli2rUMYyITlz5tQlQ2bMmKH14Uu+5557pHbt2tKpUye59NJL5bPPPguAEnmWK1dOAZL6tWvXTh8ELDY2VvO65JJL9FpCjSsA4K666ioFVWCSc84//3ypV6+eHh82bJiWSz4vvfRSoi5iznnsscf0OoA+yuQ7MYBLfR09dFSOHDgiRw4ekZWxSxXgFgycI0cPJuzjuMlkMkWqnIPiwIED/kOmFFaGADiEhwyAA5Qc9DCWC0Bjf5EiRRTg2ObXQ4sWLdSDxfZdd90lgwcPlvHjx2taYO/ZZ59VkOE8vjT+uryAriVLlii4XX311ZI/f3555ZVX5LzzzlOvFzf2v/71L00LKL388st6Ludw8z/zzDO6nTlzZnn33Xc1LTAIRHJOgQIFpEKFCprf//73P9+VJgiAu+KKKxQaOe/aa69VWONXUZ8+fTR/ulk//PBDvY6LL75Yr3nXrl0KesBfvnz5FEpJ++9//9sALg00r98sfX66FG8rXUq01c8xJdvpdsePf5UpbWP9p5hMJlNYtXz5cvn4449lzpw5/kOmVJQB3AlAA04AN+AFjxvbrgt19OjRCjZ58uQJQBPQBfDhpQPIADiO0b3JFwhwsQ3wAG+vvvqqlk93Lh5BoKxMmTL6hcfFxWk53bp10y5cPpcqVUq/U+pBXvyiKVGihOZJftTlyiuvVDALJgDOAaWz3r17y8GDBxUaOddNbpgwYYIez5YtmwwaNEg/r169Wo+TnjLJizoYwKWuDu4+ION/HhV4jrw2uHZf2bF2m/8Uk8lkCpvoLbr//vtl+PDh1mWaxsoQAAeIAEGAScWKFbXLkxvNAdzdd9+t6b7++usAwKFbbrlFjwMrACAL73J82bJleq1AzsqVKxVyADiOuQGbdNMCPoULF9YJE6TnPL4n54Hjxqdrktg4lNOlSxcFRT4DiIxPo+50gQJPjGejjBUrVmjZ2KpVqwLX6ZXrQqXrmDFuzp3Ndbvxcfyj2XbQRtcwDyGfqbMXRKkT34EBXCor/v23c/0O9bp54S2mVDtZM3WV/P2XvSBNJlN45aIbIP8YalPaKeoBDkAZMWKE9OjRQ8GEbkGABcA6E4AD+r766ivNo3Xr1rJo0SLp1auXwpvrQvUCHN8J21mzZpXvv/9eFi9eLM2bN9djnBMM4Dp37qzHLrroIj1eo0YNdUkzRo/ymzRpoul++uknmTZtmvTv31+hKpiANLpvyc8vImGTD12pdNvSZUtd6erlujhWrFgx9cxRZ+fB44E1gEt9Hdp7SGJKJAa4riXby/6d+/1JTSaTKU1Fm9q0aVOZNWuW/5ApjZUhAA6IAkAAE2d4mIAgP8ABTn6AowsVAWdPPPFEAGiAnsaNG+uXBhRxrnfKNN45PF0uPR4xwNEBHJMQALj169frcTxw5MU4OSDJncdYNtIBUHTfumvBM/bpp58GyvMKb2EogOMfzHWQh7uOAQMGBDyTbdu21bxd+XwfeP1sDFzaaWTDwYkArtdnMdY9YTKZwiaG/jDMh3ZlypQp2ltkCq+iHuAQEEMXotecC5jPXDTiOkgLyHjP834hNKLcyHQtuvMQ55De38iSJ+kJGeKFO9K68CCcQzne4+48zJ+nyy8YnDmFqo8T+7kG8vFehxPncpyy/PuxpG4S09krbubqf7pRS7aXJSNsAWiTyZT2cu962gPAzeK6RY4yBMCZTOlN+7fv1ZmnPEuA3J+/J8QnNJlMprQSQNCsWbNEsUBNkSMDOJMpAsWLsvfnXfVZ6lamg/x1POEFajKZTKktxmwzXIYVfObNm2fgFqEygDOZIlRLRi6UzkXbyMxuU/yHTCaTKcUEoBHpwDX+jNVmWI+BW2TLAM5kilAd3ndYhtXrL7s2Bp9pbDKZTGcjukZpt5mo9uCDD+qYaFP6kQGcyRShott0RqdJcvxI6AfSZDKZkitmkrKk4+uvv64hpMzjlr4UdQCH25eb0szMzMwssoyZjKbwyEVQIN4oSzQ6WDvbWaV47eLi4pIEhzMRXkFWGwoFk2vXrk0U/5Rg9hMnTtRrI66pVwsXLpTZs2cn2hdN+gfg+kcHwPFP9L80zMzMzMzCb9ZFFz4RwP7OO+/UAO1bt271H062CDZfqVKloGGt3HKNfgEZ7Pce5y/7sUsvvTToeahy5coanJ/jgNvDDz8sY8aM0baf9b7djFm4hOUwWaM1WmUAZ2ZmZmaWJmYAl3YCcNxyjIhg7DNnzgwJVckVAPfFF1+cBHDEIiU4/cCBAxUuEGXDCnXq1FFv2S+//KKB66lPv379pG7durJgwQIFsVB1dACH55Bxe0OGDFEGIf1NN90UgFNY4Prrr9d8o1UGcGZmZmZmaWIGcKmv3bt365i2LFmy6BKP/mDsKa1gAAdM3XbbbbrcY6tWreShhx5SPgDQgKwZM2ZIqVKlFNSmT5+uIEceQF2jRo10tZ9QAFelShUdt/fiiy9Ky5YtEx379ddfdclLuuo7dOigy1j6wTKaZABnZmZmZpYmZgCXsgJy8EQBSTExMbqPRnzjxo260k8oCEpJBQM4/s/33XeffnZdnQQEvvfee7W7FZEeUAPmsmfPrhyBuJ6kulCrVq0qjz/+uHYFX3zxxQqsTlz7Nddco+uUs4RmqLXCo0UGcGZmZmZmaWIGcGcnN04M0fX41ltv6ZrdjG9jOxwC4D7//HOFJbfEI92ndF/iCXNdpuPGjZNnnnlGHnvsMQUN1iK/6KKL1AP3zjvvyKxZs/Q81ilnP92tbDuwc6ILlbW4+S44Fyj0TlT4v//7P7nuuuvk5Zdf9pwVnTKAMzMzMzNLEzOAS56AFSIsMKYtNjZW9wE3dBkyKzOpRju1BTzlzJlTSpcuLeXKldM6ARKvvvqqesvoxgUyd+zYId27d5fbb79dmjZtKrly5VIPGiAHkOFVa926teTLl08BDk8c4+fwtHmFB2/48OH6neBlpKvWO2u1efPm6sH76aefEp0XjTKAMzMzMzNLEzOAO315uxDLli2r3YzFixfXBeUjSXjcGLuG4T0DMoEIPGhsx8XFKVggB12TJk1S79zKlSv1fPavXr1aZ5Nyn3Ae+wgRwrV7tXnz5kThaHbu3KnpHbgAfmvWrNFyol0GcEEMVzB2qn2hjHXkGLzp358Sdqo6nOr4mZq77uTkyzksz7J9+3aZP3++zg5i/x9//KF/2ebhS07eZhnDgt17/u2kjLE3NHj+/WdjZ/NMJNfSqkz3zPr3e4/7952JGcAlLb57ZljiUSIEhtPZxmpLj8LjyNi+aJ6EcLYygAtiuIT5tcPgSLb5e+ONN8oDDzxwUtpgxmDS8uXL63py/mNJGS7mL7/8Ul9y/mPkxTiHK664IlAvv61fv17d0gQv9B9LjvErh8WMzz//fLWrr75aB8f60wUz6kh8nsyZM0v16tV1ltHy5cv12A033KDuf35Z8V1TZ34xhbous4xrdKkUKFAg0bNI98jp3C8cr1+/vs5EO9NnkW6d8ePH6zPg3U+D4p4H7Ntvvz2pHjzHw4YNkxYtWpyUb3IMaKJb6YILLgiUe//99+t34E97tsY4qty5c5903RjvpTx58uh73n/Np2sGcP8ITxJdgdyjvFfRyJEjpUePHoGwGCZTUjKAC2J4jOibxzvk9l155ZVStGhR/Qx88KvALfjLX74495eXlIMwXnSk4RzvftJRV/a7OvPiZwBmsNUk8FYxPZqXOC/XYC9Qpl/XrFlTXdgcd/UMlpYycDG7OviPY5Tz5JNPagPIDCIGnxLXh/3Un7+urnwmP9dQku+tt96qkMaNxTb1oDHyA1ytWrUUXM/2171Z9Bmxq+64447ANveSm3nGNvcR9557trjPuAf5i3HMwQj7uUfdOe5e5RnhPnbPMHn37NlTOnXqpOm99QEoS5QoIT/++KNUq1ZNZ7z5ny/gjR+ADLBm2z0bwX6YYZRLHbBg7y+eizfffFODsDKuh3FFOXLkkBo1agTKJm9/GVwL10r+/vL87xj3juI9wzvIfWfuPeHec02aNNHrBj789Twdy8gA5wUy3vWFChXSwfb8wHUAh6ctI3T9mVJGBnBBjBcVs3smT56sL0j667Nly6ZgxAuU2DV4wp566in58MMP9YVNzB0gD9d3gwYN9DgvK+CE9Jdddpn+sq1Xr57WkZkzgMzll1+uDRQvb9Lw65p9PNBerwHTomksiKPTvn37RMeoIy9ePIQO7j755BPND6OO3vR46qgr5VBP6kf5/u/BARxuffKkK+rZZ5+VH374Qety9913KzTSwABrlAXkMS2c6NfnnXeeThP/+eefFX6nTp2q+eDNdADHDCbKIV/iA/nrYJaxjfuFe8h5fbiXPvvsM72HucfxxjFAmphQ7dq1kzJlykixYsXk2muv1bT58+dX7xXP4ksvvaT3KPf9o48+qs81IMLzx/PAwGmeXzzYfKZcnntvfQA4liLiecMyZcqUCOD4TKPct29f3cZjR10ol2fE+yOFsjt27Bio01VXXaXPjR8IOYf30RNPPKHHMJ4ZyubZpE58Jo+77rpLu+A4DxBzeQOcpP3mm290H98bXkbSMQ6JfeTBs8l7iu+LgKruHcI7guulbMJD8L2eqVcTywgA5wU1GlTikTFAn/8v9y0C1BhKkh7EvUb77saqnYkIsku7eabinqdMN+zmTMs9E5G3C3ac3mQAF8LwDP0/e+cBJUXRtWGSYkARJZgFBSMSJCmCIiiioKKighhQUQxERVAQUEDJKKCICiKSBAQk55xzZglLjgsbQVF/P7l/PzXW0NszszuzNMvOTN1z3jPT1dVVHSq8devWLaYAMcyEqG3dulWNQmnoOU9DRONcr149L4HTjSskjUaTgs/qHIgL1zCtihaNe4T8EEb8hx56SDXmaP4gQP6egQYXx4cQO9JkZY79PNoCpm5pVJkGgcyhnqfxYLqF+9f58Tx8bI6pIGg0AhE4OoFcuXIp0JBjLNq9e3fVGHG/aCnpSH/44QdVWatUqaI6R+4DgsrycfJ89dVXFSEmXSeBI2zixIlqilaP/A0MNCjXzz77rGrU0UBTByhnaKEoWxCTN998U5VBfjt16qTqJ+dq1aqlgIG0Jkecw4M79nF0otRpyt3MmTO9Gm5Wy5Ges15AlijX+Jhi9Rtl3X6eeoaTUdpD6gYDHTTYlO8XX3xRTctqLV+TJk0UudPaLdwuMNhKj8ARRvyHH35YmSWQBtNw1D/qGcSTwRaaMp0G9Ry3CpBV0kADBGFjuo52TpMzVjRC4NjY/I477lBkkHRpX/gGpEV7xsAvkOY+LUQSgbOTCr4HKyYhyLxX3o0OZ1oUwpZWx5oVhX4dTTQDEr499YQpdP3ckB4Nu+gFDAgmBpQlfyRJX+skZxxTx1i9Sp/HoITyTb+ozzu34NLHzjx0mD1c/+c+OQ9vQavtvI9wEEPgAoAGjkbq+++/l5tuukmRFRo4SIyefpk3b54icJMnT1aNOdfZCZyeEtXX0iFoAgfBIox00B7s2bNHxWOk5u8Z6Fhq1KihphoZDaMJ1Odo4CngdBI0kIzyaNRpmAGEj0qk74+OT49s6GSomM6OCvCcNOb4+GHpNnZs5AWBo7MhDp0pHVPp0qUVyIv7JB8qIc9LvPQIHOdo+Pw9u0F0A1KEJ3cGVXQmlC2IE2Wb/9QbtG2awLF1DuF2Akc5QxtOeoSjpdMEjsEX9QY/VdQzynhaBI5OiQEUhA/tH22fJlZo79BQ64EUdZU6Qd1gIAUZ0vdWtWpVpZUjLvnTztCe6LQ0/BE46ib3rbVnaPTJg3YF0oibhmHDhnnTIA8Gh7feeqs3DCP5bt26KVKn2yjeB20WbQn2q7xj0sUWlik/4uCvi7bROb0cDMKdwNHJAzrJvXv3qoE3whZVfAfeFW2efdVluC5A4JmwT2b2h/JDmdJEhzJPv0edoR/UhJWyOnz4cFU3eEfUlTVr1qj+hzKl3wVpEIe66tTQcY7yRVmknHMtJgn0kZxDcw6xpE4jKBVGjx6tFsqNGTMmFYHhHPlyDddSZhmA8DwMXkiTOs3OFdTdcPtWhsAFAA0VzB/NV82aNdUHJ23IBw0zxIUl3ZAXO4EDmsAxsqYgsvWH7nQ0gUMDQNxgCByFHC0XHRhgZMIUD9fqex0/frwymiaMRoX7pPBTobAjIpzRP9oKRuLcM9dSCRixc69oKexTPM4pVB0OgSN9HcaoU2s96GwZxRMeiMDZbeA0gUPLglbPaOAMnKBcYf/FoIQBDOWOOgCZo7xCKOg4NYGjbDsJHIMapkN1naD+aAIHcSKP2bNnKwJHnmkROMoqaZA+5Ic0dF2grjHFS/tAGPUfGyfSpzMhjMET9QR7MtoX0uL+IHsvvfSSqr+QA52mk8BxTF2nU6NeQxx4LzwbdQ9SR12GiHGeQRrtQ926ddUgiTDi0L7RJuBcVdvrQTAZtPFMtFeEc++kodsbfHbxXE7bumAQTgSO5+N90zHaFxlAkPlW2EKioYxUoU+jP3IK/T2DfhzqQqToP1BWUP6ok9RH6iDlDxMbSCCkDkUAAwZIEjad1CXqGZpeTYQRTeB455QX+h+UDnwHyj27PkAan3/+eVVn6Y+YIULzjaaYtgDSB6mj/2LxH3WQARRlkLx5NsgnvIWBDgulcFmSFvnJimIIXBrgeSjANPQ6DJZOR0Djxj5sTZs2VQWBgqIbXAz+KZSaNFFwaOgZwTCdwj1WrlxZxeUaGlYacCoB9jp2EkMaTLHaSRQjDZwkQvp0GlyrOyLCaGi4Txpp1NA0wFQCplTpAHguOkU6Bhp1OipG/4yKdN6kha2L1tZpMHVMJbGTOtJBI4CdEdM3nGP0zjPzHw0e5JP/TB9T0Oh0eJ/kwzuCKNsJpIGBBnWKOqSN5ynPdBJMZUJ6IEOMqGmoqY+UM4DtJQMt6hEdBnWE8kdjj4aBeoV2j/MMMLTNG40+DbvT2J8w8uReqD90JvZ6QFlmgELHxTGEjvpN3aBDIwwNAIuNyJOOhjrKlDBaNLRcaDywWdOEiTqBbR/5kS/1mPqm88VtEcSVPGgr6NQ4h1ZeP+/atWtVXAgZ+dE+aXchvEveAc/Fu9L2bQwoqcOkC1mkgyBdBqe0KfbnDhZZgcDZp8qYTuPdoKGhraIfQxhg8t74LnxjOncdP1pWiKIdpp9yCiQJO2ytrUJTS/8DSaPsauEdaQ0c/9G0Ub7p/7Jnz660wZQrNMGkab8Oe2hdx7RWnHdP2ecayjB1lSldCBykWk+NohyB3KHhRtmiNW8oHSjX9LEMdLQw2KHdCEcxBC4d+Guk7GH6v25sdZj92H5ex/eXhjOdtML83Re+59iShE5Dx7Ffq//TMNPZQagY0VDYdYfnTNNfmD2ttMI49ve89ncBqFDcjzM9AwM7nOXLGeavDDvDdJl0hvn77w+6TtnLthNolbEZQnMeKF2upR4yFQtxJC4dIZoyfd4ZP718nXnoMGd4etc7z+s8IV8QPEisM06wcJPA6alM+h+7jRP5MLjFKayenqNNRAOEdhECqld6QtQYkLK6nm+hpz6NeDaGp0wyyGYggz047whNMgMjBvYM/LXHBt4xxJ7vwXtFEweB43pEEziugaBR/vkP+bNPXWoNnCZtDOzRuJEu/RuDHq6jXJIPShG9yAblB4SQARA2ppQB7h2NMnEot2jkKR9aDIGLYAIXTuAboFmgQDrP2cF5Fgxgm0NFYcTujJOZYGUtldkZbmAQrmBxgV2b7Q9MEWFigIYL7QCaBOqwM15WAR0mdoR290qhAgJHB62hxR7mDKcTp1Oik9fn+KWDZxBK+8V/RHfyzIgwncc0OEKbh8kGHTuaV6dRu90o3ohHeKeYCDEFikaZWSc0kpAEZm0wFWDbKvsUKmYOlHs0cXgW6NKliw+B43pWezMrg9KBqWiu18J3YIqWcoZgsoDZD+UHm3Q0aywYwWyHtCFwTKGSDn0Jtp6YCDBzxn9styGWPAtpoGF2Ejhc8oSjGAIXpaByUGmywpRlRkfzBgaRAOrh2ZCizMTZ1FWuRYuDxh0ywIILOloEgoCGBDKAfSIdO4IJCkSMRVNog9CyIGhVWrRooQgEHTzpa+E/RBHtjHNVopHQBDIF8UJDyZS71lzSb+AuCm0zgxWtQeMbExftG0SCQQrfCuF7wBE0SYc4YafGdKaTPOPCxr7gAaKO42r+Y0aBxhqNH8cMfCCO5MV0rZ3AUK8Ig7BRFkiT6XC96AKB9NgJXTiJIXAGBgYGBpkCPe0FEbBr1LSWTcOuadPaMWcnb8QIwqpvCH40lg9D4AwMDAwMMgVu2sAZMYIwhc5CE0PgDIEzMDAwMDhHMATOiBH3xBA4G+z2Hcyd26Ftxfj1F+7vGh3ffo2O60zHfk7bxAD+hxI/vftJK9yZh06L9O15BIrvL9xuZ+fMN1C4TsfAADjtrgKVO39lyxkeTHx7+qGmk5HwQPVAhwd6Xme4v3u129c54+u4zrz9peMMzygMgTNixD0xBC7J00FgEIlxLQaxHOOgEV9n+EHCC7n2tk4jpsP5ZUk1aRBOPMJZ+YJfKsIx8MQBp46PvzfSwTBU75RAOA40ic/945NJn9P+pMiHJfw63O4HCr83Ohz/PNqrOjsi6HB8ZREG8Cmlw1lhxL3TsOKLR4fjp0o38sTRz4wTRP3eWH6v42OUTBqkzyovHc6zYHxKOA6N9TvCeajeDgxnkDp9fPzolXj48MnKq/IMzi2wl6JsssoMQ2UaJ8oYW8HZyylli7jvvvuuCqMs6f1PcTeAOwQdn1VskBrOsW2VLnesXNT1iS2odDr4NdT3g0d3HR8DeuoH17CiToezWk6747DXD9oAVumRLwbaOhzQ9pAOrgx0OtQn3SbgtkPH5TxG3MRnBZ6ODzAKJ5x89E4V/OodGdj7FL9ZOr72LUl7oesl6el6yfPZ2y78NhLOdSw+cLonCQaGwBkx4p4YAmcBHzG41IBU4IxQEx0aGw37aNge7mycNHRn4Ay3x6cBdMYnfX/hznR04+m8H93pBUrfGW5vhO3PbA+3xweB4ut8ne/OXzpp5avTYTUTuzzY790gegBRwB0BLm8YmGgH1/ayFaicBipf6dUnZzrAXzr2+MGkYw93XuMvPtD36gy3a8L8pWO/hl+dt7NeBpOOPVyfw8kxjlNZ9WePGwxIw4gRI+5I1BM4Rq0vvPCC2t3Aec7g/IKOB+NUtIdsPeQ8Hyw0IdfHWuPhjOcG6BS1VtYOfQ8ZzRcyw/tAe8OSd+f5QDibfNGcAmc4HXhG0gsFpI/fJjagd5Ifg/MLvgdlkH1gqUuhTK0aAmfEiHsS1QROjyjto86EhEQ5dCBe9u8+HhY4sPe4HD+OnZ3v80UC6MiZ1tZ7t4YCyA57ZrL9CtPaaPPofFhyTjnxR0L8hfkLdx7rMKad8ExuJx2QIKaG2TqGe8F5K76P7NfZ07P/x+8VHsWZwmLane2g8NzvzN95DKiPON5kyxkcmzK17YzjvE4f84sHdJxeOuOwNVQwnbbzumCh34dde6Rx2KqbOzYflW0bwgfbNx6VXdviJCnB91nDGcxc4One+Y3SgiFwRoy4J1FN4OgQ7cfxFhHau/OYanDDCTu3xFmkM3KN/yELwRAGJ/C8jlNQpmLZPkdvpcJeldhGkaaTOGm7JmdaQMcHzvuxd2JOAofjSPYVbNSokbI/ZANztjCzp2uffrbfA3ZO2CexuTlxtDG5M3/nMbaXaC7ZaQMtFhue4xldEyOdl/0awnXeAPL21FNP+XTQemGNEzo9nUda7zItYJMVKI8dm3zLf7gA8ul8nmiDIXBGjLgnUUvg0GzQMepjNG/bw7hzAIcPRnYHAYlxhgUCxAFNG0bYmkhAKvjFazeG8DfccIPa7BtP4RCgatWqqX302BAcbRnTQ2wwjn0k5I/j2rVrS968eZV3+B9//FFNbaJhg5SxJRILPvwROIzJ8U6OHRcbRJM+m5o//vjjilxh/D5lyhS1RQ1TU9w398Q5tomBiOH8tFWrVso7PVsaYVROOeY/ziw16SFvvWG5thvTpAxyxDNjw8Tm5TwH288Qh42j8XbPObahgbzxPDwXz8+0GWlwLzhjxZi+ePHiipxyny1btlTn2eKGY94lRvN9+vRRhNn5jQKBdNjvMFV4YpIc2BvvU+bDChuORqSmnHJKPXCG+4MhcEaMuCdRS+BmzJihVrZpDcHhQ2HeOWxkmiZyV2xCSiALTk1TWoBYsYoXogYRYdsdvjfaOAo6ZYWpVaYzIUXY20HmWP0HkYKwQYKY/iT+nDlzlF0WZYf/kDbIid57j2upA/4IHASIqUzSqlixopp6YlUgJIm0uZY4OKUEbBa9ePFiZZt59913K6JGPMgaGztDzFgdCOGCeNrNAHhH2bJlU6sp7e+DZ2cl8MiRI9Wzcw3PwNQy+wWykboOh5yhgYN4Ega5hLCSL+RMEzi0epAzVoNC2GgHCGP7Gp6J/RK/+uqroAkc6et9EO3h8fGJsmdH+GnH7WA6NSE++PIbDuB7TZ8+Xa24dZ7zB0PgjBhxT6KWwNFh0RHq44PhPrq3ELslzuc5IwWQD7Q5gabW/AENF65IIANMo0KsuJ4pVF1OIBsskMDVQu/evVUYmjKIliZwaMzI/9dff1WuXMaMGSMjRoxQRIi9ANF2aS0f9cAfgcOGDa2Wvh/iQuDY0Nl+HXsDkjauVcif/QYhrqz4gzRpAsc1uLKA9DVv3jxVfvxHu8Z1dLBa+8g5NpPGho5wSBXaNggcBIznJo6OD7kEhEFwccHhJHDYw3H+iy++UBuyQ4ZxcaNdXQwePFgROMic8/v4A/FIX2sONTBv2L0jzqfMhxMikcBRThhkvPfee97BcFowBM6IEfckagkcftqwL9LHhsBlbdA51KpVK2gCR3ymIrXWDbIFMUA75SRwECVIHMSDDgnCAZmyEzjiQqbwF4Z9GUSD8gMZwzcevrPIB5Lmj8ChyXIuItAEjv90bEzNYhjOvemVrIEIHOfQEqIRRGNl95fHfTAtiv0fWjymTblXtIY8W5cuXVQ+TIkS5/PPP1cElmlY7puGgPfhj8Bxb2kROP6jMcT9B2nxbjJC4OwaRWAIXNYE33jTpk3K3tQQOCNGMleilsDR4djtbNwkcDs3x8mOTb6dTaAwZ7jzOFhEMoEDEJ5QplCZpnz++eeVNgoff9r9BVOeupxAQCBYdERM9xUpUkQ6dOigpg9xMYPWr169eioucZh2x3Ey8SA8VBoIEtOZxYoVU1Of2MzZCRxTuRChtWvXprq/VatWKfKkjyFNXIstWtWqVVW6XIOdHISLykmevIePP/5YTXnyPGPHjlULFZx+uSCBkD/ulXQhg8THbQ73CiHG1q5v376qY0U7p+NCXhs2bChvvfWWSgutHSQPzRjnuRfsnnCey3k02hUqVFDvddy4ccqmjyljpmyZZg6FwDGte64J3KbV+33CNq7aK1vXHUoVtm3DEdm4ep9P2KY1vtenh0gkcIDpfftgOC0YAmfEiHsStQSOaaNzoYHbsfmYvFTvdRk9Ymqq8CXzNkqrD9qnIme7tyVKjy5fy1c9vveG77Su/6B5W1m+YIv670w/LUQ6gcsIIFIaOsxODpxTj8A+5UhcexzO6TC7xoEwHe6c/nPmaU/LqbXQadjj2//ra+z563typh8oPfs7sT+fPcx+rPPQ/+3PZ7+W64jHVDM2c9jBQRAhnIHuzwm3CVzsluPe/57B0jFZtWSHlCpRJlX9ill/WLJnzy6dO/RMdf2qJdtV+OqlO72DreeerS93Fy8tW9cf9MkvLUQqgQsFfFcjRoy4I1FL4DC6ZSpMH2eMwNGhnOlU0LzFbjkmV+TNJ316/ZAq7qwpy+WhBx9RBE+H7duRIm81bCK3FrvDS+AY3V988SUyb8Zq2bU1tHuKdAKnyYJB1gUEjlW87J5QokQJNQUdyneDwKEddIPAQcrmzlglW9Z6iNbKxdtk7fJdioyVLlXWl8DlyC6dOvRKlYYmcP37DlF1c6dVv/Plu1JK3n2PReBSa+vSQyQTOOdAJBAMgTNixD2JWgLn7FRCJXA0/j2++Fp+6D/cG1a54kOyZ3uSFCp4jfTtPTBV/FlTIXDVU2ngIHCNGjaTokVvk59++NUKOyItW7STwoVvsQjcGkPgbKCDYFrTuTrRIOuBThotHQs2nEQsGPi7JqME7hJrMPTpJ92s+npcihQuqkjcmmX+CVyOAASuUsUqkufSy6R549bycauO0vr99lL8zpKGwCV52lGm6jE/CIbEGQJnxIh7ErUEzkkEQiVwmogVLFBIdsXEy5TxC+SF515VI/RgCdxei+zRuYwZPk3Kl60oDV9vLDVr1JaO7XuoKVf79E8w2LnlqBw/lug66DzPt/8qOgd2Bgh2EYNB+MLfN84IgQPvN20jhQpdI6sWb5dajz2j6hRTqP4InD8NHDZxKxdtk9VLd8jS+ZuternJCjsoKxbF+OQVDHC67TZ2xcQpB+TUVed7O9eAwJlFDEaMnB+JWgLXsWNHV2zgSpcsK7+OnC4V731Qtm08IrFbPQSuX+9BqeL5I3DAbvsG/C1qyApAe3A+PckbAhcd0P7wnFq4jBK4Ncti5aknnrMIWzlZMnejqlseAlfOqqvx3voGgcuT5zLp1bW/Txphgw2eAZzznZ5LaALHDiOGwBkxkrkStQTOrVWo3T/vJ9UeqiFX5rtKsIeDwF0NgftykEXozsSDwNV8rHaWJGfBAhs/53vMLNA54KfNqTnNCOjk9u8Jn/1uwwGH9sfLsaNn/23cXsSwZ3uidO3cV3LmzCl7tiV4CdwN19+kFg992W2AfNPnJ8F84e67SsnU3xb6pBFO4Fs43+m5BPUSdzTDhw83BM6IkUwWQ+D+O84ogcPFQN7Lr5CunfqoY6ZoCuQvJLkvzK0WI1xxRT5p8k5LmT11hUwZP9/n+nDDsbjMHeHbEUwHkR6OHkrweSYD93Bw79kRCLcJnAdH1IBKH+NCpG3rTvLJR50VPv/sS0Xshv44LuSV31kNTKdmthYOBFs3DYEzYsQ9iVoCx3ZI+/bt8x5nlMAB+8pSdbzpmArzIoy1bk6gaXG+y8wC5csZFirQIjqfycA9sNm8852HAjp4nBU7CcHZEThfqKnTjR44z4UzYrdaBC6TB1mYNQS7T7EhcEaMuCdRS+D0FkP6+GwIXDThfBE4vlXjxo3Pegp1x2bfZzJwEWdJ4AC7PDjD3CZwkYrMJnDUSxxh2/eVTguGwGVcTp8+rfpa6odBeOPvv/92ft4MSdQSOGdjYwhccDifBM6NRQw7zwOBw0CeVYwxNrcTm9cckLXLYtV/VjYunQ82S8wGT9wNq/amirtswRZ1PW4t8EfmzMMJ4nnS3CTrlu9S92A/jwYKf2jLFiJrP/UAAFCsSURBVG6x0vfsKrBp9T5Zv2K3V2NMPutW7JIt60JwWOsCgXO6+AEQuD1hROB2BNiNxd8Urb+FS2pR0xbfuOkhswmcWYWaefLvv//6dRJuEH5wqx5ELYH77rvvUjnyhZg4G8OsClwi/DxorE9HPuW3hbJ6yY7Uca2OfMjAX1ORB/DzoHEhuykB4ULgqCD+OpSMEDi9OtgZbj/Pb6A4S+dtllw5c0m951/1xN1wVIYNHi/P13lJTTmWLXOfXJT7YuVKBrcVuKS55urr1LXsyPHwQzVk0IBflHNnVk9C8Jx5OO/n3gqV5NJLLlWro1ldecEFF8ikcfPUeewx69d9TfLmvUKKFCkquXJdIMMHT5Dvvxkql1jXaN+GOMB9u2EzdT/OPAIiBALH93HaulF/2ZbMh8QlJsn+XaGX1/MC6x3gM87uIxLw/WrWeMqHTDez4r75emNv+YndEi/3lq8kRQrfYpG40J7ZELjIFUPgIgdu1YOoJXDORQzH47KmcbuTeOE8dOTQSZLviiu9mhONuhZBGPvLjFSj/F+suBdemFvebdTC20FABnLlyiX7dqYIBt7OPNPC+SJwYN26darg04ilBeKw3yk7ATRo0EB2797t3RYqVAL3cNXH1E4Zd91Rwqsx04AE4xrmlptvlRZN2kjnT3v51VahWatQ7n6pUL6yIt6EnSFwHk0YnTW/nCMM/2WNGjZVLmmerFVHkQKcOwdL4MqWuVdKlyyjnEFzzA4ErLzctTVBkcMna9ZRBJ5zG1buUfuAfvf1UHnqiefVohw0fhC4d94MjcBBSJ3fIxDYg5V9Xx9++GFVF9nnlukFf4sYQEJCok9+5xuQtCVzNniP27fpIrtjEuS9Ru9L/76sbj0Td+60lfJQlUd86vTb1jvOnTu3LJq9QX2PIT/8qursDdffmOUJHGAvVJz5OsP9wa2OKxrFELjIgVv1wBC4/45xVEvn42wQzyfoyPv2GuQdscesOyQDB4xUpMwfgXvxhQZ+CNxktSL25iLFlJ860qz+cC2ldVEELojpODvOJ4Fjc3dIXHpgA/iyZctKtmzZFFGtUaOGLF68WG1OH4oNHNufFb7pZnmp3hvKG3+3zn2955giK1O6glx37fUWeftYrrwyv3zQrK1sXnvAJx0I3DNP1VXXP1CpqvoGw3/6zUvg0KgWLnyz+tXXLJy1TgoUuFquKXSt/DzQQ/pCIXDlLAJXqmRZLwHA2XSBAgUVabv4ootlYP+RXkLv+Y2TARaBa9niE4tQNJeO7bpb5e2wvPNWi5AIHAMC5/cIhHbt2qlvlCNHDrVn6rhx42T79u0BCRzYvc2/lvN8od3Hn0ubVh3VO+TdXnZZHtm7LSlkAvfE488o8kc6OPOuWuVRRbjDgcChefPRmAaAWx1XNIohcJEDt+pB1BK4H374QbZt25YqjBE+zmpjY+KUpsZtOBvb9EBjzrTbpHHzVaPfwWrgRw2bEhqB+3mS2k6owcuNpNvn/dQxWqVCBa/OEIE7fB4JHN+rVatW0rp163Rx3XXXKXIA2MsSTdzXX39tPUPq6au08Ei1xy3C9ZA8WLmaVL7/IbmnVHnvu4XcVa9WU9mvcdy31/fSsvknAQlclQcekfmz1sqLdRtIl059ZNLY+Q4Cd0sqArdx5V6llXm2dj1ZvnCrCjsbAkcYZBR7Otzb/DZ6ts91aOAaNmisiEj+qwrIbItw4GYjFAJHOQ32G1WvXt37jQDHnTp1kgoVKqRJCBISkiTuSKLrYDcD5/OkBwZ9uXNfJN/2HSLffDVYWn/QQWlLAxG4Kg8+7EPgBn8/WpWnhq+9J0N+GCMftewgQyzS/kHztqnqcjBgN5b9e/DL5y4OW0jLPUkgwu2EWx1XNIohcJEDt+pB1BK4YOw13Abb3jgb3PRAZ50/f0H5/pthahNtOgy0asESuC1Wh73iPwLAtJg2hs/oVkDk7ySmZ484RZrpQJ3vTIPvFcpeqI8++qh06NBBpk2bpuzm9PcmP+czBcKTNZ9VvsGYOmUhwJqlO9W722CRK4jb1YWusYjYPGVs/vGHnykCt8UicPYFCMBL4GauUccQqZIlysgLz72sCBx2i4rA/We/yPfDHo60cS574w2FVbgmcBA9tLIeG8gj1i+k9AwR11OopUqWUemz9dP0iUvktlvvVFOqRW++VU3pEq4WWFj56inUN1/z2GKxoAF7uGJFbw+JwIViA9e/f3956aWXZNiwYWrfVP2NzkfdBAcs4sOOIz7PlAZ4VxDxEsVLW9/1Fs+3+I/AfdtviCiXQps8ixQgcFWrVPexgQsn7I1N7edP74XavHnzoL6bWx1XNIohcJEDt+pB1BK484GMEDjsaTBGf+6Z+lK+XEXVOWsCh42SfRoMAjdu1CwVR1+/Y6OnQ+c/v/b/zryCBp2cy9Ad57Gj/kf5oS5iWLRokRw+fNhHMxAKgevTa6DSVg4b/JtMGDNHGfqjwXzu2ZeUrdtVV+aX2k88J3Onr1Lk6MPm7RQpqvX4M6nS8RC4hxWB4zvhRBYHzy9YHT/nf/xulLJLG/z9KHUMoboibz7V0TOFni/fVbJwznqZZ13P1m29ug2Q/n2GqMUpEK0R1j2xWEXnx7eFoN10YxEZ0HeoIpccY1dH/pAL8uc++vcdorS8o4ZO8WjgXnvvP8JxTGpUf1Jy5sx1zggcJgzaf1haGrfMQkYIHBhpvf8r8+VXdVK/A95xz679ZeXibdZgaZsi/RC4xu98kKE8shJYUKLfmVnEkHliCFzkwK16ELUEbtasWakc+WYGMkLgwLtvtZDid5VUGhmOmUJlBWGd2vWkzjMvql0gmLp7oc7LPitTww4BCECoBC4QQiFwYMyIadKxfU+L7HQWtFyQmY9bdVTvmU4ZEtXknQ+ld7dvpWtnz24cTd9rpTSVOg0WCWBftnb5mUUQi+ZsUMbq/G9jEal2bb5Qv+uJ22+ozJy0TJ1jOpNVo106fqWu79t7kIrb7uMvpGeX/irtL7t/9x959EzNQcC+6TNYPvnocxX3274/yYxJS21kn03aD6o03m/WVuUH6ZszbYWMHDJRfQPiQSBH/DTBO4UbFAJ8v2BBw9a2bdugyIDbyCiB4z1hnsC74pj326FtV7nttrsUsQfYty2cvU6tRD2rwVMWANPN+p0ZApd5Yghc5MCtehC1BM65iCEzkFECB1mgw9fHrCic8Otc+XXkdAU6eDoROgjdSYcr6ECxRXS+OzqHnj17Bj2FGgihErhA2LnpmLzR4F15oFI1eefNFlKw4NWyfsWeTH//kIHqD9dUK1gzO2+/OEsCF2grrcxARgkccO7ooKdNNVgk4rwmXGG3g6VeokUdOXKkIXDnWAyBixy4VQ8MgfNz7lwhowQumkAHmhjvS+BAMB1Eeojd6ptnRgFp3rBqjyyZu1FptJznMwtZSaOzM0oJXDTB30KmYOumWx1XNIohcJEDt+pB1BI4Vrtt2LDBJ/xcwhC49JEWgXPDTmqvy85gvVoWP+eiEWktRAkGELiLL77YELgsDEPgzo8YAhc5cKseRC2Bc4MMhIpwInAY6W9d66tVYpWlM4wpXqcDW39hwSAQgaODaNas2VlPoQI6avzBYatk4A7wP7Yv9pjyp+h836HifHVShw7EyzY/ZTIrAq3r66+8rRx76zAGEthF4pfQPp3O/9pPPqdc0+jwbesPy2svN5Khg8b5pJ0enFOo7IXao0ePoEicWx1XNIohcJEDt+pB1BK4YBobt7ErJmsSOH+2U2zFxMIJ+/RcjEXKWHlpXyjBtSygwDmsNqIHrIi9777Kfv2ipYW0CJwbixgMsj7Oh/YNqP1Wt/vWhfMJ6hdT9NpNDHVv2fzN1gDkmKqLdldCxMWlCTuH2Os0dfjCCy+0SNwLalUsYaw2ZoUxjojPxhekWcSQeRItBI4Fhpk9O5bZcKseRC2Bw+M7W8A4w88l9u92d/rODWDHhfG9PsY1CaTr3vL3q+2jUhE4Ky47DvgjcDjLHTN8qgrDeewtRYopEmgInEEogBAsXLjQJzyzcPRwgse1jZ+yeT4Qu/W4PFb9SWVjSV1bPGeDNHqjmWxctc8vgcM1zW1+CBzOhnFVg2sTzrEzy0VWGCuRDYELD8mKBA7CcOrUqVRh3KO/8GDAdnr58+eXSpUquTJLRpkMplxmNtyqB1FL4D7//PNMX8SA/6S9sTj29G0UzxfwI3btNdcrf3M09LffdpdyUstm2sXvdGjgLAJ31VUF/BI4/JMVLHC1IoDdOvdTLk0qKAIX2jRqWgTu+eefd2UK1SDr4nwuYtBgKyqm2amrOK51C/sshFr3sa38xCJZ7J3LCt+Hq9ZQDp2pr6EQOHZj6dX1W7W3bqcOPZXTaeqrGwQuJiYmaNcvbnVc0ShZjcBRVy+//HK59tprU91Xo0aNlMa3ZMmSQZUJJz755BPl3Dsj19oBoWHQX6tWrbNOy224VQ+ilsCdj1WodiQmJCp7ITcRfywxZCNsGnp2HGBrJXyK3VehsmrwQyVwbDfFVl/sGnDdtTfIlPELXSVwwI0RmUHWRlYgcOcMyRmzg2UP4zx5LpMRQyaovXepk+yokRaBs19PfLZP4/zU3xZK0VtuVf8L5C941gROI9i66VbHFY2S1QgcaNq0qdrLmP2nKQNo0C699FI1I7N06VJ1vGTJEpk8ebLs3r1bVq5cKStWrFADcfjC8uXLlQ0lU6aEwyNWrVqltLo6j/3796sddebMmaP+Ew8n7ZAy4tKPc4zmnv+Ek+/MmTO9ey2TL2HO+z9fcKseRC2B87cXargjPj50AgfmTFupNlnHn9j0iUtVmIfAlZLd2xKUM1mgCVzslmPeMPxfKQJXqZq6rvOnvZSzUhzCuk3gKJzOMIPIAvW3fPnyQROCsEIGCRwoVaKMXHhhbunXa6A6jrUI3JX5rlKkbvSwKTJq2GRlo/r8sy/JDdcXltHDp6p9k9csi/USOE9anlXTbPnlJoGDeDvD/MGtjisaJSsSOPp9yFrDhg0ViYKQQZouuugiVYerVaumzkOi0MrlypVLcubMKQcPHlRaW84VLVpUnf/ss8/k+PHjcuWVV6p9kSkr+BhkVTrnuY7/pD937lz1LghDC8igjzhg6tSpcuTIEZWX3mf5ggsuyHSTqbTgVj2IWgIXGxur7tkZHs7IKIGLsRpzKhdbdqFdY8SPDdwtNxdTuz9MGD1Hpk1YrFbo0Wn8Zh2ztRTgejuBQzNAB6EIXHl3beD69u2bpUZRBu6D70wn4AyPCJwFgWO3Fbbq0nsYQ+AKFiikFiyw0wO/7MFb97lXVF327ABxh0z8dZ6qk5demkddp6dWIXBMp3Zo28Unr/TgXIXKjjbjxo3zfV4/cKvjikbJigSO9hiidOuttyot2oABAxRhqly5siIUEKqbbrpJGjduLI888ogibHYCR1zCrrvuOuUMmv4bAsde1pStoUOHqvP16tVTrr+uvvpqdc28efO8BI48ypQpIy1btlRx27Rpo9LH5EZr4CCYWcl+2q16ELUELhKRUQIH2C+z8dsfeI/5X+XBR+TByg/LA5WrSd3nX1Gbttd49AkV5kE11SFgYP32m81TpTdtwiJ5z0rDvjI1GKRF4MwiBoOwxlkQOOrZRoug2cPWr9gt61bs+g+7Vdim1fttYbu89U+fT3X9yt0hD7CA0wbOLGLIHMmKBA60bt1akaTHH39crrjiCilQoIBs3bpVZsyYoQjU+vXr1Xen7UaD5tTA3XPPParfhgwCTeCYLq1YsaLSnhFO+RozZoy6xk7gbr75ZrX3NXGIi/aOa/fs2eMlcFnNJMOtehC1BI65c+AMD2ecDYGjg7AbPutjO/yF2+P7S9MZlh4CETg6iqpVq5pFDBEOvnOXLl3MFGoWhp3A0RFhX4T2wxC4cytZlcDR70OqNH755RcVju0bBAr7NfplCAaEy07gIFd16tTxlh07gWNK9uWXX1YaPtp9np1ZGKcG7pZbbklF4ND0QeCwudMELpiymZlwqx5ELYEbPXq0DBw40Cc8nHE2BC6rIBCBowLed999Zgo1wkGjzCjeELisCyeBW7BggfTq1cv3ef3ArY4rGiWrEjjaZG2bBlnavHmzaq9ZnAChg4wNGTJEPvzwQ58p1LQIHP979+6t4uAoGo0eU6WGwJ2RqCVwPOxjjz2W5T7s2SCSCRzAMNUZZhBZgLhhu4LxsvNcJCAiCNzB1GYMaEcwPnc+qz+41XFFo2RVAgewMWPhQokSJbz3SN+Kuy4IFMTtzjvvVCtUsdE8dOiQdOjQQWnXsG+z98P4gcP1hx7EQdr0QogHH3xQXTN//nyVT+7cueWuu+6SxYsXKwLHMdfqKVQIHQscstqA0K16ELUEDuTNmzeibKpwJRLuBA4nqjyH89mymg2DwbkDbgI6duzoEx4J2LPjjFuecEVCwpnnoWMMZRDsVscVjZKVCVx60DZszvBgEezMiz2PYK85H3CrHkQ1gYtEUrB7W3iP8NnKyP48dBBVqlSRIkWKROT3MvCPrDZidgsJCYlyYG/W25ElWODcWD8L7T3OWlevXu3znIHgVscVjRLOBM4gNdyqB1FN4DSYAsjKbD0UHDmYoKZpvJo4frM6NnqmTvllKyP789A5XH/99fLtt9+e1QjOIPyAdpyp1Egjczjx3rXtmOzYzEKfMIF1r+zlnBDv0aTwTV544QXlNiKUWQy3Oq5oFEPgIgdu1YOoJ3A0Rviduuaaa+THH39US571OZxTkh6wa390mIYOJ46/cPLQYfYKyH9/8Wkc/YXb00kr35SUZIk7kmCRuUQ5duSEwnELGB97kJA6/ECCBU/48aM6PEXiDiV5wg+kjn+E+FY6/HLsDbfy86QTr67X16RK57An3HNdiop7CKPohBNy8sTv6p3rDhti/cADD8jRo0e9z2oQPVi2bJk8/fTT8uSTT8q6deu8dlah1g+Qun54ylew8e0DB3u4vU2w1+Vg4tvDTwZIBxCW6Lz/E2cI7e+2+CdPnnkGf+kA+zOfsOKQtjO+vY2yv2vqJgNdHKKyaAHD9FAHVf46rtOnTyubpbFjx8o///zjPG3kPzEELnLgrx5kRKKewGkwivzpp5/klVde8Wrj8Gdz2WWXKbz11luKUNCgoRHS4TfeeKO3EcMXkg7Ply+ftzHEpkeHP/fcc7Jr1y6VDoso8CJNOCvvdDrdu3f3xuc8DSbn0Ebp+PzijJhwDEix5yMcR4essCUdfOZ407HAIgDik54OBxiAEp9vWLBgQW/6rVq1UuFr1qxRjhZ1fFYZcf848NT5Ar18nOfm+XU4262Q79q166RChQre8OLFi6twNj3Wz5UnTx618kh/g0jTvhiEBl3u33jjDZk+fboKQ+ujyxDlT9cPyrG9XOOLivg0ljqM+tGnTx8VjvNZ6q8+R/mn3NEQ2tPRTmo5b8/3vffeU/nS7t19990qnHJMfaHcUt90uQavvfaaig+o7zqc+ksY7QKEVYffcMMN6t5pQ+zxu3btqp6Zc6zY0+GsxiMdnoFVfDqcusv9E25vE7gfbcOGI1YdzqCJPAlv166dN5y6qXdD0W1VqNAdF2SEfoM2l3aA1YKsKPzrr78UoYPI/f333wrE1aLDgL2jIi0drkmgMx17uD1+eukgxNHhxPEXbo9vzzdQfHs4z6jDAfeIONMJdseLaAZlk3KdlfsOQ+ACSEYJnD/Q4Nnh75y/sPTOuR2ujymwODWEJOoG1l98Z7i/tJzx7ef8hQUbHmo6Bgb+4K+82MOc5SjQOX9hwYaHkg7/IVU4vaWephffec5fmPOcvzDnuUDhwaTjzDcj0B0X2xiyUIWBnt7uSBM4tHHvvvuuIrNPPfWUOkY4V7t2bRXOL3tfIpAfCD7hgAEgAvn54IMPvPHffPNNL6lDq6vjQyI1ScTvmA5nayct/fr1894Pg3yEtHChYk+HDhTBRYbOg4G9JmT9+/f3xmcAz72QN7sY6GcDOp2PPvrIGw7hDsXe0C2wpygrRkMtA1u2bFGcwBl+rsGMWuHChaVUqVJZlsQZAhdA3CRw4QYqGI1goUKFfM4ZGBicPzCgQhvHNGFGtVeRAN1xQVxoq9EIlitXTrVbuIeApNEBaQ0g0B0SJEhrDAFaKS2kq8PRUun45KHDdd7OdDRZcqbDtVqYJXCmg3APOpw4mqjZ8+VZtNjT4R50fPpQHQ78pXM+tEo8K7aOlF38qnEfzjiBwHZaaKkz+54xvUCzjlY8s/MOFobABZBoJnB0DnpvOeMzzcAg6wBtBPUSsrJ9+3af89GCQB0XHe3atWvT7HyiXTLbBg6yhr82rSHFkbreCYdwfLFNmTJFHWPOg4kDm8xjWsPuCxBy/MKxI4PW3mHWgKnNiBEjfPKaNWuWfPfdd0qzaj8HMWERG6YMdi0g90J8tJf0d5MmTVKLniBw7L9K3prAERfTIhwAc++EwVmIy73yH8f+nLfnfa4QqB6EKobARQgoqOwppytb+/btfeIYGBhkPuicmHrTg6trr73WJ060wK2OKxolswkc+OGHH1SZxY0ThIyN4glnG0psF3Gcy/HPP/+sHPkSBpHDWa/ui5555hlls9mkSROvU19Aejjbpe+6/fbb1fX8sqsDrqMga0w526/BMS/XMI2N1lbv7KD/QyjtBI7yBrnkOr3xPb8QNWxO0S7qc1dddZXSCDvfwbmAW/XAELgIgr3SPPTQQ6qQOOMYGBhkLiBwdE66brIgIVrrplsdVzRKZhM4SBf21JCbTp06KfLDLgeUZ/a/tRM4ViTzn7CNGzfK+++/r65jAQ0kjLRY+MPCwPr166uFOxAutsjiHIuLIG2zZ8+WTz75RG2bhWYNQke+LIQjTe18X9tOvvrqq8q2kcU8HDsJHCQQzRr30rp1a7XLC4txsCnUBI7r6DvxaRgTE+PzHs4F3KoHhsBFEPiAVCCMgzH8DcVewcDA4NyBaSW0cLgpiua66VbHlZ5gQ4Z9mn0FK//T6tycAknJSm5NMpPAQXzefvttRWwgW/Tvejsr9jH1R+AYpLCtlR6coNmqVKmSsklkahWiNH78eK89H6umSZ9FEvfff79XKwdJZEq0UaNGKv2WLVt66wv9OzyD+0BTx32SFtOr/jRw1DUW9nEv2MXxH3s+jpluhdCRFsQns94tcKseGAIXQaAgU2hxQ+I8ZxC9yApkISvcw/kGm3Zr1z/Oc9ECtzqu9ATihesTOnME8jN8+HAZOnSoI2ZgQSvEPQcSfBNCYvSCg3MtmUngIF3sW6qn/SE5WoPMtCr2ipjsQLjod7BR0/uSOgkcfTKutLgWTR7+HAEuqwA2bxzjnqpnz54qTcjgF198obRlDz74oHfRCQspIGVo1CB/aO/Ii+v8aeAgNbfddpuKz394CgSU67QGjnS0e5zMglv1wBC4CEKkEjhU5jSWjOJQsVPRnXH8AQNXGoHM6jC7deum3n2oK5904+QMx0h4zpw5CtQv5/m0wLVMTyxdulQ1oq+//nrQ03Y4TsZGhIbO332lhUWLFqnvZDc25vmYAsHlgjN+NMEQOPc6rvQEAscm5pR/BPIzbNgwZatF503bgNE7Wh69eAIi9uuvv8qLL76o3GagreGeCR88eLDS1nANrj0o37gBgaQ0aNBAdZxTp06V5s2bS+PGjVWZd1syk8DRzkLccHDPs/DdaBOYAoXw0EbwHiBNvGfCiO+PwOn2jSlSiCAETdud8X04z1Qrq0Zx4wJp4xvwnbC507Zv5MEv2rlq1aqptDjWafkjcKQNeSRPTfr4jy9Iuw2cIXCGwJ13RCqBY8TFcnQqOU6UaVydcZygwaDDLF26dMiEKqMoU6aMWjofLFHS+P7771WD6QzH/oPnBTxLsM/Bs6MZYAT9zTffKHuPFi1aBHVf2J3UrVtXOZF9+OGHvU5sgwUdJKNxJ4HDISwNqzN+NMEQOPc6rvQkLQJHx81CEjp5bIVZGUy5Z8o1f/78yti+Ro0aaqqNe6ZPweaqXr16ykUTmj3IxZ133qlIQcWKFdVzobHD9xjTgRBE7c7ELcksAkf5pA/h2Vh5qgkY/XvVqlUV4WFVJ+9MkydILOSIaVHdzqBFo03U7RaOtnV8gMNoXRd4txArDVauco62n3T1NXwrtHUslChbtqwK45thnsB1kydPVu0M35c2UN8LbaBOg3ijRo1S5YAFFkYDZwhclkCkEjiAFo4Kj1ZI75G5Y8cOZezKyNe+HyMjLhoARsxUct4LlZ4l7BMnTlT/IRg4E2VFExouHGRq0kHjROXGXkNv40U8yjcNB9DL6QGOI2mc2GWCe6RyUh/QFLJEXTtCxUCW0SONDJoqrsUmiob/pZdeUnnqNGm8tMEu98ConqkL0iEvDIX1TgO8B54LJ7FcB0mgUcP5KPfBzgDcC+4r9DWk61yuz/QEpI/yc/jwYRk5cqRyRkqapMPolrx5b3wHriEcksf7IU1N4Djm2XlPXI8bDdLkHfLs3DMjenv+dLYs9ecd8U7t5yIBhsC513GlJ/4IHFOolE/KOaQLMoR2jboFkaPcsgoRIZy6wD1DxrDxIow6QzhtCmWU/6TN7iAMMqmjbMkIeaGdcFMyi8AB6i312em8l2NnuN7ijmvs7aLzWIM2A9jrAe+TdPWUqB3EI5x87INYHc5/+30BZ966DQP2e9fP6czzXMOtemAIXAQhkgkcFRAVvG4s8CXECJpRdefOndUIjjh4QMfolgaX0R4jNuIzgmY7NBpYNHnExTgW8sQqKWwzGF3yDpk6qVmzppo2YWk559CSsd0QnQAuWlj9ROVntE4HQMeASp97JA1sO0if/EiPRoOtySB43BtTBZyDsHBv5E1nY39eCBykDsLEsvlBgwapPMnnww8/VCNg3gPTDay0Ig5pky4dCwQW0sZIlHM0VGgQSI97IZ7Oj/t75JFH1OjVqenjmM6QPCCFvFfIHPeIloIOi/cBWeb98J7QuPHe0Oah2YCg8nxffvmlmuqgjOKh/vPPP1f39eyzzyotIXmgwWAk7ywD4Q5D4NzruNITyA71inpCh0YZZicDBnYQOKb2uB9IGdojpuQgavgnQwinzPOtqPvUPYTBHvWS9Kgr1DPiEocBj9ZWUZ/sW2W5IZlJ4AzOLdyqB4bARRCijcCxfJyKgDaHBhmtECp7jnkXkC9IBdo63gs2WGiCaIBJA4KFbZZuFJka4bdYsWJKq0RcyAjTCJAdlrGTHysKIXh6JRblnvxQzWNwi01N9erVVQOPxgsyB0lhGTuEjWdBO0V6XAcRta+00s/LfbKMH3JDZ0I+dAxMA5Cefl4cYKJhQ7MHMeQceWKwTfqawHHvbDkE2eK5tBZNg+f2Z/cGaeQ98p5Ij+kJtJ6Mfnk3pMu9MQ0MoYbQcg6HmbwHO4H76quvFIHjHtFgPPHEE0rjxrsnb9JHM1e0aFGfMhDuMATOvY4rPYFU3XvvvaocoeXGFpZ6RrmDwFE/GKCxMwKDGuof9Z1vhPaOeBjl860YKD3++OMqnHJMuJPAoZmjLJMX/SFtjX2nCDfEELjIgVv1wBC4CEI0EThGuywaIJwGmedmdEyDTRjAvgGCM2HCBEVAsAfr27ev0iIxncfoHI2RTh/jWWwusD0jHoauxGVUzggb8kFcCAfEhHDIjJ6Sxf4FDRvhLIUnDfD111+r8xA46ghp0Pgz8idflrezZ6M/Agf55Pn0VC5kCg0Y/yGKaBOZvuFeAUbY1EU6KLRxdgLHfxaDoMGzeykH3B8G2LxTHa5/mZLG2Js43Bd+nCBwpNWsWTPv/dIooYlEk0FcSBzfjO2R7AQOo2TSZhqYThbiRkeo7VVohCCT+t4iBYbAuddxBSN0ZGibGbDQXug9VdFq4yKD9oKFCMSBHEHEaCvQhrMXK/7I9PZY7HKDhhoTAmxwKaN8S7TGCHEwDWAGALLHIM9tFySGwEUO3KoHhsBFECKVwEEE0DJhNMxUBqNdGuSuXbumInA8PySJBhsjVexQmEIlDs5T0WRh18am4hAMRt3YipEWxIJpFNJg2bnWwkEC0fZBSpwEjnSZBsT2BdsZrYGjkSU/VjiRHySG67g3tIP8h8Bxn+kROGd5thM46hyaQfLkXiGL2N3wvuwEjpVhEDiIJs8LYWIKFcJmT5s8cYiJ13WmlZnKZDEDjQ0aMt4T06WQLQicfq9o3SCjEFj+Qyg1gePeIHCQPj2F6o/AcZ53AKFmIYiZQo1MuNVxnY1A4Bh4uD3Fea7FELjIgVv1wBC4CEKkEjiIB9Nt2F2xjB/NEx2hdidC2dMG8XSOLGwgHtu94E6DcDRY2L+godIG9xA4iN5vv/3mJSQ6P64lLqNzwvnVCwAgUXoBAOcgTeRHGFMnhDF9qPNj5E9c7lsb3XKeKVjiQk7RZjmfm+fw19kz/ar/c553Qz44xKRhgDyRJvWR87wD4vC+uAeuIw4LH+wGvRos6EDjgLZB76kLyYKk8g2YUkIzSNqcJ5yFErxT8tR7ffKeyJt74llpYLgH/a75JmgtuI6OiSlg8kV7YTRwkQm3Oq6zEVaHaq1bOIkhcJEDt+qBIXARhEglcOcCmsBB3pznzgbR3DmfDVihCylkaptpWBacOOOEOwyBc6/jOhthujOznO+6KYbARQ7cqgeGwEUQDIELHhA4bOKcrjQMzg+YWsbIHJ93rJ6NRJJjCJx7Hde5EjpANPTYr6GF556zCtkzBC5y4FY9MAQugmAInEG4I5LJjSFw7nVc50rwpYhLIswoMDFgmt8QOAO34VY9MAQugmAInIFB1oUhcO51XOkJfRKEh189ZYpWTS9c0Mf82je9h8CxoAYCx+Ibu52cTlMTOp2GPV1EH7tN/AyBixy4VQ8MgcvqSEyS+OOJQSExIVkRuG5du1vHwV9nYGBwbpFg4dln68iObbGSEJ/scz4QEhP9tAlhDLc6rrQE4oR7H1Zfs0parwrHLySrs1l0BJFm5xR8wOF6iFXWLM6xEzj8TLKgB+KEb0Om+FkZzippSB/Xkq4G/SB2nPzHFRFpuulKxBC4yIFb9cAQuCyMuCMJsn3DEdm24WhQ2LEpTu64425p9/EXsn2j73kDA4PzA+pjrceekWULtlr/43zOp4UjB323IwpXuNVxpSUQODZhR9MJ6cEFED4fcYGDmxvcC+F6CCJGp0d8+jB2bmCVtJPA0bfhDkdr63iOn376Se0awjEdJoSRNFgNz7ZcpAvZclMMgYscuFUPDIHLoog7miA7N3sa/mCxY/MxueP2u6V9my4+5wwMDM4vnrAI3PKFW9VAy3kuLWzb6HHiHAlwq+NKS7QGTk9r4owbB724twH0U4DdW+i3EDRlaNfYjcFJ4HCVU7t2bRWPzhHSxr6p7Kqip2Hx5ainTVlRjdNfSCQdqltiCFzkwK16YAhcFsWhffFWQ+/bmKcFQ+AMDLIuMkzgNhxVphTONiIc4VbHlZY4CRz+EXG4je83dlbQBA6tGiQMUsQWWAUKFPA7hco9a8fSOJ/G5yK7k7C3Kqun8VvInsDkh9YP34osfihfvryrz6sJHOkbhDewV3dDDIHLojiw97ghcOcIgTpQf+/bGZdjDWfcoOAnj9DguB/HcTAIdO/+wnf4iWeQMZwNgYsUWzg3CU0ggcA99dRT3o6MY6Y82c4Nuzh2BMEGrmLFijJ48GBFtBo2bKgWLUDGevfurTpYdhRh1wauRzPHvr/4jsT1EMKuIjVq1FDbaUH6yA/3RE8//bSKy84o52Ihg0FkwA0xBC6LIlQCt23DEVm3Ypfcfttd0uqDT9V/Z2dv4CEpVR+sLovmrPd2pPzy/ordcrusXrrDG3fZgi1S5YFHZNTQyepbTJ+4WO4tX0mK31VSHri/qiyZt8kn/cCIkxmTlsrjNZ7ycy44jBgyQcrcU0G2rjukjudMWynlytwnB3ae8IkbCDu3HJdm77WS30bPThW+Z3uS3HbrnbJ57QHve1lqPd+TNevITOu+nekYhIa1y2OlRvUnZe70Vf/VTd84gWAInHuiCRV9Fdu4haIJcZuMGTFytmIIXBZFqARu67rD8vabzeWqqwrI/fc9KC2bfyKxW+J94oU7dm62ytlmCIYvOVXntnD+mOzaetznPICc3HVnCZk/c7VNExInMeuPqD1Ge3Ub4I374fvtLUJcXH4eNFbFva3YHfJA5Wry8osNrf93qvNbLMKj0yVfp3bOc0/cS5zMnLxMnqj5rPVdjnvi2p6BOJ54vvesMfj70VKo4DXWtz6ojiGEV199rRyIPUPgSJf07dd57s2T177t7F+aT7p17qfi6jh7LQKXM2cu+abPYO/9d+30leTOnVumjF/gSXuTJ+1dW8+UK46JT5i+/10x8anugfMc28N03pRxNMf2eyEfvqM+DndAwN58vYkUvfk2ebX+m/Juo/d9vlFaMATOfWERA4sNssr9GDGSETEELosiVAK3w+qgb7i+sGTLlk3hrdeb+sQJZ0ACOn/aS67Md5Xkt0jqK/UbpiJKq5fulCI33SL5rrhSbi16u1xyyaX/kSTfdPwRODRwXEv6kLIVi2IkT57LpFSJsorA/Tpimjz7dD0v0eB36/pDVhrHpE2rzyRfvivV9PWjD9eSH/qPkC0Wyer2eV8r/Cq56sr8MmPyUpk9ZYWULlVOCuQvKFdaYa0+6KDuoc2HHaXwTTdb8QrIGw3ekZWLt/k8P9AEbvvGI4oAzJ66Qq75j8BtWLVHPmjWVqVbqODVsnjuRnWPjd9pKddec70K6/7FN1LMejc5cuSQiy++RPr2GuhNGwKXO/dF6plbfdBeYjYcVkSv4n0PKgIXs/6wlC97n1yRN5/kzXuF/DJ0knUPx+Smm4pYz1xTLr8cNw0FpG3rTuodks7S+ZsV2axQ7n7Ja52//LK8Mm3CIkX2XrGITJ2n6ysC2qhhUylxd2nvu23TqpN0aNPV5/nDFXzjEsVLqXqZPXt2ue7aG3zipAVD4NwXtGluTWMZMXK+xBC4LIpQCRzo13vQfwQue0ASEK5g2pCOb/6MVYp8lbPIxBqLtHGOjp/jyeMWKHIAGYOMaI2YPZ00CZxFPIb+OE4qVXxIaTHRmDElDYH7oPkn8vWXPzru64hsXrPfIiHXyO6YBPXOG7zcSL77epg890x9KXfPvbJ7W6KKs37FbpllpQdRIS4E7Ibrb5IVC7dKgQKF5JefJ1n3tEpuurGImqb1ZysHgStQoKBcf/0Ncv11Nyryc+GFF1oE7qQ8Uq2mIoe7rLSXL9hiPWNJmTBmjpXfPeoXQrpl7UErbooiqj279E+lBYLAQerGDJ+mCFiRIkXVFO27jVooAkf81h98aoWtsN7LUrm60LUybeJiKVz4Zpk1ZblK//lnX5Jv+/4se6xnhsR+1eMHeefN5tK/z2BF9jzfJbd07tBLEfAeXb7xavTyW6R2lfX+0N7lvTyvrF+5x+f5wxkzpyxT5O2O24vL1N8W+ZxPC4bAGTFixJ8YApdFkRECt3nNAUXg6ICd58IZEK1Vi3fIjRa5GTTgFxn47QgLI1Unr6cMi91ym0WgtqvjfTtS5NJL83gInG1qTqcFgZsXgMBBuNAOvd+sjSJRmsANH/ybPFO7rm3qz3PNxlV7pKxF1PRxjy++sQjcUClf7n55vs7L6huiBeQ8hPDJWs96yJkFtGJ07GjfBljX8Fw838ghk3zeAVAauELXWPkcVvcxy7oWDdxBi8BBYJ+sVUfdA9o/tJT9LMKJBuy9tz9QWrAWTT5Wz4dmrWunvqmmcDWB431ByFp/0EE2WO/3BesZpoxbaBHYtvJhi/by43ej1H3yu3LRNrm58C2KhK5asl3eaPCujP1lhiJkQ38cL92sPKo99KhMn7hEYq0w7Owuy3OZvPV6E3nZInDjR8/05v/NV4OtuDVk4th5UvXBR1NNqUYC+C5M0X/Z4zvxN/2fFgyBM2LEiD8xBC6LIiMEbufm42p67q677s7Q6sSsim0bj6gOvWCBQkq7A9lYOHudIkUTxsxVROP+ig/I8J9+U7ZTa5btVJop/i9fGKM0YDotTeCYYiSt3dsSFGnBBk4RuJgEWbssVmnMyFcTuFUWOWQqEsP+3TGJMn/GGjUdyNQiZBFywqIGplDRwL352ntyy823qriQPEgOxOiJWs+kInCbVu+Xiy/JIyN+mmA9V7LMnrpcpcmUuNMmThM4Xxu4k/J4jdpyc5FiysYNzVnZeyqoRRe8J55p3sw1UqZ0ees+0yFwm44pv2Naa1i3zitKA/fzoF+l1fvtFRHhPlngwf0VSYPAde3UR13TqX0PQVu5cdU+pYHr0+sHefnFN2T8qDMEbv2KPWp6GNvNLh2/8ikD4Q7KXZnSFdRUurZHDBaGwBkxYsSfGAKXRZERAge6du6jOldneCQAO7Tbb73TIipF5akn6ihtEsdMxaF1KlfmXmX/Vuuxp5UN3KbV+6R1y0/VtKBOg460yoMPK40dKGoBggJBZHqTKTx7ng9Wria/DJ2s/rNyE0KHxuyuO0rIvBkeLR4aqaIWWXv+2fqKgED4ICxMi2JzVrpkWTU9SPz6dV/zpG1dV7bMfeobf99/uNx37wOKgNWv20BmWSSOPEsUvyfVvYz8eaLcU7qcdxUqKxorlKso+3eeUISLdFhJykrVtct3qXtr06qjuodbi90hU39bKLu3JljplpZ+vQbZNJBHLTKbpJ7JHrZh5V6LiDaWmZOWqeMXrXuH/PLO+vf5Sd1HyVL3KHILacYGb+Kv8xSBGz1sinzV83t13XPPvCR3WO+N9Jne5V2jFZw8fn6q52PqGC0VJNEeHikY0G+obN/gG54eDIEzYsSIPzEELosiowQu0gHB0LAfY9/FtB7ap5++H6OInSeOr7bDnoadsNj/Bwrzd12guPb4Z479x3emC1l8q2ETv+mld5xWuv6uSSvcvggklLSc6aZ3HcdMRUO+neeiHYbAGTFixJ8YApdFcWCPIXChgKlSVj4+UKmqFMhfSAb2H+ETJ5ww8NtfZMn8UPzMhTd2x8SrqWhWsTrPRTsMgTNixIg/MQQui+JYXOh7oUY7sB3DYarHN1t4a3GiUQu1YtE29Q2d4QZmL1QjRoz4iiFwWRjHjiaqxpsRuIGBQfSB+n/kULxP2xCuMATOiBH3xBC4MEBCfKIkHDcwMIgqWPU+Ujax1zAEzogR98QQOAMDAwODTIEhcEaMuCeGwBkYGBgYZAoMgTNixD0xBM7AwMDAIFNgCJwRI+6JIXAGBgYGBpkCQ+CMGHFPDIEzMDAwMMgUGAJnxIh7YgicgYGBgUGmwBA4I0bcE0PgDAwMDAwyBYbAGTHinhgCZ2BgYGCQKTh58qSzyTZixEgGJeIInBEjRowYMWLESKSLIXBGjBgxYsSIESNhJobAGTFixIgRI0aMhJkYAmfEiBEjRowYMRJmYgicESNGjBgxYsRImIkhcEaMGDFixIgRI2EmhsAZMWLEiBEjRoyEmRgCZ8SIESNGjBgxEmYSFQTu9OnTCk4JFJ6ecM2qVatkzZo1ab4sI0aMGDFixIiRcyFRQeCWLVsmEydOVA+o5Z9//pFJkybJli1b1P9Q5N9//5W7775bSpcuLadOnXKeNmLEiBEjRowYOacS8QQObVnVqlUlR44ckidPHvWASEpKimTPnl0aN24c8vYuvKBcuXKpNEO91ogRI0aMGDFi5GwlKghctWrVFNnKli2b1KhRQ/bs2eOXwG3YsEE6d+4sxYoVk1dffVXtq6olLi5OvvrqK3WuX79+Kj1N4MiD8y+//LIUL15cxo8fL8nJyeq69evXS5cuXdR1TZo0Ue8pI9O2RowYMWLEiBEjWqKKwFWvXl2RuEsuuURtrGwncGvXrpWcOXN64/Efjd3nn3+uXgrXcG3lypXl6quvVv81gfvyyy/l0ksvlQsuuECee+45FX7ZZZfJ33//LRdeeKFKa/To0YrczZ8/3xA4I0aMGDFixMhZSVQRuEGDBinSBvlasmRJKgLXrl07FX7rrbfKrl27pFmzZup8uXLl5Pjx4+oc2Lp1q8yZM0edI80TJ05IpUqV1P+ffvpJvYNrr71WkTbSJR7/9+7dmyF7OyNGjBgxYsSIEadEFYEbMWKEjB07VvLnzy+5c+f2EjhI2L333qs0aMOGDVPXadJGnClTpqjfihUrqgUMvCCtrWMqFns44rKw4a677pI77rhDITY2Vjp27Kj+E79QoUKyevVqo4EzYsSIESNGjJyVRB2BQ44cOeK1idMauI8++kiRtKJFi6rjt99+W8UpX768sm/jHESN/ytWrEilgWNqlP+NGjVStm+jRo2SadOmqbwXLVqkpk0PHTokefPmVTZ4+/fvd9ylESNGjBgxYsRI8BJVBG7kyJHeMKZG7QSOqVE0cBCzKlWqKA0dU6EDBgxQL4Vj4jNdipbNbgP37bffKrs4rsVG7vLLL1eLFrCBK1y4sFx33XVq4cPFF18sDRo0MCtXjRgxYsSIESNnJRFP4BC0a08++aTMnj3bG5aQkKDCIGjalxuOeZs2bapI2rPPPutdSYqgtfvwww/lgQcekLZt20rt2rXliSeeUNdCCIlbp04dde1bb72lpl2ZbsXu7pVXXlHXtWjRQpE6I0aMGDFixIiRs5GoIHChytnYqJ3NtUaMGDFixIgRI8GIIXBGjBgxYsSIESNhJobAGTFixIgRI0aMhJkYAmfEiBEjRowYMRJmEpEEDjs0AwMDA4OsByNGjLgjEUfg2L+UbbIMDAwMDLIOEhMTld9MI0aMuCOGwBkYGBgYZAoMgTNixD0xBM7AwMDAIFNgCJwRI+6JIXAGBgYGBpkCQ+CMGHFPDIEzMDAwMMgUGAJnxIh7YgicgYGBgUGmwBA4I0bcE0PgDMIKh48lScz+ZPlhUaK0mZgoAxYkycxNiSrcGTezse/4QdkVt1/i4o/5nDMIX6TY4DyXWUj2ExaOMATOiBH3xBC4s0ay1bieDBEn/KRjkBaSk5Nk5IpEuaLPKcnR/Q/J0eNvuaT775Kj59+S3fqfv88fMnqVRaKO+l6bGaCDfWjuJ5Jr4qsydOsMn/MGZ4A7iVDgvD4zcSgxWXJt/tPCKbkt5lRIRCrRwvKdh2TpjkOyKvawz/lgEHMgTnK2Xyg5P10oLwxf63M+3GAInBEj7okhcGeJhTsHSZ9lz4SI5+VYfMYa9GgE5C32UJLc/k2KZO/+p+TscUrqDD8hrScmSd2RJ+XuAb9L9m5/yJ3fn5RZm32vzwygnak8q43kGP+yDN0yzed8VkBycrIXznPOOM7wtOLY000vj/j4eImNjZXVq1fLmjVr0gRxwPkkcfsTkiTb+n8k2+p/5KL1f4dE4BKs+y7y5RK5sfdiueu7VZKS7BsnPWzad1SyvTNNsr03XZ78YbnP+XCDIXBGjLgnhsBlGJ4OatLmz+SDOSWlxeyS0mzG3dJ0evE00WxGcWk+o6QcPb7fT5oG/jBmdZIU+TpFcnT/XYYsTZJ9R2xTSlanSMc4cHGSbNjj0Xo4r88MeAhcW0Xghm2d7nP+fANCNXDgQPn0008Vpk/3vUcagDZt2qjzc+fO9TkPYmJipF27dtK9e3dZtWqVxMXFyeeff+5NF3Ts2FGdnzlzphw+7DtQ2b17t1x//fVy4YUXposLLrhAjhw54pNGZmEfBG6DReDW/E8uDZHAxVsELmfjKZLt7YlyWfv5ciIDBG6LInBWGu9NlacGGgJnxIiRM2IIXIhITkqRNXsmyNcr6kmnJZUsAtfJIg0JcizhsGw+ME9+WPmqNJtpEbkZvuRNE7gWDgK3ceNGmTx5skyZMsWLqVOnyvz581UHSRzeLx3mtGnTVOe6d+/eVPe1cuVKdW7hwoWqw+Najulw0WAsXbpUddoadK5oN/bt25dKW7Jjxw513ezZs2XPnj2p8jh+/HiqNLZv3+7zftxG3PEkua6fR8PWczaaHd84wSAxJUUhKYBmyIMUD5L59R+P/OmI7Z2xvqcHAxE4b96k65vmuQbf9+DBg5IvXz7JkyePXHLJJVK0aFFJSEhIFY+yctFFF8mll14ql112mSpvumzw+/XXX8udd96p0rj11lvll19+UY3G1VdfrcK47uKLL/aCtCBqlG1djjUgcYULF1bXBQLp5cqV67wSuPjEJJl1JNlCiiyKC/z9/BE7ReCaTLUImEXgOlgELsV/mQp0PTAEzogRI4HEELiQkCzzdgyQz5ZUkR6La8qI9c1l3MZ2MnB1fRm78UM5eCzWwk4ZuKqhtJxVyoe8+SNwdIydOnWSG264IRVuvPFGufnmm+WRRx6R/fv3K00Gmg3CS5QoISNHjvTeF51hrVq11LnXX39dTVGVKlVKHffr109NW9WuXVsda9x0001y2223qXgrVqzwpvXTTz+p8+XKlZMJEyakev7ly5er63QazZo1CzhV5hZ2HEySXD1OSvbuf8iqWN/zwSDFene/z50tv8+aLic2b/A5r3Hy6Eb5a884+ePgfEk5ttvnPNh9OEkWbE2UaRsSJS4ee64k2XM40SJDyfLAf1OoqQlcopxcskh+nzNLTq44Px0wneaiRYsUqdLkCDLHwMEeTxM4TZ7efPNN2bx5szp39OhRVe4I53yxYsW8BO6aa65RhA+yVr9+falTp45Uq1ZNhRG/cuXKMnHiRJ/7QktHnLx588rll1/uBcdZhcApMIVrm8Z12uYxVXrkmDWIi0891eskcIGmUI8nsAgnXqXjPGcInBEjRgKJIXBBIVmmx/SSDvMrStfFD1kd90E5lnBI9hzdIJM3d5Kf1zSSfsuekA/mlbbI26tW455gNcbx0ntpjaAI3McffyzZsmWT7NmzS44cOSRnzpwK/CecThXt15IlS7xx6CT1/UHSmGri3NixY1XnAsHi2i5duqhrK1asqI4BnSLpE59j0ps1a5a6lwEDBqgwOuPRo0en0sA899xz3vhcCwngu/u+L/cwcmWyZOt+Sq7//k85Hp/6HATqwFE/iPNMpSYfPCinxowQeewBkeqVRB4F98v/mr0lScfOaIRO7Z8hp9c1FFlQTmRxec/v/Aryvy2dvHHQsvWYnSwX9vAsoMjR8y+59KvfpeaPhP0lczen+BC4lJ075H/P1bTlXUn+17ihJB/nnZ1b4mvHpk2b5KWXXlKECGJ11VVXKS1cixYtUsWzEzitqbv99tuV9q5u3bpe8uaPwBF23333qXR0mVm8eLEqI6TDYMFJxBhYbN26VbZt25YKaOy4JisQuCPHE+SST+bJJW3nyD1fL7XqfaLksf5f2na2PPHjKvl0+lbJ/f4Myd5kupouvfKb5XL4uIeI2QlcduvcJW3myE/LdqlzaNzGrt0rtYeukQubWXGazZKLPpwp1/VcJMtsCx4MgTNixEggMQQuTSRbo+M46b7kMXl/dkkZura5mkIdtb6NtJxbVvqvqq8I3L6jmz2j8qR46bH4cemypJqs2DXaGnGflO9WviotZpVIk8BhdwQxosNCy/XHH3+o51iwYIEiZpwbMmSICkNjoUkYxIw06DghVYShKSHNQAQO4sa3Ig8I2j333KPCmQabM2eOXwIHuEaTy0GDBqn4xHNq6dwEnVy/eYlq+rTy4FMWKT5zDm3G5zNSJGfPUxb+8KCH5/eCPqcUuTv9Sh2LPN0v/77TQE6uWS0nNm+SP7/7Wk5bhOp/H78vJ7dukZPHtltkzSJs88rJvxs+kt+PrJa/Y3+W0ytetMLLyv/t+lmSrTLwy8okdR/PDLW+/4pEWb87URqPTZLLe5+UbF1OyrwtJ1IRuD8mj5fTdZ+U0zUfkj9mTJETWzfL7/Pnyr81HpB/OraVlO3bfJ73XCAlJUXef/99ueKKK1TZYdocjRgECSJHpdeEy07gSpcureLzn7LAL0StbNmyqpz6I3D33ntvKs0U6TZs2NBL+ubNm+c9R7x69erJhg2+GlGm/8kjKxA4NGPZmk6XbO9Oltu6zpc4i8DlfG+Kh5Q1nyrZ35sm2Szila2lhXcnqfBCHefJtI37UxE4hcbTZMDCnWow0HNOjOdaK91szaZJ9tazFUnL9s5kyWH9Log5qMq4IXBGjBgJJIbApYlkORi3wyJgJaXn0kflQNw2+W1Te2m5oJRF7I5aDewJmbD5M3l/bikZtr6pImUd5z8gHRZUlgU7BlqELlF6LXlCms8MjsAxxcVUl87/5MmTyk6Icy1btlTk7MUXX1THaMDWr18vhw4d8mrS6HR1ZxyIwNEh8qF13suWLVPX586dW8X1R+DQlPz4448qnHS4Vt8zGh3S8H137mDiuiTJ1v1PKfjNKeudpT43a1OSdJuVIt3nWJidIp9NS5Hb+5+QC776U1I2bhR55H4Ri0AlH7EZ0ienyP91aK20Yv98+pH8b0sHj8Zt+ZPisYEjXopF2o6ILKxshdeSv/dPkZLfn5RbrHs4nuDRxhHvRErSf8TulMyzaeB+3jFb5K2XVR5/jh0lKbtj5a/eXeSf914XeexB+bfRq/LnpPE+z3ouAPkpUKCAl5QRxvQ7tmyUt759+6oyRLjdBg7t3Jdffum1U2NaE2I1fvz4kAgcZUpPh44YMUKFY3vHVD+DE7SDznvOegRuhkW0ptgI3OT/SNkk6b1gpxyy4hyMi5dPZ8SoMOJe3GWB9ZxnCNyln8yX3YePWwOLBNl7JF6yW3FyNLHS7LlQ9ljhaPpWxB6W18esV2lc0GaWDF2xyxA4I0aMBBRD4NJBitWZt59/r3y8oIwsjR0ma/dNlRZzS8rh4x4bKQgcixY+mltGJm7uIk3nlJBpW7+0OvpjsmHfTKV9Y3WqJnGhEDgaOzQenKNDhcD17t3bS+CYakKDwTF44403QiJwgIUIaNZY8cfqQn8EjsUMDRo0UOHcK1odbJq4B+4ZjZzzvbmFNbssAtfjlFzU/aTsOpT6HBo5CJXGsp1JUnHwCbm23yllc6YI3Iu1JSkhPtV1fw7+XpGrfy2SdXrDuxZRqyCnN33kk7eseEpk9cNyatfPckOfk1L1h5RUdkwQOTRxObr/nYrADYuda+X7tMjDFeWUReD+r3NbRdykZhX5X5OGcnLBPEnZm3qByLkCU5QQJcjQa6+9psoCtm9ovwh75ZVX1ECAuHYC17RpU2VL2bx5c3VcpUoVReSZog80heqPwLVv395L4H799Vd1Hi0gpJJBQzgTODRwB63zaIrBgbgEi2hNU1q0Cz+aoWza7DZwJ1OSVflZtOOQSq9g+9ny45KdygZOA8KWvck0yWGl8bRF5rbsNwTOiBEj/sUQuCCwcf8saWYRsY/ml1X+275Z9rx0XVxd1uyZaBG4jmds3GaVkiWxwy1ytk/mbPtWms4oIV8uqy0r9/wq++NipNfSx33ciKRH4CpVqqTOMQ0GgaMD1rZxjz/+uHTr1s1L4Fg1qK9lIUR6BI68yQ8iBoHDHYSTwBGvVatWqmMnDgsmSI+OOH/+/OraQoUKnTNfXfEWMbtzwAnJ3vV3eXMMTpN94wBWhb4+Mkly9jgpr4yySNrs6R4CV/9pHwJ3CgKHPdqb9UW8BO5jnzQVgVsFgRsi11kErtrAlNSrTy1s2pNkEbi/UhG4oRA4K1+mak9Xr6imcH+37icldqckpmSuE+ePPvpIESFIVMGCBRVx0r+E8V1ZrEBZsBM4vUCF70rZo8yESuBoE7B901OokElWS9eoUUMdQ+D0Igm9MACwyjqr2MAFInDZLVJWqvvCVHHRuOdq7CFsF1jkjhWsXgL3nxuRw8cTpOusbVZ6FgFsNlVytp0ruT4B8zywjrO9N0lp6K7rPF858jUEzogRI/7EELigkCzjNrWTVnPKyDcrn1edzA+rGkib+ZXkl3Xvy/SYnrJg5yA5dDxWZm3rJy3nlpbms0vJhC2fCasQSYNrFu0aKs0tIng2BI5w7JkIo5MrXry4+k+HqG3iQCAChw3brl27VKeIXd3dd9+twjE2x32JPwLHNYRB1vQCC+ciCH+aFLewZHui1Pr5hPID9+64ZJm+0aNxYwUovwfjkqTZxGTJ0e2k5PnylGzaa73XuKOexQOPVJQ/5s4W/R2Sj8XJv3WfktNPVZe/fhkmf+4ZIzKvrFq0kHJsp4qXnBQvpw7OE5lbVk6vfUv+OLpW6o86YZHD32XpzmTVMbNIYuv+RHltTJJk6/J7agK3dYayc5MaleXfhvWtPP9b6GGVgVOjhsnJVcv/W8jg+6xugjLHqmGIEDaLrFSuWbOmAv8pI5yDiFMm/BE40kHjym96BK5MmTKybt06NaU+adIkqVq1qkqLcs0iCO4HAsfAQ2vYmNYtX768AtrmZ555Ri2auPbaa7M0gcthkbL7eqUmcPgkvMBG4NAQKz9w/2ngIHBHjidKr7nbVViO96fKDV/Ml8Jd7FggRSwU7rJQ7vt2ucTsNwTOiBEj/sUQuCBxNH6/jF7/sbw/r5Ss2zfdaoj3ytJdv8iUzV1l79EtsvvwRhm/+VNpMece+WTBfRbBe1PiE45bnaDHp9jm/fOl9dzyZ62BI/5jjz3mXVCgFznccsst3g4XBCJwXMe0Flo17JoIA3ToW7Zs8SFw+O/SGj86ejQq+ADjV0/TQuSwkSNfp28xN0BHONMibSxQYBXoHQNOyOAliTJrY4KMWJ4o7SYnyoU9T0rO3n+qHRoSLVIHWRK1iKGS/O+dBnKCRQwxW+TP7/rK6Uful/991EJObt4kJ+O2qQUMahHDxtZy8ug6+XsXixjqKWL3V+wQSU44KsOXexYxPD8sWW3ZtXFPkjT5NUku73XCs4jBsQr11MxpcvrlOnL6sQfk1ISxcjJmq5xcsVT+rVdb/m3ZWH5fttjnOd0EZQftFt8YzSlaLzRgTJ8CzrEyFeLFQIAFLM4pVHt5AukRODSx999/v1SoUEGVD8ozaZM3fg1Jw07gdN7abxxlDtci5ItrHcLCmcApDVxTz3GedvPlZLKH+I9avUctXrix4xwZvCxWZm854MW8mIMy38Is6/+S7YeMDZwRI0YCiiFwISA5+YQs3DFYPph7j/Re/oRM3NRZft34sXRecq90XfagDLFI2waL3J1M+VPY73TrwYXy/apX5ZN5ZTzOfQPYwLVu3VoRITpPHPHq/GjsWGHKOWyRtAYOJ7xMg2nyBcEaPnx4qntFg8E5pkUhcDodO7RLEjpj/MxxL99++62XwI0aNUo6d+7sjY+/OO6JxRX84gRYa+dwN/Hbb7/JW2+9pTR5znfnBtbvTpIqg07IRX3/VHZn2Xv8n2Tv+X+Ss9ufUvL732XFTqbgzsRP3r9fTg37UaTGAyLV7hWpWkH9/tvkDUn+712CP/dNkdOr6ntWo4KFFhaUl/9taiva3Qf2bh2nJcsFPf6U7N3/khzdTsnFfU7Jo9b9QOwgcJVmfiS5xr0ow/7bSitl925F4uThM3lL7epycuF8ST52Rlt6LsC3YVcESBI+/XDO7CRkfE/tG+7pp59WTpw5Rhv74Ycf+sSHwLGIgTg4AsamDW3Zddddp4iixpVXXqlI3UMPPaTsI9G86bScBE6DNOxOpfXAhnPhSuDYnSNn2zlqdSoLFr5ZtFNiDx1XdnOsNM1uhV/88WxZtO2g7Dh4TKZu3Cd1R66VIr0WyYGjnoGQk8BRDrGjy6hD6/MNQ+CMGHFPDIELGckSn3BUlu8eK+M2tZdpW7vIzsMrZcuBBbJw52AZsrqZdFxUVT6aV0qa+NmNwUngAMbidGxr16712XqIqUnO0blq7RaEDG0KNm8AjYp9+hRgmM512KzRgaJx0fE1iMMiBj1FBtjhgXPcC50z+ev4zndBJ0s8fZ7nGDdunMrTGdctQNCOxFlEYEeSTF6fJEtikmTrXo+tnDOugnWPyfv3yR8L58ofs2fIia1bUjlltePk0c3y197f5PdDS+QE06k2AoO9G3nsPJgky7YnqT1XWRU7dT02cKdksXUfe+IOyI4je+VI/Bkfc8nWdzmxfq38Pmem0rol+9la6lyAb472FNJP3Qxko6jj8Esc/R+y5owLKIM6Dv/1NXZwjjydBBDg5w27TVahsuiGX1yNUHaccQHlPNC9ZAYUgWt2hsDhBw43IgEJnHIFMkkRuGSrrXhnzAbJ1WKWCkPr9u38HYp8DbDIXI4mLHiY5Fn40AI3JEy3TpLsjafLF3O2ydH4BNmsCNxk69w0ReDW7j4ijcdukNGrM2cRjNswBM6IEffEELizAA30/7d3dy9t3XEcx8fo1aAXuyj9B1rWi3a76L/R/2BsY9ct9G43uxi73KodZQzmFMFJF41KJ8OuWbbswibObMRYSwhqM+LU+ZQHFGNE9LPzPeIDUetSjzY/eb/gjVCPx7v64Zyc5JE34u5Ebvjd9gba7Z+PyTvmzpN3+SxUx+qIl3TpQUVD49tDzv4ID48XdauzrAvNa/7r8Gp/hg7Phl1ttcc0Sjairt6Lez3VrY6//CdFrzUN6p17g3r/YerA8de8465+OajrD+L+oLN/S4zP6OY3Q7r8eUydf+y9ka/dMr3b/0xvf/ab3vjkF13yvv/e1wlFxqZ2H9axK3NXvhjUFe+8d38cU/rvf9UUy+qndP7A73YhBhwQHAbcCXv6olPfDX+0XfKY/OM+9L8uLL2+20JUf98nSv4nMHzwQ0nhZEnxbFEfh0p6q2lZ179dPXA8nY/srUAiz/KKjuU1NDHrXwGOPp/Sr17DE9vvn7eTvb7Nvhd9ntfvmb236rGxn5ycVc+fOWWm9m7d261Q+/itUPKFvvJGWdj7GvfG3v7bowuFgjfo8n529W3BG5Sp3Jxys6f/EMxpxIADgsOAO2F2Fc4eVKi32vNQY+d/lFa0rIv313ThflVvNq/pYnNFN1pWvD/KjXsFiaiRYsABwWHAEdXR1Jy991tRyYmy/pmz90k7eAwRHR4DDggOA46o3uwWl6NPARK9zhhwQHAYcEREdCYx4IDgMOCIiOhMYsABwWHAERHRmcSAA4Jz7gZctVr1RxwRETVWlUql9r9sAK/o3A04AACA844BBwAA4BgGHAAAgGMYcAAAAI5hwAEAADiGAQcAAOAYBhwAAIBjGHAAAACOYcABAAA4hgEHAADgmEAH3OTk5O4Jo02PiYiIqJko+PYG3KOTDbjFxUXlcjmFP324e1IiIiIiOr2edAxoZmbm1QbcxsaGSqWSpqenlUgk1Nvbq/b2drW2tqqlpYWIiIiIAqqtrU2hUEj9/f1KpVL+XdD19XVtbm7WTrRdhw44W3zLy8uan59XOp1WJBJRX1+fwuGwurq6iIiIiCiAuru71dPTo4GBAcViMWUyGRUKBf9uaN0DbmtrS9VqVSsrK/5lvGw2q9HRUY2MjPjLkIiIiIiCyS6W2XCzh0ft4lmlUvHHm+2xoxw64Iz9oN1KtZOUy2UVi0V/ES4tLRERERFRQNm+sq1ldz93Xvv2svFmjhxw9oM24uwSnl2NsyFnra6uEhEREVFA2b6y4WZ7yy6evezW6Y4jB9wOG3L7s5MSERERUTDt31n/17EDDgAAAI2FAQcAAOAYBhwAAIBjGHAAAACOYcABAAA4hgEHAADgGAYcAACAYxhwAAAAjmHAAQAAOOY/9lSGn24aPsUAAAAASUVORK5CYII=&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;llm-d integrates three foundational open-source technologies into a unified serving stack:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;vLLM&lt;/strong&gt; - The high-performance inference engine that executes model inference.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Inference Gateway (IGW)&lt;/strong&gt; - An official Kubernetes project extending Gateway API with AI-aware routing.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Kubernetes&lt;/strong&gt; - The industry-standard orchestration platform for deployment and scaling.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By combining these technologies, llm-d enables organizations to deploy LLM inference at scale across hybrid cloud environments with the fastest time-to-value and competitive performance per dollar.&lt;/p&gt;

&lt;h2 id=&quot;three-key-innovations&quot;&gt;&lt;strong&gt;Three Key Innovations&lt;/strong&gt;&lt;/h2&gt;

&lt;h3 id=&quot;intelligent-inference-scheduling&quot;&gt;&lt;strong&gt;Intelligent Inference Scheduling&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Traditional load balancing uses simple round-robin routing, treating all servers equally. llm-d’s &lt;strong&gt;vLLM-aware scheduler&lt;/strong&gt; makes intelligent decisions by routing requests to instances with matching cached prefixes, distributing load based on whether instances are handling compute-intensive prefill or memory-bound decode operations, and using real-time telemetry from vLLM to avoid overloaded instances while prioritizing low-latency paths. This intelligent routing reduces infrastructure costs by 30-50% while maintaining latency SLOs.&lt;/p&gt;

&lt;h3 id=&quot;disaggregated-serving&quot;&gt;&lt;strong&gt;Disaggregated Serving&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;llm-d orchestrates vLLM’s native disaggregated serving (via KVConnector API) at production scale, separating prefill and decode across specialized workers:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Prefill Workers&lt;/strong&gt;: Handle compute-intensive prompt processing on high-performance GPUs (H100s, MI300X) and scale independently based on demand.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Decode Workers&lt;/strong&gt;: Focus on memory-bound token generation using cost-effective GPUs (A100s, L40S) and scale based on concurrent sessions.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;KV-Cache Transfer&lt;/strong&gt;: Provides efficient cache movement using NVIDIA NIXL over UCX, support for offloading to storage backends (&lt;strong&gt;Future Delivery&lt;/strong&gt;), and global cache awareness across the cluster.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This allows right-sizing infrastructure: expensive GPUs only for prefill, cost-optimized hardware for serving thousands of concurrent users.&lt;/p&gt;

&lt;h3 id=&quot;distributed-prefix-caching&quot;&gt;&lt;strong&gt;Distributed Prefix Caching&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;llm-d extends vLLM’s prefix caching across multiple instances with two approaches:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Local Caching&lt;/strong&gt;: Offloading to memory/disk on each instance with zero operational cost&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Shared Caching&lt;/strong&gt; (Planned): KV transfer between instances with global indexing for cluster-wide cache awareness&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;deployment-patterns&quot;&gt;&lt;strong&gt;Deployment Patterns&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt;llm-d enables several advanced enterprise patterns:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Heterogeneous Hardware&lt;/strong&gt;: Mix GPU vendors and generations based on workload—high-end GPUs for prefill, cost-optimized GPUs for decode, or CPU clusters for low-frequency requests.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Dynamic Scaling&lt;/strong&gt;: Independently adjust prefill capacity during peak hours while maintaining steady decode capacity for active sessions, with automatic resource allocation and failover.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Geographic Distribution&lt;/strong&gt; (Roadmap): Deploy centralized prefill workers in primary data centers with edge decode workers near users for low-latency responses.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;integration-with-red-hat-openshift-ai&quot;&gt;&lt;strong&gt;Integration with Red Hat OpenShift AI&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt;OpenShift AI provides enterprise packaging for llm-d with unified deployment via KServe for all components, service mesh routing between workers, full observability with pre-built dashboards, and GitOps configuration management. Enterprise security features include consistent RBAC policies, encrypted communication between workers, audit logging for distributed flows, and network policy enforcement.&lt;/p&gt;

&lt;h2 id=&quot;operational-benefits&quot;&gt;&lt;strong&gt;Operational Benefits&lt;/strong&gt;&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Cost Optimization&lt;/strong&gt;: 2-3x better GPU utilization, 40-60% less over-provisioning&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Scalability&lt;/strong&gt;: Independent scaling of components, proven to 100+ node deployments&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Resilience&lt;/strong&gt;: Failure isolation between phases, automatic failover, graceful degradation&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;multi-accelerator-and-hybrid-cloud-support&quot;&gt;&lt;strong&gt;Multi-Accelerator and Hybrid Cloud Support&lt;/strong&gt;&lt;/h2&gt;

&lt;h3 id=&quot;breaking-free-from-hardware-lock-in&quot;&gt;&lt;strong&gt;Breaking Free from Hardware Lock-in&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;The rapid evolution of AI accelerators has created a diverse hardware landscape. While specialized solutions like TensorRT-LLM deliver special optimizations for NVIDIA GPUs, they create vendor lock-in that limits deployment flexibility. vLLM’s hardware-agnostic design provides freedom to choose the optimal accelerator for each use case.&lt;/p&gt;

&lt;h3 id=&quot;comprehensive-hardware-support&quot;&gt;&lt;strong&gt;Comprehensive Hardware Support&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;vLLM supports NVIDIA GPUs (first-class optimizations for H100, with support for every NVIDIA GPU from V100 and newer), AMD GPUs (MI200, MI300, and Radeon RX 7900 series), Google TPUs (v4, v5p, v5e, and the latest v6e), AWS Inferentia and Trainium (trn1/inf2 instances), Intel Gaudi (HPU) and GPU (XPU), and CPUs featuring support for x86, ARM, and PowerPC &lt;a href=&quot;https://blog.vllm.ai/2025/01/10/vllm-2024-wrapped-2025-vision.html&quot;&gt;vLLM 2024 Retrospective and 2025 Vision - vLLM Blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This broad support enables several strategic advantages:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost Optimization&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Choose AMD MI300X for price/performance on certain workloads.&lt;/li&gt;
  &lt;li&gt;Use AWS Inferentia for cost-effective inference on AWS.&lt;/li&gt;
  &lt;li&gt;Deploy on existing CPU infrastructure for low-throughput use cases.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Supply Chain Resilience&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Avoid dependency on single GPU vendor availability.&lt;/li&gt;
  &lt;li&gt;Negotiate better pricing with multiple options.&lt;/li&gt;
  &lt;li&gt;Adapt to regional hardware availability.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Workload Matching&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;NVIDIA H100s for maximum performance.&lt;/li&gt;
  &lt;li&gt;AMD GPUs for open-source aligned deployments.&lt;/li&gt;
  &lt;li&gt;TPUs for Google Cloud deployments.&lt;/li&gt;
  &lt;li&gt;Intel Gaudi for specific enterprise agreements.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;hybrid-cloud-deployment-patterns&quot;&gt;&lt;strong&gt;Hybrid Cloud Deployment Patterns&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;vLLM on Red Hat OpenShift AI enables true hybrid cloud flexibility:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On-Premises Core&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Sensitive data processing on local infrastructure.&lt;/li&gt;
  &lt;li&gt;Compliance-required workloads.&lt;/li&gt;
  &lt;li&gt;Predictable capacity for baseline load.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cloud Burst Scaling&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Handle peak loads with cloud resources.&lt;/li&gt;
  &lt;li&gt;Experiment with new hardware (H100s, TPU v6e).&lt;/li&gt;
  &lt;li&gt;Geographic expansion without infrastructure investment.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Edge Inference&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Deploy on edge-appropriate hardware.&lt;/li&gt;
  &lt;li&gt;CPU or smaller GPU inference.&lt;/li&gt;
  &lt;li&gt;Integrated with central management.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;unified-operations-across-environments&quot;&gt;&lt;strong&gt;Unified Operations Across Environments&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Red Hat OpenShift AI provides consistent operations regardless of deployment location (public vs private cloud):&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Single Control Plane&lt;/strong&gt;: Manage all deployments from a unified interface.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Consistent APIs&lt;/strong&gt;: Same application integration across environments.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Unified Monitoring&lt;/strong&gt;: Aggregated metrics across hybrid deployments.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Policy Enforcement&lt;/strong&gt;: Consistent security and compliance policies.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;real-world-flexibility-examples&quot;&gt;&lt;strong&gt;Real-World Flexibility Examples&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Financial Services Scenario&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;On-premises NVIDIA GPUs for sensitive data processing.&lt;/li&gt;
  &lt;li&gt;AWS Inferentia for public-facing chatbots.&lt;/li&gt;
  &lt;li&gt;CPU inference for branch edge deployments.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Healthcare Provider&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;AMD MI300X in private cloud for cost optimization.&lt;/li&gt;
  &lt;li&gt;Google TPUs for research workloads.&lt;/li&gt;
  &lt;li&gt;Intel CPUs for clinical decision support.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Retail Organization&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Centralized GPU clusters for training and complex inference.&lt;/li&gt;
  &lt;li&gt;Edge CPU deployment in stores.&lt;/li&gt;
  &lt;li&gt;Cloud scaling for seasonal peaks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This hardware and deployment flexibility ensures that architectural decisions made today won’t constrain options tomorrow, a critical consideration as the AI hardware landscape continues to evolve rapidly.&lt;/p&gt;

&lt;h2 id=&quot;model-ecosystem-and-compatibility&quot;&gt;&lt;strong&gt;Model Ecosystem and Compatibility&lt;/strong&gt;&lt;/h2&gt;

&lt;h3 id=&quot;supporting-the-entire-open-source-model-landscape&quot;&gt;&lt;strong&gt;Supporting the Entire Open-Source Model Landscape&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;As AI gold-run increases it’s pace, vLLM had evolved to support performant inference for &amp;gt; &lt;a href=&quot;https://docs.vllm.ai/en/stable/models/supported_models.html#text-generation&quot;&gt;100 model architectures&lt;/a&gt;: spanning nearly every prominent open-source large language model (LLM), multimodal (image, audio, video), encoder-decoder, speculative decoding, classification, embedding, and reward models &lt;a href=&quot;https://blog.vllm.ai/2025/01/10/vllm-2024-wrapped-2025-vision.html&quot;&gt;vLLM 2024 Retrospective and 2025 Vision - vLLM Blog&lt;/a&gt;. This comprehensive support represents a fundamental advantage over specialized solutions that focus on limited model families.&lt;/p&gt;

&lt;h3 id=&quot;beyond-traditional-llms&quot;&gt;&lt;strong&gt;Beyond Traditional LLMs&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;vLLM’s architecture supports diverse model types:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Language Models&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Llama family (including Llama 3.1 405B).&lt;/li&gt;
  &lt;li&gt;Mistral and Mixtral MoE models.&lt;/li&gt;
  &lt;li&gt;Google’s Gemma models.&lt;/li&gt;
  &lt;li&gt;IBM’s Granite series.&lt;/li&gt;
  &lt;li&gt;Alibaba’s Qwen models.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Multimodal Models&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Vision-language models (LLaVA, Qwen-VL).&lt;/li&gt;
  &lt;li&gt;Document understanding models.&lt;/li&gt;
  &lt;li&gt;Audio-language models.&lt;/li&gt;
  &lt;li&gt;Video understanding capabilities.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Specialized Architectures&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Production support for state-space language models, exploring the future of non-transformer language models &lt;a href=&quot;https://blog.vllm.ai/2025/01/10/vllm-2024-wrapped-2025-vision.html&quot;&gt;vLLM 2024 Retrospective and 2025 Vision - vLLM Blog&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Mixture of Experts (MoE) models.&lt;/li&gt;
  &lt;li&gt;Encoder-decoder architectures.&lt;/li&gt;
  &lt;li&gt;Embedding and reranking models.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;ease-of-model-integration&quot;&gt;&lt;strong&gt;Ease of Model Integration&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Adding new models to vLLM follows a standardized process:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Model Architecture Definition&lt;/strong&gt;: Implement using familiar PyTorch patterns.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Attention Backend Integration&lt;/strong&gt;: Leverage existing optimized kernels.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Tokenizer Support&lt;/strong&gt;: Direct Hugging Face compatibility.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Configuration Mapping&lt;/strong&gt;: Standard YAML-based configuration.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This standardization means new models can often be added timely, which is critical for organizations wanting to experiment with latest models. A great example for vLLM’s agility to adapt to the changing model landscape would be introducing a support for gpt-oss, which was released August 5, 2025, and shortly after, vLLM &lt;a href=&quot;https://github.com/vllm-project/vllm/releases/tag/v0.11.0&quot;&gt;v0.11.0 release&lt;/a&gt; included support for serving it in production environments.&lt;/p&gt;

&lt;h3 id=&quot;hugging-face-ecosystem-integration&quot;&gt;&lt;strong&gt;Hugging Face Ecosystem Integration&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;vLLM’s native Hugging Face compatibility provides:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Direct Model Loading&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Load models directly from Hugging Face Hub and/or from S3 compatible object storage backends (ex; MinIO).&lt;/li&gt;
  &lt;li&gt;Support for private model repositories.&lt;/li&gt;
  &lt;li&gt;Automatic weight conversion handling.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tokenizer Compatibility&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Use existing tokenizer implementations.&lt;/li&gt;
  &lt;li&gt;Custom tokenizer support.&lt;/li&gt;
  &lt;li&gt;Fast tokenizer optimizations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Configuration Preservation&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Respect model-specific configurations.&lt;/li&gt;
  &lt;li&gt;Support for custom model parameters.&lt;/li&gt;
  &lt;li&gt;Compatibility with fine-tuned variants.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;production-model-management&quot;&gt;&lt;strong&gt;Production Model Management&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Red Hat OpenShift AI adds enterprise features for model lifecycle:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Model Registry Integration&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Version control for deployed models.&lt;/li&gt;
  &lt;li&gt;A/B testing capabilities.&lt;/li&gt;
  &lt;li&gt;Rollback mechanisms.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Model Monitoring&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Performance tracking per model.&lt;/li&gt;
  &lt;li&gt;Usage analytics and cost attribution.&lt;/li&gt;
  &lt;li&gt;Drift detection capabilities.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;future-proofing-model-support&quot;&gt;&lt;strong&gt;Future-Proofing Model Support&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;The rapid pace of model innovation requires an inference platform that can adapt:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Community Contributions&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Active community adding new models.&lt;/li&gt;
  &lt;li&gt;Vendor-neutral development process.&lt;/li&gt;
  &lt;li&gt;Rapid integration of breakthrough architectures.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Flexible Architecture&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Modular design supports new model paradigms.&lt;/li&gt;
  &lt;li&gt;Not tied to specific model assumptions.&lt;/li&gt;
  &lt;li&gt;Ready for post-transformer architectures.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Enterprise Validation&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Red Hat’s testing and certification process.&lt;/li&gt;
  &lt;li&gt;Security scanning for model artifacts.&lt;/li&gt;
  &lt;li&gt;Performance validation across hardware.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This comprehensive model support ensures organizations can adopt new models as they emerge, without platform migrations or architectural changes a critical capability as the AI landscape continues its rapid evolution.&lt;/p&gt;

&lt;h2 id=&quot;enterprise-deployment-with-red-hat-openshift-ai&quot;&gt;&lt;strong&gt;Enterprise Deployment with Red Hat OpenShift AI&lt;/strong&gt;&lt;/h2&gt;

&lt;h3 id=&quot;production-ready-from-day-one&quot;&gt;&lt;strong&gt;Production-Ready from Day One&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Red Hat OpenShift AI is a flexible, scalable MLOps platform with tools to build, deploy, and manage AI-enabled applications. Built using open source technologies, it provides trusted, operationally consistent capabilities for teams to experiment, serve models, and deliver innovative apps. Read more about how RHOAI is solving this challenge in: &lt;a href=&quot;https://www.redhat.com/en/blog/accelerating-generative-ai-adoption-red-hat-openshift-ai-achieves-impressive-results-mlperf-inference-benchmarks-vllm-runtime&quot;&gt;Accelerating generative AI adoption: Red Hat OpenShift AI achieves impressive results in MLPerf inference benchmarks with vLLM runtime&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;kserve-integration-intelligent-model-serving&quot;&gt;&lt;strong&gt;KServe Integration: Intelligent Model Serving&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;The integration between vLLM and KServe within OpenShift AI provides enterprise-grade serving capabilities:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GenAI Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Multi-node/multi-GPU inference with vLLM serving runtime.&lt;/li&gt;
  &lt;li&gt;Key-Value cache offloading with vLLM + LMCache integrations.&lt;/li&gt;
  &lt;li&gt;Efficient model reuse via Model Cache.&lt;/li&gt;
  &lt;li&gt;KEDA integration to allow autoscaling based on external metrics.&lt;/li&gt;
  &lt;li&gt;Rate-limiting and request routing via integration with Envoy AI Gateway&lt;/li&gt;
  &lt;li&gt;Access to llm-d capabilities via the LLMInferenceService CRD&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Advanced Autoscaling&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Request-based scaling for optimal resource usage.&lt;/li&gt;
  &lt;li&gt;Scale-to-zero capabilities for cost optimization.&lt;/li&gt;
  &lt;li&gt;Predictive scaling based on traffic patterns.&lt;/li&gt;
  &lt;li&gt;Multi-metric scaling (GPU utilization, queue depth, latency).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Traffic Management&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Canary deployments for safe model updates.&lt;/li&gt;
  &lt;li&gt;Blue-green deployments for instant rollback.&lt;/li&gt;
  &lt;li&gt;A/B testing for model comparison.&lt;/li&gt;
  &lt;li&gt;Shadow traffic for validation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Service Mesh Integration&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;End-to-end encryption with Istio.&lt;/li&gt;
  &lt;li&gt;Advanced routing and load balancing.&lt;/li&gt;
  &lt;li&gt;Circuit breaking and retry logic.&lt;/li&gt;
  &lt;li&gt;Distributed tracing for debugging.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Automated Operations&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Health checking and automatic recovery.&lt;/li&gt;
  &lt;li&gt;Resource optimization recommendations.&lt;/li&gt;
  &lt;li&gt;Automated certificate management.&lt;/li&gt;
  &lt;li&gt;Log aggregation and analysis.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;security-and-compliance-features&quot;&gt;&lt;strong&gt;Security and Compliance Features&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Enterprise deployments require robust security:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Access Control&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;RBAC integration with enterprise identity providers.&lt;/li&gt;
  &lt;li&gt;Model-level access permissions.&lt;/li&gt;
  &lt;li&gt;API key management.&lt;/li&gt;
  &lt;li&gt;Audit logging for all operations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Data Protection&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Encryption at rest and in transit.&lt;/li&gt;
  &lt;li&gt;Private endpoint options.&lt;/li&gt;
  &lt;li&gt;Network policy enforcement.&lt;/li&gt;
  &lt;li&gt;Compliance reporting tools.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Supply Chain Security&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Signed container images.&lt;/li&gt;
  &lt;li&gt;SBOM (Software Bill of Materials) generation.&lt;/li&gt;
  &lt;li&gt;Vulnerability scanning.&lt;/li&gt;
  &lt;li&gt;Policy-based deployment controls.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;mlperf-validated-performance&quot;&gt;&lt;strong&gt;MLPerf-Validated Performance&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Red Hat, in collaboration with Supermicro, has made significant strides in addressing this challenge through the publication of impressive MLPerf inference results using Red Hat OpenShift AI with NVIDIA GPUs and the vLLM inference runtime &lt;a href=&quot;https://www.redhat.com/en/blog/accelerating-generative-ai-adoption-red-hat-openshift-ai-achieves-impressive-results-mlperf-inference-benchmarks-vllm-runtime&quot;&gt;Accelerating generative AI adoption: Red Hat OpenShift AI achieves impressive results in MLPerf inference benchmarks with vLLM runtime&lt;/a&gt;. These results validate:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Production-grade performance at scale.&lt;/li&gt;
  &lt;li&gt;Efficient resource utilization.&lt;/li&gt;
  &lt;li&gt;Consistent latency under load.&lt;/li&gt;
  &lt;li&gt;Multi-instance coordination capabilities.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;integrated-observability&quot;&gt;&lt;strong&gt;Integrated Observability&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Comprehensive monitoring without additional tooling:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Metrics and Dashboards&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Pre-built Grafana dashboards for vLLM metrics.&lt;/li&gt;
  &lt;li&gt;Pre-built Grafana dashboard for request scheduler metrics driving routing decisions.&lt;/li&gt;
  &lt;li&gt;Token generation rates and latencies.&lt;/li&gt;
  &lt;li&gt;GPU utilization and memory usage.&lt;/li&gt;
  &lt;li&gt;Queue depths and rejection rates.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Alerting and Response&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Automated alerts for SLA violations.&lt;/li&gt;
  &lt;li&gt;Integration with enterprise monitoring systems.&lt;/li&gt;
  &lt;li&gt;Runbook automation capabilities.&lt;/li&gt;
  &lt;li&gt;Capacity planning insights.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;cost-management-and-optimization-future-delivery&quot;&gt;&lt;strong&gt;Cost Management and Optimization (Future Delivery)&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Features designed for enterprise cost control:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Chargeback/Showback&lt;/strong&gt;: Track usage by team or project.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Resource Quotas&lt;/strong&gt;: Prevent runaway costs.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Spot Instance Support&lt;/strong&gt;: Reduce costs for batch workloads.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Idle Detection&lt;/strong&gt;: Automatically scale down unused resources.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This enterprise-grade platform transforms vLLM from a high-performance inference engine into a complete production solution, ready for mission-critical deployments.&lt;/p&gt;

&lt;h2 id=&quot;feature-comparison-vllm-vs-tgi-vs-tensorrt-llm&quot;&gt;&lt;strong&gt;Feature Comparison: vLLM vs TGI vs TensorRT-LLM&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;✓&lt;/strong&gt; = Full Support &lt;strong&gt;◐&lt;/strong&gt; = Partial/Limited Support &lt;strong&gt;✗&lt;/strong&gt; = No Support&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;data:image/png;base64,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&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;key-differentiators-for-rhoai-with-vllm&quot;&gt;&lt;strong&gt;Key Differentiators for RHOAI with vLLM:&lt;/strong&gt;&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Hardware Flexibility:&lt;/strong&gt; Broadest accelerator support including AMD, Intel, Google TPUs, and CPUs.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Model Ecosystem:&lt;/strong&gt; Supports &amp;gt;100 model architectures vs 25-40 for alternatives.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Distributed Architecture:&lt;/strong&gt; Upcoming llm-d enables disaggregated prefill/decode and system wide kv-cache routing for distributed optimal scaling.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Enterprise Integration:&lt;/strong&gt; Native Red Hat OpenShift AI support with KServe autoscaling.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Memory Efficiency:&lt;/strong&gt; Advanced PagedAttention and KV-Cache management.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Open Development:&lt;/strong&gt; PyTorch Foundation project with rapid community innovation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;making-the-right-choice&quot;&gt;&lt;strong&gt;Making the Right Choice&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt;Count your “Yes” responses across all categories:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;0-2 “Yes” responses&lt;/strong&gt;: Consider specialized solutions if they meet your specific needs.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;3-5 “Yes” responses&lt;/strong&gt;: vLLM provides significant advantages for your use case.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;6+ “Yes” responses&lt;/strong&gt;: vLLM on Red Hat OpenShift AI is the strategic choice.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each decision point addresses fundamental architectural constraints:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Flexibility Requirements&lt;/strong&gt; determine if you need a hardware-agnostic solution.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Operational Complexity&lt;/strong&gt; evaluates if simplified operations justify open-source adoption.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Model &amp;amp; Innovation&lt;/strong&gt; assesses if rapid evolution demands an adaptable platform.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Long-term Sustainability&lt;/strong&gt; considers total cost of ownership and strategic risk.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;strategic-recommendation&quot;&gt;&lt;strong&gt;Strategic Recommendation&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;For organizations answering “Yes” to multiple questions above, vLLM on Red Hat OpenShift AI delivers:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Maximum Flexibility&lt;/strong&gt;: Deploy anywhere, on any supported hardware.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Operational Excellence&lt;/strong&gt;: Enterprise-grade platform with minimal complexity.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Future-Readiness&lt;/strong&gt;: Support for emerging models and architectures.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Cost Optimization&lt;/strong&gt;: Choose optimal hardware for each workload.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Risk Mitigation&lt;/strong&gt;: Open-source foundation with enterprise support.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The convergence of these factors makes vLLM the strategic choice for organizations building sustainable AI infrastructure.&lt;/p&gt;

&lt;h3 id=&quot;action-steps-for-adoption&quot;&gt;&lt;strong&gt;Action Steps for Adoption&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Immediate&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Deploy vLLM on Red Hat OpenShift AI in the development environment.&lt;/li&gt;
  &lt;li&gt;Test with your specific models and workloads.&lt;/li&gt;
  &lt;li&gt;Validate hardware flexibility with available accelerators.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Short-term&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Implement Autoscaling with KServe.&lt;/li&gt;
  &lt;li&gt;Establish monitoring and observability.&lt;/li&gt;
  &lt;li&gt;Train team on operational procedures.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Medium-term&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Plan production deployment architecture.&lt;/li&gt;
  &lt;li&gt;Implement hybrid cloud patterns if needed.&lt;/li&gt;
  &lt;li&gt;Prepare for llm-d distributed architecture.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Long-term&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Optimize costs through hardware selection.&lt;/li&gt;
  &lt;li&gt;Implement advanced deployment patterns.&lt;/li&gt;
  &lt;li&gt;Contribute improvements back to the community.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;conclusion&quot;&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;The choice of LLM inference platform represents a strategic commitment that will impact your organization’s AI capabilities for years to come.&lt;/p&gt;

&lt;p&gt;Our analysis demonstrates that vLLM on Red Hat OpenShift AI uniquely addresses the three critical requirements for enterprise LLM deployment:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Flexibility&lt;/strong&gt;: Deploy on any hardware (NVIDIA, AMD, Intel, TPUs) across hybrid clouds.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Scalability&lt;/strong&gt;: Advanced memory management and upcoming llm-d architecture enable 10-100x better resource utilization.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Sustainability&lt;/strong&gt;: Open-source foundation with enterprise support eliminates vendor lock-in.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;While TensorRT-LLM offers NVIDIA-specific optimizations and TGI provides Hugging Face integration, only vLLM delivers the architectural flexibility required for a rapidly evolving AI landscape. With support for &amp;gt; 100 model architectures, hardware-agnostic design, and the backing of both PyTorch Foundation -&amp;gt;  RHOAI with vLLM provides the most robust foundation for long-term success.&lt;/em&gt;&lt;/p&gt;

</description>
        <pubDate>Thu, 09 Oct 2025 00:00:00 +0000</pubDate>
        <link>https://terrytangyuan.github.io/2025/10/09/the-best-choice-for-ai-inference-vllm/</link>
        <guid isPermaLink="true">https://terrytangyuan.github.io/2025/10/09/the-best-choice-for-ai-inference-vllm/</guid>
        
        <category>Open Source</category>
        
        <category>Kubernetes</category>
        
        <category>Artificial Intelligence</category>
        
        <category>Machine Learning</category>
        
        <category>KServe</category>
        
        
      </item>
    
      <item>
        <title>Eight Lessons on Open Source Leadership and Community</title>
        <description>&lt;p&gt;&lt;em&gt;Originally posted on &lt;a href=&quot;https://terrytangyuan.substack.com/p/eight-lessons-on-open-source-leadership&quot;&gt;Substack&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Over the past months, I’ve been sharing thoughts on &lt;strong&gt;open source, leadership, and community building&lt;/strong&gt; on social media. This post provides a quick roundup of the themes so far.&lt;/p&gt;

&lt;p&gt;I recently started my journey here on Substack and you are welcome to follow along! You can also find me on &lt;a href=&quot;https://www.linkedin.com/in/terrytangyuan&quot;&gt;LinkedIn&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/TerryTangYuan&quot;&gt;X&lt;/a&gt;, &lt;a href=&quot;https://bsky.app/profile/terrytangyuan.xyz&quot;&gt;Bluesky&lt;/a&gt;, &lt;a href=&quot;https://fosstodon.org/@terrytangyuan&quot;&gt;Mastodon&lt;/a&gt;, and &lt;a href=&quot;https://github.com/terrytangyuan&quot;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;h1 id=&quot;-𝗧𝗲𝗰𝗵𝗻𝗶𝗰𝗮𝗹-𝗹𝗲𝗮𝗱𝗲𝗿𝘀𝗵𝗶𝗽-𝗶𝗻-𝗼𝗽𝗲𝗻-𝘀𝗼𝘂𝗿𝗰𝗲-𝗶𝘀𝗻𝘁-𝗮𝗯𝗼𝘂𝘁-𝗰𝗼𝗻𝘁𝗿𝗼𝗹---𝗶𝘁𝘀-𝗮𝗯𝗼𝘂𝘁-𝘀𝘁𝗲𝘄𝗮𝗿𝗱𝘀𝗵𝗶𝗽&quot;&gt;🔑 𝗧𝗲𝗰𝗵𝗻𝗶𝗰𝗮𝗹 𝗹𝗲𝗮𝗱𝗲𝗿𝘀𝗵𝗶𝗽 𝗶𝗻 𝗼𝗽𝗲𝗻 𝘀𝗼𝘂𝗿𝗰𝗲 𝗶𝘀𝗻’𝘁 𝗮𝗯𝗼𝘂𝘁 𝗰𝗼𝗻𝘁𝗿𝗼𝗹 - 𝗶𝘁’𝘀 𝗮𝗯𝗼𝘂𝘁 𝘀𝘁𝗲𝘄𝗮𝗿𝗱𝘀𝗵𝗶𝗽&lt;/h1&gt;

&lt;p&gt;In OSS, you don’t manage people. You manage trust.&lt;br /&gt;
You don’t assign work. You inspire contribution.&lt;br /&gt;
You don’t build teams. You cultivate communities.&lt;/p&gt;

&lt;p&gt;As a technical leader in open source, your role shifts:&lt;br /&gt;
- From directing code → to curating vision&lt;br /&gt;
- From fixing bugs → to empowering contributors&lt;br /&gt;
- From owning decisions → to navigating consensus&lt;/p&gt;

&lt;p&gt;Strong OSS leaders do more than merge PRs. They:&lt;br /&gt;
✅ Set clear technical direction&lt;br /&gt;
✅ Write accessible, empathetic documentation&lt;br /&gt;
✅ Welcome newcomers without gatekeeping&lt;br /&gt;
✅ Review with kindness, not ego&lt;br /&gt;
✅ Know when to say “no” — and when to say “not yet”&lt;br /&gt;
Most importantly, they recognize that leadership in OSS is earned, not appointed.&lt;/p&gt;

&lt;p&gt;Whether you’re a maintainer, contributor, or just starting out — remember: open source runs on shared effort and mutual respect. Technical excellence matters. But how you lead matters more.&lt;/p&gt;

&lt;h1 id=&quot;-𝗪𝗮𝗻𝘁-𝘁𝗼-𝗴𝗲𝘁-𝘀𝘁𝗮𝗿𝘁𝗲𝗱-𝗶𝗻-𝗼𝗽𝗲𝗻-𝘀𝗼𝘂𝗿𝗰𝗲-𝗦𝘁𝗮𝗿𝘁-𝘀𝗺𝗮𝗹𝗹---𝗯𝘂𝘁-𝘀𝘁𝗮𝗿𝘁&quot;&gt;🌱 𝗪𝗮𝗻𝘁 𝘁𝗼 𝗴𝗲𝘁 𝘀𝘁𝗮𝗿𝘁𝗲𝗱 𝗶𝗻 𝗼𝗽𝗲𝗻 𝘀𝗼𝘂𝗿𝗰𝗲? 𝗦𝘁𝗮𝗿𝘁 𝘀𝗺𝗮𝗹𝗹 - 𝗯𝘂𝘁 𝘀𝘁𝗮𝗿𝘁&lt;/h1&gt;

&lt;p&gt;When people ask how I got involved in open source, they’re often surprised by the answer:&lt;/p&gt;

&lt;p&gt;📌 It started with 𝗳𝗶𝗹𝗶𝗻𝗴 𝗮 𝗯𝘂𝗴 𝗼𝗻 𝗚𝗶𝘁𝗛𝘂𝗯.&lt;/p&gt;

&lt;p&gt;Early in my career, I was building ML models and hit a blocker in a popular Python library. I filed a bug and waited… After two days, I realized the fix wouldn’t come sooner unless I made it — so I dug into the unfamiliar codebase and fixed it.&lt;/p&gt;

&lt;p&gt;That small act turned into a habit:&lt;br /&gt;
➡️ Fixing small bugs&lt;br /&gt;
➡️ Improving documentation&lt;br /&gt;
➡️ Asking questions&lt;br /&gt;
➡️ Following community discussions&lt;br /&gt;
➡️ Submitting thoughtful PRs&lt;/p&gt;

&lt;p&gt;One contribution led to another. Over time, I became a 𝗺𝗮𝗶𝗻𝘁𝗮𝗶𝗻𝗲𝗿 of many open source projects like &lt;a href=&quot;https://www.linkedin.com/company/kubeflow/&quot;&gt;Kubeflow&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/company/argoproj/&quot;&gt;Argo Project&lt;/a&gt;, and &lt;a href=&quot;https://www.linkedin.com/company/kserve-project/&quot;&gt;KServe&lt;/a&gt;, XGBoost, and TensorFlow.&lt;/p&gt;

&lt;p&gt;The pattern repeated itself:&lt;br /&gt;
🛠️ I saw a need → made contributions → joined community calls → helped others.&lt;/p&gt;

&lt;p&gt;Today, I contribute by:&lt;br /&gt;
✅ Reviewing code &amp;amp; triaging issues&lt;br /&gt;
✅ Organizing contributor meetings&lt;br /&gt;
✅ Giving conference talks&lt;br /&gt;
✅ Writing books &amp;amp; blog posts&lt;br /&gt;
✅ Mentoring contributors&lt;/p&gt;

&lt;p&gt;💡 𝗠𝘆 𝗮𝗱𝘃𝗶𝗰𝗲?&lt;br /&gt;
You don’t need permission to contribute.&lt;br /&gt;
Start with curiosity, stay consistent, and participate with empathy.&lt;/p&gt;

&lt;h1 id=&quot;-𝗦𝘂𝘀𝘁𝗮𝗶𝗻𝗮𝗯𝗶𝗹𝗶𝘁𝘆-𝗶𝗻-𝗼𝗽𝗲𝗻-𝘀𝗼𝘂𝗿𝗰𝗲-𝗶𝘀𝗻𝘁-𝗮𝗯𝗼𝘂𝘁-𝗰𝗼𝗱𝗲-𝗜𝘁𝘀-𝗮𝗯𝗼𝘂𝘁-𝗰𝗮𝗿𝗲&quot;&gt;💙 𝗦𝘂𝘀𝘁𝗮𝗶𝗻𝗮𝗯𝗶𝗹𝗶𝘁𝘆 𝗶𝗻 𝗼𝗽𝗲𝗻 𝘀𝗼𝘂𝗿𝗰𝗲 𝗶𝘀𝗻’𝘁 𝗮𝗯𝗼𝘂𝘁 𝗰𝗼𝗱𝗲. 𝗜𝘁’𝘀 𝗮𝗯𝗼𝘂𝘁 𝗰𝗮𝗿𝗲&lt;/h1&gt;

&lt;p&gt;Open source projects don’t fail because of bad technology.&lt;br /&gt;
They fail because contributors burn out, communities fracture, or energy fades.&lt;/p&gt;

&lt;p&gt;Technical debt matters. But so does 𝗲𝗺𝗼𝘁𝗶𝗼𝗻𝗮𝗹 𝗱𝗲𝗯𝘁:&lt;/p&gt;

&lt;p&gt;PRs without response → contributors feel invisible.&lt;br /&gt;
Harsh reviews → contributors stop showing up.&lt;br /&gt;
No clear roadmap → contributors drift away.&lt;/p&gt;

&lt;p&gt;As a maintainer or leader, your job isn’t just writing great software. It’s creating conditions where people 𝘸𝘢𝘯𝘵 to keep showing up.&lt;/p&gt;

&lt;p&gt;That means:&lt;br /&gt;
✅ Balancing vision with flexibility&lt;br /&gt;
✅ Saying thank you as often as saying “LGTM”&lt;br /&gt;
✅ Mentoring the next wave of maintainers&lt;br /&gt;
✅ Building processes that survive you&lt;br /&gt;
✅ Remembering that community health is a feature, not an afterthought&lt;/p&gt;

&lt;p&gt;The hardest part of OSS leadership isn’t scaling code. It’s scaling trust, empathy, and continuity.&lt;/p&gt;

&lt;p&gt;If we care for the people behind the code, the code will take care of itself.&lt;/p&gt;

&lt;h1 id=&quot;-𝗢𝗽𝗲𝗻-𝘀𝗼𝘂𝗿𝗰𝗲-𝗶𝘀-𝗽𝗼𝘄𝗲𝗿𝗲𝗱-𝗯𝘆-𝗽𝗲𝗼𝗽𝗹𝗲---𝗻𝗼𝘁-𝗷𝘂𝘀𝘁-𝗰𝗼𝗱𝗲&quot;&gt;👥 𝗢𝗽𝗲𝗻 𝘀𝗼𝘂𝗿𝗰𝗲 𝗶𝘀 𝗽𝗼𝘄𝗲𝗿𝗲𝗱 𝗯𝘆 𝗽𝗲𝗼𝗽𝗹𝗲 - 𝗻𝗼𝘁 𝗷𝘂𝘀𝘁 𝗰𝗼𝗱𝗲&lt;/h1&gt;

&lt;p&gt;Behind every release, every merged PR, every answered issue…&lt;br /&gt;
There’s someone who took the time to care.&lt;/p&gt;

&lt;p&gt;🧑‍💻 A maintainer reviewing PRs late at night&lt;br /&gt;
📚 A contributor improving documentation so others can follow&lt;br /&gt;
🛠️ A developer fixing a tricky bug that wasn’t even theirs&lt;br /&gt;
🙋‍♀️ A community member helping someone in a Slack thread&lt;/p&gt;

&lt;p&gt;These quiet acts of contribution keep open source alive.&lt;/p&gt;

&lt;p&gt;Today, let’s do something simple but meaningful:&lt;/p&gt;

&lt;p&gt;💬 𝗧𝗮𝗴 𝗼𝗻𝗲 𝗽𝗲𝗿𝘀𝗼𝗻 𝗶𝗻 𝘁𝗵𝗲 𝗰𝗼𝗺𝗺𝗲𝗻𝘁𝘀 𝘄𝗵𝗼’𝘀 𝗺𝗮𝗱𝗲 𝘆𝗼𝘂𝗿 𝗢𝗦𝗦 𝗷𝗼𝘂𝗿𝗻𝗲𝘆 𝗯𝗲𝘁𝘁𝗲𝗿.&lt;br /&gt;
Maybe they reviewed your first PR, mentored you, or just modeled what good community looks like.&lt;/p&gt;

&lt;p&gt;A little gratitude goes a long way.&lt;/p&gt;

&lt;h1 id=&quot;-𝗜𝗻-𝗼𝗽𝗲𝗻-𝘀𝗼𝘂𝗿𝗰𝗲-𝘀𝗺𝗮𝗹𝗹-𝘄𝗶𝗻𝘀-𝗮𝗿𝗲-𝘁𝗵𝗲-𝗯𝗶𝗴-𝘄𝗶𝗻𝘀&quot;&gt;🏆 𝗜𝗻 𝗼𝗽𝗲𝗻 𝘀𝗼𝘂𝗿𝗰𝗲, 𝘀𝗺𝗮𝗹𝗹 𝘄𝗶𝗻𝘀 𝗮𝗿𝗲 𝘁𝗵𝗲 𝗯𝗶𝗴 𝘄𝗶𝗻𝘀&lt;/h1&gt;

&lt;p&gt;It’s easy to focus only on major milestones — big releases, new features, or keynote talks.&lt;/p&gt;

&lt;p&gt;But the real strength of an OSS project lies in the 𝘭𝘪𝘵𝘵𝘭𝘦 𝘮𝘰𝘮𝘦𝘯𝘵𝘴 that often go unnoticed:&lt;/p&gt;

&lt;p&gt;✅ A first-time contributor submitting their first PR&lt;br /&gt;
✅ A bug fix that unblocks someone&lt;br /&gt;
✅ A community member getting promoted to reviewer or maintainer&lt;br /&gt;
✅ A shout-out in a conference session&lt;br /&gt;
✅ Someone asking (or answering) a good question in Slack or GitHub&lt;/p&gt;

&lt;p&gt;These are the moments that build trust.&lt;br /&gt;
That turn users into 𝘤𝘰𝘯𝘵𝘳𝘪𝘣𝘶𝘵𝘰𝘳𝘴.&lt;br /&gt;
Contributors into 𝘭𝘦𝘢𝘥𝘦𝘳𝘴.&lt;br /&gt;
And projects into 𝘤𝘰𝘮𝘮𝘶𝘯𝘪𝘵𝘪𝘦𝘴.&lt;/p&gt;

&lt;p&gt;If we want OSS to thrive, we have to make celebration part of the culture — not just for the code, but for the people.&lt;/p&gt;

&lt;p&gt;💡 A kind comment, a public “thank you,” or a quick emoji reaction might be what keeps someone coming back.&lt;/p&gt;

&lt;p&gt;Let’s celebrate the small wins — because in open source, they’re never really small.&lt;/p&gt;

&lt;h1 id=&quot;-𝗢𝗽𝗲𝗻-𝘀𝗼𝘂𝗿𝗰𝗲-𝗺𝗲𝗻𝘁𝗼𝗿𝘀𝗵𝗶𝗽-𝗶𝘀𝗻𝘁-𝗮𝗯𝗼𝘂𝘁-𝗵𝗮𝘃𝗶𝗻𝗴-𝗮𝗹𝗹-𝘁𝗵𝗲-𝗮𝗻𝘀𝘄𝗲𝗿𝘀---𝗶𝘁𝘀-𝗮𝗯𝗼𝘂𝘁-𝗰𝗿𝗲𝗮𝘁𝗶𝗻𝗴-𝘀𝗽𝗮𝗰𝗲-𝗳𝗼𝗿-𝗴𝗿𝗼𝘄𝘁𝗵&quot;&gt;🌟 𝗢𝗽𝗲𝗻 𝘀𝗼𝘂𝗿𝗰𝗲 𝗺𝗲𝗻𝘁𝗼𝗿𝘀𝗵𝗶𝗽 𝗶𝘀𝗻’𝘁 𝗮𝗯𝗼𝘂𝘁 𝗵𝗮𝘃𝗶𝗻𝗴 𝗮𝗹𝗹 𝘁𝗵𝗲 𝗮𝗻𝘀𝘄𝗲𝗿𝘀 - 𝗶𝘁’𝘀 𝗮𝗯𝗼𝘂𝘁 𝗰𝗿𝗲𝗮𝘁𝗶𝗻𝗴 𝘀𝗽𝗮𝗰𝗲 𝗳𝗼𝗿 𝗴𝗿𝗼𝘄𝘁𝗵&lt;/h1&gt;

&lt;p&gt;I learned about writing good unit tests from a PR review in the pandas Python library. Thank you &lt;a href=&quot;https://www.linkedin.com/in/jeff-reback-3a20876/&quot;&gt;Jeff Reback&lt;/a&gt; for your guidance many years ago.&lt;/p&gt;

&lt;p&gt;Some of the best developers I know didn’t learn from a course.&lt;br /&gt;
They learned from a kind comment on an issue.&lt;br /&gt;
From someone taking the time to say:&lt;br /&gt;
“𝘏𝘦𝘺, 𝘸𝘢𝘯𝘵 𝘵𝘰 𝘱𝘢𝘪𝘳 𝘰𝘯 𝘵𝘩𝘪𝘴?”&lt;/p&gt;

&lt;p&gt;That’s mentorship. And open source needs more of it.&lt;/p&gt;

&lt;p&gt;But here’s the thing — mentorship in OSS isn’t structured.&lt;br /&gt;
It’s not assigned. It’s organic and takes 𝘪𝘯𝘵𝘦𝘯𝘵𝘪𝘰𝘯𝘢𝘭𝘪𝘵𝘺.&lt;/p&gt;

&lt;p&gt;If you’re a maintainer or experienced contributor, consider this:&lt;br /&gt;
✅ Label a few good first issues&lt;br /&gt;
✅ Offer context, not just code comments&lt;br /&gt;
✅ Invite questions without judgment&lt;br /&gt;
✅ Share why something works — not just that it does&lt;br /&gt;
✅ Remember what it felt like to be new&lt;/p&gt;

&lt;p&gt;You won’t just grow contributors — you’ll grow leaders.&lt;/p&gt;

&lt;p&gt;And if you’re earlier in your journey:&lt;br /&gt;
💬 Ask. Offer. Show up. OSS has a place for you.&lt;/p&gt;

&lt;p&gt;Mentorship in open source is one of the most impactful — and most overlooked — forms of technical leadership.&lt;/p&gt;

&lt;h1 id=&quot;-𝗜𝗻-𝗼𝗽𝗲𝗻-𝘀𝗼𝘂𝗿𝗰𝗲-𝘆𝗼𝘂-𝗱𝗼𝗻𝘁-𝗮𝘀𝘀𝗶𝗴𝗻-𝘁𝗮𝘀𝗸𝘀---𝘆𝗼𝘂-𝗶𝗻𝘀𝗽𝗶𝗿𝗲-𝗰𝗼𝗻𝘁𝗿𝗶𝗯𝘂𝘁𝗶𝗼𝗻&quot;&gt;🔥 𝗜𝗻 𝗼𝗽𝗲𝗻 𝘀𝗼𝘂𝗿𝗰𝗲, 𝘆𝗼𝘂 𝗱𝗼𝗻’𝘁 𝗮𝘀𝘀𝗶𝗴𝗻 𝘁𝗮𝘀𝗸𝘀 - 𝘆𝗼𝘂 𝗶𝗻𝘀𝗽𝗶𝗿𝗲 𝗰𝗼𝗻𝘁𝗿𝗶𝗯𝘂𝘁𝗶𝗼𝗻&lt;/h1&gt;

&lt;p&gt;𝗜 𝗺𝗲𝗻𝘁𝗶𝗼𝗻𝗲𝗱 𝘁𝗵𝗶𝘀 𝗶𝗻 𝗺𝘆 𝗽𝗿𝗲𝘃𝗶𝗼𝘂𝘀 𝗽𝗼𝘀𝘁, 𝗯𝘂𝘁 𝗵𝗼𝘄 𝗱𝗼 𝘆𝗼𝘂 𝗶𝗻𝘀𝗽𝗶𝗿𝗲 𝗰𝗼𝗻𝘁𝗿𝗶𝗯𝘂𝘁𝗶𝗼𝗻?&lt;/p&gt;

&lt;p&gt;✅ Share vision, not just code&lt;br /&gt;
Make the vision publicly visible. Projects like &lt;a href=&quot;https://www.linkedin.com/company/vllm-project/&quot;&gt;vLLM&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/company/kserve-project/&quot;&gt;KServe&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/company/kubeflow/&quot;&gt;Kubeflow&lt;/a&gt;, Llama Stack all have published their roadmaps.&lt;/p&gt;

&lt;p&gt;✅ Be open to ideas you didn’t come up with&lt;br /&gt;
OSS thrives when people feel ownership, not just direction. &lt;a href=&quot;https://www.linkedin.com/company/llm-d/&quot;&gt;llm-d&lt;/a&gt; is inviting the community to contribute ideas through a survey: &lt;a href=&quot;https://lnkd.in/gh3ceWYD&quot;&gt;https://lnkd.in/gh3ceWYD&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;✅ Lower the barrier to entry&lt;br /&gt;
Clear docs, labeled issues, and kind reviews are magnets for first-time contributors.&lt;/p&gt;

&lt;p&gt;✅ Celebrate contributions publicly&lt;br /&gt;
Recognition drives retention. Gratitude is free and incredibly effective. &lt;a href=&quot;https://www.linkedin.com/in/andrey-velichkevich/&quot;&gt;Andrey&lt;/a&gt; showed this perfectly through promoting &lt;a href=&quot;https://www.linkedin.com/in/shao-wang-0121532a2/&quot;&gt;Shao&lt;/a&gt; and &lt;a href=&quot;https://www.linkedin.com/in/astefanutti/&quot;&gt;Antonin&lt;/a&gt; to &lt;a href=&quot;https://www.linkedin.com/company/kubeflow/&quot;&gt;Kubeflow&lt;/a&gt; maintainers: &lt;a href=&quot;https://lnkd.in/gNu4YXiv&quot;&gt;https://lnkd.in/gNu4YXiv&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is how open source projects grow — and how technical leaders earn trust in public.&lt;/p&gt;

&lt;h1 id=&quot;-𝗔𝗱𝘃𝗶𝗰𝗲-𝗳𝗼𝗿-𝗻𝗲𝘄-𝗖𝗦-𝗴𝗿𝗮𝗱𝘂𝗮𝘁𝗲𝘀-𝗲𝗻𝘁𝗲𝗿𝗶𝗻𝗴-𝘁𝗵𝗲-𝗷𝗼𝗯-𝗺𝗮𝗿𝗸𝗲𝘁&quot;&gt;🎓 𝗔𝗱𝘃𝗶𝗰𝗲 𝗳𝗼𝗿 𝗻𝗲𝘄 𝗖𝗦 𝗴𝗿𝗮𝗱𝘂𝗮𝘁𝗲𝘀 𝗲𝗻𝘁𝗲𝗿𝗶𝗻𝗴 𝘁𝗵𝗲 𝗷𝗼𝗯 𝗺𝗮𝗿𝗸𝗲𝘁&lt;/h1&gt;

&lt;p&gt;It’s no secret that this year has been especially tough for new grads seeking software engineering roles. Many fall into the trap of endlessly polishing resumes or grinding LeetCode. But here’s the truth:&lt;/p&gt;

&lt;p&gt;🚫 If you’re still only “learning tricks” to improve your resume - you’re doing it wrong.&lt;br /&gt;
✅ What will actually make you stand out? 𝗖𝗼𝗻𝘁𝗿𝗶𝗯𝘂𝘁𝗶𝗻𝗴 𝘁𝗼 𝗼𝗽𝗲𝗻 𝘀𝗼𝘂𝗿𝗰𝗲.&lt;/p&gt;

&lt;p&gt;Open source contribution gives you:&lt;br /&gt;
- Real-world experience collaborating with global teams&lt;br /&gt;
- Hands-on exposure to tools, frameworks, and workflows used in industry&lt;br /&gt;
- Code reviews and mentorship from experienced maintainers&lt;br /&gt;
- A public portfolio that recruiters and hiring managers can see&lt;/p&gt;

&lt;p&gt;Hours spent on LeetCode help you with interviews.&lt;br /&gt;
Hours spent on OSS help you with your career.&lt;/p&gt;

&lt;p&gt;That’s why so many of us in the industry actively look for OSS contributions on resumes. It shows initiative, collaboration, and practical impact.&lt;/p&gt;

&lt;p&gt;🌍 And here’s the best part: 𝘄𝗲’𝗿𝗲 𝗵𝗶𝗿𝗶𝗻𝗴!&lt;/p&gt;

&lt;p&gt;If you’re passionate about &lt;strong&gt;cloud, AI/ML, or open source&lt;/strong&gt; , we’d love to connect. Contributing to OSS isn’t just great prep, it’s also one of the best ways to get noticed by teams like ours.&lt;/p&gt;

&lt;p&gt;I recently started my journey here on Substack and you are welcome to follow along! You can also find me on &lt;a href=&quot;https://www.linkedin.com/in/terrytangyuan&quot;&gt;LinkedIn&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/TerryTangYuan&quot;&gt;X&lt;/a&gt;, &lt;a href=&quot;https://bsky.app/profile/terrytangyuan.xyz&quot;&gt;Bluesky&lt;/a&gt;, &lt;a href=&quot;https://fosstodon.org/@terrytangyuan&quot;&gt;Mastodon&lt;/a&gt;, and &lt;a href=&quot;https://github.com/terrytangyuan&quot;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Sat, 20 Sep 2025 00:00:00 +0000</pubDate>
        <link>https://terrytangyuan.github.io/2025/09/20/eight-lessons-on-open-source-leadership-and-community/</link>
        <guid isPermaLink="true">https://terrytangyuan.github.io/2025/09/20/eight-lessons-on-open-source-leadership-and-community/</guid>
        
        <category>Open Source</category>
        
        <category>Leadership</category>
        
        
      </item>
    
      <item>
        <title>PyTorch on Kubernetes: Kubeflow Trainer Joins PyTorch Ecosystem</title>
        <description>&lt;p&gt;&lt;strong&gt;Authors: Andrey Velichkevich, Apple; Yuki Iwai, CyberAgent, Inc.; Yuan Tang, Red Hat; Antonin Stefanutti, Red Hat; Johnu George, Nutanix&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally posted on &lt;a href=&quot;https://pytorch.org/blog/pytorch-on-kubernetes-kubeflow-trainer-joins-the-pytorch-ecosystem/&quot;&gt;PyTorch blog&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../../../../../img/inblog/kubeflow-trainer-logo.png&quot; alt=&quot;kubeflow-trainer-logo&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We’re thrilled to announce that the &lt;a href=&quot;https://github.com/kubeflow/trainer&quot;&gt;Kubeflow Trainer&lt;/a&gt; project has been integrated into the PyTorch ecosystem! This integration ensures that Kubeflow Trainer aligns with PyTorch’s standards and practices, giving developers a reliable, scalable, and community-backed solution to run PyTorch on Kubernetes.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;To view the PyTorch Ecosystem, see the &lt;a href=&quot;https://landscape.pytorch.org/&quot;&gt;PyTorch Landscape&lt;/a&gt;. Learn more about how projects can &lt;a href=&quot;https://pytorch.org/join-ecosystem/&quot;&gt;join the PyTorch Ecosystem&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;about-kubeflow-trainer&quot;&gt;About Kubeflow Trainer&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Kubeflow Trainer&lt;/strong&gt; is a Kubernetes-native project enabling scalable, distributed training of AI models and purpose-built for fine-tuning large language models (LLMs). It simplifies the scale-out of training workloads on multiple nodes, managing large datasets efficiently and ensuring fault-tolerance.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../../../../../img/inblog/kubeflow-trainer-diagram.png&quot; alt=&quot;kubeflow-trainer-diagram&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The core features include:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Simplify Kubernetes complexity&lt;/strong&gt;: Kubeflow Trainer APIs are designed for two primary user personas - AI practitioners - ML engineers and data scientists who develop AI models using the Kubeflow Python SDK and TrainJob APIs, platform admins - administrators and DevOps engineers responsible for managing Kubernetes clusters and Kubeflow Trainer runtimes APIs. AI practitioners can focus on the application code in PyTorch without worrying about infrastructure details. Meanwhile, platform admins can flexibly schedule workload resources for maximum cluster utilization and cost efficiency.  To support these roles, Kubeflow Trainer specifies purpose-built Kubernetes Custom Resource Definitions (CRDs) that streamline model training and infrastructure management.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../../../../../img/inblog/kubeflow-trainer-user-personas.png&quot; alt=&quot;kubeflow-trainer-user-personas&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Python SDK&lt;/strong&gt;: A Pythonic interface designed for AI practitioners, abstract the details of interacting directly with Kubernetes APIs. It enables users to focus on developing PyTorch models without worrying about Kubernetes YAML configurations.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Blueprints for LLMs fine-tuning on Kubernetes&lt;/strong&gt;: With built-in trainers, Kubeflow Trainer enables AI practitioners to seamlessly fine-tune their favorite LLMs using the desired configuration for datasets, LoRA parameters, learning rate, etc. In the first release, it implements recipes to support various fine-tuning strategies, including Supervised Fine-Tuning (SFT), Knowledge Distillation, DPO, PPO, GRPO, and Quantization-Aware Training. Community is working towards adding more builtin trainers powered by &lt;a href=&quot;https://github.com/hiyouga/LLaMA-Factory&quot;&gt;LLaMA-Factory&lt;/a&gt;, &lt;a href=&quot;https://github.com/unslothai/unsloth&quot;&gt;Unsloth&lt;/a&gt;, &lt;a href=&quot;https://github.com/huggingface/trl&quot;&gt;HuggingFace TRL&lt;/a&gt; to enable efficient LLMs fine-tuning.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Optimized GPU utilization&lt;/strong&gt;: Kubeflow Trainer maximizes GPU efficiency by streaming large-scale data directly to distributed GPUs using an &lt;a href=&quot;https://github.com/kubeflow/community/pull/864&quot;&gt;in-memory distributed data cache&lt;/a&gt; powered by Apache Arrow and Apache DataFusion&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Advanced scheduling capabilities&lt;/strong&gt;: Kubeflow Trainer supports gang scheduling through the PodGroupPolicy API, enabling coordinated scheduling of pods across nodes. It also integrates with Kubernetes schedulers such as &lt;a href=&quot;https://kueue.sigs.k8s.io/&quot;&gt;Kueue&lt;/a&gt;, &lt;a href=&quot;https://github.com/kubernetes-sigs/scheduler-plugins/blob/master/pkg/coscheduling/README.md&quot;&gt;Coscheduling&lt;/a&gt;, &lt;a href=&quot;https://volcano.sh/en/&quot;&gt;Volcano&lt;/a&gt;, and &lt;a href=&quot;https://github.com/NVIDIA/KAI-Scheduler&quot;&gt;KAI Scheduler&lt;/a&gt; to ensure all required resources are allocated before training jobs start.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Accelerate MPI workloads on Kubernetes:&lt;/strong&gt; Kubeflow Trainer supports MPI-based runtimes such as &lt;a href=&quot;https://www.deepspeed.ai/&quot;&gt;DeepSpeed&lt;/a&gt; and &lt;a href=&quot;https://ml-explore.github.io/mlx/build/html/usage/distributed.html&quot;&gt;MLX&lt;/a&gt;. It handles all necessary orchestration of MPI workloads with SSH-based optimization to boost MPI performance.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Improved resilience and fault-tolerance:&lt;/strong&gt; By leveraging Kubernetes-native APIs like &lt;a href=&quot;https://kubernetes.io/docs/concepts/workloads/controllers/job/&quot;&gt;Jobs&lt;/a&gt; and &lt;a href=&quot;https://jobset.sigs.k8s.io&quot;&gt;JobSets&lt;/a&gt;, Kubeflow Trainer improves reliability and efficiency of AI  workloads. With support for the &lt;a href=&quot;https://kubernetes.io/docs/concepts/workloads/controllers/job/#pod-failure-policy&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PodFailurePolicy&lt;/code&gt;&lt;/a&gt; API, users can reduce cost by avoiding unnecessary restarts. Additionally, the &lt;a href=&quot;https://kubernetes.io/docs/concepts/workloads/controllers/job/#success-policy&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SuccessPolicy&lt;/code&gt;&lt;/a&gt; API allows training jobs to complete early once the target objective is achieved.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;background-and-evolution&quot;&gt;Background and Evolution&lt;/h2&gt;

&lt;p&gt;This project was originally started as a distributed training operator for TensorFlow (e.g. TFJob), and later we merged efforts from other Kubeflow Training Operators (e.g. PyTorchJob, MPIJob) to provide a unified and simplified experience for both users and developers. We are very grateful to all who filed issues or helped resolve them, asked and answered questions, and were part of inspiring discussions. We’d also like to &lt;a href=&quot;https://github.com/kubeflow/trainer?tab=readme-ov-file#acknowledgement&quot;&gt;thank everyone who’s contributed to and maintained the original operators&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;By joining the PyTorch Ecosystem, we strive to apply best practices of deploying distributed PyTorch applications on Kubernetes and bring first-class PyTorch support in Kubeflow Trainer.&lt;/p&gt;

&lt;h2 id=&quot;integrations-with-pytorch-ecosystem&quot;&gt;Integrations with PyTorch Ecosystem&lt;/h2&gt;

&lt;p&gt;Kubeflow Trainer is deeply integrated with the PyTorch ecosystem, supporting a broad range of tools and libraries—including torch, DeepSpeed, HuggingFace, Horovod, and more.&lt;/p&gt;

&lt;p&gt;It empowers PyTorch users to implement advanced distributed training strategies such as Distributed Data Parallel (DDP), Fully Sharded Data Parallel (FSDP &amp;amp; FSDP2), and Tensor Parallelism, enabling efficient large-scale model training on Kubernetes.&lt;/p&gt;

&lt;p&gt;Additionally, Kubeflow Trainer supports data parallelism using PyTorch IterableDatasets, streaming data directly from distributed in-memory data cache nodes. This allows scalable training even with massive datasets that exceed local memory capacity.&lt;/p&gt;

&lt;h2 id=&quot;quick-start&quot;&gt;Quick Start&lt;/h2&gt;

&lt;p&gt;Follow the steps below to quickly deploy Kubeflow Trainer and run your first training job.&lt;/p&gt;

&lt;h4 id=&quot;prerequisites&quot;&gt;Prerequisites&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Installed &lt;a href=&quot;https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/#install-with-homebrew-on-macos&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;kubectl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Installed &lt;a href=&quot;https://kind.sigs.k8s.io/docs/user/quick-start#installing-with-a-package-manager&quot;&gt;kind&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;install-kubeflow-trainer&quot;&gt;Install Kubeflow Trainer&lt;/h4&gt;

&lt;p&gt;Deploy Kubeflow Trainer control plane on your local &lt;a href=&quot;https://kind.sigs.k8s.io/docs/user/quick-start#installing-with-a-package-manager&quot;&gt;kind&lt;/a&gt; cluster:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ kind create cluster

$ kubectl apply --server-side -k &quot;https://github.com/kubeflow/trainer.git/manifests/overlays/manager?ref=v2.0.0&quot;


# Ensure that JobSet and Trainer controller manager are running.
$ kubectl get pods -n kubeflow-system

NAME                                                  READY   STATUS    RESTARTS   AGE
jobset-controller-manager-54968bd57b-88dk4            2/2     Running   0          65s
kubeflow-trainer-controller-manager-cc6468559-dblnw   1/1     Running   0          65s


# Deploy the Kubeflow Trainer runtimes.
$ kubectl apply --server-side -k &quot;https://github.com/kubeflow/trainer.git/manifests/overlays/runtimes?ref=v2.0.0&quot;

# Install Kubeflow SDK
$ pip install git+https://github.com/kubeflow/sdk.git@64d74db2b6c9a0854e39450d8d1c0201e1e9b3f7#subdirectory=python
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;define-pytorch-training-function&quot;&gt;Define PyTorch Training Function&lt;/h4&gt;

&lt;p&gt;After installing the Kubeflow Trainer, define your PyTorch training function that contains end-to-end training script:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;def train_pytorch():
    import os
    import torch
    import torch.distributed as dist
    from torch.utils.data import DataLoader, DistributedSampler
    from torchvision import datasets, transforms, models

    # [1] Configure CPU/GPU device and distributed backend.
    device, backend = (&quot;cuda&quot;, &quot;nccl&quot;) if torch.cuda.is_available() else (&quot;cpu&quot;, &quot;gloo&quot;)
    dist.init_process_group(backend=backend)
    local_rank = int(os.getenv(&quot;LOCAL_RANK&quot;, 0))
    device = torch.device(f&quot;{device}:{local_rank}&quot;)
    
    # [2] Get the pre-defined model.
    model = models.shufflenet_v2_x0_5(num_classes=10)
    model.conv1 = torch.nn.Conv2d(1, 24, kernel_size=3, stride=2, padding=1, bias=False)
    model = torch.nn.parallel.DistributedDataParallel(model.to(device))
    optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9)
   
    # [3] Get the FashionMNIST dataset and distribute it across all available devices.
    if local_rank == 0: # Download dataset only on local_rank=0 process.
        dataset = datasets.FashionMNIST(&quot;./data&quot;, train=True, download=True, transform=transforms.Compose([transforms.ToTensor()]))
    dist.barrier()
    dataset = datasets.FashionMNIST(&quot;./data&quot;, train=True, download=False, transform=transforms.Compose([transforms.ToTensor()]))

    train_loader = DataLoader(dataset, batch_size=100, sampler=DistributedSampler(dataset))

    # [4] Define the PyTorch training loop.
    for epoch in range(3):
        for batch_idx, (inputs, labels) in enumerate(train_loader):
            inputs, labels = inputs.to(device), labels.to(device)
            # Forward and Backward pass
            outputs = model(inputs)
            loss = torch.nn.functional.cross_entropy(outputs, labels)
            optimizer.zero_grad()
            loss.backward()
            optimizer.step()
            if batch_idx % 10 == 0 and dist.get_rank() == 0:
                print(f&quot;Epoch {epoch} [{batch_idx * len(inputs)}/{len(train_loader.dataset)}] &quot;
                    f&quot;Loss: {loss.item():.4f}&quot;
                )
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;run-pytorch-on-kubernetes-with-trainjob&quot;&gt;Run PyTorch on Kubernetes with TrainJob&lt;/h4&gt;

&lt;p&gt;After defining the training function, use the Kubeflow SDK to create TrainJob:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;from kubeflow.trainer import TrainerClient, CustomTrainer

job_id = TrainerClient().train(
    trainer=CustomTrainer(
        func=train_pytorch,
        num_nodes=2,
        resources_per_node={
            &quot;cpu&quot;: 3,
            &quot;memory&quot;: &quot;3Gi&quot;,
            # &quot;gpu&quot;: 2, # Uncomment this line if you have GPUs.
        },
    ),
    runtime=TrainerClient().get_runtime(&quot;torch-distributed&quot;),
)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;get-the-trainjob-results&quot;&gt;Get the TrainJob Results&lt;/h4&gt;

&lt;p&gt;After creating the TrainJob, you should be able to list it:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;for job in TrainerClient().list_jobs():
    print(f&quot;TrainJob: {job.name}, Status: {job.status}&quot;)

TrainJob: q33a18f65635, Status: Created
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It may take a few minutes for the TrainJob to pull the PyTorch image the first time. Once the image is pulled, the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;TrainJob&lt;/code&gt;’s steps should transition to &lt;strong&gt;Running&lt;/strong&gt; status. Each step represents a training node, and the number of devices per step corresponds to the number of devices on that node:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;for s in TrainerClient().get_job(name=job_id).steps:
    print(f&quot;Step: {s.name}, Status: {s.status}, Devices: {s.device} x {s.device_count}&quot;)

Step: node-0, Status: Running, Devices: cpu x 3
Step: node-1, Status: Running, Devices: cpu x 3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;After steps are running, you can check the TrainJob logs. The dataset of 60,000 samples has been evenly distributed across 6 CPUs, with each device processing 10,000 samples: 60,000 / 6 = 10,000&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;print(TrainerClient().get_job_logs(name=job_id)[&quot;node-0&quot;])

...
Epoch 0 [8000/60000] Loss: 0.4476
Epoch 0 [9000/60000] Loss: 0.4784
Epoch 1 [0/60000] Loss: 0.3909
Epoch 1 [1000/60000] Loss: 0.4888
Epoch 1 [2000/60000] Loss: 0.4100
...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Congratulations, you created your first distributed training job with PyTorch and Kubeflow Trainer!&lt;/p&gt;

&lt;h2 id=&quot;whats-next&quot;&gt;What’s next&lt;/h2&gt;

&lt;p&gt;Kubeflow Trainer has exciting roadmap including the following items:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/kubeflow/sdk/issues/22&quot;&gt;Local TrainJob Execution&lt;/a&gt; - run Kubeflow Trainer jobs locally without Kubernetes.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/kubeflow/community/pull/864&quot;&gt;Distributed Data Cache&lt;/a&gt; - stream in-memory distributed data powered by Apache Arrow and Apache DataFusion.&lt;/li&gt;
  &lt;li&gt;Advanced scheduling capabilities - improve resources management and gang-scheduling capabilities by integrating with &lt;a href=&quot;https://github.com/kubernetes-sigs/kueue/issues/3884&quot;&gt;Kueue&lt;/a&gt;, &lt;a href=&quot;https://github.com/kubeflow/trainer/pull/2663&quot;&gt;KAI Scheduler&lt;/a&gt;, &lt;a href=&quot;https://github.com/kubeflow/trainer/pull/2672&quot;&gt;Volcano&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Support for &lt;a href=&quot;https://github.com/kubeflow/trainer/pull/2643&quot;&gt;JAX runtime&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Automate &lt;a href=&quot;https://github.com/kubeflow/trainer/issues/2245&quot;&gt;Checkpointing&lt;/a&gt; for GPU-accelerated workloads.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;call-to-action&quot;&gt;Call to Action&lt;/h2&gt;

&lt;p&gt;We are excited to welcome Kubeflow Trainer to the PyTorch ecosystem! Kubeflow Trainer democratizes AI model training on Kubernetes and significantly improves the development experience for AI practitioners. We invite you to explore the following resources to learn more about the project:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Read the Kubeflow Trainer v2 &lt;a href=&quot;https://blog.kubeflow.org/trainer/intro/&quot;&gt;announcement blog post&lt;/a&gt; and &lt;a href=&quot;https://github.com/kubeflow/trainer/releases/tag/v2.0.0&quot;&gt;release notes&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Explore &lt;a href=&quot;https://www.kubeflow.org/docs/components/trainer/overview/&quot;&gt;the official Kubeflow Trainer documentation&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Join the conversations in the &lt;a href=&quot;https://www.kubeflow.org/docs/about/community/#slack-channels&quot;&gt;#kubeflow-trainer Slack&lt;/a&gt; channel.&lt;/li&gt;
  &lt;li&gt;Attend our bi-weekly &lt;a href=&quot;https://docs.google.com/document/d/1MChKfzrKAeFRtYqypFbMXL6ZIc_OgijjkvbqmwRV-64/edit?tab=t.0&quot;&gt;Kubeflow Trainer community&lt;/a&gt; calls every Wednesday.&lt;/li&gt;
  &lt;li&gt;Share your use cases or feature proposals by opening an issue on &lt;a href=&quot;https://github.com/kubeflow/trainer/issues/new?template=feature_request.yaml&quot;&gt;the GitHub repository&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Tell your store by writing &lt;a href=&quot;https://blog.kubeflow.org/&quot;&gt;a Kubeflow blog post&lt;/a&gt; or speaking at upcoming  &lt;a href=&quot;https://www.kubeflow.org/events/upcoming-events/&quot;&gt;Kubeflow Events&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Explore &lt;a href=&quot;https://github.com/kubeflow/sdk&quot;&gt;the Kubeflow Python SDK&lt;/a&gt; for AI practitioners.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We can’t wait to see what you’ll build with Kubeflow Trainer!&lt;/p&gt;
</description>
        <pubDate>Mon, 28 Jul 2025 00:00:00 +0000</pubDate>
        <link>https://terrytangyuan.github.io/2025/07/28/pytorch-on-kubernetes-kubeflow-trainer-joins-the-pytorch-ecosystem/</link>
        <guid isPermaLink="true">https://terrytangyuan.github.io/2025/07/28/pytorch-on-kubernetes-kubeflow-trainer-joins-the-pytorch-ecosystem/</guid>
        
        <category>Open Source</category>
        
        <category>Kubernetes</category>
        
        <category>Artificial Intelligence</category>
        
        <category>Machine Learning</category>
        
        <category>PyTorch</category>
        
        <category>Kubeflow</category>
        
        
      </item>
    
      <item>
        <title>Announcing KServe v0.15: Advancing Generative AI Model Serving</title>
        <description>&lt;p&gt;&lt;strong&gt;Authors: Alexa Griffith, Dan Sun, Yuan Tang, Johnu George, Lize Cai&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally posted on &lt;a href=&quot;https://kserve.github.io/website/0.15/blog/articles/2025-05-27-KServe-0.15-release/&quot;&gt;KServe blog&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;We are thrilled to announce the release of &lt;strong&gt;KServe v0.15&lt;/strong&gt;, marking a significant leap forward in serving both predictive and generative AI models. This release introduces enhanced support for generative AI workloads, including advanced features for serving large language models (LLMs), improved model and KV caching mechanisms, and integration with Envoy AI Gateway.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../../../../../img/inblog/kserve_generative_inference.png&quot; alt=&quot;kserve_generative_inference&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;embracing-generative-ai-workloads&quot;&gt;Embracing Generative AI Workloads&lt;/h2&gt;

&lt;p&gt;KServe v0.15 brings first-class support for generative AI workloads, marking a key evolution beyond traditional predictive AI. Unlike predictive models that infer outcomes from existing data, generative models like large language models (LLMs) create new content from prompts. This fundamental difference introduces new serving challenges. KServe now provides the infrastructure and optimizations needed to serve these models efficiently at scale.&lt;/p&gt;

&lt;p&gt;To support these workloads, we’ve introduced a dedicated &lt;strong&gt;Generative AI&lt;/strong&gt; section in our documentation, detailing the new capabilities and configurations tailored for generative models.&lt;/p&gt;

&lt;p&gt;KServe now offers a &lt;strong&gt;lightweight&lt;/strong&gt; installation for hosting LLMs on Kubernetes, please follow &lt;a href=&quot;https://kserve.github.io/website/0.15/admin/kubernetes_deployment&quot;&gt;generative inference installation guide&lt;/a&gt; to get started. KEDA is an optional component for scaling based on LLM specific metrics and Envoy AI gateway is integrated for advanced traffic management capabilities with token rate limiting, unified API and intelligent routing.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;key-generative-ai-features-in-v015&quot;&gt;Key Generative AI Features in v0.15&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Envoy AI Gateway Integration&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Multi Node Inference&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;LLM Autoscaler with KEDA&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Distributed KV Cache with LMCache&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;envoy-ai-gateway-support&quot;&gt;Envoy AI Gateway Support&lt;/h3&gt;

&lt;p&gt;KServe v0.15 adds initial support for &lt;a href=&quot;https://aigateway.envoyproxy.io&quot;&gt;&lt;strong&gt;Envoy AI Gateway&lt;/strong&gt;&lt;/a&gt;, a CNCF open source project built on top of &lt;a href=&quot;https://gateway.envoyproxy.io&quot;&gt;Envoy Gateway&lt;/a&gt; and designed specifically for managing generative AI traffic at scale.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://gateway.envoyproxy.io&quot;&gt;Envoy Gateway&lt;/a&gt; is also now supported in KServe along with &lt;a href=&quot;https://gateway-api.sigs.k8s.io&quot;&gt;Kubernetes Gateway API&lt;/a&gt;. Unlike traditional gateway solutions, Envoy AI Gateway provides advanced capabilities tailored to AI serving, including:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Dynamic model routing based on request content, model metadata, or user context.&lt;/li&gt;
  &lt;li&gt;Built-in support for multi-tenant inference, with fine-grained access controls and authentication.&lt;/li&gt;
  &lt;li&gt;Unified API for routing and managing LLM/AI traffic easily.&lt;/li&gt;
  &lt;li&gt;Integrated observability for model-level performance insights.&lt;/li&gt;
  &lt;li&gt;Extensibility for inference-specific policies like rate-limiting by token, and model lifecycle management.&lt;/li&gt;
  &lt;li&gt;Automatic failover mechanisms to ensure service reliability.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This integration enables a unified, intelligent entrypoint for both predictive and generative workloads—scaling from traditional models to complex LLMs—all while abstracting infrastructure complexity from the user. Please refer to &lt;a href=&quot;https://kserve.github.io/website/0.15/admin/ai-gateway_integration&quot;&gt;Envoy AI Gateway integration doc&lt;/a&gt; for more details.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;multi-node-inference&quot;&gt;Multi-Node Inference&lt;/h3&gt;

&lt;p&gt;To support LLMs too large for a single node (e.g., Llama 3.1 405B), KServe v0.15 introduces multi-node inference across distributed GPUs, unlocking large model serving at scale. As models continue to increase in size, multi-node inference capabilities are increasingly important for production deployments that require real-time user experience. Please refer to the &lt;a href=&quot;https://kserve.github.io/website/0.15/modelserving/v1beta1/llm/huggingface/multi-node&quot;&gt;Multi Node inference doc&lt;/a&gt; for more details.&lt;/p&gt;

&lt;p&gt;The community is also working on a &lt;a href=&quot;https://github.com/kserve/kserve/issues/4433&quot;&gt;new distributed inference API&lt;/a&gt; to allow scaling Multi Node Inference and support Disaggregatd Prefilling which is targeted for large LLM deployments.&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;serving.kserve.io/v1beta1&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;InferenceService&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;huggingface-llama3&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;predictor&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;model&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;modelFormat&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;huggingface&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;storageUri&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;pvc://llama-3-8b-pvc/hf/8b_instruction_tuned&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;workerSpec&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;pipelineParallelSize&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;2&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;tensorParallelSize&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;llm-autoscaler-with-keda-kubernetes-event-driven-autoscaling&quot;&gt;LLM Autoscaler with KEDA &lt;a href=&quot;https://keda.sh/&quot;&gt;(Kubernetes Event-driven Autoscaling)&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Autoscaling LLMs is challenging due to their high resource demands and variable inference traffic patterns. The dynamic nature of LLM inference, with varying input lengths and token generation speeds, further complicates the prediction of resource needs, demanding sophisticated and adaptive autoscaling solutions. KServe now integrates with &lt;a href=&quot;https://keda.sh&quot;&gt;&lt;strong&gt;KEDA&lt;/strong&gt;&lt;/a&gt; (Kubernetes Event-Driven Autoscaling) offers a powerful solution to many of the challenges associated with LLM autoscaling by extending Kubernetes’ native Horizontal Pod Autoscaler (HPA) capabilities. KEDA can monitor custom metrics which means you can expose LLM metrics from your LLM inference servers and use KEDA to scale based on these precise indicators.&lt;/p&gt;

&lt;p&gt;This empowers users to efficiently manage LLM workloads with more intelligent scaling decisions based on workload characteristics for improved performance and cost optimization. Please follow the &lt;a href=&quot;https://kserve.github.io/website/0.15/modelserving/autoscaling/keda/autoscaling_llm&quot;&gt;tutorial doc&lt;/a&gt; for how to autoscale based on vLLM metrics.&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;serving.kserve.io/v1beta1&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;InferenceService&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;huggingface-llama3-keda&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;annotations&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;serving.kserve.io/autoscalerClass&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;keda&quot;&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;sidecar.opentelemetry.io/inject&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;huggingface-llama3-keda&quot;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;predictor&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;model&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;modelFormat&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;huggingface&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;--model_name=llama3&lt;/span&gt;
        &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;--model_id=meta-llama/meta-llama-3-70b&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;minReplicas&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;maxReplicas&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;5&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;autoScaling&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;metrics&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;PodMetric&lt;/span&gt;
          &lt;span class=&quot;na&quot;&gt;podmetric&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;na&quot;&gt;metric&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
              &lt;span class=&quot;na&quot;&gt;backend&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;opentelemetry&quot;&lt;/span&gt;
              &lt;span class=&quot;na&quot;&gt;metricNames&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
                &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;vllm:num_requests_running&lt;/span&gt;
              &lt;span class=&quot;na&quot;&gt;query&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;vllm:num_requests_running&quot;&lt;/span&gt;
            &lt;span class=&quot;na&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
              &lt;span class=&quot;na&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;Value&lt;/span&gt;
              &lt;span class=&quot;na&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;4&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;distributed-kv-cache-with-lmcache&quot;&gt;Distributed KV Cache with &lt;a href=&quot;https://lmcache.ai&quot;&gt;LMCache&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Key-Value (KV) cache offloading is a technique used in large language model (LLM) serving to store and reuse the intermediate key and value tensors generated during model inference. In transformer-based models, these KV caches represent the context for each token processed, and reusing them allows the model to avoid redundant computations for repeated or similar prompts.&lt;/p&gt;

&lt;p&gt;Enabling KV cache offloading across multiple requests and serving instances can achieve reduced Time To First Token(TTFT), improve scalability for shared cache across replicas, and improve user experience for multi-turn QA or RAG.&lt;/p&gt;

&lt;p&gt;KServe integrates &lt;a href=&quot;https://lmcache.ai&quot;&gt;LMCache&lt;/a&gt;, the-state-of-art KV cache layer library developed by LMCache Lab to reduce inference costs and ensure SLOs for both latency and throughput at scale. Please follow the &lt;a href=&quot;https://kserve.github.io/website/0.15/modelserving/v1beta1/llm/huggingface/kv_cache_offloading/#overview&quot;&gt;LMCache integration doc&lt;/a&gt; to optimize your GenAI inference workload.&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;apiVersion&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;serving.kserve.io/v1beta1&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;kind&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;InferenceService&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;metadata&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;huggingface-llama3-lmcache&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;spec&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;predictor&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;minReplicas&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;2&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;model&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;modelFormat&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;na&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;huggingface&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;--model_name=llama3&lt;/span&gt;
        &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;--model_id=meta-llama/meta-llama-3-70b&lt;/span&gt;
        &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;--kv-transfer-config&lt;/span&gt;
        &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;{&quot;kv_connector&quot;:&quot;LMCacheConnectorV1&quot;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;kv_role&quot;:&quot;kv_both&quot;}&apos;&lt;/span&gt;
        &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;--enable-chunked-prefill&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;advanced-model-caching-mechanisms&quot;&gt;Advanced Model Caching Mechanisms&lt;/h3&gt;

&lt;p&gt;To reduce model loading times and improve overall efficiency of serving large models, KServe v0.15 introduces advanced model caching features:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;LocalModelCache Enhancements:&lt;/strong&gt; Improved the LocalModelCache custom resource to support multiple node groups, providing greater flexibility in model placement and caching strategies.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Node Agent Improvements:&lt;/strong&gt; Enhanced the local model node agent for better performance and reliability.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;enhanced-vllm-backend-support&quot;&gt;Enhanced vLLM Backend Support&lt;/h3&gt;

&lt;p&gt;The vLLM backend has been significantly upgraded to better serve generative AI models:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Version Upgrade:&lt;/strong&gt; Updated to vLLM 0.8.5, bringing performance improvements with v1 backend and new features.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Qwen3 &amp;amp; Llama4:&lt;/strong&gt; Added support for Qwen3 and Llama4 models.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Reranking Support:&lt;/strong&gt; Added support for reranking models.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Embedding Support:&lt;/strong&gt; Added support for OpenAI-compatible embeddings API, enabling a broader range of applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;additional-improvements&quot;&gt;Additional Improvements&lt;/h2&gt;

&lt;p&gt;This release also includes several other enhancements:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Support Deep Health Checks &lt;a href=&quot;https://github.com/kserve/kserve/pull/3348&quot;&gt;#3348&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Collocated Transformer &amp;amp; Predictor Feature &lt;a href=&quot;https://github.com/kserve/kserve/pull/4255&quot;&gt;#4255&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Kubernetes Gateway API support &lt;a href=&quot;https://github.com/kserve/kserve/pull/3952&quot;&gt;#3952&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Security Updates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a complete list of changes and updates, please refer to the official release notes.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;join-the-community&quot;&gt;Join the Community&lt;/h2&gt;

&lt;p&gt;We invite you to explore the new features in KServe v0.15 and contribute to the ongoing development of the project:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Visit &lt;a href=&quot;https://kserve.github.io/website/master/&quot;&gt;KServe Website&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Explore &lt;a href=&quot;https://github.com/kserve/kserve&quot;&gt;KServe GitHub Repository&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Join the conversation on CNCF Slack &lt;a href=&quot;https://cloud-native.slack.com/archives/C06AH2C3K8B&quot;&gt;#kserve&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Attend our community meetings by subscribing to the &lt;a href=&quot;https://zoom-lfx.platform.linuxfoundation.org/meetings/kserve?view=month&quot;&gt;KServe calendar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We extend our gratitude to all the contributors who made this release possible. Your efforts continue to drive the advancement of KServe as a leading platform for serving machine learning models.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy serving!&lt;/strong&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 27 May 2025 00:00:00 +0000</pubDate>
        <link>https://terrytangyuan.github.io/2025/05/27/kserve-release/</link>
        <guid isPermaLink="true">https://terrytangyuan.github.io/2025/05/27/kserve-release/</guid>
        
        <category>Open Source</category>
        
        <category>Kubernetes</category>
        
        <category>Artificial Intelligence</category>
        
        <category>Machine Learning</category>
        
        <category>KServe</category>
        
        
      </item>
    
  </channel>
</rss>
