From nobody Wed May 11 02:00:18 2016 Return-Path: X-Original-To: xml2rfc@ietfa.amsl.com Delivered-To: xml2rfc@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 595CE12B012; Wed, 11 May 2016 02:00:17 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: 4.035 X-Spam-Level: **** X-Spam-Status: No, score=4.035 tagged_above=-999 required=5 tests=[BAYES_50=0.8, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RAZOR2_CHECK=0.922, SPF_FAIL=0.001, URIBL_BLACK=1.7, URIBL_PH_SURBL=0.61] autolearn=no autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id s_fhgLKoDsl5; Wed, 11 May 2016 02:00:15 -0700 (PDT) Received: from www.hostddns.com (2000.0000.0000.9100.b300.1041.009c.1042.ip6.static.sl-reverse.com [IPv6:2401:c900:1401:3b:19::2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8464112B05E; Wed, 11 May 2016 02:00:15 -0700 (PDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by www.hostddns.com (Postfix) with ESMTP id 58F331B8DFE5; Wed, 11 May 2016 13:41:20 +1000 (AEST) X-Virus-Scanned: Debian amavisd-new at www.hostddns.com Received: from www.hostddns.com ([127.0.0.1]) by localhost (www.hostddns.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9wR1QLEQ3S_D; Wed, 11 May 2016 13:41:18 +1000 (AEST) Received: from hjpfc.com (unknown [43.229.8.245]) (Authenticated sender: mark@marksymons.com) by www.hostddns.com (Postfix) with ESMTPSA id 8E0CC1B8BD70; Wed, 11 May 2016 13:41:12 +1000 (AEST) From: ietf To: "IETF xml2rfc" , "IETF" , "Izaac" , "JOSEFSSON Erik" , "James Woodyatt" , "Jared Mauch" Date: Wed, 11 May 2016 06:41:08 +0300 Message-ID: <000097aa57fe$94cec0bb$ba48f73d$@techie.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0001_017052FE.7DF0D8F8" X-Mailer: Microsoft Outlook 15.0 Thread-Index: AdGmg0eIrUAdS0WnvK8T2bW23GTDjw== Content-Language: en-us Archived-At: Subject: [xml2rfc] Fw: new message X-BeenThere: xml2rfc@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 May 2016 09:00:17 -0000 This is a multipart message in MIME format. ------=_NextPart_000_0001_017052FE.7DF0D8F8 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hello! You have a new message, please read ietf ------=_NextPart_000_0001_017052FE.7DF0D8F8 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

<= span lang=3DEN-US>Hello!

 

You have a new message, please read http://mnogokraski.ru/fifth.php=

&nb= sp;

ietf<= /o:p>

------=_NextPart_000_0001_017052FE.7DF0D8F8-- From nobody Thu May 12 15:19:43 2016 Return-Path: X-Original-To: xml2rfc@ietfa.amsl.com Delivered-To: xml2rfc@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DEFCC12D19B for ; Thu, 12 May 2016 15:19:41 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.921 X-Spam-Level: X-Spam-Status: No, score=-1.921 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, WEIRD_PORT=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gfmaE8Zad9-d for ; Thu, 12 May 2016 15:19:23 -0700 (PDT) Received: from smarthost1.greenhost.nl (smarthost1.greenhost.nl [195.190.28.81]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A651C12D0D9 for ; Thu, 12 May 2016 15:19:22 -0700 (PDT) Received: from smtp.greenhost.nl ([213.108.104.138]) by smarthost1.greenhost.nl with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1b0ywy-0003Qy-TI for xml2rfc@ietf.org; Fri, 13 May 2016 00:19:21 +0200 To: xml2rfc@ietf.org From: Niels ten Oever Message-ID: <57350165.9070007@digitaldissidents.org> Date: Fri, 13 May 2016 00:19:17 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.7.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060206040005020002050901" X-Authenticated-As-Hash: 29cc722430e8f1f6ed904119444c0d49b0f3ee91 X-Virus-Scanned: by clamav at smarthost1.samage.net Archived-At: Subject: [xml2rfc] WARNING: Illegal character replaced in string: X-BeenThere: xml2rfc@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 May 2016 22:19:42 -0000 This is a multi-part message in MIME format. --------------060206040005020002050901 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Hi all, We made the attached ID in markdown, which we then made into xml using kramdown-rfc2629, but at the moment xml2rfc is called, an infinitely repeating 'WARNING: Illegal character replaced in string:' ensues. See below: [code] $ make xml2rfc draft-research.xml --text Parsing file draft-research.xml WARNING: Illegal character replaced in string: 
 WARNING: Illegal character replaced in string: WARNING: Illegal character replaced in string: WARNING: Illegal character replaced in string: ^CTraceback (most recent call last): File "/usr/bin/xml2rfc", line 225, in main() File "/usr/bin/xml2rfc", line 210, in main pagedwriter.write(filename) File "/usr/lib/python2.7/dist-packages/xml2rfc/writers/base.py", line 1173, in write xml2rfc.utils.safeReplaceUnicode(self.r) File "/usr/lib/python2.7/dist-packages/xml2rfc/utils.py", line 298, in safeReplaceUnicode element.text = _replace_unicode_characters(element.text) File "/usr/lib/python2.7/dist-packages/xml2rfc/utils.py", line 324, in _replace_unicode_characters str = re.sub(match.group(1), entity, str) File "/usr/lib/python2.7/re.py", line 155, in sub return _compile(pattern, flags).sub(repl, string, count) KeyboardInterrupt Makefile:18: recipe for target 'draft-research.txt' failed make: *** [draft-research.txt] Error 1 [/code] Any suggestions on how I can solve this? Thanks in advance, Niels -- Niels ten Oever Head of Digital Article 19 www.article19.org PGP fingerprint 8D9F C567 BEE4 A431 56C4 678B 08B5 A0F2 636D 68E9 --------------060206040005020002050901 Content-Type: text/xml; name="draft-research.xml" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="draft-research.xml" Research into Human Rights Protocol Considera= tions Article19
niels@article19.org
General Human Rights Protocol Considerations Research Group Internet-Draft The increased intertwinement of Internet and society increases the imp= act of the Internet on the lives of individuals. Because of this, the des= ign and development of the architecture of the Internet also has an incre= asing impact on society. This has led to an increasing recognition that h= uman rights have a role in the development and management of the Intern= et . It has also been argued that the Internet should be stren= gthened as a human rights enabling environment .<= /t> This document provides a proposal for a glossary to discuss the relati= on between human rights and Internet protocols, an overview of the discus= sion, a proposal for the mapping of the relation between human rights and= technical concepts, and a proposal for guidelines for human rights consi= derations, similar to the work done on the guidelines for privacy conside= rations . Discussion of this draft at: hrpc@irtf.org // https://www.irtf.org/mai= lman/listinfo/hrpc
This document aims to expose the relation between protocols and human = rights, propose possible guidelines to protect the Internet as a human-ri= ghts-enabling environment in future protocol development, in a manner sim= ilar to the work done for Privacy Considerations in , and to increase the awareness in both the human rights community a= nd the technical community on the importance of the technical workings of= the Internet and its impact on human rights. Open, secure and reliable connectivity is necessary (although not suff= icient) to excercise the human rights such as freedom of expression and f= reedom of association, as defined in the Universal Declaration of Human R= ights . The Internet aims to be a global network o= f networks that provides unfettered connectivity to all users at all time= s and for any content . This objective of stimu= lating global connectivity contributes to the Internet=E2=80=99s role as = an enabler of human rights. Next to that, the strong commitment to securi= ty and privacy in the Internet=E2=80=99= s architectural design contribute to the strengthening of the Internet as= a human rights enabling environment. One could even argue that the Inter= net is not only an enabler of human rights, but that human rights lie at = the basis of, and are ingrained in, the architecture of the network. Inte= rnet connectivity increases the capacity for individuals to exercise thei= r rights, the core of the Internet, its architectural design is therefore= closely intertwined with the human rights framework . While the Internet was designed with freedom and openness of communica= tions as core values, as the scale and the commercialization of the Inter= net grew, topics like access, rights and connectivity are forced to compe= te with other values. Therefore, important human rights enabling characte= ristics of the Internet might be degraded if they=E2=80=99re not properly= defined, described and protected as such. And, the other way around, not= protecting human right enabling characteristics could also result in (pa= rtial) loss of functionality and connectivity, and other inherent parts o= f the Internet=E2=80=99s architecture. The IETF has produced guidelines and procedures to ensure and galvaniz= e the privacy and security of the network in protocol development. This d= ocument aims to explore the possibility of the development of similar pro= cedures for guidelines for human rights considerations to ensure that pro= tocols developed in the IETF do not have an adverse impact on the enjoyme= nt of human rights on the Internet.
In the discussion of human rights and Internet architecture concepts d= eveloped in computer science, networking, law, policy-making and advocacy= are coming together. The same concepts might have a very different meani= ng and implications in other areas of expertise. In order to foster a con= structive interdisciplinary debate, and minimize differences in interpret= ation, the following glossary is provided. Full Internet Connectivity as described in t= o provide unfettered access to the Internet=C2=A0 The design of protocols, services or implementation that provide an = enabling environment for people with disabilities. The ability to receive information available on the Internet The condition of an identity being unknown or concealed. A state of an individual in which an observer or attacker cannot identi= fy the individual within a set of other=C2=A0 individuals (the anonymity = set). The fact that the data does indeed come from the source it claims to co= me from. (It is strongly linked with Integrity, see below). Methods and measures to prevent Internet censorship. The non-disclosure of information to any unintended person or host or p= arty. The extent to which a device or network is able to reach other devices = or networks to exchange data. The Internet is the tool for providing glob= al connectivity .=C2=A0 Treating network traffic identically regardless of content. Debugging is a methodical process of finding and reducing the number of= bugs, or defects, or malfunctions in a protocol or its implementation, t= hus making it behave as expected. It also includes analyzing the conseque= nces that might have emanate from the error. Debugging tends to be harder= when various subsystems are tightly coupled, as changes in one may cause= bugs to emerge in another. The process through which people troubleshoot a technical issue, whi= ch may include inspection of program source code or device configurations= =2E Can also include tracing or monitoring packet flow. Opportunity for implementation or deployment of standards, protocols or= systems without one single point of control. The principal of extending characteristics of a protocol or system as f= ar as possible within the system. For example, end-to-end instant message= encryption would conceal communications from one user=E2=80=99s instant = messaging application through any intermediate devices and servers all th= e way to the recipient=E2=80=99s instant messaging application. If the me= ssage was decrypted at any intermediate point=E2=80=93for example at a se= rvice provider=E2=80=93then the property of end-to-end encryption would n= ot be present. One of the key architectural guidelines of the Internet is the end-t= o-end principle in the papers by Saltzer, Reed, and Clark . The end-to-end principle was origin= ally articulated as a question of where best not to put functions in a co= mmunication system. Yet, in the ensuing years, it has evolved to address = concerns of maintaining openness, increasing reliability and robustness, = and preserving the properties of user choice and ease of new service deve= lopment as discussed by Blumenthal and Clark in ; concerns that were not part of the original articulation of the end= -to-end principle. communication that takes place between communication end-points of t= he same physical or logical functional level The possibility of connecting autonomous systems into a single distribu= ted system. Heterogenity :=C2=A0 The Internet is characterized by heterogeneity on many levels: de= vices and nodes, router scheduling algorithms and queue management mechan= isms, routing protocols, levels of multiplexing, protocol versions and im= plementations, underlying link layers (e.g., point-to-point, multi-access= links, wireless, FDDI, etc.), in the traffic mix and in the levels of co= ngestion at different times and places. Moreover, as the Internet is comp= osed of autonomous organizations and Internet service providers, each wit= h their own separate policy concerns,there is a large heterogeneity of ad= ministrative domains and pricing structures. As a result, the heterogenei= ty principle proposed in needs to be supported= by design. Maintenance and assurance of the accuracy and consistency of data to en= sure it has not been (intentionally or unintentionally) altered. Internet censorship :=C2=A0 Internet censorship is the intentional suppression of information= originating, flowing or stored on systems connected to the Internet wher= e that information is relevant for decision making to some entity. A property of a documented standard or protocol which allows different = independent implementations to work with each other without any restricte= d negotiation, access or functionality.=C2=A0 Pursuant to the principle of constant change, since the function and sc= ope of the Internet evolves, so does the role of the IETF in developing s= tandards. Internet standards are adopted on the basis of a series of crit= eria, including high technical quality, support by community consensus, a= nd their overall benefit to the Internet. The latter calls for an assessm= ent of the interests of all affected parties and the specifications=E2=80= =99 impact on the Internet=E2=80=99s users. In this respect, the effectiv= e exercise of the human rights of the Internet users is a relevant consid= eration that needs to be=C2=A0appreciated in the standardization process = insofar as it is directly linked to the reliability and core values of th= e Internet. The practice of making protocols, standards, and implementations usable= in different languages and scripts.=C2=A0 (see Localization) (cf ) In the IETF, =E2=80=9Cinternationali= zation=E2=80=9D means to add or improve the handling of non-ASCII text in= a protocol. =C2=A0 A different perspective, mo= re appropriate to protocols that are designed for global use from the beg= inning, is the definition used by W3C: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =E2=80=9CInternationa= lization is the design and development of a =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 product, application or = document content that enables easy =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 localization for target = audiences that vary in culture, region, =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 or language.=E2=80=9D=C2= =A0 Many protocols that handle text only handle one charset (US-ASCII), or= leave the question of what CCS and encoding up to local guesswork (which= leads, of course, to=C2=A0 interoperability problems).=C2=A0 If multiple= charsets are permitted, they must be explicitly identified .=C2=A0 Adding non-ASCII text to a protocol allows the protoco= l to handle more scripts, hopefully all of the ones useful in the world.=C2= =A0 In today=E2=80=99s world, that is normally best accomplished by allow= ing Unicode encoded in UTF-8 only, thereby shifting conversion issues awa= y from individual choices.=C2=A0 The practice of translating an implementation to make it functional in = a specific language or for users in a specific locale (see Internationali= zation). (cf The process of adapting an internatio= nalized application platform or application to a specific cultural enviro= nment.=C2=A0 In localization, the same semantics are preserved while the = syntax may be changed. Localization is the act of tailoring an application for a different la= nguage or script or culture.=C2=A0 Some internationalized applications ca= n handle a wide variety of languages.=C2=A0 Typical users only understand= a small number of languages, so the program must be tailored to interact= with users in just the languages they know. The major work of localization is translating the user interface and d= ocumentation.=C2=A0 Localization involves not only changing the language = interaction, but also other relevant changes such as display of numbers, = dates, currency, and so on.=C2=A0 The better internationalized an applica= tion is, the easier it is to localize it for a particular language and ch= aracter encoding scheme. Conform=C2=A0 : Various national and internat= ional standards bodies, such as ANSI, =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ISO, IEEE, and ITU-T, develop a variety of= protocol and service =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 specifications that are similar to Technic= al Specifications =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 defined here.=C2=A0 National and internati= onal groups also publish =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =E2=80=9Cimplementors=E2=80=99 agreements=E2= =80=9D that are analogous to Applicability =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Statements, capturing a body of implementa= tion-specific detail =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 concerned with the practical application o= f their standards.=C2=A0 All =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 of these are considered to be =E2=80=9Cope= n external standards=E2=80=9D for the =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 purposes of the Internet Standards Process= =2E The quality of the unfiltered Internet that allows for free access to o= ther hosts. Absence of centralized points of control =E2=80=93 a feature that is= assumed to make it easy for new users to join and new uses to unfold . The freedom and ability to freely create and deploy new protocols on to= p of the communications constructs that currently exist. The right of an entity (normally a person), acting in its own behalf, t= o determine the degree to which it will interact with its environment, in= cluding the degree to which the entity is willing to share its personal i= nformation with others. The right of individuals to control or influence what information re= lated to them may be collected and stored and by whom and to whom that in= formation may be disclosed. Privacy is a broad concept relating to the protection of individual = autonomy and the relationship between an individual and society, includin= g government, companies and private individuals. It is often summarized a= s =E2=80=9Cthe right to be left alone=E2=80=9D but it encompasses a wide = range of rights including protections from intrusions into family and hom= e life, control of sexual and reproductive rights, and communications sec= recy.=C2=A0 It is commonly recognized as a core right that underpins huma= n dignity and other values such as freedom of association and freedom of = speech. The right to privacy is also recognized in nearly every national const= itution=C2=A0and in most international human rights treaties.=C2=A0It has= been adjudicated upon both by international and regional bodies.=C2=A0Th= e right to privacy is also legally protected at the national level throug= h provisions in civil and/or criminal codes. Reliability ensures that a protocol will execute its function consisten= tly and error resistant as described and function without unexpected resu= lt. A system that is reliable degenerates gracefully and will have a docu= mented way to announce degradation.=C2=A0It also has mechanisms to recove= r from failure gracefully, and if applicable, allow for partial healing.=C2= =A0 The maintaining of dependability and performance in the face of unantic= ipated changes and circumstances. The resistance of protocols and their implementations to errors, and to= involuntary, legal or malicious attempts to disrupt its mode of operatio= ns. The ability to handle increased or decreased workloads predictably with= in defined expectations. There should be a clear definition of its scope = and applicability.=C2=A0The limits of a systems scalability should be def= ined. In computing, a stateless protocol is a communications protocol that tr= eats each request as an independent transaction that is unrelated to any = previous request so that the communication consists of independent pairs = of request and response. A stateless protocol does not require the server= to retain session information or status about each communications partne= r for the duration of multiple requests. In contrast, a protocol which re= quires keeping of the internal state on the server is known as a stateful= protocol. Used to describe a cryptographic algorithm that would require a large a= mount of computational power to defeat it. = =E2=80=9Ctransparency=E2=80=9D refers to the original Internet concept = of a single universal logical addressing scheme, and the mechanisms by wh= ich packets may flow from source to destination essentially unaltered. The combination of reliability, confidentiality, integrity, anonymity,= and authenticity is what makes up security on the Internet.
The combination of End-to-End, Interoperability, resilience, reliabili= ty and robustness is what makes us connectivity on the Internet
The Human Rights Protocol Considerations Research Group (hrpc) in the = Internet Research Taskforce (IRTF) embarked on its mission to answer the = following two questions which are also the main two questions which this = documents seeks to answer: How can Internet protocols and standards impact human rights, either= by enabling them or by creating a restrictive environment? Can guidelines be developed to improve informed and transparent deci= sion making about potential human rights impact of protocols?
Protocols and standards are regularly seen as merely performing techni= cal functions. However, these protocols and standards do not exist outsid= e of their technical context nor outside of their political, historical, = economic, legal or cultural context. This is best exemplified by the way = in which protocols have become part and parcel of political processes and= public policies: one only has to look at the IANA transition, the RFC on= pervasive monitoring or global innovation policy for concrete examples <= xref target=3D"Denardis15"/>. To quote : =E2=80=9C= protocols are politics by other means=E2=80=9D. Since the late 1990=E2=80= =99s a burgeoning group of academics and practitioners researched questio= ns surrounding the societal impact of protocols. These studies vary in fo= cus and scope: some focus on specific standards , others look into the political, legal,= commercial or social impact of protocols = , . =C2=A0 Commercial and political influences on the management of the Internet=E2=80= =99s architecture are well-documented in the academic literature and will= thus not be discussed here . It is enough to sa= y that the IETF consistently tries to push back against the standardizati= on of surveillance and certain other issues that negatively influence end= -users=E2=80=99 experience of the Internet .= The role human rights play in technical engineering is much less clear.=C2= =A0 =C2=A0 Understanding how protocols and standards impact human rights, especially= the right to freedom of expression and freedom of association and assemb= ly, is crucial. Questions at the intersection of human rights and Interne= t architecture management are particularly important as Internet Standard= Developing Organizations (SDOs) are the arenas for contention over human= rights and the role of technical engineers to protect human rights by de= sign .=C2=A0 =C2=A0 In the academic literature four clear positions can be discerned, in rela= tion to the role of human rights in protocol design and how to account fo= r these human rights in protocol development: Clark et al. argue that the= re is a need to =E2=80=98design for variation in outcome, so that the out= come can be different in different places, and the tussle takes place wit= hin the design (=E2=80=A6) [as] Rigid designs will be broken; designs tha= t permit variation will flex under pressure and survive .=E2=80=99 They hold that human rights should not be hard-code= d into protocols because of four reasons: first, the rights in the UDHR a= re not absolute. Second, technology is not the only tool in the tussle ov= er human rights. Third, there are inherent dangers to blunting the tools = of enforcement and last but not least, it is dangerous to make promises t= hat can=E2=80=99t be kept. The open nature of the Internet will never, th= ey argue, be enough to fully protect individuals=E2=80=99 human rights. <= /t> Conversely, Brown et al. state that =E2=80= =98some key, universal values =E2=80=93 of which the UDHR is the most leg= itimate expression =E2=80=93 should be baked into the architecture at des= ign time.=E2=80=99 They argue that design choices have offline consequenc= es, and are able shape the power positions of groups or individuals in so= ciety. As such, the individuals making these technical decisions have a m= oral obligation to take into account the impact of their decisions on soc= iety, and by extension human rights. Brown et al recognise that values an= d the implementation of human rights vary across the globe. Yet they argu= e that all members of the United Nations have found =E2=80=98common agree= ment on the values proclaimed in the Universal Declaration of Human Right= s. In looking for the most legitimate set of global values to embed in th= e future Internet architecture, the UDHR has the democratic assent of a s= ignificant fraction of the planet=E2=80=99s population, through their ele= cted representatives.=E2=80=9D The main disagreement between these two positions lies mostly in the q= uestion on whether a particular value system should be embedded into the = Internet=E2=80=99s architecture or whether the architecture needs to acco= unt for a varying set of values.=20 =C2=A0 A third position that is similar to that of Brown et al., is taken by who argues that =E2=80=98we must find ways to co= ntinue guaranteeing the overall integrity and functionality of the public= core of the Internet.=E2=80=99 He argues that the best way to do this is= by declaring the backbone of the Internet - which includes the TCP/IP pr= otocol suite, numerous standards, the Domain Name System (DNS), and routi= ng protocols - a common public good.=C2=A0This is a different approach th= an that of and = because Broeders does not suggest that social values should (or should no= t) be explicitly coded into the Internet=E2=80=99s architecture, but rath= er that the existing architecture should be seen as an entity of public v= alue.=20 =C2=A0 Bless and Orwat represents a fourth position. Th= ey argue that it is to early to make any definitive claims, but that ther= e is a need for more careful analysis of the impact of protocol design ch= oices on human rights. They also argue that it is important to search for= solutions that =E2=80=98create awareness in the technical community abou= t impact of design choices on social values. And work towards a methodolo= gy for co-design of technical and institutional systems.=E2=80=99 Our position is that hard-coding human rights into protocols is very c= omplicated as each situation is dependent on its context. At this point i= s difficult to say whether hard-coding human rights into protocols is wis= e (or feasible). It is however important to make consicious and explicit = design decisions that take into account the human rights protocol conside= rations guidelines developed below. This will ensure that the impact prot= ocols can have on human rights is clear and explicit, both for developers= and for users. In addition, it ensures that the impact of specific proto= col on human rights is carefully considered and that concrete design deci= sions are documented in the protocol. This document details the steps taken in theresearch into human rights= protocol considerations by the HRPC group to clarify the relation betwee= n technical concepts used in the IETF and human rights. This document set= s out some preliminary steps and considerations for engineers to take int= o account when developing standards and protocols.=C2=A0
Mapping the relation between human rights, protocols and architectures= is a new research challenge, which requires a good amount of interdiscip= linary and cross organizational cooperation to develop a consistent metho= dology.=C2=A0 The authors of this first draft are involved in=C2=A0both h= uman rights advocacy and research on Internet technologies - and as such = believe that bringing this work into the IRTF facilitates and=C2=A0 impr= oves it by bringing human rights experts together with the community of r= esearchers and developers of Internet standards and technologies. The methodological choices made in this document are based on the poli= tical science-based method of discourse analysis and ethnographic researc= h methods . This work departs from the assumption = that language reflects the understanding of concepts. Or as holds, policy documents are =E2=80=98social relations represent= ed in texts where language is used to construct meaning and representatio= n=E2=80=99. This process happens in =E2=80=98the social space of society=E2= =80=99 and manifests itself in institutions = and organizations , exposed using the ethnographic= methods of semi-structured interviews and participant observation. The discourse analysis was operationalized using qualitative and quant= itative means. The first step taken by the research group was reading RF= Cs and other official IETF documents. The second step was the use of a py= hon-based analyzer, using the tool Big Bang, adapted by Nick Doty to scan for the concepts that were identified as importa= nt architectural principles (distilled on the initial reading and supplem= ented by the interviews and participant observation). Such a quantitative= method is very precise and speeds up the research process . But this tool is unable to understand =E2=80=98latent meaning= =E2=80=99 . In order to mitigate these issues of= automated word-frequency based approaches, and to get a sense of the =E2= =80=98thick meaning=E2=80=99 of the data, a sec= ond qualitative analysis of the data set was performed. These various rou= nds of discourse analysis were used to inform the interviews and further = data analysis. The ethnographic methods of the data collection and processing allowed= the research group to acquire the data necessary to =E2=80=98provide a h= olistic understanding of research participants=E2=80=99 views and actions= =E2=80=99 that highlighted ongoing issues and c= ase studies where protocols impact human rights. The interview participan= ts were selected through purposive sampling , as= the research group was interested in getting a wide variety of opinions = on the role of human rights in guiding protocol development. This samplin= g method also ensured that individuals with extensive experience working = at the IETF in various roles were targeted. The interviewees included ind= ividuals in leadership positions (Working Group (WG) chairs, Area Directo= rs (ADs)), =E2=80=98regular participants=E2=80=99, individuals working fo= r specific entities (corporate, civil society, political, academic) and r= epresented various backgrounds, nationalities and genders.
In order to map the potential relation between human rights and protoc= ols, so far, the HRPC research group gathered data from three specific so= urces:=E2=80=A8
To start addressing the issue, a mapping exercise analyzing Internet a= rchitecture and protocols features, vis-a-vis their possible impact on hu= man rights was undertaken. Therefore, research on the language used in cu= rrent and historic RFCs and mailing list discussions was undertaken to ex= pose core architectural principles, language and deliberations on human r= ights of those affected by the network.
Interviews with the current and past members of the Internet Architect= ure Board (IAB), current and past members of the Internet Engineering Ste= ering Group (IESG) and chairs of selected working groups and RFC authors = was done at the Dallas meeting in March 2015. To get an insider understan= ding of how they view the relationship (if any) between human rights and = protocols to play out in their work.
By participating in various working groups, in person at IETF meetings= and on mailinglists, information was gathered about the IETFs day-to-day= workings. From which which general themes, technical concepts, and use-c= ases about human rights and protocols were extracted.
The data above was processed using three consecutive strategies: mappi= ng protocols related to human rights, extracting concepts from these prot= ocols, and creation of a common glossary (detailed under =E2=80=9C2.vocab= ulary used=E2=80=9D). Before going over these strategies some elaboration= on the process of identifying technical concepts as they relate to human= rights needs to be given:=C2=A0
By combining data from the three data sources named above, an extensiv= e list of=C2=A0 protocols and standards that potentially enable the Inter= net as a tool for freedom of expression and association was assembly. In = order to determine the enabling (or inhibiting) features we relied on dir= ect references of such impact in the RFCs, as well as input from the comm= unity. On the basis of this analysis a list of RFCs that describe standar= ds and protocols that are potentially closely related to human rights was= compiled.
Mapping the protocols and standards that are related to human rights a= nd create a human rights enabeling environment was the first step. For th= at we needed to focus on specific technical concepts that underlie these = protocols and=C2=A0 standards. On the basis of this list a number of tech= nical concepts that appeared frequently was extracted, and used to create= a second list of technical terms that, when combined, create an enabling= environment for excercising human rights on the Internet.=C2=A0
While interviewing experts, mapping RFCs and compiling technical defin= itions several concepts of convergence and divergence were identified. To= ensure that the discussion was based on a common understanding of terms = and vocabulary, a list of definitions was created. The definitions are ba= sed on the wording found in various IETF documents, and if these were una= vailable definitions were taken from definitions from other Standards Dev= eloping Organizations or academic literature.
The previous steps allowed for the clarification of relation between h= uman rights and technical concepts. The steps taken show how the research= process zoomed in, from compiling a broad lists of protocols and standar= ds that relate to human rights to extracting the precise technical concep= ts that make up these protocols and standards, in order to understand the= relationship between the two. This sub-section presents the next step: t= ranslating human rights to technical concepts by matching the individuals= components of the rights to the accompanying technical concepts, allowin= g for the creation of a list of technical concepts that when combined cre= ate an enabling environment for human rights.
On the basis of the prior steps the following list of technical term= s, that when combined create an enabling environment for human rights, su= ch a freedom of expression and freedom of association, was drafted.
This analysis aims to translate human rights concepts that impact or a= re impacted by the Internet as follows: The combination of content agnosticism, connectivity, security, privac= y (as defined in ), and open standards are the= technical principles that underlie freedom of expression on the Internet= =2E
Given the information above, the following list of cases of protocols = that adversely impact or enable human rights was formed.
The Internet Protocol version 4 (IPv4), also known as =E2=80=98layer 3= =E2=80=99 of the Internet, and specified as a common encapsulation and pr= otocol header, is defined in . The evolution of= Internet communications led to continued development in this area, encap= sulated in the development of version 6 (IPv6) of the protocol in . In spite of this updated protocol, we find that 25 y= ears after the specification of version 6 of the protocol, the older v4 s= tandard continues to account for a sizeable majority of Internet traffic,= and most (if not all) of the issues discussed here are valid for IPv4 as= well as IPv6. The Internet was designed as a platform for free and open communicatio= n, most notably encoded in the end-to-end principle, and that philosophy = is also present in the technical implementation of the Internet Protocol.= While the protocol was designed to exist in a= n environment where intelligence is at the end hosts, it has proven to pr= ovide sufficient information that a more intelligent network core can mak= e policy decisions and enforce policy shaping and restricting the communi= cations of end hosts. These capabilities for network control and limitati= ons of the freedom of expression by end hosts can be traced back to the I= Pv4 design, helping us understand which technical protocol decisions have= led to harm of these human rights. Two major shifts have occurred to harm freedom of expression through m= isuse of the Internet Protocol. The first is the network=E2=80=99s exploi= tation of the public visibility of the host pairs for all communications,= and the corresponding ability to discriminate and block traffic as a res= ult of that metadata. The second is the selective development of IP optio= ns. Protocol extensions including Mobility and Multicasting have proposed= alternate communication modes and suggest that different forms of assemb= ly could be supported by a robust IP layer. Instead, the protocol limited= the deployability of such extensions by not providing a mechanism for ap= propriate fallback behavior when unrecognized extensions are encountered.=
The IPv4 protocol header contains fixed location fields for both the s= ource and destination IP addresses . These addr= esses identify both the host sending and receiving each message, and allo= w the core network to understand who is talking to whom, and to practical= ly limit communication selectively between pairs of hosts. Blocking of co= mmunication based on the pair of source and destination is one of the mos= t common limitations on the ability for hosts to communicate today, and can be seen as a restriction of the ability for t= hose hosts to assemble or to consensually express themselves. Inclusion of an Internet-wide identified source in the IP header is no= t the only possible design, especially since the protocol is most commonl= y implemented over Ethernet networks exposing only link-local identifiers= =2E A variety of alternative designs including= source routing, which would allow for the sender to choose a per defined= (safe) route, and spoofing of the source IP address are technically supp= orted by the protocol, but neither are considered good practice on the In= ternet. While projects like provide an alte= rnative implementation of anonymity in connections, they have been develo= ped in spite of the IPv4 protocol design.
The other major feature of the IP protocol header is that it specifies= the protocol encapsulated in each message in an easily observable form, = and does not encourage a design where the encapsulated protocol is not av= ailable to a network observer. This design has resulted in a proliferatio= n of routers which inspect the inner protocol, and also led to a stagnati= on where only the TCP and UDP protocols are widely supported across the I= nternet. While the IP protocol was designed as the entire set of metadata= needed for routing, subsequent enhanced routers have found value on maki= ng policy decisions based on the contents of TCP and UDP headers as well,= and are encoded with the assumption that only these protocols will be us= ed for data transfer. = defines an encrypted encapsulation of additional protocols, but lacks wid= espread deployment and faces the same challenge as any other protocol of = providing sufficient metadata with each message for routers to make posit= ive policy decisions. Protocols like have seen= limited wide-area uptake, and these alternate designs are frequently re-= implemented on top of UDP.
A major structural shift in the Internet which undermined the protocol= design of IPv4, and significantly reduced the freedom of end users to co= mmunicate and assemble is the introduction of network address translation= =2E Network address translation is a process w= hereby organizations and autonomous systems connect two networks by trans= lating the IPv4 source and destination addresses between the two. This pr= ocess puts the router performing the translation into a privileged positi= on, where it can decide which subset of communications are worthy of tran= slation, and whether an unknown request for communication will be correct= ly forwarded to a host on the other network. This process of translation has widespread adoption despite promoting = a process that goes against the stated end-to-end process of the underlyi= ng protocol . In contrast, the proposed mechan= ism to provide support for mobility and forwarding to clients which may m= ove, encoded instead as an option in the IP protocol in , has failed to gain traction. In this situation the compromise = made in the design of the protocol resulted in a technology that does not= fully encode freedom of expression in its design, eventhough a viable al= ternative that would do this exists.
The Domain Name System (DNS) , provides serv= ice discovery capabilities, and provides a mechanism to associate human r= eadable names with services. The DNS system is organized around a set of = independently operated =E2=80=98Root Servers=E2=80=99 run by organization= s around the web which enact ICANN=E2=80=99s policy by answering queries = for which organizations have been delegated to manage registration under = each Top Level Domain (TLD). Top Level domains are maintained and determi= ned by ICANN. These namespaces encompass several classes of services. The= initial name spaces including =E2=80=98.Com=E2=80=99 and =E2=80=98.Net=E2= =80=99, provide common spaces for expression of ideas, though their polic= ies are enacted through US based companies. Other name spaces are delegat= ed to specific nationalities, and may impose limits designed to focus spe= ech in those forums both to promote speech from that nationality, and to = comply with local limits on expression and social norms. Finally, the sys= tem has recently been expanded with additional generic and sponsored name= spaces, for instance =E2=80=98.travel=E2=80=99 and =E2=80=98.ninja=E2=80= =99, which are operated by a range of organizations which may independent= ly determine their registration policies. This new development has both p= ositive and negative implications in terms of enabling human rights. Some= individuals argue that it undermines the right to freedom of expression = because some of these new gtlds have restricted policies on registration = and particular rules on hate speech content. Others argue that precisely = these properties are positive because they enable certain (mostly minorit= y) communities to build safer spaces for association, thereby enabling th= eir right to freedom of association. An often mentioned example is an app= lication like .gay. DNS has significant privacy issues per . Mos= t notable the lack of encryption to limit the visibility of requests for = domain resolution from intermediary parties, and a limited deployment of = DNSSEC to provide authentication, allowing the client to know that they r= eceived a correct, =E2=80=9Cauthoritative=E2=80=9D, answer to a query. Authentication through DNSSEC creates a validation path for records. T= his authentication protects against forged or manipulated DNS data. As su= ch DNSSEC protects the directory look-up and makes hijacking of a session= harder. This is important because currently interference with the operat= ion of the DNS is becoming one of the central mechanisms used to block ac= cess to websites. This interference limits both the freedom of expression= of the publisher to offer their content, and the freedom of assembly for= clients to congregate in a shared virtual space. Even though DNSSEC does= n=E2=80=99t prevent censorship, it makes it clear that the returned infor= mation is not the information that was requested, which contributes to th= e right to security and increases trust in the network.
There have been a number of cases where the records for a domain are r= emoved from the name system due to real-world events. Examples of this re= moval includes the =E2=80=98seizure=E2=80=99 of wikileaks and the names of illegally operating gambling operation= s by the United States ICE unit, which compelled the US-based registry in= charge of the .com TLD to hand ownership of those domains over to the US= government. The same technique has been used in Libya to remove sites in= violation of =E2=80=9Cour Country=E2=80=99s Law and Morality (which) do = not allow any kind of pornography or its promotion.=E2=80=9D At a protocol level, there is no technical auditing for name ownership= , as in alternate systems like . As a result, = there is no ability for users to differentiate seizure from the legitimat= e transfer of name ownership, which is purely a policy decision of regist= rars. While DNSSEC addresses network distortion events described below, i= t does not tackle this problem.
The most common mechanism by which the DNS system is abused to limit f= reedom of expression is through manipulation of protocol messages by the = network. One form occurs at an organizational level, where client compute= rs are instructed to use a local DNS resolver controlled by the organizat= ion. The DNS resolver will then selectively distort responses rather than= request the authoritative lookup from the upstream system. The second fo= rm occurs through the use of deep packet inspection, where all DNS protoc= ol messages are inspected by the network, and objectionable content is di= storted, as in . A notable instance of distortion occurred in Greece , where a study found evidence of both of deep packet inspection= to distort DNS replies, and overblocking of content. ISPs prevented clie= nts from resolving the names of domains which they were instructed to do = through a governmental order, prompting this particular blocking systems = there. At a protocol level, the effectiveness of these attacks is made possib= le by a lack of authentication in the DNS protocol. DNSSEC provides the a= bility to determine authenticity of responses when used, but it is not re= gularly checked by resolvers. DNSSEC is not effective when the local reso= lver for a network is complicit in the distortion, for instance when the = resolver assigned for use by an ISP is the source of injection. Selective= distortion of records is also been made possible by the predictable stru= cture of DNS messages, which make it computationally easy for a network d= evice to watch all passing messages even at high speeds, and the lack of = encryption, which allows the network to distort only an objectionable sub= set of protocol messages. Specific distortion mechanisms are discussed fu= rther in .
Responding incorrectly to requests for name lookups is the most common= mechanism that in-network devices use to limit the ability of end users = to discover services. A deviation, which accomplishes a similar objective= may be seen as different from a freedom of expression perspective, is th= e injection of incorrect responses to queries. The most prominent example= of this behavior occurs in China, where requests for lookups of sites de= emed inappropriate will trigger the network to respond with a false response, causing the client to ignore the real response when it subseque= ntly arrives. Unlike the other forms of = discussion mentioned above, injection does not stifle the ability of a se= rver to announce it=E2=80=99s name, it instead provides another voice whi= ch answers sooner. This is effective because without DNSSEC, the protocol= will respond to whichever answer is received first, without listening fo= r subsequent answers.
The Hypertext Transfer Protocol (HTTP), described in its version 1.1 i= n RFC 7230 to 7237, is a request-response application protocol developed = throughout the 1990s, and factually contributed to the exponential growth= of the Internet and the inter-connection of populations around the world= =2E Because of its simple design, HTTP has become the foundation of most = modern Internet platforms and communication systems, from websites, to ch= at systems, and computer-to-computer applications. In its manifestation w= ith the World Wide Web, HTTP radically revolutionized the course of techn= ological development and the ways people interact with online content and= with each other. However, HTTP is also a fundamentally insecure protocol, that doesn=E2= =80=99t natively provide encryption properties. While the definition of t= he Secure Sockets Layer (SSL), and later of Transport Layer Security (TLS= ), also happened during the 1990s, the fact that HTTP doesn=E2=80=99t man= date the use of such encryption layers to developers and service provider= s, caused a very late adoption of encryption. Only in the middle of the 2= 000s did we observed big Internet service providers, such as Google, star= ting to provide encrypted access to their web services. The lack of sensitivity and understanding of the critical importance o= f securing web traffic incentivized malicious and offensive actors to dev= elop, deploy and utilize at large interception systems and later active i= njection attacks, in order to swipe large amounts of data, compromise Int= ernet-enabled devices. The commercial availability of systems and tools t= o perform these types of attacks also led to a number of human rights abu= ses that have been discovered and reported over the years. Generally we can identify in Traffic Interception and Traffic Manipula= tion the two most problematic attacks that can be performed against appli= cations employing a clear-text HTTP transport layer. That being said, the= IETF and especially the General Area Review Team (Gen-ART), is taking st= eady steps to move to the encrypted version of HTTP, HTTPSecure (HTTPS).<= /t>
While we are seeing an increasing trend in the last couple of years to= employ SSL/TLS as a secure traffic layer for HTTP-based applications, we= are still far from seeing an ubiquitous use of encryption on the World W= ide Web. It is important to consider that the adoption of SSL/TLS is also= a relatively recent phenomena. Google introduced an option for its GMail= users to navigate with SSL only in 2008 , and = turned SSL on by default later in 2010 . It t= ook an increasing amount of security breaches and revelations on global s= urveillance from Edward Snowden to have other Internet service providers = to follow Google=E2=80=99s lead. For example, Yahoo enabled SSL/TLS by de= fault on its webmail services only towards the end of 2013 . As we learned through the Snowden=E2=80=99s revelations, intelligence = agencies have been intercepting and collecting unencrypted traffic at lar= ge for many years. There are documented examples of such mass surveillanc= e programs with GCHQ=E2=80=99s TEMPORA and NSA=E2=80=99s XKEYSCORE. Throu= gh these programs NSA/GCHQ have been able to swipe large amounts of data = including email and instant messaging communications which have been tran= sported by the respective providers in clear for years, unsuspecting of t= he pervasiveness and scale of governments=E2=80=99 efforts and investment= into global mass surveillance capabilities. However, similar mass interception of unencrypted HTTP communications = is also often employed at a nation-level by less democratic countries by = exercising control over state-owned Internet Service Providers (ISP) and = through the use of commercially available monitoring, collection, and cen= sorship equipment. Over the last few years a lot of information has come = to public attention on the role and scale of a surveillance industry dedi= cated to develop interception gear of different types, making use of know= n and unknown weaknesses in existing protocols = =2E We have several records of such equipment being sold and utilized by = oppressive regimes in order to monitor entire segments of population espe= cially at times of social and political distress, uncovering massive huma= n rights abuses. For example, in 2013 the group Telecomix revealed that t= he Syrian regime was making use of BlueCoat products in order to intercep= t clear-text traffic as well as to enforce censorship of unwanted content= . Similarly in 2012 it was found that the French A= mesys provided the Gaddafi=E2=80=99s government with equipment able to in= tercept emails, Facebook traffic, and chat messages ad a country level. T= he use of such systems, especially in the context of the Arab Spring and = of civil uprisings against the dictatorships, has caused serious concerns= of significant human rights abuses in Libya.
The lack of a secure transport layer over HTTP connections not only ex= poses the users to interception of the content of their communications, b= ut is more and more commonly abused as a vehicle for active compromises o= f computers and mobile devices. If an HTTP session travels in clear over = the network, any node positioned at any point in the network is able to p= erform man-in-the-middle attacks and observe, manipulate, and hijack the = session and modify the content of the communication in order to trigger u= nexpected behavior by the application generating the traffic. For example, in the case of a browser the attacke= r would be able to inject malicious code in order to exploit vulnerabilit= ies in the browser or any of its plugins. Similarly, the attacker would b= e able to intercept, trojanize, and repackage binary software updates tha= t are very commonly downloaded in clear by applications such as word proc= essors and media players. If the HTTP session would be encrypted, the tam= pering of the content would not be possible, and these network injection = attacks would not be successful. While traffic manipulation attacks have been long known, documented, a= nd prototyped especially in the context of WiFi and LAN networks, in the = last few years we observed an increasing investment into the production a= nd sale of network injection equipment both available commercially as wel= l as deployed at scale by intelligence agencies. For example we learned from some of the documents provided by Edward S= nowden to the press, that the NSA has constructed a global network inject= ion infrastructure, called QUANTUM, able to leverage mass surveillance in= order to identify targets of interests and subsequently task man-on-the-= side attacks to ultimately compromise a selected device. Among other atta= cks, NSA makes use of an attack called QUANTUMINSERT which intercepts and hijacks an unencrypted HTTP communication and= forces the requesting browser to redirect to a host controlled by NSA in= stead of the intended website. Normally, the new destination would be an = exploitation service, referred in Snowden documents as FOXACID, which wou= ld attempt at executing malicious code in the context of the target=E2=80= =99s browser. The Guardian reported in 2013 that NSA has for example been= using these techniques to target users of the popular anonymity service = Tor . The German NDR reported in 2014 that NSA= has also been using its mass surveillance capabilities to identify Tor u= sers at large . Recently similar capabilities of Chinese authorities have been reporte= d as well in what has been informally called the =E2=80=9CGreat Cannon=E2= =80=9D , which raised numerous concerns on the p= otential curb on human rights and freedom of speech due to the increasing= tighter control of Chinese Internet communications and access to informa= tion. Network injection attacks are also made widely available to state acto= rs around the world through the commercialization of similar, smaller sca= le equipment that can be easily acquired and deployed at a country-wide l= evel. Companies like FinFisher and HackingTeam are known to have network = injection gear within their products portfolio, respectively called FinFl= y ISP and RCS Network Injector . The tech= nology devised and produced by HackingTeam to perform network traffic man= ipulation attacks on HTTP communications is even the subject of a patent = application in the United States . Access = to offensive technologies available on the commercial lawful interception= market has been largely documented to have lead to human rights abuses a= nd illegitimate surveillance of journalists, human rights defenders, and = political activists in many countries around the world. Companies like Fi= nFisher and HackingTeam have been found selling their products to oppress= ive regimes with little concern for bad human rights records . While network injection attacks haven=E2=80=99t been the = subject of much attention, they do enable even unskilled attackers to per= form silent and very resilient compromises, and unencrypted HTTP remains = one of the main vehicles. There is a new version of HTTP, called HTTP/2, which was published as = and which aimed to be largely backwards compat= ible but also offer new option such as data compression of HTTP headers a= nd pipelining of request and multiplexing multiple requests over a single= TCP connection. Except for decreasing latency to improve page loading sp= eeds it also facilitates more efficient use of connectivity in low-bandwi= th environments, which is an enabler for freedom of expression, the right= to assembly, right to political participation and the right to participa= te in cultural life, art and science.=20 does not mandate Transport Layer Security or a= ny other form of encryption, is also does not support opportunistic encry= ption, so the vulnerabilities listed above for HTTP/1 are also valid for = HTTP/2 as defined in .
The Extensible Messaging and Presence Protocol (XMPP), specified in , provides a standard for interactive chat messag= ing, and has evolved to encompass interoperable text, voice, and video ch= at. The protocol is structured as a federated network of servers, similar= to email, where users register with a local server which acts one their = behalf to cache and relay messages. This protocol design has many advanta= ges, allowing servers to shield clients from denial of service and other = forms of retribution for their expression, and designed to avoid central = entities which could control the ability to communicate or assemble using= the protocol. None-the-less, there are plenty of aspects of the protocol design of X= MPP which shape the ability for users to communicate freely, and to assem= bly through the protocol. The protocol also has facets that may stifle sp= eech as users self-censor for fear of surveillance, or find themselves un= able to express themselves freely.
The XMPP specification dictates that clients are identified with a res= ource (node@domain/home /= node@domain/work) to dis= tinguish the conversations to specific devices. While the protocol does n= ot specify that the resource must be exposed by the client=E2=80=99s serv= er to remote users, in practice this has become the default behavior. In = doing so, users can be tracked by remote friends and their servers, who a= re able to monitor presence not just of the user, but of each individual = device the user logs in with. This has proven to be misleading to many us= ers, since many clients only expose user level = rather than device level presence. Likewise, user invisibility so that co= mmunication can occur while users don=E2=80=99t notify all buddies and ot= her servers of their availability is not part of the formal protocol, and= has only been added as an extension within the XML stream rather than en= forced by the protocol.
The XMPP protocol specifies the standard by which communication of cha= nnels may be encrypted, but it does not provide visibility to clients of = whether their communications are encrypted on each link. In particular, e= ven when both clients ensure that they have an encrypted connection to th= eir XMPP server to ensure that their local network is unable to read or d= isrupt the messages they send, the protocol does not provide visibility i= nto the encryption status between the two servers. As such, clients may b= e subject to selective disruption of communications by an intermediate ne= twork which disrupts communications based on keywords found through Deep = Packet Inspection. While many operators have commited to only establishin= g encrypted links from their servers in recognition of this vulnerability= , it remains impossible for users to audit this behavior and encrypted co= nnections are not required by the protocol itself . In particular, section 13.14 of the protocol specification explicitly acknowledges the existence of a downgrade atta= ck where an adversary controlling an intermediate network can force the i= nter domain federation between servers to revert to a non-encrypted proto= col were selective messages can then be disrupted.
Group chat in the XMPP protocol is defined as an extension within the = XML specification of the XMPP protocol (https://xmpp.org/extensions/xep-0= 045.html). However, it is not encoded or required at a protocol level, an= d not uniformly implemented by clients. The design of multi-user chat in the XMPP protocol suffers from extend= ing a protocol that was not designed with assembly of many users in mind.= In particular, in the federated protocol provided by XMPP, multi-user co= mmunities are implemented with a distinguished =E2=80=98owner=E2=80=99, w= ho is granted control over the participants and structure of the conversa= tion. Multi-user chat rooms are identified by a name specified on a specific= server, so that while the overall protocol may be federated, the ability= for users to assemble in a given community is moderated by a single serv= er. That server may block the room and prevent assembly unilaterally, eve= n between two users neither of whom trust or use that server directly.
Peer-to-Peer (P2P) is a network architecture (defined in ) in which all the participant nodes are equally responsible e= ngaged into the storage and dissemination of information. A P2P network i= s a logical overlay that lives on top of the physical network, and allows= nodes (or =E2=80=9Cpeers=E2=80=9D) participating to it to establish cont= act and exchange information directly from one to each other. The impleme= ntation of a P2P network may very widely: it may be structured or unstruc= tured, and it may implement stronger or weaker cryptographic and anonymit= y properties. While its most common application has traditionally been fi= le-sharing (and other types of content delivery systems), P2P is increasi= ngly becoming a popular architecture for networks and applications that r= equire (or encourage) decentralization. A prime example is Bitcoin (and s= imilar cryptocurrencies), as well as Skype, Spotify and other proprietary= multimedia applications. In a time of heavily centralized online services, peer-to-peer is ofte= n seen as an alternative, more democratic, and resistant architecture tha= t displaces structures of control over data and communications and delega= tes all peers equally to be responsible for the functioning, integrity, a= nd security of the data. While in principle peer-to-peer remains critical= to the design and development of future content distribution, messaging,= and publishing systems, it poses numerous security and privacy challenge= s which are mostly delegated to individual developers to recognize, analy= ze, and solve in each implementation of a given P2P network.
Since content, and in some occasions peer lists, are safeguarded and d= istributed by its members, P2P networks are prone to what are generally d= efined as =E2=80=9Cpoisoning attacks=E2=80=9D. Poisoning attacks might be= directed directly at the data that is being distributed, for example by = intentionally corrupting it, or at the index tables used to instruct the peers where to fetch the data, or at routing tables, with the attempt of = providing connecting peers with lists of rogue or non-existing peers, wit= h the intention to effectively cause a Denial of Service on the network.<= /t>
Peer-to-Peer traffic (and BitTorrent in particular) represents a high = percentage of global Internet traffic and it has become increasingly popu= lar for Internet Service Providers to perform throttling of customers lin= es in order to limit bandwidth usage and= sometimes probably as an effect of the ongoing conflict between copyrigh= t holders and file-sharing communities . Throttling the peer-to-peer traffic makes some uses of P2P networks in= effective and it might be coupled with stricter inspection of users=E2=80= =99 Internet traffic through Deep Packet Inspection techniques which migh= t pose additional security and privacy risks.
One of the fundamental and most problematic issues with traditional pe= er-to-peer networks is a complete lack of anonymization of its users. For= example, in the case of BitTorrent, all peers=E2=80=99 IP addresses are = openly available to the other peers. This has lead to an ever-increasing = tracking of peer-to-peer and file-sharing users . A= s the geographical location of the user is directly exposed, and so could be his identity, t= he user might become target of additional harassment and attacks, being o= f physical or legal nature. For example, it is known that in Germany law = firms have made extensive use of peer-to-peer and file-sharing tracking s= ystems in order to identify downloaders and initiate legal actions lookin= g for compensations . It is worth noting that there are varieties of P2P networks that imple= ment cryptographic practices and that introduce anonymization of its user= s. Such implementations proved to be successful in resisting censorship o= f content, and tracking of the network peers. A primary example is FreeNe= t , a free software application designed to si= gnificantly increase the difficulty of users and content identification, = and dedicated to foster freedom of speech online .
In open-membership P2P networks, a single attacker can pretend to be m= any participants, typically by creating multiple fake identities of whate= ver kind the P2P network uses . Attackers can = use Sybil attacks to bias choices the P2P network makes collectively towa= rd the attacker=E2=80=99s advantage, e.g., by making it more likely that = a particular data item (or some threshold of the replicas or shares of a = data item) are assigned to attacker-controlled participants. If the P2P = network implements any voting, moderation, or peer review-like functional= ity, Sybil attacks may be used to =E2=80=9Cstuff the ballots=E2=80=9D tow= ard the attacker=E2=80=99s benefit. Companies and governments can use Sy= bil attacks on discussion-oriented P2P systems for =E2=80=9Castroturfing=E2= =80=9D or creating the appearance of mass grassroots support for some po= sition where there is none in reality.
Encrypted P2P and Anonymous P2P networks already emerged and provided = viable platforms for sharing material, publish content anonymously, and c= ommunicate securely . If adopted at large, w= ell-designed and resistant P2P networks might represent a critical compon= ent of a future secure and distributed Internet, enabling freedom of spee= ch and freedom of information at scale.
A Virtual Private Network (VPN) is a point-to-point connection that en= ables two computers to communicate over an encrypted tunnel. There are mu= ltiple implementations and protocols used in provisioning a VPN, and they= generally diversify by encryption protocol or particular requirements, m= ost commonly in proprietary and enterprise solutions. VPNs are used commo= nly either to enable some devices to communicate through peculiar network= configurations, or in order to use some privacy and security properties = in order to protect the traffic generated by the end user; or both. VPNs = have also become a very popular technology among human rights defenders, = dissidents, and journalists worldwide to avoid local illegitimate wiretap= ping and eventually also to circumvent censorship. Among human rights def= enders VPNs are often debated as a potential alternative to Tor or other = anonymous networks. Such comparison is misleading, as some of the privacy= and security properties of VPNs are often misunderstood by less tech-sav= vy users, which could ultimately lead to unintended problems. As VPNs increased in popularity, commercial VPN providers have started= growing in business and are very commonly picked by human rights defende= rs and people at risk, as they are normally provided with an easy-to-use = service and sometimes even custom applications to establish the VPN tunne= l. Not being able to control the configuration of the network, and even l= ess so the security of the application, assessing the general privacy and= security state of common VPNs is very hard. Often such services have bee= n discovered leaking information, and their custom applications have been= found flawed. While Tor and similar networks receive a lot of scrutiny f= rom the public and the academic community, commercial or non-commercial V= PN networks are way less analyzed and understood, and it might be valuabl= e to establish some standards to guarantee a minimal level of privacy and= security to those who need them the most.
One of the common misconception among users of VPNs is the level of an= onymity VPN can provide. This sense of anonymity can be betrayed by a num= ber of attacks or misconfigurations of the VPN provider. It is important = to remember that, contrarily to Tor and similar systems, VPN was not desi= gned to provide anonymity properties. From a technical point of view, the= VPN might leak identifiable information, or might be subject of correlat= ion attacks that could expose the originating address of the connecting u= ser. Most importantly, it is vital to understand that commercial and non-= commercial VPN providers are bound by the law of the jurisdiction they re= side in or in which their infrastructure is located, and they might be le= gally forced to turn over data of specific users if legal investigations = or intelligence requirements dictate so. In such cases, if the VPN provid= ers retain logs, it is possible that the information of the user is provi= ded to the user=E2=80=99s adversary and leads to his or her identificatio= n.
With VPN being point-to-point connections, the service providers are i= n fact able to observe the original location of the connecting users and = they are able to track at what time they started their session and eventu= ally also to which destinations they=E2=80=99re trying to connect to. If = the VPN providers retain logs for long enough, they might be forced to tu= rn over the relevant data or they might be otherwise compromised, leading= to the same data getting exposed. A clear log retaining policy could be = enforced, but considering that countries enforce very different levels of= data retention policies, VPN providers should at least be transparent on= what information do they store and for how long is being kept.
VPN providers very commonly rely on 3rd parties to provision the infra= structure that is later going to be used to run VPN endpoints. For exampl= e, they might rely on external dedicated server hosting providers, or on = uplink providers. In those cases, even if the VPN provider itself isn=E2=80= =99t retaining any significant logs, the information on the connecting us= ers might be retained by those 3rd parties instead, introducing an additi= onal collection point for the adversary.
Some studies proved that several commercial VPN providers and applicat= ions suffer of critical leakage of information through IPv6 due to improp= er support and configuration . This is gene= rally caused by a lack of proper configuration of the client=E2=80=99s IP= v6 routing tables. Considering that most popular browsers and similar app= lications have been supporting IPv6 by default, if the host is provided w= ith a functional IPv6 configuration, the traffic that is generated might = be leaked if the VPN application isn=E2=80=99t designed to manipulate suc= h traffic properly.
Similarly, VPN services that aren=E2=80=99t handling DNS requests and = are not running DNS servers of their own, might be prone to DNS leaking w= hich might not only expose sensitive information on the activity of the u= ser, but could also potentially lead to DNS hijacking attacks and followi= ng compromises.
As revelations of mass surveillance have been growing in the press, ad= ditional details on attacks on secure Internet communications have come t= o the public=E2=80=99s attention. Among these, VPN appeared to be a very = interesting target for attacks and collection efforts. Some implementatio= ns of VPN appear to be particularly vulnerable to identification and coll= ection of key exchanges which, some Snowden documents revealed, are syste= matically collected and stored for future reference. The ability of an ad= versary to monitor network connections at many different points over the = Internet, can allow them to perform traffic correlation attacks and ident= ify the origin of certain VPN traffic by cross referencing the connection= time of the user to the endpoint and the connection time of the endpoint= to the final destination. These types of attacks, although very expensiv= e and normally only performed by very resourceful adversaries, have been = documented to be already in practice and could= completely vanify the use of a VPN and ultimately expose the activity an= d the identity of a user at risk.
Every Internet user has run into the =E2=80=98404 Not Found=E2=80=99 H= ypertext Transfer Protocol (HTTP) status code when trying, and failing, t= o access a particular website . It is a response s= tatus that the server sends to the browser, when the server cannot locate= the URL. =E2=80=98403 Forbidden=E2=80=99 is another example of this clas= s of code signals that gives users information about what is going on. In= the =E2=80=98403=E2=80=99 case the server can be reached, but is blockin= g the request because the user is trying to access content forbidden to t= hem. This can be because the specific user is not allowed access to the c= ontent (like a government employee trying to access pornography on a work= -computer) or because access is restricted to all users (like social netw= ork sites in certain countries). As surveillance and censorship of the Internet is becoming more commonpla= ce, voices were raised at the IETF to introduce a new status code that in= dicates when something is not available for =E2=80=98legal reasons=E2=80=99= (like censorship): The 451 status code would allow server operators to operate with great= er transparency in circumstances where issues of law or public policy aff= ect their operation. This transparency may be beneficial both to these op= erators and to end-users . The status code would be named =E2=80=98451=E2=80=99, a reference to B= radbury=E2=80=99s famous novel on censorship During the IETF meeting in Dallas, there was discussion about the usef= ulness of =E2=80=98451=E2=80=99. The main tension revolved around the lac= k of an apparent machine-readable technical use of the information. The e= xtent to which =E2=80=98451=E2=80=99 is just =E2=80=98political theatre=E2= =80=99 or whether it has a concrete technical use was heatedly debated. S= ome argued that =E2=80=98the 451 status code is just a status code with a= response body=E2=80=99 others said it was problematic because =E2=80=98i= t brings law into the picture=E2=80=99. Again others argued that it would= be useful for individuals, or organizations like the =E2=80=98Chilling E= ffects=E2=80=99 project, crawling the web to get an indication of censors= hip (IETF discussion on =E2=80=98451=E2=80=99 =E2=80=93 author=E2=80=99s = field notes March 2015). There was no outright objection during the Dalla= s meeting against moving forward on status code =E2=80=98451=E2=80=99, an= d on December 18, 2015 the Internet Engineering Steering Group approved p= ublication of =E2=80=98An HTTP Status Code to = Report Legal Obstacles=E2=80=99. It is now an IETF approved HTTP status c= ode to signal when resource access is denied as a consequence of legal de= mands . What is interesting about this particular case is that not only techni= cal arguments but also the status code=E2=80=99s outright potential polit= ical use for civil society played a substantial role in shaping the discu= ssion, and the decision to move forward with this technology. It is however important to note that 451 is not a solution to detect a= ll occasions of censorship. A large swath of Internet filtering occurs in= the network rather than the server itself. For these forms of censorship= 451 plays a limited role, as the servers will not be able to send the co= de, because they haven=E2=80=99t received the requests (as is the case wi= th servers with resources blocked by the Chinese Golden shield). Such fil= tering regimes are unlikely to voluntarily inject a 451 status code. The = use of 451 is most likely to apply in the case of cooperative, legal vers= ions of content removal resulting from requests to providers. One can thi= nk of content that is removed or blocked for legal reasons, like copyrigh= t infringement, gambling laws, child abuse, et cetera. The major use case= is thus clearly on the Web server itself, not the network. Large Interne= t companies and search engines are constantly asked to censor content in = various jurisdictions. 451 allows this to be easily discovered, for insta= nce by initiatives like the Lumen Database. In the case of adversarial bl= ocking done by a filtering entity on the network 451 is less useful. Overall, the strength of 451 lies in its ability to provide transparen= cy by giving the reason for blocking, and giving the end-user the ability= to file a complaint. It allows organizations to easily measure censorshi= p in an automated way, and prompts the user to access the content via ano= ther path (e.g. TOR, VPNs) when (s)he encounters the 451 status code.= Status code 451 impact human rights by making censorship more transpar= ent and measurable. The status code increases transparency both by signal= ing the existence of censorship (instead of a much more broad HTTP error = message like HTTP status code 404) as well as providing details of the le= gal restriction, which legal authority is imposing it, and what class of = resources it applies to. This empowers the user to seek redress.
On the current Internet, transparency on how packets reach a destinati= on is no longer a given. This is due to the increased presence of firewal= ls, spam filters, and network address translators networks (NATs) =E2=80=93= or middleboxes as these hosts are often called =E2=80=93 that make use o= f higher-layer fields to function . This development is contentious. The debate also unfolded at the IETF, sp= ecifically at the Session Protocol Underneath Datagrams (SPUD) Birds of a= Feather (BOF) meeting held at the IETF conference in March 2015. The dis= cussion at the BOF focused on questions about adding meta-data, or other = information to traffic flows, to enable the sharing of information with m= iddleboxes in that flow. During the sessions two competing arguments were= distilled. On the one hand adding additional data would allow for networ= k optimization, and hence improve traffic carriage. On the other hand, th= ere are risks of information leakage and other privacy and security conce= rns. Middleboxes, and the protocols guiding them, influence individuals=E2=80= =99 ability to communicate online freely and privately. Repeatedly mentio= ned in the discussion was the danger of censorship that comes with middle= boxes, and the IETF=E2=80=99s role to prevent such censorship from happen= ing. Middleboxes are becoming a proxy for the debate on the extent to whi= ch commercial interests are a valid reason to undermine the end-to-end pr= inciple. The potential for abuse and censoring, and thus ultimately the i= mpact of middleboxes on the Internet as a place of unfiltered, unmonitore= d freedom of speech, is real. It is impossible to make any definitive sta= tements about the direction the debate on middleboxes will take at the IE= TF. The opinions expressed in the SPUD BOF and by the various interviewee= s indicate that a majority of engineers are trying to mitigate the negati= ve effects of middleboxes on freedom of speech, but their ability to act = is limited by their larger commercial context that is expanding the use o= f middleboxes.
Are Distributed Denial of Service (DDoS) attacks a legitimate form of = online protest protected by the right to freedom of speech and associatio= n? Can they be seen as the equivalent to =E2=80=98million-(wo)men marches= =E2=80=99, or sit-ins? Or are they a threat to freedom of expression and = access to information, by limiting access to websites and in certain case= s the freedom of speech of others? These questions are crucial in our day= and age, where political debates, civil disobedience and other forms of = activism are increasingly moving online. Many individuals, not excluding IETF engineers, have argued that DDoS = attacks are fundamentally against freedom of speech. Technically DDoS att= acks are when one or multiple host overload the bandwidth or resources of= another host by flooding it with traffic, causing it to temporarily stop= being available to users. One can roughly differentiate three types of D= DoS attacks: Volume Based Attacked (This attack aims to make the host unr= eachable by using up all it=E2=80=99s bandwith, often used techniques are= : UDP floods and ICMP floods), Protocol Attacks (This attacks aims to use= up actual server resources, often used techniques are SYN floods, fragme= nted packet attacks, and Ping of Death ) and Ap= plication Layer Attacks (this attack aims to bring down a server, such as= the webserver). In their 2010 report Zuckerman et al argue that DDoS attacks are a bad= thing because they are increasingly used by governments to attack and si= lence critics. Their research demonstrates that in many countries indepen= dent media outlets and human rights organizations are the victim of DDoS = attacks, which are directly or indirectly linked to their governments. Th= ese types of attacks are particularly complicated because attribution is = difficult, creating a situation in which governments can effectively cens= or content, while being able to deny involvement in the attacks . DDoS attacks can thus stifle freedom of expression, = complicate the ability of independent media and human rights organization= s to exercise their right to (online) freedom of association, while facil= itating the ability of governments to censor dissent. When it comes to c= omparing DDoS attacks to protests in offline life, it is important to rem= ember that only a limited number of DDoS attacks involved solely willing = participants. In most cases, the clients are hacked computers of unrelate= d parties that have not consented to being part of a DDoS (for exceptions= see Operation Abibil or the Iranian Green Move= ment DDoS ). In addition, DDoS attacks are increasingly used as an extortion tactic= , with criminals flooding a website =E2=80=93 rendering it inaccessible =E2= =80=93 until the owner pays them a certain amount of money to stop the at= tack. The costs of mitigating such attacks, either by improving security = to prevent them or paying off the attackers, ends up being paid by the co= nsumer. All of these issues seem to suggest that the IETF should try to ensure= that their protocols cannot be used for DDoS attacks. Decreasing the num= ber of vulnerabilities in the network stacks of routers or computers, red= ucing flaws in HTTPS implementations, and depreciating non-secure HTTP pr= otocols could address this issue. The IETF can clearly play a role in bri= nging about some of these changes, and has indicated in its commitment to mitigating =E2=80=98pervasive monitoring (=E2= =80=A6) in the design of IETF protocols, where possible.=E2=80=99 This me= ans the use of encryption should become standard. Effectively, for the we= b this means standardized use of HTTPS. The IETF could redirect its work = such that HTPPS becomes part-and-parcel of its standards. However, next t= o the various technical trade-offs that this might lead to it is importan= t to consider that DDoS attacks are sometimes seen as a method for exerci= sing freedom of speech. DDoS although disruptive, and silencing at times, can also enable as p= rotest and speech. Or as Sauter argues: =E2=80=98= though DDoS as a tactic is still relatively novel, it fits within a centu= ries- long tradition of breaking laws and disrupting business as usual to= make a political point. These actions aren=E2=80=99t simply disruption f= or disruption=E2=80=99s sake. Rather they serve to help the activist or d= issenter to direct the attention of the public through the interpolation = of difference into routine.=E2=80=99 (30-31). An often heard argument aga= inst DDoS attacks is that you cannot construe it as a means to exercise y= our right to freedom of speech, when the means used effectively impede th= e right of the party on the receiving end of the attack to exercise that = same right. The problem with this line of argumentation is that it conven= iently ignores the fact that online DDoS attacks are often one of the few= effective ways for activists to gain the attention of the media, the gov= ernment or other parties of interest. Simply putting up a website for a c= ause won=E2=80=99t garner the same amount of attention as directly confro= nting the issue via the website of the individual or organization at the = heart of the issue. The ability of activists to do so should be protected= , especially considering the fact that as Sauter (2014:4) explains: =E2=80= =98Collectively, we have allowed the construction of an entire public sph= ere, the Internet, which by accidents of evolution and design, has none o= f the inherent free speech guarantees we have come to expect. Dissenting = voices are pushed out of the paths of potential audiences, effectively re= moving them from the public discourse. There is nowhere online for an act= ivist to stand with her friends and her sign. She might set up a dedicate= d blog=E2=80=94which may or may not ever be read=E2=80=94but it is much h= arder for her to stand collectively with others against a corporate giant= in the online space.=E2=80=99 Although the Internet is often compared to= public space, it is not. Rather the opposite. The Internet is almost ent= irely owned by private entities. And the IETF plays a crucial role in dev= eloping this privatized commercialized Internet. From a legal and political perspective, the IETF does not have the leg= itimacy to determine when a DDoS is legitimate (in legal or political ter= ms). It does not have the capability to make this judgment as a matter of= public policy and subsequently translate it to code. Nor should the IETF= try to do so. From a technical perspective, the difference between a =E2= =80=98legitimate=E2=80=99 and =E2=80=98illegitimate=E2=80=99 DDoS attack = is meaningless because it would be extremely difficult for the IETF to en= gineer a way to detect that difference. In addition, there is a need for = the IETF to be consistent in the face of attacks (an attack is an attack = is an attack) to maintain the viability of the network. Arguing that some= DDoS attacks should be allowed, based on the motivation of the attackers= complicates the work of the IETF. Because it approaches PM regardless of= the motivation of the attackers (see ) for rea= soning), taking the motivation of the attackers into account for DDoS wou= ld indirectly undermine the ability of the IETF to protect the right to p= rivacy because it introduces an element of inconsistency into how the IET= F deals with attacks. David Clark recently published a paper warning that the future of the = Internet is in danger. He argues that the private sector control over the= Internet is too strong, limiting the myriad of ways in which it can be u= sed , including for freedom of speech. But jus= t because freedom of speech, dissent, and protest are human rights, and D= DoS is a potential expression of those rights, doesn=E2=80=99t mean that = DDoS in and of itself is a right. To widen the analogy, just because the= Internet is a medium through which the right to freedom of expression ca= n be exercised does not make access to the Internet or specific ICTs or N= CTs a human right. Uses of DDoS might or might not be legitimate for poli= tical reasons, but the IETF has no means or methods to assess this, and i= n general enabling DDoS would mean a deterioration of the network and thu= s freedom of expression. In summation, the IETF cannot be expected to take a moral stance on DD= oS attacks, or create protocols to enable some attacks and inhibit others= =2E But what it can do is critically reflect on its role in creating a co= mmercialized Internet without a defacto public space or inherent protecti= ons for freedom of speech.
= Having established how human rights relate to standards and protocols,= a common vocabulary of technical concepts that impact human rights and h= ow these technical concept can be combined to ensure that the Internet re= mains an enabling environment for human rights means the contours of a mo= del for developing human rights protocol considerations has taken shape. = This subsection provides the last step by detailing how the technical con= cepts identified above relate to human rights, and what questions enginee= rs should ask themselves when developing or improving protocols. In short= , it presents a set of human rights protocol considerations.
Human rights threats on the Internet come in a myriad of forms. Protoc= ols and standards can harm or enable the right to freedom of expression, = right to non-discrimination, right to equal protection, right to particip= ate in cultural life, arts and science, right to freedom of assembly and = association, and the right to security. An end-user who is denied access = to certain services, data or websites may be unable to disclose vital inf= ormation about the malpractices of a government or other authority. A per= son whose communications are monitored may be prevented from exercising t= heir right to freedom of association. In a worst-case scenario, protocols= that leak information can lead to physical danger. A realistic example t= o consider is when opposition leaders in totalitarian regimes are subject= ed to torture on the basis of information gathered by the regime through = information leakage in protocols. This sections details several =E2=80=98common=E2=80=99 threats to huma= n rights, indicating how each of these can lead to human rights violation= s/harms and present several examples of how these threats to human rights= materialize on the Internet. This threat modeling is inspired by Privacy Considerations for Internet Protocols, which = is based on the security threat analysis. This method is by no means a pe= rfect solution for assessing human rights risks in Internet protocols and= systems; it is however the best approach currently available. Certain hu= man rights threats are indirectly considered in Internet protocols as par= t of the standard privacy and security considerations . Others suggestions are tailored specifically to human rights, an= d represents considerations not currently considered in other RFCs. Many threats, enablers and risks are linked to different rights. This = is not unsurprising if one takes into account that human rights are inter= related, interdependent and universal. Here however we=E2=80=99re not dis= cussing all human rights because not all human rights are relevant to ICT= s in general and protocols and standards in particular . This is by no means an attempt to cherry picks rights, if other r= ights seem relevant, please contact the authors and/or the hrpc mailingli= st.
This section provides guidance for document authors in the form of a q= uestionnaire about protocols being designed. The questionnaire may be use= ful at any point in the design process, particularly after document autho= rs have developed a high-level protocol model as described in . There should be some discussion of potential human rights risks arisin= g from potential misapplications of the protocol or technology described = in the RFC.This might be coupled with an Applicability Statement for that= RFC. Note that the guidance provided in this section does not recommend spe= cific practices. The range of protocols developed in the IETF is too broa= d to make recommendations about particular uses of data or how human righ= ts might be balanced against other design goals. However, by carefully c= onsidering the answers to each question mentioned under 7.3, document aut= hors should be able to produce a comprehensive analysis that can serve as= the basis for discussion on whether the protocol adequately protects aga= inst human rights threats. This guidance is meant to help the thought pr= ocess of a human rights analysis; it does not provide specific directions= for how to write a human rights protocol considerations section (followi= ng the example set in ).
Question(s): Does your protocol add application-specific functions to intermediary nod= es? Could this functionality also be added to end nodes instead of interm= ediary nodes? Explanation: The end-to-end principle which aims to extend = characteristics of a protocol or system as far as possible within the sys= tem, or in other words =E2=80=98the intelligence is end to end rather tha= n hidden in the network=E2=80=99 . Middleboxes = (which can be Content Delivery Networks, Firewalls, NATs or other interme= diary nodes that provide other =E2=80=98services=E2=80=99 than routing), = and the protocols guiding them, influence individuals=E2=80=99 ability to= communicate online freely and privately. The potential for abuse and int= entional and unintentional censoring and limiting permissionless innovati= on, and thus ultimately the impact of middleboxes on the Internet as a pl= ace of unfiltered, unmonitored freedom of speech, is real. Example: End-to-end instant message encryption would conceal communications from o= ne user=E2=80=99s instant messaging application through any intermediate = devices and servers all the way to the recipient=E2=80=99s instant messag= ing application. If the message was decrypted at any intermediate point=E2= =80=93for example at a service provider=E2=80=93then the property of end-= to-end encryption would not be present. Impacts: Right to freedom of expression Right to freedom of assembly and association
Question(s): Did you have a look at the Guidelines in the Privacy Considerations for I= nternet Protocols section 7? Does your protoco= l in any way impact the confidentiality of protocol metadata? Does your p= rotocol countering traffic analysis, or data minimization? Explanation:=20 Privacy refers to the right of an entity (normally a person), acting in i= ts own behalf, to determine the degree to which it will interact with its= environment, including the degree to which the entity is willing to shar= e its personal information with others. . Example: See Impacts: Right to freedom of expression Right to non-discrimination
Question(s): If your protocol impacts packet handling, does it look at the packet cont= ent? Is it making decisions based on the content of the packet? Is the pr= otocol transparent about its decision? Does your protocol prioritize cert= ain content or services over others? Explanation: Content agnosticism refers to the notion that network traffic is treated = identically regardless of content. Example:=20 Content agnosticism prevents content-based discrimination against packets= =2E This is important because changes to this principle can lead to a two= -tiered Internet, where certain packets are prioritized over others on th= e basis of their content. Effectively this would mean that although all u= sers are entitled to receive their packets at a certain speed, some users= become more equal than others. Impacts: Right to freedom of expression Right to non-discrimination Right to equal protection
Question(s): Did you have a look at Guidelines for Writing RFC Text on Security Consid= erations ? Have you found any attacks that are = out of scope for your protocol? Would these attacks be pertinent to the h= uman rights enabling features of the Internet (as descibred throughout th= is document)? Explanation: Most people speak of security as if it were a single monolithic property = of a protocol or system, however, upon reflection; one realizes that it i= s clearly not true. Rather, security is a series of related but somewhat = independent properties. Not all of these properties are required for e= very application. We can loosely divide security goals into those related= to protecting communications (COMMUNICATION SECURITY, also known as COMS= EC) and those relating to protecting systems (ADMINISTRATIVE SECURITY or = SYSTEM SECURITY). Since communications are carried out by systems and acc= ess to systems is through communications channels, these goals obviously = interlock, but they can also be independently provided . Example:=20 See . Impacts: Right to freedom of expression Right to freedom of assembly and association Right to non discrimination
Question(s): Does your protocol have text strings that are readable or entered by huma= ns? Does your protocol allow Unicode encoded in UTF-8 only, thereby shift= ing conversion issues away from individual choices? Did you have a look a= t ? Explanation: Internationalization refers to the practice of making protocols, standard= s, and implementations usable in different languages and scripts. (see L= ocalization). In the IETF, internationalization means to add or improve t= he handling of non-ASCII text in a protocol. A= different perspective, more appropriate to protocols that are designed f= or global use from the beginning, is the definition used by W3C:
Many protocols that handle text only handle one charset (US-ASCII), or= leave the question of what CCS and encoding are used up to local guesswo= rk (which leads, of course, to interoperability problems). If multiple c= harsets are permitted, they must be explicitly identified . Adding non-ASCII text to a protocol allows the protocol to = handle more scripts, hopefully representing users across the world. In t= oday=E2=80=99s world, that is normally best accomplished by allowing Unic= ode encoded in UTF-8 only, thereby shifting conversion issues away from i= ndividual choices. Example: See localization Impacts: Right to freedom of expression Right to political participation Right to participate in cultural life, arts and science Right to political participation
Question(s): Does this protocol introduce new identifiers that might be associated wit= h persons or content? Does your protocol make it apparent or transparent = when filtering happens? Explanation: Censorship resistance refers to the methods and measures to prevent Inter= net censorship. Example: Identifiers of content exposed within a protocol might be used to facilit= ate censorship, as in the case of IP based censorship, which affects prot= ocols like HTTP. Filtering can be made apparent by the use of status code= 451 =E2=80=93 which allows server operators to operate with greater tran= sparency in circumstances where issues of law or public policy affect the= ir operation . Impacts: =E2=80=A2 Right to freedom of expression=20 =E2=80=A2 Right to political participation=20 =E2=80=A2 Right to participate in cultural life, arts and science=20 =E2=80=A2 Right to freedom of assembly and association
Is your protocol fully documented in a way that it could be easily imp= lemented, improved, build upon and/or further developed. Is there any pro= prietary code needed for the implementation, running or further developme= nt of your protocol? Impacts: Right to freedom of expression Right to participate in cultural life, arts and science
Question(s): Does your protocol support heterogeneity by design? Does your protocol al= low for multiple types of hardware? Does your protocol allow for multiple= types of application protocols? Explanation: The Internet is characterized by heterogeneity on many levels: devices an= d nodes, router scheduling algorithms and queue management mechanisms, ro= uting protocols, levels of multiplexing, protocol versions and implementa= tions, underlying link layers (e.g., point-to-point, multi-access links, = wireless, FDDI, etc.), in the traffic mix and in the levels of congestion= at different times and places. Moreover, as the Internet is composed of = autonomous organizations and Internet service providers, each with their = own separate policy concerns, there is a large heterogeneity of administr= ative domains and pricing structures. As a result, the heterogeneity prin= ciple proposed in needs to be supported by des= ign . Example: Heterogeneity is inevitable and needs be supported by design. Multiple ty= pes of hardware must be allowed for, e.g. transmission speeds differing b= y at least 7 orders of magnitude, various computer word lengths, and host= s ranging from memory-starved microprocessors up to massively parallel su= percomputers. Multiple types of application protocol must be allowed f= or, ranging from the simplest such as remote login up to the most complex= such as distributed databases . Impacts:=20 =E2=80=A2 Right to freedom of expression
Question(s): Did you have a look at the Privacy Considerations for Internet Protocols = , especially section 6.1.1 ? Explanation:=20 Anonymity refers to the condition of an identity being unknown or conceal= ed . It is an important feature for many end-us= ers, as it allows them different degrees of privacy online. Example:=20 Often standards expose private information, it is important to consider w= ays to mitigate the obvious privacy impacts. For instance, a feature whic= h uses deep packet inspection or geolocation data could refuse to open th= is data to third parties, that might be able to connect the data to a phy= sical person. Impacts: =E2=80=A2 Right to non-discrimination =E2=80=A2 Right to political participation=20 =E2=80=A2 Right to freedom of assembly and association =E2=80=A2 Right to security
Question(s):=20 Have you considered the Privacy Considerations for Internet Protocols , especially section 6.1.2 ? Does this specificati= on collect personally derived data? Does the standard utilize data that i= s personally-derived, i.e. derived from the interaction of a single perso= n, or their device or address? Does this specification generate personall= y derived data, and if so how will that data be handled? Explanation:=20 Pseudonymity =E2=80=93 the ability to disguise one=E2=80=99s identity onl= ine =E2=80=93 is an important feature for many end-users, as it allows th= em different degrees of anonymity and privacy online. Example:=20 Designing a standard that exposes private information to ??, it is import= ant to consider ways to mitigate the obvious impacts. For instance, a fea= ture which uses deep packet inspection or geolocation data could refuse t= o open this data to third parties, that might be able to connect the data= to a physical person. Impacts: Right to non-discrimination Right to freedom of assembly and association
Question(s): Is your protocol designed to provide an enabling environment for people w= ho are not able-bodied? Have you looked at the W3C Web Accessibility Init= iative for examples and guidance? Is your protocol optimized for low band= width and high latency connections? Could your protocol also be developed= in a stateless manner? Explanation: The Internet is fundamentally designed to work for all people, whatever t= heir hardware, software, language, culture, location, or physical or ment= al ability. When the Internet meets this goal, it is accessible to people= with a diverse range of hearing, movement, sight, and cognitive ability = . Sometimes in the design of protocols= , websites, web technologies, or web tools, barriers are created that exc= lude people from using the Web. Example: The HTML protocol as defined in specifically r= equires that every image must have an alt attribute (with a few exception= s for HTML5) to ensure images are accessible for people that cannot thems= elves decipher non-text content in web pages. Impacts: =E2=80=A2 Right to non-discrimination =E2=80=A2 Right to freedom of assembly and association =E2=80=A2 Right to education =E2=80=A2 Right to political participation
Question(s): Does your protocol uphold the standards of internationalization? Have mad= e any concrete steps towards localizing your protocol for relevant audie= nces? Explanation: Localization refers to the adaptation of a product, application or docume= nt content to meet the language, cultural and other requirements of a spe= cific target market (a locale) . It is also = described as the practice of translating an implementation to make it fun= ctional in a specific language or for users in a specific locale (see Int= ernationalization). Example: The Internet is a global medium, but many of its protocols and products a= re developed with a certain audience in mind, that often share particular= characteristics like knowing how to read and write in ASCII and knowing = English. This limits the ability of a large part of the world=E2=80=99s o= nline population from using the Internet in a way that is culturally and = linguistically accessible. An example of a protocol that has taken into a= ccount the view that individuals like to have access to data in their nat= ive language can be found in . This protocol la= bels the information content with an identifier for the language in which= it is written. And this allows information to be presented in more than = one language. Impacts: =E2=80=A2 Right to non-discrimination=20 =E2=80=A2 Right to participate in cultural life, arts and science =E2=80=A2 Right to Freedom of Expression
Question(s): Can your protocol be implemented without one single point of control? If = applicable, can your protocol be deployed in a federated manner? What is = the potential for discrimination against users of your protocol? How can = use of your protocol be used to implicate users? Does your protocol crea= te additional centralized points of control? Explanation: Decentralization is one of the central technical concepts of the architec= ture, and embraced as such by the IETF . It ref= ers to the absence or minimization of centralized points of control =E2=80= =93 a feature that is assumed to make it easy for new users to join and n= ew uses to unfold {{Brown}. It also reduces issues surrounding single poi= nts of failure, and distributes the network such that it continues to fun= ction if one or several nodes are disabled. With the commercialization of= the Internet in the early 1990=E2=80=99s there has been a slow move to m= ove away from decentralization, to the detriment of the technical benefit= s of having a decentralized Internet. Example: The bits traveling the Internet are increasingly susceptible to monitorin= g and censorship, from both governments and Internet service providers, a= s well as third (malicious) parties. The ability to monitor and censor is= further enabled by the increased centralization of the network that crea= tes central infrastructure points that can be tapped in to. The creation = of peer-to-peer networks and the development of voice-over-IP protocols u= sing peer-to-peer technology in combination with distributed hash table (= DHT) for scalability are examples of how protocols can preserve decentral= ization . Impacts: =E2=80=A2 Right to freedom of assembly and association
Question(s): Is your protocol fault tolerant? Does it degrade gracefully? Do you have = a documented way to announce degradation? Do you have measures in place f= or recovery or partial healing from failure? Can your protocol maintain d= ependability and performance in the face of unanticipated changes or circ= umstances? Explanation: Reliability ensures that a protocol will execute its function consistentl= y and error resistant as described, and function without unexpected resul= t. A system that is reliable degenerates gracefully and will have a docum= ented way to announce degradation. It also has mechanisms to recover fro= m failure gracefully, and if applicable, allow for partial healing. As wi= th confidentiality, the growth of the Internet and fostering innovation i= n services depends on users having confidence and trust in the network. For reliability it is necessary that services n= otify the users if a delivery fails. In the case of real-time systems in = addition to the reliable delivery the protocol needs to safeguard timelin= ess. Example: In the modern IP stack structure, a reliable transport layer requires an = indication that transport processing has successfully completed, such as = given by TCP=E2=80=99s ACK message , and not si= mply an indication from the IP layer that the packet arrived. Similarly,= an application layer protocol may require an application-specific acknow= ledgement that contains, among other things, a status code indicating the= disposition of the request (See ). Impacts: =E2=80=A2 Right to security
Question(s): Does this protocol expose information related to identifiers or data? If = so, does it do so to each other protocol entity (i.e., recipients, interm= ediaries, and enablers) ? What options exist fo= r protocol implementers to choose to limit the information shared with ea= ch entity? What operational controls are available to limit the informati= on shared with each entity? What controls or consent mechanisms does the protocol define or requir= e before personal data or identifiers are shared or exposed via the proto= col? If no such mechanisms or controls are specified, is it expected tha= t control and consent will be handled outside of the protocol? Does the protocol provide ways for initiators to share different piece= s of information with different recipients? If not, are there mechanisms= that exist outside of the protocol to provide initiators with such contr= ol? Does the protocol provide ways for initiators to limit which informati= on is shared with intermediaries? If not, are there mechanisms that exis= t outside of the protocol to provide users with such control? Is it expe= cted that users will have relationships that govern the use of the inform= ation (contractual or otherwise) with those who operate these intermediar= ies? Does the protocol prefer encryption over clear text operation? Does the protocol provide ways for initiators to express individuals=E2= =80=99 preferences to recipients or intermediaries with regard to the col= lection, use, or disclosure of their personal data? Explanation: Confidentiality refers to keeping your data secret from unintended listen= ers . The growth of the Internet depends on use= rs having confidence that the network protects their private information = . Example: Protocols that do not encrypt their payload make the entire content of th= e communication available to the idealized attacker along their path. Fol= lowing the advice in , most such protocols have= a secure variant that encrypts the payload for confidentiality, and thes= e secure variants are seeing ever-wider deployment. A noteworthy exceptio= n is DNS , as DNSSEC = does not have confidentiality as a requirement. This implies that, in th= e absence of changes to the protocol as presently under development in th= e IETF=E2=80=99s DNS Private Exchange (DPRIVE) working group, all DNS q= ueries and answers generated by the activities of any protocol are availa= ble to the attacker. When store-and-forward protocols are used (e.g., SM= TP ), intermediaries leave this data subject to= observation by an attacker that has compromised these intermediaries, un= less the data is encrypted end-to-end by the application-layer protoco= l or the implementation uses an encrypted store for this data . Impacts: Right to security
Question(s): Does your protocol maintain and assure the accuracy of data? Does your pr= otocol maintain and assure the consistency of data? Does your protocol in= any way allow for the data to be (intentionally or unintentionally) alte= red? Explanation:=20 Integrity refers to the maintenance and assurance of the accuracy and con= sistency of data to ensure it has not been (intentionally or unintentiona= lly) altered. Example:=20 See authenticity Impacts: Right to security
Question(s): Do you have sufficient measures to confirm the truth of an attribute of a= single piece of data or entity? Can the attributes get garbled along the= way (see security)? If relevant have you implemented IPsec, DNSsec, HTTP= S and other Standard Security Best Practices? Explanation:=20 Authenticity ensures that data does indeed come from the source it claims= to come from. This is important to prevent attacks or unauthorized acces= s and use of data. Example:=20 Authentication of data is important to prevent vulnerabilities and attack= s, like man-in-the-middle-attacks. These attacks happen when a third part= y (often for malicious reasons) intercepts a communication between two pa= rties, inserting themselves in the middle and posing as both parties. In = practice this looks as follows: Alice wants to communicate with Bob. Alice sends data to Bob. Niels intercepts the data sent to Bob. Niels reads and alters the message to Bob. Bob cannot see the data did not come from Alice but from Niels. Niels intercepts and alters the communication as it is sent between Alice= and Bob. Niels knows all. Impacts: Right to security
Question(s): Do your protocols follow the principle of non-discrimination? Do your pro= tocols follow the principle of content agnosticism? Does your protocol ta= ke into account the needs of special needs (Internet) groups, like the au= dio-visually impaired? Also see availability. Explanation:=20 The Internet is a global medium. Yet, there continue to be issues surroun= ding acceptability =E2=80=93 the extent to which standards are non-discri= minatory and relevant to the widest range of end-users =E2=80=93 that nee= d to be resolved. Many standards are not suitable for end-users who are n= ot-ablebodied, or otherwise restricted in their ability to access the Int= ernet in its current form (text, data and English heavy). Development of = new standards should consider the ways in which they exclude or include n= on-traditional user communities. Example: Designing a feature that could make access to websites for no= n-able bodied people more difficult. Right to education Right to freedom of expression Right to freedom of assembly and association
Question(s): Does your standard favor proprietary specifications over technically equi= valent and competing specification(s) by making any incorporated vendor s= pecification =E2=80=9Crequired=E2=80=9D or =E2=80=9Crecommended=E2=80=9D = ? Does your protocols use proprietary code? Doe= s your protocol depend on proprietary code? Also see =E2=80=98Open Standa= rds=E2=80=99 above. Also see =E2=80=98Connectivity=E2=80=99 above. Explanation:=20 An open, balanced and cooperative approach to developing technological st= andards is vital to maintaining the Internet open, accessible and secure.= This will ensure the standards are open and not subject to restrictive c= ontract terms from the copyright owners. Availability of standards is a p= rerequisite to the continued growth of the Internet, and crucial to conti= nued technological innovation across the globe. Example:=20 See Open Standards Impacts: Right to education
Question(s): Does your protocol impact permissionless innovation? See =E2=80=98Connect= ivity=E2=80=99 above. Explanation:=20 Adaptability is closely interrelated permissionless innovation, both main= tain the freedom and ability to freely create and deploy new protocols on= top of the communications constructs that currently exist. It is at the = heart of the Internet as we know it, and to maintain its fundamentally op= en nature, we need to be mindful of the impact of protocols on maintainin= g or reducing permissionless innovation to ensure the Internet can contin= ue to develop. Example:=20 WebRTC generates audio and/or video data. In order to ensure that WebRTC = can be used in different locations by different parties it is important t= hat standard Javascript APIs are developed to support applications from d= ifferent voice service providers. Multiple parties will have similar capa= bilities, in order to ensure that all parties can build upon existing sta= ndards these need to be adaptable, and allow for permissionless innovatio= n. Impacts: Right to education Freedom of expression Freedom of assembly and association
A special thanks to all members of the hrpc RG who contributed to this= draft. The following deserve a special mention: Joana Varon for helping draft the first iteration of the methodology= , previous drafts and the direction of the film Net of Rights and working= on the interviews at IETF92 in Dallas. Daniel Kahn Gillmor (dkg) for helping with the first iteration of th= e glossary as well as a lot of technical guidance, support and language s= uggestions. Claudio Guarnieri for writing the first iterations of the case studi= es on VPN, HTTP, and Peer to Peer. Will Scott for writing the first iterations of the case studies on D= NS, IP, XMPP. Avri Doria for proposing writing a glossary in the first place, help= writing the initial proposals and Internet Drafts and contributing to th= e glossary. and Stephane Bortzmeyer, Barry Shein, Joe Hall, Joss Wright, and Tim S= ammut who made a lot of excellent suggestions, many of which found their = way directly into the text. We would also like to thank Molly Sauter, Arturo Filasto, Nathalie Marech= al, Eleanor Saitta and all others who provided input on the draft or the = conceptualization of the idea.
As this document concerns a research document, there are no security c= onsiderations.
This document has no actions for IANA.
The discussion list for the IRTF Human Rights Protocol Considerations = proposed working group is located at the e-mail address hrpc@ietf.org. Information on the group and i= nformation on how to subscribe to the list is at https://www.i= rtf.org/mailman/listinfo/hrpc Archives of the list can be found at: https://www.irtf.org/mail-archive/web/hrpc/current/index.html
Privacy Considerations for Internet Protocols This document offers guidance for developing privacy conside= rations for inclusion in protocol specifications. It aims to make design= ers, implementers, and users of Internet protocols aware of privacy-relat= ed design choices. It suggests that whether any individual RFC warrants = a specific privacy considerations section will depend on the document's c= ontent. Standardization of host mnemonics DoD standard Internet Protocol Internet Protocol Transmission Control Protocol A Standard for the Transmission of IP Datagrams over Ethernet Netw= orks This RFC specifies a standard method of encapsulating Intern= et Protocol (IP) datagrams on an Ethernet. This RFC specifies a st= andard protocol for the ARPA-Internet community. Domain names - implementation and specification This RFC is the revised specification of the protocol and fo= rmat used in the implementation of the Domain Name System. It obsoletes = RFC-883. This memo documents the details of the domain name client - serv= er communication. Requirements for Internet Hosts - Communication Layers This RFC is an official specification for the Internet commu= nity. It incorporates by reference, amends, corrects, and supplements th= e primary protocol standards documents relating to hosts. [STANDARDS-TRA= CK] The IP Network Address Translator (NAT) This memo proposes another short-term solution, address reus= e, that complements CIDR or even makes it unnecessary. The address reuse = solution is to place Network Address Translators (NAT) at the borders of = stub domains. This memo provides information for the Internet community.= This memo does not specify an Internet standard of any kind. Tags for the Identification of Languages This document describes a language tag for use in cases wher= e it is desired to indicate the language used in an information object. [= STANDARDS-TRACK] Hypertext Markup Language - 2.0 This document defines a HTML 2.0 (to distinguish it from the= previous informal specifications). [STANDARDS-TRACK] Architectural Principles of the Internet The Internet and its architecture have grown in evolutionary= fashion from modest beginnings, rather than from a Grand Plan. While thi= s process of evolution is one of the main reasons for the technology's su= ccess, it nevertheless seems useful to record a snapshot of the current p= rinciples of the Internet architecture. This is intended for general guid= ance and general interest, and is in no way intended to be a formal or in= variant reference model. This memo provides information for the Internet= community. This memo does not specify an Internet standard of any kind.= IAB and IESG Statement on Cryptographic Technology and the Interne= t IAB IESG The Internet Architecture Board (IAB) and the Internet Engin= eering Steering Group (IESG), the bodies which oversee architecture and s= tandards for the Internet, are concerned by the need for increased protec= tion of international commercial transactions on the Internet, and by the= need to offer all Internet users an adequate degree of privacy. This mem= o provides information for the Internet community. This memo does not sp= ecify an Internet standard of any kind. The Internet Standards Process -- Revision 3 This memo documents the process used by the Internet communi= ty for the standardization of protocols and procedures. It defines the s= tages in the standardization process, the requirements for moving a docum= ent between stages and the types of documents used during this process. T= his document specifies an Internet Best Current Practices for the Interne= t Community, and requests discussion and suggestions for improvements. IETF Policy on Character Sets and Languages This document is the current policies being applied by the I= nternet Engineering Steering Group (IESG) towards the standardization eff= orts in the Internet Engineering Task Force (IETF) in order to help Inter= net protocols fulfill these requirements. This document specifies an Int= ernet Best Current Practices for the Internet Community, and requests dis= cussion and suggestions for improvements. Internet Protocol, Version 6 (IPv6) Specification This document specifies version 6 of the Internet Protocol (= IPv6), also sometimes referred to as IP Next Generation or IPng. [STANDA= RDS-TRACK] Reserved Top Level DNS Names To reduce the likelihood of conflict and confusion, a few to= p level domain names are reserved for use in private testing, as examples= in documentation, and the like. In addition, a few second level domain = names reserved for use as examples are documented. This document specifi= es an Internet Best Current Practices for the Internet Community, and req= uests discussion and suggestions for improvements. Internet Transparency <= organization /> This document describes the current state of the Internet fr= om the architectural viewpoint, concentrating on issues of end-to-end con= nectivity and transparency. Guidelines for Writing RFC Text on Security Considerations= All RFCs are required to have a Security Considerations sect= ion. Historically, such sections have been relatively weak. This documen= t provides guidelines to RFC authors on how to write a good Security Cons= iderations section. This document specifies an Internet Best Current Pr= actices for the Internet Community, and requests discussion and suggestio= ns for improvements. Strong Security Requirements for Internet Engineering Task Force S= tandard Protocols The Rise of the Middle and the Future of End-to-End: Reflections o= n the Evolution of the Internet Architecture IAB The end-to-end principle is the core architectural guideline= of the Internet. In this document, we briefly examine the development o= f the end-to-end principle as it has been applied to the Internet archite= cture over the years. We discuss current trends in the evolution of the = Internet architecture in relation to the end-to-end principle, and try to= draw some conclusion about the evolution of the end-to-end principle, an= d thus for the Internet architecture which it supports, in light of these= current trends. This memo provides information for the Internet communi= ty. A Mission Statement for the IETF This memo gives a mission statement for the IETF, tries to d= efine the terms used in the statement sufficiently to make the mission st= atement understandable and useful, argues why the IETF needs a mission st= atement, and tries to capture some of the debate that led to this point. = This document specifies an Internet Best Current Practices for the Inter= net Community, and requests discussion and suggestions for improvements.<= /t> Terminology for Describing Internet Connectivity As the Internet has evolved, many types of arrangements have= been advertised and sold as "Internet connectivity". Because = these may differ significantly in the capabilities they offer, the range = of options, and the lack of any standard terminology, the effort to disti= nguish between these services has caused considerable consumer confusion.= This document provides a list of terms and definitions that may be help= ful to providers, consumers, and, potentially, regulators in clarifying t= he type and character of services being offered. This document specifies= an Internet Best Current Practices for the Internet Community, and reque= sts discussion and suggestions for improvements. DNS Security Introduction and Requirements The Domain Name System Security Extensions (DNSSEC) add data= origin authentication and data integrity to the Domain Name System. Thi= s document introduces these extensions and describes their capabilities a= nd limitations. This document also discusses the services that the DNS s= ecurity extensions do and do not provide. Last, this document describes = the interrelationships between the documents that collectively describe D= NSSEC. [STANDARDS-TRACK] Writing Protocol Models IAB The IETF process depends on peer review. However, IETF docu= ments are generally written to be useful for implementors, not reviewers.= In particular, while great care is generally taken to provide a complet= e description of the state machines and bits on the wire, this level of d= etail tends to get in the way of initial understanding. This document de= scribes an approach for providing protocol "models" that allow = reviewers to quickly grasp the essence of a system. This memo provides i= nformation for the Internet community. IP Encapsulating Security Payload (ESP) This document describes an updated version of the Encapsulat= ing Security Payload (ESP) protocol, which is designed to provide a mix o= f security services in IPv4 and IPv6. ESP is used to provide confidentia= lity, data origin authentication, connectionless integrity, an anti-repla= y service (a form of partial sequence integrity), and limited traffic flo= w confidentiality. This document obsoletes RFC 2406 (November 1998). [S= TANDARDS-TRACK] Transport of Layer 2 Frames Over MPLS This document describes methods for transporting the Protoco= l Data Units (PDUs) of layer 2 protocols such as Frame Relay, Asynchronou= s Transfer Mode (ATM) Adaption Layer 5 (AAL5), and Ethernet, and for prov= iding a Synchronized Optical Network (SONET) circuit emulation service ac= ross an MPLS network. This document describes the so-called "draft-= martini" protocol, which has since been superseded by the Pseudowire= Emulation Edge to Edge Working Group specifications described in RFC 444= 7 and related documents. This memo defines a Historic Document for the I= nternet community. Internet Security Glossary, Version 2 This Glossary provides definitions, abbreviations, and expla= nations of terminology for information system security. The 334 pages of = entries offer recommendations to improve the comprehensibility of written= material that is generated in the Internet Standards Process (RFC 2026).= The recommendations follow the principles that such writing should (a) u= se the same term or definition whenever the same concept is mentioned; (b= ) use terms in their plainest, dictionary sense; (c) use terms that are a= lready well-established in open publications; and (d) avoid terms that ei= ther favor a particular vendor or favor a particular technology or mechan= ism over other, competing techniques that already exist or could be devel= oped. This memo provides information for the Internet community. Simple Mail Transfer Protocol This document is a specification of the basic protocol for I= nternet electronic mail transport. It consolidates, updates, and clarifi= es several previous documents, making all or parts of most of them obsole= te. It covers the SMTP extension mechanisms and best practices for the c= ontemporary Internet, but does not provide details about particular exten= sions. Although SMTP was designed as a mail transport and delivery proto= col, this specification also contains information that is important to it= s use as a "mail submission" protocol for "split-UA" = (User Agent) mail reading systems and mobile environments. [STANDARDS-TR= ACK] IP Mobility Support for IPv4, Revised This document specifies protocol enhancements that allow tra= nsparent routing of IP datagrams to mobile nodes in the Internet. Each m= obile node is always identified by its home address, regardless of its cu= rrent point of attachment to the Internet. While situated away from its = home, a mobile node is also associated with a care-of address, which prov= ides information about its current point of attachment to the Internet. = The protocol provides for registering the care-of address with a home age= nt. The home agent sends datagrams destined for the mobile node through = a tunnel to the care-of address. After arriving at the end of the tunnel= , each datagram is then delivered to the mobile node. [STANDARDS-TRACK]<= /t> Extensible Messaging and Presence Protocol (XMPP): Core The Extensible Messaging and Presence Protocol (XMPP) is an = application profile of the Extensible Markup Language (XML) that enables = the near-real-time exchange of structured yet extensible data between any= two or more network entities. This document defines XMPP's core protoco= l methods: setup and teardown of XML streams, channel encryption, authent= ication, error handling, and communication primitives for messaging, netw= ork availability ("presence"), and request-response interaction= s. This document obsoletes RFC 3920. [STANDARDS-TRACK] Terminology Used in Internationalization in the IETF This document provides a list of terms used in the IETF when= discussing internationalization. The purpose is to help frame discussio= ns of internationalization in the various areas of the IETF and to help i= ntroduce the main concepts to IETF participants. This memo documents an= Internet Best Current Practice. Pervasive Monitoring Is an Attack Pervasive monitoring is a technical attack that should be mi= tigated in the design of IETF protocols, where possible. Hypertext Transfer Protocol Version 2 (HTTP/2) This specification describes an optimized expression of the = semantics of the Hypertext Transfer Protocol (HTTP), referred to as HTTP = version 2 (HTTP/2). HTTP/2 enables a more efficient use of network resou= rces and a reduced perception of latency by introducing header field comp= ression and allowing multiple concurrent exchanges on the same connection= =2E It also introduces unsolicited push of representations from servers = to clients.This specification is an alternative to, but does not o= bsolete, the HTTP/1.1 message syntax. HTTP's existing semantics remain u= nchanged. Peer-to-Peer Streaming Peer Protocol (PPSPP) The Peer-to-Peer Streaming Peer Protocol (PPSPP) is a protoc= ol for disseminating the same content to a group of interested parties in= a streaming fashion. PPSPP supports streaming of both prerecorded (on- = demand) and live audio/video content. It is based on the peer-to- peer p= aradigm, where clients consuming the content are put on equal footing wit= h the servers initially providing the content, to create a system where e= veryone can potentially provide upload bandwidth. It has been designed t= o provide short time-till-playback for the end user and to prevent disrup= tion of the streams by malicious peers. PPSPP has also been designed to b= e flexible and extensible. It can use different mechanisms to optimize p= eer uploading, prevent freeriding, and work with different peer discovery= schemes (centralized trackers or Distributed Hash Tables). It supports = multiple methods for content integrity protection and chunk addressing. = Designed as a generic protocol that can run on top of various transport p= rotocols, it currently runs on top of UDP using Low Extra Delay Backgroun= d Transport (LEDBAT) for congestion control. Confidentiality in the Face of Pervasive Surveillance: A Threat Mo= del and Problem Statement Since the initial revelations of pervasive surveillance in 2= 013, several classes of attacks on Internet communications have been disc= overed. In this document, we develop a threat model that describes these= attacks on Internet confidentiality. We assume an attacker that is inte= rested in undetected, indiscriminate eavesdropping. The threat model is = based on published, verified attacks. DNS Privacy Considerations This document describes the privacy issues associated with t= he use of the DNS by Internet users. It is intended to be an analysis of= the present situation and does not prescribe solutions. An HTTP Status Code to Report Legal Obstacles This document specifies a Hypertext Transfer Protocol (HTTP)= status code for use when resource access is denied as a consequence of l= egal demands. UN General Assembly Resolution "The right to privacy in the di= gital age" (A/C.3/68/L.45) United Nations General Assembly UN General Assembly Resolution "The right to privacy in the di= gital age" (A/C.3/68/L.45) United Nations Human Rights Council NETmundial Multistakeholder Statement NETmundial The Universal Declaration of Human Rights United Nations General Assembly International Covenant on Economic, Social and Cultural Rights= United Nations General Assembly Analysis of Country-wide Internet Outages Caused by Censorship= Tor Project - Anonymity Online SPDY - An experimental protocol for a faster web The Chromium Project QUIC, a multiplexed stream transport over UDP The Chromium Project NAT usage in Residential Broadband networks Whistle-blower site taken offline BBC Official - vb.ly Link Shortener Seized by Libyan Government</t= itle> <author initials=3D"." surname=3D"Violet"> <organization></organization> </author> <date year=3D"2010"/> </front> </reference> <reference anchor=3D"turkey" target=3D"http://policyreview.info/articles/= analysis/internet-censorship-turkey"> <front> <title>Internet censorship in Turkey Understanding Internet Censorship Policy - The Case of Greece<= /title> <author initials=3D"V." surname=3D"Vasilis"> <organization></organization> </author> <author initials=3D"G." surname=3D"Kargiotakis"> <organization></organization> </author> <author initials=3D"A." surname=3D"Filasto"> <organization></organization> </author> <author initials=3D"B." surname=3D"Fabian"> <organization></organization> </author> <author initials=3D"A." surname=3D"Alexandros"> <organization></organization> </author> <date year=3D"2015"/> </front> </reference> <reference anchor=3D"hall" target=3D"https://tools.ietf.org/html/draft-ha= ll-censorship-tech-01"> <front> <title>A Survey of Worldwide Censorship Techniques Towards a Comprehensive Picture of the Great Firewall=E2=80=99= s DNS Censorship Proposal for research on human rights protocol considerations<= /title> <author initials=3D"E." surname=3D"Van der Sar"> <organization></organization> </author> <date year=3D"2015"/> </front> </reference> <reference anchor=3D"wikileaks" target=3D"https://wikileaks.org/sony/docs= /05/docs/Anti-Piracy/CDSA/EANTC-Survey-1.5-unsecured.pdf"> <front> <title>Market Survey : Detection & Filtering Solutions to Identif= y File Transfer of Copyright Protected Content for Warner Bros. and movie= labs P2P researchers - use a blocklist or you will be tracked=E2=80= =A6 100% of the time LAWYERS SENT 109,000 PIRACY THREATS IN GERMANY DURING 2013</ti= tle> <author initials=3D"." surname=3D"Andy"> <organization></organization> </author> <date year=3D"2014"/> </front> </reference> <reference anchor=3D"freenet1" target=3D"https://freenetproject.org/whati= s.html"> <front> <title>What is Freenet? Freenet The Philosphy behind Freenet? Bitmessage Wiki? Bitmessage A Glance through the VPN Looking Glass Prying Eyes - Inside the NSA's War on Internet Security</title= > <author > <organization>SPIEGEL</organization> </author> <date year=3D"2014"/> </front> </reference> <reference anchor=3D"Rideout" target=3D"http://gmailblog.blogspot.de/2008= /07/making-security-easier.html"> <front> <title>Making security easier Default https access for Gmail Yahoo to make SSL encryption the default for Webmail users. Fi= nally. Hacking Team's oppressive regimes customer list revealed in ha= ck A Case Study of Coding Rights: Should Freedom of Speech Be Ins= tantiated in the Protocols and Standards Designed by the Internet Enginee= ring Task Force? The Design of the Internet=E2=80=99s Architecture by the Inter= net Engineering Task Force (IETF) and Human Rights Deep dive into QUANTUM INSERT Syria using 34 Blue Coat Servers to spy on Internet users</tit= le> <author > <organization>RSF</organization> </author> <date year=3D"2013"/> </front> </reference> <reference anchor=3D"Schneier" target=3D"http://www.theguardian.com/world= /2013/oct/04/tor-attacks-nsa-users-online-anonymity"> <front> <title>Attacking Tor - how the NSA targets users' online anonymity</t= itle> <author initials=3D"B." surname=3D"Schneier"> <organization></organization> </author> <date year=3D"2013"/> </front> </reference> <reference anchor=3D"Appelbaum" target=3D"http://daserste.ndr.de/panorama= /aktuell/nsa230_page-1.html"> <front> <title>NSA targets the privacy-conscious China's Great Fire Cannon Method and device for network traffic manipulation Schrodinger's Cat Video and the Death of Clear-Text -XMPP- Invisible mode violating standard Pidgin Developers A Public Statement Regarding Ubiquitous Encryption on the XMPP= Network Namecoin - Decentralized secure names Namecoin The Sybil Attack A New HTTP Status Code for Legally-restricted Resources</title= > <author initials=3D"T." surname=3D"Bray"> <organization></organization> </author> <date year=3D"2016"/> </front> </reference> <reference anchor=3D"Daedalus" target=3D"http://www.mitpressjournals.org/= toc/daed/current"> <front> <title>The Contingent Internet The Coming Swarm Middleboxes No Longer Considered Harmful Dissecting 'Operation Ababil' - an OSINT Analysis Iran DDoS Report on Distributed Denial of Service (DDoS) Attacks= International Covenant on Civil and Political Rights United Nations General Assembly Weaving the Web, End-to-End Arguments in System Design The Design Philosophy of the DARPA Internet Protocols Rethinking the design of the Internet: The end-to-end argument= s vs. the brave new world Stateless protocol Debugging Future Internet Design Principles CORDON - A taxonomy of Internet Censorship Resistance Strategi= es A Prehistory of Internet Governance Information technology - Framework for internationalization, p= repared by ISO/IEC JTC 1/SC 22/WG 20 ISO/IEC TR 11017 Localization vs. Internationalization W3C Accessibility W3C Engineering =E2=80=9CPrivacy by Design=E2=80=9D in the Interne= t Protocols - Understanding Online Privacy both as a Technical and a Huma= n Rights Issue in the Face of Pervasive Monitoring Strangers in a strange land Tussle in cyberspace - defining tomorrow=E2=80=99s Internet</t= itle> <author initials=3D"D.D." surname=3D"Clark"> <organization></organization> </author> <author initials=3D"J." surname=3D"Wroclawski"> <organization></organization> </author> <author initials=3D"K.R." surname=3D"Sollins"> <organization></organization> </author> <author initials=3D"R." surname=3D"Braden"> <organization></organization> </author> <date year=3D"2005"/> </front> <seriesInfo name=3D"ACM Digital Library" value=3D""/> </reference> <reference anchor=3D"Broeders" target=3D"http://www.wrr.nl/en/publication= s/publication/article/de-publieke-kern-van-het-internet-1/"> <front> <title>The public core of the Internet Giants, Dwarfs and Decentralized Alternatives to Internet-base= d Services - An Issue of Internet Governance Regulating code Should specific values be embedded in the Internet Architectur= e? Inventing the Internet The Future of the Internet - And How to Stop It The Internet Design Tension between Surveillance and Security<= /title> <author initials=3D"L." surname=3D"Denardis"> <organization></organization> </author> <date year=3D"2015"/> </front> <seriesInfo name=3D"IEEE Annals of the History of Computing (volume 37-= 2)" value=3D""/> </reference> <reference anchor=3D"Denardis14" target=3D"https://www.jstor.org/stable/j= =2Ectt5vkz4n"> <front> <title>The Global War for Internet Governance Code - And Other Laws of Cyberspace, Version 2.0. Networks and States Values and Networks The wealth of Networks - How social production transforms mark= ets and freedom The Basics of Social Research Handbook of Qualitative Research Kinship in Bali Discourses on Violence - conflict analysis reconsidered</title= > <author initials=3D"V." surname=3D"Jabri"> <organization></organization> </author> <date year=3D"1996"/> </front> <seriesInfo name=3D"Manchester University Press" value=3D""/> </reference> <reference anchor=3D"King" > <front> <title>Power, Social Violence and Civil Wars Introduction - Violent Imaginaries and Violent Practice</title= > <author initials=3D"I.W." surname=3D"Schroeder"> <organization></organization> </author> <author initials=3D"B." surname=3D"Schmidt"> <organization></organization> </author> <date year=3D"2001"/> </front> <seriesInfo name=3D"London and New York Routledge" value=3D""/> </reference> <reference anchor=3D"Richie" target=3D"http://www.amazon.co.uk/Qualitativ= e-Research-Practice-Students-Researchers/dp/0761971106"> <front> <title>Qualitative Research Practice - A Guide for Social Science Stu= dents and Researchers Automated text analysis of Requests for Comment (RFCs)= Media without censorship
--------------060206040005020002050901 Content-Type: text/x-markdown; name="draft-research.md" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="draft-research.md" --- title: Research into Human Rights Protocol Considerations abbrev: hrpcr docname: draft-tenoever-hrpc-research-01 category: info ipr: trust200902 area: General workgroup: Human Rights Protocol Considerations Research Group keyword: Internet-Draft stand_alone: yes pi: rfcedstyle: yes toc: yes tocindent: yes sortrefs: yes symrefs: yes strict: yes comments: yes inline: yes text-list-symbols: -o*+ author: - ins: N. ten Oever name: Niels ten Oever organization: Article19 email: niels@article19.org - ins: C.J.N. Cath name: Corinne Cath organization: Oxford Internet Institute email: corinnecath@gmail.com normative: RFC6973: informative: RFC0226: RFC0760: RFC0791: RFC0793: RFC0894: RFC1035: RFC1122: RFC1631: RFC1766: RFC1866: RFC1958: RFC1984: RFC2026: RFC2277: RFC2460: RFC2606: RFC2775: RFC3552: RFC3365: RFC3724: RFC3935: RFC4084: RFC4033: RFC4101: RFC4303: RFC4906: RFC4949: RFC5321: RFC5944: RFC6120: RFC6365: RFC7258: RFC7540: RFC7574: RFC7624: RFC7626: RFC7725: UNGA2013: title: UN General Assembly Resolution "The right to privacy in the d= igital age" (A/C.3/68/L.45) date: 2013 author: - org: United Nations General Assembly target: http://daccess-ods.un.org/TMP/1133732.05065727.html HRC2012: title: UN General Assembly Resolution "The right to privacy in the d= igital age" (A/C.3/68/L.45) date: 2011 author: - org: United Nations Human Rights Council target: http://daccess-ods.un.org/TMP/554342.120885849.html NETmundial: title: NETmundial Multistakeholder Statement date: 2014 author: - org: NETmundial target: http://netmundial.br/wp-content/uploads/2014/04/NETmundial-M= ultistakeholder-Document.pdf UDHR: title: The Universal Declaration of Human Rights date: 1948 author: - org: United Nations General Assembly target: http://www.un.org/en/documents/udhr/ ICESCR: title: International Covenant on Economic, Social and Cultural Right= s date: 1966 author: - org: United Nations General Assembly target: http://www.ohchr.org/EN/ProfessionalInterest/Pages/CESCR.asp= x caida: title: Analysis of Country-wide Internet Outages Caused by Censorshi= p date: 2013 author: - ins: A. Dainotti - ins: C. Squarcella - ins: E. Aben - ins: K. Claffy - ins: M. Chiesa - ins: M. Russo - ins: A. Pescape target: http://www.caida.org/publications/papers/2014/outages_censor= ship/outages_censorship.pdf torproject: title: Tor Project - Anonymity Online date: 2007 author: - ins: The Tor Project target: https://www.torproject.org/ spdy: title: SPDY - An experimental protocol for a faster web date: 2009 author: - org: The Chromium Project target: https://www.chromium.org/spdy/spdy-whitepaper quic: title: QUIC, a multiplexed stream transport over UDP date: 2014 author: - org: The Chromium Project target: https://www.chromium.org/quic natusage: title: NAT usage in Residential Broadband networks date: 2011 author: - ins: G. Maier - ins: F. Schneider - ins: A. Feldmann target: http://www.icsi.berkeley.edu/pubs/networking/NATusage11.pdf bbc-wikileaks: title: Whistle-blower site taken offline date: 2008 author: - org: BBC target: http://news.bbc.co.uk/2/hi/technology/7250916.stm techyum: title: Official - vb.ly Link Shortener Seized by Libyan Government date: 2010 author: - ins: Violet target: http://techyum.com/2010/10/official-vb-ly-link-shortener-sei= zed-by-libyan-government/ turkey: title: Internet censorship in Turkey date: 2015 author: - ins: M. Akg=C3=BCl - ins: M. Kirlido=C4=9F target: http://policyreview.info/articles/analysis/internet-censorsh= ip-turkey ververis: title: Understanding Internet Censorship Policy - The Case of Greece= date: 2015 author: - ins: V. Vasilis - ins: G. Kargiotakis - ins: A. Filasto - ins: B. Fabian - ins: A. Alexandros target: https://www.usenix.org/system/files/conference/foci15/foci15= -paper-ververis-update.pdf hall: title: A Survey of Worldwide Censorship Techniques date: 2015 author: - ins: J. Hall - ins: M. Aaron - ins: B. Jones target: https://tools.ietf.org/html/draft-hall-censorship-tech-01 greatfirewall: title: Towards a Comprehensive Picture of the Great Firewall=E2=80=99= s DNS Censorship date: 2014 author: - ins: Anonymous target: https://www.usenix.org/system/files/conference/foci14/foci14= -anonymous.pdf torrentfreak1: title: Proposal for research on human rights protocol considerations= date: 2015 author: - ins: E. Van der Sar target: https://torrentfreak.com/is-your-isp-messing-with-bittorrent= -traffic-find-out-140123/ wikileaks: title: "Market Survey : Detection & Filtering Solutions to Identify = File Transfer of Copyright Protected Content for Warner Bros. and moviela= bs" date: 2011 author: - ins: T. Sladek - ins: E. Br=C3=B6se target: https://wikileaks.org/sony/docs/05/docs/Anti-Piracy/CDSA/EAN= TC-Survey-1.5-unsecured.pdf ars: title: P2P researchers - use a blocklist or you will be tracked=E2=80= =A6 100% of the time date: 2007 author: - ins: N. Anderson target: http://arstechnica.com/uncategorized/2007/10/p2p-researchers= -use-a-blocklist-or-you-will-be-tracked-100-of-the-time/ torrentfreak2: title: LAWYERS SENT 109,000 PIRACY THREATS IN GERMANY DURING 2013 date: 2014 author: - ins: Andy target: https://torrentfreak.com/lawyers-sent-109000-piracy-threats-= in-germany-during-2013-140304/ freenet1: title: What is Freenet? author: - org: Freenet target: https://freenetproject.org/whatis.html freenet2: title: The Philosphy behind Freenet? author: - ins: Ian Clarke target: https://freenetproject.org/philosophy.html bitmessage: title: Bitmessage Wiki? date: 2014 author: - org: Bitmessage target: https://bitmessage.org/wiki/Main_Page PETS2015VPN: title: A Glance through the VPN Looking Glass date: 2015 author: - ins: V.C. Pera - ins: M.V. Barbera - ins: G. Tyson - ins: H. Haddadi - ins: A. Mei target: http://www.eecs.qmul.ac.uk/~hamed/papers/PETS2015VPN.pdf spiegel: title: Prying Eyes - Inside the NSA's War on Internet Security date: 2014 author: - org: SPIEGEL target: http://www.spiegel.de/international/germany/inside-the-nsa-s= -war-on-internet-security-a-1010361.html Rideout: title: Making security easier date: 2008 author: - ins: A. Rideout target: http://gmailblog.blogspot.de/2008/07/making-security-easier.= html Schillace: title: Default https access for Gmail date: 2010 author: - ins: S. Schillace target: http://gmailblog.blogspot.de/2010/01/default-https-access-fo= r-gmail.html Peterson: title: Yahoo to make SSL encryption the default for Webmail users. F= inally. date: 2013 author: - ins: A. Peterson - ins: B. Gellman - ins: A. Soltani target: http://gmailblog.blogspot.de/2010/01/default-https-access-fo= r-gmail.html Collins: title: Hacking Team's oppressive regimes customer list revealed in h= ack date: 2015 author: - ins: K. Collins target: http://www.wired.co.uk/news/archive/2015-07/06/hacking-team-= spyware-company-hacked =20 Cath: title: "A Case Study of Coding Rights: Should Freedom of Speech Be I= nstantiated in the Protocols and Standards Designed by the Internet Engin= eering Task Force?" date: 2015 author: - ins: C. Cath target: https://www.ietf.org/mail-archive/web/hrpc/current/pdf36GrmR= M84S.pdf =20 CathandFloridi: title: The Design of the Internet=E2=80=99s Architecture by the Inte= rnet Engineering Task Force (IETF) and Human Rights date: forthcoming author: - ins: C. Cath - ins: L. Floridi Haagsma: title: "Deep dive into QUANTUM INSERT" date: 2015 author: - ins: L. Haagsma target: http://blog.fox-it.com/2015/04/20/deep-dive-into-quantum-ins= ert/ RSF: title: Syria using 34 Blue Coat Servers to spy on Internet users date: 2013 author: - org: RSF target: https://en.rsf.org/syria-syria-using-34-blue-coat-servers-23= -05-2013,44664.html Schneier: title: Attacking Tor - how the NSA targets users' online anonymity date: 2013 author: - ins: B. Schneier target: http://www.theguardian.com/world/2013/oct/04/tor-attacks-nsa= -users-online-anonymity Appelbaum: title: NSA targets the privacy-conscious date: 2015 author: - ins: J. Appelbaum - ins: A. Gibson - ins: V. Kabish - ins: L. Kampf - ins: L. Ryge target: http://daserste.ndr.de/panorama/aktuell/nsa230_page-1.html Marcak: title: China's Great Fire Cannon date: 2015 author: - ins: B. Marcak - ins: N. Weaver - ins: J. Dalek - ins: R. Ensafi - ins: D. Fifield - ins: S. McKune - ins: A. Rey - ins: J. Scott-Railton - ins: R. Deibert - ins: V. Paxson target: https://citizenlab.org/2015/04/chinas-great-cannon/ Googlepatent: title: Method and device for network traffic manipulation date: 2012 author: - ins: Google target: https://www.google.com/patents/EP2601774A1?cl=3Den Marquis-Boire: title: Schrodinger's Cat Video and the Death of Clear-Text date: 2014 author: - ins: M. Marquis-Boire target: https://citizenlab.org/2014/08/cat-video-and-the-death-of-cl= ear-text/ pidgin: title: -XMPP- Invisible mode violating standard date: 2015-07 author: - ins: js - org: Pidgin Developers target: https://developer.pidgin.im/ticket/4322 xmppmanifesto: title: A Public Statement Regarding Ubiquitous Encryption on the XMP= P Network date: 2014 author: - ins: P. Saint-Andre - ins: XMPP Operators target: https://raw.githubusercontent.com/stpeter/manifesto/master/m= anifesto.txt namecoin: title: Namecoin - Decentralized secure names date: 2015 author: - org: Namecoin target: https://namecoin.info/ Douceur: title: The Sybil Attack date: 2002 author: - ins: J.R. Douceur target: http://research.microsoft.com:8082/pubs/74220/IPTPS2002.pdf Bray: title: A New HTTP Status Code for Legally-restricted Resources date: 2016 author: - ins: T. Bray target: https://tools.ietf.org/html/draft-ietf-httpbis-legally-restr= icted-status-04 Daedalus: title: The Contingent Internet date: 2016 author: - ins: D. Clark seriesinfo: Daedalus Winter 2016, Vol. 145, No. 1. p. 9=E2=80=9317 target: http://www.mitpressjournals.org/toc/daed/current Sauter: title: The Coming Swarm date: 2014 author: - ins: M. Sauter seriesinfo: Bloomsbury, London Walfish: title: Middleboxes No Longer Considered Harmful date: 2004 author: - ins: M. Walfish - ins: J. Stribling - ins: M. Krohn - ins: H. Balakrishnan - ins: R. Morris - ins: S. Shenker target: http://nms.csail.mit.edu/doa Abibil: title: Dissecting 'Operation Ababil' - an OSINT Analysis date: 2012 author: - ins: D. Danchev target: http://ddanchev.blogspot.be/2012/09/dissecting-operation-aba= bil-osint.html GreenMovement: title: Iran DDoS date: 2009 author: - ins: N. Villeneuve target: https://www.nartv.org/2009/06/16/iran-ddos/ Zuckerman: title: Report on Distributed Denial of Service (DDoS) Attacks date: 2010 author: - ins: E. Zuckerman - ins: H. Roberts - ins: R. McGrady - ins: J. York - ins: J. Palfrey target: https://cyber.law.harvard.edu/sites/cyber.law.harvard.edu/fi= les/2010_DDoS_Attacks_Human_Rights_and_Media.pdf seriesinfo: The Berkman Center for Internet and Society at Harvard U= niversity ICCPR: title: International Covenant on Civil and Political Rights date: 1976 author: org: United Nations General Assembly target: http://www.ohchr.org/EN/ProfessionalInterest/Pages/CCPR.aspx= =20 Berners-Lee: title: Weaving the Web, author: - ins: T. Berners-Lee - ins: M. Fischetti seriesinfo: HarperCollins: p 208 date: 1999 Saltzer: title: End-to-End Arguments in System Design author:=20 - ins: J.H. Saltzer - ins: D.P. Reed - ins: D.D. Clark seriesinfo: ACM TOCS, Vol 2, Number 4, November 1984, pp 277-288. date: 1984 Clark: title: The Design Philosophy of the DARPA Internet Protocols author: - ins: D. Clark seriesinfo: Proc SIGCOMM 88, ACM CCR Vol 18, Number 4, August 1988, pp. 106-114. date: 1988 Blumenthal: title: "Rethinking the design of the Internet: The end-to-end argume= nts vs. the brave new world" author: - ins: M. Blumenthal - ins: D.D. Clark seriesinfo: ACM Transactions on Internet Technology, Vol. 1, No. 1, = August 2001, pp 70-109. date: 2001 WP-Stateless: title: Stateless protocol target: https://en.wikipedia.org/wiki/Stateless_protocol WP-Debugging: title: Debugging target: https://en.wikipedia.org/wiki/Debugging FIArch: title: Future Internet Design Principles date: January 2012 target: http://www.future-internet.eu/uploads/media/FIArch_Design_Pr= inciples_V1.0.pdf Elahi: title: "CORDON - A taxonomy of Internet Censorship Resistance Strate= gies" author: - ins: T. Elahi - ins: I. Goldberg target: http://cacr.uwaterloo.ca/techreports/2012/cacr2012-33.pdf date: 2012 Brown: title: "A Prehistory of Internet Governance" date: 2013 author: - ins: I. Brown - ins: M. Ziewitz seriesinfo: Research Handbook on Governance of the Internet. Chelten= ham, Edward Elgar. FRAMEWORK: title: Information technology - Framework for internationalization, = prepared by ISO/IEC JTC 1/SC 22/WG 20 ISO/IEC TR 11017 date: 1997 author: - ins: ISO/IEC W3Ci18nDef: title: Localization vs. Internationalization date: 2010 author: - org: W3C target: http://www.w3.org/International/questions/qa-i18n.en =20 W3CAccessibility: title: Accessibility date: 2015 author: - org: W3C target: https://www.w3.org/standards/webdesign/accessibility Rachovitsa: title: Engineering =E2=80=9CPrivacy by Design=E2=80=9D in the Intern= et Protocols - Understanding Online Privacy both as a Technical and a Hum= an Rights Issue in the Face of Pervasive Monitoring date: 2015 author: - ins: A. Rachovitsa target: https://www.ietf.org/mail-archive/web/hrpc/current/pdfRBnRYF= eVsm.pdf seriesinfo: International Journal of Law and Information Technology = Davidsonetal: title: Strangers in a strange land date: 2002 author: - ins: A. Davidson - ins: J. Morris - ins: R. Courtney target: https://www.cdt.org/files/publications/piais.pdf seriesinfo: Telecommunications Policy Research Conference Clarketal: title: Tussle in cyberspace - defining tomorrow=E2=80=99s Internet date: 2005 author: - ins: D.D. Clark - ins: J. Wroclawski - ins: K.R. Sollins - ins: R. Braden target: https://dl.acm.org/citation.cfm?id=3D1074049 seriesinfo: ACM Digital Library Broeders: title: The public core of the Internet date: 2015 author: - ins: D. Broeders target: http://www.wrr.nl/en/publications/publication/article/de-pu= blieke-kern-van-het-internet-1/ seriesinfo: WRR Musiani: title: Giants, Dwarfs and Decentralized Alternatives to Internet-b= ased Services - An Issue of Internet Governance date: 2015=20 author: - ins: F. Musiani target: http://doi.org/10.16997/wpcc.214=20 seriesinfo: Westminister Papers in Communication and Culture BrownMarsden: title: Regulating code date: 2013 author: - ins: I. Brown - ins: C. Marsden target: https://mitpress.mit.edu/books/regulating-code seriesinfo: MIT Press Brownetal: title: Should specific values be embedded in the Internet Architect= ure? date: 2010 author: - ins: I. Brown - ins: D. Clark - ins: D. Trossen target: http://conferences.sigcomm.org/co-next/2010/Workshops/REARC= H/ReArch_papers/10-Brown.pdf seriesinfo: Sigcomm Abbate: title: Inventing the Internet=20 date: 2000=09 author: - ins: J. Abbate target: https://mitpress.mit.edu/books/inventing-internet seriesinfo: MIT Press=20 Zittrain: title: The Future of the Internet - And How to Stop It date: 2008 author: - ins: J. Zittrain target: https://dash.harvard.edu/bitstream/handle/1/4455262/Zittrai= n_Future%20of%20the%20Internet.pdf?sequence=3D1 seriesinfo: Yale University Press Denardis15:=09 title: The Internet Design Tension between Surveillance and Securit= y date: 2015 author:=20 - ins: L. Denardis target: http://is.gd/7GAnFy seriesinfo: IEEE Annals of the History of Computing (volume 37-2) Denardis14:=09 title: The Global War for Internet Governance date: 2014 author: - ins: L. Denardis target: https://www.jstor.org/stable/j.ctt5vkz4n seriesinfo: Yale University Press Lessig: title: Code - And Other Laws of Cyberspace, Version 2.0.=20 date: 2006 author:=20 - ins: L. Lessig target: http://codev2.cc/ seriesinfo: New York Basic Books Mueller: title: Networks and States date: 2010=20 author: - ins: M. Mueller target: https://mitpress.mit.edu/books/networks-and-states seriesinfo: MIT Press Bless: title: Values and Networks date: 2015=20 author: - ins: R. Bless - ins: C. Orwat Benkler: title: The wealth of Networks - How social production transforms ma= rkets and freedom date: 2006 author: - ins: Y. Benkler target: http://is.gd/rxUpTQ seriesinfo: New Haven and London - Yale University Press Babbie: title: The Basics of Social Research=20 date: 2010 author: - ins: E. Babbie seriesinfo: Belmont CA Cengage Denzin:=20 title: Handbook of Qualitative Research date: 2000 author: - ins: N.K. Denzin - ins: Y.S. Lincoln target: http://www.amazon.com/SAGE-Handbook-Qualitative-Research-Han= dbooks/dp/1412974178 seriesinfo: Thousand Oaks CA Sage Geertz: title: Kinship in Bali date: 1975 author: - ins: G. Clifford target: http://press.uchicago.edu/ucp/books/book/chicago/K/bo362508= 8.html seriesinfo: Chicago University of Chicago Press. Jabri: title: Discourses on Violence - conflict analysis reconsidered date: 1996 author: - ins: V. Jabri seriesinfo: Manchester University Press=20 =20 King: title: Power, Social Violence and Civil Wars date: 2007 author: - ins: C. King seriesinfo: Washington D.C. United States Institute of Peace Press =20 Schroeder: title: Introduction - Violent Imaginaries and Violent Practice date: 2001 author: - ins: I.W. Schroeder - ins: B. Schmidt target: http://resourcelists.st-andrews.ac.uk/items/BFC20363-67B0-B= 3EF-EA48-13E5230E7899.html seriesinfo: London and New York Routledge =20 Richie: title: Qualitative Research Practice - A Guide for Social Science S= tudents and Researchers date: 2003 author: - ins: J. Richie=20 - ins: J. Lewis target: http://www.amazon.co.uk/Qualitative-Research-Practice-Stude= nts-Researchers/dp/0761971106=20 seriesinfo: London Sage Doty: title: Automated text analysis of Requests for Comment (RFCs)=20 date: 2014 author: - ins: N. Doty target: https://github.com/npdoty/rfc-analysis Pouwelse: title: Media without censorship date: 2012 author: - ins: J. Pouwelse, Ed. target: https://tools.ietf.org/html/draft-pouwelse-censorfree-scena= rios --- abstract The increased intertwinement of Internet and society increases the impact= of the Internet on the lives of individuals. Because of this, the design= and development of the architecture of the Internet also has an increasi= ng impact on society. This has led to an increasing recognition that huma= n rights {{UDHR}} {{ICCPR}} {{ICESCR}} have a role in the development and= management of the Internet {{HRC2012}} {{UNGA2013}} {{NETmundial}}. It h= as also been argued that the Internet should be strengthened as a human r= ights enabling environment {{Brown}}. This document provides a proposal for a glossary to discuss the relation = between human rights and Internet protocols, an overview of the discussio= n, a proposal for the mapping of the relation between human rights and te= chnical concepts, and a proposal for guidelines for human rights consider= ations, similar to the work done on the guidelines for privacy considerat= ions {{RFC6973}}. Discussion of this draft at: hrpc@irtf.org // https://www.irtf.org/mailma= n/listinfo/hrpc --- middle Introduction =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D "There's a freedom about the Internet: As long as we accept the rules of sending packets around, we can send packets containing anything to anywhere." {{Berners-Lee}} This document aims to expose the relation between protocols and human rig= hts, propose possible guidelines to protect the Internet as a human-right= s-enabling environment in future protocol development, in a manner simila= r to the work done for Privacy Considerations in {{RFC6973}}, and to incr= ease the awareness in both the human rights community and the technical c= ommunity on the importance of the technical workings of the Internet and = its impact on human rights. Open, secure and reliable connectivity is necessary (although not suffici= ent) to excercise the human rights such as freedom of expression and free= dom of association, as defined in the Universal Declaration of Human Righ= ts {{UDHR}}. The Internet aims to be a global network of networks that pr= ovides unfettered connectivity to all users at all times and for any cont= ent {{RFC1958}}. This objective of stimulating global connectivity contri= butes to the Internet's role as an enabler of human rights. Next to that,= the strong commitment to security {{RFC1984}} {{RFC3365}} and privacy {{= RFC6973}} {{RFC7258}} in the Internet's architectural design contribute t= o the strengthening of the Internet as a human rights enabling environmen= t. One could even argue that the Internet is not only an enabler of human= rights, but that human rights lie at the basis of, and are ingrained in,= the architecture of the network. Internet connectivity increases the cap= acity for individuals to exercise their rights, the core of the Internet,= its architectural design is therefore closely intertwined with the human= rights framework {{CathandFloridi}}.=20 While the Internet was designed with freedom and openness of communicatio= ns as core values, as the scale and the commercialization of the Internet= grew, topics like access, rights and connectivity are forced to compete = with other values. Therefore, important human rights enabling characteris= tics of the Internet might be degraded if they're not properly defined, d= escribed and protected as such. And, the other way around, not protecting= human right enabling characteristics could also result in (partial) loss= of functionality and connectivity, and other inherent parts of the Inter= net's architecture. The IETF has produced guidelines and procedures to ensure and galvanize t= he privacy and security of the network in protocol development. This docu= ment aims to explore the possibility of the development of similar proced= ures for guidelines for human rights considerations to ensure that protoc= ols developed in the IETF do not have an adverse impact on the enjoyment = of human rights on the Internet. Vocabulary used =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D In the discussion of human rights and Internet architecture concepts deve= loped in computer science, networking, law, policy-making and advocacy ar= e coming together. The same concepts might have a very different meaning = and implications in other areas of expertise. In order to foster a constr= uctive interdisciplinary debate, and minimize differences in interpretati= on, the following glossary is provided.=20 Accessibility : Full Internet Connectivity as described in {{RFC4084}} to provide unfet= tered access to the Internet=C2=A0 : The design of protocols, services or implementation that provide an ena= bling environment for people with disabilities. : The ability to receive information available on the Internet Anonymity : The condition of an identity being unknown or concealed. {{RFC4949}} Anonymous : A state of an individual in which an observer or attacker cannot identi= fy the individual within a set of other=C2=A0 individuals (the anonymity = set). {{RFC6973}} Authenticity : The fact that the data does indeed come from the source it claims to co= me from. (It is strongly linked with Integrity, see below). Censorship resistance : Methods and measures to prevent Internet censorship. Confidentiality : The non-disclosure of information to any unintended person or host or p= arty. Connectivity : The extent to which a device or network is able to reach other devices = or networks to exchange data. The Internet is the tool for providing glob= al connectivity {{RFC1958}}.=C2=A0 Content-agnosticism : Treating network traffic identically regardless of content. Debugging : Debugging is a methodical process of finding and reducing the number of= bugs, or defects, or malfunctions in a protocol or its implementation, t= hus making it behave as expected. It also includes analyzing the conseque= nces that might have emanate from the error. Debugging tends to be harder= when various subsystems are tightly coupled, as changes in one may cause= bugs to emerge in another. {{WP-Debugging}} : The process through which people troubleshoot a technical issue, which = may include inspection of program source code or device configurations. C= an also include tracing or monitoring packet flow. Decentralized : Opportunity for implementation or deployment of standards, protocols or= systems without one single point of control. End-to-End : The principal of extending characteristics of a protocol or system as f= ar as possible within the system. For example, end-to-end instant message= encryption would conceal communications from one user's instant messagin= g application through any intermediate devices and servers all the way to= the recipient's instant messaging application. If the message was decryp= ted at any intermediate point--for example at a service provider--then th= e property of end-to-end encryption would not be present. : One of the key architectural guidelines of the Internet is the end-to-e= nd principle in the papers by Saltzer, Reed, and Clark {{Saltzer}} {{Clar= k}}. The end-to-end principle was originally articulated as a question of= where best not to put functions in a communication system. Yet, in the e= nsuing years, it has evolved to address concerns of maintaining openness,= increasing reliability and robustness, and preserving the properties of = user choice and ease of new service development as discussed by Blumentha= l and Clark in {{Blumenthal}}; concerns that were not part of the origina= l articulation of the end-to-end principle. {{RFC3724}} : communication that takes place between communication end-points of the = same physical or logical functional level Federation : The possibility of connecting autonomous systems into a single distribu= ted system. Heterogenity :=C2=A0 The Internet is characterized by heterogeneity on many levels: de= vices and nodes, router scheduling algorithms and queue management mechan= isms, routing protocols, levels of multiplexing, protocol versions and im= plementations, underlying link layers (e.g., point-to-point, multi-access= links, wireless, FDDI, etc.), in the traffic mix and in the levels of co= ngestion at different times and places. Moreover, as the Internet is comp= osed of autonomous organizations and Internet service providers, each wit= h their own separate policy concerns,there is a large heterogeneity of ad= ministrative domains and pricing structures. As a result, the heterogenei= ty principle proposed in {{RFC1958}} needs to be supported by design. {{F= IArch}} Integrity : Maintenance and assurance of the accuracy and consistency of data to en= sure it has not been (intentionally or unintentionally) altered. Internet censorship :=C2=A0 Internet censorship is the intentional suppression of information= originating, flowing or stored on systems connected to the Internet wher= e that information is relevant for decision making to some entity. {{Elah= i}} Inter-operable : A property of a documented standard or protocol which allows different = independent implementations to work with each other without any restricte= d negotiation, access or functionality.=C2=A0 Internet Standards as an Arena for Conflict : Pursuant to the principle of constant change, since the function and sc= ope of the Internet evolves, so does the role of the IETF in developing s= tandards. Internet standards are adopted on the basis of a series of crit= eria, including high technical quality, support by community consensus, a= nd their overall benefit to the Internet. The latter calls for an assessm= ent of the interests of all affected parties and the specifications=E2=80= =99 impact on the Internet=E2=80=99s users. In this respect, the effectiv= e exercise of the human rights of the Internet users is a relevant consid= eration that needs to be=C2=A0appreciated in the standardization process = insofar as it is directly linked to the reliability and core values of th= e Internet. {{RFC1958}} {{RFC0226}} {{RFC3724}} Internationalization (i18n) : The practice of making protocols, standards, and implementations usable= in different languages and scripts.=C2=A0 (see Localization) : (cf {{RFC6365}}) In the IETF, "internationalization" means to add or im= prove the handling of non-ASCII text in a protocol. {{RFC6365}}=C2=A0 A d= ifferent perspective, more appropriate to protocols that are designed for= global use from the beginning, is the definition used by W3C: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "Internationalization is= the design and development of a =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 product, application or = document content that enables easy =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 localization for target = audiences that vary in culture, region, =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 or language."=C2=A0 {{W3= Ci18nDef}} Many protocols that handle text only handle one charset (US-ASCII), or le= ave the question of what CCS and encoding up to local guesswork (which le= ads, of course, to=C2=A0 interoperability problems).=C2=A0 If multiple ch= arsets are permitted, they must be explicitly identified {{RFC2277}}.=C2=A0= Adding non-ASCII text to a protocol allows the protocol to handle more s= cripts, hopefully all of the ones useful in the world.=C2=A0 In today's w= orld, that is normally best accomplished by allowing Unicode encoded in U= TF-8 only, thereby shifting conversion issues away from individual choice= s.=C2=A0 Localization (l10n) : The practice of translating an implementation to make it functional in = a specific language or for users in a specific locale (see Internationali= zation). : (cf {{RFC6365}} The process of adapting an internationalized applicatio= n platform or application to a specific cultural environment.=C2=A0 In lo= calization, the same semantics are preserved while the syntax may be chan= ged. {{FRAMEWORK}} Localization is the act of tailoring an application for a different langu= age or script or culture.=C2=A0 Some internationalized applications can h= andle a wide variety of languages.=C2=A0 Typical users only understand a = small number of languages, so the program must be tailored to interact wi= th users in just the languages they know. The major work of localization is translating the user interface and docu= mentation.=C2=A0 Localization involves not only changing the language int= eraction, but also other relevant changes such as display of numbers, dat= es, currency, and so on.=C2=A0 The better internationalized an applicatio= n is, the easier it is to localize it for a particular language and chara= cter encoding scheme. Open standards : Conform=C2=A0 {{RFC2606}}: Various national and international standards= bodies, such as ANSI, =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ISO, IEEE, and ITU-T, develop a variety of= protocol and service =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 specifications that are similar to Technic= al Specifications =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 defined here.=C2=A0 National and internati= onal groups also publish =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "implementors' agreements" that are analog= ous to Applicability =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Statements, capturing a body of implementa= tion-specific detail =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 concerned with the practical application o= f their standards.=C2=A0 All =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 of these are considered to be "open extern= al standards" for the =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 purposes of the Internet Standards Process= =2E Openness : The quality of the unfiltered Internet that allows for free access to o= ther hosts. : Absence of centralized points of control =E2=80=93 a feature that is as= sumed to make it easy for new users to join and new uses to unfold {{Brow= n}}. Permissionless innovation : The freedom and ability to freely create and deploy new protocols on to= p of the communications constructs that currently exist. Privacy : The right of an entity (normally a person), acting in its own behalf, t= o determine the degree to which it will interact with its environment, in= cluding the degree to which the entity is willing to share its personal i= nformation with others. {{RFC4949}} : The right of individuals to control or influence what information relat= ed to them may be collected and stored and by whom and to whom that infor= mation may be disclosed. : Privacy is a broad concept relating to the protection of individual aut= onomy and the relationship between an individual and society, including g= overnment, companies and private individuals. It is often summarized as =E2= =80=9Cthe right to be left alone=E2=80=9D but it encompasses a wide range= of rights including protections from intrusions into family and home lif= e, control of sexual and reproductive rights, and communications secrecy.= =C2=A0 It is commonly recognized as a core right that underpins human dig= nity and other values such as freedom of association and freedom of speec= h. The right to privacy is also recognized in nearly every national constitu= tion=C2=A0and in most international human rights treaties.=C2=A0It has be= en adjudicated upon both by international and regional bodies.=C2=A0The r= ight to privacy is also legally protected at the national level through p= rovisions in civil and/or criminal codes. Reliable : Reliability ensures that a protocol will execute its function consisten= tly and error resistant as described and function without unexpected resu= lt. A system that is reliable degenerates gracefully and will have a docu= mented way to announce degradation.=C2=A0It also has mechanisms to recove= r from failure gracefully, and if applicable, allow for partial healing.=C2= =A0 Resilience : The maintaining of dependability and performance in the face of unantic= ipated changes and circumstances. Robustness : The resistance of protocols and their implementations to errors, and to= involuntary, legal or malicious attempts to disrupt its mode of operatio= ns. {{RFC0760}} {{RFC0791}} {{RFC0793}} {{RFC1122}} Scalable : The ability to handle increased or decreased workloads predictably with= in defined expectations. There should be a clear definition of its scope = and applicability.=C2=A0The limits of a systems scalability should be def= ined. Stateless / stateful=C2=A0 : In computing, a stateless protocol is a communications protocol that tr= eats each request as an independent transaction that is unrelated to any = previous request so that the communication consists of independent pairs = of request and response. A stateless protocol does not require the server= to retain session information or status about each communications partne= r for the duration of multiple requests. In contrast, a protocol which re= quires keeping of the internal state on the server is known as a stateful= protocol. {{WP-Stateless}} Strong encryption / cryptography : Used to describe a cryptographic algorithm that would require a large a= mount of computational power to defeat it. {{RFC4949}} Transparent : "transparency" refers to the original Internet concept of a single univ= ersal logical addressing scheme, and the mechanisms by which packets may = flow from source to destination essentially unaltered. {{RFC2775}} The combination of reliability, confidentiality, integrity, anonymity, an= d authenticity is what makes up security on the Internet. ( Reliability )=20 ( Confidentiality ) ( Integrity ) =3D communication and information s= ecurity (technical) ( Authenticity ) ( Anonymity ) The combination of End-to-End, Interoperability, resilience, reliability = and robustness is what makes us connectivity on the Internet ( End-to-End ) =20 connectivity =3D ( Interoperability ) ( Resilience ) =20 ( Reliability ) =20 ( Robustness ) ( Autonomy )=20 ( Simplicity ) =20 Research Questions =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D The Human Rights Protocol Considerations Research Group (hrpc) in the Int= ernet Research Taskforce (IRTF) embarked on its mission to answer the fol= lowing two questions which are also the main two questions which this doc= uments seeks to answer: 1. How can Internet protocols and standards impact human rights, either b= y enabling them or by creating a restrictive environment? 2. Can guidelines be developed to improve informed and transparent decisi= on making about potential human rights impact of protocols? Literature and Discussion Review=C2=A0 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D Protocols and standards are regularly seen as merely performing technical= functions. However, these protocols and standards do not exist outside o= f their technical context nor outside of their political, historical, eco= nomic, legal or cultural context. This is best exemplified by the way in = which protocols have become part and parcel of political processes and pu= blic policies: one only has to look at the IANA transition, the RFC on pe= rvasive monitoring or global innovation policy for concrete examples {{De= nardis15}}. To quote {{Abbate}}: =E2=80=9Cprotocols are politics by other= means=E2=80=9D. Since the late 1990=E2=80=99s a burgeoning group of acad= emics and practitioners researched questions surrounding the societal imp= act of protocols. These studies vary in focus and scope: some focus on sp= ecific standards {{Davidsonetal}} {{Musiani}}, others look into the polit= ical, legal, commercial or social impact of protocols {{BrownMarsden}} {{= Lessig}}, {{Mueller}}. =C2=A0 Commercial and political influences on the management of the Internet=E2=80= =99s architecture are well-documented in the academic literature and will= thus not be discussed here {{Benkler}} {{Brownetal}} {{Denardis15}} {= {Lessig}} {{Mueller}} {{Zittrain}}. It is enough to say that the IETF c= onsistently tries to push back against the standardization of surveillanc= e and certain other issues that negatively influence end-users=E2=80=99 e= xperience of the Internet {{Denardis14}}. The role human rights play in t= echnical engineering is much less clear.=C2=A0 =C2=A0 Understanding how protocols and standards impact human rights, especially= the right to freedom of expression and freedom of association and assemb= ly, is crucial. Questions at the intersection of human rights and Interne= t architecture management are particularly important as Internet Standard= Developing Organizations (SDOs) are the arenas for contention over human= rights and the role of technical engineers to protect human rights by de= sign {{Brownetal}} {{Clarketal}} {{Denardis14}} {{CathandFloridi}} {{Less= ig}} {{Rachovitsa}}.=C2=A0 =C2=A0 In the academic literature four clear positions can be discerned, in rela= tion to the role of human rights in protocol design and how to account fo= r these human rights in protocol development: Clark et al. argue that the= re is a need to 'design for variation in outcome, so that the outcome can= be different in different places, and the tussle takes place within the = design (=E2=80=A6) [as] Rigid designs will be broken; designs that permit= variation will flex under pressure and survive {{Clarketal}}.=E2=80=99 T= hey hold that human rights should not be hard-coded into protocols becaus= e of four reasons: first, the rights in the UDHR are not absolute. Second= , technology is not the only tool in the tussle over human rights. Third,= there are inherent dangers to blunting the tools of enforcement and last= but not least, it is dangerous to make promises that can=E2=80=99t be ke= pt. The open nature of the Internet will never, they argue, be enough to = fully protect individuals=E2=80=99 human rights.=20 Conversely, Brown et al. {{Brownetal}} state that 'some key, universal va= lues =E2=80=93 of which the UDHR is the most legitimate expression =E2=80= =93 should be baked into the architecture at design time.' They argue tha= t design choices have offline consequences, and are able shape the power = positions of groups or individuals in society. As such, the individuals m= aking these technical decisions have a moral obligation to take into acco= unt the impact of their decisions on society, and by extension human righ= ts. Brown et al recognise that values and the implementation of human rig= hts vary across the globe. Yet they argue that all members of the United = Nations have found =E2=80=98common agreement on the values proclaimed in = the Universal Declaration of Human Rights. In looking for the most legiti= mate set of global values to embed in the future Internet architecture, t= he UDHR has the democratic assent of a significant fraction of the planet= 's population, through their elected representatives.=E2=80=9D=20 The main disagreement between these two positions lies mostly in the ques= tion on whether a particular value system should be embedded into the Int= ernet=E2=80=99s architecture or whether the architecture needs to account= for a varying set of values.=20 =C2=A0 A third position that is similar to that of Brown et al., is taken by {{B= roeders}} who argues that 'we must find ways to continue guaranteeing the= overall integrity and functionality of the public core of the Internet.'= He argues that the best way to do this is by declaring the backbone of t= he Internet - which includes the TCP/IP protocol suite, numerous standard= s, the Domain Name System (DNS), and routing protocols - a common public = good.=C2=A0This is a different approach than that of {{Clarketal}} and {{= Brownetal}} because Broeders does not suggest that social values should (= or should not) be explicitly coded into the Internet=E2=80=99s architectu= re, but rather that the existing architecture should be seen as an entity= of public value.=20 =C2=A0 Bless and Orwat {{Bless}} represents a fourth position. They argue that i= t is to early to make any definitive claims, but that there is a need for= more careful analysis of the impact of protocol design choices on human = rights. They also argue that it is important to search for solutions that= =E2=80=98create awareness in the technical community about impact of des= ign choices on social values. And work towards a methodology for co-desig= n of technical and institutional systems.=E2=80=99 Our position is that hard-coding human rights into protocols is very comp= licated as each situation is dependent on its context. At this point is d= ifficult to say whether hard-coding human rights into protocols is wise (= or feasible). It is however important to make consicious and explicit des= ign decisions that take into account the human rights protocol considerat= ions guidelines developed below. This will ensure that the impact protoco= ls can have on human rights is clear and explicit, both for developers an= d for users. In addition, it ensures that the impact of specific protocol= on human rights is carefully considered and that concrete design decisio= ns are documented in the protocol.=20 This document details the steps taken in theresearch into human rights pr= otocol considerations by the HRPC group to clarify the relation between t= echnical concepts used in the IETF and human rights. This document sets o= ut some preliminary steps and considerations for engineers to take into a= ccount when developing standards and protocols.=C2=A0 Methodology =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Mapping the relation between human rights, protocols and architectures is= a new research challenge, which requires a good amount of interdisciplin= ary and cross organizational cooperation to develop a consistent methodol= ogy.=C2=A0 The authors of this first draft are involved in=C2=A0both huma= n rights advocacy and research on Internet technologies - and as such be= lieve that bringing this work into the IRTF facilitates and=C2=A0 improve= s it by bringing human rights experts together with the community of rese= archers and developers of Internet standards and technologies. The methodological choices made in this document are based on the politic= al science-based method of discourse analysis and ethnographic research m= ethods {{Cath}}. This work departs from the assumption that language refl= ects the understanding of concepts. Or as {{Jabri}} holds, policy documen= ts are 'social relations represented in texts where language is used to c= onstruct meaning and representation'. This process happens in =E2=80=98th= e social space of society=E2=80=99 {{Schroeder}} and manifests itself in = institutions and organizations {{King}}, exposed using the ethnographic m= ethods of semi-structured interviews and participant observation. The discourse analysis was operationalized using qualitative and quantita= tive means. The first step taken by the research group was reading RFCs = and other official IETF documents. The second step was the use of a pyhon= -based analyzer, using the tool Big Bang, adapted by Nick Doty {{Doty}} t= o scan for the concepts that were identified as important architectural p= rinciples (distilled on the initial reading and supplemented by the inter= views and participant observation). Such a quantitative method is very pr= ecise and speeds up the research process {{Richie}}. But this tool is una= ble to understand =E2=80=98latent meaning=E2=80=99 {{Denzin}}. In order t= o mitigate these issues of automated word-frequency based approaches, and= to get a sense of the =E2=80=98thick meaning=E2=80=99 {{Geertz}} of the = data, a second qualitative analysis of the data set was performed. These = various rounds of discourse analysis were used to inform the interviews a= nd further data analysis.=20 The ethnographic methods of the data collection and processing allowed th= e research group to acquire the data necessary to =E2=80=98provide a holi= stic understanding of research participants' views and actions=E2=80=99 {= {Denzin}} that highlighted ongoing issues and case studies where protocol= s impact human rights. The interview participants were selected through p= urposive sampling {{Babbie}}, as the research group was interested in get= ting a wide variety of opinions on the role of human rights in guiding pr= otocol development. This sampling method also ensured that individuals wi= th extensive experience working at the IETF in various roles were targete= d. The interviewees included individuals in leadership positions (Working= Group (WG) chairs, Area Directors (ADs)), =E2=80=98regular participants=E2= =80=99, individuals working for specific entities (corporate, civil socie= ty, political, academic) and represented various backgrounds, nationaliti= es and genders.=20 Data Sources ------------ In order to map the potential relation between human rights and protocols= , so far, the HRPC research group gathered data from three specific sourc= es:=E2=80=A8 ### Discourse analysis of RFCs To start addressing the issue, a mapping exercise analyzing Internet arch= itecture and protocols features, vis-a-vis their possible impact on human= rights was undertaken. Therefore, research on the language used in curre= nt and historic RFCs and mailing list discussions was undertaken to expos= e core architectural principles, language and deliberations on human righ= ts of those affected by the network. ### Interviews with members of the IETF community during IETF92 in Dallas= Interviews with the current and past members of the Internet Architecture= Board (IAB), current and past members of the Internet Engineering Steeri= ng Group (IESG) and chairs of selected working groups and RFC authors was= done at the Dallas meeting in March 2015. To get an insider understandin= g of how they view the relationship (if any) between human rights and pro= tocols to play out in their work. ### Participant observation in Working Groups By participating in various working groups, in person at IETF meetings an= d on mailinglists, information was gathered about the IETFs day-to-day wo= rkings. From which which general themes, technical concepts, and use-case= s about human rights and protocols were extracted. Data analysis strategies=C2=A0 ------------------------ The data above was processed using three consecutive strategies: mapping = protocols related to human rights, extracting concepts from these protoco= ls, and creation of a common glossary (detailed under "2.vocabulary used"= ). Before going over these strategies some elaboration on the process of = identifying technical concepts as they relate to human rights needs to be= given:=C2=A0 ### Identifying qualities of technical concepts that relate to human righ= ts #### Mapping protocols and standards related to human rights By combining data from the three data sources named above, an extensive l= ist of=C2=A0 protocols and standards that potentially enable the Internet= as a tool for freedom of expression and association was assembly. In ord= er to determine the enabling (or inhibiting) features we relied on direct= references of such impact in the RFCs, as well as input from the communi= ty. On the basis of this analysis a list of RFCs that describe standards = and protocols that are potentially closely related to human rights was co= mpiled. #### Extracting concepts from mapped RFCs Mapping the protocols and standards that are related to human rights and = create a human rights enabeling environment was the first step. For that = we needed to focus on specific technical concepts that underlie these pro= tocols and=C2=A0 standards. On the basis of this list a number of technic= al concepts that appeared frequently was extracted, and used to create a = second list of technical terms that, when combined, create an enabling en= vironment for excercising human rights on the Internet.=C2=A0 #### Building a common vocabulary of technical concepts that impact human= rights=C2=A0 While interviewing experts, mapping RFCs and compiling technical definiti= ons several concepts of convergence and divergence were identified. To en= sure that the discussion was based on a common understanding of terms and= vocabulary, a list of definitions was created. The definitions are based= on the wording found in various IETF documents, and if these were unavai= lable definitions were taken from definitions from other Standards Develo= ping Organizations or academic literature.=20 #### Translating Human Rights Concept into Technical Definitions The previous steps allowed for the clarification of relation between huma= n rights and technical concepts. The steps taken show how the research pr= ocess zoomed in, from compiling a broad lists of protocols and standards = that relate to human rights to extracting the precise technical concepts = that make up these protocols and standards, in order to understand the re= lationship between the two. This sub-section presents the next step: tran= slating human rights to technical concepts by matching the individuals co= mponents of the rights to the accompanying technical concepts, allowing f= or the creation of a list of technical concepts that when combined create= an enabling environment for human rights. #### List technical terms that combined create enabling environment for h= uman rights=C2=A0 On the basis of the prior steps the following list of technical terms, = that when combined create an enabling environment for human rights, such = a freedom of expression and freedom of association, was drafted. Architectural principles Enabling features and characteristics for user rights /------------------------------------------------\= | |= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D|=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+= | =3D | =3D = | =3D | End to end =3D = | =3D | Reliability =3D = | =3D | Resilience =3D Access as = | =3D | Interoperability =3D Human Right = | =3D Good enough | Transparency =3D = | =3D principle | Data minimization =3D = | =3D | Permissionless innovation =3D = | =3D Simplicity | Graceful degradation =3D = | =3D | Connectivity =3D = | =3D | Heterogeneity =3D = | =3D | =3D = | =3D | =3D = | =3D \-----------------------------------------------= -/ =3D =3D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+= ### Translation human rights to technical terms This analysis aims to translate human rights concepts that impact or are = impacted by the Internet as follows: The combination of content agnosticism, connectivity, security, privacy (= as defined in {{RFC6973}} ), and open standards are the technical princip= les that underlie freedom of expression on the Internet. ( Connectivity )=20 ( Privacy ) ( Security ) =3D Right to freedom of expression= ( Content agnosticism ) ( Internationalization ) ( Censorship resistance ) ( Open Standards ) ( Heterogeneity support ) =20 ( Anonymity ) ( Privacy ) =3D Right to non-discrimination ( Pseudonymity ) ( Content agnosticism ) ( Accessibility ) =09 ( Content Agnosticism ) ( Security ) =3D Right to equal protection ( Accessibility ) ( Internationalization ) =3D Right to political participation ( Censorship resistance ) ( Accessibility ) =09 ( Open standards ) ( Localization ) =3D Right to participate in cultural life,= =20 ( Internationalization ) arts and science & ( Censorship resistance ) Right to education ( Accessibility ) ( Connectivity ) ( Decentralization ) ( Censorship resistance ) =3D Right to freedom of assembly=20 ( Pseudonymity ) and association ( Anonymity ) ( Security ) =09 ( Reliability )=20 ( Confidentiality ) ( Integrity ) =3D Right to security ( Authenticity ) ( Anonymity ) #### Map cases of protocols that adversely impact human rights or are ena= blers thereof Given the information above, the following list of cases of protocols tha= t adversely impact or enable human rights was formed.=20 ### IPv4 The Internet Protocol version 4 (IPv4), also known as =E2=80=98layer 3=E2= =80=99 of the Internet, and specified as a common encapsulation and proto= col header, is defined in {{RFC0791}}. The evolution of Internet communic= ations led to continued development in this area, encapsulated in the dev= elopment of version 6 (IPv6) of the protocol in {{RFC2460}}. In spite of = this updated protocol, we find that 25 years after the specification of v= ersion 6 of the protocol, the older v4 standard continues to account for = a sizeable majority of Internet traffic, and most (if not all) of the iss= ues discussed here are valid for IPv4 as well as IPv6. The Internet was designed as a platform for free and open communication, = most notably encoded in the end-to-end principle, and that philosophy is = also present in the technical implementation of the Internet Protocol. {{= RFC3724}} While the protocol was designed to exist in an environment wher= e intelligence is at the end hosts, it has proven to provide sufficient i= nformation that a more intelligent network core can make policy decisions= and enforce policy shaping and restricting the communications of end hos= ts. These capabilities for network control and limitations of the freedom= of expression by end hosts can be traced back to the IPv4 design, helpin= g us understand which technical protocol decisions have led to harm of th= ese human rights. Two major shifts have occurred to harm freedom of expression through misu= se of the Internet Protocol. The first is the network=E2=80=99s exploitat= ion of the public visibility of the host pairs for all communications, an= d the corresponding ability to discriminate and block traffic as a result= of that metadata. The second is the selective development of IP options.= Protocol extensions including Mobility and Multicasting have proposed al= ternate communication modes and suggest that different forms of assembly = could be supported by a robust IP layer. Instead, the protocol limited th= e deployability of such extensions by not providing a mechanism for appro= priate fallback behavior when unrecognized extensions are encountered. #### Network visibility of Source and Destination The IPv4 protocol header contains fixed location fields for both the sour= ce and destination IP addresses {{RFC0791}}. These addresses identify bot= h the host sending and receiving each message, and allow the core network= to understand who is talking to whom, and to practically limit communica= tion selectively between pairs of hosts. Blocking of communication based = on the pair of source and destination is one of the most common limitatio= ns on the ability for hosts to communicate today, {{caida}} and can be se= en as a restriction of the ability for those hosts to assemble or to cons= ensually express themselves. Inclusion of an Internet-wide identified source in the IP header is not t= he only possible design, especially since the protocol is most commonly i= mplemented over Ethernet networks exposing only link-local identifiers. {= {RFC0894}} A variety of alternative designs including source routing, whi= ch would allow for the sender to choose a per defined (safe) route, and s= poofing of the source IP address are technically supported by the protoco= l, but neither are considered good practice on the Internet. While projec= ts like {{torproject}} provide an alternative implementation of anonymity= in connections, they have been developed in spite of the IPv4 protocol d= esign. #### Protocols The other major feature of the IP protocol header is that it specifies th= e protocol encapsulated in each message in an easily observable form, and= does not encourage a design where the encapsulated protocol is not avail= able to a network observer. This design has resulted in a proliferation o= f routers which inspect the inner protocol, and also led to a stagnation = where only the TCP and UDP protocols are widely supported across the Inte= rnet. While the IP protocol was designed as the entire set of metadata ne= eded for routing, subsequent enhanced routers have found value on making = policy decisions based on the contents of TCP and UDP headers as well, an= d are encoded with the assumption that only these protocols will be used = for data transfer. {{spdy}} {{RFC4303}} defines an encrypted encapsulatio= n of additional protocols, but lacks widespread deployment and faces the = same challenge as any other protocol of providing sufficient metadata wit= h each message for routers to make positive policy decisions. Protocols l= ike {{RFC4906}} have seen limited wide-area uptake, and these alternate d= esigns are frequently re-implemented on top of UDP. {{quic}} #### Address Translation and Mobility A major structural shift in the Internet which undermined the protocol de= sign of IPv4, and significantly reduced the freedom of end users to commu= nicate and assemble is the introduction of network address translation. {= {RFC1631}} Network address translation is a process whereby organizations= and autonomous systems connect two networks by translating the IPv4 sour= ce and destination addresses between the two. This process puts the route= r performing the translation into a privileged position, where it can dec= ide which subset of communications are worthy of translation, and whether= an unknown request for communication will be correctly forwarded to a ho= st on the other network. This process of translation has widespread adoption despite promoting a p= rocess that goes against the stated end-to-end process of the underlying = protocol {{natusage}}. In contrast, the proposed mechanism to provide sup= port for mobility and forwarding to clients which may move, encoded inste= ad as an option in the IP protocol in {{RFC5944}}, has failed to gain tra= ction. In this situation the compromise made in the design of the protoco= l resulted in a technology that does not fully encode freedom of expressi= on in its design, eventhough a viable alternative that would do this exis= ts. ### DNS The Domain Name System (DNS) {{RFC1035}}, provides service discovery capa= bilities, and provides a mechanism to associate human readable names with= services. The DNS system is organized around a set of independently oper= ated 'Root Servers' run by organizations around the web which enact ICANN= 's policy by answering queries for which organizations have been delegate= d to manage registration under each Top Level Domain (TLD). Top Level dom= ains are maintained and determined by ICANN. These namespaces encompass s= everal classes of services. The initial name spaces including =E2=80=98.C= om=E2=80=99 and =E2=80=98.Net=E2=80=99, provide common spaces for express= ion of ideas, though their policies are enacted through US based companie= s. Other name spaces are delegated to specific nationalities, and may imp= ose limits designed to focus speech in those forums both to promote speec= h from that nationality, and to comply with local limits on expression an= d social norms. Finally, the system has recently been expanded with addit= ional generic and sponsored name spaces, for instance =E2=80=98.travel=E2= =80=99 and =E2=80=98.ninja=E2=80=99, which are operated by a range of org= anizations which may independently determine their registration policies.= This new development has both positive and negative implications in term= s of enabling human rights. Some individuals argue that it undermines the= right to freedom of expression because some of these new gtlds have rest= ricted policies on registration and particular rules on hate speech conte= nt. Others argue that precisely these properties are positive because the= y enable certain (mostly minority) communities to build safer spaces for = association, thereby enabling their right to freedom of association. An o= ften mentioned example is an application like .gay.=20 DNS has significant privacy issues per {{RFC7626}}. Most notable the lack= of encryption to limit the visibility of requests for domain resolution = from intermediary parties, and a limited deployment of DNSSEC to provide = authentication, allowing the client to know that they received a correct,= "authoritative", answer to a query.=20 Authentication through DNSSEC creates a validation path for records. This= authentication protects against forged or manipulated DNS data. As such = DNSSEC protects the directory look-up and makes hijacking of a session ha= rder. This is important because currently interference with the operation= of the DNS is becoming one of the central mechanisms used to block acces= s to websites. This interference limits both the freedom of expression of= the publisher to offer their content, and the freedom of assembly for cl= ients to congregate in a shared virtual space. Even though DNSSEC doesn't= prevent censorship, it makes it clear that the returned information is n= ot the information that was requested, which contributes to the right to = security and increases trust in the network.=20 #### Removal of records There have been a number of cases where the records for a domain are remo= ved from the name system due to real-world events. Examples of this remov= al includes the 'seizure' of wikileaks {{bbc-wikileaks}} and the names of= illegally operating gambling operations by the United States ICE unit, w= hich compelled the US-based registry in charge of the .com TLD to hand ow= nership of those domains over to the US government. The same technique ha= s been used in Libya to remove sites in violation of "our Country=E2=80=99= s Law and Morality (which) do not allow any kind of pornography or its pr= omotion." {{techyum}} At a protocol level, there is no technical auditing for name ownership, a= s in alternate systems like {{namecoin}}. As a result, there is no abilit= y for users to differentiate seizure from the legitimate transfer of name= ownership, which is purely a policy decision of registrars. While DNSSEC= addresses network distortion events described below, it does not tackle = this problem. #### Distortion of records The most common mechanism by which the DNS system is abused to limit free= dom of expression is through manipulation of protocol messages by the net= work. One form occurs at an organizational level, where client computers = are instructed to use a local DNS resolver controlled by the organization= =2E The DNS resolver will then selectively distort responses rather than = request the authoritative lookup from the upstream system. The second for= m occurs through the use of deep packet inspection, where all DNS protoco= l messages are inspected by the network, and objectionable content is dis= torted, as in {{turkey}}. A notable instance of distortion occurred in Greece {{ververis}}, where a= study found evidence of both of deep packet inspection to distort DNS re= plies, and overblocking of content. ISPs prevented clients from resolving= the names of domains which they were instructed to do through a governme= ntal order, prompting this particular blocking systems there. At a protocol level, the effectiveness of these attacks is made possible = by a lack of authentication in the DNS protocol. DNSSEC provides the abil= ity to determine authenticity of responses when used, but it is not regul= arly checked by resolvers. DNSSEC is not effective when the local resolve= r for a network is complicit in the distortion, for instance when the res= olver assigned for use by an ISP is the source of injection. Selective di= stortion of records is also been made possible by the predictable structu= re of DNS messages, which make it computationally easy for a network devi= ce to watch all passing messages even at high speeds, and the lack of enc= ryption, which allows the network to distort only an objectionable subset= of protocol messages. Specific distortion mechanisms are discussed furth= er in {{hall}}. #### Injection of records Responding incorrectly to requests for name lookups is the most common me= chanism that in-network devices use to limit the ability of end users to = discover services. A deviation, which accomplishes a similar objective ma= y be seen as different from a freedom of expression perspective, is the i= njection of incorrect responses to queries. The most prominent example of= this behavior occurs in China, where requests for lookups of sites deeme= d inappropriate will trigger the network to respond with a false response, causing the client to ignore the real response when it subseque= ntly arrives. {{greatfirewall}} Unlike the other forms of discussion ment= ioned above, injection does not stifle the ability of a server to announc= e it=E2=80=99s name, it instead provides another voice which answers soon= er. This is effective because without DNSSEC, the protocol will respond t= o whichever answer is received first, without listening for subsequent an= swers. ### HTTP The Hypertext Transfer Protocol (HTTP), described in its version 1.1 in R= FC 7230 to 7237, is a request-response application protocol developed thr= oughout the 1990s, and factually contributed to the exponential growth of= the Internet and the inter-connection of populations around the world. B= ecause of its simple design, HTTP has become the foundation of most moder= n Internet platforms and communication systems, from websites, to chat sy= stems, and computer-to-computer applications. In its manifestation with t= he World Wide Web, HTTP radically revolutionized the course of technologi= cal development and the ways people interact with online content and with= each other.=20 However, HTTP is also a fundamentally insecure protocol, that doesn't nat= ively provide encryption properties. While the definition of the Secure S= ockets Layer (SSL), and later of Transport Layer Security (TLS), also hap= pened during the 1990s, the fact that HTTP doesn't mandate the use of suc= h encryption layers to developers and service providers, caused a very la= te adoption of encryption. Only in the middle of the 2000s did we observe= d big Internet service providers, such as Google, starting to provide enc= rypted access to their web services. The lack of sensitivity and understanding of the critical importance of s= ecuring web traffic incentivized malicious and offensive actors to develo= p, deploy and utilize at large interception systems and later active inje= ction attacks, in order to swipe large amounts of data, compromise Intern= et-enabled devices. The commercial availability of systems and tools to p= erform these types of attacks also led to a number of human rights abuses= that have been discovered and reported over the years.=20 Generally we can identify in Traffic Interception and Traffic Manipulatio= n the two most problematic attacks that can be performed against applicat= ions employing a clear-text HTTP transport layer. That being said, the IE= TF and especially the General Area Review Team (Gen-ART), is taking stead= y steps to move to the encrypted version of HTTP, HTTPSecure (HTTPS). #### Traffic Interception While we are seeing an increasing trend in the last couple of years to em= ploy SSL/TLS as a secure traffic layer for HTTP-based applications, we ar= e still far from seeing an ubiquitous use of encryption on the World Wide= Web. It is important to consider that the adoption of SSL/TLS is also a = relatively recent phenomena. Google introduced an option for its GMail us= ers to navigate with SSL only in 2008 {{Rideout}}, and turned SSL on by d= efault later in 2010 {{Schillace}}. It took an increasing amount of secur= ity breaches and revelations on global surveillance from Edward Snowden t= o have other Internet service providers to follow Google's lead. For exam= ple, Yahoo enabled SSL/TLS by default on its webmail services only toward= s the end of 2013 {{Peterson}}. As we learned through the Snowden's revelations, intelligence agencies ha= ve been intercepting and collecting unencrypted traffic at large for many= years. There are documented examples of such mass surveillance programs = with GCHQ's TEMPORA and NSA's XKEYSCORE. Through these programs NSA/GCHQ = have been able to swipe large amounts of data including email and instant= messaging communications which have been transported by the respective p= roviders in clear for years, unsuspecting of the pervasiveness and scale = of governments' efforts and investment into global mass surveillance capa= bilities. However, similar mass interception of unencrypted HTTP communications is = also often employed at a nation-level by less democratic countries by exe= rcising control over state-owned Internet Service Providers (ISP) and thr= ough the use of commercially available monitoring, collection, and censor= ship equipment. Over the last few years a lot of information has come to = public attention on the role and scale of a surveillance industry dedicat= ed to develop interception gear of different types, making use of known a= nd unknown weaknesses in existing protocols {{RFC7258}}. We have several = records of such equipment being sold and utilized by oppressive regimes i= n order to monitor entire segments of population especially at times of s= ocial and political distress, uncovering massive human rights abuses. For= example, in 2013 the group Telecomix revealed that the Syrian regime was= making use of BlueCoat products in order to intercept clear-text traffic= as well as to enforce censorship of unwanted content {{RSF}}. Similarly = in 2012 it was found that the French Amesys provided the Gaddafi's govern= ment with equipment able to intercept emails, Facebook traffic, and chat = messages ad a country level. The use of such systems, especially in the c= ontext of the Arab Spring and of civil uprisings against the dictatorship= s, has caused serious concerns of significant human rights abuses in Liby= a. #### Traffic Manipulation The lack of a secure transport layer over HTTP connections not only expos= es the users to interception of the content of their communications, but = is more and more commonly abused as a vehicle for active compromises of c= omputers and mobile devices. If an HTTP session travels in clear over the= network, any node positioned at any point in the network is able to perf= orm man-in-the-middle attacks and observe, manipulate, and hijack the ses= sion and modify the content of the communication in order to trigger unex= pected behavior by the application generating the traffic. For example, in the case of a browser the attacke= r would be able to inject malicious code in order to exploit vulnerabilit= ies in the browser or any of its plugins. Similarly, the attacker would b= e able to intercept, trojanize, and repackage binary software updates tha= t are very commonly downloaded in clear by applications such as word proc= essors and media players. If the HTTP session would be encrypted, the tam= pering of the content would not be possible, and these network injection = attacks would not be successful. While traffic manipulation attacks have been long known, documented, and = prototyped especially in the context of WiFi and LAN networks, in the las= t few years we observed an increasing investment into the production and = sale of network injection equipment both available commercially as well a= s deployed at scale by intelligence agencies. For example we learned from some of the documents provided by Edward Snow= den to the press, that the NSA has constructed a global network injection= infrastructure, called QUANTUM, able to leverage mass surveillance in or= der to identify targets of interests and subsequently task man-on-the-sid= e attacks to ultimately compromise a selected device. Among other attacks= , NSA makes use of an attack called QUANTUMINSERT {{Haagsma}} which inter= cepts and hijacks an unencrypted HTTP communication and forces the reques= ting browser to redirect to a host controlled by NSA instead of the inten= ded website. Normally, the new destination would be an exploitation servi= ce, referred in Snowden documents as FOXACID, which would attempt at exec= uting malicious code in the context of the target's browser. The Guardian= reported in 2013 that NSA has for example been using these techniques to= target users of the popular anonymity service Tor {{Schneier}}. The Germ= an NDR reported in 2014 that NSA has also been using its mass surveillanc= e capabilities to identify Tor users at large {{Appelbaum}}. Recently similar capabilities of Chinese authorities have been reported a= s well in what has been informally called the "Great Cannon" {{Marcak}}, = which raised numerous concerns on the potential curb on human rights and = freedom of speech due to the increasing tighter control of Chinese Intern= et communications and access to information. Network injection attacks are also made widely available to state actors = around the world through the commercialization of similar, smaller scale = equipment that can be easily acquired and deployed at a country-wide leve= l. Companies like FinFisher and HackingTeam are known to have network inj= ection gear within their products portfolio, respectively called FinFly I= SP and RCS Network Injector {{Marquis-Boire}}. The technology devised and= produced by HackingTeam to perform network traffic manipulation attacks = on HTTP communications is even the subject of a patent application in the= United States {{Googlepatent}}. Access to offensive technologies availab= le on the commercial lawful interception market has been largely document= ed to have lead to human rights abuses and illegitimate surveillance of j= ournalists, human rights defenders, and political activists in many count= ries around the world. Companies like FinFisher and HackingTeam have been= found selling their products to oppressive regimes with little concern f= or bad human rights records {{Collins}}. While network injection attacks = haven't been the subject of much attention, they do enable even unskilled= attackers to perform silent and very resilient compromises, and unencryp= ted HTTP remains one of the main vehicles. There is a new version of HTTP, called HTTP/2, which was published as {{R= FC7540}} and which aimed to be largely backwards compatible but also offe= r new option such as data compression of HTTP headers and pipelining of r= equest and multiplexing multiple requests over a single TCP connection. E= xcept for decreasing latency to improve page loading speeds it also facil= itates more efficient use of connectivity in low-bandwith environments, w= hich is an enabler for freedom of expression, the right to assembly, righ= t to political participation and the right to participate in cultural lif= e, art and science.=20 {{RFC7540}} does not mandate Transport Layer Security or any other form o= f encryption, is also does not support opportunistic encryption, so the v= ulnerabilities listed above for HTTP/1 are also valid for HTTP/2 as defin= ed in {{RFC7540}}. ### XMPP The Extensible Messaging and Presence Protocol (XMPP), specified in {{RFC= 6120}}, provides a standard for interactive chat messaging, and has evolv= ed to encompass interoperable text, voice, and video chat. The protocol i= s structured as a federated network of servers, similar to email, where u= sers register with a local server which acts one their behalf to cache an= d relay messages. This protocol design has many advantages, allowing serv= ers to shield clients from denial of service and other forms of retributi= on for their expression, and designed to avoid central entities which cou= ld control the ability to communicate or assemble using the protocol. None-the-less, there are plenty of aspects of the protocol design of XMPP= which shape the ability for users to communicate freely, and to assembly= through the protocol. The protocol also has facets that may stifle speec= h as users self-censor for fear of surveillance, or find themselves unabl= e to express themselves freely. #### User Identification The XMPP specification dictates that clients are identified with a resour= ce ( / ) to distinguish the conversat= ions to specific devices. While the protocol does not specify that the re= source must be exposed by the client's server to remote users, in practic= e this has become the default behavior. In doing so, users can be tracked= by remote friends and their servers, who are able to monitor presence no= t just of the user, but of each individual device the user logs in with. = This has proven to be misleading to many users, {{pidgin}} since many cli= ents only expose user level rather than device level presence. Likewise, = user invisibility so that communication can occur while users don=E2=80=99= t notify all buddies and other servers of their availability is not part = of the formal protocol, and has only been added as an extension within th= e XML stream rather than enforced by the protocol. #### Surveillance of Communication The XMPP protocol specifies the standard by which communication of channe= ls may be encrypted, but it does not provide visibility to clients of whe= ther their communications are encrypted on each link. In particular, even= when both clients ensure that they have an encrypted connection to their= XMPP server to ensure that their local network is unable to read or disr= upt the messages they send, the protocol does not provide visibility into= the encryption status between the two servers. As such, clients may be s= ubject to selective disruption of communications by an intermediate netwo= rk which disrupts communications based on keywords found through Deep Pac= ket Inspection. While many operators have commited to only establishing e= ncrypted links from their servers in recognition of this vulnerability, i= t remains impossible for users to audit this behavior and encrypted conne= ctions are not required by the protocol itself {{xmppmanifesto}}. In particular, section 13.14 of the protocol specification {{RFC6120}} ex= plicitly acknowledges the existence of a downgrade attack where an advers= ary controlling an intermediate network can force the inter domain federa= tion between servers to revert to a non-encrypted protocol were selective= messages can then be disrupted. #### Group Chat Limitations Group chat in the XMPP protocol is defined as an extension within the XML= specification of the XMPP protocol (https://xmpp.org/extensions/xep-0045= =2Ehtml). However, it is not encoded or required at a protocol level, and= not uniformly implemented by clients. The design of multi-user chat in the XMPP protocol suffers from extending= a protocol that was not designed with assembly of many users in mind. In= particular, in the federated protocol provided by XMPP, multi-user commu= nities are implemented with a distinguished 'owner', who is granted contr= ol over the participants and structure of the conversation. Multi-user chat rooms are identified by a name specified on a specific se= rver, so that while the overall protocol may be federated, the ability fo= r users to assemble in a given community is moderated by a single server.= That server may block the room and prevent assembly unilaterally, even b= etween two users neither of whom trust or use that server directly. ### Peer to Peer Peer-to-Peer (P2P) is a network architecture (defined in {{RFC7574}}) in = which all the participant nodes are equally responsible engaged into the = storage and dissemination of information. A P2P network is a logical over= lay that lives on top of the physical network, and allows nodes (or "peer= s") participating to it to establish contact and exchange information dir= ectly from one to each other. The implementation of a P2P network may ver= y widely: it may be structured or unstructured, and it may implement stro= nger or weaker cryptographic and anonymity properties. While its most com= mon application has traditionally been file-sharing (and other types of c= ontent delivery systems), P2P is increasingly becoming a popular architec= ture for networks and applications that require (or encourage) decentrali= zation. A prime example is Bitcoin (and similar cryptocurrencies), as wel= l as Skype, Spotify and other proprietary multimedia applications. In a time of heavily centralized online services, peer-to-peer is often s= een as an alternative, more democratic, and resistant architecture that d= isplaces structures of control over data and communications and delegates= all peers equally to be responsible for the functioning, integrity, and = security of the data. While in principle peer-to-peer remains critical to= the design and development of future content distribution, messaging, an= d publishing systems, it poses numerous security and privacy challenges w= hich are mostly delegated to individual developers to recognize, analyze,= and solve in each implementation of a given P2P network. #### Network Poisoning Since content, and in some occasions peer lists, are safeguarded and dist= ributed by its members, P2P networks are prone to what are generally defi= ned as "poisoning attacks". Poisoning attacks might be directed directly = at the data that is being distributed, for example by intentionally corru= pting it, or at the index tables used to instruct the peers where to fetch the data, or at routing tables, with the attempt of = providing connecting peers with lists of rogue or non-existing peers, wit= h the intention to effectively cause a Denial of Service on the network. #### Throttling Peer-to-Peer traffic (and BitTorrent in particular) represents a high per= centage of global Internet traffic and it has become increasingly popular= for Internet Service Providers to perform throttling of customers lines = in order to limit bandwidth usage {{torrentfreak1}} and sometimes probabl= y as an effect of the ongoing conflict between copyright holders and file= -sharing communities {{wikileaks}}. Throttling the peer-to-peer traffic makes some uses of P2P networks ineff= ective and it might be coupled with stricter inspection of users' Interne= t traffic through Deep Packet Inspection techniques which might pose addi= tional security and privacy risks. #### Tracking and Identification One of the fundamental and most problematic issues with traditional peer-= to-peer networks is a complete lack of anonymization of its users. For ex= ample, in the case of BitTorrent, all peers' IP addresses are openly avai= lable to the other peers. This has lead to an ever-increasing tracking of= peer-to-peer and file-sharing users {{ars}}. As the geographical location of the user is directly exposed, and so could be his identity, t= he user might become target of additional harassment and attacks, being o= f physical or legal nature. For example, it is known that in Germany law = firms have made extensive use of peer-to-peer and file-sharing tracking s= ystems in order to identify downloaders and initiate legal actions lookin= g for compensations {{torrentfreak2}}. It is worth noting that there are varieties of P2P networks that implemen= t cryptographic practices and that introduce anonymization of its users. = Such implementations proved to be successful in resisting censorship of c= ontent, and tracking of the network peers. A primary example is FreeNet {= {freenet1}}, a free software application designed to significantly increa= se the difficulty of users and content identification, and dedicated to f= oster freedom of speech online {{freenet2}}. #### Sybil Attacks In open-membership P2P networks, a single attacker can pretend to be many= participants, typically by creating multiple fake identities of whatever= kind the P2P network uses {{Douceur}}. Attackers can use Sybil attacks = to bias choices the P2P network makes collectively toward the attacker=E2= =80=99s advantage, e.g., by making it more likely that a particular data = item (or some threshold of the replicas or shares of a data item) are ass= igned to attacker-controlled participants. If the P2P network implements= any voting, moderation, or peer review-like functionality, Sybil attacks= may be used to =E2=80=9Cstuff the ballots=E2=80=9D toward the attacker=E2= =80=99s benefit. Companies and governments can use Sybil attacks on disc= ussion-oriented P2P systems for =E2=80=9Castroturfing=E2=80=9D or creatin= g the appearance of mass grassroots support for some position where ther= e is none in reality.=20 #### Conclusions Encrypted P2P and Anonymous P2P networks already emerged and provided via= ble platforms for sharing material, publish content anonymously, and comm= unicate securely {{bitmessage}}. If adopted at large, well-designed and r= esistant P2P networks might represent a critical component of a future se= cure and distributed Internet, enabling freedom of speech and freedom of information at scale. ### Virtual Private Network #### Introduction A Virtual Private Network (VPN) is a point-to-point connection that enabl= es two computers to communicate over an encrypted tunnel. There are multi= ple implementations and protocols used in provisioning a VPN, and they ge= nerally diversify by encryption protocol or particular requirements, most= commonly in proprietary and enterprise solutions. VPNs are used commonly= either to enable some devices to communicate through peculiar network co= nfigurations, or in order to use some privacy and security properties in = order to protect the traffic generated by the end user; or both. VPNs hav= e also become a very popular technology among human rights defenders, dis= sidents, and journalists worldwide to avoid local illegitimate wiretappin= g and eventually also to circumvent censorship. Among human rights defend= ers VPNs are often debated as a potential alternative to Tor or other ano= nymous networks. Such comparison is misleading, as some of the privacy an= d security properties of VPNs are often misunderstood by less tech-savvy = users, which could ultimately lead to unintended problems. As VPNs increased in popularity, commercial VPN providers have started gr= owing in business and are very commonly picked by human rights defenders = and people at risk, as they are normally provided with an easy-to-use ser= vice and sometimes even custom applications to establish the VPN tunnel. = Not being able to control the configuration of the network, and even less= so the security of the application, assessing the general privacy and se= curity state of common VPNs is very hard. Often such services have been d= iscovered leaking information, and their custom applications have been fo= und flawed. While Tor and similar networks receive a lot of scrutiny from= the public and the academic community, commercial or non-commercial VPN = networks are way less analyzed and understood, and it might be valuable t= o establish some standards to guarantee a minimal level of privacy and se= curity to those who need them the most. #### False sense of Anonymity One of the common misconception among users of VPNs is the level of anony= mity VPN can provide. This sense of anonymity can be betrayed by a number= of attacks or misconfigurations of the VPN provider. It is important to = remember that, contrarily to Tor and similar systems, VPN was not designe= d to provide anonymity properties. From a technical point of view, the VP= N might leak identifiable information, or might be subject of correlation= attacks that could expose the originating address of the connecting user= =2E Most importantly, it is vital to understand that commercial and non-c= ommercial VPN providers are bound by the law of the jurisdiction they res= ide in or in which their infrastructure is located, and they might be leg= ally forced to turn over data of specific users if legal investigations o= r intelligence requirements dictate so. In such cases, if the VPN provide= rs retain logs, it is possible that the information of the user is provid= ed to the user's adversary and leads to his or her identification. #### Logging With VPN being point-to-point connections, the service providers are in f= act able to observe the original location of the connecting users and the= y are able to track at what time they started their session and eventuall= y also to which destinations they're trying to connect to. If the VPN pro= viders retain logs for long enough, they might be forced to turn over the= relevant data or they might be otherwise compromised, leading to the sam= e data getting exposed. A clear log retaining policy could be enforced, b= ut considering that countries enforce very different levels of data reten= tion policies, VPN providers should at least be transparent on what infor= mation do they store and for how long is being kept. #### 3rd Party Hosting VPN providers very commonly rely on 3rd parties to provision the infrastr= ucture that is later going to be used to run VPN endpoints. For example, = they might rely on external dedicated server hosting providers, or on upl= ink providers. In those cases, even if the VPN provider itself isn't reta= ining any significant logs, the information on the connecting users might= be retained by those 3rd parties instead, introducing an additional coll= ection point for the adversary. #### IPv6 Leakage Some studies proved that several commercial VPN providers and application= s suffer of critical leakage of information through IPv6 due to improper = support and configuration {{PETS2015VPN}}. This is generally caused by a = lack of proper configuration of the client's IPv6 routing tables. Conside= ring that most popular browsers and similar applications have been suppor= ting IPv6 by default, if the host is provided with a functional IPv6 conf= iguration, the traffic that is generated might be leaked if the VPN appli= cation isn't designed to manipulate such traffic properly. #### DNS Leakage Similarly, VPN services that aren't handling DNS requests and are not run= ning DNS servers of their own, might be prone to DNS leaking which might = not only expose sensitive information on the activity of the user, but co= uld also potentially lead to DNS hijacking attacks and following compromi= ses. #### Traffic Correlation As revelations of mass surveillance have been growing in the press, addit= ional details on attacks on secure Internet communications have come to t= he public's attention. Among these, VPN appeared to be a very interesting= target for attacks and collection efforts. Some implementations of VPN a= ppear to be particularly vulnerable to identification and collection of k= ey exchanges which, some Snowden documents revealed, are systematically c= ollected and stored for future reference. The ability of an adversary to = monitor network connections at many different points over the Internet, c= an allow them to perform traffic correlation attacks and identify the ori= gin of certain VPN traffic by cross referencing the connection time of th= e user to the endpoint and the connection time of the endpoint to the fin= al destination. These types of attacks, although very expensive and norma= lly only performed by very resourceful adversaries, have been documented = {{spiegel}} to be already in practice and could completely vanify the use= of a VPN and ultimately expose the activity and the identity of a user a= t risk. ### HTTP Status Code 451 Every Internet user has run into the =E2=80=98404 Not Found=E2=80=99 Hype= rtext Transfer Protocol (HTTP) status code when trying, and failing, to a= ccess a particular website {{Cath}}. It is a response status that the ser= ver sends to the browser, when the server cannot locate the URL. =E2=80=98= 403 Forbidden=E2=80=99 is another example of this class of code signals t= hat gives users information about what is going on. In the =E2=80=98403=E2= =80=99 case the server can be reached, but is blocking the request becaus= e the user is trying to access content forbidden to them. This can be bec= ause the specific user is not allowed access to the content (like a gover= nment employee trying to access pornography on a work-computer) or becaus= e access is restricted to all users (like social network sites in certain= countries). As surveillance and censorship of the Internet is becoming more commonpla= ce, voices were raised at the IETF to introduce a new status code that in= dicates when something is not available for =E2=80=98legal reasons=E2=80=99= (like censorship): =20 The 451 status code would allow server operators to operate with greater = transparency in circumstances where issues of law or public policy affect= their operation. This transparency may be beneficial both to these opera= tors and to end-users {{Bray}}. The status code would be named =E2=80=98451=E2=80=99, a reference to Brad= bury=E2=80=99s famous novel on censorship During the IETF meeting in Dallas, there was discussion about the usefuln= ess of =E2=80=98451=E2=80=99. The main tension revolved around the lack o= f an apparent machine-readable technical use of the information. The exte= nt to which =E2=80=98451=E2=80=99 is just =E2=80=98political theatre=E2=80= =99 or whether it has a concrete technical use was heatedly debated. Some= argued that =E2=80=98the 451 status code is just a status code with a re= sponse body=E2=80=99 others said it was problematic because =E2=80=98it b= rings law into the picture=E2=80=99. Again others argued that it would be= useful for individuals, or organizations like the =E2=80=98Chilling Effe= cts=E2=80=99 project, crawling the web to get an indication of censorship= (IETF discussion on =E2=80=98451=E2=80=99 =E2=80=93 author=E2=80=99s fie= ld notes March 2015). There was no outright objection during the Dallas m= eeting against moving forward on status code =E2=80=98451=E2=80=99, and o= n December 18, 2015 the Internet Engineering Steering Group approved publ= ication of {{RFC7725}} =E2=80=98An HTTP Status Code to Report Legal Obsta= cles=E2=80=99. It is now an IETF approved HTTP status code to signal when= resource access is denied as a consequence of legal demands {{RFC7725}}.= What is interesting about this particular case is that not only technical= arguments but also the status code=E2=80=99s outright potential politica= l use for civil society played a substantial role in shaping the discussi= on, and the decision to move forward with this technology. It is however important to note that 451 is not a solution to detect all = occasions of censorship. A large swath of Internet filtering occurs in th= e network rather than the server itself. For these forms of censorship 45= 1 plays a limited role, as the servers will not be able to send the code,= because they haven=E2=80=99t received the requests (as is the case with = servers with resources blocked by the Chinese Golden shield). Such filter= ing regimes are unlikely to voluntarily inject a 451 status code. The use= of 451 is most likely to apply in the case of cooperative, legal version= s of content removal resulting from requests to providers. One can think = of content that is removed or blocked for legal reasons, like copyright i= nfringement, gambling laws, child abuse, et cetera. The major use case is= thus clearly on the Web server itself, not the network. Large Internet c= ompanies and search engines are constantly asked to censor content in var= ious jurisdictions. 451 allows this to be easily discovered, for instance= by initiatives like the Lumen Database. In the case of adversarial block= ing done by a filtering entity on the network 451 is less useful. Overall, the strength of 451 lies in its ability to provide transparency = by giving the reason for blocking, and giving the end-user the ability to= file a complaint. It allows organizations to easily measure censorship i= n an automated way, and prompts the user to access the content via anothe= r path (e.g. TOR, VPNs) when (s)he encounters the 451 status code. Status code 451 impact human rights by making censorship more transparent= and measurable. The status code increases transparency both by signaling= the existence of censorship (instead of a much more broad HTTP error mes= sage like HTTP status code 404) as well as providing details of the legal= restriction, which legal authority is imposing it, and what class of res= ources it applies to. This empowers the user to seek redress.=20 ### Middleboxes On the current Internet, transparency on how packets reach a destination = is no longer a given. This is due to the increased presence of firewalls,= spam filters, and network address translators networks (NATs) =E2=80=93 = or middleboxes as these hosts are often called =E2=80=93 that make use of= higher-layer fields to function {{Walfish}}. This development is contentious. The debate also unfolded at the IETF, sp= ecifically at the Session Protocol Underneath Datagrams (SPUD) Birds of a= Feather (BOF) meeting held at the IETF conference in March 2015. The dis= cussion at the BOF focused on questions about adding meta-data, or other = information to traffic flows, to enable the sharing of information with m= iddleboxes in that flow. During the sessions two competing arguments were= distilled. On the one hand adding additional data would allow for networ= k optimization, and hence improve traffic carriage. On the other hand, th= ere are risks of information leakage and other privacy and security conce= rns. Middleboxes, and the protocols guiding them, influence individuals=E2=80=99= ability to communicate online freely and privately. Repeatedly mentioned= in the discussion was the danger of censorship that comes with middlebox= es, and the IETF=E2=80=99s role to prevent such censorship from happening= =2E Middleboxes are becoming a proxy for the debate on the extent to whic= h commercial interests are a valid reason to undermine the end-to-end pri= nciple. The potential for abuse and censoring, and thus ultimately the im= pact of middleboxes on the Internet as a place of unfiltered, unmonitored= freedom of speech, is real. It is impossible to make any definitive stat= ements about the direction the debate on middleboxes will take at the IET= F. The opinions expressed in the SPUD BOF and by the various interviewees= indicate that a majority of engineers are trying to mitigate the negativ= e effects of middleboxes on freedom of speech, but their ability to act i= s limited by their larger commercial context that is expanding the use of= middleboxes. ### DDOS attacks=20 Are Distributed Denial of Service (DDoS) attacks a legitimate form of onl= ine protest protected by the right to freedom of speech and association? = Can they be seen as the equivalent to =E2=80=98million-(wo)men marches=E2= =80=99, or sit-ins? Or are they a threat to freedom of expression and acc= ess to information, by limiting access to websites and in certain cases t= he freedom of speech of others? These questions are crucial in our day an= d age, where political debates, civil disobedience and other forms of act= ivism are increasingly moving online. Many individuals, not excluding IETF engineers, have argued that DDoS att= acks are fundamentally against freedom of speech. Technically DDoS attack= s are when one or multiple host overload the bandwidth or resources of an= other host by flooding it with traffic, causing it to temporarily stop be= ing available to users. One can roughly differentiate three types of DDoS= attacks: Volume Based Attacked (This attack aims to make the host unreac= hable by using up all it's bandwith, often used techniques are: UDP flood= s and ICMP floods), Protocol Attacks (This attacks aims to use up actual = server resources, often used techniques are SYN floods, fragmented packet= attacks, and Ping of Death {{RFC4949}}) and Application Layer Attacks (t= his attack aims to bring down a server, such as the webserver). In their 2010 report Zuckerman et al argue that DDoS attacks are a bad th= ing because they are increasingly used by governments to attack and silen= ce critics. Their research demonstrates that in many countries independen= t media outlets and human rights organizations are the victim of DDoS att= acks, which are directly or indirectly linked to their governments. These= types of attacks are particularly complicated because attribution is dif= ficult, creating a situation in which governments can effectively censor = content, while being able to deny involvement in the attacks {{Zuckerman}= }. DDoS attacks can thus stifle freedom of expression, complicate the abi= lity of independent media and human rights organizations to exercise thei= r right to (online) freedom of association, while facilitating the abilit= y of governments to censor dissent. When it comes to comparing DDoS atta= cks to protests in offline life, it is important to remember that only a = limited number of DDoS attacks involved solely willing participants. In m= ost cases, the clients are hacked computers of unrelated parties that hav= e not consented to being part of a DDoS (for exceptions see Operation Abi= bil {{Abibil}} or the Iranian Green Movement DDoS {{GreenMovement}}). In addition, DDoS attacks are increasingly used as an extortion tactic, w= ith criminals flooding a website =E2=80=93 rendering it inaccessible =E2=80= =93 until the owner pays them a certain amount of money to stop the attac= k. The costs of mitigating such attacks, either by improving security to = prevent them or paying off the attackers, ends up being paid by the consu= mer. All of these issues seem to suggest that the IETF should try to ensure th= at their protocols cannot be used for DDoS attacks. Decreasing the number= of vulnerabilities in the network stacks of routers or computers, reduci= ng flaws in HTTPS implementations, and depreciating non-secure HTTP proto= cols could address this issue. The IETF can clearly play a role in bringi= ng about some of these changes, and has indicated in {{RFC7258}} its comm= itment to mitigating =E2=80=98pervasive monitoring (=E2=80=A6) in the des= ign of IETF protocols, where possible.=E2=80=99 This means the use of enc= ryption should become standard. Effectively, for the web this means stand= ardized use of HTTPS. The IETF could redirect its work such that HTPPS be= comes part-and-parcel of its standards. However, next to the various tech= nical trade-offs that this might lead to it is important to consider that= DDoS attacks are sometimes seen as a method for exercising freedom of sp= eech. DDoS although disruptive, and silencing at times, can also enable as prot= est and speech. Or as Sauter {{Sauter}} argues: =E2=80=98though DDoS as a= tactic is still relatively novel, it fits within a centuries- long tradi= tion of breaking laws and disrupting business as usual to make a politica= l point. These actions aren=E2=80=99t simply disruption for disruption=E2= =80=99s sake. Rather they serve to help the activist or dissenter to dire= ct the attention of the public through the interpolation of difference in= to routine.=E2=80=99 (30-31). An often heard argument against DDoS attack= s is that you cannot construe it as a means to exercise your right to fre= edom of speech, when the means used effectively impede the right of the p= arty on the receiving end of the attack to exercise that same right. The = problem with this line of argumentation is that it conveniently ignores t= he fact that online DDoS attacks are often one of the few effective ways = for activists to gain the attention of the media, the government or other= parties of interest. Simply putting up a website for a cause won=E2=80=99= t garner the same amount of attention as directly confronting the issue v= ia the website of the individual or organization at the heart of the issu= e. The ability of activists to do so should be protected, especially cons= idering the fact that as Sauter (2014:4) explains: =E2=80=98Collectively,= we have allowed the construction of an entire public sphere, the Interne= t, which by accidents of evolution and design, has none of the inherent f= ree speech guarantees we have come to expect. Dissenting voices are pushe= d out of the paths of potential audiences, effectively removing them from= the public discourse. There is nowhere online for an activist to stand w= ith her friends and her sign. She might set up a dedicated blog=E2=80=94w= hich may or may not ever be read=E2=80=94but it is much harder for her to= stand collectively with others against a corporate giant in the online s= pace.=E2=80=99 Although the Internet is often compared to public space, i= t is not. Rather the opposite. The Internet is almost entirely owned by p= rivate entities. And the IETF plays a crucial role in developing this pri= vatized commercialized Internet. =46rom a legal and political perspective, the IETF does not have the legi= timacy to determine when a DDoS is legitimate (in legal or political term= s). It does not have the capability to make this judgment as a matter of = public policy and subsequently translate it to code. Nor should the IETF = try to do so. From a technical perspective, the difference between a =E2= =80=98legitimate=E2=80=99 and =E2=80=98illegitimate=E2=80=99 DDoS attack = is meaningless because it would be extremely difficult for the IETF to en= gineer a way to detect that difference. In addition, there is a need for = the IETF to be consistent in the face of attacks (an attack is an attack = is an attack) to maintain the viability of the network. Arguing that some= DDoS attacks should be allowed, based on the motivation of the attackers= complicates the work of the IETF. Because it approaches PM regardless of= the motivation of the attackers (see {{RFC7258}}) for reasoning), taking= the motivation of the attackers into account for DDoS would indirectly u= ndermine the ability of the IETF to protect the right to privacy because = it introduces an element of inconsistency into how the IETF deals with at= tacks. David Clark recently published a paper warning that the future of the Int= ernet is in danger. He argues that the private sector control over the In= ternet is too strong, limiting the myriad of ways in which it can be used= {{Daedalus}}, including for freedom of speech. But just because freedom = of speech, dissent, and protest are human rights, and DDoS is a potential= expression of those rights, doesn't mean that DDoS in and of itself is a= right. To widen the analogy, just because the Internet is a medium thro= ugh which the right to freedom of expression can be exercised does not ma= ke access to the Internet or specific ICTs or NCTs a human right. Uses of= DDoS might or might not be legitimate for political reasons, but the IET= F has no means or methods to assess this, and in general enabling DDoS wo= uld mean a deterioration of the network and thus freedom of expression. In summation, the IETF cannot be expected to take a moral stance on DDoS = attacks, or create protocols to enable some attacks and inhibit others. B= ut what it can do is critically reflect on its role in creating a commerc= ialized Internet without a defacto public space or inherent protections f= or freedom of speech.=20 Model for developing human rights protocol considerations --------------------------------------------------------- Having established how human rights relate to standards and protocols, a = common vocabulary of technical concepts that impact human rights and how = these technical concept can be combined to ensure that the Internet remai= ns an enabling environment for human rights means the contours of a model= for developing human rights protocol considerations has taken shape. Thi= s subsection provides the last step by detailing how the technical concep= ts identified above relate to human rights, and what questions engineers = should ask themselves when developing or improving protocols. In short, i= t presents a set of human rights protocol considerations.=20 ### Human rights threats Human rights threats on the Internet come in a myriad of forms. Protocols= and standards can harm or enable the right to freedom of expression, rig= ht to non-discrimination, right to equal protection, right to participate= in cultural life, arts and science, right to freedom of assembly and ass= ociation, and the right to security. An end-user who is denied access to = certain services, data or websites may be unable to disclose vital inform= ation about the malpractices of a government or other authority. A person= whose communications are monitored may be prevented from exercising thei= r right to freedom of association. In a worst-case scenario, protocols th= at leak information can lead to physical danger. A realistic example to c= onsider is when opposition leaders in totalitarian regimes are subjected = to torture on the basis of information gathered by the regime through inf= ormation leakage in protocols. This sections details several =E2=80=98common=E2=80=99 threats to human r= ights, indicating how each of these can lead to human rights violations/h= arms and present several examples of how these threats to human rights ma= terialize on the Internet. This threat modeling is inspired by {{RFC6973}= } Privacy Considerations for Internet Protocols, which is based on the se= curity threat analysis. This method is by no means a perfect solution for= assessing human rights risks in Internet protocols and systems; it is ho= wever the best approach currently available. Certain human rights threats= are indirectly considered in Internet protocols as part of the standard = privacy and security considerations {{RFC3552}}. Others suggestions are t= ailored specifically to human rights, and represents considerations not c= urrently considered in other RFCs. Many threats, enablers and risks are linked to different rights. This is = not unsurprising if one takes into account that human rights are interrel= ated, interdependent and universal. Here however we're not discussing all= human rights because not all human rights are relevant to ICTs in genera= l and protocols and standards in particular {{Bless}}. This is by no mean= s an attempt to cherry picks rights, if other rights seem relevant, pleas= e contact the authors and/or the hrpc mailinglist. ### Guidelines for human rights considerations This section provides guidance for document authors in the form of a ques= tionnaire about protocols being designed. The questionnaire may be useful= at any point in the design process, particularly after document authors = have developed a high-level protocol model as described in {{RFC4101}}. There should be some discussion of potential human rights risks arising f= rom potential misapplications of the protocol or technology described in = the RFC.This might be coupled with an Applicability Statement for that RF= C. Note that the guidance provided in this section does not recommend specif= ic practices. The range of protocols developed in the IETF is too broad t= o make recommendations about particular uses of data or how human rights = might be balanced against other design goals. However, by carefully cons= idering the answers to each question mentioned under 7.3, document author= s should be able to produce a comprehensive analysis that can serve as th= e basis for discussion on whether the protocol adequately protects agains= t human rights threats. This guidance is meant to help the thought proce= ss of a human rights analysis; it does not provide specific directions fo= r how to write a human rights protocol considerations section (following = the example set in {{RFC6973}}). #### Technical concepts as they relate to human rights ##### Connectivity Question(s): Does your protocol add application-specific functions to intermediary nod= es? Could this functionality also be added to end nodes instead of interm= ediary nodes? Explanation: The end-to-end principle {{Saltzer}} which aims to extend characteristics= of a protocol or system as far as possible within the system, or in othe= r words 'the intelligence is end to end rather than hidden in the network= ' {{RFC1958}}. Middleboxes (which can be Content Delivery Networks, Firew= alls, NATs or other intermediary nodes that provide other 'services' than= routing), and the protocols guiding them, influence individuals=E2=80=99= ability to communicate online freely and privately. The potential for ab= use and intentional and unintentional censoring and limiting permissionle= ss innovation, and thus ultimately the impact of middleboxes on the Inter= net as a place of unfiltered, unmonitored freedom of speech, is real.=20 Example: End-to-end instant message encryption would conceal communications from o= ne user's instant messaging application through any intermediate devices = and servers all the way to the recipient's instant messaging application.= If the message was decrypted at any intermediate point--for example at a= service provider--then the property of end-to-end encryption would not b= e present. Impacts:=20 - Right to freedom of expression=20 - Right to freedom of assembly and association=09 ##### Privacy Question(s): Did you have a look at the Guidelines in the Privacy Considerations for I= nternet Protocols {{RFC6973}} section 7? Does your protocol in any way im= pact the confidentiality of protocol metadata? Does your protocol counter= ing traffic analysis, or data minimization? Explanation:=20 Privacy refers to the right of an entity (normally a person), acting in i= ts own behalf, to determine the degree to which it will interact with its= environment, including the degree to which the entity is willing to shar= e its personal information with others. {{RFC4949}}. Example: See {{RFC6973}} Impacts: - Right to freedom of expression=20 - Right to non-discrimination ##### Content agnosticism Question(s): If your protocol impacts packet handling, does it look at the packet cont= ent? Is it making decisions based on the content of the packet? Is the pr= otocol transparent about its decision? Does your protocol prioritize cert= ain content or services over others? Explanation: Content agnosticism refers to the notion that network traffic is treated = identically regardless of content. Example:=20 Content agnosticism prevents content-based discrimination against packets= =2E This is important because changes to this principle can lead to a two= -tiered Internet, where certain packets are prioritized over others on th= e basis of their content. Effectively this would mean that although all u= sers are entitled to receive their packets at a certain speed, some users= become more equal than others.=20 Impacts:=20 - Right to freedom of expression=20 - Right to non-discrimination=20 - Right to equal protection ##### Security Question(s): Did you have a look at Guidelines for Writing RFC Text on Security Consid= erations {{RFC3552}}? Have you found any attacks that are out of scope fo= r your protocol? Would these attacks be pertinent to the human rights ena= bling features of the Internet (as descibred throughout this document)? Explanation: Most people speak of security as if it were a single monolithic property = of a protocol or system, however, upon reflection; one realizes that it i= s clearly not true. Rather, security is a series of related but somewhat = independent properties. Not all of these properties are required for e= very application. We can loosely divide security goals into those related= to protecting communications (COMMUNICATION SECURITY, also known as COMS= EC) and those relating to protecting systems (ADMINISTRATIVE SECURITY or = SYSTEM SECURITY). Since communications are carried out by systems and acc= ess to systems is through communications channels, these goals obviously = interlock, but they can also be independently provided {{RFC3552}}. Example:=20 See {{RFC3552}}. Impacts: - Right to freedom of expression=20 - Right to freedom of assembly and association - Right to non discrimination ##### Internationalization Question(s): Does your protocol have text strings that are readable or entered by huma= ns? Does your protocol allow Unicode encoded in UTF-8 only, thereby shift= ing conversion issues away from individual choices? Did you have a look a= t {{RFC6365}}? Explanation: Internationalization refers to the practice of making protocols, standard= s, and implementations usable in different languages and scripts. (see L= ocalization). In the IETF, internationalization means to add or improve t= he handling of non-ASCII text in a protocol. {{RFC6365}} A different pers= pective, more appropriate to protocols that are designed for global use f= rom the beginning, is the definition used by W3C: "Internationalization is the design and development of a product, application or document content that enables easy localization for target audiences that vary in culture, region, or language." {{W3Ci18nDef}} Many protocols that handle text only handle one charset (US-ASCII), or le= ave the question of what CCS and encoding are used up to local guesswork = (which leads, of course, to interoperability problems). If multiple char= sets are permitted, they must be explicitly identified {{RFC2277}}. Addi= ng non-ASCII text to a protocol allows the protocol to handle more script= s, hopefully representing users across the world. In today's world, that= is normally best accomplished by allowing Unicode encoded in UTF-8 only,= thereby shifting conversion issues away from individual choices.=20 Example: See localization Impacts: - Right to freedom of expression=20 - Right to political participation=20 - Right to participate in cultural life, arts and science - Right to political participation ##### Censorship resistance Question(s): Does this protocol introduce new identifiers that might be associated wit= h persons or content? Does your protocol make it apparent or transparent = when filtering happens? Explanation: Censorship resistance refers to the methods and measures to prevent Inter= net censorship. Example: Identifiers of content exposed within a protocol might be used to facilit= ate censorship, as in the case of IP based censorship, which affects prot= ocols like HTTP. Filtering can be made apparent by the use of status code= 451 =E2=80=93 which allows server operators to operate with greater tran= sparency in circumstances where issues of law or public policy affect the= ir operation {{Bray}}. Impacts: =E2=80=A2 Right to freedom of expression=20 =E2=80=A2 Right to political participation=20 =E2=80=A2 Right to participate in cultural life, arts and science=20 =E2=80=A2 Right to freedom of assembly and association ##### Open Standards=20 Is your protocol fully documented in a way that it could be easily implem= ented, improved, build upon and/or further developed. Is there any propri= etary code needed for the implementation, running or further development = of your protocol? Impacts: - Right to freedom of expression=20 - Right to participate in cultural life, arts and science=20 ##### Heterogeneity Support Question(s): Does your protocol support heterogeneity by design? Does your protocol al= low for multiple types of hardware? Does your protocol allow for multiple= types of application protocols?=20 Explanation: The Internet is characterized by heterogeneity on many levels: devices an= d nodes, router scheduling algorithms and queue management mechanisms, ro= uting protocols, levels of multiplexing, protocol versions and implementa= tions, underlying link layers (e.g., point-to-point, multi-access links, = wireless, FDDI, etc.), in the traffic mix and in the levels of congestion= at different times and places. Moreover, as the Internet is composed of = autonomous organizations and Internet service providers, each with their = own separate policy concerns, there is a large heterogeneity of administr= ative domains and pricing structures. As a result, the heterogeneity prin= ciple proposed in {{RFC1958}} needs to be supported by design {{FIArch}}.= Example: Heterogeneity is inevitable and needs be supported by design. Multiple ty= pes of hardware must be allowed for, e.g. transmission speeds differing b= y at least 7 orders of magnitude, various computer word lengths, and host= s ranging from memory-starved microprocessors up to massively parallel su= percomputers. Multiple types of application protocol must be allowed f= or, ranging from the simplest such as remote login up to the most complex= such as distributed databases {{RFC1958}}. Impacts:=20 =E2=80=A2 Right to freedom of expression=20 ##### Anonymity Question(s): Did you have a look at the Privacy Considerations for Internet Protocols = {{RFC6973}}, especially section 6.1.1 ? Explanation:=20 Anonymity refers to the condition of an identity being unknown or conceal= ed {{RFC4949}}. It is an important feature for many end-users, as it allo= ws them different degrees of privacy online. Example:=20 Often standards expose private information, it is important to consider w= ays to mitigate the obvious privacy impacts. For instance, a feature whic= h uses deep packet inspection or geolocation data could refuse to open th= is data to third parties, that might be able to connect the data to a phy= sical person.=20 Impacts: =E2=80=A2 Right to non-discrimination =E2=80=A2 Right to political participation=20 =E2=80=A2 Right to freedom of assembly and association =E2=80=A2 Right to security ##### Pseudonymity Question(s):=20 Have you considered the Privacy Considerations for Internet Protocols {{R= FC6973}}, especially section 6.1.2 ? Does this specification collect pers= onally derived data? Does the standard utilize data that is personally-de= rived, i.e. derived from the interaction of a single person, or their dev= ice or address? Does this specification generate personally derived data,= and if so how will that data be handled? Explanation:=20 Pseudonymity =E2=80=93 the ability to disguise one=E2=80=99s identity onl= ine =E2=80=93 is an important feature for many end-users, as it allows th= em different degrees of anonymity and privacy online. Example:=20 Designing a standard that exposes private information to ??, it is import= ant to consider ways to mitigate the obvious impacts. For instance, a fea= ture which uses deep packet inspection or geolocation data could refuse t= o open this data to third parties, that might be able to connect the data= to a physical person.=20 Impacts: - Right to non-discrimination - Right to freedom of assembly and association ##### Accessibility Question(s): Is your protocol designed to provide an enabling environment for people w= ho are not able-bodied? Have you looked at the W3C Web Accessibility Init= iative for examples and guidance? Is your protocol optimized for low band= width and high latency connections? Could your protocol also be developed= in a stateless manner?=20 Explanation: The Internet is fundamentally designed to work for all people, whatever t= heir hardware, software, language, culture, location, or physical or ment= al ability. When the Internet meets this goal, it is accessible to people= with a diverse range of hearing, movement, sight, and cognitive ability = {{W3CAccessibility}}. Sometimes in the design of protocols, websites, web= technologies, or web tools, barriers are created that exclude people fro= m using the Web.=20 Example: The HTML protocol as defined in {{RFC1866}} specifically requires that ev= ery image must have an alt attribute (with a few exceptions for HTML5) to= ensure images are accessible for people that cannot themselves decipher = non-text content in web pages. Impacts: =E2=80=A2 Right to non-discrimination =E2=80=A2 Right to freedom of assembly and association =E2=80=A2 Right to education =E2=80=A2 Right to political participation ##### Localization Question(s): Does your protocol uphold the standards of internationalization? Have mad= e any concrete steps towards localizing your protocol for relevant audie= nces? Explanation: Localization refers to the adaptation of a product, application or docume= nt content to meet the language, cultural and other requirements of a spe= cific target market (a locale) {{W3Ci18nDef}}. It is also described as th= e practice of translating an implementation to make it functional in a sp= ecific language or for users in a specific locale (see Internationalizati= on). Example: The Internet is a global medium, but many of its protocols and products a= re developed with a certain audience in mind, that often share particular= characteristics like knowing how to read and write in ASCII and knowing = English. This limits the ability of a large part of the world=E2=80=99s o= nline population from using the Internet in a way that is culturally and = linguistically accessible. An example of a protocol that has taken into a= ccount the view that individuals like to have access to data in their nat= ive language can be found in {{RFC1766}}. This protocol labels the inform= ation content with an identifier for the language in which it is written.= And this allows information to be presented in more than one language.=20 Impacts: =E2=80=A2 Right to non-discrimination=20 =E2=80=A2 Right to participate in cultural life, arts and science =E2=80=A2 Right to Freedom of Expression ##### Decentralization Question(s): Can your protocol be implemented without one single point of control? If = applicable, can your protocol be deployed in a federated manner? What is = the potential for discrimination against users of your protocol? How can = use of your protocol be used to implicate users? Does your protocol crea= te additional centralized points of control? Explanation: Decentralization is one of the central technical concepts of the architec= ture, and embraced as such by the IETF {{RFC3935}}. It refers to the abse= nce or minimization of centralized points of control =E2=80=93 a feature = that is assumed to make it easy for new users to join and new uses to unf= old {{Brown}. It also reduces issues surrounding single points of failure= , and distributes the network such that it continues to function if one o= r several nodes are disabled. With the commercialization of the Internet = in the early 1990=E2=80=99s there has been a slow move to move away from = decentralization, to the detriment of the technical benefits of having a = decentralized Internet.=20 Example: The bits traveling the Internet are increasingly susceptible to monitorin= g and censorship, from both governments and Internet service providers, a= s well as third (malicious) parties. The ability to monitor and censor is= further enabled by the increased centralization of the network that crea= tes central infrastructure points that can be tapped in to. The creation = of peer-to-peer networks and the development of voice-over-IP protocols u= sing peer-to-peer technology in combination with distributed hash table (= DHT) for scalability are examples of how protocols can preserve decentral= ization {{Pouwelse}}. Impacts: =E2=80=A2 Right to freedom of assembly and association ##### Reliability Question(s): Is your protocol fault tolerant? Does it degrade gracefully? Do you have = a documented way to announce degradation? Do you have measures in place f= or recovery or partial healing from failure? Can your protocol maintain d= ependability and performance in the face of unanticipated changes or circ= umstances? Explanation: Reliability ensures that a protocol will execute its function consistentl= y and error resistant as described, and function without unexpected resul= t. A system that is reliable degenerates gracefully and will have a docum= ented way to announce degradation. It also has mechanisms to recover fro= m failure gracefully, and if applicable, allow for partial healing. As wi= th confidentiality, the growth of the Internet and fostering innovation i= n services depends on users having confidence and trust {{RFC3724}} in th= e network. For reliability it is necessary that services notify the users= if a delivery fails. In the case of real-time systems in addition to the= reliable delivery the protocol needs to safeguard timeliness.=20 Example: In the modern IP stack structure, a reliable transport layer requires an = indication that transport processing has successfully completed, such as = given by TCP's ACK message {{RFC0793}}, and not simply an indication from= the IP layer that the packet arrived. Similarly, an application layer p= rotocol may require an application-specific acknowledgement that contains= , among other things, a status code indicating the disposition of the req= uest (See {{RFC3724}}). Impacts: =E2=80=A2 Right to security ##### Confidentiality Question(s): Does this protocol expose information related to identifiers or data? If = so, does it do so to each other protocol entity (i.e., recipients, interm= ediaries, and enablers) {{RFC6973}}? What options exist for protocol impl= ementers to choose to limit the information shared with each entity? What= operational controls are available to limit the information shared with = each entity? What controls or consent mechanisms does the protocol define or require b= efore personal data or identifiers are shared or exposed via the protocol= ? If no such mechanisms or controls are specified, is it expected that c= ontrol and consent will be handled outside of the protocol? Does the protocol provide ways for initiators to share different pieces o= f information with different recipients? If not, are there mechanisms th= at exist outside of the protocol to provide initiators with such control?= Does the protocol provide ways for initiators to limit which information = is shared with intermediaries? If not, are there mechanisms that exist o= utside of the protocol to provide users with such control? Is it expecte= d that users will have relationships that govern the use of the informati= on (contractual or otherwise) with those who operate these intermediaries= ? Does the protocol prefer encryption over clear text operation? Does the protocol provide ways for initiators to express individuals' pre= ferences to recipients or intermediaries with regard to the collection, u= se, or disclosure of their personal data? Explanation: Confidentiality refers to keeping your data secret from unintended listen= ers {{RFC3552}}. The growth of the Internet depends on users having confi= dence that the network protects their private information {{RFC1984}}.=20 Example: Protocols that do not encrypt their payload make the entire content of th= e communication available to the idealized attacker along their path. Fol= lowing the advice in {{RFC3365}}, most such protocols have a secure varia= nt that encrypts the payload for confidentiality, and these secure varian= ts are seeing ever-wider deployment. A noteworthy exception is DNS {{RFC1= 035}}, as DNSSEC {{RFC4033}}does not have confidentiality as a requiremen= t. This implies that, in the absence of changes to the protocol as prese= ntly under development in the IETF's DNS Private Exchange (DPRIVE) work= ing group, all DNS queries and answers generated by the activities of any= protocol are available to the attacker. When store-and-forward protocol= s are used (e.g., SMTP {{RFC5321}}), intermediaries leave this data subje= ct to observation by an attacker that has compromised these intermediarie= s, unless the data is encrypted end-to-end by the application-layer pr= otocol or the implementation uses an encrypted store for this data {{RFC7= 624}}. Impacts: - Right to security ##### Integrity=20 Question(s): Does your protocol maintain and assure the accuracy of data? Does your pr= otocol maintain and assure the consistency of data? Does your protocol in= any way allow for the data to be (intentionally or unintentionally) alte= red? Explanation:=20 Integrity refers to the maintenance and assurance of the accuracy and con= sistency of data to ensure it has not been (intentionally or unintentiona= lly) altered. Example:=20 See authenticity Impacts: - Right to security ##### Authenticity Question(s): Do you have sufficient measures to confirm the truth of an attribute of a= single piece of data or entity? Can the attributes get garbled along the= way (see security)? If relevant have you implemented IPsec, DNSsec, HTTP= S and other Standard Security Best Practices? Explanation:=20 Authenticity ensures that data does indeed come from the source it claims= to come from. This is important to prevent attacks or unauthorized acces= s and use of data. Example:=20 Authentication of data is important to prevent vulnerabilities and attack= s, like man-in-the-middle-attacks. These attacks happen when a third part= y (often for malicious reasons) intercepts a communication between two pa= rties, inserting themselves in the middle and posing as both parties. In = practice this looks as follows:=20 Alice wants to communicate with Bob. Alice sends data to Bob. Niels intercepts the data sent to Bob. Niels reads and alters the message to Bob. Bob cannot see the data did not come from Alice but from Niels. Niels intercepts and alters the communication as it is sent between Alice= and Bob. Niels knows all. Impacts: - Right to security ##### Acceptability Question(s): Do your protocols follow the principle of non-discrimination? Do your pro= tocols follow the principle of content agnosticism? Does your protocol ta= ke into account the needs of special needs (Internet) groups, like the au= dio-visually impaired? Also see availability. Explanation:=20 The Internet is a global medium. Yet, there continue to be issues surroun= ding acceptability =E2=80=93 the extent to which standards are non-discri= minatory and relevant to the widest range of end-users =E2=80=93 that nee= d to be resolved. Many standards are not suitable for end-users who are n= ot-ablebodied, or otherwise restricted in their ability to access the Int= ernet in its current form (text, data and English heavy). Development of = new standards should consider the ways in which they exclude or include n= on-traditional user communities.=20 Example: Designing a feature that could make access to websites for non-a= ble bodied people more difficult.=20 - Right to education - Right to freedom of expression=20 - Right to freedom of assembly and association ##### Availability Question(s): Does your standard favor proprietary specifications over technically equi= valent and competing specification(s) by making any incorporated vendor s= pecification "required" or "recommended" {{RFC2026}}? Does your protocols= use proprietary code? Does your protocol depend on proprietary code? Als= o see 'Open Standards' above. Also see 'Connectivity' above. Explanation:=20 An open, balanced and cooperative approach to developing technological st= andards is vital to maintaining the Internet open, accessible and secure.= This will ensure the standards are open and not subject to restrictive c= ontract terms from the copyright owners. Availability of standards is a p= rerequisite to the continued growth of the Internet, and crucial to conti= nued technological innovation across the globe.=20 Example:=20 See Open Standards Impacts: - Right to education ##### Adaptability Question(s): Does your protocol impact permissionless innovation? See 'Connectivity' a= bove. Explanation:=20 Adaptability is closely interrelated permissionless innovation, both main= tain the freedom and ability to freely create and deploy new protocols on= top of the communications constructs that currently exist. It is at the = heart of the Internet as we know it, and to maintain its fundamentally op= en nature, we need to be mindful of the impact of protocols on maintainin= g or reducing permissionless innovation to ensure the Internet can contin= ue to develop.=20 Example:=20 WebRTC generates audio and/or video data. In order to ensure that WebRTC = can be used in different locations by different parties it is important t= hat standard Javascript APIs are developed to support applications from d= ifferent voice service providers. Multiple parties will have similar capa= bilities, in order to ensure that all parties can build upon existing sta= ndards these need to be adaptable, and allow for permissionless innovatio= n. Impacts: - Right to education - Freedom of expression - Freedom of assembly and association Acknowledgements =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D A special thanks to all members of the hrpc RG who contributed to this dr= aft. The following deserve a special mention:=20 - Joana Varon for helping draft the first iteration of the methodology, p= revious drafts and the direction of the film Net of Rights and working on= the interviews at IETF92 in Dallas. - Daniel Kahn Gillmor (dkg) for helping with the first iteration of the g= lossary as well as a lot of technical guidance, support and language sugg= estions.=20 - Claudio Guarnieri for writing the first iterations of the case studies = on VPN, HTTP, and Peer to Peer. - Will Scott for writing the first iterations of the case studies on DNS,= IP, XMPP. - Avri Doria for proposing writing a glossary in the first place, help wr= iting the initial proposals and Internet Drafts and contributing to the g= lossary.=20 and Stephane Bortzmeyer, Barry Shein, Joe Hall, Joss Wright, and Tim Samm= ut who made a lot of excellent suggestions, many of which found their way= directly into the text. We would also like to thank Molly Sauter, Arturo Filasto, Nathalie Marech= al, Eleanor Saitta and all others who provided input on the draft or the = conceptualization of the idea. Security Considerations =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D As this document concerns a research document, there are no security cons= iderations. IANA Considerations =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D This document has no actions for IANA. Research Group Information =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D The discussion list for the IRTF Human Rights Protocol Considerations pro= posed working group is located at the e-mail address . Inf= ormation on the group and information on how to subscribe to the list is = at Archives of the list can be found at: --------------060206040005020002050901-- From nobody Thu May 12 16:30:06 2016 Return-Path: X-Original-To: xml2rfc@ietfa.amsl.com Delivered-To: xml2rfc@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BA84512D0B4 for ; Thu, 12 May 2016 16:30:04 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.6 X-Spam-Level: X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vigLuvl7w0Vn for ; Thu, 12 May 2016 16:30:03 -0700 (PDT) Received: from smtp2.pacifier.net (smtp2.pacifier.net [64.255.237.172]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 26AE912B020 for ; Thu, 12 May 2016 16:30:02 -0700 (PDT) Received: from hebrews (c-24-21-96-37.hsd1.or.comcast.net [24.21.96.37]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: schaad@nwlink.com) by smtp2.pacifier.net (Postfix) with ESMTPSA id 5950E2CA45; Thu, 12 May 2016 16:30:02 -0700 (PDT) From: "Jim Schaad" To: "'Niels ten Oever'" , References: <57350165.9070007@digitaldissidents.org> In-Reply-To: <57350165.9070007@digitaldissidents.org> Date: Thu, 12 May 2016 16:30:01 -0700 Message-ID: <03d301d1aca6$3510b110$9f321330$@augustcellars.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQGyk89QpEfFCCa+Sh/I6Ro3wvkRjZ/0I6PA Content-Language: en-us Archived-At: Subject: Re: [xml2rfc] WARNING: Illegal character replaced in string: X-BeenThere: xml2rfc@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 May 2016 23:30:05 -0000 My version of xml2rfc (which has the bug fix for this) says you have a = ğ character someplace in your text. The other possibility is that = you have a tab character someplace in the middle of a string (i.e. not = at the end or beginning of a line) and that gets it confused as well. I would start by removing the tab characters and then see what happens. Jim -----Original Message----- From: xml2rfc [mailto:xml2rfc-bounces@ietf.org] On Behalf Of Niels ten = Oever Sent: Thursday, May 12, 2016 3:19 PM To: xml2rfc@ietf.org Subject: [xml2rfc] WARNING: Illegal character replaced in string: Hi all, We made the attached ID in markdown, which we then made into xml using = kramdown-rfc2629, but at the moment xml2rfc is called, an infinitely = repeating 'WARNING: Illegal character replaced in string:' ensues. See below: [code] $ make xml2rfc draft-research.xml --text Parsing file draft-research.xml WARNING: Illegal character replaced in string: 
 WARNING: Illegal character replaced in string: =09 WARNING: Illegal character replaced in string: =09 WARNING: Illegal character replaced in string: ^CTraceback (most recent call last): File "/usr/bin/xml2rfc", line 225, in main() File "/usr/bin/xml2rfc", line 210, in main pagedwriter.write(filename) File "/usr/lib/python2.7/dist-packages/xml2rfc/writers/base.py", line = 1173, in write xml2rfc.utils.safeReplaceUnicode(self.r) File "/usr/lib/python2.7/dist-packages/xml2rfc/utils.py", line 298, in = safeReplaceUnicode element.text =3D _replace_unicode_characters(element.text) File "/usr/lib/python2.7/dist-packages/xml2rfc/utils.py", line 324, in = _replace_unicode_characters str =3D re.sub(match.group(1), entity, str) File "/usr/lib/python2.7/re.py", line 155, in sub return _compile(pattern, flags).sub(repl, string, count) = KeyboardInterrupt Makefile:18: recipe for target 'draft-research.txt' failed make: *** [draft-research.txt] Error 1 [/code] Any suggestions on how I can solve this? Thanks in advance, Niels -- Niels ten Oever Head of Digital Article 19 www.article19.org PGP fingerprint 8D9F C567 BEE4 A431 56C4 678B 08B5 A0F2 636D 68E9 From nobody Thu May 12 16:36:43 2016 Return-Path: X-Original-To: xml2rfc@ietfa.amsl.com Delivered-To: xml2rfc@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9DD5B12D0BC for ; Thu, 12 May 2016 16:36:41 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.147 X-Spam-Level: X-Spam-Status: No, score=-2.147 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FORGED_FROMDOMAIN=0.199, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_DBL_ABUSE_REDIR=0.001, WEIRD_PORT=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 51xPgy2dOOHv for ; Thu, 12 May 2016 16:36:27 -0700 (PDT) Received: from mail-io0-x236.google.com (mail-io0-x236.google.com [IPv6:2607:f8b0:4001:c06::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 09EEA12D0B4 for ; Thu, 12 May 2016 16:36:27 -0700 (PDT) Received: by mail-io0-x236.google.com with SMTP id 190so113597658iow.1 for ; Thu, 12 May 2016 16:36:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=to1G5mWKhU+cajoNxErKwrgqTGkfLE1RYtx1H8HSuTs=; b=KDqrk48gP+9krYj4+Q9NBlIn8KUVYITjaWiFn/BfJsuEYszNaCl2K/DnPdzHPsrlYr X696+x08qFTrARfaZv7xjRZWXAIca/gXbP6cB6inTDWlvKVK9qy0KFUQgXwQy1YBxkGG ENJXjVHa6ZFrAbLDH43gStW6+UT5TsxDxuPdNcxPTUMF9j/Qa4TXAN1j1DbBMbOj4Ofo /PaQx8o+Yb9/MCsG2oC9VNW4NMM+bGhd/hhYq8m+rSrpmLVgsZMylhxkoorfJLm6ckLW ZnV/h5Vz3WE6ct7kCCB/+Gy7g6gfhAvROnVOKyOPVa2pdeedNzcXh1K6CzRkxQtcxXfR 3EvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=to1G5mWKhU+cajoNxErKwrgqTGkfLE1RYtx1H8HSuTs=; b=mt9L4f7RPOWOWhNo2jv5SOVRQCtw7rbMUiMy8ySyb4eeyIvJu1+RUp1qpfOu6FF8fT FJhNCUQHpi5ELdIcA6xGMWeNHdpybGJTlVvavMjsrK/mOEEcV8g+Y4/5zyb3VmzHVIy/ EeRRgmFWuH0Bfac5jc7nnx92j1YTeXptlGIdAgcOMw30I+tQuBtz2vNfNB67jNLs2udP /Te3FDnoURZLg/bDqdsPt8WuBuh3Z+U/Q69sLg7RA5CWBZanCJZe9GTvcEmrA9vS+Ajb ejnUuG2ycaCRKDDEbb4jiPmjs9Q51KUwvUSnqNh+2MLaOn/q79dRqL4QiwnpWinoV1OE ez6Q== X-Gm-Message-State: AOPr4FVZD0VMiJc1zRMn3xWs7bnJdY++NnD0GpTft5xwBWfp+ZArq3Ta4Wf+LBKC8MI5NYSYUbTQxcFz9eh4PQ== MIME-Version: 1.0 X-Received: by 10.107.147.7 with SMTP id v7mr9831137iod.3.1463096186350; Thu, 12 May 2016 16:36:26 -0700 (PDT) Sender: phluid61@gmail.com Received: by 10.107.138.230 with HTTP; Thu, 12 May 2016 16:36:26 -0700 (PDT) In-Reply-To: <57350165.9070007@digitaldissidents.org> References: <57350165.9070007@digitaldissidents.org> Date: Fri, 13 May 2016 09:36:26 +1000 X-Google-Sender-Auth: KU-KVXm7MXCFRXfOQPSjdH2GNBE Message-ID: From: Matthew Kerwin To: Niels ten Oever Content-Type: multipart/mixed; boundary=94eb2c055f6875f0990532ada066 Archived-At: Cc: xml2rfc@ietf.org Subject: Re: [xml2rfc] WARNING: Illegal character replaced in string: X-BeenThere: xml2rfc@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 May 2016 23:36:42 -0000 --94eb2c055f6875f0990532ada066 Content-Type: multipart/alternative; boundary=94eb2c055f6875f0930532ada064 --94eb2c055f6875f0930532ada064 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 13 May 2016 at 08:19, Niels ten Oever wrote: > Hi all, > > We made the attached ID in markdown, which we then made into xml using > kramdown-rfc2629, but at the moment xml2rfc is called, an infinitely > repeating 'WARNING: Illegal character replaced in string:' ensues. > =E2=80=8B > > > > Any suggestions on how I can solve this? > > Thanks in advance, > > Niels > =E2=80=8BThere are a whole bunch of (presumably cut-and-pasted?) non-ASCII codepoints in the document; most of them are dashes, bullets, and quotation marks. However just before line ~955 there's a U+2028 LINE SEPARATOR character in there. That's the one that xml2rfc is complaining about in your error message. There are also a whole lot of tabs in strange places. By fixing a lot of those issues, I made a copy of the markdown that renders down to XML, that in turn passes through xml2rfc with only a warning about overlong lines in some artwork. --=20 Matthew Kerwin http://matthew.kerwin.net.au/ --94eb2c055f6875f0930532ada064 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On 13 May 2016 at 08:19, Niels ten Oever <lists@digitaldisside= nts.org> wrote:
Hi all,

We made the attached ID in markdown, which we then made into xml using
kramdown-rfc2629, but at the moment xml2rfc is called, an infinitely
repeating 'WARNING: Illegal character replaced in string:' ensues.<= div class=3D"gmail_default" style=3D"font-family:georgia,serif;color:rgb(7,= 55,99);display:inline">=E2=80=8B
=C2=A0
=
<snip>


Any suggestions on how I can solve this?

Thanks in advance,

Niels

=E2=80=8B= There are a whole bunch of (presumably cut-and-pasted?) non-ASCII codepoint= s in the document; most of them are dashes, bullets, and quotation marks. H= owever just before line ~955 there's a U+2028 LINE SEPARATOR character = in there. That's the one that xml2rfc is complaining about in your erro= r message.

There are also a whole lot of tabs in strange places.<= /div>

By fixing a lot of those issues, I made a copy of the markdown th= at renders down to XML, that in turn passes through xml2rfc with only a war= ning about overlong lines in some artwork.

= --
=C2=A0 Matthew Kerwi= n
=C2=A0 htt= p://matthew.kerwin.net.au/
--94eb2c055f6875f0930532ada064-- --94eb2c055f6875f0990532ada066 Content-Type: text/x-markdown; charset=UTF-8; name="draft-research2.md" Content-Disposition: attachment; filename="draft-research2.md" Content-Transfer-Encoding: base64 X-Attachment-Id: f_io4xnsgo2 LS0tDQp0aXRsZTogUmVzZWFyY2ggaW50byBIdW1hbiBSaWdodHMgUHJvdG9jb2wgQ29uc2lkZXJh dGlvbnMNCmFiYnJldjogaHJwY3INCmRvY25hbWU6IGRyYWZ0LXRlbm9ldmVyLWhycGMtcmVzZWFy Y2gtMDENCmNhdGVnb3J5OiBpbmZvDQoNCmlwcjogdHJ1c3QyMDA5MDINCmFyZWE6IEdlbmVyYWwN Cndvcmtncm91cDogSHVtYW4gUmlnaHRzIFByb3RvY29sIENvbnNpZGVyYXRpb25zIFJlc2VhcmNo IEdyb3VwDQprZXl3b3JkOiBJbnRlcm5ldC1EcmFmdA0KDQpzdGFuZF9hbG9uZTogeWVzDQpwaToN CiAgcmZjZWRzdHlsZTogeWVzDQogIHRvYzogeWVzDQogIHRvY2luZGVudDogeWVzDQogIHNvcnRy ZWZzOiB5ZXMNCiAgc3ltcmVmczogeWVzDQogIHN0cmljdDogeWVzDQogIGNvbW1lbnRzOiB5ZXMN CiAgaW5saW5lOiB5ZXMNCiAgdGV4dC1saXN0LXN5bWJvbHM6IC1vKisNCg0KYXV0aG9yOg0KLQ0K ICAgICAgIGluczogTi4gdGVuIE9ldmVyDQogICAgICAgbmFtZTogTmllbHMgdGVuIE9ldmVyDQog ICAgICAgb3JnYW5pemF0aW9uOiBBcnRpY2xlMTkNCiAgICAgICBlbWFpbDogbmllbHNAYXJ0aWNs ZTE5Lm9yZw0KLQ0KICAgICAgIGluczogQy5KLk4uIENhdGgNCiAgICAgICBuYW1lOiBDb3Jpbm5l IENhdGgNCiAgICAgICBvcmdhbml6YXRpb246IE94Zm9yZCBJbnRlcm5ldCBJbnN0aXR1dGUNCiAg ICAgICBlbWFpbDogY29yaW5uZWNhdGhAZ21haWwuY29tDQoNCm5vcm1hdGl2ZToNCg0KICAgUkZD Njk3MzoNCg0KaW5mb3JtYXRpdmU6DQoNCiAgIFJGQzAyMjY6DQogICBSRkMwNzYwOg0KICAgUkZD MDc5MToNCiAgIFJGQzA3OTM6DQogICBSRkMwODk0Og0KICAgUkZDMTAzNToNCiAgIFJGQzExMjI6 DQogICBSRkMxNjMxOg0KICAgUkZDMTc2NjoNCiAgIFJGQzE4NjY6DQogICBSRkMxOTU4Og0KICAg UkZDMTk4NDoNCiAgIFJGQzIwMjY6DQogICBSRkMyMjc3Og0KICAgUkZDMjQ2MDoNCiAgIFJGQzI2 MDY6DQogICBSRkMyNzc1Og0KICAgUkZDMzU1MjoNCiAgIFJGQzMzNjU6DQogICBSRkMzNzI0Og0K ICAgUkZDMzkzNToNCiAgIFJGQzQwODQ6DQogICBSRkM0MDMzOg0KICAgUkZDNDEwMToNCiAgIFJG QzQzMDM6DQogICBSRkM0OTA2Og0KICAgUkZDNDk0OToNCiAgIFJGQzUzMjE6DQogICBSRkM1OTQ0 Og0KICAgUkZDNjEyMDoNCiAgIFJGQzYzNjU6DQogICBSRkM3MjU4Og0KICAgUkZDNzU0MDoNCiAg IFJGQzc1NzQ6DQogICBSRkM3NjI0Og0KICAgUkZDNzYyNjoNCiAgIFJGQzc3MjU6DQoNCiAgIFVO R0EyMDEzOg0KICAgICB0aXRsZTogVU4gR2VuZXJhbCBBc3NlbWJseSBSZXNvbHV0aW9uICJUaGUg cmlnaHQgdG8gcHJpdmFjeSBpbiB0aGUgZGlnaXRhbCBhZ2UiIChBL0MuMy82OC9MLjQ1KQ0KICAg ICBkYXRlOiAyMDEzDQogICAgIGF1dGhvcjoNCiAgICAgICAgLSBvcmc6IFVuaXRlZCBOYXRpb25z IEdlbmVyYWwgQXNzZW1ibHkNCiAgICAgdGFyZ2V0OiBodHRwOi8vZGFjY2Vzcy1vZHMudW4ub3Jn L1RNUC8xMTMzNzMyLjA1MDY1NzI3Lmh0bWwNCg0KICAgSFJDMjAxMjoNCiAgICAgdGl0bGU6IFVO IEdlbmVyYWwgQXNzZW1ibHkgUmVzb2x1dGlvbiAiVGhlIHJpZ2h0IHRvIHByaXZhY3kgaW4gdGhl IGRpZ2l0YWwgYWdlIiAoQS9DLjMvNjgvTC40NSkNCiAgICAgZGF0ZTogMjAxMQ0KICAgICBhdXRo b3I6DQogICAgICAgIC0gb3JnOiBVbml0ZWQgTmF0aW9ucyBIdW1hbiBSaWdodHMgQ291bmNpbA0K ICAgICB0YXJnZXQ6IGh0dHA6Ly9kYWNjZXNzLW9kcy51bi5vcmcvVE1QLzU1NDM0Mi4xMjA4ODU4 NDkuaHRtbA0KDQogICBORVRtdW5kaWFsOg0KICAgICB0aXRsZTogTkVUbXVuZGlhbCBNdWx0aXN0 YWtlaG9sZGVyIFN0YXRlbWVudA0KICAgICBkYXRlOiAyMDE0DQogICAgIGF1dGhvcjoNCiAgICAg ICAgLSBvcmc6IE5FVG11bmRpYWwNCiAgICAgdGFyZ2V0OiBodHRwOi8vbmV0bXVuZGlhbC5ici93 cC1jb250ZW50L3VwbG9hZHMvMjAxNC8wNC9ORVRtdW5kaWFsLU11bHRpc3Rha2Vob2xkZXItRG9j dW1lbnQucGRmDQoNCiAgIFVESFI6DQogICAgIHRpdGxlOiBUaGUgVW5pdmVyc2FsIERlY2xhcmF0 aW9uIG9mIEh1bWFuIFJpZ2h0cw0KICAgICBkYXRlOiAxOTQ4DQogICAgIGF1dGhvcjoNCiAgICAg ICAgLSBvcmc6IFVuaXRlZCBOYXRpb25zIEdlbmVyYWwgQXNzZW1ibHkNCiAgICAgdGFyZ2V0OiBo dHRwOi8vd3d3LnVuLm9yZy9lbi9kb2N1bWVudHMvdWRoci8NCg0KICAgSUNFU0NSOg0KICAgICB0 aXRsZTogSW50ZXJuYXRpb25hbCBDb3ZlbmFudCBvbiBFY29ub21pYywgU29jaWFsIGFuZCBDdWx0 dXJhbCBSaWdodHMNCiAgICAgZGF0ZTogMTk2Ng0KICAgICBhdXRob3I6DQogICAgICAgIC0gb3Jn OiBVbml0ZWQgTmF0aW9ucyBHZW5lcmFsIEFzc2VtYmx5DQogICAgIHRhcmdldDogaHR0cDovL3d3 dy5vaGNoci5vcmcvRU4vUHJvZmVzc2lvbmFsSW50ZXJlc3QvUGFnZXMvQ0VTQ1IuYXNweA0KDQog ICBjYWlkYToNCiAgICAgdGl0bGU6IEFuYWx5c2lzIG9mIENvdW50cnktd2lkZSBJbnRlcm5ldCBP dXRhZ2VzIENhdXNlZCBieSBDZW5zb3JzaGlwDQogICAgIGRhdGU6IDIwMTMNCiAgICAgYXV0aG9y Og0KICAgICAgICAtIGluczogQS4gRGFpbm90dGkNCiAgICAgICAgLSBpbnM6IEMuIFNxdWFyY2Vs bGENCiAgICAgICAgLSBpbnM6IEUuIEFiZW4NCiAgICAgICAgLSBpbnM6IEsuIENsYWZmeQ0KICAg ICAgICAtIGluczogTS4gQ2hpZXNhDQogICAgICAgIC0gaW5zOiBNLiBSdXNzbw0KICAgICAgICAt IGluczogQS4gUGVzY2FwZQ0KICAgICB0YXJnZXQ6IGh0dHA6Ly93d3cuY2FpZGEub3JnL3B1Ymxp Y2F0aW9ucy9wYXBlcnMvMjAxNC9vdXRhZ2VzX2NlbnNvcnNoaXAvb3V0YWdlc19jZW5zb3JzaGlw LnBkZg0KDQogICB0b3Jwcm9qZWN0Og0KICAgICB0aXRsZTogVG9yIFByb2plY3QgLSBBbm9ueW1p dHkgT25saW5lDQogICAgIGRhdGU6IDIwMDcNCiAgICAgYXV0aG9yOg0KICAgICAgICAtIGluczog VGhlIFRvciBQcm9qZWN0DQogICAgIHRhcmdldDogaHR0cHM6Ly93d3cudG9ycHJvamVjdC5vcmcv DQoNCiAgIHNwZHk6DQogICAgIHRpdGxlOiBTUERZIC0gQW4gZXhwZXJpbWVudGFsIHByb3RvY29s IGZvciBhIGZhc3RlciB3ZWINCiAgICAgZGF0ZTogMjAwOQ0KICAgICBhdXRob3I6DQogICAgICAg IC0gb3JnOiBUaGUgQ2hyb21pdW0gUHJvamVjdA0KICAgICB0YXJnZXQ6IGh0dHBzOi8vd3d3LmNo cm9taXVtLm9yZy9zcGR5L3NwZHktd2hpdGVwYXBlcg0KDQogICBxdWljOg0KICAgICB0aXRsZTog UVVJQywgYSBtdWx0aXBsZXhlZCBzdHJlYW0gdHJhbnNwb3J0IG92ZXIgVURQDQogICAgIGRhdGU6 IDIwMTQNCiAgICAgYXV0aG9yOg0KICAgICAgICAtIG9yZzogVGhlIENocm9taXVtIFByb2plY3QN CiAgICAgdGFyZ2V0OiBodHRwczovL3d3dy5jaHJvbWl1bS5vcmcvcXVpYw0KDQogICBuYXR1c2Fn ZToNCiAgICAgdGl0bGU6IE5BVCB1c2FnZSBpbiBSZXNpZGVudGlhbCBCcm9hZGJhbmQgbmV0d29y a3MNCiAgICAgZGF0ZTogMjAxMQ0KICAgICBhdXRob3I6DQogICAgICAgIC0gaW5zOiBHLiBNYWll cg0KICAgICAgICAtIGluczogRi4gU2NobmVpZGVyDQogICAgICAgIC0gaW5zOiBBLiBGZWxkbWFu bg0KICAgICB0YXJnZXQ6IGh0dHA6Ly93d3cuaWNzaS5iZXJrZWxleS5lZHUvcHVicy9uZXR3b3Jr aW5nL05BVHVzYWdlMTEucGRmDQoNCiAgIGJiYy13aWtpbGVha3M6DQogICAgIHRpdGxlOiBXaGlz dGxlLWJsb3dlciBzaXRlIHRha2VuIG9mZmxpbmUNCiAgICAgZGF0ZTogMjAwOA0KICAgICBhdXRo b3I6DQogICAgICAgIC0gb3JnOiBCQkMNCiAgICAgdGFyZ2V0OiBodHRwOi8vbmV3cy5iYmMuY28u dWsvMi9oaS90ZWNobm9sb2d5LzcyNTA5MTYuc3RtDQoNCiAgIHRlY2h5dW06DQogICAgIHRpdGxl OiBPZmZpY2lhbCAtIHZiLmx5IExpbmsgU2hvcnRlbmVyIFNlaXplZCBieSBMaWJ5YW4gR292ZXJu bWVudA0KICAgICBkYXRlOiAyMDEwDQogICAgIGF1dGhvcjoNCiAgICAgICAgLSBpbnM6IFZpb2xl dA0KICAgICB0YXJnZXQ6IGh0dHA6Ly90ZWNoeXVtLmNvbS8yMDEwLzEwL29mZmljaWFsLXZiLWx5 LWxpbmstc2hvcnRlbmVyLXNlaXplZC1ieS1saWJ5YW4tZ292ZXJubWVudC8NCg0KICAgdHVya2V5 Og0KICAgICB0aXRsZTogSW50ZXJuZXQgY2Vuc29yc2hpcCBpbiBUdXJrZXkNCiAgICAgZGF0ZTog MjAxNQ0KICAgICBhdXRob3I6DQogICAgICAgIC0gaW5zOiBNLiBBa2fDvGwNCiAgICAgICAgLSBp bnM6IE0uIEtpcmxpZG/Enw0KICAgICB0YXJnZXQ6IGh0dHA6Ly9wb2xpY3lyZXZpZXcuaW5mby9h cnRpY2xlcy9hbmFseXNpcy9pbnRlcm5ldC1jZW5zb3JzaGlwLXR1cmtleQ0KDQogICB2ZXJ2ZXJp czoNCiAgICAgdGl0bGU6IFVuZGVyc3RhbmRpbmcgSW50ZXJuZXQgQ2Vuc29yc2hpcCBQb2xpY3kg LSBUaGUgQ2FzZSBvZiBHcmVlY2UNCiAgICAgZGF0ZTogMjAxNQ0KICAgICBhdXRob3I6DQogICAg ICAgIC0gaW5zOiBWLiBWYXNpbGlzDQogICAgICAgIC0gaW5zOiBHLiBLYXJnaW90YWtpcw0KICAg ICAgICAtIGluczogQS4gRmlsYXN0bw0KICAgICAgICAtIGluczogQi4gRmFiaWFuDQogICAgICAg IC0gaW5zOiBBLiBBbGV4YW5kcm9zDQogICAgIHRhcmdldDogaHR0cHM6Ly93d3cudXNlbml4Lm9y Zy9zeXN0ZW0vZmlsZXMvY29uZmVyZW5jZS9mb2NpMTUvZm9jaTE1LXBhcGVyLXZlcnZlcmlzLXVw ZGF0ZS5wZGYNCg0KICAgaGFsbDoNCiAgICAgdGl0bGU6IEEgU3VydmV5IG9mIFdvcmxkd2lkZSBD ZW5zb3JzaGlwIFRlY2huaXF1ZXMNCiAgICAgZGF0ZTogMjAxNQ0KICAgICBhdXRob3I6DQogICAg ICAgIC0gaW5zOiBKLiBIYWxsDQogICAgICAgIC0gaW5zOiBNLiBBYXJvbg0KICAgICAgICAtIGlu czogQi4gSm9uZXMNCiAgICAgdGFyZ2V0OiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJh ZnQtaGFsbC1jZW5zb3JzaGlwLXRlY2gtMDENCg0KICAgZ3JlYXRmaXJld2FsbDoNCiAgICAgdGl0 bGU6IFRvd2FyZHMgYSBDb21wcmVoZW5zaXZlIFBpY3R1cmUgb2YgdGhlIEdyZWF0IEZpcmV3YWxs J3MgRE5TIENlbnNvcnNoaXANCiAgICAgZGF0ZTogMjAxNA0KICAgICBhdXRob3I6DQogICAgICAg IC0gaW5zOiBBbm9ueW1vdXMNCiAgICAgdGFyZ2V0OiBodHRwczovL3d3dy51c2VuaXgub3JnL3N5 c3RlbS9maWxlcy9jb25mZXJlbmNlL2ZvY2kxNC9mb2NpMTQtYW5vbnltb3VzLnBkZg0KDQogICB0 b3JyZW50ZnJlYWsxOg0KICAgICB0aXRsZTogUHJvcG9zYWwgZm9yIHJlc2VhcmNoIG9uIGh1bWFu IHJpZ2h0cyBwcm90b2NvbCBjb25zaWRlcmF0aW9ucw0KICAgICBkYXRlOiAyMDE1DQogICAgIGF1 dGhvcjoNCiAgICAgICAgLSBpbnM6IEUuIFZhbiBkZXIgU2FyDQogICAgIHRhcmdldDogaHR0cHM6 Ly90b3JyZW50ZnJlYWsuY29tL2lzLXlvdXItaXNwLW1lc3Npbmctd2l0aC1iaXR0b3JyZW50LXRy YWZmaWMtZmluZC1vdXQtMTQwMTIzLw0KDQogICB3aWtpbGVha3M6DQogICAgIHRpdGxlOiAiTWFy a2V0IFN1cnZleSA6IERldGVjdGlvbiAmIEZpbHRlcmluZyBTb2x1dGlvbnMgdG8gSWRlbnRpZnkg RmlsZSBUcmFuc2ZlciBvZiBDb3B5cmlnaHQgUHJvdGVjdGVkIENvbnRlbnQgZm9yIFdhcm5lciBC cm9zLiBhbmQgbW92aWVsYWJzIg0KICAgICBkYXRlOiAyMDExDQogICAgIGF1dGhvcjoNCiAgICAg ICAgLSBpbnM6IFQuIFNsYWRlaw0KICAgICAgICAtIGluczogRS4gQnLDtnNlDQogICAgIHRhcmdl dDogaHR0cHM6Ly93aWtpbGVha3Mub3JnL3NvbnkvZG9jcy8wNS9kb2NzL0FudGktUGlyYWN5L0NE U0EvRUFOVEMtU3VydmV5LTEuNS11bnNlY3VyZWQucGRmDQoNCiAgIGFyczoNCiAgICAgdGl0bGU6 IFAyUCByZXNlYXJjaGVycyAtIHVzZSBhIGJsb2NrbGlzdCBvciB5b3Ugd2lsbCBiZSB0cmFja2Vk Li4uIDEwMCUgb2YgdGhlIHRpbWUNCiAgICAgZGF0ZTogMjAwNw0KICAgICBhdXRob3I6DQogICAg ICAgIC0gaW5zOiBOLiBBbmRlcnNvbg0KICAgICB0YXJnZXQ6IGh0dHA6Ly9hcnN0ZWNobmljYS5j b20vdW5jYXRlZ29yaXplZC8yMDA3LzEwL3AycC1yZXNlYXJjaGVycy11c2UtYS1ibG9ja2xpc3Qt b3IteW91LXdpbGwtYmUtdHJhY2tlZC0xMDAtb2YtdGhlLXRpbWUvDQoNCiAgIHRvcnJlbnRmcmVh azI6DQogICAgIHRpdGxlOiBMQVdZRVJTIFNFTlQgMTA5LDAwMCBQSVJBQ1kgVEhSRUFUUyBJTiBH RVJNQU5ZIERVUklORyAyMDEzDQogICAgIGRhdGU6IDIwMTQNCiAgICAgYXV0aG9yOg0KICAgICAg ICAtIGluczogQW5keQ0KICAgICB0YXJnZXQ6IGh0dHBzOi8vdG9ycmVudGZyZWFrLmNvbS9sYXd5 ZXJzLXNlbnQtMTA5MDAwLXBpcmFjeS10aHJlYXRzLWluLWdlcm1hbnktZHVyaW5nLTIwMTMtMTQw MzA0Lw0KDQogICBmcmVlbmV0MToNCiAgICAgdGl0bGU6IFdoYXQgaXMgRnJlZW5ldD8NCiAgICAg YXV0aG9yOg0KICAgICAgICAtIG9yZzogRnJlZW5ldA0KICAgICB0YXJnZXQ6IGh0dHBzOi8vZnJl ZW5ldHByb2plY3Qub3JnL3doYXRpcy5odG1sDQoNCiAgIGZyZWVuZXQyOg0KICAgICB0aXRsZTog VGhlIFBoaWxvc3BoeSBiZWhpbmQgRnJlZW5ldD8NCiAgICAgYXV0aG9yOg0KICAgICAgICAtIGlu czogSWFuIENsYXJrZQ0KICAgICB0YXJnZXQ6IGh0dHBzOi8vZnJlZW5ldHByb2plY3Qub3JnL3Bo aWxvc29waHkuaHRtbA0KDQogICBiaXRtZXNzYWdlOg0KICAgICB0aXRsZTogQml0bWVzc2FnZSBX aWtpPw0KICAgICBkYXRlOiAyMDE0DQogICAgIGF1dGhvcjoNCiAgICAgICAgLSBvcmc6IEJpdG1l c3NhZ2UNCiAgICAgdGFyZ2V0OiBodHRwczovL2JpdG1lc3NhZ2Uub3JnL3dpa2kvTWFpbl9QYWdl DQoNCiAgIFBFVFMyMDE1VlBOOg0KICAgICB0aXRsZTogQSBHbGFuY2UgdGhyb3VnaCB0aGUgVlBO IExvb2tpbmcgR2xhc3MNCiAgICAgZGF0ZTogMjAxNQ0KICAgICBhdXRob3I6DQogICAgICAgIC0g aW5zOiBWLkMuIFBlcmENCiAgICAgICAgLSBpbnM6IE0uVi4gQmFyYmVyYQ0KICAgICAgICAtIGlu czogRy4gVHlzb24NCiAgICAgICAgLSBpbnM6IEguIEhhZGRhZGkNCiAgICAgICAgLSBpbnM6IEEu IE1laQ0KICAgICB0YXJnZXQ6IGh0dHA6Ly93d3cuZWVjcy5xbXVsLmFjLnVrL35oYW1lZC9wYXBl cnMvUEVUUzIwMTVWUE4ucGRmDQoNCiAgIHNwaWVnZWw6DQogICAgIHRpdGxlOiBQcnlpbmcgRXll cyAtIEluc2lkZSB0aGUgTlNBJ3MgV2FyIG9uIEludGVybmV0IFNlY3VyaXR5DQogICAgIGRhdGU6 IDIwMTQNCiAgICAgYXV0aG9yOg0KICAgICAgICAtIG9yZzogU1BJRUdFTA0KICAgICB0YXJnZXQ6 IGh0dHA6Ly93d3cuc3BpZWdlbC5kZS9pbnRlcm5hdGlvbmFsL2dlcm1hbnkvaW5zaWRlLXRoZS1u c2Etcy13YXItb24taW50ZXJuZXQtc2VjdXJpdHktYS0xMDEwMzYxLmh0bWwNCg0KICAgUmlkZW91 dDoNCiAgICAgdGl0bGU6IE1ha2luZyBzZWN1cml0eSBlYXNpZXINCiAgICAgZGF0ZTogMjAwOA0K ICAgICBhdXRob3I6DQogICAgICAgIC0gaW5zOiBBLiBSaWRlb3V0DQogICAgIHRhcmdldDogaHR0 cDovL2dtYWlsYmxvZy5ibG9nc3BvdC5kZS8yMDA4LzA3L21ha2luZy1zZWN1cml0eS1lYXNpZXIu aHRtbA0KDQogICBTY2hpbGxhY2U6DQogICAgIHRpdGxlOiBEZWZhdWx0IGh0dHBzIGFjY2VzcyBm b3IgR21haWwNCiAgICAgZGF0ZTogMjAxMA0KICAgICBhdXRob3I6DQogICAgICAgIC0gaW5zOiBT LiBTY2hpbGxhY2UNCiAgICAgdGFyZ2V0OiBodHRwOi8vZ21haWxibG9nLmJsb2dzcG90LmRlLzIw MTAvMDEvZGVmYXVsdC1odHRwcy1hY2Nlc3MtZm9yLWdtYWlsLmh0bWwNCg0KICAgUGV0ZXJzb246 DQogICAgIHRpdGxlOiBZYWhvbyB0byBtYWtlIFNTTCBlbmNyeXB0aW9uIHRoZSBkZWZhdWx0IGZv ciBXZWJtYWlsIHVzZXJzLiBGaW5hbGx5Lg0KICAgICBkYXRlOiAyMDEzDQogICAgIGF1dGhvcjoN CiAgICAgICAgLSBpbnM6IEEuIFBldGVyc29uDQogICAgICAgIC0gaW5zOiBCLiBHZWxsbWFuDQog ICAgICAgIC0gaW5zOiBBLiBTb2x0YW5pDQogICAgIHRhcmdldDogaHR0cDovL2dtYWlsYmxvZy5i bG9nc3BvdC5kZS8yMDEwLzAxL2RlZmF1bHQtaHR0cHMtYWNjZXNzLWZvci1nbWFpbC5odG1sDQoN CiAgIENvbGxpbnM6DQogICAgIHRpdGxlOiBIYWNraW5nIFRlYW0ncyBvcHByZXNzaXZlIHJlZ2lt ZXMgY3VzdG9tZXIgbGlzdCByZXZlYWxlZCBpbiBoYWNrDQogICAgIGRhdGU6IDIwMTUNCiAgICAg YXV0aG9yOg0KICAgICAgICAtIGluczogSy4gQ29sbGlucw0KICAgICB0YXJnZXQ6IGh0dHA6Ly93 d3cud2lyZWQuY28udWsvbmV3cy9hcmNoaXZlLzIwMTUtMDcvMDYvaGFja2luZy10ZWFtLXNweXdh cmUtY29tcGFueS1oYWNrZWQNCg0KICAgQ2F0aDoNCiAgICAgdGl0bGU6ICJBIENhc2UgU3R1ZHkg b2YgQ29kaW5nIFJpZ2h0czogU2hvdWxkIEZyZWVkb20gb2YgU3BlZWNoIEJlIEluc3RhbnRpYXRl ZCBpbiB0aGUgUHJvdG9jb2xzIGFuZCBTdGFuZGFyZHMgRGVzaWduZWQgYnkgdGhlIEludGVybmV0 IEVuZ2luZWVyaW5nIFRhc2sgRm9yY2U/Ig0KICAgICBkYXRlOiAyMDE1DQogICAgIGF1dGhvcjoN CiAgICAgICAgLSBpbnM6IEMuIENhdGgNCiAgICAgdGFyZ2V0OiBodHRwczovL3d3dy5pZXRmLm9y Zy9tYWlsLWFyY2hpdmUvd2ViL2hycGMvY3VycmVudC9wZGYzNkdybVJNODRTLnBkZg0KDQogICBD YXRoYW5kRmxvcmlkaToNCiAgICAgdGl0bGU6IFRoZSBEZXNpZ24gb2YgdGhlIEludGVybmV0J3Mg QXJjaGl0ZWN0dXJlIGJ5IHRoZSBJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrIEZvcmNlIChJRVRG KSBhbmQgSHVtYW4gUmlnaHRzDQogICAgIGRhdGU6IGZvcnRoY29taW5nDQogICAgIGF1dGhvcjoN CiAgICAgICAgLSBpbnM6IEMuIENhdGgNCiAgICAgICAgLSBpbnM6IEwuIEZsb3JpZGkNCg0KICAg SGFhZ3NtYToNCiAgICAgdGl0bGU6ICJEZWVwIGRpdmUgaW50byBRVUFOVFVNIElOU0VSVCINCiAg ICAgZGF0ZTogMjAxNQ0KICAgICBhdXRob3I6DQogICAgICAgIC0gaW5zOiBMLiBIYWFnc21hDQog ICAgIHRhcmdldDogaHR0cDovL2Jsb2cuZm94LWl0LmNvbS8yMDE1LzA0LzIwL2RlZXAtZGl2ZS1p bnRvLXF1YW50dW0taW5zZXJ0Lw0KDQogICBSU0Y6DQogICAgIHRpdGxlOiBTeXJpYSB1c2luZyAz NCBCbHVlIENvYXQgU2VydmVycyB0byBzcHkgb24gSW50ZXJuZXQgdXNlcnMNCiAgICAgZGF0ZTog MjAxMw0KICAgICBhdXRob3I6DQogICAgICAgIC0gb3JnOiBSU0YNCiAgICAgdGFyZ2V0OiBodHRw czovL2VuLnJzZi5vcmcvc3lyaWEtc3lyaWEtdXNpbmctMzQtYmx1ZS1jb2F0LXNlcnZlcnMtMjMt MDUtMjAxMyw0NDY2NC5odG1sDQoNCiAgIFNjaG5laWVyOg0KICAgICB0aXRsZTogQXR0YWNraW5n IFRvciAtIGhvdyB0aGUgTlNBIHRhcmdldHMgdXNlcnMnIG9ubGluZSBhbm9ueW1pdHkNCiAgICAg ZGF0ZTogMjAxMw0KICAgICBhdXRob3I6DQogICAgICAgIC0gaW5zOiBCLiBTY2huZWllcg0KICAg ICB0YXJnZXQ6IGh0dHA6Ly93d3cudGhlZ3VhcmRpYW4uY29tL3dvcmxkLzIwMTMvb2N0LzA0L3Rv ci1hdHRhY2tzLW5zYS11c2Vycy1vbmxpbmUtYW5vbnltaXR5DQoNCiAgIEFwcGVsYmF1bToNCiAg ICAgdGl0bGU6IE5TQSB0YXJnZXRzIHRoZSBwcml2YWN5LWNvbnNjaW91cw0KICAgICBkYXRlOiAy MDE1DQogICAgIGF1dGhvcjoNCiAgICAgICAgLSBpbnM6IEouIEFwcGVsYmF1bQ0KICAgICAgICAt IGluczogQS4gR2lic29uDQogICAgICAgIC0gaW5zOiBWLiBLYWJpc2gNCiAgICAgICAgLSBpbnM6 IEwuIEthbXBmDQogICAgICAgIC0gaW5zOiBMLiBSeWdlDQogICAgIHRhcmdldDogaHR0cDovL2Rh c2Vyc3RlLm5kci5kZS9wYW5vcmFtYS9ha3R1ZWxsL25zYTIzMF9wYWdlLTEuaHRtbA0KDQogICBN YXJjYWs6DQogICAgIHRpdGxlOiBDaGluYSdzIEdyZWF0IEZpcmUgQ2Fubm9uDQogICAgIGRhdGU6 IDIwMTUNCiAgICAgYXV0aG9yOg0KICAgICAgICAtIGluczogQi4gTWFyY2FrDQogICAgICAgIC0g aW5zOiBOLiBXZWF2ZXINCiAgICAgICAgLSBpbnM6IEouIERhbGVrDQogICAgICAgIC0gaW5zOiBS LiBFbnNhZmkNCiAgICAgICAgLSBpbnM6IEQuIEZpZmllbGQNCiAgICAgICAgLSBpbnM6IFMuIE1j S3VuZQ0KICAgICAgICAtIGluczogQS4gUmV5DQogICAgICAgIC0gaW5zOiBKLiBTY290dC1SYWls dG9uDQogICAgICAgIC0gaW5zOiBSLiBEZWliZXJ0DQogICAgICAgIC0gaW5zOiBWLiBQYXhzb24N CiAgICAgdGFyZ2V0OiBodHRwczovL2NpdGl6ZW5sYWIub3JnLzIwMTUvMDQvY2hpbmFzLWdyZWF0 LWNhbm5vbi8NCg0KICAgR29vZ2xlcGF0ZW50Og0KICAgICB0aXRsZTogTWV0aG9kIGFuZCBkZXZp Y2UgZm9yIG5ldHdvcmsgdHJhZmZpYyBtYW5pcHVsYXRpb24NCiAgICAgZGF0ZTogMjAxMg0KICAg ICBhdXRob3I6DQogICAgICAgIC0gaW5zOiBHb29nbGUNCiAgICAgdGFyZ2V0OiBodHRwczovL3d3 dy5nb29nbGUuY29tL3BhdGVudHMvRVAyNjAxNzc0QTE/Y2w9ZW4NCg0KICAgTWFycXVpcy1Cb2ly ZToNCiAgICAgdGl0bGU6IFNjaHJvZGluZ2VyJ3MgQ2F0IFZpZGVvIGFuZCB0aGUgRGVhdGggb2Yg Q2xlYXItVGV4dA0KICAgICBkYXRlOiAyMDE0DQogICAgIGF1dGhvcjoNCiAgICAgICAgLSBpbnM6 IE0uIE1hcnF1aXMtQm9pcmUNCiAgICAgdGFyZ2V0OiBodHRwczovL2NpdGl6ZW5sYWIub3JnLzIw MTQvMDgvY2F0LXZpZGVvLWFuZC10aGUtZGVhdGgtb2YtY2xlYXItdGV4dC8NCg0KICAgcGlkZ2lu Og0KICAgICB0aXRsZTogLVhNUFAtIEludmlzaWJsZSBtb2RlIHZpb2xhdGluZyBzdGFuZGFyZA0K ICAgICBkYXRlOiAyMDE1LTA3DQogICAgIGF1dGhvcjoNCiAgICAgICAtIGluczoganMNCiAgICAg ICAtIG9yZzogUGlkZ2luIERldmVsb3BlcnMNCiAgICAgdGFyZ2V0OiBodHRwczovL2RldmVsb3Bl ci5waWRnaW4uaW0vdGlja2V0LzQzMjINCg0KICAgeG1wcG1hbmlmZXN0bzoNCiAgICAgdGl0bGU6 IEEgUHVibGljIFN0YXRlbWVudCBSZWdhcmRpbmcgVWJpcXVpdG91cyBFbmNyeXB0aW9uIG9uIHRo ZSBYTVBQIE5ldHdvcmsNCiAgICAgZGF0ZTogMjAxNA0KICAgICBhdXRob3I6DQogICAgICAgLSBp bnM6IFAuIFNhaW50LUFuZHJlDQogICAgICAgLSBpbnM6IFhNUFAgT3BlcmF0b3JzDQogICAgIHRh cmdldDogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3N0cGV0ZXIvbWFuaWZlc3Rv L21hc3Rlci9tYW5pZmVzdG8udHh0DQoNCiAgIG5hbWVjb2luOg0KICAgICB0aXRsZTogTmFtZWNv aW4gLSBEZWNlbnRyYWxpemVkIHNlY3VyZSBuYW1lcw0KICAgICBkYXRlOiAyMDE1DQogICAgIGF1 dGhvcjoNCiAgICAgICAgLSBvcmc6IE5hbWVjb2luDQogICAgIHRhcmdldDogaHR0cHM6Ly9uYW1l Y29pbi5pbmZvLw0KDQogICBEb3VjZXVyOg0KICAgICB0aXRsZTogVGhlIFN5YmlsIEF0dGFjaw0K ICAgICBkYXRlOiAyMDAyDQogICAgIGF1dGhvcjoNCiAgICAgICAgLSBpbnM6IEouUi4gRG91Y2V1 cg0KICAgICB0YXJnZXQ6IGh0dHA6Ly9yZXNlYXJjaC5taWNyb3NvZnQuY29tOjgwODIvcHVicy83 NDIyMC9JUFRQUzIwMDIucGRmDQoNCiAgIEJyYXk6DQogICAgIHRpdGxlOiBBIE5ldyBIVFRQIFN0 YXR1cyBDb2RlIGZvciBMZWdhbGx5LXJlc3RyaWN0ZWQgUmVzb3VyY2VzDQogICAgIGRhdGU6IDIw MTYNCiAgICAgYXV0aG9yOg0KICAgICAgICAtIGluczogVC4gQnJheQ0KICAgICB0YXJnZXQ6IGh0 dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLWh0dHBiaXMtbGVnYWxseS1yZXN0 cmljdGVkLXN0YXR1cy0wNA0KDQogICBEYWVkYWx1czoNCiAgICAgdGl0bGU6IFRoZSBDb250aW5n ZW50IEludGVybmV0DQogICAgIGRhdGU6IDIwMTYNCiAgICAgYXV0aG9yOg0KICAgICAgICAtIGlu czogRC4gQ2xhcmsNCiAgICAgc2VyaWVzaW5mbzogRGFlZGFsdXMgV2ludGVyIDIwMTYsIFZvbC4g MTQ1LCBOby4gMS4gcC4gOSYjeDIwMTM7MTcNCiAgICAgdGFyZ2V0OiBodHRwOi8vd3d3Lm1pdHBy ZXNzam91cm5hbHMub3JnL3RvYy9kYWVkL2N1cnJlbnQNCg0KICAgU2F1dGVyOg0KICAgICB0aXRs ZTogVGhlIENvbWluZyBTd2FybQ0KICAgICBkYXRlOiAyMDE0DQogICAgIGF1dGhvcjoNCiAgICAg ICAgLSBpbnM6IE0uIFNhdXRlcg0KICAgICBzZXJpZXNpbmZvOiBCbG9vbXNidXJ5LCBMb25kb24N Cg0KICAgV2FsZmlzaDoNCiAgICAgdGl0bGU6IE1pZGRsZWJveGVzIE5vIExvbmdlciBDb25zaWRl cmVkIEhhcm1mdWwNCiAgICAgZGF0ZTogMjAwNA0KICAgICBhdXRob3I6DQogICAgICAgIC0gaW5z OiBNLiBXYWxmaXNoDQogICAgICAgIC0gaW5zOiBKLiBTdHJpYmxpbmcNCiAgICAgICAgLSBpbnM6 IE0uIEtyb2huDQogICAgICAgIC0gaW5zOiBILiBCYWxha3Jpc2huYW4NCiAgICAgICAgLSBpbnM6 IFIuIE1vcnJpcw0KICAgICAgICAtIGluczogUy4gU2hlbmtlcg0KICAgICB0YXJnZXQ6IGh0dHA6 Ly9ubXMuY3NhaWwubWl0LmVkdS9kb2ENCg0KICAgQWJpYmlsOg0KICAgICB0aXRsZTogRGlzc2Vj dGluZyAnT3BlcmF0aW9uIEFiYWJpbCcgLSBhbiBPU0lOVCBBbmFseXNpcw0KICAgICBkYXRlOiAy MDEyDQogICAgIGF1dGhvcjoNCiAgICAgICAgLSBpbnM6IEQuIERhbmNoZXYNCiAgICAgdGFyZ2V0 OiBodHRwOi8vZGRhbmNoZXYuYmxvZ3Nwb3QuYmUvMjAxMi8wOS9kaXNzZWN0aW5nLW9wZXJhdGlv bi1hYmFiaWwtb3NpbnQuaHRtbA0KDQogICBHcmVlbk1vdmVtZW50Og0KICAgICB0aXRsZTogSXJh biBERG9TDQogICAgIGRhdGU6IDIwMDkNCiAgICAgYXV0aG9yOg0KICAgICAgICAtIGluczogTi4g VmlsbGVuZXV2ZQ0KICAgICB0YXJnZXQ6IGh0dHBzOi8vd3d3Lm5hcnR2Lm9yZy8yMDA5LzA2LzE2 L2lyYW4tZGRvcy8NCg0KICAgWnVja2VybWFuOg0KICAgICB0aXRsZTogUmVwb3J0IG9uIERpc3Ry aWJ1dGVkIERlbmlhbCBvZiBTZXJ2aWNlIChERG9TKSBBdHRhY2tzDQogICAgIGRhdGU6IDIwMTAN CiAgICAgYXV0aG9yOg0KICAgICAgICAtIGluczogRS4gWnVja2VybWFuDQogICAgICAgIC0gaW5z OiBILiBSb2JlcnRzDQogICAgICAgIC0gaW5zOiBSLiBNY0dyYWR5DQogICAgICAgIC0gaW5zOiBK LiBZb3JrDQogICAgICAgIC0gaW5zOiBKLiBQYWxmcmV5DQogICAgIHRhcmdldDogaHR0cHM6Ly9j eWJlci5sYXcuaGFydmFyZC5lZHUvc2l0ZXMvY3liZXIubGF3LmhhcnZhcmQuZWR1L2ZpbGVzLzIw MTBfRERvU19BdHRhY2tzX0h1bWFuX1JpZ2h0c19hbmRfTWVkaWEucGRmDQogICAgIHNlcmllc2lu Zm86IFRoZSBCZXJrbWFuIENlbnRlciBmb3IgSW50ZXJuZXQgYW5kIFNvY2lldHkgYXQgSGFydmFy ZCBVbml2ZXJzaXR5DQoNCiAgIElDQ1BSOg0KICAgICB0aXRsZTogSW50ZXJuYXRpb25hbCBDb3Zl bmFudCBvbiBDaXZpbCBhbmQgUG9saXRpY2FsIFJpZ2h0cw0KICAgICBkYXRlOiAxOTc2DQogICAg IGF1dGhvcjoNCiAgICAgICAgb3JnOiBVbml0ZWQgTmF0aW9ucyBHZW5lcmFsIEFzc2VtYmx5DQog ICAgIHRhcmdldDogaHR0cDovL3d3dy5vaGNoci5vcmcvRU4vUHJvZmVzc2lvbmFsSW50ZXJlc3Qv UGFnZXMvQ0NQUi5hc3B4DQoNCiAgIEJlcm5lcnMtTGVlOg0KICAgICB0aXRsZTogV2VhdmluZyB0 aGUgV2ViLA0KICAgICBhdXRob3I6DQogICAgICAgLSBpbnM6IFQuIEJlcm5lcnMtTGVlDQogICAg ICAgLSBpbnM6IE0uIEZpc2NoZXR0aQ0KICAgICBzZXJpZXNpbmZvOg0KICAgICAgIEhhcnBlckNv bGxpbnM6IHAgMjA4DQogICAgIGRhdGU6IDE5OTkNCg0KICAgU2FsdHplcjoNCiAgICAgdGl0bGU6 IEVuZC10by1FbmQgQXJndW1lbnRzIGluIFN5c3RlbSBEZXNpZ24NCiAgICAgYXV0aG9yOg0KICAg ICAgIC0gaW5zOiBKLkguIFNhbHR6ZXINCiAgICAgICAtIGluczogRC5QLiBSZWVkDQogICAgICAg LSBpbnM6IEQuRC4gQ2xhcmsNCiAgICAgc2VyaWVzaW5mbzogQUNNIFRPQ1MsIFZvbCAyLCBOdW1i ZXIgNCwgTm92ZW1iZXINCiAgICAgICAgMTk4NCwgcHAgMjc3LTI4OC4NCiAgICAgZGF0ZTogMTk4 NA0KDQogICBDbGFyazoNCiAgICAgdGl0bGU6IFRoZSBEZXNpZ24gUGhpbG9zb3BoeSBvZiB0aGUg REFSUEEgSW50ZXJuZXQgUHJvdG9jb2xzDQogICAgIGF1dGhvcjoNCiAgICAgICAtIGluczogRC4g Q2xhcmsNCiAgICAgc2VyaWVzaW5mbzogUHJvYyBTSUdDT01NIDg4LCBBQ00gQ0NSIFZvbCAxOCwg TnVtYmVyIDQsIEF1Z3VzdA0KICAgICAgICAxOTg4LCBwcC4gMTA2LTExNC4NCiAgICAgZGF0ZTog MTk4OA0KDQogICBCbHVtZW50aGFsOg0KICAgICB0aXRsZTogIlJldGhpbmtpbmcgdGhlIGRlc2ln biBvZiB0aGUgSW50ZXJuZXQ6IFRoZSBlbmQtdG8tZW5kIGFyZ3VtZW50cyB2cy4gdGhlIGJyYXZl IG5ldyB3b3JsZCINCiAgICAgYXV0aG9yOg0KICAgICAgIC0gaW5zOiBNLiBCbHVtZW50aGFsDQog ICAgICAgLSBpbnM6IEQuRC4gQ2xhcmsNCiAgICAgc2VyaWVzaW5mbzogQUNNIFRyYW5zYWN0aW9u cyBvbiBJbnRlcm5ldCBUZWNobm9sb2d5LCBWb2wuIDEsIE5vLiAxLCBBdWd1c3QgMjAwMSwgcHAg NzAtMTA5Lg0KICAgICBkYXRlOiAyMDAxDQoNCiAgIFdQLVN0YXRlbGVzczoNCiAgICAgdGl0bGU6 IFN0YXRlbGVzcyBwcm90b2NvbA0KICAgICB0YXJnZXQ6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9y Zy93aWtpL1N0YXRlbGVzc19wcm90b2NvbA0KDQogICBXUC1EZWJ1Z2dpbmc6DQogICAgIHRpdGxl OiBEZWJ1Z2dpbmcNCiAgICAgdGFyZ2V0OiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9E ZWJ1Z2dpbmcNCg0KICAgRklBcmNoOg0KICAgICB0aXRsZTogRnV0dXJlIEludGVybmV0IERlc2ln biBQcmluY2lwbGVzDQogICAgIGRhdGU6IEphbnVhcnkgMjAxMg0KICAgICB0YXJnZXQ6IGh0dHA6 Ly93d3cuZnV0dXJlLWludGVybmV0LmV1L3VwbG9hZHMvbWVkaWEvRklBcmNoX0Rlc2lnbl9Qcmlu Y2lwbGVzX1YxLjAucGRmDQoNCiAgIEVsYWhpOg0KICAgICB0aXRsZTogIkNPUkRPTiAtIEEgdGF4 b25vbXkgb2YgSW50ZXJuZXQgQ2Vuc29yc2hpcCBSZXNpc3RhbmNlIFN0cmF0ZWdpZXMiDQogICAg IGF1dGhvcjoNCiAgICAgICAgLSBpbnM6IFQuIEVsYWhpDQogICAgICAgIC0gaW5zOiBJLiBHb2xk YmVyZw0KICAgICB0YXJnZXQ6IGh0dHA6Ly9jYWNyLnV3YXRlcmxvby5jYS90ZWNocmVwb3J0cy8y MDEyL2NhY3IyMDEyLTMzLnBkZg0KICAgICBkYXRlOiAyMDEyDQoNCiAgIEJyb3duOg0KICAgICB0 aXRsZTogIkEgUHJlaGlzdG9yeSBvZiBJbnRlcm5ldCBHb3Zlcm5hbmNlIg0KICAgICBkYXRlOiAy MDEzDQogICAgIGF1dGhvcjoNCiAgICAgICAgLSBpbnM6IEkuIEJyb3duDQogICAgICAgIC0gaW5z OiBNLiBaaWV3aXR6DQogICAgIHNlcmllc2luZm86IFJlc2VhcmNoIEhhbmRib29rIG9uIEdvdmVy bmFuY2Ugb2YgdGhlIEludGVybmV0LiBDaGVsdGVuaGFtLCBFZHdhcmQgRWxnYXIuDQoNCiAgIEZS QU1FV09SSzoNCiAgICAgdGl0bGU6IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLSBGcmFtZXdvcmsg Zm9yIGludGVybmF0aW9uYWxpemF0aW9uLCBwcmVwYXJlZCBieSBJU08vSUVDIEpUQyAxL1NDIDIy L1dHIDIwIElTTy9JRUMgVFIgMTEwMTcNCiAgICAgZGF0ZTogMTk5Nw0KICAgICBhdXRob3I6DQog ICAgICAgIC0gaW5zOiBJU08vSUVDDQoNCiAgIFczQ2kxOG5EZWY6DQogICAgIHRpdGxlOiBMb2Nh bGl6YXRpb24gdnMuIEludGVybmF0aW9uYWxpemF0aW9uDQogICAgIGRhdGU6IDIwMTANCiAgICAg YXV0aG9yOg0KICAgICAgICAtIG9yZzogVzNDDQogICAgIHRhcmdldDogaHR0cDovL3d3dy53My5v cmcvSW50ZXJuYXRpb25hbC9xdWVzdGlvbnMvcWEtaTE4bi5lbg0KDQogICBXM0NBY2Nlc3NpYmls aXR5Og0KICAgICB0aXRsZTogQWNjZXNzaWJpbGl0eQ0KICAgICBkYXRlOiAyMDE1DQogICAgIGF1 dGhvcjoNCiAgICAgICAgLSBvcmc6IFczQw0KICAgICB0YXJnZXQ6IGh0dHBzOi8vd3d3LnczLm9y Zy9zdGFuZGFyZHMvd2ViZGVzaWduL2FjY2Vzc2liaWxpdHkNCg0KICAgUmFjaG92aXRzYToNCiAg ICAgdGl0bGU6IEVuZ2luZWVyaW5nICJQcml2YWN5IGJ5IERlc2lnbiIgaW4gdGhlIEludGVybmV0 IFByb3RvY29scyAtIFVuZGVyc3RhbmRpbmcgT25saW5lIFByaXZhY3kgYm90aCBhcyBhIFRlY2hu aWNhbCBhbmQgYSBIdW1hbiBSaWdodHMgSXNzdWUgaW4gdGhlIEZhY2Ugb2YgUGVydmFzaXZlIE1v bml0b3JpbmcNCiAgICAgZGF0ZTogMjAxNQ0KICAgICBhdXRob3I6DQogICAgICAgIC0gaW5zOiBB LiBSYWNob3ZpdHNhDQogICAgIHRhcmdldDogaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbC1hcmNo aXZlL3dlYi9ocnBjL2N1cnJlbnQvcGRmUkJuUllGZVZzbS5wZGYNCiAgICAgc2VyaWVzaW5mbzog SW50ZXJuYXRpb25hbCBKb3VybmFsIG9mIExhdyBhbmQgSW5mb3JtYXRpb24gVGVjaG5vbG9neQ0K DQogICBEYXZpZHNvbmV0YWw6DQogICAgIHRpdGxlOiBTdHJhbmdlcnMgaW4gYSBzdHJhbmdlIGxh bmQNCiAgICAgZGF0ZTogMjAwMg0KICAgICBhdXRob3I6DQogICAgICAgIC0gaW5zOiBBLiBEYXZp ZHNvbg0KICAgICAgICAtIGluczogSi4gTW9ycmlzDQogICAgICAgIC0gaW5zOiBSLiBDb3VydG5l eQ0KICAgICB0YXJnZXQ6IGh0dHBzOi8vd3d3LmNkdC5vcmcvZmlsZXMvcHVibGljYXRpb25zL3Bp YWlzLnBkZg0KICAgICBzZXJpZXNpbmZvOiBUZWxlY29tbXVuaWNhdGlvbnMgUG9saWN5IFJlc2Vh cmNoIENvbmZlcmVuY2UNCg0KICAgQ2xhcmtldGFsOg0KICAgICB0aXRsZTogVHVzc2xlIGluIGN5 YmVyc3BhY2UgLSBkZWZpbmluZyB0b21vcnJvdydzIEludGVybmV0DQogICAgIGRhdGU6IDIwMDUN CiAgICAgYXV0aG9yOg0KICAgICAgICAtIGluczogRC5ELiBDbGFyaw0KICAgICAgICAtIGluczog Si4gV3JvY2xhd3NraQ0KICAgICAgICAtIGluczogSy5SLiBTb2xsaW5zDQogICAgICAgIC0gaW5z OiBSLiBCcmFkZW4NCiAgICAgdGFyZ2V0OiBodHRwczovL2RsLmFjbS5vcmcvY2l0YXRpb24uY2Zt P2lkPTEwNzQwNDkNCiAgICAgc2VyaWVzaW5mbzogQUNNIERpZ2l0YWwgTGlicmFyeQ0KDQogICBC cm9lZGVyczoNCiAgICAgIHRpdGxlOiBUaGUgcHVibGljIGNvcmUgb2YgdGhlIEludGVybmV0DQog ICAgICBkYXRlOiAyMDE1DQogICAgICBhdXRob3I6DQogICAgICAgICAtIGluczogRC4gQnJvZWRl cnMNCiAgICAgIHRhcmdldDogaHR0cDovL3d3dy53cnIubmwvZW4vcHVibGljYXRpb25zL3B1Ymxp Y2F0aW9uL2FydGljbGUvZGUtcHVibGlla2Uta2Vybi12YW4taGV0LWludGVybmV0LTEvDQogICAg ICBzZXJpZXNpbmZvOiBXUlINCg0KICAgTXVzaWFuaToNCiAgICAgIHRpdGxlOiAgR2lhbnRzLCBE d2FyZnMgYW5kIERlY2VudHJhbGl6ZWQgQWx0ZXJuYXRpdmVzIHRvIEludGVybmV0LWJhc2VkIFNl cnZpY2VzIC0gQW4gSXNzdWUgb2YgSW50ZXJuZXQgR292ZXJuYW5jZQ0KICAgICAgZGF0ZTogMjAx NQ0KICAgICAgYXV0aG9yOg0KICAgICAgICAtIGluczogRi4gTXVzaWFuaQ0KICAgICAgdGFyZ2V0 OiBodHRwOi8vZG9pLm9yZy8xMC4xNjk5Ny93cGNjLjIxNA0KICAgICAgc2VyaWVzaW5mbzogV2Vz dG1pbmlzdGVyIFBhcGVycyBpbiBDb21tdW5pY2F0aW9uIGFuZCBDdWx0dXJlDQoNCiAgIEJyb3du TWFyc2RlbjoNCiAgICAgIHRpdGxlOiBSZWd1bGF0aW5nIGNvZGUNCiAgICAgIGRhdGU6IDIwMTMN CiAgICAgIGF1dGhvcjoNCiAgICAgICAgLSBpbnM6IEkuIEJyb3duDQogICAgICAgIC0gaW5zOiBD LiBNYXJzZGVuDQogICAgICB0YXJnZXQ6IGh0dHBzOi8vbWl0cHJlc3MubWl0LmVkdS9ib29rcy9y ZWd1bGF0aW5nLWNvZGUNCiAgICAgIHNlcmllc2luZm86IE1JVCBQcmVzcw0KDQogICBCcm93bmV0 YWw6DQogICAgICB0aXRsZTogU2hvdWxkIHNwZWNpZmljIHZhbHVlcyBiZSBlbWJlZGRlZCBpbiB0 aGUgSW50ZXJuZXQgQXJjaGl0ZWN0dXJlPw0KICAgICAgZGF0ZTogMjAxMA0KICAgICAgYXV0aG9y Og0KICAgICAgICAtIGluczogSS4gQnJvd24NCiAgICAgICAgLSBpbnM6IEQuIENsYXJrDQogICAg ICAgIC0gaW5zOiBELiBUcm9zc2VuDQogICAgICB0YXJnZXQ6IGh0dHA6Ly9jb25mZXJlbmNlcy5z aWdjb21tLm9yZy9jby1uZXh0LzIwMTAvV29ya3Nob3BzL1JFQVJDSC9SZUFyY2hfcGFwZXJzLzEw LUJyb3duLnBkZg0KICAgICAgc2VyaWVzaW5mbzogU2lnY29tbQ0KDQogICBBYmJhdGU6DQogICAg ICB0aXRsZTogSW52ZW50aW5nIHRoZSBJbnRlcm5ldA0KICAgICAgZGF0ZTogMjAwMA0KICAgICAg YXV0aG9yOg0KICAgICAgICAtIGluczogSi4gQWJiYXRlDQogICAgICB0YXJnZXQ6IGh0dHBzOi8v bWl0cHJlc3MubWl0LmVkdS9ib29rcy9pbnZlbnRpbmctaW50ZXJuZXQNCiAgICAgIHNlcmllc2lu Zm86IE1JVCBQcmVzcw0KDQogICBaaXR0cmFpbjoNCiAgICAgIHRpdGxlOiBUaGUgRnV0dXJlIG9m IHRoZSBJbnRlcm5ldCAtIEFuZCBIb3cgdG8gU3RvcCBJdA0KICAgICAgZGF0ZTogMjAwOA0KICAg ICAgYXV0aG9yOg0KICAgICAgICAtIGluczogSi4gWml0dHJhaW4NCiAgICAgIHRhcmdldDogaHR0 cHM6Ly9kYXNoLmhhcnZhcmQuZWR1L2JpdHN0cmVhbS9oYW5kbGUvMS80NDU1MjYyL1ppdHRyYWlu X0Z1dHVyZSUyMG9mJTIwdGhlJTIwSW50ZXJuZXQucGRmP3NlcXVlbmNlPTENCiAgICAgIHNlcmll c2luZm86IFlhbGUgVW5pdmVyc2l0eSBQcmVzcw0KDQogICBEZW5hcmRpczE1Og0KICAgICAgdGl0 bGU6IFRoZSBJbnRlcm5ldCBEZXNpZ24gVGVuc2lvbiBiZXR3ZWVuIFN1cnZlaWxsYW5jZSBhbmQg U2VjdXJpdHkNCiAgICAgIGRhdGU6IDIwMTUNCiAgICAgIGF1dGhvcjoNCiAgICAgICAgLSBpbnM6 IEwuIERlbmFyZGlzDQogICAgICB0YXJnZXQ6IGh0dHA6Ly9pcy5nZC83R0FuRnkNCiAgICAgIHNl cmllc2luZm86IElFRUUgQW5uYWxzIG9mIHRoZSBIaXN0b3J5IG9mIENvbXB1dGluZyAodm9sdW1l IDM3LTIpDQoNCiAgIERlbmFyZGlzMTQ6DQogICAgICB0aXRsZTogVGhlIEdsb2JhbCBXYXIgZm9y IEludGVybmV0IEdvdmVybmFuY2UNCiAgICAgIGRhdGU6IDIwMTQNCiAgICAgIGF1dGhvcjoNCiAg ICAgICAgLSBpbnM6IEwuIERlbmFyZGlzDQogICAgICB0YXJnZXQ6IGh0dHBzOi8vd3d3LmpzdG9y Lm9yZy9zdGFibGUvai5jdHQ1dmt6NG4NCiAgICAgIHNlcmllc2luZm86IFlhbGUgVW5pdmVyc2l0 eSBQcmVzcw0KDQogICBMZXNzaWc6DQogICAgICB0aXRsZTogQ29kZSAtIEFuZCBPdGhlciBMYXdz IG9mIEN5YmVyc3BhY2UsIFZlcnNpb24gMi4wLg0KICAgICAgZGF0ZTogMjAwNg0KICAgICAgYXV0 aG9yOg0KICAgICAgICAtIGluczogTC4gTGVzc2lnDQogICAgICB0YXJnZXQ6IGh0dHA6Ly9jb2Rl djIuY2MvDQogICAgICBzZXJpZXNpbmZvOiBOZXcgWW9yayBCYXNpYyBCb29rcw0KDQogICBNdWVs bGVyOg0KICAgICAgdGl0bGU6IE5ldHdvcmtzIGFuZCBTdGF0ZXMNCiAgICAgIGRhdGU6IDIwMTAN CiAgICAgIGF1dGhvcjoNCiAgICAgICAgLSBpbnM6IE0uIE11ZWxsZXINCiAgICAgIHRhcmdldDog aHR0cHM6Ly9taXRwcmVzcy5taXQuZWR1L2Jvb2tzL25ldHdvcmtzLWFuZC1zdGF0ZXMNCiAgICAg IHNlcmllc2luZm86IE1JVCBQcmVzcw0KDQogICBCbGVzczoNCiAgICAgIHRpdGxlOiBWYWx1ZXMg YW5kIE5ldHdvcmtzDQogICAgICBkYXRlOiAyMDE1DQogICAgICBhdXRob3I6DQogICAgICAgIC0g aW5zOiBSLiBCbGVzcw0KICAgICAgICAtIGluczogQy4gT3J3YXQNCg0KICAgQmVua2xlcjoNCiAg ICAgIHRpdGxlOiBUaGUgd2VhbHRoIG9mIE5ldHdvcmtzIC0gSG93IHNvY2lhbCBwcm9kdWN0aW9u IHRyYW5zZm9ybXMgbWFya2V0cyBhbmQgZnJlZWRvbQ0KICAgICAgZGF0ZTogMjAwNg0KICAgICAg YXV0aG9yOg0KICAgICAgICAtIGluczogWS4gQmVua2xlcg0KICAgICAgdGFyZ2V0OiBodHRwOi8v aXMuZ2QvcnhVcFRRDQogICAgICBzZXJpZXNpbmZvOiBOZXcgSGF2ZW4gYW5kIExvbmRvbiAtIFlh bGUgVW5pdmVyc2l0eSBQcmVzcw0KDQogICBCYWJiaWU6DQogICAgIHRpdGxlOiBUaGUgQmFzaWNz IG9mIFNvY2lhbCBSZXNlYXJjaA0KICAgICBkYXRlOiAyMDEwDQogICAgIGF1dGhvcjoNCiAgICAg ICAgLSBpbnM6IEUuIEJhYmJpZQ0KICAgICBzZXJpZXNpbmZvOiBCZWxtb250IENBIENlbmdhZ2UN Cg0KICAgRGVuemluOg0KICAgICB0aXRsZTogSGFuZGJvb2sgb2YgUXVhbGl0YXRpdmUgUmVzZWFy Y2gNCiAgICAgZGF0ZTogMjAwMA0KICAgICBhdXRob3I6DQogICAgICAgIC0gaW5zOiBOLksuIERl bnppbg0KICAgICAgICAtIGluczogWS5TLiBMaW5jb2xuDQogICAgIHRhcmdldDogaHR0cDovL3d3 dy5hbWF6b24uY29tL1NBR0UtSGFuZGJvb2stUXVhbGl0YXRpdmUtUmVzZWFyY2gtSGFuZGJvb2tz L2RwLzE0MTI5NzQxNzgNCiAgICAgc2VyaWVzaW5mbzogVGhvdXNhbmQgT2FrcyBDQSBTYWdlDQoN CiAgIEdlZXJ0ejoNCiAgICAgIHRpdGxlOiBLaW5zaGlwIGluIEJhbGkNCiAgICAgIGRhdGU6IDE5 NzUNCiAgICAgIGF1dGhvcjoNCiAgICAgICAgLSBpbnM6IEcuIENsaWZmb3JkDQogICAgICB0YXJn ZXQ6IGh0dHA6Ly9wcmVzcy51Y2hpY2Fnby5lZHUvdWNwL2Jvb2tzL2Jvb2svY2hpY2Fnby9LL2Jv MzYyNTA4OC5odG1sDQogICAgICBzZXJpZXNpbmZvOiBDaGljYWdvIFVuaXZlcnNpdHkgb2YgQ2hp Y2FnbyBQcmVzcy4NCg0KICAgSmFicmk6DQogICAgICB0aXRsZTogRGlzY291cnNlcyBvbiBWaW9s ZW5jZSAtIGNvbmZsaWN0IGFuYWx5c2lzIHJlY29uc2lkZXJlZA0KICAgICAgZGF0ZTogMTk5Ng0K ICAgICAgYXV0aG9yOg0KICAgICAgICAtIGluczogVi4gSmFicmkNCiAgICAgIHNlcmllc2luZm86 IE1hbmNoZXN0ZXIgVW5pdmVyc2l0eSBQcmVzcw0KDQogICBLaW5nOg0KICAgICAgdGl0bGU6IFBv d2VyLCBTb2NpYWwgVmlvbGVuY2UgYW5kIENpdmlsIFdhcnMNCiAgICAgIGRhdGU6IDIwMDcNCiAg ICAgIGF1dGhvcjoNCiAgICAgICAgLSBpbnM6IEMuIEtpbmcNCiAgICAgIHNlcmllc2luZm86IFdh c2hpbmd0b24gRC5DLiBVbml0ZWQgU3RhdGVzIEluc3RpdHV0ZSBvZiBQZWFjZSBQcmVzcw0KDQog ICBTY2hyb2VkZXI6DQogICAgICB0aXRsZTogSW50cm9kdWN0aW9uIC0gVmlvbGVudCBJbWFnaW5h cmllcyBhbmQgVmlvbGVudCBQcmFjdGljZQ0KICAgICAgZGF0ZTogMjAwMQ0KICAgICAgYXV0aG9y Og0KICAgICAgICAtIGluczogSS5XLiBTY2hyb2VkZXINCiAgICAgICAgLSBpbnM6IEIuIFNjaG1p ZHQNCiAgICAgIHRhcmdldDogaHR0cDovL3Jlc291cmNlbGlzdHMuc3QtYW5kcmV3cy5hYy51ay9p dGVtcy9CRkMyMDM2My02N0IwLUIzRUYtRUE0OC0xM0U1MjMwRTc4OTkuaHRtbA0KICAgICAgc2Vy aWVzaW5mbzogTG9uZG9uIGFuZCBOZXcgWW9yayBSb3V0bGVkZ2UNCg0KICAgUmljaGllOg0KICAg ICAgdGl0bGU6IFF1YWxpdGF0aXZlIFJlc2VhcmNoIFByYWN0aWNlIC0gQSBHdWlkZSBmb3IgU29j aWFsIFNjaWVuY2UgU3R1ZGVudHMgYW5kIFJlc2VhcmNoZXJzDQogICAgICBkYXRlOiAyMDAzDQog ICAgICBhdXRob3I6DQogICAgICAgIC0gaW5zOiBKLiBSaWNoaWUNCiAgICAgICAgLSBpbnM6IEou IExld2lzDQogICAgICB0YXJnZXQ6IGh0dHA6Ly93d3cuYW1hem9uLmNvLnVrL1F1YWxpdGF0aXZl LVJlc2VhcmNoLVByYWN0aWNlLVN0dWRlbnRzLVJlc2VhcmNoZXJzL2RwLzA3NjE5NzExMDYNCiAg ICAgIHNlcmllc2luZm86IExvbmRvbiBTYWdlDQoNCiAgIERvdHk6DQogICAgICB0aXRsZTogQXV0 b21hdGVkIHRleHQgYW5hbHlzaXMgb2YgUmVxdWVzdHMgZm9yIENvbW1lbnQgKFJGQ3MpDQogICAg ICBkYXRlOiAyMDE0DQogICAgICBhdXRob3I6DQogICAgICAgIC0gaW5zOiBOLiBEb3R5DQogICAg ICB0YXJnZXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9ucGRvdHkvcmZjLWFuYWx5c2lzDQoNCiAgIFBv dXdlbHNlOg0KICAgICAgdGl0bGU6IE1lZGlhIHdpdGhvdXQgY2Vuc29yc2hpcA0KICAgICAgZGF0 ZTogMjAxMg0KICAgICAgYXV0aG9yOg0KICAgICAgICAtIGluczogSi4gUG91d2Vsc2UsIEVkLg0K ICAgICAgdGFyZ2V0OiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtcG91d2Vsc2Ut Y2Vuc29yZnJlZS1zY2VuYXJpb3MNCg0KLS0tIGFic3RyYWN0DQoNClRoZSBpbmNyZWFzZWQgaW50 ZXJ0d2luZW1lbnQgb2YgSW50ZXJuZXQgYW5kIHNvY2lldHkgaW5jcmVhc2VzIHRoZSBpbXBhY3Qg b2YgdGhlIEludGVybmV0IG9uIHRoZSBsaXZlcyBvZiBpbmRpdmlkdWFscy4gQmVjYXVzZSBvZiB0 aGlzLCB0aGUgZGVzaWduIGFuZCBkZXZlbG9wbWVudCBvZiB0aGUgYXJjaGl0ZWN0dXJlIG9mIHRo ZSBJbnRlcm5ldCBhbHNvIGhhcyBhbiBpbmNyZWFzaW5nIGltcGFjdCBvbiBzb2NpZXR5LiBUaGlz IGhhcyBsZWQgdG8gYW4gaW5jcmVhc2luZyByZWNvZ25pdGlvbiB0aGF0IGh1bWFuIHJpZ2h0cyB7 e1VESFJ9fSB7e0lDQ1BSfX0ge3tJQ0VTQ1J9fSBoYXZlIGEgcm9sZSBpbiB0aGUgZGV2ZWxvcG1l bnQgYW5kIG1hbmFnZW1lbnQgb2YgdGhlIEludGVybmV0IHt7SFJDMjAxMn19IHt7VU5HQTIwMTN9 fSB7e05FVG11bmRpYWx9fS4gSXQgaGFzIGFsc28gYmVlbiBhcmd1ZWQgdGhhdCB0aGUgSW50ZXJu ZXQgc2hvdWxkIGJlIHN0cmVuZ3RoZW5lZCBhcyBhIGh1bWFuIHJpZ2h0cyBlbmFibGluZyBlbnZp cm9ubWVudCB7e0Jyb3dufX0uDQoNClRoaXMgZG9jdW1lbnQgcHJvdmlkZXMgYSBwcm9wb3NhbCBm b3IgYSBnbG9zc2FyeSB0byBkaXNjdXNzIHRoZSByZWxhdGlvbiBiZXR3ZWVuIGh1bWFuIHJpZ2h0 cyBhbmQgSW50ZXJuZXQgcHJvdG9jb2xzLCBhbiBvdmVydmlldyBvZiB0aGUgZGlzY3Vzc2lvbiwg YSBwcm9wb3NhbCBmb3IgdGhlIG1hcHBpbmcgb2YgdGhlIHJlbGF0aW9uIGJldHdlZW4gaHVtYW4g cmlnaHRzIGFuZCB0ZWNobmljYWwgY29uY2VwdHMsIGFuZCBhIHByb3Bvc2FsIGZvciBndWlkZWxp bmVzIGZvciBodW1hbiByaWdodHMgY29uc2lkZXJhdGlvbnMsIHNpbWlsYXIgdG8gdGhlIHdvcmsg ZG9uZSBvbiB0aGUgZ3VpZGVsaW5lcyBmb3IgcHJpdmFjeSBjb25zaWRlcmF0aW9ucyB7e1JGQzY5 NzN9fS4NCg0KRGlzY3Vzc2lvbiBvZiB0aGlzIGRyYWZ0IGF0OiBocnBjQGlydGYub3JnIC8vIGh0 dHBzOi8vd3d3LmlydGYub3JnL21haWxtYW4vbGlzdGluZm8vaHJwYw0KDQotLS0gbWlkZGxlDQoN CkludHJvZHVjdGlvbg0KPT09PT09PT09PT09DQoNCiAgICAiVGhlcmUncyBhIGZyZWVkb20gYWJv dXQgdGhlIEludGVybmV0OiBBcyBsb25nIGFzIHdlIGFjY2VwdCB0aGUNCiAgICAgICBydWxlcyBv ZiBzZW5kaW5nIHBhY2tldHMgYXJvdW5kLCB3ZSBjYW4gc2VuZCBwYWNrZXRzIGNvbnRhaW5pbmcN CiAgICAgICBhbnl0aGluZyB0byBhbnl3aGVyZS4iDQoNCnt7QmVybmVycy1MZWV9fQ0KDQoNClRo aXMgZG9jdW1lbnQgYWltcyB0byBleHBvc2UgdGhlIHJlbGF0aW9uIGJldHdlZW4gcHJvdG9jb2xz IGFuZCBodW1hbiByaWdodHMsIHByb3Bvc2UgcG9zc2libGUgZ3VpZGVsaW5lcyB0byBwcm90ZWN0 IHRoZSBJbnRlcm5ldCBhcyBhIGh1bWFuLXJpZ2h0cy1lbmFibGluZyBlbnZpcm9ubWVudCBpbiBm dXR1cmUgcHJvdG9jb2wgZGV2ZWxvcG1lbnQsIGluIGEgbWFubmVyIHNpbWlsYXIgdG8gdGhlIHdv cmsgZG9uZSBmb3IgUHJpdmFjeSBDb25zaWRlcmF0aW9ucyBpbiB7e1JGQzY5NzN9fSwgYW5kIHRv IGluY3JlYXNlIHRoZSBhd2FyZW5lc3MgaW4gYm90aCB0aGUgaHVtYW4gcmlnaHRzIGNvbW11bml0 eSBhbmQgdGhlIHRlY2huaWNhbCBjb21tdW5pdHkgb24gdGhlIGltcG9ydGFuY2Ugb2YgdGhlIHRl Y2huaWNhbCB3b3JraW5ncyBvZiB0aGUgSW50ZXJuZXQgYW5kIGl0cyBpbXBhY3Qgb24gaHVtYW4g cmlnaHRzLg0KDQpPcGVuLCBzZWN1cmUgYW5kIHJlbGlhYmxlIGNvbm5lY3Rpdml0eSBpcyBuZWNl c3NhcnkgKGFsdGhvdWdoIG5vdCBzdWZmaWNpZW50KSB0byBleGNlcmNpc2UgdGhlIGh1bWFuIHJp Z2h0cyBzdWNoIGFzIGZyZWVkb20gb2YgZXhwcmVzc2lvbiBhbmQgZnJlZWRvbSBvZiBhc3NvY2lh dGlvbiwgYXMgZGVmaW5lZCBpbiB0aGUgVW5pdmVyc2FsIERlY2xhcmF0aW9uIG9mIEh1bWFuIFJp Z2h0cyB7e1VESFJ9fS4gVGhlIEludGVybmV0IGFpbXMgdG8gYmUgYSBnbG9iYWwgbmV0d29yayBv ZiBuZXR3b3JrcyB0aGF0IHByb3ZpZGVzIHVuZmV0dGVyZWQgY29ubmVjdGl2aXR5IHRvIGFsbCB1 c2VycyBhdCBhbGwgdGltZXMgYW5kIGZvciBhbnkgY29udGVudCB7e1JGQzE5NTh9fS4gVGhpcyBv YmplY3RpdmUgb2Ygc3RpbXVsYXRpbmcgZ2xvYmFsIGNvbm5lY3Rpdml0eSBjb250cmlidXRlcyB0 byB0aGUgSW50ZXJuZXQncyByb2xlIGFzIGFuIGVuYWJsZXIgb2YgaHVtYW4gcmlnaHRzLiBOZXh0 IHRvIHRoYXQsIHRoZSBzdHJvbmcgY29tbWl0bWVudCB0byBzZWN1cml0eSB7e1JGQzE5ODR9fSB7 e1JGQzMzNjV9fSBhbmQgcHJpdmFjeSB7e1JGQzY5NzN9fSB7e1JGQzcyNTh9fSBpbiB0aGUgSW50 ZXJuZXQncyBhcmNoaXRlY3R1cmFsIGRlc2lnbiBjb250cmlidXRlIHRvIHRoZSBzdHJlbmd0aGVu aW5nIG9mIHRoZSBJbnRlcm5ldCBhcyBhIGh1bWFuIHJpZ2h0cyBlbmFibGluZyBlbnZpcm9ubWVu dC4gT25lIGNvdWxkIGV2ZW4gYXJndWUgdGhhdCB0aGUgSW50ZXJuZXQgaXMgbm90IG9ubHkgYW4g ZW5hYmxlciBvZiBodW1hbiByaWdodHMsIGJ1dCB0aGF0IGh1bWFuIHJpZ2h0cyBsaWUgYXQgdGhl IGJhc2lzIG9mLCBhbmQgYXJlIGluZ3JhaW5lZCBpbiwgdGhlIGFyY2hpdGVjdHVyZSBvZiB0aGUg bmV0d29yay4gSW50ZXJuZXQgY29ubmVjdGl2aXR5IGluY3JlYXNlcyB0aGUgY2FwYWNpdHkgZm9y IGluZGl2aWR1YWxzIHRvIGV4ZXJjaXNlIHRoZWlyIHJpZ2h0cywgdGhlIGNvcmUgb2YgdGhlIElu dGVybmV0LCBpdHMgYXJjaGl0ZWN0dXJhbCBkZXNpZ24gaXMgdGhlcmVmb3JlIGNsb3NlbHkgaW50 ZXJ0d2luZWQgd2l0aCB0aGUgaHVtYW4gcmlnaHRzIGZyYW1ld29yayB7e0NhdGhhbmRGbG9yaWRp fX0uDQoNCldoaWxlIHRoZSBJbnRlcm5ldCB3YXMgZGVzaWduZWQgd2l0aCBmcmVlZG9tIGFuZCBv cGVubmVzcyBvZiBjb21tdW5pY2F0aW9ucyBhcyBjb3JlIHZhbHVlcywgYXMgdGhlIHNjYWxlIGFu ZCB0aGUgY29tbWVyY2lhbGl6YXRpb24gb2YgdGhlIEludGVybmV0IGdyZXcsIHRvcGljcyBsaWtl IGFjY2VzcywgcmlnaHRzIGFuZCBjb25uZWN0aXZpdHkgYXJlIGZvcmNlZCB0byBjb21wZXRlIHdp dGggb3RoZXIgdmFsdWVzLiBUaGVyZWZvcmUsIGltcG9ydGFudCBodW1hbiByaWdodHMgZW5hYmxp bmcgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSBJbnRlcm5ldCBtaWdodCBiZSBkZWdyYWRlZCBpZiB0 aGV5J3JlIG5vdCBwcm9wZXJseSBkZWZpbmVkLCBkZXNjcmliZWQgYW5kIHByb3RlY3RlZCBhcyBz dWNoLiBBbmQsIHRoZSBvdGhlciB3YXkgYXJvdW5kLCBub3QgcHJvdGVjdGluZyBodW1hbiByaWdo dCBlbmFibGluZyBjaGFyYWN0ZXJpc3RpY3MgY291bGQgYWxzbyByZXN1bHQgaW4gKHBhcnRpYWwp IGxvc3Mgb2YgZnVuY3Rpb25hbGl0eSBhbmQgY29ubmVjdGl2aXR5LCBhbmQgb3RoZXIgaW5oZXJl bnQgcGFydHMgb2YgdGhlIEludGVybmV0J3MgYXJjaGl0ZWN0dXJlLg0KDQpUaGUgSUVURiBoYXMg cHJvZHVjZWQgZ3VpZGVsaW5lcyBhbmQgcHJvY2VkdXJlcyB0byBlbnN1cmUgYW5kIGdhbHZhbml6 ZSB0aGUgcHJpdmFjeSBhbmQgc2VjdXJpdHkgb2YgdGhlIG5ldHdvcmsgaW4gcHJvdG9jb2wgZGV2 ZWxvcG1lbnQuIFRoaXMgZG9jdW1lbnQgYWltcyB0byBleHBsb3JlIHRoZSBwb3NzaWJpbGl0eSBv ZiB0aGUgZGV2ZWxvcG1lbnQgb2Ygc2ltaWxhciBwcm9jZWR1cmVzIGZvciBndWlkZWxpbmVzIGZv ciBodW1hbiByaWdodHMgY29uc2lkZXJhdGlvbnMgdG8gZW5zdXJlIHRoYXQgcHJvdG9jb2xzIGRl dmVsb3BlZCBpbiB0aGUgSUVURiBkbyBub3QgaGF2ZSBhbiBhZHZlcnNlIGltcGFjdCBvbiB0aGUg ZW5qb3ltZW50IG9mIGh1bWFuIHJpZ2h0cyBvbiB0aGUgSW50ZXJuZXQuDQoNCg0KVm9jYWJ1bGFy eSB1c2VkDQo9PT09PT09PT09PT09PT0NCg0KSW4gdGhlIGRpc2N1c3Npb24gb2YgaHVtYW4gcmln aHRzIGFuZCBJbnRlcm5ldCBhcmNoaXRlY3R1cmUgY29uY2VwdHMgZGV2ZWxvcGVkIGluIGNvbXB1 dGVyIHNjaWVuY2UsIG5ldHdvcmtpbmcsIGxhdywgcG9saWN5LW1ha2luZyBhbmQgYWR2b2NhY3kg YXJlIGNvbWluZyB0b2dldGhlci4gVGhlIHNhbWUgY29uY2VwdHMgbWlnaHQgaGF2ZSBhIHZlcnkg ZGlmZmVyZW50IG1lYW5pbmcgYW5kIGltcGxpY2F0aW9ucyBpbiBvdGhlciBhcmVhcyBvZiBleHBl cnRpc2UuIEluIG9yZGVyIHRvIGZvc3RlciBhIGNvbnN0cnVjdGl2ZSBpbnRlcmRpc2NpcGxpbmFy eSBkZWJhdGUsIGFuZCBtaW5pbWl6ZSBkaWZmZXJlbmNlcyBpbiBpbnRlcnByZXRhdGlvbiwgdGhl IGZvbGxvd2luZyBnbG9zc2FyeSBpcyBwcm92aWRlZC4NCg0KQWNjZXNzaWJpbGl0eQ0KOiBGdWxs IEludGVybmV0IENvbm5lY3Rpdml0eSBhcyBkZXNjcmliZWQgaW4ge3tSRkM0MDg0fX0gdG8gcHJv dmlkZSB1bmZldHRlcmVkIGFjY2VzcyB0byB0aGUgSW50ZXJuZXQNCg0KOiBUaGUgZGVzaWduIG9m IHByb3RvY29scywgc2VydmljZXMgb3IgaW1wbGVtZW50YXRpb24gdGhhdCBwcm92aWRlIGFuIGVu YWJsaW5nIGVudmlyb25tZW50IGZvciBwZW9wbGUgd2l0aCBkaXNhYmlsaXRpZXMuDQoNCjogVGhl IGFiaWxpdHkgdG8gcmVjZWl2ZSBpbmZvcm1hdGlvbiBhdmFpbGFibGUgb24gdGhlIEludGVybmV0 DQoNCkFub255bWl0eQ0KOiBUaGUgY29uZGl0aW9uIG9mIGFuIGlkZW50aXR5IGJlaW5nIHVua25v d24gb3IgY29uY2VhbGVkLiB7e1JGQzQ5NDl9fQ0KDQpBbm9ueW1vdXMNCjogQSBzdGF0ZSBvZiBh biBpbmRpdmlkdWFsIGluIHdoaWNoIGFuIG9ic2VydmVyIG9yIGF0dGFja2VyIGNhbm5vdCBpZGVu dGlmeSB0aGUgaW5kaXZpZHVhbCB3aXRoaW4gYSBzZXQgb2Ygb3RoZXIgIGluZGl2aWR1YWxzICh0 aGUgYW5vbnltaXR5IHNldCkuIHt7UkZDNjk3M319DQoNCkF1dGhlbnRpY2l0eQ0KOiBUaGUgZmFj dCB0aGF0IHRoZSBkYXRhIGRvZXMgaW5kZWVkIGNvbWUgZnJvbSB0aGUgc291cmNlIGl0IGNsYWlt cyB0byBjb21lIGZyb20uIChJdCBpcyBzdHJvbmdseSBsaW5rZWQgd2l0aCBJbnRlZ3JpdHksIHNl ZSBiZWxvdykuDQoNCkNlbnNvcnNoaXAgcmVzaXN0YW5jZQ0KOiBNZXRob2RzIGFuZCBtZWFzdXJl cyB0byBwcmV2ZW50IEludGVybmV0IGNlbnNvcnNoaXAuDQoNCkNvbmZpZGVudGlhbGl0eQ0KOiBU aGUgbm9uLWRpc2Nsb3N1cmUgb2YgaW5mb3JtYXRpb24gdG8gYW55IHVuaW50ZW5kZWQgcGVyc29u IG9yIGhvc3Qgb3IgcGFydHkuDQoNCkNvbm5lY3Rpdml0eQ0KOiBUaGUgZXh0ZW50IHRvIHdoaWNo IGEgZGV2aWNlIG9yIG5ldHdvcmsgaXMgYWJsZSB0byByZWFjaCBvdGhlciBkZXZpY2VzIG9yIG5l dHdvcmtzIHRvIGV4Y2hhbmdlIGRhdGEuIFRoZSBJbnRlcm5ldCBpcyB0aGUgdG9vbCBmb3IgcHJv dmlkaW5nIGdsb2JhbCBjb25uZWN0aXZpdHkge3tSRkMxOTU4fX0uDQoNCkNvbnRlbnQtYWdub3N0 aWNpc20NCjogVHJlYXRpbmcgbmV0d29yayB0cmFmZmljIGlkZW50aWNhbGx5IHJlZ2FyZGxlc3Mg b2YgY29udGVudC4NCg0KRGVidWdnaW5nDQo6IERlYnVnZ2luZyBpcyBhIG1ldGhvZGljYWwgcHJv Y2VzcyBvZiBmaW5kaW5nIGFuZCByZWR1Y2luZyB0aGUgbnVtYmVyIG9mIGJ1Z3MsIG9yIGRlZmVj dHMsIG9yIG1hbGZ1bmN0aW9ucyBpbiBhIHByb3RvY29sIG9yIGl0cyBpbXBsZW1lbnRhdGlvbiwg dGh1cyBtYWtpbmcgaXQgYmVoYXZlIGFzIGV4cGVjdGVkLiBJdCBhbHNvIGluY2x1ZGVzIGFuYWx5 emluZyB0aGUgY29uc2VxdWVuY2VzIHRoYXQgbWlnaHQgaGF2ZSBlbWFuYXRlIGZyb20gdGhlIGVy cm9yLiBEZWJ1Z2dpbmcgdGVuZHMgdG8gYmUgaGFyZGVyIHdoZW4gdmFyaW91cyBzdWJzeXN0ZW1z IGFyZSB0aWdodGx5IGNvdXBsZWQsIGFzIGNoYW5nZXMgaW4gb25lIG1heSBjYXVzZSBidWdzIHRv IGVtZXJnZSBpbiBhbm90aGVyLiB7e1dQLURlYnVnZ2luZ319DQoNCjogVGhlIHByb2Nlc3MgdGhy b3VnaCB3aGljaCBwZW9wbGUgdHJvdWJsZXNob290IGEgdGVjaG5pY2FsIGlzc3VlLCB3aGljaCBt YXkgaW5jbHVkZSBpbnNwZWN0aW9uIG9mIHByb2dyYW0gc291cmNlIGNvZGUgb3IgZGV2aWNlIGNv bmZpZ3VyYXRpb25zLiBDYW4gYWxzbyBpbmNsdWRlIHRyYWNpbmcgb3IgbW9uaXRvcmluZyBwYWNr ZXQgZmxvdy4NCg0KRGVjZW50cmFsaXplZA0KOiBPcHBvcnR1bml0eSBmb3IgaW1wbGVtZW50YXRp b24gb3IgZGVwbG95bWVudCBvZiBzdGFuZGFyZHMsIHByb3RvY29scyBvciBzeXN0ZW1zIHdpdGhv dXQgb25lIHNpbmdsZSBwb2ludCBvZiBjb250cm9sLg0KDQpFbmQtdG8tRW5kDQo6IFRoZSBwcmlu Y2lwYWwgb2YgZXh0ZW5kaW5nIGNoYXJhY3RlcmlzdGljcyBvZiBhIHByb3RvY29sIG9yIHN5c3Rl bSBhcyBmYXIgYXMgcG9zc2libGUgd2l0aGluIHRoZSBzeXN0ZW0uIEZvciBleGFtcGxlLCBlbmQt dG8tZW5kIGluc3RhbnQgbWVzc2FnZSBlbmNyeXB0aW9uIHdvdWxkIGNvbmNlYWwgY29tbXVuaWNh dGlvbnMgZnJvbSBvbmUgdXNlcidzIGluc3RhbnQgbWVzc2FnaW5nIGFwcGxpY2F0aW9uIHRocm91 Z2ggYW55IGludGVybWVkaWF0ZSBkZXZpY2VzIGFuZCBzZXJ2ZXJzIGFsbCB0aGUgd2F5IHRvIHRo ZSByZWNpcGllbnQncyBpbnN0YW50IG1lc3NhZ2luZyBhcHBsaWNhdGlvbi4gSWYgdGhlIG1lc3Nh Z2Ugd2FzIGRlY3J5cHRlZCBhdCBhbnkgaW50ZXJtZWRpYXRlIHBvaW50LS1mb3IgZXhhbXBsZSBh dCBhIHNlcnZpY2UgcHJvdmlkZXItLXRoZW4gdGhlIHByb3BlcnR5IG9mIGVuZC10by1lbmQgZW5j cnlwdGlvbiB3b3VsZCBub3QgYmUgcHJlc2VudC4NCg0KOiBPbmUgb2YgdGhlIGtleSBhcmNoaXRl Y3R1cmFsIGd1aWRlbGluZXMgb2YgdGhlIEludGVybmV0IGlzIHRoZSBlbmQtdG8tZW5kIHByaW5j aXBsZSBpbiB0aGUgcGFwZXJzIGJ5IFNhbHR6ZXIsIFJlZWQsIGFuZCBDbGFyayB7e1NhbHR6ZXJ9 fSB7e0NsYXJrfX0uIFRoZSBlbmQtdG8tZW5kIHByaW5jaXBsZSB3YXMgb3JpZ2luYWxseSBhcnRp Y3VsYXRlZCBhcyBhIHF1ZXN0aW9uIG9mIHdoZXJlIGJlc3Qgbm90IHRvIHB1dCBmdW5jdGlvbnMg aW4gYSBjb21tdW5pY2F0aW9uIHN5c3RlbS4gWWV0LCBpbiB0aGUgZW5zdWluZyB5ZWFycywgaXQg aGFzIGV2b2x2ZWQgdG8gYWRkcmVzcyBjb25jZXJucyBvZiBtYWludGFpbmluZyBvcGVubmVzcywg aW5jcmVhc2luZyByZWxpYWJpbGl0eSBhbmQgcm9idXN0bmVzcywgYW5kIHByZXNlcnZpbmcgdGhl IHByb3BlcnRpZXMgb2YgdXNlciBjaG9pY2UgYW5kIGVhc2Ugb2YgbmV3IHNlcnZpY2UgZGV2ZWxv cG1lbnQgYXMgZGlzY3Vzc2VkIGJ5IEJsdW1lbnRoYWwgYW5kIENsYXJrIGluIHt7Qmx1bWVudGhh bH19OyBjb25jZXJucyB0aGF0IHdlcmUgbm90IHBhcnQgb2YgdGhlIG9yaWdpbmFsIGFydGljdWxh dGlvbiBvZiB0aGUgZW5kLXRvLWVuZCBwcmluY2lwbGUuIHt7UkZDMzcyNH19DQoNCjogY29tbXVu aWNhdGlvbiB0aGF0IHRha2VzIHBsYWNlIGJldHdlZW4gY29tbXVuaWNhdGlvbiBlbmQtcG9pbnRz IG9mIHRoZSBzYW1lIHBoeXNpY2FsIG9yIGxvZ2ljYWwgZnVuY3Rpb25hbCBsZXZlbA0KDQpGZWRl cmF0aW9uDQo6IFRoZSBwb3NzaWJpbGl0eSBvZiBjb25uZWN0aW5nIGF1dG9ub21vdXMgc3lzdGVt cyBpbnRvIGEgc2luZ2xlIGRpc3RyaWJ1dGVkIHN5c3RlbS4NCg0KSGV0ZXJvZ2VuaXR5DQo6ICBU aGUgSW50ZXJuZXQgaXMgY2hhcmFjdGVyaXplZCBieSBoZXRlcm9nZW5laXR5IG9uIG1hbnkgbGV2 ZWxzOiBkZXZpY2VzIGFuZCBub2Rlcywgcm91dGVyIHNjaGVkdWxpbmcgYWxnb3JpdGhtcyBhbmQg cXVldWUgbWFuYWdlbWVudCBtZWNoYW5pc21zLCByb3V0aW5nIHByb3RvY29scywgbGV2ZWxzIG9m IG11bHRpcGxleGluZywgcHJvdG9jb2wgdmVyc2lvbnMgYW5kIGltcGxlbWVudGF0aW9ucywgdW5k ZXJseWluZyBsaW5rIGxheWVycyAoZS5nLiwgcG9pbnQtdG8tcG9pbnQsIG11bHRpLWFjY2VzcyBs aW5rcywgd2lyZWxlc3MsIEZEREksIGV0Yy4pLCBpbiB0aGUgdHJhZmZpYyBtaXggYW5kIGluIHRo ZSBsZXZlbHMgb2YgY29uZ2VzdGlvbiBhdCBkaWZmZXJlbnQgdGltZXMgYW5kIHBsYWNlcy4gTW9y ZW92ZXIsIGFzIHRoZSBJbnRlcm5ldCBpcyBjb21wb3NlZCBvZiBhdXRvbm9tb3VzIG9yZ2FuaXph dGlvbnMgYW5kIEludGVybmV0IHNlcnZpY2UgcHJvdmlkZXJzLCBlYWNoIHdpdGggdGhlaXIgb3du IHNlcGFyYXRlIHBvbGljeSBjb25jZXJucyx0aGVyZSBpcyBhIGxhcmdlIGhldGVyb2dlbmVpdHkg b2YgYWRtaW5pc3RyYXRpdmUgZG9tYWlucyBhbmQgcHJpY2luZyBzdHJ1Y3R1cmVzLiBBcyBhIHJl c3VsdCwgdGhlIGhldGVyb2dlbmVpdHkgcHJpbmNpcGxlIHByb3Bvc2VkIGluIHt7UkZDMTk1OH19 IG5lZWRzIHRvIGJlIHN1cHBvcnRlZCBieSBkZXNpZ24uIHt7RklBcmNofX0NCg0KSW50ZWdyaXR5 DQo6IE1haW50ZW5hbmNlIGFuZCBhc3N1cmFuY2Ugb2YgdGhlIGFjY3VyYWN5IGFuZCBjb25zaXN0 ZW5jeSBvZiBkYXRhIHRvIGVuc3VyZSBpdCBoYXMgbm90IGJlZW4gKGludGVudGlvbmFsbHkgb3Ig dW5pbnRlbnRpb25hbGx5KSBhbHRlcmVkLg0KDQpJbnRlcm5ldCBjZW5zb3JzaGlwDQo6ICBJbnRl cm5ldCBjZW5zb3JzaGlwIGlzIHRoZSBpbnRlbnRpb25hbCBzdXBwcmVzc2lvbiBvZiBpbmZvcm1h dGlvbiBvcmlnaW5hdGluZywgZmxvd2luZyBvciBzdG9yZWQgb24gc3lzdGVtcyBjb25uZWN0ZWQg dG8gdGhlIEludGVybmV0IHdoZXJlIHRoYXQgaW5mb3JtYXRpb24gaXMgcmVsZXZhbnQgZm9yIGRl Y2lzaW9uIG1ha2luZyB0byBzb21lIGVudGl0eS4ge3tFbGFoaX19DQoNCkludGVyLW9wZXJhYmxl DQo6IEEgcHJvcGVydHkgb2YgYSBkb2N1bWVudGVkIHN0YW5kYXJkIG9yIHByb3RvY29sIHdoaWNo IGFsbG93cyBkaWZmZXJlbnQgaW5kZXBlbmRlbnQgaW1wbGVtZW50YXRpb25zIHRvIHdvcmsgd2l0 aCBlYWNoIG90aGVyIHdpdGhvdXQgYW55IHJlc3RyaWN0ZWQgbmVnb3RpYXRpb24sIGFjY2VzcyBv ciBmdW5jdGlvbmFsaXR5Lg0KDQpJbnRlcm5ldCBTdGFuZGFyZHMgYXMgYW4gQXJlbmEgZm9yIENv bmZsaWN0DQo6IFB1cnN1YW50IHRvIHRoZSBwcmluY2lwbGUgb2YgY29uc3RhbnQgY2hhbmdlLCBz aW5jZSB0aGUgZnVuY3Rpb24gYW5kIHNjb3BlIG9mIHRoZSBJbnRlcm5ldCBldm9sdmVzLCBzbyBk b2VzIHRoZSByb2xlIG9mIHRoZSBJRVRGIGluIGRldmVsb3Bpbmcgc3RhbmRhcmRzLiBJbnRlcm5l dCBzdGFuZGFyZHMgYXJlIGFkb3B0ZWQgb24gdGhlIGJhc2lzIG9mIGEgc2VyaWVzIG9mIGNyaXRl cmlhLCBpbmNsdWRpbmcgaGlnaCB0ZWNobmljYWwgcXVhbGl0eSwgc3VwcG9ydCBieSBjb21tdW5p dHkgY29uc2Vuc3VzLCBhbmQgdGhlaXIgb3ZlcmFsbCBiZW5lZml0IHRvIHRoZSBJbnRlcm5ldC4g VGhlIGxhdHRlciBjYWxscyBmb3IgYW4gYXNzZXNzbWVudCBvZiB0aGUgaW50ZXJlc3RzIG9mIGFs bCBhZmZlY3RlZCBwYXJ0aWVzIGFuZCB0aGUgc3BlY2lmaWNhdGlvbnMnIGltcGFjdCBvbiB0aGUg SW50ZXJuZXQncyB1c2Vycy4gSW4gdGhpcyByZXNwZWN0LCB0aGUgZWZmZWN0aXZlIGV4ZXJjaXNl IG9mIHRoZSBodW1hbiByaWdodHMgb2YgdGhlIEludGVybmV0IHVzZXJzIGlzIGEgcmVsZXZhbnQg Y29uc2lkZXJhdGlvbiB0aGF0IG5lZWRzIHRvIGJlIGFwcHJlY2lhdGVkIGluIHRoZSBzdGFuZGFy ZGl6YXRpb24gcHJvY2VzcyBpbnNvZmFyIGFzIGl0IGlzIGRpcmVjdGx5IGxpbmtlZCB0byB0aGUg cmVsaWFiaWxpdHkgYW5kIGNvcmUgdmFsdWVzIG9mIHRoZSBJbnRlcm5ldC4ge3tSRkMxOTU4fX0g e3tSRkMwMjI2fX0ge3tSRkMzNzI0fX0NCg0KSW50ZXJuYXRpb25hbGl6YXRpb24gKGkxOG4pDQo6 IFRoZSBwcmFjdGljZSBvZiBtYWtpbmcgcHJvdG9jb2xzLCBzdGFuZGFyZHMsIGFuZCBpbXBsZW1l bnRhdGlvbnMgdXNhYmxlIGluIGRpZmZlcmVudCBsYW5ndWFnZXMgYW5kIHNjcmlwdHMuICAoc2Vl IExvY2FsaXphdGlvbikNCg0KOiAoY2Yge3tSRkM2MzY1fX0pIEluIHRoZSBJRVRGLCAiaW50ZXJu YXRpb25hbGl6YXRpb24iIG1lYW5zIHRvIGFkZCBvciBpbXByb3ZlIHRoZSBoYW5kbGluZyBvZiBu b24tQVNDSUkgdGV4dCBpbiBhIHByb3RvY29sLiB7e1JGQzYzNjV9fSAgQSBkaWZmZXJlbnQgcGVy c3BlY3RpdmUsIG1vcmUgYXBwcm9wcmlhdGUgdG8gcHJvdG9jb2xzIHRoYXQgYXJlIGRlc2lnbmVk IGZvciBnbG9iYWwgdXNlIGZyb20gdGhlIGJlZ2lubmluZywgaXMgdGhlIGRlZmluaXRpb24gdXNl ZCBieSBXM0M6DQoNCiAgICAgICAgICJJbnRlcm5hdGlvbmFsaXphdGlvbiBpcyB0aGUgZGVzaWdu IGFuZCBkZXZlbG9wbWVudCBvZiBhDQogICAgICAgICBwcm9kdWN0LCBhcHBsaWNhdGlvbiBvciBk b2N1bWVudCBjb250ZW50IHRoYXQgZW5hYmxlcyBlYXN5DQogICAgICAgICBsb2NhbGl6YXRpb24g Zm9yIHRhcmdldCBhdWRpZW5jZXMgdGhhdCB2YXJ5IGluIGN1bHR1cmUsIHJlZ2lvbiwNCiAgICAg ICAgIG9yIGxhbmd1YWdlLiIgIHt7VzNDaTE4bkRlZn19DQoNCk1hbnkgcHJvdG9jb2xzIHRoYXQg aGFuZGxlIHRleHQgb25seSBoYW5kbGUgb25lIGNoYXJzZXQgKFVTLUFTQ0lJKSwgb3IgbGVhdmUg dGhlIHF1ZXN0aW9uIG9mIHdoYXQgQ0NTIGFuZCBlbmNvZGluZyB1cCB0byBsb2NhbCBndWVzc3dv cmsgKHdoaWNoIGxlYWRzLCBvZiBjb3Vyc2UsIHRvICBpbnRlcm9wZXJhYmlsaXR5IHByb2JsZW1z KS4gIElmIG11bHRpcGxlIGNoYXJzZXRzIGFyZSBwZXJtaXR0ZWQsIHRoZXkgbXVzdCBiZSBleHBs aWNpdGx5IGlkZW50aWZpZWQge3tSRkMyMjc3fX0uICBBZGRpbmcgbm9uLUFTQ0lJIHRleHQgdG8g YSBwcm90b2NvbCBhbGxvd3MgdGhlIHByb3RvY29sIHRvIGhhbmRsZSBtb3JlIHNjcmlwdHMsIGhv cGVmdWxseSBhbGwgb2YgdGhlIG9uZXMgdXNlZnVsIGluIHRoZSB3b3JsZC4gIEluIHRvZGF5J3Mg d29ybGQsIHRoYXQgaXMgbm9ybWFsbHkgYmVzdCBhY2NvbXBsaXNoZWQgYnkgYWxsb3dpbmcgVW5p Y29kZSBlbmNvZGVkIGluIFVURi04IG9ubHksIHRoZXJlYnkgc2hpZnRpbmcgY29udmVyc2lvbiBp c3N1ZXMgYXdheSBmcm9tIGluZGl2aWR1YWwgY2hvaWNlcy4NCg0KTG9jYWxpemF0aW9uIChsMTBu KQ0KOiBUaGUgcHJhY3RpY2Ugb2YgdHJhbnNsYXRpbmcgYW4gaW1wbGVtZW50YXRpb24gdG8gbWFr ZSBpdCBmdW5jdGlvbmFsIGluIGEgc3BlY2lmaWMgbGFuZ3VhZ2Ugb3IgZm9yIHVzZXJzIGluIGEg c3BlY2lmaWMgbG9jYWxlIChzZWUgSW50ZXJuYXRpb25hbGl6YXRpb24pLg0KDQo6IChjZiB7e1JG QzYzNjV9fSBUaGUgcHJvY2VzcyBvZiBhZGFwdGluZyBhbiBpbnRlcm5hdGlvbmFsaXplZCBhcHBs aWNhdGlvbiBwbGF0Zm9ybSBvciBhcHBsaWNhdGlvbiB0byBhIHNwZWNpZmljIGN1bHR1cmFsIGVu dmlyb25tZW50LiAgSW4gbG9jYWxpemF0aW9uLCB0aGUgc2FtZSBzZW1hbnRpY3MgYXJlIHByZXNl cnZlZCB3aGlsZSB0aGUgc3ludGF4IG1heSBiZSBjaGFuZ2VkLiB7e0ZSQU1FV09SS319DQoNCkxv Y2FsaXphdGlvbiBpcyB0aGUgYWN0IG9mIHRhaWxvcmluZyBhbiBhcHBsaWNhdGlvbiBmb3IgYSBk aWZmZXJlbnQgbGFuZ3VhZ2Ugb3Igc2NyaXB0IG9yIGN1bHR1cmUuICBTb21lIGludGVybmF0aW9u YWxpemVkIGFwcGxpY2F0aW9ucyBjYW4gaGFuZGxlIGEgd2lkZSB2YXJpZXR5IG9mIGxhbmd1YWdl cy4gIFR5cGljYWwgdXNlcnMgb25seSB1bmRlcnN0YW5kIGEgc21hbGwgbnVtYmVyIG9mIGxhbmd1 YWdlcywgc28gdGhlIHByb2dyYW0gbXVzdCBiZSB0YWlsb3JlZCB0byBpbnRlcmFjdCB3aXRoIHVz ZXJzIGluIGp1c3QgdGhlIGxhbmd1YWdlcyB0aGV5IGtub3cuDQoNClRoZSBtYWpvciB3b3JrIG9m IGxvY2FsaXphdGlvbiBpcyB0cmFuc2xhdGluZyB0aGUgdXNlciBpbnRlcmZhY2UgYW5kIGRvY3Vt ZW50YXRpb24uICBMb2NhbGl6YXRpb24gaW52b2x2ZXMgbm90IG9ubHkgY2hhbmdpbmcgdGhlIGxh bmd1YWdlIGludGVyYWN0aW9uLCBidXQgYWxzbyBvdGhlciByZWxldmFudCBjaGFuZ2VzIHN1Y2gg YXMgZGlzcGxheSBvZiBudW1iZXJzLCBkYXRlcywgY3VycmVuY3ksIGFuZCBzbyBvbi4gIFRoZSBi ZXR0ZXIgaW50ZXJuYXRpb25hbGl6ZWQgYW4gYXBwbGljYXRpb24gaXMsIHRoZSBlYXNpZXIgaXQg aXMgdG8gbG9jYWxpemUgaXQgZm9yIGEgcGFydGljdWxhciBsYW5ndWFnZSBhbmQgY2hhcmFjdGVy IGVuY29kaW5nIHNjaGVtZS4NCg0KT3BlbiBzdGFuZGFyZHMNCjogQ29uZm9ybSAge3tSRkMyNjA2 fX06IFZhcmlvdXMgbmF0aW9uYWwgYW5kIGludGVybmF0aW9uYWwgc3RhbmRhcmRzIGJvZGllcywg c3VjaCBhcyBBTlNJLA0KICAgICAgSVNPLCBJRUVFLCBhbmQgSVRVLVQsIGRldmVsb3AgYSB2YXJp ZXR5IG9mIHByb3RvY29sIGFuZCBzZXJ2aWNlDQogICAgICBzcGVjaWZpY2F0aW9ucyB0aGF0IGFy ZSBzaW1pbGFyIHRvIFRlY2huaWNhbCBTcGVjaWZpY2F0aW9ucw0KICAgICAgZGVmaW5lZCBoZXJl LiAgTmF0aW9uYWwgYW5kIGludGVybmF0aW9uYWwgZ3JvdXBzIGFsc28gcHVibGlzaA0KICAgICAg ImltcGxlbWVudG9ycycgYWdyZWVtZW50cyIgdGhhdCBhcmUgYW5hbG9nb3VzIHRvIEFwcGxpY2Fi aWxpdHkNCiAgICAgIFN0YXRlbWVudHMsIGNhcHR1cmluZyBhIGJvZHkgb2YgaW1wbGVtZW50YXRp b24tc3BlY2lmaWMgZGV0YWlsDQogICAgICBjb25jZXJuZWQgd2l0aCB0aGUgcHJhY3RpY2FsIGFw cGxpY2F0aW9uIG9mIHRoZWlyIHN0YW5kYXJkcy4gIEFsbA0KICAgICAgb2YgdGhlc2UgYXJlIGNv bnNpZGVyZWQgdG8gYmUgIm9wZW4gZXh0ZXJuYWwgc3RhbmRhcmRzIiBmb3IgdGhlDQogICAgICBw dXJwb3NlcyBvZiB0aGUgSW50ZXJuZXQgU3RhbmRhcmRzIFByb2Nlc3MuDQoNCk9wZW5uZXNzDQo6 IFRoZSBxdWFsaXR5IG9mIHRoZSB1bmZpbHRlcmVkIEludGVybmV0IHRoYXQgYWxsb3dzIGZvciBm cmVlIGFjY2VzcyB0byBvdGhlciBob3N0cy4NCg0KOiBBYnNlbmNlIG9mIGNlbnRyYWxpemVkIHBv aW50cyBvZiBjb250cm9sICYjeDIwMTM7IGEgZmVhdHVyZSB0aGF0IGlzIGFzc3VtZWQgdG8gbWFr ZSBpdCBlYXN5IGZvciBuZXcgdXNlcnMgdG8gam9pbiBhbmQgbmV3IHVzZXMgdG8gdW5mb2xkIHt7 QnJvd259fS4NCg0KUGVybWlzc2lvbmxlc3MgaW5ub3ZhdGlvbg0KOiBUaGUgZnJlZWRvbSBhbmQg YWJpbGl0eSB0byBmcmVlbHkgY3JlYXRlIGFuZCBkZXBsb3kgbmV3IHByb3RvY29scyBvbiB0b3Ag b2YgdGhlIGNvbW11bmljYXRpb25zIGNvbnN0cnVjdHMgdGhhdCBjdXJyZW50bHkgZXhpc3QuDQoN ClByaXZhY3kNCjogVGhlIHJpZ2h0IG9mIGFuIGVudGl0eSAobm9ybWFsbHkgYSBwZXJzb24pLCBh Y3RpbmcgaW4gaXRzIG93biBiZWhhbGYsIHRvIGRldGVybWluZSB0aGUgZGVncmVlIHRvIHdoaWNo IGl0IHdpbGwgaW50ZXJhY3Qgd2l0aCBpdHMgZW52aXJvbm1lbnQsIGluY2x1ZGluZyB0aGUgZGVn cmVlIHRvIHdoaWNoIHRoZSBlbnRpdHkgaXMgd2lsbGluZyB0byBzaGFyZSBpdHMgcGVyc29uYWwg aW5mb3JtYXRpb24gd2l0aCBvdGhlcnMuIHt7UkZDNDk0OX19DQoNCjogVGhlIHJpZ2h0IG9mIGlu ZGl2aWR1YWxzIHRvIGNvbnRyb2wgb3IgaW5mbHVlbmNlIHdoYXQgaW5mb3JtYXRpb24gcmVsYXRl ZCB0byB0aGVtIG1heSBiZSBjb2xsZWN0ZWQgYW5kIHN0b3JlZCBhbmQgYnkgd2hvbSBhbmQgdG8g d2hvbSB0aGF0IGluZm9ybWF0aW9uIG1heSBiZSBkaXNjbG9zZWQuDQoNCjogUHJpdmFjeSBpcyBh IGJyb2FkIGNvbmNlcHQgcmVsYXRpbmcgdG8gdGhlIHByb3RlY3Rpb24gb2YgaW5kaXZpZHVhbCBh dXRvbm9teSBhbmQgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGFuIGluZGl2aWR1YWwgYW5kIHNv Y2lldHksIGluY2x1ZGluZyBnb3Zlcm5tZW50LCBjb21wYW5pZXMgYW5kIHByaXZhdGUgaW5kaXZp ZHVhbHMuIEl0IGlzIG9mdGVuIHN1bW1hcml6ZWQgYXMgInRoZSByaWdodCB0byBiZSBsZWZ0IGFs b25lIiBidXQgaXQgZW5jb21wYXNzZXMgYSB3aWRlIHJhbmdlIG9mIHJpZ2h0cyBpbmNsdWRpbmcg cHJvdGVjdGlvbnMgZnJvbSBpbnRydXNpb25zIGludG8gZmFtaWx5IGFuZCBob21lIGxpZmUsIGNv bnRyb2wgb2Ygc2V4dWFsIGFuZCByZXByb2R1Y3RpdmUgcmlnaHRzLCBhbmQgY29tbXVuaWNhdGlv bnMgc2VjcmVjeS4gIEl0IGlzIGNvbW1vbmx5IHJlY29nbml6ZWQgYXMgYSBjb3JlIHJpZ2h0IHRo YXQgdW5kZXJwaW5zIGh1bWFuIGRpZ25pdHkgYW5kIG90aGVyIHZhbHVlcyBzdWNoIGFzIGZyZWVk b20gb2YgYXNzb2NpYXRpb24gYW5kIGZyZWVkb20gb2Ygc3BlZWNoLg0KDQpUaGUgcmlnaHQgdG8g cHJpdmFjeSBpcyBhbHNvIHJlY29nbml6ZWQgaW4gbmVhcmx5IGV2ZXJ5IG5hdGlvbmFsIGNvbnN0 aXR1dGlvbiBhbmQgaW4gbW9zdCBpbnRlcm5hdGlvbmFsIGh1bWFuIHJpZ2h0cyB0cmVhdGllcy4g SXQgaGFzIGJlZW4gYWRqdWRpY2F0ZWQgdXBvbiBib3RoIGJ5IGludGVybmF0aW9uYWwgYW5kIHJl Z2lvbmFsIGJvZGllcy4gVGhlIHJpZ2h0IHRvIHByaXZhY3kgaXMgYWxzbyBsZWdhbGx5IHByb3Rl Y3RlZCBhdCB0aGUgbmF0aW9uYWwgbGV2ZWwgdGhyb3VnaCBwcm92aXNpb25zIGluIGNpdmlsIGFu ZC9vciBjcmltaW5hbCBjb2Rlcy4NCg0KUmVsaWFibGUNCjogUmVsaWFiaWxpdHkgZW5zdXJlcyB0 aGF0IGEgcHJvdG9jb2wgd2lsbCBleGVjdXRlIGl0cyBmdW5jdGlvbiBjb25zaXN0ZW50bHkgYW5k IGVycm9yIHJlc2lzdGFudCBhcyBkZXNjcmliZWQgYW5kIGZ1bmN0aW9uIHdpdGhvdXQgdW5leHBl Y3RlZCByZXN1bHQuIEEgc3lzdGVtIHRoYXQgaXMgcmVsaWFibGUgZGVnZW5lcmF0ZXMgZ3JhY2Vm dWxseSBhbmQgd2lsbCBoYXZlIGEgZG9jdW1lbnRlZCB3YXkgdG8gYW5ub3VuY2UgZGVncmFkYXRp b24uIEl0IGFsc28gaGFzIG1lY2hhbmlzbXMgdG8gcmVjb3ZlciBmcm9tIGZhaWx1cmUgZ3JhY2Vm dWxseSwgYW5kIGlmIGFwcGxpY2FibGUsIGFsbG93IGZvciBwYXJ0aWFsIGhlYWxpbmcuDQoNClJl c2lsaWVuY2UNCjogVGhlIG1haW50YWluaW5nIG9mIGRlcGVuZGFiaWxpdHkgYW5kIHBlcmZvcm1h bmNlIGluIHRoZSBmYWNlIG9mIHVuYW50aWNpcGF0ZWQgY2hhbmdlcyBhbmQgY2lyY3Vtc3RhbmNl cy4NCg0KUm9idXN0bmVzcw0KOiBUaGUgcmVzaXN0YW5jZSBvZiBwcm90b2NvbHMgYW5kIHRoZWly IGltcGxlbWVudGF0aW9ucyB0byBlcnJvcnMsIGFuZCB0byBpbnZvbHVudGFyeSwgbGVnYWwgb3Ig bWFsaWNpb3VzIGF0dGVtcHRzIHRvIGRpc3J1cHQgaXRzIG1vZGUgb2Ygb3BlcmF0aW9ucy4ge3tS RkMwNzYwfX0ge3tSRkMwNzkxfX0ge3tSRkMwNzkzfX0ge3tSRkMxMTIyfX0NCg0KU2NhbGFibGUN CjogVGhlIGFiaWxpdHkgdG8gaGFuZGxlIGluY3JlYXNlZCBvciBkZWNyZWFzZWQgd29ya2xvYWRz IHByZWRpY3RhYmx5IHdpdGhpbiBkZWZpbmVkIGV4cGVjdGF0aW9ucy4gVGhlcmUgc2hvdWxkIGJl IGEgY2xlYXIgZGVmaW5pdGlvbiBvZiBpdHMgc2NvcGUgYW5kIGFwcGxpY2FiaWxpdHkuIFRoZSBs aW1pdHMgb2YgYSBzeXN0ZW1zIHNjYWxhYmlsaXR5IHNob3VsZCBiZSBkZWZpbmVkLg0KDQpTdGF0 ZWxlc3MgLyBzdGF0ZWZ1bA0KOiBJbiBjb21wdXRpbmcsIGEgc3RhdGVsZXNzIHByb3RvY29sIGlz IGEgY29tbXVuaWNhdGlvbnMgcHJvdG9jb2wgdGhhdCB0cmVhdHMgZWFjaCByZXF1ZXN0IGFzIGFu IGluZGVwZW5kZW50IHRyYW5zYWN0aW9uIHRoYXQgaXMgdW5yZWxhdGVkIHRvIGFueSBwcmV2aW91 cyByZXF1ZXN0IHNvIHRoYXQgdGhlIGNvbW11bmljYXRpb24gY29uc2lzdHMgb2YgaW5kZXBlbmRl bnQgcGFpcnMgb2YgcmVxdWVzdCBhbmQgcmVzcG9uc2UuIEEgc3RhdGVsZXNzIHByb3RvY29sIGRv ZXMgbm90IHJlcXVpcmUgdGhlIHNlcnZlciB0byByZXRhaW4gc2Vzc2lvbiBpbmZvcm1hdGlvbiBv ciBzdGF0dXMgYWJvdXQgZWFjaCBjb21tdW5pY2F0aW9ucyBwYXJ0bmVyIGZvciB0aGUgZHVyYXRp b24gb2YgbXVsdGlwbGUgcmVxdWVzdHMuIEluIGNvbnRyYXN0LCBhIHByb3RvY29sIHdoaWNoIHJl cXVpcmVzIGtlZXBpbmcgb2YgdGhlIGludGVybmFsIHN0YXRlIG9uIHRoZSBzZXJ2ZXIgaXMga25v d24gYXMgYSBzdGF0ZWZ1bCBwcm90b2NvbC4ge3tXUC1TdGF0ZWxlc3N9fQ0KDQpTdHJvbmcgZW5j cnlwdGlvbiAvIGNyeXB0b2dyYXBoeQ0KOiBVc2VkIHRvIGRlc2NyaWJlIGEgY3J5cHRvZ3JhcGhp YyBhbGdvcml0aG0gdGhhdCB3b3VsZCByZXF1aXJlIGEgbGFyZ2UgYW1vdW50IG9mIGNvbXB1dGF0 aW9uYWwgcG93ZXIgdG8gZGVmZWF0IGl0LiB7e1JGQzQ5NDl9fQ0KDQpUcmFuc3BhcmVudA0KOiAi dHJhbnNwYXJlbmN5IiByZWZlcnMgdG8gdGhlIG9yaWdpbmFsIEludGVybmV0IGNvbmNlcHQgb2Yg YSBzaW5nbGUgdW5pdmVyc2FsIGxvZ2ljYWwgYWRkcmVzc2luZyBzY2hlbWUsIGFuZCB0aGUgbWVj aGFuaXNtcyBieSB3aGljaCBwYWNrZXRzIG1heSBmbG93IGZyb20gc291cmNlIHRvIGRlc3RpbmF0 aW9uIGVzc2VudGlhbGx5IHVuYWx0ZXJlZC4ge3tSRkMyNzc1fX0NCg0KVGhlIGNvbWJpbmF0aW9u IG9mIHJlbGlhYmlsaXR5LCBjb25maWRlbnRpYWxpdHksIGludGVncml0eSwgYW5vbnltaXR5LCBh bmQgYXV0aGVudGljaXR5IGlzIHdoYXQgbWFrZXMgdXAgc2VjdXJpdHkgb24gdGhlIEludGVybmV0 Lg0KDQogICAgICAoICAgICBSZWxpYWJpbGl0eSAgICAgICAgICApDQogICAgICggICAgICBDb25m aWRlbnRpYWxpdHkgICAgICAgKQ0KICAgICAoICAgICAgSW50ZWdyaXR5ICAgICAgICAgICAgICkg ICA9IGNvbW11bmljYXRpb24gYW5kIGluZm9ybWF0aW9uIHNlY3VyaXR5ICh0ZWNobmljYWwpDQog ICAgICggICAgICBBdXRoZW50aWNpdHkgICAgICAgICAgKQ0KICAgICAgKCAgICAgQW5vbnltaXR5 ICAgICAgICAgICAgKQ0KDQpUaGUgY29tYmluYXRpb24gb2YgRW5kLXRvLUVuZCwgSW50ZXJvcGVy YWJpbGl0eSwgcmVzaWxpZW5jZSwgcmVsaWFiaWxpdHkgYW5kIHJvYnVzdG5lc3MgaXMgd2hhdCBt YWtlcyB1cyBjb25uZWN0aXZpdHkgb24gdGhlIEludGVybmV0DQoNCiAgICAgICAgICAgICAgICAg ICAgICAgICAoIEVuZC10by1FbmQgICAgICApDQogICAgIGNvbm5lY3Rpdml0eSA9ICAgICAoICBJ bnRlcm9wZXJhYmlsaXR5ICkNCiAgICAgICAgICAgICAgICAgICAgICAgKCAgIFJlc2lsaWVuY2Ug ICAgICAgICkNCiAgICAgICAgICAgICAgICAgICAgICAgKCAgIFJlbGlhYmlsaXR5ICAgICAgICkN CiAgICAgICAgICAgICAgICAgICAgICAgKCAgIFJvYnVzdG5lc3MgICAgICAgICkNCiAgICAgICAg ICAgICAgICAgICAgICAgICggIEF1dG9ub215ICAgICAgICAgKQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICggU2ltcGxpY2l0eSAgICAgICkNCg0KDQoNClJlc2VhcmNoIFF1ZXN0aW9ucw0KPT09 PT09PT09PT09PT09PT09DQpUaGUgSHVtYW4gUmlnaHRzIFByb3RvY29sIENvbnNpZGVyYXRpb25z IFJlc2VhcmNoIEdyb3VwIChocnBjKSBpbiB0aGUgSW50ZXJuZXQgUmVzZWFyY2ggVGFza2ZvcmNl IChJUlRGKSBlbWJhcmtlZCBvbiBpdHMgbWlzc2lvbiB0byBhbnN3ZXIgdGhlIGZvbGxvd2luZyB0 d28gcXVlc3Rpb25zIHdoaWNoIGFyZSBhbHNvIHRoZSBtYWluIHR3byBxdWVzdGlvbnMgd2hpY2gg dGhpcyBkb2N1bWVudHMgc2Vla3MgdG8gYW5zd2VyOg0KDQoxLiBIb3cgY2FuIEludGVybmV0IHBy b3RvY29scyBhbmQgc3RhbmRhcmRzIGltcGFjdCBodW1hbiByaWdodHMsIGVpdGhlciBieSBlbmFi bGluZyB0aGVtIG9yIGJ5IGNyZWF0aW5nIGEgcmVzdHJpY3RpdmUgZW52aXJvbm1lbnQ/DQoNCjIu IENhbiBndWlkZWxpbmVzIGJlIGRldmVsb3BlZCB0byBpbXByb3ZlIGluZm9ybWVkIGFuZCB0cmFu c3BhcmVudCBkZWNpc2lvbiBtYWtpbmcgYWJvdXQgcG90ZW50aWFsIGh1bWFuIHJpZ2h0cyBpbXBh Y3Qgb2YgcHJvdG9jb2xzPw0KDQoNCg0KTGl0ZXJhdHVyZSBhbmQgRGlzY3Vzc2lvbiBSZXZpZXcN Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNClByb3RvY29scyBhbmQgc3RhbmRh cmRzIGFyZSByZWd1bGFybHkgc2VlbiBhcyBtZXJlbHkgcGVyZm9ybWluZyB0ZWNobmljYWwgZnVu Y3Rpb25zLiBIb3dldmVyLCB0aGVzZSBwcm90b2NvbHMgYW5kIHN0YW5kYXJkcyBkbyBub3QgZXhp c3Qgb3V0c2lkZSBvZiB0aGVpciB0ZWNobmljYWwgY29udGV4dCBub3Igb3V0c2lkZSBvZiB0aGVp ciBwb2xpdGljYWwsIGhpc3RvcmljYWwsIGVjb25vbWljLCBsZWdhbCBvciBjdWx0dXJhbCBjb250 ZXh0LiBUaGlzIGlzIGJlc3QgZXhlbXBsaWZpZWQgYnkgdGhlIHdheSBpbiB3aGljaCBwcm90b2Nv bHMgaGF2ZSBiZWNvbWUgcGFydCBhbmQgcGFyY2VsIG9mIHBvbGl0aWNhbCBwcm9jZXNzZXMgYW5k IHB1YmxpYyBwb2xpY2llczogb25lIG9ubHkgaGFzIHRvIGxvb2sgYXQgdGhlIElBTkEgdHJhbnNp dGlvbiwgdGhlIFJGQyBvbiBwZXJ2YXNpdmUgbW9uaXRvcmluZyBvciBnbG9iYWwgaW5ub3ZhdGlv biBwb2xpY3kgZm9yIGNvbmNyZXRlIGV4YW1wbGVzIHt7RGVuYXJkaXMxNX19LiBUbyBxdW90ZSB7 e0FiYmF0ZX19OiAicHJvdG9jb2xzIGFyZSBwb2xpdGljcyBieSBvdGhlciBtZWFucyIuIFNpbmNl IHRoZSBsYXRlIDE5OTAncyBhIGJ1cmdlb25pbmcgZ3JvdXAgb2YgYWNhZGVtaWNzIGFuZCBwcmFj dGl0aW9uZXJzIHJlc2VhcmNoZWQgcXVlc3Rpb25zIHN1cnJvdW5kaW5nIHRoZSBzb2NpZXRhbCBp bXBhY3Qgb2YgcHJvdG9jb2xzLiBUaGVzZSBzdHVkaWVzIHZhcnkgaW4gZm9jdXMgYW5kIHNjb3Bl OiBzb21lIGZvY3VzIG9uIHNwZWNpZmljIHN0YW5kYXJkcyB7e0Rhdmlkc29uZXRhbH19IHt7TXVz aWFuaX19LCBvdGhlcnMgbG9vayBpbnRvIHRoZSBwb2xpdGljYWwsIGxlZ2FsLCBjb21tZXJjaWFs IG9yIHNvY2lhbCBpbXBhY3Qgb2YgcHJvdG9jb2xzIHt7QnJvd25NYXJzZGVufX0ge3tMZXNzaWd9 fSwge3tNdWVsbGVyfX0uDQoNCkNvbW1lcmNpYWwgYW5kIHBvbGl0aWNhbCBpbmZsdWVuY2VzIG9u IHRoZSBtYW5hZ2VtZW50IG9mIHRoZSBJbnRlcm5ldCdzIGFyY2hpdGVjdHVyZSBhcmUgd2VsbC1k b2N1bWVudGVkIGluIHRoZSBhY2FkZW1pYyBsaXRlcmF0dXJlIGFuZCB3aWxsIHRodXMgbm90IGJl IGRpc2N1c3NlZCBoZXJlIHt7QmVua2xlcn19ICB7e0Jyb3duZXRhbH19ICB7e0RlbmFyZGlzMTV9 fSAge3tMZXNzaWd9fSAge3tNdWVsbGVyfX0gIHt7Wml0dHJhaW59fS4gSXQgaXMgZW5vdWdoIHRv IHNheSB0aGF0IHRoZSBJRVRGIGNvbnNpc3RlbnRseSB0cmllcyB0byBwdXNoIGJhY2sgYWdhaW5z dCB0aGUgc3RhbmRhcmRpemF0aW9uIG9mIHN1cnZlaWxsYW5jZSBhbmQgY2VydGFpbiBvdGhlciBp c3N1ZXMgdGhhdCBuZWdhdGl2ZWx5IGluZmx1ZW5jZSBlbmQtdXNlcnMnIGV4cGVyaWVuY2Ugb2Yg dGhlIEludGVybmV0IHt7RGVuYXJkaXMxNH19LiBUaGUgcm9sZSBodW1hbiByaWdodHMgcGxheSBp biB0ZWNobmljYWwgZW5naW5lZXJpbmcgaXMgbXVjaCBsZXNzIGNsZWFyLg0KDQpVbmRlcnN0YW5k aW5nIGhvdyBwcm90b2NvbHMgYW5kIHN0YW5kYXJkcyBpbXBhY3QgaHVtYW4gcmlnaHRzLCBlc3Bl Y2lhbGx5IHRoZSByaWdodCB0byBmcmVlZG9tIG9mIGV4cHJlc3Npb24gYW5kIGZyZWVkb20gb2Yg YXNzb2NpYXRpb24gYW5kIGFzc2VtYmx5LCBpcyBjcnVjaWFsLiBRdWVzdGlvbnMgYXQgdGhlIGlu dGVyc2VjdGlvbiBvZiBodW1hbiByaWdodHMgYW5kIEludGVybmV0IGFyY2hpdGVjdHVyZSBtYW5h Z2VtZW50IGFyZSBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGFzIEludGVybmV0IFN0YW5kYXJkIERl dmVsb3BpbmcgT3JnYW5pemF0aW9ucyAoU0RPcykgYXJlIHRoZSBhcmVuYXMgZm9yIGNvbnRlbnRp b24gb3ZlciBodW1hbiByaWdodHMgYW5kIHRoZSByb2xlIG9mIHRlY2huaWNhbCBlbmdpbmVlcnMg dG8gcHJvdGVjdCBodW1hbiByaWdodHMgYnkgZGVzaWduIHt7QnJvd25ldGFsfX0ge3tDbGFya2V0 YWx9fSB7e0RlbmFyZGlzMTR9fSB7e0NhdGhhbmRGbG9yaWRpfX0ge3tMZXNzaWd9fSB7e1JhY2hv dml0c2F9fS4NCg0KSW4gdGhlIGFjYWRlbWljIGxpdGVyYXR1cmUgZm91ciBjbGVhciBwb3NpdGlv bnMgY2FuIGJlIGRpc2Nlcm5lZCwgaW4gcmVsYXRpb24gdG8gdGhlIHJvbGUgb2YgaHVtYW4gcmln aHRzIGluIHByb3RvY29sIGRlc2lnbiBhbmQgaG93IHRvIGFjY291bnQgZm9yIHRoZXNlIGh1bWFu IHJpZ2h0cyBpbiBwcm90b2NvbCBkZXZlbG9wbWVudDogQ2xhcmsgZXQgYWwuIGFyZ3VlIHRoYXQg dGhlcmUgaXMgYSBuZWVkIHRvICdkZXNpZ24gZm9yIHZhcmlhdGlvbiBpbiBvdXRjb21lLCBzbyB0 aGF0IHRoZSBvdXRjb21lIGNhbiBiZSBkaWZmZXJlbnQgaW4gZGlmZmVyZW50IHBsYWNlcywgYW5k IHRoZSB0dXNzbGUgdGFrZXMgcGxhY2Ugd2l0aGluIHRoZSBkZXNpZ24gKC4uLikgW2FzXSBSaWdp ZCBkZXNpZ25zIHdpbGwgYmUgYnJva2VuOyBkZXNpZ25zIHRoYXQgcGVybWl0IHZhcmlhdGlvbiB3 aWxsIGZsZXggdW5kZXIgcHJlc3N1cmUgYW5kIHN1cnZpdmUge3tDbGFya2V0YWx9fS4nIFRoZXkg aG9sZCB0aGF0IGh1bWFuIHJpZ2h0cyBzaG91bGQgbm90IGJlIGhhcmQtY29kZWQgaW50byBwcm90 b2NvbHMgYmVjYXVzZSBvZiBmb3VyIHJlYXNvbnM6IGZpcnN0LCB0aGUgcmlnaHRzIGluIHRoZSBV REhSIGFyZSBub3QgYWJzb2x1dGUuIFNlY29uZCwgdGVjaG5vbG9neSBpcyBub3QgdGhlIG9ubHkg dG9vbCBpbiB0aGUgdHVzc2xlIG92ZXIgaHVtYW4gcmlnaHRzLiBUaGlyZCwgdGhlcmUgYXJlIGlu aGVyZW50IGRhbmdlcnMgdG8gYmx1bnRpbmcgdGhlIHRvb2xzIG9mIGVuZm9yY2VtZW50IGFuZCBs YXN0IGJ1dCBub3QgbGVhc3QsIGl0IGlzIGRhbmdlcm91cyB0byBtYWtlIHByb21pc2VzIHRoYXQg Y2FuJ3QgYmUga2VwdC4gVGhlIG9wZW4gbmF0dXJlIG9mIHRoZSBJbnRlcm5ldCB3aWxsIG5ldmVy LCB0aGV5IGFyZ3VlLCBiZSBlbm91Z2ggdG8gZnVsbHkgcHJvdGVjdCBpbmRpdmlkdWFscycgaHVt YW4gcmlnaHRzLg0KDQpDb252ZXJzZWx5LCBCcm93biBldCBhbC4ge3tCcm93bmV0YWx9fSBzdGF0 ZSB0aGF0ICdzb21lIGtleSwgdW5pdmVyc2FsIHZhbHVlcyAmI3gyMDEzOyBvZiB3aGljaCB0aGUg VURIUiBpcyB0aGUgbW9zdCBsZWdpdGltYXRlIGV4cHJlc3Npb24gJiN4MjAxMzsgc2hvdWxkIGJl IGJha2VkIGludG8gdGhlIGFyY2hpdGVjdHVyZSBhdCBkZXNpZ24gdGltZS4nIFRoZXkgYXJndWUg dGhhdCBkZXNpZ24gY2hvaWNlcyBoYXZlIG9mZmxpbmUgY29uc2VxdWVuY2VzLCBhbmQgYXJlIGFi bGUgc2hhcGUgdGhlIHBvd2VyIHBvc2l0aW9ucyBvZiBncm91cHMgb3IgaW5kaXZpZHVhbHMgaW4g c29jaWV0eS4gQXMgc3VjaCwgdGhlIGluZGl2aWR1YWxzIG1ha2luZyB0aGVzZSB0ZWNobmljYWwg ZGVjaXNpb25zIGhhdmUgYSBtb3JhbCBvYmxpZ2F0aW9uIHRvIHRha2UgaW50byBhY2NvdW50IHRo ZSBpbXBhY3Qgb2YgdGhlaXIgZGVjaXNpb25zIG9uIHNvY2lldHksIGFuZCBieSBleHRlbnNpb24g aHVtYW4gcmlnaHRzLiBCcm93biBldCBhbCByZWNvZ25pc2UgdGhhdCB2YWx1ZXMgYW5kIHRoZSBp bXBsZW1lbnRhdGlvbiBvZiBodW1hbiByaWdodHMgdmFyeSBhY3Jvc3MgdGhlIGdsb2JlLiBZZXQg dGhleSBhcmd1ZSB0aGF0IGFsbCBtZW1iZXJzIG9mIHRoZSBVbml0ZWQgTmF0aW9ucyBoYXZlIGZv dW5kICdjb21tb24gYWdyZWVtZW50IG9uIHRoZSB2YWx1ZXMgcHJvY2xhaW1lZCBpbiB0aGUgVW5p dmVyc2FsIERlY2xhcmF0aW9uIG9mIEh1bWFuIFJpZ2h0cy4gSW4gbG9va2luZyBmb3IgdGhlIG1v c3QgbGVnaXRpbWF0ZSBzZXQgb2YgZ2xvYmFsIHZhbHVlcyB0byBlbWJlZCBpbiB0aGUgZnV0dXJl IEludGVybmV0IGFyY2hpdGVjdHVyZSwgdGhlIFVESFIgaGFzIHRoZSBkZW1vY3JhdGljIGFzc2Vu dCBvZiBhIHNpZ25pZmljYW50IGZyYWN0aW9uIG9mIHRoZSBwbGFuZXQncyBwb3B1bGF0aW9uLCB0 aHJvdWdoIHRoZWlyIGVsZWN0ZWQgcmVwcmVzZW50YXRpdmVzLiINCg0KVGhlIG1haW4gZGlzYWdy ZWVtZW50IGJldHdlZW4gdGhlc2UgdHdvIHBvc2l0aW9ucyBsaWVzIG1vc3RseSBpbiB0aGUgcXVl c3Rpb24gb24gd2hldGhlciBhIHBhcnRpY3VsYXIgdmFsdWUgc3lzdGVtIHNob3VsZCBiZSBlbWJl ZGRlZCBpbnRvIHRoZSBJbnRlcm5ldCdzIGFyY2hpdGVjdHVyZSBvciB3aGV0aGVyIHRoZSBhcmNo aXRlY3R1cmUgbmVlZHMgdG8gYWNjb3VudCBmb3IgYSB2YXJ5aW5nIHNldCBvZiB2YWx1ZXMuDQoN CkEgdGhpcmQgcG9zaXRpb24gdGhhdCBpcyBzaW1pbGFyIHRvIHRoYXQgb2YgQnJvd24gZXQgYWwu LCBpcyB0YWtlbiBieSB7e0Jyb2VkZXJzfX0gd2hvIGFyZ3VlcyB0aGF0ICd3ZSBtdXN0IGZpbmQg d2F5cyB0byBjb250aW51ZSBndWFyYW50ZWVpbmcgdGhlIG92ZXJhbGwgaW50ZWdyaXR5IGFuZCBm dW5jdGlvbmFsaXR5IG9mIHRoZSBwdWJsaWMgY29yZSBvZiB0aGUgSW50ZXJuZXQuJyBIZSBhcmd1 ZXMgdGhhdCB0aGUgYmVzdCB3YXkgdG8gZG8gdGhpcyBpcyBieSBkZWNsYXJpbmcgdGhlIGJhY2ti b25lIG9mIHRoZSBJbnRlcm5ldCAtIHdoaWNoIGluY2x1ZGVzIHRoZSBUQ1AvSVAgcHJvdG9jb2wg c3VpdGUsIG51bWVyb3VzIHN0YW5kYXJkcywgdGhlIERvbWFpbiBOYW1lIFN5c3RlbSAoRE5TKSwg YW5kIHJvdXRpbmcgcHJvdG9jb2xzIC0gYSBjb21tb24gcHVibGljIGdvb2QuIFRoaXMgaXMgYSBk aWZmZXJlbnQgYXBwcm9hY2ggdGhhbiB0aGF0IG9mIHt7Q2xhcmtldGFsfX0gYW5kIHt7QnJvd25l dGFsfX0gYmVjYXVzZSBCcm9lZGVycyBkb2VzIG5vdCBzdWdnZXN0IHRoYXQgc29jaWFsIHZhbHVl cyBzaG91bGQgKG9yIHNob3VsZCBub3QpIGJlIGV4cGxpY2l0bHkgY29kZWQgaW50byB0aGUgSW50 ZXJuZXQncyBhcmNoaXRlY3R1cmUsIGJ1dCByYXRoZXIgdGhhdCB0aGUgZXhpc3RpbmcgYXJjaGl0 ZWN0dXJlIHNob3VsZCBiZSBzZWVuIGFzIGFuIGVudGl0eSBvZiBwdWJsaWMgdmFsdWUuDQoNCkJs ZXNzIGFuZCBPcndhdCB7e0JsZXNzfX0gcmVwcmVzZW50cyBhIGZvdXJ0aCBwb3NpdGlvbi4gVGhl eSBhcmd1ZSB0aGF0IGl0IGlzIHRvIGVhcmx5IHRvIG1ha2UgYW55IGRlZmluaXRpdmUgY2xhaW1z LCBidXQgdGhhdCB0aGVyZSBpcyBhIG5lZWQgZm9yIG1vcmUgY2FyZWZ1bCBhbmFseXNpcyBvZiB0 aGUgaW1wYWN0IG9mIHByb3RvY29sIGRlc2lnbiBjaG9pY2VzIG9uIGh1bWFuIHJpZ2h0cy4gVGhl eSBhbHNvIGFyZ3VlIHRoYXQgaXQgaXMgaW1wb3J0YW50IHRvIHNlYXJjaCBmb3Igc29sdXRpb25z IHRoYXQgJ2NyZWF0ZSBhd2FyZW5lc3MgaW4gdGhlIHRlY2huaWNhbCBjb21tdW5pdHkgYWJvdXQg aW1wYWN0IG9mIGRlc2lnbiBjaG9pY2VzIG9uIHNvY2lhbCB2YWx1ZXMuIEFuZCB3b3JrIHRvd2Fy ZHMgYSBtZXRob2RvbG9neSBmb3IgY28tZGVzaWduIG9mIHRlY2huaWNhbCBhbmQgaW5zdGl0dXRp b25hbCBzeXN0ZW1zLicNCg0KT3VyIHBvc2l0aW9uIGlzIHRoYXQgaGFyZC1jb2RpbmcgaHVtYW4g cmlnaHRzIGludG8gcHJvdG9jb2xzIGlzIHZlcnkgY29tcGxpY2F0ZWQgYXMgZWFjaCBzaXR1YXRp b24gaXMgZGVwZW5kZW50IG9uIGl0cyBjb250ZXh0LiBBdCB0aGlzIHBvaW50IGlzIGRpZmZpY3Vs dCB0byBzYXkgd2hldGhlciBoYXJkLWNvZGluZyBodW1hbiByaWdodHMgaW50byBwcm90b2NvbHMg aXMgd2lzZSAob3IgZmVhc2libGUpLiBJdCBpcyBob3dldmVyIGltcG9ydGFudCB0byBtYWtlIGNv bnNpY2lvdXMgYW5kIGV4cGxpY2l0IGRlc2lnbiBkZWNpc2lvbnMgdGhhdCB0YWtlIGludG8gYWNj b3VudCB0aGUgaHVtYW4gcmlnaHRzIHByb3RvY29sIGNvbnNpZGVyYXRpb25zIGd1aWRlbGluZXMg ZGV2ZWxvcGVkIGJlbG93LiBUaGlzIHdpbGwgZW5zdXJlIHRoYXQgdGhlIGltcGFjdCBwcm90b2Nv bHMgY2FuIGhhdmUgb24gaHVtYW4gcmlnaHRzIGlzIGNsZWFyIGFuZCBleHBsaWNpdCwgYm90aCBm b3IgZGV2ZWxvcGVycyBhbmQgZm9yIHVzZXJzLiBJbiBhZGRpdGlvbiwgaXQgZW5zdXJlcyB0aGF0 IHRoZSBpbXBhY3Qgb2Ygc3BlY2lmaWMgcHJvdG9jb2wgb24gaHVtYW4gcmlnaHRzIGlzIGNhcmVm dWxseSBjb25zaWRlcmVkIGFuZCB0aGF0IGNvbmNyZXRlIGRlc2lnbiBkZWNpc2lvbnMgYXJlIGRv Y3VtZW50ZWQgaW4gdGhlIHByb3RvY29sLg0KDQpUaGlzIGRvY3VtZW50IGRldGFpbHMgdGhlIHN0 ZXBzIHRha2VuIGluIHRoZXJlc2VhcmNoIGludG8gaHVtYW4gcmlnaHRzIHByb3RvY29sIGNvbnNp ZGVyYXRpb25zIGJ5IHRoZSBIUlBDIGdyb3VwIHRvIGNsYXJpZnkgdGhlIHJlbGF0aW9uIGJldHdl ZW4gdGVjaG5pY2FsIGNvbmNlcHRzIHVzZWQgaW4gdGhlIElFVEYgYW5kIGh1bWFuIHJpZ2h0cy4g VGhpcyBkb2N1bWVudCBzZXRzIG91dCBzb21lIHByZWxpbWluYXJ5IHN0ZXBzIGFuZCBjb25zaWRl cmF0aW9ucyBmb3IgZW5naW5lZXJzIHRvIHRha2UgaW50byBhY2NvdW50IHdoZW4gZGV2ZWxvcGlu ZyBzdGFuZGFyZHMgYW5kIHByb3RvY29scy4NCg0KDQpNZXRob2RvbG9neQ0KPT09PT09PT09PT0N Cg0KTWFwcGluZyB0aGUgcmVsYXRpb24gYmV0d2VlbiBodW1hbiByaWdodHMsIHByb3RvY29scyBh bmQgYXJjaGl0ZWN0dXJlcyBpcyBhIG5ldyByZXNlYXJjaCBjaGFsbGVuZ2UsIHdoaWNoIHJlcXVp cmVzIGEgZ29vZCBhbW91bnQgb2YgaW50ZXJkaXNjaXBsaW5hcnkgYW5kIGNyb3NzIG9yZ2FuaXph dGlvbmFsIGNvb3BlcmF0aW9uIHRvIGRldmVsb3AgYSBjb25zaXN0ZW50IG1ldGhvZG9sb2d5LiAg VGhlIGF1dGhvcnMgb2YgdGhpcyBmaXJzdCBkcmFmdCBhcmUgaW52b2x2ZWQgaW4gYm90aCBodW1h biByaWdodHMgYWR2b2NhY3kgYW5kIHJlc2VhcmNoIG9uIEludGVybmV0IHRlY2hub2xvZ2llcyAt IGFuZCBhcyBzdWNoICBiZWxpZXZlIHRoYXQgYnJpbmdpbmcgdGhpcyB3b3JrIGludG8gdGhlIElS VEYgZmFjaWxpdGF0ZXMgYW5kICBpbXByb3ZlcyBpdCBieSBicmluZ2luZyBodW1hbiByaWdodHMg ZXhwZXJ0cyB0b2dldGhlciB3aXRoIHRoZSBjb21tdW5pdHkgb2YgcmVzZWFyY2hlcnMgYW5kIGRl dmVsb3BlcnMgb2YgSW50ZXJuZXQgc3RhbmRhcmRzIGFuZCB0ZWNobm9sb2dpZXMuDQoNClRoZSBt ZXRob2RvbG9naWNhbCBjaG9pY2VzIG1hZGUgaW4gdGhpcyBkb2N1bWVudCBhcmUgYmFzZWQgb24g dGhlIHBvbGl0aWNhbCBzY2llbmNlLWJhc2VkIG1ldGhvZCBvZiBkaXNjb3Vyc2UgYW5hbHlzaXMg YW5kIGV0aG5vZ3JhcGhpYyByZXNlYXJjaCBtZXRob2RzIHt7Q2F0aH19LiBUaGlzIHdvcmsgZGVw YXJ0cyBmcm9tIHRoZSBhc3N1bXB0aW9uIHRoYXQgbGFuZ3VhZ2UgcmVmbGVjdHMgdGhlIHVuZGVy c3RhbmRpbmcgb2YgY29uY2VwdHMuIE9yIGFzIHt7SmFicml9fSBob2xkcywgcG9saWN5IGRvY3Vt ZW50cyBhcmUgJ3NvY2lhbCByZWxhdGlvbnMgcmVwcmVzZW50ZWQgaW4gdGV4dHMgd2hlcmUgbGFu Z3VhZ2UgaXMgdXNlZCB0byBjb25zdHJ1Y3QgbWVhbmluZyBhbmQgcmVwcmVzZW50YXRpb24nLiBU aGlzIHByb2Nlc3MgaGFwcGVucyBpbiAndGhlIHNvY2lhbCBzcGFjZSBvZiBzb2NpZXR5JyB7e1Nj aHJvZWRlcn19IGFuZCBtYW5pZmVzdHMgaXRzZWxmIGluIGluc3RpdHV0aW9ucyBhbmQgb3JnYW5p emF0aW9ucyB7e0tpbmd9fSwgZXhwb3NlZCB1c2luZyB0aGUgZXRobm9ncmFwaGljIG1ldGhvZHMg b2Ygc2VtaS1zdHJ1Y3R1cmVkIGludGVydmlld3MgYW5kIHBhcnRpY2lwYW50IG9ic2VydmF0aW9u Lg0KDQpUaGUgZGlzY291cnNlIGFuYWx5c2lzIHdhcyBvcGVyYXRpb25hbGl6ZWQgdXNpbmcgcXVh bGl0YXRpdmUgYW5kIHF1YW50aXRhdGl2ZSBtZWFucy4gVGhlIGZpcnN0IHN0ZXAgdGFrZW4gYnkg dGhlIHJlc2VhcmNoIGdyb3VwIHdhcyByZWFkaW5nICBSRkNzIGFuZCBvdGhlciBvZmZpY2lhbCBJ RVRGIGRvY3VtZW50cy4gVGhlIHNlY29uZCBzdGVwIHdhcyB0aGUgdXNlIG9mIGEgcHlob24tYmFz ZWQgYW5hbHl6ZXIsIHVzaW5nIHRoZSB0b29sIEJpZyBCYW5nLCBhZGFwdGVkIGJ5IE5pY2sgRG90 eSB7e0RvdHl9fSB0byBzY2FuIGZvciB0aGUgY29uY2VwdHMgdGhhdCB3ZXJlIGlkZW50aWZpZWQg YXMgaW1wb3J0YW50IGFyY2hpdGVjdHVyYWwgcHJpbmNpcGxlcyAoZGlzdGlsbGVkIG9uIHRoZSBp bml0aWFsIHJlYWRpbmcgYW5kIHN1cHBsZW1lbnRlZCBieSB0aGUgaW50ZXJ2aWV3cyBhbmQgcGFy dGljaXBhbnQgb2JzZXJ2YXRpb24pLiBTdWNoIGEgcXVhbnRpdGF0aXZlIG1ldGhvZCBpcyB2ZXJ5 IHByZWNpc2UgYW5kIHNwZWVkcyB1cCB0aGUgcmVzZWFyY2ggcHJvY2VzcyB7e1JpY2hpZX19LiBC dXQgdGhpcyB0b29sIGlzIHVuYWJsZSB0byB1bmRlcnN0YW5kICdsYXRlbnQgbWVhbmluZycge3tE ZW56aW59fS4gSW4gb3JkZXIgdG8gbWl0aWdhdGUgdGhlc2UgaXNzdWVzIG9mIGF1dG9tYXRlZCB3 b3JkLWZyZXF1ZW5jeSBiYXNlZCBhcHByb2FjaGVzLCBhbmQgdG8gZ2V0IGEgc2Vuc2Ugb2YgdGhl ICd0aGljayBtZWFuaW5nJyB7e0dlZXJ0en19IG9mIHRoZSBkYXRhLCBhIHNlY29uZCBxdWFsaXRh dGl2ZSBhbmFseXNpcyBvZiB0aGUgZGF0YSBzZXQgd2FzIHBlcmZvcm1lZC4gVGhlc2UgdmFyaW91 cyByb3VuZHMgb2YgZGlzY291cnNlIGFuYWx5c2lzIHdlcmUgdXNlZCB0byBpbmZvcm0gdGhlIGlu dGVydmlld3MgYW5kIGZ1cnRoZXIgZGF0YSBhbmFseXNpcy4NCg0KVGhlIGV0aG5vZ3JhcGhpYyBt ZXRob2RzIG9mIHRoZSBkYXRhIGNvbGxlY3Rpb24gYW5kIHByb2Nlc3NpbmcgYWxsb3dlZCB0aGUg cmVzZWFyY2ggZ3JvdXAgdG8gYWNxdWlyZSB0aGUgZGF0YSBuZWNlc3NhcnkgdG8gJ3Byb3ZpZGUg YSBob2xpc3RpYyB1bmRlcnN0YW5kaW5nIG9mIHJlc2VhcmNoIHBhcnRpY2lwYW50cycgdmlld3Mg YW5kIGFjdGlvbnMnIHt7RGVuemlufX0gdGhhdCBoaWdobGlnaHRlZCBvbmdvaW5nIGlzc3VlcyBh bmQgY2FzZSBzdHVkaWVzIHdoZXJlIHByb3RvY29scyBpbXBhY3QgaHVtYW4gcmlnaHRzLiBUaGUg aW50ZXJ2aWV3IHBhcnRpY2lwYW50cyB3ZXJlIHNlbGVjdGVkIHRocm91Z2ggcHVycG9zaXZlIHNh bXBsaW5nIHt7QmFiYmllfX0sIGFzIHRoZSByZXNlYXJjaCBncm91cCB3YXMgaW50ZXJlc3RlZCBp biBnZXR0aW5nIGEgd2lkZSB2YXJpZXR5IG9mIG9waW5pb25zIG9uIHRoZSByb2xlIG9mIGh1bWFu IHJpZ2h0cyBpbiBndWlkaW5nIHByb3RvY29sIGRldmVsb3BtZW50LiBUaGlzIHNhbXBsaW5nIG1l dGhvZCBhbHNvIGVuc3VyZWQgdGhhdCBpbmRpdmlkdWFscyB3aXRoIGV4dGVuc2l2ZSBleHBlcmll bmNlIHdvcmtpbmcgYXQgdGhlIElFVEYgaW4gdmFyaW91cyByb2xlcyB3ZXJlIHRhcmdldGVkLiBU aGUgaW50ZXJ2aWV3ZWVzIGluY2x1ZGVkIGluZGl2aWR1YWxzIGluIGxlYWRlcnNoaXAgcG9zaXRp b25zIChXb3JraW5nIEdyb3VwIChXRykgY2hhaXJzLCBBcmVhIERpcmVjdG9ycyAoQURzKSksICdy ZWd1bGFyIHBhcnRpY2lwYW50cycsIGluZGl2aWR1YWxzIHdvcmtpbmcgZm9yIHNwZWNpZmljIGVu dGl0aWVzIChjb3Jwb3JhdGUsIGNpdmlsIHNvY2lldHksIHBvbGl0aWNhbCwgYWNhZGVtaWMpIGFu ZCByZXByZXNlbnRlZCB2YXJpb3VzIGJhY2tncm91bmRzLCBuYXRpb25hbGl0aWVzIGFuZCBnZW5k ZXJzLg0KDQoNCg0KDQpEYXRhIFNvdXJjZXMNCi0tLS0tLS0tLS0tLQ0KDQpJbiBvcmRlciB0byBt YXAgdGhlIHBvdGVudGlhbCByZWxhdGlvbiBiZXR3ZWVuIGh1bWFuIHJpZ2h0cyBhbmQgcHJvdG9j b2xzLCBzbyBmYXIsIHRoZSBIUlBDIHJlc2VhcmNoIGdyb3VwIGdhdGhlcmVkIGRhdGEgZnJvbSB0 aHJlZSBzcGVjaWZpYyBzb3VyY2VzOg0KDQojIyMgRGlzY291cnNlIGFuYWx5c2lzIG9mIFJGQ3MN ClRvIHN0YXJ0IGFkZHJlc3NpbmcgdGhlIGlzc3VlLCBhIG1hcHBpbmcgZXhlcmNpc2UgYW5hbHl6 aW5nIEludGVybmV0IGFyY2hpdGVjdHVyZSBhbmQgcHJvdG9jb2xzIGZlYXR1cmVzLCB2aXMtYS12 aXMgdGhlaXIgcG9zc2libGUgaW1wYWN0IG9uIGh1bWFuIHJpZ2h0cyB3YXMgdW5kZXJ0YWtlbi4g VGhlcmVmb3JlLCByZXNlYXJjaCBvbiB0aGUgbGFuZ3VhZ2UgdXNlZCBpbiBjdXJyZW50IGFuZCBo aXN0b3JpYyBSRkNzIGFuZCBtYWlsaW5nIGxpc3QgZGlzY3Vzc2lvbnMgd2FzIHVuZGVydGFrZW4g dG8gZXhwb3NlIGNvcmUgYXJjaGl0ZWN0dXJhbCBwcmluY2lwbGVzLCBsYW5ndWFnZSBhbmQgZGVs aWJlcmF0aW9ucyBvbiBodW1hbiByaWdodHMgb2YgdGhvc2UgYWZmZWN0ZWQgYnkgdGhlIG5ldHdv cmsuDQoNCiMjIyBJbnRlcnZpZXdzIHdpdGggbWVtYmVycyBvZiB0aGUgSUVURiBjb21tdW5pdHkg ZHVyaW5nIElFVEY5MiBpbiBEYWxsYXMNCkludGVydmlld3Mgd2l0aCB0aGUgY3VycmVudCBhbmQg cGFzdCBtZW1iZXJzIG9mIHRoZSBJbnRlcm5ldCBBcmNoaXRlY3R1cmUgQm9hcmQgKElBQiksIGN1 cnJlbnQgYW5kIHBhc3QgbWVtYmVycyBvZiB0aGUgSW50ZXJuZXQgRW5naW5lZXJpbmcgU3RlZXJp bmcgR3JvdXAgKElFU0cpIGFuZCBjaGFpcnMgb2Ygc2VsZWN0ZWQgd29ya2luZyBncm91cHMgYW5k IFJGQyBhdXRob3JzIHdhcyBkb25lIGF0IHRoZSBEYWxsYXMgbWVldGluZyBpbiBNYXJjaCAyMDE1 LiBUbyBnZXQgYW4gaW5zaWRlciB1bmRlcnN0YW5kaW5nIG9mIGhvdyB0aGV5IHZpZXcgdGhlIHJl bGF0aW9uc2hpcCAoaWYgYW55KSBiZXR3ZWVuIGh1bWFuIHJpZ2h0cyBhbmQgcHJvdG9jb2xzIHRv IHBsYXkgb3V0IGluIHRoZWlyIHdvcmsuDQoNCiMjIyBQYXJ0aWNpcGFudCBvYnNlcnZhdGlvbiBp biBXb3JraW5nIEdyb3Vwcw0KQnkgcGFydGljaXBhdGluZyBpbiB2YXJpb3VzIHdvcmtpbmcgZ3Jv dXBzLCBpbiBwZXJzb24gYXQgSUVURiBtZWV0aW5ncyBhbmQgb24gbWFpbGluZ2xpc3RzLCBpbmZv cm1hdGlvbiB3YXMgZ2F0aGVyZWQgYWJvdXQgdGhlIElFVEZzIGRheS10by1kYXkgd29ya2luZ3Mu IEZyb20gd2hpY2ggd2hpY2ggZ2VuZXJhbCB0aGVtZXMsIHRlY2huaWNhbCBjb25jZXB0cywgYW5k IHVzZS1jYXNlcyBhYm91dCBodW1hbiByaWdodHMgYW5kIHByb3RvY29scyB3ZXJlIGV4dHJhY3Rl ZC4NCg0KDQpEYXRhIGFuYWx5c2lzIHN0cmF0ZWdpZXMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KDQpUaGUgZGF0YSBhYm92ZSB3YXMgcHJvY2Vzc2VkIHVzaW5nIHRocmVlIGNvbnNlY3V0aXZl IHN0cmF0ZWdpZXM6IG1hcHBpbmcgcHJvdG9jb2xzIHJlbGF0ZWQgdG8gaHVtYW4gcmlnaHRzLCBl eHRyYWN0aW5nIGNvbmNlcHRzIGZyb20gdGhlc2UgcHJvdG9jb2xzLCBhbmQgY3JlYXRpb24gb2Yg YSBjb21tb24gZ2xvc3NhcnkgKGRldGFpbGVkIHVuZGVyICIyLnZvY2FidWxhcnkgdXNlZCIpLiBC ZWZvcmUgZ29pbmcgb3ZlciB0aGVzZSBzdHJhdGVnaWVzIHNvbWUgZWxhYm9yYXRpb24gb24gdGhl IHByb2Nlc3Mgb2YgaWRlbnRpZnlpbmcgdGVjaG5pY2FsIGNvbmNlcHRzIGFzIHRoZXkgcmVsYXRl IHRvIGh1bWFuIHJpZ2h0cyBuZWVkcyB0byBiZSBnaXZlbjoNCg0KDQojIyMgSWRlbnRpZnlpbmcg cXVhbGl0aWVzIG9mIHRlY2huaWNhbCBjb25jZXB0cyB0aGF0IHJlbGF0ZSB0byBodW1hbiByaWdo dHMNCg0KIyMjIyBNYXBwaW5nIHByb3RvY29scyBhbmQgc3RhbmRhcmRzIHJlbGF0ZWQgdG8gaHVt YW4gcmlnaHRzDQpCeSBjb21iaW5pbmcgZGF0YSBmcm9tIHRoZSB0aHJlZSBkYXRhIHNvdXJjZXMg bmFtZWQgYWJvdmUsIGFuIGV4dGVuc2l2ZSBsaXN0IG9mICBwcm90b2NvbHMgYW5kIHN0YW5kYXJk cyB0aGF0IHBvdGVudGlhbGx5IGVuYWJsZSB0aGUgSW50ZXJuZXQgYXMgYSB0b29sIGZvciBmcmVl ZG9tIG9mIGV4cHJlc3Npb24gYW5kIGFzc29jaWF0aW9uIHdhcyBhc3NlbWJseS4gSW4gb3JkZXIg dG8gZGV0ZXJtaW5lIHRoZSBlbmFibGluZyAob3IgaW5oaWJpdGluZykgZmVhdHVyZXMgd2UgcmVs aWVkIG9uIGRpcmVjdCByZWZlcmVuY2VzIG9mIHN1Y2ggaW1wYWN0IGluIHRoZSBSRkNzLCBhcyB3 ZWxsIGFzIGlucHV0IGZyb20gdGhlIGNvbW11bml0eS4gT24gdGhlIGJhc2lzIG9mIHRoaXMgYW5h bHlzaXMgYSBsaXN0IG9mIFJGQ3MgdGhhdCBkZXNjcmliZSBzdGFuZGFyZHMgYW5kIHByb3RvY29s cyB0aGF0IGFyZSBwb3RlbnRpYWxseSBjbG9zZWx5IHJlbGF0ZWQgdG8gaHVtYW4gcmlnaHRzIHdh cyBjb21waWxlZC4NCg0KDQojIyMjIEV4dHJhY3RpbmcgY29uY2VwdHMgZnJvbSBtYXBwZWQgUkZD cw0KTWFwcGluZyB0aGUgcHJvdG9jb2xzIGFuZCBzdGFuZGFyZHMgdGhhdCBhcmUgcmVsYXRlZCB0 byBodW1hbiByaWdodHMgYW5kIGNyZWF0ZSBhIGh1bWFuIHJpZ2h0cyBlbmFiZWxpbmcgZW52aXJv bm1lbnQgd2FzIHRoZSBmaXJzdCBzdGVwLiBGb3IgdGhhdCB3ZSBuZWVkZWQgdG8gZm9jdXMgb24g c3BlY2lmaWMgdGVjaG5pY2FsIGNvbmNlcHRzIHRoYXQgdW5kZXJsaWUgdGhlc2UgcHJvdG9jb2xz IGFuZCAgc3RhbmRhcmRzLiBPbiB0aGUgYmFzaXMgb2YgdGhpcyBsaXN0IGEgbnVtYmVyIG9mIHRl Y2huaWNhbCBjb25jZXB0cyB0aGF0IGFwcGVhcmVkIGZyZXF1ZW50bHkgd2FzIGV4dHJhY3RlZCwg YW5kIHVzZWQgdG8gY3JlYXRlIGEgc2Vjb25kIGxpc3Qgb2YgdGVjaG5pY2FsIHRlcm1zIHRoYXQs IHdoZW4gY29tYmluZWQsIGNyZWF0ZSBhbiBlbmFibGluZyBlbnZpcm9ubWVudCBmb3IgZXhjZXJj aXNpbmcgaHVtYW4gcmlnaHRzIG9uIHRoZSBJbnRlcm5ldC4NCg0KIyMjIyBCdWlsZGluZyBhIGNv bW1vbiB2b2NhYnVsYXJ5IG9mIHRlY2huaWNhbCBjb25jZXB0cyB0aGF0IGltcGFjdCBodW1hbiBy aWdodHMNCldoaWxlIGludGVydmlld2luZyBleHBlcnRzLCBtYXBwaW5nIFJGQ3MgYW5kIGNvbXBp bGluZyB0ZWNobmljYWwgZGVmaW5pdGlvbnMgc2V2ZXJhbCBjb25jZXB0cyBvZiBjb252ZXJnZW5j ZSBhbmQgZGl2ZXJnZW5jZSB3ZXJlIGlkZW50aWZpZWQuIFRvIGVuc3VyZSB0aGF0IHRoZSBkaXNj dXNzaW9uIHdhcyBiYXNlZCBvbiBhIGNvbW1vbiB1bmRlcnN0YW5kaW5nIG9mIHRlcm1zIGFuZCB2 b2NhYnVsYXJ5LCBhIGxpc3Qgb2YgZGVmaW5pdGlvbnMgd2FzIGNyZWF0ZWQuIFRoZSBkZWZpbml0 aW9ucyBhcmUgYmFzZWQgb24gdGhlIHdvcmRpbmcgZm91bmQgaW4gdmFyaW91cyBJRVRGIGRvY3Vt ZW50cywgYW5kIGlmIHRoZXNlIHdlcmUgdW5hdmFpbGFibGUgZGVmaW5pdGlvbnMgd2VyZSB0YWtl biBmcm9tIGRlZmluaXRpb25zIGZyb20gb3RoZXIgU3RhbmRhcmRzIERldmVsb3BpbmcgT3JnYW5p emF0aW9ucyBvciBhY2FkZW1pYyBsaXRlcmF0dXJlLg0KDQojIyMjIFRyYW5zbGF0aW5nIEh1bWFu IFJpZ2h0cyBDb25jZXB0IGludG8gVGVjaG5pY2FsIERlZmluaXRpb25zDQpUaGUgcHJldmlvdXMg c3RlcHMgYWxsb3dlZCBmb3IgdGhlIGNsYXJpZmljYXRpb24gb2YgcmVsYXRpb24gYmV0d2VlbiBo dW1hbiByaWdodHMgYW5kIHRlY2huaWNhbCBjb25jZXB0cy4gVGhlIHN0ZXBzIHRha2VuIHNob3cg aG93IHRoZSByZXNlYXJjaCBwcm9jZXNzIHpvb21lZCBpbiwgZnJvbSBjb21waWxpbmcgYSBicm9h ZCBsaXN0cyBvZiBwcm90b2NvbHMgYW5kIHN0YW5kYXJkcyB0aGF0IHJlbGF0ZSB0byBodW1hbiBy aWdodHMgdG8gZXh0cmFjdGluZyB0aGUgcHJlY2lzZSB0ZWNobmljYWwgY29uY2VwdHMgdGhhdCBt YWtlIHVwIHRoZXNlIHByb3RvY29scyBhbmQgc3RhbmRhcmRzLCBpbiBvcmRlciB0byB1bmRlcnN0 YW5kIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgdHdvLiBUaGlzIHN1Yi1zZWN0aW9uIHBy ZXNlbnRzIHRoZSBuZXh0IHN0ZXA6IHRyYW5zbGF0aW5nIGh1bWFuIHJpZ2h0cyB0byB0ZWNobmlj YWwgY29uY2VwdHMgYnkgbWF0Y2hpbmcgdGhlIGluZGl2aWR1YWxzIGNvbXBvbmVudHMgb2YgdGhl IHJpZ2h0cyB0byB0aGUgYWNjb21wYW55aW5nIHRlY2huaWNhbCBjb25jZXB0cywgYWxsb3dpbmcg Zm9yIHRoZSBjcmVhdGlvbiBvZiBhIGxpc3Qgb2YgdGVjaG5pY2FsIGNvbmNlcHRzIHRoYXQgd2hl biBjb21iaW5lZCBjcmVhdGUgYW4gZW5hYmxpbmcgZW52aXJvbm1lbnQgZm9yIGh1bWFuIHJpZ2h0 cy4NCg0KIyMjIyBMaXN0IHRlY2huaWNhbCB0ZXJtcyB0aGF0IGNvbWJpbmVkIGNyZWF0ZSBlbmFi bGluZyBlbnZpcm9ubWVudCBmb3IgaHVtYW4gcmlnaHRzDQpPbiB0aGUgYmFzaXMgb2YgdGhlIHBy aW9yIHN0ZXBzIHRoZSBmb2xsb3dpbmcgIGxpc3Qgb2YgIHRlY2huaWNhbCB0ZXJtcywgdGhhdCB3 aGVuIGNvbWJpbmVkIGNyZWF0ZSBhbiBlbmFibGluZyBlbnZpcm9ubWVudCBmb3IgaHVtYW4gcmln aHRzLCBzdWNoIGEgZnJlZWRvbSBvZiBleHByZXNzaW9uIGFuZCBmcmVlZG9tIG9mIGFzc29jaWF0 aW9uLCB3YXMgZHJhZnRlZC4NCg0KICAgICAgQXJjaGl0ZWN0dXJhbCBwcmluY2lwbGVzICAgICAg ICAgICAgICAgICAgICBFbmFibGluZyBmZWF0dXJlcw0KICAgICAgICBhbmQgY2hhcmFjdGVyaXN0 aWNzICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHVzZXIgcmlnaHRzDQoNCiAgICAgICAgICAg ICAgICAgICAgICAgLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLVwNCiAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwNCiAgICAgKz09PT09PT09PT09PT09PT09fD09PT09PT09 PT09PT09PT09PT09PT09PT09PT09KyAgICAgICAgICAgICAgICAgIHwNCiAgICAgPSAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAgICAgICAgICAgICAgICAg IHwNCiAgICAgPSAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgRW5kIHRvIGVuZCAgICAgICAg PSAgICAgICAgICAgICAgICAgIHwNCiAgICAgPSAgICAgICAgICAgICAgICAgfCAgICAgICAgICBS ZWxpYWJpbGl0eSAgICAgICAgPSAgICAgICAgICAgICAgICAgIHwNCiAgICAgPSAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgUmVzaWxpZW5jZSAgICAgICAgPSAgQWNjZXNzIGFzICAgICAgIHwN CiAgICAgPSAgICAgICAgICAgICAgICAgfCAgICAgICAgSW50ZXJvcGVyYWJpbGl0eSAgICAgPSAg IEh1bWFuIFJpZ2h0ICAgIHwNCiAgICAgPSAgICBHb29kIGVub3VnaCAgfCAgICAgICAgICBUcmFu c3BhcmVuY3kgICAgICAgPSAgICAgICAgICAgICAgICAgIHwNCiAgICAgPSAgICAgcHJpbmNpcGxl ICAgfCAgICAgICBEYXRhIG1pbmltaXphdGlvbiAgICAgPSAgICAgICAgICAgICAgICAgIHwNCiAg ICAgPSAgICAgICAgICAgICAgICAgfCAgUGVybWlzc2lvbmxlc3MgaW5ub3ZhdGlvbiAgPSAgICAg ICAgICAgICAgICAgIHwNCiAgICAgPSAgICBTaW1wbGljaXR5ICAgfCAgICAgR3JhY2VmdWwgZGVn cmFkYXRpb24gICAgPSAgICAgICAgICAgICAgICAgIHwNCiAgICAgPSAgICAgICAgICAgICAgICAg fCAgICAgICAgICBDb25uZWN0aXZpdHkgICAgICAgPSAgICAgICAgICAgICAgICAgIHwNCiAgICAg PSAgICAgICAgICAgICAgICAgfCAgICAgICAgICBIZXRlcm9nZW5laXR5ICAgICAgPSAgICAgICAg ICAgICAgICAgIHwNCiAgICAgPSAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPSAgICAgICAgICAgICAgICAgIHwNCiAgICAgPSAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAgICAgICAgICAgICAgICAgIHwNCiAgICAgPSAg ICAgICAgICAgICAgICAgXC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS8NCiAgICAgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPQ0KICAgICArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0rDQoNCg0KIyMjIFRyYW5zbGF0aW9uIGh1bWFuIHJpZ2h0cyB0byB0ZWNobmljYWwgdGVy bXMNCg0KVGhpcyBhbmFseXNpcyBhaW1zIHRvIHRyYW5zbGF0ZSBodW1hbiByaWdodHMgY29uY2Vw dHMgdGhhdCBpbXBhY3Qgb3IgYXJlIGltcGFjdGVkIGJ5IHRoZSBJbnRlcm5ldCBhcyBmb2xsb3dz Og0KDQpUaGUgY29tYmluYXRpb24gb2YgY29udGVudCBhZ25vc3RpY2lzbSwgY29ubmVjdGl2aXR5 LCBzZWN1cml0eSwgcHJpdmFjeSAoYXMgZGVmaW5lZCBpbiB7e1JGQzY5NzN9fSApLCBhbmQgb3Bl biBzdGFuZGFyZHMgYXJlIHRoZSB0ZWNobmljYWwgcHJpbmNpcGxlcyB0aGF0IHVuZGVybGllIGZy ZWVkb20gb2YgZXhwcmVzc2lvbiBvbiB0aGUgSW50ZXJuZXQuDQoNCiAgICAgICggICAgIENvbm5l Y3Rpdml0eSAgICAgICAgICApDQogICAgICggICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICkN CiAgICAgKCAgICAgIFNlY3VyaXR5ICAgICAgICAgICAgICAgKSAgID0gUmlnaHQgdG8gZnJlZWRv bSBvZiBleHByZXNzaW9uDQogICAgICggICAgICBDb250ZW50IGFnbm9zdGljaXNtICAgICkNCiAg ICAgKCAgICAgIEludGVybmF0aW9uYWxpemF0aW9uICAgKQ0KICAgICAoICAgICAgQ2Vuc29yc2hp cCByZXNpc3RhbmNlICApDQogICAgICggICAgICBPcGVuIFN0YW5kYXJkcyAgICAgICAgICkNCiAg ICAgICggICAgIEhldGVyb2dlbmVpdHkgc3VwcG9ydCApDQoNCg0KICAgICAoICAgICBBbm9ueW1p dHkgICAgICAgICAgKQ0KICAgICggICAgICBQcml2YWN5ICAgICAgICAgICAgICkgICA9IFJpZ2h0 IHRvIG5vbi1kaXNjcmltaW5hdGlvbg0KICAgICggICAgICBQc2V1ZG9ueW1pdHkgICAgICAgICkN CiAgICAoICAgICAgQ29udGVudCBhZ25vc3RpY2lzbSApDQogICAgICggICAgIEFjY2Vzc2liaWxp dHkgICAgICApDQoNCg0KICAgICggICAgICAgQ29udGVudCBBZ25vc3RpY2lzbSAgKQ0KICAgICgg ICAgICAgU2VjdXJpdHkgICAgICAgICAgICAgKSAgPSBSaWdodCB0byBlcXVhbCBwcm90ZWN0aW9u DQoNCiAgICAgKCAgQWNjZXNzaWJpbGl0eSAgICAgICAgICkNCiAgICAoICAgSW50ZXJuYXRpb25h bGl6YXRpb24gICApID0gUmlnaHQgdG8gcG9saXRpY2FsIHBhcnRpY2lwYXRpb24NCiAgICAoICAg Q2Vuc29yc2hpcCByZXNpc3RhbmNlICApDQogICAgICggICAgICBBY2Nlc3NpYmlsaXR5ICAgICAg ICAgKQ0KDQoNCiAgICAgKCAgT3BlbiBzdGFuZGFyZHMgICAgICAgICApDQogICAgKCAgIExvY2Fs aXphdGlvbiAgICAgICAgICAgICkgPSBSaWdodCB0byBwYXJ0aWNpcGF0ZSBpbiBjdWx0dXJhbCBs aWZlLA0KICAgICggICBJbnRlcm5hdGlvbmFsaXphdGlvbiAgICApICAgICAgICAgICAgIGFydHMg YW5kIHNjaWVuY2UgJg0KICAgICggICBDZW5zb3JzaGlwIHJlc2lzdGFuY2UgICApICAgIFJpZ2h0 IHRvIGVkdWNhdGlvbg0KICAgICAoICBBY2Nlc3NpYmlsaXR5ICAgICAgICAgICkNCg0KDQoNCiAg ICAgKCAgQ29ubmVjdGl2aXR5ICAgICAgICAgKQ0KICAgICggICBEZWNlbnRyYWxpemF0aW9uICAg ICAgKQ0KICAgICggICAgIENlbnNvcnNoaXAgcmVzaXN0YW5jZSAgICkgPSBSaWdodCB0byBmcmVl ZG9tIG9mIGFzc2VtYmx5DQogICAgKCAgIFBzZXVkb255bWl0eSAgICAgICAgICApICAgICAgICAg ICAgICAgICAgIGFuZCBhc3NvY2lhdGlvbg0KICAgICggICBBbm9ueW1pdHkgICAgICAgICAgICAg KQ0KICAgICAoICBTZWN1cml0eSAgICAgICAgICAgICApDQoNCiAgICAgICAgKCBSZWxpYWJpbGl0 eSAgICApDQogICAgICAgKCAgQ29uZmlkZW50aWFsaXR5ICkNCiAgICAgICAoICBJbnRlZ3JpdHkg ICAgICAgKSA9IFJpZ2h0IHRvIHNlY3VyaXR5DQogICAgICAgKCAgQXV0aGVudGljaXR5ICAgICkN CiAgICAgICAgKCBBbm9ueW1pdHkgICAgICApDQoNCg0KIyMjIyBNYXAgY2FzZXMgb2YgcHJvdG9j b2xzIHRoYXQgYWR2ZXJzZWx5IGltcGFjdCBodW1hbiByaWdodHMgb3IgYXJlIGVuYWJsZXJzIHRo ZXJlb2YNCkdpdmVuIHRoZSBpbmZvcm1hdGlvbiBhYm92ZSwgdGhlIGZvbGxvd2luZyBsaXN0IG9m IGNhc2VzIG9mIHByb3RvY29scyB0aGF0IGFkdmVyc2VseSBpbXBhY3Qgb3IgZW5hYmxlIGh1bWFu IHJpZ2h0cyB3YXMgZm9ybWVkLg0KDQojIyMgSVB2NA0KDQpUaGUgSW50ZXJuZXQgUHJvdG9jb2wg dmVyc2lvbiA0IChJUHY0KSwgYWxzbyBrbm93biBhcyAnbGF5ZXIgMycgb2YgdGhlIEludGVybmV0 LCBhbmQgc3BlY2lmaWVkIGFzIGEgY29tbW9uIGVuY2Fwc3VsYXRpb24gYW5kIHByb3RvY29sIGhl YWRlciwgaXMgZGVmaW5lZCBpbiB7e1JGQzA3OTF9fS4gVGhlIGV2b2x1dGlvbiBvZiBJbnRlcm5l dCBjb21tdW5pY2F0aW9ucyBsZWQgdG8gY29udGludWVkIGRldmVsb3BtZW50IGluIHRoaXMgYXJl YSwgZW5jYXBzdWxhdGVkIGluIHRoZSBkZXZlbG9wbWVudCBvZiB2ZXJzaW9uIDYgKElQdjYpIG9m IHRoZSBwcm90b2NvbCBpbiB7e1JGQzI0NjB9fS4gSW4gc3BpdGUgb2YgdGhpcyB1cGRhdGVkIHBy b3RvY29sLCB3ZSBmaW5kIHRoYXQgMjUgeWVhcnMgYWZ0ZXIgdGhlIHNwZWNpZmljYXRpb24gb2Yg dmVyc2lvbiA2IG9mIHRoZSBwcm90b2NvbCwgdGhlIG9sZGVyIHY0IHN0YW5kYXJkIGNvbnRpbnVl cyB0byBhY2NvdW50IGZvciBhIHNpemVhYmxlIG1ham9yaXR5IG9mIEludGVybmV0IHRyYWZmaWMs IGFuZCBtb3N0IChpZiBub3QgYWxsKSBvZiB0aGUgaXNzdWVzIGRpc2N1c3NlZCBoZXJlIGFyZSB2 YWxpZCBmb3IgSVB2NCBhcyB3ZWxsIGFzIElQdjYuDQoNClRoZSBJbnRlcm5ldCB3YXMgZGVzaWdu ZWQgYXMgYSBwbGF0Zm9ybSBmb3IgZnJlZSBhbmQgb3BlbiBjb21tdW5pY2F0aW9uLCBtb3N0IG5v dGFibHkgZW5jb2RlZCBpbiB0aGUgZW5kLXRvLWVuZCBwcmluY2lwbGUsIGFuZCB0aGF0IHBoaWxv c29waHkgaXMgYWxzbyBwcmVzZW50IGluIHRoZSB0ZWNobmljYWwgaW1wbGVtZW50YXRpb24gb2Yg dGhlIEludGVybmV0IFByb3RvY29sLiB7e1JGQzM3MjR9fSBXaGlsZSB0aGUgcHJvdG9jb2wgd2Fz IGRlc2lnbmVkIHRvIGV4aXN0IGluIGFuIGVudmlyb25tZW50IHdoZXJlIGludGVsbGlnZW5jZSBp cyBhdCB0aGUgZW5kIGhvc3RzLCBpdCBoYXMgcHJvdmVuIHRvIHByb3ZpZGUgc3VmZmljaWVudCBp bmZvcm1hdGlvbiB0aGF0IGEgbW9yZSBpbnRlbGxpZ2VudCBuZXR3b3JrIGNvcmUgY2FuIG1ha2Ug cG9saWN5IGRlY2lzaW9ucyBhbmQgZW5mb3JjZSBwb2xpY3kgc2hhcGluZyBhbmQgcmVzdHJpY3Rp bmcgdGhlIGNvbW11bmljYXRpb25zIG9mIGVuZCBob3N0cy4gVGhlc2UgY2FwYWJpbGl0aWVzIGZv ciBuZXR3b3JrIGNvbnRyb2wgYW5kIGxpbWl0YXRpb25zIG9mIHRoZSBmcmVlZG9tIG9mIGV4cHJl c3Npb24gYnkgZW5kIGhvc3RzIGNhbiBiZSB0cmFjZWQgYmFjayB0byB0aGUgSVB2NCBkZXNpZ24s IGhlbHBpbmcgdXMgdW5kZXJzdGFuZCB3aGljaCB0ZWNobmljYWwgcHJvdG9jb2wgZGVjaXNpb25z IGhhdmUgbGVkIHRvIGhhcm0gb2YgdGhlc2UgaHVtYW4gcmlnaHRzLg0KDQpUd28gbWFqb3Igc2hp ZnRzIGhhdmUgb2NjdXJyZWQgdG8gaGFybSBmcmVlZG9tIG9mIGV4cHJlc3Npb24gdGhyb3VnaCBt aXN1c2Ugb2YgdGhlIEludGVybmV0IFByb3RvY29sLiBUaGUgZmlyc3QgaXMgdGhlIG5ldHdvcmsn cyBleHBsb2l0YXRpb24gb2YgdGhlIHB1YmxpYyB2aXNpYmlsaXR5IG9mIHRoZSBob3N0IHBhaXJz IGZvciBhbGwgY29tbXVuaWNhdGlvbnMsIGFuZCB0aGUgY29ycmVzcG9uZGluZyBhYmlsaXR5IHRv IGRpc2NyaW1pbmF0ZSBhbmQgYmxvY2sgdHJhZmZpYyBhcyBhIHJlc3VsdCBvZiB0aGF0IG1ldGFk YXRhLiBUaGUgc2Vjb25kIGlzIHRoZSBzZWxlY3RpdmUgZGV2ZWxvcG1lbnQgb2YgSVAgb3B0aW9u cy4gUHJvdG9jb2wgZXh0ZW5zaW9ucyBpbmNsdWRpbmcgTW9iaWxpdHkgYW5kIE11bHRpY2FzdGlu ZyBoYXZlIHByb3Bvc2VkIGFsdGVybmF0ZSBjb21tdW5pY2F0aW9uIG1vZGVzIGFuZCBzdWdnZXN0 IHRoYXQgZGlmZmVyZW50IGZvcm1zIG9mIGFzc2VtYmx5IGNvdWxkIGJlIHN1cHBvcnRlZCBieSBh IHJvYnVzdCBJUCBsYXllci4gSW5zdGVhZCwgdGhlIHByb3RvY29sIGxpbWl0ZWQgdGhlIGRlcGxv eWFiaWxpdHkgb2Ygc3VjaCBleHRlbnNpb25zIGJ5IG5vdCBwcm92aWRpbmcgYSBtZWNoYW5pc20g Zm9yIGFwcHJvcHJpYXRlIGZhbGxiYWNrIGJlaGF2aW9yIHdoZW4gdW5yZWNvZ25pemVkIGV4dGVu c2lvbnMgYXJlIGVuY291bnRlcmVkLg0KDQojIyMjIE5ldHdvcmsgdmlzaWJpbGl0eSBvZiBTb3Vy Y2UgYW5kIERlc3RpbmF0aW9uDQoNClRoZSBJUHY0IHByb3RvY29sIGhlYWRlciBjb250YWlucyBm aXhlZCBsb2NhdGlvbiBmaWVsZHMgZm9yIGJvdGggdGhlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24g SVAgYWRkcmVzc2VzIHt7UkZDMDc5MX19LiBUaGVzZSBhZGRyZXNzZXMgaWRlbnRpZnkgYm90aCB0 aGUgaG9zdCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgZWFjaCBtZXNzYWdlLCBhbmQgYWxsb3cgdGhl IGNvcmUgbmV0d29yayB0byB1bmRlcnN0YW5kIHdobyBpcyB0YWxraW5nIHRvIHdob20sIGFuZCB0 byBwcmFjdGljYWxseSBsaW1pdCBjb21tdW5pY2F0aW9uIHNlbGVjdGl2ZWx5IGJldHdlZW4gcGFp cnMgb2YgaG9zdHMuIEJsb2NraW5nIG9mIGNvbW11bmljYXRpb24gYmFzZWQgb24gdGhlIHBhaXIg b2Ygc291cmNlIGFuZCBkZXN0aW5hdGlvbiBpcyBvbmUgb2YgdGhlIG1vc3QgY29tbW9uIGxpbWl0 YXRpb25zIG9uIHRoZSBhYmlsaXR5IGZvciBob3N0cyB0byBjb21tdW5pY2F0ZSB0b2RheSwge3tj YWlkYX19IGFuZCBjYW4gYmUgc2VlbiBhcyBhIHJlc3RyaWN0aW9uIG9mIHRoZSBhYmlsaXR5IGZv ciB0aG9zZSBob3N0cyB0byBhc3NlbWJsZSBvciB0byBjb25zZW5zdWFsbHkgZXhwcmVzcyB0aGVt c2VsdmVzLg0KDQpJbmNsdXNpb24gb2YgYW4gSW50ZXJuZXQtd2lkZSBpZGVudGlmaWVkIHNvdXJj ZSBpbiB0aGUgSVAgaGVhZGVyIGlzIG5vdCB0aGUgb25seSBwb3NzaWJsZSBkZXNpZ24sIGVzcGVj aWFsbHkgc2luY2UgdGhlIHByb3RvY29sIGlzIG1vc3QgY29tbW9ubHkgaW1wbGVtZW50ZWQgb3Zl ciBFdGhlcm5ldCBuZXR3b3JrcyBleHBvc2luZyBvbmx5IGxpbmstbG9jYWwgaWRlbnRpZmllcnMu IHt7UkZDMDg5NH19IEEgdmFyaWV0eSBvZiBhbHRlcm5hdGl2ZSBkZXNpZ25zIGluY2x1ZGluZyBz b3VyY2Ugcm91dGluZywgd2hpY2ggd291bGQgYWxsb3cgZm9yIHRoZSBzZW5kZXIgdG8gY2hvb3Nl IGEgcGVyIGRlZmluZWQgKHNhZmUpIHJvdXRlLCBhbmQgc3Bvb2Zpbmcgb2YgdGhlIHNvdXJjZSBJ UCBhZGRyZXNzIGFyZSB0ZWNobmljYWxseSBzdXBwb3J0ZWQgYnkgdGhlIHByb3RvY29sLCBidXQg bmVpdGhlciBhcmUgY29uc2lkZXJlZCBnb29kIHByYWN0aWNlIG9uIHRoZSBJbnRlcm5ldC4gV2hp bGUgcHJvamVjdHMgbGlrZSB7e3RvcnByb2plY3R9fSBwcm92aWRlIGFuIGFsdGVybmF0aXZlIGlt cGxlbWVudGF0aW9uIG9mIGFub255bWl0eSBpbiBjb25uZWN0aW9ucywgdGhleSBoYXZlIGJlZW4g ZGV2ZWxvcGVkIGluIHNwaXRlIG9mIHRoZSBJUHY0IHByb3RvY29sIGRlc2lnbi4NCg0KIyMjIyBQ cm90b2NvbHMNCg0KVGhlIG90aGVyIG1ham9yIGZlYXR1cmUgb2YgdGhlIElQIHByb3RvY29sIGhl YWRlciBpcyB0aGF0IGl0IHNwZWNpZmllcyB0aGUgcHJvdG9jb2wgZW5jYXBzdWxhdGVkIGluIGVh Y2ggbWVzc2FnZSBpbiBhbiBlYXNpbHkgb2JzZXJ2YWJsZSBmb3JtLCBhbmQgZG9lcyBub3QgZW5j b3VyYWdlIGEgZGVzaWduIHdoZXJlIHRoZSBlbmNhcHN1bGF0ZWQgcHJvdG9jb2wgaXMgbm90IGF2 YWlsYWJsZSB0byBhIG5ldHdvcmsgb2JzZXJ2ZXIuIFRoaXMgZGVzaWduIGhhcyByZXN1bHRlZCBp biBhIHByb2xpZmVyYXRpb24gb2Ygcm91dGVycyB3aGljaCBpbnNwZWN0IHRoZSBpbm5lciBwcm90 b2NvbCwgYW5kIGFsc28gbGVkIHRvIGEgc3RhZ25hdGlvbiB3aGVyZSBvbmx5IHRoZSBUQ1AgYW5k IFVEUCBwcm90b2NvbHMgYXJlIHdpZGVseSBzdXBwb3J0ZWQgYWNyb3NzIHRoZSBJbnRlcm5ldC4g V2hpbGUgdGhlIElQIHByb3RvY29sIHdhcyBkZXNpZ25lZCBhcyB0aGUgZW50aXJlIHNldCBvZiBt ZXRhZGF0YSBuZWVkZWQgZm9yIHJvdXRpbmcsIHN1YnNlcXVlbnQgZW5oYW5jZWQgcm91dGVycyBo YXZlIGZvdW5kIHZhbHVlIG9uIG1ha2luZyBwb2xpY3kgZGVjaXNpb25zIGJhc2VkIG9uIHRoZSBj b250ZW50cyBvZiBUQ1AgYW5kIFVEUCBoZWFkZXJzIGFzIHdlbGwsIGFuZCBhcmUgZW5jb2RlZCB3 aXRoIHRoZSBhc3N1bXB0aW9uIHRoYXQgb25seSB0aGVzZSBwcm90b2NvbHMgd2lsbCBiZSB1c2Vk IGZvciBkYXRhIHRyYW5zZmVyLiB7e3NwZHl9fSB7e1JGQzQzMDN9fSBkZWZpbmVzIGFuIGVuY3J5 cHRlZCBlbmNhcHN1bGF0aW9uIG9mIGFkZGl0aW9uYWwgcHJvdG9jb2xzLCBidXQgbGFja3Mgd2lk ZXNwcmVhZCBkZXBsb3ltZW50IGFuZCBmYWNlcyB0aGUgc2FtZSBjaGFsbGVuZ2UgYXMgYW55IG90 aGVyIHByb3RvY29sIG9mIHByb3ZpZGluZyBzdWZmaWNpZW50IG1ldGFkYXRhIHdpdGggZWFjaCBt ZXNzYWdlIGZvciByb3V0ZXJzIHRvIG1ha2UgcG9zaXRpdmUgcG9saWN5IGRlY2lzaW9ucy4gUHJv dG9jb2xzIGxpa2Uge3tSRkM0OTA2fX0gaGF2ZSBzZWVuIGxpbWl0ZWQgd2lkZS1hcmVhIHVwdGFr ZSwgYW5kIHRoZXNlIGFsdGVybmF0ZSBkZXNpZ25zIGFyZSBmcmVxdWVudGx5IHJlLWltcGxlbWVu dGVkIG9uIHRvcCBvZiBVRFAuIHt7cXVpY319DQoNCiMjIyMgQWRkcmVzcyBUcmFuc2xhdGlvbiBh bmQgTW9iaWxpdHkNCg0KQSBtYWpvciBzdHJ1Y3R1cmFsIHNoaWZ0IGluIHRoZSBJbnRlcm5ldCB3 aGljaCB1bmRlcm1pbmVkIHRoZSBwcm90b2NvbCBkZXNpZ24gb2YgSVB2NCwgYW5kIHNpZ25pZmlj YW50bHkgcmVkdWNlZCB0aGUgZnJlZWRvbSBvZiBlbmQgdXNlcnMgdG8gY29tbXVuaWNhdGUgYW5k IGFzc2VtYmxlIGlzIHRoZSBpbnRyb2R1Y3Rpb24gb2YgbmV0d29yayBhZGRyZXNzIHRyYW5zbGF0 aW9uLiB7e1JGQzE2MzF9fSBOZXR3b3JrIGFkZHJlc3MgdHJhbnNsYXRpb24gaXMgYSBwcm9jZXNz IHdoZXJlYnkgb3JnYW5pemF0aW9ucyBhbmQgYXV0b25vbW91cyBzeXN0ZW1zIGNvbm5lY3QgdHdv IG5ldHdvcmtzIGJ5IHRyYW5zbGF0aW5nIHRoZSBJUHY0IHNvdXJjZSBhbmQgZGVzdGluYXRpb24g YWRkcmVzc2VzIGJldHdlZW4gdGhlIHR3by4gVGhpcyBwcm9jZXNzIHB1dHMgdGhlIHJvdXRlciBw ZXJmb3JtaW5nIHRoZSB0cmFuc2xhdGlvbiBpbnRvIGEgcHJpdmlsZWdlZCBwb3NpdGlvbiwgd2hl cmUgaXQgY2FuIGRlY2lkZSB3aGljaCBzdWJzZXQgb2YgY29tbXVuaWNhdGlvbnMgYXJlIHdvcnRo eSBvZiB0cmFuc2xhdGlvbiwgYW5kIHdoZXRoZXIgYW4gdW5rbm93biByZXF1ZXN0IGZvciBjb21t dW5pY2F0aW9uIHdpbGwgYmUgY29ycmVjdGx5IGZvcndhcmRlZCB0byBhIGhvc3Qgb24gdGhlIG90 aGVyIG5ldHdvcmsuDQoNClRoaXMgcHJvY2VzcyBvZiB0cmFuc2xhdGlvbiBoYXMgd2lkZXNwcmVh ZCBhZG9wdGlvbiBkZXNwaXRlIHByb21vdGluZyBhIHByb2Nlc3MgdGhhdCBnb2VzIGFnYWluc3Qg dGhlIHN0YXRlZCBlbmQtdG8tZW5kIHByb2Nlc3Mgb2YgdGhlIHVuZGVybHlpbmcgcHJvdG9jb2wg e3tuYXR1c2FnZX19LiBJbiBjb250cmFzdCwgdGhlIHByb3Bvc2VkIG1lY2hhbmlzbSB0byBwcm92 aWRlIHN1cHBvcnQgZm9yIG1vYmlsaXR5IGFuZCBmb3J3YXJkaW5nIHRvIGNsaWVudHMgd2hpY2gg bWF5IG1vdmUsIGVuY29kZWQgaW5zdGVhZCBhcyBhbiBvcHRpb24gaW4gdGhlIElQIHByb3RvY29s IGluIHt7UkZDNTk0NH19LCBoYXMgZmFpbGVkIHRvIGdhaW4gdHJhY3Rpb24uIEluIHRoaXMgc2l0 dWF0aW9uIHRoZSBjb21wcm9taXNlIG1hZGUgaW4gdGhlIGRlc2lnbiBvZiB0aGUgcHJvdG9jb2wg cmVzdWx0ZWQgaW4gYSB0ZWNobm9sb2d5IHRoYXQgZG9lcyBub3QgZnVsbHkgZW5jb2RlIGZyZWVk b20gb2YgZXhwcmVzc2lvbiBpbiBpdHMgZGVzaWduLCBldmVudGhvdWdoIGEgdmlhYmxlIGFsdGVy bmF0aXZlIHRoYXQgd291bGQgZG8gdGhpcyBleGlzdHMuDQoNCg0KIyMjIEROUw0KDQpUaGUgRG9t YWluIE5hbWUgU3lzdGVtIChETlMpIHt7UkZDMTAzNX19LCBwcm92aWRlcyBzZXJ2aWNlIGRpc2Nv dmVyeSBjYXBhYmlsaXRpZXMsIGFuZCBwcm92aWRlcyBhIG1lY2hhbmlzbSB0byBhc3NvY2lhdGUg aHVtYW4gcmVhZGFibGUgbmFtZXMgd2l0aCBzZXJ2aWNlcy4gVGhlIEROUyBzeXN0ZW0gaXMgb3Jn YW5pemVkIGFyb3VuZCBhIHNldCBvZiBpbmRlcGVuZGVudGx5IG9wZXJhdGVkICdSb290IFNlcnZl cnMnIHJ1biBieSBvcmdhbml6YXRpb25zIGFyb3VuZCB0aGUgd2ViIHdoaWNoIGVuYWN0IElDQU5O J3MgcG9saWN5IGJ5IGFuc3dlcmluZyBxdWVyaWVzIGZvciB3aGljaCBvcmdhbml6YXRpb25zIGhh dmUgYmVlbiBkZWxlZ2F0ZWQgdG8gbWFuYWdlIHJlZ2lzdHJhdGlvbiB1bmRlciBlYWNoIFRvcCBM ZXZlbCBEb21haW4gKFRMRCkuIFRvcCBMZXZlbCBkb21haW5zIGFyZSBtYWludGFpbmVkIGFuZCBk ZXRlcm1pbmVkIGJ5IElDQU5OLiBUaGVzZSBuYW1lc3BhY2VzIGVuY29tcGFzcyBzZXZlcmFsIGNs YXNzZXMgb2Ygc2VydmljZXMuIFRoZSBpbml0aWFsIG5hbWUgc3BhY2VzIGluY2x1ZGluZyAnLkNv bScgYW5kICcuTmV0JywgcHJvdmlkZSBjb21tb24gc3BhY2VzIGZvciBleHByZXNzaW9uIG9mIGlk ZWFzLCB0aG91Z2ggdGhlaXIgcG9saWNpZXMgYXJlIGVuYWN0ZWQgdGhyb3VnaCBVUyBiYXNlZCBj b21wYW5pZXMuIE90aGVyIG5hbWUgc3BhY2VzIGFyZSBkZWxlZ2F0ZWQgdG8gc3BlY2lmaWMgbmF0 aW9uYWxpdGllcywgYW5kIG1heSBpbXBvc2UgbGltaXRzIGRlc2lnbmVkIHRvIGZvY3VzIHNwZWVj aCBpbiB0aG9zZSBmb3J1bXMgYm90aCB0byBwcm9tb3RlIHNwZWVjaCBmcm9tIHRoYXQgbmF0aW9u YWxpdHksIGFuZCB0byBjb21wbHkgd2l0aCBsb2NhbCBsaW1pdHMgb24gZXhwcmVzc2lvbiBhbmQg c29jaWFsIG5vcm1zLiBGaW5hbGx5LCB0aGUgc3lzdGVtIGhhcyByZWNlbnRseSBiZWVuIGV4cGFu ZGVkIHdpdGggYWRkaXRpb25hbCBnZW5lcmljIGFuZCBzcG9uc29yZWQgbmFtZSBzcGFjZXMsIGZv ciBpbnN0YW5jZSAnLnRyYXZlbCcgYW5kICcubmluamEnLCB3aGljaCBhcmUgb3BlcmF0ZWQgYnkg YSByYW5nZSBvZiBvcmdhbml6YXRpb25zIHdoaWNoIG1heSBpbmRlcGVuZGVudGx5IGRldGVybWlu ZSB0aGVpciByZWdpc3RyYXRpb24gcG9saWNpZXMuIFRoaXMgbmV3IGRldmVsb3BtZW50IGhhcyBi b3RoIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBpbXBsaWNhdGlvbnMgaW4gdGVybXMgb2YgZW5hYmxp bmcgaHVtYW4gcmlnaHRzLiBTb21lIGluZGl2aWR1YWxzIGFyZ3VlIHRoYXQgaXQgdW5kZXJtaW5l cyB0aGUgcmlnaHQgdG8gZnJlZWRvbSBvZiBleHByZXNzaW9uIGJlY2F1c2Ugc29tZSBvZiB0aGVz ZSBuZXcgZ3RsZHMgaGF2ZSByZXN0cmljdGVkIHBvbGljaWVzIG9uIHJlZ2lzdHJhdGlvbiBhbmQg cGFydGljdWxhciBydWxlcyBvbiBoYXRlIHNwZWVjaCBjb250ZW50LiBPdGhlcnMgYXJndWUgdGhh dCBwcmVjaXNlbHkgdGhlc2UgcHJvcGVydGllcyBhcmUgcG9zaXRpdmUgYmVjYXVzZSB0aGV5IGVu YWJsZSBjZXJ0YWluIChtb3N0bHkgbWlub3JpdHkpIGNvbW11bml0aWVzIHRvIGJ1aWxkIHNhZmVy IHNwYWNlcyBmb3IgYXNzb2NpYXRpb24sIHRoZXJlYnkgZW5hYmxpbmcgdGhlaXIgcmlnaHQgdG8g ZnJlZWRvbSBvZiBhc3NvY2lhdGlvbi4gQW4gb2Z0ZW4gbWVudGlvbmVkIGV4YW1wbGUgaXMgYW4g YXBwbGljYXRpb24gbGlrZSAuZ2F5Lg0KDQpETlMgaGFzIHNpZ25pZmljYW50IHByaXZhY3kgaXNz dWVzIHBlciB7e1JGQzc2MjZ9fS4gTW9zdCBub3RhYmxlIHRoZSBsYWNrIG9mIGVuY3J5cHRpb24g dG8gbGltaXQgdGhlIHZpc2liaWxpdHkgb2YgcmVxdWVzdHMgZm9yIGRvbWFpbiByZXNvbHV0aW9u IGZyb20gaW50ZXJtZWRpYXJ5IHBhcnRpZXMsIGFuZCBhIGxpbWl0ZWQgZGVwbG95bWVudCBvZiBE TlNTRUMgdG8gcHJvdmlkZSBhdXRoZW50aWNhdGlvbiwgYWxsb3dpbmcgdGhlIGNsaWVudCB0byBr bm93IHRoYXQgdGhleSByZWNlaXZlZCBhIGNvcnJlY3QsICJhdXRob3JpdGF0aXZlIiwgYW5zd2Vy IHRvIGEgcXVlcnkuDQoNCkF1dGhlbnRpY2F0aW9uIHRocm91Z2ggRE5TU0VDIGNyZWF0ZXMgYSB2 YWxpZGF0aW9uIHBhdGggZm9yIHJlY29yZHMuIFRoaXMgYXV0aGVudGljYXRpb24gcHJvdGVjdHMg YWdhaW5zdCBmb3JnZWQgb3IgbWFuaXB1bGF0ZWQgRE5TIGRhdGEuIEFzIHN1Y2ggRE5TU0VDIHBy b3RlY3RzIHRoZSBkaXJlY3RvcnkgbG9vay11cCBhbmQgbWFrZXMgaGlqYWNraW5nIG9mIGEgc2Vz c2lvbiBoYXJkZXIuIFRoaXMgaXMgaW1wb3J0YW50IGJlY2F1c2UgY3VycmVudGx5IGludGVyZmVy ZW5jZSB3aXRoIHRoZSBvcGVyYXRpb24gb2YgdGhlIEROUyBpcyBiZWNvbWluZyBvbmUgb2YgdGhl IGNlbnRyYWwgbWVjaGFuaXNtcyB1c2VkIHRvIGJsb2NrIGFjY2VzcyB0byB3ZWJzaXRlcy4gVGhp cyBpbnRlcmZlcmVuY2UgbGltaXRzIGJvdGggdGhlIGZyZWVkb20gb2YgZXhwcmVzc2lvbiBvZiB0 aGUgcHVibGlzaGVyIHRvIG9mZmVyIHRoZWlyIGNvbnRlbnQsIGFuZCB0aGUgZnJlZWRvbSBvZiBh c3NlbWJseSBmb3IgY2xpZW50cyB0byBjb25ncmVnYXRlIGluIGEgc2hhcmVkIHZpcnR1YWwgc3Bh Y2UuIEV2ZW4gdGhvdWdoIEROU1NFQyBkb2Vzbid0IHByZXZlbnQgY2Vuc29yc2hpcCwgaXQgbWFr ZXMgaXQgY2xlYXIgdGhhdCB0aGUgcmV0dXJuZWQgaW5mb3JtYXRpb24gaXMgbm90IHRoZSBpbmZv cm1hdGlvbiB0aGF0IHdhcyByZXF1ZXN0ZWQsIHdoaWNoIGNvbnRyaWJ1dGVzIHRvIHRoZSByaWdo dCB0byBzZWN1cml0eSBhbmQgaW5jcmVhc2VzIHRydXN0IGluIHRoZSBuZXR3b3JrLg0KDQojIyMj IFJlbW92YWwgb2YgcmVjb3Jkcw0KDQpUaGVyZSBoYXZlIGJlZW4gYSBudW1iZXIgb2YgY2FzZXMg d2hlcmUgdGhlIHJlY29yZHMgZm9yIGEgZG9tYWluIGFyZSByZW1vdmVkIGZyb20gdGhlIG5hbWUg c3lzdGVtIGR1ZSB0byByZWFsLXdvcmxkIGV2ZW50cy4gRXhhbXBsZXMgb2YgdGhpcyByZW1vdmFs IGluY2x1ZGVzIHRoZSAnc2VpenVyZScgb2Ygd2lraWxlYWtzIHt7YmJjLXdpa2lsZWFrc319IGFu ZCB0aGUgbmFtZXMgb2YgaWxsZWdhbGx5IG9wZXJhdGluZyBnYW1ibGluZyBvcGVyYXRpb25zIGJ5 IHRoZSBVbml0ZWQgU3RhdGVzIElDRSB1bml0LCB3aGljaCBjb21wZWxsZWQgdGhlIFVTLWJhc2Vk IHJlZ2lzdHJ5IGluIGNoYXJnZSBvZiB0aGUgLmNvbSBUTEQgdG8gaGFuZCBvd25lcnNoaXAgb2Yg dGhvc2UgZG9tYWlucyBvdmVyIHRvIHRoZSBVUyBnb3Zlcm5tZW50LiBUaGUgc2FtZSB0ZWNobmlx dWUgaGFzIGJlZW4gdXNlZCBpbiBMaWJ5YSB0byByZW1vdmUgc2l0ZXMgaW4gdmlvbGF0aW9uIG9m ICJvdXIgQ291bnRyeSdzIExhdyBhbmQgTW9yYWxpdHkgKHdoaWNoKSBkbyBub3QgYWxsb3cgYW55 IGtpbmQgb2YgcG9ybm9ncmFwaHkgb3IgaXRzIHByb21vdGlvbi4iIHt7dGVjaHl1bX19DQoNCkF0 IGEgcHJvdG9jb2wgbGV2ZWwsIHRoZXJlIGlzIG5vIHRlY2huaWNhbCBhdWRpdGluZyBmb3IgbmFt ZSBvd25lcnNoaXAsIGFzIGluIGFsdGVybmF0ZSBzeXN0ZW1zIGxpa2Uge3tuYW1lY29pbn19LiBB cyBhIHJlc3VsdCwgdGhlcmUgaXMgbm8gYWJpbGl0eSBmb3IgdXNlcnMgdG8gZGlmZmVyZW50aWF0 ZSBzZWl6dXJlIGZyb20gdGhlIGxlZ2l0aW1hdGUgdHJhbnNmZXIgb2YgbmFtZSBvd25lcnNoaXAs IHdoaWNoIGlzIHB1cmVseSBhIHBvbGljeSBkZWNpc2lvbiBvZiByZWdpc3RyYXJzLiBXaGlsZSBE TlNTRUMgYWRkcmVzc2VzIG5ldHdvcmsgZGlzdG9ydGlvbiBldmVudHMgZGVzY3JpYmVkIGJlbG93 LCBpdCBkb2VzIG5vdCB0YWNrbGUgdGhpcyBwcm9ibGVtLg0KDQojIyMjIERpc3RvcnRpb24gb2Yg cmVjb3Jkcw0KDQpUaGUgbW9zdCBjb21tb24gbWVjaGFuaXNtIGJ5IHdoaWNoIHRoZSBETlMgc3lz dGVtIGlzIGFidXNlZCB0byBsaW1pdCBmcmVlZG9tIG9mIGV4cHJlc3Npb24gaXMgdGhyb3VnaCBt YW5pcHVsYXRpb24gb2YgcHJvdG9jb2wgbWVzc2FnZXMgYnkgdGhlIG5ldHdvcmsuIE9uZSBmb3Jt IG9jY3VycyBhdCBhbiBvcmdhbml6YXRpb25hbCBsZXZlbCwgd2hlcmUgY2xpZW50IGNvbXB1dGVy cyBhcmUgaW5zdHJ1Y3RlZCB0byB1c2UgYSBsb2NhbCBETlMgcmVzb2x2ZXIgY29udHJvbGxlZCBi eSB0aGUgb3JnYW5pemF0aW9uLiBUaGUgRE5TIHJlc29sdmVyIHdpbGwgdGhlbiBzZWxlY3RpdmVs eSBkaXN0b3J0IHJlc3BvbnNlcyByYXRoZXIgdGhhbiByZXF1ZXN0IHRoZSBhdXRob3JpdGF0aXZl IGxvb2t1cCBmcm9tIHRoZSB1cHN0cmVhbSBzeXN0ZW0uIFRoZSBzZWNvbmQgZm9ybSBvY2N1cnMg dGhyb3VnaCB0aGUgdXNlIG9mIGRlZXAgcGFja2V0IGluc3BlY3Rpb24sIHdoZXJlIGFsbCBETlMg cHJvdG9jb2wgbWVzc2FnZXMgYXJlIGluc3BlY3RlZCBieSB0aGUgbmV0d29yaywgYW5kIG9iamVj dGlvbmFibGUgY29udGVudCBpcyBkaXN0b3J0ZWQsIGFzIGluIHt7dHVya2V5fX0uDQoNCkEgbm90 YWJsZSBpbnN0YW5jZSBvZiBkaXN0b3J0aW9uIG9jY3VycmVkIGluIEdyZWVjZSB7e3ZlcnZlcmlz fX0sIHdoZXJlIGEgc3R1ZHkgZm91bmQgZXZpZGVuY2Ugb2YgYm90aCBvZiBkZWVwIHBhY2tldCBp bnNwZWN0aW9uIHRvIGRpc3RvcnQgRE5TIHJlcGxpZXMsIGFuZCBvdmVyYmxvY2tpbmcgb2YgY29u dGVudC4gSVNQcyBwcmV2ZW50ZWQgY2xpZW50cyBmcm9tIHJlc29sdmluZyB0aGUgbmFtZXMgb2Yg ZG9tYWlucyB3aGljaCB0aGV5IHdlcmUgaW5zdHJ1Y3RlZCB0byBkbyB0aHJvdWdoIGEgZ292ZXJu bWVudGFsIG9yZGVyLCBwcm9tcHRpbmcgdGhpcyBwYXJ0aWN1bGFyIGJsb2NraW5nIHN5c3RlbXMg dGhlcmUuDQoNCkF0IGEgcHJvdG9jb2wgbGV2ZWwsIHRoZSBlZmZlY3RpdmVuZXNzIG9mIHRoZXNl IGF0dGFja3MgaXMgbWFkZSBwb3NzaWJsZSBieSBhIGxhY2sgb2YgYXV0aGVudGljYXRpb24gaW4g dGhlIEROUyBwcm90b2NvbC4gRE5TU0VDIHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGRldGVybWlu ZSBhdXRoZW50aWNpdHkgb2YgcmVzcG9uc2VzIHdoZW4gdXNlZCwgYnV0IGl0IGlzIG5vdCByZWd1 bGFybHkgY2hlY2tlZCBieSByZXNvbHZlcnMuIEROU1NFQyBpcyBub3QgZWZmZWN0aXZlIHdoZW4g dGhlIGxvY2FsIHJlc29sdmVyIGZvciBhIG5ldHdvcmsgaXMgY29tcGxpY2l0IGluIHRoZSBkaXN0 b3J0aW9uLCBmb3IgaW5zdGFuY2Ugd2hlbiB0aGUgcmVzb2x2ZXIgYXNzaWduZWQgZm9yIHVzZSBi eSBhbiBJU1AgaXMgdGhlIHNvdXJjZSBvZiBpbmplY3Rpb24uIFNlbGVjdGl2ZSBkaXN0b3J0aW9u IG9mIHJlY29yZHMgaXMgYWxzbyBiZWVuIG1hZGUgcG9zc2libGUgYnkgdGhlIHByZWRpY3RhYmxl IHN0cnVjdHVyZSBvZiBETlMgbWVzc2FnZXMsIHdoaWNoIG1ha2UgaXQgY29tcHV0YXRpb25hbGx5 IGVhc3kgZm9yIGEgbmV0d29yayBkZXZpY2UgdG8gd2F0Y2ggYWxsIHBhc3NpbmcgbWVzc2FnZXMg ZXZlbiBhdCBoaWdoIHNwZWVkcywgYW5kIHRoZSBsYWNrIG9mIGVuY3J5cHRpb24sIHdoaWNoIGFs bG93cyB0aGUgbmV0d29yayB0byBkaXN0b3J0IG9ubHkgYW4gb2JqZWN0aW9uYWJsZSBzdWJzZXQg b2YgcHJvdG9jb2wgbWVzc2FnZXMuIFNwZWNpZmljIGRpc3RvcnRpb24gbWVjaGFuaXNtcyBhcmUg ZGlzY3Vzc2VkIGZ1cnRoZXIgaW4ge3toYWxsfX0uDQoNCiMjIyMgSW5qZWN0aW9uIG9mIHJlY29y ZHMNCg0KUmVzcG9uZGluZyBpbmNvcnJlY3RseSB0byByZXF1ZXN0cyBmb3IgbmFtZSBsb29rdXBz IGlzIHRoZSBtb3N0IGNvbW1vbiBtZWNoYW5pc20gdGhhdCBpbi1uZXR3b3JrIGRldmljZXMgdXNl IHRvIGxpbWl0IHRoZSBhYmlsaXR5IG9mIGVuZCB1c2VycyB0byBkaXNjb3ZlciBzZXJ2aWNlcy4g QSBkZXZpYXRpb24sIHdoaWNoIGFjY29tcGxpc2hlcyBhIHNpbWlsYXIgb2JqZWN0aXZlIG1heSBi ZSBzZWVuIGFzIGRpZmZlcmVudCBmcm9tIGEgZnJlZWRvbSBvZiBleHByZXNzaW9uIHBlcnNwZWN0 aXZlLCBpcyB0aGUgaW5qZWN0aW9uIG9mIGluY29ycmVjdCByZXNwb25zZXMgdG8gcXVlcmllcy4g VGhlIG1vc3QgcHJvbWluZW50IGV4YW1wbGUgb2YgdGhpcyBiZWhhdmlvciBvY2N1cnMgaW4gQ2hp bmEsIHdoZXJlIHJlcXVlc3RzIGZvciBsb29rdXBzIG9mIHNpdGVzIGRlZW1lZCBpbmFwcHJvcHJp YXRlIHdpbGwgdHJpZ2dlciB0aGUgbmV0d29yayB0byByZXNwb25kIHdpdGggYSBmYWxzZQ0KcmVz cG9uc2UsIGNhdXNpbmcgdGhlIGNsaWVudCB0byBpZ25vcmUgdGhlIHJlYWwgcmVzcG9uc2Ugd2hl biBpdCBzdWJzZXF1ZW50bHkgYXJyaXZlcy4ge3tncmVhdGZpcmV3YWxsfX0gVW5saWtlIHRoZSBv dGhlciBmb3JtcyBvZiBkaXNjdXNzaW9uIG1lbnRpb25lZCBhYm92ZSwgaW5qZWN0aW9uIGRvZXMg bm90IHN0aWZsZSB0aGUgYWJpbGl0eSBvZiBhIHNlcnZlciB0byBhbm5vdW5jZSBpdCdzIG5hbWUs IGl0IGluc3RlYWQgcHJvdmlkZXMgYW5vdGhlciB2b2ljZSB3aGljaCBhbnN3ZXJzIHNvb25lci4g VGhpcyBpcyBlZmZlY3RpdmUgYmVjYXVzZSB3aXRob3V0IEROU1NFQywgdGhlIHByb3RvY29sIHdp bGwgcmVzcG9uZCB0byB3aGljaGV2ZXIgYW5zd2VyIGlzIHJlY2VpdmVkIGZpcnN0LCB3aXRob3V0 IGxpc3RlbmluZyBmb3Igc3Vic2VxdWVudCBhbnN3ZXJzLg0KDQoNCiMjIyBIVFRQDQoNClRoZSBI eXBlcnRleHQgVHJhbnNmZXIgUHJvdG9jb2wgKEhUVFApLCBkZXNjcmliZWQgaW4gaXRzIHZlcnNp b24gMS4xIGluIFJGQyA3MjMwIHRvIDcyMzcsIGlzIGEgcmVxdWVzdC1yZXNwb25zZSBhcHBsaWNh dGlvbiBwcm90b2NvbCBkZXZlbG9wZWQgdGhyb3VnaG91dCB0aGUgMTk5MHMsIGFuZCBmYWN0dWFs bHkgY29udHJpYnV0ZWQgdG8gdGhlIGV4cG9uZW50aWFsIGdyb3d0aCBvZiB0aGUgSW50ZXJuZXQg YW5kIHRoZSBpbnRlci1jb25uZWN0aW9uIG9mIHBvcHVsYXRpb25zIGFyb3VuZCB0aGUgd29ybGQu IEJlY2F1c2Ugb2YgaXRzIHNpbXBsZSBkZXNpZ24sIEhUVFAgaGFzIGJlY29tZSB0aGUgZm91bmRh dGlvbiBvZiBtb3N0IG1vZGVybiBJbnRlcm5ldCBwbGF0Zm9ybXMgYW5kIGNvbW11bmljYXRpb24g c3lzdGVtcywgZnJvbSB3ZWJzaXRlcywgdG8gY2hhdCBzeXN0ZW1zLCBhbmQgY29tcHV0ZXItdG8t Y29tcHV0ZXIgYXBwbGljYXRpb25zLiBJbiBpdHMgbWFuaWZlc3RhdGlvbiB3aXRoIHRoZSBXb3Js ZCBXaWRlIFdlYiwgSFRUUCByYWRpY2FsbHkgcmV2b2x1dGlvbml6ZWQgdGhlIGNvdXJzZSBvZiB0 ZWNobm9sb2dpY2FsIGRldmVsb3BtZW50IGFuZCB0aGUgd2F5cyBwZW9wbGUgaW50ZXJhY3Qgd2l0 aCBvbmxpbmUgY29udGVudCBhbmQgd2l0aCBlYWNoIG90aGVyLg0KDQpIb3dldmVyLCBIVFRQIGlz IGFsc28gYSBmdW5kYW1lbnRhbGx5IGluc2VjdXJlIHByb3RvY29sLCB0aGF0IGRvZXNuJ3QgbmF0 aXZlbHkgcHJvdmlkZSBlbmNyeXB0aW9uIHByb3BlcnRpZXMuIFdoaWxlIHRoZSBkZWZpbml0aW9u IG9mIHRoZSBTZWN1cmUgU29ja2V0cyBMYXllciAoU1NMKSwgYW5kIGxhdGVyIG9mIFRyYW5zcG9y dCBMYXllciBTZWN1cml0eSAoVExTKSwgYWxzbyBoYXBwZW5lZCBkdXJpbmcgdGhlIDE5OTBzLCB0 aGUgZmFjdCB0aGF0IEhUVFAgZG9lc24ndCBtYW5kYXRlIHRoZSB1c2Ugb2Ygc3VjaCBlbmNyeXB0 aW9uIGxheWVycyB0byBkZXZlbG9wZXJzIGFuZCBzZXJ2aWNlIHByb3ZpZGVycywgY2F1c2VkIGEg dmVyeSBsYXRlIGFkb3B0aW9uIG9mIGVuY3J5cHRpb24uIE9ubHkgaW4gdGhlIG1pZGRsZSBvZiB0 aGUgMjAwMHMgZGlkIHdlIG9ic2VydmVkIGJpZyBJbnRlcm5ldCBzZXJ2aWNlIHByb3ZpZGVycywg c3VjaCBhcyBHb29nbGUsIHN0YXJ0aW5nIHRvIHByb3ZpZGUgZW5jcnlwdGVkIGFjY2VzcyB0byB0 aGVpciB3ZWIgc2VydmljZXMuDQoNClRoZSBsYWNrIG9mIHNlbnNpdGl2aXR5IGFuZCB1bmRlcnN0 YW5kaW5nIG9mIHRoZSBjcml0aWNhbCBpbXBvcnRhbmNlIG9mIHNlY3VyaW5nIHdlYiB0cmFmZmlj IGluY2VudGl2aXplZCBtYWxpY2lvdXMgYW5kIG9mZmVuc2l2ZSBhY3RvcnMgdG8gZGV2ZWxvcCwg ZGVwbG95IGFuZCB1dGlsaXplIGF0IGxhcmdlIGludGVyY2VwdGlvbiBzeXN0ZW1zIGFuZCBsYXRl ciBhY3RpdmUgaW5qZWN0aW9uIGF0dGFja3MsIGluIG9yZGVyIHRvIHN3aXBlIGxhcmdlIGFtb3Vu dHMgb2YgZGF0YSwgY29tcHJvbWlzZSBJbnRlcm5ldC1lbmFibGVkIGRldmljZXMuIFRoZSBjb21t ZXJjaWFsIGF2YWlsYWJpbGl0eSBvZiBzeXN0ZW1zIGFuZCB0b29scyB0byBwZXJmb3JtIHRoZXNl IHR5cGVzIG9mIGF0dGFja3MgYWxzbyBsZWQgdG8gYSBudW1iZXIgb2YgaHVtYW4gcmlnaHRzIGFi dXNlcyB0aGF0IGhhdmUgYmVlbiBkaXNjb3ZlcmVkIGFuZCByZXBvcnRlZCBvdmVyIHRoZSB5ZWFy cy4NCg0KR2VuZXJhbGx5IHdlIGNhbiBpZGVudGlmeSBpbiBUcmFmZmljIEludGVyY2VwdGlvbiBh bmQgVHJhZmZpYyBNYW5pcHVsYXRpb24gdGhlIHR3byBtb3N0IHByb2JsZW1hdGljIGF0dGFja3Mg dGhhdCBjYW4gYmUgcGVyZm9ybWVkIGFnYWluc3QgYXBwbGljYXRpb25zIGVtcGxveWluZyBhIGNs ZWFyLXRleHQgSFRUUCB0cmFuc3BvcnQgbGF5ZXIuIFRoYXQgYmVpbmcgc2FpZCwgdGhlIElFVEYg YW5kIGVzcGVjaWFsbHkgdGhlIEdlbmVyYWwgQXJlYSBSZXZpZXcgVGVhbSAoR2VuLUFSVCksIGlz IHRha2luZyBzdGVhZHkgc3RlcHMgdG8gbW92ZSB0byB0aGUgZW5jcnlwdGVkIHZlcnNpb24gb2Yg SFRUUCwgSFRUUFNlY3VyZSAoSFRUUFMpLg0KDQojIyMjIFRyYWZmaWMgSW50ZXJjZXB0aW9uDQoN CldoaWxlIHdlIGFyZSBzZWVpbmcgYW4gaW5jcmVhc2luZyB0cmVuZCBpbiB0aGUgbGFzdCBjb3Vw bGUgb2YgeWVhcnMgdG8gZW1wbG95IFNTTC9UTFMgYXMgYSBzZWN1cmUgdHJhZmZpYyBsYXllciBm b3IgSFRUUC1iYXNlZCBhcHBsaWNhdGlvbnMsIHdlIGFyZSBzdGlsbCBmYXIgZnJvbSBzZWVpbmcg YW4gdWJpcXVpdG91cyB1c2Ugb2YgZW5jcnlwdGlvbiBvbiB0aGUgV29ybGQgV2lkZSBXZWIuIEl0 IGlzIGltcG9ydGFudCB0byBjb25zaWRlciB0aGF0IHRoZSBhZG9wdGlvbiBvZiBTU0wvVExTIGlz IGFsc28gYSByZWxhdGl2ZWx5IHJlY2VudCBwaGVub21lbmEuIEdvb2dsZSBpbnRyb2R1Y2VkIGFu IG9wdGlvbiBmb3IgaXRzIEdNYWlsIHVzZXJzIHRvIG5hdmlnYXRlIHdpdGggU1NMIG9ubHkgaW4g MjAwOCB7e1JpZGVvdXR9fSwgYW5kIHR1cm5lZCBTU0wgb24gYnkgZGVmYXVsdCBsYXRlciBpbiAy MDEwIHt7U2NoaWxsYWNlfX0uIEl0IHRvb2sgYW4gaW5jcmVhc2luZyBhbW91bnQgb2Ygc2VjdXJp dHkgYnJlYWNoZXMgYW5kIHJldmVsYXRpb25zIG9uIGdsb2JhbCBzdXJ2ZWlsbGFuY2UgZnJvbSBF ZHdhcmQgU25vd2RlbiB0byBoYXZlIG90aGVyIEludGVybmV0IHNlcnZpY2UgcHJvdmlkZXJzIHRv IGZvbGxvdyBHb29nbGUncyBsZWFkLiBGb3IgZXhhbXBsZSwgWWFob28gZW5hYmxlZCBTU0wvVExT IGJ5IGRlZmF1bHQgb24gaXRzIHdlYm1haWwgc2VydmljZXMgb25seSB0b3dhcmRzIHRoZSBlbmQg b2YgMjAxMyB7e1BldGVyc29ufX0uDQoNCkFzIHdlIGxlYXJuZWQgdGhyb3VnaCB0aGUgU25vd2Rl bidzIHJldmVsYXRpb25zLCBpbnRlbGxpZ2VuY2UgYWdlbmNpZXMgaGF2ZSBiZWVuIGludGVyY2Vw dGluZyBhbmQgY29sbGVjdGluZyB1bmVuY3J5cHRlZCB0cmFmZmljIGF0IGxhcmdlIGZvciBtYW55 IHllYXJzLiBUaGVyZSBhcmUgZG9jdW1lbnRlZCBleGFtcGxlcyBvZiBzdWNoIG1hc3Mgc3VydmVp bGxhbmNlIHByb2dyYW1zIHdpdGggR0NIUSdzIFRFTVBPUkEgYW5kIE5TQSdzIFhLRVlTQ09SRS4g VGhyb3VnaCB0aGVzZSBwcm9ncmFtcyBOU0EvR0NIUSBoYXZlIGJlZW4gYWJsZSB0byBzd2lwZSBs YXJnZSBhbW91bnRzIG9mIGRhdGEgaW5jbHVkaW5nIGVtYWlsIGFuZCBpbnN0YW50IG1lc3NhZ2lu ZyBjb21tdW5pY2F0aW9ucyB3aGljaCBoYXZlIGJlZW4gdHJhbnNwb3J0ZWQgYnkgdGhlIHJlc3Bl Y3RpdmUgcHJvdmlkZXJzIGluIGNsZWFyIGZvciB5ZWFycywgdW5zdXNwZWN0aW5nIG9mIHRoZSBw ZXJ2YXNpdmVuZXNzIGFuZCBzY2FsZSBvZiBnb3Zlcm5tZW50cycgZWZmb3J0cyBhbmQgaW52ZXN0 bWVudCBpbnRvIGdsb2JhbCBtYXNzIHN1cnZlaWxsYW5jZSBjYXBhYmlsaXRpZXMuDQoNCkhvd2V2 ZXIsIHNpbWlsYXIgbWFzcyBpbnRlcmNlcHRpb24gb2YgdW5lbmNyeXB0ZWQgSFRUUCBjb21tdW5p Y2F0aW9ucyBpcyBhbHNvIG9mdGVuIGVtcGxveWVkIGF0IGEgbmF0aW9uLWxldmVsIGJ5IGxlc3Mg ZGVtb2NyYXRpYyBjb3VudHJpZXMgYnkgZXhlcmNpc2luZyBjb250cm9sIG92ZXIgc3RhdGUtb3du ZWQgSW50ZXJuZXQgU2VydmljZSBQcm92aWRlcnMgKElTUCkgYW5kIHRocm91Z2ggdGhlIHVzZSBv ZiBjb21tZXJjaWFsbHkgYXZhaWxhYmxlIG1vbml0b3JpbmcsIGNvbGxlY3Rpb24sIGFuZCBjZW5z b3JzaGlwIGVxdWlwbWVudC4gT3ZlciB0aGUgbGFzdCBmZXcgeWVhcnMgYSBsb3Qgb2YgaW5mb3Jt YXRpb24gaGFzIGNvbWUgdG8gcHVibGljIGF0dGVudGlvbiBvbiB0aGUgcm9sZSBhbmQgc2NhbGUg b2YgYSBzdXJ2ZWlsbGFuY2UgaW5kdXN0cnkgZGVkaWNhdGVkIHRvIGRldmVsb3AgaW50ZXJjZXB0 aW9uIGdlYXIgb2YgZGlmZmVyZW50IHR5cGVzLCBtYWtpbmcgdXNlIG9mIGtub3duIGFuZCB1bmtu b3duIHdlYWtuZXNzZXMgaW4gZXhpc3RpbmcgcHJvdG9jb2xzIHt7UkZDNzI1OH19LiBXZSBoYXZl IHNldmVyYWwgcmVjb3JkcyBvZiBzdWNoIGVxdWlwbWVudCBiZWluZyBzb2xkIGFuZCB1dGlsaXpl ZCBieSBvcHByZXNzaXZlIHJlZ2ltZXMgaW4gb3JkZXIgdG8gbW9uaXRvciBlbnRpcmUgc2VnbWVu dHMgb2YgcG9wdWxhdGlvbiBlc3BlY2lhbGx5IGF0IHRpbWVzIG9mIHNvY2lhbCBhbmQgcG9saXRp Y2FsIGRpc3RyZXNzLCB1bmNvdmVyaW5nIG1hc3NpdmUgaHVtYW4gcmlnaHRzIGFidXNlcy4gRm9y IGV4YW1wbGUsIGluIDIwMTMgdGhlIGdyb3VwIFRlbGVjb21peCByZXZlYWxlZCB0aGF0IHRoZSBT eXJpYW4gcmVnaW1lIHdhcyBtYWtpbmcgdXNlIG9mIEJsdWVDb2F0IHByb2R1Y3RzIGluIG9yZGVy IHRvIGludGVyY2VwdCBjbGVhci10ZXh0IHRyYWZmaWMgYXMgd2VsbCBhcyB0byBlbmZvcmNlIGNl bnNvcnNoaXAgb2YgdW53YW50ZWQgY29udGVudCB7e1JTRn19LiBTaW1pbGFybHkgaW4gMjAxMiBp dCB3YXMgZm91bmQgdGhhdCB0aGUgRnJlbmNoIEFtZXN5cyBwcm92aWRlZCB0aGUgR2FkZGFmaSdz IGdvdmVybm1lbnQgd2l0aCBlcXVpcG1lbnQgYWJsZSB0byBpbnRlcmNlcHQgZW1haWxzLCBGYWNl Ym9vayB0cmFmZmljLCBhbmQgY2hhdCBtZXNzYWdlcyBhZCBhIGNvdW50cnkgbGV2ZWwuIFRoZSB1 c2Ugb2Ygc3VjaCBzeXN0ZW1zLCBlc3BlY2lhbGx5IGluIHRoZSBjb250ZXh0IG9mIHRoZSBBcmFi IFNwcmluZyBhbmQgb2YgY2l2aWwgdXByaXNpbmdzIGFnYWluc3QgdGhlIGRpY3RhdG9yc2hpcHMs IGhhcyBjYXVzZWQgc2VyaW91cyBjb25jZXJucyBvZiBzaWduaWZpY2FudCBodW1hbiByaWdodHMg YWJ1c2VzIGluIExpYnlhLg0KDQojIyMjIFRyYWZmaWMgTWFuaXB1bGF0aW9uDQoNClRoZSBsYWNr IG9mIGEgc2VjdXJlIHRyYW5zcG9ydCBsYXllciBvdmVyIEhUVFAgY29ubmVjdGlvbnMgbm90IG9u bHkgZXhwb3NlcyB0aGUgdXNlcnMgdG8gaW50ZXJjZXB0aW9uIG9mIHRoZSBjb250ZW50IG9mIHRo ZWlyIGNvbW11bmljYXRpb25zLCBidXQgaXMgbW9yZSBhbmQgbW9yZSBjb21tb25seSBhYnVzZWQg YXMgYSB2ZWhpY2xlIGZvciBhY3RpdmUgY29tcHJvbWlzZXMgb2YgY29tcHV0ZXJzIGFuZCBtb2Jp bGUgZGV2aWNlcy4gSWYgYW4gSFRUUCBzZXNzaW9uIHRyYXZlbHMgaW4gY2xlYXIgb3ZlciB0aGUg bmV0d29yaywgYW55IG5vZGUgcG9zaXRpb25lZCBhdCBhbnkgcG9pbnQgaW4gdGhlIG5ldHdvcmsg aXMgYWJsZSB0byBwZXJmb3JtIG1hbi1pbi10aGUtbWlkZGxlIGF0dGFja3MgYW5kIG9ic2VydmUs IG1hbmlwdWxhdGUsIGFuZCBoaWphY2sgdGhlIHNlc3Npb24gYW5kIG1vZGlmeSB0aGUgY29udGVu dCBvZiB0aGUgY29tbXVuaWNhdGlvbiBpbiBvcmRlciB0byB0cmlnZ2VyIHVuZXhwZWN0ZWQgYmVo YXZpb3IgYnkgdGhlIGFwcGxpY2F0aW9uDQpnZW5lcmF0aW5nIHRoZSB0cmFmZmljLiBGb3IgZXhh bXBsZSwgaW4gdGhlIGNhc2Ugb2YgYSBicm93c2VyIHRoZSBhdHRhY2tlciB3b3VsZCBiZSBhYmxl IHRvIGluamVjdCBtYWxpY2lvdXMgY29kZSBpbiBvcmRlciB0byBleHBsb2l0IHZ1bG5lcmFiaWxp dGllcyBpbiB0aGUgYnJvd3NlciBvciBhbnkgb2YgaXRzIHBsdWdpbnMuIFNpbWlsYXJseSwgdGhl IGF0dGFja2VyIHdvdWxkIGJlIGFibGUgdG8gaW50ZXJjZXB0LCB0cm9qYW5pemUsIGFuZCByZXBh Y2thZ2UgYmluYXJ5IHNvZnR3YXJlIHVwZGF0ZXMgdGhhdCBhcmUgdmVyeSBjb21tb25seSBkb3du bG9hZGVkIGluIGNsZWFyIGJ5IGFwcGxpY2F0aW9ucyBzdWNoIGFzIHdvcmQgcHJvY2Vzc29ycyBh bmQgbWVkaWEgcGxheWVycy4gSWYgdGhlIEhUVFAgc2Vzc2lvbiB3b3VsZCBiZSBlbmNyeXB0ZWQs IHRoZSB0YW1wZXJpbmcgb2YgdGhlIGNvbnRlbnQgd291bGQgbm90IGJlIHBvc3NpYmxlLCBhbmQg dGhlc2UgbmV0d29yayBpbmplY3Rpb24gYXR0YWNrcyB3b3VsZCBub3QgYmUgc3VjY2Vzc2Z1bC4N Cg0KV2hpbGUgdHJhZmZpYyBtYW5pcHVsYXRpb24gYXR0YWNrcyBoYXZlIGJlZW4gbG9uZyBrbm93 biwgZG9jdW1lbnRlZCwgYW5kIHByb3RvdHlwZWQgZXNwZWNpYWxseSBpbiB0aGUgY29udGV4dCBv ZiBXaUZpIGFuZCBMQU4gbmV0d29ya3MsIGluIHRoZSBsYXN0IGZldyB5ZWFycyB3ZSBvYnNlcnZl ZCBhbiBpbmNyZWFzaW5nIGludmVzdG1lbnQgaW50byB0aGUgcHJvZHVjdGlvbiBhbmQgc2FsZSBv ZiBuZXR3b3JrIGluamVjdGlvbiBlcXVpcG1lbnQgYm90aCBhdmFpbGFibGUgY29tbWVyY2lhbGx5 IGFzIHdlbGwgYXMgZGVwbG95ZWQgYXQgc2NhbGUgYnkgaW50ZWxsaWdlbmNlIGFnZW5jaWVzLg0K DQpGb3IgZXhhbXBsZSB3ZSBsZWFybmVkIGZyb20gc29tZSBvZiB0aGUgZG9jdW1lbnRzIHByb3Zp ZGVkIGJ5IEVkd2FyZCBTbm93ZGVuIHRvIHRoZSBwcmVzcywgdGhhdCB0aGUgTlNBIGhhcyBjb25z dHJ1Y3RlZCBhIGdsb2JhbCBuZXR3b3JrIGluamVjdGlvbiBpbmZyYXN0cnVjdHVyZSwgY2FsbGVk IFFVQU5UVU0sIGFibGUgdG8gbGV2ZXJhZ2UgbWFzcyBzdXJ2ZWlsbGFuY2UgaW4gb3JkZXIgdG8g aWRlbnRpZnkgdGFyZ2V0cyBvZiBpbnRlcmVzdHMgYW5kIHN1YnNlcXVlbnRseSB0YXNrIG1hbi1v bi10aGUtc2lkZSBhdHRhY2tzIHRvIHVsdGltYXRlbHkgY29tcHJvbWlzZSBhIHNlbGVjdGVkIGRl dmljZS4gQW1vbmcgb3RoZXIgYXR0YWNrcywgTlNBIG1ha2VzIHVzZSBvZiBhbiBhdHRhY2sgY2Fs bGVkIFFVQU5UVU1JTlNFUlQge3tIYWFnc21hfX0gd2hpY2ggaW50ZXJjZXB0cyBhbmQgaGlqYWNr cyBhbiB1bmVuY3J5cHRlZCBIVFRQIGNvbW11bmljYXRpb24gYW5kIGZvcmNlcyB0aGUgcmVxdWVz dGluZyBicm93c2VyIHRvIHJlZGlyZWN0IHRvIGEgaG9zdCBjb250cm9sbGVkIGJ5IE5TQSBpbnN0 ZWFkIG9mIHRoZSBpbnRlbmRlZCB3ZWJzaXRlLiBOb3JtYWxseSwgdGhlIG5ldyBkZXN0aW5hdGlv biB3b3VsZCBiZSBhbiBleHBsb2l0YXRpb24gc2VydmljZSwgcmVmZXJyZWQgaW4gU25vd2RlbiBk b2N1bWVudHMgYXMgRk9YQUNJRCwgd2hpY2ggd291bGQgYXR0ZW1wdCBhdCBleGVjdXRpbmcgbWFs aWNpb3VzIGNvZGUgaW4gdGhlIGNvbnRleHQgb2YgdGhlIHRhcmdldCdzIGJyb3dzZXIuIFRoZSBH dWFyZGlhbiByZXBvcnRlZCBpbiAyMDEzIHRoYXQgTlNBIGhhcyBmb3IgZXhhbXBsZSBiZWVuIHVz aW5nIHRoZXNlIHRlY2huaXF1ZXMgdG8gdGFyZ2V0IHVzZXJzIG9mIHRoZSBwb3B1bGFyIGFub255 bWl0eSBzZXJ2aWNlIFRvciB7e1NjaG5laWVyfX0uIFRoZSBHZXJtYW4gTkRSIHJlcG9ydGVkIGlu IDIwMTQgdGhhdCBOU0EgaGFzIGFsc28gYmVlbiB1c2luZyBpdHMgbWFzcyBzdXJ2ZWlsbGFuY2Ug Y2FwYWJpbGl0aWVzIHRvIGlkZW50aWZ5IFRvciB1c2VycyBhdCBsYXJnZSB7e0FwcGVsYmF1bX19 Lg0KDQpSZWNlbnRseSBzaW1pbGFyIGNhcGFiaWxpdGllcyBvZiBDaGluZXNlIGF1dGhvcml0aWVz IGhhdmUgYmVlbiByZXBvcnRlZCBhcyB3ZWxsIGluIHdoYXQgaGFzIGJlZW4gaW5mb3JtYWxseSBj YWxsZWQgdGhlICJHcmVhdCBDYW5ub24iIHt7TWFyY2FrfX0sIHdoaWNoIHJhaXNlZCBudW1lcm91 cyBjb25jZXJucyBvbiB0aGUgcG90ZW50aWFsIGN1cmIgb24gaHVtYW4gcmlnaHRzIGFuZCBmcmVl ZG9tIG9mIHNwZWVjaCBkdWUgdG8gdGhlIGluY3JlYXNpbmcgdGlnaHRlciBjb250cm9sIG9mIENo aW5lc2UgSW50ZXJuZXQgY29tbXVuaWNhdGlvbnMgYW5kIGFjY2VzcyB0byBpbmZvcm1hdGlvbi4N Cg0KTmV0d29yayBpbmplY3Rpb24gYXR0YWNrcyBhcmUgYWxzbyBtYWRlIHdpZGVseSBhdmFpbGFi bGUgdG8gc3RhdGUgYWN0b3JzIGFyb3VuZCB0aGUgd29ybGQgdGhyb3VnaCB0aGUgY29tbWVyY2lh bGl6YXRpb24gb2Ygc2ltaWxhciwgc21hbGxlciBzY2FsZSBlcXVpcG1lbnQgdGhhdCBjYW4gYmUg ZWFzaWx5IGFjcXVpcmVkIGFuZCBkZXBsb3llZCBhdCBhIGNvdW50cnktd2lkZSBsZXZlbC4gQ29t cGFuaWVzIGxpa2UgRmluRmlzaGVyIGFuZCBIYWNraW5nVGVhbSBhcmUga25vd24gdG8gaGF2ZSBu ZXR3b3JrIGluamVjdGlvbiBnZWFyIHdpdGhpbiB0aGVpciBwcm9kdWN0cyBwb3J0Zm9saW8sIHJl c3BlY3RpdmVseSBjYWxsZWQgRmluRmx5IElTUCBhbmQgUkNTIE5ldHdvcmsgSW5qZWN0b3Ige3tN YXJxdWlzLUJvaXJlfX0uIFRoZSB0ZWNobm9sb2d5IGRldmlzZWQgYW5kIHByb2R1Y2VkIGJ5IEhh Y2tpbmdUZWFtIHRvIHBlcmZvcm0gbmV0d29yayB0cmFmZmljIG1hbmlwdWxhdGlvbiBhdHRhY2tz IG9uIEhUVFAgY29tbXVuaWNhdGlvbnMgaXMgZXZlbiB0aGUgc3ViamVjdCBvZiBhIHBhdGVudCBh cHBsaWNhdGlvbiBpbiB0aGUgVW5pdGVkIFN0YXRlcyB7e0dvb2dsZXBhdGVudH19LiBBY2Nlc3Mg dG8gb2ZmZW5zaXZlIHRlY2hub2xvZ2llcyBhdmFpbGFibGUgb24gdGhlIGNvbW1lcmNpYWwgbGF3 ZnVsIGludGVyY2VwdGlvbiBtYXJrZXQgaGFzIGJlZW4gbGFyZ2VseSBkb2N1bWVudGVkIHRvIGhh dmUgbGVhZCB0byBodW1hbiByaWdodHMgYWJ1c2VzIGFuZCBpbGxlZ2l0aW1hdGUgc3VydmVpbGxh bmNlIG9mIGpvdXJuYWxpc3RzLCBodW1hbiByaWdodHMgZGVmZW5kZXJzLCBhbmQgcG9saXRpY2Fs IGFjdGl2aXN0cyBpbiBtYW55IGNvdW50cmllcyBhcm91bmQgdGhlIHdvcmxkLiBDb21wYW5pZXMg bGlrZSBGaW5GaXNoZXIgYW5kIEhhY2tpbmdUZWFtIGhhdmUgYmVlbiBmb3VuZCBzZWxsaW5nIHRo ZWlyIHByb2R1Y3RzIHRvIG9wcHJlc3NpdmUgcmVnaW1lcyB3aXRoIGxpdHRsZSBjb25jZXJuIGZv ciBiYWQgaHVtYW4gcmlnaHRzIHJlY29yZHMge3tDb2xsaW5zfX0uIFdoaWxlIG5ldHdvcmsgaW5q ZWN0aW9uIGF0dGFja3MgaGF2ZW4ndCBiZWVuIHRoZSBzdWJqZWN0IG9mIG11Y2ggYXR0ZW50aW9u LCB0aGV5IGRvIGVuYWJsZSBldmVuIHVuc2tpbGxlZCBhdHRhY2tlcnMgdG8gcGVyZm9ybSBzaWxl bnQgYW5kIHZlcnkgcmVzaWxpZW50IGNvbXByb21pc2VzLCBhbmQgdW5lbmNyeXB0ZWQgSFRUUCBy ZW1haW5zIG9uZSBvZiB0aGUgbWFpbiB2ZWhpY2xlcy4NCg0KVGhlcmUgaXMgYSBuZXcgdmVyc2lv biBvZiBIVFRQLCBjYWxsZWQgSFRUUC8yLCB3aGljaCB3YXMgcHVibGlzaGVkIGFzIHt7UkZDNzU0 MH19IGFuZCB3aGljaCBhaW1lZCB0byBiZSBsYXJnZWx5IGJhY2t3YXJkcyBjb21wYXRpYmxlIGJ1 dCBhbHNvIG9mZmVyIG5ldyBvcHRpb24gc3VjaCBhcyBkYXRhIGNvbXByZXNzaW9uIG9mIEhUVFAg aGVhZGVycyBhbmQgcGlwZWxpbmluZyBvZiByZXF1ZXN0IGFuZCBtdWx0aXBsZXhpbmcgbXVsdGlw bGUgcmVxdWVzdHMgb3ZlciBhIHNpbmdsZSBUQ1AgY29ubmVjdGlvbi4gRXhjZXB0IGZvciBkZWNy ZWFzaW5nIGxhdGVuY3kgdG8gaW1wcm92ZSBwYWdlIGxvYWRpbmcgc3BlZWRzIGl0IGFsc28gZmFj aWxpdGF0ZXMgbW9yZSBlZmZpY2llbnQgdXNlIG9mIGNvbm5lY3Rpdml0eSBpbiBsb3ctYmFuZHdp dGggZW52aXJvbm1lbnRzLCB3aGljaCBpcyBhbiBlbmFibGVyIGZvciBmcmVlZG9tIG9mIGV4cHJl c3Npb24sIHRoZSByaWdodCB0byBhc3NlbWJseSwgcmlnaHQgdG8gcG9saXRpY2FsIHBhcnRpY2lw YXRpb24gYW5kIHRoZSByaWdodCB0byBwYXJ0aWNpcGF0ZSBpbiBjdWx0dXJhbCBsaWZlLCBhcnQg YW5kIHNjaWVuY2UuDQp7e1JGQzc1NDB9fSBkb2VzIG5vdCBtYW5kYXRlIFRyYW5zcG9ydCBMYXll ciBTZWN1cml0eSBvciBhbnkgb3RoZXIgZm9ybSBvZiBlbmNyeXB0aW9uLCBpcyBhbHNvIGRvZXMg bm90IHN1cHBvcnQgb3Bwb3J0dW5pc3RpYyBlbmNyeXB0aW9uLCBzbyB0aGUgdnVsbmVyYWJpbGl0 aWVzIGxpc3RlZCBhYm92ZSBmb3IgSFRUUC8xIGFyZSBhbHNvIHZhbGlkIGZvciBIVFRQLzIgYXMg ZGVmaW5lZCBpbiB7e1JGQzc1NDB9fS4NCg0KIyMjIFhNUFANCg0KVGhlIEV4dGVuc2libGUgTWVz c2FnaW5nIGFuZCBQcmVzZW5jZSBQcm90b2NvbCAoWE1QUCksIHNwZWNpZmllZCBpbiB7e1JGQzYx MjB9fSwgcHJvdmlkZXMgYSBzdGFuZGFyZCBmb3IgaW50ZXJhY3RpdmUgY2hhdCBtZXNzYWdpbmcs IGFuZCBoYXMgZXZvbHZlZCB0byBlbmNvbXBhc3MgaW50ZXJvcGVyYWJsZSB0ZXh0LCB2b2ljZSwg YW5kIHZpZGVvIGNoYXQuIFRoZSBwcm90b2NvbCBpcyBzdHJ1Y3R1cmVkIGFzIGEgZmVkZXJhdGVk IG5ldHdvcmsgb2Ygc2VydmVycywgc2ltaWxhciB0byBlbWFpbCwgd2hlcmUgdXNlcnMgcmVnaXN0 ZXIgd2l0aCBhIGxvY2FsIHNlcnZlciB3aGljaCBhY3RzIG9uZSB0aGVpciBiZWhhbGYgdG8gY2Fj aGUgYW5kIHJlbGF5IG1lc3NhZ2VzLiBUaGlzIHByb3RvY29sIGRlc2lnbiBoYXMgbWFueSBhZHZh bnRhZ2VzLCBhbGxvd2luZyBzZXJ2ZXJzIHRvIHNoaWVsZCBjbGllbnRzIGZyb20gZGVuaWFsIG9m IHNlcnZpY2UgYW5kIG90aGVyIGZvcm1zIG9mIHJldHJpYnV0aW9uIGZvciB0aGVpciBleHByZXNz aW9uLCBhbmQgZGVzaWduZWQgdG8gYXZvaWQgY2VudHJhbCBlbnRpdGllcyB3aGljaCBjb3VsZCBj b250cm9sIHRoZSBhYmlsaXR5IHRvIGNvbW11bmljYXRlIG9yIGFzc2VtYmxlIHVzaW5nIHRoZSBw cm90b2NvbC4NCg0KTm9uZS10aGUtbGVzcywgdGhlcmUgYXJlIHBsZW50eSBvZiBhc3BlY3RzIG9m IHRoZSBwcm90b2NvbCBkZXNpZ24gb2YgWE1QUCB3aGljaCBzaGFwZSB0aGUgYWJpbGl0eSBmb3Ig dXNlcnMgdG8gY29tbXVuaWNhdGUgZnJlZWx5LCBhbmQgdG8gYXNzZW1ibHkgdGhyb3VnaCB0aGUg cHJvdG9jb2wuIFRoZSBwcm90b2NvbCBhbHNvIGhhcyBmYWNldHMgdGhhdCBtYXkgc3RpZmxlIHNw ZWVjaCBhcyB1c2VycyBzZWxmLWNlbnNvciBmb3IgZmVhciBvZiBzdXJ2ZWlsbGFuY2UsIG9yIGZp bmQgdGhlbXNlbHZlcyB1bmFibGUgdG8gZXhwcmVzcyB0aGVtc2VsdmVzIGZyZWVseS4NCg0KIyMj IyBVc2VyIElkZW50aWZpY2F0aW9uDQoNClRoZSBYTVBQIHNwZWNpZmljYXRpb24gZGljdGF0ZXMg dGhhdCBjbGllbnRzIGFyZSBpZGVudGlmaWVkIHdpdGggYSByZXNvdXJjZSAoPG5vZGVAZG9tYWlu L2hvbWU+IC8gPG5vZGVAZG9tYWluL3dvcms+KSB0byBkaXN0aW5ndWlzaCB0aGUgY29udmVyc2F0 aW9ucyB0byBzcGVjaWZpYyBkZXZpY2VzLiBXaGlsZSB0aGUgcHJvdG9jb2wgZG9lcyBub3Qgc3Bl Y2lmeSB0aGF0IHRoZSByZXNvdXJjZSBtdXN0IGJlIGV4cG9zZWQgYnkgdGhlIGNsaWVudCdzIHNl cnZlciB0byByZW1vdGUgdXNlcnMsIGluIHByYWN0aWNlIHRoaXMgaGFzIGJlY29tZSB0aGUgZGVm YXVsdCBiZWhhdmlvci4gSW4gZG9pbmcgc28sIHVzZXJzIGNhbiBiZSB0cmFja2VkIGJ5IHJlbW90 ZSBmcmllbmRzIGFuZCB0aGVpciBzZXJ2ZXJzLCB3aG8gYXJlIGFibGUgdG8gbW9uaXRvciBwcmVz ZW5jZSBub3QganVzdCBvZiB0aGUgdXNlciwgYnV0IG9mIGVhY2ggaW5kaXZpZHVhbCBkZXZpY2Ug dGhlIHVzZXIgbG9ncyBpbiB3aXRoLiBUaGlzIGhhcyBwcm92ZW4gdG8gYmUgbWlzbGVhZGluZyB0 byBtYW55IHVzZXJzLCB7e3BpZGdpbn19IHNpbmNlIG1hbnkgY2xpZW50cyBvbmx5IGV4cG9zZSB1 c2VyIGxldmVsIHJhdGhlciB0aGFuIGRldmljZSBsZXZlbCBwcmVzZW5jZS4gTGlrZXdpc2UsIHVz ZXIgaW52aXNpYmlsaXR5IHNvIHRoYXQgY29tbXVuaWNhdGlvbiBjYW4gb2NjdXIgd2hpbGUgdXNl cnMgZG9uJ3Qgbm90aWZ5IGFsbCBidWRkaWVzIGFuZCBvdGhlciBzZXJ2ZXJzIG9mIHRoZWlyIGF2 YWlsYWJpbGl0eSBpcyBub3QgcGFydCBvZiB0aGUgZm9ybWFsIHByb3RvY29sLCBhbmQgaGFzIG9u bHkgYmVlbiBhZGRlZCBhcyBhbiBleHRlbnNpb24gd2l0aGluIHRoZSBYTUwgc3RyZWFtIHJhdGhl ciB0aGFuIGVuZm9yY2VkIGJ5IHRoZSBwcm90b2NvbC4NCg0KIyMjIyBTdXJ2ZWlsbGFuY2Ugb2Yg Q29tbXVuaWNhdGlvbg0KDQpUaGUgWE1QUCBwcm90b2NvbCBzcGVjaWZpZXMgdGhlIHN0YW5kYXJk IGJ5IHdoaWNoIGNvbW11bmljYXRpb24gb2YgY2hhbm5lbHMgbWF5IGJlIGVuY3J5cHRlZCwgYnV0 IGl0IGRvZXMgbm90IHByb3ZpZGUgdmlzaWJpbGl0eSB0byBjbGllbnRzIG9mIHdoZXRoZXIgdGhl aXIgY29tbXVuaWNhdGlvbnMgYXJlIGVuY3J5cHRlZCBvbiBlYWNoIGxpbmsuIEluIHBhcnRpY3Vs YXIsIGV2ZW4gd2hlbiBib3RoIGNsaWVudHMgZW5zdXJlIHRoYXQgdGhleSBoYXZlIGFuIGVuY3J5 cHRlZCBjb25uZWN0aW9uIHRvIHRoZWlyIFhNUFAgc2VydmVyIHRvIGVuc3VyZSB0aGF0IHRoZWly IGxvY2FsIG5ldHdvcmsgaXMgdW5hYmxlIHRvIHJlYWQgb3IgZGlzcnVwdCB0aGUgbWVzc2FnZXMg dGhleSBzZW5kLCB0aGUgcHJvdG9jb2wgZG9lcyBub3QgcHJvdmlkZSB2aXNpYmlsaXR5IGludG8g dGhlIGVuY3J5cHRpb24gc3RhdHVzIGJldHdlZW4gdGhlIHR3byBzZXJ2ZXJzLiBBcyBzdWNoLCBj bGllbnRzIG1heSBiZSBzdWJqZWN0IHRvIHNlbGVjdGl2ZSBkaXNydXB0aW9uIG9mIGNvbW11bmlj YXRpb25zIGJ5IGFuIGludGVybWVkaWF0ZSBuZXR3b3JrIHdoaWNoIGRpc3J1cHRzIGNvbW11bmlj YXRpb25zIGJhc2VkIG9uIGtleXdvcmRzIGZvdW5kIHRocm91Z2ggRGVlcCBQYWNrZXQgSW5zcGVj dGlvbi4gV2hpbGUgbWFueSBvcGVyYXRvcnMgaGF2ZSBjb21taXRlZCB0byBvbmx5IGVzdGFibGlz aGluZyBlbmNyeXB0ZWQgbGlua3MgZnJvbSB0aGVpciBzZXJ2ZXJzIGluIHJlY29nbml0aW9uIG9m IHRoaXMgdnVsbmVyYWJpbGl0eSwgaXQgcmVtYWlucyBpbXBvc3NpYmxlIGZvciB1c2VycyB0byBh dWRpdCB0aGlzIGJlaGF2aW9yIGFuZCBlbmNyeXB0ZWQgY29ubmVjdGlvbnMgYXJlIG5vdCByZXF1 aXJlZCBieSB0aGUgcHJvdG9jb2wgaXRzZWxmIHt7eG1wcG1hbmlmZXN0b319Lg0KDQpJbiBwYXJ0 aWN1bGFyLCBzZWN0aW9uIDEzLjE0IG9mIHRoZSBwcm90b2NvbCBzcGVjaWZpY2F0aW9uIHt7UkZD NjEyMH19IGV4cGxpY2l0bHkgYWNrbm93bGVkZ2VzIHRoZSBleGlzdGVuY2Ugb2YgYSBkb3duZ3Jh ZGUgYXR0YWNrIHdoZXJlIGFuIGFkdmVyc2FyeSBjb250cm9sbGluZyBhbiBpbnRlcm1lZGlhdGUg bmV0d29yayBjYW4gZm9yY2UgdGhlIGludGVyIGRvbWFpbiBmZWRlcmF0aW9uIGJldHdlZW4gc2Vy dmVycyB0byByZXZlcnQgdG8gYSBub24tZW5jcnlwdGVkIHByb3RvY29sIHdlcmUgc2VsZWN0aXZl IG1lc3NhZ2VzIGNhbiB0aGVuIGJlIGRpc3J1cHRlZC4NCg0KIyMjIyBHcm91cCBDaGF0IExpbWl0 YXRpb25zDQoNCkdyb3VwIGNoYXQgaW4gdGhlIFhNUFAgcHJvdG9jb2wgaXMgZGVmaW5lZCBhcyBh biBleHRlbnNpb24gd2l0aGluIHRoZSBYTUwgc3BlY2lmaWNhdGlvbiBvZiB0aGUgWE1QUCBwcm90 b2NvbCAoaHR0cHM6Ly94bXBwLm9yZy9leHRlbnNpb25zL3hlcC0wMDQ1Lmh0bWwpLiBIb3dldmVy LCBpdCBpcyBub3QgZW5jb2RlZCBvciByZXF1aXJlZCBhdCBhIHByb3RvY29sIGxldmVsLCBhbmQg bm90IHVuaWZvcm1seSBpbXBsZW1lbnRlZCBieSBjbGllbnRzLg0KDQpUaGUgZGVzaWduIG9mIG11 bHRpLXVzZXIgY2hhdCBpbiB0aGUgWE1QUCBwcm90b2NvbCBzdWZmZXJzIGZyb20gZXh0ZW5kaW5n IGEgcHJvdG9jb2wgdGhhdCB3YXMgbm90IGRlc2lnbmVkIHdpdGggYXNzZW1ibHkgb2YgbWFueSB1 c2VycyBpbiBtaW5kLiBJbiBwYXJ0aWN1bGFyLCBpbiB0aGUgZmVkZXJhdGVkIHByb3RvY29sIHBy b3ZpZGVkIGJ5IFhNUFAsIG11bHRpLXVzZXIgY29tbXVuaXRpZXMgYXJlIGltcGxlbWVudGVkIHdp dGggYSBkaXN0aW5ndWlzaGVkICdvd25lcicsIHdobyBpcyBncmFudGVkIGNvbnRyb2wgb3ZlciB0 aGUgcGFydGljaXBhbnRzIGFuZCBzdHJ1Y3R1cmUgb2YgdGhlIGNvbnZlcnNhdGlvbi4NCg0KTXVs dGktdXNlciBjaGF0IHJvb21zIGFyZSBpZGVudGlmaWVkIGJ5IGEgbmFtZSBzcGVjaWZpZWQgb24g YSBzcGVjaWZpYyBzZXJ2ZXIsIHNvIHRoYXQgd2hpbGUgdGhlIG92ZXJhbGwgcHJvdG9jb2wgbWF5 IGJlIGZlZGVyYXRlZCwgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIGFzc2VtYmxlIGluIGEgZ2l2 ZW4gY29tbXVuaXR5IGlzIG1vZGVyYXRlZCBieSBhIHNpbmdsZSBzZXJ2ZXIuIFRoYXQgc2VydmVy IG1heSBibG9jayB0aGUgcm9vbSBhbmQgcHJldmVudCBhc3NlbWJseSB1bmlsYXRlcmFsbHksIGV2 ZW4gYmV0d2VlbiB0d28gdXNlcnMgbmVpdGhlciBvZiB3aG9tIHRydXN0IG9yIHVzZSB0aGF0IHNl cnZlciBkaXJlY3RseS4NCg0KDQojIyMgUGVlciB0byBQZWVyDQoNClBlZXItdG8tUGVlciAoUDJQ KSBpcyBhIG5ldHdvcmsgYXJjaGl0ZWN0dXJlIChkZWZpbmVkIGluIHt7UkZDNzU3NH19KSBpbiB3 aGljaCBhbGwgdGhlIHBhcnRpY2lwYW50IG5vZGVzIGFyZSBlcXVhbGx5IHJlc3BvbnNpYmxlIGVu Z2FnZWQgaW50byB0aGUgc3RvcmFnZSBhbmQgZGlzc2VtaW5hdGlvbiBvZiBpbmZvcm1hdGlvbi4g QSBQMlAgbmV0d29yayBpcyBhIGxvZ2ljYWwgb3ZlcmxheSB0aGF0IGxpdmVzIG9uIHRvcCBvZiB0 aGUgcGh5c2ljYWwgbmV0d29yaywgYW5kIGFsbG93cyBub2RlcyAob3IgInBlZXJzIikgcGFydGlj aXBhdGluZyB0byBpdCB0byBlc3RhYmxpc2ggY29udGFjdCBhbmQgZXhjaGFuZ2UgaW5mb3JtYXRp b24gZGlyZWN0bHkgZnJvbSBvbmUgdG8gZWFjaCBvdGhlci4gVGhlIGltcGxlbWVudGF0aW9uIG9m IGEgUDJQIG5ldHdvcmsgbWF5IHZlcnkgd2lkZWx5OiBpdCBtYXkgYmUgc3RydWN0dXJlZCBvciB1 bnN0cnVjdHVyZWQsIGFuZCBpdCBtYXkgaW1wbGVtZW50IHN0cm9uZ2VyIG9yIHdlYWtlciBjcnlw dG9ncmFwaGljIGFuZCBhbm9ueW1pdHkgcHJvcGVydGllcy4gV2hpbGUgaXRzIG1vc3QgY29tbW9u IGFwcGxpY2F0aW9uIGhhcyB0cmFkaXRpb25hbGx5IGJlZW4gZmlsZS1zaGFyaW5nIChhbmQgb3Ro ZXIgdHlwZXMgb2YgY29udGVudCBkZWxpdmVyeSBzeXN0ZW1zKSwgUDJQIGlzIGluY3JlYXNpbmds eSBiZWNvbWluZyBhIHBvcHVsYXIgYXJjaGl0ZWN0dXJlIGZvciBuZXR3b3JrcyBhbmQgYXBwbGlj YXRpb25zIHRoYXQgcmVxdWlyZSAob3IgZW5jb3VyYWdlKSBkZWNlbnRyYWxpemF0aW9uLiBBIHBy aW1lIGV4YW1wbGUgaXMgQml0Y29pbiAoYW5kIHNpbWlsYXIgY3J5cHRvY3VycmVuY2llcyksIGFz IHdlbGwgYXMgU2t5cGUsIFNwb3RpZnkgYW5kIG90aGVyIHByb3ByaWV0YXJ5IG11bHRpbWVkaWEg YXBwbGljYXRpb25zLg0KDQpJbiBhIHRpbWUgb2YgaGVhdmlseSBjZW50cmFsaXplZCBvbmxpbmUg c2VydmljZXMsIHBlZXItdG8tcGVlciBpcyBvZnRlbiBzZWVuIGFzIGFuIGFsdGVybmF0aXZlLCBt b3JlIGRlbW9jcmF0aWMsIGFuZCByZXNpc3RhbnQgYXJjaGl0ZWN0dXJlIHRoYXQgZGlzcGxhY2Vz IHN0cnVjdHVyZXMgb2YgY29udHJvbCBvdmVyIGRhdGEgYW5kIGNvbW11bmljYXRpb25zIGFuZCBk ZWxlZ2F0ZXMgYWxsIHBlZXJzIGVxdWFsbHkgdG8gYmUgcmVzcG9uc2libGUgZm9yIHRoZSBmdW5j dGlvbmluZywgaW50ZWdyaXR5LCBhbmQgc2VjdXJpdHkgb2YgdGhlIGRhdGEuIFdoaWxlIGluIHBy aW5jaXBsZSBwZWVyLXRvLXBlZXIgcmVtYWlucyBjcml0aWNhbCB0byB0aGUgZGVzaWduIGFuZCBk ZXZlbG9wbWVudCBvZiBmdXR1cmUgY29udGVudCBkaXN0cmlidXRpb24sIG1lc3NhZ2luZywgYW5k IHB1Ymxpc2hpbmcgc3lzdGVtcywgaXQgcG9zZXMgbnVtZXJvdXMgc2VjdXJpdHkgYW5kIHByaXZh Y3kgY2hhbGxlbmdlcyB3aGljaCBhcmUgbW9zdGx5IGRlbGVnYXRlZCB0byBpbmRpdmlkdWFsIGRl dmVsb3BlcnMgdG8gcmVjb2duaXplLCBhbmFseXplLCBhbmQgc29sdmUgaW4gZWFjaCBpbXBsZW1l bnRhdGlvbiBvZiBhIGdpdmVuIFAyUCBuZXR3b3JrLg0KDQojIyMjIE5ldHdvcmsgUG9pc29uaW5n DQoNClNpbmNlIGNvbnRlbnQsIGFuZCBpbiBzb21lIG9jY2FzaW9ucyBwZWVyIGxpc3RzLCBhcmUg c2FmZWd1YXJkZWQgYW5kIGRpc3RyaWJ1dGVkIGJ5IGl0cyBtZW1iZXJzLCBQMlAgbmV0d29ya3Mg YXJlIHByb25lIHRvIHdoYXQgYXJlIGdlbmVyYWxseSBkZWZpbmVkIGFzICJwb2lzb25pbmcgYXR0 YWNrcyIuIFBvaXNvbmluZyBhdHRhY2tzIG1pZ2h0IGJlIGRpcmVjdGVkIGRpcmVjdGx5IGF0IHRo ZSBkYXRhIHRoYXQgaXMgYmVpbmcgZGlzdHJpYnV0ZWQsIGZvciBleGFtcGxlIGJ5IGludGVudGlv bmFsbHkgY29ycnVwdGluZyBpdCwgb3IgYXQgdGhlIGluZGV4IHRhYmxlcyB1c2VkIHRvIGluc3Ry dWN0IHRoZQ0KcGVlcnMgd2hlcmUgdG8gZmV0Y2ggdGhlIGRhdGEsIG9yIGF0IHJvdXRpbmcgdGFi bGVzLCB3aXRoIHRoZSBhdHRlbXB0IG9mIHByb3ZpZGluZyBjb25uZWN0aW5nIHBlZXJzIHdpdGgg bGlzdHMgb2Ygcm9ndWUgb3Igbm9uLWV4aXN0aW5nIHBlZXJzLCB3aXRoIHRoZSBpbnRlbnRpb24g dG8gZWZmZWN0aXZlbHkgY2F1c2UgYSBEZW5pYWwgb2YgU2VydmljZSBvbiB0aGUgbmV0d29yay4N Cg0KIyMjIyBUaHJvdHRsaW5nDQoNClBlZXItdG8tUGVlciB0cmFmZmljIChhbmQgQml0VG9ycmVu dCBpbiBwYXJ0aWN1bGFyKSByZXByZXNlbnRzIGEgaGlnaCBwZXJjZW50YWdlIG9mIGdsb2JhbCBJ bnRlcm5ldCB0cmFmZmljIGFuZCBpdCBoYXMgYmVjb21lIGluY3JlYXNpbmdseSBwb3B1bGFyIGZv ciBJbnRlcm5ldCBTZXJ2aWNlIFByb3ZpZGVycyB0byBwZXJmb3JtIHRocm90dGxpbmcgb2YgY3Vz dG9tZXJzIGxpbmVzIGluIG9yZGVyIHRvIGxpbWl0IGJhbmR3aWR0aCB1c2FnZSB7e3RvcnJlbnRm cmVhazF9fSBhbmQgc29tZXRpbWVzIHByb2JhYmx5IGFzIGFuIGVmZmVjdCBvZiB0aGUgb25nb2lu ZyBjb25mbGljdCBiZXR3ZWVuIGNvcHlyaWdodCBob2xkZXJzIGFuZCBmaWxlLXNoYXJpbmcgY29t bXVuaXRpZXMge3t3aWtpbGVha3N9fS4NCg0KVGhyb3R0bGluZyB0aGUgcGVlci10by1wZWVyIHRy YWZmaWMgbWFrZXMgc29tZSB1c2VzIG9mIFAyUCBuZXR3b3JrcyBpbmVmZmVjdGl2ZSBhbmQgaXQg bWlnaHQgYmUgY291cGxlZCB3aXRoIHN0cmljdGVyIGluc3BlY3Rpb24gb2YgdXNlcnMnIEludGVy bmV0IHRyYWZmaWMgdGhyb3VnaCBEZWVwIFBhY2tldCBJbnNwZWN0aW9uIHRlY2huaXF1ZXMgd2hp Y2ggbWlnaHQgcG9zZSBhZGRpdGlvbmFsIHNlY3VyaXR5IGFuZCBwcml2YWN5IHJpc2tzLg0KDQoj IyMjIFRyYWNraW5nIGFuZCBJZGVudGlmaWNhdGlvbg0KDQpPbmUgb2YgdGhlIGZ1bmRhbWVudGFs IGFuZCBtb3N0IHByb2JsZW1hdGljIGlzc3VlcyB3aXRoIHRyYWRpdGlvbmFsIHBlZXItdG8tcGVl ciBuZXR3b3JrcyBpcyBhIGNvbXBsZXRlIGxhY2sgb2YgYW5vbnltaXphdGlvbiBvZiBpdHMgdXNl cnMuIEZvciBleGFtcGxlLCBpbiB0aGUgY2FzZSBvZiBCaXRUb3JyZW50LCBhbGwgcGVlcnMnIElQ IGFkZHJlc3NlcyBhcmUgb3Blbmx5IGF2YWlsYWJsZSB0byB0aGUgb3RoZXIgcGVlcnMuIFRoaXMg aGFzIGxlYWQgdG8gYW4gZXZlci1pbmNyZWFzaW5nIHRyYWNraW5nIG9mIHBlZXItdG8tcGVlciBh bmQgZmlsZS1zaGFyaW5nIHVzZXJzIHt7YXJzfX0uIEFzIHRoZSBnZW9ncmFwaGljYWwNCmxvY2F0 aW9uIG9mIHRoZSB1c2VyIGlzIGRpcmVjdGx5IGV4cG9zZWQsIGFuZCBzbyBjb3VsZCBiZSBoaXMg aWRlbnRpdHksIHRoZSB1c2VyIG1pZ2h0IGJlY29tZSB0YXJnZXQgb2YgYWRkaXRpb25hbCBoYXJh c3NtZW50IGFuZCBhdHRhY2tzLCBiZWluZyBvZiBwaHlzaWNhbCBvciBsZWdhbCBuYXR1cmUuIEZv ciBleGFtcGxlLCBpdCBpcyBrbm93biB0aGF0IGluIEdlcm1hbnkgbGF3IGZpcm1zIGhhdmUgbWFk ZSBleHRlbnNpdmUgdXNlIG9mIHBlZXItdG8tcGVlciBhbmQgZmlsZS1zaGFyaW5nIHRyYWNraW5n IHN5c3RlbXMgaW4gb3JkZXIgdG8gaWRlbnRpZnkgZG93bmxvYWRlcnMgYW5kIGluaXRpYXRlIGxl Z2FsIGFjdGlvbnMgbG9va2luZyBmb3IgY29tcGVuc2F0aW9ucyB7e3RvcnJlbnRmcmVhazJ9fS4N Cg0KSXQgaXMgd29ydGggbm90aW5nIHRoYXQgdGhlcmUgYXJlIHZhcmlldGllcyBvZiBQMlAgbmV0 d29ya3MgdGhhdCBpbXBsZW1lbnQgY3J5cHRvZ3JhcGhpYyBwcmFjdGljZXMgYW5kIHRoYXQgaW50 cm9kdWNlIGFub255bWl6YXRpb24gb2YgaXRzIHVzZXJzLiBTdWNoIGltcGxlbWVudGF0aW9ucyBw cm92ZWQgdG8gYmUgc3VjY2Vzc2Z1bCBpbiByZXNpc3RpbmcgY2Vuc29yc2hpcCBvZiBjb250ZW50 LCBhbmQgdHJhY2tpbmcgb2YgdGhlIG5ldHdvcmsgcGVlcnMuIEEgcHJpbWFyeSBleGFtcGxlIGlz IEZyZWVOZXQge3tmcmVlbmV0MX19LCBhIGZyZWUgc29mdHdhcmUgYXBwbGljYXRpb24gZGVzaWdu ZWQgdG8gc2lnbmlmaWNhbnRseSBpbmNyZWFzZSB0aGUgZGlmZmljdWx0eSBvZiB1c2VycyBhbmQg Y29udGVudCBpZGVudGlmaWNhdGlvbiwgYW5kIGRlZGljYXRlZCB0byBmb3N0ZXIgZnJlZWRvbSBv ZiBzcGVlY2ggb25saW5lIHt7ZnJlZW5ldDJ9fS4NCg0KIyMjIyBTeWJpbCBBdHRhY2tzDQoNCklu IG9wZW4tbWVtYmVyc2hpcCBQMlAgbmV0d29ya3MsIGEgc2luZ2xlIGF0dGFja2VyIGNhbiBwcmV0 ZW5kIHRvIGJlIG1hbnkgcGFydGljaXBhbnRzLCB0eXBpY2FsbHkgYnkgY3JlYXRpbmcgbXVsdGlw bGUgZmFrZSBpZGVudGl0aWVzIG9mIHdoYXRldmVyIGtpbmQgdGhlIFAyUCBuZXR3b3JrIHVzZXMg e3tEb3VjZXVyfX0uICBBdHRhY2tlcnMgY2FuIHVzZSBTeWJpbCBhdHRhY2tzIHRvIGJpYXMgY2hv aWNlcyB0aGUgUDJQIG5ldHdvcmsgbWFrZXMgY29sbGVjdGl2ZWx5IHRvd2FyZCB0aGUgYXR0YWNr ZXIncyBhZHZhbnRhZ2UsIGUuZy4sIGJ5IG1ha2luZyBpdCBtb3JlIGxpa2VseSB0aGF0IGEgcGFy dGljdWxhciBkYXRhIGl0ZW0gKG9yIHNvbWUgdGhyZXNob2xkIG9mIHRoZSByZXBsaWNhcyBvciBz aGFyZXMgb2YgYSBkYXRhIGl0ZW0pIGFyZSBhc3NpZ25lZCB0byBhdHRhY2tlci1jb250cm9sbGVk IHBhcnRpY2lwYW50cy4gIElmIHRoZSBQMlAgbmV0d29yayBpbXBsZW1lbnRzIGFueSB2b3Rpbmcs IG1vZGVyYXRpb24sIG9yIHBlZXIgcmV2aWV3LWxpa2UgZnVuY3Rpb25hbGl0eSwgU3liaWwgYXR0 YWNrcyBtYXkgYmUgdXNlZCB0byAic3R1ZmYgdGhlIGJhbGxvdHMiIHRvd2FyZCB0aGUgYXR0YWNr ZXIncyBiZW5lZml0LiAgQ29tcGFuaWVzIGFuZCBnb3Zlcm5tZW50cyBjYW4gdXNlIFN5YmlsIGF0 dGFja3Mgb24gZGlzY3Vzc2lvbi1vcmllbnRlZCBQMlAgc3lzdGVtcyBmb3IgImFzdHJvdHVyZmlu ZyIgb3IgY3JlYXRpbmcgdGhlIGFwcGVhcmFuY2Ugb2YgIG1hc3MgZ3Jhc3Nyb290cyBzdXBwb3J0 IGZvciBzb21lIHBvc2l0aW9uIHdoZXJlIHRoZXJlIGlzIG5vbmUgaW4gcmVhbGl0eS4NCg0KIyMj IyBDb25jbHVzaW9ucw0KDQpFbmNyeXB0ZWQgUDJQIGFuZCBBbm9ueW1vdXMgUDJQIG5ldHdvcmtz IGFscmVhZHkgZW1lcmdlZCBhbmQgcHJvdmlkZWQgdmlhYmxlIHBsYXRmb3JtcyBmb3Igc2hhcmlu ZyBtYXRlcmlhbCwgcHVibGlzaCBjb250ZW50IGFub255bW91c2x5LCBhbmQgY29tbXVuaWNhdGUg c2VjdXJlbHkge3tiaXRtZXNzYWdlfX0uIElmIGFkb3B0ZWQgYXQgbGFyZ2UsIHdlbGwtZGVzaWdu ZWQgYW5kIHJlc2lzdGFudCBQMlAgbmV0d29ya3MgbWlnaHQgcmVwcmVzZW50IGEgY3JpdGljYWwg Y29tcG9uZW50IG9mIGEgZnV0dXJlIHNlY3VyZSBhbmQgZGlzdHJpYnV0ZWQgSW50ZXJuZXQsIGVu YWJsaW5nIGZyZWVkb20gb2Ygc3BlZWNoIGFuZCBmcmVlZG9tDQpvZiBpbmZvcm1hdGlvbiBhdCBz Y2FsZS4NCg0KDQojIyMgVmlydHVhbCBQcml2YXRlIE5ldHdvcmsNCg0KIyMjIyBJbnRyb2R1Y3Rp b24NCg0KQSBWaXJ0dWFsIFByaXZhdGUgTmV0d29yayAoVlBOKSBpcyBhIHBvaW50LXRvLXBvaW50 IGNvbm5lY3Rpb24gdGhhdCBlbmFibGVzIHR3byBjb21wdXRlcnMgdG8gY29tbXVuaWNhdGUgb3Zl ciBhbiBlbmNyeXB0ZWQgdHVubmVsLiBUaGVyZSBhcmUgbXVsdGlwbGUgaW1wbGVtZW50YXRpb25z IGFuZCBwcm90b2NvbHMgdXNlZCBpbiBwcm92aXNpb25pbmcgYSBWUE4sIGFuZCB0aGV5IGdlbmVy YWxseSBkaXZlcnNpZnkgYnkgZW5jcnlwdGlvbiBwcm90b2NvbCBvciBwYXJ0aWN1bGFyIHJlcXVp cmVtZW50cywgbW9zdCBjb21tb25seSBpbiBwcm9wcmlldGFyeSBhbmQgZW50ZXJwcmlzZSBzb2x1 dGlvbnMuIFZQTnMgYXJlIHVzZWQgY29tbW9ubHkgZWl0aGVyIHRvIGVuYWJsZSBzb21lIGRldmlj ZXMgdG8gY29tbXVuaWNhdGUgdGhyb3VnaCBwZWN1bGlhciBuZXR3b3JrIGNvbmZpZ3VyYXRpb25z LCBvciBpbiBvcmRlciB0byB1c2Ugc29tZSBwcml2YWN5IGFuZCBzZWN1cml0eSBwcm9wZXJ0aWVz IGluIG9yZGVyIHRvIHByb3RlY3QgdGhlIHRyYWZmaWMgZ2VuZXJhdGVkIGJ5IHRoZSBlbmQgdXNl cjsgb3IgYm90aC4gVlBOcyBoYXZlIGFsc28gYmVjb21lIGEgdmVyeSBwb3B1bGFyIHRlY2hub2xv Z3kgYW1vbmcgaHVtYW4gcmlnaHRzIGRlZmVuZGVycywgZGlzc2lkZW50cywgYW5kIGpvdXJuYWxp c3RzIHdvcmxkd2lkZSB0byBhdm9pZCBsb2NhbCBpbGxlZ2l0aW1hdGUgd2lyZXRhcHBpbmcgYW5k IGV2ZW50dWFsbHkgYWxzbyB0byBjaXJjdW12ZW50IGNlbnNvcnNoaXAuIEFtb25nIGh1bWFuIHJp Z2h0cyBkZWZlbmRlcnMgVlBOcyBhcmUgb2Z0ZW4gZGViYXRlZCBhcyBhIHBvdGVudGlhbCBhbHRl cm5hdGl2ZSB0byBUb3Igb3Igb3RoZXIgYW5vbnltb3VzIG5ldHdvcmtzLiBTdWNoIGNvbXBhcmlz b24gaXMgbWlzbGVhZGluZywgYXMgc29tZSBvZiB0aGUgcHJpdmFjeSBhbmQgc2VjdXJpdHkgcHJv cGVydGllcyBvZiBWUE5zIGFyZSBvZnRlbiBtaXN1bmRlcnN0b29kIGJ5IGxlc3MgdGVjaC1zYXZ2 eSB1c2Vycywgd2hpY2ggY291bGQgdWx0aW1hdGVseSBsZWFkIHRvIHVuaW50ZW5kZWQgcHJvYmxl bXMuDQoNCkFzIFZQTnMgaW5jcmVhc2VkIGluIHBvcHVsYXJpdHksIGNvbW1lcmNpYWwgVlBOIHBy b3ZpZGVycyBoYXZlIHN0YXJ0ZWQgZ3Jvd2luZyBpbiBidXNpbmVzcyBhbmQgYXJlIHZlcnkgY29t bW9ubHkgcGlja2VkIGJ5IGh1bWFuIHJpZ2h0cyBkZWZlbmRlcnMgYW5kIHBlb3BsZSBhdCByaXNr LCBhcyB0aGV5IGFyZSBub3JtYWxseSBwcm92aWRlZCB3aXRoIGFuIGVhc3ktdG8tdXNlIHNlcnZp Y2UgYW5kIHNvbWV0aW1lcyBldmVuIGN1c3RvbSBhcHBsaWNhdGlvbnMgdG8gZXN0YWJsaXNoIHRo ZSBWUE4gdHVubmVsLiBOb3QgYmVpbmcgYWJsZSB0byBjb250cm9sIHRoZSBjb25maWd1cmF0aW9u IG9mIHRoZSBuZXR3b3JrLCBhbmQgZXZlbiBsZXNzIHNvIHRoZSBzZWN1cml0eSBvZiB0aGUgYXBw bGljYXRpb24sIGFzc2Vzc2luZyB0aGUgZ2VuZXJhbCBwcml2YWN5IGFuZCBzZWN1cml0eSBzdGF0 ZSBvZiBjb21tb24gVlBOcyBpcyB2ZXJ5IGhhcmQuIE9mdGVuIHN1Y2ggc2VydmljZXMgaGF2ZSBi ZWVuIGRpc2NvdmVyZWQgbGVha2luZyBpbmZvcm1hdGlvbiwgYW5kIHRoZWlyIGN1c3RvbSBhcHBs aWNhdGlvbnMgaGF2ZSBiZWVuIGZvdW5kIGZsYXdlZC4gV2hpbGUgVG9yIGFuZCBzaW1pbGFyIG5l dHdvcmtzIHJlY2VpdmUgYSBsb3Qgb2Ygc2NydXRpbnkgZnJvbSB0aGUgcHVibGljIGFuZCB0aGUg YWNhZGVtaWMgY29tbXVuaXR5LCBjb21tZXJjaWFsIG9yIG5vbi1jb21tZXJjaWFsIFZQTiBuZXR3 b3JrcyBhcmUgd2F5IGxlc3MgYW5hbHl6ZWQgYW5kIHVuZGVyc3Rvb2QsIGFuZCBpdCBtaWdodCBi ZSB2YWx1YWJsZSB0byBlc3RhYmxpc2ggc29tZSBzdGFuZGFyZHMgdG8gZ3VhcmFudGVlIGEgbWlu aW1hbCBsZXZlbCBvZiBwcml2YWN5IGFuZCBzZWN1cml0eSB0byB0aG9zZSB3aG8gbmVlZCB0aGVt IHRoZSBtb3N0Lg0KDQoNCiMjIyMgRmFsc2Ugc2Vuc2Ugb2YgQW5vbnltaXR5DQoNCk9uZSBvZiB0 aGUgY29tbW9uIG1pc2NvbmNlcHRpb24gYW1vbmcgdXNlcnMgb2YgVlBOcyBpcyB0aGUgbGV2ZWwg b2YgYW5vbnltaXR5IFZQTiBjYW4gcHJvdmlkZS4gVGhpcyBzZW5zZSBvZiBhbm9ueW1pdHkgY2Fu IGJlIGJldHJheWVkIGJ5IGEgbnVtYmVyIG9mIGF0dGFja3Mgb3IgbWlzY29uZmlndXJhdGlvbnMg b2YgdGhlIFZQTiBwcm92aWRlci4gSXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQsIGNv bnRyYXJpbHkgdG8gVG9yIGFuZCBzaW1pbGFyIHN5c3RlbXMsIFZQTiB3YXMgbm90IGRlc2lnbmVk IHRvIHByb3ZpZGUgYW5vbnltaXR5IHByb3BlcnRpZXMuIEZyb20gYSB0ZWNobmljYWwgcG9pbnQg b2YgdmlldywgdGhlIFZQTiBtaWdodCBsZWFrIGlkZW50aWZpYWJsZSBpbmZvcm1hdGlvbiwgb3Ig bWlnaHQgYmUgc3ViamVjdCBvZiBjb3JyZWxhdGlvbiBhdHRhY2tzIHRoYXQgY291bGQgZXhwb3Nl IHRoZSBvcmlnaW5hdGluZyBhZGRyZXNzIG9mIHRoZSBjb25uZWN0aW5nIHVzZXIuIE1vc3QgaW1w b3J0YW50bHksIGl0IGlzIHZpdGFsIHRvIHVuZGVyc3RhbmQgdGhhdCBjb21tZXJjaWFsIGFuZCBu b24tY29tbWVyY2lhbCBWUE4gcHJvdmlkZXJzIGFyZSBib3VuZCBieSB0aGUgbGF3IG9mIHRoZSBq dXJpc2RpY3Rpb24gdGhleSByZXNpZGUgaW4gb3IgaW4gd2hpY2ggdGhlaXIgaW5mcmFzdHJ1Y3R1 cmUgaXMgbG9jYXRlZCwgYW5kIHRoZXkgbWlnaHQgYmUgbGVnYWxseSBmb3JjZWQgdG8gdHVybiBv dmVyIGRhdGEgb2Ygc3BlY2lmaWMgdXNlcnMgaWYgbGVnYWwgaW52ZXN0aWdhdGlvbnMgb3IgaW50 ZWxsaWdlbmNlIHJlcXVpcmVtZW50cyBkaWN0YXRlIHNvLiBJbiBzdWNoIGNhc2VzLCBpZiB0aGUg VlBOIHByb3ZpZGVycyByZXRhaW4gbG9ncywgaXQgaXMgcG9zc2libGUgdGhhdCB0aGUgaW5mb3Jt YXRpb24gb2YgdGhlIHVzZXIgaXMgcHJvdmlkZWQgdG8gdGhlIHVzZXIncyBhZHZlcnNhcnkgYW5k IGxlYWRzIHRvIGhpcyBvciBoZXIgaWRlbnRpZmljYXRpb24uDQoNCg0KIyMjIyBMb2dnaW5nDQoN CldpdGggVlBOIGJlaW5nIHBvaW50LXRvLXBvaW50IGNvbm5lY3Rpb25zLCB0aGUgc2VydmljZSBw cm92aWRlcnMgYXJlIGluIGZhY3QgYWJsZSB0byBvYnNlcnZlIHRoZSBvcmlnaW5hbCBsb2NhdGlv biBvZiB0aGUgY29ubmVjdGluZyB1c2VycyBhbmQgdGhleSBhcmUgYWJsZSB0byB0cmFjayBhdCB3 aGF0IHRpbWUgdGhleSBzdGFydGVkIHRoZWlyIHNlc3Npb24gYW5kIGV2ZW50dWFsbHkgYWxzbyB0 byB3aGljaCBkZXN0aW5hdGlvbnMgdGhleSdyZSB0cnlpbmcgdG8gY29ubmVjdCB0by4gSWYgdGhl IFZQTiBwcm92aWRlcnMgcmV0YWluIGxvZ3MgZm9yIGxvbmcgZW5vdWdoLCB0aGV5IG1pZ2h0IGJl IGZvcmNlZCB0byB0dXJuIG92ZXIgdGhlIHJlbGV2YW50IGRhdGEgb3IgdGhleSBtaWdodCBiZSBv dGhlcndpc2UgY29tcHJvbWlzZWQsIGxlYWRpbmcgdG8gdGhlIHNhbWUgZGF0YSBnZXR0aW5nIGV4 cG9zZWQuIEEgY2xlYXIgbG9nIHJldGFpbmluZyBwb2xpY3kgY291bGQgYmUgZW5mb3JjZWQsIGJ1 dCBjb25zaWRlcmluZyB0aGF0IGNvdW50cmllcyBlbmZvcmNlIHZlcnkgZGlmZmVyZW50IGxldmVs cyBvZiBkYXRhIHJldGVudGlvbiBwb2xpY2llcywgVlBOIHByb3ZpZGVycyBzaG91bGQgYXQgbGVh c3QgYmUgdHJhbnNwYXJlbnQgb24gd2hhdCBpbmZvcm1hdGlvbiBkbyB0aGV5IHN0b3JlIGFuZCBm b3IgaG93IGxvbmcgaXMgYmVpbmcga2VwdC4NCg0KDQojIyMjIDNyZCBQYXJ0eSBIb3N0aW5nDQoN ClZQTiBwcm92aWRlcnMgdmVyeSBjb21tb25seSByZWx5IG9uIDNyZCBwYXJ0aWVzIHRvIHByb3Zp c2lvbiB0aGUgaW5mcmFzdHJ1Y3R1cmUgdGhhdCBpcyBsYXRlciBnb2luZyB0byBiZSB1c2VkIHRv IHJ1biBWUE4gZW5kcG9pbnRzLiBGb3IgZXhhbXBsZSwgdGhleSBtaWdodCByZWx5IG9uIGV4dGVy bmFsIGRlZGljYXRlZCBzZXJ2ZXIgaG9zdGluZyBwcm92aWRlcnMsIG9yIG9uIHVwbGluayBwcm92 aWRlcnMuIEluIHRob3NlIGNhc2VzLCBldmVuIGlmIHRoZSBWUE4gcHJvdmlkZXIgaXRzZWxmIGlz bid0IHJldGFpbmluZyBhbnkgc2lnbmlmaWNhbnQgbG9ncywgdGhlIGluZm9ybWF0aW9uIG9uIHRo ZSBjb25uZWN0aW5nIHVzZXJzIG1pZ2h0IGJlIHJldGFpbmVkIGJ5IHRob3NlIDNyZCBwYXJ0aWVz IGluc3RlYWQsIGludHJvZHVjaW5nIGFuIGFkZGl0aW9uYWwgY29sbGVjdGlvbiBwb2ludCBmb3Ig dGhlIGFkdmVyc2FyeS4NCg0KDQojIyMjIElQdjYgTGVha2FnZQ0KDQpTb21lIHN0dWRpZXMgcHJv dmVkIHRoYXQgc2V2ZXJhbCBjb21tZXJjaWFsIFZQTiBwcm92aWRlcnMgYW5kIGFwcGxpY2F0aW9u cyBzdWZmZXIgb2YgY3JpdGljYWwgbGVha2FnZSBvZiBpbmZvcm1hdGlvbiB0aHJvdWdoIElQdjYg ZHVlIHRvIGltcHJvcGVyIHN1cHBvcnQgYW5kIGNvbmZpZ3VyYXRpb24ge3tQRVRTMjAxNVZQTn19 LiBUaGlzIGlzIGdlbmVyYWxseSBjYXVzZWQgYnkgYSBsYWNrIG9mIHByb3BlciBjb25maWd1cmF0 aW9uIG9mIHRoZSBjbGllbnQncyBJUHY2IHJvdXRpbmcgdGFibGVzLiBDb25zaWRlcmluZyB0aGF0 IG1vc3QgcG9wdWxhciBicm93c2VycyBhbmQgc2ltaWxhciBhcHBsaWNhdGlvbnMgaGF2ZSBiZWVu IHN1cHBvcnRpbmcgSVB2NiBieSBkZWZhdWx0LCBpZiB0aGUgaG9zdCBpcyBwcm92aWRlZCB3aXRo IGEgZnVuY3Rpb25hbCBJUHY2IGNvbmZpZ3VyYXRpb24sIHRoZSB0cmFmZmljIHRoYXQgaXMgZ2Vu ZXJhdGVkIG1pZ2h0IGJlIGxlYWtlZCBpZiB0aGUgVlBOIGFwcGxpY2F0aW9uIGlzbid0IGRlc2ln bmVkIHRvIG1hbmlwdWxhdGUgc3VjaCB0cmFmZmljIHByb3Blcmx5Lg0KDQoNCiMjIyMgRE5TIExl YWthZ2UNCg0KU2ltaWxhcmx5LCBWUE4gc2VydmljZXMgdGhhdCBhcmVuJ3QgaGFuZGxpbmcgRE5T IHJlcXVlc3RzIGFuZCBhcmUgbm90IHJ1bm5pbmcgRE5TIHNlcnZlcnMgb2YgdGhlaXIgb3duLCBt aWdodCBiZSBwcm9uZSB0byBETlMgbGVha2luZyB3aGljaCBtaWdodCBub3Qgb25seSBleHBvc2Ug c2Vuc2l0aXZlIGluZm9ybWF0aW9uIG9uIHRoZSBhY3Rpdml0eSBvZiB0aGUgdXNlciwgYnV0IGNv dWxkIGFsc28gcG90ZW50aWFsbHkgbGVhZCB0byBETlMgaGlqYWNraW5nIGF0dGFja3MgYW5kIGZv bGxvd2luZyBjb21wcm9taXNlcy4NCg0KDQojIyMjIFRyYWZmaWMgQ29ycmVsYXRpb24NCg0KQXMg cmV2ZWxhdGlvbnMgb2YgbWFzcyBzdXJ2ZWlsbGFuY2UgaGF2ZSBiZWVuIGdyb3dpbmcgaW4gdGhl IHByZXNzLCBhZGRpdGlvbmFsIGRldGFpbHMgb24gYXR0YWNrcyBvbiBzZWN1cmUgSW50ZXJuZXQg Y29tbXVuaWNhdGlvbnMgaGF2ZSBjb21lIHRvIHRoZSBwdWJsaWMncyBhdHRlbnRpb24uIEFtb25n IHRoZXNlLCBWUE4gYXBwZWFyZWQgdG8gYmUgYSB2ZXJ5IGludGVyZXN0aW5nIHRhcmdldCBmb3Ig YXR0YWNrcyBhbmQgY29sbGVjdGlvbiBlZmZvcnRzLiBTb21lIGltcGxlbWVudGF0aW9ucyBvZiBW UE4gYXBwZWFyIHRvIGJlIHBhcnRpY3VsYXJseSB2dWxuZXJhYmxlIHRvIGlkZW50aWZpY2F0aW9u IGFuZCBjb2xsZWN0aW9uIG9mIGtleSBleGNoYW5nZXMgd2hpY2gsIHNvbWUgU25vd2RlbiBkb2N1 bWVudHMgcmV2ZWFsZWQsIGFyZSBzeXN0ZW1hdGljYWxseSBjb2xsZWN0ZWQgYW5kIHN0b3JlZCBm b3IgZnV0dXJlIHJlZmVyZW5jZS4gVGhlIGFiaWxpdHkgb2YgYW4gYWR2ZXJzYXJ5IHRvIG1vbml0 b3IgbmV0d29yayBjb25uZWN0aW9ucyBhdCBtYW55IGRpZmZlcmVudCBwb2ludHMgb3ZlciB0aGUg SW50ZXJuZXQsIGNhbiBhbGxvdyB0aGVtIHRvIHBlcmZvcm0gdHJhZmZpYyBjb3JyZWxhdGlvbiBh dHRhY2tzIGFuZCBpZGVudGlmeSB0aGUgb3JpZ2luIG9mIGNlcnRhaW4gVlBOIHRyYWZmaWMgYnkg Y3Jvc3MgcmVmZXJlbmNpbmcgdGhlIGNvbm5lY3Rpb24gdGltZSBvZiB0aGUgdXNlciB0byB0aGUg ZW5kcG9pbnQgYW5kIHRoZSBjb25uZWN0aW9uIHRpbWUgb2YgdGhlIGVuZHBvaW50IHRvIHRoZSBm aW5hbCBkZXN0aW5hdGlvbi4gVGhlc2UgdHlwZXMgb2YgYXR0YWNrcywgYWx0aG91Z2ggdmVyeSBl eHBlbnNpdmUgYW5kIG5vcm1hbGx5IG9ubHkgcGVyZm9ybWVkIGJ5IHZlcnkgcmVzb3VyY2VmdWwg YWR2ZXJzYXJpZXMsIGhhdmUgYmVlbiBkb2N1bWVudGVkIHt7c3BpZWdlbH19IHRvIGJlIGFscmVh ZHkgaW4gcHJhY3RpY2UgYW5kIGNvdWxkIGNvbXBsZXRlbHkgdmFuaWZ5IHRoZSB1c2Ugb2YgYSBW UE4gYW5kIHVsdGltYXRlbHkgZXhwb3NlIHRoZSBhY3Rpdml0eSBhbmQgdGhlIGlkZW50aXR5IG9m IGEgdXNlciBhdCByaXNrLg0KDQoNCiMjIyBIVFRQIFN0YXR1cyBDb2RlIDQ1MQ0KDQpFdmVyeSBJ bnRlcm5ldCB1c2VyIGhhcyBydW4gaW50byB0aGUgJzQwNCBOb3QgRm91bmQnIEh5cGVydGV4dCBU cmFuc2ZlciBQcm90b2NvbCAoSFRUUCkgc3RhdHVzIGNvZGUgd2hlbiB0cnlpbmcsIGFuZCBmYWls aW5nLCB0byBhY2Nlc3MgYSBwYXJ0aWN1bGFyIHdlYnNpdGUge3tDYXRofX0uIEl0IGlzIGEgcmVz cG9uc2Ugc3RhdHVzIHRoYXQgdGhlIHNlcnZlciBzZW5kcyB0byB0aGUgYnJvd3Nlciwgd2hlbiB0 aGUgc2VydmVyIGNhbm5vdCBsb2NhdGUgdGhlIFVSTC4gJzQwMyBGb3JiaWRkZW4nIGlzIGFub3Ro ZXIgZXhhbXBsZSBvZiB0aGlzIGNsYXNzIG9mIGNvZGUgc2lnbmFscyB0aGF0IGdpdmVzIHVzZXJz IGluZm9ybWF0aW9uIGFib3V0IHdoYXQgaXMgZ29pbmcgb24uIEluIHRoZSAnNDAzJyBjYXNlIHRo ZSBzZXJ2ZXIgY2FuIGJlIHJlYWNoZWQsIGJ1dCBpcyBibG9ja2luZyB0aGUgcmVxdWVzdCBiZWNh dXNlIHRoZSB1c2VyIGlzIHRyeWluZyB0byBhY2Nlc3MgY29udGVudCBmb3JiaWRkZW4gdG8gdGhl bS4gVGhpcyBjYW4gYmUgYmVjYXVzZSB0aGUgc3BlY2lmaWMgdXNlciBpcyBub3QgYWxsb3dlZCBh Y2Nlc3MgdG8gdGhlIGNvbnRlbnQgKGxpa2UgYSBnb3Zlcm5tZW50IGVtcGxveWVlIHRyeWluZyB0 byBhY2Nlc3MgcG9ybm9ncmFwaHkgb24gYSB3b3JrLWNvbXB1dGVyKSBvciBiZWNhdXNlIGFjY2Vz cyBpcyByZXN0cmljdGVkIHRvIGFsbCB1c2VycyAobGlrZSBzb2NpYWwgbmV0d29yayBzaXRlcyBp biBjZXJ0YWluIGNvdW50cmllcykuDQpBcyBzdXJ2ZWlsbGFuY2UgYW5kIGNlbnNvcnNoaXAgb2Yg dGhlIEludGVybmV0IGlzIGJlY29taW5nIG1vcmUgY29tbW9ucGxhY2UsIHZvaWNlcyB3ZXJlIHJh aXNlZCBhdCB0aGUgSUVURiB0byBpbnRyb2R1Y2UgYSBuZXcgc3RhdHVzIGNvZGUgdGhhdCBpbmRp Y2F0ZXMgd2hlbiBzb21ldGhpbmcgaXMgbm90IGF2YWlsYWJsZSBmb3IgJ2xlZ2FsIHJlYXNvbnMn IChsaWtlIGNlbnNvcnNoaXApOg0KDQpUaGUgNDUxIHN0YXR1cyBjb2RlIHdvdWxkIGFsbG93IHNl cnZlciBvcGVyYXRvcnMgdG8gb3BlcmF0ZSB3aXRoIGdyZWF0ZXIgdHJhbnNwYXJlbmN5IGluIGNp cmN1bXN0YW5jZXMgd2hlcmUgaXNzdWVzIG9mIGxhdyBvciBwdWJsaWMgcG9saWN5IGFmZmVjdCB0 aGVpciBvcGVyYXRpb24uIFRoaXMgdHJhbnNwYXJlbmN5IG1heSBiZSBiZW5lZmljaWFsIGJvdGgg dG8gdGhlc2Ugb3BlcmF0b3JzIGFuZCB0byBlbmQtdXNlcnMge3tCcmF5fX0uDQoNClRoZSBzdGF0 dXMgY29kZSB3b3VsZCBiZSBuYW1lZCAnNDUxJywgYSByZWZlcmVuY2UgdG8gQnJhZGJ1cnkncyBm YW1vdXMgbm92ZWwgb24gY2Vuc29yc2hpcA0KDQpEdXJpbmcgdGhlIElFVEYgbWVldGluZyBpbiBE YWxsYXMsIHRoZXJlIHdhcyBkaXNjdXNzaW9uIGFib3V0IHRoZSB1c2VmdWxuZXNzIG9mICc0NTEn LiBUaGUgbWFpbiB0ZW5zaW9uIHJldm9sdmVkIGFyb3VuZCB0aGUgbGFjayBvZiBhbiBhcHBhcmVu dCBtYWNoaW5lLXJlYWRhYmxlIHRlY2huaWNhbCB1c2Ugb2YgdGhlIGluZm9ybWF0aW9uLiBUaGUg ZXh0ZW50IHRvIHdoaWNoICc0NTEnIGlzIGp1c3QgJ3BvbGl0aWNhbCB0aGVhdHJlJyBvciB3aGV0 aGVyIGl0IGhhcyBhIGNvbmNyZXRlIHRlY2huaWNhbCB1c2Ugd2FzIGhlYXRlZGx5IGRlYmF0ZWQu IFNvbWUgYXJndWVkIHRoYXQgJ3RoZSA0NTEgc3RhdHVzIGNvZGUgaXMganVzdCBhIHN0YXR1cyBj b2RlIHdpdGggYSByZXNwb25zZSBib2R5JyBvdGhlcnMgc2FpZCBpdCB3YXMgcHJvYmxlbWF0aWMg YmVjYXVzZSAnaXQgYnJpbmdzIGxhdyBpbnRvIHRoZSBwaWN0dXJlJy4gQWdhaW4gb3RoZXJzIGFy Z3VlZCB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCBmb3IgaW5kaXZpZHVhbHMsIG9yIG9yZ2FuaXph dGlvbnMgbGlrZSB0aGUgJ0NoaWxsaW5nIEVmZmVjdHMnIHByb2plY3QsIGNyYXdsaW5nIHRoZSB3 ZWIgdG8gZ2V0IGFuIGluZGljYXRpb24gb2YgY2Vuc29yc2hpcCAoSUVURiBkaXNjdXNzaW9uIG9u ICc0NTEnICYjeDIwMTM7IGF1dGhvcidzIGZpZWxkIG5vdGVzIE1hcmNoIDIwMTUpLiBUaGVyZSB3 YXMgbm8gb3V0cmlnaHQgb2JqZWN0aW9uIGR1cmluZyB0aGUgRGFsbGFzIG1lZXRpbmcgYWdhaW5z dCBtb3ZpbmcgZm9yd2FyZCBvbiBzdGF0dXMgY29kZSAnNDUxJywgYW5kIG9uIERlY2VtYmVyIDE4 LCAyMDE1IHRoZSBJbnRlcm5ldCBFbmdpbmVlcmluZyBTdGVlcmluZyBHcm91cCBhcHByb3ZlZCBw dWJsaWNhdGlvbiBvZiB7e1JGQzc3MjV9fSAnQW4gSFRUUCBTdGF0dXMgQ29kZSB0byBSZXBvcnQg TGVnYWwgT2JzdGFjbGVzJy4gSXQgaXMgbm93IGFuIElFVEYgYXBwcm92ZWQgSFRUUCBzdGF0dXMg Y29kZSB0byBzaWduYWwgd2hlbiByZXNvdXJjZSBhY2Nlc3MgaXMgZGVuaWVkIGFzIGEgY29uc2Vx dWVuY2Ugb2YgbGVnYWwgZGVtYW5kcyB7e1JGQzc3MjV9fS4NCg0KV2hhdCBpcyBpbnRlcmVzdGlu ZyBhYm91dCB0aGlzIHBhcnRpY3VsYXIgY2FzZSBpcyB0aGF0IG5vdCBvbmx5IHRlY2huaWNhbCBh cmd1bWVudHMgYnV0IGFsc28gdGhlIHN0YXR1cyBjb2RlJ3Mgb3V0cmlnaHQgcG90ZW50aWFsIHBv bGl0aWNhbCB1c2UgZm9yIGNpdmlsIHNvY2lldHkgcGxheWVkIGEgc3Vic3RhbnRpYWwgcm9sZSBp biBzaGFwaW5nIHRoZSBkaXNjdXNzaW9uLCBhbmQgdGhlIGRlY2lzaW9uIHRvIG1vdmUgZm9yd2Fy ZCB3aXRoIHRoaXMgdGVjaG5vbG9neS4NCg0KSXQgaXMgaG93ZXZlciBpbXBvcnRhbnQgdG8gbm90 ZSB0aGF0IDQ1MSBpcyBub3QgYSBzb2x1dGlvbiB0byBkZXRlY3QgYWxsIG9jY2FzaW9ucyBvZiBj ZW5zb3JzaGlwLiBBIGxhcmdlIHN3YXRoIG9mIEludGVybmV0IGZpbHRlcmluZyBvY2N1cnMgaW4g dGhlIG5ldHdvcmsgcmF0aGVyIHRoYW4gdGhlIHNlcnZlciBpdHNlbGYuIEZvciB0aGVzZSBmb3Jt cyBvZiBjZW5zb3JzaGlwIDQ1MSBwbGF5cyBhIGxpbWl0ZWQgcm9sZSwgYXMgdGhlIHNlcnZlcnMg d2lsbCBub3QgYmUgYWJsZSB0byBzZW5kIHRoZSBjb2RlLCBiZWNhdXNlIHRoZXkgaGF2ZW4ndCBy ZWNlaXZlZCB0aGUgcmVxdWVzdHMgKGFzIGlzIHRoZSBjYXNlIHdpdGggc2VydmVycyB3aXRoIHJl c291cmNlcyBibG9ja2VkIGJ5IHRoZSBDaGluZXNlIEdvbGRlbiBzaGllbGQpLiBTdWNoIGZpbHRl cmluZyByZWdpbWVzIGFyZSB1bmxpa2VseSB0byB2b2x1bnRhcmlseSBpbmplY3QgYSA0NTEgc3Rh dHVzIGNvZGUuIFRoZSB1c2Ugb2YgNDUxIGlzIG1vc3QgbGlrZWx5IHRvIGFwcGx5IGluIHRoZSBj YXNlIG9mIGNvb3BlcmF0aXZlLCBsZWdhbCB2ZXJzaW9ucyBvZiBjb250ZW50IHJlbW92YWwgcmVz dWx0aW5nIGZyb20gcmVxdWVzdHMgdG8gcHJvdmlkZXJzLiBPbmUgY2FuIHRoaW5rIG9mIGNvbnRl bnQgdGhhdCBpcyByZW1vdmVkIG9yIGJsb2NrZWQgZm9yIGxlZ2FsIHJlYXNvbnMsIGxpa2UgY29w eXJpZ2h0IGluZnJpbmdlbWVudCwgZ2FtYmxpbmcgbGF3cywgY2hpbGQgYWJ1c2UsIGV0IGNldGVy YS4gVGhlIG1ham9yIHVzZSBjYXNlIGlzIHRodXMgY2xlYXJseSBvbiB0aGUgV2ViIHNlcnZlciBp dHNlbGYsIG5vdCB0aGUgbmV0d29yay4gTGFyZ2UgSW50ZXJuZXQgY29tcGFuaWVzIGFuZCBzZWFy Y2ggZW5naW5lcyBhcmUgY29uc3RhbnRseSBhc2tlZCB0byBjZW5zb3IgY29udGVudCBpbiB2YXJp b3VzIGp1cmlzZGljdGlvbnMuIDQ1MSBhbGxvd3MgdGhpcyB0byBiZSBlYXNpbHkgZGlzY292ZXJl ZCwgZm9yIGluc3RhbmNlIGJ5IGluaXRpYXRpdmVzIGxpa2UgdGhlIEx1bWVuIERhdGFiYXNlLiBJ biB0aGUgY2FzZSBvZiBhZHZlcnNhcmlhbCBibG9ja2luZyBkb25lIGJ5IGEgZmlsdGVyaW5nIGVu dGl0eSBvbiB0aGUgbmV0d29yayA0NTEgaXMgbGVzcyB1c2VmdWwuDQoNCk92ZXJhbGwsIHRoZSBz dHJlbmd0aCBvZiA0NTEgbGllcyBpbiBpdHMgYWJpbGl0eSB0byBwcm92aWRlIHRyYW5zcGFyZW5j eSBieSBnaXZpbmcgdGhlIHJlYXNvbiBmb3IgYmxvY2tpbmcsIGFuZCBnaXZpbmcgdGhlIGVuZC11 c2VyIHRoZSBhYmlsaXR5IHRvIGZpbGUgYSBjb21wbGFpbnQuIEl0IGFsbG93cyBvcmdhbml6YXRp b25zIHRvIGVhc2lseSBtZWFzdXJlIGNlbnNvcnNoaXAgaW4gYW4gYXV0b21hdGVkIHdheSwgYW5k IHByb21wdHMgdGhlIHVzZXIgdG8gYWNjZXNzIHRoZSBjb250ZW50IHZpYSBhbm90aGVyIHBhdGgg KGUuZy4gVE9SLCBWUE5zKSB3aGVuIChzKWhlIGVuY291bnRlcnMgdGhlIDQ1MSBzdGF0dXMgY29k ZS4NCg0KU3RhdHVzIGNvZGUgNDUxIGltcGFjdCBodW1hbiByaWdodHMgYnkgbWFraW5nIGNlbnNv cnNoaXAgbW9yZSB0cmFuc3BhcmVudCBhbmQgbWVhc3VyYWJsZS4gVGhlIHN0YXR1cyBjb2RlIGlu Y3JlYXNlcyB0cmFuc3BhcmVuY3kgYm90aCBieSBzaWduYWxpbmcgdGhlIGV4aXN0ZW5jZSBvZiBj ZW5zb3JzaGlwIChpbnN0ZWFkIG9mIGEgbXVjaCBtb3JlIGJyb2FkIEhUVFAgZXJyb3IgbWVzc2Fn ZSBsaWtlIEhUVFAgc3RhdHVzIGNvZGUgNDA0KSBhcyB3ZWxsIGFzIHByb3ZpZGluZyBkZXRhaWxz IG9mIHRoZSBsZWdhbCByZXN0cmljdGlvbiwgd2hpY2ggbGVnYWwgYXV0aG9yaXR5IGlzIGltcG9z aW5nIGl0LCBhbmQgd2hhdCBjbGFzcyBvZiByZXNvdXJjZXMgaXQgYXBwbGllcyB0by4gVGhpcyBl bXBvd2VycyB0aGUgdXNlciB0byBzZWVrIHJlZHJlc3MuDQoNCg0KIyMjIE1pZGRsZWJveGVzDQoN Ck9uIHRoZSBjdXJyZW50IEludGVybmV0LCB0cmFuc3BhcmVuY3kgb24gaG93IHBhY2tldHMgcmVh Y2ggYSBkZXN0aW5hdGlvbiBpcyBubyBsb25nZXIgYSBnaXZlbi4gVGhpcyBpcyBkdWUgdG8gdGhl IGluY3JlYXNlZCBwcmVzZW5jZSBvZiBmaXJld2FsbHMsIHNwYW0gZmlsdGVycywgYW5kIG5ldHdv cmsgYWRkcmVzcyB0cmFuc2xhdG9ycyBuZXR3b3JrcyAoTkFUcykgJiN4MjAxMzsgb3IgbWlkZGxl Ym94ZXMgYXMgdGhlc2UgaG9zdHMgYXJlIG9mdGVuIGNhbGxlZCAmI3gyMDEzOyB0aGF0IG1ha2Ug dXNlIG9mIGhpZ2hlci1sYXllciBmaWVsZHMgdG8gZnVuY3Rpb24ge3tXYWxmaXNofX0uDQpUaGlz IGRldmVsb3BtZW50IGlzIGNvbnRlbnRpb3VzLiBUaGUgZGViYXRlIGFsc28gdW5mb2xkZWQgYXQg dGhlIElFVEYsIHNwZWNpZmljYWxseSBhdCB0aGUgU2Vzc2lvbiBQcm90b2NvbCBVbmRlcm5lYXRo IERhdGFncmFtcyAoU1BVRCkgQmlyZHMgb2YgYSBGZWF0aGVyIChCT0YpIG1lZXRpbmcgaGVsZCBh dCB0aGUgSUVURiBjb25mZXJlbmNlIGluIE1hcmNoIDIwMTUuIFRoZSBkaXNjdXNzaW9uIGF0IHRo ZSBCT0YgZm9jdXNlZCBvbiBxdWVzdGlvbnMgYWJvdXQgYWRkaW5nIG1ldGEtZGF0YSwgb3Igb3Ro ZXIgaW5mb3JtYXRpb24gdG8gdHJhZmZpYyBmbG93cywgdG8gZW5hYmxlIHRoZSBzaGFyaW5nIG9m IGluZm9ybWF0aW9uIHdpdGggbWlkZGxlYm94ZXMgaW4gdGhhdCBmbG93LiBEdXJpbmcgdGhlIHNl c3Npb25zIHR3byBjb21wZXRpbmcgYXJndW1lbnRzIHdlcmUgZGlzdGlsbGVkLiBPbiB0aGUgb25l IGhhbmQgYWRkaW5nIGFkZGl0aW9uYWwgZGF0YSB3b3VsZCBhbGxvdyBmb3IgbmV0d29yayBvcHRp bWl6YXRpb24sIGFuZCBoZW5jZSBpbXByb3ZlIHRyYWZmaWMgY2FycmlhZ2UuIE9uIHRoZSBvdGhl ciBoYW5kLCB0aGVyZSBhcmUgcmlza3Mgb2YgaW5mb3JtYXRpb24gbGVha2FnZSBhbmQgb3RoZXIg cHJpdmFjeSBhbmQgc2VjdXJpdHkgY29uY2VybnMuDQoNCk1pZGRsZWJveGVzLCBhbmQgdGhlIHBy b3RvY29scyBndWlkaW5nIHRoZW0sIGluZmx1ZW5jZSBpbmRpdmlkdWFscycgYWJpbGl0eSB0byBj b21tdW5pY2F0ZSBvbmxpbmUgZnJlZWx5IGFuZCBwcml2YXRlbHkuIFJlcGVhdGVkbHkgbWVudGlv bmVkIGluIHRoZSBkaXNjdXNzaW9uIHdhcyB0aGUgZGFuZ2VyIG9mIGNlbnNvcnNoaXAgdGhhdCBj b21lcyB3aXRoIG1pZGRsZWJveGVzLCBhbmQgdGhlIElFVEYncyByb2xlIHRvIHByZXZlbnQgc3Vj aCBjZW5zb3JzaGlwIGZyb20gaGFwcGVuaW5nLiBNaWRkbGVib3hlcyBhcmUgYmVjb21pbmcgYSBw cm94eSBmb3IgdGhlIGRlYmF0ZSBvbiB0aGUgZXh0ZW50IHRvIHdoaWNoIGNvbW1lcmNpYWwgaW50 ZXJlc3RzIGFyZSBhIHZhbGlkIHJlYXNvbiB0byB1bmRlcm1pbmUgdGhlIGVuZC10by1lbmQgcHJp bmNpcGxlLiBUaGUgcG90ZW50aWFsIGZvciBhYnVzZSBhbmQgY2Vuc29yaW5nLCBhbmQgdGh1cyB1 bHRpbWF0ZWx5IHRoZSBpbXBhY3Qgb2YgbWlkZGxlYm94ZXMgb24gdGhlIEludGVybmV0IGFzIGEg cGxhY2Ugb2YgdW5maWx0ZXJlZCwgdW5tb25pdG9yZWQgZnJlZWRvbSBvZiBzcGVlY2gsIGlzIHJl YWwuIEl0IGlzIGltcG9zc2libGUgdG8gbWFrZSBhbnkgZGVmaW5pdGl2ZSBzdGF0ZW1lbnRzIGFi b3V0IHRoZSBkaXJlY3Rpb24gdGhlIGRlYmF0ZSBvbiBtaWRkbGVib3hlcyB3aWxsIHRha2UgYXQg dGhlIElFVEYuIFRoZSBvcGluaW9ucyBleHByZXNzZWQgaW4gdGhlIFNQVUQgQk9GIGFuZCBieSB0 aGUgdmFyaW91cyBpbnRlcnZpZXdlZXMgaW5kaWNhdGUgdGhhdCBhIG1ham9yaXR5IG9mIGVuZ2lu ZWVycyBhcmUgdHJ5aW5nIHRvIG1pdGlnYXRlIHRoZSBuZWdhdGl2ZSBlZmZlY3RzIG9mIG1pZGRs ZWJveGVzIG9uIGZyZWVkb20gb2Ygc3BlZWNoLCBidXQgdGhlaXIgYWJpbGl0eSB0byBhY3QgaXMg bGltaXRlZCBieSB0aGVpciBsYXJnZXIgY29tbWVyY2lhbCBjb250ZXh0IHRoYXQgaXMgZXhwYW5k aW5nIHRoZSB1c2Ugb2YgbWlkZGxlYm94ZXMuDQoNCg0KIyMjIERET1MgYXR0YWNrcw0KDQpBcmUg RGlzdHJpYnV0ZWQgRGVuaWFsIG9mIFNlcnZpY2UgKEREb1MpIGF0dGFja3MgYSBsZWdpdGltYXRl IGZvcm0gb2Ygb25saW5lIHByb3Rlc3QgcHJvdGVjdGVkIGJ5IHRoZSByaWdodCB0byBmcmVlZG9t IG9mIHNwZWVjaCBhbmQgYXNzb2NpYXRpb24/IENhbiB0aGV5IGJlIHNlZW4gYXMgdGhlIGVxdWl2 YWxlbnQgdG8gJ21pbGxpb24tKHdvKW1lbiBtYXJjaGVzJywgb3Igc2l0LWlucz8gT3IgYXJlIHRo ZXkgYSB0aHJlYXQgdG8gZnJlZWRvbSBvZiBleHByZXNzaW9uIGFuZCBhY2Nlc3MgdG8gaW5mb3Jt YXRpb24sIGJ5IGxpbWl0aW5nIGFjY2VzcyB0byB3ZWJzaXRlcyBhbmQgaW4gY2VydGFpbiBjYXNl cyB0aGUgZnJlZWRvbSBvZiBzcGVlY2ggb2Ygb3RoZXJzPyBUaGVzZSBxdWVzdGlvbnMgYXJlIGNy dWNpYWwgaW4gb3VyIGRheSBhbmQgYWdlLCB3aGVyZSBwb2xpdGljYWwgZGViYXRlcywgY2l2aWwg ZGlzb2JlZGllbmNlIGFuZCBvdGhlciBmb3JtcyBvZiBhY3RpdmlzbSBhcmUgaW5jcmVhc2luZ2x5 IG1vdmluZyBvbmxpbmUuDQoNCk1hbnkgaW5kaXZpZHVhbHMsIG5vdCBleGNsdWRpbmcgSUVURiBl bmdpbmVlcnMsIGhhdmUgYXJndWVkIHRoYXQgRERvUyBhdHRhY2tzIGFyZSBmdW5kYW1lbnRhbGx5 IGFnYWluc3QgZnJlZWRvbSBvZiBzcGVlY2guIFRlY2huaWNhbGx5IEREb1MgYXR0YWNrcyBhcmUg d2hlbiBvbmUgb3IgbXVsdGlwbGUgaG9zdCBvdmVybG9hZCB0aGUgYmFuZHdpZHRoIG9yIHJlc291 cmNlcyBvZiBhbm90aGVyIGhvc3QgYnkgZmxvb2RpbmcgaXQgd2l0aCB0cmFmZmljLCBjYXVzaW5n IGl0IHRvIHRlbXBvcmFyaWx5IHN0b3AgYmVpbmcgYXZhaWxhYmxlIHRvIHVzZXJzLiBPbmUgY2Fu IHJvdWdobHkgZGlmZmVyZW50aWF0ZSB0aHJlZSB0eXBlcyBvZiBERG9TIGF0dGFja3M6IFZvbHVt ZSBCYXNlZCBBdHRhY2tlZCAoVGhpcyBhdHRhY2sgYWltcyB0byBtYWtlIHRoZSBob3N0IHVucmVh Y2hhYmxlIGJ5IHVzaW5nIHVwIGFsbCBpdCdzIGJhbmR3aXRoLCBvZnRlbiB1c2VkIHRlY2huaXF1 ZXMgYXJlOiBVRFAgZmxvb2RzIGFuZCBJQ01QIGZsb29kcyksIFByb3RvY29sIEF0dGFja3MgKFRo aXMgYXR0YWNrcyBhaW1zIHRvIHVzZSB1cCBhY3R1YWwgc2VydmVyIHJlc291cmNlcywgb2Z0ZW4g dXNlZCB0ZWNobmlxdWVzIGFyZSBTWU4gZmxvb2RzLCBmcmFnbWVudGVkIHBhY2tldCBhdHRhY2tz LCBhbmQgUGluZyBvZiBEZWF0aCB7e1JGQzQ5NDl9fSkgYW5kIEFwcGxpY2F0aW9uIExheWVyIEF0 dGFja3MgKHRoaXMgYXR0YWNrIGFpbXMgdG8gYnJpbmcgZG93biBhIHNlcnZlciwgc3VjaCBhcyB0 aGUgd2Vic2VydmVyKS4NCg0KSW4gdGhlaXIgMjAxMCByZXBvcnQgWnVja2VybWFuIGV0IGFsIGFy Z3VlIHRoYXQgRERvUyBhdHRhY2tzIGFyZSBhIGJhZCB0aGluZyBiZWNhdXNlIHRoZXkgYXJlIGlu Y3JlYXNpbmdseSB1c2VkIGJ5IGdvdmVybm1lbnRzIHRvIGF0dGFjayBhbmQgc2lsZW5jZSBjcml0 aWNzLiBUaGVpciByZXNlYXJjaCBkZW1vbnN0cmF0ZXMgdGhhdCBpbiBtYW55IGNvdW50cmllcyBp bmRlcGVuZGVudCBtZWRpYSBvdXRsZXRzIGFuZCBodW1hbiByaWdodHMgb3JnYW5pemF0aW9ucyBh cmUgdGhlIHZpY3RpbSBvZiBERG9TIGF0dGFja3MsIHdoaWNoIGFyZSBkaXJlY3RseSBvciBpbmRp cmVjdGx5IGxpbmtlZCB0byB0aGVpciBnb3Zlcm5tZW50cy4gVGhlc2UgdHlwZXMgb2YgYXR0YWNr cyBhcmUgcGFydGljdWxhcmx5IGNvbXBsaWNhdGVkIGJlY2F1c2UgYXR0cmlidXRpb24gaXMgZGlm ZmljdWx0LCBjcmVhdGluZyBhIHNpdHVhdGlvbiBpbiB3aGljaCBnb3Zlcm5tZW50cyBjYW4gZWZm ZWN0aXZlbHkgY2Vuc29yIGNvbnRlbnQsIHdoaWxlIGJlaW5nIGFibGUgdG8gZGVueSBpbnZvbHZl bWVudCBpbiB0aGUgYXR0YWNrcyB7e1p1Y2tlcm1hbn19LiBERG9TIGF0dGFja3MgY2FuIHRodXMg c3RpZmxlIGZyZWVkb20gb2YgZXhwcmVzc2lvbiwgY29tcGxpY2F0ZSB0aGUgYWJpbGl0eSBvZiBp bmRlcGVuZGVudCBtZWRpYSBhbmQgaHVtYW4gcmlnaHRzIG9yZ2FuaXphdGlvbnMgdG8gZXhlcmNp c2UgdGhlaXIgcmlnaHQgdG8gKG9ubGluZSkgZnJlZWRvbSBvZiBhc3NvY2lhdGlvbiwgd2hpbGUg ZmFjaWxpdGF0aW5nIHRoZSBhYmlsaXR5IG9mIGdvdmVybm1lbnRzIHRvIGNlbnNvciBkaXNzZW50 LiAgV2hlbiBpdCBjb21lcyB0byBjb21wYXJpbmcgRERvUyBhdHRhY2tzIHRvIHByb3Rlc3RzIGlu IG9mZmxpbmUgbGlmZSwgaXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQgb25seSBhIGxp bWl0ZWQgbnVtYmVyIG9mIEREb1MgYXR0YWNrcyBpbnZvbHZlZCBzb2xlbHkgd2lsbGluZyBwYXJ0 aWNpcGFudHMuIEluIG1vc3QgY2FzZXMsIHRoZSBjbGllbnRzIGFyZSBoYWNrZWQgY29tcHV0ZXJz IG9mIHVucmVsYXRlZCBwYXJ0aWVzIHRoYXQgaGF2ZSBub3QgY29uc2VudGVkIHRvIGJlaW5nIHBh cnQgb2YgYSBERG9TIChmb3IgZXhjZXB0aW9ucyBzZWUgT3BlcmF0aW9uIEFiaWJpbCB7e0FiaWJp bH19IG9yIHRoZSBJcmFuaWFuIEdyZWVuIE1vdmVtZW50IEREb1Mge3tHcmVlbk1vdmVtZW50fX0p Lg0KDQpJbiBhZGRpdGlvbiwgRERvUyBhdHRhY2tzIGFyZSBpbmNyZWFzaW5nbHkgdXNlZCBhcyBh biBleHRvcnRpb24gdGFjdGljLCB3aXRoIGNyaW1pbmFscyBmbG9vZGluZyBhIHdlYnNpdGUgJiN4 MjAxMzsgcmVuZGVyaW5nIGl0IGluYWNjZXNzaWJsZSAmI3gyMDEzOyB1bnRpbCB0aGUgb3duZXIg cGF5cyB0aGVtIGEgY2VydGFpbiBhbW91bnQgb2YgbW9uZXkgdG8gc3RvcCB0aGUgYXR0YWNrLiBU aGUgY29zdHMgb2YgbWl0aWdhdGluZyBzdWNoIGF0dGFja3MsIGVpdGhlciBieSBpbXByb3Zpbmcg c2VjdXJpdHkgdG8gcHJldmVudCB0aGVtIG9yIHBheWluZyBvZmYgdGhlIGF0dGFja2VycywgZW5k cyB1cCBiZWluZyBwYWlkIGJ5IHRoZSBjb25zdW1lci4NCg0KQWxsIG9mIHRoZXNlIGlzc3VlcyBz ZWVtIHRvIHN1Z2dlc3QgdGhhdCB0aGUgSUVURiBzaG91bGQgdHJ5IHRvIGVuc3VyZSB0aGF0IHRo ZWlyIHByb3RvY29scyBjYW5ub3QgYmUgdXNlZCBmb3IgRERvUyBhdHRhY2tzLiBEZWNyZWFzaW5n IHRoZSBudW1iZXIgb2YgdnVsbmVyYWJpbGl0aWVzIGluIHRoZSBuZXR3b3JrIHN0YWNrcyBvZiBy b3V0ZXJzIG9yIGNvbXB1dGVycywgcmVkdWNpbmcgZmxhd3MgaW4gSFRUUFMgaW1wbGVtZW50YXRp b25zLCBhbmQgZGVwcmVjaWF0aW5nIG5vbi1zZWN1cmUgSFRUUCBwcm90b2NvbHMgY291bGQgYWRk cmVzcyB0aGlzIGlzc3VlLiBUaGUgSUVURiBjYW4gY2xlYXJseSBwbGF5IGEgcm9sZSBpbiBicmlu Z2luZyBhYm91dCBzb21lIG9mIHRoZXNlIGNoYW5nZXMsIGFuZCBoYXMgaW5kaWNhdGVkIGluIHt7 UkZDNzI1OH19IGl0cyBjb21taXRtZW50IHRvIG1pdGlnYXRpbmcgJ3BlcnZhc2l2ZSBtb25pdG9y aW5nICguLi4pIGluIHRoZSBkZXNpZ24gb2YgSUVURiBwcm90b2NvbHMsIHdoZXJlIHBvc3NpYmxl LicgVGhpcyBtZWFucyB0aGUgdXNlIG9mIGVuY3J5cHRpb24gc2hvdWxkIGJlY29tZSBzdGFuZGFy ZC4gRWZmZWN0aXZlbHksIGZvciB0aGUgd2ViIHRoaXMgbWVhbnMgc3RhbmRhcmRpemVkIHVzZSBv ZiBIVFRQUy4gVGhlIElFVEYgY291bGQgcmVkaXJlY3QgaXRzIHdvcmsgc3VjaCB0aGF0IEhUUFBT IGJlY29tZXMgcGFydC1hbmQtcGFyY2VsIG9mIGl0cyBzdGFuZGFyZHMuIEhvd2V2ZXIsIG5leHQg dG8gdGhlIHZhcmlvdXMgdGVjaG5pY2FsIHRyYWRlLW9mZnMgdGhhdCB0aGlzIG1pZ2h0IGxlYWQg dG8gaXQgaXMgaW1wb3J0YW50IHRvIGNvbnNpZGVyIHRoYXQgRERvUyBhdHRhY2tzIGFyZSBzb21l dGltZXMgc2VlbiBhcyBhIG1ldGhvZCBmb3IgZXhlcmNpc2luZyBmcmVlZG9tIG9mIHNwZWVjaC4N Cg0KRERvUyBhbHRob3VnaCBkaXNydXB0aXZlLCBhbmQgc2lsZW5jaW5nIGF0IHRpbWVzLCBjYW4g YWxzbyBlbmFibGUgYXMgcHJvdGVzdCBhbmQgc3BlZWNoLiBPciBhcyBTYXV0ZXIge3tTYXV0ZXJ9 fSBhcmd1ZXM6ICd0aG91Z2ggRERvUyBhcyBhIHRhY3RpYyBpcyBzdGlsbCByZWxhdGl2ZWx5IG5v dmVsLCBpdCBmaXRzIHdpdGhpbiBhIGNlbnR1cmllcy0gbG9uZyB0cmFkaXRpb24gb2YgYnJlYWtp bmcgbGF3cyBhbmQgZGlzcnVwdGluZyBidXNpbmVzcyBhcyB1c3VhbCB0byBtYWtlIGEgcG9saXRp Y2FsIHBvaW50LiBUaGVzZSBhY3Rpb25zIGFyZW4ndCBzaW1wbHkgZGlzcnVwdGlvbiBmb3IgZGlz cnVwdGlvbidzIHNha2UuIFJhdGhlciB0aGV5IHNlcnZlIHRvIGhlbHAgdGhlIGFjdGl2aXN0IG9y IGRpc3NlbnRlciB0byBkaXJlY3QgdGhlIGF0dGVudGlvbiBvZiB0aGUgcHVibGljIHRocm91Z2gg dGhlIGludGVycG9sYXRpb24gb2YgZGlmZmVyZW5jZSBpbnRvIHJvdXRpbmUuJyAoMzAtMzEpLiBB biBvZnRlbiBoZWFyZCBhcmd1bWVudCBhZ2FpbnN0IEREb1MgYXR0YWNrcyBpcyB0aGF0IHlvdSBj YW5ub3QgY29uc3RydWUgaXQgYXMgYSBtZWFucyB0byBleGVyY2lzZSB5b3VyIHJpZ2h0IHRvIGZy ZWVkb20gb2Ygc3BlZWNoLCB3aGVuIHRoZSBtZWFucyB1c2VkIGVmZmVjdGl2ZWx5IGltcGVkZSB0 aGUgcmlnaHQgb2YgdGhlIHBhcnR5IG9uIHRoZSByZWNlaXZpbmcgZW5kIG9mIHRoZSBhdHRhY2sg dG8gZXhlcmNpc2UgdGhhdCBzYW1lIHJpZ2h0LiBUaGUgcHJvYmxlbSB3aXRoIHRoaXMgbGluZSBv ZiBhcmd1bWVudGF0aW9uIGlzIHRoYXQgaXQgY29udmVuaWVudGx5IGlnbm9yZXMgdGhlIGZhY3Qg dGhhdCBvbmxpbmUgRERvUyBhdHRhY2tzIGFyZSBvZnRlbiBvbmUgb2YgdGhlIGZldyBlZmZlY3Rp dmUgd2F5cyBmb3IgYWN0aXZpc3RzIHRvIGdhaW4gdGhlIGF0dGVudGlvbiBvZiB0aGUgbWVkaWEs IHRoZSBnb3Zlcm5tZW50IG9yIG90aGVyIHBhcnRpZXMgb2YgaW50ZXJlc3QuIFNpbXBseSBwdXR0 aW5nIHVwIGEgd2Vic2l0ZSBmb3IgYSBjYXVzZSB3b24ndCBnYXJuZXIgdGhlIHNhbWUgYW1vdW50 IG9mIGF0dGVudGlvbiBhcyBkaXJlY3RseSBjb25mcm9udGluZyB0aGUgaXNzdWUgdmlhIHRoZSB3 ZWJzaXRlIG9mIHRoZSBpbmRpdmlkdWFsIG9yIG9yZ2FuaXphdGlvbiBhdCB0aGUgaGVhcnQgb2Yg dGhlIGlzc3VlLiBUaGUgYWJpbGl0eSBvZiBhY3RpdmlzdHMgdG8gZG8gc28gc2hvdWxkIGJlIHBy b3RlY3RlZCwgZXNwZWNpYWxseSBjb25zaWRlcmluZyB0aGUgZmFjdCB0aGF0IGFzIFNhdXRlciAo MjAxNDo0KSBleHBsYWluczogJ0NvbGxlY3RpdmVseSwgd2UgaGF2ZSBhbGxvd2VkIHRoZSBjb25z dHJ1Y3Rpb24gb2YgYW4gZW50aXJlIHB1YmxpYyBzcGhlcmUsIHRoZSBJbnRlcm5ldCwgd2hpY2gg YnkgYWNjaWRlbnRzIG9mIGV2b2x1dGlvbiBhbmQgZGVzaWduLCBoYXMgbm9uZSBvZiB0aGUgaW5o ZXJlbnQgZnJlZSBzcGVlY2ggZ3VhcmFudGVlcyB3ZSBoYXZlIGNvbWUgdG8gZXhwZWN0LiBEaXNz ZW50aW5nIHZvaWNlcyBhcmUgcHVzaGVkIG91dCBvZiB0aGUgcGF0aHMgb2YgcG90ZW50aWFsIGF1 ZGllbmNlcywgZWZmZWN0aXZlbHkgcmVtb3ZpbmcgdGhlbSBmcm9tIHRoZSBwdWJsaWMgZGlzY291 cnNlLiBUaGVyZSBpcyBub3doZXJlIG9ubGluZSBmb3IgYW4gYWN0aXZpc3QgdG8gc3RhbmQgd2l0 aCBoZXIgZnJpZW5kcyBhbmQgaGVyIHNpZ24uIFNoZSBtaWdodCBzZXQgdXAgYSBkZWRpY2F0ZWQg YmxvZy0tLXdoaWNoIG1heSBvciBtYXkgbm90IGV2ZXIgYmUgcmVhZC0tLWJ1dCBpdCBpcyBtdWNo IGhhcmRlciBmb3IgaGVyIHRvIHN0YW5kIGNvbGxlY3RpdmVseSB3aXRoIG90aGVycyBhZ2FpbnN0 IGEgY29ycG9yYXRlIGdpYW50IGluIHRoZSBvbmxpbmUgc3BhY2UuJyBBbHRob3VnaCB0aGUgSW50 ZXJuZXQgaXMgb2Z0ZW4gY29tcGFyZWQgdG8gcHVibGljIHNwYWNlLCBpdCBpcyBub3QuIFJhdGhl ciB0aGUgb3Bwb3NpdGUuIFRoZSBJbnRlcm5ldCBpcyBhbG1vc3QgZW50aXJlbHkgb3duZWQgYnkg cHJpdmF0ZSBlbnRpdGllcy4gQW5kIHRoZSBJRVRGIHBsYXlzIGEgY3J1Y2lhbCByb2xlIGluIGRl dmVsb3BpbmcgdGhpcyBwcml2YXRpemVkIGNvbW1lcmNpYWxpemVkIEludGVybmV0Lg0KDQpGcm9t IGEgbGVnYWwgYW5kIHBvbGl0aWNhbCBwZXJzcGVjdGl2ZSwgdGhlIElFVEYgZG9lcyBub3QgaGF2 ZSB0aGUgbGVnaXRpbWFjeSB0byBkZXRlcm1pbmUgd2hlbiBhIEREb1MgaXMgbGVnaXRpbWF0ZSAo aW4gbGVnYWwgb3IgcG9saXRpY2FsIHRlcm1zKS4gSXQgZG9lcyBub3QgaGF2ZSB0aGUgY2FwYWJp bGl0eSB0byBtYWtlIHRoaXMganVkZ21lbnQgYXMgYSBtYXR0ZXIgb2YgcHVibGljIHBvbGljeSBh bmQgc3Vic2VxdWVudGx5IHRyYW5zbGF0ZSBpdCB0byBjb2RlLiBOb3Igc2hvdWxkIHRoZSBJRVRG IHRyeSB0byBkbyBzby4gIEZyb20gYSB0ZWNobmljYWwgcGVyc3BlY3RpdmUsIHRoZSBkaWZmZXJl bmNlIGJldHdlZW4gYSAnbGVnaXRpbWF0ZScgYW5kICdpbGxlZ2l0aW1hdGUnIEREb1MgYXR0YWNr IGlzIG1lYW5pbmdsZXNzIGJlY2F1c2UgaXQgd291bGQgYmUgZXh0cmVtZWx5IGRpZmZpY3VsdCBm b3IgdGhlIElFVEYgdG8gZW5naW5lZXIgYSB3YXkgdG8gZGV0ZWN0IHRoYXQgZGlmZmVyZW5jZS4g SW4gYWRkaXRpb24sIHRoZXJlIGlzIGEgbmVlZCBmb3IgdGhlIElFVEYgdG8gYmUgY29uc2lzdGVu dCBpbiB0aGUgZmFjZSBvZiBhdHRhY2tzIChhbiBhdHRhY2sgaXMgYW4gYXR0YWNrIGlzIGFuIGF0 dGFjaykgdG8gbWFpbnRhaW4gdGhlIHZpYWJpbGl0eSBvZiB0aGUgbmV0d29yay4gQXJndWluZyB0 aGF0IHNvbWUgRERvUyBhdHRhY2tzIHNob3VsZCBiZSBhbGxvd2VkLCBiYXNlZCBvbiB0aGUgbW90 aXZhdGlvbiBvZiB0aGUgYXR0YWNrZXJzIGNvbXBsaWNhdGVzIHRoZSB3b3JrIG9mIHRoZSBJRVRG LiBCZWNhdXNlIGl0IGFwcHJvYWNoZXMgUE0gcmVnYXJkbGVzcyBvZiB0aGUgbW90aXZhdGlvbiBv ZiB0aGUgYXR0YWNrZXJzIChzZWUge3tSRkM3MjU4fX0pIGZvciByZWFzb25pbmcpLCB0YWtpbmcg dGhlIG1vdGl2YXRpb24gb2YgdGhlIGF0dGFja2VycyBpbnRvIGFjY291bnQgZm9yIEREb1Mgd291 bGQgaW5kaXJlY3RseSB1bmRlcm1pbmUgdGhlIGFiaWxpdHkgb2YgdGhlIElFVEYgdG8gcHJvdGVj dCB0aGUgcmlnaHQgdG8gcHJpdmFjeSBiZWNhdXNlIGl0IGludHJvZHVjZXMgYW4gZWxlbWVudCBv ZiBpbmNvbnNpc3RlbmN5IGludG8gaG93IHRoZSBJRVRGIGRlYWxzIHdpdGggYXR0YWNrcy4NCg0K RGF2aWQgQ2xhcmsgcmVjZW50bHkgcHVibGlzaGVkIGEgcGFwZXIgd2FybmluZyB0aGF0IHRoZSBm dXR1cmUgb2YgdGhlIEludGVybmV0IGlzIGluIGRhbmdlci4gSGUgYXJndWVzIHRoYXQgdGhlIHBy aXZhdGUgc2VjdG9yIGNvbnRyb2wgb3ZlciB0aGUgSW50ZXJuZXQgaXMgdG9vIHN0cm9uZywgbGlt aXRpbmcgdGhlIG15cmlhZCBvZiB3YXlzIGluIHdoaWNoIGl0IGNhbiBiZSB1c2VkIHt7RGFlZGFs dXN9fSwgaW5jbHVkaW5nIGZvciBmcmVlZG9tIG9mIHNwZWVjaC4gQnV0IGp1c3QgYmVjYXVzZSBm cmVlZG9tIG9mIHNwZWVjaCwgZGlzc2VudCwgYW5kIHByb3Rlc3QgYXJlIGh1bWFuIHJpZ2h0cywg YW5kIEREb1MgaXMgYSBwb3RlbnRpYWwgZXhwcmVzc2lvbiBvZiB0aG9zZSByaWdodHMsIGRvZXNu J3QgbWVhbiB0aGF0IEREb1MgaW4gYW5kIG9mIGl0c2VsZiBpcyBhIHJpZ2h0LiAgVG8gd2lkZW4g dGhlIGFuYWxvZ3ksIGp1c3QgYmVjYXVzZSB0aGUgSW50ZXJuZXQgaXMgYSBtZWRpdW0gdGhyb3Vn aCB3aGljaCB0aGUgcmlnaHQgdG8gZnJlZWRvbSBvZiBleHByZXNzaW9uIGNhbiBiZSBleGVyY2lz ZWQgZG9lcyBub3QgbWFrZSBhY2Nlc3MgdG8gdGhlIEludGVybmV0IG9yIHNwZWNpZmljIElDVHMg b3IgTkNUcyBhIGh1bWFuIHJpZ2h0LiBVc2VzIG9mIEREb1MgbWlnaHQgb3IgbWlnaHQgbm90IGJl IGxlZ2l0aW1hdGUgZm9yIHBvbGl0aWNhbCByZWFzb25zLCBidXQgdGhlIElFVEYgaGFzIG5vIG1l YW5zIG9yIG1ldGhvZHMgdG8gYXNzZXNzIHRoaXMsIGFuZCBpbiBnZW5lcmFsIGVuYWJsaW5nIERE b1Mgd291bGQgbWVhbiBhIGRldGVyaW9yYXRpb24gb2YgdGhlIG5ldHdvcmsgYW5kIHRodXMgZnJl ZWRvbSBvZiBleHByZXNzaW9uLg0KDQpJbiBzdW1tYXRpb24sIHRoZSBJRVRGIGNhbm5vdCBiZSBl eHBlY3RlZCB0byB0YWtlIGEgbW9yYWwgc3RhbmNlIG9uIEREb1MgYXR0YWNrcywgb3IgY3JlYXRl IHByb3RvY29scyB0byBlbmFibGUgc29tZSBhdHRhY2tzIGFuZCBpbmhpYml0IG90aGVycy4gQnV0 IHdoYXQgaXQgY2FuIGRvIGlzIGNyaXRpY2FsbHkgcmVmbGVjdCBvbiBpdHMgcm9sZSBpbiBjcmVh dGluZyBhIGNvbW1lcmNpYWxpemVkIEludGVybmV0IHdpdGhvdXQgYSBkZWZhY3RvIHB1YmxpYyBz cGFjZSBvciBpbmhlcmVudCBwcm90ZWN0aW9ucyBmb3IgZnJlZWRvbSBvZiBzcGVlY2guDQoNCg0K TW9kZWwgZm9yIGRldmVsb3BpbmcgaHVtYW4gcmlnaHRzIHByb3RvY29sIGNvbnNpZGVyYXRpb25z DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCg0KSGF2aW5nIGVzdGFibGlzaGVkIGhvdyBodW1hbiByaWdodHMgcmVsYXRlIHRvIHN0YW5k YXJkcyBhbmQgcHJvdG9jb2xzLCBhIGNvbW1vbiB2b2NhYnVsYXJ5IG9mIHRlY2huaWNhbCBjb25j ZXB0cyB0aGF0IGltcGFjdCBodW1hbiByaWdodHMgYW5kIGhvdyB0aGVzZSB0ZWNobmljYWwgY29u Y2VwdCBjYW4gYmUgY29tYmluZWQgdG8gZW5zdXJlIHRoYXQgdGhlIEludGVybmV0IHJlbWFpbnMg YW4gZW5hYmxpbmcgZW52aXJvbm1lbnQgZm9yIGh1bWFuIHJpZ2h0cyBtZWFucyB0aGUgY29udG91 cnMgb2YgYSBtb2RlbCBmb3IgZGV2ZWxvcGluZyBodW1hbiByaWdodHMgcHJvdG9jb2wgY29uc2lk ZXJhdGlvbnMgaGFzIHRha2VuIHNoYXBlLiBUaGlzIHN1YnNlY3Rpb24gcHJvdmlkZXMgdGhlIGxh c3Qgc3RlcCBieSBkZXRhaWxpbmcgaG93IHRoZSB0ZWNobmljYWwgY29uY2VwdHMgaWRlbnRpZmll ZCBhYm92ZSByZWxhdGUgdG8gaHVtYW4gcmlnaHRzLCBhbmQgd2hhdCBxdWVzdGlvbnMgZW5naW5l ZXJzIHNob3VsZCBhc2sgdGhlbXNlbHZlcyB3aGVuIGRldmVsb3Bpbmcgb3IgaW1wcm92aW5nIHBy b3RvY29scy4gSW4gc2hvcnQsIGl0IHByZXNlbnRzIGEgc2V0IG9mIGh1bWFuIHJpZ2h0cyBwcm90 b2NvbCBjb25zaWRlcmF0aW9ucy4NCg0KDQojIyMgSHVtYW4gcmlnaHRzIHRocmVhdHMNCkh1bWFu IHJpZ2h0cyB0aHJlYXRzIG9uIHRoZSBJbnRlcm5ldCBjb21lIGluIGEgbXlyaWFkIG9mIGZvcm1z LiBQcm90b2NvbHMgYW5kIHN0YW5kYXJkcyBjYW4gaGFybSBvciBlbmFibGUgdGhlIHJpZ2h0IHRv IGZyZWVkb20gb2YgZXhwcmVzc2lvbiwgcmlnaHQgdG8gbm9uLWRpc2NyaW1pbmF0aW9uLCByaWdo dCB0byBlcXVhbCBwcm90ZWN0aW9uLCByaWdodCB0byBwYXJ0aWNpcGF0ZSBpbiBjdWx0dXJhbCBs aWZlLCBhcnRzIGFuZCBzY2llbmNlLCByaWdodCB0byBmcmVlZG9tIG9mIGFzc2VtYmx5IGFuZCBh c3NvY2lhdGlvbiwgYW5kIHRoZSByaWdodCB0byBzZWN1cml0eS4gQW4gZW5kLXVzZXIgd2hvIGlz IGRlbmllZCBhY2Nlc3MgdG8gY2VydGFpbiBzZXJ2aWNlcywgZGF0YSBvciB3ZWJzaXRlcyBtYXkg YmUgdW5hYmxlIHRvIGRpc2Nsb3NlIHZpdGFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBtYWxwcmFj dGljZXMgb2YgYSBnb3Zlcm5tZW50IG9yIG90aGVyIGF1dGhvcml0eS4gQSBwZXJzb24gd2hvc2Ug Y29tbXVuaWNhdGlvbnMgYXJlIG1vbml0b3JlZCBtYXkgYmUgcHJldmVudGVkIGZyb20gZXhlcmNp c2luZyB0aGVpciByaWdodCB0byBmcmVlZG9tIG9mIGFzc29jaWF0aW9uLiBJbiBhIHdvcnN0LWNh c2Ugc2NlbmFyaW8sIHByb3RvY29scyB0aGF0IGxlYWsgaW5mb3JtYXRpb24gY2FuIGxlYWQgdG8g cGh5c2ljYWwgZGFuZ2VyLiBBIHJlYWxpc3RpYyBleGFtcGxlIHRvIGNvbnNpZGVyIGlzIHdoZW4g b3Bwb3NpdGlvbiBsZWFkZXJzIGluIHRvdGFsaXRhcmlhbiByZWdpbWVzIGFyZSBzdWJqZWN0ZWQg dG8gdG9ydHVyZSBvbiB0aGUgYmFzaXMgb2YgaW5mb3JtYXRpb24gZ2F0aGVyZWQgYnkgdGhlIHJl Z2ltZSB0aHJvdWdoIGluZm9ybWF0aW9uIGxlYWthZ2UgaW4gcHJvdG9jb2xzLg0KDQpUaGlzIHNl Y3Rpb25zIGRldGFpbHMgc2V2ZXJhbCAnY29tbW9uJyB0aHJlYXRzIHRvIGh1bWFuIHJpZ2h0cywg aW5kaWNhdGluZyBob3cgZWFjaCBvZiB0aGVzZSBjYW4gbGVhZCB0byBodW1hbiByaWdodHMgdmlv bGF0aW9ucy9oYXJtcyBhbmQgcHJlc2VudCBzZXZlcmFsIGV4YW1wbGVzIG9mIGhvdyB0aGVzZSB0 aHJlYXRzIHRvIGh1bWFuIHJpZ2h0cyBtYXRlcmlhbGl6ZSBvbiB0aGUgSW50ZXJuZXQuIFRoaXMg dGhyZWF0IG1vZGVsaW5nIGlzIGluc3BpcmVkIGJ5IHt7UkZDNjk3M319IFByaXZhY3kgQ29uc2lk ZXJhdGlvbnMgZm9yIEludGVybmV0IFByb3RvY29scywgd2hpY2ggaXMgYmFzZWQgb24gdGhlIHNl Y3VyaXR5IHRocmVhdCBhbmFseXNpcy4gVGhpcyBtZXRob2QgaXMgYnkgbm8gbWVhbnMgYSBwZXJm ZWN0IHNvbHV0aW9uIGZvciBhc3Nlc3NpbmcgaHVtYW4gcmlnaHRzIHJpc2tzIGluIEludGVybmV0 IHByb3RvY29scyBhbmQgc3lzdGVtczsgaXQgaXMgaG93ZXZlciB0aGUgYmVzdCBhcHByb2FjaCBj dXJyZW50bHkgYXZhaWxhYmxlLiBDZXJ0YWluIGh1bWFuIHJpZ2h0cyB0aHJlYXRzIGFyZSBpbmRp cmVjdGx5IGNvbnNpZGVyZWQgaW4gSW50ZXJuZXQgcHJvdG9jb2xzIGFzIHBhcnQgb2YgdGhlIHN0 YW5kYXJkIHByaXZhY3kgYW5kIHNlY3VyaXR5IGNvbnNpZGVyYXRpb25zIHt7UkZDMzU1Mn19LiBP dGhlcnMgc3VnZ2VzdGlvbnMgYXJlIHRhaWxvcmVkIHNwZWNpZmljYWxseSB0byBodW1hbiByaWdo dHMsIGFuZCByZXByZXNlbnRzIGNvbnNpZGVyYXRpb25zIG5vdCBjdXJyZW50bHkgY29uc2lkZXJl ZCBpbiBvdGhlciBSRkNzLg0KDQpNYW55IHRocmVhdHMsIGVuYWJsZXJzIGFuZCByaXNrcyBhcmUg bGlua2VkIHRvIGRpZmZlcmVudCByaWdodHMuIFRoaXMgaXMgbm90IHVuc3VycHJpc2luZyBpZiBv bmUgdGFrZXMgaW50byBhY2NvdW50IHRoYXQgaHVtYW4gcmlnaHRzIGFyZSBpbnRlcnJlbGF0ZWQs IGludGVyZGVwZW5kZW50IGFuZCB1bml2ZXJzYWwuIEhlcmUgaG93ZXZlciB3ZSdyZSBub3QgZGlz Y3Vzc2luZyBhbGwgaHVtYW4gcmlnaHRzIGJlY2F1c2Ugbm90IGFsbCBodW1hbiByaWdodHMgYXJl IHJlbGV2YW50IHRvIElDVHMgaW4gZ2VuZXJhbCBhbmQgcHJvdG9jb2xzIGFuZCBzdGFuZGFyZHMg aW4gcGFydGljdWxhciB7e0JsZXNzfX0uIFRoaXMgaXMgYnkgbm8gbWVhbnMgYW4gYXR0ZW1wdCB0 byBjaGVycnkgcGlja3MgcmlnaHRzLCBpZiBvdGhlciByaWdodHMgc2VlbSByZWxldmFudCwgcGxl YXNlIGNvbnRhY3QgdGhlIGF1dGhvcnMgYW5kL29yIHRoZSBocnBjIG1haWxpbmdsaXN0Lg0KDQoj IyMgR3VpZGVsaW5lcyBmb3IgaHVtYW4gcmlnaHRzIGNvbnNpZGVyYXRpb25zDQpUaGlzIHNlY3Rp b24gcHJvdmlkZXMgZ3VpZGFuY2UgZm9yIGRvY3VtZW50IGF1dGhvcnMgaW4gdGhlIGZvcm0gb2Yg YSBxdWVzdGlvbm5haXJlIGFib3V0IHByb3RvY29scyBiZWluZyBkZXNpZ25lZC4gVGhlIHF1ZXN0 aW9ubmFpcmUgbWF5IGJlIHVzZWZ1bCBhdCBhbnkgcG9pbnQgaW4gdGhlIGRlc2lnbiBwcm9jZXNz LCBwYXJ0aWN1bGFybHkgYWZ0ZXIgZG9jdW1lbnQgYXV0aG9ycyBoYXZlIGRldmVsb3BlZCBhIGhp Z2gtbGV2ZWwgcHJvdG9jb2wgbW9kZWwgYXMgZGVzY3JpYmVkIGluIHt7UkZDNDEwMX19Lg0KDQpU aGVyZSBzaG91bGQgYmUgc29tZSBkaXNjdXNzaW9uIG9mIHBvdGVudGlhbCBodW1hbiByaWdodHMg cmlza3MgYXJpc2luZyBmcm9tIHBvdGVudGlhbCBtaXNhcHBsaWNhdGlvbnMgb2YgdGhlIHByb3Rv Y29sIG9yIHRlY2hub2xvZ3kgZGVzY3JpYmVkIGluIHRoZSBSRkMuVGhpcyBtaWdodCBiZSBjb3Vw bGVkIHdpdGggYW4gQXBwbGljYWJpbGl0eSBTdGF0ZW1lbnQgZm9yIHRoYXQgUkZDLg0KDQpOb3Rl IHRoYXQgdGhlIGd1aWRhbmNlIHByb3ZpZGVkIGluIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCByZWNv bW1lbmQgc3BlY2lmaWMgcHJhY3RpY2VzLiBUaGUgcmFuZ2Ugb2YgcHJvdG9jb2xzIGRldmVsb3Bl ZCBpbiB0aGUgSUVURiBpcyB0b28gYnJvYWQgdG8gbWFrZSByZWNvbW1lbmRhdGlvbnMgYWJvdXQg cGFydGljdWxhciB1c2VzIG9mIGRhdGEgb3IgaG93IGh1bWFuIHJpZ2h0cyBtaWdodCBiZSBiYWxh bmNlZCBhZ2FpbnN0IG90aGVyIGRlc2lnbiBnb2Fscy4gIEhvd2V2ZXIsIGJ5IGNhcmVmdWxseSBj b25zaWRlcmluZyB0aGUgYW5zd2VycyB0byBlYWNoIHF1ZXN0aW9uIG1lbnRpb25lZCB1bmRlciA3 LjMsIGRvY3VtZW50IGF1dGhvcnMgc2hvdWxkIGJlIGFibGUgdG8gcHJvZHVjZSBhIGNvbXByZWhl bnNpdmUgYW5hbHlzaXMgdGhhdCBjYW4gc2VydmUgYXMgdGhlIGJhc2lzIGZvciBkaXNjdXNzaW9u IG9uIHdoZXRoZXIgdGhlIHByb3RvY29sIGFkZXF1YXRlbHkgcHJvdGVjdHMgYWdhaW5zdCBodW1h biByaWdodHMgdGhyZWF0cy4gIFRoaXMgZ3VpZGFuY2UgaXMgbWVhbnQgdG8gaGVscCB0aGUgdGhv dWdodCBwcm9jZXNzIG9mIGEgaHVtYW4gcmlnaHRzIGFuYWx5c2lzOyBpdCBkb2VzIG5vdCBwcm92 aWRlIHNwZWNpZmljIGRpcmVjdGlvbnMgZm9yIGhvdyB0byB3cml0ZSBhIGh1bWFuIHJpZ2h0cyBw cm90b2NvbCBjb25zaWRlcmF0aW9ucyBzZWN0aW9uIChmb2xsb3dpbmcgdGhlIGV4YW1wbGUgc2V0 IGluIHt7UkZDNjk3M319KS4NCg0KDQojIyMjIFRlY2huaWNhbCBjb25jZXB0cyBhcyB0aGV5IHJl bGF0ZSB0byBodW1hbiByaWdodHMNCg0KIyMjIyMgQ29ubmVjdGl2aXR5DQpRdWVzdGlvbihzKToN CkRvZXMgeW91ciBwcm90b2NvbCBhZGQgYXBwbGljYXRpb24tc3BlY2lmaWMgZnVuY3Rpb25zIHRv IGludGVybWVkaWFyeSBub2Rlcz8gQ291bGQgdGhpcyBmdW5jdGlvbmFsaXR5IGFsc28gYmUgYWRk ZWQgdG8gZW5kIG5vZGVzIGluc3RlYWQgb2YgaW50ZXJtZWRpYXJ5IG5vZGVzPw0KRXhwbGFuYXRp b246DQpUaGUgZW5kLXRvLWVuZCBwcmluY2lwbGUge3tTYWx0emVyfX0gd2hpY2ggYWltcyB0byBl eHRlbmQgY2hhcmFjdGVyaXN0aWNzIG9mIGEgcHJvdG9jb2wgb3Igc3lzdGVtIGFzIGZhciBhcyBw b3NzaWJsZSB3aXRoaW4gdGhlIHN5c3RlbSwgb3IgaW4gb3RoZXIgd29yZHMgJ3RoZSBpbnRlbGxp Z2VuY2UgaXMgZW5kIHRvIGVuZCByYXRoZXIgdGhhbiBoaWRkZW4gaW4gdGhlIG5ldHdvcmsnIHt7 UkZDMTk1OH19LiBNaWRkbGVib3hlcyAod2hpY2ggY2FuIGJlIENvbnRlbnQgRGVsaXZlcnkgTmV0 d29ya3MsIEZpcmV3YWxscywgTkFUcyBvciBvdGhlciBpbnRlcm1lZGlhcnkgbm9kZXMgdGhhdCBw cm92aWRlIG90aGVyICdzZXJ2aWNlcycgdGhhbiByb3V0aW5nKSwgYW5kIHRoZSBwcm90b2NvbHMg Z3VpZGluZyB0aGVtLCBpbmZsdWVuY2UgaW5kaXZpZHVhbHMnIGFiaWxpdHkgdG8gY29tbXVuaWNh dGUgb25saW5lIGZyZWVseSBhbmQgcHJpdmF0ZWx5LiBUaGUgcG90ZW50aWFsIGZvciBhYnVzZSBh bmQgaW50ZW50aW9uYWwgYW5kIHVuaW50ZW50aW9uYWwgY2Vuc29yaW5nIGFuZCBsaW1pdGluZyBw ZXJtaXNzaW9ubGVzcyBpbm5vdmF0aW9uLCBhbmQgdGh1cyB1bHRpbWF0ZWx5IHRoZSBpbXBhY3Qg b2YgbWlkZGxlYm94ZXMgb24gdGhlIEludGVybmV0IGFzIGEgcGxhY2Ugb2YgdW5maWx0ZXJlZCwg dW5tb25pdG9yZWQgZnJlZWRvbSBvZiBzcGVlY2gsIGlzIHJlYWwuDQoNCkV4YW1wbGU6DQpFbmQt dG8tZW5kIGluc3RhbnQgbWVzc2FnZSBlbmNyeXB0aW9uIHdvdWxkIGNvbmNlYWwgY29tbXVuaWNh dGlvbnMgZnJvbSBvbmUgdXNlcidzIGluc3RhbnQgbWVzc2FnaW5nIGFwcGxpY2F0aW9uIHRocm91 Z2ggYW55IGludGVybWVkaWF0ZSBkZXZpY2VzIGFuZCBzZXJ2ZXJzIGFsbCB0aGUgd2F5IHRvIHRo ZSByZWNpcGllbnQncyBpbnN0YW50IG1lc3NhZ2luZyBhcHBsaWNhdGlvbi4gSWYgdGhlIG1lc3Nh Z2Ugd2FzIGRlY3J5cHRlZCBhdCBhbnkgaW50ZXJtZWRpYXRlIHBvaW50LS1mb3IgZXhhbXBsZSBh dCBhIHNlcnZpY2UgcHJvdmlkZXItLXRoZW4gdGhlIHByb3BlcnR5IG9mIGVuZC10by1lbmQgZW5j cnlwdGlvbiB3b3VsZCBub3QgYmUgcHJlc2VudC4NCg0KSW1wYWN0czoNCg0KLSBSaWdodCB0byBm cmVlZG9tIG9mIGV4cHJlc3Npb24NCi0gUmlnaHQgdG8gZnJlZWRvbSBvZiBhc3NlbWJseSBhbmQg YXNzb2NpYXRpb24NCg0KIyMjIyMgUHJpdmFjeQ0KDQpRdWVzdGlvbihzKToNCkRpZCB5b3UgaGF2 ZSBhIGxvb2sgYXQgdGhlIEd1aWRlbGluZXMgaW4gdGhlIFByaXZhY3kgQ29uc2lkZXJhdGlvbnMg Zm9yIEludGVybmV0IFByb3RvY29scyB7e1JGQzY5NzN9fSBzZWN0aW9uIDc/IERvZXMgeW91ciBw cm90b2NvbCBpbiBhbnkgd2F5IGltcGFjdCB0aGUgY29uZmlkZW50aWFsaXR5IG9mIHByb3RvY29s IG1ldGFkYXRhPyBEb2VzIHlvdXIgcHJvdG9jb2wgY291bnRlcmluZyB0cmFmZmljIGFuYWx5c2lz LCBvciBkYXRhIG1pbmltaXphdGlvbj8NCg0KRXhwbGFuYXRpb246DQpQcml2YWN5IHJlZmVycyB0 byB0aGUgcmlnaHQgb2YgYW4gZW50aXR5IChub3JtYWxseSBhIHBlcnNvbiksIGFjdGluZyBpbiBp dHMgb3duIGJlaGFsZiwgdG8gZGV0ZXJtaW5lIHRoZSBkZWdyZWUgdG8gd2hpY2ggaXQgd2lsbCBp bnRlcmFjdCB3aXRoIGl0cyBlbnZpcm9ubWVudCwgaW5jbHVkaW5nIHRoZSBkZWdyZWUgdG8gd2hp Y2ggdGhlIGVudGl0eSBpcyB3aWxsaW5nIHRvIHNoYXJlIGl0cyBwZXJzb25hbCBpbmZvcm1hdGlv biB3aXRoIG90aGVycy4ge3tSRkM0OTQ5fX0uDQoNCkV4YW1wbGU6DQpTZWUge3tSRkM2OTczfX0N Cg0KSW1wYWN0czoNCg0KLSBSaWdodCB0byBmcmVlZG9tIG9mIGV4cHJlc3Npb24NCi0gUmlnaHQg dG8gbm9uLWRpc2NyaW1pbmF0aW9uDQoNCiMjIyMjIENvbnRlbnQgYWdub3N0aWNpc20NCg0KUXVl c3Rpb24ocyk6DQpJZiB5b3VyIHByb3RvY29sIGltcGFjdHMgcGFja2V0IGhhbmRsaW5nLCBkb2Vz IGl0IGxvb2sgYXQgdGhlIHBhY2tldCBjb250ZW50PyBJcyBpdCBtYWtpbmcgZGVjaXNpb25zIGJh c2VkIG9uIHRoZSBjb250ZW50IG9mIHRoZSBwYWNrZXQ/IElzIHRoZSBwcm90b2NvbCB0cmFuc3Bh cmVudCBhYm91dCBpdHMgZGVjaXNpb24/IERvZXMgeW91ciBwcm90b2NvbCBwcmlvcml0aXplIGNl cnRhaW4gY29udGVudCBvciBzZXJ2aWNlcyBvdmVyIG90aGVycz8NCg0KRXhwbGFuYXRpb246DQpD b250ZW50IGFnbm9zdGljaXNtIHJlZmVycyB0byB0aGUgbm90aW9uIHRoYXQgbmV0d29yayB0cmFm ZmljIGlzIHRyZWF0ZWQgaWRlbnRpY2FsbHkgcmVnYXJkbGVzcyBvZiBjb250ZW50Lg0KDQpFeGFt cGxlOg0KQ29udGVudCBhZ25vc3RpY2lzbSBwcmV2ZW50cyBjb250ZW50LWJhc2VkIGRpc2NyaW1p bmF0aW9uIGFnYWluc3QgcGFja2V0cy4gVGhpcyBpcyBpbXBvcnRhbnQgYmVjYXVzZSBjaGFuZ2Vz IHRvIHRoaXMgcHJpbmNpcGxlIGNhbiBsZWFkIHRvIGEgdHdvLXRpZXJlZCBJbnRlcm5ldCwgd2hl cmUgY2VydGFpbiBwYWNrZXRzIGFyZSBwcmlvcml0aXplZCBvdmVyIG90aGVycyBvbiB0aGUgYmFz aXMgb2YgdGhlaXIgY29udGVudC4gRWZmZWN0aXZlbHkgdGhpcyB3b3VsZCBtZWFuIHRoYXQgYWx0 aG91Z2ggYWxsIHVzZXJzIGFyZSBlbnRpdGxlZCB0byByZWNlaXZlIHRoZWlyIHBhY2tldHMgYXQg YSBjZXJ0YWluIHNwZWVkLCBzb21lIHVzZXJzIGJlY29tZSBtb3JlIGVxdWFsIHRoYW4gb3RoZXJz Lg0KDQpJbXBhY3RzOg0KDQotIFJpZ2h0IHRvIGZyZWVkb20gb2YgZXhwcmVzc2lvbg0KLSBSaWdo dCB0byBub24tZGlzY3JpbWluYXRpb24NCi0gUmlnaHQgdG8gZXF1YWwgcHJvdGVjdGlvbg0KDQoj IyMjIyBTZWN1cml0eQ0KDQpRdWVzdGlvbihzKToNCkRpZCB5b3UgaGF2ZSBhIGxvb2sgYXQgR3Vp ZGVsaW5lcyBmb3IgV3JpdGluZyBSRkMgVGV4dCBvbiBTZWN1cml0eSBDb25zaWRlcmF0aW9ucyB7 e1JGQzM1NTJ9fT8gSGF2ZSB5b3UgZm91bmQgYW55IGF0dGFja3MgdGhhdCBhcmUgb3V0IG9mIHNj b3BlIGZvciB5b3VyIHByb3RvY29sPyBXb3VsZCB0aGVzZSBhdHRhY2tzIGJlIHBlcnRpbmVudCB0 byB0aGUgaHVtYW4gcmlnaHRzIGVuYWJsaW5nIGZlYXR1cmVzIG9mIHRoZSBJbnRlcm5ldCAoYXMg ZGVzY2licmVkIHRocm91Z2hvdXQgdGhpcyBkb2N1bWVudCk/DQoNCkV4cGxhbmF0aW9uOg0KTW9z dCBwZW9wbGUgc3BlYWsgb2Ygc2VjdXJpdHkgYXMgaWYgaXQgd2VyZSBhIHNpbmdsZSBtb25vbGl0 aGljIHByb3BlcnR5IG9mIGEgcHJvdG9jb2wgb3Igc3lzdGVtLCBob3dldmVyLCB1cG9uIHJlZmxl Y3Rpb247IG9uZSByZWFsaXplcyB0aGF0IGl0IGlzIGNsZWFybHkgbm90IHRydWUuIFJhdGhlciwg c2VjdXJpdHkgaXMgYSBzZXJpZXMgb2YgcmVsYXRlZCBidXQgc29tZXdoYXQgaW5kZXBlbmRlbnQg cHJvcGVydGllcy4gTm90IGFsbCBvZiB0aGVzZSAgICBwcm9wZXJ0aWVzIGFyZSByZXF1aXJlZCBm b3IgZXZlcnkgYXBwbGljYXRpb24uIFdlIGNhbiBsb29zZWx5IGRpdmlkZSBzZWN1cml0eSBnb2Fs cyBpbnRvIHRob3NlIHJlbGF0ZWQgdG8gcHJvdGVjdGluZyBjb21tdW5pY2F0aW9ucyAoQ09NTVVO SUNBVElPTiBTRUNVUklUWSwgYWxzbyBrbm93biBhcyBDT01TRUMpIGFuZCB0aG9zZSByZWxhdGlu ZyB0byBwcm90ZWN0aW5nIHN5c3RlbXMgKEFETUlOSVNUUkFUSVZFIFNFQ1VSSVRZIG9yIFNZU1RF TSBTRUNVUklUWSkuIFNpbmNlIGNvbW11bmljYXRpb25zIGFyZSBjYXJyaWVkIG91dCBieSBzeXN0 ZW1zIGFuZCBhY2Nlc3MgdG8gc3lzdGVtcyBpcyB0aHJvdWdoIGNvbW11bmljYXRpb25zIGNoYW5u ZWxzLCB0aGVzZSBnb2FscyBvYnZpb3VzbHkgaW50ZXJsb2NrLCBidXQgdGhleSBjYW4gYWxzbyBi ZSBpbmRlcGVuZGVudGx5IHByb3ZpZGVkIHt7UkZDMzU1Mn19Lg0KDQpFeGFtcGxlOg0KU2VlIHt7 UkZDMzU1Mn19Lg0KDQpJbXBhY3RzOg0KDQotIFJpZ2h0IHRvIGZyZWVkb20gb2YgZXhwcmVzc2lv bg0KLSBSaWdodCB0byBmcmVlZG9tIG9mIGFzc2VtYmx5IGFuZCBhc3NvY2lhdGlvbg0KLSBSaWdo dCB0byBub24gZGlzY3JpbWluYXRpb24NCg0KIyMjIyMgSW50ZXJuYXRpb25hbGl6YXRpb24NClF1 ZXN0aW9uKHMpOg0KRG9lcyB5b3VyIHByb3RvY29sIGhhdmUgdGV4dCBzdHJpbmdzIHRoYXQgYXJl IHJlYWRhYmxlIG9yIGVudGVyZWQgYnkgaHVtYW5zPyBEb2VzIHlvdXIgcHJvdG9jb2wgYWxsb3cg VW5pY29kZSBlbmNvZGVkIGluIFVURi04IG9ubHksIHRoZXJlYnkgc2hpZnRpbmcgY29udmVyc2lv biBpc3N1ZXMgYXdheSBmcm9tIGluZGl2aWR1YWwgY2hvaWNlcz8gRGlkIHlvdSBoYXZlIGEgbG9v ayBhdCB7e1JGQzYzNjV9fT8NCg0KRXhwbGFuYXRpb246DQpJbnRlcm5hdGlvbmFsaXphdGlvbiBy ZWZlcnMgdG8gdGhlIHByYWN0aWNlIG9mIG1ha2luZyBwcm90b2NvbHMsIHN0YW5kYXJkcywgYW5k IGltcGxlbWVudGF0aW9ucyB1c2FibGUgaW4gZGlmZmVyZW50IGxhbmd1YWdlcyBhbmQgc2NyaXB0 cy4gIChzZWUgTG9jYWxpemF0aW9uKS4gSW4gdGhlIElFVEYsIGludGVybmF0aW9uYWxpemF0aW9u IG1lYW5zIHRvIGFkZCBvciBpbXByb3ZlIHRoZSBoYW5kbGluZyBvZiBub24tQVNDSUkgdGV4dCBp biBhIHByb3RvY29sLiB7e1JGQzYzNjV9fSBBIGRpZmZlcmVudCBwZXJzcGVjdGl2ZSwgbW9yZSBh cHByb3ByaWF0ZSB0byBwcm90b2NvbHMgdGhhdCBhcmUgZGVzaWduZWQgZm9yIGdsb2JhbCB1c2Ug ZnJvbSB0aGUgYmVnaW5uaW5nLCBpcyB0aGUgZGVmaW5pdGlvbiB1c2VkIGJ5IFczQzoNCg0KICAg ICAgICAgIkludGVybmF0aW9uYWxpemF0aW9uIGlzIHRoZSBkZXNpZ24gYW5kIGRldmVsb3BtZW50 IG9mIGENCiAgICAgICAgIHByb2R1Y3QsIGFwcGxpY2F0aW9uIG9yIGRvY3VtZW50IGNvbnRlbnQg dGhhdCBlbmFibGVzIGVhc3kNCiAgICAgICAgIGxvY2FsaXphdGlvbiBmb3IgdGFyZ2V0IGF1ZGll bmNlcyB0aGF0IHZhcnkgaW4gY3VsdHVyZSwgcmVnaW9uLA0KICAgICAgICAgb3IgbGFuZ3VhZ2Uu IiAge3tXM0NpMThuRGVmfX0NCg0KTWFueSBwcm90b2NvbHMgdGhhdCBoYW5kbGUgdGV4dCBvbmx5 IGhhbmRsZSBvbmUgY2hhcnNldCAoVVMtQVNDSUkpLCBvciBsZWF2ZSB0aGUgcXVlc3Rpb24gb2Yg d2hhdCBDQ1MgYW5kIGVuY29kaW5nIGFyZSB1c2VkIHVwIHRvIGxvY2FsIGd1ZXNzd29yayAod2hp Y2ggbGVhZHMsIG9mIGNvdXJzZSwgdG8gaW50ZXJvcGVyYWJpbGl0eSBwcm9ibGVtcykuICBJZiBt dWx0aXBsZSBjaGFyc2V0cyBhcmUgcGVybWl0dGVkLCB0aGV5IG11c3QgYmUgZXhwbGljaXRseSBp ZGVudGlmaWVkIHt7UkZDMjI3N319LiAgQWRkaW5nIG5vbi1BU0NJSSB0ZXh0IHRvIGEgcHJvdG9j b2wgYWxsb3dzIHRoZSBwcm90b2NvbCB0byBoYW5kbGUgbW9yZSBzY3JpcHRzLCBob3BlZnVsbHkg cmVwcmVzZW50aW5nIHVzZXJzIGFjcm9zcyB0aGUgd29ybGQuICBJbiB0b2RheSdzIHdvcmxkLCB0 aGF0IGlzIG5vcm1hbGx5IGJlc3QgYWNjb21wbGlzaGVkIGJ5IGFsbG93aW5nIFVuaWNvZGUgZW5j b2RlZCBpbiBVVEYtOCBvbmx5LCB0aGVyZWJ5IHNoaWZ0aW5nIGNvbnZlcnNpb24gaXNzdWVzIGF3 YXkgZnJvbSBpbmRpdmlkdWFsIGNob2ljZXMuDQoNCkV4YW1wbGU6DQpTZWUgbG9jYWxpemF0aW9u DQpJbXBhY3RzOg0KDQotIFJpZ2h0IHRvIGZyZWVkb20gb2YgZXhwcmVzc2lvbg0KLSBSaWdodCB0 byBwb2xpdGljYWwgcGFydGljaXBhdGlvbg0KLSBSaWdodCB0byBwYXJ0aWNpcGF0ZSBpbiBjdWx0 dXJhbCBsaWZlLCBhcnRzIGFuZCBzY2llbmNlDQotIFJpZ2h0IHRvIHBvbGl0aWNhbCBwYXJ0aWNp cGF0aW9uDQoNCiMjIyMjIENlbnNvcnNoaXAgcmVzaXN0YW5jZQ0KDQpRdWVzdGlvbihzKToNCkRv ZXMgdGhpcyBwcm90b2NvbCBpbnRyb2R1Y2UgbmV3IGlkZW50aWZpZXJzIHRoYXQgbWlnaHQgYmUg YXNzb2NpYXRlZCB3aXRoIHBlcnNvbnMgb3IgY29udGVudD8gRG9lcyB5b3VyIHByb3RvY29sIG1h a2UgaXQgYXBwYXJlbnQgb3IgdHJhbnNwYXJlbnQgd2hlbiBmaWx0ZXJpbmcgaGFwcGVucz8NCg0K RXhwbGFuYXRpb246DQpDZW5zb3JzaGlwIHJlc2lzdGFuY2UgcmVmZXJzIHRvIHRoZSBtZXRob2Rz IGFuZCBtZWFzdXJlcyB0byBwcmV2ZW50IEludGVybmV0IGNlbnNvcnNoaXAuDQoNCkV4YW1wbGU6 DQpJZGVudGlmaWVycyBvZiBjb250ZW50IGV4cG9zZWQgd2l0aGluIGEgcHJvdG9jb2wgbWlnaHQg YmUgdXNlZCB0byBmYWNpbGl0YXRlIGNlbnNvcnNoaXAsIGFzIGluIHRoZSBjYXNlIG9mIElQIGJh c2VkIGNlbnNvcnNoaXAsIHdoaWNoIGFmZmVjdHMgcHJvdG9jb2xzIGxpa2UgSFRUUC4gRmlsdGVy aW5nIGNhbiBiZSBtYWRlIGFwcGFyZW50IGJ5IHRoZSB1c2Ugb2Ygc3RhdHVzIGNvZGUgNDUxICYj eDIwMTM7IHdoaWNoIGFsbG93cyBzZXJ2ZXIgb3BlcmF0b3JzIHRvIG9wZXJhdGUgd2l0aCBncmVh dGVyIHRyYW5zcGFyZW5jeSBpbiBjaXJjdW1zdGFuY2VzIHdoZXJlIGlzc3VlcyBvZiBsYXcgb3Ig cHVibGljIHBvbGljeSBhZmZlY3QgdGhlaXIgb3BlcmF0aW9uIHt7QnJheX19Lg0KDQpJbXBhY3Rz Og0KLSBSaWdodCB0byBmcmVlZG9tIG9mIGV4cHJlc3Npb24NCi0gUmlnaHQgdG8gcG9saXRpY2Fs IHBhcnRpY2lwYXRpb24NCi0gUmlnaHQgdG8gcGFydGljaXBhdGUgaW4gY3VsdHVyYWwgbGlmZSwg YXJ0cyBhbmQgc2NpZW5jZQ0KLSBSaWdodCB0byBmcmVlZG9tIG9mIGFzc2VtYmx5IGFuZCBhc3Nv Y2lhdGlvbg0KDQojIyMjIyBPcGVuIFN0YW5kYXJkcw0KSXMgeW91ciBwcm90b2NvbCBmdWxseSBk b2N1bWVudGVkIGluIGEgd2F5IHRoYXQgaXQgY291bGQgYmUgZWFzaWx5IGltcGxlbWVudGVkLCBp bXByb3ZlZCwgYnVpbGQgdXBvbiBhbmQvb3IgZnVydGhlciBkZXZlbG9wZWQuIElzIHRoZXJlIGFu eSBwcm9wcmlldGFyeSBjb2RlIG5lZWRlZCBmb3IgdGhlIGltcGxlbWVudGF0aW9uLCBydW5uaW5n IG9yIGZ1cnRoZXIgZGV2ZWxvcG1lbnQgb2YgeW91ciBwcm90b2NvbD8NCg0KSW1wYWN0czoNCg0K LSBSaWdodCB0byBmcmVlZG9tIG9mIGV4cHJlc3Npb24NCi0gUmlnaHQgdG8gcGFydGljaXBhdGUg aW4gY3VsdHVyYWwgbGlmZSwgYXJ0cyBhbmQgc2NpZW5jZQ0KDQojIyMjIyBIZXRlcm9nZW5laXR5 IFN1cHBvcnQNClF1ZXN0aW9uKHMpOg0KRG9lcyB5b3VyIHByb3RvY29sIHN1cHBvcnQgaGV0ZXJv Z2VuZWl0eSBieSBkZXNpZ24/IERvZXMgeW91ciBwcm90b2NvbCBhbGxvdyBmb3IgbXVsdGlwbGUg dHlwZXMgb2YgaGFyZHdhcmU/IERvZXMgeW91ciBwcm90b2NvbCBhbGxvdyBmb3IgbXVsdGlwbGUg dHlwZXMgb2YgYXBwbGljYXRpb24gcHJvdG9jb2xzPw0KDQpFeHBsYW5hdGlvbjoNClRoZSBJbnRl cm5ldCBpcyBjaGFyYWN0ZXJpemVkIGJ5IGhldGVyb2dlbmVpdHkgb24gbWFueSBsZXZlbHM6IGRl dmljZXMgYW5kIG5vZGVzLCByb3V0ZXIgc2NoZWR1bGluZyBhbGdvcml0aG1zIGFuZCBxdWV1ZSBt YW5hZ2VtZW50IG1lY2hhbmlzbXMsIHJvdXRpbmcgcHJvdG9jb2xzLCBsZXZlbHMgb2YgbXVsdGlw bGV4aW5nLCBwcm90b2NvbCB2ZXJzaW9ucyBhbmQgaW1wbGVtZW50YXRpb25zLCB1bmRlcmx5aW5n IGxpbmsgbGF5ZXJzIChlLmcuLCBwb2ludC10by1wb2ludCwgbXVsdGktYWNjZXNzIGxpbmtzLCB3 aXJlbGVzcywgRkRESSwgZXRjLiksIGluIHRoZSB0cmFmZmljIG1peCBhbmQgaW4gdGhlIGxldmVs cyBvZiBjb25nZXN0aW9uIGF0IGRpZmZlcmVudCB0aW1lcyBhbmQgcGxhY2VzLiBNb3Jlb3Zlciwg YXMgdGhlIEludGVybmV0IGlzIGNvbXBvc2VkIG9mIGF1dG9ub21vdXMgb3JnYW5pemF0aW9ucyBh bmQgSW50ZXJuZXQgc2VydmljZSBwcm92aWRlcnMsIGVhY2ggd2l0aCB0aGVpciBvd24gc2VwYXJh dGUgcG9saWN5IGNvbmNlcm5zLCB0aGVyZSBpcyBhIGxhcmdlIGhldGVyb2dlbmVpdHkgb2YgYWRt aW5pc3RyYXRpdmUgZG9tYWlucyBhbmQgcHJpY2luZyBzdHJ1Y3R1cmVzLiBBcyBhIHJlc3VsdCwg dGhlIGhldGVyb2dlbmVpdHkgcHJpbmNpcGxlIHByb3Bvc2VkIGluIHt7UkZDMTk1OH19IG5lZWRz IHRvIGJlIHN1cHBvcnRlZCBieSBkZXNpZ24ge3tGSUFyY2h9fS4NCg0KRXhhbXBsZToNCkhldGVy b2dlbmVpdHkgaXMgaW5ldml0YWJsZSBhbmQgbmVlZHMgYmUgc3VwcG9ydGVkIGJ5IGRlc2lnbi4g TXVsdGlwbGUgdHlwZXMgb2YgaGFyZHdhcmUgbXVzdCBiZSBhbGxvd2VkIGZvciwgZS5nLiB0cmFu c21pc3Npb24gc3BlZWRzIGRpZmZlcmluZyBieSBhdCBsZWFzdCA3IG9yZGVycyBvZiBtYWduaXR1 ZGUsIHZhcmlvdXMgY29tcHV0ZXIgd29yZCBsZW5ndGhzLCBhbmQgaG9zdHMgcmFuZ2luZyBmcm9t IG1lbW9yeS1zdGFydmVkIG1pY3JvcHJvY2Vzc29ycyB1cCB0byBtYXNzaXZlbHkgcGFyYWxsZWwg c3VwZXJjb21wdXRlcnMuIE11bHRpcGxlIHR5cGVzIG9mICAgIGFwcGxpY2F0aW9uIHByb3RvY29s IG11c3QgYmUgYWxsb3dlZCBmb3IsIHJhbmdpbmcgZnJvbSB0aGUgc2ltcGxlc3Qgc3VjaCBhcyBy ZW1vdGUgbG9naW4gdXAgdG8gdGhlIG1vc3QgY29tcGxleCBzdWNoIGFzIGRpc3RyaWJ1dGVkIGRh dGFiYXNlcyB7e1JGQzE5NTh9fS4NCg0KSW1wYWN0czoNCi0gUmlnaHQgdG8gZnJlZWRvbSBvZiBl eHByZXNzaW9uDQoNCiMjIyMjIEFub255bWl0eQ0KUXVlc3Rpb24ocyk6DQpEaWQgeW91IGhhdmUg YSBsb29rIGF0IHRoZSBQcml2YWN5IENvbnNpZGVyYXRpb25zIGZvciBJbnRlcm5ldCBQcm90b2Nv bHMge3tSRkM2OTczfX0sIGVzcGVjaWFsbHkgc2VjdGlvbiA2LjEuMSA/DQoNCkV4cGxhbmF0aW9u Og0KQW5vbnltaXR5IHJlZmVycyB0byB0aGUgY29uZGl0aW9uIG9mIGFuIGlkZW50aXR5IGJlaW5n IHVua25vd24gb3IgY29uY2VhbGVkIHt7UkZDNDk0OX19LiBJdCBpcyBhbiBpbXBvcnRhbnQgZmVh dHVyZSBmb3IgbWFueSBlbmQtdXNlcnMsIGFzIGl0IGFsbG93cyB0aGVtIGRpZmZlcmVudCBkZWdy ZWVzIG9mIHByaXZhY3kgb25saW5lLg0KDQpFeGFtcGxlOg0KT2Z0ZW4gc3RhbmRhcmRzIGV4cG9z ZSBwcml2YXRlIGluZm9ybWF0aW9uLCBpdCBpcyBpbXBvcnRhbnQgdG8gY29uc2lkZXIgd2F5cyB0 byBtaXRpZ2F0ZSB0aGUgb2J2aW91cyBwcml2YWN5IGltcGFjdHMuIEZvciBpbnN0YW5jZSwgYSBm ZWF0dXJlIHdoaWNoIHVzZXMgZGVlcCBwYWNrZXQgaW5zcGVjdGlvbiBvciBnZW9sb2NhdGlvbiBk YXRhIGNvdWxkIHJlZnVzZSB0byBvcGVuIHRoaXMgZGF0YSB0byB0aGlyZCBwYXJ0aWVzLCB0aGF0 IG1pZ2h0IGJlIGFibGUgdG8gY29ubmVjdCB0aGUgZGF0YSB0byBhIHBoeXNpY2FsIHBlcnNvbi4N Cg0KSW1wYWN0czoNCi0gUmlnaHQgdG8gbm9uLWRpc2NyaW1pbmF0aW9uDQotIFJpZ2h0IHRvIHBv bGl0aWNhbCBwYXJ0aWNpcGF0aW9uDQotIFJpZ2h0IHRvIGZyZWVkb20gb2YgYXNzZW1ibHkgYW5k IGFzc29jaWF0aW9uDQotIFJpZ2h0IHRvIHNlY3VyaXR5DQoNCiMjIyMjIFBzZXVkb255bWl0eQ0K UXVlc3Rpb24ocyk6DQpIYXZlIHlvdSBjb25zaWRlcmVkIHRoZSBQcml2YWN5IENvbnNpZGVyYXRp b25zIGZvciBJbnRlcm5ldCBQcm90b2NvbHMge3tSRkM2OTczfX0sIGVzcGVjaWFsbHkgc2VjdGlv biA2LjEuMiA/IERvZXMgdGhpcyBzcGVjaWZpY2F0aW9uIGNvbGxlY3QgcGVyc29uYWxseSBkZXJp dmVkIGRhdGE/IERvZXMgdGhlIHN0YW5kYXJkIHV0aWxpemUgZGF0YSB0aGF0IGlzIHBlcnNvbmFs bHktZGVyaXZlZCwgaS5lLiBkZXJpdmVkIGZyb20gdGhlIGludGVyYWN0aW9uIG9mIGEgc2luZ2xl IHBlcnNvbiwgb3IgdGhlaXIgZGV2aWNlIG9yIGFkZHJlc3M/IERvZXMgdGhpcyBzcGVjaWZpY2F0 aW9uIGdlbmVyYXRlIHBlcnNvbmFsbHkgZGVyaXZlZCBkYXRhLCBhbmQgaWYgc28gaG93IHdpbGwg dGhhdCBkYXRhIGJlIGhhbmRsZWQ/DQoNCkV4cGxhbmF0aW9uOg0KUHNldWRvbnltaXR5ICYjeDIw MTM7IHRoZSBhYmlsaXR5IHRvIGRpc2d1aXNlIG9uZSdzIGlkZW50aXR5IG9ubGluZSAmI3gyMDEz OyBpcyBhbiBpbXBvcnRhbnQgZmVhdHVyZSBmb3IgbWFueSBlbmQtdXNlcnMsIGFzIGl0IGFsbG93 cyB0aGVtIGRpZmZlcmVudCBkZWdyZWVzIG9mIGFub255bWl0eSBhbmQgcHJpdmFjeSBvbmxpbmUu DQoNCkV4YW1wbGU6DQpEZXNpZ25pbmcgYSBzdGFuZGFyZCB0aGF0IGV4cG9zZXMgcHJpdmF0ZSBp bmZvcm1hdGlvbiB0byA/PywgaXQgaXMgaW1wb3J0YW50IHRvIGNvbnNpZGVyIHdheXMgdG8gbWl0 aWdhdGUgdGhlIG9idmlvdXMgaW1wYWN0cy4gRm9yIGluc3RhbmNlLCBhIGZlYXR1cmUgd2hpY2gg dXNlcyBkZWVwIHBhY2tldCBpbnNwZWN0aW9uIG9yIGdlb2xvY2F0aW9uIGRhdGEgY291bGQgcmVm dXNlIHRvIG9wZW4gdGhpcyBkYXRhIHRvIHRoaXJkIHBhcnRpZXMsIHRoYXQgbWlnaHQgYmUgYWJs ZSB0byBjb25uZWN0IHRoZSBkYXRhIHRvIGEgcGh5c2ljYWwgcGVyc29uLg0KDQpJbXBhY3RzOg0K DQotIFJpZ2h0IHRvIG5vbi1kaXNjcmltaW5hdGlvbg0KLSBSaWdodCB0byBmcmVlZG9tIG9mIGFz c2VtYmx5IGFuZCBhc3NvY2lhdGlvbg0KDQojIyMjIyBBY2Nlc3NpYmlsaXR5DQoNClF1ZXN0aW9u KHMpOg0KSXMgeW91ciBwcm90b2NvbCBkZXNpZ25lZCB0byBwcm92aWRlIGFuIGVuYWJsaW5nIGVu dmlyb25tZW50IGZvciBwZW9wbGUgd2hvIGFyZSBub3QgYWJsZS1ib2RpZWQ/IEhhdmUgeW91IGxv b2tlZCBhdCB0aGUgVzNDIFdlYiBBY2Nlc3NpYmlsaXR5IEluaXRpYXRpdmUgZm9yIGV4YW1wbGVz IGFuZCBndWlkYW5jZT8gSXMgeW91ciBwcm90b2NvbCBvcHRpbWl6ZWQgZm9yIGxvdyBiYW5kd2lk dGggYW5kIGhpZ2ggbGF0ZW5jeSBjb25uZWN0aW9ucz8gQ291bGQgeW91ciBwcm90b2NvbCBhbHNv IGJlIGRldmVsb3BlZCBpbiBhIHN0YXRlbGVzcyBtYW5uZXI/DQoNCkV4cGxhbmF0aW9uOg0KVGhl IEludGVybmV0IGlzIGZ1bmRhbWVudGFsbHkgZGVzaWduZWQgdG8gd29yayBmb3IgYWxsIHBlb3Bs ZSwgd2hhdGV2ZXIgdGhlaXIgaGFyZHdhcmUsIHNvZnR3YXJlLCBsYW5ndWFnZSwgY3VsdHVyZSwg bG9jYXRpb24sIG9yIHBoeXNpY2FsIG9yIG1lbnRhbCBhYmlsaXR5LiBXaGVuIHRoZSBJbnRlcm5l dCBtZWV0cyB0aGlzIGdvYWwsIGl0IGlzIGFjY2Vzc2libGUgdG8gcGVvcGxlIHdpdGggYSBkaXZl cnNlIHJhbmdlIG9mIGhlYXJpbmcsIG1vdmVtZW50LCBzaWdodCwgYW5kIGNvZ25pdGl2ZSBhYmls aXR5IHt7VzNDQWNjZXNzaWJpbGl0eX19LiBTb21ldGltZXMgaW4gdGhlIGRlc2lnbiBvZiBwcm90 b2NvbHMsIHdlYnNpdGVzLCB3ZWIgdGVjaG5vbG9naWVzLCBvciB3ZWIgdG9vbHMsIGJhcnJpZXJz IGFyZSBjcmVhdGVkIHRoYXQgZXhjbHVkZSBwZW9wbGUgZnJvbSB1c2luZyB0aGUgV2ViLg0KDQpF eGFtcGxlOg0KVGhlIEhUTUwgcHJvdG9jb2wgYXMgZGVmaW5lZCBpbiB7e1JGQzE4NjZ9fSBzcGVj aWZpY2FsbHkgcmVxdWlyZXMgdGhhdCBldmVyeSBpbWFnZSBtdXN0IGhhdmUgYW4gYWx0IGF0dHJp YnV0ZSAod2l0aCBhIGZldyBleGNlcHRpb25zIGZvciBIVE1MNSkgdG8gZW5zdXJlIGltYWdlcyBh cmUgYWNjZXNzaWJsZSBmb3IgcGVvcGxlIHRoYXQgY2Fubm90IHRoZW1zZWx2ZXMgZGVjaXBoZXIg bm9uLXRleHQgY29udGVudCBpbiB3ZWIgcGFnZXMuDQoNCkltcGFjdHM6DQotIFJpZ2h0IHRvIG5v bi1kaXNjcmltaW5hdGlvbg0KLSBSaWdodCB0byBmcmVlZG9tIG9mIGFzc2VtYmx5IGFuZCBhc3Nv Y2lhdGlvbg0KLSBSaWdodCB0byBlZHVjYXRpb24NCi0gUmlnaHQgdG8gcG9saXRpY2FsIHBhcnRp Y2lwYXRpb24NCg0KIyMjIyMgTG9jYWxpemF0aW9uDQoNClF1ZXN0aW9uKHMpOg0KRG9lcyB5b3Vy IHByb3RvY29sIHVwaG9sZCB0aGUgc3RhbmRhcmRzIG9mIGludGVybmF0aW9uYWxpemF0aW9uPyBI YXZlIG1hZGUgYW55IGNvbmNyZXRlICBzdGVwcyB0b3dhcmRzIGxvY2FsaXppbmcgeW91ciBwcm90 b2NvbCBmb3IgcmVsZXZhbnQgYXVkaWVuY2VzPw0KDQpFeHBsYW5hdGlvbjoNCkxvY2FsaXphdGlv biByZWZlcnMgdG8gdGhlIGFkYXB0YXRpb24gb2YgYSBwcm9kdWN0LCBhcHBsaWNhdGlvbiBvciBk b2N1bWVudCBjb250ZW50IHRvIG1lZXQgdGhlIGxhbmd1YWdlLCBjdWx0dXJhbCBhbmQgb3RoZXIg cmVxdWlyZW1lbnRzIG9mIGEgc3BlY2lmaWMgdGFyZ2V0IG1hcmtldCAoYSBsb2NhbGUpIHt7VzND aTE4bkRlZn19LiBJdCBpcyBhbHNvIGRlc2NyaWJlZCBhcyB0aGUgcHJhY3RpY2Ugb2YgdHJhbnNs YXRpbmcgYW4gaW1wbGVtZW50YXRpb24gdG8gbWFrZSBpdCBmdW5jdGlvbmFsIGluIGEgc3BlY2lm aWMgbGFuZ3VhZ2Ugb3IgZm9yIHVzZXJzIGluIGEgc3BlY2lmaWMgbG9jYWxlIChzZWUgSW50ZXJu YXRpb25hbGl6YXRpb24pLg0KDQpFeGFtcGxlOg0KVGhlIEludGVybmV0IGlzIGEgZ2xvYmFsIG1l ZGl1bSwgYnV0IG1hbnkgb2YgaXRzIHByb3RvY29scyBhbmQgcHJvZHVjdHMgYXJlIGRldmVsb3Bl ZCB3aXRoIGEgY2VydGFpbiBhdWRpZW5jZSBpbiBtaW5kLCB0aGF0IG9mdGVuIHNoYXJlIHBhcnRp Y3VsYXIgY2hhcmFjdGVyaXN0aWNzIGxpa2Uga25vd2luZyBob3cgdG8gcmVhZCBhbmQgd3JpdGUg aW4gQVNDSUkgYW5kIGtub3dpbmcgRW5nbGlzaC4gVGhpcyBsaW1pdHMgdGhlIGFiaWxpdHkgb2Yg YSBsYXJnZSBwYXJ0IG9mIHRoZSB3b3JsZCdzIG9ubGluZSBwb3B1bGF0aW9uIGZyb20gdXNpbmcg dGhlIEludGVybmV0IGluIGEgd2F5IHRoYXQgaXMgY3VsdHVyYWxseSBhbmQgbGluZ3Vpc3RpY2Fs bHkgYWNjZXNzaWJsZS4gQW4gZXhhbXBsZSBvZiBhIHByb3RvY29sIHRoYXQgaGFzIHRha2VuIGlu dG8gYWNjb3VudCB0aGUgdmlldyB0aGF0IGluZGl2aWR1YWxzIGxpa2UgdG8gaGF2ZSBhY2Nlc3Mg dG8gZGF0YSBpbiB0aGVpciBuYXRpdmUgbGFuZ3VhZ2UgY2FuIGJlIGZvdW5kIGluIHt7UkZDMTc2 Nn19LiBUaGlzIHByb3RvY29sIGxhYmVscyB0aGUgaW5mb3JtYXRpb24gY29udGVudCB3aXRoIGFu IGlkZW50aWZpZXIgZm9yIHRoZSBsYW5ndWFnZSBpbiB3aGljaCBpdCBpcyB3cml0dGVuLiBBbmQg dGhpcyBhbGxvd3MgaW5mb3JtYXRpb24gdG8gYmUgcHJlc2VudGVkIGluIG1vcmUgdGhhbiBvbmUg bGFuZ3VhZ2UuDQoNCkltcGFjdHM6DQotIFJpZ2h0IHRvIG5vbi1kaXNjcmltaW5hdGlvbg0KLSBS aWdodCB0byBwYXJ0aWNpcGF0ZSBpbiBjdWx0dXJhbCBsaWZlLCBhcnRzIGFuZCBzY2llbmNlDQot IFJpZ2h0IHRvIEZyZWVkb20gb2YgRXhwcmVzc2lvbg0KDQoNCg0KIyMjIyMgRGVjZW50cmFsaXph dGlvbg0KUXVlc3Rpb24ocyk6DQpDYW4geW91ciBwcm90b2NvbCBiZSBpbXBsZW1lbnRlZCB3aXRo b3V0IG9uZSBzaW5nbGUgcG9pbnQgb2YgY29udHJvbD8gSWYgYXBwbGljYWJsZSwgY2FuIHlvdXIg cHJvdG9jb2wgYmUgZGVwbG95ZWQgaW4gYSBmZWRlcmF0ZWQgbWFubmVyPyBXaGF0IGlzIHRoZSBw b3RlbnRpYWwgZm9yIGRpc2NyaW1pbmF0aW9uIGFnYWluc3QgdXNlcnMgb2YgeW91ciBwcm90b2Nv bD8gSG93IGNhbiB1c2Ugb2YgIHlvdXIgcHJvdG9jb2wgYmUgdXNlZCB0byBpbXBsaWNhdGUgdXNl cnM/IERvZXMgeW91ciBwcm90b2NvbCBjcmVhdGUgYWRkaXRpb25hbCBjZW50cmFsaXplZCBwb2lu dHMgb2YgY29udHJvbD8NCg0KRXhwbGFuYXRpb246DQpEZWNlbnRyYWxpemF0aW9uIGlzIG9uZSBv ZiB0aGUgY2VudHJhbCB0ZWNobmljYWwgY29uY2VwdHMgb2YgdGhlIGFyY2hpdGVjdHVyZSwgYW5k IGVtYnJhY2VkIGFzIHN1Y2ggYnkgdGhlIElFVEYge3tSRkMzOTM1fX0uIEl0IHJlZmVycyB0byB0 aGUgYWJzZW5jZSBvciBtaW5pbWl6YXRpb24gb2YgY2VudHJhbGl6ZWQgcG9pbnRzIG9mIGNvbnRy b2wgJiN4MjAxMzsgYSBmZWF0dXJlIHRoYXQgaXMgYXNzdW1lZCB0byBtYWtlIGl0IGVhc3kgZm9y IG5ldyB1c2VycyB0byBqb2luIGFuZCBuZXcgdXNlcyB0byB1bmZvbGQge3tCcm93bn0uIEl0IGFs c28gcmVkdWNlcyBpc3N1ZXMgc3Vycm91bmRpbmcgc2luZ2xlIHBvaW50cyBvZiBmYWlsdXJlLCBh bmQgZGlzdHJpYnV0ZXMgdGhlIG5ldHdvcmsgc3VjaCB0aGF0IGl0IGNvbnRpbnVlcyB0byBmdW5j dGlvbiBpZiBvbmUgb3Igc2V2ZXJhbCBub2RlcyBhcmUgZGlzYWJsZWQuIFdpdGggdGhlIGNvbW1l cmNpYWxpemF0aW9uIG9mIHRoZSBJbnRlcm5ldCBpbiB0aGUgZWFybHkgMTk5MCdzIHRoZXJlIGhh cyBiZWVuIGEgc2xvdyBtb3ZlIHRvIG1vdmUgYXdheSBmcm9tIGRlY2VudHJhbGl6YXRpb24sIHRv IHRoZSBkZXRyaW1lbnQgb2YgdGhlIHRlY2huaWNhbCBiZW5lZml0cyBvZiBoYXZpbmcgYSBkZWNl bnRyYWxpemVkIEludGVybmV0Lg0KDQpFeGFtcGxlOg0KVGhlIGJpdHMgdHJhdmVsaW5nIHRoZSBJ bnRlcm5ldCBhcmUgaW5jcmVhc2luZ2x5IHN1c2NlcHRpYmxlIHRvIG1vbml0b3JpbmcgYW5kIGNl bnNvcnNoaXAsIGZyb20gYm90aCBnb3Zlcm5tZW50cyBhbmQgSW50ZXJuZXQgc2VydmljZSBwcm92 aWRlcnMsIGFzIHdlbGwgYXMgdGhpcmQgKG1hbGljaW91cykgcGFydGllcy4gVGhlIGFiaWxpdHkg dG8gbW9uaXRvciBhbmQgY2Vuc29yIGlzIGZ1cnRoZXIgZW5hYmxlZCBieSB0aGUgaW5jcmVhc2Vk IGNlbnRyYWxpemF0aW9uIG9mIHRoZSBuZXR3b3JrIHRoYXQgY3JlYXRlcyBjZW50cmFsIGluZnJh c3RydWN0dXJlIHBvaW50cyB0aGF0IGNhbiBiZSB0YXBwZWQgaW4gdG8uIFRoZSBjcmVhdGlvbiBv ZiBwZWVyLXRvLXBlZXIgbmV0d29ya3MgYW5kIHRoZSBkZXZlbG9wbWVudCBvZiB2b2ljZS1vdmVy LUlQIHByb3RvY29scyB1c2luZyBwZWVyLXRvLXBlZXIgdGVjaG5vbG9neSBpbiBjb21iaW5hdGlv biB3aXRoIGRpc3RyaWJ1dGVkIGhhc2ggdGFibGUgKERIVCkgZm9yIHNjYWxhYmlsaXR5IGFyZSBl eGFtcGxlcyBvZiBob3cgcHJvdG9jb2xzIGNhbiBwcmVzZXJ2ZSBkZWNlbnRyYWxpemF0aW9uIHt7 UG91d2Vsc2V9fS4NCg0KSW1wYWN0czoNCi0gUmlnaHQgdG8gZnJlZWRvbSBvZiBhc3NlbWJseSBh bmQgYXNzb2NpYXRpb24NCg0KIyMjIyMgUmVsaWFiaWxpdHkNCg0KUXVlc3Rpb24ocyk6DQpJcyB5 b3VyIHByb3RvY29sIGZhdWx0IHRvbGVyYW50PyBEb2VzIGl0IGRlZ3JhZGUgZ3JhY2VmdWxseT8g RG8geW91IGhhdmUgYSBkb2N1bWVudGVkIHdheSB0byBhbm5vdW5jZSBkZWdyYWRhdGlvbj8gRG8g eW91IGhhdmUgbWVhc3VyZXMgaW4gcGxhY2UgZm9yIHJlY292ZXJ5IG9yIHBhcnRpYWwgaGVhbGlu ZyBmcm9tIGZhaWx1cmU/IENhbiB5b3VyIHByb3RvY29sIG1haW50YWluIGRlcGVuZGFiaWxpdHkg YW5kIHBlcmZvcm1hbmNlIGluIHRoZSBmYWNlIG9mIHVuYW50aWNpcGF0ZWQgY2hhbmdlcyBvciBj aXJjdW1zdGFuY2VzPw0KDQpFeHBsYW5hdGlvbjoNClJlbGlhYmlsaXR5IGVuc3VyZXMgdGhhdCBh IHByb3RvY29sIHdpbGwgZXhlY3V0ZSBpdHMgZnVuY3Rpb24gY29uc2lzdGVudGx5IGFuZCBlcnJv ciByZXNpc3RhbnQgYXMgZGVzY3JpYmVkLCBhbmQgZnVuY3Rpb24gd2l0aG91dCB1bmV4cGVjdGVk IHJlc3VsdC4gQSBzeXN0ZW0gdGhhdCBpcyByZWxpYWJsZSBkZWdlbmVyYXRlcyBncmFjZWZ1bGx5 IGFuZCB3aWxsIGhhdmUgYSBkb2N1bWVudGVkIHdheSB0byBhbm5vdW5jZSBkZWdyYWRhdGlvbi4g IEl0IGFsc28gaGFzIG1lY2hhbmlzbXMgdG8gcmVjb3ZlciBmcm9tIGZhaWx1cmUgZ3JhY2VmdWxs eSwgYW5kIGlmIGFwcGxpY2FibGUsIGFsbG93IGZvciBwYXJ0aWFsIGhlYWxpbmcuIEFzIHdpdGgg Y29uZmlkZW50aWFsaXR5LCB0aGUgZ3Jvd3RoIG9mIHRoZSBJbnRlcm5ldCBhbmQgZm9zdGVyaW5n IGlubm92YXRpb24gaW4gc2VydmljZXMgZGVwZW5kcyBvbiB1c2VycyBoYXZpbmcgY29uZmlkZW5j ZSBhbmQgdHJ1c3Qge3tSRkMzNzI0fX0gaW4gdGhlIG5ldHdvcmsuIEZvciByZWxpYWJpbGl0eSBp dCBpcyBuZWNlc3NhcnkgdGhhdCBzZXJ2aWNlcyBub3RpZnkgdGhlIHVzZXJzIGlmIGEgZGVsaXZl cnkgZmFpbHMuIEluIHRoZSBjYXNlIG9mIHJlYWwtdGltZSBzeXN0ZW1zIGluIGFkZGl0aW9uIHRv IHRoZSByZWxpYWJsZSBkZWxpdmVyeSB0aGUgcHJvdG9jb2wgbmVlZHMgdG8gc2FmZWd1YXJkIHRp bWVsaW5lc3MuDQoNCkV4YW1wbGU6DQpJbiB0aGUgbW9kZXJuIElQIHN0YWNrIHN0cnVjdHVyZSwg YSByZWxpYWJsZSB0cmFuc3BvcnQgbGF5ZXIgcmVxdWlyZXMgYW4gaW5kaWNhdGlvbiB0aGF0IHRy YW5zcG9ydCBwcm9jZXNzaW5nIGhhcyBzdWNjZXNzZnVsbHkgY29tcGxldGVkLCBzdWNoIGFzIGdp dmVuIGJ5IFRDUCdzIEFDSyBtZXNzYWdlIHt7UkZDMDc5M319LCBhbmQgbm90IHNpbXBseSBhbiBp bmRpY2F0aW9uIGZyb20gdGhlIElQIGxheWVyIHRoYXQgdGhlIHBhY2tldCBhcnJpdmVkLiAgU2lt aWxhcmx5LCBhbiBhcHBsaWNhdGlvbiBsYXllciBwcm90b2NvbCBtYXkgcmVxdWlyZSBhbiBhcHBs aWNhdGlvbi1zcGVjaWZpYyBhY2tub3dsZWRnZW1lbnQgdGhhdCBjb250YWlucywgYW1vbmcgb3Ro ZXIgdGhpbmdzLCBhIHN0YXR1cyBjb2RlIGluZGljYXRpbmcgdGhlIGRpc3Bvc2l0aW9uIG9mIHRo ZSByZXF1ZXN0IChTZWUge3tSRkMzNzI0fX0pLg0KDQpJbXBhY3RzOg0KLSBSaWdodCB0byBzZWN1 cml0eQ0KDQojIyMjIyBDb25maWRlbnRpYWxpdHkNCg0KUXVlc3Rpb24ocyk6DQpEb2VzIHRoaXMg cHJvdG9jb2wgZXhwb3NlIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gaWRlbnRpZmllcnMgb3IgZGF0 YT8gSWYgc28sIGRvZXMgaXQgZG8gc28gdG8gZWFjaCBvdGhlciBwcm90b2NvbCBlbnRpdHkgKGku ZS4sIHJlY2lwaWVudHMsIGludGVybWVkaWFyaWVzLCBhbmQgZW5hYmxlcnMpIHt7UkZDNjk3M319 PyBXaGF0IG9wdGlvbnMgZXhpc3QgZm9yIHByb3RvY29sIGltcGxlbWVudGVycyB0byBjaG9vc2Ug dG8gbGltaXQgdGhlIGluZm9ybWF0aW9uIHNoYXJlZCB3aXRoIGVhY2ggZW50aXR5PyBXaGF0IG9w ZXJhdGlvbmFsIGNvbnRyb2xzIGFyZSBhdmFpbGFibGUgdG8gbGltaXQgdGhlIGluZm9ybWF0aW9u IHNoYXJlZCB3aXRoIGVhY2ggZW50aXR5Pw0KDQpXaGF0IGNvbnRyb2xzIG9yIGNvbnNlbnQgbWVj aGFuaXNtcyBkb2VzIHRoZSBwcm90b2NvbCBkZWZpbmUgb3IgcmVxdWlyZSBiZWZvcmUgcGVyc29u YWwgZGF0YSBvciBpZGVudGlmaWVycyBhcmUgc2hhcmVkIG9yIGV4cG9zZWQgdmlhIHRoZSBwcm90 b2NvbD8gIElmIG5vIHN1Y2ggbWVjaGFuaXNtcyBvciBjb250cm9scyBhcmUgc3BlY2lmaWVkLCBp cyBpdCBleHBlY3RlZCB0aGF0IGNvbnRyb2wgYW5kIGNvbnNlbnQgd2lsbCBiZSBoYW5kbGVkIG91 dHNpZGUgb2YgdGhlIHByb3RvY29sPw0KDQpEb2VzIHRoZSBwcm90b2NvbCBwcm92aWRlIHdheXMg Zm9yIGluaXRpYXRvcnMgdG8gc2hhcmUgZGlmZmVyZW50IHBpZWNlcyBvZiBpbmZvcm1hdGlvbiB3 aXRoIGRpZmZlcmVudCByZWNpcGllbnRzPyAgSWYgbm90LCBhcmUgdGhlcmUgbWVjaGFuaXNtcyB0 aGF0IGV4aXN0IG91dHNpZGUgb2YgdGhlIHByb3RvY29sIHRvIHByb3ZpZGUgaW5pdGlhdG9ycyB3 aXRoIHN1Y2ggY29udHJvbD8NCg0KRG9lcyB0aGUgcHJvdG9jb2wgcHJvdmlkZSB3YXlzIGZvciBp bml0aWF0b3JzIHRvIGxpbWl0IHdoaWNoIGluZm9ybWF0aW9uIGlzIHNoYXJlZCB3aXRoIGludGVy bWVkaWFyaWVzPyAgSWYgbm90LCBhcmUgdGhlcmUgbWVjaGFuaXNtcyB0aGF0IGV4aXN0IG91dHNp ZGUgb2YgdGhlIHByb3RvY29sIHRvIHByb3ZpZGUgdXNlcnMgd2l0aCBzdWNoIGNvbnRyb2w/ICBJ cyBpdCBleHBlY3RlZCB0aGF0IHVzZXJzIHdpbGwgaGF2ZSByZWxhdGlvbnNoaXBzIHRoYXQgZ292 ZXJuIHRoZSB1c2Ugb2YgdGhlIGluZm9ybWF0aW9uIChjb250cmFjdHVhbCBvciBvdGhlcndpc2Up IHdpdGggdGhvc2Ugd2hvIG9wZXJhdGUgdGhlc2UgaW50ZXJtZWRpYXJpZXM/IERvZXMgdGhlIHBy b3RvY29sIHByZWZlciBlbmNyeXB0aW9uIG92ZXIgY2xlYXIgdGV4dCBvcGVyYXRpb24/DQoNCkRv ZXMgdGhlIHByb3RvY29sIHByb3ZpZGUgd2F5cyBmb3IgaW5pdGlhdG9ycyB0byBleHByZXNzIGlu ZGl2aWR1YWxzJyBwcmVmZXJlbmNlcyB0byByZWNpcGllbnRzIG9yIGludGVybWVkaWFyaWVzIHdp dGggcmVnYXJkIHRvIHRoZSBjb2xsZWN0aW9uLCB1c2UsIG9yIGRpc2Nsb3N1cmUgb2YgdGhlaXIg cGVyc29uYWwgZGF0YT8NCg0KRXhwbGFuYXRpb246DQpDb25maWRlbnRpYWxpdHkgcmVmZXJzIHRv IGtlZXBpbmcgeW91ciBkYXRhIHNlY3JldCBmcm9tIHVuaW50ZW5kZWQgbGlzdGVuZXJzIHt7UkZD MzU1Mn19LiBUaGUgZ3Jvd3RoIG9mIHRoZSBJbnRlcm5ldCBkZXBlbmRzIG9uIHVzZXJzIGhhdmlu ZyBjb25maWRlbmNlIHRoYXQgdGhlIG5ldHdvcmsgcHJvdGVjdHMgdGhlaXIgcHJpdmF0ZSBpbmZv cm1hdGlvbiB7e1JGQzE5ODR9fS4NCg0KRXhhbXBsZToNClByb3RvY29scyB0aGF0IGRvIG5vdCBl bmNyeXB0IHRoZWlyIHBheWxvYWQgbWFrZSB0aGUgZW50aXJlIGNvbnRlbnQgb2YgdGhlIGNvbW11 bmljYXRpb24gYXZhaWxhYmxlIHRvIHRoZSBpZGVhbGl6ZWQgYXR0YWNrZXIgYWxvbmcgdGhlaXIg cGF0aC4gRm9sbG93aW5nIHRoZSBhZHZpY2UgaW4ge3tSRkMzMzY1fX0sIG1vc3Qgc3VjaCBwcm90 b2NvbHMgaGF2ZSBhIHNlY3VyZSB2YXJpYW50IHRoYXQgZW5jcnlwdHMgdGhlIHBheWxvYWQgZm9y IGNvbmZpZGVudGlhbGl0eSwgYW5kIHRoZXNlIHNlY3VyZSB2YXJpYW50cyBhcmUgc2VlaW5nIGV2 ZXItd2lkZXIgZGVwbG95bWVudC4gQSBub3Rld29ydGh5IGV4Y2VwdGlvbiBpcyBETlMge3tSRkMx MDM1fX0sIGFzIEROU1NFQyB7e1JGQzQwMzN9fWRvZXMgbm90IGhhdmUgY29uZmlkZW50aWFsaXR5 IGFzIGEgcmVxdWlyZW1lbnQuICBUaGlzIGltcGxpZXMgdGhhdCwgaW4gdGhlIGFic2VuY2Ugb2Yg Y2hhbmdlcyB0byB0aGUgcHJvdG9jb2wgYXMgcHJlc2VudGx5IHVuZGVyIGRldmVsb3BtZW50IGlu IHRoZSBJRVRGJ3MgRE5TIFByaXZhdGUgRXhjaGFuZ2UgICAoRFBSSVZFKSB3b3JraW5nIGdyb3Vw LCBhbGwgRE5TIHF1ZXJpZXMgYW5kIGFuc3dlcnMgZ2VuZXJhdGVkIGJ5IHRoZSBhY3Rpdml0aWVz IG9mIGFueSBwcm90b2NvbCBhcmUgYXZhaWxhYmxlIHRvIHRoZSBhdHRhY2tlci4gIFdoZW4gc3Rv cmUtYW5kLWZvcndhcmQgcHJvdG9jb2xzIGFyZSB1c2VkIChlLmcuLCBTTVRQIHt7UkZDNTMyMX19 KSwgaW50ZXJtZWRpYXJpZXMgbGVhdmUgdGhpcyBkYXRhIHN1YmplY3QgdG8gb2JzZXJ2YXRpb24g YnkgYW4gYXR0YWNrZXIgdGhhdCBoYXMgY29tcHJvbWlzZWQgdGhlc2UgaW50ZXJtZWRpYXJpZXMs IHVubGVzcyB0aGUgZGF0YSBpcyAgICBlbmNyeXB0ZWQgZW5kLXRvLWVuZCBieSB0aGUgYXBwbGlj YXRpb24tbGF5ZXIgcHJvdG9jb2wgb3IgdGhlIGltcGxlbWVudGF0aW9uIHVzZXMgYW4gZW5jcnlw dGVkIHN0b3JlIGZvciB0aGlzIGRhdGEge3tSRkM3NjI0fX0uDQoNCg0KSW1wYWN0czoNCg0KLSBS aWdodCB0byBzZWN1cml0eQ0KDQojIyMjIyBJbnRlZ3JpdHkNClF1ZXN0aW9uKHMpOg0KRG9lcyB5 b3VyIHByb3RvY29sIG1haW50YWluIGFuZCBhc3N1cmUgdGhlIGFjY3VyYWN5IG9mIGRhdGE/IERv ZXMgeW91ciBwcm90b2NvbCBtYWludGFpbiBhbmQgYXNzdXJlIHRoZSBjb25zaXN0ZW5jeSBvZiBk YXRhPyBEb2VzIHlvdXIgcHJvdG9jb2wgaW4gYW55IHdheSBhbGxvdyBmb3IgdGhlIGRhdGEgdG8g YmUgKGludGVudGlvbmFsbHkgb3IgdW5pbnRlbnRpb25hbGx5KSBhbHRlcmVkPw0KDQpFeHBsYW5h dGlvbjoNCkludGVncml0eSByZWZlcnMgdG8gdGhlIG1haW50ZW5hbmNlIGFuZCBhc3N1cmFuY2Ug b2YgdGhlIGFjY3VyYWN5IGFuZCBjb25zaXN0ZW5jeSBvZiBkYXRhIHRvIGVuc3VyZSBpdCBoYXMg bm90IGJlZW4gKGludGVudGlvbmFsbHkgb3IgdW5pbnRlbnRpb25hbGx5KSBhbHRlcmVkLg0KDQpF eGFtcGxlOg0KU2VlIGF1dGhlbnRpY2l0eQ0KDQpJbXBhY3RzOg0KDQotIFJpZ2h0IHRvIHNlY3Vy aXR5DQoNCiMjIyMjIEF1dGhlbnRpY2l0eQ0KUXVlc3Rpb24ocyk6DQpEbyB5b3UgaGF2ZSBzdWZm aWNpZW50IG1lYXN1cmVzIHRvIGNvbmZpcm0gdGhlIHRydXRoIG9mIGFuIGF0dHJpYnV0ZSBvZiBh IHNpbmdsZSBwaWVjZSBvZiBkYXRhIG9yIGVudGl0eT8gQ2FuIHRoZSBhdHRyaWJ1dGVzIGdldCBn YXJibGVkIGFsb25nIHRoZSB3YXkgKHNlZSBzZWN1cml0eSk/IElmIHJlbGV2YW50IGhhdmUgeW91 IGltcGxlbWVudGVkIElQc2VjLCBETlNzZWMsIEhUVFBTIGFuZCBvdGhlciBTdGFuZGFyZCBTZWN1 cml0eSBCZXN0IFByYWN0aWNlcz8NCg0KRXhwbGFuYXRpb246DQpBdXRoZW50aWNpdHkgZW5zdXJl cyB0aGF0IGRhdGEgZG9lcyBpbmRlZWQgY29tZSBmcm9tIHRoZSBzb3VyY2UgaXQgY2xhaW1zIHRv IGNvbWUgZnJvbS4gVGhpcyBpcyBpbXBvcnRhbnQgdG8gcHJldmVudCBhdHRhY2tzIG9yIHVuYXV0 aG9yaXplZCBhY2Nlc3MgYW5kIHVzZSBvZiBkYXRhLg0KDQpFeGFtcGxlOg0KQXV0aGVudGljYXRp b24gb2YgZGF0YSBpcyBpbXBvcnRhbnQgdG8gcHJldmVudCB2dWxuZXJhYmlsaXRpZXMgYW5kIGF0 dGFja3MsIGxpa2UgbWFuLWluLXRoZS1taWRkbGUtYXR0YWNrcy4gVGhlc2UgYXR0YWNrcyBoYXBw ZW4gd2hlbiBhIHRoaXJkIHBhcnR5IChvZnRlbiBmb3IgbWFsaWNpb3VzIHJlYXNvbnMpIGludGVy Y2VwdHMgYSBjb21tdW5pY2F0aW9uIGJldHdlZW4gdHdvIHBhcnRpZXMsIGluc2VydGluZyB0aGVt c2VsdmVzIGluIHRoZSBtaWRkbGUgYW5kIHBvc2luZyBhcyBib3RoIHBhcnRpZXMuIEluIHByYWN0 aWNlIHRoaXMgbG9va3MgYXMgZm9sbG93czoNCg0KQWxpY2Ugd2FudHMgdG8gY29tbXVuaWNhdGUg d2l0aCBCb2IuDQpBbGljZSBzZW5kcyBkYXRhIHRvIEJvYi4NCk5pZWxzIGludGVyY2VwdHMgdGhl IGRhdGEgc2VudCB0byBCb2IuDQpOaWVscyByZWFkcyBhbmQgYWx0ZXJzIHRoZSBtZXNzYWdlIHRv IEJvYi4NCkJvYiBjYW5ub3Qgc2VlIHRoZSBkYXRhIGRpZCBub3QgY29tZSBmcm9tIEFsaWNlIGJ1 dCBmcm9tIE5pZWxzLg0KTmllbHMgaW50ZXJjZXB0cyBhbmQgYWx0ZXJzIHRoZSBjb21tdW5pY2F0 aW9uIGFzIGl0IGlzIHNlbnQgYmV0d2VlbiBBbGljZSBhbmQgQm9iLg0KTmllbHMga25vd3MgYWxs Lg0KDQpJbXBhY3RzOg0KDQotIFJpZ2h0IHRvIHNlY3VyaXR5DQoNCiMjIyMjIEFjY2VwdGFiaWxp dHkNClF1ZXN0aW9uKHMpOg0KRG8geW91ciBwcm90b2NvbHMgZm9sbG93IHRoZSBwcmluY2lwbGUg b2Ygbm9uLWRpc2NyaW1pbmF0aW9uPyBEbyB5b3VyIHByb3RvY29scyBmb2xsb3cgdGhlIHByaW5j aXBsZSBvZiBjb250ZW50IGFnbm9zdGljaXNtPyBEb2VzIHlvdXIgcHJvdG9jb2wgdGFrZSBpbnRv IGFjY291bnQgdGhlIG5lZWRzIG9mIHNwZWNpYWwgbmVlZHMgKEludGVybmV0KSBncm91cHMsIGxp a2UgdGhlIGF1ZGlvLXZpc3VhbGx5IGltcGFpcmVkPyAgQWxzbyBzZWUgYXZhaWxhYmlsaXR5Lg0K DQpFeHBsYW5hdGlvbjoNClRoZSBJbnRlcm5ldCBpcyBhIGdsb2JhbCBtZWRpdW0uIFlldCwgdGhl cmUgY29udGludWUgdG8gYmUgaXNzdWVzIHN1cnJvdW5kaW5nIGFjY2VwdGFiaWxpdHkgJiN4MjAx MzsgdGhlIGV4dGVudCB0byB3aGljaCBzdGFuZGFyZHMgYXJlIG5vbi1kaXNjcmltaW5hdG9yeSBh bmQgcmVsZXZhbnQgdG8gdGhlIHdpZGVzdCByYW5nZSBvZiBlbmQtdXNlcnMgJiN4MjAxMzsgdGhh dCBuZWVkIHRvIGJlIHJlc29sdmVkLiBNYW55IHN0YW5kYXJkcyBhcmUgbm90IHN1aXRhYmxlIGZv ciBlbmQtdXNlcnMgd2hvIGFyZSBub3QtYWJsZWJvZGllZCwgb3Igb3RoZXJ3aXNlIHJlc3RyaWN0 ZWQgaW4gdGhlaXIgYWJpbGl0eSB0byBhY2Nlc3MgdGhlIEludGVybmV0IGluIGl0cyBjdXJyZW50 IGZvcm0gKHRleHQsIGRhdGEgYW5kIEVuZ2xpc2ggaGVhdnkpLiBEZXZlbG9wbWVudCBvZiBuZXcg c3RhbmRhcmRzIHNob3VsZCBjb25zaWRlciB0aGUgd2F5cyBpbiB3aGljaCB0aGV5IGV4Y2x1ZGUg b3IgaW5jbHVkZSBub24tdHJhZGl0aW9uYWwgdXNlciBjb21tdW5pdGllcy4NCg0KRXhhbXBsZTog RGVzaWduaW5nIGEgZmVhdHVyZSB0aGF0IGNvdWxkIG1ha2UgYWNjZXNzIHRvIHdlYnNpdGVzIGZv ciBub24tYWJsZSBib2RpZWQgcGVvcGxlIG1vcmUgZGlmZmljdWx0Lg0KDQotIFJpZ2h0IHRvIGVk dWNhdGlvbg0KLSBSaWdodCB0byBmcmVlZG9tIG9mIGV4cHJlc3Npb24NCi0gUmlnaHQgdG8gZnJl ZWRvbSBvZiBhc3NlbWJseSBhbmQgYXNzb2NpYXRpb24NCg0KIyMjIyMgQXZhaWxhYmlsaXR5DQpR dWVzdGlvbihzKToNCkRvZXMgeW91ciBzdGFuZGFyZCBmYXZvciBwcm9wcmlldGFyeSBzcGVjaWZp Y2F0aW9ucyBvdmVyIHRlY2huaWNhbGx5IGVxdWl2YWxlbnQgYW5kIGNvbXBldGluZyBzcGVjaWZp Y2F0aW9uKHMpIGJ5IG1ha2luZyBhbnkgaW5jb3Jwb3JhdGVkIHZlbmRvciBzcGVjaWZpY2F0aW9u ICJyZXF1aXJlZCIgb3IgInJlY29tbWVuZGVkIiB7e1JGQzIwMjZ9fT8gRG9lcyB5b3VyIHByb3Rv Y29scyB1c2UgcHJvcHJpZXRhcnkgY29kZT8gRG9lcyB5b3VyIHByb3RvY29sIGRlcGVuZCBvbiBw cm9wcmlldGFyeSBjb2RlPyBBbHNvIHNlZSAnT3BlbiBTdGFuZGFyZHMnIGFib3ZlLiBBbHNvIHNl ZSAnQ29ubmVjdGl2aXR5JyBhYm92ZS4NCg0KRXhwbGFuYXRpb246DQpBbiBvcGVuLCBiYWxhbmNl ZCBhbmQgY29vcGVyYXRpdmUgYXBwcm9hY2ggdG8gZGV2ZWxvcGluZyB0ZWNobm9sb2dpY2FsIHN0 YW5kYXJkcyBpcyB2aXRhbCB0byBtYWludGFpbmluZyB0aGUgSW50ZXJuZXQgb3BlbiwgYWNjZXNz aWJsZSBhbmQgc2VjdXJlLiBUaGlzIHdpbGwgZW5zdXJlIHRoZSBzdGFuZGFyZHMgYXJlIG9wZW4g YW5kIG5vdCBzdWJqZWN0IHRvIHJlc3RyaWN0aXZlIGNvbnRyYWN0IHRlcm1zIGZyb20gdGhlIGNv cHlyaWdodCBvd25lcnMuIEF2YWlsYWJpbGl0eSBvZiBzdGFuZGFyZHMgaXMgYSBwcmVyZXF1aXNp dGUgdG8gdGhlIGNvbnRpbnVlZCBncm93dGggb2YgdGhlIEludGVybmV0LCBhbmQgY3J1Y2lhbCB0 byBjb250aW51ZWQgdGVjaG5vbG9naWNhbCBpbm5vdmF0aW9uIGFjcm9zcyB0aGUgZ2xvYmUuDQoN CkV4YW1wbGU6DQpTZWUgT3BlbiBTdGFuZGFyZHMNCg0KSW1wYWN0czoNCg0KLSBSaWdodCB0byBl ZHVjYXRpb24NCg0KIyMjIyMgQWRhcHRhYmlsaXR5DQpRdWVzdGlvbihzKToNCkRvZXMgeW91ciBw cm90b2NvbCBpbXBhY3QgcGVybWlzc2lvbmxlc3MgaW5ub3ZhdGlvbj8gU2VlICdDb25uZWN0aXZp dHknIGFib3ZlLg0KDQpFeHBsYW5hdGlvbjoNCkFkYXB0YWJpbGl0eSBpcyBjbG9zZWx5IGludGVy cmVsYXRlZCBwZXJtaXNzaW9ubGVzcyBpbm5vdmF0aW9uLCBib3RoIG1haW50YWluIHRoZSBmcmVl ZG9tIGFuZCBhYmlsaXR5IHRvIGZyZWVseSBjcmVhdGUgYW5kIGRlcGxveSBuZXcgcHJvdG9jb2xz IG9uIHRvcCBvZiB0aGUgY29tbXVuaWNhdGlvbnMgY29uc3RydWN0cyB0aGF0IGN1cnJlbnRseSBl eGlzdC4gSXQgaXMgYXQgdGhlIGhlYXJ0IG9mIHRoZSBJbnRlcm5ldCBhcyB3ZSBrbm93IGl0LCBh bmQgdG8gbWFpbnRhaW4gaXRzIGZ1bmRhbWVudGFsbHkgb3BlbiBuYXR1cmUsIHdlIG5lZWQgdG8g YmUgbWluZGZ1bCBvZiB0aGUgaW1wYWN0IG9mIHByb3RvY29scyBvbiBtYWludGFpbmluZyBvciBy ZWR1Y2luZyBwZXJtaXNzaW9ubGVzcyBpbm5vdmF0aW9uIHRvIGVuc3VyZSB0aGUgSW50ZXJuZXQg Y2FuIGNvbnRpbnVlIHRvIGRldmVsb3AuDQoNCkV4YW1wbGU6DQpXZWJSVEMgZ2VuZXJhdGVzIGF1 ZGlvIGFuZC9vciB2aWRlbyBkYXRhLiBJbiBvcmRlciB0byBlbnN1cmUgdGhhdCBXZWJSVEMgY2Fu IGJlIHVzZWQgaW4gZGlmZmVyZW50IGxvY2F0aW9ucyBieSBkaWZmZXJlbnQgcGFydGllcyBpdCBp cyBpbXBvcnRhbnQgdGhhdCBzdGFuZGFyZCBKYXZhc2NyaXB0IEFQSXMgYXJlIGRldmVsb3BlZCB0 byBzdXBwb3J0IGFwcGxpY2F0aW9ucyBmcm9tIGRpZmZlcmVudCB2b2ljZSBzZXJ2aWNlIHByb3Zp ZGVycy4gTXVsdGlwbGUgcGFydGllcyB3aWxsIGhhdmUgc2ltaWxhciBjYXBhYmlsaXRpZXMsIGlu IG9yZGVyIHRvIGVuc3VyZSB0aGF0IGFsbCBwYXJ0aWVzIGNhbiBidWlsZCB1cG9uIGV4aXN0aW5n IHN0YW5kYXJkcyB0aGVzZSBuZWVkIHRvIGJlIGFkYXB0YWJsZSwgYW5kIGFsbG93IGZvciBwZXJt aXNzaW9ubGVzcyBpbm5vdmF0aW9uLg0KDQpJbXBhY3RzOg0KDQotIFJpZ2h0IHRvIGVkdWNhdGlv bg0KLSBGcmVlZG9tIG9mIGV4cHJlc3Npb24NCi0gRnJlZWRvbSBvZiBhc3NlbWJseSBhbmQgYXNz b2NpYXRpb24NCg0KDQpBY2tub3dsZWRnZW1lbnRzDQo9PT09PT09PT09PT09PT09DQpBIHNwZWNp YWwgdGhhbmtzIHRvIGFsbCBtZW1iZXJzIG9mIHRoZSBocnBjIFJHIHdobyBjb250cmlidXRlZCB0 byB0aGlzIGRyYWZ0LiBUaGUgZm9sbG93aW5nIGRlc2VydmUgYSBzcGVjaWFsIG1lbnRpb246DQoN Ci0gSm9hbmEgVmFyb24gZm9yIGhlbHBpbmcgZHJhZnQgdGhlIGZpcnN0IGl0ZXJhdGlvbiBvZiB0 aGUgbWV0aG9kb2xvZ3ksIHByZXZpb3VzIGRyYWZ0cyBhbmQgdGhlIGRpcmVjdGlvbiBvZiB0aGUg ZmlsbSBOZXQgb2YgUmlnaHRzIGFuZCB3b3JraW5nIG9uIHRoZSBpbnRlcnZpZXdzIGF0IElFVEY5 MiBpbiBEYWxsYXMuDQoNCi0gRGFuaWVsIEthaG4gR2lsbG1vciAoZGtnKSBmb3IgaGVscGluZyB3 aXRoIHRoZSBmaXJzdCBpdGVyYXRpb24gb2YgdGhlIGdsb3NzYXJ5IGFzIHdlbGwgYXMgYSBsb3Qg b2YgdGVjaG5pY2FsIGd1aWRhbmNlLCBzdXBwb3J0IGFuZCBsYW5ndWFnZSBzdWdnZXN0aW9ucy4N Cg0KLSBDbGF1ZGlvIEd1YXJuaWVyaSBmb3Igd3JpdGluZyB0aGUgZmlyc3QgaXRlcmF0aW9ucyBv ZiB0aGUgY2FzZSBzdHVkaWVzIG9uIFZQTiwgSFRUUCwgYW5kIFBlZXIgdG8gUGVlci4NCg0KLSBX aWxsIFNjb3R0IGZvciB3cml0aW5nIHRoZSBmaXJzdCBpdGVyYXRpb25zIG9mIHRoZSBjYXNlIHN0 dWRpZXMgb24gRE5TLCBJUCwgWE1QUC4NCg0KLSBBdnJpIERvcmlhIGZvciBwcm9wb3Npbmcgd3Jp dGluZyBhIGdsb3NzYXJ5IGluIHRoZSBmaXJzdCBwbGFjZSwgaGVscCB3cml0aW5nIHRoZSBpbml0 aWFsIHByb3Bvc2FscyBhbmQgSW50ZXJuZXQgRHJhZnRzIGFuZCBjb250cmlidXRpbmcgdG8gdGhl IGdsb3NzYXJ5Lg0KDQphbmQgU3RlcGhhbmUgQm9ydHptZXllciwgQmFycnkgU2hlaW4sIEpvZSBI YWxsLCBKb3NzIFdyaWdodCwgYW5kIFRpbSBTYW1tdXQgd2hvIG1hZGUgYSBsb3Qgb2YgZXhjZWxs ZW50IHN1Z2dlc3Rpb25zLCBtYW55IG9mIHdoaWNoIGZvdW5kIHRoZWlyIHdheSBkaXJlY3RseSBp bnRvIHRoZSB0ZXh0Lg0KV2Ugd291bGQgYWxzbyBsaWtlIHRvIHRoYW5rIE1vbGx5IFNhdXRlciwg QXJ0dXJvIEZpbGFzdG8sIE5hdGhhbGllIE1hcmVjaGFsLCBFbGVhbm9yIFNhaXR0YSBhbmQgYWxs IG90aGVycyB3aG8gcHJvdmlkZWQgaW5wdXQgb24gdGhlIGRyYWZ0IG9yIHRoZSBjb25jZXB0dWFs aXphdGlvbiBvZiB0aGUgaWRlYS4NCg0KU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMNCj09PT09PT09 PT09PT09PT09PT09PT09DQpBcyB0aGlzIGRvY3VtZW50IGNvbmNlcm5zIGEgcmVzZWFyY2ggZG9j dW1lbnQsIHRoZXJlIGFyZSBubyBzZWN1cml0eSBjb25zaWRlcmF0aW9ucy4NCg0KSUFOQSBDb25z aWRlcmF0aW9ucw0KPT09PT09PT09PT09PT09PT09PQ0KVGhpcyBkb2N1bWVudCBoYXMgbm8gYWN0 aW9ucyBmb3IgSUFOQS4NCg0KUmVzZWFyY2ggR3JvdXAgSW5mb3JtYXRpb24NCj09PT09PT09PT09 PT09PT09PT09PT09PT09DQpUaGUgZGlzY3Vzc2lvbiBsaXN0IGZvciB0aGUgSVJURiBIdW1hbiBS aWdodHMgUHJvdG9jb2wgQ29uc2lkZXJhdGlvbnMgcHJvcG9zZWQgd29ya2luZyBncm91cCBpcyBs b2NhdGVkIGF0IHRoZSBlLW1haWwgYWRkcmVzcyA8aHJwY0BpZXRmLm9yZz4uIEluZm9ybWF0aW9u IG9uIHRoZSBncm91cCBhbmQgaW5mb3JtYXRpb24gb24gaG93IHRvIHN1YnNjcmliZSB0byB0aGUg bGlzdCBpcyBhdA0KPGh0dHBzOi8vd3d3LmlydGYub3JnL21haWxtYW4vbGlzdGluZm8vaHJwYz4N Cg0KQXJjaGl2ZXMgb2YgdGhlIGxpc3QgY2FuIGJlIGZvdW5kIGF0Og0KPGh0dHBzOi8vd3d3Lmly dGYub3JnL21haWwtYXJjaGl2ZS93ZWIvaHJwYy9jdXJyZW50L2luZGV4Lmh0bWw+DQoNCg== --94eb2c055f6875f0990532ada066 Content-Type: text/xml; charset=UTF-8; name="draft-research2.xml" Content-Disposition: attachment; filename="draft-research2.xml" Content-Transfer-Encoding: base64 X-Attachment-Id: f_io4xo3zb3 PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KICA8P3htbC1zdHlsZXNoZWV0 IHR5cGU9InRleHQveHNsIiBocmVmPSJyZmMyNjI5LnhzbHQiID8+CiAgPCEtLSBnZW5lcmF0ZWQg YnkgaHR0cHM6Ly9naXRodWIuY29tL2NhYm8va3JhbWRvd24tcmZjMjYyOSB2ZXJzaW9uIDEuMC4z MCAtLT4KCjwhRE9DVFlQRSByZmMgU1lTVEVNICJyZmMyNjI5LmR0ZCIgWwpdPgoKPD9yZmMgcmZj ZWRzdHlsZT0ieWVzIj8+Cjw/cmZjIHRvYz0ieWVzIj8+Cjw/cmZjIHRvY2luZGVudD0ieWVzIj8+ Cjw/cmZjIHNvcnRyZWZzPSJ5ZXMiPz4KPD9yZmMgc3ltcmVmcz0ieWVzIj8+Cjw/cmZjIHN0cmlj dD0ieWVzIj8+Cjw/cmZjIGNvbW1lbnRzPSJ5ZXMiPz4KPD9yZmMgaW5saW5lPSJ5ZXMiPz4KPD9y ZmMgdGV4dC1saXN0LXN5bWJvbHM9Ii1vKisiPz4KCjxyZmMgaXByPSJ0cnVzdDIwMDkwMiIgZG9j TmFtZT0iZHJhZnQtdGVub2V2ZXItaHJwYy1yZXNlYXJjaC0wMSIgY2F0ZWdvcnk9ImluZm8iPgoK ICA8ZnJvbnQ+CiAgICA8dGl0bGUgYWJicmV2PSJocnBjciI+UmVzZWFyY2ggaW50byBIdW1hbiBS aWdodHMgUHJvdG9jb2wgQ29uc2lkZXJhdGlvbnM8L3RpdGxlPgoKICAgIDxhdXRob3IgaW5pdGlh bHM9Ik4uIiBzdXJuYW1lPSJ0ZW4gT2V2ZXIiIGZ1bGxuYW1lPSJOaWVscyB0ZW4gT2V2ZXIiPgog ICAgICA8b3JnYW5pemF0aW9uPkFydGljbGUxOTwvb3JnYW5pemF0aW9uPgogICAgICA8YWRkcmVz cz4KICAgICAgICA8ZW1haWw+bmllbHNAYXJ0aWNsZTE5Lm9yZzwvZW1haWw+CiAgICAgIDwvYWRk cmVzcz4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0iQy5KLk4uIiBzdXJuYW1l PSJDYXRoIiBmdWxsbmFtZT0iQ29yaW5uZSBDYXRoIj4KICAgICAgPG9yZ2FuaXphdGlvbj5PeGZv cmQgSW50ZXJuZXQgSW5zdGl0dXRlPC9vcmdhbml6YXRpb24+CiAgICAgIDxhZGRyZXNzPgogICAg ICAgIDxlbWFpbD5jb3Jpbm5lY2F0aEBnbWFpbC5jb208L2VtYWlsPgogICAgICA8L2FkZHJlc3M+ CiAgICA8L2F1dGhvcj4KCiAgICA8ZGF0ZSB5ZWFyPSIyMDE2IiBtb250aD0iTWF5IiBkYXk9IjEz Ii8+CgogICAgPGFyZWE+R2VuZXJhbDwvYXJlYT4KICAgIDx3b3JrZ3JvdXA+SHVtYW4gUmlnaHRz IFByb3RvY29sIENvbnNpZGVyYXRpb25zIFJlc2VhcmNoIEdyb3VwPC93b3JrZ3JvdXA+CiAgICA8 a2V5d29yZD5JbnRlcm5ldC1EcmFmdDwva2V5d29yZD4KCiAgICA8YWJzdHJhY3Q+CgoKPHQ+VGhl IGluY3JlYXNlZCBpbnRlcnR3aW5lbWVudCBvZiBJbnRlcm5ldCBhbmQgc29jaWV0eSBpbmNyZWFz ZXMgdGhlIGltcGFjdCBvZiB0aGUgSW50ZXJuZXQgb24gdGhlIGxpdmVzIG9mIGluZGl2aWR1YWxz LiBCZWNhdXNlIG9mIHRoaXMsIHRoZSBkZXNpZ24gYW5kIGRldmVsb3BtZW50IG9mIHRoZSBhcmNo aXRlY3R1cmUgb2YgdGhlIEludGVybmV0IGFsc28gaGFzIGFuIGluY3JlYXNpbmcgaW1wYWN0IG9u IHNvY2lldHkuIFRoaXMgaGFzIGxlZCB0byBhbiBpbmNyZWFzaW5nIHJlY29nbml0aW9uIHRoYXQg aHVtYW4gcmlnaHRzIDx4cmVmIHRhcmdldD0iVURIUiIvPiA8eHJlZiB0YXJnZXQ9IklDQ1BSIi8+ IDx4cmVmIHRhcmdldD0iSUNFU0NSIi8+IGhhdmUgYSByb2xlIGluIHRoZSBkZXZlbG9wbWVudCBh bmQgbWFuYWdlbWVudCBvZiB0aGUgSW50ZXJuZXQgPHhyZWYgdGFyZ2V0PSJIUkMyMDEyIi8+IDx4 cmVmIHRhcmdldD0iVU5HQTIwMTMiLz4gPHhyZWYgdGFyZ2V0PSJORVRtdW5kaWFsIi8+LiBJdCBo YXMgYWxzbyBiZWVuIGFyZ3VlZCB0aGF0IHRoZSBJbnRlcm5ldCBzaG91bGQgYmUgc3RyZW5ndGhl bmVkIGFzIGEgaHVtYW4gcmlnaHRzIGVuYWJsaW5nIGVudmlyb25tZW50IDx4cmVmIHRhcmdldD0i QnJvd24iLz4uPC90PgoKPHQ+VGhpcyBkb2N1bWVudCBwcm92aWRlcyBhIHByb3Bvc2FsIGZvciBh IGdsb3NzYXJ5IHRvIGRpc2N1c3MgdGhlIHJlbGF0aW9uIGJldHdlZW4gaHVtYW4gcmlnaHRzIGFu ZCBJbnRlcm5ldCBwcm90b2NvbHMsIGFuIG92ZXJ2aWV3IG9mIHRoZSBkaXNjdXNzaW9uLCBhIHBy b3Bvc2FsIGZvciB0aGUgbWFwcGluZyBvZiB0aGUgcmVsYXRpb24gYmV0d2VlbiBodW1hbiByaWdo dHMgYW5kIHRlY2huaWNhbCBjb25jZXB0cywgYW5kIGEgcHJvcG9zYWwgZm9yIGd1aWRlbGluZXMg Zm9yIGh1bWFuIHJpZ2h0cyBjb25zaWRlcmF0aW9ucywgc2ltaWxhciB0byB0aGUgd29yayBkb25l IG9uIHRoZSBndWlkZWxpbmVzIGZvciBwcml2YWN5IGNvbnNpZGVyYXRpb25zIDx4cmVmIHRhcmdl dD0iUkZDNjk3MyIvPi48L3Q+Cgo8dD5EaXNjdXNzaW9uIG9mIHRoaXMgZHJhZnQgYXQ6IGhycGNA aXJ0Zi5vcmcgLy8gaHR0cHM6Ly93d3cuaXJ0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9ocnBjPC90 PgoKCgogICAgPC9hYnN0cmFjdD4KCgogIDwvZnJvbnQ+CgogIDxtaWRkbGU+CgoKPHNlY3Rpb24g YW5jaG9yPSJpbnRyb2R1Y3Rpb24iIHRpdGxlPSJJbnRyb2R1Y3Rpb24iPgoKPGZpZ3VyZT48YXJ0 d29yaz48IVtDREFUQVsKIlRoZXJlJ3MgYSBmcmVlZG9tIGFib3V0IHRoZSBJbnRlcm5ldDogQXMg bG9uZyBhcyB3ZSBhY2NlcHQgdGhlCiAgIHJ1bGVzIG9mIHNlbmRpbmcgcGFja2V0cyBhcm91bmQs IHdlIGNhbiBzZW5kIHBhY2tldHMgY29udGFpbmluZwogICBhbnl0aGluZyB0byBhbnl3aGVyZS4i Cl1dPjwvYXJ0d29yaz48L2ZpZ3VyZT4KCjx0Pjx4cmVmIHRhcmdldD0iQmVybmVycy1MZWUiLz48 L3Q+Cgo8dD5UaGlzIGRvY3VtZW50IGFpbXMgdG8gZXhwb3NlIHRoZSByZWxhdGlvbiBiZXR3ZWVu IHByb3RvY29scyBhbmQgaHVtYW4gcmlnaHRzLCBwcm9wb3NlIHBvc3NpYmxlIGd1aWRlbGluZXMg dG8gcHJvdGVjdCB0aGUgSW50ZXJuZXQgYXMgYSBodW1hbi1yaWdodHMtZW5hYmxpbmcgZW52aXJv bm1lbnQgaW4gZnV0dXJlIHByb3RvY29sIGRldmVsb3BtZW50LCBpbiBhIG1hbm5lciBzaW1pbGFy IHRvIHRoZSB3b3JrIGRvbmUgZm9yIFByaXZhY3kgQ29uc2lkZXJhdGlvbnMgaW4gPHhyZWYgdGFy Z2V0PSJSRkM2OTczIi8+LCBhbmQgdG8gaW5jcmVhc2UgdGhlIGF3YXJlbmVzcyBpbiBib3RoIHRo ZSBodW1hbiByaWdodHMgY29tbXVuaXR5IGFuZCB0aGUgdGVjaG5pY2FsIGNvbW11bml0eSBvbiB0 aGUgaW1wb3J0YW5jZSBvZiB0aGUgdGVjaG5pY2FsIHdvcmtpbmdzIG9mIHRoZSBJbnRlcm5ldCBh bmQgaXRzIGltcGFjdCBvbiBodW1hbiByaWdodHMuPC90PgoKPHQ+T3Blbiwgc2VjdXJlIGFuZCBy ZWxpYWJsZSBjb25uZWN0aXZpdHkgaXMgbmVjZXNzYXJ5IChhbHRob3VnaCBub3Qgc3VmZmljaWVu dCkgdG8gZXhjZXJjaXNlIHRoZSBodW1hbiByaWdodHMgc3VjaCBhcyBmcmVlZG9tIG9mIGV4cHJl c3Npb24gYW5kIGZyZWVkb20gb2YgYXNzb2NpYXRpb24sIGFzIGRlZmluZWQgaW4gdGhlIFVuaXZl cnNhbCBEZWNsYXJhdGlvbiBvZiBIdW1hbiBSaWdodHMgPHhyZWYgdGFyZ2V0PSJVREhSIi8+LiBU aGUgSW50ZXJuZXQgYWltcyB0byBiZSBhIGdsb2JhbCBuZXR3b3JrIG9mIG5ldHdvcmtzIHRoYXQg cHJvdmlkZXMgdW5mZXR0ZXJlZCBjb25uZWN0aXZpdHkgdG8gYWxsIHVzZXJzIGF0IGFsbCB0aW1l cyBhbmQgZm9yIGFueSBjb250ZW50IDx4cmVmIHRhcmdldD0iUkZDMTk1OCIvPi4gVGhpcyBvYmpl Y3RpdmUgb2Ygc3RpbXVsYXRpbmcgZ2xvYmFsIGNvbm5lY3Rpdml0eSBjb250cmlidXRlcyB0byB0 aGUgSW50ZXJuZXTigJlzIHJvbGUgYXMgYW4gZW5hYmxlciBvZiBodW1hbiByaWdodHMuIE5leHQg dG8gdGhhdCwgdGhlIHN0cm9uZyBjb21taXRtZW50IHRvIHNlY3VyaXR5IDx4cmVmIHRhcmdldD0i UkZDMTk4NCIvPiA8eHJlZiB0YXJnZXQ9IlJGQzMzNjUiLz4gYW5kIHByaXZhY3kgPHhyZWYgdGFy Z2V0PSJSRkM2OTczIi8+IDx4cmVmIHRhcmdldD0iUkZDNzI1OCIvPiBpbiB0aGUgSW50ZXJuZXTi gJlzIGFyY2hpdGVjdHVyYWwgZGVzaWduIGNvbnRyaWJ1dGUgdG8gdGhlIHN0cmVuZ3RoZW5pbmcg b2YgdGhlIEludGVybmV0IGFzIGEgaHVtYW4gcmlnaHRzIGVuYWJsaW5nIGVudmlyb25tZW50LiBP bmUgY291bGQgZXZlbiBhcmd1ZSB0aGF0IHRoZSBJbnRlcm5ldCBpcyBub3Qgb25seSBhbiBlbmFi bGVyIG9mIGh1bWFuIHJpZ2h0cywgYnV0IHRoYXQgaHVtYW4gcmlnaHRzIGxpZSBhdCB0aGUgYmFz aXMgb2YsIGFuZCBhcmUgaW5ncmFpbmVkIGluLCB0aGUgYXJjaGl0ZWN0dXJlIG9mIHRoZSBuZXR3 b3JrLiBJbnRlcm5ldCBjb25uZWN0aXZpdHkgaW5jcmVhc2VzIHRoZSBjYXBhY2l0eSBmb3IgaW5k aXZpZHVhbHMgdG8gZXhlcmNpc2UgdGhlaXIgcmlnaHRzLCB0aGUgY29yZSBvZiB0aGUgSW50ZXJu ZXQsIGl0cyBhcmNoaXRlY3R1cmFsIGRlc2lnbiBpcyB0aGVyZWZvcmUgY2xvc2VseSBpbnRlcnR3 aW5lZCB3aXRoIHRoZSBodW1hbiByaWdodHMgZnJhbWV3b3JrIDx4cmVmIHRhcmdldD0iQ2F0aGFu ZEZsb3JpZGkiLz4uPC90PgoKPHQ+V2hpbGUgdGhlIEludGVybmV0IHdhcyBkZXNpZ25lZCB3aXRo IGZyZWVkb20gYW5kIG9wZW5uZXNzIG9mIGNvbW11bmljYXRpb25zIGFzIGNvcmUgdmFsdWVzLCBh cyB0aGUgc2NhbGUgYW5kIHRoZSBjb21tZXJjaWFsaXphdGlvbiBvZiB0aGUgSW50ZXJuZXQgZ3Jl dywgdG9waWNzIGxpa2UgYWNjZXNzLCByaWdodHMgYW5kIGNvbm5lY3Rpdml0eSBhcmUgZm9yY2Vk IHRvIGNvbXBldGUgd2l0aCBvdGhlciB2YWx1ZXMuIFRoZXJlZm9yZSwgaW1wb3J0YW50IGh1bWFu IHJpZ2h0cyBlbmFibGluZyBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIEludGVybmV0IG1pZ2h0IGJl IGRlZ3JhZGVkIGlmIHRoZXnigJlyZSBub3QgcHJvcGVybHkgZGVmaW5lZCwgZGVzY3JpYmVkIGFu ZCBwcm90ZWN0ZWQgYXMgc3VjaC4gQW5kLCB0aGUgb3RoZXIgd2F5IGFyb3VuZCwgbm90IHByb3Rl Y3RpbmcgaHVtYW4gcmlnaHQgZW5hYmxpbmcgY2hhcmFjdGVyaXN0aWNzIGNvdWxkIGFsc28gcmVz dWx0IGluIChwYXJ0aWFsKSBsb3NzIG9mIGZ1bmN0aW9uYWxpdHkgYW5kIGNvbm5lY3Rpdml0eSwg YW5kIG90aGVyIGluaGVyZW50IHBhcnRzIG9mIHRoZSBJbnRlcm5ldOKAmXMgYXJjaGl0ZWN0dXJl LjwvdD4KCjx0PlRoZSBJRVRGIGhhcyBwcm9kdWNlZCBndWlkZWxpbmVzIGFuZCBwcm9jZWR1cmVz IHRvIGVuc3VyZSBhbmQgZ2FsdmFuaXplIHRoZSBwcml2YWN5IGFuZCBzZWN1cml0eSBvZiB0aGUg bmV0d29yayBpbiBwcm90b2NvbCBkZXZlbG9wbWVudC4gVGhpcyBkb2N1bWVudCBhaW1zIHRvIGV4 cGxvcmUgdGhlIHBvc3NpYmlsaXR5IG9mIHRoZSBkZXZlbG9wbWVudCBvZiBzaW1pbGFyIHByb2Nl ZHVyZXMgZm9yIGd1aWRlbGluZXMgZm9yIGh1bWFuIHJpZ2h0cyBjb25zaWRlcmF0aW9ucyB0byBl bnN1cmUgdGhhdCBwcm90b2NvbHMgZGV2ZWxvcGVkIGluIHRoZSBJRVRGIGRvIG5vdCBoYXZlIGFu IGFkdmVyc2UgaW1wYWN0IG9uIHRoZSBlbmpveW1lbnQgb2YgaHVtYW4gcmlnaHRzIG9uIHRoZSBJ bnRlcm5ldC48L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0idm9jYWJ1bGFyeS11c2Vk IiB0aXRsZT0iVm9jYWJ1bGFyeSB1c2VkIj4KCjx0PkluIHRoZSBkaXNjdXNzaW9uIG9mIGh1bWFu IHJpZ2h0cyBhbmQgSW50ZXJuZXQgYXJjaGl0ZWN0dXJlIGNvbmNlcHRzIGRldmVsb3BlZCBpbiBj b21wdXRlciBzY2llbmNlLCBuZXR3b3JraW5nLCBsYXcsIHBvbGljeS1tYWtpbmcgYW5kIGFkdm9j YWN5IGFyZSBjb21pbmcgdG9nZXRoZXIuIFRoZSBzYW1lIGNvbmNlcHRzIG1pZ2h0IGhhdmUgYSB2 ZXJ5IGRpZmZlcmVudCBtZWFuaW5nIGFuZCBpbXBsaWNhdGlvbnMgaW4gb3RoZXIgYXJlYXMgb2Yg ZXhwZXJ0aXNlLiBJbiBvcmRlciB0byBmb3N0ZXIgYSBjb25zdHJ1Y3RpdmUgaW50ZXJkaXNjaXBs aW5hcnkgZGViYXRlLCBhbmQgbWluaW1pemUgZGlmZmVyZW5jZXMgaW4gaW50ZXJwcmV0YXRpb24s IHRoZSBmb2xsb3dpbmcgZ2xvc3NhcnkgaXMgcHJvdmlkZWQuPC90PgoKPHQ+PGxpc3Qgc3R5bGU9 ImhhbmdpbmciPgogIDx0IGhhbmdUZXh0PSdBY2Nlc3NpYmlsaXR5Jz4KICBGdWxsIEludGVybmV0 IENvbm5lY3Rpdml0eSBhcyBkZXNjcmliZWQgaW4gPHhyZWYgdGFyZ2V0PSJSRkM0MDg0Ii8+IHRv IHByb3ZpZGUgdW5mZXR0ZXJlZCBhY2Nlc3MgdG8gdGhlIEludGVybmV0PC90PgogIDx0PlRoZSBk ZXNpZ24gb2YgcHJvdG9jb2xzLCBzZXJ2aWNlcyBvciBpbXBsZW1lbnRhdGlvbiB0aGF0IHByb3Zp ZGUgYW4gZW5hYmxpbmcgZW52aXJvbm1lbnQgZm9yIHBlb3BsZSB3aXRoIGRpc2FiaWxpdGllcy48 L3Q+CiAgPHQ+VGhlIGFiaWxpdHkgdG8gcmVjZWl2ZSBpbmZvcm1hdGlvbiBhdmFpbGFibGUgb24g dGhlIEludGVybmV0PC90PgogIDx0IGhhbmdUZXh0PSdBbm9ueW1pdHknPgogIFRoZSBjb25kaXRp b24gb2YgYW4gaWRlbnRpdHkgYmVpbmcgdW5rbm93biBvciBjb25jZWFsZWQuIDx4cmVmIHRhcmdl dD0iUkZDNDk0OSIvPjwvdD4KICA8dCBoYW5nVGV4dD0nQW5vbnltb3VzJz4KICBBIHN0YXRlIG9m IGFuIGluZGl2aWR1YWwgaW4gd2hpY2ggYW4gb2JzZXJ2ZXIgb3IgYXR0YWNrZXIgY2Fubm90IGlk ZW50aWZ5IHRoZSBpbmRpdmlkdWFsIHdpdGhpbiBhIHNldCBvZiBvdGhlciAgaW5kaXZpZHVhbHMg KHRoZSBhbm9ueW1pdHkgc2V0KS4gPHhyZWYgdGFyZ2V0PSJSRkM2OTczIi8+PC90PgogIDx0IGhh bmdUZXh0PSdBdXRoZW50aWNpdHknPgogIFRoZSBmYWN0IHRoYXQgdGhlIGRhdGEgZG9lcyBpbmRl ZWQgY29tZSBmcm9tIHRoZSBzb3VyY2UgaXQgY2xhaW1zIHRvIGNvbWUgZnJvbS4gKEl0IGlzIHN0 cm9uZ2x5IGxpbmtlZCB3aXRoIEludGVncml0eSwgc2VlIGJlbG93KS48L3Q+CiAgPHQgaGFuZ1Rl eHQ9J0NlbnNvcnNoaXAgcmVzaXN0YW5jZSc+CiAgTWV0aG9kcyBhbmQgbWVhc3VyZXMgdG8gcHJl dmVudCBJbnRlcm5ldCBjZW5zb3JzaGlwLjwvdD4KICA8dCBoYW5nVGV4dD0nQ29uZmlkZW50aWFs aXR5Jz4KICBUaGUgbm9uLWRpc2Nsb3N1cmUgb2YgaW5mb3JtYXRpb24gdG8gYW55IHVuaW50ZW5k ZWQgcGVyc29uIG9yIGhvc3Qgb3IgcGFydHkuPC90PgogIDx0IGhhbmdUZXh0PSdDb25uZWN0aXZp dHknPgogIFRoZSBleHRlbnQgdG8gd2hpY2ggYSBkZXZpY2Ugb3IgbmV0d29yayBpcyBhYmxlIHRv IHJlYWNoIG90aGVyIGRldmljZXMgb3IgbmV0d29ya3MgdG8gZXhjaGFuZ2UgZGF0YS4gVGhlIElu dGVybmV0IGlzIHRoZSB0b29sIGZvciBwcm92aWRpbmcgZ2xvYmFsIGNvbm5lY3Rpdml0eSA8eHJl ZiB0YXJnZXQ9IlJGQzE5NTgiLz4uPC90PgogIDx0IGhhbmdUZXh0PSdDb250ZW50LWFnbm9zdGlj aXNtJz4KICBUcmVhdGluZyBuZXR3b3JrIHRyYWZmaWMgaWRlbnRpY2FsbHkgcmVnYXJkbGVzcyBv ZiBjb250ZW50LjwvdD4KICA8dCBoYW5nVGV4dD0nRGVidWdnaW5nJz4KICBEZWJ1Z2dpbmcgaXMg YSBtZXRob2RpY2FsIHByb2Nlc3Mgb2YgZmluZGluZyBhbmQgcmVkdWNpbmcgdGhlIG51bWJlciBv ZiBidWdzLCBvciBkZWZlY3RzLCBvciBtYWxmdW5jdGlvbnMgaW4gYSBwcm90b2NvbCBvciBpdHMg aW1wbGVtZW50YXRpb24sIHRodXMgbWFraW5nIGl0IGJlaGF2ZSBhcyBleHBlY3RlZC4gSXQgYWxz byBpbmNsdWRlcyBhbmFseXppbmcgdGhlIGNvbnNlcXVlbmNlcyB0aGF0IG1pZ2h0IGhhdmUgZW1h bmF0ZSBmcm9tIHRoZSBlcnJvci4gRGVidWdnaW5nIHRlbmRzIHRvIGJlIGhhcmRlciB3aGVuIHZh cmlvdXMgc3Vic3lzdGVtcyBhcmUgdGlnaHRseSBjb3VwbGVkLCBhcyBjaGFuZ2VzIGluIG9uZSBt YXkgY2F1c2UgYnVncyB0byBlbWVyZ2UgaW4gYW5vdGhlci4gPHhyZWYgdGFyZ2V0PSJXUC1EZWJ1 Z2dpbmciLz48L3Q+CiAgPHQ+VGhlIHByb2Nlc3MgdGhyb3VnaCB3aGljaCBwZW9wbGUgdHJvdWJs ZXNob290IGEgdGVjaG5pY2FsIGlzc3VlLCB3aGljaCBtYXkgaW5jbHVkZSBpbnNwZWN0aW9uIG9m IHByb2dyYW0gc291cmNlIGNvZGUgb3IgZGV2aWNlIGNvbmZpZ3VyYXRpb25zLiBDYW4gYWxzbyBp bmNsdWRlIHRyYWNpbmcgb3IgbW9uaXRvcmluZyBwYWNrZXQgZmxvdy48L3Q+CiAgPHQgaGFuZ1Rl eHQ9J0RlY2VudHJhbGl6ZWQnPgogIE9wcG9ydHVuaXR5IGZvciBpbXBsZW1lbnRhdGlvbiBvciBk ZXBsb3ltZW50IG9mIHN0YW5kYXJkcywgcHJvdG9jb2xzIG9yIHN5c3RlbXMgd2l0aG91dCBvbmUg c2luZ2xlIHBvaW50IG9mIGNvbnRyb2wuPC90PgogIDx0IGhhbmdUZXh0PSdFbmQtdG8tRW5kJz4K ICBUaGUgcHJpbmNpcGFsIG9mIGV4dGVuZGluZyBjaGFyYWN0ZXJpc3RpY3Mgb2YgYSBwcm90b2Nv bCBvciBzeXN0ZW0gYXMgZmFyIGFzIHBvc3NpYmxlIHdpdGhpbiB0aGUgc3lzdGVtLiBGb3IgZXhh bXBsZSwgZW5kLXRvLWVuZCBpbnN0YW50IG1lc3NhZ2UgZW5jcnlwdGlvbiB3b3VsZCBjb25jZWFs IGNvbW11bmljYXRpb25zIGZyb20gb25lIHVzZXLigJlzIGluc3RhbnQgbWVzc2FnaW5nIGFwcGxp Y2F0aW9uIHRocm91Z2ggYW55IGludGVybWVkaWF0ZSBkZXZpY2VzIGFuZCBzZXJ2ZXJzIGFsbCB0 aGUgd2F5IHRvIHRoZSByZWNpcGllbnTigJlzIGluc3RhbnQgbWVzc2FnaW5nIGFwcGxpY2F0aW9u LiBJZiB0aGUgbWVzc2FnZSB3YXMgZGVjcnlwdGVkIGF0IGFueSBpbnRlcm1lZGlhdGUgcG9pbnTi gJNmb3IgZXhhbXBsZSBhdCBhIHNlcnZpY2UgcHJvdmlkZXLigJN0aGVuIHRoZSBwcm9wZXJ0eSBv ZiBlbmQtdG8tZW5kIGVuY3J5cHRpb24gd291bGQgbm90IGJlIHByZXNlbnQuPC90PgogIDx0Pk9u ZSBvZiB0aGUga2V5IGFyY2hpdGVjdHVyYWwgZ3VpZGVsaW5lcyBvZiB0aGUgSW50ZXJuZXQgaXMg dGhlIGVuZC10by1lbmQgcHJpbmNpcGxlIGluIHRoZSBwYXBlcnMgYnkgU2FsdHplciwgUmVlZCwg YW5kIENsYXJrIDx4cmVmIHRhcmdldD0iU2FsdHplciIvPiA8eHJlZiB0YXJnZXQ9IkNsYXJrIi8+ LiBUaGUgZW5kLXRvLWVuZCBwcmluY2lwbGUgd2FzIG9yaWdpbmFsbHkgYXJ0aWN1bGF0ZWQgYXMg YSBxdWVzdGlvbiBvZiB3aGVyZSBiZXN0IG5vdCB0byBwdXQgZnVuY3Rpb25zIGluIGEgY29tbXVu aWNhdGlvbiBzeXN0ZW0uIFlldCwgaW4gdGhlIGVuc3VpbmcgeWVhcnMsIGl0IGhhcyBldm9sdmVk IHRvIGFkZHJlc3MgY29uY2VybnMgb2YgbWFpbnRhaW5pbmcgb3Blbm5lc3MsIGluY3JlYXNpbmcg cmVsaWFiaWxpdHkgYW5kIHJvYnVzdG5lc3MsIGFuZCBwcmVzZXJ2aW5nIHRoZSBwcm9wZXJ0aWVz IG9mIHVzZXIgY2hvaWNlIGFuZCBlYXNlIG9mIG5ldyBzZXJ2aWNlIGRldmVsb3BtZW50IGFzIGRp c2N1c3NlZCBieSBCbHVtZW50aGFsIGFuZCBDbGFyayBpbiA8eHJlZiB0YXJnZXQ9IkJsdW1lbnRo YWwiLz47IGNvbmNlcm5zIHRoYXQgd2VyZSBub3QgcGFydCBvZiB0aGUgb3JpZ2luYWwgYXJ0aWN1 bGF0aW9uIG9mIHRoZSBlbmQtdG8tZW5kIHByaW5jaXBsZS4gPHhyZWYgdGFyZ2V0PSJSRkMzNzI0 Ii8+PC90PgogIDx0PmNvbW11bmljYXRpb24gdGhhdCB0YWtlcyBwbGFjZSBiZXR3ZWVuIGNvbW11 bmljYXRpb24gZW5kLXBvaW50cyBvZiB0aGUgc2FtZSBwaHlzaWNhbCBvciBsb2dpY2FsIGZ1bmN0 aW9uYWwgbGV2ZWw8L3Q+CiAgPHQgaGFuZ1RleHQ9J0ZlZGVyYXRpb24nPgogIFRoZSBwb3NzaWJp bGl0eSBvZiBjb25uZWN0aW5nIGF1dG9ub21vdXMgc3lzdGVtcyBpbnRvIGEgc2luZ2xlIGRpc3Ry aWJ1dGVkIHN5c3RlbS48L3Q+CiAgPHQgaGFuZ1RleHQ9J0hldGVyb2dlbml0eSc+CiAgVGhlIElu dGVybmV0IGlzIGNoYXJhY3Rlcml6ZWQgYnkgaGV0ZXJvZ2VuZWl0eSBvbiBtYW55IGxldmVsczog ZGV2aWNlcyBhbmQgbm9kZXMsIHJvdXRlciBzY2hlZHVsaW5nIGFsZ29yaXRobXMgYW5kIHF1ZXVl IG1hbmFnZW1lbnQgbWVjaGFuaXNtcywgcm91dGluZyBwcm90b2NvbHMsIGxldmVscyBvZiBtdWx0 aXBsZXhpbmcsIHByb3RvY29sIHZlcnNpb25zIGFuZCBpbXBsZW1lbnRhdGlvbnMsIHVuZGVybHlp bmcgbGluayBsYXllcnMgKGUuZy4sIHBvaW50LXRvLXBvaW50LCBtdWx0aS1hY2Nlc3MgbGlua3Ms IHdpcmVsZXNzLCBGRERJLCBldGMuKSwgaW4gdGhlIHRyYWZmaWMgbWl4IGFuZCBpbiB0aGUgbGV2 ZWxzIG9mIGNvbmdlc3Rpb24gYXQgZGlmZmVyZW50IHRpbWVzIGFuZCBwbGFjZXMuIE1vcmVvdmVy LCBhcyB0aGUgSW50ZXJuZXQgaXMgY29tcG9zZWQgb2YgYXV0b25vbW91cyBvcmdhbml6YXRpb25z IGFuZCBJbnRlcm5ldCBzZXJ2aWNlIHByb3ZpZGVycywgZWFjaCB3aXRoIHRoZWlyIG93biBzZXBh cmF0ZSBwb2xpY3kgY29uY2VybnMsdGhlcmUgaXMgYSBsYXJnZSBoZXRlcm9nZW5laXR5IG9mIGFk bWluaXN0cmF0aXZlIGRvbWFpbnMgYW5kIHByaWNpbmcgc3RydWN0dXJlcy4gQXMgYSByZXN1bHQs IHRoZSBoZXRlcm9nZW5laXR5IHByaW5jaXBsZSBwcm9wb3NlZCBpbiA8eHJlZiB0YXJnZXQ9IlJG QzE5NTgiLz4gbmVlZHMgdG8gYmUgc3VwcG9ydGVkIGJ5IGRlc2lnbi4gPHhyZWYgdGFyZ2V0PSJG SUFyY2giLz48L3Q+CiAgPHQgaGFuZ1RleHQ9J0ludGVncml0eSc+CiAgTWFpbnRlbmFuY2UgYW5k IGFzc3VyYW5jZSBvZiB0aGUgYWNjdXJhY3kgYW5kIGNvbnNpc3RlbmN5IG9mIGRhdGEgdG8gZW5z dXJlIGl0IGhhcyBub3QgYmVlbiAoaW50ZW50aW9uYWxseSBvciB1bmludGVudGlvbmFsbHkpIGFs dGVyZWQuPC90PgogIDx0IGhhbmdUZXh0PSdJbnRlcm5ldCBjZW5zb3JzaGlwJz4KICBJbnRlcm5l dCBjZW5zb3JzaGlwIGlzIHRoZSBpbnRlbnRpb25hbCBzdXBwcmVzc2lvbiBvZiBpbmZvcm1hdGlv biBvcmlnaW5hdGluZywgZmxvd2luZyBvciBzdG9yZWQgb24gc3lzdGVtcyBjb25uZWN0ZWQgdG8g dGhlIEludGVybmV0IHdoZXJlIHRoYXQgaW5mb3JtYXRpb24gaXMgcmVsZXZhbnQgZm9yIGRlY2lz aW9uIG1ha2luZyB0byBzb21lIGVudGl0eS4gPHhyZWYgdGFyZ2V0PSJFbGFoaSIvPjwvdD4KICA8 dCBoYW5nVGV4dD0nSW50ZXItb3BlcmFibGUnPgogIEEgcHJvcGVydHkgb2YgYSBkb2N1bWVudGVk IHN0YW5kYXJkIG9yIHByb3RvY29sIHdoaWNoIGFsbG93cyBkaWZmZXJlbnQgaW5kZXBlbmRlbnQg aW1wbGVtZW50YXRpb25zIHRvIHdvcmsgd2l0aCBlYWNoIG90aGVyIHdpdGhvdXQgYW55IHJlc3Ry aWN0ZWQgbmVnb3RpYXRpb24sIGFjY2VzcyBvciBmdW5jdGlvbmFsaXR5LjwvdD4KICA8dCBoYW5n VGV4dD0nSW50ZXJuZXQgU3RhbmRhcmRzIGFzIGFuIEFyZW5hIGZvciBDb25mbGljdCc+CiAgUHVy c3VhbnQgdG8gdGhlIHByaW5jaXBsZSBvZiBjb25zdGFudCBjaGFuZ2UsIHNpbmNlIHRoZSBmdW5j dGlvbiBhbmQgc2NvcGUgb2YgdGhlIEludGVybmV0IGV2b2x2ZXMsIHNvIGRvZXMgdGhlIHJvbGUg b2YgdGhlIElFVEYgaW4gZGV2ZWxvcGluZyBzdGFuZGFyZHMuIEludGVybmV0IHN0YW5kYXJkcyBh cmUgYWRvcHRlZCBvbiB0aGUgYmFzaXMgb2YgYSBzZXJpZXMgb2YgY3JpdGVyaWEsIGluY2x1ZGlu ZyBoaWdoIHRlY2huaWNhbCBxdWFsaXR5LCBzdXBwb3J0IGJ5IGNvbW11bml0eSBjb25zZW5zdXMs IGFuZCB0aGVpciBvdmVyYWxsIGJlbmVmaXQgdG8gdGhlIEludGVybmV0LiBUaGUgbGF0dGVyIGNh bGxzIGZvciBhbiBhc3Nlc3NtZW50IG9mIHRoZSBpbnRlcmVzdHMgb2YgYWxsIGFmZmVjdGVkIHBh cnRpZXMgYW5kIHRoZSBzcGVjaWZpY2F0aW9uc+KAmSBpbXBhY3Qgb24gdGhlIEludGVybmV04oCZ cyB1c2Vycy4gSW4gdGhpcyByZXNwZWN0LCB0aGUgZWZmZWN0aXZlIGV4ZXJjaXNlIG9mIHRoZSBo dW1hbiByaWdodHMgb2YgdGhlIEludGVybmV0IHVzZXJzIGlzIGEgcmVsZXZhbnQgY29uc2lkZXJh dGlvbiB0aGF0IG5lZWRzIHRvIGJlIGFwcHJlY2lhdGVkIGluIHRoZSBzdGFuZGFyZGl6YXRpb24g cHJvY2VzcyBpbnNvZmFyIGFzIGl0IGlzIGRpcmVjdGx5IGxpbmtlZCB0byB0aGUgcmVsaWFiaWxp dHkgYW5kIGNvcmUgdmFsdWVzIG9mIHRoZSBJbnRlcm5ldC4gPHhyZWYgdGFyZ2V0PSJSRkMxOTU4 Ii8+IDx4cmVmIHRhcmdldD0iUkZDMDIyNiIvPiA8eHJlZiB0YXJnZXQ9IlJGQzM3MjQiLz48L3Q+ CiAgPHQgaGFuZ1RleHQ9J0ludGVybmF0aW9uYWxpemF0aW9uIChpMThuKSc+CiAgVGhlIHByYWN0 aWNlIG9mIG1ha2luZyBwcm90b2NvbHMsIHN0YW5kYXJkcywgYW5kIGltcGxlbWVudGF0aW9ucyB1 c2FibGUgaW4gZGlmZmVyZW50IGxhbmd1YWdlcyBhbmQgc2NyaXB0cy4gIChzZWUgTG9jYWxpemF0 aW9uKTwvdD4KICA8dD4oY2YgPHhyZWYgdGFyZ2V0PSJSRkM2MzY1Ii8+KSBJbiB0aGUgSUVURiwg 4oCcaW50ZXJuYXRpb25hbGl6YXRpb27igJ0gbWVhbnMgdG8gYWRkIG9yIGltcHJvdmUgdGhlIGhh bmRsaW5nIG9mIG5vbi1BU0NJSSB0ZXh0IGluIGEgcHJvdG9jb2wuIDx4cmVmIHRhcmdldD0iUkZD NjM2NSIvPiAgQSBkaWZmZXJlbnQgcGVyc3BlY3RpdmUsIG1vcmUgYXBwcm9wcmlhdGUgdG8gcHJv dG9jb2xzIHRoYXQgYXJlIGRlc2lnbmVkIGZvciBnbG9iYWwgdXNlIGZyb20gdGhlIGJlZ2lubmlu ZywgaXMgdGhlIGRlZmluaXRpb24gdXNlZCBieSBXM0M6CiAgICAgIDxmaWd1cmU+PGFydHdvcms+ PCFbQ0RBVEFbCiAgICJJbnRlcm5hdGlvbmFsaXphdGlvbiBpcyB0aGUgZGVzaWduIGFuZCBkZXZl bG9wbWVudCBvZiBhCiAgIHByb2R1Y3QsIGFwcGxpY2F0aW9uIG9yIGRvY3VtZW50IGNvbnRlbnQg dGhhdCBlbmFibGVzIGVhc3kKICAgbG9jYWxpemF0aW9uIGZvciB0YXJnZXQgYXVkaWVuY2VzIHRo YXQgdmFyeSBpbiBjdWx0dXJlLCByZWdpb24sCiAgIG9yIGxhbmd1YWdlLiIgIHt7VzNDaTE4bkRl Zn19Cl1dPjwvYXJ0d29yaz48L2ZpZ3VyZT4KICA8L3Q+CjwvbGlzdD48L3Q+Cgo8dD5NYW55IHBy b3RvY29scyB0aGF0IGhhbmRsZSB0ZXh0IG9ubHkgaGFuZGxlIG9uZSBjaGFyc2V0IChVUy1BU0NJ SSksIG9yIGxlYXZlIHRoZSBxdWVzdGlvbiBvZiB3aGF0IENDUyBhbmQgZW5jb2RpbmcgdXAgdG8g bG9jYWwgZ3Vlc3N3b3JrICh3aGljaCBsZWFkcywgb2YgY291cnNlLCB0byAgaW50ZXJvcGVyYWJp bGl0eSBwcm9ibGVtcykuICBJZiBtdWx0aXBsZSBjaGFyc2V0cyBhcmUgcGVybWl0dGVkLCB0aGV5 IG11c3QgYmUgZXhwbGljaXRseSBpZGVudGlmaWVkIDx4cmVmIHRhcmdldD0iUkZDMjI3NyIvPi4g IEFkZGluZyBub24tQVNDSUkgdGV4dCB0byBhIHByb3RvY29sIGFsbG93cyB0aGUgcHJvdG9jb2wg dG8gaGFuZGxlIG1vcmUgc2NyaXB0cywgaG9wZWZ1bGx5IGFsbCBvZiB0aGUgb25lcyB1c2VmdWwg aW4gdGhlIHdvcmxkLiAgSW4gdG9kYXnigJlzIHdvcmxkLCB0aGF0IGlzIG5vcm1hbGx5IGJlc3Qg YWNjb21wbGlzaGVkIGJ5IGFsbG93aW5nIFVuaWNvZGUgZW5jb2RlZCBpbiBVVEYtOCBvbmx5LCB0 aGVyZWJ5IHNoaWZ0aW5nIGNvbnZlcnNpb24gaXNzdWVzIGF3YXkgZnJvbSBpbmRpdmlkdWFsIGNo b2ljZXMuPC90PgoKPHQ+PGxpc3Qgc3R5bGU9ImhhbmdpbmciPgogIDx0IGhhbmdUZXh0PSdMb2Nh bGl6YXRpb24gKGwxMG4pJz4KICBUaGUgcHJhY3RpY2Ugb2YgdHJhbnNsYXRpbmcgYW4gaW1wbGVt ZW50YXRpb24gdG8gbWFrZSBpdCBmdW5jdGlvbmFsIGluIGEgc3BlY2lmaWMgbGFuZ3VhZ2Ugb3Ig Zm9yIHVzZXJzIGluIGEgc3BlY2lmaWMgbG9jYWxlIChzZWUgSW50ZXJuYXRpb25hbGl6YXRpb24p LjwvdD4KICA8dD4oY2YgPHhyZWYgdGFyZ2V0PSJSRkM2MzY1Ii8+IFRoZSBwcm9jZXNzIG9mIGFk YXB0aW5nIGFuIGludGVybmF0aW9uYWxpemVkIGFwcGxpY2F0aW9uIHBsYXRmb3JtIG9yIGFwcGxp Y2F0aW9uIHRvIGEgc3BlY2lmaWMgY3VsdHVyYWwgZW52aXJvbm1lbnQuICBJbiBsb2NhbGl6YXRp b24sIHRoZSBzYW1lIHNlbWFudGljcyBhcmUgcHJlc2VydmVkIHdoaWxlIHRoZSBzeW50YXggbWF5 IGJlIGNoYW5nZWQuIDx4cmVmIHRhcmdldD0iRlJBTUVXT1JLIi8+PC90Pgo8L2xpc3Q+PC90PgoK PHQ+TG9jYWxpemF0aW9uIGlzIHRoZSBhY3Qgb2YgdGFpbG9yaW5nIGFuIGFwcGxpY2F0aW9uIGZv ciBhIGRpZmZlcmVudCBsYW5ndWFnZSBvciBzY3JpcHQgb3IgY3VsdHVyZS4gIFNvbWUgaW50ZXJu YXRpb25hbGl6ZWQgYXBwbGljYXRpb25zIGNhbiBoYW5kbGUgYSB3aWRlIHZhcmlldHkgb2YgbGFu Z3VhZ2VzLiAgVHlwaWNhbCB1c2VycyBvbmx5IHVuZGVyc3RhbmQgYSBzbWFsbCBudW1iZXIgb2Yg bGFuZ3VhZ2VzLCBzbyB0aGUgcHJvZ3JhbSBtdXN0IGJlIHRhaWxvcmVkIHRvIGludGVyYWN0IHdp dGggdXNlcnMgaW4ganVzdCB0aGUgbGFuZ3VhZ2VzIHRoZXkga25vdy48L3Q+Cgo8dD5UaGUgbWFq b3Igd29yayBvZiBsb2NhbGl6YXRpb24gaXMgdHJhbnNsYXRpbmcgdGhlIHVzZXIgaW50ZXJmYWNl IGFuZCBkb2N1bWVudGF0aW9uLiAgTG9jYWxpemF0aW9uIGludm9sdmVzIG5vdCBvbmx5IGNoYW5n aW5nIHRoZSBsYW5ndWFnZSBpbnRlcmFjdGlvbiwgYnV0IGFsc28gb3RoZXIgcmVsZXZhbnQgY2hh bmdlcyBzdWNoIGFzIGRpc3BsYXkgb2YgbnVtYmVycywgZGF0ZXMsIGN1cnJlbmN5LCBhbmQgc28g b24uICBUaGUgYmV0dGVyIGludGVybmF0aW9uYWxpemVkIGFuIGFwcGxpY2F0aW9uIGlzLCB0aGUg ZWFzaWVyIGl0IGlzIHRvIGxvY2FsaXplIGl0IGZvciBhIHBhcnRpY3VsYXIgbGFuZ3VhZ2UgYW5k IGNoYXJhY3RlciBlbmNvZGluZyBzY2hlbWUuPC90PgoKPHQ+PGxpc3Qgc3R5bGU9Imhhbmdpbmci PgogIDx0IGhhbmdUZXh0PSdPcGVuIHN0YW5kYXJkcyc+CiAgQ29uZm9ybSAgPHhyZWYgdGFyZ2V0 PSJSRkMyNjA2Ii8+OiBWYXJpb3VzIG5hdGlvbmFsIGFuZCBpbnRlcm5hdGlvbmFsIHN0YW5kYXJk cyBib2RpZXMsIHN1Y2ggYXMgQU5TSSwKICAgIElTTywgSUVFRSwgYW5kIElUVS1ULCBkZXZlbG9w IGEgdmFyaWV0eSBvZiBwcm90b2NvbCBhbmQgc2VydmljZQogICAgc3BlY2lmaWNhdGlvbnMgdGhh dCBhcmUgc2ltaWxhciB0byBUZWNobmljYWwgU3BlY2lmaWNhdGlvbnMKICAgIGRlZmluZWQgaGVy ZS4gIE5hdGlvbmFsIGFuZCBpbnRlcm5hdGlvbmFsIGdyb3VwcyBhbHNvIHB1Ymxpc2gKICAgIOKA nGltcGxlbWVudG9yc+KAmSBhZ3JlZW1lbnRz4oCdIHRoYXQgYXJlIGFuYWxvZ291cyB0byBBcHBs aWNhYmlsaXR5CiAgICBTdGF0ZW1lbnRzLCBjYXB0dXJpbmcgYSBib2R5IG9mIGltcGxlbWVudGF0 aW9uLXNwZWNpZmljIGRldGFpbAogICAgY29uY2VybmVkIHdpdGggdGhlIHByYWN0aWNhbCBhcHBs aWNhdGlvbiBvZiB0aGVpciBzdGFuZGFyZHMuICBBbGwKICAgIG9mIHRoZXNlIGFyZSBjb25zaWRl cmVkIHRvIGJlIOKAnG9wZW4gZXh0ZXJuYWwgc3RhbmRhcmRz4oCdIGZvciB0aGUKICAgIHB1cnBv c2VzIG9mIHRoZSBJbnRlcm5ldCBTdGFuZGFyZHMgUHJvY2Vzcy48L3Q+CiAgPHQgaGFuZ1RleHQ9 J09wZW5uZXNzJz4KICBUaGUgcXVhbGl0eSBvZiB0aGUgdW5maWx0ZXJlZCBJbnRlcm5ldCB0aGF0 IGFsbG93cyBmb3IgZnJlZSBhY2Nlc3MgdG8gb3RoZXIgaG9zdHMuPC90PgogIDx0PkFic2VuY2Ug b2YgY2VudHJhbGl6ZWQgcG9pbnRzIG9mIGNvbnRyb2wg4oCTIGEgZmVhdHVyZSB0aGF0IGlzIGFz c3VtZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBuZXcgdXNlcnMgdG8gam9pbiBhbmQgbmV3IHVzZXMg dG8gdW5mb2xkIDx4cmVmIHRhcmdldD0iQnJvd24iLz4uPC90PgogIDx0IGhhbmdUZXh0PSdQZXJt aXNzaW9ubGVzcyBpbm5vdmF0aW9uJz4KICBUaGUgZnJlZWRvbSBhbmQgYWJpbGl0eSB0byBmcmVl bHkgY3JlYXRlIGFuZCBkZXBsb3kgbmV3IHByb3RvY29scyBvbiB0b3Agb2YgdGhlIGNvbW11bmlj YXRpb25zIGNvbnN0cnVjdHMgdGhhdCBjdXJyZW50bHkgZXhpc3QuPC90PgogIDx0IGhhbmdUZXh0 PSdQcml2YWN5Jz4KICBUaGUgcmlnaHQgb2YgYW4gZW50aXR5IChub3JtYWxseSBhIHBlcnNvbiks IGFjdGluZyBpbiBpdHMgb3duIGJlaGFsZiwgdG8gZGV0ZXJtaW5lIHRoZSBkZWdyZWUgdG8gd2hp Y2ggaXQgd2lsbCBpbnRlcmFjdCB3aXRoIGl0cyBlbnZpcm9ubWVudCwgaW5jbHVkaW5nIHRoZSBk ZWdyZWUgdG8gd2hpY2ggdGhlIGVudGl0eSBpcyB3aWxsaW5nIHRvIHNoYXJlIGl0cyBwZXJzb25h bCBpbmZvcm1hdGlvbiB3aXRoIG90aGVycy4gPHhyZWYgdGFyZ2V0PSJSRkM0OTQ5Ii8+PC90Pgog IDx0PlRoZSByaWdodCBvZiBpbmRpdmlkdWFscyB0byBjb250cm9sIG9yIGluZmx1ZW5jZSB3aGF0 IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gdGhlbSBtYXkgYmUgY29sbGVjdGVkIGFuZCBzdG9yZWQg YW5kIGJ5IHdob20gYW5kIHRvIHdob20gdGhhdCBpbmZvcm1hdGlvbiBtYXkgYmUgZGlzY2xvc2Vk LjwvdD4KICA8dD5Qcml2YWN5IGlzIGEgYnJvYWQgY29uY2VwdCByZWxhdGluZyB0byB0aGUgcHJv dGVjdGlvbiBvZiBpbmRpdmlkdWFsIGF1dG9ub215IGFuZCB0aGUgcmVsYXRpb25zaGlwIGJldHdl ZW4gYW4gaW5kaXZpZHVhbCBhbmQgc29jaWV0eSwgaW5jbHVkaW5nIGdvdmVybm1lbnQsIGNvbXBh bmllcyBhbmQgcHJpdmF0ZSBpbmRpdmlkdWFscy4gSXQgaXMgb2Z0ZW4gc3VtbWFyaXplZCBhcyDi gJx0aGUgcmlnaHQgdG8gYmUgbGVmdCBhbG9uZeKAnSBidXQgaXQgZW5jb21wYXNzZXMgYSB3aWRl IHJhbmdlIG9mIHJpZ2h0cyBpbmNsdWRpbmcgcHJvdGVjdGlvbnMgZnJvbSBpbnRydXNpb25zIGlu dG8gZmFtaWx5IGFuZCBob21lIGxpZmUsIGNvbnRyb2wgb2Ygc2V4dWFsIGFuZCByZXByb2R1Y3Rp dmUgcmlnaHRzLCBhbmQgY29tbXVuaWNhdGlvbnMgc2VjcmVjeS4gIEl0IGlzIGNvbW1vbmx5IHJl Y29nbml6ZWQgYXMgYSBjb3JlIHJpZ2h0IHRoYXQgdW5kZXJwaW5zIGh1bWFuIGRpZ25pdHkgYW5k IG90aGVyIHZhbHVlcyBzdWNoIGFzIGZyZWVkb20gb2YgYXNzb2NpYXRpb24gYW5kIGZyZWVkb20g b2Ygc3BlZWNoLjwvdD4KPC9saXN0PjwvdD4KCjx0PlRoZSByaWdodCB0byBwcml2YWN5IGlzIGFs c28gcmVjb2duaXplZCBpbiBuZWFybHkgZXZlcnkgbmF0aW9uYWwgY29uc3RpdHV0aW9uIGFuZCBp biBtb3N0IGludGVybmF0aW9uYWwgaHVtYW4gcmlnaHRzIHRyZWF0aWVzLiBJdCBoYXMgYmVlbiBh ZGp1ZGljYXRlZCB1cG9uIGJvdGggYnkgaW50ZXJuYXRpb25hbCBhbmQgcmVnaW9uYWwgYm9kaWVz LiBUaGUgcmlnaHQgdG8gcHJpdmFjeSBpcyBhbHNvIGxlZ2FsbHkgcHJvdGVjdGVkIGF0IHRoZSBu YXRpb25hbCBsZXZlbCB0aHJvdWdoIHByb3Zpc2lvbnMgaW4gY2l2aWwgYW5kL29yIGNyaW1pbmFs IGNvZGVzLjwvdD4KCjx0PjxsaXN0IHN0eWxlPSJoYW5naW5nIj4KICA8dCBoYW5nVGV4dD0nUmVs aWFibGUnPgogIFJlbGlhYmlsaXR5IGVuc3VyZXMgdGhhdCBhIHByb3RvY29sIHdpbGwgZXhlY3V0 ZSBpdHMgZnVuY3Rpb24gY29uc2lzdGVudGx5IGFuZCBlcnJvciByZXNpc3RhbnQgYXMgZGVzY3Jp YmVkIGFuZCBmdW5jdGlvbiB3aXRob3V0IHVuZXhwZWN0ZWQgcmVzdWx0LiBBIHN5c3RlbSB0aGF0 IGlzIHJlbGlhYmxlIGRlZ2VuZXJhdGVzIGdyYWNlZnVsbHkgYW5kIHdpbGwgaGF2ZSBhIGRvY3Vt ZW50ZWQgd2F5IHRvIGFubm91bmNlIGRlZ3JhZGF0aW9uLiBJdCBhbHNvIGhhcyBtZWNoYW5pc21z IHRvIHJlY292ZXIgZnJvbSBmYWlsdXJlIGdyYWNlZnVsbHksIGFuZCBpZiBhcHBsaWNhYmxlLCBh bGxvdyBmb3IgcGFydGlhbCBoZWFsaW5nLjwvdD4KICA8dCBoYW5nVGV4dD0nUmVzaWxpZW5jZSc+ CiAgVGhlIG1haW50YWluaW5nIG9mIGRlcGVuZGFiaWxpdHkgYW5kIHBlcmZvcm1hbmNlIGluIHRo ZSBmYWNlIG9mIHVuYW50aWNpcGF0ZWQgY2hhbmdlcyBhbmQgY2lyY3Vtc3RhbmNlcy48L3Q+CiAg PHQgaGFuZ1RleHQ9J1JvYnVzdG5lc3MnPgogIFRoZSByZXNpc3RhbmNlIG9mIHByb3RvY29scyBh bmQgdGhlaXIgaW1wbGVtZW50YXRpb25zIHRvIGVycm9ycywgYW5kIHRvIGludm9sdW50YXJ5LCBs ZWdhbCBvciBtYWxpY2lvdXMgYXR0ZW1wdHMgdG8gZGlzcnVwdCBpdHMgbW9kZSBvZiBvcGVyYXRp b25zLiA8eHJlZiB0YXJnZXQ9IlJGQzA3NjAiLz4gPHhyZWYgdGFyZ2V0PSJSRkMwNzkxIi8+IDx4 cmVmIHRhcmdldD0iUkZDMDc5MyIvPiA8eHJlZiB0YXJnZXQ9IlJGQzExMjIiLz48L3Q+CiAgPHQg aGFuZ1RleHQ9J1NjYWxhYmxlJz4KICBUaGUgYWJpbGl0eSB0byBoYW5kbGUgaW5jcmVhc2VkIG9y IGRlY3JlYXNlZCB3b3JrbG9hZHMgcHJlZGljdGFibHkgd2l0aGluIGRlZmluZWQgZXhwZWN0YXRp b25zLiBUaGVyZSBzaG91bGQgYmUgYSBjbGVhciBkZWZpbml0aW9uIG9mIGl0cyBzY29wZSBhbmQg YXBwbGljYWJpbGl0eS4gVGhlIGxpbWl0cyBvZiBhIHN5c3RlbXMgc2NhbGFiaWxpdHkgc2hvdWxk IGJlIGRlZmluZWQuPC90PgogIDx0IGhhbmdUZXh0PSdTdGF0ZWxlc3MgLyBzdGF0ZWZ1bCc+CiAg SW4gY29tcHV0aW5nLCBhIHN0YXRlbGVzcyBwcm90b2NvbCBpcyBhIGNvbW11bmljYXRpb25zIHBy b3RvY29sIHRoYXQgdHJlYXRzIGVhY2ggcmVxdWVzdCBhcyBhbiBpbmRlcGVuZGVudCB0cmFuc2Fj dGlvbiB0aGF0IGlzIHVucmVsYXRlZCB0byBhbnkgcHJldmlvdXMgcmVxdWVzdCBzbyB0aGF0IHRo ZSBjb21tdW5pY2F0aW9uIGNvbnNpc3RzIG9mIGluZGVwZW5kZW50IHBhaXJzIG9mIHJlcXVlc3Qg YW5kIHJlc3BvbnNlLiBBIHN0YXRlbGVzcyBwcm90b2NvbCBkb2VzIG5vdCByZXF1aXJlIHRoZSBz ZXJ2ZXIgdG8gcmV0YWluIHNlc3Npb24gaW5mb3JtYXRpb24gb3Igc3RhdHVzIGFib3V0IGVhY2gg Y29tbXVuaWNhdGlvbnMgcGFydG5lciBmb3IgdGhlIGR1cmF0aW9uIG9mIG11bHRpcGxlIHJlcXVl c3RzLiBJbiBjb250cmFzdCwgYSBwcm90b2NvbCB3aGljaCByZXF1aXJlcyBrZWVwaW5nIG9mIHRo ZSBpbnRlcm5hbCBzdGF0ZSBvbiB0aGUgc2VydmVyIGlzIGtub3duIGFzIGEgc3RhdGVmdWwgcHJv dG9jb2wuIDx4cmVmIHRhcmdldD0iV1AtU3RhdGVsZXNzIi8+PC90PgogIDx0IGhhbmdUZXh0PSdT dHJvbmcgZW5jcnlwdGlvbiAvIGNyeXB0b2dyYXBoeSc+CiAgVXNlZCB0byBkZXNjcmliZSBhIGNy eXB0b2dyYXBoaWMgYWxnb3JpdGhtIHRoYXQgd291bGQgcmVxdWlyZSBhIGxhcmdlIGFtb3VudCBv ZiBjb21wdXRhdGlvbmFsIHBvd2VyIHRvIGRlZmVhdCBpdC4gPHhyZWYgdGFyZ2V0PSJSRkM0OTQ5 Ii8+PC90PgogIDx0IGhhbmdUZXh0PSdUcmFuc3BhcmVudCc+CiAg4oCcdHJhbnNwYXJlbmN54oCd IHJlZmVycyB0byB0aGUgb3JpZ2luYWwgSW50ZXJuZXQgY29uY2VwdCBvZiBhIHNpbmdsZSB1bml2 ZXJzYWwgbG9naWNhbCBhZGRyZXNzaW5nIHNjaGVtZSwgYW5kIHRoZSBtZWNoYW5pc21zIGJ5IHdo aWNoIHBhY2tldHMgbWF5IGZsb3cgZnJvbSBzb3VyY2UgdG8gZGVzdGluYXRpb24gZXNzZW50aWFs bHkgdW5hbHRlcmVkLiA8eHJlZiB0YXJnZXQ9IlJGQzI3NzUiLz48L3Q+CjwvbGlzdD48L3Q+Cgo8 dD5UaGUgY29tYmluYXRpb24gb2YgcmVsaWFiaWxpdHksIGNvbmZpZGVudGlhbGl0eSwgaW50ZWdy aXR5LCBhbm9ueW1pdHksIGFuZCBhdXRoZW50aWNpdHkgaXMgd2hhdCBtYWtlcyB1cCBzZWN1cml0 eSBvbiB0aGUgSW50ZXJuZXQuPC90PgoKPGZpZ3VyZT48YXJ0d29yaz48IVtDREFUQVsKICAoICAg ICBSZWxpYWJpbGl0eSAgICAgICAgICApCiAoICAgICAgQ29uZmlkZW50aWFsaXR5ICAgICAgICkK ICggICAgICBJbnRlZ3JpdHkgICAgICAgICAgICAgKSAgID0gY29tbXVuaWNhdGlvbiBhbmQgaW5m b3JtYXRpb24gc2VjdXJpdHkgKHRlY2huaWNhbCkKICggICAgICBBdXRoZW50aWNpdHkgICAgICAg ICAgKQogICggICAgIEFub255bWl0eSAgICAgICAgICAgICkKXV0+PC9hcnR3b3JrPjwvZmlndXJl PgoKPHQ+VGhlIGNvbWJpbmF0aW9uIG9mIEVuZC10by1FbmQsIEludGVyb3BlcmFiaWxpdHksIHJl c2lsaWVuY2UsIHJlbGlhYmlsaXR5IGFuZCByb2J1c3RuZXNzIGlzIHdoYXQgbWFrZXMgdXMgY29u bmVjdGl2aXR5IG9uIHRoZSBJbnRlcm5ldDwvdD4KCjxmaWd1cmU+PGFydHdvcms+PCFbQ0RBVEFb CiAgICAgICAgICAgICAgICAgICAgICggRW5kLXRvLUVuZCAgICAgICkKIGNvbm5lY3Rpdml0eSA9 ICAgICAoICBJbnRlcm9wZXJhYmlsaXR5ICkKICAgICAgICAgICAgICAgICAgICggICBSZXNpbGll bmNlICAgICAgICApCiAgICAgICAgICAgICAgICAgICAoICAgUmVsaWFiaWxpdHkgICAgICAgKQog ICAgICAgICAgICAgICAgICAgKCAgIFJvYnVzdG5lc3MgICAgICAgICkKICAgICAgICAgICAgICAg ICAgICAoICBBdXRvbm9teSAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgKCBTaW1wbGlj aXR5ICAgICAgKQpdXT48L2FydHdvcms+PC9maWd1cmU+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFu Y2hvcj0icmVzZWFyY2gtcXVlc3Rpb25zIiB0aXRsZT0iUmVzZWFyY2ggUXVlc3Rpb25zIj4KPHQ+ VGhlIEh1bWFuIFJpZ2h0cyBQcm90b2NvbCBDb25zaWRlcmF0aW9ucyBSZXNlYXJjaCBHcm91cCAo aHJwYykgaW4gdGhlIEludGVybmV0IFJlc2VhcmNoIFRhc2tmb3JjZSAoSVJURikgZW1iYXJrZWQg b24gaXRzIG1pc3Npb24gdG8gYW5zd2VyIHRoZSBmb2xsb3dpbmcgdHdvIHF1ZXN0aW9ucyB3aGlj aCBhcmUgYWxzbyB0aGUgbWFpbiB0d28gcXVlc3Rpb25zIHdoaWNoIHRoaXMgZG9jdW1lbnRzIHNl ZWtzIHRvIGFuc3dlcjo8L3Q+Cgo8dD48bGlzdCBzdHlsZT0ibnVtYmVycyI+CiAgPHQ+SG93IGNh biBJbnRlcm5ldCBwcm90b2NvbHMgYW5kIHN0YW5kYXJkcyBpbXBhY3QgaHVtYW4gcmlnaHRzLCBl aXRoZXIgYnkgZW5hYmxpbmcgdGhlbSBvciBieSBjcmVhdGluZyBhIHJlc3RyaWN0aXZlIGVudmly b25tZW50PzwvdD4KICA8dD5DYW4gZ3VpZGVsaW5lcyBiZSBkZXZlbG9wZWQgdG8gaW1wcm92ZSBp bmZvcm1lZCBhbmQgdHJhbnNwYXJlbnQgZGVjaXNpb24gbWFraW5nIGFib3V0IHBvdGVudGlhbCBo dW1hbiByaWdodHMgaW1wYWN0IG9mIHByb3RvY29scz88L3Q+CjwvbGlzdD48L3Q+Cgo8L3NlY3Rp b24+CjxzZWN0aW9uIGFuY2hvcj0ibGl0ZXJhdHVyZS1hbmQtZGlzY3Vzc2lvbi1yZXZpZXciIHRp dGxlPSJMaXRlcmF0dXJlIGFuZCBEaXNjdXNzaW9uIFJldmlldyI+Cgo8dD5Qcm90b2NvbHMgYW5k IHN0YW5kYXJkcyBhcmUgcmVndWxhcmx5IHNlZW4gYXMgbWVyZWx5IHBlcmZvcm1pbmcgdGVjaG5p Y2FsIGZ1bmN0aW9ucy4gSG93ZXZlciwgdGhlc2UgcHJvdG9jb2xzIGFuZCBzdGFuZGFyZHMgZG8g bm90IGV4aXN0IG91dHNpZGUgb2YgdGhlaXIgdGVjaG5pY2FsIGNvbnRleHQgbm9yIG91dHNpZGUg b2YgdGhlaXIgcG9saXRpY2FsLCBoaXN0b3JpY2FsLCBlY29ub21pYywgbGVnYWwgb3IgY3VsdHVy YWwgY29udGV4dC4gVGhpcyBpcyBiZXN0IGV4ZW1wbGlmaWVkIGJ5IHRoZSB3YXkgaW4gd2hpY2gg cHJvdG9jb2xzIGhhdmUgYmVjb21lIHBhcnQgYW5kIHBhcmNlbCBvZiBwb2xpdGljYWwgcHJvY2Vz c2VzIGFuZCBwdWJsaWMgcG9saWNpZXM6IG9uZSBvbmx5IGhhcyB0byBsb29rIGF0IHRoZSBJQU5B IHRyYW5zaXRpb24sIHRoZSBSRkMgb24gcGVydmFzaXZlIG1vbml0b3Jpbmcgb3IgZ2xvYmFsIGlu bm92YXRpb24gcG9saWN5IGZvciBjb25jcmV0ZSBleGFtcGxlcyA8eHJlZiB0YXJnZXQ9IkRlbmFy ZGlzMTUiLz4uIFRvIHF1b3RlIDx4cmVmIHRhcmdldD0iQWJiYXRlIi8+OiDigJxwcm90b2NvbHMg YXJlIHBvbGl0aWNzIGJ5IG90aGVyIG1lYW5z4oCdLiBTaW5jZSB0aGUgbGF0ZSAxOTkw4oCZcyBh IGJ1cmdlb25pbmcgZ3JvdXAgb2YgYWNhZGVtaWNzIGFuZCBwcmFjdGl0aW9uZXJzIHJlc2VhcmNo ZWQgcXVlc3Rpb25zIHN1cnJvdW5kaW5nIHRoZSBzb2NpZXRhbCBpbXBhY3Qgb2YgcHJvdG9jb2xz LiBUaGVzZSBzdHVkaWVzIHZhcnkgaW4gZm9jdXMgYW5kIHNjb3BlOiBzb21lIGZvY3VzIG9uIHNw ZWNpZmljIHN0YW5kYXJkcyA8eHJlZiB0YXJnZXQ9IkRhdmlkc29uZXRhbCIvPiA8eHJlZiB0YXJn ZXQ9Ik11c2lhbmkiLz4sIG90aGVycyBsb29rIGludG8gdGhlIHBvbGl0aWNhbCwgbGVnYWwsIGNv bW1lcmNpYWwgb3Igc29jaWFsIGltcGFjdCBvZiBwcm90b2NvbHMgPHhyZWYgdGFyZ2V0PSJCcm93 bk1hcnNkZW4iLz4gPHhyZWYgdGFyZ2V0PSJMZXNzaWciLz4sIDx4cmVmIHRhcmdldD0iTXVlbGxl ciIvPi48L3Q+Cgo8dD5Db21tZXJjaWFsIGFuZCBwb2xpdGljYWwgaW5mbHVlbmNlcyBvbiB0aGUg bWFuYWdlbWVudCBvZiB0aGUgSW50ZXJuZXTigJlzIGFyY2hpdGVjdHVyZSBhcmUgd2VsbC1kb2N1 bWVudGVkIGluIHRoZSBhY2FkZW1pYyBsaXRlcmF0dXJlIGFuZCB3aWxsIHRodXMgbm90IGJlIGRp c2N1c3NlZCBoZXJlIDx4cmVmIHRhcmdldD0iQmVua2xlciIvPiAgPHhyZWYgdGFyZ2V0PSJCcm93 bmV0YWwiLz4gIDx4cmVmIHRhcmdldD0iRGVuYXJkaXMxNSIvPiAgPHhyZWYgdGFyZ2V0PSJMZXNz aWciLz4gIDx4cmVmIHRhcmdldD0iTXVlbGxlciIvPiAgPHhyZWYgdGFyZ2V0PSJaaXR0cmFpbiIv Pi4gSXQgaXMgZW5vdWdoIHRvIHNheSB0aGF0IHRoZSBJRVRGIGNvbnNpc3RlbnRseSB0cmllcyB0 byBwdXNoIGJhY2sgYWdhaW5zdCB0aGUgc3RhbmRhcmRpemF0aW9uIG9mIHN1cnZlaWxsYW5jZSBh bmQgY2VydGFpbiBvdGhlciBpc3N1ZXMgdGhhdCBuZWdhdGl2ZWx5IGluZmx1ZW5jZSBlbmQtdXNl cnPigJkgZXhwZXJpZW5jZSBvZiB0aGUgSW50ZXJuZXQgPHhyZWYgdGFyZ2V0PSJEZW5hcmRpczE0 Ii8+LiBUaGUgcm9sZSBodW1hbiByaWdodHMgcGxheSBpbiB0ZWNobmljYWwgZW5naW5lZXJpbmcg aXMgbXVjaCBsZXNzIGNsZWFyLjwvdD4KCjx0PlVuZGVyc3RhbmRpbmcgaG93IHByb3RvY29scyBh bmQgc3RhbmRhcmRzIGltcGFjdCBodW1hbiByaWdodHMsIGVzcGVjaWFsbHkgdGhlIHJpZ2h0IHRv IGZyZWVkb20gb2YgZXhwcmVzc2lvbiBhbmQgZnJlZWRvbSBvZiBhc3NvY2lhdGlvbiBhbmQgYXNz ZW1ibHksIGlzIGNydWNpYWwuIFF1ZXN0aW9ucyBhdCB0aGUgaW50ZXJzZWN0aW9uIG9mIGh1bWFu IHJpZ2h0cyBhbmQgSW50ZXJuZXQgYXJjaGl0ZWN0dXJlIG1hbmFnZW1lbnQgYXJlIHBhcnRpY3Vs YXJseSBpbXBvcnRhbnQgYXMgSW50ZXJuZXQgU3RhbmRhcmQgRGV2ZWxvcGluZyBPcmdhbml6YXRp b25zIChTRE9zKSBhcmUgdGhlIGFyZW5hcyBmb3IgY29udGVudGlvbiBvdmVyIGh1bWFuIHJpZ2h0 cyBhbmQgdGhlIHJvbGUgb2YgdGVjaG5pY2FsIGVuZ2luZWVycyB0byBwcm90ZWN0IGh1bWFuIHJp Z2h0cyBieSBkZXNpZ24gPHhyZWYgdGFyZ2V0PSJCcm93bmV0YWwiLz4gPHhyZWYgdGFyZ2V0PSJD bGFya2V0YWwiLz4gPHhyZWYgdGFyZ2V0PSJEZW5hcmRpczE0Ii8+IDx4cmVmIHRhcmdldD0iQ2F0 aGFuZEZsb3JpZGkiLz4gPHhyZWYgdGFyZ2V0PSJMZXNzaWciLz4gPHhyZWYgdGFyZ2V0PSJSYWNo b3ZpdHNhIi8+LjwvdD4KCjx0PkluIHRoZSBhY2FkZW1pYyBsaXRlcmF0dXJlIGZvdXIgY2xlYXIg cG9zaXRpb25zIGNhbiBiZSBkaXNjZXJuZWQsIGluIHJlbGF0aW9uIHRvIHRoZSByb2xlIG9mIGh1 bWFuIHJpZ2h0cyBpbiBwcm90b2NvbCBkZXNpZ24gYW5kIGhvdyB0byBhY2NvdW50IGZvciB0aGVz ZSBodW1hbiByaWdodHMgaW4gcHJvdG9jb2wgZGV2ZWxvcG1lbnQ6IENsYXJrIGV0IGFsLiBhcmd1 ZSB0aGF0IHRoZXJlIGlzIGEgbmVlZCB0byDigJhkZXNpZ24gZm9yIHZhcmlhdGlvbiBpbiBvdXRj b21lLCBzbyB0aGF0IHRoZSBvdXRjb21lIGNhbiBiZSBkaWZmZXJlbnQgaW4gZGlmZmVyZW50IHBs YWNlcywgYW5kIHRoZSB0dXNzbGUgdGFrZXMgcGxhY2Ugd2l0aGluIHRoZSBkZXNpZ24gKOKApikg W2FzXSBSaWdpZCBkZXNpZ25zIHdpbGwgYmUgYnJva2VuOyBkZXNpZ25zIHRoYXQgcGVybWl0IHZh cmlhdGlvbiB3aWxsIGZsZXggdW5kZXIgcHJlc3N1cmUgYW5kIHN1cnZpdmUgPHhyZWYgdGFyZ2V0 PSJDbGFya2V0YWwiLz4u4oCZIFRoZXkgaG9sZCB0aGF0IGh1bWFuIHJpZ2h0cyBzaG91bGQgbm90 IGJlIGhhcmQtY29kZWQgaW50byBwcm90b2NvbHMgYmVjYXVzZSBvZiBmb3VyIHJlYXNvbnM6IGZp cnN0LCB0aGUgcmlnaHRzIGluIHRoZSBVREhSIGFyZSBub3QgYWJzb2x1dGUuIFNlY29uZCwgdGVj aG5vbG9neSBpcyBub3QgdGhlIG9ubHkgdG9vbCBpbiB0aGUgdHVzc2xlIG92ZXIgaHVtYW4gcmln aHRzLiBUaGlyZCwgdGhlcmUgYXJlIGluaGVyZW50IGRhbmdlcnMgdG8gYmx1bnRpbmcgdGhlIHRv b2xzIG9mIGVuZm9yY2VtZW50IGFuZCBsYXN0IGJ1dCBub3QgbGVhc3QsIGl0IGlzIGRhbmdlcm91 cyB0byBtYWtlIHByb21pc2VzIHRoYXQgY2Fu4oCZdCBiZSBrZXB0LiBUaGUgb3BlbiBuYXR1cmUg b2YgdGhlIEludGVybmV0IHdpbGwgbmV2ZXIsIHRoZXkgYXJndWUsIGJlIGVub3VnaCB0byBmdWxs eSBwcm90ZWN0IGluZGl2aWR1YWxz4oCZIGh1bWFuIHJpZ2h0cy48L3Q+Cgo8dD5Db252ZXJzZWx5 LCBCcm93biBldCBhbC4gPHhyZWYgdGFyZ2V0PSJCcm93bmV0YWwiLz4gc3RhdGUgdGhhdCDigJhz b21lIGtleSwgdW5pdmVyc2FsIHZhbHVlcyDigJMgb2Ygd2hpY2ggdGhlIFVESFIgaXMgdGhlIG1v c3QgbGVnaXRpbWF0ZSBleHByZXNzaW9uIOKAkyBzaG91bGQgYmUgYmFrZWQgaW50byB0aGUgYXJj aGl0ZWN0dXJlIGF0IGRlc2lnbiB0aW1lLuKAmSBUaGV5IGFyZ3VlIHRoYXQgZGVzaWduIGNob2lj ZXMgaGF2ZSBvZmZsaW5lIGNvbnNlcXVlbmNlcywgYW5kIGFyZSBhYmxlIHNoYXBlIHRoZSBwb3dl ciBwb3NpdGlvbnMgb2YgZ3JvdXBzIG9yIGluZGl2aWR1YWxzIGluIHNvY2lldHkuIEFzIHN1Y2gs IHRoZSBpbmRpdmlkdWFscyBtYWtpbmcgdGhlc2UgdGVjaG5pY2FsIGRlY2lzaW9ucyBoYXZlIGEg bW9yYWwgb2JsaWdhdGlvbiB0byB0YWtlIGludG8gYWNjb3VudCB0aGUgaW1wYWN0IG9mIHRoZWly IGRlY2lzaW9ucyBvbiBzb2NpZXR5LCBhbmQgYnkgZXh0ZW5zaW9uIGh1bWFuIHJpZ2h0cy4gQnJv d24gZXQgYWwgcmVjb2duaXNlIHRoYXQgdmFsdWVzIGFuZCB0aGUgaW1wbGVtZW50YXRpb24gb2Yg aHVtYW4gcmlnaHRzIHZhcnkgYWNyb3NzIHRoZSBnbG9iZS4gWWV0IHRoZXkgYXJndWUgdGhhdCBh bGwgbWVtYmVycyBvZiB0aGUgVW5pdGVkIE5hdGlvbnMgaGF2ZSBmb3VuZCDigJhjb21tb24gYWdy ZWVtZW50IG9uIHRoZSB2YWx1ZXMgcHJvY2xhaW1lZCBpbiB0aGUgVW5pdmVyc2FsIERlY2xhcmF0 aW9uIG9mIEh1bWFuIFJpZ2h0cy4gSW4gbG9va2luZyBmb3IgdGhlIG1vc3QgbGVnaXRpbWF0ZSBz ZXQgb2YgZ2xvYmFsIHZhbHVlcyB0byBlbWJlZCBpbiB0aGUgZnV0dXJlIEludGVybmV0IGFyY2hp dGVjdHVyZSwgdGhlIFVESFIgaGFzIHRoZSBkZW1vY3JhdGljIGFzc2VudCBvZiBhIHNpZ25pZmlj YW50IGZyYWN0aW9uIG9mIHRoZSBwbGFuZXTigJlzIHBvcHVsYXRpb24sIHRocm91Z2ggdGhlaXIg ZWxlY3RlZCByZXByZXNlbnRhdGl2ZXMu4oCdPC90PgoKPHQ+VGhlIG1haW4gZGlzYWdyZWVtZW50 IGJldHdlZW4gdGhlc2UgdHdvIHBvc2l0aW9ucyBsaWVzIG1vc3RseSBpbiB0aGUgcXVlc3Rpb24g b24gd2hldGhlciBhIHBhcnRpY3VsYXIgdmFsdWUgc3lzdGVtIHNob3VsZCBiZSBlbWJlZGRlZCBp bnRvIHRoZSBJbnRlcm5ldOKAmXMgYXJjaGl0ZWN0dXJlIG9yIHdoZXRoZXIgdGhlIGFyY2hpdGVj dHVyZSBuZWVkcyB0byBhY2NvdW50IGZvciBhIHZhcnlpbmcgc2V0IG9mIHZhbHVlcy48L3Q+Cgo8 dD5BIHRoaXJkIHBvc2l0aW9uIHRoYXQgaXMgc2ltaWxhciB0byB0aGF0IG9mIEJyb3duIGV0IGFs LiwgaXMgdGFrZW4gYnkgPHhyZWYgdGFyZ2V0PSJCcm9lZGVycyIvPiB3aG8gYXJndWVzIHRoYXQg 4oCYd2UgbXVzdCBmaW5kIHdheXMgdG8gY29udGludWUgZ3VhcmFudGVlaW5nIHRoZSBvdmVyYWxs IGludGVncml0eSBhbmQgZnVuY3Rpb25hbGl0eSBvZiB0aGUgcHVibGljIGNvcmUgb2YgdGhlIElu dGVybmV0LuKAmSBIZSBhcmd1ZXMgdGhhdCB0aGUgYmVzdCB3YXkgdG8gZG8gdGhpcyBpcyBieSBk ZWNsYXJpbmcgdGhlIGJhY2tib25lIG9mIHRoZSBJbnRlcm5ldCAtIHdoaWNoIGluY2x1ZGVzIHRo ZSBUQ1AvSVAgcHJvdG9jb2wgc3VpdGUsIG51bWVyb3VzIHN0YW5kYXJkcywgdGhlIERvbWFpbiBO YW1lIFN5c3RlbSAoRE5TKSwgYW5kIHJvdXRpbmcgcHJvdG9jb2xzIC0gYSBjb21tb24gcHVibGlj IGdvb2QuIFRoaXMgaXMgYSBkaWZmZXJlbnQgYXBwcm9hY2ggdGhhbiB0aGF0IG9mIDx4cmVmIHRh cmdldD0iQ2xhcmtldGFsIi8+IGFuZCA8eHJlZiB0YXJnZXQ9IkJyb3duZXRhbCIvPiBiZWNhdXNl IEJyb2VkZXJzIGRvZXMgbm90IHN1Z2dlc3QgdGhhdCBzb2NpYWwgdmFsdWVzIHNob3VsZCAob3Ig c2hvdWxkIG5vdCkgYmUgZXhwbGljaXRseSBjb2RlZCBpbnRvIHRoZSBJbnRlcm5ldOKAmXMgYXJj aGl0ZWN0dXJlLCBidXQgcmF0aGVyIHRoYXQgdGhlIGV4aXN0aW5nIGFyY2hpdGVjdHVyZSBzaG91 bGQgYmUgc2VlbiBhcyBhbiBlbnRpdHkgb2YgcHVibGljIHZhbHVlLjwvdD4KCjx0PkJsZXNzIGFu ZCBPcndhdCA8eHJlZiB0YXJnZXQ9IkJsZXNzIi8+IHJlcHJlc2VudHMgYSBmb3VydGggcG9zaXRp b24uIFRoZXkgYXJndWUgdGhhdCBpdCBpcyB0byBlYXJseSB0byBtYWtlIGFueSBkZWZpbml0aXZl IGNsYWltcywgYnV0IHRoYXQgdGhlcmUgaXMgYSBuZWVkIGZvciBtb3JlIGNhcmVmdWwgYW5hbHlz aXMgb2YgdGhlIGltcGFjdCBvZiBwcm90b2NvbCBkZXNpZ24gY2hvaWNlcyBvbiBodW1hbiByaWdo dHMuIFRoZXkgYWxzbyBhcmd1ZSB0aGF0IGl0IGlzIGltcG9ydGFudCB0byBzZWFyY2ggZm9yIHNv bHV0aW9ucyB0aGF0IOKAmGNyZWF0ZSBhd2FyZW5lc3MgaW4gdGhlIHRlY2huaWNhbCBjb21tdW5p dHkgYWJvdXQgaW1wYWN0IG9mIGRlc2lnbiBjaG9pY2VzIG9uIHNvY2lhbCB2YWx1ZXMuIEFuZCB3 b3JrIHRvd2FyZHMgYSBtZXRob2RvbG9neSBmb3IgY28tZGVzaWduIG9mIHRlY2huaWNhbCBhbmQg aW5zdGl0dXRpb25hbCBzeXN0ZW1zLuKAmTwvdD4KCjx0Pk91ciBwb3NpdGlvbiBpcyB0aGF0IGhh cmQtY29kaW5nIGh1bWFuIHJpZ2h0cyBpbnRvIHByb3RvY29scyBpcyB2ZXJ5IGNvbXBsaWNhdGVk IGFzIGVhY2ggc2l0dWF0aW9uIGlzIGRlcGVuZGVudCBvbiBpdHMgY29udGV4dC4gQXQgdGhpcyBw b2ludCBpcyBkaWZmaWN1bHQgdG8gc2F5IHdoZXRoZXIgaGFyZC1jb2RpbmcgaHVtYW4gcmlnaHRz IGludG8gcHJvdG9jb2xzIGlzIHdpc2UgKG9yIGZlYXNpYmxlKS4gSXQgaXMgaG93ZXZlciBpbXBv cnRhbnQgdG8gbWFrZSBjb25zaWNpb3VzIGFuZCBleHBsaWNpdCBkZXNpZ24gZGVjaXNpb25zIHRo YXQgdGFrZSBpbnRvIGFjY291bnQgdGhlIGh1bWFuIHJpZ2h0cyBwcm90b2NvbCBjb25zaWRlcmF0 aW9ucyBndWlkZWxpbmVzIGRldmVsb3BlZCBiZWxvdy4gVGhpcyB3aWxsIGVuc3VyZSB0aGF0IHRo ZSBpbXBhY3QgcHJvdG9jb2xzIGNhbiBoYXZlIG9uIGh1bWFuIHJpZ2h0cyBpcyBjbGVhciBhbmQg ZXhwbGljaXQsIGJvdGggZm9yIGRldmVsb3BlcnMgYW5kIGZvciB1c2Vycy4gSW4gYWRkaXRpb24s IGl0IGVuc3VyZXMgdGhhdCB0aGUgaW1wYWN0IG9mIHNwZWNpZmljIHByb3RvY29sIG9uIGh1bWFu IHJpZ2h0cyBpcyBjYXJlZnVsbHkgY29uc2lkZXJlZCBhbmQgdGhhdCBjb25jcmV0ZSBkZXNpZ24g ZGVjaXNpb25zIGFyZSBkb2N1bWVudGVkIGluIHRoZSBwcm90b2NvbC48L3Q+Cgo8dD5UaGlzIGRv Y3VtZW50IGRldGFpbHMgdGhlIHN0ZXBzIHRha2VuIGluIHRoZXJlc2VhcmNoIGludG8gaHVtYW4g cmlnaHRzIHByb3RvY29sIGNvbnNpZGVyYXRpb25zIGJ5IHRoZSBIUlBDIGdyb3VwIHRvIGNsYXJp ZnkgdGhlIHJlbGF0aW9uIGJldHdlZW4gdGVjaG5pY2FsIGNvbmNlcHRzIHVzZWQgaW4gdGhlIElF VEYgYW5kIGh1bWFuIHJpZ2h0cy4gVGhpcyBkb2N1bWVudCBzZXRzIG91dCBzb21lIHByZWxpbWlu YXJ5IHN0ZXBzIGFuZCBjb25zaWRlcmF0aW9ucyBmb3IgZW5naW5lZXJzIHRvIHRha2UgaW50byBh Y2NvdW50IHdoZW4gZGV2ZWxvcGluZyBzdGFuZGFyZHMgYW5kIHByb3RvY29scy48L3Q+Cgo8L3Nl Y3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0ibWV0aG9kb2xvZ3kiIHRpdGxlPSJNZXRob2RvbG9neSI+ Cgo8dD5NYXBwaW5nIHRoZSByZWxhdGlvbiBiZXR3ZWVuIGh1bWFuIHJpZ2h0cywgcHJvdG9jb2xz IGFuZCBhcmNoaXRlY3R1cmVzIGlzIGEgbmV3IHJlc2VhcmNoIGNoYWxsZW5nZSwgd2hpY2ggcmVx dWlyZXMgYSBnb29kIGFtb3VudCBvZiBpbnRlcmRpc2NpcGxpbmFyeSBhbmQgY3Jvc3Mgb3JnYW5p emF0aW9uYWwgY29vcGVyYXRpb24gdG8gZGV2ZWxvcCBhIGNvbnNpc3RlbnQgbWV0aG9kb2xvZ3ku ICBUaGUgYXV0aG9ycyBvZiB0aGlzIGZpcnN0IGRyYWZ0IGFyZSBpbnZvbHZlZCBpbiBib3RoIGh1 bWFuIHJpZ2h0cyBhZHZvY2FjeSBhbmQgcmVzZWFyY2ggb24gSW50ZXJuZXQgdGVjaG5vbG9naWVz IC0gYW5kIGFzIHN1Y2ggIGJlbGlldmUgdGhhdCBicmluZ2luZyB0aGlzIHdvcmsgaW50byB0aGUg SVJURiBmYWNpbGl0YXRlcyBhbmQgIGltcHJvdmVzIGl0IGJ5IGJyaW5naW5nIGh1bWFuIHJpZ2h0 cyBleHBlcnRzIHRvZ2V0aGVyIHdpdGggdGhlIGNvbW11bml0eSBvZiByZXNlYXJjaGVycyBhbmQg ZGV2ZWxvcGVycyBvZiBJbnRlcm5ldCBzdGFuZGFyZHMgYW5kIHRlY2hub2xvZ2llcy48L3Q+Cgo8 dD5UaGUgbWV0aG9kb2xvZ2ljYWwgY2hvaWNlcyBtYWRlIGluIHRoaXMgZG9jdW1lbnQgYXJlIGJh c2VkIG9uIHRoZSBwb2xpdGljYWwgc2NpZW5jZS1iYXNlZCBtZXRob2Qgb2YgZGlzY291cnNlIGFu YWx5c2lzIGFuZCBldGhub2dyYXBoaWMgcmVzZWFyY2ggbWV0aG9kcyA8eHJlZiB0YXJnZXQ9IkNh dGgiLz4uIFRoaXMgd29yayBkZXBhcnRzIGZyb20gdGhlIGFzc3VtcHRpb24gdGhhdCBsYW5ndWFn ZSByZWZsZWN0cyB0aGUgdW5kZXJzdGFuZGluZyBvZiBjb25jZXB0cy4gT3IgYXMgPHhyZWYgdGFy Z2V0PSJKYWJyaSIvPiBob2xkcywgcG9saWN5IGRvY3VtZW50cyBhcmUg4oCYc29jaWFsIHJlbGF0 aW9ucyByZXByZXNlbnRlZCBpbiB0ZXh0cyB3aGVyZSBsYW5ndWFnZSBpcyB1c2VkIHRvIGNvbnN0 cnVjdCBtZWFuaW5nIGFuZCByZXByZXNlbnRhdGlvbuKAmS4gVGhpcyBwcm9jZXNzIGhhcHBlbnMg aW4g4oCYdGhlIHNvY2lhbCBzcGFjZSBvZiBzb2NpZXR54oCZIDx4cmVmIHRhcmdldD0iU2Nocm9l ZGVyIi8+IGFuZCBtYW5pZmVzdHMgaXRzZWxmIGluIGluc3RpdHV0aW9ucyBhbmQgb3JnYW5pemF0 aW9ucyA8eHJlZiB0YXJnZXQ9IktpbmciLz4sIGV4cG9zZWQgdXNpbmcgdGhlIGV0aG5vZ3JhcGhp YyBtZXRob2RzIG9mIHNlbWktc3RydWN0dXJlZCBpbnRlcnZpZXdzIGFuZCBwYXJ0aWNpcGFudCBv YnNlcnZhdGlvbi48L3Q+Cgo8dD5UaGUgZGlzY291cnNlIGFuYWx5c2lzIHdhcyBvcGVyYXRpb25h bGl6ZWQgdXNpbmcgcXVhbGl0YXRpdmUgYW5kIHF1YW50aXRhdGl2ZSBtZWFucy4gVGhlIGZpcnN0 IHN0ZXAgdGFrZW4gYnkgdGhlIHJlc2VhcmNoIGdyb3VwIHdhcyByZWFkaW5nICBSRkNzIGFuZCBv dGhlciBvZmZpY2lhbCBJRVRGIGRvY3VtZW50cy4gVGhlIHNlY29uZCBzdGVwIHdhcyB0aGUgdXNl IG9mIGEgcHlob24tYmFzZWQgYW5hbHl6ZXIsIHVzaW5nIHRoZSB0b29sIEJpZyBCYW5nLCBhZGFw dGVkIGJ5IE5pY2sgRG90eSA8eHJlZiB0YXJnZXQ9IkRvdHkiLz4gdG8gc2NhbiBmb3IgdGhlIGNv bmNlcHRzIHRoYXQgd2VyZSBpZGVudGlmaWVkIGFzIGltcG9ydGFudCBhcmNoaXRlY3R1cmFsIHBy aW5jaXBsZXMgKGRpc3RpbGxlZCBvbiB0aGUgaW5pdGlhbCByZWFkaW5nIGFuZCBzdXBwbGVtZW50 ZWQgYnkgdGhlIGludGVydmlld3MgYW5kIHBhcnRpY2lwYW50IG9ic2VydmF0aW9uKS4gU3VjaCBh IHF1YW50aXRhdGl2ZSBtZXRob2QgaXMgdmVyeSBwcmVjaXNlIGFuZCBzcGVlZHMgdXAgdGhlIHJl c2VhcmNoIHByb2Nlc3MgPHhyZWYgdGFyZ2V0PSJSaWNoaWUiLz4uIEJ1dCB0aGlzIHRvb2wgaXMg dW5hYmxlIHRvIHVuZGVyc3RhbmQg4oCYbGF0ZW50IG1lYW5pbmfigJkgPHhyZWYgdGFyZ2V0PSJE ZW56aW4iLz4uIEluIG9yZGVyIHRvIG1pdGlnYXRlIHRoZXNlIGlzc3VlcyBvZiBhdXRvbWF0ZWQg d29yZC1mcmVxdWVuY3kgYmFzZWQgYXBwcm9hY2hlcywgYW5kIHRvIGdldCBhIHNlbnNlIG9mIHRo ZSDigJh0aGljayBtZWFuaW5n4oCZIDx4cmVmIHRhcmdldD0iR2VlcnR6Ii8+IG9mIHRoZSBkYXRh LCBhIHNlY29uZCBxdWFsaXRhdGl2ZSBhbmFseXNpcyBvZiB0aGUgZGF0YSBzZXQgd2FzIHBlcmZv cm1lZC4gVGhlc2UgdmFyaW91cyByb3VuZHMgb2YgZGlzY291cnNlIGFuYWx5c2lzIHdlcmUgdXNl ZCB0byBpbmZvcm0gdGhlIGludGVydmlld3MgYW5kIGZ1cnRoZXIgZGF0YSBhbmFseXNpcy48L3Q+ Cgo8dD5UaGUgZXRobm9ncmFwaGljIG1ldGhvZHMgb2YgdGhlIGRhdGEgY29sbGVjdGlvbiBhbmQg cHJvY2Vzc2luZyBhbGxvd2VkIHRoZSByZXNlYXJjaCBncm91cCB0byBhY3F1aXJlIHRoZSBkYXRh IG5lY2Vzc2FyeSB0byDigJhwcm92aWRlIGEgaG9saXN0aWMgdW5kZXJzdGFuZGluZyBvZiByZXNl YXJjaCBwYXJ0aWNpcGFudHPigJkgdmlld3MgYW5kIGFjdGlvbnPigJkgPHhyZWYgdGFyZ2V0PSJE ZW56aW4iLz4gdGhhdCBoaWdobGlnaHRlZCBvbmdvaW5nIGlzc3VlcyBhbmQgY2FzZSBzdHVkaWVz IHdoZXJlIHByb3RvY29scyBpbXBhY3QgaHVtYW4gcmlnaHRzLiBUaGUgaW50ZXJ2aWV3IHBhcnRp Y2lwYW50cyB3ZXJlIHNlbGVjdGVkIHRocm91Z2ggcHVycG9zaXZlIHNhbXBsaW5nIDx4cmVmIHRh cmdldD0iQmFiYmllIi8+LCBhcyB0aGUgcmVzZWFyY2ggZ3JvdXAgd2FzIGludGVyZXN0ZWQgaW4g Z2V0dGluZyBhIHdpZGUgdmFyaWV0eSBvZiBvcGluaW9ucyBvbiB0aGUgcm9sZSBvZiBodW1hbiBy aWdodHMgaW4gZ3VpZGluZyBwcm90b2NvbCBkZXZlbG9wbWVudC4gVGhpcyBzYW1wbGluZyBtZXRo b2QgYWxzbyBlbnN1cmVkIHRoYXQgaW5kaXZpZHVhbHMgd2l0aCBleHRlbnNpdmUgZXhwZXJpZW5j ZSB3b3JraW5nIGF0IHRoZSBJRVRGIGluIHZhcmlvdXMgcm9sZXMgd2VyZSB0YXJnZXRlZC4gVGhl IGludGVydmlld2VlcyBpbmNsdWRlZCBpbmRpdmlkdWFscyBpbiBsZWFkZXJzaGlwIHBvc2l0aW9u cyAoV29ya2luZyBHcm91cCAoV0cpIGNoYWlycywgQXJlYSBEaXJlY3RvcnMgKEFEcykpLCDigJhy ZWd1bGFyIHBhcnRpY2lwYW50c+KAmSwgaW5kaXZpZHVhbHMgd29ya2luZyBmb3Igc3BlY2lmaWMg ZW50aXRpZXMgKGNvcnBvcmF0ZSwgY2l2aWwgc29jaWV0eSwgcG9saXRpY2FsLCBhY2FkZW1pYykg YW5kIHJlcHJlc2VudGVkIHZhcmlvdXMgYmFja2dyb3VuZHMsIG5hdGlvbmFsaXRpZXMgYW5kIGdl bmRlcnMuPC90PgoKPHNlY3Rpb24gYW5jaG9yPSJkYXRhLXNvdXJjZXMiIHRpdGxlPSJEYXRhIFNv dXJjZXMiPgoKPHQ+SW4gb3JkZXIgdG8gbWFwIHRoZSBwb3RlbnRpYWwgcmVsYXRpb24gYmV0d2Vl biBodW1hbiByaWdodHMgYW5kIHByb3RvY29scywgc28gZmFyLCB0aGUgSFJQQyByZXNlYXJjaCBn cm91cCBnYXRoZXJlZCBkYXRhIGZyb20gdGhyZWUgc3BlY2lmaWMgc291cmNlczo8L3Q+Cgo8c2Vj dGlvbiBhbmNob3I9ImRpc2NvdXJzZS1hbmFseXNpcy1vZi1yZmNzIiB0aXRsZT0iRGlzY291cnNl IGFuYWx5c2lzIG9mIFJGQ3MiPgo8dD5UbyBzdGFydCBhZGRyZXNzaW5nIHRoZSBpc3N1ZSwgYSBt YXBwaW5nIGV4ZXJjaXNlIGFuYWx5emluZyBJbnRlcm5ldCBhcmNoaXRlY3R1cmUgYW5kIHByb3Rv Y29scyBmZWF0dXJlcywgdmlzLWEtdmlzIHRoZWlyIHBvc3NpYmxlIGltcGFjdCBvbiBodW1hbiBy aWdodHMgd2FzIHVuZGVydGFrZW4uIFRoZXJlZm9yZSwgcmVzZWFyY2ggb24gdGhlIGxhbmd1YWdl IHVzZWQgaW4gY3VycmVudCBhbmQgaGlzdG9yaWMgUkZDcyBhbmQgbWFpbGluZyBsaXN0IGRpc2N1 c3Npb25zIHdhcyB1bmRlcnRha2VuIHRvIGV4cG9zZSBjb3JlIGFyY2hpdGVjdHVyYWwgcHJpbmNp cGxlcywgbGFuZ3VhZ2UgYW5kIGRlbGliZXJhdGlvbnMgb24gaHVtYW4gcmlnaHRzIG9mIHRob3Nl IGFmZmVjdGVkIGJ5IHRoZSBuZXR3b3JrLjwvdD4KCjwvc2VjdGlvbj4KPHNlY3Rpb24gYW5jaG9y PSJpbnRlcnZpZXdzLXdpdGgtbWVtYmVycy1vZi10aGUtaWV0Zi1jb21tdW5pdHktZHVyaW5nLWll dGY5Mi1pbi1kYWxsYXMiIHRpdGxlPSJJbnRlcnZpZXdzIHdpdGggbWVtYmVycyBvZiB0aGUgSUVU RiBjb21tdW5pdHkgZHVyaW5nIElFVEY5MiBpbiBEYWxsYXMiPgo8dD5JbnRlcnZpZXdzIHdpdGgg dGhlIGN1cnJlbnQgYW5kIHBhc3QgbWVtYmVycyBvZiB0aGUgSW50ZXJuZXQgQXJjaGl0ZWN0dXJl IEJvYXJkIChJQUIpLCBjdXJyZW50IGFuZCBwYXN0IG1lbWJlcnMgb2YgdGhlIEludGVybmV0IEVu Z2luZWVyaW5nIFN0ZWVyaW5nIEdyb3VwIChJRVNHKSBhbmQgY2hhaXJzIG9mIHNlbGVjdGVkIHdv cmtpbmcgZ3JvdXBzIGFuZCBSRkMgYXV0aG9ycyB3YXMgZG9uZSBhdCB0aGUgRGFsbGFzIG1lZXRp bmcgaW4gTWFyY2ggMjAxNS4gVG8gZ2V0IGFuIGluc2lkZXIgdW5kZXJzdGFuZGluZyBvZiBob3cg dGhleSB2aWV3IHRoZSByZWxhdGlvbnNoaXAgKGlmIGFueSkgYmV0d2VlbiBodW1hbiByaWdodHMg YW5kIHByb3RvY29scyB0byBwbGF5IG91dCBpbiB0aGVpciB3b3JrLjwvdD4KCjwvc2VjdGlvbj4K PHNlY3Rpb24gYW5jaG9yPSJwYXJ0aWNpcGFudC1vYnNlcnZhdGlvbi1pbi13b3JraW5nLWdyb3Vw cyIgdGl0bGU9IlBhcnRpY2lwYW50IG9ic2VydmF0aW9uIGluIFdvcmtpbmcgR3JvdXBzIj4KPHQ+ QnkgcGFydGljaXBhdGluZyBpbiB2YXJpb3VzIHdvcmtpbmcgZ3JvdXBzLCBpbiBwZXJzb24gYXQg SUVURiBtZWV0aW5ncyBhbmQgb24gbWFpbGluZ2xpc3RzLCBpbmZvcm1hdGlvbiB3YXMgZ2F0aGVy ZWQgYWJvdXQgdGhlIElFVEZzIGRheS10by1kYXkgd29ya2luZ3MuIEZyb20gd2hpY2ggd2hpY2gg Z2VuZXJhbCB0aGVtZXMsIHRlY2huaWNhbCBjb25jZXB0cywgYW5kIHVzZS1jYXNlcyBhYm91dCBo dW1hbiByaWdodHMgYW5kIHByb3RvY29scyB3ZXJlIGV4dHJhY3RlZC48L3Q+Cgo8L3NlY3Rpb24+ Cjwvc2VjdGlvbj4KPHNlY3Rpb24gYW5jaG9yPSJkYXRhLWFuYWx5c2lzLXN0cmF0ZWdpZXMiIHRp dGxlPSJEYXRhIGFuYWx5c2lzIHN0cmF0ZWdpZXMiPgoKPHQ+VGhlIGRhdGEgYWJvdmUgd2FzIHBy b2Nlc3NlZCB1c2luZyB0aHJlZSBjb25zZWN1dGl2ZSBzdHJhdGVnaWVzOiBtYXBwaW5nIHByb3Rv Y29scyByZWxhdGVkIHRvIGh1bWFuIHJpZ2h0cywgZXh0cmFjdGluZyBjb25jZXB0cyBmcm9tIHRo ZXNlIHByb3RvY29scywgYW5kIGNyZWF0aW9uIG9mIGEgY29tbW9uIGdsb3NzYXJ5IChkZXRhaWxl ZCB1bmRlciDigJwyLnZvY2FidWxhcnkgdXNlZOKAnSkuIEJlZm9yZSBnb2luZyBvdmVyIHRoZXNl IHN0cmF0ZWdpZXMgc29tZSBlbGFib3JhdGlvbiBvbiB0aGUgcHJvY2VzcyBvZiBpZGVudGlmeWlu ZyB0ZWNobmljYWwgY29uY2VwdHMgYXMgdGhleSByZWxhdGUgdG8gaHVtYW4gcmlnaHRzIG5lZWRz IHRvIGJlIGdpdmVuOjwvdD4KCjxzZWN0aW9uIGFuY2hvcj0iaWRlbnRpZnlpbmctcXVhbGl0aWVz LW9mLXRlY2huaWNhbC1jb25jZXB0cy10aGF0LXJlbGF0ZS10by1odW1hbi1yaWdodHMiIHRpdGxl PSJJZGVudGlmeWluZyBxdWFsaXRpZXMgb2YgdGVjaG5pY2FsIGNvbmNlcHRzIHRoYXQgcmVsYXRl IHRvIGh1bWFuIHJpZ2h0cyI+Cgo8c2VjdGlvbiBhbmNob3I9Im1hcHBpbmctcHJvdG9jb2xzLWFu ZC1zdGFuZGFyZHMtcmVsYXRlZC10by1odW1hbi1yaWdodHMiIHRpdGxlPSJNYXBwaW5nIHByb3Rv Y29scyBhbmQgc3RhbmRhcmRzIHJlbGF0ZWQgdG8gaHVtYW4gcmlnaHRzIj4KPHQ+QnkgY29tYmlu aW5nIGRhdGEgZnJvbSB0aGUgdGhyZWUgZGF0YSBzb3VyY2VzIG5hbWVkIGFib3ZlLCBhbiBleHRl bnNpdmUgbGlzdCBvZiAgcHJvdG9jb2xzIGFuZCBzdGFuZGFyZHMgdGhhdCBwb3RlbnRpYWxseSBl bmFibGUgdGhlIEludGVybmV0IGFzIGEgdG9vbCBmb3IgZnJlZWRvbSBvZiBleHByZXNzaW9uIGFu ZCBhc3NvY2lhdGlvbiB3YXMgYXNzZW1ibHkuIEluIG9yZGVyIHRvIGRldGVybWluZSB0aGUgZW5h YmxpbmcgKG9yIGluaGliaXRpbmcpIGZlYXR1cmVzIHdlIHJlbGllZCBvbiBkaXJlY3QgcmVmZXJl bmNlcyBvZiBzdWNoIGltcGFjdCBpbiB0aGUgUkZDcywgYXMgd2VsbCBhcyBpbnB1dCBmcm9tIHRo ZSBjb21tdW5pdHkuIE9uIHRoZSBiYXNpcyBvZiB0aGlzIGFuYWx5c2lzIGEgbGlzdCBvZiBSRkNz IHRoYXQgZGVzY3JpYmUgc3RhbmRhcmRzIGFuZCBwcm90b2NvbHMgdGhhdCBhcmUgcG90ZW50aWFs bHkgY2xvc2VseSByZWxhdGVkIHRvIGh1bWFuIHJpZ2h0cyB3YXMgY29tcGlsZWQuPC90PgoKPC9z ZWN0aW9uPgo8c2VjdGlvbiBhbmNob3I9ImV4dHJhY3RpbmctY29uY2VwdHMtZnJvbS1tYXBwZWQt cmZjcyIgdGl0bGU9IkV4dHJhY3RpbmcgY29uY2VwdHMgZnJvbSBtYXBwZWQgUkZDcyI+Cjx0Pk1h cHBpbmcgdGhlIHByb3RvY29scyBhbmQgc3RhbmRhcmRzIHRoYXQgYXJlIHJlbGF0ZWQgdG8gaHVt YW4gcmlnaHRzIGFuZCBjcmVhdGUgYSBodW1hbiByaWdodHMgZW5hYmVsaW5nIGVudmlyb25tZW50 IHdhcyB0aGUgZmlyc3Qgc3RlcC4gRm9yIHRoYXQgd2UgbmVlZGVkIHRvIGZvY3VzIG9uIHNwZWNp ZmljIHRlY2huaWNhbCBjb25jZXB0cyB0aGF0IHVuZGVybGllIHRoZXNlIHByb3RvY29scyBhbmQg IHN0YW5kYXJkcy4gT24gdGhlIGJhc2lzIG9mIHRoaXMgbGlzdCBhIG51bWJlciBvZiB0ZWNobmlj YWwgY29uY2VwdHMgdGhhdCBhcHBlYXJlZCBmcmVxdWVudGx5IHdhcyBleHRyYWN0ZWQsIGFuZCB1 c2VkIHRvIGNyZWF0ZSBhIHNlY29uZCBsaXN0IG9mIHRlY2huaWNhbCB0ZXJtcyB0aGF0LCB3aGVu IGNvbWJpbmVkLCBjcmVhdGUgYW4gZW5hYmxpbmcgZW52aXJvbm1lbnQgZm9yIGV4Y2VyY2lzaW5n IGh1bWFuIHJpZ2h0cyBvbiB0aGUgSW50ZXJuZXQuPC90PgoKPC9zZWN0aW9uPgo8c2VjdGlvbiBh bmNob3I9ImJ1aWxkaW5nLWEtY29tbW9uLXZvY2FidWxhcnktb2YtdGVjaG5pY2FsLWNvbmNlcHRz LXRoYXQtaW1wYWN0LWh1bWFuLXJpZ2h0cyIgdGl0bGU9IkJ1aWxkaW5nIGEgY29tbW9uIHZvY2Fi dWxhcnkgb2YgdGVjaG5pY2FsIGNvbmNlcHRzIHRoYXQgaW1wYWN0IGh1bWFuIHJpZ2h0cyI+Cjx0 PldoaWxlIGludGVydmlld2luZyBleHBlcnRzLCBtYXBwaW5nIFJGQ3MgYW5kIGNvbXBpbGluZyB0 ZWNobmljYWwgZGVmaW5pdGlvbnMgc2V2ZXJhbCBjb25jZXB0cyBvZiBjb252ZXJnZW5jZSBhbmQg ZGl2ZXJnZW5jZSB3ZXJlIGlkZW50aWZpZWQuIFRvIGVuc3VyZSB0aGF0IHRoZSBkaXNjdXNzaW9u IHdhcyBiYXNlZCBvbiBhIGNvbW1vbiB1bmRlcnN0YW5kaW5nIG9mIHRlcm1zIGFuZCB2b2NhYnVs YXJ5LCBhIGxpc3Qgb2YgZGVmaW5pdGlvbnMgd2FzIGNyZWF0ZWQuIFRoZSBkZWZpbml0aW9ucyBh cmUgYmFzZWQgb24gdGhlIHdvcmRpbmcgZm91bmQgaW4gdmFyaW91cyBJRVRGIGRvY3VtZW50cywg YW5kIGlmIHRoZXNlIHdlcmUgdW5hdmFpbGFibGUgZGVmaW5pdGlvbnMgd2VyZSB0YWtlbiBmcm9t IGRlZmluaXRpb25zIGZyb20gb3RoZXIgU3RhbmRhcmRzIERldmVsb3BpbmcgT3JnYW5pemF0aW9u cyBvciBhY2FkZW1pYyBsaXRlcmF0dXJlLjwvdD4KCjwvc2VjdGlvbj4KPHNlY3Rpb24gYW5jaG9y PSJ0cmFuc2xhdGluZy1odW1hbi1yaWdodHMtY29uY2VwdC1pbnRvLXRlY2huaWNhbC1kZWZpbml0 aW9ucyIgdGl0bGU9IlRyYW5zbGF0aW5nIEh1bWFuIFJpZ2h0cyBDb25jZXB0IGludG8gVGVjaG5p Y2FsIERlZmluaXRpb25zIj4KPHQ+VGhlIHByZXZpb3VzIHN0ZXBzIGFsbG93ZWQgZm9yIHRoZSBj bGFyaWZpY2F0aW9uIG9mIHJlbGF0aW9uIGJldHdlZW4gaHVtYW4gcmlnaHRzIGFuZCB0ZWNobmlj YWwgY29uY2VwdHMuIFRoZSBzdGVwcyB0YWtlbiBzaG93IGhvdyB0aGUgcmVzZWFyY2ggcHJvY2Vz cyB6b29tZWQgaW4sIGZyb20gY29tcGlsaW5nIGEgYnJvYWQgbGlzdHMgb2YgcHJvdG9jb2xzIGFu ZCBzdGFuZGFyZHMgdGhhdCByZWxhdGUgdG8gaHVtYW4gcmlnaHRzIHRvIGV4dHJhY3RpbmcgdGhl IHByZWNpc2UgdGVjaG5pY2FsIGNvbmNlcHRzIHRoYXQgbWFrZSB1cCB0aGVzZSBwcm90b2NvbHMg YW5kIHN0YW5kYXJkcywgaW4gb3JkZXIgdG8gdW5kZXJzdGFuZCB0aGUgcmVsYXRpb25zaGlwIGJl dHdlZW4gdGhlIHR3by4gVGhpcyBzdWItc2VjdGlvbiBwcmVzZW50cyB0aGUgbmV4dCBzdGVwOiB0 cmFuc2xhdGluZyBodW1hbiByaWdodHMgdG8gdGVjaG5pY2FsIGNvbmNlcHRzIGJ5IG1hdGNoaW5n IHRoZSBpbmRpdmlkdWFscyBjb21wb25lbnRzIG9mIHRoZSByaWdodHMgdG8gdGhlIGFjY29tcGFu eWluZyB0ZWNobmljYWwgY29uY2VwdHMsIGFsbG93aW5nIGZvciB0aGUgY3JlYXRpb24gb2YgYSBs aXN0IG9mIHRlY2huaWNhbCBjb25jZXB0cyB0aGF0IHdoZW4gY29tYmluZWQgY3JlYXRlIGFuIGVu YWJsaW5nIGVudmlyb25tZW50IGZvciBodW1hbiByaWdodHMuPC90PgoKPC9zZWN0aW9uPgo8c2Vj dGlvbiBhbmNob3I9Imxpc3QtdGVjaG5pY2FsLXRlcm1zLXRoYXQtY29tYmluZWQtY3JlYXRlLWVu YWJsaW5nLWVudmlyb25tZW50LWZvci1odW1hbi1yaWdodHMiIHRpdGxlPSJMaXN0IHRlY2huaWNh bCB0ZXJtcyB0aGF0IGNvbWJpbmVkIGNyZWF0ZSBlbmFibGluZyBlbnZpcm9ubWVudCBmb3IgaHVt YW4gcmlnaHRzIj4KPHQ+T24gdGhlIGJhc2lzIG9mIHRoZSBwcmlvciBzdGVwcyB0aGUgZm9sbG93 aW5nICBsaXN0IG9mICB0ZWNobmljYWwgdGVybXMsIHRoYXQgd2hlbiBjb21iaW5lZCBjcmVhdGUg YW4gZW5hYmxpbmcgZW52aXJvbm1lbnQgZm9yIGh1bWFuIHJpZ2h0cywgc3VjaCBhIGZyZWVkb20g b2YgZXhwcmVzc2lvbiBhbmQgZnJlZWRvbSBvZiBhc3NvY2lhdGlvbiwgd2FzIGRyYWZ0ZWQuPC90 PgoKPGZpZ3VyZT48YXJ0d29yaz48IVtDREFUQVsKICBBcmNoaXRlY3R1cmFsIHByaW5jaXBsZXMg ICAgICAgICAgICAgICAgICAgIEVuYWJsaW5nIGZlYXR1cmVzCiAgICBhbmQgY2hhcmFjdGVyaXN0 aWNzICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHVzZXIgcmlnaHRzCgogICAgICAgICAgICAg ICAgICAgLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVwK ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8CiArPT09PT09PT09PT09PT09PT18PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0rICAgICAgICAgICAgICAgICAgfAogPSAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPSAgICAgICAgICAgICAgICAgIHwKID0gICAgICAgICAgICAgICAg IHwgICAgICAgICAgIEVuZCB0byBlbmQgICAgICAgID0gICAgICAgICAgICAgICAgICB8CiA9ICAg ICAgICAgICAgICAgICB8ICAgICAgICAgIFJlbGlhYmlsaXR5ICAgICAgICA9ICAgICAgICAgICAg ICAgICAgfAogPSAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgUmVzaWxpZW5jZSAgICAgICAg PSAgQWNjZXNzIGFzICAgICAgIHwKID0gICAgICAgICAgICAgICAgIHwgICAgICAgIEludGVyb3Bl cmFiaWxpdHkgICAgID0gICBIdW1hbiBSaWdodCAgICB8CiA9ICAgIEdvb2QgZW5vdWdoICB8ICAg ICAgICAgIFRyYW5zcGFyZW5jeSAgICAgICA9ICAgICAgICAgICAgICAgICAgfAogPSAgICAgcHJp bmNpcGxlICAgfCAgICAgICBEYXRhIG1pbmltaXphdGlvbiAgICAgPSAgICAgICAgICAgICAgICAg IHwKID0gICAgICAgICAgICAgICAgIHwgIFBlcm1pc3Npb25sZXNzIGlubm92YXRpb24gID0gICAg ICAgICAgICAgICAgICB8CiA9ICAgIFNpbXBsaWNpdHkgICB8ICAgICBHcmFjZWZ1bCBkZWdyYWRh dGlvbiAgICA9ICAgICAgICAgICAgICAgICAgfAogPSAgICAgICAgICAgICAgICAgfCAgICAgICAg ICBDb25uZWN0aXZpdHkgICAgICAgPSAgICAgICAgICAgICAgICAgIHwKID0gICAgICAgICAgICAg ICAgIHwgICAgICAgICAgSGV0ZXJvZ2VuZWl0eSAgICAgID0gICAgICAgICAgICAgICAgICB8CiA9 ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9ICAgICAgICAg ICAgICAgICAgfAogPSAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPSAgICAgICAgICAgICAgICAgIHwKID0gICAgICAgICAgICAgICAgIFwtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vCiA9ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9CiArPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0rCl1dPjwvYXJ0d29yaz48L2ZpZ3VyZT4KCjwvc2VjdGlv bj4KPC9zZWN0aW9uPgo8c2VjdGlvbiBhbmNob3I9InRyYW5zbGF0aW9uLWh1bWFuLXJpZ2h0cy10 by10ZWNobmljYWwtdGVybXMiIHRpdGxlPSJUcmFuc2xhdGlvbiBodW1hbiByaWdodHMgdG8gdGVj aG5pY2FsIHRlcm1zIj4KCjx0PlRoaXMgYW5hbHlzaXMgYWltcyB0byB0cmFuc2xhdGUgaHVtYW4g cmlnaHRzIGNvbmNlcHRzIHRoYXQgaW1wYWN0IG9yIGFyZSBpbXBhY3RlZCBieSB0aGUgSW50ZXJu ZXQgYXMgZm9sbG93czo8L3Q+Cgo8dD5UaGUgY29tYmluYXRpb24gb2YgY29udGVudCBhZ25vc3Rp Y2lzbSwgY29ubmVjdGl2aXR5LCBzZWN1cml0eSwgcHJpdmFjeSAoYXMgZGVmaW5lZCBpbiA8eHJl ZiB0YXJnZXQ9IlJGQzY5NzMiLz4gKSwgYW5kIG9wZW4gc3RhbmRhcmRzIGFyZSB0aGUgdGVjaG5p Y2FsIHByaW5jaXBsZXMgdGhhdCB1bmRlcmxpZSBmcmVlZG9tIG9mIGV4cHJlc3Npb24gb24gdGhl IEludGVybmV0LjwvdD4KCjxmaWd1cmU+PGFydHdvcms+PCFbQ0RBVEFbCiAgKCAgICAgQ29ubmVj dGl2aXR5ICAgICAgICAgICkKICggICAgICBQcml2YWN5ICAgICAgICAgICAgICAgICkKICggICAg ICBTZWN1cml0eSAgICAgICAgICAgICAgICkgICA9IFJpZ2h0IHRvIGZyZWVkb20gb2YgZXhwcmVz c2lvbgogKCAgICAgIENvbnRlbnQgYWdub3N0aWNpc20gICAgKQogKCAgICAgIEludGVybmF0aW9u YWxpemF0aW9uICAgKQogKCAgICAgIENlbnNvcnNoaXAgcmVzaXN0YW5jZSAgKQogKCAgICAgIE9w ZW4gU3RhbmRhcmRzICAgICAgICAgKQogICggICAgIEhldGVyb2dlbmVpdHkgc3VwcG9ydCApCgoK ICggICAgIEFub255bWl0eSAgICAgICAgICApCiggICAgICBQcml2YWN5ICAgICAgICAgICAgICkg ICA9IFJpZ2h0IHRvIG5vbi1kaXNjcmltaW5hdGlvbgooICAgICAgUHNldWRvbnltaXR5ICAgICAg ICApCiggICAgICBDb250ZW50IGFnbm9zdGljaXNtICkKICggICAgIEFjY2Vzc2liaWxpdHkgICAg ICApCgoKKCAgICAgICBDb250ZW50IEFnbm9zdGljaXNtICApCiggICAgICAgU2VjdXJpdHkgICAg ICAgICAgICAgKSAgPSBSaWdodCB0byBlcXVhbCBwcm90ZWN0aW9uCgogKCAgQWNjZXNzaWJpbGl0 eSAgICAgICAgICkKKCAgIEludGVybmF0aW9uYWxpemF0aW9uICAgKSA9IFJpZ2h0IHRvIHBvbGl0 aWNhbCBwYXJ0aWNpcGF0aW9uCiggICBDZW5zb3JzaGlwIHJlc2lzdGFuY2UgICkKICggICAgICBB Y2Nlc3NpYmlsaXR5ICAgICAgICAgKQoKCiAoICBPcGVuIHN0YW5kYXJkcyAgICAgICAgICkKKCAg IExvY2FsaXphdGlvbiAgICAgICAgICAgICkgPSBSaWdodCB0byBwYXJ0aWNpcGF0ZSBpbiBjdWx0 dXJhbCBsaWZlLAooICAgSW50ZXJuYXRpb25hbGl6YXRpb24gICAgKSAgICAgICAgICAgICBhcnRz IGFuZCBzY2llbmNlICYKKCAgIENlbnNvcnNoaXAgcmVzaXN0YW5jZSAgICkgICAgUmlnaHQgdG8g ZWR1Y2F0aW9uCiAoICBBY2Nlc3NpYmlsaXR5ICAgICAgICAgICkKCgoKICggIENvbm5lY3Rpdml0 eSAgICAgICAgICkKKCAgIERlY2VudHJhbGl6YXRpb24gICAgICApCiggICAgIENlbnNvcnNoaXAg cmVzaXN0YW5jZSAgICkgPSBSaWdodCB0byBmcmVlZG9tIG9mIGFzc2VtYmx5CiggICBQc2V1ZG9u eW1pdHkgICAgICAgICAgKSAgICAgICAgICAgICAgICAgICBhbmQgYXNzb2NpYXRpb24KKCAgIEFu b255bWl0eSAgICAgICAgICAgICApCiAoICBTZWN1cml0eSAgICAgICAgICAgICApCgogICAgKCBS ZWxpYWJpbGl0eSAgICApCiAgICggIENvbmZpZGVudGlhbGl0eSApCiAgICggIEludGVncml0eSAg ICAgICApID0gUmlnaHQgdG8gc2VjdXJpdHkKICAgKCAgQXV0aGVudGljaXR5ICAgICkKICAgICgg QW5vbnltaXR5ICAgICAgKQpdXT48L2FydHdvcms+PC9maWd1cmU+Cgo8c2VjdGlvbiBhbmNob3I9 Im1hcC1jYXNlcy1vZi1wcm90b2NvbHMtdGhhdC1hZHZlcnNlbHktaW1wYWN0LWh1bWFuLXJpZ2h0 cy1vci1hcmUtZW5hYmxlcnMtdGhlcmVvZiIgdGl0bGU9Ik1hcCBjYXNlcyBvZiBwcm90b2NvbHMg dGhhdCBhZHZlcnNlbHkgaW1wYWN0IGh1bWFuIHJpZ2h0cyBvciBhcmUgZW5hYmxlcnMgdGhlcmVv ZiI+Cjx0PkdpdmVuIHRoZSBpbmZvcm1hdGlvbiBhYm92ZSwgdGhlIGZvbGxvd2luZyBsaXN0IG9m IGNhc2VzIG9mIHByb3RvY29scyB0aGF0IGFkdmVyc2VseSBpbXBhY3Qgb3IgZW5hYmxlIGh1bWFu IHJpZ2h0cyB3YXMgZm9ybWVkLjwvdD4KCjwvc2VjdGlvbj4KPC9zZWN0aW9uPgo8c2VjdGlvbiBh bmNob3I9ImlwdjQiIHRpdGxlPSJJUHY0Ij4KCjx0PlRoZSBJbnRlcm5ldCBQcm90b2NvbCB2ZXJz aW9uIDQgKElQdjQpLCBhbHNvIGtub3duIGFzIOKAmGxheWVyIDPigJkgb2YgdGhlIEludGVybmV0 LCBhbmQgc3BlY2lmaWVkIGFzIGEgY29tbW9uIGVuY2Fwc3VsYXRpb24gYW5kIHByb3RvY29sIGhl YWRlciwgaXMgZGVmaW5lZCBpbiA8eHJlZiB0YXJnZXQ9IlJGQzA3OTEiLz4uIFRoZSBldm9sdXRp b24gb2YgSW50ZXJuZXQgY29tbXVuaWNhdGlvbnMgbGVkIHRvIGNvbnRpbnVlZCBkZXZlbG9wbWVu dCBpbiB0aGlzIGFyZWEsIGVuY2Fwc3VsYXRlZCBpbiB0aGUgZGV2ZWxvcG1lbnQgb2YgdmVyc2lv biA2IChJUHY2KSBvZiB0aGUgcHJvdG9jb2wgaW4gPHhyZWYgdGFyZ2V0PSJSRkMyNDYwIi8+LiBJ biBzcGl0ZSBvZiB0aGlzIHVwZGF0ZWQgcHJvdG9jb2wsIHdlIGZpbmQgdGhhdCAyNSB5ZWFycyBh ZnRlciB0aGUgc3BlY2lmaWNhdGlvbiBvZiB2ZXJzaW9uIDYgb2YgdGhlIHByb3RvY29sLCB0aGUg b2xkZXIgdjQgc3RhbmRhcmQgY29udGludWVzIHRvIGFjY291bnQgZm9yIGEgc2l6ZWFibGUgbWFq b3JpdHkgb2YgSW50ZXJuZXQgdHJhZmZpYywgYW5kIG1vc3QgKGlmIG5vdCBhbGwpIG9mIHRoZSBp c3N1ZXMgZGlzY3Vzc2VkIGhlcmUgYXJlIHZhbGlkIGZvciBJUHY0IGFzIHdlbGwgYXMgSVB2Ni48 L3Q+Cgo8dD5UaGUgSW50ZXJuZXQgd2FzIGRlc2lnbmVkIGFzIGEgcGxhdGZvcm0gZm9yIGZyZWUg YW5kIG9wZW4gY29tbXVuaWNhdGlvbiwgbW9zdCBub3RhYmx5IGVuY29kZWQgaW4gdGhlIGVuZC10 by1lbmQgcHJpbmNpcGxlLCBhbmQgdGhhdCBwaGlsb3NvcGh5IGlzIGFsc28gcHJlc2VudCBpbiB0 aGUgdGVjaG5pY2FsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBJbnRlcm5ldCBQcm90b2NvbC4gPHhy ZWYgdGFyZ2V0PSJSRkMzNzI0Ii8+IFdoaWxlIHRoZSBwcm90b2NvbCB3YXMgZGVzaWduZWQgdG8g ZXhpc3QgaW4gYW4gZW52aXJvbm1lbnQgd2hlcmUgaW50ZWxsaWdlbmNlIGlzIGF0IHRoZSBlbmQg aG9zdHMsIGl0IGhhcyBwcm92ZW4gdG8gcHJvdmlkZSBzdWZmaWNpZW50IGluZm9ybWF0aW9uIHRo YXQgYSBtb3JlIGludGVsbGlnZW50IG5ldHdvcmsgY29yZSBjYW4gbWFrZSBwb2xpY3kgZGVjaXNp b25zIGFuZCBlbmZvcmNlIHBvbGljeSBzaGFwaW5nIGFuZCByZXN0cmljdGluZyB0aGUgY29tbXVu aWNhdGlvbnMgb2YgZW5kIGhvc3RzLiBUaGVzZSBjYXBhYmlsaXRpZXMgZm9yIG5ldHdvcmsgY29u dHJvbCBhbmQgbGltaXRhdGlvbnMgb2YgdGhlIGZyZWVkb20gb2YgZXhwcmVzc2lvbiBieSBlbmQg aG9zdHMgY2FuIGJlIHRyYWNlZCBiYWNrIHRvIHRoZSBJUHY0IGRlc2lnbiwgaGVscGluZyB1cyB1 bmRlcnN0YW5kIHdoaWNoIHRlY2huaWNhbCBwcm90b2NvbCBkZWNpc2lvbnMgaGF2ZSBsZWQgdG8g aGFybSBvZiB0aGVzZSBodW1hbiByaWdodHMuPC90PgoKPHQ+VHdvIG1ham9yIHNoaWZ0cyBoYXZl IG9jY3VycmVkIHRvIGhhcm0gZnJlZWRvbSBvZiBleHByZXNzaW9uIHRocm91Z2ggbWlzdXNlIG9m IHRoZSBJbnRlcm5ldCBQcm90b2NvbC4gVGhlIGZpcnN0IGlzIHRoZSBuZXR3b3Jr4oCZcyBleHBs b2l0YXRpb24gb2YgdGhlIHB1YmxpYyB2aXNpYmlsaXR5IG9mIHRoZSBob3N0IHBhaXJzIGZvciBh bGwgY29tbXVuaWNhdGlvbnMsIGFuZCB0aGUgY29ycmVzcG9uZGluZyBhYmlsaXR5IHRvIGRpc2Ny aW1pbmF0ZSBhbmQgYmxvY2sgdHJhZmZpYyBhcyBhIHJlc3VsdCBvZiB0aGF0IG1ldGFkYXRhLiBU aGUgc2Vjb25kIGlzIHRoZSBzZWxlY3RpdmUgZGV2ZWxvcG1lbnQgb2YgSVAgb3B0aW9ucy4gUHJv dG9jb2wgZXh0ZW5zaW9ucyBpbmNsdWRpbmcgTW9iaWxpdHkgYW5kIE11bHRpY2FzdGluZyBoYXZl IHByb3Bvc2VkIGFsdGVybmF0ZSBjb21tdW5pY2F0aW9uIG1vZGVzIGFuZCBzdWdnZXN0IHRoYXQg ZGlmZmVyZW50IGZvcm1zIG9mIGFzc2VtYmx5IGNvdWxkIGJlIHN1cHBvcnRlZCBieSBhIHJvYnVz dCBJUCBsYXllci4gSW5zdGVhZCwgdGhlIHByb3RvY29sIGxpbWl0ZWQgdGhlIGRlcGxveWFiaWxp dHkgb2Ygc3VjaCBleHRlbnNpb25zIGJ5IG5vdCBwcm92aWRpbmcgYSBtZWNoYW5pc20gZm9yIGFw cHJvcHJpYXRlIGZhbGxiYWNrIGJlaGF2aW9yIHdoZW4gdW5yZWNvZ25pemVkIGV4dGVuc2lvbnMg YXJlIGVuY291bnRlcmVkLjwvdD4KCjxzZWN0aW9uIGFuY2hvcj0ibmV0d29yay12aXNpYmlsaXR5 LW9mLXNvdXJjZS1hbmQtZGVzdGluYXRpb24iIHRpdGxlPSJOZXR3b3JrIHZpc2liaWxpdHkgb2Yg U291cmNlIGFuZCBEZXN0aW5hdGlvbiI+Cgo8dD5UaGUgSVB2NCBwcm90b2NvbCBoZWFkZXIgY29u dGFpbnMgZml4ZWQgbG9jYXRpb24gZmllbGRzIGZvciBib3RoIHRoZSBzb3VyY2UgYW5kIGRlc3Rp bmF0aW9uIElQIGFkZHJlc3NlcyA8eHJlZiB0YXJnZXQ9IlJGQzA3OTEiLz4uIFRoZXNlIGFkZHJl c3NlcyBpZGVudGlmeSBib3RoIHRoZSBob3N0IHNlbmRpbmcgYW5kIHJlY2VpdmluZyBlYWNoIG1l c3NhZ2UsIGFuZCBhbGxvdyB0aGUgY29yZSBuZXR3b3JrIHRvIHVuZGVyc3RhbmQgd2hvIGlzIHRh bGtpbmcgdG8gd2hvbSwgYW5kIHRvIHByYWN0aWNhbGx5IGxpbWl0IGNvbW11bmljYXRpb24gc2Vs ZWN0aXZlbHkgYmV0d2VlbiBwYWlycyBvZiBob3N0cy4gQmxvY2tpbmcgb2YgY29tbXVuaWNhdGlv biBiYXNlZCBvbiB0aGUgcGFpciBvZiBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGlzIG9uZSBvZiB0 aGUgbW9zdCBjb21tb24gbGltaXRhdGlvbnMgb24gdGhlIGFiaWxpdHkgZm9yIGhvc3RzIHRvIGNv bW11bmljYXRlIHRvZGF5LCA8eHJlZiB0YXJnZXQ9ImNhaWRhIi8+IGFuZCBjYW4gYmUgc2VlbiBh cyBhIHJlc3RyaWN0aW9uIG9mIHRoZSBhYmlsaXR5IGZvciB0aG9zZSBob3N0cyB0byBhc3NlbWJs ZSBvciB0byBjb25zZW5zdWFsbHkgZXhwcmVzcyB0aGVtc2VsdmVzLjwvdD4KCjx0PkluY2x1c2lv biBvZiBhbiBJbnRlcm5ldC13aWRlIGlkZW50aWZpZWQgc291cmNlIGluIHRoZSBJUCBoZWFkZXIg aXMgbm90IHRoZSBvbmx5IHBvc3NpYmxlIGRlc2lnbiwgZXNwZWNpYWxseSBzaW5jZSB0aGUgcHJv dG9jb2wgaXMgbW9zdCBjb21tb25seSBpbXBsZW1lbnRlZCBvdmVyIEV0aGVybmV0IG5ldHdvcmtz IGV4cG9zaW5nIG9ubHkgbGluay1sb2NhbCBpZGVudGlmaWVycy4gPHhyZWYgdGFyZ2V0PSJSRkMw ODk0Ii8+IEEgdmFyaWV0eSBvZiBhbHRlcm5hdGl2ZSBkZXNpZ25zIGluY2x1ZGluZyBzb3VyY2Ug cm91dGluZywgd2hpY2ggd291bGQgYWxsb3cgZm9yIHRoZSBzZW5kZXIgdG8gY2hvb3NlIGEgcGVy IGRlZmluZWQgKHNhZmUpIHJvdXRlLCBhbmQgc3Bvb2Zpbmcgb2YgdGhlIHNvdXJjZSBJUCBhZGRy ZXNzIGFyZSB0ZWNobmljYWxseSBzdXBwb3J0ZWQgYnkgdGhlIHByb3RvY29sLCBidXQgbmVpdGhl ciBhcmUgY29uc2lkZXJlZCBnb29kIHByYWN0aWNlIG9uIHRoZSBJbnRlcm5ldC4gV2hpbGUgcHJv amVjdHMgbGlrZSA8eHJlZiB0YXJnZXQ9InRvcnByb2plY3QiLz4gcHJvdmlkZSBhbiBhbHRlcm5h dGl2ZSBpbXBsZW1lbnRhdGlvbiBvZiBhbm9ueW1pdHkgaW4gY29ubmVjdGlvbnMsIHRoZXkgaGF2 ZSBiZWVuIGRldmVsb3BlZCBpbiBzcGl0ZSBvZiB0aGUgSVB2NCBwcm90b2NvbCBkZXNpZ24uPC90 PgoKPC9zZWN0aW9uPgo8c2VjdGlvbiBhbmNob3I9InByb3RvY29scyIgdGl0bGU9IlByb3RvY29s cyI+Cgo8dD5UaGUgb3RoZXIgbWFqb3IgZmVhdHVyZSBvZiB0aGUgSVAgcHJvdG9jb2wgaGVhZGVy IGlzIHRoYXQgaXQgc3BlY2lmaWVzIHRoZSBwcm90b2NvbCBlbmNhcHN1bGF0ZWQgaW4gZWFjaCBt ZXNzYWdlIGluIGFuIGVhc2lseSBvYnNlcnZhYmxlIGZvcm0sIGFuZCBkb2VzIG5vdCBlbmNvdXJh Z2UgYSBkZXNpZ24gd2hlcmUgdGhlIGVuY2Fwc3VsYXRlZCBwcm90b2NvbCBpcyBub3QgYXZhaWxh YmxlIHRvIGEgbmV0d29yayBvYnNlcnZlci4gVGhpcyBkZXNpZ24gaGFzIHJlc3VsdGVkIGluIGEg cHJvbGlmZXJhdGlvbiBvZiByb3V0ZXJzIHdoaWNoIGluc3BlY3QgdGhlIGlubmVyIHByb3RvY29s LCBhbmQgYWxzbyBsZWQgdG8gYSBzdGFnbmF0aW9uIHdoZXJlIG9ubHkgdGhlIFRDUCBhbmQgVURQ IHByb3RvY29scyBhcmUgd2lkZWx5IHN1cHBvcnRlZCBhY3Jvc3MgdGhlIEludGVybmV0LiBXaGls ZSB0aGUgSVAgcHJvdG9jb2wgd2FzIGRlc2lnbmVkIGFzIHRoZSBlbnRpcmUgc2V0IG9mIG1ldGFk YXRhIG5lZWRlZCBmb3Igcm91dGluZywgc3Vic2VxdWVudCBlbmhhbmNlZCByb3V0ZXJzIGhhdmUg Zm91bmQgdmFsdWUgb24gbWFraW5nIHBvbGljeSBkZWNpc2lvbnMgYmFzZWQgb24gdGhlIGNvbnRl bnRzIG9mIFRDUCBhbmQgVURQIGhlYWRlcnMgYXMgd2VsbCwgYW5kIGFyZSBlbmNvZGVkIHdpdGgg dGhlIGFzc3VtcHRpb24gdGhhdCBvbmx5IHRoZXNlIHByb3RvY29scyB3aWxsIGJlIHVzZWQgZm9y IGRhdGEgdHJhbnNmZXIuIDx4cmVmIHRhcmdldD0ic3BkeSIvPiA8eHJlZiB0YXJnZXQ9IlJGQzQz MDMiLz4gZGVmaW5lcyBhbiBlbmNyeXB0ZWQgZW5jYXBzdWxhdGlvbiBvZiBhZGRpdGlvbmFsIHBy b3RvY29scywgYnV0IGxhY2tzIHdpZGVzcHJlYWQgZGVwbG95bWVudCBhbmQgZmFjZXMgdGhlIHNh bWUgY2hhbGxlbmdlIGFzIGFueSBvdGhlciBwcm90b2NvbCBvZiBwcm92aWRpbmcgc3VmZmljaWVu dCBtZXRhZGF0YSB3aXRoIGVhY2ggbWVzc2FnZSBmb3Igcm91dGVycyB0byBtYWtlIHBvc2l0aXZl IHBvbGljeSBkZWNpc2lvbnMuIFByb3RvY29scyBsaWtlIDx4cmVmIHRhcmdldD0iUkZDNDkwNiIv PiBoYXZlIHNlZW4gbGltaXRlZCB3aWRlLWFyZWEgdXB0YWtlLCBhbmQgdGhlc2UgYWx0ZXJuYXRl IGRlc2lnbnMgYXJlIGZyZXF1ZW50bHkgcmUtaW1wbGVtZW50ZWQgb24gdG9wIG9mIFVEUC4gPHhy ZWYgdGFyZ2V0PSJxdWljIi8+PC90PgoKPC9zZWN0aW9uPgo8c2VjdGlvbiBhbmNob3I9ImFkZHJl c3MtdHJhbnNsYXRpb24tYW5kLW1vYmlsaXR5IiB0aXRsZT0iQWRkcmVzcyBUcmFuc2xhdGlvbiBh bmQgTW9iaWxpdHkiPgoKPHQ+QSBtYWpvciBzdHJ1Y3R1cmFsIHNoaWZ0IGluIHRoZSBJbnRlcm5l dCB3aGljaCB1bmRlcm1pbmVkIHRoZSBwcm90b2NvbCBkZXNpZ24gb2YgSVB2NCwgYW5kIHNpZ25p ZmljYW50bHkgcmVkdWNlZCB0aGUgZnJlZWRvbSBvZiBlbmQgdXNlcnMgdG8gY29tbXVuaWNhdGUg YW5kIGFzc2VtYmxlIGlzIHRoZSBpbnRyb2R1Y3Rpb24gb2YgbmV0d29yayBhZGRyZXNzIHRyYW5z bGF0aW9uLiA8eHJlZiB0YXJnZXQ9IlJGQzE2MzEiLz4gTmV0d29yayBhZGRyZXNzIHRyYW5zbGF0 aW9uIGlzIGEgcHJvY2VzcyB3aGVyZWJ5IG9yZ2FuaXphdGlvbnMgYW5kIGF1dG9ub21vdXMgc3lz dGVtcyBjb25uZWN0IHR3byBuZXR3b3JrcyBieSB0cmFuc2xhdGluZyB0aGUgSVB2NCBzb3VyY2Ug YW5kIGRlc3RpbmF0aW9uIGFkZHJlc3NlcyBiZXR3ZWVuIHRoZSB0d28uIFRoaXMgcHJvY2VzcyBw dXRzIHRoZSByb3V0ZXIgcGVyZm9ybWluZyB0aGUgdHJhbnNsYXRpb24gaW50byBhIHByaXZpbGVn ZWQgcG9zaXRpb24sIHdoZXJlIGl0IGNhbiBkZWNpZGUgd2hpY2ggc3Vic2V0IG9mIGNvbW11bmlj YXRpb25zIGFyZSB3b3J0aHkgb2YgdHJhbnNsYXRpb24sIGFuZCB3aGV0aGVyIGFuIHVua25vd24g cmVxdWVzdCBmb3IgY29tbXVuaWNhdGlvbiB3aWxsIGJlIGNvcnJlY3RseSBmb3J3YXJkZWQgdG8g YSBob3N0IG9uIHRoZSBvdGhlciBuZXR3b3JrLjwvdD4KCjx0PlRoaXMgcHJvY2VzcyBvZiB0cmFu c2xhdGlvbiBoYXMgd2lkZXNwcmVhZCBhZG9wdGlvbiBkZXNwaXRlIHByb21vdGluZyBhIHByb2Nl c3MgdGhhdCBnb2VzIGFnYWluc3QgdGhlIHN0YXRlZCBlbmQtdG8tZW5kIHByb2Nlc3Mgb2YgdGhl IHVuZGVybHlpbmcgcHJvdG9jb2wgPHhyZWYgdGFyZ2V0PSJuYXR1c2FnZSIvPi4gSW4gY29udHJh c3QsIHRoZSBwcm9wb3NlZCBtZWNoYW5pc20gdG8gcHJvdmlkZSBzdXBwb3J0IGZvciBtb2JpbGl0 eSBhbmQgZm9yd2FyZGluZyB0byBjbGllbnRzIHdoaWNoIG1heSBtb3ZlLCBlbmNvZGVkIGluc3Rl YWQgYXMgYW4gb3B0aW9uIGluIHRoZSBJUCBwcm90b2NvbCBpbiA8eHJlZiB0YXJnZXQ9IlJGQzU5 NDQiLz4sIGhhcyBmYWlsZWQgdG8gZ2FpbiB0cmFjdGlvbi4gSW4gdGhpcyBzaXR1YXRpb24gdGhl IGNvbXByb21pc2UgbWFkZSBpbiB0aGUgZGVzaWduIG9mIHRoZSBwcm90b2NvbCByZXN1bHRlZCBp biBhIHRlY2hub2xvZ3kgdGhhdCBkb2VzIG5vdCBmdWxseSBlbmNvZGUgZnJlZWRvbSBvZiBleHBy ZXNzaW9uIGluIGl0cyBkZXNpZ24sIGV2ZW50aG91Z2ggYSB2aWFibGUgYWx0ZXJuYXRpdmUgdGhh dCB3b3VsZCBkbyB0aGlzIGV4aXN0cy48L3Q+Cgo8L3NlY3Rpb24+Cjwvc2VjdGlvbj4KPHNlY3Rp b24gYW5jaG9yPSJkbnMiIHRpdGxlPSJETlMiPgoKPHQ+VGhlIERvbWFpbiBOYW1lIFN5c3RlbSAo RE5TKSA8eHJlZiB0YXJnZXQ9IlJGQzEwMzUiLz4sIHByb3ZpZGVzIHNlcnZpY2UgZGlzY292ZXJ5 IGNhcGFiaWxpdGllcywgYW5kIHByb3ZpZGVzIGEgbWVjaGFuaXNtIHRvIGFzc29jaWF0ZSBodW1h biByZWFkYWJsZSBuYW1lcyB3aXRoIHNlcnZpY2VzLiBUaGUgRE5TIHN5c3RlbSBpcyBvcmdhbml6 ZWQgYXJvdW5kIGEgc2V0IG9mIGluZGVwZW5kZW50bHkgb3BlcmF0ZWQg4oCYUm9vdCBTZXJ2ZXJz 4oCZIHJ1biBieSBvcmdhbml6YXRpb25zIGFyb3VuZCB0aGUgd2ViIHdoaWNoIGVuYWN0IElDQU5O 4oCZcyBwb2xpY3kgYnkgYW5zd2VyaW5nIHF1ZXJpZXMgZm9yIHdoaWNoIG9yZ2FuaXphdGlvbnMg aGF2ZSBiZWVuIGRlbGVnYXRlZCB0byBtYW5hZ2UgcmVnaXN0cmF0aW9uIHVuZGVyIGVhY2ggVG9w IExldmVsIERvbWFpbiAoVExEKS4gVG9wIExldmVsIGRvbWFpbnMgYXJlIG1haW50YWluZWQgYW5k IGRldGVybWluZWQgYnkgSUNBTk4uIFRoZXNlIG5hbWVzcGFjZXMgZW5jb21wYXNzIHNldmVyYWwg Y2xhc3NlcyBvZiBzZXJ2aWNlcy4gVGhlIGluaXRpYWwgbmFtZSBzcGFjZXMgaW5jbHVkaW5nIOKA mC5Db23igJkgYW5kIOKAmC5OZXTigJksIHByb3ZpZGUgY29tbW9uIHNwYWNlcyBmb3IgZXhwcmVz c2lvbiBvZiBpZGVhcywgdGhvdWdoIHRoZWlyIHBvbGljaWVzIGFyZSBlbmFjdGVkIHRocm91Z2gg VVMgYmFzZWQgY29tcGFuaWVzLiBPdGhlciBuYW1lIHNwYWNlcyBhcmUgZGVsZWdhdGVkIHRvIHNw ZWNpZmljIG5hdGlvbmFsaXRpZXMsIGFuZCBtYXkgaW1wb3NlIGxpbWl0cyBkZXNpZ25lZCB0byBm b2N1cyBzcGVlY2ggaW4gdGhvc2UgZm9ydW1zIGJvdGggdG8gcHJvbW90ZSBzcGVlY2ggZnJvbSB0 aGF0IG5hdGlvbmFsaXR5LCBhbmQgdG8gY29tcGx5IHdpdGggbG9jYWwgbGltaXRzIG9uIGV4cHJl c3Npb24gYW5kIHNvY2lhbCBub3Jtcy4gRmluYWxseSwgdGhlIHN5c3RlbSBoYXMgcmVjZW50bHkg YmVlbiBleHBhbmRlZCB3aXRoIGFkZGl0aW9uYWwgZ2VuZXJpYyBhbmQgc3BvbnNvcmVkIG5hbWUg c3BhY2VzLCBmb3IgaW5zdGFuY2Ug4oCYLnRyYXZlbOKAmSBhbmQg4oCYLm5pbmph4oCZLCB3aGlj aCBhcmUgb3BlcmF0ZWQgYnkgYSByYW5nZSBvZiBvcmdhbml6YXRpb25zIHdoaWNoIG1heSBpbmRl cGVuZGVudGx5IGRldGVybWluZSB0aGVpciByZWdpc3RyYXRpb24gcG9saWNpZXMuIFRoaXMgbmV3 IGRldmVsb3BtZW50IGhhcyBib3RoIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBpbXBsaWNhdGlvbnMg aW4gdGVybXMgb2YgZW5hYmxpbmcgaHVtYW4gcmlnaHRzLiBTb21lIGluZGl2aWR1YWxzIGFyZ3Vl IHRoYXQgaXQgdW5kZXJtaW5lcyB0aGUgcmlnaHQgdG8gZnJlZWRvbSBvZiBleHByZXNzaW9uIGJl Y2F1c2Ugc29tZSBvZiB0aGVzZSBuZXcgZ3RsZHMgaGF2ZSByZXN0cmljdGVkIHBvbGljaWVzIG9u IHJlZ2lzdHJhdGlvbiBhbmQgcGFydGljdWxhciBydWxlcyBvbiBoYXRlIHNwZWVjaCBjb250ZW50 LiBPdGhlcnMgYXJndWUgdGhhdCBwcmVjaXNlbHkgdGhlc2UgcHJvcGVydGllcyBhcmUgcG9zaXRp dmUgYmVjYXVzZSB0aGV5IGVuYWJsZSBjZXJ0YWluIChtb3N0bHkgbWlub3JpdHkpIGNvbW11bml0 aWVzIHRvIGJ1aWxkIHNhZmVyIHNwYWNlcyBmb3IgYXNzb2NpYXRpb24sIHRoZXJlYnkgZW5hYmxp bmcgdGhlaXIgcmlnaHQgdG8gZnJlZWRvbSBvZiBhc3NvY2lhdGlvbi4gQW4gb2Z0ZW4gbWVudGlv bmVkIGV4YW1wbGUgaXMgYW4gYXBwbGljYXRpb24gbGlrZSAuZ2F5LjwvdD4KCjx0PkROUyBoYXMg c2lnbmlmaWNhbnQgcHJpdmFjeSBpc3N1ZXMgcGVyIDx4cmVmIHRhcmdldD0iUkZDNzYyNiIvPi4g TW9zdCBub3RhYmxlIHRoZSBsYWNrIG9mIGVuY3J5cHRpb24gdG8gbGltaXQgdGhlIHZpc2liaWxp dHkgb2YgcmVxdWVzdHMgZm9yIGRvbWFpbiByZXNvbHV0aW9uIGZyb20gaW50ZXJtZWRpYXJ5IHBh cnRpZXMsIGFuZCBhIGxpbWl0ZWQgZGVwbG95bWVudCBvZiBETlNTRUMgdG8gcHJvdmlkZSBhdXRo ZW50aWNhdGlvbiwgYWxsb3dpbmcgdGhlIGNsaWVudCB0byBrbm93IHRoYXQgdGhleSByZWNlaXZl ZCBhIGNvcnJlY3QsIOKAnGF1dGhvcml0YXRpdmXigJ0sIGFuc3dlciB0byBhIHF1ZXJ5LjwvdD4K Cjx0PkF1dGhlbnRpY2F0aW9uIHRocm91Z2ggRE5TU0VDIGNyZWF0ZXMgYSB2YWxpZGF0aW9uIHBh dGggZm9yIHJlY29yZHMuIFRoaXMgYXV0aGVudGljYXRpb24gcHJvdGVjdHMgYWdhaW5zdCBmb3Jn ZWQgb3IgbWFuaXB1bGF0ZWQgRE5TIGRhdGEuIEFzIHN1Y2ggRE5TU0VDIHByb3RlY3RzIHRoZSBk aXJlY3RvcnkgbG9vay11cCBhbmQgbWFrZXMgaGlqYWNraW5nIG9mIGEgc2Vzc2lvbiBoYXJkZXIu IFRoaXMgaXMgaW1wb3J0YW50IGJlY2F1c2UgY3VycmVudGx5IGludGVyZmVyZW5jZSB3aXRoIHRo ZSBvcGVyYXRpb24gb2YgdGhlIEROUyBpcyBiZWNvbWluZyBvbmUgb2YgdGhlIGNlbnRyYWwgbWVj aGFuaXNtcyB1c2VkIHRvIGJsb2NrIGFjY2VzcyB0byB3ZWJzaXRlcy4gVGhpcyBpbnRlcmZlcmVu Y2UgbGltaXRzIGJvdGggdGhlIGZyZWVkb20gb2YgZXhwcmVzc2lvbiBvZiB0aGUgcHVibGlzaGVy IHRvIG9mZmVyIHRoZWlyIGNvbnRlbnQsIGFuZCB0aGUgZnJlZWRvbSBvZiBhc3NlbWJseSBmb3Ig Y2xpZW50cyB0byBjb25ncmVnYXRlIGluIGEgc2hhcmVkIHZpcnR1YWwgc3BhY2UuIEV2ZW4gdGhv dWdoIEROU1NFQyBkb2VzbuKAmXQgcHJldmVudCBjZW5zb3JzaGlwLCBpdCBtYWtlcyBpdCBjbGVh ciB0aGF0IHRoZSByZXR1cm5lZCBpbmZvcm1hdGlvbiBpcyBub3QgdGhlIGluZm9ybWF0aW9uIHRo YXQgd2FzIHJlcXVlc3RlZCwgd2hpY2ggY29udHJpYnV0ZXMgdG8gdGhlIHJpZ2h0IHRvIHNlY3Vy aXR5IGFuZCBpbmNyZWFzZXMgdHJ1c3QgaW4gdGhlIG5ldHdvcmsuPC90PgoKPHNlY3Rpb24gYW5j aG9yPSJyZW1vdmFsLW9mLXJlY29yZHMiIHRpdGxlPSJSZW1vdmFsIG9mIHJlY29yZHMiPgoKPHQ+ VGhlcmUgaGF2ZSBiZWVuIGEgbnVtYmVyIG9mIGNhc2VzIHdoZXJlIHRoZSByZWNvcmRzIGZvciBh IGRvbWFpbiBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBuYW1lIHN5c3RlbSBkdWUgdG8gcmVhbC13b3Js ZCBldmVudHMuIEV4YW1wbGVzIG9mIHRoaXMgcmVtb3ZhbCBpbmNsdWRlcyB0aGUg4oCYc2VpenVy ZeKAmSBvZiB3aWtpbGVha3MgPHhyZWYgdGFyZ2V0PSJiYmMtd2lraWxlYWtzIi8+IGFuZCB0aGUg bmFtZXMgb2YgaWxsZWdhbGx5IG9wZXJhdGluZyBnYW1ibGluZyBvcGVyYXRpb25zIGJ5IHRoZSBV bml0ZWQgU3RhdGVzIElDRSB1bml0LCB3aGljaCBjb21wZWxsZWQgdGhlIFVTLWJhc2VkIHJlZ2lz dHJ5IGluIGNoYXJnZSBvZiB0aGUgLmNvbSBUTEQgdG8gaGFuZCBvd25lcnNoaXAgb2YgdGhvc2Ug ZG9tYWlucyBvdmVyIHRvIHRoZSBVUyBnb3Zlcm5tZW50LiBUaGUgc2FtZSB0ZWNobmlxdWUgaGFz IGJlZW4gdXNlZCBpbiBMaWJ5YSB0byByZW1vdmUgc2l0ZXMgaW4gdmlvbGF0aW9uIG9mIOKAnG91 ciBDb3VudHJ54oCZcyBMYXcgYW5kIE1vcmFsaXR5ICh3aGljaCkgZG8gbm90IGFsbG93IGFueSBr aW5kIG9mIHBvcm5vZ3JhcGh5IG9yIGl0cyBwcm9tb3Rpb24u4oCdIDx4cmVmIHRhcmdldD0idGVj aHl1bSIvPjwvdD4KCjx0PkF0IGEgcHJvdG9jb2wgbGV2ZWwsIHRoZXJlIGlzIG5vIHRlY2huaWNh bCBhdWRpdGluZyBmb3IgbmFtZSBvd25lcnNoaXAsIGFzIGluIGFsdGVybmF0ZSBzeXN0ZW1zIGxp a2UgPHhyZWYgdGFyZ2V0PSJuYW1lY29pbiIvPi4gQXMgYSByZXN1bHQsIHRoZXJlIGlzIG5vIGFi aWxpdHkgZm9yIHVzZXJzIHRvIGRpZmZlcmVudGlhdGUgc2VpenVyZSBmcm9tIHRoZSBsZWdpdGlt YXRlIHRyYW5zZmVyIG9mIG5hbWUgb3duZXJzaGlwLCB3aGljaCBpcyBwdXJlbHkgYSBwb2xpY3kg ZGVjaXNpb24gb2YgcmVnaXN0cmFycy4gV2hpbGUgRE5TU0VDIGFkZHJlc3NlcyBuZXR3b3JrIGRp c3RvcnRpb24gZXZlbnRzIGRlc2NyaWJlZCBiZWxvdywgaXQgZG9lcyBub3QgdGFja2xlIHRoaXMg cHJvYmxlbS48L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0iZGlzdG9ydGlvbi1vZi1y ZWNvcmRzIiB0aXRsZT0iRGlzdG9ydGlvbiBvZiByZWNvcmRzIj4KCjx0PlRoZSBtb3N0IGNvbW1v biBtZWNoYW5pc20gYnkgd2hpY2ggdGhlIEROUyBzeXN0ZW0gaXMgYWJ1c2VkIHRvIGxpbWl0IGZy ZWVkb20gb2YgZXhwcmVzc2lvbiBpcyB0aHJvdWdoIG1hbmlwdWxhdGlvbiBvZiBwcm90b2NvbCBt ZXNzYWdlcyBieSB0aGUgbmV0d29yay4gT25lIGZvcm0gb2NjdXJzIGF0IGFuIG9yZ2FuaXphdGlv bmFsIGxldmVsLCB3aGVyZSBjbGllbnQgY29tcHV0ZXJzIGFyZSBpbnN0cnVjdGVkIHRvIHVzZSBh IGxvY2FsIEROUyByZXNvbHZlciBjb250cm9sbGVkIGJ5IHRoZSBvcmdhbml6YXRpb24uIFRoZSBE TlMgcmVzb2x2ZXIgd2lsbCB0aGVuIHNlbGVjdGl2ZWx5IGRpc3RvcnQgcmVzcG9uc2VzIHJhdGhl ciB0aGFuIHJlcXVlc3QgdGhlIGF1dGhvcml0YXRpdmUgbG9va3VwIGZyb20gdGhlIHVwc3RyZWFt IHN5c3RlbS4gVGhlIHNlY29uZCBmb3JtIG9jY3VycyB0aHJvdWdoIHRoZSB1c2Ugb2YgZGVlcCBw YWNrZXQgaW5zcGVjdGlvbiwgd2hlcmUgYWxsIEROUyBwcm90b2NvbCBtZXNzYWdlcyBhcmUgaW5z cGVjdGVkIGJ5IHRoZSBuZXR3b3JrLCBhbmQgb2JqZWN0aW9uYWJsZSBjb250ZW50IGlzIGRpc3Rv cnRlZCwgYXMgaW4gPHhyZWYgdGFyZ2V0PSJ0dXJrZXkiLz4uPC90PgoKPHQ+QSBub3RhYmxlIGlu c3RhbmNlIG9mIGRpc3RvcnRpb24gb2NjdXJyZWQgaW4gR3JlZWNlIDx4cmVmIHRhcmdldD0idmVy dmVyaXMiLz4sIHdoZXJlIGEgc3R1ZHkgZm91bmQgZXZpZGVuY2Ugb2YgYm90aCBvZiBkZWVwIHBh Y2tldCBpbnNwZWN0aW9uIHRvIGRpc3RvcnQgRE5TIHJlcGxpZXMsIGFuZCBvdmVyYmxvY2tpbmcg b2YgY29udGVudC4gSVNQcyBwcmV2ZW50ZWQgY2xpZW50cyBmcm9tIHJlc29sdmluZyB0aGUgbmFt ZXMgb2YgZG9tYWlucyB3aGljaCB0aGV5IHdlcmUgaW5zdHJ1Y3RlZCB0byBkbyB0aHJvdWdoIGEg Z292ZXJubWVudGFsIG9yZGVyLCBwcm9tcHRpbmcgdGhpcyBwYXJ0aWN1bGFyIGJsb2NraW5nIHN5 c3RlbXMgdGhlcmUuPC90PgoKPHQ+QXQgYSBwcm90b2NvbCBsZXZlbCwgdGhlIGVmZmVjdGl2ZW5l c3Mgb2YgdGhlc2UgYXR0YWNrcyBpcyBtYWRlIHBvc3NpYmxlIGJ5IGEgbGFjayBvZiBhdXRoZW50 aWNhdGlvbiBpbiB0aGUgRE5TIHByb3RvY29sLiBETlNTRUMgcHJvdmlkZXMgdGhlIGFiaWxpdHkg dG8gZGV0ZXJtaW5lIGF1dGhlbnRpY2l0eSBvZiByZXNwb25zZXMgd2hlbiB1c2VkLCBidXQgaXQg aXMgbm90IHJlZ3VsYXJseSBjaGVja2VkIGJ5IHJlc29sdmVycy4gRE5TU0VDIGlzIG5vdCBlZmZl Y3RpdmUgd2hlbiB0aGUgbG9jYWwgcmVzb2x2ZXIgZm9yIGEgbmV0d29yayBpcyBjb21wbGljaXQg aW4gdGhlIGRpc3RvcnRpb24sIGZvciBpbnN0YW5jZSB3aGVuIHRoZSByZXNvbHZlciBhc3NpZ25l ZCBmb3IgdXNlIGJ5IGFuIElTUCBpcyB0aGUgc291cmNlIG9mIGluamVjdGlvbi4gU2VsZWN0aXZl IGRpc3RvcnRpb24gb2YgcmVjb3JkcyBpcyBhbHNvIGJlZW4gbWFkZSBwb3NzaWJsZSBieSB0aGUg cHJlZGljdGFibGUgc3RydWN0dXJlIG9mIEROUyBtZXNzYWdlcywgd2hpY2ggbWFrZSBpdCBjb21w dXRhdGlvbmFsbHkgZWFzeSBmb3IgYSBuZXR3b3JrIGRldmljZSB0byB3YXRjaCBhbGwgcGFzc2lu ZyBtZXNzYWdlcyBldmVuIGF0IGhpZ2ggc3BlZWRzLCBhbmQgdGhlIGxhY2sgb2YgZW5jcnlwdGlv biwgd2hpY2ggYWxsb3dzIHRoZSBuZXR3b3JrIHRvIGRpc3RvcnQgb25seSBhbiBvYmplY3Rpb25h YmxlIHN1YnNldCBvZiBwcm90b2NvbCBtZXNzYWdlcy4gU3BlY2lmaWMgZGlzdG9ydGlvbiBtZWNo YW5pc21zIGFyZSBkaXNjdXNzZWQgZnVydGhlciBpbiA8eHJlZiB0YXJnZXQ9ImhhbGwiLz4uPC90 PgoKPC9zZWN0aW9uPgo8c2VjdGlvbiBhbmNob3I9ImluamVjdGlvbi1vZi1yZWNvcmRzIiB0aXRs ZT0iSW5qZWN0aW9uIG9mIHJlY29yZHMiPgoKPHQ+UmVzcG9uZGluZyBpbmNvcnJlY3RseSB0byBy ZXF1ZXN0cyBmb3IgbmFtZSBsb29rdXBzIGlzIHRoZSBtb3N0IGNvbW1vbiBtZWNoYW5pc20gdGhh dCBpbi1uZXR3b3JrIGRldmljZXMgdXNlIHRvIGxpbWl0IHRoZSBhYmlsaXR5IG9mIGVuZCB1c2Vy cyB0byBkaXNjb3ZlciBzZXJ2aWNlcy4gQSBkZXZpYXRpb24sIHdoaWNoIGFjY29tcGxpc2hlcyBh IHNpbWlsYXIgb2JqZWN0aXZlIG1heSBiZSBzZWVuIGFzIGRpZmZlcmVudCBmcm9tIGEgZnJlZWRv bSBvZiBleHByZXNzaW9uIHBlcnNwZWN0aXZlLCBpcyB0aGUgaW5qZWN0aW9uIG9mIGluY29ycmVj dCByZXNwb25zZXMgdG8gcXVlcmllcy4gVGhlIG1vc3QgcHJvbWluZW50IGV4YW1wbGUgb2YgdGhp cyBiZWhhdmlvciBvY2N1cnMgaW4gQ2hpbmEsIHdoZXJlIHJlcXVlc3RzIGZvciBsb29rdXBzIG9m IHNpdGVzIGRlZW1lZCBpbmFwcHJvcHJpYXRlIHdpbGwgdHJpZ2dlciB0aGUgbmV0d29yayB0byBy ZXNwb25kIHdpdGggYSBmYWxzZQpyZXNwb25zZSwgY2F1c2luZyB0aGUgY2xpZW50IHRvIGlnbm9y ZSB0aGUgcmVhbCByZXNwb25zZSB3aGVuIGl0IHN1YnNlcXVlbnRseSBhcnJpdmVzLiA8eHJlZiB0 YXJnZXQ9ImdyZWF0ZmlyZXdhbGwiLz4gVW5saWtlIHRoZSBvdGhlciBmb3JtcyBvZiBkaXNjdXNz aW9uIG1lbnRpb25lZCBhYm92ZSwgaW5qZWN0aW9uIGRvZXMgbm90IHN0aWZsZSB0aGUgYWJpbGl0 eSBvZiBhIHNlcnZlciB0byBhbm5vdW5jZSBpdOKAmXMgbmFtZSwgaXQgaW5zdGVhZCBwcm92aWRl cyBhbm90aGVyIHZvaWNlIHdoaWNoIGFuc3dlcnMgc29vbmVyLiBUaGlzIGlzIGVmZmVjdGl2ZSBi ZWNhdXNlIHdpdGhvdXQgRE5TU0VDLCB0aGUgcHJvdG9jb2wgd2lsbCByZXNwb25kIHRvIHdoaWNo ZXZlciBhbnN3ZXIgaXMgcmVjZWl2ZWQgZmlyc3QsIHdpdGhvdXQgbGlzdGVuaW5nIGZvciBzdWJz ZXF1ZW50IGFuc3dlcnMuPC90PgoKPC9zZWN0aW9uPgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hv cj0iaHR0cCIgdGl0bGU9IkhUVFAiPgoKPHQ+VGhlIEh5cGVydGV4dCBUcmFuc2ZlciBQcm90b2Nv bCAoSFRUUCksIGRlc2NyaWJlZCBpbiBpdHMgdmVyc2lvbiAxLjEgaW4gUkZDIDcyMzAgdG8gNzIz NywgaXMgYSByZXF1ZXN0LXJlc3BvbnNlIGFwcGxpY2F0aW9uIHByb3RvY29sIGRldmVsb3BlZCB0 aHJvdWdob3V0IHRoZSAxOTkwcywgYW5kIGZhY3R1YWxseSBjb250cmlidXRlZCB0byB0aGUgZXhw b25lbnRpYWwgZ3Jvd3RoIG9mIHRoZSBJbnRlcm5ldCBhbmQgdGhlIGludGVyLWNvbm5lY3Rpb24g b2YgcG9wdWxhdGlvbnMgYXJvdW5kIHRoZSB3b3JsZC4gQmVjYXVzZSBvZiBpdHMgc2ltcGxlIGRl c2lnbiwgSFRUUCBoYXMgYmVjb21lIHRoZSBmb3VuZGF0aW9uIG9mIG1vc3QgbW9kZXJuIEludGVy bmV0IHBsYXRmb3JtcyBhbmQgY29tbXVuaWNhdGlvbiBzeXN0ZW1zLCBmcm9tIHdlYnNpdGVzLCB0 byBjaGF0IHN5c3RlbXMsIGFuZCBjb21wdXRlci10by1jb21wdXRlciBhcHBsaWNhdGlvbnMuIElu IGl0cyBtYW5pZmVzdGF0aW9uIHdpdGggdGhlIFdvcmxkIFdpZGUgV2ViLCBIVFRQIHJhZGljYWxs eSByZXZvbHV0aW9uaXplZCB0aGUgY291cnNlIG9mIHRlY2hub2xvZ2ljYWwgZGV2ZWxvcG1lbnQg YW5kIHRoZSB3YXlzIHBlb3BsZSBpbnRlcmFjdCB3aXRoIG9ubGluZSBjb250ZW50IGFuZCB3aXRo IGVhY2ggb3RoZXIuPC90PgoKPHQ+SG93ZXZlciwgSFRUUCBpcyBhbHNvIGEgZnVuZGFtZW50YWxs eSBpbnNlY3VyZSBwcm90b2NvbCwgdGhhdCBkb2VzbuKAmXQgbmF0aXZlbHkgcHJvdmlkZSBlbmNy eXB0aW9uIHByb3BlcnRpZXMuIFdoaWxlIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBTZWN1cmUgU29j a2V0cyBMYXllciAoU1NMKSwgYW5kIGxhdGVyIG9mIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSAo VExTKSwgYWxzbyBoYXBwZW5lZCBkdXJpbmcgdGhlIDE5OTBzLCB0aGUgZmFjdCB0aGF0IEhUVFAg ZG9lc27igJl0IG1hbmRhdGUgdGhlIHVzZSBvZiBzdWNoIGVuY3J5cHRpb24gbGF5ZXJzIHRvIGRl dmVsb3BlcnMgYW5kIHNlcnZpY2UgcHJvdmlkZXJzLCBjYXVzZWQgYSB2ZXJ5IGxhdGUgYWRvcHRp b24gb2YgZW5jcnlwdGlvbi4gT25seSBpbiB0aGUgbWlkZGxlIG9mIHRoZSAyMDAwcyBkaWQgd2Ug b2JzZXJ2ZWQgYmlnIEludGVybmV0IHNlcnZpY2UgcHJvdmlkZXJzLCBzdWNoIGFzIEdvb2dsZSwg c3RhcnRpbmcgdG8gcHJvdmlkZSBlbmNyeXB0ZWQgYWNjZXNzIHRvIHRoZWlyIHdlYiBzZXJ2aWNl cy48L3Q+Cgo8dD5UaGUgbGFjayBvZiBzZW5zaXRpdml0eSBhbmQgdW5kZXJzdGFuZGluZyBvZiB0 aGUgY3JpdGljYWwgaW1wb3J0YW5jZSBvZiBzZWN1cmluZyB3ZWIgdHJhZmZpYyBpbmNlbnRpdml6 ZWQgbWFsaWNpb3VzIGFuZCBvZmZlbnNpdmUgYWN0b3JzIHRvIGRldmVsb3AsIGRlcGxveSBhbmQg dXRpbGl6ZSBhdCBsYXJnZSBpbnRlcmNlcHRpb24gc3lzdGVtcyBhbmQgbGF0ZXIgYWN0aXZlIGlu amVjdGlvbiBhdHRhY2tzLCBpbiBvcmRlciB0byBzd2lwZSBsYXJnZSBhbW91bnRzIG9mIGRhdGEs IGNvbXByb21pc2UgSW50ZXJuZXQtZW5hYmxlZCBkZXZpY2VzLiBUaGUgY29tbWVyY2lhbCBhdmFp bGFiaWxpdHkgb2Ygc3lzdGVtcyBhbmQgdG9vbHMgdG8gcGVyZm9ybSB0aGVzZSB0eXBlcyBvZiBh dHRhY2tzIGFsc28gbGVkIHRvIGEgbnVtYmVyIG9mIGh1bWFuIHJpZ2h0cyBhYnVzZXMgdGhhdCBo YXZlIGJlZW4gZGlzY292ZXJlZCBhbmQgcmVwb3J0ZWQgb3ZlciB0aGUgeWVhcnMuPC90PgoKPHQ+ R2VuZXJhbGx5IHdlIGNhbiBpZGVudGlmeSBpbiBUcmFmZmljIEludGVyY2VwdGlvbiBhbmQgVHJh ZmZpYyBNYW5pcHVsYXRpb24gdGhlIHR3byBtb3N0IHByb2JsZW1hdGljIGF0dGFja3MgdGhhdCBj YW4gYmUgcGVyZm9ybWVkIGFnYWluc3QgYXBwbGljYXRpb25zIGVtcGxveWluZyBhIGNsZWFyLXRl eHQgSFRUUCB0cmFuc3BvcnQgbGF5ZXIuIFRoYXQgYmVpbmcgc2FpZCwgdGhlIElFVEYgYW5kIGVz cGVjaWFsbHkgdGhlIEdlbmVyYWwgQXJlYSBSZXZpZXcgVGVhbSAoR2VuLUFSVCksIGlzIHRha2lu ZyBzdGVhZHkgc3RlcHMgdG8gbW92ZSB0byB0aGUgZW5jcnlwdGVkIHZlcnNpb24gb2YgSFRUUCwg SFRUUFNlY3VyZSAoSFRUUFMpLjwvdD4KCjxzZWN0aW9uIGFuY2hvcj0idHJhZmZpYy1pbnRlcmNl cHRpb24iIHRpdGxlPSJUcmFmZmljIEludGVyY2VwdGlvbiI+Cgo8dD5XaGlsZSB3ZSBhcmUgc2Vl aW5nIGFuIGluY3JlYXNpbmcgdHJlbmQgaW4gdGhlIGxhc3QgY291cGxlIG9mIHllYXJzIHRvIGVt cGxveSBTU0wvVExTIGFzIGEgc2VjdXJlIHRyYWZmaWMgbGF5ZXIgZm9yIEhUVFAtYmFzZWQgYXBw bGljYXRpb25zLCB3ZSBhcmUgc3RpbGwgZmFyIGZyb20gc2VlaW5nIGFuIHViaXF1aXRvdXMgdXNl IG9mIGVuY3J5cHRpb24gb24gdGhlIFdvcmxkIFdpZGUgV2ViLiBJdCBpcyBpbXBvcnRhbnQgdG8g Y29uc2lkZXIgdGhhdCB0aGUgYWRvcHRpb24gb2YgU1NML1RMUyBpcyBhbHNvIGEgcmVsYXRpdmVs eSByZWNlbnQgcGhlbm9tZW5hLiBHb29nbGUgaW50cm9kdWNlZCBhbiBvcHRpb24gZm9yIGl0cyBH TWFpbCB1c2VycyB0byBuYXZpZ2F0ZSB3aXRoIFNTTCBvbmx5IGluIDIwMDggPHhyZWYgdGFyZ2V0 PSJSaWRlb3V0Ii8+LCBhbmQgdHVybmVkIFNTTCBvbiBieSBkZWZhdWx0IGxhdGVyIGluIDIwMTAg PHhyZWYgdGFyZ2V0PSJTY2hpbGxhY2UiLz4uIEl0IHRvb2sgYW4gaW5jcmVhc2luZyBhbW91bnQg b2Ygc2VjdXJpdHkgYnJlYWNoZXMgYW5kIHJldmVsYXRpb25zIG9uIGdsb2JhbCBzdXJ2ZWlsbGFu Y2UgZnJvbSBFZHdhcmQgU25vd2RlbiB0byBoYXZlIG90aGVyIEludGVybmV0IHNlcnZpY2UgcHJv dmlkZXJzIHRvIGZvbGxvdyBHb29nbGXigJlzIGxlYWQuIEZvciBleGFtcGxlLCBZYWhvbyBlbmFi bGVkIFNTTC9UTFMgYnkgZGVmYXVsdCBvbiBpdHMgd2VibWFpbCBzZXJ2aWNlcyBvbmx5IHRvd2Fy ZHMgdGhlIGVuZCBvZiAyMDEzIDx4cmVmIHRhcmdldD0iUGV0ZXJzb24iLz4uPC90PgoKPHQ+QXMg d2UgbGVhcm5lZCB0aHJvdWdoIHRoZSBTbm93ZGVu4oCZcyByZXZlbGF0aW9ucywgaW50ZWxsaWdl bmNlIGFnZW5jaWVzIGhhdmUgYmVlbiBpbnRlcmNlcHRpbmcgYW5kIGNvbGxlY3RpbmcgdW5lbmNy eXB0ZWQgdHJhZmZpYyBhdCBsYXJnZSBmb3IgbWFueSB5ZWFycy4gVGhlcmUgYXJlIGRvY3VtZW50 ZWQgZXhhbXBsZXMgb2Ygc3VjaCBtYXNzIHN1cnZlaWxsYW5jZSBwcm9ncmFtcyB3aXRoIEdDSFHi gJlzIFRFTVBPUkEgYW5kIE5TQeKAmXMgWEtFWVNDT1JFLiBUaHJvdWdoIHRoZXNlIHByb2dyYW1z IE5TQS9HQ0hRIGhhdmUgYmVlbiBhYmxlIHRvIHN3aXBlIGxhcmdlIGFtb3VudHMgb2YgZGF0YSBp bmNsdWRpbmcgZW1haWwgYW5kIGluc3RhbnQgbWVzc2FnaW5nIGNvbW11bmljYXRpb25zIHdoaWNo IGhhdmUgYmVlbiB0cmFuc3BvcnRlZCBieSB0aGUgcmVzcGVjdGl2ZSBwcm92aWRlcnMgaW4gY2xl YXIgZm9yIHllYXJzLCB1bnN1c3BlY3Rpbmcgb2YgdGhlIHBlcnZhc2l2ZW5lc3MgYW5kIHNjYWxl IG9mIGdvdmVybm1lbnRz4oCZIGVmZm9ydHMgYW5kIGludmVzdG1lbnQgaW50byBnbG9iYWwgbWFz cyBzdXJ2ZWlsbGFuY2UgY2FwYWJpbGl0aWVzLjwvdD4KCjx0Pkhvd2V2ZXIsIHNpbWlsYXIgbWFz cyBpbnRlcmNlcHRpb24gb2YgdW5lbmNyeXB0ZWQgSFRUUCBjb21tdW5pY2F0aW9ucyBpcyBhbHNv IG9mdGVuIGVtcGxveWVkIGF0IGEgbmF0aW9uLWxldmVsIGJ5IGxlc3MgZGVtb2NyYXRpYyBjb3Vu dHJpZXMgYnkgZXhlcmNpc2luZyBjb250cm9sIG92ZXIgc3RhdGUtb3duZWQgSW50ZXJuZXQgU2Vy dmljZSBQcm92aWRlcnMgKElTUCkgYW5kIHRocm91Z2ggdGhlIHVzZSBvZiBjb21tZXJjaWFsbHkg YXZhaWxhYmxlIG1vbml0b3JpbmcsIGNvbGxlY3Rpb24sIGFuZCBjZW5zb3JzaGlwIGVxdWlwbWVu dC4gT3ZlciB0aGUgbGFzdCBmZXcgeWVhcnMgYSBsb3Qgb2YgaW5mb3JtYXRpb24gaGFzIGNvbWUg dG8gcHVibGljIGF0dGVudGlvbiBvbiB0aGUgcm9sZSBhbmQgc2NhbGUgb2YgYSBzdXJ2ZWlsbGFu Y2UgaW5kdXN0cnkgZGVkaWNhdGVkIHRvIGRldmVsb3AgaW50ZXJjZXB0aW9uIGdlYXIgb2YgZGlm ZmVyZW50IHR5cGVzLCBtYWtpbmcgdXNlIG9mIGtub3duIGFuZCB1bmtub3duIHdlYWtuZXNzZXMg aW4gZXhpc3RpbmcgcHJvdG9jb2xzIDx4cmVmIHRhcmdldD0iUkZDNzI1OCIvPi4gV2UgaGF2ZSBz ZXZlcmFsIHJlY29yZHMgb2Ygc3VjaCBlcXVpcG1lbnQgYmVpbmcgc29sZCBhbmQgdXRpbGl6ZWQg Ynkgb3BwcmVzc2l2ZSByZWdpbWVzIGluIG9yZGVyIHRvIG1vbml0b3IgZW50aXJlIHNlZ21lbnRz IG9mIHBvcHVsYXRpb24gZXNwZWNpYWxseSBhdCB0aW1lcyBvZiBzb2NpYWwgYW5kIHBvbGl0aWNh bCBkaXN0cmVzcywgdW5jb3ZlcmluZyBtYXNzaXZlIGh1bWFuIHJpZ2h0cyBhYnVzZXMuIEZvciBl eGFtcGxlLCBpbiAyMDEzIHRoZSBncm91cCBUZWxlY29taXggcmV2ZWFsZWQgdGhhdCB0aGUgU3ly aWFuIHJlZ2ltZSB3YXMgbWFraW5nIHVzZSBvZiBCbHVlQ29hdCBwcm9kdWN0cyBpbiBvcmRlciB0 byBpbnRlcmNlcHQgY2xlYXItdGV4dCB0cmFmZmljIGFzIHdlbGwgYXMgdG8gZW5mb3JjZSBjZW5z b3JzaGlwIG9mIHVud2FudGVkIGNvbnRlbnQgPHhyZWYgdGFyZ2V0PSJSU0YiLz4uIFNpbWlsYXJs eSBpbiAyMDEyIGl0IHdhcyBmb3VuZCB0aGF0IHRoZSBGcmVuY2ggQW1lc3lzIHByb3ZpZGVkIHRo ZSBHYWRkYWZp4oCZcyBnb3Zlcm5tZW50IHdpdGggZXF1aXBtZW50IGFibGUgdG8gaW50ZXJjZXB0 IGVtYWlscywgRmFjZWJvb2sgdHJhZmZpYywgYW5kIGNoYXQgbWVzc2FnZXMgYWQgYSBjb3VudHJ5 IGxldmVsLiBUaGUgdXNlIG9mIHN1Y2ggc3lzdGVtcywgZXNwZWNpYWxseSBpbiB0aGUgY29udGV4 dCBvZiB0aGUgQXJhYiBTcHJpbmcgYW5kIG9mIGNpdmlsIHVwcmlzaW5ncyBhZ2FpbnN0IHRoZSBk aWN0YXRvcnNoaXBzLCBoYXMgY2F1c2VkIHNlcmlvdXMgY29uY2VybnMgb2Ygc2lnbmlmaWNhbnQg aHVtYW4gcmlnaHRzIGFidXNlcyBpbiBMaWJ5YS48L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFu Y2hvcj0idHJhZmZpYy1tYW5pcHVsYXRpb24iIHRpdGxlPSJUcmFmZmljIE1hbmlwdWxhdGlvbiI+ Cgo8dD5UaGUgbGFjayBvZiBhIHNlY3VyZSB0cmFuc3BvcnQgbGF5ZXIgb3ZlciBIVFRQIGNvbm5l Y3Rpb25zIG5vdCBvbmx5IGV4cG9zZXMgdGhlIHVzZXJzIHRvIGludGVyY2VwdGlvbiBvZiB0aGUg Y29udGVudCBvZiB0aGVpciBjb21tdW5pY2F0aW9ucywgYnV0IGlzIG1vcmUgYW5kIG1vcmUgY29t bW9ubHkgYWJ1c2VkIGFzIGEgdmVoaWNsZSBmb3IgYWN0aXZlIGNvbXByb21pc2VzIG9mIGNvbXB1 dGVycyBhbmQgbW9iaWxlIGRldmljZXMuIElmIGFuIEhUVFAgc2Vzc2lvbiB0cmF2ZWxzIGluIGNs ZWFyIG92ZXIgdGhlIG5ldHdvcmssIGFueSBub2RlIHBvc2l0aW9uZWQgYXQgYW55IHBvaW50IGlu IHRoZSBuZXR3b3JrIGlzIGFibGUgdG8gcGVyZm9ybSBtYW4taW4tdGhlLW1pZGRsZSBhdHRhY2tz IGFuZCBvYnNlcnZlLCBtYW5pcHVsYXRlLCBhbmQgaGlqYWNrIHRoZSBzZXNzaW9uIGFuZCBtb2Rp ZnkgdGhlIGNvbnRlbnQgb2YgdGhlIGNvbW11bmljYXRpb24gaW4gb3JkZXIgdG8gdHJpZ2dlciB1 bmV4cGVjdGVkIGJlaGF2aW9yIGJ5IHRoZSBhcHBsaWNhdGlvbgpnZW5lcmF0aW5nIHRoZSB0cmFm ZmljLiBGb3IgZXhhbXBsZSwgaW4gdGhlIGNhc2Ugb2YgYSBicm93c2VyIHRoZSBhdHRhY2tlciB3 b3VsZCBiZSBhYmxlIHRvIGluamVjdCBtYWxpY2lvdXMgY29kZSBpbiBvcmRlciB0byBleHBsb2l0 IHZ1bG5lcmFiaWxpdGllcyBpbiB0aGUgYnJvd3NlciBvciBhbnkgb2YgaXRzIHBsdWdpbnMuIFNp bWlsYXJseSwgdGhlIGF0dGFja2VyIHdvdWxkIGJlIGFibGUgdG8gaW50ZXJjZXB0LCB0cm9qYW5p emUsIGFuZCByZXBhY2thZ2UgYmluYXJ5IHNvZnR3YXJlIHVwZGF0ZXMgdGhhdCBhcmUgdmVyeSBj b21tb25seSBkb3dubG9hZGVkIGluIGNsZWFyIGJ5IGFwcGxpY2F0aW9ucyBzdWNoIGFzIHdvcmQg cHJvY2Vzc29ycyBhbmQgbWVkaWEgcGxheWVycy4gSWYgdGhlIEhUVFAgc2Vzc2lvbiB3b3VsZCBi ZSBlbmNyeXB0ZWQsIHRoZSB0YW1wZXJpbmcgb2YgdGhlIGNvbnRlbnQgd291bGQgbm90IGJlIHBv c3NpYmxlLCBhbmQgdGhlc2UgbmV0d29yayBpbmplY3Rpb24gYXR0YWNrcyB3b3VsZCBub3QgYmUg c3VjY2Vzc2Z1bC48L3Q+Cgo8dD5XaGlsZSB0cmFmZmljIG1hbmlwdWxhdGlvbiBhdHRhY2tzIGhh dmUgYmVlbiBsb25nIGtub3duLCBkb2N1bWVudGVkLCBhbmQgcHJvdG90eXBlZCBlc3BlY2lhbGx5 IGluIHRoZSBjb250ZXh0IG9mIFdpRmkgYW5kIExBTiBuZXR3b3JrcywgaW4gdGhlIGxhc3QgZmV3 IHllYXJzIHdlIG9ic2VydmVkIGFuIGluY3JlYXNpbmcgaW52ZXN0bWVudCBpbnRvIHRoZSBwcm9k dWN0aW9uIGFuZCBzYWxlIG9mIG5ldHdvcmsgaW5qZWN0aW9uIGVxdWlwbWVudCBib3RoIGF2YWls YWJsZSBjb21tZXJjaWFsbHkgYXMgd2VsbCBhcyBkZXBsb3llZCBhdCBzY2FsZSBieSBpbnRlbGxp Z2VuY2UgYWdlbmNpZXMuPC90PgoKPHQ+Rm9yIGV4YW1wbGUgd2UgbGVhcm5lZCBmcm9tIHNvbWUg b2YgdGhlIGRvY3VtZW50cyBwcm92aWRlZCBieSBFZHdhcmQgU25vd2RlbiB0byB0aGUgcHJlc3Ms IHRoYXQgdGhlIE5TQSBoYXMgY29uc3RydWN0ZWQgYSBnbG9iYWwgbmV0d29yayBpbmplY3Rpb24g aW5mcmFzdHJ1Y3R1cmUsIGNhbGxlZCBRVUFOVFVNLCBhYmxlIHRvIGxldmVyYWdlIG1hc3Mgc3Vy dmVpbGxhbmNlIGluIG9yZGVyIHRvIGlkZW50aWZ5IHRhcmdldHMgb2YgaW50ZXJlc3RzIGFuZCBz dWJzZXF1ZW50bHkgdGFzayBtYW4tb24tdGhlLXNpZGUgYXR0YWNrcyB0byB1bHRpbWF0ZWx5IGNv bXByb21pc2UgYSBzZWxlY3RlZCBkZXZpY2UuIEFtb25nIG90aGVyIGF0dGFja3MsIE5TQSBtYWtl cyB1c2Ugb2YgYW4gYXR0YWNrIGNhbGxlZCBRVUFOVFVNSU5TRVJUIDx4cmVmIHRhcmdldD0iSGFh Z3NtYSIvPiB3aGljaCBpbnRlcmNlcHRzIGFuZCBoaWphY2tzIGFuIHVuZW5jcnlwdGVkIEhUVFAg Y29tbXVuaWNhdGlvbiBhbmQgZm9yY2VzIHRoZSByZXF1ZXN0aW5nIGJyb3dzZXIgdG8gcmVkaXJl Y3QgdG8gYSBob3N0IGNvbnRyb2xsZWQgYnkgTlNBIGluc3RlYWQgb2YgdGhlIGludGVuZGVkIHdl YnNpdGUuIE5vcm1hbGx5LCB0aGUgbmV3IGRlc3RpbmF0aW9uIHdvdWxkIGJlIGFuIGV4cGxvaXRh dGlvbiBzZXJ2aWNlLCByZWZlcnJlZCBpbiBTbm93ZGVuIGRvY3VtZW50cyBhcyBGT1hBQ0lELCB3 aGljaCB3b3VsZCBhdHRlbXB0IGF0IGV4ZWN1dGluZyBtYWxpY2lvdXMgY29kZSBpbiB0aGUgY29u dGV4dCBvZiB0aGUgdGFyZ2V04oCZcyBicm93c2VyLiBUaGUgR3VhcmRpYW4gcmVwb3J0ZWQgaW4g MjAxMyB0aGF0IE5TQSBoYXMgZm9yIGV4YW1wbGUgYmVlbiB1c2luZyB0aGVzZSB0ZWNobmlxdWVz IHRvIHRhcmdldCB1c2VycyBvZiB0aGUgcG9wdWxhciBhbm9ueW1pdHkgc2VydmljZSBUb3IgPHhy ZWYgdGFyZ2V0PSJTY2huZWllciIvPi4gVGhlIEdlcm1hbiBORFIgcmVwb3J0ZWQgaW4gMjAxNCB0 aGF0IE5TQSBoYXMgYWxzbyBiZWVuIHVzaW5nIGl0cyBtYXNzIHN1cnZlaWxsYW5jZSBjYXBhYmls aXRpZXMgdG8gaWRlbnRpZnkgVG9yIHVzZXJzIGF0IGxhcmdlIDx4cmVmIHRhcmdldD0iQXBwZWxi YXVtIi8+LjwvdD4KCjx0PlJlY2VudGx5IHNpbWlsYXIgY2FwYWJpbGl0aWVzIG9mIENoaW5lc2Ug YXV0aG9yaXRpZXMgaGF2ZSBiZWVuIHJlcG9ydGVkIGFzIHdlbGwgaW4gd2hhdCBoYXMgYmVlbiBp bmZvcm1hbGx5IGNhbGxlZCB0aGUg4oCcR3JlYXQgQ2Fubm9u4oCdIDx4cmVmIHRhcmdldD0iTWFy Y2FrIi8+LCB3aGljaCByYWlzZWQgbnVtZXJvdXMgY29uY2VybnMgb24gdGhlIHBvdGVudGlhbCBj dXJiIG9uIGh1bWFuIHJpZ2h0cyBhbmQgZnJlZWRvbSBvZiBzcGVlY2ggZHVlIHRvIHRoZSBpbmNy ZWFzaW5nIHRpZ2h0ZXIgY29udHJvbCBvZiBDaGluZXNlIEludGVybmV0IGNvbW11bmljYXRpb25z IGFuZCBhY2Nlc3MgdG8gaW5mb3JtYXRpb24uPC90PgoKPHQ+TmV0d29yayBpbmplY3Rpb24gYXR0 YWNrcyBhcmUgYWxzbyBtYWRlIHdpZGVseSBhdmFpbGFibGUgdG8gc3RhdGUgYWN0b3JzIGFyb3Vu ZCB0aGUgd29ybGQgdGhyb3VnaCB0aGUgY29tbWVyY2lhbGl6YXRpb24gb2Ygc2ltaWxhciwgc21h bGxlciBzY2FsZSBlcXVpcG1lbnQgdGhhdCBjYW4gYmUgZWFzaWx5IGFjcXVpcmVkIGFuZCBkZXBs b3llZCBhdCBhIGNvdW50cnktd2lkZSBsZXZlbC4gQ29tcGFuaWVzIGxpa2UgRmluRmlzaGVyIGFu ZCBIYWNraW5nVGVhbSBhcmUga25vd24gdG8gaGF2ZSBuZXR3b3JrIGluamVjdGlvbiBnZWFyIHdp dGhpbiB0aGVpciBwcm9kdWN0cyBwb3J0Zm9saW8sIHJlc3BlY3RpdmVseSBjYWxsZWQgRmluRmx5 IElTUCBhbmQgUkNTIE5ldHdvcmsgSW5qZWN0b3IgPHhyZWYgdGFyZ2V0PSJNYXJxdWlzLUJvaXJl Ii8+LiBUaGUgdGVjaG5vbG9neSBkZXZpc2VkIGFuZCBwcm9kdWNlZCBieSBIYWNraW5nVGVhbSB0 byBwZXJmb3JtIG5ldHdvcmsgdHJhZmZpYyBtYW5pcHVsYXRpb24gYXR0YWNrcyBvbiBIVFRQIGNv bW11bmljYXRpb25zIGlzIGV2ZW4gdGhlIHN1YmplY3Qgb2YgYSBwYXRlbnQgYXBwbGljYXRpb24g aW4gdGhlIFVuaXRlZCBTdGF0ZXMgPHhyZWYgdGFyZ2V0PSJHb29nbGVwYXRlbnQiLz4uIEFjY2Vz cyB0byBvZmZlbnNpdmUgdGVjaG5vbG9naWVzIGF2YWlsYWJsZSBvbiB0aGUgY29tbWVyY2lhbCBs YXdmdWwgaW50ZXJjZXB0aW9uIG1hcmtldCBoYXMgYmVlbiBsYXJnZWx5IGRvY3VtZW50ZWQgdG8g aGF2ZSBsZWFkIHRvIGh1bWFuIHJpZ2h0cyBhYnVzZXMgYW5kIGlsbGVnaXRpbWF0ZSBzdXJ2ZWls bGFuY2Ugb2Ygam91cm5hbGlzdHMsIGh1bWFuIHJpZ2h0cyBkZWZlbmRlcnMsIGFuZCBwb2xpdGlj YWwgYWN0aXZpc3RzIGluIG1hbnkgY291bnRyaWVzIGFyb3VuZCB0aGUgd29ybGQuIENvbXBhbmll cyBsaWtlIEZpbkZpc2hlciBhbmQgSGFja2luZ1RlYW0gaGF2ZSBiZWVuIGZvdW5kIHNlbGxpbmcg dGhlaXIgcHJvZHVjdHMgdG8gb3BwcmVzc2l2ZSByZWdpbWVzIHdpdGggbGl0dGxlIGNvbmNlcm4g Zm9yIGJhZCBodW1hbiByaWdodHMgcmVjb3JkcyA8eHJlZiB0YXJnZXQ9IkNvbGxpbnMiLz4uIFdo aWxlIG5ldHdvcmsgaW5qZWN0aW9uIGF0dGFja3MgaGF2ZW7igJl0IGJlZW4gdGhlIHN1YmplY3Qg b2YgbXVjaCBhdHRlbnRpb24sIHRoZXkgZG8gZW5hYmxlIGV2ZW4gdW5za2lsbGVkIGF0dGFja2Vy cyB0byBwZXJmb3JtIHNpbGVudCBhbmQgdmVyeSByZXNpbGllbnQgY29tcHJvbWlzZXMsIGFuZCB1 bmVuY3J5cHRlZCBIVFRQIHJlbWFpbnMgb25lIG9mIHRoZSBtYWluIHZlaGljbGVzLjwvdD4KCjx0 PlRoZXJlIGlzIGEgbmV3IHZlcnNpb24gb2YgSFRUUCwgY2FsbGVkIEhUVFAvMiwgd2hpY2ggd2Fz IHB1Ymxpc2hlZCBhcyA8eHJlZiB0YXJnZXQ9IlJGQzc1NDAiLz4gYW5kIHdoaWNoIGFpbWVkIHRv IGJlIGxhcmdlbHkgYmFja3dhcmRzIGNvbXBhdGlibGUgYnV0IGFsc28gb2ZmZXIgbmV3IG9wdGlv biBzdWNoIGFzIGRhdGEgY29tcHJlc3Npb24gb2YgSFRUUCBoZWFkZXJzIGFuZCBwaXBlbGluaW5n IG9mIHJlcXVlc3QgYW5kIG11bHRpcGxleGluZyBtdWx0aXBsZSByZXF1ZXN0cyBvdmVyIGEgc2lu Z2xlIFRDUCBjb25uZWN0aW9uLiBFeGNlcHQgZm9yIGRlY3JlYXNpbmcgbGF0ZW5jeSB0byBpbXBy b3ZlIHBhZ2UgbG9hZGluZyBzcGVlZHMgaXQgYWxzbyBmYWNpbGl0YXRlcyBtb3JlIGVmZmljaWVu dCB1c2Ugb2YgY29ubmVjdGl2aXR5IGluIGxvdy1iYW5kd2l0aCBlbnZpcm9ubWVudHMsIHdoaWNo IGlzIGFuIGVuYWJsZXIgZm9yIGZyZWVkb20gb2YgZXhwcmVzc2lvbiwgdGhlIHJpZ2h0IHRvIGFz c2VtYmx5LCByaWdodCB0byBwb2xpdGljYWwgcGFydGljaXBhdGlvbiBhbmQgdGhlIHJpZ2h0IHRv IHBhcnRpY2lwYXRlIGluIGN1bHR1cmFsIGxpZmUsIGFydCBhbmQgc2NpZW5jZS4KPHhyZWYgdGFy Z2V0PSJSRkM3NTQwIi8+IGRvZXMgbm90IG1hbmRhdGUgVHJhbnNwb3J0IExheWVyIFNlY3VyaXR5 IG9yIGFueSBvdGhlciBmb3JtIG9mIGVuY3J5cHRpb24sIGlzIGFsc28gZG9lcyBub3Qgc3VwcG9y dCBvcHBvcnR1bmlzdGljIGVuY3J5cHRpb24sIHNvIHRoZSB2dWxuZXJhYmlsaXRpZXMgbGlzdGVk IGFib3ZlIGZvciBIVFRQLzEgYXJlIGFsc28gdmFsaWQgZm9yIEhUVFAvMiBhcyBkZWZpbmVkIGlu IDx4cmVmIHRhcmdldD0iUkZDNzU0MCIvPi48L3Q+Cgo8L3NlY3Rpb24+Cjwvc2VjdGlvbj4KPHNl Y3Rpb24gYW5jaG9yPSJ4bXBwIiB0aXRsZT0iWE1QUCI+Cgo8dD5UaGUgRXh0ZW5zaWJsZSBNZXNz YWdpbmcgYW5kIFByZXNlbmNlIFByb3RvY29sIChYTVBQKSwgc3BlY2lmaWVkIGluIDx4cmVmIHRh cmdldD0iUkZDNjEyMCIvPiwgcHJvdmlkZXMgYSBzdGFuZGFyZCBmb3IgaW50ZXJhY3RpdmUgY2hh dCBtZXNzYWdpbmcsIGFuZCBoYXMgZXZvbHZlZCB0byBlbmNvbXBhc3MgaW50ZXJvcGVyYWJsZSB0 ZXh0LCB2b2ljZSwgYW5kIHZpZGVvIGNoYXQuIFRoZSBwcm90b2NvbCBpcyBzdHJ1Y3R1cmVkIGFz IGEgZmVkZXJhdGVkIG5ldHdvcmsgb2Ygc2VydmVycywgc2ltaWxhciB0byBlbWFpbCwgd2hlcmUg dXNlcnMgcmVnaXN0ZXIgd2l0aCBhIGxvY2FsIHNlcnZlciB3aGljaCBhY3RzIG9uZSB0aGVpciBi ZWhhbGYgdG8gY2FjaGUgYW5kIHJlbGF5IG1lc3NhZ2VzLiBUaGlzIHByb3RvY29sIGRlc2lnbiBo YXMgbWFueSBhZHZhbnRhZ2VzLCBhbGxvd2luZyBzZXJ2ZXJzIHRvIHNoaWVsZCBjbGllbnRzIGZy b20gZGVuaWFsIG9mIHNlcnZpY2UgYW5kIG90aGVyIGZvcm1zIG9mIHJldHJpYnV0aW9uIGZvciB0 aGVpciBleHByZXNzaW9uLCBhbmQgZGVzaWduZWQgdG8gYXZvaWQgY2VudHJhbCBlbnRpdGllcyB3 aGljaCBjb3VsZCBjb250cm9sIHRoZSBhYmlsaXR5IHRvIGNvbW11bmljYXRlIG9yIGFzc2VtYmxl IHVzaW5nIHRoZSBwcm90b2NvbC48L3Q+Cgo8dD5Ob25lLXRoZS1sZXNzLCB0aGVyZSBhcmUgcGxl bnR5IG9mIGFzcGVjdHMgb2YgdGhlIHByb3RvY29sIGRlc2lnbiBvZiBYTVBQIHdoaWNoIHNoYXBl IHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byBjb21tdW5pY2F0ZSBmcmVlbHksIGFuZCB0byBhc3Nl bWJseSB0aHJvdWdoIHRoZSBwcm90b2NvbC4gVGhlIHByb3RvY29sIGFsc28gaGFzIGZhY2V0cyB0 aGF0IG1heSBzdGlmbGUgc3BlZWNoIGFzIHVzZXJzIHNlbGYtY2Vuc29yIGZvciBmZWFyIG9mIHN1 cnZlaWxsYW5jZSwgb3IgZmluZCB0aGVtc2VsdmVzIHVuYWJsZSB0byBleHByZXNzIHRoZW1zZWx2 ZXMgZnJlZWx5LjwvdD4KCjxzZWN0aW9uIGFuY2hvcj0idXNlci1pZGVudGlmaWNhdGlvbiIgdGl0 bGU9IlVzZXIgSWRlbnRpZmljYXRpb24iPgoKPHQ+VGhlIFhNUFAgc3BlY2lmaWNhdGlvbiBkaWN0 YXRlcyB0aGF0IGNsaWVudHMgYXJlIGlkZW50aWZpZWQgd2l0aCBhIHJlc291cmNlICg8ZXJlZiB0 YXJnZXQ9Im1haWx0bzpub2RlQGRvbWFpbi9ob21lIj5ub2RlQGRvbWFpbi9ob21lPC9lcmVmPiAv IDxlcmVmIHRhcmdldD0ibWFpbHRvOm5vZGVAZG9tYWluL3dvcmsiPm5vZGVAZG9tYWluL3dvcms8 L2VyZWY+KSB0byBkaXN0aW5ndWlzaCB0aGUgY29udmVyc2F0aW9ucyB0byBzcGVjaWZpYyBkZXZp Y2VzLiBXaGlsZSB0aGUgcHJvdG9jb2wgZG9lcyBub3Qgc3BlY2lmeSB0aGF0IHRoZSByZXNvdXJj ZSBtdXN0IGJlIGV4cG9zZWQgYnkgdGhlIGNsaWVudOKAmXMgc2VydmVyIHRvIHJlbW90ZSB1c2Vy cywgaW4gcHJhY3RpY2UgdGhpcyBoYXMgYmVjb21lIHRoZSBkZWZhdWx0IGJlaGF2aW9yLiBJbiBk b2luZyBzbywgdXNlcnMgY2FuIGJlIHRyYWNrZWQgYnkgcmVtb3RlIGZyaWVuZHMgYW5kIHRoZWly IHNlcnZlcnMsIHdobyBhcmUgYWJsZSB0byBtb25pdG9yIHByZXNlbmNlIG5vdCBqdXN0IG9mIHRo ZSB1c2VyLCBidXQgb2YgZWFjaCBpbmRpdmlkdWFsIGRldmljZSB0aGUgdXNlciBsb2dzIGluIHdp dGguIFRoaXMgaGFzIHByb3ZlbiB0byBiZSBtaXNsZWFkaW5nIHRvIG1hbnkgdXNlcnMsIDx4cmVm IHRhcmdldD0icGlkZ2luIi8+IHNpbmNlIG1hbnkgY2xpZW50cyBvbmx5IGV4cG9zZSB1c2VyIGxl dmVsIHJhdGhlciB0aGFuIGRldmljZSBsZXZlbCBwcmVzZW5jZS4gTGlrZXdpc2UsIHVzZXIgaW52 aXNpYmlsaXR5IHNvIHRoYXQgY29tbXVuaWNhdGlvbiBjYW4gb2NjdXIgd2hpbGUgdXNlcnMgZG9u 4oCZdCBub3RpZnkgYWxsIGJ1ZGRpZXMgYW5kIG90aGVyIHNlcnZlcnMgb2YgdGhlaXIgYXZhaWxh YmlsaXR5IGlzIG5vdCBwYXJ0IG9mIHRoZSBmb3JtYWwgcHJvdG9jb2wsIGFuZCBoYXMgb25seSBi ZWVuIGFkZGVkIGFzIGFuIGV4dGVuc2lvbiB3aXRoaW4gdGhlIFhNTCBzdHJlYW0gcmF0aGVyIHRo YW4gZW5mb3JjZWQgYnkgdGhlIHByb3RvY29sLjwvdD4KCjwvc2VjdGlvbj4KPHNlY3Rpb24gYW5j aG9yPSJzdXJ2ZWlsbGFuY2Utb2YtY29tbXVuaWNhdGlvbiIgdGl0bGU9IlN1cnZlaWxsYW5jZSBv ZiBDb21tdW5pY2F0aW9uIj4KCjx0PlRoZSBYTVBQIHByb3RvY29sIHNwZWNpZmllcyB0aGUgc3Rh bmRhcmQgYnkgd2hpY2ggY29tbXVuaWNhdGlvbiBvZiBjaGFubmVscyBtYXkgYmUgZW5jcnlwdGVk LCBidXQgaXQgZG9lcyBub3QgcHJvdmlkZSB2aXNpYmlsaXR5IHRvIGNsaWVudHMgb2Ygd2hldGhl ciB0aGVpciBjb21tdW5pY2F0aW9ucyBhcmUgZW5jcnlwdGVkIG9uIGVhY2ggbGluay4gSW4gcGFy dGljdWxhciwgZXZlbiB3aGVuIGJvdGggY2xpZW50cyBlbnN1cmUgdGhhdCB0aGV5IGhhdmUgYW4g ZW5jcnlwdGVkIGNvbm5lY3Rpb24gdG8gdGhlaXIgWE1QUCBzZXJ2ZXIgdG8gZW5zdXJlIHRoYXQg dGhlaXIgbG9jYWwgbmV0d29yayBpcyB1bmFibGUgdG8gcmVhZCBvciBkaXNydXB0IHRoZSBtZXNz YWdlcyB0aGV5IHNlbmQsIHRoZSBwcm90b2NvbCBkb2VzIG5vdCBwcm92aWRlIHZpc2liaWxpdHkg aW50byB0aGUgZW5jcnlwdGlvbiBzdGF0dXMgYmV0d2VlbiB0aGUgdHdvIHNlcnZlcnMuIEFzIHN1 Y2gsIGNsaWVudHMgbWF5IGJlIHN1YmplY3QgdG8gc2VsZWN0aXZlIGRpc3J1cHRpb24gb2YgY29t bXVuaWNhdGlvbnMgYnkgYW4gaW50ZXJtZWRpYXRlIG5ldHdvcmsgd2hpY2ggZGlzcnVwdHMgY29t bXVuaWNhdGlvbnMgYmFzZWQgb24ga2V5d29yZHMgZm91bmQgdGhyb3VnaCBEZWVwIFBhY2tldCBJ bnNwZWN0aW9uLiBXaGlsZSBtYW55IG9wZXJhdG9ycyBoYXZlIGNvbW1pdGVkIHRvIG9ubHkgZXN0 YWJsaXNoaW5nIGVuY3J5cHRlZCBsaW5rcyBmcm9tIHRoZWlyIHNlcnZlcnMgaW4gcmVjb2duaXRp b24gb2YgdGhpcyB2dWxuZXJhYmlsaXR5LCBpdCByZW1haW5zIGltcG9zc2libGUgZm9yIHVzZXJz IHRvIGF1ZGl0IHRoaXMgYmVoYXZpb3IgYW5kIGVuY3J5cHRlZCBjb25uZWN0aW9ucyBhcmUgbm90 IHJlcXVpcmVkIGJ5IHRoZSBwcm90b2NvbCBpdHNlbGYgPHhyZWYgdGFyZ2V0PSJ4bXBwbWFuaWZl c3RvIi8+LjwvdD4KCjx0PkluIHBhcnRpY3VsYXIsIHNlY3Rpb24gMTMuMTQgb2YgdGhlIHByb3Rv Y29sIHNwZWNpZmljYXRpb24gPHhyZWYgdGFyZ2V0PSJSRkM2MTIwIi8+IGV4cGxpY2l0bHkgYWNr bm93bGVkZ2VzIHRoZSBleGlzdGVuY2Ugb2YgYSBkb3duZ3JhZGUgYXR0YWNrIHdoZXJlIGFuIGFk dmVyc2FyeSBjb250cm9sbGluZyBhbiBpbnRlcm1lZGlhdGUgbmV0d29yayBjYW4gZm9yY2UgdGhl IGludGVyIGRvbWFpbiBmZWRlcmF0aW9uIGJldHdlZW4gc2VydmVycyB0byByZXZlcnQgdG8gYSBu b24tZW5jcnlwdGVkIHByb3RvY29sIHdlcmUgc2VsZWN0aXZlIG1lc3NhZ2VzIGNhbiB0aGVuIGJl IGRpc3J1cHRlZC48L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0iZ3JvdXAtY2hhdC1s aW1pdGF0aW9ucyIgdGl0bGU9Ikdyb3VwIENoYXQgTGltaXRhdGlvbnMiPgoKPHQ+R3JvdXAgY2hh dCBpbiB0aGUgWE1QUCBwcm90b2NvbCBpcyBkZWZpbmVkIGFzIGFuIGV4dGVuc2lvbiB3aXRoaW4g dGhlIFhNTCBzcGVjaWZpY2F0aW9uIG9mIHRoZSBYTVBQIHByb3RvY29sIChodHRwczovL3htcHAu b3JnL2V4dGVuc2lvbnMveGVwLTAwNDUuaHRtbCkuIEhvd2V2ZXIsIGl0IGlzIG5vdCBlbmNvZGVk IG9yIHJlcXVpcmVkIGF0IGEgcHJvdG9jb2wgbGV2ZWwsIGFuZCBub3QgdW5pZm9ybWx5IGltcGxl bWVudGVkIGJ5IGNsaWVudHMuPC90PgoKPHQ+VGhlIGRlc2lnbiBvZiBtdWx0aS11c2VyIGNoYXQg aW4gdGhlIFhNUFAgcHJvdG9jb2wgc3VmZmVycyBmcm9tIGV4dGVuZGluZyBhIHByb3RvY29sIHRo YXQgd2FzIG5vdCBkZXNpZ25lZCB3aXRoIGFzc2VtYmx5IG9mIG1hbnkgdXNlcnMgaW4gbWluZC4g SW4gcGFydGljdWxhciwgaW4gdGhlIGZlZGVyYXRlZCBwcm90b2NvbCBwcm92aWRlZCBieSBYTVBQ LCBtdWx0aS11c2VyIGNvbW11bml0aWVzIGFyZSBpbXBsZW1lbnRlZCB3aXRoIGEgZGlzdGluZ3Vp c2hlZCDigJhvd25lcuKAmSwgd2hvIGlzIGdyYW50ZWQgY29udHJvbCBvdmVyIHRoZSBwYXJ0aWNp cGFudHMgYW5kIHN0cnVjdHVyZSBvZiB0aGUgY29udmVyc2F0aW9uLjwvdD4KCjx0Pk11bHRpLXVz ZXIgY2hhdCByb29tcyBhcmUgaWRlbnRpZmllZCBieSBhIG5hbWUgc3BlY2lmaWVkIG9uIGEgc3Bl Y2lmaWMgc2VydmVyLCBzbyB0aGF0IHdoaWxlIHRoZSBvdmVyYWxsIHByb3RvY29sIG1heSBiZSBm ZWRlcmF0ZWQsIHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byBhc3NlbWJsZSBpbiBhIGdpdmVuIGNv bW11bml0eSBpcyBtb2RlcmF0ZWQgYnkgYSBzaW5nbGUgc2VydmVyLiBUaGF0IHNlcnZlciBtYXkg YmxvY2sgdGhlIHJvb20gYW5kIHByZXZlbnQgYXNzZW1ibHkgdW5pbGF0ZXJhbGx5LCBldmVuIGJl dHdlZW4gdHdvIHVzZXJzIG5laXRoZXIgb2Ygd2hvbSB0cnVzdCBvciB1c2UgdGhhdCBzZXJ2ZXIg ZGlyZWN0bHkuPC90PgoKPC9zZWN0aW9uPgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0icGVl ci10by1wZWVyIiB0aXRsZT0iUGVlciB0byBQZWVyIj4KCjx0PlBlZXItdG8tUGVlciAoUDJQKSBp cyBhIG5ldHdvcmsgYXJjaGl0ZWN0dXJlIChkZWZpbmVkIGluIDx4cmVmIHRhcmdldD0iUkZDNzU3 NCIvPikgaW4gd2hpY2ggYWxsIHRoZSBwYXJ0aWNpcGFudCBub2RlcyBhcmUgZXF1YWxseSByZXNw b25zaWJsZSBlbmdhZ2VkIGludG8gdGhlIHN0b3JhZ2UgYW5kIGRpc3NlbWluYXRpb24gb2YgaW5m b3JtYXRpb24uIEEgUDJQIG5ldHdvcmsgaXMgYSBsb2dpY2FsIG92ZXJsYXkgdGhhdCBsaXZlcyBv biB0b3Agb2YgdGhlIHBoeXNpY2FsIG5ldHdvcmssIGFuZCBhbGxvd3Mgbm9kZXMgKG9yIOKAnHBl ZXJz4oCdKSBwYXJ0aWNpcGF0aW5nIHRvIGl0IHRvIGVzdGFibGlzaCBjb250YWN0IGFuZCBleGNo YW5nZSBpbmZvcm1hdGlvbiBkaXJlY3RseSBmcm9tIG9uZSB0byBlYWNoIG90aGVyLiBUaGUgaW1w bGVtZW50YXRpb24gb2YgYSBQMlAgbmV0d29yayBtYXkgdmVyeSB3aWRlbHk6IGl0IG1heSBiZSBz dHJ1Y3R1cmVkIG9yIHVuc3RydWN0dXJlZCwgYW5kIGl0IG1heSBpbXBsZW1lbnQgc3Ryb25nZXIg b3Igd2Vha2VyIGNyeXB0b2dyYXBoaWMgYW5kIGFub255bWl0eSBwcm9wZXJ0aWVzLiBXaGlsZSBp dHMgbW9zdCBjb21tb24gYXBwbGljYXRpb24gaGFzIHRyYWRpdGlvbmFsbHkgYmVlbiBmaWxlLXNo YXJpbmcgKGFuZCBvdGhlciB0eXBlcyBvZiBjb250ZW50IGRlbGl2ZXJ5IHN5c3RlbXMpLCBQMlAg aXMgaW5jcmVhc2luZ2x5IGJlY29taW5nIGEgcG9wdWxhciBhcmNoaXRlY3R1cmUgZm9yIG5ldHdv cmtzIGFuZCBhcHBsaWNhdGlvbnMgdGhhdCByZXF1aXJlIChvciBlbmNvdXJhZ2UpIGRlY2VudHJh bGl6YXRpb24uIEEgcHJpbWUgZXhhbXBsZSBpcyBCaXRjb2luIChhbmQgc2ltaWxhciBjcnlwdG9j dXJyZW5jaWVzKSwgYXMgd2VsbCBhcyBTa3lwZSwgU3BvdGlmeSBhbmQgb3RoZXIgcHJvcHJpZXRh cnkgbXVsdGltZWRpYSBhcHBsaWNhdGlvbnMuPC90PgoKPHQ+SW4gYSB0aW1lIG9mIGhlYXZpbHkg Y2VudHJhbGl6ZWQgb25saW5lIHNlcnZpY2VzLCBwZWVyLXRvLXBlZXIgaXMgb2Z0ZW4gc2VlbiBh cyBhbiBhbHRlcm5hdGl2ZSwgbW9yZSBkZW1vY3JhdGljLCBhbmQgcmVzaXN0YW50IGFyY2hpdGVj dHVyZSB0aGF0IGRpc3BsYWNlcyBzdHJ1Y3R1cmVzIG9mIGNvbnRyb2wgb3ZlciBkYXRhIGFuZCBj b21tdW5pY2F0aW9ucyBhbmQgZGVsZWdhdGVzIGFsbCBwZWVycyBlcXVhbGx5IHRvIGJlIHJlc3Bv bnNpYmxlIGZvciB0aGUgZnVuY3Rpb25pbmcsIGludGVncml0eSwgYW5kIHNlY3VyaXR5IG9mIHRo ZSBkYXRhLiBXaGlsZSBpbiBwcmluY2lwbGUgcGVlci10by1wZWVyIHJlbWFpbnMgY3JpdGljYWwg dG8gdGhlIGRlc2lnbiBhbmQgZGV2ZWxvcG1lbnQgb2YgZnV0dXJlIGNvbnRlbnQgZGlzdHJpYnV0 aW9uLCBtZXNzYWdpbmcsIGFuZCBwdWJsaXNoaW5nIHN5c3RlbXMsIGl0IHBvc2VzIG51bWVyb3Vz IHNlY3VyaXR5IGFuZCBwcml2YWN5IGNoYWxsZW5nZXMgd2hpY2ggYXJlIG1vc3RseSBkZWxlZ2F0 ZWQgdG8gaW5kaXZpZHVhbCBkZXZlbG9wZXJzIHRvIHJlY29nbml6ZSwgYW5hbHl6ZSwgYW5kIHNv bHZlIGluIGVhY2ggaW1wbGVtZW50YXRpb24gb2YgYSBnaXZlbiBQMlAgbmV0d29yay48L3Q+Cgo8 c2VjdGlvbiBhbmNob3I9Im5ldHdvcmstcG9pc29uaW5nIiB0aXRsZT0iTmV0d29yayBQb2lzb25p bmciPgoKPHQ+U2luY2UgY29udGVudCwgYW5kIGluIHNvbWUgb2NjYXNpb25zIHBlZXIgbGlzdHMs IGFyZSBzYWZlZ3VhcmRlZCBhbmQgZGlzdHJpYnV0ZWQgYnkgaXRzIG1lbWJlcnMsIFAyUCBuZXR3 b3JrcyBhcmUgcHJvbmUgdG8gd2hhdCBhcmUgZ2VuZXJhbGx5IGRlZmluZWQgYXMg4oCccG9pc29u aW5nIGF0dGFja3PigJ0uIFBvaXNvbmluZyBhdHRhY2tzIG1pZ2h0IGJlIGRpcmVjdGVkIGRpcmVj dGx5IGF0IHRoZSBkYXRhIHRoYXQgaXMgYmVpbmcgZGlzdHJpYnV0ZWQsIGZvciBleGFtcGxlIGJ5 IGludGVudGlvbmFsbHkgY29ycnVwdGluZyBpdCwgb3IgYXQgdGhlIGluZGV4IHRhYmxlcyB1c2Vk IHRvIGluc3RydWN0IHRoZQpwZWVycyB3aGVyZSB0byBmZXRjaCB0aGUgZGF0YSwgb3IgYXQgcm91 dGluZyB0YWJsZXMsIHdpdGggdGhlIGF0dGVtcHQgb2YgcHJvdmlkaW5nIGNvbm5lY3RpbmcgcGVl cnMgd2l0aCBsaXN0cyBvZiByb2d1ZSBvciBub24tZXhpc3RpbmcgcGVlcnMsIHdpdGggdGhlIGlu dGVudGlvbiB0byBlZmZlY3RpdmVseSBjYXVzZSBhIERlbmlhbCBvZiBTZXJ2aWNlIG9uIHRoZSBu ZXR3b3JrLjwvdD4KCjwvc2VjdGlvbj4KPHNlY3Rpb24gYW5jaG9yPSJ0aHJvdHRsaW5nIiB0aXRs ZT0iVGhyb3R0bGluZyI+Cgo8dD5QZWVyLXRvLVBlZXIgdHJhZmZpYyAoYW5kIEJpdFRvcnJlbnQg aW4gcGFydGljdWxhcikgcmVwcmVzZW50cyBhIGhpZ2ggcGVyY2VudGFnZSBvZiBnbG9iYWwgSW50 ZXJuZXQgdHJhZmZpYyBhbmQgaXQgaGFzIGJlY29tZSBpbmNyZWFzaW5nbHkgcG9wdWxhciBmb3Ig SW50ZXJuZXQgU2VydmljZSBQcm92aWRlcnMgdG8gcGVyZm9ybSB0aHJvdHRsaW5nIG9mIGN1c3Rv bWVycyBsaW5lcyBpbiBvcmRlciB0byBsaW1pdCBiYW5kd2lkdGggdXNhZ2UgPHhyZWYgdGFyZ2V0 PSJ0b3JyZW50ZnJlYWsxIi8+IGFuZCBzb21ldGltZXMgcHJvYmFibHkgYXMgYW4gZWZmZWN0IG9m IHRoZSBvbmdvaW5nIGNvbmZsaWN0IGJldHdlZW4gY29weXJpZ2h0IGhvbGRlcnMgYW5kIGZpbGUt c2hhcmluZyBjb21tdW5pdGllcyA8eHJlZiB0YXJnZXQ9Indpa2lsZWFrcyIvPi48L3Q+Cgo8dD5U aHJvdHRsaW5nIHRoZSBwZWVyLXRvLXBlZXIgdHJhZmZpYyBtYWtlcyBzb21lIHVzZXMgb2YgUDJQ IG5ldHdvcmtzIGluZWZmZWN0aXZlIGFuZCBpdCBtaWdodCBiZSBjb3VwbGVkIHdpdGggc3RyaWN0 ZXIgaW5zcGVjdGlvbiBvZiB1c2Vyc+KAmSBJbnRlcm5ldCB0cmFmZmljIHRocm91Z2ggRGVlcCBQ YWNrZXQgSW5zcGVjdGlvbiB0ZWNobmlxdWVzIHdoaWNoIG1pZ2h0IHBvc2UgYWRkaXRpb25hbCBz ZWN1cml0eSBhbmQgcHJpdmFjeSByaXNrcy48L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hv cj0idHJhY2tpbmctYW5kLWlkZW50aWZpY2F0aW9uIiB0aXRsZT0iVHJhY2tpbmcgYW5kIElkZW50 aWZpY2F0aW9uIj4KCjx0Pk9uZSBvZiB0aGUgZnVuZGFtZW50YWwgYW5kIG1vc3QgcHJvYmxlbWF0 aWMgaXNzdWVzIHdpdGggdHJhZGl0aW9uYWwgcGVlci10by1wZWVyIG5ldHdvcmtzIGlzIGEgY29t cGxldGUgbGFjayBvZiBhbm9ueW1pemF0aW9uIG9mIGl0cyB1c2Vycy4gRm9yIGV4YW1wbGUsIGlu IHRoZSBjYXNlIG9mIEJpdFRvcnJlbnQsIGFsbCBwZWVyc+KAmSBJUCBhZGRyZXNzZXMgYXJlIG9w ZW5seSBhdmFpbGFibGUgdG8gdGhlIG90aGVyIHBlZXJzLiBUaGlzIGhhcyBsZWFkIHRvIGFuIGV2 ZXItaW5jcmVhc2luZyB0cmFja2luZyBvZiBwZWVyLXRvLXBlZXIgYW5kIGZpbGUtc2hhcmluZyB1 c2VycyA8eHJlZiB0YXJnZXQ9ImFycyIvPi4gQXMgdGhlIGdlb2dyYXBoaWNhbApsb2NhdGlvbiBv ZiB0aGUgdXNlciBpcyBkaXJlY3RseSBleHBvc2VkLCBhbmQgc28gY291bGQgYmUgaGlzIGlkZW50 aXR5LCB0aGUgdXNlciBtaWdodCBiZWNvbWUgdGFyZ2V0IG9mIGFkZGl0aW9uYWwgaGFyYXNzbWVu dCBhbmQgYXR0YWNrcywgYmVpbmcgb2YgcGh5c2ljYWwgb3IgbGVnYWwgbmF0dXJlLiBGb3IgZXhh bXBsZSwgaXQgaXMga25vd24gdGhhdCBpbiBHZXJtYW55IGxhdyBmaXJtcyBoYXZlIG1hZGUgZXh0 ZW5zaXZlIHVzZSBvZiBwZWVyLXRvLXBlZXIgYW5kIGZpbGUtc2hhcmluZyB0cmFja2luZyBzeXN0 ZW1zIGluIG9yZGVyIHRvIGlkZW50aWZ5IGRvd25sb2FkZXJzIGFuZCBpbml0aWF0ZSBsZWdhbCBh Y3Rpb25zIGxvb2tpbmcgZm9yIGNvbXBlbnNhdGlvbnMgPHhyZWYgdGFyZ2V0PSJ0b3JyZW50ZnJl YWsyIi8+LjwvdD4KCjx0Pkl0IGlzIHdvcnRoIG5vdGluZyB0aGF0IHRoZXJlIGFyZSB2YXJpZXRp ZXMgb2YgUDJQIG5ldHdvcmtzIHRoYXQgaW1wbGVtZW50IGNyeXB0b2dyYXBoaWMgcHJhY3RpY2Vz IGFuZCB0aGF0IGludHJvZHVjZSBhbm9ueW1pemF0aW9uIG9mIGl0cyB1c2Vycy4gU3VjaCBpbXBs ZW1lbnRhdGlvbnMgcHJvdmVkIHRvIGJlIHN1Y2Nlc3NmdWwgaW4gcmVzaXN0aW5nIGNlbnNvcnNo aXAgb2YgY29udGVudCwgYW5kIHRyYWNraW5nIG9mIHRoZSBuZXR3b3JrIHBlZXJzLiBBIHByaW1h cnkgZXhhbXBsZSBpcyBGcmVlTmV0IDx4cmVmIHRhcmdldD0iZnJlZW5ldDEiLz4sIGEgZnJlZSBz b2Z0d2FyZSBhcHBsaWNhdGlvbiBkZXNpZ25lZCB0byBzaWduaWZpY2FudGx5IGluY3JlYXNlIHRo ZSBkaWZmaWN1bHR5IG9mIHVzZXJzIGFuZCBjb250ZW50IGlkZW50aWZpY2F0aW9uLCBhbmQgZGVk aWNhdGVkIHRvIGZvc3RlciBmcmVlZG9tIG9mIHNwZWVjaCBvbmxpbmUgPHhyZWYgdGFyZ2V0PSJm cmVlbmV0MiIvPi48L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0ic3liaWwtYXR0YWNr cyIgdGl0bGU9IlN5YmlsIEF0dGFja3MiPgoKPHQ+SW4gb3Blbi1tZW1iZXJzaGlwIFAyUCBuZXR3 b3JrcywgYSBzaW5nbGUgYXR0YWNrZXIgY2FuIHByZXRlbmQgdG8gYmUgbWFueSBwYXJ0aWNpcGFu dHMsIHR5cGljYWxseSBieSBjcmVhdGluZyBtdWx0aXBsZSBmYWtlIGlkZW50aXRpZXMgb2Ygd2hh dGV2ZXIga2luZCB0aGUgUDJQIG5ldHdvcmsgdXNlcyA8eHJlZiB0YXJnZXQ9IkRvdWNldXIiLz4u ICBBdHRhY2tlcnMgY2FuIHVzZSBTeWJpbCBhdHRhY2tzIHRvIGJpYXMgY2hvaWNlcyB0aGUgUDJQ IG5ldHdvcmsgbWFrZXMgY29sbGVjdGl2ZWx5IHRvd2FyZCB0aGUgYXR0YWNrZXLigJlzIGFkdmFu dGFnZSwgZS5nLiwgYnkgbWFraW5nIGl0IG1vcmUgbGlrZWx5IHRoYXQgYSBwYXJ0aWN1bGFyIGRh dGEgaXRlbSAob3Igc29tZSB0aHJlc2hvbGQgb2YgdGhlIHJlcGxpY2FzIG9yIHNoYXJlcyBvZiBh IGRhdGEgaXRlbSkgYXJlIGFzc2lnbmVkIHRvIGF0dGFja2VyLWNvbnRyb2xsZWQgcGFydGljaXBh bnRzLiAgSWYgdGhlIFAyUCBuZXR3b3JrIGltcGxlbWVudHMgYW55IHZvdGluZywgbW9kZXJhdGlv biwgb3IgcGVlciByZXZpZXctbGlrZSBmdW5jdGlvbmFsaXR5LCBTeWJpbCBhdHRhY2tzIG1heSBi ZSB1c2VkIHRvIOKAnHN0dWZmIHRoZSBiYWxsb3Rz4oCdIHRvd2FyZCB0aGUgYXR0YWNrZXLigJlz IGJlbmVmaXQuICBDb21wYW5pZXMgYW5kIGdvdmVybm1lbnRzIGNhbiB1c2UgU3liaWwgYXR0YWNr cyBvbiBkaXNjdXNzaW9uLW9yaWVudGVkIFAyUCBzeXN0ZW1zIGZvciDigJxhc3Ryb3R1cmZpbmfi gJ0gb3IgY3JlYXRpbmcgdGhlIGFwcGVhcmFuY2Ugb2YgIG1hc3MgZ3Jhc3Nyb290cyBzdXBwb3J0 IGZvciBzb21lIHBvc2l0aW9uIHdoZXJlIHRoZXJlIGlzIG5vbmUgaW4gcmVhbGl0eS48L3Q+Cgo8 L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0iY29uY2x1c2lvbnMiIHRpdGxlPSJDb25jbHVzaW9u cyI+Cgo8dD5FbmNyeXB0ZWQgUDJQIGFuZCBBbm9ueW1vdXMgUDJQIG5ldHdvcmtzIGFscmVhZHkg ZW1lcmdlZCBhbmQgcHJvdmlkZWQgdmlhYmxlIHBsYXRmb3JtcyBmb3Igc2hhcmluZyBtYXRlcmlh bCwgcHVibGlzaCBjb250ZW50IGFub255bW91c2x5LCBhbmQgY29tbXVuaWNhdGUgc2VjdXJlbHkg PHhyZWYgdGFyZ2V0PSJiaXRtZXNzYWdlIi8+LiBJZiBhZG9wdGVkIGF0IGxhcmdlLCB3ZWxsLWRl c2lnbmVkIGFuZCByZXNpc3RhbnQgUDJQIG5ldHdvcmtzIG1pZ2h0IHJlcHJlc2VudCBhIGNyaXRp Y2FsIGNvbXBvbmVudCBvZiBhIGZ1dHVyZSBzZWN1cmUgYW5kIGRpc3RyaWJ1dGVkIEludGVybmV0 LCBlbmFibGluZyBmcmVlZG9tIG9mIHNwZWVjaCBhbmQgZnJlZWRvbQpvZiBpbmZvcm1hdGlvbiBh dCBzY2FsZS48L3Q+Cgo8L3NlY3Rpb24+Cjwvc2VjdGlvbj4KPHNlY3Rpb24gYW5jaG9yPSJ2aXJ0 dWFsLXByaXZhdGUtbmV0d29yayIgdGl0bGU9IlZpcnR1YWwgUHJpdmF0ZSBOZXR3b3JrIj4KCjxz ZWN0aW9uIGFuY2hvcj0iaW50cm9kdWN0aW9uLTEiIHRpdGxlPSJJbnRyb2R1Y3Rpb24iPgoKPHQ+ QSBWaXJ0dWFsIFByaXZhdGUgTmV0d29yayAoVlBOKSBpcyBhIHBvaW50LXRvLXBvaW50IGNvbm5l Y3Rpb24gdGhhdCBlbmFibGVzIHR3byBjb21wdXRlcnMgdG8gY29tbXVuaWNhdGUgb3ZlciBhbiBl bmNyeXB0ZWQgdHVubmVsLiBUaGVyZSBhcmUgbXVsdGlwbGUgaW1wbGVtZW50YXRpb25zIGFuZCBw cm90b2NvbHMgdXNlZCBpbiBwcm92aXNpb25pbmcgYSBWUE4sIGFuZCB0aGV5IGdlbmVyYWxseSBk aXZlcnNpZnkgYnkgZW5jcnlwdGlvbiBwcm90b2NvbCBvciBwYXJ0aWN1bGFyIHJlcXVpcmVtZW50 cywgbW9zdCBjb21tb25seSBpbiBwcm9wcmlldGFyeSBhbmQgZW50ZXJwcmlzZSBzb2x1dGlvbnMu IFZQTnMgYXJlIHVzZWQgY29tbW9ubHkgZWl0aGVyIHRvIGVuYWJsZSBzb21lIGRldmljZXMgdG8g Y29tbXVuaWNhdGUgdGhyb3VnaCBwZWN1bGlhciBuZXR3b3JrIGNvbmZpZ3VyYXRpb25zLCBvciBp biBvcmRlciB0byB1c2Ugc29tZSBwcml2YWN5IGFuZCBzZWN1cml0eSBwcm9wZXJ0aWVzIGluIG9y ZGVyIHRvIHByb3RlY3QgdGhlIHRyYWZmaWMgZ2VuZXJhdGVkIGJ5IHRoZSBlbmQgdXNlcjsgb3Ig Ym90aC4gVlBOcyBoYXZlIGFsc28gYmVjb21lIGEgdmVyeSBwb3B1bGFyIHRlY2hub2xvZ3kgYW1v bmcgaHVtYW4gcmlnaHRzIGRlZmVuZGVycywgZGlzc2lkZW50cywgYW5kIGpvdXJuYWxpc3RzIHdv cmxkd2lkZSB0byBhdm9pZCBsb2NhbCBpbGxlZ2l0aW1hdGUgd2lyZXRhcHBpbmcgYW5kIGV2ZW50 dWFsbHkgYWxzbyB0byBjaXJjdW12ZW50IGNlbnNvcnNoaXAuIEFtb25nIGh1bWFuIHJpZ2h0cyBk ZWZlbmRlcnMgVlBOcyBhcmUgb2Z0ZW4gZGViYXRlZCBhcyBhIHBvdGVudGlhbCBhbHRlcm5hdGl2 ZSB0byBUb3Igb3Igb3RoZXIgYW5vbnltb3VzIG5ldHdvcmtzLiBTdWNoIGNvbXBhcmlzb24gaXMg bWlzbGVhZGluZywgYXMgc29tZSBvZiB0aGUgcHJpdmFjeSBhbmQgc2VjdXJpdHkgcHJvcGVydGll cyBvZiBWUE5zIGFyZSBvZnRlbiBtaXN1bmRlcnN0b29kIGJ5IGxlc3MgdGVjaC1zYXZ2eSB1c2Vy cywgd2hpY2ggY291bGQgdWx0aW1hdGVseSBsZWFkIHRvIHVuaW50ZW5kZWQgcHJvYmxlbXMuPC90 PgoKPHQ+QXMgVlBOcyBpbmNyZWFzZWQgaW4gcG9wdWxhcml0eSwgY29tbWVyY2lhbCBWUE4gcHJv dmlkZXJzIGhhdmUgc3RhcnRlZCBncm93aW5nIGluIGJ1c2luZXNzIGFuZCBhcmUgdmVyeSBjb21t b25seSBwaWNrZWQgYnkgaHVtYW4gcmlnaHRzIGRlZmVuZGVycyBhbmQgcGVvcGxlIGF0IHJpc2ss IGFzIHRoZXkgYXJlIG5vcm1hbGx5IHByb3ZpZGVkIHdpdGggYW4gZWFzeS10by11c2Ugc2Vydmlj ZSBhbmQgc29tZXRpbWVzIGV2ZW4gY3VzdG9tIGFwcGxpY2F0aW9ucyB0byBlc3RhYmxpc2ggdGhl IFZQTiB0dW5uZWwuIE5vdCBiZWluZyBhYmxlIHRvIGNvbnRyb2wgdGhlIGNvbmZpZ3VyYXRpb24g b2YgdGhlIG5ldHdvcmssIGFuZCBldmVuIGxlc3Mgc28gdGhlIHNlY3VyaXR5IG9mIHRoZSBhcHBs aWNhdGlvbiwgYXNzZXNzaW5nIHRoZSBnZW5lcmFsIHByaXZhY3kgYW5kIHNlY3VyaXR5IHN0YXRl IG9mIGNvbW1vbiBWUE5zIGlzIHZlcnkgaGFyZC4gT2Z0ZW4gc3VjaCBzZXJ2aWNlcyBoYXZlIGJl ZW4gZGlzY292ZXJlZCBsZWFraW5nIGluZm9ybWF0aW9uLCBhbmQgdGhlaXIgY3VzdG9tIGFwcGxp Y2F0aW9ucyBoYXZlIGJlZW4gZm91bmQgZmxhd2VkLiBXaGlsZSBUb3IgYW5kIHNpbWlsYXIgbmV0 d29ya3MgcmVjZWl2ZSBhIGxvdCBvZiBzY3J1dGlueSBmcm9tIHRoZSBwdWJsaWMgYW5kIHRoZSBh Y2FkZW1pYyBjb21tdW5pdHksIGNvbW1lcmNpYWwgb3Igbm9uLWNvbW1lcmNpYWwgVlBOIG5ldHdv cmtzIGFyZSB3YXkgbGVzcyBhbmFseXplZCBhbmQgdW5kZXJzdG9vZCwgYW5kIGl0IG1pZ2h0IGJl IHZhbHVhYmxlIHRvIGVzdGFibGlzaCBzb21lIHN0YW5kYXJkcyB0byBndWFyYW50ZWUgYSBtaW5p bWFsIGxldmVsIG9mIHByaXZhY3kgYW5kIHNlY3VyaXR5IHRvIHRob3NlIHdobyBuZWVkIHRoZW0g dGhlIG1vc3QuPC90PgoKPC9zZWN0aW9uPgo8c2VjdGlvbiBhbmNob3I9ImZhbHNlLXNlbnNlLW9m LWFub255bWl0eSIgdGl0bGU9IkZhbHNlIHNlbnNlIG9mIEFub255bWl0eSI+Cgo8dD5PbmUgb2Yg dGhlIGNvbW1vbiBtaXNjb25jZXB0aW9uIGFtb25nIHVzZXJzIG9mIFZQTnMgaXMgdGhlIGxldmVs IG9mIGFub255bWl0eSBWUE4gY2FuIHByb3ZpZGUuIFRoaXMgc2Vuc2Ugb2YgYW5vbnltaXR5IGNh biBiZSBiZXRyYXllZCBieSBhIG51bWJlciBvZiBhdHRhY2tzIG9yIG1pc2NvbmZpZ3VyYXRpb25z IG9mIHRoZSBWUE4gcHJvdmlkZXIuIEl0IGlzIGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0LCBj b250cmFyaWx5IHRvIFRvciBhbmQgc2ltaWxhciBzeXN0ZW1zLCBWUE4gd2FzIG5vdCBkZXNpZ25l ZCB0byBwcm92aWRlIGFub255bWl0eSBwcm9wZXJ0aWVzLiBGcm9tIGEgdGVjaG5pY2FsIHBvaW50 IG9mIHZpZXcsIHRoZSBWUE4gbWlnaHQgbGVhayBpZGVudGlmaWFibGUgaW5mb3JtYXRpb24sIG9y IG1pZ2h0IGJlIHN1YmplY3Qgb2YgY29ycmVsYXRpb24gYXR0YWNrcyB0aGF0IGNvdWxkIGV4cG9z ZSB0aGUgb3JpZ2luYXRpbmcgYWRkcmVzcyBvZiB0aGUgY29ubmVjdGluZyB1c2VyLiBNb3N0IGlt cG9ydGFudGx5LCBpdCBpcyB2aXRhbCB0byB1bmRlcnN0YW5kIHRoYXQgY29tbWVyY2lhbCBhbmQg bm9uLWNvbW1lcmNpYWwgVlBOIHByb3ZpZGVycyBhcmUgYm91bmQgYnkgdGhlIGxhdyBvZiB0aGUg anVyaXNkaWN0aW9uIHRoZXkgcmVzaWRlIGluIG9yIGluIHdoaWNoIHRoZWlyIGluZnJhc3RydWN0 dXJlIGlzIGxvY2F0ZWQsIGFuZCB0aGV5IG1pZ2h0IGJlIGxlZ2FsbHkgZm9yY2VkIHRvIHR1cm4g b3ZlciBkYXRhIG9mIHNwZWNpZmljIHVzZXJzIGlmIGxlZ2FsIGludmVzdGlnYXRpb25zIG9yIGlu dGVsbGlnZW5jZSByZXF1aXJlbWVudHMgZGljdGF0ZSBzby4gSW4gc3VjaCBjYXNlcywgaWYgdGhl IFZQTiBwcm92aWRlcnMgcmV0YWluIGxvZ3MsIGl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIGluZm9y bWF0aW9uIG9mIHRoZSB1c2VyIGlzIHByb3ZpZGVkIHRvIHRoZSB1c2Vy4oCZcyBhZHZlcnNhcnkg YW5kIGxlYWRzIHRvIGhpcyBvciBoZXIgaWRlbnRpZmljYXRpb24uPC90PgoKPC9zZWN0aW9uPgo8 c2VjdGlvbiBhbmNob3I9ImxvZ2dpbmciIHRpdGxlPSJMb2dnaW5nIj4KCjx0PldpdGggVlBOIGJl aW5nIHBvaW50LXRvLXBvaW50IGNvbm5lY3Rpb25zLCB0aGUgc2VydmljZSBwcm92aWRlcnMgYXJl IGluIGZhY3QgYWJsZSB0byBvYnNlcnZlIHRoZSBvcmlnaW5hbCBsb2NhdGlvbiBvZiB0aGUgY29u bmVjdGluZyB1c2VycyBhbmQgdGhleSBhcmUgYWJsZSB0byB0cmFjayBhdCB3aGF0IHRpbWUgdGhl eSBzdGFydGVkIHRoZWlyIHNlc3Npb24gYW5kIGV2ZW50dWFsbHkgYWxzbyB0byB3aGljaCBkZXN0 aW5hdGlvbnMgdGhleeKAmXJlIHRyeWluZyB0byBjb25uZWN0IHRvLiBJZiB0aGUgVlBOIHByb3Zp ZGVycyByZXRhaW4gbG9ncyBmb3IgbG9uZyBlbm91Z2gsIHRoZXkgbWlnaHQgYmUgZm9yY2VkIHRv IHR1cm4gb3ZlciB0aGUgcmVsZXZhbnQgZGF0YSBvciB0aGV5IG1pZ2h0IGJlIG90aGVyd2lzZSBj b21wcm9taXNlZCwgbGVhZGluZyB0byB0aGUgc2FtZSBkYXRhIGdldHRpbmcgZXhwb3NlZC4gQSBj bGVhciBsb2cgcmV0YWluaW5nIHBvbGljeSBjb3VsZCBiZSBlbmZvcmNlZCwgYnV0IGNvbnNpZGVy aW5nIHRoYXQgY291bnRyaWVzIGVuZm9yY2UgdmVyeSBkaWZmZXJlbnQgbGV2ZWxzIG9mIGRhdGEg cmV0ZW50aW9uIHBvbGljaWVzLCBWUE4gcHJvdmlkZXJzIHNob3VsZCBhdCBsZWFzdCBiZSB0cmFu c3BhcmVudCBvbiB3aGF0IGluZm9ybWF0aW9uIGRvIHRoZXkgc3RvcmUgYW5kIGZvciBob3cgbG9u ZyBpcyBiZWluZyBrZXB0LjwvdD4KCjwvc2VjdGlvbj4KPHNlY3Rpb24gYW5jaG9yPSJyZC1wYXJ0 eS1ob3N0aW5nIiB0aXRsZT0iM3JkIFBhcnR5IEhvc3RpbmciPgoKPHQ+VlBOIHByb3ZpZGVycyB2 ZXJ5IGNvbW1vbmx5IHJlbHkgb24gM3JkIHBhcnRpZXMgdG8gcHJvdmlzaW9uIHRoZSBpbmZyYXN0 cnVjdHVyZSB0aGF0IGlzIGxhdGVyIGdvaW5nIHRvIGJlIHVzZWQgdG8gcnVuIFZQTiBlbmRwb2lu dHMuIEZvciBleGFtcGxlLCB0aGV5IG1pZ2h0IHJlbHkgb24gZXh0ZXJuYWwgZGVkaWNhdGVkIHNl cnZlciBob3N0aW5nIHByb3ZpZGVycywgb3Igb24gdXBsaW5rIHByb3ZpZGVycy4gSW4gdGhvc2Ug Y2FzZXMsIGV2ZW4gaWYgdGhlIFZQTiBwcm92aWRlciBpdHNlbGYgaXNu4oCZdCByZXRhaW5pbmcg YW55IHNpZ25pZmljYW50IGxvZ3MsIHRoZSBpbmZvcm1hdGlvbiBvbiB0aGUgY29ubmVjdGluZyB1 c2VycyBtaWdodCBiZSByZXRhaW5lZCBieSB0aG9zZSAzcmQgcGFydGllcyBpbnN0ZWFkLCBpbnRy b2R1Y2luZyBhbiBhZGRpdGlvbmFsIGNvbGxlY3Rpb24gcG9pbnQgZm9yIHRoZSBhZHZlcnNhcnku PC90PgoKPC9zZWN0aW9uPgo8c2VjdGlvbiBhbmNob3I9ImlwdjYtbGVha2FnZSIgdGl0bGU9IklQ djYgTGVha2FnZSI+Cgo8dD5Tb21lIHN0dWRpZXMgcHJvdmVkIHRoYXQgc2V2ZXJhbCBjb21tZXJj aWFsIFZQTiBwcm92aWRlcnMgYW5kIGFwcGxpY2F0aW9ucyBzdWZmZXIgb2YgY3JpdGljYWwgbGVh a2FnZSBvZiBpbmZvcm1hdGlvbiB0aHJvdWdoIElQdjYgZHVlIHRvIGltcHJvcGVyIHN1cHBvcnQg YW5kIGNvbmZpZ3VyYXRpb24gPHhyZWYgdGFyZ2V0PSJQRVRTMjAxNVZQTiIvPi4gVGhpcyBpcyBn ZW5lcmFsbHkgY2F1c2VkIGJ5IGEgbGFjayBvZiBwcm9wZXIgY29uZmlndXJhdGlvbiBvZiB0aGUg Y2xpZW504oCZcyBJUHY2IHJvdXRpbmcgdGFibGVzLiBDb25zaWRlcmluZyB0aGF0IG1vc3QgcG9w dWxhciBicm93c2VycyBhbmQgc2ltaWxhciBhcHBsaWNhdGlvbnMgaGF2ZSBiZWVuIHN1cHBvcnRp bmcgSVB2NiBieSBkZWZhdWx0LCBpZiB0aGUgaG9zdCBpcyBwcm92aWRlZCB3aXRoIGEgZnVuY3Rp b25hbCBJUHY2IGNvbmZpZ3VyYXRpb24sIHRoZSB0cmFmZmljIHRoYXQgaXMgZ2VuZXJhdGVkIG1p Z2h0IGJlIGxlYWtlZCBpZiB0aGUgVlBOIGFwcGxpY2F0aW9uIGlzbuKAmXQgZGVzaWduZWQgdG8g bWFuaXB1bGF0ZSBzdWNoIHRyYWZmaWMgcHJvcGVybHkuPC90PgoKPC9zZWN0aW9uPgo8c2VjdGlv biBhbmNob3I9ImRucy1sZWFrYWdlIiB0aXRsZT0iRE5TIExlYWthZ2UiPgoKPHQ+U2ltaWxhcmx5 LCBWUE4gc2VydmljZXMgdGhhdCBhcmVu4oCZdCBoYW5kbGluZyBETlMgcmVxdWVzdHMgYW5kIGFy ZSBub3QgcnVubmluZyBETlMgc2VydmVycyBvZiB0aGVpciBvd24sIG1pZ2h0IGJlIHByb25lIHRv IEROUyBsZWFraW5nIHdoaWNoIG1pZ2h0IG5vdCBvbmx5IGV4cG9zZSBzZW5zaXRpdmUgaW5mb3Jt YXRpb24gb24gdGhlIGFjdGl2aXR5IG9mIHRoZSB1c2VyLCBidXQgY291bGQgYWxzbyBwb3RlbnRp YWxseSBsZWFkIHRvIEROUyBoaWphY2tpbmcgYXR0YWNrcyBhbmQgZm9sbG93aW5nIGNvbXByb21p c2VzLjwvdD4KCjwvc2VjdGlvbj4KPHNlY3Rpb24gYW5jaG9yPSJ0cmFmZmljLWNvcnJlbGF0aW9u IiB0aXRsZT0iVHJhZmZpYyBDb3JyZWxhdGlvbiI+Cgo8dD5BcyByZXZlbGF0aW9ucyBvZiBtYXNz IHN1cnZlaWxsYW5jZSBoYXZlIGJlZW4gZ3Jvd2luZyBpbiB0aGUgcHJlc3MsIGFkZGl0aW9uYWwg ZGV0YWlscyBvbiBhdHRhY2tzIG9uIHNlY3VyZSBJbnRlcm5ldCBjb21tdW5pY2F0aW9ucyBoYXZl IGNvbWUgdG8gdGhlIHB1YmxpY+KAmXMgYXR0ZW50aW9uLiBBbW9uZyB0aGVzZSwgVlBOIGFwcGVh cmVkIHRvIGJlIGEgdmVyeSBpbnRlcmVzdGluZyB0YXJnZXQgZm9yIGF0dGFja3MgYW5kIGNvbGxl Y3Rpb24gZWZmb3J0cy4gU29tZSBpbXBsZW1lbnRhdGlvbnMgb2YgVlBOIGFwcGVhciB0byBiZSBw YXJ0aWN1bGFybHkgdnVsbmVyYWJsZSB0byBpZGVudGlmaWNhdGlvbiBhbmQgY29sbGVjdGlvbiBv ZiBrZXkgZXhjaGFuZ2VzIHdoaWNoLCBzb21lIFNub3dkZW4gZG9jdW1lbnRzIHJldmVhbGVkLCBh cmUgc3lzdGVtYXRpY2FsbHkgY29sbGVjdGVkIGFuZCBzdG9yZWQgZm9yIGZ1dHVyZSByZWZlcmVu Y2UuIFRoZSBhYmlsaXR5IG9mIGFuIGFkdmVyc2FyeSB0byBtb25pdG9yIG5ldHdvcmsgY29ubmVj dGlvbnMgYXQgbWFueSBkaWZmZXJlbnQgcG9pbnRzIG92ZXIgdGhlIEludGVybmV0LCBjYW4gYWxs b3cgdGhlbSB0byBwZXJmb3JtIHRyYWZmaWMgY29ycmVsYXRpb24gYXR0YWNrcyBhbmQgaWRlbnRp ZnkgdGhlIG9yaWdpbiBvZiBjZXJ0YWluIFZQTiB0cmFmZmljIGJ5IGNyb3NzIHJlZmVyZW5jaW5n IHRoZSBjb25uZWN0aW9uIHRpbWUgb2YgdGhlIHVzZXIgdG8gdGhlIGVuZHBvaW50IGFuZCB0aGUg Y29ubmVjdGlvbiB0aW1lIG9mIHRoZSBlbmRwb2ludCB0byB0aGUgZmluYWwgZGVzdGluYXRpb24u IFRoZXNlIHR5cGVzIG9mIGF0dGFja3MsIGFsdGhvdWdoIHZlcnkgZXhwZW5zaXZlIGFuZCBub3Jt YWxseSBvbmx5IHBlcmZvcm1lZCBieSB2ZXJ5IHJlc291cmNlZnVsIGFkdmVyc2FyaWVzLCBoYXZl IGJlZW4gZG9jdW1lbnRlZCA8eHJlZiB0YXJnZXQ9InNwaWVnZWwiLz4gdG8gYmUgYWxyZWFkeSBp biBwcmFjdGljZSBhbmQgY291bGQgY29tcGxldGVseSB2YW5pZnkgdGhlIHVzZSBvZiBhIFZQTiBh bmQgdWx0aW1hdGVseSBleHBvc2UgdGhlIGFjdGl2aXR5IGFuZCB0aGUgaWRlbnRpdHkgb2YgYSB1 c2VyIGF0IHJpc2suPC90PgoKPC9zZWN0aW9uPgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0i aHR0cC1zdGF0dXMtY29kZS00NTEiIHRpdGxlPSJIVFRQIFN0YXR1cyBDb2RlIDQ1MSI+Cgo8dD5F dmVyeSBJbnRlcm5ldCB1c2VyIGhhcyBydW4gaW50byB0aGUg4oCYNDA0IE5vdCBGb3VuZOKAmSBI eXBlcnRleHQgVHJhbnNmZXIgUHJvdG9jb2wgKEhUVFApIHN0YXR1cyBjb2RlIHdoZW4gdHJ5aW5n LCBhbmQgZmFpbGluZywgdG8gYWNjZXNzIGEgcGFydGljdWxhciB3ZWJzaXRlIDx4cmVmIHRhcmdl dD0iQ2F0aCIvPi4gSXQgaXMgYSByZXNwb25zZSBzdGF0dXMgdGhhdCB0aGUgc2VydmVyIHNlbmRz IHRvIHRoZSBicm93c2VyLCB3aGVuIHRoZSBzZXJ2ZXIgY2Fubm90IGxvY2F0ZSB0aGUgVVJMLiDi gJg0MDMgRm9yYmlkZGVu4oCZIGlzIGFub3RoZXIgZXhhbXBsZSBvZiB0aGlzIGNsYXNzIG9mIGNv ZGUgc2lnbmFscyB0aGF0IGdpdmVzIHVzZXJzIGluZm9ybWF0aW9uIGFib3V0IHdoYXQgaXMgZ29p bmcgb24uIEluIHRoZSDigJg0MDPigJkgY2FzZSB0aGUgc2VydmVyIGNhbiBiZSByZWFjaGVkLCBi dXQgaXMgYmxvY2tpbmcgdGhlIHJlcXVlc3QgYmVjYXVzZSB0aGUgdXNlciBpcyB0cnlpbmcgdG8g YWNjZXNzIGNvbnRlbnQgZm9yYmlkZGVuIHRvIHRoZW0uIFRoaXMgY2FuIGJlIGJlY2F1c2UgdGhl IHNwZWNpZmljIHVzZXIgaXMgbm90IGFsbG93ZWQgYWNjZXNzIHRvIHRoZSBjb250ZW50IChsaWtl IGEgZ292ZXJubWVudCBlbXBsb3llZSB0cnlpbmcgdG8gYWNjZXNzIHBvcm5vZ3JhcGh5IG9uIGEg d29yay1jb21wdXRlcikgb3IgYmVjYXVzZSBhY2Nlc3MgaXMgcmVzdHJpY3RlZCB0byBhbGwgdXNl cnMgKGxpa2Ugc29jaWFsIG5ldHdvcmsgc2l0ZXMgaW4gY2VydGFpbiBjb3VudHJpZXMpLgpBcyBz dXJ2ZWlsbGFuY2UgYW5kIGNlbnNvcnNoaXAgb2YgdGhlIEludGVybmV0IGlzIGJlY29taW5nIG1v cmUgY29tbW9ucGxhY2UsIHZvaWNlcyB3ZXJlIHJhaXNlZCBhdCB0aGUgSUVURiB0byBpbnRyb2R1 Y2UgYSBuZXcgc3RhdHVzIGNvZGUgdGhhdCBpbmRpY2F0ZXMgd2hlbiBzb21ldGhpbmcgaXMgbm90 IGF2YWlsYWJsZSBmb3Ig4oCYbGVnYWwgcmVhc29uc+KAmSAobGlrZSBjZW5zb3JzaGlwKTo8L3Q+ Cgo8dD5UaGUgNDUxIHN0YXR1cyBjb2RlIHdvdWxkIGFsbG93IHNlcnZlciBvcGVyYXRvcnMgdG8g b3BlcmF0ZSB3aXRoIGdyZWF0ZXIgdHJhbnNwYXJlbmN5IGluIGNpcmN1bXN0YW5jZXMgd2hlcmUg aXNzdWVzIG9mIGxhdyBvciBwdWJsaWMgcG9saWN5IGFmZmVjdCB0aGVpciBvcGVyYXRpb24uIFRo aXMgdHJhbnNwYXJlbmN5IG1heSBiZSBiZW5lZmljaWFsIGJvdGggdG8gdGhlc2Ugb3BlcmF0b3Jz IGFuZCB0byBlbmQtdXNlcnMgPHhyZWYgdGFyZ2V0PSJCcmF5Ii8+LjwvdD4KCjx0PlRoZSBzdGF0 dXMgY29kZSB3b3VsZCBiZSBuYW1lZCDigJg0NTHigJksIGEgcmVmZXJlbmNlIHRvIEJyYWRidXJ5 4oCZcyBmYW1vdXMgbm92ZWwgb24gY2Vuc29yc2hpcDwvdD4KCjx0PkR1cmluZyB0aGUgSUVURiBt ZWV0aW5nIGluIERhbGxhcywgdGhlcmUgd2FzIGRpc2N1c3Npb24gYWJvdXQgdGhlIHVzZWZ1bG5l c3Mgb2Yg4oCYNDUx4oCZLiBUaGUgbWFpbiB0ZW5zaW9uIHJldm9sdmVkIGFyb3VuZCB0aGUgbGFj ayBvZiBhbiBhcHBhcmVudCBtYWNoaW5lLXJlYWRhYmxlIHRlY2huaWNhbCB1c2Ugb2YgdGhlIGlu Zm9ybWF0aW9uLiBUaGUgZXh0ZW50IHRvIHdoaWNoIOKAmDQ1MeKAmSBpcyBqdXN0IOKAmHBvbGl0 aWNhbCB0aGVhdHJl4oCZIG9yIHdoZXRoZXIgaXQgaGFzIGEgY29uY3JldGUgdGVjaG5pY2FsIHVz ZSB3YXMgaGVhdGVkbHkgZGViYXRlZC4gU29tZSBhcmd1ZWQgdGhhdCDigJh0aGUgNDUxIHN0YXR1 cyBjb2RlIGlzIGp1c3QgYSBzdGF0dXMgY29kZSB3aXRoIGEgcmVzcG9uc2UgYm9keeKAmSBvdGhl cnMgc2FpZCBpdCB3YXMgcHJvYmxlbWF0aWMgYmVjYXVzZSDigJhpdCBicmluZ3MgbGF3IGludG8g dGhlIHBpY3R1cmXigJkuIEFnYWluIG90aGVycyBhcmd1ZWQgdGhhdCBpdCB3b3VsZCBiZSB1c2Vm dWwgZm9yIGluZGl2aWR1YWxzLCBvciBvcmdhbml6YXRpb25zIGxpa2UgdGhlIOKAmENoaWxsaW5n IEVmZmVjdHPigJkgcHJvamVjdCwgY3Jhd2xpbmcgdGhlIHdlYiB0byBnZXQgYW4gaW5kaWNhdGlv biBvZiBjZW5zb3JzaGlwIChJRVRGIGRpc2N1c3Npb24gb24g4oCYNDUx4oCZIOKAkyBhdXRob3Li gJlzIGZpZWxkIG5vdGVzIE1hcmNoIDIwMTUpLiBUaGVyZSB3YXMgbm8gb3V0cmlnaHQgb2JqZWN0 aW9uIGR1cmluZyB0aGUgRGFsbGFzIG1lZXRpbmcgYWdhaW5zdCBtb3ZpbmcgZm9yd2FyZCBvbiBz dGF0dXMgY29kZSDigJg0NTHigJksIGFuZCBvbiBEZWNlbWJlciAxOCwgMjAxNSB0aGUgSW50ZXJu ZXQgRW5naW5lZXJpbmcgU3RlZXJpbmcgR3JvdXAgYXBwcm92ZWQgcHVibGljYXRpb24gb2YgPHhy ZWYgdGFyZ2V0PSJSRkM3NzI1Ii8+IOKAmEFuIEhUVFAgU3RhdHVzIENvZGUgdG8gUmVwb3J0IExl Z2FsIE9ic3RhY2xlc+KAmS4gSXQgaXMgbm93IGFuIElFVEYgYXBwcm92ZWQgSFRUUCBzdGF0dXMg Y29kZSB0byBzaWduYWwgd2hlbiByZXNvdXJjZSBhY2Nlc3MgaXMgZGVuaWVkIGFzIGEgY29uc2Vx dWVuY2Ugb2YgbGVnYWwgZGVtYW5kcyA8eHJlZiB0YXJnZXQ9IlJGQzc3MjUiLz4uPC90PgoKPHQ+ V2hhdCBpcyBpbnRlcmVzdGluZyBhYm91dCB0aGlzIHBhcnRpY3VsYXIgY2FzZSBpcyB0aGF0IG5v dCBvbmx5IHRlY2huaWNhbCBhcmd1bWVudHMgYnV0IGFsc28gdGhlIHN0YXR1cyBjb2Rl4oCZcyBv dXRyaWdodCBwb3RlbnRpYWwgcG9saXRpY2FsIHVzZSBmb3IgY2l2aWwgc29jaWV0eSBwbGF5ZWQg YSBzdWJzdGFudGlhbCByb2xlIGluIHNoYXBpbmcgdGhlIGRpc2N1c3Npb24sIGFuZCB0aGUgZGVj aXNpb24gdG8gbW92ZSBmb3J3YXJkIHdpdGggdGhpcyB0ZWNobm9sb2d5LjwvdD4KCjx0Pkl0IGlz IGhvd2V2ZXIgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCA0NTEgaXMgbm90IGEgc29sdXRpb24gdG8g ZGV0ZWN0IGFsbCBvY2Nhc2lvbnMgb2YgY2Vuc29yc2hpcC4gQSBsYXJnZSBzd2F0aCBvZiBJbnRl cm5ldCBmaWx0ZXJpbmcgb2NjdXJzIGluIHRoZSBuZXR3b3JrIHJhdGhlciB0aGFuIHRoZSBzZXJ2 ZXIgaXRzZWxmLiBGb3IgdGhlc2UgZm9ybXMgb2YgY2Vuc29yc2hpcCA0NTEgcGxheXMgYSBsaW1p dGVkIHJvbGUsIGFzIHRoZSBzZXJ2ZXJzIHdpbGwgbm90IGJlIGFibGUgdG8gc2VuZCB0aGUgY29k ZSwgYmVjYXVzZSB0aGV5IGhhdmVu4oCZdCByZWNlaXZlZCB0aGUgcmVxdWVzdHMgKGFzIGlzIHRo ZSBjYXNlIHdpdGggc2VydmVycyB3aXRoIHJlc291cmNlcyBibG9ja2VkIGJ5IHRoZSBDaGluZXNl IEdvbGRlbiBzaGllbGQpLiBTdWNoIGZpbHRlcmluZyByZWdpbWVzIGFyZSB1bmxpa2VseSB0byB2 b2x1bnRhcmlseSBpbmplY3QgYSA0NTEgc3RhdHVzIGNvZGUuIFRoZSB1c2Ugb2YgNDUxIGlzIG1v c3QgbGlrZWx5IHRvIGFwcGx5IGluIHRoZSBjYXNlIG9mIGNvb3BlcmF0aXZlLCBsZWdhbCB2ZXJz aW9ucyBvZiBjb250ZW50IHJlbW92YWwgcmVzdWx0aW5nIGZyb20gcmVxdWVzdHMgdG8gcHJvdmlk ZXJzLiBPbmUgY2FuIHRoaW5rIG9mIGNvbnRlbnQgdGhhdCBpcyByZW1vdmVkIG9yIGJsb2NrZWQg Zm9yIGxlZ2FsIHJlYXNvbnMsIGxpa2UgY29weXJpZ2h0IGluZnJpbmdlbWVudCwgZ2FtYmxpbmcg bGF3cywgY2hpbGQgYWJ1c2UsIGV0IGNldGVyYS4gVGhlIG1ham9yIHVzZSBjYXNlIGlzIHRodXMg Y2xlYXJseSBvbiB0aGUgV2ViIHNlcnZlciBpdHNlbGYsIG5vdCB0aGUgbmV0d29yay4gTGFyZ2Ug SW50ZXJuZXQgY29tcGFuaWVzIGFuZCBzZWFyY2ggZW5naW5lcyBhcmUgY29uc3RhbnRseSBhc2tl ZCB0byBjZW5zb3IgY29udGVudCBpbiB2YXJpb3VzIGp1cmlzZGljdGlvbnMuIDQ1MSBhbGxvd3Mg dGhpcyB0byBiZSBlYXNpbHkgZGlzY292ZXJlZCwgZm9yIGluc3RhbmNlIGJ5IGluaXRpYXRpdmVz IGxpa2UgdGhlIEx1bWVuIERhdGFiYXNlLiBJbiB0aGUgY2FzZSBvZiBhZHZlcnNhcmlhbCBibG9j a2luZyBkb25lIGJ5IGEgZmlsdGVyaW5nIGVudGl0eSBvbiB0aGUgbmV0d29yayA0NTEgaXMgbGVz cyB1c2VmdWwuPC90PgoKPHQ+T3ZlcmFsbCwgdGhlIHN0cmVuZ3RoIG9mIDQ1MSBsaWVzIGluIGl0 cyBhYmlsaXR5IHRvIHByb3ZpZGUgdHJhbnNwYXJlbmN5IGJ5IGdpdmluZyB0aGUgcmVhc29uIGZv ciBibG9ja2luZywgYW5kIGdpdmluZyB0aGUgZW5kLXVzZXIgdGhlIGFiaWxpdHkgdG8gZmlsZSBh IGNvbXBsYWludC4gSXQgYWxsb3dzIG9yZ2FuaXphdGlvbnMgdG8gZWFzaWx5IG1lYXN1cmUgY2Vu c29yc2hpcCBpbiBhbiBhdXRvbWF0ZWQgd2F5LCBhbmQgcHJvbXB0cyB0aGUgdXNlciB0byBhY2Nl c3MgdGhlIGNvbnRlbnQgdmlhIGFub3RoZXIgcGF0aCAoZS5nLiBUT1IsIFZQTnMpIHdoZW4gKHMp aGUgZW5jb3VudGVycyB0aGUgNDUxIHN0YXR1cyBjb2RlLjwvdD4KCjx0PlN0YXR1cyBjb2RlIDQ1 MSBpbXBhY3QgaHVtYW4gcmlnaHRzIGJ5IG1ha2luZyBjZW5zb3JzaGlwIG1vcmUgdHJhbnNwYXJl bnQgYW5kIG1lYXN1cmFibGUuIFRoZSBzdGF0dXMgY29kZSBpbmNyZWFzZXMgdHJhbnNwYXJlbmN5 IGJvdGggYnkgc2lnbmFsaW5nIHRoZSBleGlzdGVuY2Ugb2YgY2Vuc29yc2hpcCAoaW5zdGVhZCBv ZiBhIG11Y2ggbW9yZSBicm9hZCBIVFRQIGVycm9yIG1lc3NhZ2UgbGlrZSBIVFRQIHN0YXR1cyBj b2RlIDQwNCkgYXMgd2VsbCBhcyBwcm92aWRpbmcgZGV0YWlscyBvZiB0aGUgbGVnYWwgcmVzdHJp Y3Rpb24sIHdoaWNoIGxlZ2FsIGF1dGhvcml0eSBpcyBpbXBvc2luZyBpdCwgYW5kIHdoYXQgY2xh c3Mgb2YgcmVzb3VyY2VzIGl0IGFwcGxpZXMgdG8uIFRoaXMgZW1wb3dlcnMgdGhlIHVzZXIgdG8g c2VlayByZWRyZXNzLjwvdD4KCjwvc2VjdGlvbj4KPHNlY3Rpb24gYW5jaG9yPSJtaWRkbGVib3hl cyIgdGl0bGU9Ik1pZGRsZWJveGVzIj4KCjx0Pk9uIHRoZSBjdXJyZW50IEludGVybmV0LCB0cmFu c3BhcmVuY3kgb24gaG93IHBhY2tldHMgcmVhY2ggYSBkZXN0aW5hdGlvbiBpcyBubyBsb25nZXIg YSBnaXZlbi4gVGhpcyBpcyBkdWUgdG8gdGhlIGluY3JlYXNlZCBwcmVzZW5jZSBvZiBmaXJld2Fs bHMsIHNwYW0gZmlsdGVycywgYW5kIG5ldHdvcmsgYWRkcmVzcyB0cmFuc2xhdG9ycyBuZXR3b3Jr cyAoTkFUcykg4oCTIG9yIG1pZGRsZWJveGVzIGFzIHRoZXNlIGhvc3RzIGFyZSBvZnRlbiBjYWxs ZWQg4oCTIHRoYXQgbWFrZSB1c2Ugb2YgaGlnaGVyLWxheWVyIGZpZWxkcyB0byBmdW5jdGlvbiA8 eHJlZiB0YXJnZXQ9IldhbGZpc2giLz4uClRoaXMgZGV2ZWxvcG1lbnQgaXMgY29udGVudGlvdXMu IFRoZSBkZWJhdGUgYWxzbyB1bmZvbGRlZCBhdCB0aGUgSUVURiwgc3BlY2lmaWNhbGx5IGF0IHRo ZSBTZXNzaW9uIFByb3RvY29sIFVuZGVybmVhdGggRGF0YWdyYW1zIChTUFVEKSBCaXJkcyBvZiBh IEZlYXRoZXIgKEJPRikgbWVldGluZyBoZWxkIGF0IHRoZSBJRVRGIGNvbmZlcmVuY2UgaW4gTWFy Y2ggMjAxNS4gVGhlIGRpc2N1c3Npb24gYXQgdGhlIEJPRiBmb2N1c2VkIG9uIHF1ZXN0aW9ucyBh Ym91dCBhZGRpbmcgbWV0YS1kYXRhLCBvciBvdGhlciBpbmZvcm1hdGlvbiB0byB0cmFmZmljIGZs b3dzLCB0byBlbmFibGUgdGhlIHNoYXJpbmcgb2YgaW5mb3JtYXRpb24gd2l0aCBtaWRkbGVib3hl cyBpbiB0aGF0IGZsb3cuIER1cmluZyB0aGUgc2Vzc2lvbnMgdHdvIGNvbXBldGluZyBhcmd1bWVu dHMgd2VyZSBkaXN0aWxsZWQuIE9uIHRoZSBvbmUgaGFuZCBhZGRpbmcgYWRkaXRpb25hbCBkYXRh IHdvdWxkIGFsbG93IGZvciBuZXR3b3JrIG9wdGltaXphdGlvbiwgYW5kIGhlbmNlIGltcHJvdmUg dHJhZmZpYyBjYXJyaWFnZS4gT24gdGhlIG90aGVyIGhhbmQsIHRoZXJlIGFyZSByaXNrcyBvZiBp bmZvcm1hdGlvbiBsZWFrYWdlIGFuZCBvdGhlciBwcml2YWN5IGFuZCBzZWN1cml0eSBjb25jZXJu cy48L3Q+Cgo8dD5NaWRkbGVib3hlcywgYW5kIHRoZSBwcm90b2NvbHMgZ3VpZGluZyB0aGVtLCBp bmZsdWVuY2UgaW5kaXZpZHVhbHPigJkgYWJpbGl0eSB0byBjb21tdW5pY2F0ZSBvbmxpbmUgZnJl ZWx5IGFuZCBwcml2YXRlbHkuIFJlcGVhdGVkbHkgbWVudGlvbmVkIGluIHRoZSBkaXNjdXNzaW9u IHdhcyB0aGUgZGFuZ2VyIG9mIGNlbnNvcnNoaXAgdGhhdCBjb21lcyB3aXRoIG1pZGRsZWJveGVz LCBhbmQgdGhlIElFVEbigJlzIHJvbGUgdG8gcHJldmVudCBzdWNoIGNlbnNvcnNoaXAgZnJvbSBo YXBwZW5pbmcuIE1pZGRsZWJveGVzIGFyZSBiZWNvbWluZyBhIHByb3h5IGZvciB0aGUgZGViYXRl IG9uIHRoZSBleHRlbnQgdG8gd2hpY2ggY29tbWVyY2lhbCBpbnRlcmVzdHMgYXJlIGEgdmFsaWQg cmVhc29uIHRvIHVuZGVybWluZSB0aGUgZW5kLXRvLWVuZCBwcmluY2lwbGUuIFRoZSBwb3RlbnRp YWwgZm9yIGFidXNlIGFuZCBjZW5zb3JpbmcsIGFuZCB0aHVzIHVsdGltYXRlbHkgdGhlIGltcGFj dCBvZiBtaWRkbGVib3hlcyBvbiB0aGUgSW50ZXJuZXQgYXMgYSBwbGFjZSBvZiB1bmZpbHRlcmVk LCB1bm1vbml0b3JlZCBmcmVlZG9tIG9mIHNwZWVjaCwgaXMgcmVhbC4gSXQgaXMgaW1wb3NzaWJs ZSB0byBtYWtlIGFueSBkZWZpbml0aXZlIHN0YXRlbWVudHMgYWJvdXQgdGhlIGRpcmVjdGlvbiB0 aGUgZGViYXRlIG9uIG1pZGRsZWJveGVzIHdpbGwgdGFrZSBhdCB0aGUgSUVURi4gVGhlIG9waW5p b25zIGV4cHJlc3NlZCBpbiB0aGUgU1BVRCBCT0YgYW5kIGJ5IHRoZSB2YXJpb3VzIGludGVydmll d2VlcyBpbmRpY2F0ZSB0aGF0IGEgbWFqb3JpdHkgb2YgZW5naW5lZXJzIGFyZSB0cnlpbmcgdG8g bWl0aWdhdGUgdGhlIG5lZ2F0aXZlIGVmZmVjdHMgb2YgbWlkZGxlYm94ZXMgb24gZnJlZWRvbSBv ZiBzcGVlY2gsIGJ1dCB0aGVpciBhYmlsaXR5IHRvIGFjdCBpcyBsaW1pdGVkIGJ5IHRoZWlyIGxh cmdlciBjb21tZXJjaWFsIGNvbnRleHQgdGhhdCBpcyBleHBhbmRpbmcgdGhlIHVzZSBvZiBtaWRk bGVib3hlcy48L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0iZGRvcy1hdHRhY2tzIiB0 aXRsZT0iRERPUyBhdHRhY2tzIj4KCjx0PkFyZSBEaXN0cmlidXRlZCBEZW5pYWwgb2YgU2Vydmlj ZSAoRERvUykgYXR0YWNrcyBhIGxlZ2l0aW1hdGUgZm9ybSBvZiBvbmxpbmUgcHJvdGVzdCBwcm90 ZWN0ZWQgYnkgdGhlIHJpZ2h0IHRvIGZyZWVkb20gb2Ygc3BlZWNoIGFuZCBhc3NvY2lhdGlvbj8g Q2FuIHRoZXkgYmUgc2VlbiBhcyB0aGUgZXF1aXZhbGVudCB0byDigJhtaWxsaW9uLSh3byltZW4g bWFyY2hlc+KAmSwgb3Igc2l0LWlucz8gT3IgYXJlIHRoZXkgYSB0aHJlYXQgdG8gZnJlZWRvbSBv ZiBleHByZXNzaW9uIGFuZCBhY2Nlc3MgdG8gaW5mb3JtYXRpb24sIGJ5IGxpbWl0aW5nIGFjY2Vz cyB0byB3ZWJzaXRlcyBhbmQgaW4gY2VydGFpbiBjYXNlcyB0aGUgZnJlZWRvbSBvZiBzcGVlY2gg b2Ygb3RoZXJzPyBUaGVzZSBxdWVzdGlvbnMgYXJlIGNydWNpYWwgaW4gb3VyIGRheSBhbmQgYWdl LCB3aGVyZSBwb2xpdGljYWwgZGViYXRlcywgY2l2aWwgZGlzb2JlZGllbmNlIGFuZCBvdGhlciBm b3JtcyBvZiBhY3RpdmlzbSBhcmUgaW5jcmVhc2luZ2x5IG1vdmluZyBvbmxpbmUuPC90PgoKPHQ+ TWFueSBpbmRpdmlkdWFscywgbm90IGV4Y2x1ZGluZyBJRVRGIGVuZ2luZWVycywgaGF2ZSBhcmd1 ZWQgdGhhdCBERG9TIGF0dGFja3MgYXJlIGZ1bmRhbWVudGFsbHkgYWdhaW5zdCBmcmVlZG9tIG9m IHNwZWVjaC4gVGVjaG5pY2FsbHkgRERvUyBhdHRhY2tzIGFyZSB3aGVuIG9uZSBvciBtdWx0aXBs ZSBob3N0IG92ZXJsb2FkIHRoZSBiYW5kd2lkdGggb3IgcmVzb3VyY2VzIG9mIGFub3RoZXIgaG9z dCBieSBmbG9vZGluZyBpdCB3aXRoIHRyYWZmaWMsIGNhdXNpbmcgaXQgdG8gdGVtcG9yYXJpbHkg c3RvcCBiZWluZyBhdmFpbGFibGUgdG8gdXNlcnMuIE9uZSBjYW4gcm91Z2hseSBkaWZmZXJlbnRp YXRlIHRocmVlIHR5cGVzIG9mIEREb1MgYXR0YWNrczogVm9sdW1lIEJhc2VkIEF0dGFja2VkIChU aGlzIGF0dGFjayBhaW1zIHRvIG1ha2UgdGhlIGhvc3QgdW5yZWFjaGFibGUgYnkgdXNpbmcgdXAg YWxsIGl04oCZcyBiYW5kd2l0aCwgb2Z0ZW4gdXNlZCB0ZWNobmlxdWVzIGFyZTogVURQIGZsb29k cyBhbmQgSUNNUCBmbG9vZHMpLCBQcm90b2NvbCBBdHRhY2tzIChUaGlzIGF0dGFja3MgYWltcyB0 byB1c2UgdXAgYWN0dWFsIHNlcnZlciByZXNvdXJjZXMsIG9mdGVuIHVzZWQgdGVjaG5pcXVlcyBh cmUgU1lOIGZsb29kcywgZnJhZ21lbnRlZCBwYWNrZXQgYXR0YWNrcywgYW5kIFBpbmcgb2YgRGVh dGggPHhyZWYgdGFyZ2V0PSJSRkM0OTQ5Ii8+KSBhbmQgQXBwbGljYXRpb24gTGF5ZXIgQXR0YWNr cyAodGhpcyBhdHRhY2sgYWltcyB0byBicmluZyBkb3duIGEgc2VydmVyLCBzdWNoIGFzIHRoZSB3 ZWJzZXJ2ZXIpLjwvdD4KCjx0PkluIHRoZWlyIDIwMTAgcmVwb3J0IFp1Y2tlcm1hbiBldCBhbCBh cmd1ZSB0aGF0IEREb1MgYXR0YWNrcyBhcmUgYSBiYWQgdGhpbmcgYmVjYXVzZSB0aGV5IGFyZSBp bmNyZWFzaW5nbHkgdXNlZCBieSBnb3Zlcm5tZW50cyB0byBhdHRhY2sgYW5kIHNpbGVuY2UgY3Jp dGljcy4gVGhlaXIgcmVzZWFyY2ggZGVtb25zdHJhdGVzIHRoYXQgaW4gbWFueSBjb3VudHJpZXMg aW5kZXBlbmRlbnQgbWVkaWEgb3V0bGV0cyBhbmQgaHVtYW4gcmlnaHRzIG9yZ2FuaXphdGlvbnMg YXJlIHRoZSB2aWN0aW0gb2YgRERvUyBhdHRhY2tzLCB3aGljaCBhcmUgZGlyZWN0bHkgb3IgaW5k aXJlY3RseSBsaW5rZWQgdG8gdGhlaXIgZ292ZXJubWVudHMuIFRoZXNlIHR5cGVzIG9mIGF0dGFj a3MgYXJlIHBhcnRpY3VsYXJseSBjb21wbGljYXRlZCBiZWNhdXNlIGF0dHJpYnV0aW9uIGlzIGRp ZmZpY3VsdCwgY3JlYXRpbmcgYSBzaXR1YXRpb24gaW4gd2hpY2ggZ292ZXJubWVudHMgY2FuIGVm ZmVjdGl2ZWx5IGNlbnNvciBjb250ZW50LCB3aGlsZSBiZWluZyBhYmxlIHRvIGRlbnkgaW52b2x2 ZW1lbnQgaW4gdGhlIGF0dGFja3MgPHhyZWYgdGFyZ2V0PSJadWNrZXJtYW4iLz4uIEREb1MgYXR0 YWNrcyBjYW4gdGh1cyBzdGlmbGUgZnJlZWRvbSBvZiBleHByZXNzaW9uLCBjb21wbGljYXRlIHRo ZSBhYmlsaXR5IG9mIGluZGVwZW5kZW50IG1lZGlhIGFuZCBodW1hbiByaWdodHMgb3JnYW5pemF0 aW9ucyB0byBleGVyY2lzZSB0aGVpciByaWdodCB0byAob25saW5lKSBmcmVlZG9tIG9mIGFzc29j aWF0aW9uLCB3aGlsZSBmYWNpbGl0YXRpbmcgdGhlIGFiaWxpdHkgb2YgZ292ZXJubWVudHMgdG8g Y2Vuc29yIGRpc3NlbnQuICBXaGVuIGl0IGNvbWVzIHRvIGNvbXBhcmluZyBERG9TIGF0dGFja3Mg dG8gcHJvdGVzdHMgaW4gb2ZmbGluZSBsaWZlLCBpdCBpcyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIg dGhhdCBvbmx5IGEgbGltaXRlZCBudW1iZXIgb2YgRERvUyBhdHRhY2tzIGludm9sdmVkIHNvbGVs eSB3aWxsaW5nIHBhcnRpY2lwYW50cy4gSW4gbW9zdCBjYXNlcywgdGhlIGNsaWVudHMgYXJlIGhh Y2tlZCBjb21wdXRlcnMgb2YgdW5yZWxhdGVkIHBhcnRpZXMgdGhhdCBoYXZlIG5vdCBjb25zZW50 ZWQgdG8gYmVpbmcgcGFydCBvZiBhIEREb1MgKGZvciBleGNlcHRpb25zIHNlZSBPcGVyYXRpb24g QWJpYmlsIDx4cmVmIHRhcmdldD0iQWJpYmlsIi8+IG9yIHRoZSBJcmFuaWFuIEdyZWVuIE1vdmVt ZW50IEREb1MgPHhyZWYgdGFyZ2V0PSJHcmVlbk1vdmVtZW50Ii8+KS48L3Q+Cgo8dD5JbiBhZGRp dGlvbiwgRERvUyBhdHRhY2tzIGFyZSBpbmNyZWFzaW5nbHkgdXNlZCBhcyBhbiBleHRvcnRpb24g dGFjdGljLCB3aXRoIGNyaW1pbmFscyBmbG9vZGluZyBhIHdlYnNpdGUg4oCTIHJlbmRlcmluZyBp dCBpbmFjY2Vzc2libGUg4oCTIHVudGlsIHRoZSBvd25lciBwYXlzIHRoZW0gYSBjZXJ0YWluIGFt b3VudCBvZiBtb25leSB0byBzdG9wIHRoZSBhdHRhY2suIFRoZSBjb3N0cyBvZiBtaXRpZ2F0aW5n IHN1Y2ggYXR0YWNrcywgZWl0aGVyIGJ5IGltcHJvdmluZyBzZWN1cml0eSB0byBwcmV2ZW50IHRo ZW0gb3IgcGF5aW5nIG9mZiB0aGUgYXR0YWNrZXJzLCBlbmRzIHVwIGJlaW5nIHBhaWQgYnkgdGhl IGNvbnN1bWVyLjwvdD4KCjx0PkFsbCBvZiB0aGVzZSBpc3N1ZXMgc2VlbSB0byBzdWdnZXN0IHRo YXQgdGhlIElFVEYgc2hvdWxkIHRyeSB0byBlbnN1cmUgdGhhdCB0aGVpciBwcm90b2NvbHMgY2Fu bm90IGJlIHVzZWQgZm9yIEREb1MgYXR0YWNrcy4gRGVjcmVhc2luZyB0aGUgbnVtYmVyIG9mIHZ1 bG5lcmFiaWxpdGllcyBpbiB0aGUgbmV0d29yayBzdGFja3Mgb2Ygcm91dGVycyBvciBjb21wdXRl cnMsIHJlZHVjaW5nIGZsYXdzIGluIEhUVFBTIGltcGxlbWVudGF0aW9ucywgYW5kIGRlcHJlY2lh dGluZyBub24tc2VjdXJlIEhUVFAgcHJvdG9jb2xzIGNvdWxkIGFkZHJlc3MgdGhpcyBpc3N1ZS4g VGhlIElFVEYgY2FuIGNsZWFybHkgcGxheSBhIHJvbGUgaW4gYnJpbmdpbmcgYWJvdXQgc29tZSBv ZiB0aGVzZSBjaGFuZ2VzLCBhbmQgaGFzIGluZGljYXRlZCBpbiA8eHJlZiB0YXJnZXQ9IlJGQzcy NTgiLz4gaXRzIGNvbW1pdG1lbnQgdG8gbWl0aWdhdGluZyDigJhwZXJ2YXNpdmUgbW9uaXRvcmlu ZyAo4oCmKSBpbiB0aGUgZGVzaWduIG9mIElFVEYgcHJvdG9jb2xzLCB3aGVyZSBwb3NzaWJsZS7i gJkgVGhpcyBtZWFucyB0aGUgdXNlIG9mIGVuY3J5cHRpb24gc2hvdWxkIGJlY29tZSBzdGFuZGFy ZC4gRWZmZWN0aXZlbHksIGZvciB0aGUgd2ViIHRoaXMgbWVhbnMgc3RhbmRhcmRpemVkIHVzZSBv ZiBIVFRQUy4gVGhlIElFVEYgY291bGQgcmVkaXJlY3QgaXRzIHdvcmsgc3VjaCB0aGF0IEhUUFBT IGJlY29tZXMgcGFydC1hbmQtcGFyY2VsIG9mIGl0cyBzdGFuZGFyZHMuIEhvd2V2ZXIsIG5leHQg dG8gdGhlIHZhcmlvdXMgdGVjaG5pY2FsIHRyYWRlLW9mZnMgdGhhdCB0aGlzIG1pZ2h0IGxlYWQg dG8gaXQgaXMgaW1wb3J0YW50IHRvIGNvbnNpZGVyIHRoYXQgRERvUyBhdHRhY2tzIGFyZSBzb21l dGltZXMgc2VlbiBhcyBhIG1ldGhvZCBmb3IgZXhlcmNpc2luZyBmcmVlZG9tIG9mIHNwZWVjaC48 L3Q+Cgo8dD5ERG9TIGFsdGhvdWdoIGRpc3J1cHRpdmUsIGFuZCBzaWxlbmNpbmcgYXQgdGltZXMs IGNhbiBhbHNvIGVuYWJsZSBhcyBwcm90ZXN0IGFuZCBzcGVlY2guIE9yIGFzIFNhdXRlciA8eHJl ZiB0YXJnZXQ9IlNhdXRlciIvPiBhcmd1ZXM6IOKAmHRob3VnaCBERG9TIGFzIGEgdGFjdGljIGlz IHN0aWxsIHJlbGF0aXZlbHkgbm92ZWwsIGl0IGZpdHMgd2l0aGluIGEgY2VudHVyaWVzLSBsb25n IHRyYWRpdGlvbiBvZiBicmVha2luZyBsYXdzIGFuZCBkaXNydXB0aW5nIGJ1c2luZXNzIGFzIHVz dWFsIHRvIG1ha2UgYSBwb2xpdGljYWwgcG9pbnQuIFRoZXNlIGFjdGlvbnMgYXJlbuKAmXQgc2lt cGx5IGRpc3J1cHRpb24gZm9yIGRpc3J1cHRpb27igJlzIHNha2UuIFJhdGhlciB0aGV5IHNlcnZl IHRvIGhlbHAgdGhlIGFjdGl2aXN0IG9yIGRpc3NlbnRlciB0byBkaXJlY3QgdGhlIGF0dGVudGlv biBvZiB0aGUgcHVibGljIHRocm91Z2ggdGhlIGludGVycG9sYXRpb24gb2YgZGlmZmVyZW5jZSBp bnRvIHJvdXRpbmUu4oCZICgzMC0zMSkuIEFuIG9mdGVuIGhlYXJkIGFyZ3VtZW50IGFnYWluc3Qg RERvUyBhdHRhY2tzIGlzIHRoYXQgeW91IGNhbm5vdCBjb25zdHJ1ZSBpdCBhcyBhIG1lYW5zIHRv IGV4ZXJjaXNlIHlvdXIgcmlnaHQgdG8gZnJlZWRvbSBvZiBzcGVlY2gsIHdoZW4gdGhlIG1lYW5z IHVzZWQgZWZmZWN0aXZlbHkgaW1wZWRlIHRoZSByaWdodCBvZiB0aGUgcGFydHkgb24gdGhlIHJl Y2VpdmluZyBlbmQgb2YgdGhlIGF0dGFjayB0byBleGVyY2lzZSB0aGF0IHNhbWUgcmlnaHQuIFRo ZSBwcm9ibGVtIHdpdGggdGhpcyBsaW5lIG9mIGFyZ3VtZW50YXRpb24gaXMgdGhhdCBpdCBjb252 ZW5pZW50bHkgaWdub3JlcyB0aGUgZmFjdCB0aGF0IG9ubGluZSBERG9TIGF0dGFja3MgYXJlIG9m dGVuIG9uZSBvZiB0aGUgZmV3IGVmZmVjdGl2ZSB3YXlzIGZvciBhY3RpdmlzdHMgdG8gZ2FpbiB0 aGUgYXR0ZW50aW9uIG9mIHRoZSBtZWRpYSwgdGhlIGdvdmVybm1lbnQgb3Igb3RoZXIgcGFydGll cyBvZiBpbnRlcmVzdC4gU2ltcGx5IHB1dHRpbmcgdXAgYSB3ZWJzaXRlIGZvciBhIGNhdXNlIHdv buKAmXQgZ2FybmVyIHRoZSBzYW1lIGFtb3VudCBvZiBhdHRlbnRpb24gYXMgZGlyZWN0bHkgY29u ZnJvbnRpbmcgdGhlIGlzc3VlIHZpYSB0aGUgd2Vic2l0ZSBvZiB0aGUgaW5kaXZpZHVhbCBvciBv cmdhbml6YXRpb24gYXQgdGhlIGhlYXJ0IG9mIHRoZSBpc3N1ZS4gVGhlIGFiaWxpdHkgb2YgYWN0 aXZpc3RzIHRvIGRvIHNvIHNob3VsZCBiZSBwcm90ZWN0ZWQsIGVzcGVjaWFsbHkgY29uc2lkZXJp bmcgdGhlIGZhY3QgdGhhdCBhcyBTYXV0ZXIgKDIwMTQ6NCkgZXhwbGFpbnM6IOKAmENvbGxlY3Rp dmVseSwgd2UgaGF2ZSBhbGxvd2VkIHRoZSBjb25zdHJ1Y3Rpb24gb2YgYW4gZW50aXJlIHB1Ymxp YyBzcGhlcmUsIHRoZSBJbnRlcm5ldCwgd2hpY2ggYnkgYWNjaWRlbnRzIG9mIGV2b2x1dGlvbiBh bmQgZGVzaWduLCBoYXMgbm9uZSBvZiB0aGUgaW5oZXJlbnQgZnJlZSBzcGVlY2ggZ3VhcmFudGVl cyB3ZSBoYXZlIGNvbWUgdG8gZXhwZWN0LiBEaXNzZW50aW5nIHZvaWNlcyBhcmUgcHVzaGVkIG91 dCBvZiB0aGUgcGF0aHMgb2YgcG90ZW50aWFsIGF1ZGllbmNlcywgZWZmZWN0aXZlbHkgcmVtb3Zp bmcgdGhlbSBmcm9tIHRoZSBwdWJsaWMgZGlzY291cnNlLiBUaGVyZSBpcyBub3doZXJlIG9ubGlu ZSBmb3IgYW4gYWN0aXZpc3QgdG8gc3RhbmQgd2l0aCBoZXIgZnJpZW5kcyBhbmQgaGVyIHNpZ24u IFNoZSBtaWdodCBzZXQgdXAgYSBkZWRpY2F0ZWQgYmxvZ+KAlHdoaWNoIG1heSBvciBtYXkgbm90 IGV2ZXIgYmUgcmVhZOKAlGJ1dCBpdCBpcyBtdWNoIGhhcmRlciBmb3IgaGVyIHRvIHN0YW5kIGNv bGxlY3RpdmVseSB3aXRoIG90aGVycyBhZ2FpbnN0IGEgY29ycG9yYXRlIGdpYW50IGluIHRoZSBv bmxpbmUgc3BhY2Uu4oCZIEFsdGhvdWdoIHRoZSBJbnRlcm5ldCBpcyBvZnRlbiBjb21wYXJlZCB0 byBwdWJsaWMgc3BhY2UsIGl0IGlzIG5vdC4gUmF0aGVyIHRoZSBvcHBvc2l0ZS4gVGhlIEludGVy bmV0IGlzIGFsbW9zdCBlbnRpcmVseSBvd25lZCBieSBwcml2YXRlIGVudGl0aWVzLiBBbmQgdGhl IElFVEYgcGxheXMgYSBjcnVjaWFsIHJvbGUgaW4gZGV2ZWxvcGluZyB0aGlzIHByaXZhdGl6ZWQg Y29tbWVyY2lhbGl6ZWQgSW50ZXJuZXQuPC90PgoKPHQ+RnJvbSBhIGxlZ2FsIGFuZCBwb2xpdGlj YWwgcGVyc3BlY3RpdmUsIHRoZSBJRVRGIGRvZXMgbm90IGhhdmUgdGhlIGxlZ2l0aW1hY3kgdG8g ZGV0ZXJtaW5lIHdoZW4gYSBERG9TIGlzIGxlZ2l0aW1hdGUgKGluIGxlZ2FsIG9yIHBvbGl0aWNh bCB0ZXJtcykuIEl0IGRvZXMgbm90IGhhdmUgdGhlIGNhcGFiaWxpdHkgdG8gbWFrZSB0aGlzIGp1 ZGdtZW50IGFzIGEgbWF0dGVyIG9mIHB1YmxpYyBwb2xpY3kgYW5kIHN1YnNlcXVlbnRseSB0cmFu c2xhdGUgaXQgdG8gY29kZS4gTm9yIHNob3VsZCB0aGUgSUVURiB0cnkgdG8gZG8gc28uICBGcm9t IGEgdGVjaG5pY2FsIHBlcnNwZWN0aXZlLCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEg4oCYbGVn aXRpbWF0ZeKAmSBhbmQg4oCYaWxsZWdpdGltYXRl4oCZIEREb1MgYXR0YWNrIGlzIG1lYW5pbmds ZXNzIGJlY2F1c2UgaXQgd291bGQgYmUgZXh0cmVtZWx5IGRpZmZpY3VsdCBmb3IgdGhlIElFVEYg dG8gZW5naW5lZXIgYSB3YXkgdG8gZGV0ZWN0IHRoYXQgZGlmZmVyZW5jZS4gSW4gYWRkaXRpb24s IHRoZXJlIGlzIGEgbmVlZCBmb3IgdGhlIElFVEYgdG8gYmUgY29uc2lzdGVudCBpbiB0aGUgZmFj ZSBvZiBhdHRhY2tzIChhbiBhdHRhY2sgaXMgYW4gYXR0YWNrIGlzIGFuIGF0dGFjaykgdG8gbWFp bnRhaW4gdGhlIHZpYWJpbGl0eSBvZiB0aGUgbmV0d29yay4gQXJndWluZyB0aGF0IHNvbWUgRERv UyBhdHRhY2tzIHNob3VsZCBiZSBhbGxvd2VkLCBiYXNlZCBvbiB0aGUgbW90aXZhdGlvbiBvZiB0 aGUgYXR0YWNrZXJzIGNvbXBsaWNhdGVzIHRoZSB3b3JrIG9mIHRoZSBJRVRGLiBCZWNhdXNlIGl0 IGFwcHJvYWNoZXMgUE0gcmVnYXJkbGVzcyBvZiB0aGUgbW90aXZhdGlvbiBvZiB0aGUgYXR0YWNr ZXJzIChzZWUgPHhyZWYgdGFyZ2V0PSJSRkM3MjU4Ii8+KSBmb3IgcmVhc29uaW5nKSwgdGFraW5n IHRoZSBtb3RpdmF0aW9uIG9mIHRoZSBhdHRhY2tlcnMgaW50byBhY2NvdW50IGZvciBERG9TIHdv dWxkIGluZGlyZWN0bHkgdW5kZXJtaW5lIHRoZSBhYmlsaXR5IG9mIHRoZSBJRVRGIHRvIHByb3Rl Y3QgdGhlIHJpZ2h0IHRvIHByaXZhY3kgYmVjYXVzZSBpdCBpbnRyb2R1Y2VzIGFuIGVsZW1lbnQg b2YgaW5jb25zaXN0ZW5jeSBpbnRvIGhvdyB0aGUgSUVURiBkZWFscyB3aXRoIGF0dGFja3MuPC90 PgoKPHQ+RGF2aWQgQ2xhcmsgcmVjZW50bHkgcHVibGlzaGVkIGEgcGFwZXIgd2FybmluZyB0aGF0 IHRoZSBmdXR1cmUgb2YgdGhlIEludGVybmV0IGlzIGluIGRhbmdlci4gSGUgYXJndWVzIHRoYXQg dGhlIHByaXZhdGUgc2VjdG9yIGNvbnRyb2wgb3ZlciB0aGUgSW50ZXJuZXQgaXMgdG9vIHN0cm9u ZywgbGltaXRpbmcgdGhlIG15cmlhZCBvZiB3YXlzIGluIHdoaWNoIGl0IGNhbiBiZSB1c2VkIDx4 cmVmIHRhcmdldD0iRGFlZGFsdXMiLz4sIGluY2x1ZGluZyBmb3IgZnJlZWRvbSBvZiBzcGVlY2gu IEJ1dCBqdXN0IGJlY2F1c2UgZnJlZWRvbSBvZiBzcGVlY2gsIGRpc3NlbnQsIGFuZCBwcm90ZXN0 IGFyZSBodW1hbiByaWdodHMsIGFuZCBERG9TIGlzIGEgcG90ZW50aWFsIGV4cHJlc3Npb24gb2Yg dGhvc2UgcmlnaHRzLCBkb2VzbuKAmXQgbWVhbiB0aGF0IEREb1MgaW4gYW5kIG9mIGl0c2VsZiBp cyBhIHJpZ2h0LiAgVG8gd2lkZW4gdGhlIGFuYWxvZ3ksIGp1c3QgYmVjYXVzZSB0aGUgSW50ZXJu ZXQgaXMgYSBtZWRpdW0gdGhyb3VnaCB3aGljaCB0aGUgcmlnaHQgdG8gZnJlZWRvbSBvZiBleHBy ZXNzaW9uIGNhbiBiZSBleGVyY2lzZWQgZG9lcyBub3QgbWFrZSBhY2Nlc3MgdG8gdGhlIEludGVy bmV0IG9yIHNwZWNpZmljIElDVHMgb3IgTkNUcyBhIGh1bWFuIHJpZ2h0LiBVc2VzIG9mIEREb1Mg bWlnaHQgb3IgbWlnaHQgbm90IGJlIGxlZ2l0aW1hdGUgZm9yIHBvbGl0aWNhbCByZWFzb25zLCBi dXQgdGhlIElFVEYgaGFzIG5vIG1lYW5zIG9yIG1ldGhvZHMgdG8gYXNzZXNzIHRoaXMsIGFuZCBp biBnZW5lcmFsIGVuYWJsaW5nIEREb1Mgd291bGQgbWVhbiBhIGRldGVyaW9yYXRpb24gb2YgdGhl IG5ldHdvcmsgYW5kIHRodXMgZnJlZWRvbSBvZiBleHByZXNzaW9uLjwvdD4KCjx0PkluIHN1bW1h dGlvbiwgdGhlIElFVEYgY2Fubm90IGJlIGV4cGVjdGVkIHRvIHRha2UgYSBtb3JhbCBzdGFuY2Ug b24gRERvUyBhdHRhY2tzLCBvciBjcmVhdGUgcHJvdG9jb2xzIHRvIGVuYWJsZSBzb21lIGF0dGFj a3MgYW5kIGluaGliaXQgb3RoZXJzLiBCdXQgd2hhdCBpdCBjYW4gZG8gaXMgY3JpdGljYWxseSBy ZWZsZWN0IG9uIGl0cyByb2xlIGluIGNyZWF0aW5nIGEgY29tbWVyY2lhbGl6ZWQgSW50ZXJuZXQg d2l0aG91dCBhIGRlZmFjdG8gcHVibGljIHNwYWNlIG9yIGluaGVyZW50IHByb3RlY3Rpb25zIGZv ciBmcmVlZG9tIG9mIHNwZWVjaC48L3Q+Cgo8L3NlY3Rpb24+Cjwvc2VjdGlvbj4KPHNlY3Rpb24g YW5jaG9yPSJtb2RlbC1mb3ItZGV2ZWxvcGluZy1odW1hbi1yaWdodHMtcHJvdG9jb2wtY29uc2lk ZXJhdGlvbnMiIHRpdGxlPSJNb2RlbCBmb3IgZGV2ZWxvcGluZyBodW1hbiByaWdodHMgcHJvdG9j b2wgY29uc2lkZXJhdGlvbnMiPgoKPHQ+SGF2aW5nIGVzdGFibGlzaGVkIGhvdyBodW1hbiByaWdo dHMgcmVsYXRlIHRvIHN0YW5kYXJkcyBhbmQgcHJvdG9jb2xzLCBhIGNvbW1vbiB2b2NhYnVsYXJ5 IG9mIHRlY2huaWNhbCBjb25jZXB0cyB0aGF0IGltcGFjdCBodW1hbiByaWdodHMgYW5kIGhvdyB0 aGVzZSB0ZWNobmljYWwgY29uY2VwdCBjYW4gYmUgY29tYmluZWQgdG8gZW5zdXJlIHRoYXQgdGhl IEludGVybmV0IHJlbWFpbnMgYW4gZW5hYmxpbmcgZW52aXJvbm1lbnQgZm9yIGh1bWFuIHJpZ2h0 cyBtZWFucyB0aGUgY29udG91cnMgb2YgYSBtb2RlbCBmb3IgZGV2ZWxvcGluZyBodW1hbiByaWdo dHMgcHJvdG9jb2wgY29uc2lkZXJhdGlvbnMgaGFzIHRha2VuIHNoYXBlLiBUaGlzIHN1YnNlY3Rp b24gcHJvdmlkZXMgdGhlIGxhc3Qgc3RlcCBieSBkZXRhaWxpbmcgaG93IHRoZSB0ZWNobmljYWwg Y29uY2VwdHMgaWRlbnRpZmllZCBhYm92ZSByZWxhdGUgdG8gaHVtYW4gcmlnaHRzLCBhbmQgd2hh dCBxdWVzdGlvbnMgZW5naW5lZXJzIHNob3VsZCBhc2sgdGhlbXNlbHZlcyB3aGVuIGRldmVsb3Bp bmcgb3IgaW1wcm92aW5nIHByb3RvY29scy4gSW4gc2hvcnQsIGl0IHByZXNlbnRzIGEgc2V0IG9m IGh1bWFuIHJpZ2h0cyBwcm90b2NvbCBjb25zaWRlcmF0aW9ucy48L3Q+Cgo8c2VjdGlvbiBhbmNo b3I9Imh1bWFuLXJpZ2h0cy10aHJlYXRzIiB0aXRsZT0iSHVtYW4gcmlnaHRzIHRocmVhdHMiPgo8 dD5IdW1hbiByaWdodHMgdGhyZWF0cyBvbiB0aGUgSW50ZXJuZXQgY29tZSBpbiBhIG15cmlhZCBv ZiBmb3Jtcy4gUHJvdG9jb2xzIGFuZCBzdGFuZGFyZHMgY2FuIGhhcm0gb3IgZW5hYmxlIHRoZSBy aWdodCB0byBmcmVlZG9tIG9mIGV4cHJlc3Npb24sIHJpZ2h0IHRvIG5vbi1kaXNjcmltaW5hdGlv biwgcmlnaHQgdG8gZXF1YWwgcHJvdGVjdGlvbiwgcmlnaHQgdG8gcGFydGljaXBhdGUgaW4gY3Vs dHVyYWwgbGlmZSwgYXJ0cyBhbmQgc2NpZW5jZSwgcmlnaHQgdG8gZnJlZWRvbSBvZiBhc3NlbWJs eSBhbmQgYXNzb2NpYXRpb24sIGFuZCB0aGUgcmlnaHQgdG8gc2VjdXJpdHkuIEFuIGVuZC11c2Vy IHdobyBpcyBkZW5pZWQgYWNjZXNzIHRvIGNlcnRhaW4gc2VydmljZXMsIGRhdGEgb3Igd2Vic2l0 ZXMgbWF5IGJlIHVuYWJsZSB0byBkaXNjbG9zZSB2aXRhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUg bWFscHJhY3RpY2VzIG9mIGEgZ292ZXJubWVudCBvciBvdGhlciBhdXRob3JpdHkuIEEgcGVyc29u IHdob3NlIGNvbW11bmljYXRpb25zIGFyZSBtb25pdG9yZWQgbWF5IGJlIHByZXZlbnRlZCBmcm9t IGV4ZXJjaXNpbmcgdGhlaXIgcmlnaHQgdG8gZnJlZWRvbSBvZiBhc3NvY2lhdGlvbi4gSW4gYSB3 b3JzdC1jYXNlIHNjZW5hcmlvLCBwcm90b2NvbHMgdGhhdCBsZWFrIGluZm9ybWF0aW9uIGNhbiBs ZWFkIHRvIHBoeXNpY2FsIGRhbmdlci4gQSByZWFsaXN0aWMgZXhhbXBsZSB0byBjb25zaWRlciBp cyB3aGVuIG9wcG9zaXRpb24gbGVhZGVycyBpbiB0b3RhbGl0YXJpYW4gcmVnaW1lcyBhcmUgc3Vi amVjdGVkIHRvIHRvcnR1cmUgb24gdGhlIGJhc2lzIG9mIGluZm9ybWF0aW9uIGdhdGhlcmVkIGJ5 IHRoZSByZWdpbWUgdGhyb3VnaCBpbmZvcm1hdGlvbiBsZWFrYWdlIGluIHByb3RvY29scy48L3Q+ Cgo8dD5UaGlzIHNlY3Rpb25zIGRldGFpbHMgc2V2ZXJhbCDigJhjb21tb27igJkgdGhyZWF0cyB0 byBodW1hbiByaWdodHMsIGluZGljYXRpbmcgaG93IGVhY2ggb2YgdGhlc2UgY2FuIGxlYWQgdG8g aHVtYW4gcmlnaHRzIHZpb2xhdGlvbnMvaGFybXMgYW5kIHByZXNlbnQgc2V2ZXJhbCBleGFtcGxl cyBvZiBob3cgdGhlc2UgdGhyZWF0cyB0byBodW1hbiByaWdodHMgbWF0ZXJpYWxpemUgb24gdGhl IEludGVybmV0LiBUaGlzIHRocmVhdCBtb2RlbGluZyBpcyBpbnNwaXJlZCBieSA8eHJlZiB0YXJn ZXQ9IlJGQzY5NzMiLz4gUHJpdmFjeSBDb25zaWRlcmF0aW9ucyBmb3IgSW50ZXJuZXQgUHJvdG9j b2xzLCB3aGljaCBpcyBiYXNlZCBvbiB0aGUgc2VjdXJpdHkgdGhyZWF0IGFuYWx5c2lzLiBUaGlz IG1ldGhvZCBpcyBieSBubyBtZWFucyBhIHBlcmZlY3Qgc29sdXRpb24gZm9yIGFzc2Vzc2luZyBo dW1hbiByaWdodHMgcmlza3MgaW4gSW50ZXJuZXQgcHJvdG9jb2xzIGFuZCBzeXN0ZW1zOyBpdCBp cyBob3dldmVyIHRoZSBiZXN0IGFwcHJvYWNoIGN1cnJlbnRseSBhdmFpbGFibGUuIENlcnRhaW4g aHVtYW4gcmlnaHRzIHRocmVhdHMgYXJlIGluZGlyZWN0bHkgY29uc2lkZXJlZCBpbiBJbnRlcm5l dCBwcm90b2NvbHMgYXMgcGFydCBvZiB0aGUgc3RhbmRhcmQgcHJpdmFjeSBhbmQgc2VjdXJpdHkg Y29uc2lkZXJhdGlvbnMgPHhyZWYgdGFyZ2V0PSJSRkMzNTUyIi8+LiBPdGhlcnMgc3VnZ2VzdGlv bnMgYXJlIHRhaWxvcmVkIHNwZWNpZmljYWxseSB0byBodW1hbiByaWdodHMsIGFuZCByZXByZXNl bnRzIGNvbnNpZGVyYXRpb25zIG5vdCBjdXJyZW50bHkgY29uc2lkZXJlZCBpbiBvdGhlciBSRkNz LjwvdD4KCjx0Pk1hbnkgdGhyZWF0cywgZW5hYmxlcnMgYW5kIHJpc2tzIGFyZSBsaW5rZWQgdG8g ZGlmZmVyZW50IHJpZ2h0cy4gVGhpcyBpcyBub3QgdW5zdXJwcmlzaW5nIGlmIG9uZSB0YWtlcyBp bnRvIGFjY291bnQgdGhhdCBodW1hbiByaWdodHMgYXJlIGludGVycmVsYXRlZCwgaW50ZXJkZXBl bmRlbnQgYW5kIHVuaXZlcnNhbC4gSGVyZSBob3dldmVyIHdl4oCZcmUgbm90IGRpc2N1c3Npbmcg YWxsIGh1bWFuIHJpZ2h0cyBiZWNhdXNlIG5vdCBhbGwgaHVtYW4gcmlnaHRzIGFyZSByZWxldmFu dCB0byBJQ1RzIGluIGdlbmVyYWwgYW5kIHByb3RvY29scyBhbmQgc3RhbmRhcmRzIGluIHBhcnRp Y3VsYXIgPHhyZWYgdGFyZ2V0PSJCbGVzcyIvPi4gVGhpcyBpcyBieSBubyBtZWFucyBhbiBhdHRl bXB0IHRvIGNoZXJyeSBwaWNrcyByaWdodHMsIGlmIG90aGVyIHJpZ2h0cyBzZWVtIHJlbGV2YW50 LCBwbGVhc2UgY29udGFjdCB0aGUgYXV0aG9ycyBhbmQvb3IgdGhlIGhycGMgbWFpbGluZ2xpc3Qu PC90PgoKPC9zZWN0aW9uPgo8c2VjdGlvbiBhbmNob3I9Imd1aWRlbGluZXMtZm9yLWh1bWFuLXJp Z2h0cy1jb25zaWRlcmF0aW9ucyIgdGl0bGU9Ikd1aWRlbGluZXMgZm9yIGh1bWFuIHJpZ2h0cyBj b25zaWRlcmF0aW9ucyI+Cjx0PlRoaXMgc2VjdGlvbiBwcm92aWRlcyBndWlkYW5jZSBmb3IgZG9j dW1lbnQgYXV0aG9ycyBpbiB0aGUgZm9ybSBvZiBhIHF1ZXN0aW9ubmFpcmUgYWJvdXQgcHJvdG9j b2xzIGJlaW5nIGRlc2lnbmVkLiBUaGUgcXVlc3Rpb25uYWlyZSBtYXkgYmUgdXNlZnVsIGF0IGFu eSBwb2ludCBpbiB0aGUgZGVzaWduIHByb2Nlc3MsIHBhcnRpY3VsYXJseSBhZnRlciBkb2N1bWVu dCBhdXRob3JzIGhhdmUgZGV2ZWxvcGVkIGEgaGlnaC1sZXZlbCBwcm90b2NvbCBtb2RlbCBhcyBk ZXNjcmliZWQgaW4gPHhyZWYgdGFyZ2V0PSJSRkM0MTAxIi8+LjwvdD4KCjx0PlRoZXJlIHNob3Vs ZCBiZSBzb21lIGRpc2N1c3Npb24gb2YgcG90ZW50aWFsIGh1bWFuIHJpZ2h0cyByaXNrcyBhcmlz aW5nIGZyb20gcG90ZW50aWFsIG1pc2FwcGxpY2F0aW9ucyBvZiB0aGUgcHJvdG9jb2wgb3IgdGVj aG5vbG9neSBkZXNjcmliZWQgaW4gdGhlIFJGQy5UaGlzIG1pZ2h0IGJlIGNvdXBsZWQgd2l0aCBh biBBcHBsaWNhYmlsaXR5IFN0YXRlbWVudCBmb3IgdGhhdCBSRkMuPC90PgoKPHQ+Tm90ZSB0aGF0 IHRoZSBndWlkYW5jZSBwcm92aWRlZCBpbiB0aGlzIHNlY3Rpb24gZG9lcyBub3QgcmVjb21tZW5k IHNwZWNpZmljIHByYWN0aWNlcy4gVGhlIHJhbmdlIG9mIHByb3RvY29scyBkZXZlbG9wZWQgaW4g dGhlIElFVEYgaXMgdG9vIGJyb2FkIHRvIG1ha2UgcmVjb21tZW5kYXRpb25zIGFib3V0IHBhcnRp Y3VsYXIgdXNlcyBvZiBkYXRhIG9yIGhvdyBodW1hbiByaWdodHMgbWlnaHQgYmUgYmFsYW5jZWQg YWdhaW5zdCBvdGhlciBkZXNpZ24gZ29hbHMuICBIb3dldmVyLCBieSBjYXJlZnVsbHkgY29uc2lk ZXJpbmcgdGhlIGFuc3dlcnMgdG8gZWFjaCBxdWVzdGlvbiBtZW50aW9uZWQgdW5kZXIgNy4zLCBk b2N1bWVudCBhdXRob3JzIHNob3VsZCBiZSBhYmxlIHRvIHByb2R1Y2UgYSBjb21wcmVoZW5zaXZl IGFuYWx5c2lzIHRoYXQgY2FuIHNlcnZlIGFzIHRoZSBiYXNpcyBmb3IgZGlzY3Vzc2lvbiBvbiB3 aGV0aGVyIHRoZSBwcm90b2NvbCBhZGVxdWF0ZWx5IHByb3RlY3RzIGFnYWluc3QgaHVtYW4gcmln aHRzIHRocmVhdHMuICBUaGlzIGd1aWRhbmNlIGlzIG1lYW50IHRvIGhlbHAgdGhlIHRob3VnaHQg cHJvY2VzcyBvZiBhIGh1bWFuIHJpZ2h0cyBhbmFseXNpczsgaXQgZG9lcyBub3QgcHJvdmlkZSBz cGVjaWZpYyBkaXJlY3Rpb25zIGZvciBob3cgdG8gd3JpdGUgYSBodW1hbiByaWdodHMgcHJvdG9j b2wgY29uc2lkZXJhdGlvbnMgc2VjdGlvbiAoZm9sbG93aW5nIHRoZSBleGFtcGxlIHNldCBpbiA8 eHJlZiB0YXJnZXQ9IlJGQzY5NzMiLz4pLjwvdD4KCjxzZWN0aW9uIGFuY2hvcj0idGVjaG5pY2Fs LWNvbmNlcHRzLWFzLXRoZXktcmVsYXRlLXRvLWh1bWFuLXJpZ2h0cyIgdGl0bGU9IlRlY2huaWNh bCBjb25jZXB0cyBhcyB0aGV5IHJlbGF0ZSB0byBodW1hbiByaWdodHMiPgoKPHNlY3Rpb24gYW5j aG9yPSJjb25uZWN0aXZpdHkiIHRpdGxlPSJDb25uZWN0aXZpdHkiPgo8dD5RdWVzdGlvbihzKToK RG9lcyB5b3VyIHByb3RvY29sIGFkZCBhcHBsaWNhdGlvbi1zcGVjaWZpYyBmdW5jdGlvbnMgdG8g aW50ZXJtZWRpYXJ5IG5vZGVzPyBDb3VsZCB0aGlzIGZ1bmN0aW9uYWxpdHkgYWxzbyBiZSBhZGRl ZCB0byBlbmQgbm9kZXMgaW5zdGVhZCBvZiBpbnRlcm1lZGlhcnkgbm9kZXM/CkV4cGxhbmF0aW9u OgpUaGUgZW5kLXRvLWVuZCBwcmluY2lwbGUgPHhyZWYgdGFyZ2V0PSJTYWx0emVyIi8+IHdoaWNo IGFpbXMgdG8gZXh0ZW5kIGNoYXJhY3RlcmlzdGljcyBvZiBhIHByb3RvY29sIG9yIHN5c3RlbSBh cyBmYXIgYXMgcG9zc2libGUgd2l0aGluIHRoZSBzeXN0ZW0sIG9yIGluIG90aGVyIHdvcmRzIOKA mHRoZSBpbnRlbGxpZ2VuY2UgaXMgZW5kIHRvIGVuZCByYXRoZXIgdGhhbiBoaWRkZW4gaW4gdGhl IG5ldHdvcmvigJkgPHhyZWYgdGFyZ2V0PSJSRkMxOTU4Ii8+LiBNaWRkbGVib3hlcyAod2hpY2gg Y2FuIGJlIENvbnRlbnQgRGVsaXZlcnkgTmV0d29ya3MsIEZpcmV3YWxscywgTkFUcyBvciBvdGhl ciBpbnRlcm1lZGlhcnkgbm9kZXMgdGhhdCBwcm92aWRlIG90aGVyIOKAmHNlcnZpY2Vz4oCZIHRo YW4gcm91dGluZyksIGFuZCB0aGUgcHJvdG9jb2xzIGd1aWRpbmcgdGhlbSwgaW5mbHVlbmNlIGlu ZGl2aWR1YWxz4oCZIGFiaWxpdHkgdG8gY29tbXVuaWNhdGUgb25saW5lIGZyZWVseSBhbmQgcHJp dmF0ZWx5LiBUaGUgcG90ZW50aWFsIGZvciBhYnVzZSBhbmQgaW50ZW50aW9uYWwgYW5kIHVuaW50 ZW50aW9uYWwgY2Vuc29yaW5nIGFuZCBsaW1pdGluZyBwZXJtaXNzaW9ubGVzcyBpbm5vdmF0aW9u LCBhbmQgdGh1cyB1bHRpbWF0ZWx5IHRoZSBpbXBhY3Qgb2YgbWlkZGxlYm94ZXMgb24gdGhlIElu dGVybmV0IGFzIGEgcGxhY2Ugb2YgdW5maWx0ZXJlZCwgdW5tb25pdG9yZWQgZnJlZWRvbSBvZiBz cGVlY2gsIGlzIHJlYWwuPC90PgoKPHQ+RXhhbXBsZToKRW5kLXRvLWVuZCBpbnN0YW50IG1lc3Nh Z2UgZW5jcnlwdGlvbiB3b3VsZCBjb25jZWFsIGNvbW11bmljYXRpb25zIGZyb20gb25lIHVzZXLi gJlzIGluc3RhbnQgbWVzc2FnaW5nIGFwcGxpY2F0aW9uIHRocm91Z2ggYW55IGludGVybWVkaWF0 ZSBkZXZpY2VzIGFuZCBzZXJ2ZXJzIGFsbCB0aGUgd2F5IHRvIHRoZSByZWNpcGllbnTigJlzIGlu c3RhbnQgbWVzc2FnaW5nIGFwcGxpY2F0aW9uLiBJZiB0aGUgbWVzc2FnZSB3YXMgZGVjcnlwdGVk IGF0IGFueSBpbnRlcm1lZGlhdGUgcG9pbnTigJNmb3IgZXhhbXBsZSBhdCBhIHNlcnZpY2UgcHJv dmlkZXLigJN0aGVuIHRoZSBwcm9wZXJ0eSBvZiBlbmQtdG8tZW5kIGVuY3J5cHRpb24gd291bGQg bm90IGJlIHByZXNlbnQuPC90PgoKPHQ+SW1wYWN0czo8L3Q+Cgo8dD48bGlzdCBzdHlsZT0ic3lt Ym9scyI+CiAgPHQ+UmlnaHQgdG8gZnJlZWRvbSBvZiBleHByZXNzaW9uPC90PgogIDx0PlJpZ2h0 IHRvIGZyZWVkb20gb2YgYXNzZW1ibHkgYW5kIGFzc29jaWF0aW9uPC90Pgo8L2xpc3Q+PC90PgoK PC9zZWN0aW9uPgo8c2VjdGlvbiBhbmNob3I9InByaXZhY3kiIHRpdGxlPSJQcml2YWN5Ij4KCjx0 PlF1ZXN0aW9uKHMpOgpEaWQgeW91IGhhdmUgYSBsb29rIGF0IHRoZSBHdWlkZWxpbmVzIGluIHRo ZSBQcml2YWN5IENvbnNpZGVyYXRpb25zIGZvciBJbnRlcm5ldCBQcm90b2NvbHMgPHhyZWYgdGFy Z2V0PSJSRkM2OTczIi8+IHNlY3Rpb24gNz8gRG9lcyB5b3VyIHByb3RvY29sIGluIGFueSB3YXkg aW1wYWN0IHRoZSBjb25maWRlbnRpYWxpdHkgb2YgcHJvdG9jb2wgbWV0YWRhdGE/IERvZXMgeW91 ciBwcm90b2NvbCBjb3VudGVyaW5nIHRyYWZmaWMgYW5hbHlzaXMsIG9yIGRhdGEgbWluaW1pemF0 aW9uPzwvdD4KCjx0PkV4cGxhbmF0aW9uOgpQcml2YWN5IHJlZmVycyB0byB0aGUgcmlnaHQgb2Yg YW4gZW50aXR5IChub3JtYWxseSBhIHBlcnNvbiksIGFjdGluZyBpbiBpdHMgb3duIGJlaGFsZiwg dG8gZGV0ZXJtaW5lIHRoZSBkZWdyZWUgdG8gd2hpY2ggaXQgd2lsbCBpbnRlcmFjdCB3aXRoIGl0 cyBlbnZpcm9ubWVudCwgaW5jbHVkaW5nIHRoZSBkZWdyZWUgdG8gd2hpY2ggdGhlIGVudGl0eSBp cyB3aWxsaW5nIHRvIHNoYXJlIGl0cyBwZXJzb25hbCBpbmZvcm1hdGlvbiB3aXRoIG90aGVycy4g PHhyZWYgdGFyZ2V0PSJSRkM0OTQ5Ii8+LjwvdD4KCjx0PkV4YW1wbGU6ClNlZSA8eHJlZiB0YXJn ZXQ9IlJGQzY5NzMiLz48L3Q+Cgo8dD5JbXBhY3RzOjwvdD4KCjx0PjxsaXN0IHN0eWxlPSJzeW1i b2xzIj4KICA8dD5SaWdodCB0byBmcmVlZG9tIG9mIGV4cHJlc3Npb248L3Q+CiAgPHQ+UmlnaHQg dG8gbm9uLWRpc2NyaW1pbmF0aW9uPC90Pgo8L2xpc3Q+PC90PgoKPC9zZWN0aW9uPgo8c2VjdGlv biBhbmNob3I9ImNvbnRlbnQtYWdub3N0aWNpc20iIHRpdGxlPSJDb250ZW50IGFnbm9zdGljaXNt Ij4KCjx0PlF1ZXN0aW9uKHMpOgpJZiB5b3VyIHByb3RvY29sIGltcGFjdHMgcGFja2V0IGhhbmRs aW5nLCBkb2VzIGl0IGxvb2sgYXQgdGhlIHBhY2tldCBjb250ZW50PyBJcyBpdCBtYWtpbmcgZGVj aXNpb25zIGJhc2VkIG9uIHRoZSBjb250ZW50IG9mIHRoZSBwYWNrZXQ/IElzIHRoZSBwcm90b2Nv bCB0cmFuc3BhcmVudCBhYm91dCBpdHMgZGVjaXNpb24/IERvZXMgeW91ciBwcm90b2NvbCBwcmlv cml0aXplIGNlcnRhaW4gY29udGVudCBvciBzZXJ2aWNlcyBvdmVyIG90aGVycz88L3Q+Cgo8dD5F eHBsYW5hdGlvbjoKQ29udGVudCBhZ25vc3RpY2lzbSByZWZlcnMgdG8gdGhlIG5vdGlvbiB0aGF0 IG5ldHdvcmsgdHJhZmZpYyBpcyB0cmVhdGVkIGlkZW50aWNhbGx5IHJlZ2FyZGxlc3Mgb2YgY29u dGVudC48L3Q+Cgo8dD5FeGFtcGxlOgpDb250ZW50IGFnbm9zdGljaXNtIHByZXZlbnRzIGNvbnRl bnQtYmFzZWQgZGlzY3JpbWluYXRpb24gYWdhaW5zdCBwYWNrZXRzLiBUaGlzIGlzIGltcG9ydGFu dCBiZWNhdXNlIGNoYW5nZXMgdG8gdGhpcyBwcmluY2lwbGUgY2FuIGxlYWQgdG8gYSB0d28tdGll cmVkIEludGVybmV0LCB3aGVyZSBjZXJ0YWluIHBhY2tldHMgYXJlIHByaW9yaXRpemVkIG92ZXIg b3RoZXJzIG9uIHRoZSBiYXNpcyBvZiB0aGVpciBjb250ZW50LiBFZmZlY3RpdmVseSB0aGlzIHdv dWxkIG1lYW4gdGhhdCBhbHRob3VnaCBhbGwgdXNlcnMgYXJlIGVudGl0bGVkIHRvIHJlY2VpdmUg dGhlaXIgcGFja2V0cyBhdCBhIGNlcnRhaW4gc3BlZWQsIHNvbWUgdXNlcnMgYmVjb21lIG1vcmUg ZXF1YWwgdGhhbiBvdGhlcnMuPC90PgoKPHQ+SW1wYWN0czo8L3Q+Cgo8dD48bGlzdCBzdHlsZT0i c3ltYm9scyI+CiAgPHQ+UmlnaHQgdG8gZnJlZWRvbSBvZiBleHByZXNzaW9uPC90PgogIDx0PlJp Z2h0IHRvIG5vbi1kaXNjcmltaW5hdGlvbjwvdD4KICA8dD5SaWdodCB0byBlcXVhbCBwcm90ZWN0 aW9uPC90Pgo8L2xpc3Q+PC90PgoKPC9zZWN0aW9uPgo8c2VjdGlvbiBhbmNob3I9InNlY3VyaXR5 IiB0aXRsZT0iU2VjdXJpdHkiPgoKPHQ+UXVlc3Rpb24ocyk6CkRpZCB5b3UgaGF2ZSBhIGxvb2sg YXQgR3VpZGVsaW5lcyBmb3IgV3JpdGluZyBSRkMgVGV4dCBvbiBTZWN1cml0eSBDb25zaWRlcmF0 aW9ucyA8eHJlZiB0YXJnZXQ9IlJGQzM1NTIiLz4/IEhhdmUgeW91IGZvdW5kIGFueSBhdHRhY2tz IHRoYXQgYXJlIG91dCBvZiBzY29wZSBmb3IgeW91ciBwcm90b2NvbD8gV291bGQgdGhlc2UgYXR0 YWNrcyBiZSBwZXJ0aW5lbnQgdG8gdGhlIGh1bWFuIHJpZ2h0cyBlbmFibGluZyBmZWF0dXJlcyBv ZiB0aGUgSW50ZXJuZXQgKGFzIGRlc2NpYnJlZCB0aHJvdWdob3V0IHRoaXMgZG9jdW1lbnQpPzwv dD4KCjx0PkV4cGxhbmF0aW9uOgpNb3N0IHBlb3BsZSBzcGVhayBvZiBzZWN1cml0eSBhcyBpZiBp dCB3ZXJlIGEgc2luZ2xlIG1vbm9saXRoaWMgcHJvcGVydHkgb2YgYSBwcm90b2NvbCBvciBzeXN0 ZW0sIGhvd2V2ZXIsIHVwb24gcmVmbGVjdGlvbjsgb25lIHJlYWxpemVzIHRoYXQgaXQgaXMgY2xl YXJseSBub3QgdHJ1ZS4gUmF0aGVyLCBzZWN1cml0eSBpcyBhIHNlcmllcyBvZiByZWxhdGVkIGJ1 dCBzb21ld2hhdCBpbmRlcGVuZGVudCBwcm9wZXJ0aWVzLiBOb3QgYWxsIG9mIHRoZXNlICAgIHBy b3BlcnRpZXMgYXJlIHJlcXVpcmVkIGZvciBldmVyeSBhcHBsaWNhdGlvbi4gV2UgY2FuIGxvb3Nl bHkgZGl2aWRlIHNlY3VyaXR5IGdvYWxzIGludG8gdGhvc2UgcmVsYXRlZCB0byBwcm90ZWN0aW5n IGNvbW11bmljYXRpb25zIChDT01NVU5JQ0FUSU9OIFNFQ1VSSVRZLCBhbHNvIGtub3duIGFzIENP TVNFQykgYW5kIHRob3NlIHJlbGF0aW5nIHRvIHByb3RlY3Rpbmcgc3lzdGVtcyAoQURNSU5JU1RS QVRJVkUgU0VDVVJJVFkgb3IgU1lTVEVNIFNFQ1VSSVRZKS4gU2luY2UgY29tbXVuaWNhdGlvbnMg YXJlIGNhcnJpZWQgb3V0IGJ5IHN5c3RlbXMgYW5kIGFjY2VzcyB0byBzeXN0ZW1zIGlzIHRocm91 Z2ggY29tbXVuaWNhdGlvbnMgY2hhbm5lbHMsIHRoZXNlIGdvYWxzIG9idmlvdXNseSBpbnRlcmxv Y2ssIGJ1dCB0aGV5IGNhbiBhbHNvIGJlIGluZGVwZW5kZW50bHkgcHJvdmlkZWQgPHhyZWYgdGFy Z2V0PSJSRkMzNTUyIi8+LjwvdD4KCjx0PkV4YW1wbGU6ClNlZSA8eHJlZiB0YXJnZXQ9IlJGQzM1 NTIiLz4uPC90PgoKPHQ+SW1wYWN0czo8L3Q+Cgo8dD48bGlzdCBzdHlsZT0ic3ltYm9scyI+CiAg PHQ+UmlnaHQgdG8gZnJlZWRvbSBvZiBleHByZXNzaW9uPC90PgogIDx0PlJpZ2h0IHRvIGZyZWVk b20gb2YgYXNzZW1ibHkgYW5kIGFzc29jaWF0aW9uPC90PgogIDx0PlJpZ2h0IHRvIG5vbiBkaXNj cmltaW5hdGlvbjwvdD4KPC9saXN0PjwvdD4KCjwvc2VjdGlvbj4KPHNlY3Rpb24gYW5jaG9yPSJp bnRlcm5hdGlvbmFsaXphdGlvbiIgdGl0bGU9IkludGVybmF0aW9uYWxpemF0aW9uIj4KPHQ+UXVl c3Rpb24ocyk6CkRvZXMgeW91ciBwcm90b2NvbCBoYXZlIHRleHQgc3RyaW5ncyB0aGF0IGFyZSBy ZWFkYWJsZSBvciBlbnRlcmVkIGJ5IGh1bWFucz8gRG9lcyB5b3VyIHByb3RvY29sIGFsbG93IFVu aWNvZGUgZW5jb2RlZCBpbiBVVEYtOCBvbmx5LCB0aGVyZWJ5IHNoaWZ0aW5nIGNvbnZlcnNpb24g aXNzdWVzIGF3YXkgZnJvbSBpbmRpdmlkdWFsIGNob2ljZXM/IERpZCB5b3UgaGF2ZSBhIGxvb2sg YXQgPHhyZWYgdGFyZ2V0PSJSRkM2MzY1Ii8+PzwvdD4KCjx0PkV4cGxhbmF0aW9uOgpJbnRlcm5h dGlvbmFsaXphdGlvbiByZWZlcnMgdG8gdGhlIHByYWN0aWNlIG9mIG1ha2luZyBwcm90b2NvbHMs IHN0YW5kYXJkcywgYW5kIGltcGxlbWVudGF0aW9ucyB1c2FibGUgaW4gZGlmZmVyZW50IGxhbmd1 YWdlcyBhbmQgc2NyaXB0cy4gIChzZWUgTG9jYWxpemF0aW9uKS4gSW4gdGhlIElFVEYsIGludGVy bmF0aW9uYWxpemF0aW9uIG1lYW5zIHRvIGFkZCBvciBpbXByb3ZlIHRoZSBoYW5kbGluZyBvZiBu b24tQVNDSUkgdGV4dCBpbiBhIHByb3RvY29sLiA8eHJlZiB0YXJnZXQ9IlJGQzYzNjUiLz4gQSBk aWZmZXJlbnQgcGVyc3BlY3RpdmUsIG1vcmUgYXBwcm9wcmlhdGUgdG8gcHJvdG9jb2xzIHRoYXQg YXJlIGRlc2lnbmVkIGZvciBnbG9iYWwgdXNlIGZyb20gdGhlIGJlZ2lubmluZywgaXMgdGhlIGRl ZmluaXRpb24gdXNlZCBieSBXM0M6PC90PgoKPGZpZ3VyZT48YXJ0d29yaz48IVtDREFUQVsKICAg ICAiSW50ZXJuYXRpb25hbGl6YXRpb24gaXMgdGhlIGRlc2lnbiBhbmQgZGV2ZWxvcG1lbnQgb2Yg YQogICAgIHByb2R1Y3QsIGFwcGxpY2F0aW9uIG9yIGRvY3VtZW50IGNvbnRlbnQgdGhhdCBlbmFi bGVzIGVhc3kKICAgICBsb2NhbGl6YXRpb24gZm9yIHRhcmdldCBhdWRpZW5jZXMgdGhhdCB2YXJ5 IGluIGN1bHR1cmUsIHJlZ2lvbiwKICAgICBvciBsYW5ndWFnZS4iICB7e1czQ2kxOG5EZWZ9fQpd XT48L2FydHdvcms+PC9maWd1cmU+Cgo8dD5NYW55IHByb3RvY29scyB0aGF0IGhhbmRsZSB0ZXh0 IG9ubHkgaGFuZGxlIG9uZSBjaGFyc2V0IChVUy1BU0NJSSksIG9yIGxlYXZlIHRoZSBxdWVzdGlv biBvZiB3aGF0IENDUyBhbmQgZW5jb2RpbmcgYXJlIHVzZWQgdXAgdG8gbG9jYWwgZ3Vlc3N3b3Jr ICh3aGljaCBsZWFkcywgb2YgY291cnNlLCB0byBpbnRlcm9wZXJhYmlsaXR5IHByb2JsZW1zKS4g IElmIG11bHRpcGxlIGNoYXJzZXRzIGFyZSBwZXJtaXR0ZWQsIHRoZXkgbXVzdCBiZSBleHBsaWNp dGx5IGlkZW50aWZpZWQgPHhyZWYgdGFyZ2V0PSJSRkMyMjc3Ii8+LiAgQWRkaW5nIG5vbi1BU0NJ SSB0ZXh0IHRvIGEgcHJvdG9jb2wgYWxsb3dzIHRoZSBwcm90b2NvbCB0byBoYW5kbGUgbW9yZSBz Y3JpcHRzLCBob3BlZnVsbHkgcmVwcmVzZW50aW5nIHVzZXJzIGFjcm9zcyB0aGUgd29ybGQuICBJ biB0b2RheeKAmXMgd29ybGQsIHRoYXQgaXMgbm9ybWFsbHkgYmVzdCBhY2NvbXBsaXNoZWQgYnkg YWxsb3dpbmcgVW5pY29kZSBlbmNvZGVkIGluIFVURi04IG9ubHksIHRoZXJlYnkgc2hpZnRpbmcg Y29udmVyc2lvbiBpc3N1ZXMgYXdheSBmcm9tIGluZGl2aWR1YWwgY2hvaWNlcy48L3Q+Cgo8dD5F eGFtcGxlOgpTZWUgbG9jYWxpemF0aW9uCkltcGFjdHM6PC90PgoKPHQ+PGxpc3Qgc3R5bGU9InN5 bWJvbHMiPgogIDx0PlJpZ2h0IHRvIGZyZWVkb20gb2YgZXhwcmVzc2lvbjwvdD4KICA8dD5SaWdo dCB0byBwb2xpdGljYWwgcGFydGljaXBhdGlvbjwvdD4KICA8dD5SaWdodCB0byBwYXJ0aWNpcGF0 ZSBpbiBjdWx0dXJhbCBsaWZlLCBhcnRzIGFuZCBzY2llbmNlPC90PgogIDx0PlJpZ2h0IHRvIHBv bGl0aWNhbCBwYXJ0aWNpcGF0aW9uPC90Pgo8L2xpc3Q+PC90PgoKPC9zZWN0aW9uPgo8c2VjdGlv biBhbmNob3I9ImNlbnNvcnNoaXAtcmVzaXN0YW5jZSIgdGl0bGU9IkNlbnNvcnNoaXAgcmVzaXN0 YW5jZSI+Cgo8dD5RdWVzdGlvbihzKToKRG9lcyB0aGlzIHByb3RvY29sIGludHJvZHVjZSBuZXcg aWRlbnRpZmllcnMgdGhhdCBtaWdodCBiZSBhc3NvY2lhdGVkIHdpdGggcGVyc29ucyBvciBjb250 ZW50PyBEb2VzIHlvdXIgcHJvdG9jb2wgbWFrZSBpdCBhcHBhcmVudCBvciB0cmFuc3BhcmVudCB3 aGVuIGZpbHRlcmluZyBoYXBwZW5zPzwvdD4KCjx0PkV4cGxhbmF0aW9uOgpDZW5zb3JzaGlwIHJl c2lzdGFuY2UgcmVmZXJzIHRvIHRoZSBtZXRob2RzIGFuZCBtZWFzdXJlcyB0byBwcmV2ZW50IElu dGVybmV0IGNlbnNvcnNoaXAuPC90PgoKPHQ+RXhhbXBsZToKSWRlbnRpZmllcnMgb2YgY29udGVu dCBleHBvc2VkIHdpdGhpbiBhIHByb3RvY29sIG1pZ2h0IGJlIHVzZWQgdG8gZmFjaWxpdGF0ZSBj ZW5zb3JzaGlwLCBhcyBpbiB0aGUgY2FzZSBvZiBJUCBiYXNlZCBjZW5zb3JzaGlwLCB3aGljaCBh ZmZlY3RzIHByb3RvY29scyBsaWtlIEhUVFAuIEZpbHRlcmluZyBjYW4gYmUgbWFkZSBhcHBhcmVu dCBieSB0aGUgdXNlIG9mIHN0YXR1cyBjb2RlIDQ1MSDigJMgd2hpY2ggYWxsb3dzIHNlcnZlciBv cGVyYXRvcnMgdG8gb3BlcmF0ZSB3aXRoIGdyZWF0ZXIgdHJhbnNwYXJlbmN5IGluIGNpcmN1bXN0 YW5jZXMgd2hlcmUgaXNzdWVzIG9mIGxhdyBvciBwdWJsaWMgcG9saWN5IGFmZmVjdCB0aGVpciBv cGVyYXRpb24gPHhyZWYgdGFyZ2V0PSJCcmF5Ii8+LjwvdD4KCjx0PkltcGFjdHM6Ci0gUmlnaHQg dG8gZnJlZWRvbSBvZiBleHByZXNzaW9uCi0gUmlnaHQgdG8gcG9saXRpY2FsIHBhcnRpY2lwYXRp b24KLSBSaWdodCB0byBwYXJ0aWNpcGF0ZSBpbiBjdWx0dXJhbCBsaWZlLCBhcnRzIGFuZCBzY2ll bmNlCi0gUmlnaHQgdG8gZnJlZWRvbSBvZiBhc3NlbWJseSBhbmQgYXNzb2NpYXRpb248L3Q+Cgo8 L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0ib3Blbi1zdGFuZGFyZHMiIHRpdGxlPSJPcGVuIFN0 YW5kYXJkcyI+Cjx0PklzIHlvdXIgcHJvdG9jb2wgZnVsbHkgZG9jdW1lbnRlZCBpbiBhIHdheSB0 aGF0IGl0IGNvdWxkIGJlIGVhc2lseSBpbXBsZW1lbnRlZCwgaW1wcm92ZWQsIGJ1aWxkIHVwb24g YW5kL29yIGZ1cnRoZXIgZGV2ZWxvcGVkLiBJcyB0aGVyZSBhbnkgcHJvcHJpZXRhcnkgY29kZSBu ZWVkZWQgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiwgcnVubmluZyBvciBmdXJ0aGVyIGRldmVsb3Bt ZW50IG9mIHlvdXIgcHJvdG9jb2w/PC90PgoKPHQ+SW1wYWN0czo8L3Q+Cgo8dD48bGlzdCBzdHls ZT0ic3ltYm9scyI+CiAgPHQ+UmlnaHQgdG8gZnJlZWRvbSBvZiBleHByZXNzaW9uPC90PgogIDx0 PlJpZ2h0IHRvIHBhcnRpY2lwYXRlIGluIGN1bHR1cmFsIGxpZmUsIGFydHMgYW5kIHNjaWVuY2U8 L3Q+CjwvbGlzdD48L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0iaGV0ZXJvZ2VuZWl0 eS1zdXBwb3J0IiB0aXRsZT0iSGV0ZXJvZ2VuZWl0eSBTdXBwb3J0Ij4KPHQ+UXVlc3Rpb24ocyk6 CkRvZXMgeW91ciBwcm90b2NvbCBzdXBwb3J0IGhldGVyb2dlbmVpdHkgYnkgZGVzaWduPyBEb2Vz IHlvdXIgcHJvdG9jb2wgYWxsb3cgZm9yIG11bHRpcGxlIHR5cGVzIG9mIGhhcmR3YXJlPyBEb2Vz IHlvdXIgcHJvdG9jb2wgYWxsb3cgZm9yIG11bHRpcGxlIHR5cGVzIG9mIGFwcGxpY2F0aW9uIHBy b3RvY29scz88L3Q+Cgo8dD5FeHBsYW5hdGlvbjoKVGhlIEludGVybmV0IGlzIGNoYXJhY3Rlcml6 ZWQgYnkgaGV0ZXJvZ2VuZWl0eSBvbiBtYW55IGxldmVsczogZGV2aWNlcyBhbmQgbm9kZXMsIHJv dXRlciBzY2hlZHVsaW5nIGFsZ29yaXRobXMgYW5kIHF1ZXVlIG1hbmFnZW1lbnQgbWVjaGFuaXNt cywgcm91dGluZyBwcm90b2NvbHMsIGxldmVscyBvZiBtdWx0aXBsZXhpbmcsIHByb3RvY29sIHZl cnNpb25zIGFuZCBpbXBsZW1lbnRhdGlvbnMsIHVuZGVybHlpbmcgbGluayBsYXllcnMgKGUuZy4s IHBvaW50LXRvLXBvaW50LCBtdWx0aS1hY2Nlc3MgbGlua3MsIHdpcmVsZXNzLCBGRERJLCBldGMu KSwgaW4gdGhlIHRyYWZmaWMgbWl4IGFuZCBpbiB0aGUgbGV2ZWxzIG9mIGNvbmdlc3Rpb24gYXQg ZGlmZmVyZW50IHRpbWVzIGFuZCBwbGFjZXMuIE1vcmVvdmVyLCBhcyB0aGUgSW50ZXJuZXQgaXMg Y29tcG9zZWQgb2YgYXV0b25vbW91cyBvcmdhbml6YXRpb25zIGFuZCBJbnRlcm5ldCBzZXJ2aWNl IHByb3ZpZGVycywgZWFjaCB3aXRoIHRoZWlyIG93biBzZXBhcmF0ZSBwb2xpY3kgY29uY2VybnMs IHRoZXJlIGlzIGEgbGFyZ2UgaGV0ZXJvZ2VuZWl0eSBvZiBhZG1pbmlzdHJhdGl2ZSBkb21haW5z IGFuZCBwcmljaW5nIHN0cnVjdHVyZXMuIEFzIGEgcmVzdWx0LCB0aGUgaGV0ZXJvZ2VuZWl0eSBw cmluY2lwbGUgcHJvcG9zZWQgaW4gPHhyZWYgdGFyZ2V0PSJSRkMxOTU4Ii8+IG5lZWRzIHRvIGJl IHN1cHBvcnRlZCBieSBkZXNpZ24gPHhyZWYgdGFyZ2V0PSJGSUFyY2giLz4uPC90PgoKPHQ+RXhh bXBsZToKSGV0ZXJvZ2VuZWl0eSBpcyBpbmV2aXRhYmxlIGFuZCBuZWVkcyBiZSBzdXBwb3J0ZWQg YnkgZGVzaWduLiBNdWx0aXBsZSB0eXBlcyBvZiBoYXJkd2FyZSBtdXN0IGJlIGFsbG93ZWQgZm9y LCBlLmcuIHRyYW5zbWlzc2lvbiBzcGVlZHMgZGlmZmVyaW5nIGJ5IGF0IGxlYXN0IDcgb3JkZXJz IG9mIG1hZ25pdHVkZSwgdmFyaW91cyBjb21wdXRlciB3b3JkIGxlbmd0aHMsIGFuZCBob3N0cyBy YW5naW5nIGZyb20gbWVtb3J5LXN0YXJ2ZWQgbWljcm9wcm9jZXNzb3JzIHVwIHRvIG1hc3NpdmVs eSBwYXJhbGxlbCBzdXBlcmNvbXB1dGVycy4gTXVsdGlwbGUgdHlwZXMgb2YgICAgYXBwbGljYXRp b24gcHJvdG9jb2wgbXVzdCBiZSBhbGxvd2VkIGZvciwgcmFuZ2luZyBmcm9tIHRoZSBzaW1wbGVz dCBzdWNoIGFzIHJlbW90ZSBsb2dpbiB1cCB0byB0aGUgbW9zdCBjb21wbGV4IHN1Y2ggYXMgZGlz dHJpYnV0ZWQgZGF0YWJhc2VzIDx4cmVmIHRhcmdldD0iUkZDMTk1OCIvPi48L3Q+Cgo8dD5JbXBh Y3RzOgotIFJpZ2h0IHRvIGZyZWVkb20gb2YgZXhwcmVzc2lvbjwvdD4KCjwvc2VjdGlvbj4KPHNl Y3Rpb24gYW5jaG9yPSJhbm9ueW1pdHkiIHRpdGxlPSJBbm9ueW1pdHkiPgo8dD5RdWVzdGlvbihz KToKRGlkIHlvdSBoYXZlIGEgbG9vayBhdCB0aGUgUHJpdmFjeSBDb25zaWRlcmF0aW9ucyBmb3Ig SW50ZXJuZXQgUHJvdG9jb2xzIDx4cmVmIHRhcmdldD0iUkZDNjk3MyIvPiwgZXNwZWNpYWxseSBz ZWN0aW9uIDYuMS4xID88L3Q+Cgo8dD5FeHBsYW5hdGlvbjoKQW5vbnltaXR5IHJlZmVycyB0byB0 aGUgY29uZGl0aW9uIG9mIGFuIGlkZW50aXR5IGJlaW5nIHVua25vd24gb3IgY29uY2VhbGVkIDx4 cmVmIHRhcmdldD0iUkZDNDk0OSIvPi4gSXQgaXMgYW4gaW1wb3J0YW50IGZlYXR1cmUgZm9yIG1h bnkgZW5kLXVzZXJzLCBhcyBpdCBhbGxvd3MgdGhlbSBkaWZmZXJlbnQgZGVncmVlcyBvZiBwcml2 YWN5IG9ubGluZS48L3Q+Cgo8dD5FeGFtcGxlOgpPZnRlbiBzdGFuZGFyZHMgZXhwb3NlIHByaXZh dGUgaW5mb3JtYXRpb24sIGl0IGlzIGltcG9ydGFudCB0byBjb25zaWRlciB3YXlzIHRvIG1pdGln YXRlIHRoZSBvYnZpb3VzIHByaXZhY3kgaW1wYWN0cy4gRm9yIGluc3RhbmNlLCBhIGZlYXR1cmUg d2hpY2ggdXNlcyBkZWVwIHBhY2tldCBpbnNwZWN0aW9uIG9yIGdlb2xvY2F0aW9uIGRhdGEgY291 bGQgcmVmdXNlIHRvIG9wZW4gdGhpcyBkYXRhIHRvIHRoaXJkIHBhcnRpZXMsIHRoYXQgbWlnaHQg YmUgYWJsZSB0byBjb25uZWN0IHRoZSBkYXRhIHRvIGEgcGh5c2ljYWwgcGVyc29uLjwvdD4KCjx0 PkltcGFjdHM6Ci0gUmlnaHQgdG8gbm9uLWRpc2NyaW1pbmF0aW9uCi0gUmlnaHQgdG8gcG9saXRp Y2FsIHBhcnRpY2lwYXRpb24KLSBSaWdodCB0byBmcmVlZG9tIG9mIGFzc2VtYmx5IGFuZCBhc3Nv Y2lhdGlvbgotIFJpZ2h0IHRvIHNlY3VyaXR5PC90PgoKPC9zZWN0aW9uPgo8c2VjdGlvbiBhbmNo b3I9InBzZXVkb255bWl0eSIgdGl0bGU9IlBzZXVkb255bWl0eSI+Cjx0PlF1ZXN0aW9uKHMpOgpI YXZlIHlvdSBjb25zaWRlcmVkIHRoZSBQcml2YWN5IENvbnNpZGVyYXRpb25zIGZvciBJbnRlcm5l dCBQcm90b2NvbHMgPHhyZWYgdGFyZ2V0PSJSRkM2OTczIi8+LCBlc3BlY2lhbGx5IHNlY3Rpb24g Ni4xLjIgPyBEb2VzIHRoaXMgc3BlY2lmaWNhdGlvbiBjb2xsZWN0IHBlcnNvbmFsbHkgZGVyaXZl ZCBkYXRhPyBEb2VzIHRoZSBzdGFuZGFyZCB1dGlsaXplIGRhdGEgdGhhdCBpcyBwZXJzb25hbGx5 LWRlcml2ZWQsIGkuZS4gZGVyaXZlZCBmcm9tIHRoZSBpbnRlcmFjdGlvbiBvZiBhIHNpbmdsZSBw ZXJzb24sIG9yIHRoZWlyIGRldmljZSBvciBhZGRyZXNzPyBEb2VzIHRoaXMgc3BlY2lmaWNhdGlv biBnZW5lcmF0ZSBwZXJzb25hbGx5IGRlcml2ZWQgZGF0YSwgYW5kIGlmIHNvIGhvdyB3aWxsIHRo YXQgZGF0YSBiZSBoYW5kbGVkPzwvdD4KCjx0PkV4cGxhbmF0aW9uOgpQc2V1ZG9ueW1pdHkg4oCT IHRoZSBhYmlsaXR5IHRvIGRpc2d1aXNlIG9uZeKAmXMgaWRlbnRpdHkgb25saW5lIOKAkyBpcyBh biBpbXBvcnRhbnQgZmVhdHVyZSBmb3IgbWFueSBlbmQtdXNlcnMsIGFzIGl0IGFsbG93cyB0aGVt IGRpZmZlcmVudCBkZWdyZWVzIG9mIGFub255bWl0eSBhbmQgcHJpdmFjeSBvbmxpbmUuPC90PgoK PHQ+RXhhbXBsZToKRGVzaWduaW5nIGEgc3RhbmRhcmQgdGhhdCBleHBvc2VzIHByaXZhdGUgaW5m b3JtYXRpb24gdG8gPz8sIGl0IGlzIGltcG9ydGFudCB0byBjb25zaWRlciB3YXlzIHRvIG1pdGln YXRlIHRoZSBvYnZpb3VzIGltcGFjdHMuIEZvciBpbnN0YW5jZSwgYSBmZWF0dXJlIHdoaWNoIHVz ZXMgZGVlcCBwYWNrZXQgaW5zcGVjdGlvbiBvciBnZW9sb2NhdGlvbiBkYXRhIGNvdWxkIHJlZnVz ZSB0byBvcGVuIHRoaXMgZGF0YSB0byB0aGlyZCBwYXJ0aWVzLCB0aGF0IG1pZ2h0IGJlIGFibGUg dG8gY29ubmVjdCB0aGUgZGF0YSB0byBhIHBoeXNpY2FsIHBlcnNvbi48L3Q+Cgo8dD5JbXBhY3Rz OjwvdD4KCjx0PjxsaXN0IHN0eWxlPSJzeW1ib2xzIj4KICA8dD5SaWdodCB0byBub24tZGlzY3Jp bWluYXRpb248L3Q+CiAgPHQ+UmlnaHQgdG8gZnJlZWRvbSBvZiBhc3NlbWJseSBhbmQgYXNzb2Np YXRpb248L3Q+CjwvbGlzdD48L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0iYWNjZXNz aWJpbGl0eSIgdGl0bGU9IkFjY2Vzc2liaWxpdHkiPgoKPHQ+UXVlc3Rpb24ocyk6CklzIHlvdXIg cHJvdG9jb2wgZGVzaWduZWQgdG8gcHJvdmlkZSBhbiBlbmFibGluZyBlbnZpcm9ubWVudCBmb3Ig cGVvcGxlIHdobyBhcmUgbm90IGFibGUtYm9kaWVkPyBIYXZlIHlvdSBsb29rZWQgYXQgdGhlIFcz QyBXZWIgQWNjZXNzaWJpbGl0eSBJbml0aWF0aXZlIGZvciBleGFtcGxlcyBhbmQgZ3VpZGFuY2U/ IElzIHlvdXIgcHJvdG9jb2wgb3B0aW1pemVkIGZvciBsb3cgYmFuZHdpZHRoIGFuZCBoaWdoIGxh dGVuY3kgY29ubmVjdGlvbnM/IENvdWxkIHlvdXIgcHJvdG9jb2wgYWxzbyBiZSBkZXZlbG9wZWQg aW4gYSBzdGF0ZWxlc3MgbWFubmVyPzwvdD4KCjx0PkV4cGxhbmF0aW9uOgpUaGUgSW50ZXJuZXQg aXMgZnVuZGFtZW50YWxseSBkZXNpZ25lZCB0byB3b3JrIGZvciBhbGwgcGVvcGxlLCB3aGF0ZXZl ciB0aGVpciBoYXJkd2FyZSwgc29mdHdhcmUsIGxhbmd1YWdlLCBjdWx0dXJlLCBsb2NhdGlvbiwg b3IgcGh5c2ljYWwgb3IgbWVudGFsIGFiaWxpdHkuIFdoZW4gdGhlIEludGVybmV0IG1lZXRzIHRo aXMgZ29hbCwgaXQgaXMgYWNjZXNzaWJsZSB0byBwZW9wbGUgd2l0aCBhIGRpdmVyc2UgcmFuZ2Ug b2YgaGVhcmluZywgbW92ZW1lbnQsIHNpZ2h0LCBhbmQgY29nbml0aXZlIGFiaWxpdHkgPHhyZWYg dGFyZ2V0PSJXM0NBY2Nlc3NpYmlsaXR5Ii8+LiBTb21ldGltZXMgaW4gdGhlIGRlc2lnbiBvZiBw cm90b2NvbHMsIHdlYnNpdGVzLCB3ZWIgdGVjaG5vbG9naWVzLCBvciB3ZWIgdG9vbHMsIGJhcnJp ZXJzIGFyZSBjcmVhdGVkIHRoYXQgZXhjbHVkZSBwZW9wbGUgZnJvbSB1c2luZyB0aGUgV2ViLjwv dD4KCjx0PkV4YW1wbGU6ClRoZSBIVE1MIHByb3RvY29sIGFzIGRlZmluZWQgaW4gPHhyZWYgdGFy Z2V0PSJSRkMxODY2Ii8+IHNwZWNpZmljYWxseSByZXF1aXJlcyB0aGF0IGV2ZXJ5IGltYWdlIG11 c3QgaGF2ZSBhbiBhbHQgYXR0cmlidXRlICh3aXRoIGEgZmV3IGV4Y2VwdGlvbnMgZm9yIEhUTUw1 KSB0byBlbnN1cmUgaW1hZ2VzIGFyZSBhY2Nlc3NpYmxlIGZvciBwZW9wbGUgdGhhdCBjYW5ub3Qg dGhlbXNlbHZlcyBkZWNpcGhlciBub24tdGV4dCBjb250ZW50IGluIHdlYiBwYWdlcy48L3Q+Cgo8 dD5JbXBhY3RzOgotIFJpZ2h0IHRvIG5vbi1kaXNjcmltaW5hdGlvbgotIFJpZ2h0IHRvIGZyZWVk b20gb2YgYXNzZW1ibHkgYW5kIGFzc29jaWF0aW9uCi0gUmlnaHQgdG8gZWR1Y2F0aW9uCi0gUmln aHQgdG8gcG9saXRpY2FsIHBhcnRpY2lwYXRpb248L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFu Y2hvcj0ibG9jYWxpemF0aW9uIiB0aXRsZT0iTG9jYWxpemF0aW9uIj4KCjx0PlF1ZXN0aW9uKHMp OgpEb2VzIHlvdXIgcHJvdG9jb2wgdXBob2xkIHRoZSBzdGFuZGFyZHMgb2YgaW50ZXJuYXRpb25h bGl6YXRpb24/IEhhdmUgbWFkZSBhbnkgY29uY3JldGUgIHN0ZXBzIHRvd2FyZHMgbG9jYWxpemlu ZyB5b3VyIHByb3RvY29sIGZvciByZWxldmFudCBhdWRpZW5jZXM/PC90PgoKPHQ+RXhwbGFuYXRp b246CkxvY2FsaXphdGlvbiByZWZlcnMgdG8gdGhlIGFkYXB0YXRpb24gb2YgYSBwcm9kdWN0LCBh cHBsaWNhdGlvbiBvciBkb2N1bWVudCBjb250ZW50IHRvIG1lZXQgdGhlIGxhbmd1YWdlLCBjdWx0 dXJhbCBhbmQgb3RoZXIgcmVxdWlyZW1lbnRzIG9mIGEgc3BlY2lmaWMgdGFyZ2V0IG1hcmtldCAo YSBsb2NhbGUpIDx4cmVmIHRhcmdldD0iVzNDaTE4bkRlZiIvPi4gSXQgaXMgYWxzbyBkZXNjcmli ZWQgYXMgdGhlIHByYWN0aWNlIG9mIHRyYW5zbGF0aW5nIGFuIGltcGxlbWVudGF0aW9uIHRvIG1h a2UgaXQgZnVuY3Rpb25hbCBpbiBhIHNwZWNpZmljIGxhbmd1YWdlIG9yIGZvciB1c2VycyBpbiBh IHNwZWNpZmljIGxvY2FsZSAoc2VlIEludGVybmF0aW9uYWxpemF0aW9uKS48L3Q+Cgo8dD5FeGFt cGxlOgpUaGUgSW50ZXJuZXQgaXMgYSBnbG9iYWwgbWVkaXVtLCBidXQgbWFueSBvZiBpdHMgcHJv dG9jb2xzIGFuZCBwcm9kdWN0cyBhcmUgZGV2ZWxvcGVkIHdpdGggYSBjZXJ0YWluIGF1ZGllbmNl IGluIG1pbmQsIHRoYXQgb2Z0ZW4gc2hhcmUgcGFydGljdWxhciBjaGFyYWN0ZXJpc3RpY3MgbGlr ZSBrbm93aW5nIGhvdyB0byByZWFkIGFuZCB3cml0ZSBpbiBBU0NJSSBhbmQga25vd2luZyBFbmds aXNoLiBUaGlzIGxpbWl0cyB0aGUgYWJpbGl0eSBvZiBhIGxhcmdlIHBhcnQgb2YgdGhlIHdvcmxk 4oCZcyBvbmxpbmUgcG9wdWxhdGlvbiBmcm9tIHVzaW5nIHRoZSBJbnRlcm5ldCBpbiBhIHdheSB0 aGF0IGlzIGN1bHR1cmFsbHkgYW5kIGxpbmd1aXN0aWNhbGx5IGFjY2Vzc2libGUuIEFuIGV4YW1w bGUgb2YgYSBwcm90b2NvbCB0aGF0IGhhcyB0YWtlbiBpbnRvIGFjY291bnQgdGhlIHZpZXcgdGhh dCBpbmRpdmlkdWFscyBsaWtlIHRvIGhhdmUgYWNjZXNzIHRvIGRhdGEgaW4gdGhlaXIgbmF0aXZl IGxhbmd1YWdlIGNhbiBiZSBmb3VuZCBpbiA8eHJlZiB0YXJnZXQ9IlJGQzE3NjYiLz4uIFRoaXMg cHJvdG9jb2wgbGFiZWxzIHRoZSBpbmZvcm1hdGlvbiBjb250ZW50IHdpdGggYW4gaWRlbnRpZmll ciBmb3IgdGhlIGxhbmd1YWdlIGluIHdoaWNoIGl0IGlzIHdyaXR0ZW4uIEFuZCB0aGlzIGFsbG93 cyBpbmZvcm1hdGlvbiB0byBiZSBwcmVzZW50ZWQgaW4gbW9yZSB0aGFuIG9uZSBsYW5ndWFnZS48 L3Q+Cgo8dD5JbXBhY3RzOgotIFJpZ2h0IHRvIG5vbi1kaXNjcmltaW5hdGlvbgotIFJpZ2h0IHRv IHBhcnRpY2lwYXRlIGluIGN1bHR1cmFsIGxpZmUsIGFydHMgYW5kIHNjaWVuY2UKLSBSaWdodCB0 byBGcmVlZG9tIG9mIEV4cHJlc3Npb248L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0i ZGVjZW50cmFsaXphdGlvbiIgdGl0bGU9IkRlY2VudHJhbGl6YXRpb24iPgo8dD5RdWVzdGlvbihz KToKQ2FuIHlvdXIgcHJvdG9jb2wgYmUgaW1wbGVtZW50ZWQgd2l0aG91dCBvbmUgc2luZ2xlIHBv aW50IG9mIGNvbnRyb2w/IElmIGFwcGxpY2FibGUsIGNhbiB5b3VyIHByb3RvY29sIGJlIGRlcGxv eWVkIGluIGEgZmVkZXJhdGVkIG1hbm5lcj8gV2hhdCBpcyB0aGUgcG90ZW50aWFsIGZvciBkaXNj cmltaW5hdGlvbiBhZ2FpbnN0IHVzZXJzIG9mIHlvdXIgcHJvdG9jb2w/IEhvdyBjYW4gdXNlIG9m ICB5b3VyIHByb3RvY29sIGJlIHVzZWQgdG8gaW1wbGljYXRlIHVzZXJzPyBEb2VzIHlvdXIgcHJv dG9jb2wgY3JlYXRlIGFkZGl0aW9uYWwgY2VudHJhbGl6ZWQgcG9pbnRzIG9mIGNvbnRyb2w/PC90 PgoKPHQ+RXhwbGFuYXRpb246CkRlY2VudHJhbGl6YXRpb24gaXMgb25lIG9mIHRoZSBjZW50cmFs IHRlY2huaWNhbCBjb25jZXB0cyBvZiB0aGUgYXJjaGl0ZWN0dXJlLCBhbmQgZW1icmFjZWQgYXMg c3VjaCBieSB0aGUgSUVURiA8eHJlZiB0YXJnZXQ9IlJGQzM5MzUiLz4uIEl0IHJlZmVycyB0byB0 aGUgYWJzZW5jZSBvciBtaW5pbWl6YXRpb24gb2YgY2VudHJhbGl6ZWQgcG9pbnRzIG9mIGNvbnRy b2wg4oCTIGEgZmVhdHVyZSB0aGF0IGlzIGFzc3VtZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBuZXcg dXNlcnMgdG8gam9pbiBhbmQgbmV3IHVzZXMgdG8gdW5mb2xkIHt7QnJvd259LiBJdCBhbHNvIHJl ZHVjZXMgaXNzdWVzIHN1cnJvdW5kaW5nIHNpbmdsZSBwb2ludHMgb2YgZmFpbHVyZSwgYW5kIGRp c3RyaWJ1dGVzIHRoZSBuZXR3b3JrIHN1Y2ggdGhhdCBpdCBjb250aW51ZXMgdG8gZnVuY3Rpb24g aWYgb25lIG9yIHNldmVyYWwgbm9kZXMgYXJlIGRpc2FibGVkLiBXaXRoIHRoZSBjb21tZXJjaWFs aXphdGlvbiBvZiB0aGUgSW50ZXJuZXQgaW4gdGhlIGVhcmx5IDE5OTDigJlzIHRoZXJlIGhhcyBi ZWVuIGEgc2xvdyBtb3ZlIHRvIG1vdmUgYXdheSBmcm9tIGRlY2VudHJhbGl6YXRpb24sIHRvIHRo ZSBkZXRyaW1lbnQgb2YgdGhlIHRlY2huaWNhbCBiZW5lZml0cyBvZiBoYXZpbmcgYSBkZWNlbnRy YWxpemVkIEludGVybmV0LjwvdD4KCjx0PkV4YW1wbGU6ClRoZSBiaXRzIHRyYXZlbGluZyB0aGUg SW50ZXJuZXQgYXJlIGluY3JlYXNpbmdseSBzdXNjZXB0aWJsZSB0byBtb25pdG9yaW5nIGFuZCBj ZW5zb3JzaGlwLCBmcm9tIGJvdGggZ292ZXJubWVudHMgYW5kIEludGVybmV0IHNlcnZpY2UgcHJv dmlkZXJzLCBhcyB3ZWxsIGFzIHRoaXJkIChtYWxpY2lvdXMpIHBhcnRpZXMuIFRoZSBhYmlsaXR5 IHRvIG1vbml0b3IgYW5kIGNlbnNvciBpcyBmdXJ0aGVyIGVuYWJsZWQgYnkgdGhlIGluY3JlYXNl ZCBjZW50cmFsaXphdGlvbiBvZiB0aGUgbmV0d29yayB0aGF0IGNyZWF0ZXMgY2VudHJhbCBpbmZy YXN0cnVjdHVyZSBwb2ludHMgdGhhdCBjYW4gYmUgdGFwcGVkIGluIHRvLiBUaGUgY3JlYXRpb24g b2YgcGVlci10by1wZWVyIG5ldHdvcmtzIGFuZCB0aGUgZGV2ZWxvcG1lbnQgb2Ygdm9pY2Utb3Zl ci1JUCBwcm90b2NvbHMgdXNpbmcgcGVlci10by1wZWVyIHRlY2hub2xvZ3kgaW4gY29tYmluYXRp b24gd2l0aCBkaXN0cmlidXRlZCBoYXNoIHRhYmxlIChESFQpIGZvciBzY2FsYWJpbGl0eSBhcmUg ZXhhbXBsZXMgb2YgaG93IHByb3RvY29scyBjYW4gcHJlc2VydmUgZGVjZW50cmFsaXphdGlvbiA8 eHJlZiB0YXJnZXQ9IlBvdXdlbHNlIi8+LjwvdD4KCjx0PkltcGFjdHM6Ci0gUmlnaHQgdG8gZnJl ZWRvbSBvZiBhc3NlbWJseSBhbmQgYXNzb2NpYXRpb248L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9u IGFuY2hvcj0icmVsaWFiaWxpdHkiIHRpdGxlPSJSZWxpYWJpbGl0eSI+Cgo8dD5RdWVzdGlvbihz KToKSXMgeW91ciBwcm90b2NvbCBmYXVsdCB0b2xlcmFudD8gRG9lcyBpdCBkZWdyYWRlIGdyYWNl ZnVsbHk/IERvIHlvdSBoYXZlIGEgZG9jdW1lbnRlZCB3YXkgdG8gYW5ub3VuY2UgZGVncmFkYXRp b24/IERvIHlvdSBoYXZlIG1lYXN1cmVzIGluIHBsYWNlIGZvciByZWNvdmVyeSBvciBwYXJ0aWFs IGhlYWxpbmcgZnJvbSBmYWlsdXJlPyBDYW4geW91ciBwcm90b2NvbCBtYWludGFpbiBkZXBlbmRh YmlsaXR5IGFuZCBwZXJmb3JtYW5jZSBpbiB0aGUgZmFjZSBvZiB1bmFudGljaXBhdGVkIGNoYW5n ZXMgb3IgY2lyY3Vtc3RhbmNlcz88L3Q+Cgo8dD5FeHBsYW5hdGlvbjoKUmVsaWFiaWxpdHkgZW5z dXJlcyB0aGF0IGEgcHJvdG9jb2wgd2lsbCBleGVjdXRlIGl0cyBmdW5jdGlvbiBjb25zaXN0ZW50 bHkgYW5kIGVycm9yIHJlc2lzdGFudCBhcyBkZXNjcmliZWQsIGFuZCBmdW5jdGlvbiB3aXRob3V0 IHVuZXhwZWN0ZWQgcmVzdWx0LiBBIHN5c3RlbSB0aGF0IGlzIHJlbGlhYmxlIGRlZ2VuZXJhdGVz IGdyYWNlZnVsbHkgYW5kIHdpbGwgaGF2ZSBhIGRvY3VtZW50ZWQgd2F5IHRvIGFubm91bmNlIGRl Z3JhZGF0aW9uLiAgSXQgYWxzbyBoYXMgbWVjaGFuaXNtcyB0byByZWNvdmVyIGZyb20gZmFpbHVy ZSBncmFjZWZ1bGx5LCBhbmQgaWYgYXBwbGljYWJsZSwgYWxsb3cgZm9yIHBhcnRpYWwgaGVhbGlu Zy4gQXMgd2l0aCBjb25maWRlbnRpYWxpdHksIHRoZSBncm93dGggb2YgdGhlIEludGVybmV0IGFu ZCBmb3N0ZXJpbmcgaW5ub3ZhdGlvbiBpbiBzZXJ2aWNlcyBkZXBlbmRzIG9uIHVzZXJzIGhhdmlu ZyBjb25maWRlbmNlIGFuZCB0cnVzdCA8eHJlZiB0YXJnZXQ9IlJGQzM3MjQiLz4gaW4gdGhlIG5l dHdvcmsuIEZvciByZWxpYWJpbGl0eSBpdCBpcyBuZWNlc3NhcnkgdGhhdCBzZXJ2aWNlcyBub3Rp ZnkgdGhlIHVzZXJzIGlmIGEgZGVsaXZlcnkgZmFpbHMuIEluIHRoZSBjYXNlIG9mIHJlYWwtdGlt ZSBzeXN0ZW1zIGluIGFkZGl0aW9uIHRvIHRoZSByZWxpYWJsZSBkZWxpdmVyeSB0aGUgcHJvdG9j b2wgbmVlZHMgdG8gc2FmZWd1YXJkIHRpbWVsaW5lc3MuPC90PgoKPHQ+RXhhbXBsZToKSW4gdGhl IG1vZGVybiBJUCBzdGFjayBzdHJ1Y3R1cmUsIGEgcmVsaWFibGUgdHJhbnNwb3J0IGxheWVyIHJl cXVpcmVzIGFuIGluZGljYXRpb24gdGhhdCB0cmFuc3BvcnQgcHJvY2Vzc2luZyBoYXMgc3VjY2Vz c2Z1bGx5IGNvbXBsZXRlZCwgc3VjaCBhcyBnaXZlbiBieSBUQ1DigJlzIEFDSyBtZXNzYWdlIDx4 cmVmIHRhcmdldD0iUkZDMDc5MyIvPiwgYW5kIG5vdCBzaW1wbHkgYW4gaW5kaWNhdGlvbiBmcm9t IHRoZSBJUCBsYXllciB0aGF0IHRoZSBwYWNrZXQgYXJyaXZlZC4gIFNpbWlsYXJseSwgYW4gYXBw bGljYXRpb24gbGF5ZXIgcHJvdG9jb2wgbWF5IHJlcXVpcmUgYW4gYXBwbGljYXRpb24tc3BlY2lm aWMgYWNrbm93bGVkZ2VtZW50IHRoYXQgY29udGFpbnMsIGFtb25nIG90aGVyIHRoaW5ncywgYSBz dGF0dXMgY29kZSBpbmRpY2F0aW5nIHRoZSBkaXNwb3NpdGlvbiBvZiB0aGUgcmVxdWVzdCAoU2Vl IDx4cmVmIHRhcmdldD0iUkZDMzcyNCIvPikuPC90PgoKPHQ+SW1wYWN0czoKLSBSaWdodCB0byBz ZWN1cml0eTwvdD4KCjwvc2VjdGlvbj4KPHNlY3Rpb24gYW5jaG9yPSJjb25maWRlbnRpYWxpdHki IHRpdGxlPSJDb25maWRlbnRpYWxpdHkiPgoKPHQ+UXVlc3Rpb24ocyk6CkRvZXMgdGhpcyBwcm90 b2NvbCBleHBvc2UgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBpZGVudGlmaWVycyBvciBkYXRhPyBJ ZiBzbywgZG9lcyBpdCBkbyBzbyB0byBlYWNoIG90aGVyIHByb3RvY29sIGVudGl0eSAoaS5lLiwg cmVjaXBpZW50cywgaW50ZXJtZWRpYXJpZXMsIGFuZCBlbmFibGVycykgPHhyZWYgdGFyZ2V0PSJS RkM2OTczIi8+PyBXaGF0IG9wdGlvbnMgZXhpc3QgZm9yIHByb3RvY29sIGltcGxlbWVudGVycyB0 byBjaG9vc2UgdG8gbGltaXQgdGhlIGluZm9ybWF0aW9uIHNoYXJlZCB3aXRoIGVhY2ggZW50aXR5 PyBXaGF0IG9wZXJhdGlvbmFsIGNvbnRyb2xzIGFyZSBhdmFpbGFibGUgdG8gbGltaXQgdGhlIGlu Zm9ybWF0aW9uIHNoYXJlZCB3aXRoIGVhY2ggZW50aXR5PzwvdD4KCjx0PldoYXQgY29udHJvbHMg b3IgY29uc2VudCBtZWNoYW5pc21zIGRvZXMgdGhlIHByb3RvY29sIGRlZmluZSBvciByZXF1aXJl IGJlZm9yZSBwZXJzb25hbCBkYXRhIG9yIGlkZW50aWZpZXJzIGFyZSBzaGFyZWQgb3IgZXhwb3Nl ZCB2aWEgdGhlIHByb3RvY29sPyAgSWYgbm8gc3VjaCBtZWNoYW5pc21zIG9yIGNvbnRyb2xzIGFy ZSBzcGVjaWZpZWQsIGlzIGl0IGV4cGVjdGVkIHRoYXQgY29udHJvbCBhbmQgY29uc2VudCB3aWxs IGJlIGhhbmRsZWQgb3V0c2lkZSBvZiB0aGUgcHJvdG9jb2w/PC90PgoKPHQ+RG9lcyB0aGUgcHJv dG9jb2wgcHJvdmlkZSB3YXlzIGZvciBpbml0aWF0b3JzIHRvIHNoYXJlIGRpZmZlcmVudCBwaWVj ZXMgb2YgaW5mb3JtYXRpb24gd2l0aCBkaWZmZXJlbnQgcmVjaXBpZW50cz8gIElmIG5vdCwgYXJl IHRoZXJlIG1lY2hhbmlzbXMgdGhhdCBleGlzdCBvdXRzaWRlIG9mIHRoZSBwcm90b2NvbCB0byBw cm92aWRlIGluaXRpYXRvcnMgd2l0aCBzdWNoIGNvbnRyb2w/PC90PgoKPHQ+RG9lcyB0aGUgcHJv dG9jb2wgcHJvdmlkZSB3YXlzIGZvciBpbml0aWF0b3JzIHRvIGxpbWl0IHdoaWNoIGluZm9ybWF0 aW9uIGlzIHNoYXJlZCB3aXRoIGludGVybWVkaWFyaWVzPyAgSWYgbm90LCBhcmUgdGhlcmUgbWVj aGFuaXNtcyB0aGF0IGV4aXN0IG91dHNpZGUgb2YgdGhlIHByb3RvY29sIHRvIHByb3ZpZGUgdXNl cnMgd2l0aCBzdWNoIGNvbnRyb2w/ICBJcyBpdCBleHBlY3RlZCB0aGF0IHVzZXJzIHdpbGwgaGF2 ZSByZWxhdGlvbnNoaXBzIHRoYXQgZ292ZXJuIHRoZSB1c2Ugb2YgdGhlIGluZm9ybWF0aW9uIChj b250cmFjdHVhbCBvciBvdGhlcndpc2UpIHdpdGggdGhvc2Ugd2hvIG9wZXJhdGUgdGhlc2UgaW50 ZXJtZWRpYXJpZXM/IERvZXMgdGhlIHByb3RvY29sIHByZWZlciBlbmNyeXB0aW9uIG92ZXIgY2xl YXIgdGV4dCBvcGVyYXRpb24/PC90PgoKPHQ+RG9lcyB0aGUgcHJvdG9jb2wgcHJvdmlkZSB3YXlz IGZvciBpbml0aWF0b3JzIHRvIGV4cHJlc3MgaW5kaXZpZHVhbHPigJkgcHJlZmVyZW5jZXMgdG8g cmVjaXBpZW50cyBvciBpbnRlcm1lZGlhcmllcyB3aXRoIHJlZ2FyZCB0byB0aGUgY29sbGVjdGlv biwgdXNlLCBvciBkaXNjbG9zdXJlIG9mIHRoZWlyIHBlcnNvbmFsIGRhdGE/PC90PgoKPHQ+RXhw bGFuYXRpb246CkNvbmZpZGVudGlhbGl0eSByZWZlcnMgdG8ga2VlcGluZyB5b3VyIGRhdGEgc2Vj cmV0IGZyb20gdW5pbnRlbmRlZCBsaXN0ZW5lcnMgPHhyZWYgdGFyZ2V0PSJSRkMzNTUyIi8+LiBU aGUgZ3Jvd3RoIG9mIHRoZSBJbnRlcm5ldCBkZXBlbmRzIG9uIHVzZXJzIGhhdmluZyBjb25maWRl bmNlIHRoYXQgdGhlIG5ldHdvcmsgcHJvdGVjdHMgdGhlaXIgcHJpdmF0ZSBpbmZvcm1hdGlvbiA8 eHJlZiB0YXJnZXQ9IlJGQzE5ODQiLz4uPC90PgoKPHQ+RXhhbXBsZToKUHJvdG9jb2xzIHRoYXQg ZG8gbm90IGVuY3J5cHQgdGhlaXIgcGF5bG9hZCBtYWtlIHRoZSBlbnRpcmUgY29udGVudCBvZiB0 aGUgY29tbXVuaWNhdGlvbiBhdmFpbGFibGUgdG8gdGhlIGlkZWFsaXplZCBhdHRhY2tlciBhbG9u ZyB0aGVpciBwYXRoLiBGb2xsb3dpbmcgdGhlIGFkdmljZSBpbiA8eHJlZiB0YXJnZXQ9IlJGQzMz NjUiLz4sIG1vc3Qgc3VjaCBwcm90b2NvbHMgaGF2ZSBhIHNlY3VyZSB2YXJpYW50IHRoYXQgZW5j cnlwdHMgdGhlIHBheWxvYWQgZm9yIGNvbmZpZGVudGlhbGl0eSwgYW5kIHRoZXNlIHNlY3VyZSB2 YXJpYW50cyBhcmUgc2VlaW5nIGV2ZXItd2lkZXIgZGVwbG95bWVudC4gQSBub3Rld29ydGh5IGV4 Y2VwdGlvbiBpcyBETlMgPHhyZWYgdGFyZ2V0PSJSRkMxMDM1Ii8+LCBhcyBETlNTRUMgPHhyZWYg dGFyZ2V0PSJSRkM0MDMzIi8+ZG9lcyBub3QgaGF2ZSBjb25maWRlbnRpYWxpdHkgYXMgYSByZXF1 aXJlbWVudC4gIFRoaXMgaW1wbGllcyB0aGF0LCBpbiB0aGUgYWJzZW5jZSBvZiBjaGFuZ2VzIHRv IHRoZSBwcm90b2NvbCBhcyBwcmVzZW50bHkgdW5kZXIgZGV2ZWxvcG1lbnQgaW4gdGhlIElFVEbi gJlzIEROUyBQcml2YXRlIEV4Y2hhbmdlICAgKERQUklWRSkgd29ya2luZyBncm91cCwgYWxsIERO UyBxdWVyaWVzIGFuZCBhbnN3ZXJzIGdlbmVyYXRlZCBieSB0aGUgYWN0aXZpdGllcyBvZiBhbnkg cHJvdG9jb2wgYXJlIGF2YWlsYWJsZSB0byB0aGUgYXR0YWNrZXIuICBXaGVuIHN0b3JlLWFuZC1m b3J3YXJkIHByb3RvY29scyBhcmUgdXNlZCAoZS5nLiwgU01UUCA8eHJlZiB0YXJnZXQ9IlJGQzUz MjEiLz4pLCBpbnRlcm1lZGlhcmllcyBsZWF2ZSB0aGlzIGRhdGEgc3ViamVjdCB0byBvYnNlcnZh dGlvbiBieSBhbiBhdHRhY2tlciB0aGF0IGhhcyBjb21wcm9taXNlZCB0aGVzZSBpbnRlcm1lZGlh cmllcywgdW5sZXNzIHRoZSBkYXRhIGlzICAgIGVuY3J5cHRlZCBlbmQtdG8tZW5kIGJ5IHRoZSBh cHBsaWNhdGlvbi1sYXllciBwcm90b2NvbCBvciB0aGUgaW1wbGVtZW50YXRpb24gdXNlcyBhbiBl bmNyeXB0ZWQgc3RvcmUgZm9yIHRoaXMgZGF0YSA8eHJlZiB0YXJnZXQ9IlJGQzc2MjQiLz4uPC90 PgoKPHQ+SW1wYWN0czo8L3Q+Cgo8dD48bGlzdCBzdHlsZT0ic3ltYm9scyI+CiAgPHQ+UmlnaHQg dG8gc2VjdXJpdHk8L3Q+CjwvbGlzdD48L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0i aW50ZWdyaXR5IiB0aXRsZT0iSW50ZWdyaXR5Ij4KPHQ+UXVlc3Rpb24ocyk6CkRvZXMgeW91ciBw cm90b2NvbCBtYWludGFpbiBhbmQgYXNzdXJlIHRoZSBhY2N1cmFjeSBvZiBkYXRhPyBEb2VzIHlv dXIgcHJvdG9jb2wgbWFpbnRhaW4gYW5kIGFzc3VyZSB0aGUgY29uc2lzdGVuY3kgb2YgZGF0YT8g RG9lcyB5b3VyIHByb3RvY29sIGluIGFueSB3YXkgYWxsb3cgZm9yIHRoZSBkYXRhIHRvIGJlIChp bnRlbnRpb25hbGx5IG9yIHVuaW50ZW50aW9uYWxseSkgYWx0ZXJlZD88L3Q+Cgo8dD5FeHBsYW5h dGlvbjoKSW50ZWdyaXR5IHJlZmVycyB0byB0aGUgbWFpbnRlbmFuY2UgYW5kIGFzc3VyYW5jZSBv ZiB0aGUgYWNjdXJhY3kgYW5kIGNvbnNpc3RlbmN5IG9mIGRhdGEgdG8gZW5zdXJlIGl0IGhhcyBu b3QgYmVlbiAoaW50ZW50aW9uYWxseSBvciB1bmludGVudGlvbmFsbHkpIGFsdGVyZWQuPC90PgoK PHQ+RXhhbXBsZToKU2VlIGF1dGhlbnRpY2l0eTwvdD4KCjx0PkltcGFjdHM6PC90PgoKPHQ+PGxp c3Qgc3R5bGU9InN5bWJvbHMiPgogIDx0PlJpZ2h0IHRvIHNlY3VyaXR5PC90Pgo8L2xpc3Q+PC90 PgoKPC9zZWN0aW9uPgo8c2VjdGlvbiBhbmNob3I9ImF1dGhlbnRpY2l0eSIgdGl0bGU9IkF1dGhl bnRpY2l0eSI+Cjx0PlF1ZXN0aW9uKHMpOgpEbyB5b3UgaGF2ZSBzdWZmaWNpZW50IG1lYXN1cmVz IHRvIGNvbmZpcm0gdGhlIHRydXRoIG9mIGFuIGF0dHJpYnV0ZSBvZiBhIHNpbmdsZSBwaWVjZSBv ZiBkYXRhIG9yIGVudGl0eT8gQ2FuIHRoZSBhdHRyaWJ1dGVzIGdldCBnYXJibGVkIGFsb25nIHRo ZSB3YXkgKHNlZSBzZWN1cml0eSk/IElmIHJlbGV2YW50IGhhdmUgeW91IGltcGxlbWVudGVkIElQ c2VjLCBETlNzZWMsIEhUVFBTIGFuZCBvdGhlciBTdGFuZGFyZCBTZWN1cml0eSBCZXN0IFByYWN0 aWNlcz88L3Q+Cgo8dD5FeHBsYW5hdGlvbjoKQXV0aGVudGljaXR5IGVuc3VyZXMgdGhhdCBkYXRh IGRvZXMgaW5kZWVkIGNvbWUgZnJvbSB0aGUgc291cmNlIGl0IGNsYWltcyB0byBjb21lIGZyb20u IFRoaXMgaXMgaW1wb3J0YW50IHRvIHByZXZlbnQgYXR0YWNrcyBvciB1bmF1dGhvcml6ZWQgYWNj ZXNzIGFuZCB1c2Ugb2YgZGF0YS48L3Q+Cgo8dD5FeGFtcGxlOgpBdXRoZW50aWNhdGlvbiBvZiBk YXRhIGlzIGltcG9ydGFudCB0byBwcmV2ZW50IHZ1bG5lcmFiaWxpdGllcyBhbmQgYXR0YWNrcywg bGlrZSBtYW4taW4tdGhlLW1pZGRsZS1hdHRhY2tzLiBUaGVzZSBhdHRhY2tzIGhhcHBlbiB3aGVu IGEgdGhpcmQgcGFydHkgKG9mdGVuIGZvciBtYWxpY2lvdXMgcmVhc29ucykgaW50ZXJjZXB0cyBh IGNvbW11bmljYXRpb24gYmV0d2VlbiB0d28gcGFydGllcywgaW5zZXJ0aW5nIHRoZW1zZWx2ZXMg aW4gdGhlIG1pZGRsZSBhbmQgcG9zaW5nIGFzIGJvdGggcGFydGllcy4gSW4gcHJhY3RpY2UgdGhp cyBsb29rcyBhcyBmb2xsb3dzOjwvdD4KCjx0PkFsaWNlIHdhbnRzIHRvIGNvbW11bmljYXRlIHdp dGggQm9iLgpBbGljZSBzZW5kcyBkYXRhIHRvIEJvYi4KTmllbHMgaW50ZXJjZXB0cyB0aGUgZGF0 YSBzZW50IHRvIEJvYi4KTmllbHMgcmVhZHMgYW5kIGFsdGVycyB0aGUgbWVzc2FnZSB0byBCb2Iu CkJvYiBjYW5ub3Qgc2VlIHRoZSBkYXRhIGRpZCBub3QgY29tZSBmcm9tIEFsaWNlIGJ1dCBmcm9t IE5pZWxzLgpOaWVscyBpbnRlcmNlcHRzIGFuZCBhbHRlcnMgdGhlIGNvbW11bmljYXRpb24gYXMg aXQgaXMgc2VudCBiZXR3ZWVuIEFsaWNlIGFuZCBCb2IuCk5pZWxzIGtub3dzIGFsbC48L3Q+Cgo8 dD5JbXBhY3RzOjwvdD4KCjx0PjxsaXN0IHN0eWxlPSJzeW1ib2xzIj4KICA8dD5SaWdodCB0byBz ZWN1cml0eTwvdD4KPC9saXN0PjwvdD4KCjwvc2VjdGlvbj4KPHNlY3Rpb24gYW5jaG9yPSJhY2Nl cHRhYmlsaXR5IiB0aXRsZT0iQWNjZXB0YWJpbGl0eSI+Cjx0PlF1ZXN0aW9uKHMpOgpEbyB5b3Vy IHByb3RvY29scyBmb2xsb3cgdGhlIHByaW5jaXBsZSBvZiBub24tZGlzY3JpbWluYXRpb24/IERv IHlvdXIgcHJvdG9jb2xzIGZvbGxvdyB0aGUgcHJpbmNpcGxlIG9mIGNvbnRlbnQgYWdub3N0aWNp c20/IERvZXMgeW91ciBwcm90b2NvbCB0YWtlIGludG8gYWNjb3VudCB0aGUgbmVlZHMgb2Ygc3Bl Y2lhbCBuZWVkcyAoSW50ZXJuZXQpIGdyb3VwcywgbGlrZSB0aGUgYXVkaW8tdmlzdWFsbHkgaW1w YWlyZWQ/ICBBbHNvIHNlZSBhdmFpbGFiaWxpdHkuPC90PgoKPHQ+RXhwbGFuYXRpb246ClRoZSBJ bnRlcm5ldCBpcyBhIGdsb2JhbCBtZWRpdW0uIFlldCwgdGhlcmUgY29udGludWUgdG8gYmUgaXNz dWVzIHN1cnJvdW5kaW5nIGFjY2VwdGFiaWxpdHkg4oCTIHRoZSBleHRlbnQgdG8gd2hpY2ggc3Rh bmRhcmRzIGFyZSBub24tZGlzY3JpbWluYXRvcnkgYW5kIHJlbGV2YW50IHRvIHRoZSB3aWRlc3Qg cmFuZ2Ugb2YgZW5kLXVzZXJzIOKAkyB0aGF0IG5lZWQgdG8gYmUgcmVzb2x2ZWQuIE1hbnkgc3Rh bmRhcmRzIGFyZSBub3Qgc3VpdGFibGUgZm9yIGVuZC11c2VycyB3aG8gYXJlIG5vdC1hYmxlYm9k aWVkLCBvciBvdGhlcndpc2UgcmVzdHJpY3RlZCBpbiB0aGVpciBhYmlsaXR5IHRvIGFjY2VzcyB0 aGUgSW50ZXJuZXQgaW4gaXRzIGN1cnJlbnQgZm9ybSAodGV4dCwgZGF0YSBhbmQgRW5nbGlzaCBo ZWF2eSkuIERldmVsb3BtZW50IG9mIG5ldyBzdGFuZGFyZHMgc2hvdWxkIGNvbnNpZGVyIHRoZSB3 YXlzIGluIHdoaWNoIHRoZXkgZXhjbHVkZSBvciBpbmNsdWRlIG5vbi10cmFkaXRpb25hbCB1c2Vy IGNvbW11bml0aWVzLjwvdD4KCjx0PkV4YW1wbGU6IERlc2lnbmluZyBhIGZlYXR1cmUgdGhhdCBj b3VsZCBtYWtlIGFjY2VzcyB0byB3ZWJzaXRlcyBmb3Igbm9uLWFibGUgYm9kaWVkIHBlb3BsZSBt b3JlIGRpZmZpY3VsdC48L3Q+Cgo8dD48bGlzdCBzdHlsZT0ic3ltYm9scyI+CiAgPHQ+UmlnaHQg dG8gZWR1Y2F0aW9uPC90PgogIDx0PlJpZ2h0IHRvIGZyZWVkb20gb2YgZXhwcmVzc2lvbjwvdD4K ICA8dD5SaWdodCB0byBmcmVlZG9tIG9mIGFzc2VtYmx5IGFuZCBhc3NvY2lhdGlvbjwvdD4KPC9s aXN0PjwvdD4KCjwvc2VjdGlvbj4KPHNlY3Rpb24gYW5jaG9yPSJhdmFpbGFiaWxpdHkiIHRpdGxl PSJBdmFpbGFiaWxpdHkiPgo8dD5RdWVzdGlvbihzKToKRG9lcyB5b3VyIHN0YW5kYXJkIGZhdm9y IHByb3ByaWV0YXJ5IHNwZWNpZmljYXRpb25zIG92ZXIgdGVjaG5pY2FsbHkgZXF1aXZhbGVudCBh bmQgY29tcGV0aW5nIHNwZWNpZmljYXRpb24ocykgYnkgbWFraW5nIGFueSBpbmNvcnBvcmF0ZWQg dmVuZG9yIHNwZWNpZmljYXRpb24g4oCccmVxdWlyZWTigJ0gb3Ig4oCccmVjb21tZW5kZWTigJ0g PHhyZWYgdGFyZ2V0PSJSRkMyMDI2Ii8+PyBEb2VzIHlvdXIgcHJvdG9jb2xzIHVzZSBwcm9wcmll dGFyeSBjb2RlPyBEb2VzIHlvdXIgcHJvdG9jb2wgZGVwZW5kIG9uIHByb3ByaWV0YXJ5IGNvZGU/ IEFsc28gc2VlIOKAmE9wZW4gU3RhbmRhcmRz4oCZIGFib3ZlLiBBbHNvIHNlZSDigJhDb25uZWN0 aXZpdHnigJkgYWJvdmUuPC90PgoKPHQ+RXhwbGFuYXRpb246CkFuIG9wZW4sIGJhbGFuY2VkIGFu ZCBjb29wZXJhdGl2ZSBhcHByb2FjaCB0byBkZXZlbG9waW5nIHRlY2hub2xvZ2ljYWwgc3RhbmRh cmRzIGlzIHZpdGFsIHRvIG1haW50YWluaW5nIHRoZSBJbnRlcm5ldCBvcGVuLCBhY2Nlc3NpYmxl IGFuZCBzZWN1cmUuIFRoaXMgd2lsbCBlbnN1cmUgdGhlIHN0YW5kYXJkcyBhcmUgb3BlbiBhbmQg bm90IHN1YmplY3QgdG8gcmVzdHJpY3RpdmUgY29udHJhY3QgdGVybXMgZnJvbSB0aGUgY29weXJp Z2h0IG93bmVycy4gQXZhaWxhYmlsaXR5IG9mIHN0YW5kYXJkcyBpcyBhIHByZXJlcXVpc2l0ZSB0 byB0aGUgY29udGludWVkIGdyb3d0aCBvZiB0aGUgSW50ZXJuZXQsIGFuZCBjcnVjaWFsIHRvIGNv bnRpbnVlZCB0ZWNobm9sb2dpY2FsIGlubm92YXRpb24gYWNyb3NzIHRoZSBnbG9iZS48L3Q+Cgo8 dD5FeGFtcGxlOgpTZWUgT3BlbiBTdGFuZGFyZHM8L3Q+Cgo8dD5JbXBhY3RzOjwvdD4KCjx0Pjxs aXN0IHN0eWxlPSJzeW1ib2xzIj4KICA8dD5SaWdodCB0byBlZHVjYXRpb248L3Q+CjwvbGlzdD48 L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0iYWRhcHRhYmlsaXR5IiB0aXRsZT0iQWRh cHRhYmlsaXR5Ij4KPHQ+UXVlc3Rpb24ocyk6CkRvZXMgeW91ciBwcm90b2NvbCBpbXBhY3QgcGVy bWlzc2lvbmxlc3MgaW5ub3ZhdGlvbj8gU2VlIOKAmENvbm5lY3Rpdml0eeKAmSBhYm92ZS48L3Q+ Cgo8dD5FeHBsYW5hdGlvbjoKQWRhcHRhYmlsaXR5IGlzIGNsb3NlbHkgaW50ZXJyZWxhdGVkIHBl cm1pc3Npb25sZXNzIGlubm92YXRpb24sIGJvdGggbWFpbnRhaW4gdGhlIGZyZWVkb20gYW5kIGFi aWxpdHkgdG8gZnJlZWx5IGNyZWF0ZSBhbmQgZGVwbG95IG5ldyBwcm90b2NvbHMgb24gdG9wIG9m IHRoZSBjb21tdW5pY2F0aW9ucyBjb25zdHJ1Y3RzIHRoYXQgY3VycmVudGx5IGV4aXN0LiBJdCBp cyBhdCB0aGUgaGVhcnQgb2YgdGhlIEludGVybmV0IGFzIHdlIGtub3cgaXQsIGFuZCB0byBtYWlu dGFpbiBpdHMgZnVuZGFtZW50YWxseSBvcGVuIG5hdHVyZSwgd2UgbmVlZCB0byBiZSBtaW5kZnVs IG9mIHRoZSBpbXBhY3Qgb2YgcHJvdG9jb2xzIG9uIG1haW50YWluaW5nIG9yIHJlZHVjaW5nIHBl cm1pc3Npb25sZXNzIGlubm92YXRpb24gdG8gZW5zdXJlIHRoZSBJbnRlcm5ldCBjYW4gY29udGlu dWUgdG8gZGV2ZWxvcC48L3Q+Cgo8dD5FeGFtcGxlOgpXZWJSVEMgZ2VuZXJhdGVzIGF1ZGlvIGFu ZC9vciB2aWRlbyBkYXRhLiBJbiBvcmRlciB0byBlbnN1cmUgdGhhdCBXZWJSVEMgY2FuIGJlIHVz ZWQgaW4gZGlmZmVyZW50IGxvY2F0aW9ucyBieSBkaWZmZXJlbnQgcGFydGllcyBpdCBpcyBpbXBv cnRhbnQgdGhhdCBzdGFuZGFyZCBKYXZhc2NyaXB0IEFQSXMgYXJlIGRldmVsb3BlZCB0byBzdXBw b3J0IGFwcGxpY2F0aW9ucyBmcm9tIGRpZmZlcmVudCB2b2ljZSBzZXJ2aWNlIHByb3ZpZGVycy4g TXVsdGlwbGUgcGFydGllcyB3aWxsIGhhdmUgc2ltaWxhciBjYXBhYmlsaXRpZXMsIGluIG9yZGVy IHRvIGVuc3VyZSB0aGF0IGFsbCBwYXJ0aWVzIGNhbiBidWlsZCB1cG9uIGV4aXN0aW5nIHN0YW5k YXJkcyB0aGVzZSBuZWVkIHRvIGJlIGFkYXB0YWJsZSwgYW5kIGFsbG93IGZvciBwZXJtaXNzaW9u bGVzcyBpbm5vdmF0aW9uLjwvdD4KCjx0PkltcGFjdHM6PC90PgoKPHQ+PGxpc3Qgc3R5bGU9InN5 bWJvbHMiPgogIDx0PlJpZ2h0IHRvIGVkdWNhdGlvbjwvdD4KICA8dD5GcmVlZG9tIG9mIGV4cHJl c3Npb248L3Q+CiAgPHQ+RnJlZWRvbSBvZiBhc3NlbWJseSBhbmQgYXNzb2NpYXRpb248L3Q+Cjwv bGlzdD48L3Q+Cgo8L3NlY3Rpb24+Cjwvc2VjdGlvbj4KPC9zZWN0aW9uPgo8L3NlY3Rpb24+Cjwv c2VjdGlvbj4KPHNlY3Rpb24gYW5jaG9yPSJhY2tub3dsZWRnZW1lbnRzIiB0aXRsZT0iQWNrbm93 bGVkZ2VtZW50cyI+Cjx0PkEgc3BlY2lhbCB0aGFua3MgdG8gYWxsIG1lbWJlcnMgb2YgdGhlIGhy cGMgUkcgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMgZHJhZnQuIFRoZSBmb2xsb3dpbmcgZGVzZXJ2 ZSBhIHNwZWNpYWwgbWVudGlvbjo8L3Q+Cgo8dD48bGlzdCBzdHlsZT0ic3ltYm9scyI+CiAgPHQ+ Sm9hbmEgVmFyb24gZm9yIGhlbHBpbmcgZHJhZnQgdGhlIGZpcnN0IGl0ZXJhdGlvbiBvZiB0aGUg bWV0aG9kb2xvZ3ksIHByZXZpb3VzIGRyYWZ0cyBhbmQgdGhlIGRpcmVjdGlvbiBvZiB0aGUgZmls bSBOZXQgb2YgUmlnaHRzIGFuZCB3b3JraW5nIG9uIHRoZSBpbnRlcnZpZXdzIGF0IElFVEY5MiBp biBEYWxsYXMuPC90PgogIDx0PkRhbmllbCBLYWhuIEdpbGxtb3IgKGRrZykgZm9yIGhlbHBpbmcg d2l0aCB0aGUgZmlyc3QgaXRlcmF0aW9uIG9mIHRoZSBnbG9zc2FyeSBhcyB3ZWxsIGFzIGEgbG90 IG9mIHRlY2huaWNhbCBndWlkYW5jZSwgc3VwcG9ydCBhbmQgbGFuZ3VhZ2Ugc3VnZ2VzdGlvbnMu PC90PgogIDx0PkNsYXVkaW8gR3Vhcm5pZXJpIGZvciB3cml0aW5nIHRoZSBmaXJzdCBpdGVyYXRp b25zIG9mIHRoZSBjYXNlIHN0dWRpZXMgb24gVlBOLCBIVFRQLCBhbmQgUGVlciB0byBQZWVyLjwv dD4KICA8dD5XaWxsIFNjb3R0IGZvciB3cml0aW5nIHRoZSBmaXJzdCBpdGVyYXRpb25zIG9mIHRo ZSBjYXNlIHN0dWRpZXMgb24gRE5TLCBJUCwgWE1QUC48L3Q+CiAgPHQ+QXZyaSBEb3JpYSBmb3Ig cHJvcG9zaW5nIHdyaXRpbmcgYSBnbG9zc2FyeSBpbiB0aGUgZmlyc3QgcGxhY2UsIGhlbHAgd3Jp dGluZyB0aGUgaW5pdGlhbCBwcm9wb3NhbHMgYW5kIEludGVybmV0IERyYWZ0cyBhbmQgY29udHJp YnV0aW5nIHRvIHRoZSBnbG9zc2FyeS48L3Q+CjwvbGlzdD48L3Q+Cgo8dD5hbmQgU3RlcGhhbmUg Qm9ydHptZXllciwgQmFycnkgU2hlaW4sIEpvZSBIYWxsLCBKb3NzIFdyaWdodCwgYW5kIFRpbSBT YW1tdXQgd2hvIG1hZGUgYSBsb3Qgb2YgZXhjZWxsZW50IHN1Z2dlc3Rpb25zLCBtYW55IG9mIHdo aWNoIGZvdW5kIHRoZWlyIHdheSBkaXJlY3RseSBpbnRvIHRoZSB0ZXh0LgpXZSB3b3VsZCBhbHNv IGxpa2UgdG8gdGhhbmsgTW9sbHkgU2F1dGVyLCBBcnR1cm8gRmlsYXN0bywgTmF0aGFsaWUgTWFy ZWNoYWwsIEVsZWFub3IgU2FpdHRhIGFuZCBhbGwgb3RoZXJzIHdobyBwcm92aWRlZCBpbnB1dCBv biB0aGUgZHJhZnQgb3IgdGhlIGNvbmNlcHR1YWxpemF0aW9uIG9mIHRoZSBpZGVhLjwvdD4KCjwv c2VjdGlvbj4KPHNlY3Rpb24gYW5jaG9yPSJzZWN1cml0eS1jb25zaWRlcmF0aW9ucyIgdGl0bGU9 IlNlY3VyaXR5IENvbnNpZGVyYXRpb25zIj4KPHQ+QXMgdGhpcyBkb2N1bWVudCBjb25jZXJucyBh IHJlc2VhcmNoIGRvY3VtZW50LCB0aGVyZSBhcmUgbm8gc2VjdXJpdHkgY29uc2lkZXJhdGlvbnMu PC90PgoKPC9zZWN0aW9uPgo8c2VjdGlvbiBhbmNob3I9ImlhbmEtY29uc2lkZXJhdGlvbnMiIHRp dGxlPSJJQU5BIENvbnNpZGVyYXRpb25zIj4KPHQ+VGhpcyBkb2N1bWVudCBoYXMgbm8gYWN0aW9u cyBmb3IgSUFOQS48L3Q+Cgo8L3NlY3Rpb24+CjxzZWN0aW9uIGFuY2hvcj0icmVzZWFyY2gtZ3Jv dXAtaW5mb3JtYXRpb24iIHRpdGxlPSJSZXNlYXJjaCBHcm91cCBJbmZvcm1hdGlvbiI+Cjx0PlRo ZSBkaXNjdXNzaW9uIGxpc3QgZm9yIHRoZSBJUlRGIEh1bWFuIFJpZ2h0cyBQcm90b2NvbCBDb25z aWRlcmF0aW9ucyBwcm9wb3NlZCB3b3JraW5nIGdyb3VwIGlzIGxvY2F0ZWQgYXQgdGhlIGUtbWFp bCBhZGRyZXNzIDxlcmVmIHRhcmdldD0ibWFpbHRvOmhycGNAaWV0Zi5vcmciPmhycGNAaWV0Zi5v cmc8L2VyZWY+LiBJbmZvcm1hdGlvbiBvbiB0aGUgZ3JvdXAgYW5kIGluZm9ybWF0aW9uIG9uIGhv dyB0byBzdWJzY3JpYmUgdG8gdGhlIGxpc3QgaXMgYXQKPGVyZWYgdGFyZ2V0PSJodHRwczovL3d3 dy5pcnRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2hycGMiPmh0dHBzOi8vd3d3LmlydGYub3JnL21h aWxtYW4vbGlzdGluZm8vaHJwYzwvZXJlZj48L3Q+Cgo8dD5BcmNoaXZlcyBvZiB0aGUgbGlzdCBj YW4gYmUgZm91bmQgYXQ6CjxlcmVmIHRhcmdldD0iaHR0cHM6Ly93d3cuaXJ0Zi5vcmcvbWFpbC1h cmNoaXZlL3dlYi9ocnBjL2N1cnJlbnQvaW5kZXguaHRtbCI+aHR0cHM6Ly93d3cuaXJ0Zi5vcmcv bWFpbC1hcmNoaXZlL3dlYi9ocnBjL2N1cnJlbnQvaW5kZXguaHRtbDwvZXJlZj48L3Q+Cgo8L3Nl Y3Rpb24+CgoKICA8L21pZGRsZT4KCiAgPGJhY2s+CgogICAgPHJlZmVyZW5jZXMgdGl0bGU9J05v cm1hdGl2ZSBSZWZlcmVuY2VzJz4KCgoKCgo8cmVmZXJlbmNlICBhbmNob3I9J1JGQzY5NzMnIHRh cmdldD0naHR0cDovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzY5NzMnPgo8ZnJvbnQ+Cjx0 aXRsZT5Qcml2YWN5IENvbnNpZGVyYXRpb25zIGZvciBJbnRlcm5ldCBQcm90b2NvbHM8L3RpdGxl Pgo8YXV0aG9yIGluaXRpYWxzPSdBLicgc3VybmFtZT0nQ29vcGVyJyBmdWxsbmFtZT0nQS4gQ29v cGVyJz48b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+CjxhdXRob3IgaW5pdGlhbHM9J0guJyBzdXJu YW1lPSdUc2Nob2ZlbmlnJyBmdWxsbmFtZT0nSC4gVHNjaG9mZW5pZyc+PG9yZ2FuaXphdGlvbiAv PjwvYXV0aG9yPgo8YXV0aG9yIGluaXRpYWxzPSdCLicgc3VybmFtZT0nQWJvYmEnIGZ1bGxuYW1l PSdCLiBBYm9iYSc+PG9yZ2FuaXphdGlvbiAvPjwvYXV0aG9yPgo8YXV0aG9yIGluaXRpYWxzPSdK Licgc3VybmFtZT0nUGV0ZXJzb24nIGZ1bGxuYW1lPSdKLiBQZXRlcnNvbic+PG9yZ2FuaXphdGlv biAvPjwvYXV0aG9yPgo8YXV0aG9yIGluaXRpYWxzPSdKLicgc3VybmFtZT0nTW9ycmlzJyBmdWxs bmFtZT0nSi4gTW9ycmlzJz48b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+CjxhdXRob3IgaW5pdGlh bHM9J00uJyBzdXJuYW1lPSdIYW5zZW4nIGZ1bGxuYW1lPSdNLiBIYW5zZW4nPjxvcmdhbml6YXRp b24gLz48L2F1dGhvcj4KPGF1dGhvciBpbml0aWFscz0nUi4nIHN1cm5hbWU9J1NtaXRoJyBmdWxs bmFtZT0nUi4gU21pdGgnPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4KPGRhdGUgeWVhcj0nMjAx MycgbW9udGg9J0p1bHknIC8+CjxhYnN0cmFjdD48dD5UaGlzIGRvY3VtZW50IG9mZmVycyBndWlk YW5jZSBmb3IgZGV2ZWxvcGluZyBwcml2YWN5IGNvbnNpZGVyYXRpb25zIGZvciBpbmNsdXNpb24g aW4gcHJvdG9jb2wgc3BlY2lmaWNhdGlvbnMuICBJdCBhaW1zIHRvIG1ha2UgZGVzaWduZXJzLCBp bXBsZW1lbnRlcnMsIGFuZCB1c2VycyBvZiBJbnRlcm5ldCBwcm90b2NvbHMgYXdhcmUgb2YgcHJp dmFjeS1yZWxhdGVkIGRlc2lnbiBjaG9pY2VzLiAgSXQgc3VnZ2VzdHMgdGhhdCB3aGV0aGVyIGFu eSBpbmRpdmlkdWFsIFJGQyB3YXJyYW50cyBhIHNwZWNpZmljIHByaXZhY3kgY29uc2lkZXJhdGlv bnMgc2VjdGlvbiB3aWxsIGRlcGVuZCBvbiB0aGUgZG9jdW1lbnQncyBjb250ZW50LjwvdD48L2Fi c3RyYWN0Pgo8L2Zyb250Pgo8c2VyaWVzSW5mbyBuYW1lPSdSRkMnIHZhbHVlPSc2OTczJy8+Cjxz ZXJpZXNJbmZvIG5hbWU9J0RPSScgdmFsdWU9JzEwLjE3NDg3L1JGQzY5NzMnLz4KPC9yZWZlcmVu Y2U+CgoKCgogICAgPC9yZWZlcmVuY2VzPgoKICAgIDxyZWZlcmVuY2VzIHRpdGxlPSdJbmZvcm1h dGl2ZSBSZWZlcmVuY2VzJz4KCgoKCgo8cmVmZXJlbmNlICBhbmNob3I9J1JGQzAyMjYnIHRhcmdl dD0naHR0cDovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzIyNic+Cjxmcm9udD4KPHRpdGxl PlN0YW5kYXJkaXphdGlvbiBvZiBob3N0IG1uZW1vbmljczwvdGl0bGU+CjxhdXRob3IgaW5pdGlh bHM9J1AuTS4nIHN1cm5hbWU9J0thcnAnIGZ1bGxuYW1lPSdQLk0uIEthcnAnPjxvcmdhbml6YXRp b24gLz48L2F1dGhvcj4KPGRhdGUgeWVhcj0nMTk3MScgbW9udGg9J1NlcHRlbWJlcicgLz4KPC9m cm9udD4KPHNlcmllc0luZm8gbmFtZT0nUkZDJyB2YWx1ZT0nMjI2Jy8+CjxzZXJpZXNJbmZvIG5h bWU9J0RPSScgdmFsdWU9JzEwLjE3NDg3L1JGQzAyMjYnLz4KPC9yZWZlcmVuY2U+CgoKCjxyZWZl cmVuY2UgIGFuY2hvcj0nUkZDMDc2MCcgdGFyZ2V0PSdodHRwOi8vd3d3LnJmYy1lZGl0b3Iub3Jn L2luZm8vcmZjNzYwJz4KPGZyb250Pgo8dGl0bGU+RG9EIHN0YW5kYXJkIEludGVybmV0IFByb3Rv Y29sPC90aXRsZT4KPGF1dGhvciBpbml0aWFscz0nSi4nIHN1cm5hbWU9J1Bvc3RlbCcgZnVsbG5h bWU9J0ouIFBvc3RlbCc+PG9yZ2FuaXphdGlvbiAvPjwvYXV0aG9yPgo8ZGF0ZSB5ZWFyPScxOTgw JyBtb250aD0nSmFudWFyeScgLz4KPC9mcm9udD4KPHNlcmllc0luZm8gbmFtZT0nUkZDJyB2YWx1 ZT0nNzYwJy8+CjxzZXJpZXNJbmZvIG5hbWU9J0RPSScgdmFsdWU9JzEwLjE3NDg3L1JGQzA3NjAn Lz4KPC9yZWZlcmVuY2U+CgoKCjxyZWZlcmVuY2UgIGFuY2hvcj0nUkZDMDc5MScgdGFyZ2V0PSdo dHRwOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjNzkxJz4KPGZyb250Pgo8dGl0bGU+SW50 ZXJuZXQgUHJvdG9jb2w8L3RpdGxlPgo8YXV0aG9yIGluaXRpYWxzPSdKLicgc3VybmFtZT0nUG9z dGVsJyBmdWxsbmFtZT0nSi4gUG9zdGVsJz48b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+CjxkYXRl IHllYXI9JzE5ODEnIG1vbnRoPSdTZXB0ZW1iZXInIC8+CjwvZnJvbnQ+CjxzZXJpZXNJbmZvIG5h bWU9J1NURCcgdmFsdWU9JzUnLz4KPHNlcmllc0luZm8gbmFtZT0nUkZDJyB2YWx1ZT0nNzkxJy8+ CjxzZXJpZXNJbmZvIG5hbWU9J0RPSScgdmFsdWU9JzEwLjE3NDg3L1JGQzA3OTEnLz4KPC9yZWZl cmVuY2U+CgoKCjxyZWZlcmVuY2UgIGFuY2hvcj0nUkZDMDc5MycgdGFyZ2V0PSdodHRwOi8vd3d3 LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjNzkzJz4KPGZyb250Pgo8dGl0bGU+VHJhbnNtaXNzaW9u IENvbnRyb2wgUHJvdG9jb2w8L3RpdGxlPgo8YXV0aG9yIGluaXRpYWxzPSdKLicgc3VybmFtZT0n UG9zdGVsJyBmdWxsbmFtZT0nSi4gUG9zdGVsJz48b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+Cjxk YXRlIHllYXI9JzE5ODEnIG1vbnRoPSdTZXB0ZW1iZXInIC8+CjwvZnJvbnQ+CjxzZXJpZXNJbmZv IG5hbWU9J1NURCcgdmFsdWU9JzcnLz4KPHNlcmllc0luZm8gbmFtZT0nUkZDJyB2YWx1ZT0nNzkz Jy8+CjxzZXJpZXNJbmZvIG5hbWU9J0RPSScgdmFsdWU9JzEwLjE3NDg3L1JGQzA3OTMnLz4KPC9y ZWZlcmVuY2U+CgoKCjxyZWZlcmVuY2UgIGFuY2hvcj0nUkZDMDg5NCcgdGFyZ2V0PSdodHRwOi8v d3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjODk0Jz4KPGZyb250Pgo8dGl0bGU+QSBTdGFuZGFy ZCBmb3IgdGhlIFRyYW5zbWlzc2lvbiBvZiBJUCBEYXRhZ3JhbXMgb3ZlciBFdGhlcm5ldCBOZXR3 b3JrczwvdGl0bGU+CjxhdXRob3IgaW5pdGlhbHM9J0MuJyBzdXJuYW1lPSdIb3JuaWcnIGZ1bGxu YW1lPSdDLiBIb3JuaWcnPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4KPGRhdGUgeWVhcj0nMTk4 NCcgbW9udGg9J0FwcmlsJyAvPgo8YWJzdHJhY3Q+PHQ+VGhpcyBSRkMgc3BlY2lmaWVzIGEgc3Rh bmRhcmQgbWV0aG9kIG9mIGVuY2Fwc3VsYXRpbmcgSW50ZXJuZXQgICAgUHJvdG9jb2wgKElQKSBk YXRhZ3JhbXMgb24gYW4gRXRoZXJuZXQuICBUaGlzIFJGQyBzcGVjaWZpZXMgYSAgICBzdGFuZGFy ZCBwcm90b2NvbCBmb3IgdGhlIEFSUEEtSW50ZXJuZXQgY29tbXVuaXR5LjwvdD48L2Fic3RyYWN0 Pgo8L2Zyb250Pgo8c2VyaWVzSW5mbyBuYW1lPSdTVEQnIHZhbHVlPSc0MScvPgo8c2VyaWVzSW5m byBuYW1lPSdSRkMnIHZhbHVlPSc4OTQnLz4KPHNlcmllc0luZm8gbmFtZT0nRE9JJyB2YWx1ZT0n MTAuMTc0ODcvUkZDMDg5NCcvPgo8L3JlZmVyZW5jZT4KCgoKPHJlZmVyZW5jZSAgYW5jaG9yPSdS RkMxMDM1JyB0YXJnZXQ9J2h0dHA6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5mby9yZmMxMDM1Jz4K PGZyb250Pgo8dGl0bGU+RG9tYWluIG5hbWVzIC0gaW1wbGVtZW50YXRpb24gYW5kIHNwZWNpZmlj YXRpb248L3RpdGxlPgo8YXV0aG9yIGluaXRpYWxzPSdQLlYuJyBzdXJuYW1lPSdNb2NrYXBldHJp cycgZnVsbG5hbWU9J1AuVi4gTW9ja2FwZXRyaXMnPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4K PGRhdGUgeWVhcj0nMTk4NycgbW9udGg9J05vdmVtYmVyJyAvPgo8YWJzdHJhY3Q+PHQ+VGhpcyBS RkMgaXMgdGhlIHJldmlzZWQgc3BlY2lmaWNhdGlvbiBvZiB0aGUgcHJvdG9jb2wgYW5kIGZvcm1h dCB1c2VkIGluIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgRG9tYWluIE5hbWUgU3lzdGVtLiAg SXQgb2Jzb2xldGVzIFJGQy04ODMuIFRoaXMgbWVtbyBkb2N1bWVudHMgdGhlIGRldGFpbHMgb2Yg dGhlIGRvbWFpbiBuYW1lIGNsaWVudCAtIHNlcnZlciBjb21tdW5pY2F0aW9uLjwvdD48L2Fic3Ry YWN0Pgo8L2Zyb250Pgo8c2VyaWVzSW5mbyBuYW1lPSdTVEQnIHZhbHVlPScxMycvPgo8c2VyaWVz SW5mbyBuYW1lPSdSRkMnIHZhbHVlPScxMDM1Jy8+CjxzZXJpZXNJbmZvIG5hbWU9J0RPSScgdmFs dWU9JzEwLjE3NDg3L1JGQzEwMzUnLz4KPC9yZWZlcmVuY2U+CgoKCjxyZWZlcmVuY2UgIGFuY2hv cj0nUkZDMTEyMicgdGFyZ2V0PSdodHRwOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjMTEy Mic+Cjxmcm9udD4KPHRpdGxlPlJlcXVpcmVtZW50cyBmb3IgSW50ZXJuZXQgSG9zdHMgLSBDb21t dW5pY2F0aW9uIExheWVyczwvdGl0bGU+CjxhdXRob3IgaW5pdGlhbHM9J1IuJyBzdXJuYW1lPSdC cmFkZW4nIGZ1bGxuYW1lPSdSLiBCcmFkZW4nIHJvbGU9J2VkaXRvcic+PG9yZ2FuaXphdGlvbiAv PjwvYXV0aG9yPgo8ZGF0ZSB5ZWFyPScxOTg5JyBtb250aD0nT2N0b2JlcicgLz4KPGFic3RyYWN0 Pjx0PlRoaXMgUkZDIGlzIGFuIG9mZmljaWFsIHNwZWNpZmljYXRpb24gZm9yIHRoZSBJbnRlcm5l dCBjb21tdW5pdHkuICBJdCBpbmNvcnBvcmF0ZXMgYnkgcmVmZXJlbmNlLCBhbWVuZHMsIGNvcnJl Y3RzLCBhbmQgc3VwcGxlbWVudHMgdGhlIHByaW1hcnkgcHJvdG9jb2wgc3RhbmRhcmRzIGRvY3Vt ZW50cyByZWxhdGluZyB0byBob3N0cy4gIFtTVEFOREFSRFMtVFJBQ0tdPC90PjwvYWJzdHJhY3Q+ CjwvZnJvbnQ+CjxzZXJpZXNJbmZvIG5hbWU9J1NURCcgdmFsdWU9JzMnLz4KPHNlcmllc0luZm8g bmFtZT0nUkZDJyB2YWx1ZT0nMTEyMicvPgo8c2VyaWVzSW5mbyBuYW1lPSdET0knIHZhbHVlPScx MC4xNzQ4Ny9SRkMxMTIyJy8+CjwvcmVmZXJlbmNlPgoKCgo8cmVmZXJlbmNlICBhbmNob3I9J1JG QzE2MzEnIHRhcmdldD0naHR0cDovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzE2MzEnPgo8 ZnJvbnQ+Cjx0aXRsZT5UaGUgSVAgTmV0d29yayBBZGRyZXNzIFRyYW5zbGF0b3IgKE5BVCk8L3Rp dGxlPgo8YXV0aG9yIGluaXRpYWxzPSdLLicgc3VybmFtZT0nRWdldmFuZycgZnVsbG5hbWU9J0su IEVnZXZhbmcnPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4KPGF1dGhvciBpbml0aWFscz0nUC4n IHN1cm5hbWU9J0ZyYW5jaXMnIGZ1bGxuYW1lPSdQLiBGcmFuY2lzJz48b3JnYW5pemF0aW9uIC8+ PC9hdXRob3I+CjxkYXRlIHllYXI9JzE5OTQnIG1vbnRoPSdNYXknIC8+CjxhYnN0cmFjdD48dD5U aGlzIG1lbW8gcHJvcG9zZXMgYW5vdGhlciBzaG9ydC10ZXJtIHNvbHV0aW9uLCBhZGRyZXNzIHJl dXNlLCB0aGF0IGNvbXBsZW1lbnRzIENJRFIgb3IgZXZlbiBtYWtlcyBpdCB1bm5lY2Vzc2FyeS4g VGhlIGFkZHJlc3MgcmV1c2Ugc29sdXRpb24gaXMgdG8gcGxhY2UgTmV0d29yayBBZGRyZXNzIFRy YW5zbGF0b3JzIChOQVQpIGF0IHRoZSBib3JkZXJzIG9mIHN0dWIgZG9tYWlucy4gIFRoaXMgbWVt byBwcm92aWRlcyBpbmZvcm1hdGlvbiBmb3IgdGhlIEludGVybmV0IGNvbW11bml0eS4gIFRoaXMg bWVtbyBkb2VzIG5vdCBzcGVjaWZ5IGFuIEludGVybmV0IHN0YW5kYXJkIG9mIGFueSBraW5kLjwv dD48L2Fic3RyYWN0Pgo8L2Zyb250Pgo8c2VyaWVzSW5mbyBuYW1lPSdSRkMnIHZhbHVlPScxNjMx Jy8+CjxzZXJpZXNJbmZvIG5hbWU9J0RPSScgdmFsdWU9JzEwLjE3NDg3L1JGQzE2MzEnLz4KPC9y ZWZlcmVuY2U+CgoKCjxyZWZlcmVuY2UgIGFuY2hvcj0nUkZDMTc2NicgdGFyZ2V0PSdodHRwOi8v d3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjMTc2Nic+Cjxmcm9udD4KPHRpdGxlPlRhZ3MgZm9y IHRoZSBJZGVudGlmaWNhdGlvbiBvZiBMYW5ndWFnZXM8L3RpdGxlPgo8YXV0aG9yIGluaXRpYWxz PSdILicgc3VybmFtZT0nQWx2ZXN0cmFuZCcgZnVsbG5hbWU9J0guIEFsdmVzdHJhbmQnPjxvcmdh bml6YXRpb24gLz48L2F1dGhvcj4KPGRhdGUgeWVhcj0nMTk5NScgbW9udGg9J01hcmNoJyAvPgo8 YWJzdHJhY3Q+PHQ+VGhpcyBkb2N1bWVudCBkZXNjcmliZXMgYSBsYW5ndWFnZSB0YWcgZm9yIHVz ZSBpbiBjYXNlcyB3aGVyZSBpdCBpcyBkZXNpcmVkIHRvIGluZGljYXRlIHRoZSBsYW5ndWFnZSB1 c2VkIGluIGFuIGluZm9ybWF0aW9uIG9iamVjdC4gW1NUQU5EQVJEUy1UUkFDS108L3Q+PC9hYnN0 cmFjdD4KPC9mcm9udD4KPHNlcmllc0luZm8gbmFtZT0nUkZDJyB2YWx1ZT0nMTc2NicvPgo8c2Vy aWVzSW5mbyBuYW1lPSdET0knIHZhbHVlPScxMC4xNzQ4Ny9SRkMxNzY2Jy8+CjwvcmVmZXJlbmNl PgoKCgo8cmVmZXJlbmNlICBhbmNob3I9J1JGQzE4NjYnIHRhcmdldD0naHR0cDovL3d3dy5yZmMt ZWRpdG9yLm9yZy9pbmZvL3JmYzE4NjYnPgo8ZnJvbnQ+Cjx0aXRsZT5IeXBlcnRleHQgTWFya3Vw IExhbmd1YWdlIC0gMi4wPC90aXRsZT4KPGF1dGhvciBpbml0aWFscz0nVC4nIHN1cm5hbWU9J0Jl cm5lcnMtTGVlJyBmdWxsbmFtZT0nVC4gQmVybmVycy1MZWUnPjxvcmdhbml6YXRpb24gLz48L2F1 dGhvcj4KPGF1dGhvciBpbml0aWFscz0nRC4nIHN1cm5hbWU9J0Nvbm5vbGx5JyBmdWxsbmFtZT0n RC4gQ29ubm9sbHknPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4KPGRhdGUgeWVhcj0nMTk5NScg bW9udGg9J05vdmVtYmVyJyAvPgo8YWJzdHJhY3Q+PHQ+VGhpcyBkb2N1bWVudCBkZWZpbmVzIGEg SFRNTCAyLjAgKHRvIGRpc3Rpbmd1aXNoIGl0IGZyb20gdGhlIHByZXZpb3VzIGluZm9ybWFsIHNw ZWNpZmljYXRpb25zKS4gIFtTVEFOREFSRFMtVFJBQ0tdPC90PjwvYWJzdHJhY3Q+CjwvZnJvbnQ+ CjxzZXJpZXNJbmZvIG5hbWU9J1JGQycgdmFsdWU9JzE4NjYnLz4KPHNlcmllc0luZm8gbmFtZT0n RE9JJyB2YWx1ZT0nMTAuMTc0ODcvUkZDMTg2NicvPgo8L3JlZmVyZW5jZT4KCgoKPHJlZmVyZW5j ZSAgYW5jaG9yPSdSRkMxOTU4JyB0YXJnZXQ9J2h0dHA6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5m by9yZmMxOTU4Jz4KPGZyb250Pgo8dGl0bGU+QXJjaGl0ZWN0dXJhbCBQcmluY2lwbGVzIG9mIHRo ZSBJbnRlcm5ldDwvdGl0bGU+CjxhdXRob3IgaW5pdGlhbHM9J0IuJyBzdXJuYW1lPSdDYXJwZW50 ZXInIGZ1bGxuYW1lPSdCLiBDYXJwZW50ZXInIHJvbGU9J2VkaXRvcic+PG9yZ2FuaXphdGlvbiAv PjwvYXV0aG9yPgo8ZGF0ZSB5ZWFyPScxOTk2JyBtb250aD0nSnVuZScgLz4KPGFic3RyYWN0Pjx0 PlRoZSBJbnRlcm5ldCBhbmQgaXRzIGFyY2hpdGVjdHVyZSBoYXZlIGdyb3duIGluIGV2b2x1dGlv bmFyeSBmYXNoaW9uIGZyb20gbW9kZXN0IGJlZ2lubmluZ3MsIHJhdGhlciB0aGFuIGZyb20gYSBH cmFuZCBQbGFuLiBXaGlsZSB0aGlzIHByb2Nlc3Mgb2YgZXZvbHV0aW9uIGlzIG9uZSBvZiB0aGUg bWFpbiByZWFzb25zIGZvciB0aGUgdGVjaG5vbG9neSdzIHN1Y2Nlc3MsIGl0IG5ldmVydGhlbGVz cyBzZWVtcyB1c2VmdWwgdG8gcmVjb3JkIGEgc25hcHNob3Qgb2YgdGhlIGN1cnJlbnQgcHJpbmNp cGxlcyBvZiB0aGUgSW50ZXJuZXQgYXJjaGl0ZWN0dXJlLiBUaGlzIGlzIGludGVuZGVkIGZvciBn ZW5lcmFsIGd1aWRhbmNlIGFuZCBnZW5lcmFsIGludGVyZXN0LCBhbmQgaXMgaW4gbm8gd2F5IGlu dGVuZGVkIHRvIGJlIGEgZm9ybWFsIG9yIGludmFyaWFudCByZWZlcmVuY2UgbW9kZWwuICBUaGlz IG1lbW8gcHJvdmlkZXMgaW5mb3JtYXRpb24gZm9yIHRoZSBJbnRlcm5ldCBjb21tdW5pdHkuICBU aGlzIG1lbW8gZG9lcyBub3Qgc3BlY2lmeSBhbiBJbnRlcm5ldCBzdGFuZGFyZCBvZiBhbnkga2lu ZC48L3Q+PC9hYnN0cmFjdD4KPC9mcm9udD4KPHNlcmllc0luZm8gbmFtZT0nUkZDJyB2YWx1ZT0n MTk1OCcvPgo8c2VyaWVzSW5mbyBuYW1lPSdET0knIHZhbHVlPScxMC4xNzQ4Ny9SRkMxOTU4Jy8+ CjwvcmVmZXJlbmNlPgoKCgo8cmVmZXJlbmNlICBhbmNob3I9J1JGQzE5ODQnIHRhcmdldD0naHR0 cDovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzE5ODQnPgo8ZnJvbnQ+Cjx0aXRsZT5JQUIg YW5kIElFU0cgU3RhdGVtZW50IG9uIENyeXB0b2dyYXBoaWMgVGVjaG5vbG9neSBhbmQgdGhlIElu dGVybmV0PC90aXRsZT4KPGF1dGhvcj48b3JnYW5pemF0aW9uPklBQjwvb3JnYW5pemF0aW9uPjwv YXV0aG9yPgo8YXV0aG9yPjxvcmdhbml6YXRpb24+SUVTRzwvb3JnYW5pemF0aW9uPjwvYXV0aG9y Pgo8ZGF0ZSB5ZWFyPScxOTk2JyBtb250aD0nQXVndXN0JyAvPgo8YWJzdHJhY3Q+PHQ+VGhlIElu dGVybmV0IEFyY2hpdGVjdHVyZSBCb2FyZCAoSUFCKSBhbmQgdGhlIEludGVybmV0IEVuZ2luZWVy aW5nIFN0ZWVyaW5nIEdyb3VwIChJRVNHKSwgdGhlIGJvZGllcyB3aGljaCBvdmVyc2VlIGFyY2hp dGVjdHVyZSBhbmQgc3RhbmRhcmRzIGZvciB0aGUgSW50ZXJuZXQsIGFyZSBjb25jZXJuZWQgYnkg dGhlIG5lZWQgZm9yIGluY3JlYXNlZCBwcm90ZWN0aW9uIG9mIGludGVybmF0aW9uYWwgY29tbWVy Y2lhbCB0cmFuc2FjdGlvbnMgb24gdGhlIEludGVybmV0LCBhbmQgYnkgdGhlIG5lZWQgdG8gb2Zm ZXIgYWxsIEludGVybmV0IHVzZXJzIGFuIGFkZXF1YXRlIGRlZ3JlZSBvZiBwcml2YWN5LiBUaGlz IG1lbW8gcHJvdmlkZXMgaW5mb3JtYXRpb24gZm9yIHRoZSBJbnRlcm5ldCBjb21tdW5pdHkuICBU aGlzIG1lbW8gZG9lcyBub3Qgc3BlY2lmeSBhbiBJbnRlcm5ldCBzdGFuZGFyZCBvZiBhbnkga2lu ZC48L3Q+PC9hYnN0cmFjdD4KPC9mcm9udD4KPHNlcmllc0luZm8gbmFtZT0nQkNQJyB2YWx1ZT0n MjAwJy8+CjxzZXJpZXNJbmZvIG5hbWU9J1JGQycgdmFsdWU9JzE5ODQnLz4KPHNlcmllc0luZm8g bmFtZT0nRE9JJyB2YWx1ZT0nMTAuMTc0ODcvUkZDMTk4NCcvPgo8L3JlZmVyZW5jZT4KCgoKPHJl ZmVyZW5jZSAgYW5jaG9yPSdSRkMyMDI2JyB0YXJnZXQ9J2h0dHA6Ly93d3cucmZjLWVkaXRvci5v cmcvaW5mby9yZmMyMDI2Jz4KPGZyb250Pgo8dGl0bGU+VGhlIEludGVybmV0IFN0YW5kYXJkcyBQ cm9jZXNzIC0tIFJldmlzaW9uIDM8L3RpdGxlPgo8YXV0aG9yIGluaXRpYWxzPSdTLicgc3VybmFt ZT0nQnJhZG5lcicgZnVsbG5hbWU9J1MuIEJyYWRuZXInPjxvcmdhbml6YXRpb24gLz48L2F1dGhv cj4KPGRhdGUgeWVhcj0nMTk5NicgbW9udGg9J09jdG9iZXInIC8+CjxhYnN0cmFjdD48dD5UaGlz IG1lbW8gZG9jdW1lbnRzIHRoZSBwcm9jZXNzIHVzZWQgYnkgdGhlIEludGVybmV0IGNvbW11bml0 eSBmb3IgdGhlIHN0YW5kYXJkaXphdGlvbiBvZiBwcm90b2NvbHMgYW5kIHByb2NlZHVyZXMuICBJ dCBkZWZpbmVzIHRoZSBzdGFnZXMgaW4gdGhlIHN0YW5kYXJkaXphdGlvbiBwcm9jZXNzLCB0aGUg cmVxdWlyZW1lbnRzIGZvciBtb3ZpbmcgYSBkb2N1bWVudCBiZXR3ZWVuIHN0YWdlcyBhbmQgdGhl IHR5cGVzIG9mIGRvY3VtZW50cyB1c2VkIGR1cmluZyB0aGlzIHByb2Nlc3MuIFRoaXMgZG9jdW1l bnQgc3BlY2lmaWVzIGFuIEludGVybmV0IEJlc3QgQ3VycmVudCBQcmFjdGljZXMgZm9yIHRoZSBJ bnRlcm5ldCBDb21tdW5pdHksIGFuZCByZXF1ZXN0cyBkaXNjdXNzaW9uIGFuZCBzdWdnZXN0aW9u cyBmb3IgaW1wcm92ZW1lbnRzLjwvdD48L2Fic3RyYWN0Pgo8L2Zyb250Pgo8c2VyaWVzSW5mbyBu YW1lPSdCQ1AnIHZhbHVlPSc5Jy8+CjxzZXJpZXNJbmZvIG5hbWU9J1JGQycgdmFsdWU9JzIwMjYn Lz4KPHNlcmllc0luZm8gbmFtZT0nRE9JJyB2YWx1ZT0nMTAuMTc0ODcvUkZDMjAyNicvPgo8L3Jl ZmVyZW5jZT4KCgoKPHJlZmVyZW5jZSAgYW5jaG9yPSdSRkMyMjc3JyB0YXJnZXQ9J2h0dHA6Ly93 d3cucmZjLWVkaXRvci5vcmcvaW5mby9yZmMyMjc3Jz4KPGZyb250Pgo8dGl0bGU+SUVURiBQb2xp Y3kgb24gQ2hhcmFjdGVyIFNldHMgYW5kIExhbmd1YWdlczwvdGl0bGU+CjxhdXRob3IgaW5pdGlh bHM9J0guJyBzdXJuYW1lPSdBbHZlc3RyYW5kJyBmdWxsbmFtZT0nSC4gQWx2ZXN0cmFuZCc+PG9y Z2FuaXphdGlvbiAvPjwvYXV0aG9yPgo8ZGF0ZSB5ZWFyPScxOTk4JyBtb250aD0nSmFudWFyeScg Lz4KPGFic3RyYWN0Pjx0PlRoaXMgZG9jdW1lbnQgaXMgdGhlIGN1cnJlbnQgcG9saWNpZXMgYmVp bmcgYXBwbGllZCBieSB0aGUgSW50ZXJuZXQgRW5naW5lZXJpbmcgU3RlZXJpbmcgR3JvdXAgKElF U0cpIHRvd2FyZHMgdGhlIHN0YW5kYXJkaXphdGlvbiBlZmZvcnRzIGluIHRoZSBJbnRlcm5ldCBF bmdpbmVlcmluZyBUYXNrIEZvcmNlIChJRVRGKSBpbiBvcmRlciB0byBoZWxwIEludGVybmV0IHBy b3RvY29scyBmdWxmaWxsIHRoZXNlIHJlcXVpcmVtZW50cy4gIFRoaXMgZG9jdW1lbnQgc3BlY2lm aWVzIGFuIEludGVybmV0IEJlc3QgQ3VycmVudCBQcmFjdGljZXMgZm9yIHRoZSBJbnRlcm5ldCBD b21tdW5pdHksIGFuZCByZXF1ZXN0cyBkaXNjdXNzaW9uIGFuZCBzdWdnZXN0aW9ucyBmb3IgaW1w cm92ZW1lbnRzLjwvdD48L2Fic3RyYWN0Pgo8L2Zyb250Pgo8c2VyaWVzSW5mbyBuYW1lPSdCQ1An IHZhbHVlPScxOCcvPgo8c2VyaWVzSW5mbyBuYW1lPSdSRkMnIHZhbHVlPScyMjc3Jy8+CjxzZXJp ZXNJbmZvIG5hbWU9J0RPSScgdmFsdWU9JzEwLjE3NDg3L1JGQzIyNzcnLz4KPC9yZWZlcmVuY2U+ CgoKCjxyZWZlcmVuY2UgIGFuY2hvcj0nUkZDMjQ2MCcgdGFyZ2V0PSdodHRwOi8vd3d3LnJmYy1l ZGl0b3Iub3JnL2luZm8vcmZjMjQ2MCc+Cjxmcm9udD4KPHRpdGxlPkludGVybmV0IFByb3RvY29s LCBWZXJzaW9uIDYgKElQdjYpIFNwZWNpZmljYXRpb248L3RpdGxlPgo8YXV0aG9yIGluaXRpYWxz PSdTLicgc3VybmFtZT0nRGVlcmluZycgZnVsbG5hbWU9J1MuIERlZXJpbmcnPjxvcmdhbml6YXRp b24gLz48L2F1dGhvcj4KPGF1dGhvciBpbml0aWFscz0nUi4nIHN1cm5hbWU9J0hpbmRlbicgZnVs bG5hbWU9J1IuIEhpbmRlbic+PG9yZ2FuaXphdGlvbiAvPjwvYXV0aG9yPgo8ZGF0ZSB5ZWFyPScx OTk4JyBtb250aD0nRGVjZW1iZXInIC8+CjxhYnN0cmFjdD48dD5UaGlzIGRvY3VtZW50IHNwZWNp ZmllcyB2ZXJzaW9uIDYgb2YgdGhlIEludGVybmV0IFByb3RvY29sIChJUHY2KSwgYWxzbyBzb21l dGltZXMgcmVmZXJyZWQgdG8gYXMgSVAgTmV4dCBHZW5lcmF0aW9uIG9yIElQbmcuICBbU1RBTkRB UkRTLVRSQUNLXTwvdD48L2Fic3RyYWN0Pgo8L2Zyb250Pgo8c2VyaWVzSW5mbyBuYW1lPSdSRkMn IHZhbHVlPScyNDYwJy8+CjxzZXJpZXNJbmZvIG5hbWU9J0RPSScgdmFsdWU9JzEwLjE3NDg3L1JG QzI0NjAnLz4KPC9yZWZlcmVuY2U+CgoKCjxyZWZlcmVuY2UgIGFuY2hvcj0nUkZDMjYwNicgdGFy Z2V0PSdodHRwOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjMjYwNic+Cjxmcm9udD4KPHRp dGxlPlJlc2VydmVkIFRvcCBMZXZlbCBETlMgTmFtZXM8L3RpdGxlPgo8YXV0aG9yIGluaXRpYWxz PSdELicgc3VybmFtZT0nRWFzdGxha2UgM3JkJyBmdWxsbmFtZT0nRC4gRWFzdGxha2UgM3JkJz48 b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+CjxhdXRob3IgaW5pdGlhbHM9J0EuJyBzdXJuYW1lPSdQ YW5pdHonIGZ1bGxuYW1lPSdBLiBQYW5pdHonPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4KPGRh dGUgeWVhcj0nMTk5OScgbW9udGg9J0p1bmUnIC8+CjxhYnN0cmFjdD48dD5UbyByZWR1Y2UgdGhl IGxpa2VsaWhvb2Qgb2YgY29uZmxpY3QgYW5kIGNvbmZ1c2lvbiwgYSBmZXcgdG9wIGxldmVsIGRv bWFpbiBuYW1lcyBhcmUgcmVzZXJ2ZWQgZm9yIHVzZSBpbiBwcml2YXRlIHRlc3RpbmcsIGFzIGV4 YW1wbGVzIGluIGRvY3VtZW50YXRpb24sIGFuZCB0aGUgbGlrZS4gIEluIGFkZGl0aW9uLCBhIGZl dyBzZWNvbmQgbGV2ZWwgZG9tYWluIG5hbWVzIHJlc2VydmVkIGZvciB1c2UgYXMgZXhhbXBsZXMg YXJlIGRvY3VtZW50ZWQuICBUaGlzIGRvY3VtZW50IHNwZWNpZmllcyBhbiBJbnRlcm5ldCBCZXN0 IEN1cnJlbnQgUHJhY3RpY2VzIGZvciB0aGUgSW50ZXJuZXQgQ29tbXVuaXR5LCBhbmQgcmVxdWVz dHMgZGlzY3Vzc2lvbiBhbmQgc3VnZ2VzdGlvbnMgZm9yIGltcHJvdmVtZW50cy48L3Q+PC9hYnN0 cmFjdD4KPC9mcm9udD4KPHNlcmllc0luZm8gbmFtZT0nQkNQJyB2YWx1ZT0nMzInLz4KPHNlcmll c0luZm8gbmFtZT0nUkZDJyB2YWx1ZT0nMjYwNicvPgo8c2VyaWVzSW5mbyBuYW1lPSdET0knIHZh bHVlPScxMC4xNzQ4Ny9SRkMyNjA2Jy8+CjwvcmVmZXJlbmNlPgoKCgo8cmVmZXJlbmNlICBhbmNo b3I9J1JGQzI3NzUnIHRhcmdldD0naHR0cDovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzI3 NzUnPgo8ZnJvbnQ+Cjx0aXRsZT5JbnRlcm5ldCBUcmFuc3BhcmVuY3k8L3RpdGxlPgo8YXV0aG9y IGluaXRpYWxzPSdCLicgc3VybmFtZT0nQ2FycGVudGVyJyBmdWxsbmFtZT0nQi4gQ2FycGVudGVy Jz48b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+CjxkYXRlIHllYXI9JzIwMDAnIG1vbnRoPSdGZWJy dWFyeScgLz4KPGFic3RyYWN0Pjx0PlRoaXMgZG9jdW1lbnQgZGVzY3JpYmVzIHRoZSBjdXJyZW50 IHN0YXRlIG9mIHRoZSBJbnRlcm5ldCBmcm9tIHRoZSBhcmNoaXRlY3R1cmFsIHZpZXdwb2ludCwg Y29uY2VudHJhdGluZyBvbiBpc3N1ZXMgb2YgZW5kLXRvLWVuZCBjb25uZWN0aXZpdHkgYW5kIHRy YW5zcGFyZW5jeS48L3Q+PC9hYnN0cmFjdD4KPC9mcm9udD4KPHNlcmllc0luZm8gbmFtZT0nUkZD JyB2YWx1ZT0nMjc3NScvPgo8c2VyaWVzSW5mbyBuYW1lPSdET0knIHZhbHVlPScxMC4xNzQ4Ny9S RkMyNzc1Jy8+CjwvcmVmZXJlbmNlPgoKCgo8cmVmZXJlbmNlICBhbmNob3I9J1JGQzM1NTInIHRh cmdldD0naHR0cDovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzM1NTInPgo8ZnJvbnQ+Cjx0 aXRsZT5HdWlkZWxpbmVzIGZvciBXcml0aW5nIFJGQyBUZXh0IG9uIFNlY3VyaXR5IENvbnNpZGVy YXRpb25zPC90aXRsZT4KPGF1dGhvciBpbml0aWFscz0nRS4nIHN1cm5hbWU9J1Jlc2NvcmxhJyBm dWxsbmFtZT0nRS4gUmVzY29ybGEnPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4KPGF1dGhvciBp bml0aWFscz0nQi4nIHN1cm5hbWU9J0tvcnZlcicgZnVsbG5hbWU9J0IuIEtvcnZlcic+PG9yZ2Fu aXphdGlvbiAvPjwvYXV0aG9yPgo8ZGF0ZSB5ZWFyPScyMDAzJyBtb250aD0nSnVseScgLz4KPGFi c3RyYWN0Pjx0PkFsbCBSRkNzIGFyZSByZXF1aXJlZCB0byBoYXZlIGEgU2VjdXJpdHkgQ29uc2lk ZXJhdGlvbnMgc2VjdGlvbi4gSGlzdG9yaWNhbGx5LCBzdWNoIHNlY3Rpb25zIGhhdmUgYmVlbiBy ZWxhdGl2ZWx5IHdlYWsuICBUaGlzIGRvY3VtZW50IHByb3ZpZGVzIGd1aWRlbGluZXMgdG8gUkZD IGF1dGhvcnMgb24gaG93IHRvIHdyaXRlIGEgZ29vZCBTZWN1cml0eSBDb25zaWRlcmF0aW9ucyBz ZWN0aW9uLiAgIFRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGFuIEludGVybmV0IEJlc3QgQ3VycmVu dCBQcmFjdGljZXMgZm9yIHRoZSBJbnRlcm5ldCBDb21tdW5pdHksIGFuZCByZXF1ZXN0cyBkaXNj dXNzaW9uIGFuZCBzdWdnZXN0aW9ucyBmb3IgaW1wcm92ZW1lbnRzLjwvdD48L2Fic3RyYWN0Pgo8 L2Zyb250Pgo8c2VyaWVzSW5mbyBuYW1lPSdCQ1AnIHZhbHVlPSc3MicvPgo8c2VyaWVzSW5mbyBu YW1lPSdSRkMnIHZhbHVlPSczNTUyJy8+CjxzZXJpZXNJbmZvIG5hbWU9J0RPSScgdmFsdWU9JzEw LjE3NDg3L1JGQzM1NTInLz4KPC9yZWZlcmVuY2U+CgoKCjxyZWZlcmVuY2UgIGFuY2hvcj0nUkZD MzM2NScgdGFyZ2V0PSdodHRwOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjMzM2NSc+Cjxm cm9udD4KPHRpdGxlPlN0cm9uZyBTZWN1cml0eSBSZXF1aXJlbWVudHMgZm9yIEludGVybmV0IEVu Z2luZWVyaW5nIFRhc2sgRm9yY2UgU3RhbmRhcmQgUHJvdG9jb2xzPC90aXRsZT4KPGF1dGhvciBp bml0aWFscz0nSi4nIHN1cm5hbWU9J1NjaGlsbGVyJyBmdWxsbmFtZT0nSi4gU2NoaWxsZXInPjxv cmdhbml6YXRpb24gLz48L2F1dGhvcj4KPGRhdGUgeWVhcj0nMjAwMicgbW9udGg9J0F1Z3VzdCcg Lz4KPC9mcm9udD4KPHNlcmllc0luZm8gbmFtZT0nQkNQJyB2YWx1ZT0nNjEnLz4KPHNlcmllc0lu Zm8gbmFtZT0nUkZDJyB2YWx1ZT0nMzM2NScvPgo8c2VyaWVzSW5mbyBuYW1lPSdET0knIHZhbHVl PScxMC4xNzQ4Ny9SRkMzMzY1Jy8+CjwvcmVmZXJlbmNlPgoKCgo8cmVmZXJlbmNlICBhbmNob3I9 J1JGQzM3MjQnIHRhcmdldD0naHR0cDovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzM3MjQn Pgo8ZnJvbnQ+Cjx0aXRsZT5UaGUgUmlzZSBvZiB0aGUgTWlkZGxlIGFuZCB0aGUgRnV0dXJlIG9m IEVuZC10by1FbmQ6IFJlZmxlY3Rpb25zIG9uIHRoZSBFdm9sdXRpb24gb2YgdGhlIEludGVybmV0 IEFyY2hpdGVjdHVyZTwvdGl0bGU+CjxhdXRob3IgaW5pdGlhbHM9J0ouJyBzdXJuYW1lPSdLZW1w ZicgZnVsbG5hbWU9J0ouIEtlbXBmJyByb2xlPSdlZGl0b3InPjxvcmdhbml6YXRpb24gLz48L2F1 dGhvcj4KPGF1dGhvciBpbml0aWFscz0nUi4nIHN1cm5hbWU9J0F1c3RlaW4nIGZ1bGxuYW1lPSdS LiBBdXN0ZWluJyByb2xlPSdlZGl0b3InPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4KPGF1dGhv cj48b3JnYW5pemF0aW9uPklBQjwvb3JnYW5pemF0aW9uPjwvYXV0aG9yPgo8ZGF0ZSB5ZWFyPScy MDA0JyBtb250aD0nTWFyY2gnIC8+CjxhYnN0cmFjdD48dD5UaGUgZW5kLXRvLWVuZCBwcmluY2lw bGUgaXMgdGhlIGNvcmUgYXJjaGl0ZWN0dXJhbCBndWlkZWxpbmUgb2YgdGhlIEludGVybmV0LiAg SW4gdGhpcyBkb2N1bWVudCwgd2UgYnJpZWZseSBleGFtaW5lIHRoZSBkZXZlbG9wbWVudCBvZiB0 aGUgZW5kLXRvLWVuZCBwcmluY2lwbGUgYXMgaXQgaGFzIGJlZW4gYXBwbGllZCB0byB0aGUgSW50 ZXJuZXQgYXJjaGl0ZWN0dXJlIG92ZXIgdGhlIHllYXJzLiAgV2UgZGlzY3VzcyBjdXJyZW50IHRy ZW5kcyBpbiB0aGUgZXZvbHV0aW9uIG9mIHRoZSBJbnRlcm5ldCBhcmNoaXRlY3R1cmUgaW4gcmVs YXRpb24gdG8gdGhlIGVuZC10by1lbmQgcHJpbmNpcGxlLCBhbmQgdHJ5IHRvIGRyYXcgc29tZSBj b25jbHVzaW9uIGFib3V0IHRoZSBldm9sdXRpb24gb2YgdGhlIGVuZC10by1lbmQgcHJpbmNpcGxl LCBhbmQgdGh1cyBmb3IgdGhlIEludGVybmV0IGFyY2hpdGVjdHVyZSB3aGljaCBpdCBzdXBwb3J0 cywgaW4gbGlnaHQgb2YgdGhlc2UgY3VycmVudCB0cmVuZHMuICBUaGlzIG1lbW8gcHJvdmlkZXMg aW5mb3JtYXRpb24gZm9yIHRoZSBJbnRlcm5ldCBjb21tdW5pdHkuPC90PjwvYWJzdHJhY3Q+Cjwv ZnJvbnQ+CjxzZXJpZXNJbmZvIG5hbWU9J1JGQycgdmFsdWU9JzM3MjQnLz4KPHNlcmllc0luZm8g bmFtZT0nRE9JJyB2YWx1ZT0nMTAuMTc0ODcvUkZDMzcyNCcvPgo8L3JlZmVyZW5jZT4KCgoKPHJl ZmVyZW5jZSAgYW5jaG9yPSdSRkMzOTM1JyB0YXJnZXQ9J2h0dHA6Ly93d3cucmZjLWVkaXRvci5v cmcvaW5mby9yZmMzOTM1Jz4KPGZyb250Pgo8dGl0bGU+QSBNaXNzaW9uIFN0YXRlbWVudCBmb3Ig dGhlIElFVEY8L3RpdGxlPgo8YXV0aG9yIGluaXRpYWxzPSdILicgc3VybmFtZT0nQWx2ZXN0cmFu ZCcgZnVsbG5hbWU9J0guIEFsdmVzdHJhbmQnPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4KPGRh dGUgeWVhcj0nMjAwNCcgbW9udGg9J09jdG9iZXInIC8+CjxhYnN0cmFjdD48dD5UaGlzIG1lbW8g Z2l2ZXMgYSBtaXNzaW9uIHN0YXRlbWVudCBmb3IgdGhlIElFVEYsIHRyaWVzIHRvIGRlZmluZSB0 aGUgdGVybXMgdXNlZCBpbiB0aGUgc3RhdGVtZW50IHN1ZmZpY2llbnRseSB0byBtYWtlIHRoZSBt aXNzaW9uIHN0YXRlbWVudCB1bmRlcnN0YW5kYWJsZSBhbmQgdXNlZnVsLCBhcmd1ZXMgd2h5IHRo ZSBJRVRGIG5lZWRzIGEgbWlzc2lvbiBzdGF0ZW1lbnQsIGFuZCB0cmllcyB0byBjYXB0dXJlIHNv bWUgb2YgdGhlIGRlYmF0ZSB0aGF0IGxlZCB0byB0aGlzIHBvaW50LiAgVGhpcyBkb2N1bWVudCBz cGVjaWZpZXMgYW4gSW50ZXJuZXQgQmVzdCBDdXJyZW50IFByYWN0aWNlcyBmb3IgdGhlIEludGVy bmV0IENvbW11bml0eSwgYW5kIHJlcXVlc3RzIGRpc2N1c3Npb24gYW5kIHN1Z2dlc3Rpb25zIGZv ciBpbXByb3ZlbWVudHMuPC90PjwvYWJzdHJhY3Q+CjwvZnJvbnQ+CjxzZXJpZXNJbmZvIG5hbWU9 J0JDUCcgdmFsdWU9Jzk1Jy8+CjxzZXJpZXNJbmZvIG5hbWU9J1JGQycgdmFsdWU9JzM5MzUnLz4K PHNlcmllc0luZm8gbmFtZT0nRE9JJyB2YWx1ZT0nMTAuMTc0ODcvUkZDMzkzNScvPgo8L3JlZmVy ZW5jZT4KCgoKPHJlZmVyZW5jZSAgYW5jaG9yPSdSRkM0MDg0JyB0YXJnZXQ9J2h0dHA6Ly93d3cu cmZjLWVkaXRvci5vcmcvaW5mby9yZmM0MDg0Jz4KPGZyb250Pgo8dGl0bGU+VGVybWlub2xvZ3kg Zm9yIERlc2NyaWJpbmcgSW50ZXJuZXQgQ29ubmVjdGl2aXR5PC90aXRsZT4KPGF1dGhvciBpbml0 aWFscz0nSi4nIHN1cm5hbWU9J0tsZW5zaW4nIGZ1bGxuYW1lPSdKLiBLbGVuc2luJz48b3JnYW5p emF0aW9uIC8+PC9hdXRob3I+CjxkYXRlIHllYXI9JzIwMDUnIG1vbnRoPSdNYXknIC8+CjxhYnN0 cmFjdD48dD5BcyB0aGUgSW50ZXJuZXQgaGFzIGV2b2x2ZWQsIG1hbnkgdHlwZXMgb2YgYXJyYW5n ZW1lbnRzIGhhdmUgYmVlbiBhZHZlcnRpc2VkIGFuZCBzb2xkIGFzICZxdW90O0ludGVybmV0IGNv bm5lY3Rpdml0eSZxdW90Oy4gIEJlY2F1c2UgdGhlc2UgbWF5IGRpZmZlciBzaWduaWZpY2FudGx5 IGluIHRoZSBjYXBhYmlsaXRpZXMgdGhleSBvZmZlciwgdGhlIHJhbmdlIG9mIG9wdGlvbnMsIGFu ZCB0aGUgbGFjayBvZiBhbnkgc3RhbmRhcmQgdGVybWlub2xvZ3ksIHRoZSBlZmZvcnQgdG8gZGlz dGluZ3Vpc2ggYmV0d2VlbiB0aGVzZSBzZXJ2aWNlcyBoYXMgY2F1c2VkIGNvbnNpZGVyYWJsZSBj b25zdW1lciBjb25mdXNpb24uICBUaGlzIGRvY3VtZW50IHByb3ZpZGVzIGEgbGlzdCBvZiB0ZXJt cyBhbmQgZGVmaW5pdGlvbnMgdGhhdCBtYXkgYmUgaGVscGZ1bCB0byBwcm92aWRlcnMsIGNvbnN1 bWVycywgYW5kLCBwb3RlbnRpYWxseSwgcmVndWxhdG9ycyBpbiBjbGFyaWZ5aW5nIHRoZSB0eXBl IGFuZCBjaGFyYWN0ZXIgb2Ygc2VydmljZXMgYmVpbmcgb2ZmZXJlZC4gIFRoaXMgZG9jdW1lbnQg c3BlY2lmaWVzIGFuIEludGVybmV0IEJlc3QgQ3VycmVudCBQcmFjdGljZXMgZm9yIHRoZSBJbnRl cm5ldCBDb21tdW5pdHksIGFuZCByZXF1ZXN0cyBkaXNjdXNzaW9uIGFuZCBzdWdnZXN0aW9ucyBm b3IgaW1wcm92ZW1lbnRzLjwvdD48L2Fic3RyYWN0Pgo8L2Zyb250Pgo8c2VyaWVzSW5mbyBuYW1l PSdCQ1AnIHZhbHVlPScxMDQnLz4KPHNlcmllc0luZm8gbmFtZT0nUkZDJyB2YWx1ZT0nNDA4NCcv Pgo8c2VyaWVzSW5mbyBuYW1lPSdET0knIHZhbHVlPScxMC4xNzQ4Ny9SRkM0MDg0Jy8+CjwvcmVm ZXJlbmNlPgoKCgo8cmVmZXJlbmNlICBhbmNob3I9J1JGQzQwMzMnIHRhcmdldD0naHR0cDovL3d3 dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzQwMzMnPgo8ZnJvbnQ+Cjx0aXRsZT5ETlMgU2VjdXJp dHkgSW50cm9kdWN0aW9uIGFuZCBSZXF1aXJlbWVudHM8L3RpdGxlPgo8YXV0aG9yIGluaXRpYWxz PSdSLicgc3VybmFtZT0nQXJlbmRzJyBmdWxsbmFtZT0nUi4gQXJlbmRzJz48b3JnYW5pemF0aW9u IC8+PC9hdXRob3I+CjxhdXRob3IgaW5pdGlhbHM9J1IuJyBzdXJuYW1lPSdBdXN0ZWluJyBmdWxs bmFtZT0nUi4gQXVzdGVpbic+PG9yZ2FuaXphdGlvbiAvPjwvYXV0aG9yPgo8YXV0aG9yIGluaXRp YWxzPSdNLicgc3VybmFtZT0nTGFyc29uJyBmdWxsbmFtZT0nTS4gTGFyc29uJz48b3JnYW5pemF0 aW9uIC8+PC9hdXRob3I+CjxhdXRob3IgaW5pdGlhbHM9J0QuJyBzdXJuYW1lPSdNYXNzZXknIGZ1 bGxuYW1lPSdELiBNYXNzZXknPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4KPGF1dGhvciBpbml0 aWFscz0nUy4nIHN1cm5hbWU9J1Jvc2UnIGZ1bGxuYW1lPSdTLiBSb3NlJz48b3JnYW5pemF0aW9u IC8+PC9hdXRob3I+CjxkYXRlIHllYXI9JzIwMDUnIG1vbnRoPSdNYXJjaCcgLz4KPGFic3RyYWN0 Pjx0PlRoZSBEb21haW4gTmFtZSBTeXN0ZW0gU2VjdXJpdHkgRXh0ZW5zaW9ucyAoRE5TU0VDKSBh ZGQgZGF0YSBvcmlnaW4gYXV0aGVudGljYXRpb24gYW5kIGRhdGEgaW50ZWdyaXR5IHRvIHRoZSBE b21haW4gTmFtZSBTeXN0ZW0uICBUaGlzIGRvY3VtZW50IGludHJvZHVjZXMgdGhlc2UgZXh0ZW5z aW9ucyBhbmQgZGVzY3JpYmVzIHRoZWlyIGNhcGFiaWxpdGllcyBhbmQgbGltaXRhdGlvbnMuICBU aGlzIGRvY3VtZW50IGFsc28gZGlzY3Vzc2VzIHRoZSBzZXJ2aWNlcyB0aGF0IHRoZSBETlMgc2Vj dXJpdHkgZXh0ZW5zaW9ucyBkbyBhbmQgZG8gbm90IHByb3ZpZGUuICBMYXN0LCB0aGlzIGRvY3Vt ZW50IGRlc2NyaWJlcyB0aGUgaW50ZXJyZWxhdGlvbnNoaXBzIGJldHdlZW4gdGhlIGRvY3VtZW50 cyB0aGF0IGNvbGxlY3RpdmVseSBkZXNjcmliZSBETlNTRUMuICBbU1RBTkRBUkRTLVRSQUNLXTwv dD48L2Fic3RyYWN0Pgo8L2Zyb250Pgo8c2VyaWVzSW5mbyBuYW1lPSdSRkMnIHZhbHVlPSc0MDMz Jy8+CjxzZXJpZXNJbmZvIG5hbWU9J0RPSScgdmFsdWU9JzEwLjE3NDg3L1JGQzQwMzMnLz4KPC9y ZWZlcmVuY2U+CgoKCjxyZWZlcmVuY2UgIGFuY2hvcj0nUkZDNDEwMScgdGFyZ2V0PSdodHRwOi8v d3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjNDEwMSc+Cjxmcm9udD4KPHRpdGxlPldyaXRpbmcg UHJvdG9jb2wgTW9kZWxzPC90aXRsZT4KPGF1dGhvciBpbml0aWFscz0nRS4nIHN1cm5hbWU9J1Jl c2NvcmxhJyBmdWxsbmFtZT0nRS4gUmVzY29ybGEnPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4K PGF1dGhvcj48b3JnYW5pemF0aW9uPklBQjwvb3JnYW5pemF0aW9uPjwvYXV0aG9yPgo8ZGF0ZSB5 ZWFyPScyMDA1JyBtb250aD0nSnVuZScgLz4KPGFic3RyYWN0Pjx0PlRoZSBJRVRGIHByb2Nlc3Mg ZGVwZW5kcyBvbiBwZWVyIHJldmlldy4gIEhvd2V2ZXIsIElFVEYgZG9jdW1lbnRzIGFyZSBnZW5l cmFsbHkgd3JpdHRlbiB0byBiZSB1c2VmdWwgZm9yIGltcGxlbWVudG9ycywgbm90IHJldmlld2Vy cy4gIEluIHBhcnRpY3VsYXIsIHdoaWxlIGdyZWF0IGNhcmUgaXMgZ2VuZXJhbGx5IHRha2VuIHRv IHByb3ZpZGUgYSBjb21wbGV0ZSBkZXNjcmlwdGlvbiBvZiB0aGUgc3RhdGUgbWFjaGluZXMgYW5k IGJpdHMgb24gdGhlIHdpcmUsIHRoaXMgbGV2ZWwgb2YgZGV0YWlsIHRlbmRzIHRvIGdldCBpbiB0 aGUgd2F5IG9mIGluaXRpYWwgdW5kZXJzdGFuZGluZy4gIFRoaXMgZG9jdW1lbnQgZGVzY3JpYmVz IGFuIGFwcHJvYWNoIGZvciBwcm92aWRpbmcgcHJvdG9jb2wgJnF1b3Q7bW9kZWxzJnF1b3Q7IHRo YXQgYWxsb3cgcmV2aWV3ZXJzIHRvIHF1aWNrbHkgZ3Jhc3AgdGhlIGVzc2VuY2Ugb2YgYSBzeXN0 ZW0uICBUaGlzIG1lbW8gcHJvdmlkZXMgaW5mb3JtYXRpb24gZm9yIHRoZSBJbnRlcm5ldCBjb21t dW5pdHkuPC90PjwvYWJzdHJhY3Q+CjwvZnJvbnQ+CjxzZXJpZXNJbmZvIG5hbWU9J1JGQycgdmFs dWU9JzQxMDEnLz4KPHNlcmllc0luZm8gbmFtZT0nRE9JJyB2YWx1ZT0nMTAuMTc0ODcvUkZDNDEw MScvPgo8L3JlZmVyZW5jZT4KCgoKPHJlZmVyZW5jZSAgYW5jaG9yPSdSRkM0MzAzJyB0YXJnZXQ9 J2h0dHA6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5mby9yZmM0MzAzJz4KPGZyb250Pgo8dGl0bGU+ SVAgRW5jYXBzdWxhdGluZyBTZWN1cml0eSBQYXlsb2FkIChFU1ApPC90aXRsZT4KPGF1dGhvciBp bml0aWFscz0nUy4nIHN1cm5hbWU9J0tlbnQnIGZ1bGxuYW1lPSdTLiBLZW50Jz48b3JnYW5pemF0 aW9uIC8+PC9hdXRob3I+CjxkYXRlIHllYXI9JzIwMDUnIG1vbnRoPSdEZWNlbWJlcicgLz4KPGFi c3RyYWN0Pjx0PlRoaXMgZG9jdW1lbnQgZGVzY3JpYmVzIGFuIHVwZGF0ZWQgdmVyc2lvbiBvZiB0 aGUgRW5jYXBzdWxhdGluZyBTZWN1cml0eSBQYXlsb2FkIChFU1ApIHByb3RvY29sLCB3aGljaCBp cyBkZXNpZ25lZCB0byBwcm92aWRlIGEgbWl4IG9mIHNlY3VyaXR5IHNlcnZpY2VzIGluIElQdjQg YW5kIElQdjYuICBFU1AgaXMgdXNlZCB0byBwcm92aWRlIGNvbmZpZGVudGlhbGl0eSwgZGF0YSBv cmlnaW4gYXV0aGVudGljYXRpb24sIGNvbm5lY3Rpb25sZXNzIGludGVncml0eSwgYW4gYW50aS1y ZXBsYXkgc2VydmljZSAoYSBmb3JtIG9mIHBhcnRpYWwgc2VxdWVuY2UgaW50ZWdyaXR5KSwgYW5k IGxpbWl0ZWQgdHJhZmZpYyBmbG93IGNvbmZpZGVudGlhbGl0eS4gIFRoaXMgZG9jdW1lbnQgb2Jz b2xldGVzIFJGQyAyNDA2IChOb3ZlbWJlciAxOTk4KS4gIFtTVEFOREFSRFMtVFJBQ0tdPC90Pjwv YWJzdHJhY3Q+CjwvZnJvbnQ+CjxzZXJpZXNJbmZvIG5hbWU9J1JGQycgdmFsdWU9JzQzMDMnLz4K PHNlcmllc0luZm8gbmFtZT0nRE9JJyB2YWx1ZT0nMTAuMTc0ODcvUkZDNDMwMycvPgo8L3JlZmVy ZW5jZT4KCgoKPHJlZmVyZW5jZSAgYW5jaG9yPSdSRkM0OTA2JyB0YXJnZXQ9J2h0dHA6Ly93d3cu cmZjLWVkaXRvci5vcmcvaW5mby9yZmM0OTA2Jz4KPGZyb250Pgo8dGl0bGU+VHJhbnNwb3J0IG9m IExheWVyIDIgRnJhbWVzIE92ZXIgTVBMUzwvdGl0bGU+CjxhdXRob3IgaW5pdGlhbHM9J0wuJyBz dXJuYW1lPSdNYXJ0aW5pJyBmdWxsbmFtZT0nTC4gTWFydGluaScgcm9sZT0nZWRpdG9yJz48b3Jn YW5pemF0aW9uIC8+PC9hdXRob3I+CjxhdXRob3IgaW5pdGlhbHM9J0UuJyBzdXJuYW1lPSdSb3Nl bicgZnVsbG5hbWU9J0UuIFJvc2VuJyByb2xlPSdlZGl0b3InPjxvcmdhbml6YXRpb24gLz48L2F1 dGhvcj4KPGF1dGhvciBpbml0aWFscz0nTi4nIHN1cm5hbWU9J0VsLUFhd2FyJyBmdWxsbmFtZT0n Ti4gRWwtQWF3YXInIHJvbGU9J2VkaXRvcic+PG9yZ2FuaXphdGlvbiAvPjwvYXV0aG9yPgo8ZGF0 ZSB5ZWFyPScyMDA3JyBtb250aD0nSnVuZScgLz4KPGFic3RyYWN0Pjx0PlRoaXMgZG9jdW1lbnQg ZGVzY3JpYmVzIG1ldGhvZHMgZm9yIHRyYW5zcG9ydGluZyB0aGUgUHJvdG9jb2wgRGF0YSBVbml0 cyAoUERVcykgb2YgbGF5ZXIgMiBwcm90b2NvbHMgc3VjaCBhcyBGcmFtZSBSZWxheSwgQXN5bmNo cm9ub3VzIFRyYW5zZmVyIE1vZGUgKEFUTSkgQWRhcHRpb24gTGF5ZXIgNSAoQUFMNSksIGFuZCBF dGhlcm5ldCwgYW5kIGZvciBwcm92aWRpbmcgYSBTeW5jaHJvbml6ZWQgT3B0aWNhbCBOZXR3b3Jr IChTT05FVCkgY2lyY3VpdCBlbXVsYXRpb24gc2VydmljZSBhY3Jvc3MgYW4gTVBMUyBuZXR3b3Jr LiAgVGhpcyBkb2N1bWVudCBkZXNjcmliZXMgdGhlIHNvLWNhbGxlZCAmcXVvdDtkcmFmdC1tYXJ0 aW5pJnF1b3Q7IHByb3RvY29sLCB3aGljaCBoYXMgc2luY2UgYmVlbiBzdXBlcnNlZGVkIGJ5IHRo ZSBQc2V1ZG93aXJlIEVtdWxhdGlvbiBFZGdlIHRvIEVkZ2UgV29ya2luZyBHcm91cCBzcGVjaWZp Y2F0aW9ucyBkZXNjcmliZWQgaW4gUkZDIDQ0NDcgYW5kIHJlbGF0ZWQgZG9jdW1lbnRzLiAgVGhp cyBtZW1vIGRlZmluZXMgYSBIaXN0b3JpYyBEb2N1bWVudCBmb3IgdGhlIEludGVybmV0IGNvbW11 bml0eS48L3Q+PC9hYnN0cmFjdD4KPC9mcm9udD4KPHNlcmllc0luZm8gbmFtZT0nUkZDJyB2YWx1 ZT0nNDkwNicvPgo8c2VyaWVzSW5mbyBuYW1lPSdET0knIHZhbHVlPScxMC4xNzQ4Ny9SRkM0OTA2 Jy8+CjwvcmVmZXJlbmNlPgoKCgo8cmVmZXJlbmNlICBhbmNob3I9J1JGQzQ5NDknIHRhcmdldD0n aHR0cDovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzQ5NDknPgo8ZnJvbnQ+Cjx0aXRsZT5J bnRlcm5ldCBTZWN1cml0eSBHbG9zc2FyeSwgVmVyc2lvbiAyPC90aXRsZT4KPGF1dGhvciBpbml0 aWFscz0nUi4nIHN1cm5hbWU9J1NoaXJleScgZnVsbG5hbWU9J1IuIFNoaXJleSc+PG9yZ2FuaXph dGlvbiAvPjwvYXV0aG9yPgo8ZGF0ZSB5ZWFyPScyMDA3JyBtb250aD0nQXVndXN0JyAvPgo8YWJz dHJhY3Q+PHQ+VGhpcyBHbG9zc2FyeSBwcm92aWRlcyBkZWZpbml0aW9ucywgYWJicmV2aWF0aW9u cywgYW5kIGV4cGxhbmF0aW9ucyBvZiB0ZXJtaW5vbG9neSBmb3IgaW5mb3JtYXRpb24gc3lzdGVt IHNlY3VyaXR5LiBUaGUgMzM0IHBhZ2VzIG9mIGVudHJpZXMgb2ZmZXIgcmVjb21tZW5kYXRpb25z IHRvIGltcHJvdmUgdGhlIGNvbXByZWhlbnNpYmlsaXR5IG9mIHdyaXR0ZW4gbWF0ZXJpYWwgdGhh dCBpcyBnZW5lcmF0ZWQgaW4gdGhlIEludGVybmV0IFN0YW5kYXJkcyBQcm9jZXNzIChSRkMgMjAy NikuIFRoZSByZWNvbW1lbmRhdGlvbnMgZm9sbG93IHRoZSBwcmluY2lwbGVzIHRoYXQgc3VjaCB3 cml0aW5nIHNob3VsZCAoYSkgdXNlIHRoZSBzYW1lIHRlcm0gb3IgZGVmaW5pdGlvbiB3aGVuZXZl ciB0aGUgc2FtZSBjb25jZXB0IGlzIG1lbnRpb25lZDsgKGIpIHVzZSB0ZXJtcyBpbiB0aGVpciBw bGFpbmVzdCwgZGljdGlvbmFyeSBzZW5zZTsgKGMpIHVzZSB0ZXJtcyB0aGF0IGFyZSBhbHJlYWR5 IHdlbGwtZXN0YWJsaXNoZWQgaW4gb3BlbiBwdWJsaWNhdGlvbnM7IGFuZCAoZCkgYXZvaWQgdGVy bXMgdGhhdCBlaXRoZXIgZmF2b3IgYSBwYXJ0aWN1bGFyIHZlbmRvciBvciBmYXZvciBhIHBhcnRp Y3VsYXIgdGVjaG5vbG9neSBvciBtZWNoYW5pc20gb3ZlciBvdGhlciwgY29tcGV0aW5nIHRlY2hu aXF1ZXMgdGhhdCBhbHJlYWR5IGV4aXN0IG9yIGNvdWxkIGJlIGRldmVsb3BlZC4gIFRoaXMgbWVt byBwcm92aWRlcyBpbmZvcm1hdGlvbiBmb3IgdGhlIEludGVybmV0IGNvbW11bml0eS48L3Q+PC9h YnN0cmFjdD4KPC9mcm9udD4KPHNlcmllc0luZm8gbmFtZT0nRllJJyB2YWx1ZT0nMzYnLz4KPHNl cmllc0luZm8gbmFtZT0nUkZDJyB2YWx1ZT0nNDk0OScvPgo8c2VyaWVzSW5mbyBuYW1lPSdET0kn IHZhbHVlPScxMC4xNzQ4Ny9SRkM0OTQ5Jy8+CjwvcmVmZXJlbmNlPgoKCgo8cmVmZXJlbmNlICBh bmNob3I9J1JGQzUzMjEnIHRhcmdldD0naHR0cDovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3Jm YzUzMjEnPgo8ZnJvbnQ+Cjx0aXRsZT5TaW1wbGUgTWFpbCBUcmFuc2ZlciBQcm90b2NvbDwvdGl0 bGU+CjxhdXRob3IgaW5pdGlhbHM9J0ouJyBzdXJuYW1lPSdLbGVuc2luJyBmdWxsbmFtZT0nSi4g S2xlbnNpbic+PG9yZ2FuaXphdGlvbiAvPjwvYXV0aG9yPgo8ZGF0ZSB5ZWFyPScyMDA4JyBtb250 aD0nT2N0b2JlcicgLz4KPGFic3RyYWN0Pjx0PlRoaXMgZG9jdW1lbnQgaXMgYSBzcGVjaWZpY2F0 aW9uIG9mIHRoZSBiYXNpYyBwcm90b2NvbCBmb3IgSW50ZXJuZXQgZWxlY3Ryb25pYyBtYWlsIHRy YW5zcG9ydC4gIEl0IGNvbnNvbGlkYXRlcywgdXBkYXRlcywgYW5kIGNsYXJpZmllcyBzZXZlcmFs IHByZXZpb3VzIGRvY3VtZW50cywgbWFraW5nIGFsbCBvciBwYXJ0cyBvZiBtb3N0IG9mIHRoZW0g b2Jzb2xldGUuICBJdCBjb3ZlcnMgdGhlIFNNVFAgZXh0ZW5zaW9uIG1lY2hhbmlzbXMgYW5kIGJl c3QgcHJhY3RpY2VzIGZvciB0aGUgY29udGVtcG9yYXJ5IEludGVybmV0LCBidXQgZG9lcyBub3Qg cHJvdmlkZSBkZXRhaWxzIGFib3V0IHBhcnRpY3VsYXIgZXh0ZW5zaW9ucy4gIEFsdGhvdWdoIFNN VFAgd2FzIGRlc2lnbmVkIGFzIGEgbWFpbCB0cmFuc3BvcnQgYW5kIGRlbGl2ZXJ5IHByb3RvY29s LCB0aGlzIHNwZWNpZmljYXRpb24gYWxzbyBjb250YWlucyBpbmZvcm1hdGlvbiB0aGF0IGlzIGlt cG9ydGFudCB0byBpdHMgdXNlIGFzIGEgJnF1b3Q7bWFpbCBzdWJtaXNzaW9uJnF1b3Q7IHByb3Rv Y29sIGZvciAmcXVvdDtzcGxpdC1VQSZxdW90OyAoVXNlciBBZ2VudCkgbWFpbCByZWFkaW5nIHN5 c3RlbXMgYW5kIG1vYmlsZSBlbnZpcm9ubWVudHMuICBbU1RBTkRBUkRTLVRSQUNLXTwvdD48L2Fi c3RyYWN0Pgo8L2Zyb250Pgo8c2VyaWVzSW5mbyBuYW1lPSdSRkMnIHZhbHVlPSc1MzIxJy8+Cjxz ZXJpZXNJbmZvIG5hbWU9J0RPSScgdmFsdWU9JzEwLjE3NDg3L1JGQzUzMjEnLz4KPC9yZWZlcmVu Y2U+CgoKCjxyZWZlcmVuY2UgIGFuY2hvcj0nUkZDNTk0NCcgdGFyZ2V0PSdodHRwOi8vd3d3LnJm Yy1lZGl0b3Iub3JnL2luZm8vcmZjNTk0NCc+Cjxmcm9udD4KPHRpdGxlPklQIE1vYmlsaXR5IFN1 cHBvcnQgZm9yIElQdjQsIFJldmlzZWQ8L3RpdGxlPgo8YXV0aG9yIGluaXRpYWxzPSdDLicgc3Vy bmFtZT0nUGVya2lucycgZnVsbG5hbWU9J0MuIFBlcmtpbnMnIHJvbGU9J2VkaXRvcic+PG9yZ2Fu aXphdGlvbiAvPjwvYXV0aG9yPgo8ZGF0ZSB5ZWFyPScyMDEwJyBtb250aD0nTm92ZW1iZXInIC8+ CjxhYnN0cmFjdD48dD5UaGlzIGRvY3VtZW50IHNwZWNpZmllcyBwcm90b2NvbCBlbmhhbmNlbWVu dHMgdGhhdCBhbGxvdyB0cmFuc3BhcmVudCByb3V0aW5nIG9mIElQIGRhdGFncmFtcyB0byBtb2Jp bGUgbm9kZXMgaW4gdGhlIEludGVybmV0LiAgRWFjaCBtb2JpbGUgbm9kZSBpcyBhbHdheXMgaWRl bnRpZmllZCBieSBpdHMgaG9tZSBhZGRyZXNzLCByZWdhcmRsZXNzIG9mIGl0cyBjdXJyZW50IHBv aW50IG9mIGF0dGFjaG1lbnQgdG8gdGhlIEludGVybmV0LiAgV2hpbGUgc2l0dWF0ZWQgYXdheSBm cm9tIGl0cyBob21lLCBhIG1vYmlsZSBub2RlIGlzIGFsc28gYXNzb2NpYXRlZCB3aXRoIGEgY2Fy ZS1vZiBhZGRyZXNzLCB3aGljaCBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCBpdHMgY3VycmVu dCBwb2ludCBvZiBhdHRhY2htZW50IHRvIHRoZSBJbnRlcm5ldC4gIFRoZSBwcm90b2NvbCBwcm92 aWRlcyBmb3IgcmVnaXN0ZXJpbmcgdGhlIGNhcmUtb2YgYWRkcmVzcyB3aXRoIGEgaG9tZSBhZ2Vu dC4gIFRoZSBob21lIGFnZW50IHNlbmRzIGRhdGFncmFtcyBkZXN0aW5lZCBmb3IgdGhlIG1vYmls ZSBub2RlIHRocm91Z2ggYSB0dW5uZWwgdG8gdGhlIGNhcmUtb2YgYWRkcmVzcy4gIEFmdGVyIGFy cml2aW5nIGF0IHRoZSBlbmQgb2YgdGhlIHR1bm5lbCwgZWFjaCBkYXRhZ3JhbSBpcyB0aGVuIGRl bGl2ZXJlZCB0byB0aGUgbW9iaWxlIG5vZGUuICBbU1RBTkRBUkRTLVRSQUNLXTwvdD48L2Fic3Ry YWN0Pgo8L2Zyb250Pgo8c2VyaWVzSW5mbyBuYW1lPSdSRkMnIHZhbHVlPSc1OTQ0Jy8+CjxzZXJp ZXNJbmZvIG5hbWU9J0RPSScgdmFsdWU9JzEwLjE3NDg3L1JGQzU5NDQnLz4KPC9yZWZlcmVuY2U+ CgoKCjxyZWZlcmVuY2UgIGFuY2hvcj0nUkZDNjEyMCcgdGFyZ2V0PSdodHRwOi8vd3d3LnJmYy1l ZGl0b3Iub3JnL2luZm8vcmZjNjEyMCc+Cjxmcm9udD4KPHRpdGxlPkV4dGVuc2libGUgTWVzc2Fn aW5nIGFuZCBQcmVzZW5jZSBQcm90b2NvbCAoWE1QUCk6IENvcmU8L3RpdGxlPgo8YXV0aG9yIGlu aXRpYWxzPSdQLicgc3VybmFtZT0nU2FpbnQtQW5kcmUnIGZ1bGxuYW1lPSdQLiBTYWludC1BbmRy ZSc+PG9yZ2FuaXphdGlvbiAvPjwvYXV0aG9yPgo8ZGF0ZSB5ZWFyPScyMDExJyBtb250aD0nTWFy Y2gnIC8+CjxhYnN0cmFjdD48dD5UaGUgRXh0ZW5zaWJsZSBNZXNzYWdpbmcgYW5kIFByZXNlbmNl IFByb3RvY29sIChYTVBQKSBpcyBhbiBhcHBsaWNhdGlvbiBwcm9maWxlIG9mIHRoZSBFeHRlbnNp YmxlIE1hcmt1cCBMYW5ndWFnZSAoWE1MKSB0aGF0IGVuYWJsZXMgdGhlIG5lYXItcmVhbC10aW1l IGV4Y2hhbmdlIG9mIHN0cnVjdHVyZWQgeWV0IGV4dGVuc2libGUgZGF0YSBiZXR3ZWVuIGFueSB0 d28gb3IgbW9yZSBuZXR3b3JrIGVudGl0aWVzLiAgVGhpcyBkb2N1bWVudCBkZWZpbmVzIFhNUFAn cyBjb3JlIHByb3RvY29sIG1ldGhvZHM6IHNldHVwIGFuZCB0ZWFyZG93biBvZiBYTUwgc3RyZWFt cywgY2hhbm5lbCBlbmNyeXB0aW9uLCBhdXRoZW50aWNhdGlvbiwgZXJyb3IgaGFuZGxpbmcsIGFu ZCBjb21tdW5pY2F0aW9uIHByaW1pdGl2ZXMgZm9yIG1lc3NhZ2luZywgbmV0d29yayBhdmFpbGFi aWxpdHkgKCZxdW90O3ByZXNlbmNlJnF1b3Q7KSwgYW5kIHJlcXVlc3QtcmVzcG9uc2UgaW50ZXJh Y3Rpb25zLiAgVGhpcyBkb2N1bWVudCBvYnNvbGV0ZXMgUkZDIDM5MjAuICBbU1RBTkRBUkRTLVRS QUNLXTwvdD48L2Fic3RyYWN0Pgo8L2Zyb250Pgo8c2VyaWVzSW5mbyBuYW1lPSdSRkMnIHZhbHVl PSc2MTIwJy8+CjxzZXJpZXNJbmZvIG5hbWU9J0RPSScgdmFsdWU9JzEwLjE3NDg3L1JGQzYxMjAn Lz4KPC9yZWZlcmVuY2U+CgoKCjxyZWZlcmVuY2UgIGFuY2hvcj0nUkZDNjM2NScgdGFyZ2V0PSdo dHRwOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjNjM2NSc+Cjxmcm9udD4KPHRpdGxlPlRl cm1pbm9sb2d5IFVzZWQgaW4gSW50ZXJuYXRpb25hbGl6YXRpb24gaW4gdGhlIElFVEY8L3RpdGxl Pgo8YXV0aG9yIGluaXRpYWxzPSdQLicgc3VybmFtZT0nSG9mZm1hbicgZnVsbG5hbWU9J1AuIEhv ZmZtYW4nPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4KPGF1dGhvciBpbml0aWFscz0nSi4nIHN1 cm5hbWU9J0tsZW5zaW4nIGZ1bGxuYW1lPSdKLiBLbGVuc2luJz48b3JnYW5pemF0aW9uIC8+PC9h dXRob3I+CjxkYXRlIHllYXI9JzIwMTEnIG1vbnRoPSdTZXB0ZW1iZXInIC8+CjxhYnN0cmFjdD48 dD5UaGlzIGRvY3VtZW50IHByb3ZpZGVzIGEgbGlzdCBvZiB0ZXJtcyB1c2VkIGluIHRoZSBJRVRG IHdoZW4gZGlzY3Vzc2luZyBpbnRlcm5hdGlvbmFsaXphdGlvbi4gIFRoZSBwdXJwb3NlIGlzIHRv IGhlbHAgZnJhbWUgZGlzY3Vzc2lvbnMgb2YgaW50ZXJuYXRpb25hbGl6YXRpb24gaW4gdGhlIHZh cmlvdXMgYXJlYXMgb2YgdGhlIElFVEYgYW5kIHRvIGhlbHAgaW50cm9kdWNlIHRoZSBtYWluIGNv bmNlcHRzIHRvIElFVEYgcGFydGljaXBhbnRzLiAgIFRoaXMgbWVtbyBkb2N1bWVudHMgYW4gSW50 ZXJuZXQgQmVzdCBDdXJyZW50IFByYWN0aWNlLjwvdD48L2Fic3RyYWN0Pgo8L2Zyb250Pgo8c2Vy aWVzSW5mbyBuYW1lPSdCQ1AnIHZhbHVlPScxNjYnLz4KPHNlcmllc0luZm8gbmFtZT0nUkZDJyB2 YWx1ZT0nNjM2NScvPgo8c2VyaWVzSW5mbyBuYW1lPSdET0knIHZhbHVlPScxMC4xNzQ4Ny9SRkM2 MzY1Jy8+CjwvcmVmZXJlbmNlPgoKCgo8cmVmZXJlbmNlICBhbmNob3I9J1JGQzcyNTgnIHRhcmdl dD0naHR0cDovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzcyNTgnPgo8ZnJvbnQ+Cjx0aXRs ZT5QZXJ2YXNpdmUgTW9uaXRvcmluZyBJcyBhbiBBdHRhY2s8L3RpdGxlPgo8YXV0aG9yIGluaXRp YWxzPSdTLicgc3VybmFtZT0nRmFycmVsbCcgZnVsbG5hbWU9J1MuIEZhcnJlbGwnPjxvcmdhbml6 YXRpb24gLz48L2F1dGhvcj4KPGF1dGhvciBpbml0aWFscz0nSC4nIHN1cm5hbWU9J1RzY2hvZmVu aWcnIGZ1bGxuYW1lPSdILiBUc2Nob2ZlbmlnJz48b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+Cjxk YXRlIHllYXI9JzIwMTQnIG1vbnRoPSdNYXknIC8+CjxhYnN0cmFjdD48dD5QZXJ2YXNpdmUgbW9u aXRvcmluZyBpcyBhIHRlY2huaWNhbCBhdHRhY2sgdGhhdCBzaG91bGQgYmUgbWl0aWdhdGVkIGlu IHRoZSBkZXNpZ24gb2YgSUVURiBwcm90b2NvbHMsIHdoZXJlIHBvc3NpYmxlLjwvdD48L2Fic3Ry YWN0Pgo8L2Zyb250Pgo8c2VyaWVzSW5mbyBuYW1lPSdCQ1AnIHZhbHVlPScxODgnLz4KPHNlcmll c0luZm8gbmFtZT0nUkZDJyB2YWx1ZT0nNzI1OCcvPgo8c2VyaWVzSW5mbyBuYW1lPSdET0knIHZh bHVlPScxMC4xNzQ4Ny9SRkM3MjU4Jy8+CjwvcmVmZXJlbmNlPgoKCgo8cmVmZXJlbmNlICBhbmNo b3I9J1JGQzc1NDAnIHRhcmdldD0naHR0cDovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzc1 NDAnPgo8ZnJvbnQ+Cjx0aXRsZT5IeXBlcnRleHQgVHJhbnNmZXIgUHJvdG9jb2wgVmVyc2lvbiAy IChIVFRQLzIpPC90aXRsZT4KPGF1dGhvciBpbml0aWFscz0nTS4nIHN1cm5hbWU9J0JlbHNoZScg ZnVsbG5hbWU9J00uIEJlbHNoZSc+PG9yZ2FuaXphdGlvbiAvPjwvYXV0aG9yPgo8YXV0aG9yIGlu aXRpYWxzPSdSLicgc3VybmFtZT0nUGVvbicgZnVsbG5hbWU9J1IuIFBlb24nPjxvcmdhbml6YXRp b24gLz48L2F1dGhvcj4KPGF1dGhvciBpbml0aWFscz0nTS4nIHN1cm5hbWU9J1Rob21zb24nIGZ1 bGxuYW1lPSdNLiBUaG9tc29uJyByb2xlPSdlZGl0b3InPjxvcmdhbml6YXRpb24gLz48L2F1dGhv cj4KPGRhdGUgeWVhcj0nMjAxNScgbW9udGg9J01heScgLz4KPGFic3RyYWN0Pjx0PlRoaXMgc3Bl Y2lmaWNhdGlvbiBkZXNjcmliZXMgYW4gb3B0aW1pemVkIGV4cHJlc3Npb24gb2YgdGhlIHNlbWFu dGljcyBvZiB0aGUgSHlwZXJ0ZXh0IFRyYW5zZmVyIFByb3RvY29sIChIVFRQKSwgcmVmZXJyZWQg dG8gYXMgSFRUUCB2ZXJzaW9uIDIgKEhUVFAvMikuICBIVFRQLzIgZW5hYmxlcyBhIG1vcmUgZWZm aWNpZW50IHVzZSBvZiBuZXR3b3JrIHJlc291cmNlcyBhbmQgYSByZWR1Y2VkIHBlcmNlcHRpb24g b2YgbGF0ZW5jeSBieSBpbnRyb2R1Y2luZyBoZWFkZXIgZmllbGQgY29tcHJlc3Npb24gYW5kIGFs bG93aW5nIG11bHRpcGxlIGNvbmN1cnJlbnQgZXhjaGFuZ2VzIG9uIHRoZSBzYW1lIGNvbm5lY3Rp b24uICBJdCBhbHNvIGludHJvZHVjZXMgdW5zb2xpY2l0ZWQgcHVzaCBvZiByZXByZXNlbnRhdGlv bnMgZnJvbSBzZXJ2ZXJzIHRvIGNsaWVudHMuPC90Pjx0PlRoaXMgc3BlY2lmaWNhdGlvbiBpcyBh biBhbHRlcm5hdGl2ZSB0bywgYnV0IGRvZXMgbm90IG9ic29sZXRlLCB0aGUgSFRUUC8xLjEgbWVz c2FnZSBzeW50YXguICBIVFRQJ3MgZXhpc3Rpbmcgc2VtYW50aWNzIHJlbWFpbiB1bmNoYW5nZWQu PC90PjwvYWJzdHJhY3Q+CjwvZnJvbnQ+CjxzZXJpZXNJbmZvIG5hbWU9J1JGQycgdmFsdWU9Jzc1 NDAnLz4KPHNlcmllc0luZm8gbmFtZT0nRE9JJyB2YWx1ZT0nMTAuMTc0ODcvUkZDNzU0MCcvPgo8 L3JlZmVyZW5jZT4KCgoKPHJlZmVyZW5jZSAgYW5jaG9yPSdSRkM3NTc0JyB0YXJnZXQ9J2h0dHA6 Ly93d3cucmZjLWVkaXRvci5vcmcvaW5mby9yZmM3NTc0Jz4KPGZyb250Pgo8dGl0bGU+UGVlci10 by1QZWVyIFN0cmVhbWluZyBQZWVyIFByb3RvY29sIChQUFNQUCk8L3RpdGxlPgo8YXV0aG9yIGlu aXRpYWxzPSdBLicgc3VybmFtZT0nQmFra2VyJyBmdWxsbmFtZT0nQS4gQmFra2VyJz48b3JnYW5p emF0aW9uIC8+PC9hdXRob3I+CjxhdXRob3IgaW5pdGlhbHM9J1IuJyBzdXJuYW1lPSdQZXRyb2Nj bycgZnVsbG5hbWU9J1IuIFBldHJvY2NvJz48b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+CjxhdXRo b3IgaW5pdGlhbHM9J1YuJyBzdXJuYW1lPSdHcmlzaGNoZW5rbycgZnVsbG5hbWU9J1YuIEdyaXNo Y2hlbmtvJz48b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+CjxkYXRlIHllYXI9JzIwMTUnIG1vbnRo PSdKdWx5JyAvPgo8YWJzdHJhY3Q+PHQ+VGhlIFBlZXItdG8tUGVlciBTdHJlYW1pbmcgUGVlciBQ cm90b2NvbCAoUFBTUFApIGlzIGEgcHJvdG9jb2wgZm9yIGRpc3NlbWluYXRpbmcgdGhlIHNhbWUg Y29udGVudCB0byBhIGdyb3VwIG9mIGludGVyZXN0ZWQgcGFydGllcyBpbiBhIHN0cmVhbWluZyBm YXNoaW9uLiAgUFBTUFAgc3VwcG9ydHMgc3RyZWFtaW5nIG9mIGJvdGggcHJlcmVjb3JkZWQgKG9u LSBkZW1hbmQpIGFuZCBsaXZlIGF1ZGlvL3ZpZGVvIGNvbnRlbnQuICBJdCBpcyBiYXNlZCBvbiB0 aGUgcGVlci10by0gcGVlciBwYXJhZGlnbSwgd2hlcmUgY2xpZW50cyBjb25zdW1pbmcgdGhlIGNv bnRlbnQgYXJlIHB1dCBvbiBlcXVhbCBmb290aW5nIHdpdGggdGhlIHNlcnZlcnMgaW5pdGlhbGx5 IHByb3ZpZGluZyB0aGUgY29udGVudCwgdG8gY3JlYXRlIGEgc3lzdGVtIHdoZXJlIGV2ZXJ5b25l IGNhbiBwb3RlbnRpYWxseSBwcm92aWRlIHVwbG9hZCBiYW5kd2lkdGguICBJdCBoYXMgYmVlbiBk ZXNpZ25lZCB0byBwcm92aWRlIHNob3J0IHRpbWUtdGlsbC1wbGF5YmFjayBmb3IgdGhlIGVuZCB1 c2VyIGFuZCB0byBwcmV2ZW50IGRpc3J1cHRpb24gb2YgdGhlIHN0cmVhbXMgYnkgbWFsaWNpb3Vz IHBlZXJzLiBQUFNQUCBoYXMgYWxzbyBiZWVuIGRlc2lnbmVkIHRvIGJlIGZsZXhpYmxlIGFuZCBl eHRlbnNpYmxlLiAgSXQgY2FuIHVzZSBkaWZmZXJlbnQgbWVjaGFuaXNtcyB0byBvcHRpbWl6ZSBw ZWVyIHVwbG9hZGluZywgcHJldmVudCBmcmVlcmlkaW5nLCBhbmQgd29yayB3aXRoIGRpZmZlcmVu dCBwZWVyIGRpc2NvdmVyeSBzY2hlbWVzIChjZW50cmFsaXplZCB0cmFja2VycyBvciBEaXN0cmli dXRlZCBIYXNoIFRhYmxlcykuICBJdCBzdXBwb3J0cyBtdWx0aXBsZSBtZXRob2RzIGZvciBjb250 ZW50IGludGVncml0eSBwcm90ZWN0aW9uIGFuZCBjaHVuayBhZGRyZXNzaW5nLiAgRGVzaWduZWQg YXMgYSBnZW5lcmljIHByb3RvY29sIHRoYXQgY2FuIHJ1biBvbiB0b3Agb2YgdmFyaW91cyB0cmFu c3BvcnQgcHJvdG9jb2xzLCBpdCBjdXJyZW50bHkgcnVucyBvbiB0b3Agb2YgVURQIHVzaW5nIExv dyBFeHRyYSBEZWxheSBCYWNrZ3JvdW5kIFRyYW5zcG9ydCAoTEVEQkFUKSBmb3IgY29uZ2VzdGlv biBjb250cm9sLjwvdD48L2Fic3RyYWN0Pgo8L2Zyb250Pgo8c2VyaWVzSW5mbyBuYW1lPSdSRkMn IHZhbHVlPSc3NTc0Jy8+CjxzZXJpZXNJbmZvIG5hbWU9J0RPSScgdmFsdWU9JzEwLjE3NDg3L1JG Qzc1NzQnLz4KPC9yZWZlcmVuY2U+CgoKCjxyZWZlcmVuY2UgIGFuY2hvcj0nUkZDNzYyNCcgdGFy Z2V0PSdodHRwOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjNzYyNCc+Cjxmcm9udD4KPHRp dGxlPkNvbmZpZGVudGlhbGl0eSBpbiB0aGUgRmFjZSBvZiBQZXJ2YXNpdmUgU3VydmVpbGxhbmNl OiBBIFRocmVhdCBNb2RlbCBhbmQgUHJvYmxlbSBTdGF0ZW1lbnQ8L3RpdGxlPgo8YXV0aG9yIGlu aXRpYWxzPSdSLicgc3VybmFtZT0nQmFybmVzJyBmdWxsbmFtZT0nUi4gQmFybmVzJz48b3JnYW5p emF0aW9uIC8+PC9hdXRob3I+CjxhdXRob3IgaW5pdGlhbHM9J0IuJyBzdXJuYW1lPSdTY2huZWll cicgZnVsbG5hbWU9J0IuIFNjaG5laWVyJz48b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+CjxhdXRo b3IgaW5pdGlhbHM9J0MuJyBzdXJuYW1lPSdKZW5uaW5ncycgZnVsbG5hbWU9J0MuIEplbm5pbmdz Jz48b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+CjxhdXRob3IgaW5pdGlhbHM9J1QuJyBzdXJuYW1l PSdIYXJkaWUnIGZ1bGxuYW1lPSdULiBIYXJkaWUnPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4K PGF1dGhvciBpbml0aWFscz0nQi4nIHN1cm5hbWU9J1RyYW1tZWxsJyBmdWxsbmFtZT0nQi4gVHJh bW1lbGwnPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4KPGF1dGhvciBpbml0aWFscz0nQy4nIHN1 cm5hbWU9J0h1aXRlbWEnIGZ1bGxuYW1lPSdDLiBIdWl0ZW1hJz48b3JnYW5pemF0aW9uIC8+PC9h dXRob3I+CjxhdXRob3IgaW5pdGlhbHM9J0QuJyBzdXJuYW1lPSdCb3JrbWFubicgZnVsbG5hbWU9 J0QuIEJvcmttYW5uJz48b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+CjxkYXRlIHllYXI9JzIwMTUn IG1vbnRoPSdBdWd1c3QnIC8+CjxhYnN0cmFjdD48dD5TaW5jZSB0aGUgaW5pdGlhbCByZXZlbGF0 aW9ucyBvZiBwZXJ2YXNpdmUgc3VydmVpbGxhbmNlIGluIDIwMTMsIHNldmVyYWwgY2xhc3NlcyBv ZiBhdHRhY2tzIG9uIEludGVybmV0IGNvbW11bmljYXRpb25zIGhhdmUgYmVlbiBkaXNjb3ZlcmVk LiAgSW4gdGhpcyBkb2N1bWVudCwgd2UgZGV2ZWxvcCBhIHRocmVhdCBtb2RlbCB0aGF0IGRlc2Ny aWJlcyB0aGVzZSBhdHRhY2tzIG9uIEludGVybmV0IGNvbmZpZGVudGlhbGl0eS4gIFdlIGFzc3Vt ZSBhbiBhdHRhY2tlciB0aGF0IGlzIGludGVyZXN0ZWQgaW4gdW5kZXRlY3RlZCwgaW5kaXNjcmlt aW5hdGUgZWF2ZXNkcm9wcGluZy4gIFRoZSB0aHJlYXQgbW9kZWwgaXMgYmFzZWQgb24gcHVibGlz aGVkLCB2ZXJpZmllZCBhdHRhY2tzLjwvdD48L2Fic3RyYWN0Pgo8L2Zyb250Pgo8c2VyaWVzSW5m byBuYW1lPSdSRkMnIHZhbHVlPSc3NjI0Jy8+CjxzZXJpZXNJbmZvIG5hbWU9J0RPSScgdmFsdWU9 JzEwLjE3NDg3L1JGQzc2MjQnLz4KPC9yZWZlcmVuY2U+CgoKCjxyZWZlcmVuY2UgIGFuY2hvcj0n UkZDNzYyNicgdGFyZ2V0PSdodHRwOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjNzYyNic+ Cjxmcm9udD4KPHRpdGxlPkROUyBQcml2YWN5IENvbnNpZGVyYXRpb25zPC90aXRsZT4KPGF1dGhv ciBpbml0aWFscz0nUy4nIHN1cm5hbWU9J0JvcnR6bWV5ZXInIGZ1bGxuYW1lPSdTLiBCb3J0em1l eWVyJz48b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+CjxkYXRlIHllYXI9JzIwMTUnIG1vbnRoPSdB dWd1c3QnIC8+CjxhYnN0cmFjdD48dD5UaGlzIGRvY3VtZW50IGRlc2NyaWJlcyB0aGUgcHJpdmFj eSBpc3N1ZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSB1c2Ugb2YgdGhlIEROUyBieSBJbnRlcm5ldCB1 c2Vycy4gIEl0IGlzIGludGVuZGVkIHRvIGJlIGFuIGFuYWx5c2lzIG9mIHRoZSBwcmVzZW50IHNp dHVhdGlvbiBhbmQgZG9lcyBub3QgcHJlc2NyaWJlIHNvbHV0aW9ucy48L3Q+PC9hYnN0cmFjdD4K PC9mcm9udD4KPHNlcmllc0luZm8gbmFtZT0nUkZDJyB2YWx1ZT0nNzYyNicvPgo8c2VyaWVzSW5m byBuYW1lPSdET0knIHZhbHVlPScxMC4xNzQ4Ny9SRkM3NjI2Jy8+CjwvcmVmZXJlbmNlPgoKCgo8 cmVmZXJlbmNlICBhbmNob3I9J1JGQzc3MjUnIHRhcmdldD0naHR0cDovL3d3dy5yZmMtZWRpdG9y Lm9yZy9pbmZvL3JmYzc3MjUnPgo8ZnJvbnQ+Cjx0aXRsZT5BbiBIVFRQIFN0YXR1cyBDb2RlIHRv IFJlcG9ydCBMZWdhbCBPYnN0YWNsZXM8L3RpdGxlPgo8YXV0aG9yIGluaXRpYWxzPSdULicgc3Vy bmFtZT0nQnJheScgZnVsbG5hbWU9J1QuIEJyYXknPjxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4K PGRhdGUgeWVhcj0nMjAxNicgbW9udGg9J0ZlYnJ1YXJ5JyAvPgo8YWJzdHJhY3Q+PHQ+VGhpcyBk b2N1bWVudCBzcGVjaWZpZXMgYSBIeXBlcnRleHQgVHJhbnNmZXIgUHJvdG9jb2wgKEhUVFApIHN0 YXR1cyBjb2RlIGZvciB1c2Ugd2hlbiByZXNvdXJjZSBhY2Nlc3MgaXMgZGVuaWVkIGFzIGEgY29u c2VxdWVuY2Ugb2YgbGVnYWwgZGVtYW5kcy48L3Q+PC9hYnN0cmFjdD4KPC9mcm9udD4KPHNlcmll c0luZm8gbmFtZT0nUkZDJyB2YWx1ZT0nNzcyNScvPgo8c2VyaWVzSW5mbyBuYW1lPSdET0knIHZh bHVlPScxMC4xNzQ4Ny9SRkM3NzI1Jy8+CjwvcmVmZXJlbmNlPgoKCjxyZWZlcmVuY2UgYW5jaG9y PSJVTkdBMjAxMyIgdGFyZ2V0PSJodHRwOi8vZGFjY2Vzcy1vZHMudW4ub3JnL1RNUC8xMTMzNzMy LjA1MDY1NzI3Lmh0bWwiPgogIDxmcm9udD4KICAgIDx0aXRsZT5VTiBHZW5lcmFsIEFzc2VtYmx5 IFJlc29sdXRpb24gIlRoZSByaWdodCB0byBwcml2YWN5IGluIHRoZSBkaWdpdGFsIGFnZSIgKEEv Qy4zLzY4L0wuNDUpPC90aXRsZT4KICAgIDxhdXRob3IgPgogICAgICA8b3JnYW5pemF0aW9uPlVu aXRlZCBOYXRpb25zIEdlbmVyYWwgQXNzZW1ibHk8L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9y PgogICAgPGRhdGUgeWVhcj0iMjAxMyIvPgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJl bmNlIGFuY2hvcj0iSFJDMjAxMiIgdGFyZ2V0PSJodHRwOi8vZGFjY2Vzcy1vZHMudW4ub3JnL1RN UC81NTQzNDIuMTIwODg1ODQ5Lmh0bWwiPgogIDxmcm9udD4KICAgIDx0aXRsZT5VTiBHZW5lcmFs IEFzc2VtYmx5IFJlc29sdXRpb24gIlRoZSByaWdodCB0byBwcml2YWN5IGluIHRoZSBkaWdpdGFs IGFnZSIgKEEvQy4zLzY4L0wuNDUpPC90aXRsZT4KICAgIDxhdXRob3IgPgogICAgICA8b3JnYW5p emF0aW9uPlVuaXRlZCBOYXRpb25zIEh1bWFuIFJpZ2h0cyBDb3VuY2lsPC9vcmdhbml6YXRpb24+ CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMTEiLz4KICA8L2Zyb250Pgo8L3JlZmVy ZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9Ik5FVG11bmRpYWwiIHRhcmdldD0iaHR0cDovL25ldG11 bmRpYWwuYnIvd3AtY29udGVudC91cGxvYWRzLzIwMTQvMDQvTkVUbXVuZGlhbC1NdWx0aXN0YWtl aG9sZGVyLURvY3VtZW50LnBkZiI+CiAgPGZyb250PgogICAgPHRpdGxlPk5FVG11bmRpYWwgTXVs dGlzdGFrZWhvbGRlciBTdGF0ZW1lbnQ8L3RpdGxlPgogICAgPGF1dGhvciA+CiAgICAgIDxvcmdh bml6YXRpb24+TkVUbXVuZGlhbDwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0 ZSB5ZWFyPSIyMDE0Ii8+CiAgPC9mcm9udD4KPC9yZWZlcmVuY2U+CjxyZWZlcmVuY2UgYW5jaG9y PSJVREhSIiB0YXJnZXQ9Imh0dHA6Ly93d3cudW4ub3JnL2VuL2RvY3VtZW50cy91ZGhyLyI+CiAg PGZyb250PgogICAgPHRpdGxlPlRoZSBVbml2ZXJzYWwgRGVjbGFyYXRpb24gb2YgSHVtYW4gUmln aHRzPC90aXRsZT4KICAgIDxhdXRob3IgPgogICAgICA8b3JnYW5pemF0aW9uPlVuaXRlZCBOYXRp b25zIEdlbmVyYWwgQXNzZW1ibHk8L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRh dGUgeWVhcj0iMTk0OCIvPgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hv cj0iSUNFU0NSIiB0YXJnZXQ9Imh0dHA6Ly93d3cub2hjaHIub3JnL0VOL1Byb2Zlc3Npb25hbElu dGVyZXN0L1BhZ2VzL0NFU0NSLmFzcHgiPgogIDxmcm9udD4KICAgIDx0aXRsZT5JbnRlcm5hdGlv bmFsIENvdmVuYW50IG9uIEVjb25vbWljLCBTb2NpYWwgYW5kIEN1bHR1cmFsIFJpZ2h0czwvdGl0 bGU+CiAgICA8YXV0aG9yID4KICAgICAgPG9yZ2FuaXphdGlvbj5Vbml0ZWQgTmF0aW9ucyBHZW5l cmFsIEFzc2VtYmx5PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9 IjE5NjYiLz4KICA8L2Zyb250Pgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9ImNhaWRh IiB0YXJnZXQ9Imh0dHA6Ly93d3cuY2FpZGEub3JnL3B1YmxpY2F0aW9ucy9wYXBlcnMvMjAxNC9v dXRhZ2VzX2NlbnNvcnNoaXAvb3V0YWdlc19jZW5zb3JzaGlwLnBkZiI+CiAgPGZyb250PgogICAg PHRpdGxlPkFuYWx5c2lzIG9mIENvdW50cnktd2lkZSBJbnRlcm5ldCBPdXRhZ2VzIENhdXNlZCBi eSBDZW5zb3JzaGlwPC90aXRsZT4KICAgIDxhdXRob3IgaW5pdGlhbHM9IkEuIiBzdXJuYW1lPSJE YWlub3R0aSI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhv cj4KICAgIDxhdXRob3IgaW5pdGlhbHM9IkMuIiBzdXJuYW1lPSJTcXVhcmNlbGxhIj4KICAgICAg PG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBp bml0aWFscz0iRS4iIHN1cm5hbWU9IkFiZW4iPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5p emF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJLLiIgc3VybmFtZT0i Q2xhZmZ5Ij4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9y PgogICAgPGF1dGhvciBpbml0aWFscz0iTS4iIHN1cm5hbWU9IkNoaWVzYSI+CiAgICAgIDxvcmdh bml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxhdXRob3IgaW5pdGlh bHM9Ik0uIiBzdXJuYW1lPSJSdXNzbyI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRp b24+CiAgICA8L2F1dGhvcj4KICAgIDxhdXRob3IgaW5pdGlhbHM9IkEuIiBzdXJuYW1lPSJQZXNj YXBlIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgog ICAgPGRhdGUgeWVhcj0iMjAxMyIvPgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNl IGFuY2hvcj0idG9ycHJvamVjdCIgdGFyZ2V0PSJodHRwczovL3d3dy50b3Jwcm9qZWN0Lm9yZy8i PgogIDxmcm9udD4KICAgIDx0aXRsZT5Ub3IgUHJvamVjdCAtIEFub255bWl0eSBPbmxpbmU8L3Rp dGxlPgogICAgPGF1dGhvciBpbml0aWFscz0iLiIgc3VybmFtZT0iVGhlIFRvciBQcm9qZWN0Ij4K ICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRh dGUgeWVhcj0iMjAwNyIvPgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hv cj0ic3BkeSIgdGFyZ2V0PSJodHRwczovL3d3dy5jaHJvbWl1bS5vcmcvc3BkeS9zcGR5LXdoaXRl cGFwZXIiPgogIDxmcm9udD4KICAgIDx0aXRsZT5TUERZIC0gQW4gZXhwZXJpbWVudGFsIHByb3Rv Y29sIGZvciBhIGZhc3RlciB3ZWI8L3RpdGxlPgogICAgPGF1dGhvciA+CiAgICAgIDxvcmdhbml6 YXRpb24+VGhlIENocm9taXVtIFByb2plY3Q8L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgog ICAgPGRhdGUgeWVhcj0iMjAwOSIvPgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNl IGFuY2hvcj0icXVpYyIgdGFyZ2V0PSJodHRwczovL3d3dy5jaHJvbWl1bS5vcmcvcXVpYyI+CiAg PGZyb250PgogICAgPHRpdGxlPlFVSUMsIGEgbXVsdGlwbGV4ZWQgc3RyZWFtIHRyYW5zcG9ydCBv dmVyIFVEUDwvdGl0bGU+CiAgICA8YXV0aG9yID4KICAgICAgPG9yZ2FuaXphdGlvbj5UaGUgQ2hy b21pdW0gUHJvamVjdDwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFy PSIyMDE0Ii8+CiAgPC9mcm9udD4KPC9yZWZlcmVuY2U+CjxyZWZlcmVuY2UgYW5jaG9yPSJuYXR1 c2FnZSIgdGFyZ2V0PSJodHRwOi8vd3d3Lmljc2kuYmVya2VsZXkuZWR1L3B1YnMvbmV0d29ya2lu Zy9OQVR1c2FnZTExLnBkZiI+CiAgPGZyb250PgogICAgPHRpdGxlPk5BVCB1c2FnZSBpbiBSZXNp ZGVudGlhbCBCcm9hZGJhbmQgbmV0d29ya3M8L3RpdGxlPgogICAgPGF1dGhvciBpbml0aWFscz0i Ry4iIHN1cm5hbWU9Ik1haWVyIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4K ICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0iRi4iIHN1cm5hbWU9IlNjaG5laWRl ciI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAg IDxhdXRob3IgaW5pdGlhbHM9IkEuIiBzdXJuYW1lPSJGZWxkbWFubiI+CiAgICAgIDxvcmdhbml6 YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMTEi Lz4KICA8L2Zyb250Pgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9ImJiYy13aWtpbGVh a3MiIHRhcmdldD0iaHR0cDovL25ld3MuYmJjLmNvLnVrLzIvaGkvdGVjaG5vbG9neS83MjUwOTE2 LnN0bSI+CiAgPGZyb250PgogICAgPHRpdGxlPldoaXN0bGUtYmxvd2VyIHNpdGUgdGFrZW4gb2Zm bGluZTwvdGl0bGU+CiAgICA8YXV0aG9yID4KICAgICAgPG9yZ2FuaXphdGlvbj5CQkM8L29yZ2Fu aXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0iMjAwOCIvPgogIDwvZnJvbnQ+ CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0idGVjaHl1bSIgdGFyZ2V0PSJodHRwOi8v dGVjaHl1bS5jb20vMjAxMC8xMC9vZmZpY2lhbC12Yi1seS1saW5rLXNob3J0ZW5lci1zZWl6ZWQt YnktbGlieWFuLWdvdmVybm1lbnQvIj4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+T2ZmaWNpYWwgLSB2 Yi5seSBMaW5rIFNob3J0ZW5lciBTZWl6ZWQgYnkgTGlieWFuIEdvdmVybm1lbnQ8L3RpdGxlPgog ICAgPGF1dGhvciBpbml0aWFscz0iLiIgc3VybmFtZT0iVmlvbGV0Ij4KICAgICAgPG9yZ2FuaXph dGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0iMjAxMCIv PgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0idHVya2V5IiB0YXJn ZXQ9Imh0dHA6Ly9wb2xpY3lyZXZpZXcuaW5mby9hcnRpY2xlcy9hbmFseXNpcy9pbnRlcm5ldC1j ZW5zb3JzaGlwLXR1cmtleSI+CiAgPGZyb250PgogICAgPHRpdGxlPkludGVybmV0IGNlbnNvcnNo aXAgaW4gVHVya2V5PC90aXRsZT4KICAgIDxhdXRob3IgaW5pdGlhbHM9Ik0uIiBzdXJuYW1lPSJB a2fDvGwiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+ CiAgICA8YXV0aG9yIGluaXRpYWxzPSJNLiIgc3VybmFtZT0iS2lybGlkb8SfIj4KICAgICAgPG9y Z2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0i MjAxNSIvPgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0idmVydmVy aXMiIHRhcmdldD0iaHR0cHM6Ly93d3cudXNlbml4Lm9yZy9zeXN0ZW0vZmlsZXMvY29uZmVyZW5j ZS9mb2NpMTUvZm9jaTE1LXBhcGVyLXZlcnZlcmlzLXVwZGF0ZS5wZGYiPgogIDxmcm9udD4KICAg IDx0aXRsZT5VbmRlcnN0YW5kaW5nIEludGVybmV0IENlbnNvcnNoaXAgUG9saWN5IC0gVGhlIENh c2Ugb2YgR3JlZWNlPC90aXRsZT4KICAgIDxhdXRob3IgaW5pdGlhbHM9IlYuIiBzdXJuYW1lPSJW YXNpbGlzIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9y PgogICAgPGF1dGhvciBpbml0aWFscz0iRy4iIHN1cm5hbWU9Ikthcmdpb3Rha2lzIj4KICAgICAg PG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBp bml0aWFscz0iQS4iIHN1cm5hbWU9IkZpbGFzdG8iPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3Jn YW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJCLiIgc3VybmFt ZT0iRmFiaWFuIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0 aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0iQS4iIHN1cm5hbWU9IkFsZXhhbmRyb3MiPgogICAg ICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5 ZWFyPSIyMDE1Ii8+CiAgPC9mcm9udD4KPC9yZWZlcmVuY2U+CjxyZWZlcmVuY2UgYW5jaG9yPSJo YWxsIiB0YXJnZXQ9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1oYWxsLWNlbnNv cnNoaXAtdGVjaC0wMSI+CiAgPGZyb250PgogICAgPHRpdGxlPkEgU3VydmV5IG9mIFdvcmxkd2lk ZSBDZW5zb3JzaGlwIFRlY2huaXF1ZXM8L3RpdGxlPgogICAgPGF1dGhvciBpbml0aWFscz0iSi4i IHN1cm5hbWU9IkhhbGwiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAg PC9hdXRob3I+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJNLiIgc3VybmFtZT0iQWFyb24iPgogICAg ICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9y IGluaXRpYWxzPSJCLiIgc3VybmFtZT0iSm9uZXMiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3Jn YW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFyPSIyMDE1Ii8+CiAgPC9mcm9u dD4KPC9yZWZlcmVuY2U+CjxyZWZlcmVuY2UgYW5jaG9yPSJncmVhdGZpcmV3YWxsIiB0YXJnZXQ9 Imh0dHBzOi8vd3d3LnVzZW5peC5vcmcvc3lzdGVtL2ZpbGVzL2NvbmZlcmVuY2UvZm9jaTE0L2Zv Y2kxNC1hbm9ueW1vdXMucGRmIj4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+VG93YXJkcyBhIENvbXBy ZWhlbnNpdmUgUGljdHVyZSBvZiB0aGUgR3JlYXQgRmlyZXdhbGwncyBETlMgQ2Vuc29yc2hpcDwv dGl0bGU+CiAgICA8YXV0aG9yIGluaXRpYWxzPSIuIiBzdXJuYW1lPSJBbm9ueW1vdXMiPgogICAg ICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5 ZWFyPSIyMDE0Ii8+CiAgPC9mcm9udD4KPC9yZWZlcmVuY2U+CjxyZWZlcmVuY2UgYW5jaG9yPSJ0 b3JyZW50ZnJlYWsxIiB0YXJnZXQ9Imh0dHBzOi8vdG9ycmVudGZyZWFrLmNvbS9pcy15b3VyLWlz cC1tZXNzaW5nLXdpdGgtYml0dG9ycmVudC10cmFmZmljLWZpbmQtb3V0LTE0MDEyMy8iPgogIDxm cm9udD4KICAgIDx0aXRsZT5Qcm9wb3NhbCBmb3IgcmVzZWFyY2ggb24gaHVtYW4gcmlnaHRzIHBy b3RvY29sIGNvbnNpZGVyYXRpb25zPC90aXRsZT4KICAgIDxhdXRob3IgaW5pdGlhbHM9IkUuIiBz dXJuYW1lPSJWYW4gZGVyIFNhciI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+ CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMTUiLz4KICA8L2Zyb250Pgo8L3JlZmVy ZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9Indpa2lsZWFrcyIgdGFyZ2V0PSJodHRwczovL3dpa2ls ZWFrcy5vcmcvc29ueS9kb2NzLzA1L2RvY3MvQW50aS1QaXJhY3kvQ0RTQS9FQU5UQy1TdXJ2ZXkt MS41LXVuc2VjdXJlZC5wZGYiPgogIDxmcm9udD4KICAgIDx0aXRsZT5NYXJrZXQgU3VydmV5IDog RGV0ZWN0aW9uICZhbXA7IEZpbHRlcmluZyBTb2x1dGlvbnMgdG8gSWRlbnRpZnkgRmlsZSBUcmFu c2ZlciBvZiBDb3B5cmlnaHQgUHJvdGVjdGVkIENvbnRlbnQgZm9yIFdhcm5lciBCcm9zLiBhbmQg bW92aWVsYWJzPC90aXRsZT4KICAgIDxhdXRob3IgaW5pdGlhbHM9IlQuIiBzdXJuYW1lPSJTbGFk ZWsiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAg ICA8YXV0aG9yIGluaXRpYWxzPSJFLiIgc3VybmFtZT0iQnLDtnNlIj4KICAgICAgPG9yZ2FuaXph dGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0iMjAxMSIv PgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0iYXJzIiB0YXJnZXQ9 Imh0dHA6Ly9hcnN0ZWNobmljYS5jb20vdW5jYXRlZ29yaXplZC8yMDA3LzEwL3AycC1yZXNlYXJj aGVycy11c2UtYS1ibG9ja2xpc3Qtb3IteW91LXdpbGwtYmUtdHJhY2tlZC0xMDAtb2YtdGhlLXRp bWUvIj4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+UDJQIHJlc2VhcmNoZXJzIC0gdXNlIGEgYmxvY2ts aXN0IG9yIHlvdSB3aWxsIGJlIHRyYWNrZWQuLi4gMTAwJSBvZiB0aGUgdGltZTwvdGl0bGU+CiAg ICA8YXV0aG9yIGluaXRpYWxzPSJOLiIgc3VybmFtZT0iQW5kZXJzb24iPgogICAgICA8b3JnYW5p emF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFyPSIyMDA3 Ii8+CiAgPC9mcm9udD4KPC9yZWZlcmVuY2U+CjxyZWZlcmVuY2UgYW5jaG9yPSJ0b3JyZW50ZnJl YWsyIiB0YXJnZXQ9Imh0dHBzOi8vdG9ycmVudGZyZWFrLmNvbS9sYXd5ZXJzLXNlbnQtMTA5MDAw LXBpcmFjeS10aHJlYXRzLWluLWdlcm1hbnktZHVyaW5nLTIwMTMtMTQwMzA0LyI+CiAgPGZyb250 PgogICAgPHRpdGxlPkxBV1lFUlMgU0VOVCAxMDksMDAwIFBJUkFDWSBUSFJFQVRTIElOIEdFUk1B TlkgRFVSSU5HIDIwMTM8L3RpdGxlPgogICAgPGF1dGhvciBpbml0aWFscz0iLiIgc3VybmFtZT0i QW5keSI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4K ICAgIDxkYXRlIHllYXI9IjIwMTQiLz4KICA8L2Zyb250Pgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5j ZSBhbmNob3I9ImZyZWVuZXQxIiB0YXJnZXQ9Imh0dHBzOi8vZnJlZW5ldHByb2plY3Qub3JnL3do YXRpcy5odG1sIj4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+V2hhdCBpcyBGcmVlbmV0PzwvdGl0bGU+ CiAgICA8YXV0aG9yID4KICAgICAgPG9yZ2FuaXphdGlvbj5GcmVlbmV0PC9vcmdhbml6YXRpb24+ CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9Im4uZC4iLz4KICA8L2Zyb250Pgo8L3JlZmVy ZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9ImZyZWVuZXQyIiB0YXJnZXQ9Imh0dHBzOi8vZnJlZW5l dHByb2plY3Qub3JnL3BoaWxvc29waHkuaHRtbCI+CiAgPGZyb250PgogICAgPHRpdGxlPlRoZSBQ aGlsb3NwaHkgYmVoaW5kIEZyZWVuZXQ/PC90aXRsZT4KICAgIDxhdXRob3IgaW5pdGlhbHM9Ii4i IHN1cm5hbWU9IklhbiBDbGFya2UiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9u PgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFyPSJuLmQuIi8+CiAgPC9mcm9udD4KPC9yZWZl cmVuY2U+CjxyZWZlcmVuY2UgYW5jaG9yPSJiaXRtZXNzYWdlIiB0YXJnZXQ9Imh0dHBzOi8vYml0 bWVzc2FnZS5vcmcvd2lraS9NYWluX1BhZ2UiPgogIDxmcm9udD4KICAgIDx0aXRsZT5CaXRtZXNz YWdlIFdpa2k/PC90aXRsZT4KICAgIDxhdXRob3IgPgogICAgICA8b3JnYW5pemF0aW9uPkJpdG1l c3NhZ2U8L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0iMjAxNCIv PgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0iUEVUUzIwMTVWUE4i IHRhcmdldD0iaHR0cDovL3d3dy5lZWNzLnFtdWwuYWMudWsvfmhhbWVkL3BhcGVycy9QRVRTMjAx NVZQTi5wZGYiPgogIDxmcm9udD4KICAgIDx0aXRsZT5BIEdsYW5jZSB0aHJvdWdoIHRoZSBWUE4g TG9va2luZyBHbGFzczwvdGl0bGU+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJWLkMuIiBzdXJuYW1l PSJQZXJhIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9y PgogICAgPGF1dGhvciBpbml0aWFscz0iTS5WLiIgc3VybmFtZT0iQmFyYmVyYSI+CiAgICAgIDxv cmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxhdXRob3IgaW5p dGlhbHM9IkcuIiBzdXJuYW1lPSJUeXNvbiI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6 YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxhdXRob3IgaW5pdGlhbHM9IkguIiBzdXJuYW1lPSJI YWRkYWRpIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9y PgogICAgPGF1dGhvciBpbml0aWFscz0iQS4iIHN1cm5hbWU9Ik1laSI+CiAgICAgIDxvcmdhbml6 YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMTUi Lz4KICA8L2Zyb250Pgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9InNwaWVnZWwiIHRh cmdldD0iaHR0cDovL3d3dy5zcGllZ2VsLmRlL2ludGVybmF0aW9uYWwvZ2VybWFueS9pbnNpZGUt dGhlLW5zYS1zLXdhci1vbi1pbnRlcm5ldC1zZWN1cml0eS1hLTEwMTAzNjEuaHRtbCI+CiAgPGZy b250PgogICAgPHRpdGxlPlByeWluZyBFeWVzIC0gSW5zaWRlIHRoZSBOU0EncyBXYXIgb24gSW50 ZXJuZXQgU2VjdXJpdHk8L3RpdGxlPgogICAgPGF1dGhvciA+CiAgICAgIDxvcmdhbml6YXRpb24+ U1BJRUdFTDwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFyPSIyMDE0 Ii8+CiAgPC9mcm9udD4KPC9yZWZlcmVuY2U+CjxyZWZlcmVuY2UgYW5jaG9yPSJSaWRlb3V0IiB0 YXJnZXQ9Imh0dHA6Ly9nbWFpbGJsb2cuYmxvZ3Nwb3QuZGUvMjAwOC8wNy9tYWtpbmctc2VjdXJp dHktZWFzaWVyLmh0bWwiPgogIDxmcm9udD4KICAgIDx0aXRsZT5NYWtpbmcgc2VjdXJpdHkgZWFz aWVyPC90aXRsZT4KICAgIDxhdXRob3IgaW5pdGlhbHM9IkEuIiBzdXJuYW1lPSJSaWRlb3V0Ij4K ICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRh dGUgeWVhcj0iMjAwOCIvPgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hv cj0iU2NoaWxsYWNlIiB0YXJnZXQ9Imh0dHA6Ly9nbWFpbGJsb2cuYmxvZ3Nwb3QuZGUvMjAxMC8w MS9kZWZhdWx0LWh0dHBzLWFjY2Vzcy1mb3ItZ21haWwuaHRtbCI+CiAgPGZyb250PgogICAgPHRp dGxlPkRlZmF1bHQgaHR0cHMgYWNjZXNzIGZvciBHbWFpbDwvdGl0bGU+CiAgICA8YXV0aG9yIGlu aXRpYWxzPSJTLiIgc3VybmFtZT0iU2NoaWxsYWNlIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29y Z2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0iMjAxMCIvPgogIDwvZnJv bnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0iUGV0ZXJzb24iIHRhcmdldD0iaHR0 cDovL2dtYWlsYmxvZy5ibG9nc3BvdC5kZS8yMDEwLzAxL2RlZmF1bHQtaHR0cHMtYWNjZXNzLWZv ci1nbWFpbC5odG1sIj4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+WWFob28gdG8gbWFrZSBTU0wgZW5j cnlwdGlvbiB0aGUgZGVmYXVsdCBmb3IgV2VibWFpbCB1c2Vycy4gRmluYWxseS48L3RpdGxlPgog ICAgPGF1dGhvciBpbml0aWFscz0iQS4iIHN1cm5hbWU9IlBldGVyc29uIj4KICAgICAgPG9yZ2Fu aXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBpbml0aWFs cz0iQi4iIHN1cm5hbWU9IkdlbGxtYW4iPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0 aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJBLiIgc3VybmFtZT0iU29s dGFuaSI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4K ICAgIDxkYXRlIHllYXI9IjIwMTMiLz4KICA8L2Zyb250Pgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5j ZSBhbmNob3I9IkNvbGxpbnMiIHRhcmdldD0iaHR0cDovL3d3dy53aXJlZC5jby51ay9uZXdzL2Fy Y2hpdmUvMjAxNS0wNy8wNi9oYWNraW5nLXRlYW0tc3B5d2FyZS1jb21wYW55LWhhY2tlZCI+CiAg PGZyb250PgogICAgPHRpdGxlPkhhY2tpbmcgVGVhbSdzIG9wcHJlc3NpdmUgcmVnaW1lcyBjdXN0 b21lciBsaXN0IHJldmVhbGVkIGluIGhhY2s8L3RpdGxlPgogICAgPGF1dGhvciBpbml0aWFscz0i Sy4iIHN1cm5hbWU9IkNvbGxpbnMiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9u PgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFyPSIyMDE1Ii8+CiAgPC9mcm9udD4KPC9yZWZl cmVuY2U+CjxyZWZlcmVuY2UgYW5jaG9yPSJDYXRoIiB0YXJnZXQ9Imh0dHBzOi8vd3d3LmlldGYu b3JnL21haWwtYXJjaGl2ZS93ZWIvaHJwYy9jdXJyZW50L3BkZjM2R3JtUk04NFMucGRmIj4KICA8 ZnJvbnQ+CiAgICA8dGl0bGU+QSBDYXNlIFN0dWR5IG9mIENvZGluZyBSaWdodHM6IFNob3VsZCBG cmVlZG9tIG9mIFNwZWVjaCBCZSBJbnN0YW50aWF0ZWQgaW4gdGhlIFByb3RvY29scyBhbmQgU3Rh bmRhcmRzIERlc2lnbmVkIGJ5IHRoZSBJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrIEZvcmNlPzwv dGl0bGU+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJDLiIgc3VybmFtZT0iQ2F0aCI+CiAgICAgIDxv cmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9 IjIwMTUiLz4KICA8L2Zyb250Pgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9IkNhdGhh bmRGbG9yaWRpIiA+CiAgPGZyb250PgogICAgPHRpdGxlPlRoZSBEZXNpZ24gb2YgdGhlIEludGVy bmV0J3MgQXJjaGl0ZWN0dXJlIGJ5IHRoZSBJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrIEZvcmNl IChJRVRGKSBhbmQgSHVtYW4gUmlnaHRzPC90aXRsZT4KICAgIDxhdXRob3IgaW5pdGlhbHM9IkMu IiBzdXJuYW1lPSJDYXRoIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAg IDwvYXV0aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0iTC4iIHN1cm5hbWU9IkZsb3JpZGkiPgog ICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0 ZSB5ZWFyPSIyMDE2IiBtb250aD0iTWF5Ii8+CiAgPC9mcm9udD4KPC9yZWZlcmVuY2U+CjxyZWZl cmVuY2UgYW5jaG9yPSJIYWFnc21hIiB0YXJnZXQ9Imh0dHA6Ly9ibG9nLmZveC1pdC5jb20vMjAx NS8wNC8yMC9kZWVwLWRpdmUtaW50by1xdWFudHVtLWluc2VydC8iPgogIDxmcm9udD4KICAgIDx0 aXRsZT5EZWVwIGRpdmUgaW50byBRVUFOVFVNIElOU0VSVDwvdGl0bGU+CiAgICA8YXV0aG9yIGlu aXRpYWxzPSJMLiIgc3VybmFtZT0iSGFhZ3NtYSI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdh bml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMTUiLz4KICA8L2Zyb250 Pgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9IlJTRiIgdGFyZ2V0PSJodHRwczovL2Vu LnJzZi5vcmcvc3lyaWEtc3lyaWEtdXNpbmctMzQtYmx1ZS1jb2F0LXNlcnZlcnMtMjMtMDUtMjAx Myw0NDY2NC5odG1sIj4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+U3lyaWEgdXNpbmcgMzQgQmx1ZSBD b2F0IFNlcnZlcnMgdG8gc3B5IG9uIEludGVybmV0IHVzZXJzPC90aXRsZT4KICAgIDxhdXRob3Ig PgogICAgICA8b3JnYW5pemF0aW9uPlJTRjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAg ICA8ZGF0ZSB5ZWFyPSIyMDEzIi8+CiAgPC9mcm9udD4KPC9yZWZlcmVuY2U+CjxyZWZlcmVuY2Ug YW5jaG9yPSJTY2huZWllciIgdGFyZ2V0PSJodHRwOi8vd3d3LnRoZWd1YXJkaWFuLmNvbS93b3Js ZC8yMDEzL29jdC8wNC90b3ItYXR0YWNrcy1uc2EtdXNlcnMtb25saW5lLWFub255bWl0eSI+CiAg PGZyb250PgogICAgPHRpdGxlPkF0dGFja2luZyBUb3IgLSBob3cgdGhlIE5TQSB0YXJnZXRzIHVz ZXJzJyBvbmxpbmUgYW5vbnltaXR5PC90aXRsZT4KICAgIDxhdXRob3IgaW5pdGlhbHM9IkIuIiBz dXJuYW1lPSJTY2huZWllciI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAg ICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMTMiLz4KICA8L2Zyb250Pgo8L3JlZmVyZW5j ZT4KPHJlZmVyZW5jZSBhbmNob3I9IkFwcGVsYmF1bSIgdGFyZ2V0PSJodHRwOi8vZGFzZXJzdGUu bmRyLmRlL3Bhbm9yYW1hL2FrdHVlbGwvbnNhMjMwX3BhZ2UtMS5odG1sIj4KICA8ZnJvbnQ+CiAg ICA8dGl0bGU+TlNBIHRhcmdldHMgdGhlIHByaXZhY3ktY29uc2Npb3VzPC90aXRsZT4KICAgIDxh dXRob3IgaW5pdGlhbHM9IkouIiBzdXJuYW1lPSJBcHBlbGJhdW0iPgogICAgICA8b3JnYW5pemF0 aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJB LiIgc3VybmFtZT0iR2lic29uIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4K ICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0iVi4iIHN1cm5hbWU9IkthYmlzaCI+ CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxh dXRob3IgaW5pdGlhbHM9IkwuIiBzdXJuYW1lPSJLYW1wZiI+CiAgICAgIDxvcmdhbml6YXRpb24+ PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxhdXRob3IgaW5pdGlhbHM9IkwuIiBz dXJuYW1lPSJSeWdlIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwv YXV0aG9yPgogICAgPGRhdGUgeWVhcj0iMjAxNSIvPgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8 cmVmZXJlbmNlIGFuY2hvcj0iTWFyY2FrIiB0YXJnZXQ9Imh0dHBzOi8vY2l0aXplbmxhYi5vcmcv MjAxNS8wNC9jaGluYXMtZ3JlYXQtY2Fubm9uLyI+CiAgPGZyb250PgogICAgPHRpdGxlPkNoaW5h J3MgR3JlYXQgRmlyZSBDYW5ub248L3RpdGxlPgogICAgPGF1dGhvciBpbml0aWFscz0iQi4iIHN1 cm5hbWU9Ik1hcmNhayI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8 L2F1dGhvcj4KICAgIDxhdXRob3IgaW5pdGlhbHM9Ik4uIiBzdXJuYW1lPSJXZWF2ZXIiPgogICAg ICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9y IGluaXRpYWxzPSJKLiIgc3VybmFtZT0iRGFsZWsiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3Jn YW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJSLiIgc3VybmFt ZT0iRW5zYWZpIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0 aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0iRC4iIHN1cm5hbWU9IkZpZmllbGQiPgogICAgICA8 b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9yIGlu aXRpYWxzPSJTLiIgc3VybmFtZT0iTWNLdW5lIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2Fu aXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0iQS4iIHN1cm5hbWU9 IlJleSI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4K ICAgIDxhdXRob3IgaW5pdGlhbHM9IkouIiBzdXJuYW1lPSJTY290dC1SYWlsdG9uIj4KICAgICAg PG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBp bml0aWFscz0iUi4iIHN1cm5hbWU9IkRlaWJlcnQiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3Jn YW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJWLiIgc3VybmFt ZT0iUGF4c29uIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0 aG9yPgogICAgPGRhdGUgeWVhcj0iMjAxNSIvPgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVm ZXJlbmNlIGFuY2hvcj0iR29vZ2xlcGF0ZW50IiB0YXJnZXQ9Imh0dHBzOi8vd3d3Lmdvb2dsZS5j b20vcGF0ZW50cy9FUDI2MDE3NzRBMT9jbD1lbiI+CiAgPGZyb250PgogICAgPHRpdGxlPk1ldGhv ZCBhbmQgZGV2aWNlIGZvciBuZXR3b3JrIHRyYWZmaWMgbWFuaXB1bGF0aW9uPC90aXRsZT4KICAg IDxhdXRob3IgaW5pdGlhbHM9Ii4iIHN1cm5hbWU9Ikdvb2dsZSI+CiAgICAgIDxvcmdhbml6YXRp b24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMTIiLz4K ICA8L2Zyb250Pgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9Ik1hcnF1aXMtQm9pcmUi IHRhcmdldD0iaHR0cHM6Ly9jaXRpemVubGFiLm9yZy8yMDE0LzA4L2NhdC12aWRlby1hbmQtdGhl LWRlYXRoLW9mLWNsZWFyLXRleHQvIj4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+U2Nocm9kaW5nZXIn cyBDYXQgVmlkZW8gYW5kIHRoZSBEZWF0aCBvZiBDbGVhci1UZXh0PC90aXRsZT4KICAgIDxhdXRo b3IgaW5pdGlhbHM9Ik0uIiBzdXJuYW1lPSJNYXJxdWlzLUJvaXJlIj4KICAgICAgPG9yZ2FuaXph dGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0iMjAxNCIv PgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0icGlkZ2luIiB0YXJn ZXQ9Imh0dHBzOi8vZGV2ZWxvcGVyLnBpZGdpbi5pbS90aWNrZXQvNDMyMiI+CiAgPGZyb250Pgog ICAgPHRpdGxlPi1YTVBQLSBJbnZpc2libGUgbW9kZSB2aW9sYXRpbmcgc3RhbmRhcmQ8L3RpdGxl PgogICAgPGF1dGhvciBpbml0aWFscz0iLiIgc3VybmFtZT0ianMiPgogICAgICA8b3JnYW5pemF0 aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9yID4KICAgICAgPG9y Z2FuaXphdGlvbj5QaWRnaW4gRGV2ZWxvcGVyczwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+ CiAgICA8ZGF0ZSB5ZWFyPSIyMDE1IiBtb250aD0iSnVseSIvPgogIDwvZnJvbnQ+CjwvcmVmZXJl bmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0ieG1wcG1hbmlmZXN0byIgdGFyZ2V0PSJodHRwczovL3Jh dy5naXRodWJ1c2VyY29udGVudC5jb20vc3RwZXRlci9tYW5pZmVzdG8vbWFzdGVyL21hbmlmZXN0 by50eHQiPgogIDxmcm9udD4KICAgIDx0aXRsZT5BIFB1YmxpYyBTdGF0ZW1lbnQgUmVnYXJkaW5n IFViaXF1aXRvdXMgRW5jcnlwdGlvbiBvbiB0aGUgWE1QUCBOZXR3b3JrPC90aXRsZT4KICAgIDxh dXRob3IgaW5pdGlhbHM9IlAuIiBzdXJuYW1lPSJTYWludC1BbmRyZSI+CiAgICAgIDxvcmdhbml6 YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxhdXRob3IgaW5pdGlhbHM9 Ii4iIHN1cm5hbWU9IlhNUFAgT3BlcmF0b3JzIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2Fu aXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0iMjAxNCIvPgogIDwvZnJvbnQ+ CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0ibmFtZWNvaW4iIHRhcmdldD0iaHR0cHM6 Ly9uYW1lY29pbi5pbmZvLyI+CiAgPGZyb250PgogICAgPHRpdGxlPk5hbWVjb2luIC0gRGVjZW50 cmFsaXplZCBzZWN1cmUgbmFtZXM8L3RpdGxlPgogICAgPGF1dGhvciA+CiAgICAgIDxvcmdhbml6 YXRpb24+TmFtZWNvaW48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVh cj0iMjAxNSIvPgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0iRG91 Y2V1ciIgdGFyZ2V0PSJodHRwOi8vcmVzZWFyY2gubWljcm9zb2Z0LmNvbTo4MDgyL3B1YnMvNzQy MjAvSVBUUFMyMDAyLnBkZiI+CiAgPGZyb250PgogICAgPHRpdGxlPlRoZSBTeWJpbCBBdHRhY2s8 L3RpdGxlPgogICAgPGF1dGhvciBpbml0aWFscz0iSi5SLiIgc3VybmFtZT0iRG91Y2V1ciI+CiAg ICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRl IHllYXI9IjIwMDIiLz4KICA8L2Zyb250Pgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9 IkJyYXkiIHRhcmdldD0iaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWlldGYtaHR0 cGJpcy1sZWdhbGx5LXJlc3RyaWN0ZWQtc3RhdHVzLTA0Ij4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+ QSBOZXcgSFRUUCBTdGF0dXMgQ29kZSBmb3IgTGVnYWxseS1yZXN0cmljdGVkIFJlc291cmNlczwv dGl0bGU+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJULiIgc3VybmFtZT0iQnJheSI+CiAgICAgIDxv cmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9 IjIwMTYiLz4KICA8L2Zyb250Pgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9IkRhZWRh bHVzIiB0YXJnZXQ9Imh0dHA6Ly93d3cubWl0cHJlc3Nqb3VybmFscy5vcmcvdG9jL2RhZWQvY3Vy cmVudCI+CiAgPGZyb250PgogICAgPHRpdGxlPlRoZSBDb250aW5nZW50IEludGVybmV0PC90aXRs ZT4KICAgIDxhdXRob3IgaW5pdGlhbHM9IkQuIiBzdXJuYW1lPSJDbGFyayI+CiAgICAgIDxvcmdh bml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIw MTYiLz4KICA8L2Zyb250PgogIDxzZXJpZXNJbmZvIG5hbWU9IkRhZWRhbHVzIFdpbnRlciAyMDE2 LCBWb2wuIDE0NSwgTm8uIDEuIHAuIDkmI3gyMDEzOzE3IiB2YWx1ZT0iIi8+CjwvcmVmZXJlbmNl Pgo8cmVmZXJlbmNlIGFuY2hvcj0iU2F1dGVyIiA+CiAgPGZyb250PgogICAgPHRpdGxlPlRoZSBD b21pbmcgU3dhcm08L3RpdGxlPgogICAgPGF1dGhvciBpbml0aWFscz0iTS4iIHN1cm5hbWU9IlNh dXRlciI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4K ICAgIDxkYXRlIHllYXI9IjIwMTQiLz4KICA8L2Zyb250PgogIDxzZXJpZXNJbmZvIG5hbWU9IkJs b29tc2J1cnksIExvbmRvbiIgdmFsdWU9IiIvPgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNo b3I9IldhbGZpc2giIHRhcmdldD0iaHR0cDovL25tcy5jc2FpbC5taXQuZWR1L2RvYSI+CiAgPGZy b250PgogICAgPHRpdGxlPk1pZGRsZWJveGVzIE5vIExvbmdlciBDb25zaWRlcmVkIEhhcm1mdWw8 L3RpdGxlPgogICAgPGF1dGhvciBpbml0aWFscz0iTS4iIHN1cm5hbWU9IldhbGZpc2giPgogICAg ICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9y IGluaXRpYWxzPSJKLiIgc3VybmFtZT0iU3RyaWJsaW5nIj4KICAgICAgPG9yZ2FuaXphdGlvbj48 L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0iTS4iIHN1 cm5hbWU9Iktyb2huIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwv YXV0aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0iSC4iIHN1cm5hbWU9IkJhbGFrcmlzaG5hbiI+ CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxh dXRob3IgaW5pdGlhbHM9IlIuIiBzdXJuYW1lPSJNb3JyaXMiPgogICAgICA8b3JnYW5pemF0aW9u Pjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJTLiIg c3VybmFtZT0iU2hlbmtlciI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAg ICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMDQiLz4KICA8L2Zyb250Pgo8L3JlZmVyZW5j ZT4KPHJlZmVyZW5jZSBhbmNob3I9IkFiaWJpbCIgdGFyZ2V0PSJodHRwOi8vZGRhbmNoZXYuYmxv Z3Nwb3QuYmUvMjAxMi8wOS9kaXNzZWN0aW5nLW9wZXJhdGlvbi1hYmFiaWwtb3NpbnQuaHRtbCI+ CiAgPGZyb250PgogICAgPHRpdGxlPkRpc3NlY3RpbmcgJ09wZXJhdGlvbiBBYmFiaWwnIC0gYW4g T1NJTlQgQW5hbHlzaXM8L3RpdGxlPgogICAgPGF1dGhvciBpbml0aWFscz0iRC4iIHN1cm5hbWU9 IkRhbmNoZXYiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRo b3I+CiAgICA8ZGF0ZSB5ZWFyPSIyMDEyIi8+CiAgPC9mcm9udD4KPC9yZWZlcmVuY2U+CjxyZWZl cmVuY2UgYW5jaG9yPSJHcmVlbk1vdmVtZW50IiB0YXJnZXQ9Imh0dHBzOi8vd3d3Lm5hcnR2Lm9y Zy8yMDA5LzA2LzE2L2lyYW4tZGRvcy8iPgogIDxmcm9udD4KICAgIDx0aXRsZT5JcmFuIEREb1M8 L3RpdGxlPgogICAgPGF1dGhvciBpbml0aWFscz0iTi4iIHN1cm5hbWU9IlZpbGxlbmV1dmUiPgog ICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0 ZSB5ZWFyPSIyMDA5Ii8+CiAgPC9mcm9udD4KPC9yZWZlcmVuY2U+CjxyZWZlcmVuY2UgYW5jaG9y PSJadWNrZXJtYW4iIHRhcmdldD0iaHR0cHM6Ly9jeWJlci5sYXcuaGFydmFyZC5lZHUvc2l0ZXMv Y3liZXIubGF3LmhhcnZhcmQuZWR1L2ZpbGVzLzIwMTBfRERvU19BdHRhY2tzX0h1bWFuX1JpZ2h0 c19hbmRfTWVkaWEucGRmIj4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+UmVwb3J0IG9uIERpc3RyaWJ1 dGVkIERlbmlhbCBvZiBTZXJ2aWNlIChERG9TKSBBdHRhY2tzPC90aXRsZT4KICAgIDxhdXRob3Ig aW5pdGlhbHM9IkUuIiBzdXJuYW1lPSJadWNrZXJtYW4iPgogICAgICA8b3JnYW5pemF0aW9uPjwv b3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJILiIgc3Vy bmFtZT0iUm9iZXJ0cyI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8 L2F1dGhvcj4KICAgIDxhdXRob3IgaW5pdGlhbHM9IlIuIiBzdXJuYW1lPSJNY0dyYWR5Ij4KICAg ICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhv ciBpbml0aWFscz0iSi4iIHN1cm5hbWU9IllvcmsiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3Jn YW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJKLiIgc3VybmFt ZT0iUGFsZnJleSI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1 dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMTAiLz4KICA8L2Zyb250PgogIDxzZXJpZXNJbmZvIG5h bWU9IlRoZSBCZXJrbWFuIENlbnRlciBmb3IgSW50ZXJuZXQgYW5kIFNvY2lldHkgYXQgSGFydmFy ZCBVbml2ZXJzaXR5IiB2YWx1ZT0iIi8+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0i SUNDUFIiIHRhcmdldD0iaHR0cDovL3d3dy5vaGNoci5vcmcvRU4vUHJvZmVzc2lvbmFsSW50ZXJl c3QvUGFnZXMvQ0NQUi5hc3B4Ij4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+SW50ZXJuYXRpb25hbCBD b3ZlbmFudCBvbiBDaXZpbCBhbmQgUG9saXRpY2FsIFJpZ2h0czwvdGl0bGU+CiAgICA8YXV0aG9y ID4KICAgICAgPG9yZ2FuaXphdGlvbj5Vbml0ZWQgTmF0aW9ucyBHZW5lcmFsIEFzc2VtYmx5PC9v cmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjE5NzYiLz4KICA8L2Zy b250Pgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9IkJlcm5lcnMtTGVlIiA+CiAgPGZy b250PgogICAgPHRpdGxlPldlYXZpbmcgdGhlIFdlYiw8L3RpdGxlPgogICAgPGF1dGhvciBpbml0 aWFscz0iVC4iIHN1cm5hbWU9IkJlcm5lcnMtTGVlIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29y Z2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0iTS4iIHN1cm5h bWU9IkZpc2NoZXR0aSI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8 L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjE5OTkiLz4KICA8L2Zyb250PgogIDxzZXJpZXNJbmZv IG5hbWU9IkhhcnBlckNvbGxpbnMiIHZhbHVlPSJwIDIwOCIvPgo8L3JlZmVyZW5jZT4KPHJlZmVy ZW5jZSBhbmNob3I9IlNhbHR6ZXIiID4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+RW5kLXRvLUVuZCBB cmd1bWVudHMgaW4gU3lzdGVtIERlc2lnbjwvdGl0bGU+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJK LkguIiBzdXJuYW1lPSJTYWx0emVyIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlv bj4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0iRC5QLiIgc3VybmFtZT0iUmVl ZCI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAg IDxhdXRob3IgaW5pdGlhbHM9IkQuRC4iIHN1cm5hbWU9IkNsYXJrIj4KICAgICAgPG9yZ2FuaXph dGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0iMTk4NCIv PgogIDwvZnJvbnQ+CiAgPHNlcmllc0luZm8gbmFtZT0iQUNNIFRPQ1MsIFZvbCAyLCBOdW1iZXIg NCwgTm92ZW1iZXIgMTk4NCwgcHAgMjc3LTI4OC4iIHZhbHVlPSIiLz4KPC9yZWZlcmVuY2U+Cjxy ZWZlcmVuY2UgYW5jaG9yPSJDbGFyayIgPgogIDxmcm9udD4KICAgIDx0aXRsZT5UaGUgRGVzaWdu IFBoaWxvc29waHkgb2YgdGhlIERBUlBBIEludGVybmV0IFByb3RvY29sczwvdGl0bGU+CiAgICA8 YXV0aG9yIGluaXRpYWxzPSJELiIgc3VybmFtZT0iQ2xhcmsiPgogICAgICA8b3JnYW5pemF0aW9u Pjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFyPSIxOTg4Ii8+CiAg PC9mcm9udD4KICA8c2VyaWVzSW5mbyBuYW1lPSJQcm9jIFNJR0NPTU0gODgsIEFDTSBDQ1IgVm9s IDE4LCBOdW1iZXIgNCwgQXVndXN0IDE5ODgsIHBwLiAxMDYtMTE0LiIgdmFsdWU9IiIvPgo8L3Jl ZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9IkJsdW1lbnRoYWwiID4KICA8ZnJvbnQ+CiAgICA8 dGl0bGU+UmV0aGlua2luZyB0aGUgZGVzaWduIG9mIHRoZSBJbnRlcm5ldDogVGhlIGVuZC10by1l bmQgYXJndW1lbnRzIHZzLiB0aGUgYnJhdmUgbmV3IHdvcmxkPC90aXRsZT4KICAgIDxhdXRob3Ig aW5pdGlhbHM9Ik0uIiBzdXJuYW1lPSJCbHVtZW50aGFsIj4KICAgICAgPG9yZ2FuaXphdGlvbj48 L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0iRC5ELiIg c3VybmFtZT0iQ2xhcmsiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAg PC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFyPSIyMDAxIi8+CiAgPC9mcm9udD4KICA8c2VyaWVzSW5m byBuYW1lPSJBQ00gVHJhbnNhY3Rpb25zIG9uIEludGVybmV0IFRlY2hub2xvZ3ksIFZvbC4gMSwg Tm8uIDEsIEF1Z3VzdCAyMDAxLCBwcCA3MC0xMDkuIiB2YWx1ZT0iIi8+CjwvcmVmZXJlbmNlPgo8 cmVmZXJlbmNlIGFuY2hvcj0iV1AtU3RhdGVsZXNzIiB0YXJnZXQ9Imh0dHBzOi8vZW4ud2lraXBl ZGlhLm9yZy93aWtpL1N0YXRlbGVzc19wcm90b2NvbCI+CiAgPGZyb250PgogICAgPHRpdGxlPlN0 YXRlbGVzcyBwcm90b2NvbDwvdGl0bGU+CiAgICA8YXV0aG9yID4KICAgICAgPG9yZ2FuaXphdGlv bj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0ibi5kLiIvPgog IDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0iV1AtRGVidWdnaW5nIiB0 YXJnZXQ9Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0RlYnVnZ2luZyI+CiAgPGZyb250 PgogICAgPHRpdGxlPkRlYnVnZ2luZzwvdGl0bGU+CiAgICA8YXV0aG9yID4KICAgICAgPG9yZ2Fu aXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0ibi5k LiIvPgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0iRklBcmNoIiB0 YXJnZXQ9Imh0dHA6Ly93d3cuZnV0dXJlLWludGVybmV0LmV1L3VwbG9hZHMvbWVkaWEvRklBcmNo X0Rlc2lnbl9QcmluY2lwbGVzX1YxLjAucGRmIj4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+RnV0dXJl IEludGVybmV0IERlc2lnbiBQcmluY2lwbGVzPC90aXRsZT4KICAgIDxhdXRob3IgPgogICAgICA8 b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFy PSIyMDEyIiBtb250aD0iSmFudWFyeSIvPgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVmZXJl bmNlIGFuY2hvcj0iRWxhaGkiIHRhcmdldD0iaHR0cDovL2NhY3IudXdhdGVybG9vLmNhL3RlY2hy ZXBvcnRzLzIwMTIvY2FjcjIwMTItMzMucGRmIj4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+Q09SRE9O IC0gQSB0YXhvbm9teSBvZiBJbnRlcm5ldCBDZW5zb3JzaGlwIFJlc2lzdGFuY2UgU3RyYXRlZ2ll czwvdGl0bGU+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJULiIgc3VybmFtZT0iRWxhaGkiPgogICAg ICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9y IGluaXRpYWxzPSJJLiIgc3VybmFtZT0iR29sZGJlcmciPgogICAgICA8b3JnYW5pemF0aW9uPjwv b3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFyPSIyMDEyIi8+CiAgPC9m cm9udD4KPC9yZWZlcmVuY2U+CjxyZWZlcmVuY2UgYW5jaG9yPSJCcm93biIgPgogIDxmcm9udD4K ICAgIDx0aXRsZT5BIFByZWhpc3Rvcnkgb2YgSW50ZXJuZXQgR292ZXJuYW5jZTwvdGl0bGU+CiAg ICA8YXV0aG9yIGluaXRpYWxzPSJJLiIgc3VybmFtZT0iQnJvd24iPgogICAgICA8b3JnYW5pemF0 aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJN LiIgc3VybmFtZT0iWmlld2l0eiI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+ CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMTMiLz4KICA8L2Zyb250PgogIDxzZXJp ZXNJbmZvIG5hbWU9IlJlc2VhcmNoIEhhbmRib29rIG9uIEdvdmVybmFuY2Ugb2YgdGhlIEludGVy bmV0LiBDaGVsdGVuaGFtLCBFZHdhcmQgRWxnYXIuIiB2YWx1ZT0iIi8+CjwvcmVmZXJlbmNlPgo8 cmVmZXJlbmNlIGFuY2hvcj0iRlJBTUVXT1JLIiA+CiAgPGZyb250PgogICAgPHRpdGxlPkluZm9y bWF0aW9uIHRlY2hub2xvZ3kgLSBGcmFtZXdvcmsgZm9yIGludGVybmF0aW9uYWxpemF0aW9uLCBw cmVwYXJlZCBieSBJU08vSUVDIEpUQyAxL1NDIDIyL1dHIDIwIElTTy9JRUMgVFIgMTEwMTc8L3Rp dGxlPgogICAgPGF1dGhvciBpbml0aWFscz0iLiIgc3VybmFtZT0iSVNPL0lFQyI+CiAgICAgIDxv cmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9 IjE5OTciLz4KICA8L2Zyb250Pgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9IlczQ2kx OG5EZWYiIHRhcmdldD0iaHR0cDovL3d3dy53My5vcmcvSW50ZXJuYXRpb25hbC9xdWVzdGlvbnMv cWEtaTE4bi5lbiI+CiAgPGZyb250PgogICAgPHRpdGxlPkxvY2FsaXphdGlvbiB2cy4gSW50ZXJu YXRpb25hbGl6YXRpb248L3RpdGxlPgogICAgPGF1dGhvciA+CiAgICAgIDxvcmdhbml6YXRpb24+ VzNDPC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMTAiLz4K ICA8L2Zyb250Pgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9IlczQ0FjY2Vzc2liaWxp dHkiIHRhcmdldD0iaHR0cHM6Ly93d3cudzMub3JnL3N0YW5kYXJkcy93ZWJkZXNpZ24vYWNjZXNz aWJpbGl0eSI+CiAgPGZyb250PgogICAgPHRpdGxlPkFjY2Vzc2liaWxpdHk8L3RpdGxlPgogICAg PGF1dGhvciA+CiAgICAgIDxvcmdhbml6YXRpb24+VzNDPC9vcmdhbml6YXRpb24+CiAgICA8L2F1 dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMTUiLz4KICA8L2Zyb250Pgo8L3JlZmVyZW5jZT4KPHJl ZmVyZW5jZSBhbmNob3I9IlJhY2hvdml0c2EiIHRhcmdldD0iaHR0cHM6Ly93d3cuaWV0Zi5vcmcv bWFpbC1hcmNoaXZlL3dlYi9ocnBjL2N1cnJlbnQvcGRmUkJuUllGZVZzbS5wZGYiPgogIDxmcm9u dD4KICAgIDx0aXRsZT5FbmdpbmVlcmluZyAiUHJpdmFjeSBieSBEZXNpZ24iIGluIHRoZSBJbnRl cm5ldCBQcm90b2NvbHMgLSBVbmRlcnN0YW5kaW5nIE9ubGluZSBQcml2YWN5IGJvdGggYXMgYSBU ZWNobmljYWwgYW5kIGEgSHVtYW4gUmlnaHRzIElzc3VlIGluIHRoZSBGYWNlIG9mIFBlcnZhc2l2 ZSBNb25pdG9yaW5nPC90aXRsZT4KICAgIDxhdXRob3IgaW5pdGlhbHM9IkEuIiBzdXJuYW1lPSJS YWNob3ZpdHNhIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0 aG9yPgogICAgPGRhdGUgeWVhcj0iMjAxNSIvPgogIDwvZnJvbnQ+CiAgPHNlcmllc0luZm8gbmFt ZT0iSW50ZXJuYXRpb25hbCBKb3VybmFsIG9mIExhdyBhbmQgSW5mb3JtYXRpb24gVGVjaG5vbG9n eSIgdmFsdWU9IiIvPgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9IkRhdmlkc29uZXRh bCIgdGFyZ2V0PSJodHRwczovL3d3dy5jZHQub3JnL2ZpbGVzL3B1YmxpY2F0aW9ucy9waWFpcy5w ZGYiPgogIDxmcm9udD4KICAgIDx0aXRsZT5TdHJhbmdlcnMgaW4gYSBzdHJhbmdlIGxhbmQ8L3Rp dGxlPgogICAgPGF1dGhvciBpbml0aWFscz0iQS4iIHN1cm5hbWU9IkRhdmlkc29uIj4KICAgICAg PG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBp bml0aWFscz0iSi4iIHN1cm5hbWU9Ik1vcnJpcyI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdh bml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxhdXRob3IgaW5pdGlhbHM9IlIuIiBzdXJuYW1l PSJDb3VydG5leSI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1 dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMDIiLz4KICA8L2Zyb250PgogIDxzZXJpZXNJbmZvIG5h bWU9IlRlbGVjb21tdW5pY2F0aW9ucyBQb2xpY3kgUmVzZWFyY2ggQ29uZmVyZW5jZSIgdmFsdWU9 IiIvPgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9IkNsYXJrZXRhbCIgdGFyZ2V0PSJo dHRwczovL2RsLmFjbS5vcmcvY2l0YXRpb24uY2ZtP2lkPTEwNzQwNDkiPgogIDxmcm9udD4KICAg IDx0aXRsZT5UdXNzbGUgaW4gY3liZXJzcGFjZSAtIGRlZmluaW5nIHRvbW9ycm93J3MgSW50ZXJu ZXQ8L3RpdGxlPgogICAgPGF1dGhvciBpbml0aWFscz0iRC5ELiIgc3VybmFtZT0iQ2xhcmsiPgog ICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0 aG9yIGluaXRpYWxzPSJKLiIgc3VybmFtZT0iV3JvY2xhd3NraSI+CiAgICAgIDxvcmdhbml6YXRp b24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxhdXRob3IgaW5pdGlhbHM9Iksu Ui4iIHN1cm5hbWU9IlNvbGxpbnMiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9u PgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJSLiIgc3VybmFtZT0iQnJhZGVu Ij4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAg PGRhdGUgeWVhcj0iMjAwNSIvPgogIDwvZnJvbnQ+CiAgPHNlcmllc0luZm8gbmFtZT0iQUNNIERp Z2l0YWwgTGlicmFyeSIgdmFsdWU9IiIvPgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9 IkJyb2VkZXJzIiB0YXJnZXQ9Imh0dHA6Ly93d3cud3JyLm5sL2VuL3B1YmxpY2F0aW9ucy9wdWJs aWNhdGlvbi9hcnRpY2xlL2RlLXB1YmxpZWtlLWtlcm4tdmFuLWhldC1pbnRlcm5ldC0xLyI+CiAg PGZyb250PgogICAgPHRpdGxlPlRoZSBwdWJsaWMgY29yZSBvZiB0aGUgSW50ZXJuZXQ8L3RpdGxl PgogICAgPGF1dGhvciBpbml0aWFscz0iRC4iIHN1cm5hbWU9IkJyb2VkZXJzIj4KICAgICAgPG9y Z2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0i MjAxNSIvPgogIDwvZnJvbnQ+CiAgPHNlcmllc0luZm8gbmFtZT0iV1JSIiB2YWx1ZT0iIi8+Cjwv cmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0iTXVzaWFuaSIgdGFyZ2V0PSJodHRwOi8vZG9p Lm9yZy8xMC4xNjk5Ny93cGNjLjIxNCI+CiAgPGZyb250PgogICAgPHRpdGxlPkdpYW50cywgRHdh cmZzIGFuZCBEZWNlbnRyYWxpemVkIEFsdGVybmF0aXZlcyB0byBJbnRlcm5ldC1iYXNlZCBTZXJ2 aWNlcyAtIEFuIElzc3VlIG9mIEludGVybmV0IEdvdmVybmFuY2U8L3RpdGxlPgogICAgPGF1dGhv ciBpbml0aWFscz0iRi4iIHN1cm5hbWU9Ik11c2lhbmkiPgogICAgICA8b3JnYW5pemF0aW9uPjwv b3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFyPSIyMDE1Ii8+CiAgPC9m cm9udD4KICA8c2VyaWVzSW5mbyBuYW1lPSJXZXN0bWluaXN0ZXIgUGFwZXJzIGluIENvbW11bmlj YXRpb24gYW5kIEN1bHR1cmUiIHZhbHVlPSIiLz4KPC9yZWZlcmVuY2U+CjxyZWZlcmVuY2UgYW5j aG9yPSJCcm93bk1hcnNkZW4iIHRhcmdldD0iaHR0cHM6Ly9taXRwcmVzcy5taXQuZWR1L2Jvb2tz L3JlZ3VsYXRpbmctY29kZSI+CiAgPGZyb250PgogICAgPHRpdGxlPlJlZ3VsYXRpbmcgY29kZTwv dGl0bGU+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJJLiIgc3VybmFtZT0iQnJvd24iPgogICAgICA8 b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8YXV0aG9yIGlu aXRpYWxzPSJDLiIgc3VybmFtZT0iTWFyc2RlbiI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdh bml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMTMiLz4KICA8L2Zyb250 PgogIDxzZXJpZXNJbmZvIG5hbWU9Ik1JVCBQcmVzcyIgdmFsdWU9IiIvPgo8L3JlZmVyZW5jZT4K PHJlZmVyZW5jZSBhbmNob3I9IkJyb3duZXRhbCIgdGFyZ2V0PSJodHRwOi8vY29uZmVyZW5jZXMu c2lnY29tbS5vcmcvY28tbmV4dC8yMDEwL1dvcmtzaG9wcy9SRUFSQ0gvUmVBcmNoX3BhcGVycy8x MC1Ccm93bi5wZGYiPgogIDxmcm9udD4KICAgIDx0aXRsZT5TaG91bGQgc3BlY2lmaWMgdmFsdWVz IGJlIGVtYmVkZGVkIGluIHRoZSBJbnRlcm5ldCBBcmNoaXRlY3R1cmU/PC90aXRsZT4KICAgIDxh dXRob3IgaW5pdGlhbHM9IkkuIiBzdXJuYW1lPSJCcm93biI+CiAgICAgIDxvcmdhbml6YXRpb24+ PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxhdXRob3IgaW5pdGlhbHM9IkQuIiBz dXJuYW1lPSJDbGFyayI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8 L2F1dGhvcj4KICAgIDxhdXRob3IgaW5pdGlhbHM9IkQuIiBzdXJuYW1lPSJUcm9zc2VuIj4KICAg ICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUg eWVhcj0iMjAxMCIvPgogIDwvZnJvbnQ+CiAgPHNlcmllc0luZm8gbmFtZT0iU2lnY29tbSIgdmFs dWU9IiIvPgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9IkFiYmF0ZSIgdGFyZ2V0PSJo dHRwczovL21pdHByZXNzLm1pdC5lZHUvYm9va3MvaW52ZW50aW5nLWludGVybmV0Ij4KICA8ZnJv bnQ+CiAgICA8dGl0bGU+SW52ZW50aW5nIHRoZSBJbnRlcm5ldDwvdGl0bGU+CiAgICA8YXV0aG9y IGluaXRpYWxzPSJKLiIgc3VybmFtZT0iQWJiYXRlIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29y Z2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0iMjAwMCIvPgogIDwvZnJv bnQ+CiAgPHNlcmllc0luZm8gbmFtZT0iTUlUIFByZXNzIiB2YWx1ZT0iIi8+CjwvcmVmZXJlbmNl Pgo8cmVmZXJlbmNlIGFuY2hvcj0iWml0dHJhaW4iIHRhcmdldD0iaHR0cHM6Ly9kYXNoLmhhcnZh cmQuZWR1L2JpdHN0cmVhbS9oYW5kbGUvMS80NDU1MjYyL1ppdHRyYWluX0Z1dHVyZSUyMG9mJTIw dGhlJTIwSW50ZXJuZXQucGRmP3NlcXVlbmNlPTEiPgogIDxmcm9udD4KICAgIDx0aXRsZT5UaGUg RnV0dXJlIG9mIHRoZSBJbnRlcm5ldCAtIEFuZCBIb3cgdG8gU3RvcCBJdDwvdGl0bGU+CiAgICA8 YXV0aG9yIGluaXRpYWxzPSJKLiIgc3VybmFtZT0iWml0dHJhaW4iPgogICAgICA8b3JnYW5pemF0 aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFyPSIyMDA4Ii8+ CiAgPC9mcm9udD4KICA8c2VyaWVzSW5mbyBuYW1lPSJZYWxlIFVuaXZlcnNpdHkgUHJlc3MiIHZh bHVlPSIiLz4KPC9yZWZlcmVuY2U+CjxyZWZlcmVuY2UgYW5jaG9yPSJEZW5hcmRpczE1IiB0YXJn ZXQ9Imh0dHA6Ly9pcy5nZC83R0FuRnkiPgogIDxmcm9udD4KICAgIDx0aXRsZT5UaGUgSW50ZXJu ZXQgRGVzaWduIFRlbnNpb24gYmV0d2VlbiBTdXJ2ZWlsbGFuY2UgYW5kIFNlY3VyaXR5PC90aXRs ZT4KICAgIDxhdXRob3IgaW5pdGlhbHM9IkwuIiBzdXJuYW1lPSJEZW5hcmRpcyI+CiAgICAgIDxv cmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9 IjIwMTUiLz4KICA8L2Zyb250PgogIDxzZXJpZXNJbmZvIG5hbWU9IklFRUUgQW5uYWxzIG9mIHRo ZSBIaXN0b3J5IG9mIENvbXB1dGluZyAodm9sdW1lIDM3LTIpIiB2YWx1ZT0iIi8+CjwvcmVmZXJl bmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0iRGVuYXJkaXMxNCIgdGFyZ2V0PSJodHRwczovL3d3dy5q c3Rvci5vcmcvc3RhYmxlL2ouY3R0NXZrejRuIj4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+VGhlIEds b2JhbCBXYXIgZm9yIEludGVybmV0IEdvdmVybmFuY2U8L3RpdGxlPgogICAgPGF1dGhvciBpbml0 aWFscz0iTC4iIHN1cm5hbWU9IkRlbmFyZGlzIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2Fu aXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0iMjAxNCIvPgogIDwvZnJvbnQ+ CiAgPHNlcmllc0luZm8gbmFtZT0iWWFsZSBVbml2ZXJzaXR5IFByZXNzIiB2YWx1ZT0iIi8+Cjwv cmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0iTGVzc2lnIiB0YXJnZXQ9Imh0dHA6Ly9jb2Rl djIuY2MvIj4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+Q29kZSAtIEFuZCBPdGhlciBMYXdzIG9mIEN5 YmVyc3BhY2UsIFZlcnNpb24gMi4wLjwvdGl0bGU+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJMLiIg c3VybmFtZT0iTGVzc2lnIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAg IDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0iMjAwNiIvPgogIDwvZnJvbnQ+CiAgPHNlcmllc0lu Zm8gbmFtZT0iTmV3IFlvcmsgQmFzaWMgQm9va3MiIHZhbHVlPSIiLz4KPC9yZWZlcmVuY2U+Cjxy ZWZlcmVuY2UgYW5jaG9yPSJNdWVsbGVyIiB0YXJnZXQ9Imh0dHBzOi8vbWl0cHJlc3MubWl0LmVk dS9ib29rcy9uZXR3b3Jrcy1hbmQtc3RhdGVzIj4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+TmV0d29y a3MgYW5kIFN0YXRlczwvdGl0bGU+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJNLiIgc3VybmFtZT0i TXVlbGxlciI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhv cj4KICAgIDxkYXRlIHllYXI9IjIwMTAiLz4KICA8L2Zyb250PgogIDxzZXJpZXNJbmZvIG5hbWU9 Ik1JVCBQcmVzcyIgdmFsdWU9IiIvPgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9IkJs ZXNzIiA+CiAgPGZyb250PgogICAgPHRpdGxlPlZhbHVlcyBhbmQgTmV0d29ya3M8L3RpdGxlPgog ICAgPGF1dGhvciBpbml0aWFscz0iUi4iIHN1cm5hbWU9IkJsZXNzIj4KICAgICAgPG9yZ2FuaXph dGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0i Qy4iIHN1cm5hbWU9Ik9yd2F0Ij4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4K ICAgIDwvYXV0aG9yPgogICAgPGRhdGUgeWVhcj0iMjAxNSIvPgogIDwvZnJvbnQ+CjwvcmVmZXJl bmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0iQmVua2xlciIgdGFyZ2V0PSJodHRwOi8vaXMuZ2QvcnhV cFRRIj4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+VGhlIHdlYWx0aCBvZiBOZXR3b3JrcyAtIEhvdyBz b2NpYWwgcHJvZHVjdGlvbiB0cmFuc2Zvcm1zIG1hcmtldHMgYW5kIGZyZWVkb208L3RpdGxlPgog ICAgPGF1dGhvciBpbml0aWFscz0iWS4iIHN1cm5hbWU9IkJlbmtsZXIiPgogICAgICA8b3JnYW5p emF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFyPSIyMDA2 Ii8+CiAgPC9mcm9udD4KICA8c2VyaWVzSW5mbyBuYW1lPSJOZXcgSGF2ZW4gYW5kIExvbmRvbiAt IFlhbGUgVW5pdmVyc2l0eSBQcmVzcyIgdmFsdWU9IiIvPgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5j ZSBhbmNob3I9IkJhYmJpZSIgPgogIDxmcm9udD4KICAgIDx0aXRsZT5UaGUgQmFzaWNzIG9mIFNv Y2lhbCBSZXNlYXJjaDwvdGl0bGU+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJFLiIgc3VybmFtZT0i QmFiYmllIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9y PgogICAgPGRhdGUgeWVhcj0iMjAxMCIvPgogIDwvZnJvbnQ+CiAgPHNlcmllc0luZm8gbmFtZT0i QmVsbW9udCBDQSBDZW5nYWdlIiB2YWx1ZT0iIi8+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFu Y2hvcj0iRGVuemluIiB0YXJnZXQ9Imh0dHA6Ly93d3cuYW1hem9uLmNvbS9TQUdFLUhhbmRib29r LVF1YWxpdGF0aXZlLVJlc2VhcmNoLUhhbmRib29rcy9kcC8xNDEyOTc0MTc4Ij4KICA8ZnJvbnQ+ CiAgICA8dGl0bGU+SGFuZGJvb2sgb2YgUXVhbGl0YXRpdmUgUmVzZWFyY2g8L3RpdGxlPgogICAg PGF1dGhvciBpbml0aWFscz0iTi5LLiIgc3VybmFtZT0iRGVuemluIj4KICAgICAgPG9yZ2FuaXph dGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0i WS5TLiIgc3VybmFtZT0iTGluY29sbiI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRp b24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMDAiLz4KICA8L2Zyb250PgogIDxz ZXJpZXNJbmZvIG5hbWU9IlRob3VzYW5kIE9ha3MgQ0EgU2FnZSIgdmFsdWU9IiIvPgo8L3JlZmVy ZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9IkdlZXJ0eiIgdGFyZ2V0PSJodHRwOi8vcHJlc3MudWNo aWNhZ28uZWR1L3VjcC9ib29rcy9ib29rL2NoaWNhZ28vSy9ibzM2MjUwODguaHRtbCI+CiAgPGZy b250PgogICAgPHRpdGxlPktpbnNoaXAgaW4gQmFsaTwvdGl0bGU+CiAgICA8YXV0aG9yIGluaXRp YWxzPSJHLiIgc3VybmFtZT0iQ2xpZmZvcmQiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5p emF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFyPSIxOTc1Ii8+CiAgPC9mcm9udD4K ICA8c2VyaWVzSW5mbyBuYW1lPSJDaGljYWdvIFVuaXZlcnNpdHkgb2YgQ2hpY2FnbyBQcmVzcy4i IHZhbHVlPSIiLz4KPC9yZWZlcmVuY2U+CjxyZWZlcmVuY2UgYW5jaG9yPSJKYWJyaSIgPgogIDxm cm9udD4KICAgIDx0aXRsZT5EaXNjb3Vyc2VzIG9uIFZpb2xlbmNlIC0gY29uZmxpY3QgYW5hbHlz aXMgcmVjb25zaWRlcmVkPC90aXRsZT4KICAgIDxhdXRob3IgaW5pdGlhbHM9IlYuIiBzdXJuYW1l PSJKYWJyaSI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhv cj4KICAgIDxkYXRlIHllYXI9IjE5OTYiLz4KICA8L2Zyb250PgogIDxzZXJpZXNJbmZvIG5hbWU9 Ik1hbmNoZXN0ZXIgVW5pdmVyc2l0eSBQcmVzcyIgdmFsdWU9IiIvPgo8L3JlZmVyZW5jZT4KPHJl ZmVyZW5jZSBhbmNob3I9IktpbmciID4KICA8ZnJvbnQ+CiAgICA8dGl0bGU+UG93ZXIsIFNvY2lh bCBWaW9sZW5jZSBhbmQgQ2l2aWwgV2FyczwvdGl0bGU+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJD LiIgc3VybmFtZT0iS2luZyI+CiAgICAgIDxvcmdhbml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAg ICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIwMDciLz4KICA8L2Zyb250PgogIDxzZXJpZXNJ bmZvIG5hbWU9Ildhc2hpbmd0b24gRC5DLiBVbml0ZWQgU3RhdGVzIEluc3RpdHV0ZSBvZiBQZWFj ZSBQcmVzcyIgdmFsdWU9IiIvPgo8L3JlZmVyZW5jZT4KPHJlZmVyZW5jZSBhbmNob3I9IlNjaHJv ZWRlciIgdGFyZ2V0PSJodHRwOi8vcmVzb3VyY2VsaXN0cy5zdC1hbmRyZXdzLmFjLnVrL2l0ZW1z L0JGQzIwMzYzLTY3QjAtQjNFRi1FQTQ4LTEzRTUyMzBFNzg5OS5odG1sIj4KICA8ZnJvbnQ+CiAg ICA8dGl0bGU+SW50cm9kdWN0aW9uIC0gVmlvbGVudCBJbWFnaW5hcmllcyBhbmQgVmlvbGVudCBQ cmFjdGljZTwvdGl0bGU+CiAgICA8YXV0aG9yIGluaXRpYWxzPSJJLlcuIiBzdXJuYW1lPSJTY2hy b2VkZXIiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3JnYW5pemF0aW9uPgogICAgPC9hdXRob3I+ CiAgICA8YXV0aG9yIGluaXRpYWxzPSJCLiIgc3VybmFtZT0iU2NobWlkdCI+CiAgICAgIDxvcmdh bml6YXRpb24+PC9vcmdhbml6YXRpb24+CiAgICA8L2F1dGhvcj4KICAgIDxkYXRlIHllYXI9IjIw MDEiLz4KICA8L2Zyb250PgogIDxzZXJpZXNJbmZvIG5hbWU9IkxvbmRvbiBhbmQgTmV3IFlvcmsg Um91dGxlZGdlIiB2YWx1ZT0iIi8+CjwvcmVmZXJlbmNlPgo8cmVmZXJlbmNlIGFuY2hvcj0iUmlj aGllIiB0YXJnZXQ9Imh0dHA6Ly93d3cuYW1hem9uLmNvLnVrL1F1YWxpdGF0aXZlLVJlc2VhcmNo LVByYWN0aWNlLVN0dWRlbnRzLVJlc2VhcmNoZXJzL2RwLzA3NjE5NzExMDYiPgogIDxmcm9udD4K ICAgIDx0aXRsZT5RdWFsaXRhdGl2ZSBSZXNlYXJjaCBQcmFjdGljZSAtIEEgR3VpZGUgZm9yIFNv Y2lhbCBTY2llbmNlIFN0dWRlbnRzIGFuZCBSZXNlYXJjaGVyczwvdGl0bGU+CiAgICA8YXV0aG9y IGluaXRpYWxzPSJKLiIgc3VybmFtZT0iUmljaGllIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29y Z2FuaXphdGlvbj4KICAgIDwvYXV0aG9yPgogICAgPGF1dGhvciBpbml0aWFscz0iSi4iIHN1cm5h bWU9Ikxld2lzIj4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0 aG9yPgogICAgPGRhdGUgeWVhcj0iMjAwMyIvPgogIDwvZnJvbnQ+CiAgPHNlcmllc0luZm8gbmFt ZT0iTG9uZG9uIFNhZ2UiIHZhbHVlPSIiLz4KPC9yZWZlcmVuY2U+CjxyZWZlcmVuY2UgYW5jaG9y PSJEb3R5IiB0YXJnZXQ9Imh0dHBzOi8vZ2l0aHViLmNvbS9ucGRvdHkvcmZjLWFuYWx5c2lzIj4K ICA8ZnJvbnQ+CiAgICA8dGl0bGU+QXV0b21hdGVkIHRleHQgYW5hbHlzaXMgb2YgUmVxdWVzdHMg Zm9yIENvbW1lbnQgKFJGQ3MpPC90aXRsZT4KICAgIDxhdXRob3IgaW5pdGlhbHM9Ik4uIiBzdXJu YW1lPSJEb3R5Ij4KICAgICAgPG9yZ2FuaXphdGlvbj48L29yZ2FuaXphdGlvbj4KICAgIDwvYXV0 aG9yPgogICAgPGRhdGUgeWVhcj0iMjAxNCIvPgogIDwvZnJvbnQ+CjwvcmVmZXJlbmNlPgo8cmVm ZXJlbmNlIGFuY2hvcj0iUG91d2Vsc2UiIHRhcmdldD0iaHR0cHM6Ly90b29scy5pZXRmLm9yZy9o dG1sL2RyYWZ0LXBvdXdlbHNlLWNlbnNvcmZyZWUtc2NlbmFyaW9zIj4KICA8ZnJvbnQ+CiAgICA8 dGl0bGU+TWVkaWEgd2l0aG91dCBjZW5zb3JzaGlwPC90aXRsZT4KICAgIDxhdXRob3IgaW5pdGlh bHM9IkouIiBzdXJuYW1lPSJQb3V3ZWxzZSwgRWQiPgogICAgICA8b3JnYW5pemF0aW9uPjwvb3Jn YW5pemF0aW9uPgogICAgPC9hdXRob3I+CiAgICA8ZGF0ZSB5ZWFyPSIyMDEyIi8+CiAgPC9mcm9u dD4KPC9yZWZlcmVuY2U+CgoKICAgIDwvcmVmZXJlbmNlcz4KCgoKICA8L2JhY2s+CjwvcmZjPgoK --94eb2c055f6875f0990532ada066-- From nobody Fri May 13 00:38:39 2016 Return-Path: X-Original-To: xml2rfc@ietfa.amsl.com Delivered-To: xml2rfc@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EED2612D0F0 for ; Fri, 13 May 2016 00:38:37 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.922 X-Spam-Level: X-Spam-Status: No, score=-1.922 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wXWgs-Py5BYJ for ; Fri, 13 May 2016 00:38:35 -0700 (PDT) Received: from smarthost1.greenhost.nl (smarthost1.greenhost.nl [195.190.28.81]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4E01512D0E9 for ; Fri, 13 May 2016 00:38:34 -0700 (PDT) Received: from smtp.greenhost.nl ([213.108.104.138]) by smarthost1.greenhost.nl with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1b17g6-0004fH-Ao; Fri, 13 May 2016 09:38:31 +0200 To: Matthew Kerwin References: <57350165.9070007@digitaldissidents.org> From: Niels ten Oever X-Enigmail-Draft-Status: N1110 Message-ID: <57358474.3000601@digitaldissidents.org> Date: Fri, 13 May 2016 09:38:28 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Authenticated-As-Hash: 29cc722430e8f1f6ed904119444c0d49b0f3ee91 X-Virus-Scanned: by clamav at smarthost1.samage.net X-Scan-Signature: 448baf4759cd3283a5930955cc61e1db Archived-At: Cc: xml2rfc@ietf.org Subject: Re: [xml2rfc] WARNING: Illegal character replaced in string: X-BeenThere: xml2rfc@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 May 2016 07:38:38 -0000 Dear Mathew, Alice and Jim, Thanks so much for your very quick and great responses. I should have thought of the possibility of the Debian repositories having an old version of xml2rfc. Again thanks a lot for your support! Writing with a lot of different authors in a doc and pulling in changes via Git can make the build process quite adventurous. Cheers, Niels On 05/13/2016 01:36 AM, Matthew Kerwin wrote: > On 13 May 2016 at 08:19, Niels ten Oever >wrote: > > Hi all, > > We made the attached ID in markdown, which we then made into xml using > kramdown-rfc2629, but at the moment xml2rfc is called, an infinitely > repeating 'WARNING: Illegal character replaced in string:' ensues. > ​ > > > > > > Any suggestions on how I can solve this? > > Thanks in advance, > > Niels > > > ​There are a whole bunch of (presumably cut-and-pasted?) non-ASCII > codepoints in the document; most of them are dashes, bullets, and > quotation marks. However just before line ~955 there's a U+2028 LINE > SEPARATOR character in there. That's the one that xml2rfc is complaining > about in your error message. > > There are also a whole lot of tabs in strange places. > > By fixing a lot of those issues, I made a copy of the markdown that > renders down to XML, that in turn passes through xml2rfc with only a > warning about overlong lines in some artwork. > > -- > Matthew Kerwin > http://matthew.kerwin.net.au/ -- Niels ten Oever Head of Digital Article 19 www.article19.org PGP fingerprint 8D9F C567 BEE4 A431 56C4 678B 08B5 A0F2 636D 68E9 From nobody Fri May 13 05:51:10 2016 Return-Path: X-Original-To: xml2rfc@ietfa.amsl.com Delivered-To: xml2rfc@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 694BC12D1E4 for ; Fri, 13 May 2016 05:51:07 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.62 X-Spam-Level: X-Spam-Status: No, score=-2.62 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8qPMFnjsD70n for ; Fri, 13 May 2016 05:51:05 -0700 (PDT) Received: from mx0a-00191d01.pphosted.com (mx0b-00191d01.pphosted.com [67.231.157.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 693D8128B44 for ; Fri, 13 May 2016 05:51:05 -0700 (PDT) Received: from pps.filterd (m0049463.ppops.net [127.0.0.1]) by m0049463.ppops.net-00191d01. (8.16.0.11/8.16.0.11) with SMTP id u4DCmrHq031216; Fri, 13 May 2016 08:50:57 -0400 Received: from alpi155.enaf.aldc.att.com (sbcsmtp7.sbc.com [144.160.229.24]) by m0049463.ppops.net-00191d01. with ESMTP id 22wd7cav52-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 13 May 2016 08:50:57 -0400 Received: from enaf.aldc.att.com (localhost [127.0.0.1]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id u4DCouT4030284; Fri, 13 May 2016 08:50:56 -0400 Received: from mlpi409.sfdc.sbc.com (mlpi409.sfdc.sbc.com [130.9.128.241]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id u4DCom5N030151 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 13 May 2016 08:50:54 -0400 Received: from MISOUT7MSGHUBAA.ITServices.sbc.com (MISOUT7MSGHUBAA.itservices.sbc.com [130.9.129.145]) by mlpi409.sfdc.sbc.com (RSA Interceptor); Fri, 13 May 2016 12:50:29 GMT Received: from MISOUT7MSGUSRCG.ITServices.sbc.com ([169.254.7.198]) by MISOUT7MSGHUBAA.ITServices.sbc.com ([130.9.129.145]) with mapi id 14.03.0294.000; Fri, 13 May 2016 08:50:29 -0400 From: "HANSEN, TONY L" To: Niels ten Oever Thread-Topic: [xml2rfc] WARNING: Illegal character replaced in string: Thread-Index: AQHRrOp7tNq9QJ2SvkOYak5kh5IL8J+20jcA Date: Fri, 13 May 2016 12:50:29 +0000 Message-ID: <9ABA4DE3-34B2-4949-99FD-8B3B9FE212FF@att.com> References: <57350165.9070007@digitaldissidents.org> <57358474.3000601@digitaldissidents.org> In-Reply-To: <57358474.3000601@digitaldissidents.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [135.110.241.124] Content-Type: text/plain; charset="utf-8" Content-ID: <5DC65E8CFA620A48ABD2A240AFC39A78@LOCAL> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-RSA-Inspected: yes X-RSA-Classifications: public X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2016-05-13_05:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1604210000 definitions=main-1605130175 Archived-At: Cc: "xml2rfc@ietf.org" Subject: Re: [xml2rfc] WARNING: Illegal character replaced in string: X-BeenThere: xml2rfc@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 May 2016 12:51:07 -0000 WW91IG1pZ2h0IGNvbnNpZGVyIGFkZGluZyBzb21ldGhpbmcgdG8geW91ciBjb252ZXJzaW9uIHBy b2Nlc3MgZnJvbSBtYXJrZG93biB0byB4bWwycmZjIHRoYXQgDQoNCiopIGxvb2tzIGZvciB2YXJp b3VzIGNvbW1vbiBub24tYXNjaWkgY2hhcmFjdGVycyBhbmQgcmVwbGFjZXMgdGhlbSB3aXRoIGFz Y2lpIGVxdWl2YWxlbnRzIChlLmcuICcsIiwtKQ0KKikgd2FybnMgYWJvdXQgb3RoZXIgbm9uLWFz Y2lpIGNoYXJhY3RlcnMNCg0KCVRvbnkgSGFuc2VuDQoNCg0KDQpPbiA1LzEzLzE2LCAzOjM4IEFN LCAieG1sMnJmYyBvbiBiZWhhbGYgb2YgTmllbHMgdGVuIE9ldmVyIiA8eG1sMnJmYy1ib3VuY2Vz QGlldGYub3JnIG9uIGJlaGFsZiBvZiBsaXN0c0BkaWdpdGFsZGlzc2lkZW50cy5vcmc+IHdyb3Rl Og0KDQo+RGVhciBNYXRoZXcsIEFsaWNlIGFuZCBKaW0sDQo+DQo+VGhhbmtzIHNvIG11Y2ggZm9y IHlvdXIgdmVyeSBxdWljayBhbmQgZ3JlYXQgcmVzcG9uc2VzLiBJIHNob3VsZCBoYXZlDQo+dGhv dWdodCBvZiB0aGUgcG9zc2liaWxpdHkgb2YgdGhlIERlYmlhbiByZXBvc2l0b3JpZXMgaGF2aW5n IGFuIG9sZA0KPnZlcnNpb24gb2YgeG1sMnJmYy4NCj4NCj5BZ2FpbiB0aGFua3MgYSBsb3QgZm9y IHlvdXIgc3VwcG9ydCEgV3JpdGluZyB3aXRoIGEgbG90IG9mIGRpZmZlcmVudA0KPmF1dGhvcnMg aW4gYSBkb2MgYW5kIHB1bGxpbmcgaW4gY2hhbmdlcyB2aWEgR2l0IGNhbiBtYWtlIHRoZSBidWls ZA0KPnByb2Nlc3MgcXVpdGUgYWR2ZW50dXJvdXMuDQo+DQo+Q2hlZXJzLA0KPg0KPk5pZWxzDQo+ DQo+T24gMDUvMTMvMjAxNiAwMTozNiBBTSwgTWF0dGhldyBLZXJ3aW4gd3JvdGU6DQo+PiBPbiAx MyBNYXkgMjAxNiBhdCAwODoxOSwgTmllbHMgdGVuIE9ldmVyIDxsaXN0c0BkaWdpdGFsZGlzc2lk ZW50cy5vcmcNCj4+IDxtYWlsdG86bGlzdHNAZGlnaXRhbGRpc3NpZGVudHMub3JnPj53cm90ZToN Cj4+IA0KPj4gICAgIEhpIGFsbCwNCj4+IA0KPj4gICAgIFdlIG1hZGUgdGhlIGF0dGFjaGVkIElE IGluIG1hcmtkb3duLCB3aGljaCB3ZSB0aGVuIG1hZGUgaW50byB4bWwgdXNpbmcNCj4+ICAgICBr cmFtZG93bi1yZmMyNjI5LCBidXQgYXQgdGhlIG1vbWVudCB4bWwycmZjIGlzIGNhbGxlZCwgYW4g aW5maW5pdGVseQ0KPj4gICAgIHJlcGVhdGluZyAnV0FSTklORzogSWxsZWdhbCBjaGFyYWN0ZXIg cmVwbGFjZWQgaW4gc3RyaW5nOicgZW5zdWVzLg0KPj4gICAgIOKAiw0KPj4gICAgICANCj4+IA0K Pj4gICAgIDxzbmlwPg0KPj4gDQo+PiANCj4+ICAgICBBbnkgc3VnZ2VzdGlvbnMgb24gaG93IEkg Y2FuIHNvbHZlIHRoaXM/DQo+PiANCj4+ICAgICBUaGFua3MgaW4gYWR2YW5jZSwNCj4+IA0KPj4g ICAgIE5pZWxzDQo+PiANCj4+IA0KPj4g4oCLVGhlcmUgYXJlIGEgd2hvbGUgYnVuY2ggb2YgKHBy ZXN1bWFibHkgY3V0LWFuZC1wYXN0ZWQ/KSBub24tQVNDSUkNCj4+IGNvZGVwb2ludHMgaW4gdGhl IGRvY3VtZW50OyBtb3N0IG9mIHRoZW0gYXJlIGRhc2hlcywgYnVsbGV0cywgYW5kDQo+PiBxdW90 YXRpb24gbWFya3MuIEhvd2V2ZXIganVzdCBiZWZvcmUgbGluZSB+OTU1IHRoZXJlJ3MgYSBVKzIw MjggTElORQ0KPj4gU0VQQVJBVE9SIGNoYXJhY3RlciBpbiB0aGVyZS4gVGhhdCdzIHRoZSBvbmUg dGhhdCB4bWwycmZjIGlzIGNvbXBsYWluaW5nDQo+PiBhYm91dCBpbiB5b3VyIGVycm9yIG1lc3Nh Z2UuDQo+PiANCj4+IFRoZXJlIGFyZSBhbHNvIGEgd2hvbGUgbG90IG9mIHRhYnMgaW4gc3RyYW5n ZSBwbGFjZXMuDQo+PiANCj4+IEJ5IGZpeGluZyBhIGxvdCBvZiB0aG9zZSBpc3N1ZXMsIEkgbWFk ZSBhIGNvcHkgb2YgdGhlIG1hcmtkb3duIHRoYXQNCj4+IHJlbmRlcnMgZG93biB0byBYTUwsIHRo YXQgaW4gdHVybiBwYXNzZXMgdGhyb3VnaCB4bWwycmZjIHdpdGggb25seSBhDQo+PiB3YXJuaW5n IGFib3V0IG92ZXJsb25nIGxpbmVzIGluIHNvbWUgYXJ0d29yay4NCj4+IA0KPj4gLS0gDQo+PiAg IE1hdHRoZXcgS2Vyd2luDQo+PiAgIGh0dHA6Ly9tYXR0aGV3Lmtlcndpbi5uZXQuYXUvDQo+DQo+ LS0gDQo+TmllbHMgdGVuIE9ldmVyDQo+SGVhZCBvZiBEaWdpdGFsDQo+DQo+QXJ0aWNsZSAxOQ0K Pnd3dy5hcnRpY2xlMTkub3JnDQo+DQo+UEdQIGZpbmdlcnByaW50ICAgIDhEOUYgQzU2NyBCRUU0 IEE0MzEgNTZDNA0KPiAgICAgICAgICAgICAgICAgICA2NzhCIDA4QjUgQTBGMiA2MzZEIDY4RTkN Cj4NCj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPnht bDJyZmMgbWFpbGluZyBsaXN0DQo+eG1sMnJmY0BpZXRmLm9yZw0KPmh0dHBzOi8vd3d3LmlldGYu b3JnL21haWxtYW4vbGlzdGluZm8veG1sMnJmYw0K From nobody Thu May 26 09:50:00 2016 Return-Path: X-Original-To: xml2rfc@ietfa.amsl.com Delivered-To: xml2rfc@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9220B12D556 for ; Thu, 26 May 2016 09:49:58 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -8.326 X-Spam-Level: X-Spam-Status: No, score=-8.326 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.426] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 93c5dbmd5JTm for ; Thu, 26 May 2016 09:49:57 -0700 (PDT) Received: from zinfandel.tools.ietf.org (zinfandel.tools.ietf.org [IPv6:2001:1890:123a::1:2a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 20F7212D774 for ; Thu, 26 May 2016 09:49:57 -0700 (PDT) Received: from localhost ([::1]:38263 helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1b5yTs-0006ZW-RY; Thu, 26 May 2016 09:49:56 -0700 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit From: "xml2rfc issue tracker" X-Trac-Version: 0.12.5 Precedence: bulk Auto-Submitted: auto-generated X-Mailer: Trac 0.12.5, by Edgewall Software To: henrik@levkowetz.com, arusso@amsl.com X-Trac-Project: xml2rfc Date: Thu, 26 May 2016 16:49:56 -0000 X-URL: http://tools.ietf.org/tools/xml2rfc/ X-Trac-Ticket-URL: https://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/317 Message-ID: <063.acca02a8f920ef0ae798ce904eaad256@tools.ietf.org> X-Trac-Ticket-ID: 317 X-SA-Exim-Connect-IP: ::1 X-SA-Exim-Rcpt-To: henrik@levkowetz.com, arusso@amsl.com, sginoza@amsl.com, rse@rfc-editor.org, xml2rfc@ietf.org X-SA-Exim-Mail-From: trac@tools.ietf.org X-SA-Exim-Scanned: No (on zinfandel.tools.ietf.org); SAEximRunCond expanded to false Archived-At: Cc: xml2rfc@ietf.org, sginoza@amsl.com Subject: [xml2rfc] #317 (Version 2 cli): update boilerplate from RFC 5741 to RFC 7841 X-BeenThere: xml2rfc@ietf.org X-Mailman-Version: 2.1.17 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 May 2016 16:49:58 -0000 #317: update boilerplate from RFC 5741 to RFC 7841 Please update the 'Status of This Memo' text from RFC 5741 to RFC 7841. -- -----------------------------+---------------------------------- Reporter: arusso@amsl.com | Owner: henrik@levkowetz.com Type: defect | Status: new Priority: major | Milestone: Component: Version 2 cli | Version: 2.4.x Keywords: | -----------------------------+---------------------------------- Ticket URL: xml2rfc From nobody Thu May 26 11:23:01 2016 Return-Path: X-Original-To: xml2rfc@ietfa.amsl.com Delivered-To: xml2rfc@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A1E3712D83B for ; Thu, 26 May 2016 11:23:00 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -8.326 X-Spam-Level: X-Spam-Status: No, score=-8.326 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.426] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id efPXcQqyVPhL for ; Thu, 26 May 2016 11:22:59 -0700 (PDT) Received: from zinfandel.tools.ietf.org (zinfandel.tools.ietf.org [IPv6:2001:1890:123a::1:2a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0BF8E12D834 for ; Thu, 26 May 2016 11:22:59 -0700 (PDT) Received: from localhost ([::1]:47164 helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1b5zvq-0001yh-D8; Thu, 26 May 2016 11:22:54 -0700 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit From: "xml2rfc issue tracker" X-Trac-Version: 0.12.5 Precedence: bulk Auto-Submitted: auto-generated X-Mailer: Trac 0.12.5, by Edgewall Software To: henrik@levkowetz.com, julian.reschke@gmx.de X-Trac-Project: xml2rfc Date: Thu, 26 May 2016 18:22:54 -0000 X-URL: http://tools.ietf.org/tools/xml2rfc/ X-Trac-Ticket-URL: https://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/317#comment:1 Message-ID: <078.3a35a569f37298228438cdf1ee45515f@tools.ietf.org> References: <063.acca02a8f920ef0ae798ce904eaad256@tools.ietf.org> X-Trac-Ticket-ID: 317 In-Reply-To: <063.acca02a8f920ef0ae798ce904eaad256@tools.ietf.org> X-SA-Exim-Connect-IP: ::1 X-SA-Exim-Rcpt-To: henrik@levkowetz.com, julian.reschke@gmx.de, sginoza@amsl.com, rse@rfc-editor.org, xml2rfc@ietf.org X-SA-Exim-Mail-From: trac@tools.ietf.org X-SA-Exim-Scanned: No (on zinfandel.tools.ietf.org); SAEximRunCond expanded to false Archived-At: Cc: xml2rfc@ietf.org, sginoza@amsl.com Subject: Re: [xml2rfc] #317 (Version 2 cli): update boilerplate from RFC 5741 to RFC 7841 X-BeenThere: xml2rfc@ietf.org X-Mailman-Version: 2.1.17 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 May 2016 18:23:00 -0000 #317: update boilerplate from RFC 5741 to RFC 7841 Comment (by julian.reschke@gmx.de): It would be awesome if we had a list of changes... -- ------------------------------+---------------------------------- Reporter: arusso@amsl.com | Owner: henrik@levkowetz.com Type: defect | Status: new Priority: major | Milestone: Component: Version 2 cli | Version: 2.4.x Resolution: | Keywords: ------------------------------+---------------------------------- Ticket URL: xml2rfc From nobody Thu May 26 12:01:30 2016 Return-Path: X-Original-To: xml2rfc@ietfa.amsl.com Delivered-To: xml2rfc@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E6F2B12D780 for ; Thu, 26 May 2016 12:01:29 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -8.326 X-Spam-Level: X-Spam-Status: No, score=-8.326 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.426] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QS9BIcmFe4zi for ; Thu, 26 May 2016 12:01:28 -0700 (PDT) Received: from zinfandel.tools.ietf.org (zinfandel.tools.ietf.org [IPv6:2001:1890:123a::1:2a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 909AF12D5AC for ; Thu, 26 May 2016 12:01:28 -0700 (PDT) Received: from localhost ([::1]:51136 helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1b60X5-0007a4-Jh; Thu, 26 May 2016 12:01:23 -0700 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit From: "xml2rfc issue tracker" X-Trac-Version: 0.12.5 Precedence: bulk Auto-Submitted: auto-generated X-Mailer: Trac 0.12.5, by Edgewall Software To: henrik@levkowetz.com, julian.reschke@gmx.de, arusso@amsl.com X-Trac-Project: xml2rfc Date: Thu, 26 May 2016 19:01:23 -0000 X-URL: http://tools.ietf.org/tools/xml2rfc/ X-Trac-Ticket-URL: https://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/317#comment:2 Message-ID: <078.e673d4fa027e3ae61ece1def7590fbcf@tools.ietf.org> References: <063.acca02a8f920ef0ae798ce904eaad256@tools.ietf.org> X-Trac-Ticket-ID: 317 In-Reply-To: <063.acca02a8f920ef0ae798ce904eaad256@tools.ietf.org> X-SA-Exim-Connect-IP: ::1 X-SA-Exim-Rcpt-To: henrik@levkowetz.com, julian.reschke@gmx.de, arusso@amsl.com, sginoza@amsl.com, rse@rfc-editor.org, xml2rfc@ietf.org X-SA-Exim-Mail-From: trac@tools.ietf.org X-SA-Exim-Scanned: No (on zinfandel.tools.ietf.org); SAEximRunCond expanded to false Archived-At: Cc: xml2rfc@ietf.org, sginoza@amsl.com Subject: Re: [xml2rfc] #317 (Version 2 cli): update boilerplate from RFC 5741 to RFC 7841 X-BeenThere: xml2rfc@ietf.org X-Mailman-Version: 2.1.17 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 May 2016 19:01:30 -0000 #317: update boilerplate from RFC 5741 to RFC 7841 Comment (by arusso@amsl.com): My understanding is that the only change is as follows -- in the second paragraph of each SoTM option. {{{ OLD: Section 2 of RFC 5741. NEW: Section 2 of RFC 7841. }}} -- ------------------------------+---------------------------------- Reporter: arusso@amsl.com | Owner: henrik@levkowetz.com Type: defect | Status: new Priority: major | Milestone: Component: Version 2 cli | Version: 2.4.x Resolution: | Keywords: ------------------------------+---------------------------------- Ticket URL: xml2rfc From nobody Fri May 27 05:43:53 2016 Return-Path: X-Original-To: xml2rfc@ietfa.amsl.com Delivered-To: xml2rfc@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 862D812D9B4 for ; Fri, 27 May 2016 05:43:51 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -8.326 X-Spam-Level: X-Spam-Status: No, score=-8.326 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.426] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BYxeaaZgdKqV for ; Fri, 27 May 2016 05:43:50 -0700 (PDT) Received: from zinfandel.tools.ietf.org (zinfandel.tools.ietf.org [IPv6:2001:1890:123a::1:2a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F3BCD12D9B0 for ; Fri, 27 May 2016 05:43:49 -0700 (PDT) Received: from localhost ([::1]:33980 helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1b6H79-0003qf-L7; Fri, 27 May 2016 05:43:43 -0700 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit From: "xml2rfc issue tracker" X-Trac-Version: 0.12.5 Precedence: bulk Auto-Submitted: auto-generated X-Mailer: Trac 0.12.5, by Edgewall Software To: henrik@levkowetz.com, julian.reschke@gmx.de, arusso@amsl.com X-Trac-Project: xml2rfc Date: Fri, 27 May 2016 12:43:43 -0000 X-URL: http://tools.ietf.org/tools/xml2rfc/ X-Trac-Ticket-URL: https://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/317#comment:3 Message-ID: <078.42f0377ec6d8a0c69173a7f719dec261@tools.ietf.org> References: <063.acca02a8f920ef0ae798ce904eaad256@tools.ietf.org> X-Trac-Ticket-ID: 317 In-Reply-To: <063.acca02a8f920ef0ae798ce904eaad256@tools.ietf.org> X-SA-Exim-Connect-IP: ::1 X-SA-Exim-Rcpt-To: henrik@levkowetz.com, julian.reschke@gmx.de, arusso@amsl.com, sginoza@amsl.com, rse@rfc-editor.org, xml2rfc@ietf.org X-SA-Exim-Mail-From: trac@tools.ietf.org X-SA-Exim-Scanned: No (on zinfandel.tools.ietf.org); SAEximRunCond expanded to false Archived-At: Cc: xml2rfc@ietf.org, sginoza@amsl.com Subject: Re: [xml2rfc] #317 (Version 2 cli): update boilerplate from RFC 5741 to RFC 7841 X-BeenThere: xml2rfc@ietf.org X-Mailman-Version: 2.1.17 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 May 2016 12:43:51 -0000 #317: update boilerplate from RFC 5741 to RFC 7841 Comment (by julian.reschke@gmx.de): Is there a cutover data or RFC#, so that the tool can do the right thing even for older RFCs? -- ------------------------------+---------------------------------- Reporter: arusso@amsl.com | Owner: henrik@levkowetz.com Type: defect | Status: new Priority: major | Milestone: Component: Version 2 cli | Version: 2.4.x Resolution: | Keywords: ------------------------------+---------------------------------- Ticket URL: xml2rfc From nobody Fri May 27 14:38:52 2016 Return-Path: X-Original-To: xml2rfc@ietfa.amsl.com Delivered-To: xml2rfc@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 312A312B013 for ; Fri, 27 May 2016 14:38:50 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -8.326 X-Spam-Level: X-Spam-Status: No, score=-8.326 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.426] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id X9W2KDxnL4AP for ; Fri, 27 May 2016 14:38:48 -0700 (PDT) Received: from zinfandel.tools.ietf.org (zinfandel.tools.ietf.org [IPv6:2001:1890:123a::1:2a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7B60C12D145 for ; Fri, 27 May 2016 14:38:48 -0700 (PDT) Received: from localhost ([::1]:48500 helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1b6PSx-0004nX-PG; Fri, 27 May 2016 14:38:47 -0700 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit From: "xml2rfc issue tracker" X-Trac-Version: 0.12.5 Precedence: bulk Auto-Submitted: auto-generated X-Mailer: Trac 0.12.5, by Edgewall Software To: henrik@levkowetz.com, worley@ariadne.com X-Trac-Project: xml2rfc Date: Fri, 27 May 2016 21:38:47 -0000 X-URL: http://tools.ietf.org/tools/xml2rfc/ X-Trac-Ticket-URL: https://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/318 Message-ID: <066.a4054d4375a79d2a497493d755fbf11a@tools.ietf.org> X-Trac-Ticket-ID: 318 X-SA-Exim-Connect-IP: ::1 X-SA-Exim-Rcpt-To: henrik@levkowetz.com, worley@ariadne.com, xml2rfc@ietf.org X-SA-Exim-Mail-From: trac@tools.ietf.org X-SA-Exim-Scanned: No (on zinfandel.tools.ietf.org); SAEximRunCond expanded to false Archived-At: Cc: xml2rfc@ietf.org Subject: [xml2rfc] #318 (Version 2 cli): Bug in the online XML2RFC HTML output X-BeenThere: xml2rfc@ietf.org X-Mailman-Version: 2.1.17 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 May 2016 21:38:50 -0000 #318: Bug in the online XML2RFC HTML output I have an XML2RFC XML file which produces incorrect HTML using the online XML2RFC tool. To reproduce it: 1. Create an empty directory. 2. In that directory, obtain these files from a Subversion repository: $ svn co -r 5437 http://svn.resiprocate.org/rep/ietf-drafts/worley or, obtain the attached file. 3. Put worley/draft-worley-alert-info-fsm-02.xml through http://xml2rfc.tools.ietf.org/ to generate draft-worley-alert-info-fsm-02.{txt,html} (replacing the files that you have checked out) Examine section 2 of draft-worley-alert-info-fsm-02.txt: It shows text properly interspersed with a sequence of figures. Examine section 2 of draft-worley-alert-info-fsm-02.html: The text is not properly interspersed with the figures. -- --------------------------------+---------------------------------- Reporter: worley@ariadne.com | Owner: henrik@levkowetz.com Type: defect | Status: new Priority: medium | Milestone: Component: Version 2 cli | Version: 2.5.x Keywords: | --------------------------------+---------------------------------- Ticket URL: xml2rfc From nobody Sat May 28 11:38:09 2016 Return-Path: X-Original-To: xml2rfc@ietfa.amsl.com Delivered-To: xml2rfc@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3D97D12B055 for ; Sat, 28 May 2016 11:38:08 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.601 X-Spam-Level: X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kGspbEigigh8 for ; Sat, 28 May 2016 11:38:06 -0700 (PDT) Received: from mxout-08.mxes.net (mxout-08.mxes.net [216.86.168.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C036412B00F for ; Sat, 28 May 2016 11:38:06 -0700 (PDT) Received: from [192.168.123.7] (unknown [75.83.2.34]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id D98F150A85 for ; Sat, 28 May 2016 14:38:05 -0400 (EDT) To: xml2rfc@ietf.org From: Sean Leonard Message-ID: Date: Sat, 28 May 2016 11:36:51 -0700 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Archived-At: Subject: [xml2rfc] Update the ITU-T X-Series References, please X-BeenThere: xml2rfc@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 May 2016 18:38:08 -0000 Who is the right person to talk to, to update the references on for the ITU-T X-Series? For example, X.690 should be updated to August 2015. Thank you, Sean From nobody Sun May 29 09:16:24 2016 Return-Path: X-Original-To: xml2rfc@ietfa.amsl.com Delivered-To: xml2rfc@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F240D12D559 for ; Sun, 29 May 2016 09:16:22 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -8.326 X-Spam-Level: X-Spam-Status: No, score=-8.326 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.426] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4LDopAICZB-d for ; Sun, 29 May 2016 09:16:21 -0700 (PDT) Received: from zinfandel.tools.ietf.org (zinfandel.tools.ietf.org [IPv6:2001:1890:123a::1:2a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 038F112D554 for ; Sun, 29 May 2016 09:16:21 -0700 (PDT) Received: from localhost ([::1]:49603 helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1b73Nt-0006Fs-8Q; Sun, 29 May 2016 09:16:13 -0700 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit From: "xml2rfc issue tracker" X-Trac-Version: 0.12.5 Precedence: bulk Auto-Submitted: auto-generated X-Mailer: Trac 0.12.5, by Edgewall Software To: henrik@levkowetz.com, julian.reschke@gmx.de, arusso@amsl.com X-Trac-Project: xml2rfc Date: Sun, 29 May 2016 16:16:12 -0000 X-URL: http://tools.ietf.org/tools/xml2rfc/ X-Trac-Ticket-URL: https://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/317#comment:4 Message-ID: <078.406041d68abc13d030a522f5f720563d@tools.ietf.org> References: <063.acca02a8f920ef0ae798ce904eaad256@tools.ietf.org> X-Trac-Ticket-ID: 317 In-Reply-To: <063.acca02a8f920ef0ae798ce904eaad256@tools.ietf.org> X-SA-Exim-Connect-IP: ::1 X-SA-Exim-Rcpt-To: henrik@levkowetz.com, julian.reschke@gmx.de, arusso@amsl.com, sginoza@amsl.com, rse@rfc-editor.org, xml2rfc@ietf.org X-SA-Exim-Mail-From: trac@tools.ietf.org X-SA-Exim-Scanned: No (on zinfandel.tools.ietf.org); SAEximRunCond expanded to false Archived-At: Cc: xml2rfc@ietf.org, sginoza@amsl.com Subject: Re: [xml2rfc] #317 (Version 2 cli): update boilerplate from RFC 5741 to RFC 7841 X-BeenThere: xml2rfc@ietf.org X-Mailman-Version: 2.1.17 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 May 2016 16:16:23 -0000 #317: update boilerplate from RFC 5741 to RFC 7841 Comment (by julian.reschke@gmx.de): FWIW, I implemented this in rfc2629.xslt based on the publication date being >= June 2016 (https://github.com/reschke/xml2rfc/commit/0f21fa3cc49ada10cb5f709396641ffdabd82a7d). -- ------------------------------+---------------------------------- Reporter: arusso@amsl.com | Owner: henrik@levkowetz.com Type: defect | Status: new Priority: major | Milestone: Component: Version 2 cli | Version: 2.4.x Resolution: | Keywords: ------------------------------+---------------------------------- Ticket URL: xml2rfc From nobody Tue May 31 10:42:17 2016 Return-Path: X-Original-To: xml2rfc@ietfa.amsl.com Delivered-To: xml2rfc@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EF3FC12D88E for ; Tue, 31 May 2016 10:42:15 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.62 X-Spam-Level: X-Spam-Status: No, score=-2.62 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ch05y5kcHp68 for ; Tue, 31 May 2016 10:42:14 -0700 (PDT) Received: from mx0a-00191d01.pphosted.com (mx0b-00191d01.pphosted.com [67.231.157.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 233FC12D88B for ; Tue, 31 May 2016 10:42:14 -0700 (PDT) Received: from pps.filterd (m0049459.ppops.net [127.0.0.1]) by m0049459.ppops.net-00191d01. (8.16.0.11/8.16.0.11) with SMTP id u4VHci1c043613; Tue, 31 May 2016 13:42:12 -0400 Received: from alpi155.enaf.aldc.att.com (sbcsmtp7.sbc.com [144.160.229.24]) by m0049459.ppops.net-00191d01. with ESMTP id 239f0y0mv7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 31 May 2016 13:42:12 -0400 Received: from enaf.aldc.att.com (localhost [127.0.0.1]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id u4VHgC0r023376; Tue, 31 May 2016 13:42:12 -0400 Received: from mlpi409.sfdc.sbc.com (mlpi409.sfdc.sbc.com [130.9.128.241]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id u4VHfxdA023188 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 31 May 2016 13:42:05 -0400 Received: from MISOUT7MSGHUBAH.ITServices.sbc.com (MISOUT7MSGHUBAH.itservices.sbc.com [130.9.129.152]) by mlpi409.sfdc.sbc.com (RSA Interceptor); Tue, 31 May 2016 17:41:48 GMT Received: from MISOUT7MSGUSRCG.ITServices.sbc.com ([169.254.7.125]) by MISOUT7MSGHUBAH.ITServices.sbc.com ([130.9.129.152]) with mapi id 14.03.0294.000; Tue, 31 May 2016 13:41:47 -0400 From: "HANSEN, TONY L" To: Sean Leonard Thread-Topic: [xml2rfc] Update the ITU-T X-Series References, please Thread-Index: AQHRuRAaVTwtwSTFb0agpf9lbrVBVJ/TVUiA Date: Tue, 31 May 2016 17:41:47 +0000 Message-ID: <0986EFE6-398E-4996-B340-0F3EEB0104BA@att.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [135.110.241.221] Content-Type: text/plain; charset="utf-8" Content-ID: <3CBFDA592D4FB749A0F829A18E101F8C@LOCAL> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-RSA-Inspected: yes X-RSA-Classifications: public X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2016-05-31_10:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1604210000 definitions=main-1605310202 Archived-At: Cc: "xml2rfc@ietf.org" Subject: Re: [xml2rfc] Update the ITU-T X-Series References, please X-BeenThere: xml2rfc@ietf.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 May 2016 17:42:16 -0000 UGxlYXNlIHNlbmQgYW55IHNwZWNpZmljIGJpYnhtbDIgY2hhbmdlIHJlcXVlc3RzIHRvIGNpdGF0 aW9uc0ByZmMtZWRpdG9yLm9yZy4gVGhhbmtzLg0KDQoJVG9ueSBIYW5zZW4NCg0KUFMuIEl04oCZ bGwgYmUgbmljZSB0byBnZXQgc29tZXRoaW5nIG9uIHRoYXQgbGlzdCBvdGhlciB0aGFuIHNwYW0u IDotKQ0KDQpPbiA1LzI4LzE2LCAyOjM2IFBNLCAieG1sMnJmYyBvbiBiZWhhbGYgb2YgU2VhbiBM ZW9uYXJkIiA8eG1sMnJmYy1ib3VuY2VzQGlldGYub3JnIG9uIGJlaGFsZiBvZiBkZXYraWV0ZkBz ZWFudGVrLmNvbT4gd3JvdGU6DQoNCj5XaG8gaXMgdGhlIHJpZ2h0IHBlcnNvbiB0byB0YWxrIHRv LCB0byB1cGRhdGUgdGhlIHJlZmVyZW5jZXMgb24gDQo+PGh0dHA6Ly94bWwycmZjLmlldGYub3Jn L3B1YmxpYy9yZmMvYmlieG1sMi8+IGZvciB0aGUgSVRVLVQgWC1TZXJpZXM/DQo+DQo+Rm9yIGV4 YW1wbGUsIFguNjkwIHNob3VsZCBiZSB1cGRhdGVkIHRvIEF1Z3VzdCAyMDE1Lg0KDQoNCg==