Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ar62o-0006nf-3y for pgadmin-hackers@arkaria.postgresql.org; Fri, 15 Apr 2016 15:52:30 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1ar62n-0006LW-Ls for pgadmin-hackers@arkaria.postgresql.org; Fri, 15 Apr 2016 15:52:29 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ar5ii-00012b-N1 for pgadmin-hackers@postgresql.org; Fri, 15 Apr 2016 15:31:45 +0000 Received: from mail-io0-x233.google.com ([2607:f8b0:4001:c06::233]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1ar5ie-0003Jl-Ps for pgadmin-hackers@postgresql.org; Fri, 15 Apr 2016 15:31:43 +0000 Received: by mail-io0-x233.google.com with SMTP id g185so138127272ioa.2 for ; Fri, 15 Apr 2016 08:31:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=IU7/2NSqLvy7je+bTvt2dNKx8+dpS8kdv5lF7irMqPw=; b=Gxr+rD6fyAmclBbQLqLad+Xwc95PATHPQimKjF1/xTI18kiPJpyAoHLUKfD8XeysoY c5N2OlnUi+5sjk6OJA9IXqcUhuZpsnlSm3gLqfLwYBKeIl2KgIgrEZo+5RThT1+NbFK0 1Zp4oNhDH5vw5pDG/FmuEqiSgHmfljTwSwK05KNsGFIi2CA429Rn3Ezxg9MWlytdJnC+ //Po6qVVynmuafFaWd7AewFEmDxDxfS4aDxt/zD2hU0ASjx1BP65JjPQweMUXsnUvCQG 5nApLdr15v1sxQkttlcgW5mVGVTZXrc6l48le4W+Eq2i16fETy84ePEcGGlH7KlWSh9z tKDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=IU7/2NSqLvy7je+bTvt2dNKx8+dpS8kdv5lF7irMqPw=; b=HGZa/PemhKSVDxP1/zumjAq2J0rpDq5iBQpWACbKkjh0YieJtHHrsd/JzSnlfcQZbv roeMogofmT4VSWhEugk0QQ7OC7XfuLclbQPDK8guD1Qr0gNpLXBli22U3ZnFzjHpo8cK NvY88Bp+L26gND+cLybgCyXSbkOVGSHZqFz6Iw/iUUQXdfT/+JqnvKiHulUt+PonWCXp 9yg27liM0cBjk7AGDuqEfdPS2am1iuap+uRWWV+k1OAdi+NO3tS+MqoggYkTkxWWMYoa ZCXenWSHyTI1xThQtOaJ2m063OX4ECS5wRmNfvnEy5J82UTdy8ZP5hfsxJ/+eQnlUSuT CtgA== X-Gm-Message-State: AOPr4FUZX5zy+FHMS2kzFZG3BFh1vBb4TqOxSXuv6vRWfGqFH+ZH4RyHmf8pcC0TaMME4xo4pR4hXEXsx17ArS+J MIME-Version: 1.0 X-Received: by 10.107.11.223 with SMTP id 92mr22116673iol.59.1460734299712; Fri, 15 Apr 2016 08:31:39 -0700 (PDT) Received: by 10.107.16.85 with HTTP; Fri, 15 Apr 2016 08:31:39 -0700 (PDT) In-Reply-To: References: Date: Fri, 15 Apr 2016 21:01:39 +0530 Message-ID: Subject: Re: PATCH: pgAdmin4 windows installer From: Paresh More To: Dave Page Cc: pgadmin-hackers , Sandeep Thakkar , Hamid Quddus Content-Type: multipart/mixed; boundary=001a113f8b520c06e2053087b5c4 X-Pg-Spam-Score: -2.2 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a113f8b520c06e2053087b5c4 Content-Type: multipart/alternative; boundary=001a113f8b520c06de053087b5c2 --001a113f8b520c06de053087b5c2 Content-Type: text/plain; charset=UTF-8 Hello Dave, I have made changes according which you mentioned. Binary is located @ location https://uploads.enterprisedb.com/download.php?file=1f92c5abbaf7014d9aa8fb0711d53f6d Patch is attached in the Email. - Please move Make.bat to the root directory of the source tree. *DONE* - Make.bat is moved to root directory - The built installer should be created in dist/ in the root directory of the source tree (as the PIP package is) *DONE - *dist would be created in the root directory of the source tree. - The version number should be extracted from config.py, and used to create the installer filename, i.e. pgadmin4-APP_VERSION.exe, which would currently make "pgadmin4-1.0.0-dev.exe" *DONE* - Now it reads from config.py and accordingly create installer filename. - Please add a README.rst file to pkg/win32 that describes the required packages to setup a build environment, and (where non-obvious, e.g. setting up the compiler for PIP) including instructions on how to setup everything. *DONE* - The user should never need to edit Make.bat, so any paths that might change should come from the environment (with instructions telling the user what to set where required). e.g. use vars like PYTHON_VERSION, PYTHON_PATH, QTDIR. These should override any hard-coded defaults in the script. Of course, where possible we should use variables standard to, or set by the other products. *DONE* - It would check environment variables and override if it is set, else default values would be used and a check is put which would ensure all the prerequisite requirement is installed or abort. - Any script errors should cause an exit. For example, my QT is a different version than you used, but the build script just ignored the fact that qmake couldn't be found and built an installer anyway. *DONE* - Pre check is put which would ensure prerequisite requirement is installed - Side-by-side installations of major versions of pgAdmin should be allowed, so an installation directory of "C:\Program Files (x86)\pgAdmin 4\" should actually install into C:\Program Files (x86)\pgAdmin 4\., e.g. "C:\Program Files (x86)\pgAdmin 4\1.0\" *DONE-*Side-by-side installation depending on Major and minor number is handled. Ex: All 1.0.0, 1.0.1,1.0.2,etc..... would go in C:\Program Files (x86)\pgAdmin 4\1.0 All 1.1.0, 1.1.1,1.1.2,etc..... would go in C:\Program Files (x86)\pgAdmin 4\1.1 and so on - Revision version updates should update the installed version, not install side-by-side. Care should be taken to ensure the Add/Remove Programs entries support both side-by-side installations and upgrades (e.g. 1.0.0 -> 1.0.1) *DONE* - Revision version update would update the installed version A extra check is also put which insure older version would not be allowed to install if higher version is already installed. - The first screen of the installer shows the version of pgAdmin as 1.0. It should be APP_VERSION from config.py. *DONE*- Screen shows APP_Version from config.py - To aid with error handling, the script should check to ensure it can find required executables (e.g. qmake.exe, ISCC.exe) as a pre-flight check. *DONE*- Pre check is set, which will ensure all prerequisite is already set and installed. - We need a simple way to create a 64bit build. *DONE* On Fri, Apr 8, 2016 at 2:17 AM, Dave Page wrote: > Hi > > First round feedback (finally - sorry for the delay!): > > - Please move Make.bat to the root directory of the source tree. > > - The built installer should be created in dist/ in the root directory of > the source tree (as the PIP package is) > > - The version number should be extracted from config.py, and used to > create the installer filename, i.e. pgadmin4-APP_VERSION.exe, which would > currently make "pgadmin4-1.0.0-dev.exe" > > - Please add a README.rst file to pkg/win32 that describes the required > packages to setup a build environment, and (where non-obvious, e.g. setting > up the compiler for PIP) including instructions on how to setup everything. > > - The user should never need to edit Make.bat, so any paths that might > change should come from the environment (with instructions telling the user > what to set where required). e.g. use vars like PYTHON_VERSION, > PYTHON_PATH, QTDIR. These should override any hard-coded defaults in the > script. Of course, where possible we should use variables standard to, or > set by the other products. > > - Any script errors should cause an exit. For example, my QT is a > different version than you used, but the build script just ignored the fact > that qmake couldn't be found and built an installer anyway. > > - Side-by-side installations of major versions of pgAdmin should be > allowed, so an installation directory of "C:\Program Files (x86)\pgAdmin > 4\" should actually install into C:\Program Files (x86)\pgAdmin > 4\., e.g. "C:\Program Files (x86)\pgAdmin 4\1.0\" > > - Revision version updates should update the installed version, not > install side-by-side. Care should be taken to ensure the Add/Remove > Programs entries support both side-by-side installations and upgrades (e.g. > 1.0.0 -> 1.0.1) > > - The first screen of the installer shows the version of pgAdmin as 1.0. > It should be APP_VERSION from config.py. > > - To aid with error handling, the script should check to ensure it can > find required executables (e.g. qmake.exe, ISCC.exe) as a pre-flight check. > > - We need a simple way to create a 64bit build. > > - I'm not sure we should try to use any part of VC++ (NMAKE, VCVARS etc.). > The script failed to build the runtime for me - I think because VCVARS was > conflicting with QMAKE settings. I was getting errors like: > > Generating Code... > link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO > /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' > name='Microsoft.Windows.Common-Controls' version='6.0.0.0' > publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" > /MANIFEST /MANIFESTFILE:release\pgAdmin4.exe.embed.manifest > /OUT:release\pgAdmin4.exe @C:\Users\dpage\AppData\Local\Temp\nm196C.tmp > qtmain.lib(qtmain_win.obj) : error LNK2038: mismatch detected for > '_MSC_VER': value '1700' doesn't match value '1600' in pgAdmin4.obj > qtmain.lib(qtmain_win.obj) : error LNK2019: unresolved external symbol > "__declspec(dllimport) void __cdecl std::_Xbad_alloc(void)" > (__imp_?_Xbad_alloc@std@@YAXXZ) referenced in function "char * __cdecl > std::_Allocate(unsigned int,char *)" (??$_Allocate@D@std@ > @YAPADIPAD@Z) > qtmain.lib(qtmain_win.obj) : error LNK2019: unresolved external symbol > "__declspec(dllimport) char const * __cdecl std::_Syserror_map(int)" > (__imp_?_Syserror_map@std@@YAPBDH@Z) referenced in function "public: > virtual class std::error_condition __thiscall > std::_System_error_category::default_error_condition(int)const " > (?default_error_condition@_System_error_category@std > @@UBE?AVerror_condition@2@H@Z) > qtmain.lib(qtmain_win.obj) : error LNK2019: unresolved external symbol > "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" > (__imp_?_Winerror_map@std@@YAPBDH@Z) referenced in function "public: > virtual class std::basic_string,class > std::allocator > __thiscall > std::_System_error_category::message(int)const " (?message@ > _System_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@ > @V?$allocator@D@2@@2@H@Z) > release\pgAdmin4.exe : fatal error LNK1120: 3 unresolved externals > NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual > Studio 10.0\VC\BIN\link.EXE"' : return code '0x460' > > Stop. > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual > Studio 12.0\VC\bin\nmake.exe"' : return code '0x2' > Stop. > > Aborting build! > > Thanks! > > On Fri, Mar 25, 2016 at 11:40 AM, Paresh More < > paresh.more@enterprisedb.com> wrote: > >> Hello Team, >> >> Attached is the patch which will create windows 32 installer for pgAdmin4 >> (runtime mode) for python 2.7 version. >> >> This installer code has problem with psycopg2(2.5.2 version) for windows >> >> As discussed with Ashesh Vashi, I have changed to point to 2.6.1 version >> and now the installer is working fine. >> >> So it would now generate windows 32 bit installer using psycopg2 (2.6.1 >> version) >> >> Kindly please review and let me know if any changes required. >> >> Please also suggest whether we should go with 2.5.2(psycopg2) or with the >> latest version. >> >> -- >> >> Thanks & Regards >> >> *Paresh More* >> >> [image: NEW-EDB-logo-4c] >> >> Pune, India. >> Cell : +919922000564 | www.enterprisedb.com >> >> >> -- >> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) >> To make changes to your subscription: >> http://www.postgresql.org/mailpref/pgadmin-hackers >> >> > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- Thanks & Regards *Paresh More* [image: NEW-EDB-logo-4c] Pune, India. Cell : +919922000564 | www.enterprisedb.com --001a113f8b520c06de053087b5c2 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hello Dave,

I have made changes accordi= ng which you mentioned.

Binary is located @ locati= on

Patch is attached in the Email.

- Please move Make.bat to the root directory of the s= ource tree.
DONE=C2=A0- Make.ba= t is moved to root directory

- The built installer should be created in= dist/ in the root directory of the source tree (as the PIP package is)
DONE -=C2=A0dist would be created = in the root directory of the source tree.

- The version number should b= e extracted from config.py, and used to create the installer filename, i.e.= pgadmin4-APP_VERSION.exe, which would currently make "pgadmin4-1.0.0-= dev.exe"
DONE - Now it reads from config.= py and accordingly create installer filename.

- Please add a= README.rst file to pkg/win32 that describes the required packages to setup= a build environment, and (where non-obvious, e.g. setting up the compiler = for PIP) including instructions on how to setup everything.
DONE

=
- The user should never need to edit = Make.bat, so any paths that might change should come from the environment (= with instructions telling the user what to set where required). e.g. use va= rs like PYTHON_VERSION, PYTHON_PATH, QTDIR. These should override any hard-= coded defaults in the script. Of course, where possible we should use varia= bles standard to, or set by the other products.
DONE - It would check environment variables and override i= f it is set, else default values would be used and a check is put which wou= ld ensure all the prerequisite requirement is installed or abort.

- Any= script errors should cause an exit. For example, my QT is a different vers= ion than you used, but the build script just ignored the fact that qmake co= uldn't be found and built an installer anyway.
DONE - Pre check is pu= t which would ensure=C2=A0prerequis= ite requirement is installed

- Side-by-side installations of= major versions of pgAdmin should be allowed, so an installation directory = of "C:\Program Files (x86)\pgAdmin 4\" should actually install in= to C:\Program Files (x86)\pgAdmin 4\<major>.<minor>, e.g. "= ;C:\Program Files (x86)\pgAdmin 4\1.0\"
DONE-Side-by-side installation depending on Major and minor n= umber is handled.
Ex: All 1.0.0, 1.0.1= ,1.0.2,etc..... would go in=C2=A0C:\Progra= m Files (x86)\pgAdmin 4\1.0
All 1.1.0, 1.1.1,1.1.2,etc..... would go in=C2= =A0C:\Program Files (x86)\pgAdmin 4\1.1
and so on
=
- Revision version updates should update the installed version= , not install side-by-side.=C2=A0 Care should be taken to ensure the Add/Re= move Programs entries support both side-by-side installations and upgrades = (e.g. 1.0.0 -> 1.0.1)
DONE -= Revision version update would update the installed version=C2=A0
A extra check i= s also put which insure older version would not be allowed to install if hi= gher version is already installed.

- The first screen of the inst= aller shows the version of pgAdmin as 1.0. It should be APP_VERSION from co= nfig.py.
DONE- Screen shows APP= _Version from config.py

- To aid with error handling, the script should= check to ensure it can find required executables (e.g. qmake.exe, ISCC.exe= ) as a pre-flight check.
DONE- = Pre check is set, which will ensure all prerequisite is already set and ins= talled.

- We need a simple way to create a 64bit build.
DONE

On Fri, Apr 8, 2016 at 2:17 AM, Dave Page <dpage@pgadmin.org>= ; wrote:
Hi
<= br>
First round feedback (finally - sorry for the delay!):
<= div>
- Please move Make.bat to the root directory of the= source tree.

- The built installer should be crea= ted in dist/ in the root directory of the source tree (as the PIP package i= s)

- The version number should be extracted from c= onfig.py, and used to create the installer filename, i.e. pgadmin4-APP_VERS= ION.exe, which would currently make "pgadmin4-1.0.0-dev.exe"

- Please add a README.rst file to pkg/win32 that descr= ibes the required packages to setup a build environment, and (where non-obv= ious, e.g. setting up the compiler for PIP) including instructions on how t= o setup everything.

- The user should never need t= o edit Make.bat, so any paths that might change should come from the enviro= nment (with instructions telling the user what to set where required). e.g.= use vars like PYTHON_VERSION, PYTHON_PATH, QTDIR. These should override an= y hard-coded defaults in the script. Of course, where possible we should us= e variables standard to, or set by the other products.

=
- Any script errors should cause an exit. For example, my QT is a diff= erent version than you used, but the build script just ignored the fact tha= t qmake couldn't be found and built an installer anyway.

=
- Side-by-side installations of major versions of pgAdmin should= be allowed, so an installation directory of "C:\Program Files (x86)\p= gAdmin 4\" should actually install into C:\Program Files (x86)\pgAdmin= 4\<major>.<minor>, e.g. "C:\Program Files (x86)\pgAdmin 4= \1.0\"

- Revision version updates should upda= te the installed version, not install side-by-side.=C2=A0 Care should be ta= ken to ensure the Add/Remove Programs entries support both side-by-side ins= tallations and upgrades (e.g. 1.0.0 -> 1.0.1)

-= The first screen of the installer shows the version of pgAdmin as 1.0. It = should be APP_VERSION from config.py.

- To aid wit= h error handling, the script should check to ensure it can find required ex= ecutables (e.g. qmake.exe, ISCC.exe) as a pre-flight check.

<= /div>
- We need a simple way to create a 64bit build.

- I'm not sure we should try to use any part of VC++ (NMAKE, VC= VARS etc.). The script failed to build the runtime for me - I think because= VCVARS was conflicting with QMAKE settings. I was getting errors like:

Generating Code...
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:WINDOWS = "/MANIFESTDEPENDENCY:type=3D'win32' name=3D'Microsoft.Wind= ows.Common-Controls' version=3D'6.0.0.0' publicKeyToken=3D'= 6595b64144ccf1df' language=3D'*' processorArchitecture=3D'*= '" /MANIFEST /MANIFESTFILE:release\pgAdmin4.exe.embed.manifest /OU= T:release\pgAdmin4.exe @C:\Users\dpage\AppData\Local\Temp\nm196C.tmp
<= div>qtmain.lib(qtmain_win.obj) : error LNK2038: mismatch detected for '= _MSC_VER': value '1700' doesn't match value '1600' = in pgAdmin4.obj
qtmain.lib(qtmain_win.obj) : error LNK2019: unres= olved external symbol "__declspec(dllimport) void __cdecl std::_Xbad_a= lloc(void)" (__imp_?_Xbad_alloc@std@@YAXXZ) referenced in function &qu= ot;char * __cdecl std::_Allocate<char>(unsigned int,char *)" (??= $_Allocate@D@std@@YAPADIPAD@Z)
qtmain.lib(qtmain_win.obj) : error= LNK2019: unresolved external symbol "__declspec(dllimport) char const= * __cdecl std::_Syserror_map(int)" (__imp_?_Syserror_map@std@@YAPBDH@= Z) referenced in function "public: virtual class std::error_condition = __thiscall std::_System_error_category::default_error_condition(int)const &= quot; (?default_error_condition@_System_error_category@std@@UBE?AVerror_con= dition@2@H@Z)
qtmain.lib(qtmain_win.obj) : error LNK2019: unresol= ved external symbol "__declspec(dllimport) char const * __cdecl std::_= Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPBDH@Z) referenced in = function "public: virtual class std::basic_string<char,struct std::= char_traits<char>,class std::allocator<char> > __thiscall st= d::_System_error_category::message(int)const " (?message@_System_error= _category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2= @@2@H@Z)
release\pgAdmin4.exe : fatal error LNK1120: 3 unresolved= externals
NMAKE : fatal error U1077: '"c:\Program Files= (x86)\Microsoft Visual Studio 10.0\VC\BIN\link.EXE"' : return cod= e '0x460'

Stop.
NMAKE : fatal er= ror U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\V= C\bin\nmake.exe"' : return code '0x2'
Stop.

Aborting build!

Thanks!=

=
On Fri, Mar 25, 2016 at 11:40 AM, Paresh More <paresh.more@enterprisedb.com> wrote:
Hello Tea= m,

Attached is the patch which will create windows 32 in= staller for pgAdmin4 (runtime mode) for python 2.7 version.

<= /div>
This installer code has problem with psycopg2(2.5.2 version) for = windows

As discussed with Ashesh Vashi, I have cha= nged to point to 2.6.1 version and now the installer is working fine.
=

So it would now generate windows 32 bit installer using= psycopg2 (2.6.1 version)

Kindly please review and= let me know if any changes required.

Please also = suggest whether we should go with 2.5.2(psycopg2) or with the latest versio= n.

--

Thanks & Regar= ds

Paresh More

3D"NEW-EDB-logo-4c"

Pune, India.



--
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers=




--



--
--001a113f8b520c06de053087b5c2-- --001a113f8b520c06e2053087b5c4 Content-Type: application/octet-stream; name="pgadmin4_runtime.patch" Content-Disposition: attachment; filename="pgadmin4_runtime.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_in1vf51f0 ZGlmZiAtLWdpdCBhL01ha2UuYmF0IGIvTWFrZS5iYXQKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMC4uMWM0NjVjYTUxNjZhMjk4NjllNWY4OTIwZmJmYTBmNDI4 MmYzNjU5ZgotLS0gL2Rldi9udWxsCisrKyBiL01ha2UuYmF0CkBAIC0wLDAg KzEsMjkwIEBACitAZWNobyBvZmYKK1JFTQorUkVNICoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKKworCitzZXQgV0Q9JWNkJQorc2V0IFZJUlRVQUxFTlY9dmVfcHl0 aG9uCitzZXQgUEdCVUlMRFBBVEg9JVdEJVxwa2dcd2luMzJcUmVsZWFzZQor c2V0IFRBUkdFVElOU1RBTExFUj0lV0QlXGRpc3QKK1JFTSBzZXQgdGhlIHZh cmlhYmxlcyBpZiBub3QgYXZhaWxhbGJlIGluIHdpbmRvd3MgZW52aXJvbWVu dAorSUYgTk9UIERFRklORUQgIiVJTk5PVE9PTCUiICAgICAgICBTRVQgIklO Tk9UT09MPUM6XFByb2dyYW0gRmlsZXMgKHg4NilcSW5ubyBTZXR1cCA1Igor SUYgTk9UIERFRklORUQgIiVWQ0RJUiUiICAgICAgICAgICBTRVQgIlZDRElS PUM6XFByb2dyYW0gRmlsZXMgKHg4NilcTWljcm9zb2Z0IFZpc3VhbCBTdHVk aW8gMTIuMFxWQyIKK0lGIE5PVCBERUZJTkVEICIlUFlUSE9OX0hPTUUlIiAg ICAgU0VUICJQWVRIT05fSE9NRT1DOlxQeXRob24yNyIKK0lGIE5PVCBERUZJ TkVEICIlUFlUSE9OX0RMTCUiICAgICAgU0VUICJQWVRIT05fRExMPUM6XFdp bmRvd3NcU3lzV09XNjRccHl0aG9uMjcuZGxsIgorSUYgTk9UIERFRklORUQg IiVRVERJUiUiICAgICAgICAgICBTRVQgIlFURElSPUM6XFF0XFF0NS41LjFc NS41XG1zdmMyMDEzIgorc2V0IFBZVEhPTl9WRVJTSU9OPSVQWVRIT05fSE9N RTp+LTIlIgorc2V0IFZDVkFSPSVWQ0RJUiVcdmN2YXJzYWxsLmJhdAorc2V0 IFZDTk1BS0U9JVZDRElSJVxiaW5cbm1ha2UuZXhlCitzZXQgUU1BS0U9JVFU RElSJVxiaW5ccW1ha2UuZXhlCisKK1JFTSBDaGVjayBpZiBwYXRoIHNldCBp biBlbnZpcm9tZW50cyByZWFsbHkgZXhpc3Qgb3Igbm90ID8KK2lmIE5PVCBF WElTVCAiJUlOTk9UT09MJSIgICAgICAgICAgR09UTyBzZXRJbm5vRGV0YWls cworaWYgTk9UIEVYSVNUICIlVkNESVIlIiAgICAgICAgICAgICBHT1RPIHNl dFZDRGV0YWlscworaWYgTk9UIEVYSVNUICIlVkNWQVIlIiAgICAgICAgICAg ICBHT1RPIHNldFZDRGV0YWlscworaWYgTk9UIEVYSVNUICIlVkNOTUFLRSUi ICAgICAgICAgICBHT1RPIHNldFZDRGV0YWlscworaWYgTk9UIEVYSVNUICIl UVRESVIlIiAgICAgICAgICAgICBHT1RPIHNldFF0RGV0YWlscworaWYgTk9U IEVYSVNUICIlUU1BS0UlIiAgICAgICAgICAgICBHT1RPIHNldFF0RGV0YWls cworaWYgTk9UIEVYSVNUICIlUFlUSE9OX0hPTUUlIiAgICAgICBHT1RPIHNl dFB5dGhvbkRldGFpbHMKK2lmIE5PVCBFWElTVCAiJVBZVEhPTl9ETEwlIiAg ICAgICAgR09UTyBzZXRQeXRob25EZXRhaWxzCisKK1JFTSBDcmVhdGUgSU5T VEFMTEVSIE5BTUUKK3NldCBBUFBfTUFKT1JfVkVSU0lPTj0iIgorc2V0IEFQ UF9NSU5PUl9WRVJTSU9OPSIiCitzZXQgQVBQX1JFVklTSU9OX1ZFUlNJT049 IiIKK3NldCBBUFBfU1VGRklYX1ZFUlNJT049IiIKK0ZPUiAvRiAidG9rZW5z PTMiICUlYSBJTiAoJ2ZpbmRzdHIgL0M6IkFQUF9NQUpPUiA9IiAlV0QlXHdl Ylxjb25maWcucHknKSAgICBETyBzZXQgQVBQX01BSk9SX1ZFUlNJT049JSVh CitGT1IgL0YgInRva2Vucz0zIiAlJWEgSU4gKCdmaW5kc3RyIC9DOiJBUFBf TUlOT1IgPSIgJVdEJVx3ZWJcY29uZmlnLnB5JykgICAgRE8gc2V0IEFQUF9N SU5PUl9WRVJTSU9OPSUlYQorRk9SIC9GICJ0b2tlbnM9MyIgJSVhIElOICgn ZmluZHN0ciAvQzoiQVBQX1JFVklTSU9OID0iICVXRCVcd2ViXGNvbmZpZy5w eScpIERPIHNldCBBUFBfUkVWSVNJT05fVkVSU0lPTj0lJWEKK0ZPUiAvRiAi dG9rZW5zPTMiICUlYSBJTiAoJ2ZpbmRzdHIgL0M6IkFQUF9TVUZGSVggPSIg JVdEJVx3ZWJcY29uZmlnLnB5JykgICBETyBzZXQgQVBQX1NVRkZJWF9WRVJT SU9OPSUlYQorUkVNIHJlbW92ZSBzaW5nbGUgcXVvdGUgZnJvbSB0aGUgc3Ry aW5nCitzZXQgQVBQX1NVRkZJWF9WRVJTSU9OPSVBUFBfU1VGRklYX1ZFUlNJ T046Jz0lCitzZXQgSU5TVEFMTEVSTkFNRT1wZ2FkbWluNC0lQVBQX01BSk9S X1ZFUlNJT04lLiVBUFBfTUlOT1JfVkVSU0lPTiUuJUFQUF9SRVZJU0lPTl9W RVJTSU9OJS0lQVBQX1NVRkZJWF9WRVJTSU9OJS5leGUKK3NldCBQR0FETUlO NF9WRVJTSU9OPSVBUFBfTUFKT1JfVkVSU0lPTiUuJUFQUF9NSU5PUl9WRVJT SU9OJQorc2V0IFBHQURNSU40X0FQUF9WRVJTSU9OPSVBUFBfTUFKT1JfVkVS U0lPTiUuJUFQUF9NSU5PUl9WRVJTSU9OJS4lQVBQX1JFVklTSU9OX1ZFUlNJ T04lCitjYWxsIDpDTEVBTl9SRUxFQVNFCitjYWxsIDpDUkVBVEVfVklSVFVB TF9FTlYKK2NhbGwgOkNSRUFURV9SVU5USU1FX0VOVgorY2FsbCA6Q1JFQVRF X1BZVEhPTl9FTlYKK2NhbGwgOkNMRUFOVVBfRU5WCitjYWxsIDpDUkVBVEVf SU5TVEFMTEVSCisKK2dvdG86RVhJVAorCis6Q0xFQU5fUkVMRUFTRQorICAg IGlmIEVYSVNUICIlUEdCVUlMRFBBVEglIiBybWRpciAvcyAvcSAlUEdCVUlM RFBBVEglCisgICAgbWtkaXIgJVBHQlVJTERQQVRIJQorCisJY2QgJUhPTUVQ QVRIJQorCWlmIEVYSVNUIC5wZ2FkbWluIHJtZGlyIC9zIC9xIC5wZ2FkbWlu CisKKwljZCAlV0QlCitHT1RPOkVPRgorCis6Q1JFQVRFX1ZJUlRVQUxfRU5W CisgICAgZWNobyAiQ3JlYXRpbmcgVmlydHVhbCBFbnZpcm9tZW50IgorICAg IGNkICVQR0JVSUxEUEFUSCUKKyAgICB2aXJ0dWFsZW52ICVWSVJUVUFMRU5W JQorICAgIElGICVFUlJPUkxFVkVMJSBORVEgMCBFWElUIC9CICVFUlJPUkxF VkVMJQorCisgICAgZWNobyAiQWN0aXZhdGluZyBWaXJ0dWFsIEVudmlyb21l bnQgLSAgJVBHQlVJTERQQVRIJVwlVklSVFVBTEVOViVcU2NyaXB0c1xhY3Rp dmF0ZSIKKyAgICBDQUxMICIlUEdCVUlMRFBBVEglXCVWSVJUVUFMRU5WJVxT Y3JpcHRzXGFjdGl2YXRlIgorCisJZWNobyAiSW5zdGFsbGluZyBkZXBlbmRl bmNlcy4uLi4uLi4iCisgICAgcGlwIGluc3RhbGwgLXIgJVdEJVxyZXF1aXJl bWVudHNfcHkyLnR4dAorICAgIElGICVFUlJPUkxFVkVMJSBORVEgMCBFWElU IC9CICVFUlJPUkxFVkVMJQorCXJlbSBUaGlzIGlzIHJlcXVpcmVkIGJlY2F1 c2Ugd2luZG93cyBvbmx5IHdvcmsgd2l0aCAyLjYuMSB2ZXJzaW9uCisJcGlw IGluc3RhbGwgcHN5Y29wZzIgLVUKKwlJRiAlRVJST1JMRVZFTCUgTkVRIDAg RVhJVCAvQiAlRVJST1JMRVZFTCUKKworICAgIGVjaG8gIlZpcnR1YWwgRW52 aXJvbWVudCBjcmVhdGVkIHN1Y2Nlc3NmdWxseS4uLi4uLi4uLi4uLi4uLi4u LiIKKyAgICBjZCAlV0QlCitHT1RPOkVPRgorCis6Q1JFQVRFX1JVTlRJTUVf RU5WCisgICAgZWNobyAiQ29tcGlsaW5nIHNvdXJjZSBjb2RlIgorICAgIG1r ZGlyICVQR0JVSUxEUEFUSCVccnVudGltZQorICAgIElGICVFUlJPUkxFVkVM JSBORVEgMCBFWElUIC9CICVFUlJPUkxFVkVMJQorCisgICAgY2QgJVdEJQor CWNkIHdlYgorICAgIElGICVFUlJPUkxFVkVMJSBORVEgMCBFWElUIC9CICVF UlJPUkxFVkVMJQorCisgICAgaWYgRVhJU1QgY29uZmlnX2xvY2FsLnB5IGRl bCAvcyBjb25maWdfbG9jYWwucHkKKworICAgIHJlbSBzZWFyY2ggYW5kIHJl cGxhY2Ugc3RyaW5nIGZyb20gY29uZmlnLnB5IGFuZCBjb3B5IHRvIGNvbmZp Z19sb2NhbC5weQorICAgIEBlY2hvIG9mZgorICAgIHNldGxvY2FsIGRpc2Fi bGVEZWxheWVkRXhwYW5zaW9uCisgICAgc2V0IElucHV0RmlsZT1jb25maWcu cHkKKyAgICBzZXQgT3V0cHV0RmlsZT1jb25maWdfbG9jYWwucHkKKyAgICBz ZXQgIl9zdHJGaW5kPVNFUlZFUl9NT0RFID0gVHJ1ZSIKKyAgICBzZXQgIl9z dHJJbnNlcnQ9U0VSVkVSX01PREUgPSBGYWxzZSIKKyAgICA6UmVwbGFjZQor ICAgID4iJU91dHB1dEZpbGUlIiAoCisgICAgZm9yIC9mICJ1c2ViYWNrcSBk ZWxpbXM9IiAlJUEgaW4gKCIlSW5wdXRGaWxlJSIpIGRvICgKKyAgICAgICAg aWYgIiUlQSIgZXF1ICIlX3N0ckZpbmQlIiAoZWNobyAlX3N0ckluc2VydCUp IGVsc2UgKGVjaG8gJSVBKQorICAgICAgICApCisgICAgKQorICAgIElGICVF UlJPUkxFVkVMJSBORVEgMCBFWElUIC9CICVFUlJPUkxFVkVMJQorCisJcHl0 aG9uIHNldHVwLnB5CisgICAgSUYgJUVSUk9STEVWRUwlIE5FUSAwIEVYSVQg L0IgJUVSUk9STEVWRUwlCisKKwl4Y29weSAvUyAvSSAvRSAvSCAvWSAlSE9N RVBBVEglXC5wZ2FkbWluICVQR0JVSUxEUEFUSCVcLnBnYWRtaW4KKyAgICBJ RiAlRVJST1JMRVZFTCUgTkVRIDAgRVhJVCAvQiAlRVJST1JMRVZFTCUKKwor CWlmIEVYSVNUICVIT01FUEFUSCVcLnBnYWRtaW4gcm1kaXIgL3MgL3EgJUhP TUVQQVRIJVwucGdhZG1pbgorCisJeGNvcHkgL1MgL0kgL0UgL0ggL1kgJVdE JVx3ZWIgJVBHQlVJTERQQVRIJVx3ZWIKKwlJRiAlRVJST1JMRVZFTCUgTkVR IDAgRVhJVCAvQiAlRVJST1JMRVZFTCUKKworICAgIGNkICVXRCUKKwljZCBy dW50aW1lCisJSUYgJUVSUk9STEVWRUwlIE5FUSAwIEVYSVQgL0IgJUVSUk9S TEVWRUwlCisKKwljYWxsICIlVkNWQVIlIiB4ODYKKyAgICBJRiAlRVJST1JM RVZFTCUgTkVRIDAgRVhJVCAvQiAlRVJST1JMRVZFTCUKKworICAgIGNhbGwg IiVRTUFLRSUiCisgICAgSUYgJUVSUk9STEVWRUwlIE5FUSAwIEVYSVQgL0Ig JUVSUk9STEVWRUwlCisKKyAgICBjYWxsICIlVkNOTUFLRSUiIGNsZWFuCisg ICAgSUYgJUVSUk9STEVWRUwlIE5FUSAwIEVYSVQgL0IgJUVSUk9STEVWRUwl CisKKyAgICBjYWxsICIlVkNOTUFLRSUKKyAgICBJRiBFUlJPUkxFVkVMIDEg R09UTyBFUlJfSEFORExFUgorICAgIHJlbSBDb3B5IGJpbmFyeSB0byBSZWxl YXNlIEZvbGRlcgorICAgIGNvcHkgJVdEJVxydW50aW1lXHJlbGVhc2VccGdB ZG1pbjQuZXhlICVQR0JVSUxEUEFUSCVccnVudGltZQorICAgIElGIEVSUk9S TEVWRUwgMSBHT1RPIEVSUl9IQU5ETEVSCisKKyAgICByZW0gQ29weSBRVFAg ZGVwZW5kZW5jZXMKKyAgICBjb3B5ICVRVERJUiVcYmluXGljdWR0NTQuZGxs ICAgJVBHQlVJTERQQVRIJVxydW50aW1lCisgICAgSUYgJUVSUk9STEVWRUwl IE5FUSAwIEVYSVQgL0IgJUVSUk9STEVWRUwlCisgICAgY29weSAlUVRESVIl XGJpblxpY3VpbjU0LmRsbCAgICVQR0JVSUxEUEFUSCVccnVudGltZQorCUlG ICVFUlJPUkxFVkVMJSBORVEgMCBFWElUIC9CICVFUlJPUkxFVkVMJQorICAg IGNvcHkgJVFURElSJVxiaW5caWN1dWM1NC5kbGwgICAlUEdCVUlMRFBBVEgl XHJ1bnRpbWUKKwlJRiAlRVJST1JMRVZFTCUgTkVRIDAgRVhJVCAvQiAlRVJS T1JMRVZFTCUKKyAgICBjb3B5ICVRVERJUiVcYmluXFF0NUNvcmUuZGxsICAg JVBHQlVJTERQQVRIJVxydW50aW1lCisJSUYgJUVSUk9STEVWRUwlIE5FUSAw IEVYSVQgL0IgJUVSUk9STEVWRUwlCisgICAgY29weSAlUVRESVIlXGJpblxR dDVTcWwuZGxsICAgICVQR0JVSUxEUEFUSCVccnVudGltZQorCUlGICVFUlJP UkxFVkVMJSBORVEgMCBFWElUIC9CICVFUlJPUkxFVkVMJQorICAgIGNvcHkg JVFURElSJVxiaW5cUXQ1R3VpLmRsbCAgICAlUEdCVUlMRFBBVEglXHJ1bnRp bWUKKwlJRiAlRVJST1JMRVZFTCUgTkVRIDAgRVhJVCAvQiAlRVJST1JMRVZF TCUKKyAgICBjb3B5ICVRVERJUiVcYmluXFF0NVFtbC5kbGwgICAgJVBHQlVJ TERQQVRIJVxydW50aW1lCisJSUYgJUVSUk9STEVWRUwlIE5FUSAwIEVYSVQg L0IgJUVSUk9STEVWRUwlCisgICAgY29weSAlUVRESVIlXGJpblxRdDVPcGVu R0wuZGxsICVQR0JVSUxEUEFUSCVccnVudGltZQorCUlGICVFUlJPUkxFVkVM JSBORVEgMCBFWElUIC9CICVFUlJPUkxFVkVMJQorICAgIGNvcHkgJVFURElS JVxiaW5cUXQ1UXVpY2suZGxsICAlUEdCVUlMRFBBVEglXHJ1bnRpbWUKKwlJ RiAlRVJST1JMRVZFTCUgTkVRIDAgRVhJVCAvQiAlRVJST1JMRVZFTCUKKyAg ICBjb3B5ICVRVERJUiVcYmluXFF0NVNlbnNvcnMuZGxsICVQR0JVSUxEUEFU SCVccnVudGltZQorCUlGICVFUlJPUkxFVkVMJSBORVEgMCBFWElUIC9CICVF UlJPUkxFVkVMJQorICAgIGNvcHkgJVFURElSJVxiaW5cUXQ1V2lkZ2V0cy5k bGwgJVBHQlVJTERQQVRIJVxydW50aW1lCisJSUYgJUVSUk9STEVWRUwlIE5F USAwIEVYSVQgL0IgJUVSUk9STEVWRUwlCisgICAgY29weSAlUVRESVIlXGJp blxRdDVXZWJLaXQuZGxsICVQR0JVSUxEUEFUSCVccnVudGltZQorCUlGICVF UlJPUkxFVkVMJSBORVEgMCBFWElUIC9CICVFUlJPUkxFVkVMJQorICAgIGNv cHkgJVFURElSJVxiaW5cUXQ1TmV0d29yay5kbGwgJVBHQlVJTERQQVRIJVxy dW50aW1lCisJSUYgJUVSUk9STEVWRUwlIE5FUSAwIEVYSVQgL0IgJUVSUk9S TEVWRUwlCisgICAgY29weSAlUVRESVIlXGJpblxRdDVNdWx0aW1lZGlhLmRs bCAlUEdCVUlMRFBBVEglXHJ1bnRpbWUKKwlJRiAlRVJST1JMRVZFTCUgTkVR IDAgRVhJVCAvQiAlRVJST1JMRVZFTCUKKyAgICBjb3B5ICVRVERJUiVcYmlu XFF0NVdlYkNoYW5uZWwuZGxsICVQR0JVSUxEUEFUSCVccnVudGltZQorCUlG ICVFUlJPUkxFVkVMJSBORVEgMCBFWElUIC9CICVFUlJPUkxFVkVMJQorICAg IGNvcHkgJVFURElSJVxiaW5cUXQ1UG9zaXRpb25pbmcuZGxsICVQR0JVSUxE UEFUSCVccnVudGltZQorCUlGICVFUlJPUkxFVkVMJSBORVEgMCBFWElUIC9C ICVFUlJPUkxFVkVMJQorICAgIGNvcHkgJVFURElSJVxiaW5cUXQ1UHJpbnRT dXBwb3J0LmRsbCAlUEdCVUlMRFBBVEglXHJ1bnRpbWUKKwlJRiAlRVJST1JM RVZFTCUgTkVRIDAgRVhJVCAvQiAlRVJST1JMRVZFTCUKKyAgICBjb3B5ICVR VERJUiVcYmluXFF0NVdlYktpdFdpZGdldHMuZGxsICVQR0JVSUxEUEFUSCVc cnVudGltZQorCUlGICVFUlJPUkxFVkVMJSBORVEgMCBFWElUIC9CICVFUlJP UkxFVkVMJQorICAgIGNvcHkgJVFURElSJVxiaW5cUXQ1TXVsdGltZWRpYVdp ZGdldHMuZGxsICVQR0JVSUxEUEFUSCVccnVudGltZQorCUlGICVFUlJPUkxF VkVMJSBORVEgMCBFWElUIC9CICVFUlJPUkxFVkVMJQorICAgIG1rZGlyICVQ R0JVSUxEUEFUSCVccnVudGltZVxwbGF0Zm9ybXMKKwlJRiAlRVJST1JMRVZF TCUgTkVRIDAgRVhJVCAvQiAlRVJST1JMRVZFTCUKKworICAgIGNvcHkgJVFU RElSJVxwbHVnaW5zXHBsYXRmb3Jtc1xxd2luZG93cy5kbGwgJVBHQlVJTERQ QVRIJVxydW50aW1lXHBsYXRmb3JtcworCUlGICVFUlJPUkxFVkVMJSBORVEg MCBFWElUIC9CICVFUlJPUkxFVkVMJQorICAgIGVjaG8gW1BhdGhzXSA+ICVQ R0JVSUxEUEFUSCVccnVudGltZVxxdC5jb25mCisgICAgZWNobyBQbHVnaW5z PXBsdWdpbnMgPj4gJVBHQlVJTERQQVRIJVxydW50aW1lXHF0LmNvbmYKKyAg ICBlY2hvICJSdW50aW1lIFNvdXJjZSBjb2RlIGJ1aWxkIHN1Y2Nlc3NmdWxs eS4uLi4uLi4uLi4uLi4uLi4uLiIKKworCisgICAgY2QgJVdEJQorR09UTzpF T0YKKworOkNSRUFURV9QWVRIT05fRU5WCisgICAgY29weSAlUFlUSE9OX0RM TCUgJVBHQlVJTERQQVRIJVxydW50aW1lCisJSUYgJUVSUk9STEVWRUwlIE5F USAwIEVYSVQgL0IgJUVSUk9STEVWRUwlCisgICAgeGNvcHkgL1MgL0kgL0Ug L0ggL1kgJVBZVEhPTl9IT01FJVxETExzICVQR0JVSUxEUEFUSCVcJVZJUlRV QUxFTlYlXERMTHMKKwlJRiAlRVJST1JMRVZFTCUgTkVRIDAgRVhJVCAvQiAl RVJST1JMRVZFTCUKKyAgICB4Y29weSAvUyAvSSAvRSAvSCAvWSAlUFlUSE9O X0hPTUUlXExpYiAlUEdCVUlMRFBBVEglXCVWSVJUVUFMRU5WJVxMaWIKKwlJ RiAlRVJST1JMRVZFTCUgTkVRIDAgRVhJVCAvQiAlRVJST1JMRVZFTCUKKwor CWNkICVXRCUKK0dPVE86RU9GCisKKzpDUkVBVEVfSU5TVEFMTEVSCisgICAg ZWNobyAiUHJlcGFyaW5nIENyZWF0aW9uIG9mIHdpbmRvd3MgaW5zdGFsbGVy IgorICAgIHJlbSBzZWFyY2ggYW5kIHJlcGxhY2Ugc3RyaW5nIGZyb20gY29u ZmlnLnB5IGFuZCBjb3B5IHRvIGNvbmZpZ19sb2NhbC5weQorCWNkICVXRCUK KwljZCBwa2cKKwljZCB3aW4zMgorCUlGICVFUlJPUkxFVkVMJSBORVEgMCBF WElUIC9CICVFUlJPUkxFVkVMJQorCisgICAgQGVjaG8gb2ZmCisgICAgc2V0 bG9jYWwgZGlzYWJsZURlbGF5ZWRFeHBhbnNpb24KKyAgICBzZXQgSW5wdXRG aWxlPWluc3RhbGxlci5pc3MuaW4KKyAgICBzZXQgT3V0cHV0RmlsZT1pbnN0 YWxsZXIuaXNzCisgICAgc2V0ICJfc3RyRmluZD0jZGVmaW5lIE15QXBwVmVy c2lvbiAiMC4wIiIKKyAgICBzZXQgIl9zdHJJbnNlcnQ9I2RlZmluZSBNeUFw cFZlcnNpb24gIiVQR0FETUlONF9WRVJTSU9OJSIiCisgICAgc2V0ICJfc3Ry RmluZDE9I2RlZmluZSBNeUFwcEZ1bGxWZXJzaW9uICIwLjAiIgorICAgIHNl dCAiX3N0ckluc2VydDE9I2RlZmluZSBNeUFwcEZ1bGxWZXJzaW9uICIlUEdB RE1JTjRfQVBQX1ZFUlNJT04lIiIKKyAgICA6UmVwbGFjZQorICAgID4iJU91 dHB1dEZpbGUlIiAoCisgICAgZm9yIC9mICJ1c2ViYWNrcSBkZWxpbXM9IiAl JUEgaW4gKCIlSW5wdXRGaWxlJSIpIGRvICgKKyAgICAgICAgaWYgIiUlQSIg ZXF1ICIlX3N0ckZpbmQlIiAoZWNobyAlX3N0ckluc2VydCUpIGVsc2UgKAor CQlpZiAiJSVBIiBlcXUgIiVfc3RyRmluZDElIiAoZWNobyAlX3N0ckluc2Vy dDElKSBlbHNlIChlY2hvICUlQSkpCisgICAgICAgICkKKyAgICApCisgICAg SUYgJUVSUk9STEVWRUwlIE5FUSAwIEVYSVQgL0IgJUVSUk9STEVWRUwlCisJ bWtkaXIgJVRBUkdFVElOU1RBTExFUiUKKyAgICBJRiAlRVJST1JMRVZFTCUg TkVRIDAgRVhJVCAvQiAlRVJST1JMRVZFTCUKKworCWVjaG8gIiVJTk5PVE9P TCVcSVNDQy5leGUiIC9xICVXRCVccGtnXHdpbjMyXGluc3RhbGxlci5pc3Mi CisgICAgY2FsbCAiJUlOTk9UT09MJVxJU0NDLmV4ZSIgL3EgJVdEJVxwa2dc d2luMzJcaW5zdGFsbGVyLmlzcworICAgIElGICVFUlJPUkxFVkVMJSBORVEg MCBFWElUIC9CICVFUlJPUkxFVkVMJQorICAgIG1vdmUgJVdEJVxwa2dcd2lu MzJcT3V0cHV0XHNldHVwLmV4ZSAlVEFSR0VUSU5TVEFMTEVSJVwlSU5TVEFM TEVSTkFNRSUKKyAgICBJRiAlRVJST1JMRVZFTCUgTkVRIDAgRVhJVCAvQiAl RVJST1JMRVZFTCUKKworICAgIGVjaG8gIkxvY2F0aW9uIC0gJVRBUkdFVElO U1RBTExFUiVcJUlOU1RBTExFUk5BTUUlIgorICAgIGVjaG8gIkluc3RhbGxl ciBnZW5lcmF0ZWQgc3VjY2Vzc2Z1bGx5Li4uLi4uLi4uLi4uLi4uLi4uIgor ICAgIGNkICVXRCUKK0dPVE86RU9GCisKKzpDTEVBTlVQX0VOVgorICAgIHJl bSBDbGVhbnVwIHVud2FudGVkIGZpbGVzCisJZWNobyAiREVhY3RpdmF0aW5n IFZpcnR1YWwgRW52aXJvbWVudCAtICAlUEdCVUlMRFBBVEglXCVWSVJUVUFM RU5WJVxTY3JpcHRzXGRlYWN0aXZhdGUiCisgICAgQ0FMTCAiJVBHQlVJTERQ QVRIJVwlVklSVFVBTEVOViVcU2NyaXB0c1xkZWFjdGl2YXRlIgorCisgICAg cmQgJVBHQlVJTERQQVRIJVwlVklSVFVBTEVOViVcSW5jbHVkZSAvUyAvUQor ICAgIHJkICVQR0JVSUxEUEFUSCVcJVZJUlRVQUxFTlYlXFNjcmlwdHMgL1Mg L1EKKyAgICBkZWwgL3MgJVBHQlVJTERQQVRIJVwlVklSVFVBTEVOViVccGlw LXNlbGZjaGVjay5qc29uCisgICAgcmVtIGZvciAvUiAlUEdCVUlMRFBBVEgl XCVWSVJUVUFMRU5WJVxMaWIiICUlZiBpbiAoKi5weWMpIGRvIGRlbCAvcSAi JSVmIgorCisJZWNobyAiQ2xlYW51cCBwcml2YXRlIGVudmlyb25tZW50IHN1 Y2Nlc3NmdWxseS4uLi4uLi4uLi4uLi4uLi4uLiIKKyAgICBjZCAlV0QlCisK K0dPVE86RU9GCisKKzpzZXRJbm5vRGV0YWlscworZWNobyBQbGVhc2UgSW5z dGFsbCBJbm5vdG9vbCBhbmQgc2V0IElOTk9UT09MIGVudmlyb21lbnQgVmFy aWFibGUKK2VjaG8gJUlOTk9UT09MJSBkb2VzIG5vdCBleGlzdAorZ290byBF WElUCisKKzpzZXRWQ0RldGFpbHMKK2VjaG8gUGxlYXNlIEluc3RhbGwgTWlj cm9zb2Z0IFZpc3VhbCBzdHVkaW8gMTMgc2V0IFZDRElSIGVudmlyb21lbnQg VmFyaWFibGUKK2VjaG8gJVZDRElSJSBkb2VzIG5vdCBleGlzdC4KK2VjaG8g JVZDVkFSJSBkb2VzIG5vdCBleGlzdC4KK2VjaG8gJVZDTk1BS0UlIGRvZXMg bm90IGV4aXN0LgorZ290byBFWElUCisKKzpzZXRQeXRob25EZXRhaWxzCitl Y2hvIFBsZWFzZSBJbnN0YWxsIFB5dGhvbiBhbmQgc2V0IGVudmlyb21lbnQg VmFyaWFibGUKK2VjaG8gJVBZVEhPTl9IT01FJSBkb2VzIG5vdCBleGlzdC4K K2VjaG8gJVBZVEhPTl9WRVJTSU9OJSBub3Qgc2V0LgorZWNobyAlUFlUSE9O X0RMTCUgZG9lcyBub3QgZXhpc3QuCitnb3RvIEVYSVQKKworOnNldFF0RGV0 YWlscworZWNobyBQbGVhc2UgSW5zdGFsbCBRVCBTREsgYW5kIHNldCBlbnZp cm9tZW50IFZhcmlhYmxlCitlY2hvICVRVERJUiUgZG9lcyBub3QgZXhpc3Qu CitlY2hvICVRTUFLRSUgZG9lcyBub3QgZXhpc3QuCitnb3RvIEVYSVQKKwor Cis6RVJSX0hBTkRMRVIKKyAgICBlY2hvLgorICAgIGVjaG8gQWJvcnRpbmcg YnVpbGQhCisgICAgY2QgJVdEJQorICAgIGV4aXQgL0IgMQorR09UTzpFT0YK KworOkVYSVQKKwlleGl0IC9CIDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCmRpZmYgLS1naXQgYS9wa2cvd2luMzIvUkVBRE1FLnJzdCBiL3BrZy93 aW4zMi9SRUFETUUucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2MDg5 MzEzNzhkZjE3MDc3NTNlMDRkNzVmMDgyODY2NzkzYWNiZWMKLS0tIC9kZXYv bnVsbAorKysgYi9wa2cvd2luMzIvUkVBRE1FLnJzdApAQCAtMCwwICsxLDYw IEBACitwZ0FkbWluIDQKKz09PT09PT09PQorCitQcmVyZXF1aXNpdGUKKy0t LS0tLS0tCisKK1RvIGdlbmVyYXRlIGEgcGdBZG1pbiA0IGluc3RhbGxlciBm b3Igd2luZG93cyAoNjQpIGJpdCwgdGhlIGZvbGxvd2luZyBwYWNrYWdlcyBt dXN0IGJlIGluc3RhbGxlZDoKKworLSBRVCA0LjYgb3IgYWJvdmUgKG9sZGVy IHZlcnNpb25zIG1heSB3b3JrLCBidXQgaGF2ZW4ndCBiZWVuIHRlc3RlZCku CistIFB5dGhvbiAyLjYgb3IgYWJvdmUuCistIElubm8gVG9vbCBWZXJzaW9u IDUuNS44IGFuZCBBYm92ZQorLSBNaWNyb3NvZnQgdmlzdWFsIHN0dWRpbyAo MjAxMykKKworRm9sbG93aW5nIGVudmlyb25tZW50IHZhcmlhbGJlcyBhcmUg cmV1aXJlZCBmb3IgdGhlIHNjcmlwdCAoTWFrZS5iYXQpCitJTk5PVE9PTCxW Q0RJUixQWVRIT05fSE9NRSxQWVRIT05fRExMLFFURElSCisKK0lmIHRoZSBh Ym92ZSB2YXJpYWJsZXMgYXJlIHNldCB0aGVuIE1ha2UuYmF0IHdpbGwgcmVh ZCBmcm9tIHRoZSBlbnZpcm9tZW50IGFuZCBvdmVycmlkZSBhbnkgaGFyZC1j b2RlZCBkZWZhdWx0cyBpbiB0aGUgc2NyaXB0LgorSWYgdmFyaWFibGVzIGFy ZSBub3Qgc2V0IGl0IHdvdWxkIHVzZSB0aGUgZm9sbG93aW5nIGRlZmF1bHRz IHZhbHVlcyBhbmQgd2lsbCB0aHJvdyBlcnJvciBpZiBhbnkgcGFja2FnZSBp cyBub3QgaW5zdGFsbGVkCitTRVQgIklOTk9UT09MPUM6XFByb2dyYW0gRmls ZXMgKHg4NilcSW5ubyBTZXR1cCA2IgorU0VUICJWQ0RJUj1DOlxQcm9ncmFt IEZpbGVzICh4ODYpXE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIDEyLjBcVkMi CitTRVQgIlBZVEhPTl9IT01FPUM6XFB5dGhvbjI3IgorU0VUICJQWVRIT05f RExMPUM6XFdpbmRvd3NcU3lzV09XNjRccHl0aG9uMjcuZGxsIgorU0VUICJR VERJUj1DOlxRdFxRdDUuNS4xXDUuNVxtc3ZjMjAxMyIKKworSG93IHRvIGJ1 aWxkCistLS0tLS0tLS0tCiskIGNkIDxQR0FETUlONF9TUkM+CiskIE1ha2Uu YmF0CisKK0l0IHdvdWxkIGdlbmVyYXRlIHBnQWRtaW40PG1ham9yPi48bWlu b3I+PHN1ZmZpeD4uZXhlIGluIFBHQURNSU40X1NSQy9kaXN0IGZvbGRlci4K K1RoZSBNYWpvcixtaW5vcixzdWZmaXggdmVyc2lvbiBkZXRhaWxzIHdvdWxk IGJlIGV4dHJhY3RlZCBmcm9tIGNvbmZpZy5weShQR0FETUlONF9TUkMvd2Vi KSBhbmQgdXNlZCB0byBjcmVhdGUgdGhlIGluc3RhbGxlciBmaWxlbmFtZSwg CitGb3IgRXhhbXBsZSA9IHBnYWRtaW40LUFQUF9WRVJTSU9OLmV4ZSwgd2hp Y2ggd291bGQgY3VycmVudGx5IG1ha2UgInBnYWRtaW40LTEuMC4wLWRldi5l eGUiCisKK1NpZGUtYnktc2lkZSBpbnN0YWxsYXRpb25zIG9mIG1ham9yIHZl cnNpb25zIG9mIHBnQWRtaW4gd291bGQgYmUgYWxsb3dlZCwgc28gYW4gaW5z dGFsbGF0aW9uIGRpcmVjdG9yeSBvZiAKK0V4OgorIkM6XFByb2dyYW0gRmls ZXMgKHg4NilccGdBZG1pbiA0XCIgd291bGQgYWN0dWFsbHkgaW5zdGFsbCBp bnRvIEM6XFByb2dyYW0gRmlsZXMgKHg4NilccGdBZG1pbiA0XDxtYWpvcj4u PG1pbm9yPgoraS5lICJDOlxQcm9ncmFtIEZpbGVzICh4ODYpXHBnQWRtaW4g NFwxLjBcIgorCisKK1Byb2plY3QgaW5mbworLS0tLS0tLS0tLS0tCisKK1Ro ZSBzb3VyY2UgY29kZSByZXBvc2l0b3J5IGNhbiBiZSBmb3VuZCBoZXJlOgor CitodHRwOi8vZ2l0LnBvc3RncmVzcWwub3JnL2dpdHdlYi8/cD1wZ2FkbWlu NC5naXQ7YT1zdW1tYXJ5CisKK0EgUmVkbWluZSBwcm9qZWN0IGZvciBwZ0Fk bWluIDQgY2FuIGJlIGZvdW5kIGF0IHRoZSBhZGRyZXNzIGJlbG93LiBBIFBv c3RncmVTUUwKK2NvbW11bml0eSBhY2NvdW50IGlzIHJlcXVpcmVkIHRvIGFj Y2VzcyB0aGlzIHNpdGUuIFBsZWFzZSBub3RlIHRoYXQgYXQgcHJlc2VudAor b25seSBwcm9qZWN0IGRldmVsb3BlcnMgY2FuIGxvZyBidWcgYW5kIGZlYXR1 cmUgcmVxdWVzdHM6CisKK2h0dHBzOi8vcmVkbWluZS5wb3N0Z3Jlc3FsLm9y Zy9wcm9qZWN0cy9wZ2FkbWluNAorCitJZiB5b3Ugd2lzaCB0byBkaXNjdXNz IHBnQWRtaW4gNCwgb3IgY29udHJpYnV0ZSB0byB0aGUgcHJvamVjdCwgcGxl YXNlIHVzZSB0aGUKK3BnQWRtaW4gSGFja2VycyBtYWlsaW5nIGxpc3Q6CisK K3BnYWRtaW4taGFja2Vyc0Bwb3N0Z3Jlc3FsLm9yZworCistLQorRGF2ZSBQ YWdlCitwZ0FkbWluIFByb2plY3QgTGVhZApcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKZGlmZiAtLWdpdCBhL3BrZy93aW4zMi9SZXNvdXJjZXMvM3Jk X3BhcnR5X2xpY2Vuc2VzLnR4dCBiL3BrZy93aW4zMi9SZXNvdXJjZXMvM3Jk X3BhcnR5X2xpY2Vuc2VzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45 N2Q2OGY2MDE1MmY5NmEyNmY1OTU1ZjJlNTUwMDQ0MmEyNDAwYTJhCi0tLSAv ZGV2L251bGwKKysrIGIvcGtnL3dpbjMyL1Jlc291cmNlcy8zcmRfcGFydHlf bGljZW5zZXMudHh0CkBAIC0wLDAgKzEsMTg5OSBAQAorPT09PT09PT09PT09 PT09PT09CitRVCBMSUNFTlNFCis9PT09PT09PT09PT09PT09PT0KK0dFTkVS QUwKKy0tLS0tLS0KKworUXQgaXMgYXZhaWxhYmxlIHVuZGVyIGEgY29tbWVy Y2lhbCBsaWNlbnNlIHdpdGggdmFyaW91cyBwcmljaW5nIG1vZGVscyBhbmQg cGFja2FnZXMgdGhhdCBtZWV0IGEgdmFyaWV0eSBvZiBuZWVkcy4gQ29tbWVy Y2lhbCBRdCBsaWNlbnNlIGtlZXBzIHlvdXIgY29kZSBwcm9wcmlldGFyeSB3 aGVyZSBvbmx5IHlvdSBjYW4gY29udHJvbCBhbmQgbW9uZXRpemUgb24geW91 ciBlbmQgcHJvZHVjdJJzIGRldmVsb3BtZW50LCB1c2VyIGV4cGVyaWVuY2Ug YW5kIGRpc3RyaWJ1dGlvbi4gWW91IGFsc28gZ2V0IGdyZWF0IHBlcmtzIGxp a2UgYWRkaXRpb25hbCBmdW5jdGlvbmFsaXR5LCBwcm9kdWN0aXZpdHkgZW5o YW5jaW5nIHRvb2xzLCB3b3JsZC1jbGFzcyBzdXBwb3J0IGFuZCBhIGNsb3Nl IHN0cmF0ZWdpYyByZWxhdGlvbnNoaXAgd2l0aCBUaGUgUXQgQ29tcGFueSB0 byBtYWtlIHN1cmUgeW91ciBwcm9kdWN0IGFuZCBkZXZlbG9wbWVudCBnb2Fs cyBhcmUgbWV0LgorCitRdCBoYXMgYmVlbiBjcmVhdGVkIHVuZGVyIHRoZSBi ZWxpZWYgb2Ygb3BlbiBkZXZlbG9wbWVudCBhbmQgcHJvdmlkaW5nIGZyZWVk b20gYW5kIGNob2ljZSB0byBkZXZlbG9wZXJzLiBUbyBzdXBwb3J0IHRoYXQs IFRoZSBRdCBDb21wYW55IGFsc28gbGljZW5zZXMgUXQgdW5kZXIgb3BlbiBz b3VyY2UgbGljZW5zZXMsIHdoZXJlIG1vc3Qgb2YgdGhlIGZ1bmN0aW9uYWxp dHkgaXMgYXZhaWxhYmxlIHVuZGVyIExHUEx2MyBvciBMR1BMdjIuMS4gSXQg c2hvdWxkIGJlIG5vdGVkIHRoYXQgc29tZSBjb21wb25lbnRzIGFyZSBhdmFp bGFibGUgb25seSB1bmRlciBMR1BMdjMuIEluIG9yZGVyIHRvIHByZXNlcnZl IHRoZSB0cnVlIG1lYW5pbmcgb2Ygb3BlbiBkZXZlbG9wbWVudCBhbmQgdXBo b2xkIHRoZSBzcGlyaXQgb2YgZnJlZSBzb2Z0d2FyZSwgaXQgaXMgaW1wZXJh dGl2ZSB0aGF0IHRoZSBydWxlcyBhbmQgcmVndWxhdGlvbnMgb2Ygb3BlbiBz b3VyY2UgbGljZW5zZXMgYXJlIGZvbGxvd2VkLiBJZiB5b3UgdXNlIFF0IHVu ZGVyIG9wZW4tc291cmNlIGxpY2Vuc2VzLCB5b3UgbmVlZCB0byBtYWtlIHN1 cmUgdGhhdCB5b3UgY29tcGx5IHdpdGggYWxsIHRoZSBsaWNlbnNlcyBvZiB0 aGUgY29tcG9uZW50cyB5b3UgdXNlLgorCitRdCBhbHNvIGNvbnRhaW5zIHNv bWUgM3JkIHBhcnR5IGNvbXBvbmVudHMgdGhhdCBhcmUgYXZhaWxhYmxlIHVu ZGVyIGRpZmZlcmVudCBvcGVuLXNvdXJjZSBsaWNlbnNlcy4gUGxlYXNlIHJl ZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMgb24g M3JkIHBhcnR5IGxpY2Vuc2VzIHVzZWQgaW4gUXQuCisKKworR1BMdjMgYW5k IExHUEx2MworLS0tLS0tLS0tLS0tLS0tLQorCisgICAgICAgICAgICBHTlUg TEVTU0VSIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKworIFRoZSBRdCBUb29s a2l0IGlzIENvcHlyaWdodCAoQykgMjAxNCBEaWdpYSBQbGMgYW5kL29yIGl0 cyBzdWJzaWRpYXJ5KC1pZXMpLgorIENvbnRhY3Q6IGh0dHA6Ly93d3cucXQu aW8vbGljZW5zaW5nCisKKyBZb3UgbWF5IHVzZSwgZGlzdHJpYnV0ZSBhbmQg Y29weSB0aGUgUXQgR1VJIFRvb2xraXQgdW5kZXIgdGhlIHRlcm1zIG9mCisg R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMywg d2hpY2ggc3VwcGxlbWVudHMgR05VIEdlbmVyYWwKKyBQdWJsaWMgTGljZW5z ZSBWZXJzaW9uIDMuIEJvdGggb2YgdGhlIGxpY2Vuc2VzIGFyZSBkaXNwbGF5 ZWQgYmVsb3cuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwor CisgICAgICAgICAgICAgICAgICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNF TlNFCisgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVu ZSAyMDA3CisKKyBDb3B5cmlnaHQgKEMpIDIwMDcgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuIDxodHRwOi8vZnNmLm9yZy8+CisgRXZlcnlvbmUg aXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0g Y29waWVzCisgb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdp bmcgaXQgaXMgbm90IGFsbG93ZWQuCisKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQcmVhbWJsZQorCisgIFRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBpcyBhIGZyZWUsIGNvcHlsZWZ0IGxpY2Vuc2UgZm9yCitzb2Z0 d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCisKKyAgVGhlIGxpY2Vu c2VzIGZvciBtb3N0IHNvZnR3YXJlIGFuZCBvdGhlciBwcmFjdGljYWwgd29y a3MgYXJlIGRlc2lnbmVkCit0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRv IHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCit0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgaW50ZW5kZWQgdG8g Z3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0bworc2hhcmUgYW5kIGNoYW5nZSBh bGwgdmVyc2lvbnMgb2YgYSBwcm9ncmFtLS10byBtYWtlIHN1cmUgaXQgcmVt YWlucyBmcmVlCitzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCitHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9zdCBvZiBvdXIgc29mdHdhcmU7 IGl0IGFwcGxpZXMgYWxzbyB0bworYW55IG90aGVyIHdvcmsgcmVsZWFzZWQg dGhpcyB3YXkgYnkgaXRzIGF1dGhvcnMuICBZb3UgY2FuIGFwcGx5IGl0IHRv Cit5b3VyIHByb2dyYW1zLCB0b28uCisKKyAgV2hlbiB3ZSBzcGVhayBvZiBm cmVlIHNvZnR3YXJlLCB3ZSBhcmUgcmVmZXJyaW5nIHRvIGZyZWVkb20sIG5v dAorcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRl c2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQoraGF2ZSB0aGUgZnJlZWRv bSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQg Y2hhcmdlIGZvcgordGhlbSBpZiB5b3Ugd2lzaCksIHRoYXQgeW91IHJlY2Vp dmUgc291cmNlIGNvZGUgb3IgY2FuIGdldCBpdCBpZiB5b3UKK3dhbnQgaXQs IHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVj ZXMgb2YgaXQgaW4gbmV3CitmcmVlIHByb2dyYW1zLCBhbmQgdGhhdCB5b3Ug a25vdyB5b3UgY2FuIGRvIHRoZXNlIHRoaW5ncy4KKworICBUbyBwcm90ZWN0 IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20g ZGVueWluZyB5b3UKK3RoZXNlIHJpZ2h0cyBvciBhc2tpbmcgeW91IHRvIHN1 cnJlbmRlciB0aGUgcmlnaHRzLiAgVGhlcmVmb3JlLCB5b3UgaGF2ZQorY2Vy dGFpbiByZXNwb25zaWJpbGl0aWVzIGlmIHlvdSBkaXN0cmlidXRlIGNvcGll cyBvZiB0aGUgc29mdHdhcmUsIG9yIGlmCit5b3UgbW9kaWZ5IGl0OiByZXNw b25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJz LgorCisgIEZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMg b2Ygc3VjaCBhIHByb2dyYW0sIHdoZXRoZXIKK2dyYXRpcyBvciBmb3IgYSBm ZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNh bWUKK2ZyZWVkb21zIHRoYXQgeW91IHJlY2VpdmVkLiAgWW91IG11c3QgbWFr ZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlCitvciBjYW4gZ2V0IHRo ZSBzb3VyY2UgY29kZS4gIEFuZCB5b3UgbXVzdCBzaG93IHRoZW0gdGhlc2Ug dGVybXMgc28gdGhleQora25vdyB0aGVpciByaWdodHMuCisKKyAgRGV2ZWxv cGVycyB0aGF0IHVzZSB0aGUgR05VIEdQTCBwcm90ZWN0IHlvdXIgcmlnaHRz IHdpdGggdHdvIHN0ZXBzOgorKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhl IHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKK2dp dmluZyB5b3UgbGVnYWwgcGVybWlzc2lvbiB0byBjb3B5LCBkaXN0cmlidXRl IGFuZC9vciBtb2RpZnkgaXQuCisKKyAgRm9yIHRoZSBkZXZlbG9wZXJzJyBh bmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxh aW5zCit0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IGZvciB0aGlzIGZyZWUg c29mdHdhcmUuICBGb3IgYm90aCB1c2VycycgYW5kCithdXRob3JzJyBzYWtl LCB0aGUgR1BMIHJlcXVpcmVzIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgYmUg bWFya2VkIGFzCitjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdp bGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KK2F1dGhvcnMg b2YgcHJldmlvdXMgdmVyc2lvbnMuCisKKyAgU29tZSBkZXZpY2VzIGFyZSBk ZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1 bgorbW9kaWZpZWQgdmVyc2lvbnMgb2YgdGhlIHNvZnR3YXJlIGluc2lkZSB0 aGVtLCBhbHRob3VnaCB0aGUgbWFudWZhY3R1cmVyCitjYW4gZG8gc28uICBU aGlzIGlzIGZ1bmRhbWVudGFsbHkgaW5jb21wYXRpYmxlIHdpdGggdGhlIGFp bSBvZgorcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhl IHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKK3BhdHRlcm4gb2Ygc3VjaCBh YnVzZSBvY2N1cnMgaW4gdGhlIGFyZWEgb2YgcHJvZHVjdHMgZm9yIGluZGl2 aWR1YWxzIHRvCit1c2UsIHdoaWNoIGlzIHByZWNpc2VseSB3aGVyZSBpdCBp cyBtb3N0IHVuYWNjZXB0YWJsZS4gIFRoZXJlZm9yZSwgd2UKK2hhdmUgZGVz aWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhl IHByYWN0aWNlIGZvciB0aG9zZQorcHJvZHVjdHMuICBJZiBzdWNoIHByb2Js ZW1zIGFyaXNlIHN1YnN0YW50aWFsbHkgaW4gb3RoZXIgZG9tYWlucywgd2UK K3N0YW5kIHJlYWR5IHRvIGV4dGVuZCB0aGlzIHByb3Zpc2lvbiB0byB0aG9z ZSBkb21haW5zIGluIGZ1dHVyZSB2ZXJzaW9ucworb2YgdGhlIEdQTCwgYXMg bmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCisKKyAg RmluYWxseSwgZXZlcnkgcHJvZ3JhbSBpcyB0aHJlYXRlbmVkIGNvbnN0YW50 bHkgYnkgc29mdHdhcmUgcGF0ZW50cy4KK1N0YXRlcyBzaG91bGQgbm90IGFs bG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBv Zgorc29mdHdhcmUgb24gZ2VuZXJhbC1wdXJwb3NlIGNvbXB1dGVycywgYnV0 IGluIHRob3NlIHRoYXQgZG8sIHdlIHdpc2ggdG8KK2F2b2lkIHRoZSBzcGVj aWFsIGRhbmdlciB0aGF0IHBhdGVudHMgYXBwbGllZCB0byBhIGZyZWUgcHJv Z3JhbSBjb3VsZAorbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4g IFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKK3BhdGVu dHMgY2Fubm90IGJlIHVzZWQgdG8gcmVuZGVyIHRoZSBwcm9ncmFtIG5vbi1m cmVlLgorCisgIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZv ciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCittb2RpZmljYXRpb24gZm9s bG93LgorCisgICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05E SVRJT05TCisKKyAgMC4gRGVmaW5pdGlvbnMuCisKKyAgIlRoaXMgTGljZW5z ZSIgcmVmZXJzIHRvIHZlcnNpb24gMyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UuCisKKyAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5 cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YK K3dvcmtzLCBzdWNoIGFzIHNlbWljb25kdWN0b3IgbWFza3MuCisKKyAgIlRo ZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBs aWNlbnNlZCB1bmRlciB0aGlzCitMaWNlbnNlLiAgRWFjaCBsaWNlbnNlZSBp cyBhZGRyZXNzZWQgYXMgInlvdSIuICAiTGljZW5zZWVzIiBhbmQKKyJyZWNp cGllbnRzIiBtYXkgYmUgaW5kaXZpZHVhbHMgb3Igb3JnYW5pemF0aW9ucy4K KworICBUbyAibW9kaWZ5IiBhIHdvcmsgbWVhbnMgdG8gY29weSBmcm9tIG9y IGFkYXB0IGFsbCBvciBwYXJ0IG9mIHRoZSB3b3JrCitpbiBhIGZhc2hpb24g cmVxdWlyaW5nIGNvcHlyaWdodCBwZXJtaXNzaW9uLCBvdGhlciB0aGFuIHRo ZSBtYWtpbmcgb2YgYW4KK2V4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdv cmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQorZWFy bGllciB3b3JrIG9yIGEgd29yayAiYmFzZWQgb24iIHRoZSBlYXJsaWVyIHdv cmsuCisKKyAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVu bW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKK29uIHRoZSBQcm9n cmFtLgorCisgIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBh bnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKK3Blcm1pc3Npb24sIHdv dWxkIG1ha2UgeW91IGRpcmVjdGx5IG9yIHNlY29uZGFyaWx5IGxpYWJsZSBm b3IKK2luZnJpbmdlbWVudCB1bmRlciBhcHBsaWNhYmxlIGNvcHlyaWdodCBs YXcsIGV4Y2VwdCBleGVjdXRpbmcgaXQgb24gYQorY29tcHV0ZXIgb3IgbW9k aWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMg Y29weWluZywKK2Rpc3RyaWJ1dGlvbiAod2l0aCBvciB3aXRob3V0IG1vZGlm aWNhdGlvbiksIG1ha2luZyBhdmFpbGFibGUgdG8gdGhlCitwdWJsaWMsIGFu ZCBpbiBzb21lIGNvdW50cmllcyBvdGhlciBhY3Rpdml0aWVzIGFzIHdlbGwu CisKKyAgVG8gImNvbnZleSIgYSB3b3JrIG1lYW5zIGFueSBraW5kIG9mIHBy b3BhZ2F0aW9uIHRoYXQgZW5hYmxlcyBvdGhlcgorcGFydGllcyB0byBtYWtl IG9yIHJlY2VpdmUgY29waWVzLiAgTWVyZSBpbnRlcmFjdGlvbiB3aXRoIGEg dXNlciB0aHJvdWdoCithIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJh bnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgorCisgIEFuIGlu dGVyYWN0aXZlIHVzZXIgaW50ZXJmYWNlIGRpc3BsYXlzICJBcHByb3ByaWF0 ZSBMZWdhbCBOb3RpY2VzIgordG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1 ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQorZmVh dHVyZSB0aGF0ICgxKSBkaXNwbGF5cyBhbiBhcHByb3ByaWF0ZSBjb3B5cmln aHQgbm90aWNlLCBhbmQgKDIpCit0ZWxscyB0aGUgdXNlciB0aGF0IHRoZXJl IGlzIG5vIHdhcnJhbnR5IGZvciB0aGUgd29yayAoZXhjZXB0IHRvIHRoZQor ZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxp Y2Vuc2VlcyBtYXkgY29udmV5IHRoZQord29yayB1bmRlciB0aGlzIExpY2Vu c2UsIGFuZCBob3cgdG8gdmlldyBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlLiAg SWYKK3RoZSBpbnRlcmZhY2UgcHJlc2VudHMgYSBsaXN0IG9mIHVzZXIgY29t bWFuZHMgb3Igb3B0aW9ucywgc3VjaCBhcyBhCittZW51LCBhIHByb21pbmVu dCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgorCisg IDEuIFNvdXJjZSBDb2RlLgorCisgIFRoZSAic291cmNlIGNvZGUiIGZvciBh IHdvcmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3JrCitm b3IgbWFraW5nIG1vZGlmaWNhdGlvbnMgdG8gaXQuICAiT2JqZWN0IGNvZGUi IG1lYW5zIGFueSBub24tc291cmNlCitmb3JtIG9mIGEgd29yay4KKworICBB ICJTdGFuZGFyZCBJbnRlcmZhY2UiIG1lYW5zIGFuIGludGVyZmFjZSB0aGF0 IGVpdGhlciBpcyBhbiBvZmZpY2lhbAorc3RhbmRhcmQgZGVmaW5lZCBieSBh IHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBv ZgoraW50ZXJmYWNlcyBzcGVjaWZpZWQgZm9yIGEgcGFydGljdWxhciBwcm9n cmFtbWluZyBsYW5ndWFnZSwgb25lIHRoYXQKK2lzIHdpZGVseSB1c2VkIGFt b25nIGRldmVsb3BlcnMgd29ya2luZyBpbiB0aGF0IGxhbmd1YWdlLgorCisg IFRoZSAiU3lzdGVtIExpYnJhcmllcyIgb2YgYW4gZXhlY3V0YWJsZSB3b3Jr IGluY2x1ZGUgYW55dGhpbmcsIG90aGVyCit0aGFuIHRoZSB3b3JrIGFzIGEg d2hvbGUsIHRoYXQgKGEpIGlzIGluY2x1ZGVkIGluIHRoZSBub3JtYWwgZm9y bSBvZgorcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2gg aXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgorQ29tcG9uZW50LCBhbmQgKGIp IHNlcnZlcyBvbmx5IHRvIGVuYWJsZSB1c2Ugb2YgdGhlIHdvcmsgd2l0aCB0 aGF0CitNYWpvciBDb21wb25lbnQsIG9yIHRvIGltcGxlbWVudCBhIFN0YW5k YXJkIEludGVyZmFjZSBmb3Igd2hpY2ggYW4KK2ltcGxlbWVudGF0aW9uIGlz IGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0u ICBBCisiTWFqb3IgQ29tcG9uZW50IiwgaW4gdGhpcyBjb250ZXh0LCBtZWFu cyBhIG1ham9yIGVzc2VudGlhbCBjb21wb25lbnQKKyhrZXJuZWwsIHdpbmRv dyBzeXN0ZW0sIGFuZCBzbyBvbikgb2YgdGhlIHNwZWNpZmljIG9wZXJhdGlu ZyBzeXN0ZW0KKyhpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdv cmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCitwcm9kdWNlIHRoZSB3 b3JrLCBvciBhbiBvYmplY3QgY29kZSBpbnRlcnByZXRlciB1c2VkIHRvIHJ1 biBpdC4KKworICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3 b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCit0aGUgc291cmNl IGNvZGUgbmVlZGVkIHRvIGdlbmVyYXRlLCBpbnN0YWxsLCBhbmQgKGZvciBh biBleGVjdXRhYmxlCit3b3JrKSBydW4gdGhlIG9iamVjdCBjb2RlIGFuZCB0 byBtb2RpZnkgdGhlIHdvcmssIGluY2x1ZGluZyBzY3JpcHRzIHRvCitjb250 cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBp bmNsdWRlIHRoZSB3b3JrJ3MKK1N5c3RlbSBMaWJyYXJpZXMsIG9yIGdlbmVy YWwtcHVycG9zZSB0b29scyBvciBnZW5lcmFsbHkgYXZhaWxhYmxlIGZyZWUK K3Byb2dyYW1zIHdoaWNoIGFyZSB1c2VkIHVubW9kaWZpZWQgaW4gcGVyZm9y bWluZyB0aG9zZSBhY3Rpdml0aWVzIGJ1dAord2hpY2ggYXJlIG5vdCBwYXJ0 IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291 cmNlCitpbmNsdWRlcyBpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcyBhc3Nv Y2lhdGVkIHdpdGggc291cmNlIGZpbGVzIGZvcgordGhlIHdvcmssIGFuZCB0 aGUgc291cmNlIGNvZGUgZm9yIHNoYXJlZCBsaWJyYXJpZXMgYW5kIGR5bmFt aWNhbGx5CitsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBz cGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKK3N1Y2ggYXMgYnkg aW50aW1hdGUgZGF0YSBjb21tdW5pY2F0aW9uIG9yIGNvbnRyb2wgZmxvdyBi ZXR3ZWVuIHRob3NlCitzdWJwcm9ncmFtcyBhbmQgb3RoZXIgcGFydHMgb2Yg dGhlIHdvcmsuCisKKyAgVGhlIENvcnJlc3BvbmRpbmcgU291cmNlIG5lZWQg bm90IGluY2x1ZGUgYW55dGhpbmcgdGhhdCB1c2VycworY2FuIHJlZ2VuZXJh dGUgYXV0b21hdGljYWxseSBmcm9tIG90aGVyIHBhcnRzIG9mIHRoZSBDb3Jy ZXNwb25kaW5nCitTb3VyY2UuCisKKyAgVGhlIENvcnJlc3BvbmRpbmcgU291 cmNlIGZvciBhIHdvcmsgaW4gc291cmNlIGNvZGUgZm9ybSBpcyB0aGF0Citz YW1lIHdvcmsuCisKKyAgMi4gQmFzaWMgUGVybWlzc2lvbnMuCisKKyAgQWxs IHJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSBhcmUgZ3JhbnRl ZCBmb3IgdGhlIHRlcm0gb2YKK2NvcHlyaWdodCBvbiB0aGUgUHJvZ3JhbSwg YW5kIGFyZSBpcnJldm9jYWJsZSBwcm92aWRlZCB0aGUgc3RhdGVkCitjb25k aXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZp cm1zIHlvdXIgdW5saW1pdGVkCitwZXJtaXNzaW9uIHRvIHJ1biB0aGUgdW5t b2RpZmllZCBQcm9ncmFtLiAgVGhlIG91dHB1dCBmcm9tIHJ1bm5pbmcgYQor Y292ZXJlZCB3b3JrIGlzIGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlIG9ubHkg aWYgdGhlIG91dHB1dCwgZ2l2ZW4gaXRzCitjb250ZW50LCBjb25zdGl0dXRl cyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMg eW91cgorcmlnaHRzIG9mIGZhaXIgdXNlIG9yIG90aGVyIGVxdWl2YWxlbnQs IGFzIHByb3ZpZGVkIGJ5IGNvcHlyaWdodCBsYXcuCisKKyAgWW91IG1heSBt YWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91 IGRvIG5vdAorY29udmV5LCB3aXRob3V0IGNvbmRpdGlvbnMgc28gbG9uZyBh cyB5b3VyIGxpY2Vuc2Ugb3RoZXJ3aXNlIHJlbWFpbnMKK2luIGZvcmNlLiAg WW91IG1heSBjb252ZXkgY292ZXJlZCB3b3JrcyB0byBvdGhlcnMgZm9yIHRo ZSBzb2xlIHB1cnBvc2UKK29mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0 aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQord2l0 aCBmYWNpbGl0aWVzIGZvciBydW5uaW5nIHRob3NlIHdvcmtzLCBwcm92aWRl ZCB0aGF0IHlvdSBjb21wbHkgd2l0aAordGhlIHRlcm1zIG9mIHRoaXMgTGlj ZW5zZSBpbiBjb252ZXlpbmcgYWxsIG1hdGVyaWFsIGZvciB3aGljaCB5b3Ug ZG8KK25vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5n IG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKK2ZvciB5b3UgbXVzdCBk byBzbyBleGNsdXNpdmVseSBvbiB5b3VyIGJlaGFsZiwgdW5kZXIgeW91ciBk aXJlY3Rpb24KK2FuZCBjb250cm9sLCBvbiB0ZXJtcyB0aGF0IHByb2hpYml0 IHRoZW0gZnJvbSBtYWtpbmcgYW55IGNvcGllcyBvZgoreW91ciBjb3B5cmln aHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRo IHlvdS4KKworICBDb252ZXlpbmcgdW5kZXIgYW55IG90aGVyIGNpcmN1bXN0 YW5jZXMgaXMgcGVybWl0dGVkIHNvbGVseSB1bmRlcgordGhlIGNvbmRpdGlv bnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2Vk OyBzZWN0aW9uIDEwCittYWtlcyBpdCB1bm5lY2Vzc2FyeS4KKworICAzLiBQ cm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1 bXZlbnRpb24gTGF3LgorCisgIE5vIGNvdmVyZWQgd29yayBzaGFsbCBiZSBk ZWVtZWQgcGFydCBvZiBhbiBlZmZlY3RpdmUgdGVjaG5vbG9naWNhbAorbWVh c3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxp Z2F0aW9ucyB1bmRlciBhcnRpY2xlCisxMSBvZiB0aGUgV0lQTyBjb3B5cmln aHQgdHJlYXR5IGFkb3B0ZWQgb24gMjAgRGVjZW1iZXIgMTk5Niwgb3IKK3Np bWlsYXIgbGF3cyBwcm9oaWJpdGluZyBvciByZXN0cmljdGluZyBjaXJjdW12 ZW50aW9uIG9mIHN1Y2gKK21lYXN1cmVzLgorCisgIFdoZW4geW91IGNvbnZl eSBhIGNvdmVyZWQgd29yaywgeW91IHdhaXZlIGFueSBsZWdhbCBwb3dlciB0 byBmb3JiaWQKK2NpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFz dXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgoraXMgZWZm ZWN0ZWQgYnkgZXhlcmNpc2luZyByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNl IHdpdGggcmVzcGVjdCB0bwordGhlIGNvdmVyZWQgd29yaywgYW5kIHlvdSBk aXNjbGFpbSBhbnkgaW50ZW50aW9uIHRvIGxpbWl0IG9wZXJhdGlvbiBvcgor bW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3Jj aW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKK3VzZXJzLCB5b3VyIG9yIHRoaXJk IHBhcnRpZXMnIGxlZ2FsIHJpZ2h0cyB0byBmb3JiaWQgY2lyY3VtdmVudGlv biBvZgordGVjaG5vbG9naWNhbCBtZWFzdXJlcy4KKworICA0LiBDb252ZXlp bmcgVmVyYmF0aW0gQ29waWVzLgorCisgIFlvdSBtYXkgY29udmV5IHZlcmJh dGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlv dQorcmVjZWl2ZSBpdCwgaW4gYW55IG1lZGl1bSwgcHJvdmlkZWQgdGhhdCB5 b3UgY29uc3BpY3VvdXNseSBhbmQKK2FwcHJvcHJpYXRlbHkgcHVibGlzaCBv biBlYWNoIGNvcHkgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZTsK K2tlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExp Y2Vuc2UgYW5kIGFueQorbm9uLXBlcm1pc3NpdmUgdGVybXMgYWRkZWQgaW4g YWNjb3JkIHdpdGggc2VjdGlvbiA3IGFwcGx5IHRvIHRoZSBjb2RlOwora2Vl cCBpbnRhY3QgYWxsIG5vdGljZXMgb2YgdGhlIGFic2VuY2Ugb2YgYW55IHdh cnJhbnR5OyBhbmQgZ2l2ZSBhbGwKK3JlY2lwaWVudHMgYSBjb3B5IG9mIHRo aXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgorCisgIFlvdSBt YXkgY2hhcmdlIGFueSBwcmljZSBvciBubyBwcmljZSBmb3IgZWFjaCBjb3B5 IHRoYXQgeW91IGNvbnZleSwKK2FuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQg b3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCisKKyAgNS4gQ29u dmV5aW5nIE1vZGlmaWVkIFNvdXJjZSBWZXJzaW9ucy4KKworICBZb3UgbWF5 IGNvbnZleSBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0sIG9yIHRoZSBt b2RpZmljYXRpb25zIHRvCitwcm9kdWNlIGl0IGZyb20gdGhlIFByb2dyYW0s IGluIHRoZSBmb3JtIG9mIHNvdXJjZSBjb2RlIHVuZGVyIHRoZQordGVybXMg b2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxs IG9mIHRoZXNlIGNvbmRpdGlvbnM6CisKKyAgICBhKSBUaGUgd29yayBtdXN0 IGNhcnJ5IHByb21pbmVudCBub3RpY2VzIHN0YXRpbmcgdGhhdCB5b3UgbW9k aWZpZWQKKyAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCisK KyAgICBiKSBUaGUgd29yayBtdXN0IGNhcnJ5IHByb21pbmVudCBub3RpY2Vz IHN0YXRpbmcgdGhhdCBpdCBpcworICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMg TGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlv bgorICAgIDcuICBUaGlzIHJlcXVpcmVtZW50IG1vZGlmaWVzIHRoZSByZXF1 aXJlbWVudCBpbiBzZWN0aW9uIDQgdG8KKyAgICAia2VlcCBpbnRhY3QgYWxs IG5vdGljZXMiLgorCisgICAgYykgWW91IG11c3QgbGljZW5zZSB0aGUgZW50 aXJlIHdvcmssIGFzIGEgd2hvbGUsIHVuZGVyIHRoaXMKKyAgICBMaWNlbnNl IHRvIGFueW9uZSB3aG8gY29tZXMgaW50byBwb3NzZXNzaW9uIG9mIGEgY29w eS4gIFRoaXMKKyAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBh bG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNworICAgIGFkZGl0 aW9uYWwgdGVybXMsIHRvIHRoZSB3aG9sZSBvZiB0aGUgd29yaywgYW5kIGFs bCBpdHMgcGFydHMsCisgICAgcmVnYXJkbGVzcyBvZiBob3cgdGhleSBhcmUg cGFja2FnZWQuICBUaGlzIExpY2Vuc2UgZ2l2ZXMgbm8KKyAgICBwZXJtaXNz aW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0 IGl0IGRvZXMgbm90CisgICAgaW52YWxpZGF0ZSBzdWNoIHBlcm1pc3Npb24g aWYgeW91IGhhdmUgc2VwYXJhdGVseSByZWNlaXZlZCBpdC4KKworICAgIGQp IElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMs IGVhY2ggbXVzdCBkaXNwbGF5CisgICAgQXBwcm9wcmlhdGUgTGVnYWwgTm90 aWNlczsgaG93ZXZlciwgaWYgdGhlIFByb2dyYW0gaGFzIGludGVyYWN0aXZl CisgICAgaW50ZXJmYWNlcyB0aGF0IGRvIG5vdCBkaXNwbGF5IEFwcHJvcHJp YXRlIExlZ2FsIE5vdGljZXMsIHlvdXIKKyAgICB3b3JrIG5lZWQgbm90IG1h a2UgdGhlbSBkbyBzby4KKworICBBIGNvbXBpbGF0aW9uIG9mIGEgY292ZXJl ZCB3b3JrIHdpdGggb3RoZXIgc2VwYXJhdGUgYW5kIGluZGVwZW5kZW50Cit3 b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9u cyBvZiB0aGUgY292ZXJlZCB3b3JrLAorYW5kIHdoaWNoIGFyZSBub3QgY29t YmluZWQgd2l0aCBpdCBzdWNoIGFzIHRvIGZvcm0gYSBsYXJnZXIgcHJvZ3Jh bSwKK2luIG9yIG9uIGEgdm9sdW1lIG9mIGEgc3RvcmFnZSBvciBkaXN0cmli dXRpb24gbWVkaXVtLCBpcyBjYWxsZWQgYW4KKyJhZ2dyZWdhdGUiIGlmIHRo ZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJl IG5vdAordXNlZCB0byBsaW1pdCB0aGUgYWNjZXNzIG9yIGxlZ2FsIHJpZ2h0 cyBvZiB0aGUgY29tcGlsYXRpb24ncyB1c2VycworYmV5b25kIHdoYXQgdGhl IGluZGl2aWR1YWwgd29ya3MgcGVybWl0LiAgSW5jbHVzaW9uIG9mIGEgY292 ZXJlZCB3b3JrCitpbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhp cyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgorcGFydHMgb2YgdGhl IGFnZ3JlZ2F0ZS4KKworICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jt cy4KKworICBZb3UgbWF5IGNvbnZleSBhIGNvdmVyZWQgd29yayBpbiBvYmpl Y3QgY29kZSBmb3JtIHVuZGVyIHRoZSB0ZXJtcworb2Ygc2VjdGlvbnMgNCBh bmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCittYWNo aW5lLXJlYWRhYmxlIENvcnJlc3BvbmRpbmcgU291cmNlIHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGlzIExpY2Vuc2UsCitpbiBvbmUgb2YgdGhlc2Ugd2F5czoK KworICAgIGEpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9k aWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKKyAgICAoaW5jbHVkaW5nIGEg cGh5c2ljYWwgZGlzdHJpYnV0aW9uIG1lZGl1bSksIGFjY29tcGFuaWVkIGJ5 IHRoZQorICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVy YWJsZSBwaHlzaWNhbCBtZWRpdW0KKyAgICBjdXN0b21hcmlseSB1c2VkIGZv ciBzb2Z0d2FyZSBpbnRlcmNoYW5nZS4KKworICAgIGIpIENvbnZleSB0aGUg b2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHBy b2R1Y3QKKyAgICAoaW5jbHVkaW5nIGEgcGh5c2ljYWwgZGlzdHJpYnV0aW9u IG1lZGl1bSksIGFjY29tcGFuaWVkIGJ5IGEKKyAgICB3cml0dGVuIG9mZmVy LCB2YWxpZCBmb3IgYXQgbGVhc3QgdGhyZWUgeWVhcnMgYW5kIHZhbGlkIGZv ciBhcworICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1 c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAorICAgIG1vZGVsLCB0 byBnaXZlIGFueW9uZSB3aG8gcG9zc2Vzc2VzIHRoZSBvYmplY3QgY29kZSBl aXRoZXIgKDEpIGEKKyAgICBjb3B5IG9mIHRoZSBDb3JyZXNwb25kaW5nIFNv dXJjZSBmb3IgYWxsIHRoZSBzb2Z0d2FyZSBpbiB0aGUKKyAgICBwcm9kdWN0 IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJs ZSBwaHlzaWNhbAorICAgIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBz b2Z0d2FyZSBpbnRlcmNoYW5nZSwgZm9yIGEgcHJpY2Ugbm8KKyAgICBtb3Jl IHRoYW4geW91ciByZWFzb25hYmxlIGNvc3Qgb2YgcGh5c2ljYWxseSBwZXJm b3JtaW5nIHRoaXMKKyAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikg YWNjZXNzIHRvIGNvcHkgdGhlCisgICAgQ29ycmVzcG9uZGluZyBTb3VyY2Ug ZnJvbSBhIG5ldHdvcmsgc2VydmVyIGF0IG5vIGNoYXJnZS4KKworICAgIGMp IENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUg d2l0aCBhIGNvcHkgb2YgdGhlCisgICAgd3JpdHRlbiBvZmZlciB0byBwcm92 aWRlIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZS4gIFRoaXMKKyAgICBhbHRl cm5hdGl2ZSBpcyBhbGxvd2VkIG9ubHkgb2NjYXNpb25hbGx5IGFuZCBub25j b21tZXJjaWFsbHksIGFuZAorICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRo ZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAor ICAgIHdpdGggc3Vic2VjdGlvbiA2Yi4KKworICAgIGQpIENvbnZleSB0aGUg b2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25h dGVkCisgICAgcGxhY2UgKGdyYXRpcyBvciBmb3IgYSBjaGFyZ2UpLCBhbmQg b2ZmZXIgZXF1aXZhbGVudCBhY2Nlc3MgdG8gdGhlCisgICAgQ29ycmVzcG9u ZGluZyBTb3VyY2UgaW4gdGhlIHNhbWUgd2F5IHRocm91Z2ggdGhlIHNhbWUg cGxhY2UgYXQgbm8KKyAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5v dCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKKyAgICBDb3JyZXNw b25kaW5nIFNvdXJjZSBhbG9uZyB3aXRoIHRoZSBvYmplY3QgY29kZS4gIElm IHRoZSBwbGFjZSB0bworICAgIGNvcHkgdGhlIG9iamVjdCBjb2RlIGlzIGEg bmV0d29yayBzZXJ2ZXIsIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZQorICAg IG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlv dSBvciBhIHRoaXJkIHBhcnR5KQorICAgIHRoYXQgc3VwcG9ydHMgZXF1aXZh bGVudCBjb3B5aW5nIGZhY2lsaXRpZXMsIHByb3ZpZGVkIHlvdSBtYWludGFp bgorICAgIGNsZWFyIGRpcmVjdGlvbnMgbmV4dCB0byB0aGUgb2JqZWN0IGNv ZGUgc2F5aW5nIHdoZXJlIHRvIGZpbmQgdGhlCisgICAgQ29ycmVzcG9uZGlu ZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRo ZQorICAgIENvcnJlc3BvbmRpbmcgU291cmNlLCB5b3UgcmVtYWluIG9ibGln YXRlZCB0byBlbnN1cmUgdGhhdCBpdCBpcworICAgIGF2YWlsYWJsZSBmb3Ig YXMgbG9uZyBhcyBuZWVkZWQgdG8gc2F0aXNmeSB0aGVzZSByZXF1aXJlbWVu dHMuCisKKyAgICBlKSBDb252ZXkgdGhlIG9iamVjdCBjb2RlIHVzaW5nIHBl ZXItdG8tcGVlciB0cmFuc21pc3Npb24sIHByb3ZpZGVkCisgICAgeW91IGlu Zm9ybSBvdGhlciBwZWVycyB3aGVyZSB0aGUgb2JqZWN0IGNvZGUgYW5kIENv cnJlc3BvbmRpbmcKKyAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5n IG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCisgICAgY2hh cmdlIHVuZGVyIHN1YnNlY3Rpb24gNmQuCisKKyAgQSBzZXBhcmFibGUgcG9y dGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlz IGV4Y2x1ZGVkCitmcm9tIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBhcyBh IFN5c3RlbSBMaWJyYXJ5LCBuZWVkIG5vdCBiZQoraW5jbHVkZWQgaW4gY29u dmV5aW5nIHRoZSBvYmplY3QgY29kZSB3b3JrLgorCisgIEEgIlVzZXIgUHJv ZHVjdCIgaXMgZWl0aGVyICgxKSBhICJjb25zdW1lciBwcm9kdWN0Iiwgd2hp Y2ggbWVhbnMgYW55Cit0YW5naWJsZSBwZXJzb25hbCBwcm9wZXJ0eSB3aGlj aCBpcyBub3JtYWxseSB1c2VkIGZvciBwZXJzb25hbCwgZmFtaWx5LAorb3Ig aG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQg b3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgoraW50byBhIGR3ZWxsaW5nLiAg SW4gZGV0ZXJtaW5pbmcgd2hldGhlciBhIHByb2R1Y3QgaXMgYSBjb25zdW1l ciBwcm9kdWN0LAorZG91YnRmdWwgY2FzZXMgc2hhbGwgYmUgcmVzb2x2ZWQg aW4gZmF2b3Igb2YgY292ZXJhZ2UuICBGb3IgYSBwYXJ0aWN1bGFyCitwcm9k dWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkg dXNlZCIgcmVmZXJzIHRvIGEKK3R5cGljYWwgb3IgY29tbW9uIHVzZSBvZiB0 aGF0IGNsYXNzIG9mIHByb2R1Y3QsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN0YXR1 cworb2YgdGhlIHBhcnRpY3VsYXIgdXNlciBvciBvZiB0aGUgd2F5IGluIHdo aWNoIHRoZSBwYXJ0aWN1bGFyIHVzZXIKK2FjdHVhbGx5IHVzZXMsIG9yIGV4 cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEg cHJvZHVjdAoraXMgYSBjb25zdW1lciBwcm9kdWN0IHJlZ2FyZGxlc3Mgb2Yg d2hldGhlciB0aGUgcHJvZHVjdCBoYXMgc3Vic3RhbnRpYWwKK2NvbW1lcmNp YWwsIGluZHVzdHJpYWwgb3Igbm9uLWNvbnN1bWVyIHVzZXMsIHVubGVzcyBz dWNoIHVzZXMgcmVwcmVzZW50Cit0aGUgb25seSBzaWduaWZpY2FudCBtb2Rl IG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KKworICAiSW5zdGFsbGF0aW9uIElu Zm9ybWF0aW9uIiBmb3IgYSBVc2VyIFByb2R1Y3QgbWVhbnMgYW55IG1ldGhv ZHMsCitwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVy IGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKK2FuZCBleGVjdXRl IG1vZGlmaWVkIHZlcnNpb25zIG9mIGEgY292ZXJlZCB3b3JrIGluIHRoYXQg VXNlciBQcm9kdWN0IGZyb20KK2EgbW9kaWZpZWQgdmVyc2lvbiBvZiBpdHMg Q29ycmVzcG9uZGluZyBTb3VyY2UuICBUaGUgaW5mb3JtYXRpb24gbXVzdAor c3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9u aW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKK2NvZGUgaXMgaW4gbm8gY2Fz ZSBwcmV2ZW50ZWQgb3IgaW50ZXJmZXJlZCB3aXRoIHNvbGVseSBiZWNhdXNl Cittb2RpZmljYXRpb24gaGFzIGJlZW4gbWFkZS4KKworICBJZiB5b3UgY29u dmV5IGFuIG9iamVjdCBjb2RlIHdvcmsgdW5kZXIgdGhpcyBzZWN0aW9uIGlu LCBvciB3aXRoLCBvcgorc3BlY2lmaWNhbGx5IGZvciB1c2UgaW4sIGEgVXNl ciBQcm9kdWN0LCBhbmQgdGhlIGNvbnZleWluZyBvY2N1cnMgYXMKK3BhcnQg b2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vz c2lvbiBhbmQgdXNlIG9mIHRoZQorVXNlciBQcm9kdWN0IGlzIHRyYW5zZmVy cmVkIHRvIHRoZSByZWNpcGllbnQgaW4gcGVycGV0dWl0eSBvciBmb3IgYQor Zml4ZWQgdGVybSAocmVnYXJkbGVzcyBvZiBob3cgdGhlIHRyYW5zYWN0aW9u IGlzIGNoYXJhY3Rlcml6ZWQpLCB0aGUKK0NvcnJlc3BvbmRpbmcgU291cmNl IGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFu aWVkCitieSB0aGUgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uLiAgQnV0IHRo aXMgcmVxdWlyZW1lbnQgZG9lcyBub3QgYXBwbHkKK2lmIG5laXRoZXIgeW91 IG5vciBhbnkgdGhpcmQgcGFydHkgcmV0YWlucyB0aGUgYWJpbGl0eSB0byBp bnN0YWxsCittb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9k dWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCitiZWVuIGluc3RhbGxl ZCBpbiBST00pLgorCisgIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIElu c3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKK3Jl cXVpcmVtZW50IHRvIGNvbnRpbnVlIHRvIHByb3ZpZGUgc3VwcG9ydCBzZXJ2 aWNlLCB3YXJyYW50eSwgb3IgdXBkYXRlcworZm9yIGEgd29yayB0aGF0IGhh cyBiZWVuIG1vZGlmaWVkIG9yIGluc3RhbGxlZCBieSB0aGUgcmVjaXBpZW50 LCBvciBmb3IKK3RoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJl ZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKK25ldHdv cmsgbWF5IGJlIGRlbmllZCB3aGVuIHRoZSBtb2RpZmljYXRpb24gaXRzZWxm IG1hdGVyaWFsbHkgYW5kCithZHZlcnNlbHkgYWZmZWN0cyB0aGUgb3BlcmF0 aW9uIG9mIHRoZSBuZXR3b3JrIG9yIHZpb2xhdGVzIHRoZSBydWxlcyBhbmQK K3Byb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdv cmsuCisKKyAgQ29ycmVzcG9uZGluZyBTb3VyY2UgY29udmV5ZWQsIGFuZCBJ bnN0YWxsYXRpb24gSW5mb3JtYXRpb24gcHJvdmlkZWQsCitpbiBhY2NvcmQg d2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlz IHB1YmxpY2x5Citkb2N1bWVudGVkIChhbmQgd2l0aCBhbiBpbXBsZW1lbnRh dGlvbiBhdmFpbGFibGUgdG8gdGhlIHB1YmxpYyBpbgorc291cmNlIGNvZGUg Zm9ybSksIGFuZCBtdXN0IHJlcXVpcmUgbm8gc3BlY2lhbCBwYXNzd29yZCBv ciBrZXkgZm9yCit1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KKwor ICA3LiBBZGRpdGlvbmFsIFRlcm1zLgorCisgICJBZGRpdGlvbmFsIHBlcm1p c3Npb25zIiBhcmUgdGVybXMgdGhhdCBzdXBwbGVtZW50IHRoZSB0ZXJtcyBv ZiB0aGlzCitMaWNlbnNlIGJ5IG1ha2luZyBleGNlcHRpb25zIGZyb20gb25l IG9yIG1vcmUgb2YgaXRzIGNvbmRpdGlvbnMuCitBZGRpdGlvbmFsIHBlcm1p c3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9n cmFtIHNoYWxsCitiZSB0cmVhdGVkIGFzIHRob3VnaCB0aGV5IHdlcmUgaW5j bHVkZWQgaW4gdGhpcyBMaWNlbnNlLCB0byB0aGUgZXh0ZW50Cit0aGF0IHRo ZXkgYXJlIHZhbGlkIHVuZGVyIGFwcGxpY2FibGUgbGF3LiAgSWYgYWRkaXRp b25hbCBwZXJtaXNzaW9ucworYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQ cm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQordW5k ZXIgdGhvc2UgcGVybWlzc2lvbnMsIGJ1dCB0aGUgZW50aXJlIFByb2dyYW0g cmVtYWlucyBnb3Zlcm5lZCBieQordGhpcyBMaWNlbnNlIHdpdGhvdXQgcmVn YXJkIHRvIHRoZSBhZGRpdGlvbmFsIHBlcm1pc3Npb25zLgorCisgIFdoZW4g eW91IGNvbnZleSBhIGNvcHkgb2YgYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkg YXQgeW91ciBvcHRpb24KK3JlbW92ZSBhbnkgYWRkaXRpb25hbCBwZXJtaXNz aW9ucyBmcm9tIHRoYXQgY29weSwgb3IgZnJvbSBhbnkgcGFydCBvZgoraXQu ICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byBy ZXF1aXJlIHRoZWlyIG93bgorcmVtb3ZhbCBpbiBjZXJ0YWluIGNhc2VzIHdo ZW4geW91IG1vZGlmeSB0aGUgd29yay4pICBZb3UgbWF5IHBsYWNlCithZGRp dGlvbmFsIHBlcm1pc3Npb25zIG9uIG1hdGVyaWFsLCBhZGRlZCBieSB5b3Ug dG8gYSBjb3ZlcmVkIHdvcmssCitmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2Fu IGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCisKKyAg Tm90d2l0aHN0YW5kaW5nIGFueSBvdGhlciBwcm92aXNpb24gb2YgdGhpcyBM aWNlbnNlLCBmb3IgbWF0ZXJpYWwgeW91CithZGQgdG8gYSBjb3ZlcmVkIHdv cmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBo b2xkZXJzIG9mCit0aGF0IG1hdGVyaWFsKSBzdXBwbGVtZW50IHRoZSB0ZXJt cyBvZiB0aGlzIExpY2Vuc2Ugd2l0aCB0ZXJtczoKKworICAgIGEpIERpc2Ns YWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJl bnRseSBmcm9tIHRoZQorICAgIHRlcm1zIG9mIHNlY3Rpb25zIDE1IGFuZCAx NiBvZiB0aGlzIExpY2Vuc2U7IG9yCisKKyAgICBiKSBSZXF1aXJpbmcgcHJl c2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGlj ZXMgb3IKKyAgICBhdXRob3IgYXR0cmlidXRpb25zIGluIHRoYXQgbWF0ZXJp YWwgb3IgaW4gdGhlIEFwcHJvcHJpYXRlIExlZ2FsCisgICAgTm90aWNlcyBk aXNwbGF5ZWQgYnkgd29ya3MgY29udGFpbmluZyBpdDsgb3IKKworICAgIGMp IFByb2hpYml0aW5nIG1pc3JlcHJlc2VudGF0aW9uIG9mIHRoZSBvcmlnaW4g b2YgdGhhdCBtYXRlcmlhbCwgb3IKKyAgICByZXF1aXJpbmcgdGhhdCBtb2Rp ZmllZCB2ZXJzaW9ucyBvZiBzdWNoIG1hdGVyaWFsIGJlIG1hcmtlZCBpbgor ICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3Jp Z2luYWwgdmVyc2lvbjsgb3IKKworICAgIGQpIExpbWl0aW5nIHRoZSB1c2Ug Zm9yIHB1YmxpY2l0eSBwdXJwb3NlcyBvZiBuYW1lcyBvZiBsaWNlbnNvcnMg b3IKKyAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKKworICAgIGUp IERlY2xpbmluZyB0byBncmFudCByaWdodHMgdW5kZXIgdHJhZGVtYXJrIGxh dyBmb3IgdXNlIG9mIHNvbWUKKyAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJr cywgb3Igc2VydmljZSBtYXJrczsgb3IKKworICAgIGYpIFJlcXVpcmluZyBp bmRlbW5pZmljYXRpb24gb2YgbGljZW5zb3JzIGFuZCBhdXRob3JzIG9mIHRo YXQKKyAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1h dGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgorICAgIGl0KSB3aXRo IGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIG9mIGxpYWJpbGl0eSB0byB0aGUg cmVjaXBpZW50LCBmb3IKKyAgICBhbnkgbGlhYmlsaXR5IHRoYXQgdGhlc2Ug Y29udHJhY3R1YWwgYXNzdW1wdGlvbnMgZGlyZWN0bHkgaW1wb3NlIG9uCisg ICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgorCisgIEFsbCBvdGhl ciBub24tcGVybWlzc2l2ZSBhZGRpdGlvbmFsIHRlcm1zIGFyZSBjb25zaWRl cmVkICJmdXJ0aGVyCityZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmlu ZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CityZWNl aXZlZCBpdCwgb3IgYW55IHBhcnQgb2YgaXQsIGNvbnRhaW5zIGEgbm90aWNl IHN0YXRpbmcgdGhhdCBpdCBpcworZ292ZXJuZWQgYnkgdGhpcyBMaWNlbnNl IGFsb25nIHdpdGggYSB0ZXJtIHRoYXQgaXMgYSBmdXJ0aGVyCityZXN0cmlj dGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNl IGRvY3VtZW50IGNvbnRhaW5zCithIGZ1cnRoZXIgcmVzdHJpY3Rpb24gYnV0 IHBlcm1pdHMgcmVsaWNlbnNpbmcgb3IgY29udmV5aW5nIHVuZGVyIHRoaXMK K0xpY2Vuc2UsIHlvdSBtYXkgYWRkIHRvIGEgY292ZXJlZCB3b3JrIG1hdGVy aWFsIGdvdmVybmVkIGJ5IHRoZSB0ZXJtcworb2YgdGhhdCBsaWNlbnNlIGRv Y3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9u IGRvZXMKK25vdCBzdXJ2aXZlIHN1Y2ggcmVsaWNlbnNpbmcgb3IgY29udmV5 aW5nLgorCisgIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsg aW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKK211c3QgcGxhY2Us IGluIHRoZSByZWxldmFudCBzb3VyY2UgZmlsZXMsIGEgc3RhdGVtZW50IG9m IHRoZQorYWRkaXRpb25hbCB0ZXJtcyB0aGF0IGFwcGx5IHRvIHRob3NlIGZp bGVzLCBvciBhIG5vdGljZSBpbmRpY2F0aW5nCit3aGVyZSB0byBmaW5kIHRo ZSBhcHBsaWNhYmxlIHRlcm1zLgorCisgIEFkZGl0aW9uYWwgdGVybXMsIHBl cm1pc3NpdmUgb3Igbm9uLXBlcm1pc3NpdmUsIG1heSBiZSBzdGF0ZWQgaW4g dGhlCitmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9y IHN0YXRlZCBhcyBleGNlcHRpb25zOwordGhlIGFib3ZlIHJlcXVpcmVtZW50 cyBhcHBseSBlaXRoZXIgd2F5LgorCisgIDguIFRlcm1pbmF0aW9uLgorCisg IFlvdSBtYXkgbm90IHByb3BhZ2F0ZSBvciBtb2RpZnkgYSBjb3ZlcmVkIHdv cmsgZXhjZXB0IGFzIGV4cHJlc3NseQorcHJvdmlkZWQgdW5kZXIgdGhpcyBM aWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBv cgorbW9kaWZ5IGl0IGlzIHZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkg dGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyCit0aGlzIExpY2Vuc2UgKGlu Y2x1ZGluZyBhbnkgcGF0ZW50IGxpY2Vuc2VzIGdyYW50ZWQgdW5kZXIgdGhl IHRoaXJkCitwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCisKKyAgSG93ZXZl ciwgaWYgeW91IGNlYXNlIGFsbCB2aW9sYXRpb24gb2YgdGhpcyBMaWNlbnNl LCB0aGVuIHlvdXIKK2xpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJp Z2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQorcHJvdmlzaW9uYWxseSwg dW5sZXNzIGFuZCB1bnRpbCB0aGUgY29weXJpZ2h0IGhvbGRlciBleHBsaWNp dGx5IGFuZAorZmluYWxseSB0ZXJtaW5hdGVzIHlvdXIgbGljZW5zZSwgYW5k IChiKSBwZXJtYW5lbnRseSwgaWYgdGhlIGNvcHlyaWdodAoraG9sZGVyIGZh aWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJl YXNvbmFibGUgbWVhbnMKK3ByaW9yIHRvIDYwIGRheXMgYWZ0ZXIgdGhlIGNl c3NhdGlvbi4KKworICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBw YXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKK3JlaW5zdGF0ZWQgcGVy bWFuZW50bHkgaWYgdGhlIGNvcHlyaWdodCBob2xkZXIgbm90aWZpZXMgeW91 IG9mIHRoZQordmlvbGF0aW9uIGJ5IHNvbWUgcmVhc29uYWJsZSBtZWFucywg dGhpcyBpcyB0aGUgZmlyc3QgdGltZSB5b3UgaGF2ZQorcmVjZWl2ZWQgbm90 aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29y aykgZnJvbSB0aGF0Citjb3B5cmlnaHQgaG9sZGVyLCBhbmQgeW91IGN1cmUg dGhlIHZpb2xhdGlvbiBwcmlvciB0byAzMCBkYXlzIGFmdGVyCit5b3VyIHJl Y2VpcHQgb2YgdGhlIG5vdGljZS4KKworICBUZXJtaW5hdGlvbiBvZiB5b3Vy IHJpZ2h0cyB1bmRlciB0aGlzIHNlY3Rpb24gZG9lcyBub3QgdGVybWluYXRl IHRoZQorbGljZW5zZXMgb2YgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBj b3BpZXMgb3IgcmlnaHRzIGZyb20geW91IHVuZGVyCit0aGlzIExpY2Vuc2Uu ICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90 IHBlcm1hbmVudGx5CityZWluc3RhdGVkLCB5b3UgZG8gbm90IHF1YWxpZnkg dG8gcmVjZWl2ZSBuZXcgbGljZW5zZXMgZm9yIHRoZSBzYW1lCittYXRlcmlh bCB1bmRlciBzZWN0aW9uIDEwLgorCisgIDkuIEFjY2VwdGFuY2UgTm90IFJl cXVpcmVkIGZvciBIYXZpbmcgQ29waWVzLgorCisgIFlvdSBhcmUgbm90IHJl cXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVj ZWl2ZSBvcgorcnVuIGEgY29weSBvZiB0aGUgUHJvZ3JhbS4gIEFuY2lsbGFy eSBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQgd29yaworb2NjdXJyaW5nIHNv bGVseSBhcyBhIGNvbnNlcXVlbmNlIG9mIHVzaW5nIHBlZXItdG8tcGVlciB0 cmFuc21pc3Npb24KK3RvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMg bm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCitub3RoaW5nIG90 aGVyIHRoYW4gdGhpcyBMaWNlbnNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0 byBwcm9wYWdhdGUgb3IKK21vZGlmeSBhbnkgY292ZXJlZCB3b3JrLiAgVGhl c2UgYWN0aW9ucyBpbmZyaW5nZSBjb3B5cmlnaHQgaWYgeW91IGRvCitub3Qg YWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5n IG9yIHByb3BhZ2F0aW5nIGEKK2NvdmVyZWQgd29yaywgeW91IGluZGljYXRl IHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlzIExpY2Vuc2UgdG8gZG8gc28uCisK KyAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNp cGllbnRzLgorCisgIEVhY2ggdGltZSB5b3UgY29udmV5IGEgY292ZXJlZCB3 b3JrLCB0aGUgcmVjaXBpZW50IGF1dG9tYXRpY2FsbHkKK3JlY2VpdmVzIGEg bGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwg bW9kaWZ5IGFuZAorcHJvcGFnYXRlIHRoYXQgd29yaywgc3ViamVjdCB0byB0 aGlzIExpY2Vuc2UuICBZb3UgYXJlIG5vdCByZXNwb25zaWJsZQorZm9yIGVu Zm9yY2luZyBjb21wbGlhbmNlIGJ5IHRoaXJkIHBhcnRpZXMgd2l0aCB0aGlz IExpY2Vuc2UuCisKKyAgQW4gImVudGl0eSB0cmFuc2FjdGlvbiIgaXMgYSB0 cmFuc2FjdGlvbiB0cmFuc2ZlcnJpbmcgY29udHJvbCBvZiBhbgorb3JnYW5p emF0aW9uLCBvciBzdWJzdGFudGlhbGx5IGFsbCBhc3NldHMgb2Ygb25lLCBv ciBzdWJkaXZpZGluZyBhbgorb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9y Z2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKK3dv cmsgcmVzdWx0cyBmcm9tIGFuIGVudGl0eSB0cmFuc2FjdGlvbiwgZWFjaCBw YXJ0eSB0byB0aGF0Cit0cmFuc2FjdGlvbiB3aG8gcmVjZWl2ZXMgYSBjb3B5 IG9mIHRoZSB3b3JrIGFsc28gcmVjZWl2ZXMgd2hhdGV2ZXIKK2xpY2Vuc2Vz IHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVy ZXN0IGhhZCBvciBjb3VsZAorZ2l2ZSB1bmRlciB0aGUgcHJldmlvdXMgcGFy YWdyYXBoLCBwbHVzIGEgcmlnaHQgdG8gcG9zc2Vzc2lvbiBvZiB0aGUKK0Nv cnJlc3BvbmRpbmcgU291cmNlIG9mIHRoZSB3b3JrIGZyb20gdGhlIHByZWRl Y2Vzc29yIGluIGludGVyZXN0LCBpZgordGhlIHByZWRlY2Vzc29yIGhhcyBp dCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgorCisg IFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlciByZXN0cmljdGlvbnMg b24gdGhlIGV4ZXJjaXNlIG9mIHRoZQorcmlnaHRzIGdyYW50ZWQgb3IgYWZm aXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBt YXkKK25vdCBpbXBvc2UgYSBsaWNlbnNlIGZlZSwgcm95YWx0eSwgb3Igb3Ro ZXIgY2hhcmdlIGZvciBleGVyY2lzZSBvZgorcmlnaHRzIGdyYW50ZWQgdW5k ZXIgdGhpcyBMaWNlbnNlLCBhbmQgeW91IG1heSBub3QgaW5pdGlhdGUgbGl0 aWdhdGlvbgorKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJj bGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKK2FueSBwYXRlbnQg Y2xhaW0gaXMgaW5mcmluZ2VkIGJ5IG1ha2luZywgdXNpbmcsIHNlbGxpbmcs IG9mZmVyaW5nIGZvcgorc2FsZSwgb3IgaW1wb3J0aW5nIHRoZSBQcm9ncmFt IG9yIGFueSBwb3J0aW9uIG9mIGl0LgorCisgIDExLiBQYXRlbnRzLgorCisg IEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1 dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKK0xpY2Vuc2Ugb2YgdGhlIFByb2dy YW0gb3IgYSB3b3JrIG9uIHdoaWNoIHRoZSBQcm9ncmFtIGlzIGJhc2VkLiAg VGhlCit3b3JrIHRodXMgbGljZW5zZWQgaXMgY2FsbGVkIHRoZSBjb250cmli dXRvcidzICJjb250cmlidXRvciB2ZXJzaW9uIi4KKworICBBIGNvbnRyaWJ1 dG9yJ3MgImVzc2VudGlhbCBwYXRlbnQgY2xhaW1zIiBhcmUgYWxsIHBhdGVu dCBjbGFpbXMKK293bmVkIG9yIGNvbnRyb2xsZWQgYnkgdGhlIGNvbnRyaWJ1 dG9yLCB3aGV0aGVyIGFscmVhZHkgYWNxdWlyZWQgb3IKK2hlcmVhZnRlciBh Y3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5u ZXIsIHBlcm1pdHRlZAorYnkgdGhpcyBMaWNlbnNlLCBvZiBtYWtpbmcsIHVz aW5nLCBvciBzZWxsaW5nIGl0cyBjb250cmlidXRvciB2ZXJzaW9uLAorYnV0 IGRvIG5vdCBpbmNsdWRlIGNsYWltcyB0aGF0IHdvdWxkIGJlIGluZnJpbmdl ZCBvbmx5IGFzIGEKK2NvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0 aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCitwdXJwb3Nl cyBvZiB0aGlzIGRlZmluaXRpb24sICJjb250cm9sIiBpbmNsdWRlcyB0aGUg cmlnaHQgdG8gZ3JhbnQKK3BhdGVudCBzdWJsaWNlbnNlcyBpbiBhIG1hbm5l ciBjb25zaXN0ZW50IHdpdGggdGhlIHJlcXVpcmVtZW50cyBvZgordGhpcyBM aWNlbnNlLgorCisgIEVhY2ggY29udHJpYnV0b3IgZ3JhbnRzIHlvdSBhIG5v bi1leGNsdXNpdmUsIHdvcmxkd2lkZSwgcm95YWx0eS1mcmVlCitwYXRlbnQg bGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0 ZW50IGNsYWltcywgdG8KK21ha2UsIHVzZSwgc2VsbCwgb2ZmZXIgZm9yIHNh bGUsIGltcG9ydCBhbmQgb3RoZXJ3aXNlIHJ1biwgbW9kaWZ5IGFuZAorcHJv cGFnYXRlIHRoZSBjb250ZW50cyBvZiBpdHMgY29udHJpYnV0b3IgdmVyc2lv bi4KKworICBJbiB0aGUgZm9sbG93aW5nIHRocmVlIHBhcmFncmFwaHMsIGEg InBhdGVudCBsaWNlbnNlIiBpcyBhbnkgZXhwcmVzcworYWdyZWVtZW50IG9y IGNvbW1pdG1lbnQsIGhvd2V2ZXIgZGVub21pbmF0ZWQsIG5vdCB0byBlbmZv cmNlIGEgcGF0ZW50Cisoc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24g dG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCitzdWUg Zm9yIHBhdGVudCBpbmZyaW5nZW1lbnQpLiAgVG8gImdyYW50IiBzdWNoIGEg cGF0ZW50IGxpY2Vuc2UgdG8gYQorcGFydHkgbWVhbnMgdG8gbWFrZSBzdWNo IGFuIGFncmVlbWVudCBvciBjb21taXRtZW50IG5vdCB0byBlbmZvcmNlIGEK K3BhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KKworICBJZiB5b3UgY29udmV5 IGEgY292ZXJlZCB3b3JrLCBrbm93aW5nbHkgcmVseWluZyBvbiBhIHBhdGVu dCBsaWNlbnNlLAorYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0 aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKK3RvIGNvcHks IGZyZWUgb2YgY2hhcmdlIGFuZCB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBM aWNlbnNlLCB0aHJvdWdoIGEKK3B1YmxpY2x5IGF2YWlsYWJsZSBuZXR3b3Jr IHNlcnZlciBvciBvdGhlciByZWFkaWx5IGFjY2Vzc2libGUgbWVhbnMsCit0 aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRp bmcgU291cmNlIHRvIGJlIHNvCithdmFpbGFibGUsIG9yICgyKSBhcnJhbmdl IHRvIGRlcHJpdmUgeW91cnNlbGYgb2YgdGhlIGJlbmVmaXQgb2YgdGhlCitw YXRlbnQgbGljZW5zZSBmb3IgdGhpcyBwYXJ0aWN1bGFyIHdvcmssIG9yICgz KSBhcnJhbmdlLCBpbiBhIG1hbm5lcgorY29uc2lzdGVudCB3aXRoIHRoZSBy ZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBh dGVudAorbGljZW5zZSB0byBkb3duc3RyZWFtIHJlY2lwaWVudHMuICAiS25v d2luZ2x5IHJlbHlpbmciIG1lYW5zIHlvdSBoYXZlCithY3R1YWwga25vd2xl ZGdlIHRoYXQsIGJ1dCBmb3IgdGhlIHBhdGVudCBsaWNlbnNlLCB5b3VyIGNv bnZleWluZyB0aGUKK2NvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlv dXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKK2luIGEg Y291bnRyeSwgd291bGQgaW5mcmluZ2Ugb25lIG9yIG1vcmUgaWRlbnRpZmlh YmxlIHBhdGVudHMgaW4gdGhhdAorY291bnRyeSB0aGF0IHlvdSBoYXZlIHJl YXNvbiB0byBiZWxpZXZlIGFyZSB2YWxpZC4KKworICBJZiwgcHVyc3VhbnQg dG8gb3IgaW4gY29ubmVjdGlvbiB3aXRoIGEgc2luZ2xlIHRyYW5zYWN0aW9u IG9yCithcnJhbmdlbWVudCwgeW91IGNvbnZleSwgb3IgcHJvcGFnYXRlIGJ5 IHByb2N1cmluZyBjb252ZXlhbmNlIG9mLCBhCitjb3ZlcmVkIHdvcmssIGFu ZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRp ZXMKK3JlY2VpdmluZyB0aGUgY292ZXJlZCB3b3JrIGF1dGhvcml6aW5nIHRo ZW0gdG8gdXNlLCBwcm9wYWdhdGUsIG1vZGlmeQorb3IgY29udmV5IGEgc3Bl Y2lmaWMgY29weSBvZiB0aGUgY292ZXJlZCB3b3JrLCB0aGVuIHRoZSBwYXRl bnQgbGljZW5zZQoreW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5k ZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKK3dvcmsgYW5k IHdvcmtzIGJhc2VkIG9uIGl0LgorCisgIEEgcGF0ZW50IGxpY2Vuc2UgaXMg ImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhp bgordGhlIHNjb3BlIG9mIGl0cyBjb3ZlcmFnZSwgcHJvaGliaXRzIHRoZSBl eGVyY2lzZSBvZiwgb3IgaXMKK2NvbmRpdGlvbmVkIG9uIHRoZSBub24tZXhl cmNpc2Ugb2Ygb25lIG9yIG1vcmUgb2YgdGhlIHJpZ2h0cyB0aGF0IGFyZQor c3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91 IG1heSBub3QgY29udmV5IGEgY292ZXJlZAord29yayBpZiB5b3UgYXJlIGEg cGFydHkgdG8gYW4gYXJyYW5nZW1lbnQgd2l0aCBhIHRoaXJkIHBhcnR5IHRo YXQgaXMKK2luIHRoZSBidXNpbmVzcyBvZiBkaXN0cmlidXRpbmcgc29mdHdh cmUsIHVuZGVyIHdoaWNoIHlvdSBtYWtlIHBheW1lbnQKK3RvIHRoZSB0aGly ZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkg b2YgY29udmV5aW5nCit0aGUgd29yaywgYW5kIHVuZGVyIHdoaWNoIHRoZSB0 aGlyZCBwYXJ0eSBncmFudHMsIHRvIGFueSBvZiB0aGUKK3BhcnRpZXMgd2hv IHdvdWxkIHJlY2VpdmUgdGhlIGNvdmVyZWQgd29yayBmcm9tIHlvdSwgYSBk aXNjcmltaW5hdG9yeQorcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rp b24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yaworY29udmV5ZWQg YnkgeW91IChvciBjb3BpZXMgbWFkZSBmcm9tIHRob3NlIGNvcGllcyksIG9y IChiKSBwcmltYXJpbHkKK2ZvciBhbmQgaW4gY29ubmVjdGlvbiB3aXRoIHNw ZWNpZmljIHByb2R1Y3RzIG9yIGNvbXBpbGF0aW9ucyB0aGF0Citjb250YWlu IHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRo YXQgYXJyYW5nZW1lbnQsCitvciB0aGF0IHBhdGVudCBsaWNlbnNlIHdhcyBn cmFudGVkLCBwcmlvciB0byAyOCBNYXJjaCAyMDA3LgorCisgIE5vdGhpbmcg aW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRp bmcgb3IgbGltaXRpbmcKK2FueSBpbXBsaWVkIGxpY2Vuc2Ugb3Igb3RoZXIg ZGVmZW5zZXMgdG8gaW5mcmluZ2VtZW50IHRoYXQgbWF5CitvdGhlcndpc2Ug YmUgYXZhaWxhYmxlIHRvIHlvdSB1bmRlciBhcHBsaWNhYmxlIHBhdGVudCBs YXcuCisKKyAgMTIuIE5vIFN1cnJlbmRlciBvZiBPdGhlcnMnIEZyZWVkb20u CisKKyAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRo ZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgorb3RoZXJ3aXNlKSB0 aGF0IGNvbnRyYWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNl LCB0aGV5IGRvIG5vdAorZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25z IG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QgY29udmV5IGEKK2Nv dmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlv dXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcworTGljZW5zZSBhbmQgYW55IG90 aGVyIHBlcnRpbmVudCBvYmxpZ2F0aW9ucywgdGhlbiBhcyBhIGNvbnNlcXVl bmNlIHlvdSBtYXkKK25vdCBjb252ZXkgaXQgYXQgYWxsLiAgRm9yIGV4YW1w bGUsIGlmIHlvdSBhZ3JlZSB0byB0ZXJtcyB0aGF0IG9ibGlnYXRlIHlvdQor dG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZy b20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5Cit0aGUgUHJvZ3JhbSwgdGhl IG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggdGhvc2UgdGVybXMg YW5kIHRoaXMKK0xpY2Vuc2Ugd291bGQgYmUgdG8gcmVmcmFpbiBlbnRpcmVs eSBmcm9tIGNvbnZleWluZyB0aGUgUHJvZ3JhbS4KKworICAxMy4gVXNlIHdp dGggdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKwor ICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlz IExpY2Vuc2UsIHlvdSBoYXZlCitwZXJtaXNzaW9uIHRvIGxpbmsgb3IgY29t YmluZSBhbnkgY292ZXJlZCB3b3JrIHdpdGggYSB3b3JrIGxpY2Vuc2VkCit1 bmRlciB2ZXJzaW9uIDMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBpbnRvIGEgc2luZ2xlCitjb21iaW5lZCB3b3JrLCBhbmQg dG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0 aGlzCitMaWNlbnNlIHdpbGwgY29udGludWUgdG8gYXBwbHkgdG8gdGhlIHBh cnQgd2hpY2ggaXMgdGhlIGNvdmVyZWQgd29yaywKK2J1dCB0aGUgc3BlY2lh bCByZXF1aXJlbWVudHMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJs aWMgTGljZW5zZSwKK3NlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rp b24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKK2NvbWJp bmF0aW9uIGFzIHN1Y2guCisKKyAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2Yg dGhpcyBMaWNlbnNlLgorCisgIFRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24gbWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQvb3IgbmV3IHZlcnNpb25zIG9m Cit0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRv IHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCitiZSBzaW1pbGFyIGlu IHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5IGRpZmZl ciBpbiBkZXRhaWwgdG8KK2FkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNl cm5zLgorCisgIEVhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNo aW5nIHZlcnNpb24gbnVtYmVyLiAgSWYgdGhlCitQcm9ncmFtIHNwZWNpZmll cyB0aGF0IGEgY2VydGFpbiBudW1iZXJlZCB2ZXJzaW9uIG9mIHRoZSBHTlUg R2VuZXJhbAorUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9u IiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKK29wdGlvbiBvZiBmb2xs b3dpbmcgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGVpdGhlciBvZiB0aGF0 IG51bWJlcmVkCit2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQorRm91bmRhdGlvbi4gIElm IHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJl ciBvZiB0aGUKK0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB5b3UgbWF5 IGNob29zZSBhbnkgdmVyc2lvbiBldmVyIHB1Ymxpc2hlZAorYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKworICBJZiB0aGUgUHJvZ3JhbSBz cGVjaWZpZXMgdGhhdCBhIHByb3h5IGNhbiBkZWNpZGUgd2hpY2ggZnV0dXJl Cit2ZXJzaW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Y2FuIGJlIHVzZWQsIHRoYXQgcHJveHkncworcHVibGljIHN0YXRlbWVudCBv ZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3Jp emVzIHlvdQordG8gY2hvb3NlIHRoYXQgdmVyc2lvbiBmb3IgdGhlIFByb2dy YW0uCisKKyAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3Ug YWRkaXRpb25hbCBvciBkaWZmZXJlbnQKK3Blcm1pc3Npb25zLiAgSG93ZXZl ciwgbm8gYWRkaXRpb25hbCBvYmxpZ2F0aW9ucyBhcmUgaW1wb3NlZCBvbiBh bnkKK2F1dGhvciBvciBjb3B5cmlnaHQgaG9sZGVyIGFzIGEgcmVzdWx0IG9m IHlvdXIgY2hvb3NpbmcgdG8gZm9sbG93IGEKK2xhdGVyIHZlcnNpb24uCisK KyAgMTUuIERpc2NsYWltZXIgb2YgV2FycmFudHkuCisKKyAgVEhFUkUgSVMg Tk8gV0FSUkFOVFkgRk9SIFRIRSBQUk9HUkFNLCBUTyBUSEUgRVhURU5UIFBF Uk1JVFRFRCBCWQorQVBQTElDQUJMRSBMQVcuICBFWENFUFQgV0hFTiBPVEhF UldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhFIENPUFlSSUdIVAorSE9MREVS UyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJB UyBJUyIgV0lUSE9VVCBXQVJSQU5UWQorT0YgQU5ZIEtJTkQsIEVJVEhFUiBF WFBSRVNTRUQgT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU RUQgVE8sCitUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCitQVVJQT1NFLiAg VEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JN QU5DRSBPRiBUSEUgUFJPR1JBTQorSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhF IFBST0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FIFRIRSBDT1NU IE9GCitBTEwgTkVDRVNTQVJZIFNFUlZJQ0lORywgUkVQQUlSIE9SIENPUlJF Q1RJT04uCisKKyAgMTYuIExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LgorCisg IElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExB VyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORworV0lMTCBBTlkgQ09QWVJJR0hU IEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNT0RJRklFUyBBTkQv T1IgQ09OVkVZUworVEhFIFBST0dSQU0gQVMgUEVSTUlUVEVEIEFCT1ZFLCBC RSBMSUFCTEUgVE8gWU9VIEZPUiBEQU1BR0VTLCBJTkNMVURJTkcgQU5ZCitH RU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwg REFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKK1VTRSBPUiBJTkFCSUxJVFkg VE8gVVNFIFRIRSBQUk9HUkFNIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE IFRPIExPU1MgT0YKK0RBVEEgT1IgREFUQSBCRUlORyBSRU5ERVJFRCBJTkFD Q1VSQVRFIE9SIExPU1NFUyBTVVNUQUlORUQgQlkgWU9VIE9SIFRISVJECitQ QVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRF IFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKK0VWRU4gSUYgU1VDSCBIT0xE RVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUgUE9T U0lCSUxJVFkgT0YKK1NVQ0ggREFNQUdFUy4KKworICAxNy4gSW50ZXJwcmV0 YXRpb24gb2YgU2VjdGlvbnMgMTUgYW5kIDE2LgorCisgIElmIHRoZSBkaXNj bGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0 eSBwcm92aWRlZAorYWJvdmUgY2Fubm90IGJlIGdpdmVuIGxvY2FsIGxlZ2Fs IGVmZmVjdCBhY2NvcmRpbmcgdG8gdGhlaXIgdGVybXMsCityZXZpZXdpbmcg Y291cnRzIHNoYWxsIGFwcGx5IGxvY2FsIGxhdyB0aGF0IG1vc3QgY2xvc2Vs eSBhcHByb3hpbWF0ZXMKK2FuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2 aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKK1Byb2dyYW0s IHVubGVzcyBhIHdhcnJhbnR5IG9yIGFzc3VtcHRpb24gb2YgbGlhYmlsaXR5 IGFjY29tcGFuaWVzIGEKK2NvcHkgb2YgdGhlIFByb2dyYW0gaW4gcmV0dXJu IGZvciBhIGZlZS4KKworICAgICAgICAgICAgICAgICAgICAgRU5EIE9GIFRF Uk1TIEFORCBDT05ESVRJT05TCisKKyAgICAgICAgICAgIEhvdyB0byBBcHBs eSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcworCisgIElmIHlv dSBkZXZlbG9wIGEgbmV3IHByb2dyYW0sIGFuZCB5b3Ugd2FudCBpdCB0byBi ZSBvZiB0aGUgZ3JlYXRlc3QKK3Bvc3NpYmxlIHVzZSB0byB0aGUgcHVibGlj LCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQK K2ZyZWUgc29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0 ZSBhbmQgY2hhbmdlIHVuZGVyIHRoZXNlIHRlcm1zLgorCisgIFRvIGRvIHNv LCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFt LiAgSXQgaXMgc2FmZXN0Cit0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQg b2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5CitzdGF0 ZSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5OyBhbmQgZWFjaCBmaWxlIHNo b3VsZCBoYXZlIGF0IGxlYXN0Cit0aGUgImNvcHlyaWdodCIgbGluZSBhbmQg YSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4K KworICAgIDxvbmUgbGluZSB0byBnaXZlIHRoZSBwcm9ncmFtJ3MgbmFtZSBh bmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4+CisgICAgQ29weXJp Z2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KKworICAgIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIg dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorICAgIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKKyAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworQWxzbyBhZGQgaW5mb3JtYXRp b24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBh cGVyIG1haWwuCisKKyAgSWYgdGhlIHByb2dyYW0gZG9lcyB0ZXJtaW5hbCBp bnRlcmFjdGlvbiwgbWFrZSBpdCBvdXRwdXQgYSBzaG9ydAorbm90aWNlIGxp a2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2Rl OgorCisgICAgPHByb2dyYW0+ICBDb3B5cmlnaHQgKEMpIDx5ZWFyPiAgPG5h bWUgb2YgYXV0aG9yPgorICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFC U09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cg dycuCisgICAgVGhpcyBpcyBmcmVlIHNvZnR3YXJlLCBhbmQgeW91IGFyZSB3 ZWxjb21lIHRvIHJlZGlzdHJpYnV0ZSBpdAorICAgIHVuZGVyIGNlcnRhaW4g Y29uZGl0aW9uczsgdHlwZSBgc2hvdyBjJyBmb3IgZGV0YWlscy4KKworVGhl IGh5cG90aGV0aWNhbCBjb21tYW5kcyBgc2hvdyB3JyBhbmQgYHNob3cgYycg c2hvdWxkIHNob3cgdGhlIGFwcHJvcHJpYXRlCitwYXJ0cyBvZiB0aGUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZS4gIE9mIGNvdXJzZSwgeW91ciBwcm9ncmFt J3MgY29tbWFuZHMKK21pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGlu dGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KKworICBZ b3Ugc2hvdWxkIGFsc28gZ2V0IHlvdXIgZW1wbG95ZXIgKGlmIHlvdSB3b3Jr IGFzIGEgcHJvZ3JhbW1lcikgb3Igc2Nob29sLAoraWYgYW55LCB0byBzaWdu IGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlm IG5lY2Vzc2FyeS4KK0ZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMsIGFu ZCBob3cgdG8gYXBwbHkgYW5kIGZvbGxvdyB0aGUgR05VIEdQTCwgc2VlCis8 aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKyAgVGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGRvZXMgbm90IHBlcm1pdCBpbmNvcnBv cmF0aW5nIHlvdXIgcHJvZ3JhbQoraW50byBwcm9wcmlldGFyeSBwcm9ncmFt cy4gIElmIHlvdXIgcHJvZ3JhbSBpcyBhIHN1YnJvdXRpbmUgbGlicmFyeSwg eW91CittYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxp bmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKK3RoZSBsaWJy YXJ5LiAgSWYgdGhpcyBpcyB3aGF0IHlvdSB3YW50IHRvIGRvLCB1c2UgdGhl IEdOVSBMZXNzZXIgR2VuZXJhbAorUHVibGljIExpY2Vuc2UgaW5zdGVhZCBv ZiB0aGlzIExpY2Vuc2UuICBCdXQgZmlyc3QsIHBsZWFzZSByZWFkCis8aHR0 cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+ LgorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgICAg ICAgICAgR05VIExFU1NFUiBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCisgICAg ICAgICAgICAgICAgVmVyc2lvbiAzLCAyOSBKdW5lIDIwMDcKKworIENvcHly aWdodCCpIDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIDxo dHRwOi8vZnNmLm9yZy8+CisgRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNv cHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoaXMKKyBs aWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93 ZWQuCisKK1RoaXMgdmVyc2lvbiBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGluY29ycG9yYXRlcwordGhlIHRlcm1zIGFuZCBj b25kaXRpb25zIG9mIHZlcnNpb24gMyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljCitMaWNlbnNlLCBzdXBwbGVtZW50ZWQgYnkgdGhlIGFkZGl0aW9uYWwg cGVybWlzc2lvbnMgbGlzdGVkIGJlbG93LgorCiswLiBBZGRpdGlvbmFsIERl ZmluaXRpb25zLgorCisgQXMgdXNlZCBoZXJlaW4sIJN0aGlzIExpY2Vuc2WU IHJlZmVycyB0byB2ZXJzaW9uIDMgb2YgdGhlIEdOVSBMZXNzZXIKK0dlbmVy YWwgUHVibGljIExpY2Vuc2UsIGFuZCB0aGUgk0dOVSBHUEyUIHJlZmVycyB0 byB2ZXJzaW9uIDMgb2YgdGhlCitHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZS4KKworIJNUaGUgTGlicmFyeZQgcmVmZXJzIHRvIGEgY292ZXJlZCB3b3Jr IGdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSwKK290aGVyIHRoYW4gYW4gQXBw bGljYXRpb24gb3IgYSBDb21iaW5lZCBXb3JrIGFzIGRlZmluZWQgYmVsb3cu CisKKyBBbiCTQXBwbGljYXRpb26UIGlzIGFueSB3b3JrIHRoYXQgbWFrZXMg dXNlIG9mIGFuIGludGVyZmFjZSBwcm92aWRlZAorYnkgdGhlIExpYnJhcnks IGJ1dCB3aGljaCBpcyBub3Qgb3RoZXJ3aXNlIGJhc2VkIG9uIHRoZSBMaWJy YXJ5LgorRGVmaW5pbmcgYSBzdWJjbGFzcyBvZiBhIGNsYXNzIGRlZmluZWQg YnkgdGhlIExpYnJhcnkgaXMgZGVlbWVkIGEgbW9kZQorb2YgdXNpbmcgYW4g aW50ZXJmYWNlIHByb3ZpZGVkIGJ5IHRoZSBMaWJyYXJ5LgorCisgQSCTQ29t YmluZWQgV29ya5QgaXMgYSB3b3JrIHByb2R1Y2VkIGJ5IGNvbWJpbmluZyBv ciBsaW5raW5nIGFuCitBcHBsaWNhdGlvbiB3aXRoIHRoZSBMaWJyYXJ5LiBU aGUgcGFydGljdWxhciB2ZXJzaW9uIG9mIHRoZSBMaWJyYXJ5Cit3aXRoIHdo aWNoIHRoZSBDb21iaW5lZCBXb3JrIHdhcyBtYWRlIGlzIGFsc28gY2FsbGVk IHRoZSCTTGlua2VkCitWZXJzaW9ulC4KKworIFRoZSCTTWluaW1hbCBDb3Jy ZXNwb25kaW5nIFNvdXJjZZQgZm9yIGEgQ29tYmluZWQgV29yayBtZWFucyB0 aGUKK0NvcnJlc3BvbmRpbmcgU291cmNlIGZvciB0aGUgQ29tYmluZWQgV29y aywgZXhjbHVkaW5nIGFueSBzb3VyY2UgY29kZQorZm9yIHBvcnRpb25zIG9m IHRoZSBDb21iaW5lZCBXb3JrIHRoYXQsIGNvbnNpZGVyZWQgaW4gaXNvbGF0 aW9uLCBhcmUKK2Jhc2VkIG9uIHRoZSBBcHBsaWNhdGlvbiwgYW5kIG5vdCBv biB0aGUgTGlua2VkIFZlcnNpb24uCisKKyBUaGUgk0NvcnJlc3BvbmRpbmcg QXBwbGljYXRpb24gQ29kZZQgZm9yIGEgQ29tYmluZWQgV29yayBtZWFucyB0 aGUKK29iamVjdCBjb2RlIGFuZC9vciBzb3VyY2UgY29kZSBmb3IgdGhlIEFw cGxpY2F0aW9uLCBpbmNsdWRpbmcgYW55IGRhdGEKK2FuZCB1dGlsaXR5IHBy b2dyYW1zIG5lZWRlZCBmb3IgcmVwcm9kdWNpbmcgdGhlIENvbWJpbmVkIFdv cmsgZnJvbSB0aGUKK0FwcGxpY2F0aW9uLCBidXQgZXhjbHVkaW5nIHRoZSBT eXN0ZW0gTGlicmFyaWVzIG9mIHRoZSBDb21iaW5lZCBXb3JrLgorCisxLiBF eGNlcHRpb24gdG8gU2VjdGlvbiAzIG9mIHRoZSBHTlUgR1BMLgorCisgWW91 IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgdW5kZXIgc2VjdGlvbnMgMyBh bmQgNCBvZiB0aGlzIExpY2Vuc2UKK3dpdGhvdXQgYmVpbmcgYm91bmQgYnkg c2VjdGlvbiAzIG9mIHRoZSBHTlUgR1BMLgorCisyLiBDb252ZXlpbmcgTW9k aWZpZWQgVmVyc2lvbnMuCisKKyBJZiB5b3UgbW9kaWZ5IGEgY29weSBvZiB0 aGUgTGlicmFyeSwgYW5kLCBpbiB5b3VyIG1vZGlmaWNhdGlvbnMsIGEKK2Zh Y2lsaXR5IHJlZmVycyB0byBhIGZ1bmN0aW9uIG9yIGRhdGEgdG8gYmUgc3Vw cGxpZWQgYnkgYW4gQXBwbGljYXRpb24KK3RoYXQgdXNlcyB0aGUgZmFjaWxp dHkgKG90aGVyIHRoYW4gYXMgYW4gYXJndW1lbnQgcGFzc2VkIHdoZW4gdGhl CitmYWNpbGl0eSBpcyBpbnZva2VkKSwgdGhlbiB5b3UgbWF5IGNvbnZleSBh IGNvcHkgb2YgdGhlIG1vZGlmaWVkCit2ZXJzaW9uOgorCisgICAgYSkgdW5k ZXIgdGhpcyBMaWNlbnNlLCBwcm92aWRlZCB0aGF0IHlvdSBtYWtlIGEgZ29v ZCBmYWl0aCBlZmZvcnQKKyAgICB0byBlbnN1cmUgdGhhdCwgaW4gdGhlIGV2 ZW50IGFuIEFwcGxpY2F0aW9uIGRvZXMgbm90IHN1cHBseSB0aGUKKyAgICBm dW5jdGlvbiBvciBkYXRhLCB0aGUgZmFjaWxpdHkgc3RpbGwgb3BlcmF0ZXMs IGFuZCBwZXJmb3JtcworICAgIHdoYXRldmVyIHBhcnQgb2YgaXRzIHB1cnBv c2UgcmVtYWlucyBtZWFuaW5nZnVsLCBvcgorCisgICAgYikgdW5kZXIgdGhl IEdOVSBHUEwsIHdpdGggbm9uZSBvZiB0aGUgYWRkaXRpb25hbCBwZXJtaXNz aW9ucyBvZgorICAgIHRoaXMgTGljZW5zZSBhcHBsaWNhYmxlIHRvIHRoYXQg Y29weS4KKworMy4gT2JqZWN0IENvZGUgSW5jb3Jwb3JhdGluZyBNYXRlcmlh bCBmcm9tIExpYnJhcnkgSGVhZGVyIEZpbGVzLgorCisgVGhlIG9iamVjdCBj b2RlIGZvcm0gb2YgYW4gQXBwbGljYXRpb24gbWF5IGluY29ycG9yYXRlIG1h dGVyaWFsIGZyb20KK2EgaGVhZGVyIGZpbGUgdGhhdCBpcyBwYXJ0IG9mIHRo ZSBMaWJyYXJ5LiBZb3UgbWF5IGNvbnZleSBzdWNoIG9iamVjdAorY29kZSB1 bmRlciB0ZXJtcyBvZiB5b3VyIGNob2ljZSwgcHJvdmlkZWQgdGhhdCwgaWYg dGhlIGluY29ycG9yYXRlZAorbWF0ZXJpYWwgaXMgbm90IGxpbWl0ZWQgdG8g bnVtZXJpY2FsIHBhcmFtZXRlcnMsIGRhdGEgc3RydWN0dXJlCitsYXlvdXRz IGFuZCBhY2Nlc3NvcnMsIG9yIHNtYWxsIG1hY3JvcywgaW5saW5lIGZ1bmN0 aW9ucyBhbmQgdGVtcGxhdGVzCisodGVuIG9yIGZld2VyIGxpbmVzIGluIGxl bmd0aCksIHlvdSBkbyBib3RoIG9mIHRoZSBmb2xsb3dpbmc6CisKKyAgICBh KSBHaXZlIHByb21pbmVudCBub3RpY2Ugd2l0aCBlYWNoIGNvcHkgb2YgdGhl IG9iamVjdCBjb2RlIHRoYXQKKyAgICB0aGUgTGlicmFyeSBpcyB1c2VkIGlu IGl0IGFuZCB0aGF0IHRoZSBMaWJyYXJ5IGFuZCBpdHMgdXNlIGFyZQorICAg IGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlLgorCisgICAgYikgQWNjb21wYW55 IHRoZSBvYmplY3QgY29kZSB3aXRoIGEgY29weSBvZiB0aGUgR05VIEdQTCBh bmQgdGhpcworICAgIGxpY2Vuc2UgZG9jdW1lbnQuCisKKzQuIENvbWJpbmVk IFdvcmtzLgorCisgWW91IG1heSBjb252ZXkgYSBDb21iaW5lZCBXb3JrIHVu ZGVyIHRlcm1zIG9mIHlvdXIgY2hvaWNlIHRoYXQsIHRha2VuCit0b2dldGhl ciwgZWZmZWN0aXZlbHkgZG8gbm90IHJlc3RyaWN0IG1vZGlmaWNhdGlvbiBv ZiB0aGUgcG9ydGlvbnMgb2YKK3RoZSBMaWJyYXJ5IGNvbnRhaW5lZCBpbiB0 aGUgQ29tYmluZWQgV29yayBhbmQgcmV2ZXJzZSBlbmdpbmVlcmluZyBmb3IK K2RlYnVnZ2luZyBzdWNoIG1vZGlmaWNhdGlvbnMsIGlmIHlvdSBhbHNvIGRv IGVhY2ggb2YgdGhlIGZvbGxvd2luZzoKKworICAgIGEpIEdpdmUgcHJvbWlu ZW50IG5vdGljZSB3aXRoIGVhY2ggY29weSBvZiB0aGUgQ29tYmluZWQgV29y ayB0aGF0CisgICAgdGhlIExpYnJhcnkgaXMgdXNlZCBpbiBpdCBhbmQgdGhh dCB0aGUgTGlicmFyeSBhbmQgaXRzIHVzZSBhcmUKKyAgICBjb3ZlcmVkIGJ5 IHRoaXMgTGljZW5zZS4KKworICAgIGIpIEFjY29tcGFueSB0aGUgQ29tYmlu ZWQgV29yayB3aXRoIGEgY29weSBvZiB0aGUgR05VIEdQTCBhbmQgdGhpcwor ICAgIGxpY2Vuc2UgZG9jdW1lbnQuCisKKyAgICBjKSBGb3IgYSBDb21iaW5l ZCBXb3JrIHRoYXQgZGlzcGxheXMgY29weXJpZ2h0IG5vdGljZXMgZHVyaW5n CisgICAgZXhlY3V0aW9uLCBpbmNsdWRlIHRoZSBjb3B5cmlnaHQgbm90aWNl IGZvciB0aGUgTGlicmFyeSBhbW9uZworICAgIHRoZXNlIG5vdGljZXMsIGFz IHdlbGwgYXMgYSByZWZlcmVuY2UgZGlyZWN0aW5nIHRoZSB1c2VyIHRvIHRo ZQorICAgIGNvcGllcyBvZiB0aGUgR05VIEdQTCBhbmQgdGhpcyBsaWNlbnNl IGRvY3VtZW50LgorCisgICAgZCkgRG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6 CisKKyAgICAgICAgMCkgQ29udmV5IHRoZSBNaW5pbWFsIENvcnJlc3BvbmRp bmcgU291cmNlIHVuZGVyIHRoZSB0ZXJtcyBvZgorICAgICAgICB0aGlzIExp Y2Vuc2UsIGFuZCB0aGUgQ29ycmVzcG9uZGluZyBBcHBsaWNhdGlvbiBDb2Rl IGluIGEgZm9ybQorICAgICAgICBzdWl0YWJsZSBmb3IsIGFuZCB1bmRlciB0 ZXJtcyB0aGF0IHBlcm1pdCwgdGhlIHVzZXIgdG8KKyAgICAgICAgcmVjb21i aW5lIG9yIHJlbGluayB0aGUgQXBwbGljYXRpb24gd2l0aCBhIG1vZGlmaWVk IHZlcnNpb24gb2YKKyAgICAgICAgdGhlIExpbmtlZCBWZXJzaW9uIHRvIHBy b2R1Y2UgYSBtb2RpZmllZCBDb21iaW5lZCBXb3JrLCBpbiB0aGUKKyAgICAg ICAgbWFubmVyIHNwZWNpZmllZCBieSBzZWN0aW9uIDYgb2YgdGhlIEdOVSBH UEwgZm9yIGNvbnZleWluZworICAgICAgICBDb3JyZXNwb25kaW5nIFNvdXJj ZS4KKworICAgICAgICAxKSBVc2UgYSBzdWl0YWJsZSBzaGFyZWQgbGlicmFy eSBtZWNoYW5pc20gZm9yIGxpbmtpbmcgd2l0aAorICAgICAgICB0aGUgTGli cmFyeS4gQSBzdWl0YWJsZSBtZWNoYW5pc20gaXMgb25lIHRoYXQgKGEpIHVz ZXMgYXQgcnVuCisgICAgICAgIHRpbWUgYSBjb3B5IG9mIHRoZSBMaWJyYXJ5 IGFscmVhZHkgcHJlc2VudCBvbiB0aGUgdXNlcidzCisgICAgICAgIGNvbXB1 dGVyIHN5c3RlbSwgYW5kIChiKSB3aWxsIG9wZXJhdGUgcHJvcGVybHkgd2l0 aCBhIG1vZGlmaWVkCisgICAgICAgIHZlcnNpb24gb2YgdGhlIExpYnJhcnkg dGhhdCBpcyBpbnRlcmZhY2UtY29tcGF0aWJsZSB3aXRoIHRoZQorICAgICAg ICBMaW5rZWQgVmVyc2lvbi4KKworICAgIGUpIFByb3ZpZGUgSW5zdGFsbGF0 aW9uIEluZm9ybWF0aW9uLCBidXQgb25seSBpZiB5b3Ugd291bGQKKyAgICBv dGhlcndpc2UgYmUgcmVxdWlyZWQgdG8gcHJvdmlkZSBzdWNoIGluZm9ybWF0 aW9uIHVuZGVyIHNlY3Rpb24gNgorICAgIG9mIHRoZSBHTlUgR1BMLCBhbmQg b25seSB0byB0aGUgZXh0ZW50IHRoYXQgc3VjaCBpbmZvcm1hdGlvbiBpcwor ICAgIG5lY2Vzc2FyeSB0byBpbnN0YWxsIGFuZCBleGVjdXRlIGEgbW9kaWZp ZWQgdmVyc2lvbiBvZiB0aGUKKyAgICBDb21iaW5lZCBXb3JrIHByb2R1Y2Vk IGJ5IHJlY29tYmluaW5nIG9yIHJlbGlua2luZyB0aGUgQXBwbGljYXRpb24K KyAgICB3aXRoIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiB0aGUgTGlua2VkIFZl cnNpb24uIChJZiB5b3UgdXNlIG9wdGlvbgorICAgIDRkMCwgdGhlIEluc3Rh bGxhdGlvbiBJbmZvcm1hdGlvbiBtdXN0IGFjY29tcGFueSB0aGUgTWluaW1h bAorICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFuZCBDb3JyZXNwb25kaW5n IEFwcGxpY2F0aW9uIENvZGUuIElmIHlvdQorICAgIHVzZSBvcHRpb24gNGQx LCB5b3UgbXVzdCBwcm92aWRlIHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRp b24gaW4KKyAgICB0aGUgbWFubmVyIHNwZWNpZmllZCBieSBzZWN0aW9uIDYg b2YgdGhlIEdOVSBHUEwgZm9yIGNvbnZleWluZworICAgIENvcnJlc3BvbmRp bmcgU291cmNlLikKKworNS4gQ29tYmluZWQgTGlicmFyaWVzLgorCisgWW91 IG1heSBwbGFjZSBsaWJyYXJ5IGZhY2lsaXRpZXMgdGhhdCBhcmUgYSB3b3Jr IGJhc2VkIG9uIHRoZSBMaWJyYXJ5CitzaWRlIGJ5IHNpZGUgaW4gYSBzaW5n bGUgbGlicmFyeSB0b2dldGhlciB3aXRoIG90aGVyIGxpYnJhcnkKK2ZhY2ls aXRpZXMgdGhhdCBhcmUgbm90IEFwcGxpY2F0aW9ucyBhbmQgYXJlIG5vdCBj b3ZlcmVkIGJ5IHRoaXMKK0xpY2Vuc2UsIGFuZCBjb252ZXkgc3VjaCBhIGNv bWJpbmVkIGxpYnJhcnkgdW5kZXIgdGVybXMgb2YgeW91cgorY2hvaWNlLCBp ZiB5b3UgZG8gYm90aCBvZiB0aGUgZm9sbG93aW5nOgorCisgICAgYSkgQWNj b21wYW55IHRoZSBjb21iaW5lZCBsaWJyYXJ5IHdpdGggYSBjb3B5IG9mIHRo ZSBzYW1lIHdvcmsKKyAgICBiYXNlZCBvbiB0aGUgTGlicmFyeSwgdW5jb21i aW5lZCB3aXRoIGFueSBvdGhlciBsaWJyYXJ5CisgICAgZmFjaWxpdGllcywg Y29udmV5ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4KKwor ICAgIGIpIEdpdmUgcHJvbWluZW50IG5vdGljZSB3aXRoIHRoZSBjb21iaW5l ZCBsaWJyYXJ5IHRoYXQgcGFydCBvZgorICAgIGl0IGlzIGEgd29yayBiYXNl ZCBvbiB0aGUgTGlicmFyeSwgYW5kIGV4cGxhaW5pbmcgd2hlcmUgdG8gZmlu ZAorICAgIHRoZSBhY2NvbXBhbnlpbmcgdW5jb21iaW5lZCBmb3JtIG9mIHRo ZSBzYW1lIHdvcmsuCisKKzYuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhlIEdO VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKworIFRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24gbWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQv b3IgbmV3IHZlcnNpb25zCitvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiBTdWNoIG5ldwordmVy c2lvbnMgd2lsbCBiZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2Vu dCB2ZXJzaW9uLCBidXQgbWF5CitkaWZmZXIgaW4gZGV0YWlsIHRvIGFkZHJl c3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLgorCitFYWNoIHZlcnNpb24g aXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gSWYg dGhlIExpYnJhcnkKK2FzIHlvdSByZWNlaXZlZCBpdCBzcGVjaWZpZXMgdGhh dCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUKK0dOVSBMZXNz ZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSCTb3IgYW55IGxhdGVyIHZlcnNp b26UIGFwcGxpZXMgdG8KK2l0LCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZv bGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyCitvZiB0 aGF0IHB1Ymxpc2hlZCB2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9u IHB1Ymxpc2hlZCBieSB0aGUKK0ZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4g SWYgdGhlIExpYnJhcnkgYXMgeW91IHJlY2VpdmVkIGl0IGRvZXMgbm90Citz cGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSwKK3lvdSBtYXkgY2hvb3NlIGFueSB2ZXJz aW9uIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK K2V2ZXIgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24uCisKK0lmIHRoZSBMaWJyYXJ5IGFzIHlvdSByZWNlaXZlZCBpdCBzcGVj aWZpZXMgdGhhdCBhIHByb3h5IGNhbiBkZWNpZGUKK3doZXRoZXIgZnV0dXJl IHZlcnNpb25zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExp Y2Vuc2Ugc2hhbGwKK2FwcGx5LCB0aGF0IHByb3h5J3MgcHVibGljIHN0YXRl bWVudCBvZiBhY2NlcHRhbmNlIG9mIGFueSB2ZXJzaW9uIGlzCitwZXJtYW5l bnQgYXV0aG9yaXphdGlvbiBmb3IgeW91IHRvIGNob29zZSB0aGF0IHZlcnNp b24gZm9yIHRoZSBMaWJyYXJ5LgorCisKK0xHUEx2Mi4xCistLS0tLS0tLQor CisKKyAgICAgICAgICAgIEdOVSBMRVNTRVIgR0VORVJBTCBQVUJMSUMgTElD RU5TRQorCisgVGhlIFF0IFRvb2xraXQgaXMgQ29weXJpZ2h0IChDKSAyMDE0 IERpZ2lhIFBsYyBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgQ29u dGFjdDogaHR0cDovL3d3dy5xdC5pby9saWNlbnNpbmcKKworIFlvdSBtYXkg dXNlLCBkaXN0cmlidXRlIGFuZCBjb3B5IGFwcGxpY2FibGUgcGFydHMgb2Yg dGhlIFF0IEdVSSBUb29sa2l0IHVuZGVyCisgdGhlIHRlcm1zIG9mIEdOVSBM ZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIuMSwgd2hp Y2ggaXMgZGlzcGxheWVkCisgYmVsb3cuCisKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKworICAgICAgICAgICAgR05VIExFU1NFUiBHRU5FUkFM IFBVQkxJQyBMSUNFTlNFCisgICAgICAgICAgICAgICAgVmVyc2lvbiAyLjEs IEZlYnJ1YXJ5IDE5OTkKKworIENvcHlyaWdodCAoQykgMTk5MSwgMTk5OSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyA1MSBGcmFua2xpbiBT dHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBV U0EKKyBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJp YnV0ZSB2ZXJiYXRpbSBjb3BpZXMKKyBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1l bnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KKworW1RoaXMg aXMgdGhlIGZpcnN0IHJlbGVhc2VkIHZlcnNpb24gb2YgdGhlIExlc3NlciBH UEwuICBJdCBhbHNvIGNvdW50cworIGFzIHRoZSBzdWNjZXNzb3Igb2YgdGhl IEdOVSBMaWJyYXJ5IFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIsIGhlbmNl CisgdGhlIHZlcnNpb24gbnVtYmVyIDIuMS5dCisKKyBQcmVhbWJsZQorCisg IFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUgZGVzaWduZWQg dG8gdGFrZSBhd2F5IHlvdXIKK2ZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5n ZSBpdC4gIEJ5IGNvbnRyYXN0LCB0aGUgR05VIEdlbmVyYWwgUHVibGljCitM aWNlbnNlcyBhcmUgaW50ZW5kZWQgdG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRv bSB0byBzaGFyZSBhbmQgY2hhbmdlCitmcmVlIHNvZnR3YXJlLS10byBtYWtl IHN1cmUgdGhlIHNvZnR3YXJlIGlzIGZyZWUgZm9yIGFsbCBpdHMgdXNlcnMu CisKKyAgVGhpcyBsaWNlbnNlLCB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UsIGFwcGxpZXMgdG8gc29tZQorc3BlY2lhbGx5IGRlc2lnbmF0 ZWQgc29mdHdhcmUgcGFja2FnZXMtLXR5cGljYWxseSBsaWJyYXJpZXMtLW9m IHRoZQorRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGFuZCBvdGhlciBhdXRo b3JzIHdobyBkZWNpZGUgdG8gdXNlIGl0LiAgWW91CitjYW4gdXNlIGl0IHRv bywgYnV0IHdlIHN1Z2dlc3QgeW91IGZpcnN0IHRoaW5rIGNhcmVmdWxseSBh Ym91dCB3aGV0aGVyCit0aGlzIGxpY2Vuc2Ugb3IgdGhlIG9yZGluYXJ5IEdl bmVyYWwgUHVibGljIExpY2Vuc2UgaXMgdGhlIGJldHRlcgorc3RyYXRlZ3kg dG8gdXNlIGluIGFueSBwYXJ0aWN1bGFyIGNhc2UsIGJhc2VkIG9uIHRoZSBl eHBsYW5hdGlvbnMgYmVsb3cuCisKKyAgV2hlbiB3ZSBzcGVhayBvZiBmcmVl IHNvZnR3YXJlLCB3ZSBhcmUgcmVmZXJyaW5nIHRvIGZyZWVkb20gb2YgdXNl LAorbm90IHByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFy ZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdAoreW91IGhhdmUgdGhlIGZy ZWVkb20gdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAo YW5kIGNoYXJnZQorZm9yIHRoaXMgc2VydmljZSBpZiB5b3Ugd2lzaCk7IHRo YXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldAoraXQgaWYg eW91IHdhbnQgaXQ7IHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJl IGFuZCB1c2UgcGllY2VzIG9mCitpdCBpbiBuZXcgZnJlZSBwcm9ncmFtczsg YW5kIHRoYXQgeW91IGFyZSBpbmZvcm1lZCB0aGF0IHlvdSBjYW4gZG8KK3Ro ZXNlIHRoaW5ncy4KKworICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBu ZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkCitkaXN0cmli dXRvcnMgdG8gZGVueSB5b3UgdGhlc2UgcmlnaHRzIG9yIHRvIGFzayB5b3Ug dG8gc3VycmVuZGVyIHRoZXNlCityaWdodHMuICBUaGVzZSByZXN0cmljdGlv bnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IK K3lvdSBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIGxpYnJhcnkg b3IgaWYgeW91IG1vZGlmeSBpdC4KKworICBGb3IgZXhhbXBsZSwgaWYgeW91 IGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBsaWJyYXJ5LCB3aGV0aGVyIGdy YXRpcworb3IgZm9yIGEgZmVlLCB5b3UgbXVzdCBnaXZlIHRoZSByZWNpcGll bnRzIGFsbCB0aGUgcmlnaHRzIHRoYXQgd2UgZ2F2ZQoreW91LiAgWW91IG11 c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlIG9yIGNhbiBn ZXQgdGhlIHNvdXJjZQorY29kZS4gIElmIHlvdSBsaW5rIG90aGVyIGNvZGUg d2l0aCB0aGUgbGlicmFyeSwgeW91IG11c3QgcHJvdmlkZQorY29tcGxldGUg b2JqZWN0IGZpbGVzIHRvIHRoZSByZWNpcGllbnRzLCBzbyB0aGF0IHRoZXkg Y2FuIHJlbGluayB0aGVtCit3aXRoIHRoZSBsaWJyYXJ5IGFmdGVyIG1ha2lu ZyBjaGFuZ2VzIHRvIHRoZSBsaWJyYXJ5IGFuZCByZWNvbXBpbGluZworaXQu ICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkg a25vdyB0aGVpciByaWdodHMuCisKKyAgV2UgcHJvdGVjdCB5b3VyIHJpZ2h0 cyB3aXRoIGEgdHdvLXN0ZXAgbWV0aG9kOiAoMSkgd2UgY29weXJpZ2h0IHRo ZQorbGlicmFyeSwgYW5kICgyKSB3ZSBvZmZlciB5b3UgdGhpcyBsaWNlbnNl LCB3aGljaCBnaXZlcyB5b3UgbGVnYWwKK3Blcm1pc3Npb24gdG8gY29weSwg ZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoZSBsaWJyYXJ5LgorCisgIFRv IHByb3RlY3QgZWFjaCBkaXN0cmlidXRvciwgd2Ugd2FudCB0byBtYWtlIGl0 IHZlcnkgY2xlYXIgdGhhdAordGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRo ZSBmcmVlIGxpYnJhcnkuICBBbHNvLCBpZiB0aGUgbGlicmFyeSBpcworbW9k aWZpZWQgYnkgc29tZW9uZSBlbHNlIGFuZCBwYXNzZWQgb24sIHRoZSByZWNp cGllbnRzIHNob3VsZCBrbm93Cit0aGF0IHdoYXQgdGhleSBoYXZlIGlzIG5v dCB0aGUgb3JpZ2luYWwgdmVyc2lvbiwgc28gdGhhdCB0aGUgb3JpZ2luYWwK K2F1dGhvcidzIHJlcHV0YXRpb24gd2lsbCBub3QgYmUgYWZmZWN0ZWQgYnkg cHJvYmxlbXMgdGhhdCBtaWdodCBiZQoraW50cm9kdWNlZCBieSBvdGhlcnMu CisKKyAgRmluYWxseSwgc29mdHdhcmUgcGF0ZW50cyBwb3NlIGEgY29uc3Rh bnQgdGhyZWF0IHRvIHRoZSBleGlzdGVuY2Ugb2YKK2FueSBmcmVlIHByb2dy YW0uICBXZSB3aXNoIHRvIG1ha2Ugc3VyZSB0aGF0IGEgY29tcGFueSBjYW5u b3QKK2VmZmVjdGl2ZWx5IHJlc3RyaWN0IHRoZSB1c2VycyBvZiBhIGZyZWUg cHJvZ3JhbSBieSBvYnRhaW5pbmcgYQorcmVzdHJpY3RpdmUgbGljZW5zZSBm cm9tIGEgcGF0ZW50IGhvbGRlci4gIFRoZXJlZm9yZSwgd2UgaW5zaXN0IHRo YXQKK2FueSBwYXRlbnQgbGljZW5zZSBvYnRhaW5lZCBmb3IgYSB2ZXJzaW9u IG9mIHRoZSBsaWJyYXJ5IG11c3QgYmUKK2NvbnNpc3RlbnQgd2l0aCB0aGUg ZnVsbCBmcmVlZG9tIG9mIHVzZSBzcGVjaWZpZWQgaW4gdGhpcyBsaWNlbnNl LgorCisgIE1vc3QgR05VIHNvZnR3YXJlLCBpbmNsdWRpbmcgc29tZSBsaWJy YXJpZXMsIGlzIGNvdmVyZWQgYnkgdGhlCitvcmRpbmFyeSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZS4gIFRoaXMgbGljZW5zZSwgdGhlIEdOVSBMZXNz ZXIKK0dlbmVyYWwgUHVibGljIExpY2Vuc2UsIGFwcGxpZXMgdG8gY2VydGFp biBkZXNpZ25hdGVkIGxpYnJhcmllcywgYW5kCitpcyBxdWl0ZSBkaWZmZXJl bnQgZnJvbSB0aGUgb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4g IFdlIHVzZQordGhpcyBsaWNlbnNlIGZvciBjZXJ0YWluIGxpYnJhcmllcyBp biBvcmRlciB0byBwZXJtaXQgbGlua2luZyB0aG9zZQorbGlicmFyaWVzIGlu dG8gbm9uLWZyZWUgcHJvZ3JhbXMuCisKKyAgV2hlbiBhIHByb2dyYW0gaXMg bGlua2VkIHdpdGggYSBsaWJyYXJ5LCB3aGV0aGVyIHN0YXRpY2FsbHkgb3Ig dXNpbmcKK2Egc2hhcmVkIGxpYnJhcnksIHRoZSBjb21iaW5hdGlvbiBvZiB0 aGUgdHdvIGlzIGxlZ2FsbHkgc3BlYWtpbmcgYQorY29tYmluZWQgd29yaywg YSBkZXJpdmF0aXZlIG9mIHRoZSBvcmlnaW5hbCBsaWJyYXJ5LiAgVGhlIG9y ZGluYXJ5CitHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHRoZXJlZm9yZSBwZXJt aXRzIHN1Y2ggbGlua2luZyBvbmx5IGlmIHRoZQorZW50aXJlIGNvbWJpbmF0 aW9uIGZpdHMgaXRzIGNyaXRlcmlhIG9mIGZyZWVkb20uICBUaGUgTGVzc2Vy IEdlbmVyYWwKK1B1YmxpYyBMaWNlbnNlIHBlcm1pdHMgbW9yZSBsYXggY3Jp dGVyaWEgZm9yIGxpbmtpbmcgb3RoZXIgY29kZSB3aXRoCit0aGUgbGlicmFy eS4KKworICBXZSBjYWxsIHRoaXMgbGljZW5zZSB0aGUgIkxlc3NlciIgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBiZWNhdXNlIGl0Citkb2VzIExlc3MgdG8g cHJvdGVjdCB0aGUgdXNlcidzIGZyZWVkb20gdGhhbiB0aGUgb3JkaW5hcnkg R2VuZXJhbAorUHVibGljIExpY2Vuc2UuICBJdCBhbHNvIHByb3ZpZGVzIG90 aGVyIGZyZWUgc29mdHdhcmUgZGV2ZWxvcGVycyBMZXNzCitvZiBhbiBhZHZh bnRhZ2Ugb3ZlciBjb21wZXRpbmcgbm9uLWZyZWUgcHJvZ3JhbXMuICBUaGVz ZSBkaXNhZHZhbnRhZ2VzCithcmUgdGhlIHJlYXNvbiB3ZSB1c2UgdGhlIG9y ZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1hbnkKK2xpYnJh cmllcy4gIEhvd2V2ZXIsIHRoZSBMZXNzZXIgbGljZW5zZSBwcm92aWRlcyBh ZHZhbnRhZ2VzIGluIGNlcnRhaW4KK3NwZWNpYWwgY2lyY3Vtc3RhbmNlcy4K KworICBGb3IgZXhhbXBsZSwgb24gcmFyZSBvY2Nhc2lvbnMsIHRoZXJlIG1h eSBiZSBhIHNwZWNpYWwgbmVlZCB0bworZW5jb3VyYWdlIHRoZSB3aWRlc3Qg cG9zc2libGUgdXNlIG9mIGEgY2VydGFpbiBsaWJyYXJ5LCBzbyB0aGF0IGl0 IGJlY29tZXMKK2EgZGUtZmFjdG8gc3RhbmRhcmQuICBUbyBhY2hpZXZlIHRo aXMsIG5vbi1mcmVlIHByb2dyYW1zIG11c3QgYmUKK2FsbG93ZWQgdG8gdXNl IHRoZSBsaWJyYXJ5LiAgQSBtb3JlIGZyZXF1ZW50IGNhc2UgaXMgdGhhdCBh IGZyZWUKK2xpYnJhcnkgZG9lcyB0aGUgc2FtZSBqb2IgYXMgd2lkZWx5IHVz ZWQgbm9uLWZyZWUgbGlicmFyaWVzLiAgSW4gdGhpcworY2FzZSwgdGhlcmUg aXMgbGl0dGxlIHRvIGdhaW4gYnkgbGltaXRpbmcgdGhlIGZyZWUgbGlicmFy eSB0byBmcmVlCitzb2Z0d2FyZSBvbmx5LCBzbyB3ZSB1c2UgdGhlIExlc3Nl ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorCisgIEluIG90aGVyIGNhc2Vz LCBwZXJtaXNzaW9uIHRvIHVzZSBhIHBhcnRpY3VsYXIgbGlicmFyeSBpbiBu b24tZnJlZQorcHJvZ3JhbXMgZW5hYmxlcyBhIGdyZWF0ZXIgbnVtYmVyIG9m IHBlb3BsZSB0byB1c2UgYSBsYXJnZSBib2R5IG9mCitmcmVlIHNvZnR3YXJl LiAgRm9yIGV4YW1wbGUsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBHTlUgQyBM aWJyYXJ5IGluCitub24tZnJlZSBwcm9ncmFtcyBlbmFibGVzIG1hbnkgbW9y ZSBwZW9wbGUgdG8gdXNlIHRoZSB3aG9sZSBHTlUKK29wZXJhdGluZyBzeXN0 ZW0sIGFzIHdlbGwgYXMgaXRzIHZhcmlhbnQsIHRoZSBHTlUvTGludXggb3Bl cmF0aW5nCitzeXN0ZW0uCisKKyAgQWx0aG91Z2ggdGhlIExlc3NlciBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGlzIExlc3MgcHJvdGVjdGl2ZSBvZiB0aGUK K3VzZXJzJyBmcmVlZG9tLCBpdCBkb2VzIGVuc3VyZSB0aGF0IHRoZSB1c2Vy IG9mIGEgcHJvZ3JhbSB0aGF0IGlzCitsaW5rZWQgd2l0aCB0aGUgTGlicmFy eSBoYXMgdGhlIGZyZWVkb20gYW5kIHRoZSB3aGVyZXdpdGhhbCB0byBydW4K K3RoYXQgcHJvZ3JhbSB1c2luZyBhIG1vZGlmaWVkIHZlcnNpb24gb2YgdGhl IExpYnJhcnkuCisKKyAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlv bnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKK21vZGlmaWNhdGlv biBmb2xsb3cuICBQYXkgY2xvc2UgYXR0ZW50aW9uIHRvIHRoZSBkaWZmZXJl bmNlIGJldHdlZW4gYQorIndvcmsgYmFzZWQgb24gdGhlIGxpYnJhcnkiIGFu ZCBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgbGlicmFyeSIuICBUaGUKK2Zvcm1l ciBjb250YWlucyBjb2RlIGRlcml2ZWQgZnJvbSB0aGUgbGlicmFyeSwgd2hl cmVhcyB0aGUgbGF0dGVyIG11c3QKK2JlIGNvbWJpbmVkIHdpdGggdGhlIGxp YnJhcnkgaW4gb3JkZXIgdG8gcnVuLgorCisgICAgICAgIEdOVSBMRVNTRVIg R0VORVJBTCBQVUJMSUMgTElDRU5TRQorICAgIFRFUk1TIEFORCBDT05ESVRJ T05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNBVElP TgorCisgIDAuIFRoaXMgTGljZW5zZSBBZ3JlZW1lbnQgYXBwbGllcyB0byBh bnkgc29mdHdhcmUgbGlicmFyeSBvciBvdGhlcgorcHJvZ3JhbSB3aGljaCBj b250YWlucyBhIG5vdGljZSBwbGFjZWQgYnkgdGhlIGNvcHlyaWdodCBob2xk ZXIgb3IKK290aGVyIGF1dGhvcml6ZWQgcGFydHkgc2F5aW5nIGl0IG1heSBi ZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YKK3RoaXMgTGVzc2Vy IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKGFsc28gY2FsbGVkICJ0aGlzIExp Y2Vuc2UiKS4KK0VhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3Ui LgorCisgIEEgImxpYnJhcnkiIG1lYW5zIGEgY29sbGVjdGlvbiBvZiBzb2Z0 d2FyZSBmdW5jdGlvbnMgYW5kL29yIGRhdGEKK3ByZXBhcmVkIHNvIGFzIHRv IGJlIGNvbnZlbmllbnRseSBsaW5rZWQgd2l0aCBhcHBsaWNhdGlvbiBwcm9n cmFtcworKHdoaWNoIHVzZSBzb21lIG9mIHRob3NlIGZ1bmN0aW9ucyBhbmQg ZGF0YSkgdG8gZm9ybSBleGVjdXRhYmxlcy4KKworICBUaGUgIkxpYnJhcnki LCBiZWxvdywgcmVmZXJzIHRvIGFueSBzdWNoIHNvZnR3YXJlIGxpYnJhcnkg b3Igd29yaword2hpY2ggaGFzIGJlZW4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhl c2UgdGVybXMuICBBICJ3b3JrIGJhc2VkIG9uIHRoZQorTGlicmFyeSIgbWVh bnMgZWl0aGVyIHRoZSBMaWJyYXJ5IG9yIGFueSBkZXJpdmF0aXZlIHdvcmsg dW5kZXIKK2NvcHlyaWdodCBsYXc6IHRoYXQgaXMgdG8gc2F5LCBhIHdvcmsg Y29udGFpbmluZyB0aGUgTGlicmFyeSBvciBhCitwb3J0aW9uIG9mIGl0LCBl aXRoZXIgdmVyYmF0aW0gb3Igd2l0aCBtb2RpZmljYXRpb25zIGFuZC9vciB0 cmFuc2xhdGVkCitzdHJhaWdodGZvcndhcmRseSBpbnRvIGFub3RoZXIgbGFu Z3VhZ2UuICAoSGVyZWluYWZ0ZXIsIHRyYW5zbGF0aW9uIGlzCitpbmNsdWRl ZCB3aXRob3V0IGxpbWl0YXRpb24gaW4gdGhlIHRlcm0gIm1vZGlmaWNhdGlv biIuKQorCisgICJTb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUg cHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yCittYWtpbmcgbW9kaWZp Y2F0aW9ucyB0byBpdC4gIEZvciBhIGxpYnJhcnksIGNvbXBsZXRlIHNvdXJj ZSBjb2RlIG1lYW5zCithbGwgdGhlIHNvdXJjZSBjb2RlIGZvciBhbGwgbW9k dWxlcyBpdCBjb250YWlucywgcGx1cyBhbnkgYXNzb2NpYXRlZAoraW50ZXJm YWNlIGRlZmluaXRpb24gZmlsZXMsIHBsdXMgdGhlIHNjcmlwdHMgdXNlZCB0 byBjb250cm9sIGNvbXBpbGF0aW9uCithbmQgaW5zdGFsbGF0aW9uIG9mIHRo ZSBsaWJyYXJ5LgorCisgIEFjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5n LCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBhcmUgbm90Citjb3Zl cmVkIGJ5IHRoaXMgTGljZW5zZTsgdGhleSBhcmUgb3V0c2lkZSBpdHMgc2Nv cGUuICBUaGUgYWN0IG9mCitydW5uaW5nIGEgcHJvZ3JhbSB1c2luZyB0aGUg TGlicmFyeSBpcyBub3QgcmVzdHJpY3RlZCwgYW5kIG91dHB1dCBmcm9tCitz dWNoIGEgcHJvZ3JhbSBpcyBjb3ZlcmVkIG9ubHkgaWYgaXRzIGNvbnRlbnRz IGNvbnN0aXR1dGUgYSB3b3JrIGJhc2VkCitvbiB0aGUgTGlicmFyeSAoaW5k ZXBlbmRlbnQgb2YgdGhlIHVzZSBvZiB0aGUgTGlicmFyeSBpbiBhIHRvb2wg Zm9yCit3cml0aW5nIGl0KS4gIFdoZXRoZXIgdGhhdCBpcyB0cnVlIGRlcGVu ZHMgb24gd2hhdCB0aGUgTGlicmFyeSBkb2VzCithbmQgd2hhdCB0aGUgcHJv Z3JhbSB0aGF0IHVzZXMgdGhlIExpYnJhcnkgZG9lcy4KKworICAxLiBZb3Ug bWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRo ZSBMaWJyYXJ5J3MKK2NvbXBsZXRlIHNvdXJjZSBjb2RlIGFzIHlvdSByZWNl aXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0Cit5b3UgY29u c3BpY3VvdXNseSBhbmQgYXBwcm9wcmlhdGVseSBwdWJsaXNoIG9uIGVhY2gg Y29weSBhbgorYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBhbmQgZGlz Y2xhaW1lciBvZiB3YXJyYW50eTsga2VlcCBpbnRhY3QKK2FsbCB0aGUgbm90 aWNlcyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSBhbmQgdG8gdGhlIGFi c2VuY2Ugb2YgYW55Cit3YXJyYW50eTsgYW5kIGRpc3RyaWJ1dGUgYSBjb3B5 IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZQorTGlicmFyeS4KKwor ICBZb3UgbWF5IGNoYXJnZSBhIGZlZSBmb3IgdGhlIHBoeXNpY2FsIGFjdCBv ZiB0cmFuc2ZlcnJpbmcgYSBjb3B5LAorYW5kIHlvdSBtYXkgYXQgeW91ciBv cHRpb24gb2ZmZXIgd2FycmFudHkgcHJvdGVjdGlvbiBpbiBleGNoYW5nZSBm b3IgYQorZmVlLgorCisgIDIuIFlvdSBtYXkgbW9kaWZ5IHlvdXIgY29weSBv ciBjb3BpZXMgb2YgdGhlIExpYnJhcnkgb3IgYW55IHBvcnRpb24KK29mIGl0 LCB0aHVzIGZvcm1pbmcgYSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5LCBh bmQgY29weSBhbmQKK2Rpc3RyaWJ1dGUgc3VjaCBtb2RpZmljYXRpb25zIG9y IHdvcmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gMQorYWJvdmUsIHBy b3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0 aW9uczoKKworICAgIGEpIFRoZSBtb2RpZmllZCB3b3JrIG11c3QgaXRzZWxm IGJlIGEgc29mdHdhcmUgbGlicmFyeS4KKworICAgIGIpIFlvdSBtdXN0IGNh dXNlIHRoZSBmaWxlcyBtb2RpZmllZCB0byBjYXJyeSBwcm9taW5lbnQgbm90 aWNlcworICAgIHN0YXRpbmcgdGhhdCB5b3UgY2hhbmdlZCB0aGUgZmlsZXMg YW5kIHRoZSBkYXRlIG9mIGFueSBjaGFuZ2UuCisKKyAgICBjKSBZb3UgbXVz dCBjYXVzZSB0aGUgd2hvbGUgb2YgdGhlIHdvcmsgdG8gYmUgbGljZW5zZWQg YXQgbm8KKyAgICBjaGFyZ2UgdG8gYWxsIHRoaXJkIHBhcnRpZXMgdW5kZXIg dGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4KKworICAgIGQpIElmIGEgZmFj aWxpdHkgaW4gdGhlIG1vZGlmaWVkIExpYnJhcnkgcmVmZXJzIHRvIGEgZnVu Y3Rpb24gb3IgYQorICAgIHRhYmxlIG9mIGRhdGEgdG8gYmUgc3VwcGxpZWQg YnkgYW4gYXBwbGljYXRpb24gcHJvZ3JhbSB0aGF0IHVzZXMKKyAgICB0aGUg ZmFjaWxpdHksIG90aGVyIHRoYW4gYXMgYW4gYXJndW1lbnQgcGFzc2VkIHdo ZW4gdGhlIGZhY2lsaXR5CisgICAgaXMgaW52b2tlZCwgdGhlbiB5b3UgbXVz dCBtYWtlIGEgZ29vZCBmYWl0aCBlZmZvcnQgdG8gZW5zdXJlIHRoYXQsCisg ICAgaW4gdGhlIGV2ZW50IGFuIGFwcGxpY2F0aW9uIGRvZXMgbm90IHN1cHBs eSBzdWNoIGZ1bmN0aW9uIG9yCisgICAgdGFibGUsIHRoZSBmYWNpbGl0eSBz dGlsbCBvcGVyYXRlcywgYW5kIHBlcmZvcm1zIHdoYXRldmVyIHBhcnQgb2YK KyAgICBpdHMgcHVycG9zZSByZW1haW5zIG1lYW5pbmdmdWwuCisKKyAgICAo Rm9yIGV4YW1wbGUsIGEgZnVuY3Rpb24gaW4gYSBsaWJyYXJ5IHRvIGNvbXB1 dGUgc3F1YXJlIHJvb3RzIGhhcworICAgIGEgcHVycG9zZSB0aGF0IGlzIGVu dGlyZWx5IHdlbGwtZGVmaW5lZCBpbmRlcGVuZGVudCBvZiB0aGUKKyAgICBh cHBsaWNhdGlvbi4gIFRoZXJlZm9yZSwgU3Vic2VjdGlvbiAyZCByZXF1aXJl cyB0aGF0IGFueQorICAgIGFwcGxpY2F0aW9uLXN1cHBsaWVkIGZ1bmN0aW9u IG9yIHRhYmxlIHVzZWQgYnkgdGhpcyBmdW5jdGlvbiBtdXN0CisgICAgYmUg b3B0aW9uYWw6IGlmIHRoZSBhcHBsaWNhdGlvbiBkb2VzIG5vdCBzdXBwbHkg aXQsIHRoZSBzcXVhcmUKKyAgICByb290IGZ1bmN0aW9uIG11c3Qgc3RpbGwg Y29tcHV0ZSBzcXVhcmUgcm9vdHMuKQorCitUaGVzZSByZXF1aXJlbWVudHMg YXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMgYSB3aG9sZS4gIElmCitp ZGVudGlmaWFibGUgc2VjdGlvbnMgb2YgdGhhdCB3b3JrIGFyZSBub3QgZGVy aXZlZCBmcm9tIHRoZSBMaWJyYXJ5LAorYW5kIGNhbiBiZSByZWFzb25hYmx5 IGNvbnNpZGVyZWQgaW5kZXBlbmRlbnQgYW5kIHNlcGFyYXRlIHdvcmtzIGlu Cit0aGVtc2VsdmVzLCB0aGVuIHRoaXMgTGljZW5zZSwgYW5kIGl0cyB0ZXJt cywgZG8gbm90IGFwcGx5IHRvIHRob3NlCitzZWN0aW9ucyB3aGVuIHlvdSBk aXN0cmlidXRlIHRoZW0gYXMgc2VwYXJhdGUgd29ya3MuICBCdXQgd2hlbiB5 b3UKK2Rpc3RyaWJ1dGUgdGhlIHNhbWUgc2VjdGlvbnMgYXMgcGFydCBvZiBh IHdob2xlIHdoaWNoIGlzIGEgd29yayBiYXNlZAorb24gdGhlIExpYnJhcnks IHRoZSBkaXN0cmlidXRpb24gb2YgdGhlIHdob2xlIG11c3QgYmUgb24gdGhl IHRlcm1zIG9mCit0aGlzIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZv ciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kIHRvIHRoZQorZW50aXJlIHdob2xl LCBhbmQgdGh1cyB0byBlYWNoIGFuZCBldmVyeSBwYXJ0IHJlZ2FyZGxlc3Mg b2Ygd2hvIHdyb3RlCitpdC4KKworVGh1cywgaXQgaXMgbm90IHRoZSBpbnRl bnQgb2YgdGhpcyBzZWN0aW9uIHRvIGNsYWltIHJpZ2h0cyBvciBjb250ZXN0 Cit5b3VyIHJpZ2h0cyB0byB3b3JrIHdyaXR0ZW4gZW50aXJlbHkgYnkgeW91 OyByYXRoZXIsIHRoZSBpbnRlbnQgaXMgdG8KK2V4ZXJjaXNlIHRoZSByaWdo dCB0byBjb250cm9sIHRoZSBkaXN0cmlidXRpb24gb2YgZGVyaXZhdGl2ZSBv cgorY29sbGVjdGl2ZSB3b3JrcyBiYXNlZCBvbiB0aGUgTGlicmFyeS4KKwor SW4gYWRkaXRpb24sIG1lcmUgYWdncmVnYXRpb24gb2YgYW5vdGhlciB3b3Jr IG5vdCBiYXNlZCBvbiB0aGUgTGlicmFyeQord2l0aCB0aGUgTGlicmFyeSAo b3Igd2l0aCBhIHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnkpIG9uIGEgdm9s dW1lIG9mCithIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSBkb2Vz IG5vdCBicmluZyB0aGUgb3RoZXIgd29yayB1bmRlcgordGhlIHNjb3BlIG9m IHRoaXMgTGljZW5zZS4KKworICAzLiBZb3UgbWF5IG9wdCB0byBhcHBseSB0 aGUgdGVybXMgb2YgdGhlIG9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYwor TGljZW5zZSBpbnN0ZWFkIG9mIHRoaXMgTGljZW5zZSB0byBhIGdpdmVuIGNv cHkgb2YgdGhlIExpYnJhcnkuICBUbyBkbwordGhpcywgeW91IG11c3QgYWx0 ZXIgYWxsIHRoZSBub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNl LCBzbwordGhhdCB0aGV5IHJlZmVyIHRvIHRoZSBvcmRpbmFyeSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyLAoraW5zdGVhZCBvZiB0 byB0aGlzIExpY2Vuc2UuICAoSWYgYSBuZXdlciB2ZXJzaW9uIHRoYW4gdmVy c2lvbiAyIG9mIHRoZQorb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgaGFzIGFwcGVhcmVkLCB0aGVuIHlvdSBjYW4gc3BlY2lmeQordGhh dCB2ZXJzaW9uIGluc3RlYWQgaWYgeW91IHdpc2guKSAgRG8gbm90IG1ha2Ug YW55IG90aGVyIGNoYW5nZSBpbgordGhlc2Ugbm90aWNlcy4KKworICBPbmNl IHRoaXMgY2hhbmdlIGlzIG1hZGUgaW4gYSBnaXZlbiBjb3B5LCBpdCBpcyBp cnJldmVyc2libGUgZm9yCit0aGF0IGNvcHksIHNvIHRoZSBvcmRpbmFyeSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcHBsaWVzIHRvIGFsbAorc3Vi c2VxdWVudCBjb3BpZXMgYW5kIGRlcml2YXRpdmUgd29ya3MgbWFkZSBmcm9t IHRoYXQgY29weS4KKworICBUaGlzIG9wdGlvbiBpcyB1c2VmdWwgd2hlbiB5 b3Ugd2lzaCB0byBjb3B5IHBhcnQgb2YgdGhlIGNvZGUgb2YKK3RoZSBMaWJy YXJ5IGludG8gYSBwcm9ncmFtIHRoYXQgaXMgbm90IGEgbGlicmFyeS4KKwor ICA0LiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdGhlIExpYnJhcnkg KG9yIGEgcG9ydGlvbiBvcgorZGVyaXZhdGl2ZSBvZiBpdCwgdW5kZXIgU2Vj dGlvbiAyKSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0KK3Vu ZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIHByb3Zp ZGVkIHRoYXQgeW91IGFjY29tcGFueQoraXQgd2l0aCB0aGUgY29tcGxldGUg Y29ycmVzcG9uZGluZyBtYWNoaW5lLXJlYWRhYmxlIHNvdXJjZSBjb2RlLCB3 aGljaAorbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2Yg U2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBvbiBhCittZWRpdW0gY3VzdG9tYXJp bHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2UuCisKKyAgSWYgZGlz dHJpYnV0aW9uIG9mIG9iamVjdCBjb2RlIGlzIG1hZGUgYnkgb2ZmZXJpbmcg YWNjZXNzIHRvIGNvcHkKK2Zyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCB0aGVu IG9mZmVyaW5nIGVxdWl2YWxlbnQgYWNjZXNzIHRvIGNvcHkgdGhlCitzb3Vy Y2UgY29kZSBmcm9tIHRoZSBzYW1lIHBsYWNlIHNhdGlzZmllcyB0aGUgcmVx dWlyZW1lbnQgdG8KK2Rpc3RyaWJ1dGUgdGhlIHNvdXJjZSBjb2RlLCBldmVu IHRob3VnaCB0aGlyZCBwYXJ0aWVzIGFyZSBub3QKK2NvbXBlbGxlZCB0byBj b3B5IHRoZSBzb3VyY2UgYWxvbmcgd2l0aCB0aGUgb2JqZWN0IGNvZGUuCisK KyAgNS4gQSBwcm9ncmFtIHRoYXQgY29udGFpbnMgbm8gZGVyaXZhdGl2ZSBv ZiBhbnkgcG9ydGlvbiBvZiB0aGUKK0xpYnJhcnksIGJ1dCBpcyBkZXNpZ25l ZCB0byB3b3JrIHdpdGggdGhlIExpYnJhcnkgYnkgYmVpbmcgY29tcGlsZWQg b3IKK2xpbmtlZCB3aXRoIGl0LCBpcyBjYWxsZWQgYSAid29yayB0aGF0IHVz ZXMgdGhlIExpYnJhcnkiLiAgU3VjaCBhCit3b3JrLCBpbiBpc29sYXRpb24s IGlzIG5vdCBhIGRlcml2YXRpdmUgd29yayBvZiB0aGUgTGlicmFyeSwgYW5k Cit0aGVyZWZvcmUgZmFsbHMgb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhpcyBM aWNlbnNlLgorCisgIEhvd2V2ZXIsIGxpbmtpbmcgYSAid29yayB0aGF0IHVz ZXMgdGhlIExpYnJhcnkiIHdpdGggdGhlIExpYnJhcnkKK2NyZWF0ZXMgYW4g ZXhlY3V0YWJsZSB0aGF0IGlzIGEgZGVyaXZhdGl2ZSBvZiB0aGUgTGlicmFy eSAoYmVjYXVzZSBpdAorY29udGFpbnMgcG9ydGlvbnMgb2YgdGhlIExpYnJh cnkpLCByYXRoZXIgdGhhbiBhICJ3b3JrIHRoYXQgdXNlcyB0aGUKK2xpYnJh cnkiLiAgVGhlIGV4ZWN1dGFibGUgaXMgdGhlcmVmb3JlIGNvdmVyZWQgYnkg dGhpcyBMaWNlbnNlLgorU2VjdGlvbiA2IHN0YXRlcyB0ZXJtcyBmb3IgZGlz dHJpYnV0aW9uIG9mIHN1Y2ggZXhlY3V0YWJsZXMuCisKKyAgV2hlbiBhICJ3 b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFyeSIgdXNlcyBtYXRlcmlhbCBmcm9t IGEgaGVhZGVyIGZpbGUKK3RoYXQgaXMgcGFydCBvZiB0aGUgTGlicmFyeSwg dGhlIG9iamVjdCBjb2RlIGZvciB0aGUgd29yayBtYXkgYmUgYQorZGVyaXZh dGl2ZSB3b3JrIG9mIHRoZSBMaWJyYXJ5IGV2ZW4gdGhvdWdoIHRoZSBzb3Vy Y2UgY29kZSBpcyBub3QuCitXaGV0aGVyIHRoaXMgaXMgdHJ1ZSBpcyBlc3Bl Y2lhbGx5IHNpZ25pZmljYW50IGlmIHRoZSB3b3JrIGNhbiBiZQorbGlua2Vk IHdpdGhvdXQgdGhlIExpYnJhcnksIG9yIGlmIHRoZSB3b3JrIGlzIGl0c2Vs ZiBhIGxpYnJhcnkuICBUaGUKK3RocmVzaG9sZCBmb3IgdGhpcyB0byBiZSB0 cnVlIGlzIG5vdCBwcmVjaXNlbHkgZGVmaW5lZCBieSBsYXcuCisKKyAgSWYg c3VjaCBhbiBvYmplY3QgZmlsZSB1c2VzIG9ubHkgbnVtZXJpY2FsIHBhcmFt ZXRlcnMsIGRhdGEKK3N0cnVjdHVyZSBsYXlvdXRzIGFuZCBhY2Nlc3NvcnMs IGFuZCBzbWFsbCBtYWNyb3MgYW5kIHNtYWxsIGlubGluZQorZnVuY3Rpb25z ICh0ZW4gbGluZXMgb3IgbGVzcyBpbiBsZW5ndGgpLCB0aGVuIHRoZSB1c2Ug b2YgdGhlIG9iamVjdAorZmlsZSBpcyB1bnJlc3RyaWN0ZWQsIHJlZ2FyZGxl c3Mgb2Ygd2hldGhlciBpdCBpcyBsZWdhbGx5IGEgZGVyaXZhdGl2ZQord29y ay4gIChFeGVjdXRhYmxlcyBjb250YWluaW5nIHRoaXMgb2JqZWN0IGNvZGUg cGx1cyBwb3J0aW9ucyBvZiB0aGUKK0xpYnJhcnkgd2lsbCBzdGlsbCBmYWxs IHVuZGVyIFNlY3Rpb24gNi4pCisKKyAgT3RoZXJ3aXNlLCBpZiB0aGUgd29y ayBpcyBhIGRlcml2YXRpdmUgb2YgdGhlIExpYnJhcnksIHlvdSBtYXkKK2Rp c3RyaWJ1dGUgdGhlIG9iamVjdCBjb2RlIGZvciB0aGUgd29yayB1bmRlciB0 aGUgdGVybXMgb2YgU2VjdGlvbiA2LgorQW55IGV4ZWN1dGFibGVzIGNvbnRh aW5pbmcgdGhhdCB3b3JrIGFsc28gZmFsbCB1bmRlciBTZWN0aW9uIDYsCit3 aGV0aGVyIG9yIG5vdCB0aGV5IGFyZSBsaW5rZWQgZGlyZWN0bHkgd2l0aCB0 aGUgTGlicmFyeSBpdHNlbGYuCisKKyAgNi4gQXMgYW4gZXhjZXB0aW9uIHRv IHRoZSBTZWN0aW9ucyBhYm92ZSwgeW91IG1heSBhbHNvIGNvbWJpbmUgb3IK K2xpbmsgYSAid29yayB0aGF0IHVzZXMgdGhlIExpYnJhcnkiIHdpdGggdGhl IExpYnJhcnkgdG8gcHJvZHVjZSBhCit3b3JrIGNvbnRhaW5pbmcgcG9ydGlv bnMgb2YgdGhlIExpYnJhcnksIGFuZCBkaXN0cmlidXRlIHRoYXQgd29yawor dW5kZXIgdGVybXMgb2YgeW91ciBjaG9pY2UsIHByb3ZpZGVkIHRoYXQgdGhl IHRlcm1zIHBlcm1pdAorbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGZvciB0 aGUgY3VzdG9tZXIncyBvd24gdXNlIGFuZCByZXZlcnNlCitlbmdpbmVlcmlu ZyBmb3IgZGVidWdnaW5nIHN1Y2ggbW9kaWZpY2F0aW9ucy4KKworICBZb3Ug bXVzdCBnaXZlIHByb21pbmVudCBub3RpY2Ugd2l0aCBlYWNoIGNvcHkgb2Yg dGhlIHdvcmsgdGhhdCB0aGUKK0xpYnJhcnkgaXMgdXNlZCBpbiBpdCBhbmQg dGhhdCB0aGUgTGlicmFyeSBhbmQgaXRzIHVzZSBhcmUgY292ZXJlZCBieQor dGhpcyBMaWNlbnNlLiAgWW91IG11c3Qgc3VwcGx5IGEgY29weSBvZiB0aGlz IExpY2Vuc2UuICBJZiB0aGUgd29yaworZHVyaW5nIGV4ZWN1dGlvbiBkaXNw bGF5cyBjb3B5cmlnaHQgbm90aWNlcywgeW91IG11c3QgaW5jbHVkZSB0aGUK K2NvcHlyaWdodCBub3RpY2UgZm9yIHRoZSBMaWJyYXJ5IGFtb25nIHRoZW0s IGFzIHdlbGwgYXMgYSByZWZlcmVuY2UKK2RpcmVjdGluZyB0aGUgdXNlciB0 byB0aGUgY29weSBvZiB0aGlzIExpY2Vuc2UuICBBbHNvLCB5b3UgbXVzdCBk byBvbmUKK29mIHRoZXNlIHRoaW5nczoKKworICAgIGEpIEFjY29tcGFueSB0 aGUgd29yayB3aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nCisgICAg bWFjaGluZS1yZWFkYWJsZSBzb3VyY2UgY29kZSBmb3IgdGhlIExpYnJhcnkg aW5jbHVkaW5nIHdoYXRldmVyCisgICAgY2hhbmdlcyB3ZXJlIHVzZWQgaW4g dGhlIHdvcmsgKHdoaWNoIG11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIKKyAg ICBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlKTsgYW5kLCBpZiB0aGUgd29yayBp cyBhbiBleGVjdXRhYmxlIGxpbmtlZAorICAgIHdpdGggdGhlIExpYnJhcnks IHdpdGggdGhlIGNvbXBsZXRlIG1hY2hpbmUtcmVhZGFibGUgIndvcmsgdGhh dAorICAgIHVzZXMgdGhlIExpYnJhcnkiLCBhcyBvYmplY3QgY29kZSBhbmQv b3Igc291cmNlIGNvZGUsIHNvIHRoYXQgdGhlCisgICAgdXNlciBjYW4gbW9k aWZ5IHRoZSBMaWJyYXJ5IGFuZCB0aGVuIHJlbGluayB0byBwcm9kdWNlIGEg bW9kaWZpZWQKKyAgICBleGVjdXRhYmxlIGNvbnRhaW5pbmcgdGhlIG1vZGlm aWVkIExpYnJhcnkuICAoSXQgaXMgdW5kZXJzdG9vZAorICAgIHRoYXQgdGhl IHVzZXIgd2hvIGNoYW5nZXMgdGhlIGNvbnRlbnRzIG9mIGRlZmluaXRpb25z IGZpbGVzIGluIHRoZQorICAgIExpYnJhcnkgd2lsbCBub3QgbmVjZXNzYXJp bHkgYmUgYWJsZSB0byByZWNvbXBpbGUgdGhlIGFwcGxpY2F0aW9uCisgICAg dG8gdXNlIHRoZSBtb2RpZmllZCBkZWZpbml0aW9ucy4pCisKKyAgICBiKSBV c2UgYSBzdWl0YWJsZSBzaGFyZWQgbGlicmFyeSBtZWNoYW5pc20gZm9yIGxp bmtpbmcgd2l0aCB0aGUKKyAgICBMaWJyYXJ5LiAgQSBzdWl0YWJsZSBtZWNo YW5pc20gaXMgb25lIHRoYXQgKDEpIHVzZXMgYXQgcnVuIHRpbWUgYQorICAg IGNvcHkgb2YgdGhlIGxpYnJhcnkgYWxyZWFkeSBwcmVzZW50IG9uIHRoZSB1 c2VyJ3MgY29tcHV0ZXIgc3lzdGVtLAorICAgIHJhdGhlciB0aGFuIGNvcHlp bmcgbGlicmFyeSBmdW5jdGlvbnMgaW50byB0aGUgZXhlY3V0YWJsZSwgYW5k ICgyKQorICAgIHdpbGwgb3BlcmF0ZSBwcm9wZXJseSB3aXRoIGEgbW9kaWZp ZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgaWYKKyAgICB0aGUgdXNlciBp bnN0YWxscyBvbmUsIGFzIGxvbmcgYXMgdGhlIG1vZGlmaWVkIHZlcnNpb24g aXMKKyAgICBpbnRlcmZhY2UtY29tcGF0aWJsZSB3aXRoIHRoZSB2ZXJzaW9u IHRoYXQgdGhlIHdvcmsgd2FzIG1hZGUgd2l0aC4KKworICAgIGMpIEFjY29t cGFueSB0aGUgd29yayB3aXRoIGEgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9y IGF0CisgICAgbGVhc3QgdGhyZWUgeWVhcnMsIHRvIGdpdmUgdGhlIHNhbWUg dXNlciB0aGUgbWF0ZXJpYWxzCisgICAgc3BlY2lmaWVkIGluIFN1YnNlY3Rp b24gNmEsIGFib3ZlLCBmb3IgYSBjaGFyZ2Ugbm8gbW9yZQorICAgIHRoYW4g dGhlIGNvc3Qgb2YgcGVyZm9ybWluZyB0aGlzIGRpc3RyaWJ1dGlvbi4KKwor ICAgIGQpIElmIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd29yayBpcyBtYWRlIGJ5 IG9mZmVyaW5nIGFjY2VzcyB0byBjb3B5CisgICAgZnJvbSBhIGRlc2lnbmF0 ZWQgcGxhY2UsIG9mZmVyIGVxdWl2YWxlbnQgYWNjZXNzIHRvIGNvcHkgdGhl IGFib3ZlCisgICAgc3BlY2lmaWVkIG1hdGVyaWFscyBmcm9tIHRoZSBzYW1l IHBsYWNlLgorCisgICAgZSkgVmVyaWZ5IHRoYXQgdGhlIHVzZXIgaGFzIGFs cmVhZHkgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZXNlCisgICAgbWF0ZXJpYWxz IG9yIHRoYXQgeW91IGhhdmUgYWxyZWFkeSBzZW50IHRoaXMgdXNlciBhIGNv cHkuCisKKyAgRm9yIGFuIGV4ZWN1dGFibGUsIHRoZSByZXF1aXJlZCBmb3Jt IG9mIHRoZSAid29yayB0aGF0IHVzZXMgdGhlCitMaWJyYXJ5IiBtdXN0IGlu Y2x1ZGUgYW55IGRhdGEgYW5kIHV0aWxpdHkgcHJvZ3JhbXMgbmVlZGVkIGZv cgorcmVwcm9kdWNpbmcgdGhlIGV4ZWN1dGFibGUgZnJvbSBpdC4gIEhvd2V2 ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24sCit0aGUgbWF0ZXJpYWxzIHRv IGJlIGRpc3RyaWJ1dGVkIG5lZWQgbm90IGluY2x1ZGUgYW55dGhpbmcgdGhh dCBpcworbm9ybWFsbHkgZGlzdHJpYnV0ZWQgKGluIGVpdGhlciBzb3VyY2Ug b3IgYmluYXJ5IGZvcm0pIHdpdGggdGhlIG1ham9yCitjb21wb25lbnRzIChj b21waWxlciwga2VybmVsLCBhbmQgc28gb24pIG9mIHRoZSBvcGVyYXRpbmcg c3lzdGVtIG9uCit3aGljaCB0aGUgZXhlY3V0YWJsZSBydW5zLCB1bmxlc3Mg dGhhdCBjb21wb25lbnQgaXRzZWxmIGFjY29tcGFuaWVzCit0aGUgZXhlY3V0 YWJsZS4KKworICBJdCBtYXkgaGFwcGVuIHRoYXQgdGhpcyByZXF1aXJlbWVu dCBjb250cmFkaWN0cyB0aGUgbGljZW5zZQorcmVzdHJpY3Rpb25zIG9mIG90 aGVyIHByb3ByaWV0YXJ5IGxpYnJhcmllcyB0aGF0IGRvIG5vdCBub3JtYWxs eQorYWNjb21wYW55IHRoZSBvcGVyYXRpbmcgc3lzdGVtLiAgU3VjaCBhIGNv bnRyYWRpY3Rpb24gbWVhbnMgeW91IGNhbm5vdAordXNlIGJvdGggdGhlbSBh bmQgdGhlIExpYnJhcnkgdG9nZXRoZXIgaW4gYW4gZXhlY3V0YWJsZSB0aGF0 IHlvdQorZGlzdHJpYnV0ZS4KKworICA3LiBZb3UgbWF5IHBsYWNlIGxpYnJh cnkgZmFjaWxpdGllcyB0aGF0IGFyZSBhIHdvcmsgYmFzZWQgb24gdGhlCitM aWJyYXJ5IHNpZGUtYnktc2lkZSBpbiBhIHNpbmdsZSBsaWJyYXJ5IHRvZ2V0 aGVyIHdpdGggb3RoZXIgbGlicmFyeQorZmFjaWxpdGllcyBub3QgY292ZXJl ZCBieSB0aGlzIExpY2Vuc2UsIGFuZCBkaXN0cmlidXRlIHN1Y2ggYSBjb21i aW5lZAorbGlicmFyeSwgcHJvdmlkZWQgdGhhdCB0aGUgc2VwYXJhdGUgZGlz dHJpYnV0aW9uIG9mIHRoZSB3b3JrIGJhc2VkIG9uCit0aGUgTGlicmFyeSBh bmQgb2YgdGhlIG90aGVyIGxpYnJhcnkgZmFjaWxpdGllcyBpcyBvdGhlcndp c2UKK3Blcm1pdHRlZCwgYW5kIHByb3ZpZGVkIHRoYXQgeW91IGRvIHRoZXNl IHR3byB0aGluZ3M6CisKKyAgICBhKSBBY2NvbXBhbnkgdGhlIGNvbWJpbmVk IGxpYnJhcnkgd2l0aCBhIGNvcHkgb2YgdGhlIHNhbWUgd29yaworICAgIGJh c2VkIG9uIHRoZSBMaWJyYXJ5LCB1bmNvbWJpbmVkIHdpdGggYW55IG90aGVy IGxpYnJhcnkKKyAgICBmYWNpbGl0aWVzLiAgVGhpcyBtdXN0IGJlIGRpc3Ry aWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAgICBTZWN0aW9ucyBh Ym92ZS4KKworICAgIGIpIEdpdmUgcHJvbWluZW50IG5vdGljZSB3aXRoIHRo ZSBjb21iaW5lZCBsaWJyYXJ5IG9mIHRoZSBmYWN0CisgICAgdGhhdCBwYXJ0 IG9mIGl0IGlzIGEgd29yayBiYXNlZCBvbiB0aGUgTGlicmFyeSwgYW5kIGV4 cGxhaW5pbmcKKyAgICB3aGVyZSB0byBmaW5kIHRoZSBhY2NvbXBhbnlpbmcg dW5jb21iaW5lZCBmb3JtIG9mIHRoZSBzYW1lIHdvcmsuCisKKyAgOC4gWW91 IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBsaW5rIHdpdGgs IG9yIGRpc3RyaWJ1dGUKK3RoZSBMaWJyYXJ5IGV4Y2VwdCBhcyBleHByZXNz bHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55CithdHRlbXB0 IG90aGVyd2lzZSB0byBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIGxpbmsg d2l0aCwgb3IKK2Rpc3RyaWJ1dGUgdGhlIExpYnJhcnkgaXMgdm9pZCwgYW5k IHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91cgorcmlnaHRzIHVu ZGVyIHRoaXMgTGljZW5zZS4gIEhvd2V2ZXIsIHBhcnRpZXMgd2hvIGhhdmUg cmVjZWl2ZWQgY29waWVzLAorb3IgcmlnaHRzLCBmcm9tIHlvdSB1bmRlciB0 aGlzIExpY2Vuc2Ugd2lsbCBub3QgaGF2ZSB0aGVpciBsaWNlbnNlcwordGVy bWluYXRlZCBzbyBsb25nIGFzIHN1Y2ggcGFydGllcyByZW1haW4gaW4gZnVs bCBjb21wbGlhbmNlLgorCisgIDkuIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRv IGFjY2VwdCB0aGlzIExpY2Vuc2UsIHNpbmNlIHlvdSBoYXZlIG5vdAorc2ln bmVkIGl0LiAgSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5b3UgcGVy bWlzc2lvbiB0byBtb2RpZnkgb3IKK2Rpc3RyaWJ1dGUgdGhlIExpYnJhcnkg b3IgaXRzIGRlcml2YXRpdmUgd29ya3MuICBUaGVzZSBhY3Rpb25zIGFyZQor cHJvaGliaXRlZCBieSBsYXcgaWYgeW91IGRvIG5vdCBhY2NlcHQgdGhpcyBM aWNlbnNlLiAgVGhlcmVmb3JlLCBieQorbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1 dGluZyB0aGUgTGlicmFyeSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCitM aWJyYXJ5KSwgeW91IGluZGljYXRlIHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlz IExpY2Vuc2UgdG8gZG8gc28sIGFuZAorYWxsIGl0cyB0ZXJtcyBhbmQgY29u ZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW5nIG9yIG1vZGlmeWlu ZwordGhlIExpYnJhcnkgb3Igd29ya3MgYmFzZWQgb24gaXQuCisKKyAgMTAu IEVhY2ggdGltZSB5b3UgcmVkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IChvciBh bnkgd29yayBiYXNlZCBvbiB0aGUKK0xpYnJhcnkpLCB0aGUgcmVjaXBpZW50 IGF1dG9tYXRpY2FsbHkgcmVjZWl2ZXMgYSBsaWNlbnNlIGZyb20gdGhlCitv cmlnaW5hbCBsaWNlbnNvciB0byBjb3B5LCBkaXN0cmlidXRlLCBsaW5rIHdp dGggb3IgbW9kaWZ5IHRoZSBMaWJyYXJ5CitzdWJqZWN0IHRvIHRoZXNlIHRl cm1zIGFuZCBjb25kaXRpb25zLiAgWW91IG1heSBub3QgaW1wb3NlIGFueSBm dXJ0aGVyCityZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJj aXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uCitZb3UgYXJlIG5v dCByZXNwb25zaWJsZSBmb3IgZW5mb3JjaW5nIGNvbXBsaWFuY2UgYnkgdGhp cmQgcGFydGllcyB3aXRoCit0aGlzIExpY2Vuc2UuCisKKyAgMTEuIElmLCBh cyBhIGNvbnNlcXVlbmNlIG9mIGEgY291cnQganVkZ21lbnQgb3IgYWxsZWdh dGlvbiBvZiBwYXRlbnQKK2luZnJpbmdlbWVudCBvciBmb3IgYW55IG90aGVy IHJlYXNvbiAobm90IGxpbWl0ZWQgdG8gcGF0ZW50IGlzc3VlcyksCitjb25k aXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBv cmRlciwgYWdyZWVtZW50IG9yCitvdGhlcndpc2UpIHRoYXQgY29udHJhZGlj dCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90 CitleGN1c2UgeW91IGZyb20gdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNl bnNlLiAgSWYgeW91IGNhbm5vdAorZGlzdHJpYnV0ZSBzbyBhcyB0byBzYXRp c2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhp cworTGljZW5zZSBhbmQgYW55IG90aGVyIHBlcnRpbmVudCBvYmxpZ2F0aW9u cywgdGhlbiBhcyBhIGNvbnNlcXVlbmNlIHlvdQorbWF5IG5vdCBkaXN0cmli dXRlIHRoZSBMaWJyYXJ5IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiBhIHBh dGVudAorbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHktZnJlZSBy ZWRpc3RyaWJ1dGlvbiBvZiB0aGUgTGlicmFyeSBieQorYWxsIHRob3NlIHdo byByZWNlaXZlIGNvcGllcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IHRocm91 Z2ggeW91LCB0aGVuCit0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkg Ym90aCBpdCBhbmQgdGhpcyBMaWNlbnNlIHdvdWxkIGJlIHRvCityZWZyYWlu IGVudGlyZWx5IGZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBMaWJyYXJ5Lgor CitJZiBhbnkgcG9ydGlvbiBvZiB0aGlzIHNlY3Rpb24gaXMgaGVsZCBpbnZh bGlkIG9yIHVuZW5mb3JjZWFibGUgdW5kZXIgYW55CitwYXJ0aWN1bGFyIGNp cmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50 ZW5kZWQgdG8gYXBwbHksCithbmQgdGhlIHNlY3Rpb24gYXMgYSB3aG9sZSBp cyBpbnRlbmRlZCB0byBhcHBseSBpbiBvdGhlciBjaXJjdW1zdGFuY2VzLgor CitJdCBpcyBub3QgdGhlIHB1cnBvc2Ugb2YgdGhpcyBzZWN0aW9uIHRvIGlu ZHVjZSB5b3UgdG8gaW5mcmluZ2UgYW55CitwYXRlbnRzIG9yIG90aGVyIHBy b3BlcnR5IHJpZ2h0IGNsYWltcyBvciB0byBjb250ZXN0IHZhbGlkaXR5IG9m IGFueQorc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMgdGhlIHNvbGUg cHVycG9zZSBvZiBwcm90ZWN0aW5nIHRoZQoraW50ZWdyaXR5IG9mIHRoZSBm cmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGlvbiBzeXN0ZW0gd2hpY2ggaXMKK2lt cGxlbWVudGVkIGJ5IHB1YmxpYyBsaWNlbnNlIHByYWN0aWNlcy4gIE1hbnkg cGVvcGxlIGhhdmUgbWFkZQorZ2VuZXJvdXMgY29udHJpYnV0aW9ucyB0byB0 aGUgd2lkZSByYW5nZSBvZiBzb2Z0d2FyZSBkaXN0cmlidXRlZAordGhyb3Vn aCB0aGF0IHN5c3RlbSBpbiByZWxpYW5jZSBvbiBjb25zaXN0ZW50IGFwcGxp Y2F0aW9uIG9mIHRoYXQKK3N5c3RlbTsgaXQgaXMgdXAgdG8gdGhlIGF1dGhv ci9kb25vciB0byBkZWNpZGUgaWYgaGUgb3Igc2hlIGlzIHdpbGxpbmcKK3Rv IGRpc3RyaWJ1dGUgc29mdHdhcmUgdGhyb3VnaCBhbnkgb3RoZXIgc3lzdGVt IGFuZCBhIGxpY2Vuc2VlIGNhbm5vdAoraW1wb3NlIHRoYXQgY2hvaWNlLgor CitUaGlzIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gbWFrZSB0aG9yb3VnaGx5 IGNsZWFyIHdoYXQgaXMgYmVsaWV2ZWQgdG8KK2JlIGEgY29uc2VxdWVuY2Ug b2YgdGhlIHJlc3Qgb2YgdGhpcyBMaWNlbnNlLgorCisgIDEyLiBJZiB0aGUg ZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIExpYnJhcnkgaXMgcmVz dHJpY3RlZCBpbgorY2VydGFpbiBjb3VudHJpZXMgZWl0aGVyIGJ5IHBhdGVu dHMgb3IgYnkgY29weXJpZ2h0ZWQgaW50ZXJmYWNlcywgdGhlCitvcmlnaW5h bCBjb3B5cmlnaHQgaG9sZGVyIHdobyBwbGFjZXMgdGhlIExpYnJhcnkgdW5k ZXIgdGhpcyBMaWNlbnNlIG1heSBhZGQKK2FuIGV4cGxpY2l0IGdlb2dyYXBo aWNhbCBkaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRpbmcgdGhvc2Ug Y291bnRyaWVzLAorc28gdGhhdCBkaXN0cmlidXRpb24gaXMgcGVybWl0dGVk IG9ubHkgaW4gb3IgYW1vbmcgY291bnRyaWVzIG5vdCB0aHVzCitleGNsdWRl ZC4gIEluIHN1Y2ggY2FzZSwgdGhpcyBMaWNlbnNlIGluY29ycG9yYXRlcyB0 aGUgbGltaXRhdGlvbiBhcyBpZgord3JpdHRlbiBpbiB0aGUgYm9keSBvZiB0 aGlzIExpY2Vuc2UuCisKKyAgMTMuIFRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24gbWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQvb3IgbmV3Cit2ZXJzaW9u cyBvZiB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0 aW1lIHRvIHRpbWUuCitTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsIGJlIHNpbWls YXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sCitidXQgbWF5 IGRpZmZlciBpbiBkZXRhaWwgdG8gYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3Ig Y29uY2VybnMuCisKK0VhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1 aXNoaW5nIHZlcnNpb24gbnVtYmVyLiAgSWYgdGhlIExpYnJhcnkKK3NwZWNp ZmllcyBhIHZlcnNpb24gbnVtYmVyIG9mIHRoaXMgTGljZW5zZSB3aGljaCBh cHBsaWVzIHRvIGl0IGFuZAorImFueSBsYXRlciB2ZXJzaW9uIiwgeW91IGhh dmUgdGhlIG9wdGlvbiBvZiBmb2xsb3dpbmcgdGhlIHRlcm1zIGFuZAorY29u ZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCB2ZXJzaW9uIG9yIG9mIGFueSBsYXRl ciB2ZXJzaW9uIHB1Ymxpc2hlZCBieQordGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbi4gIElmIHRoZSBMaWJyYXJ5IGRvZXMgbm90IHNwZWNpZnkgYQor bGljZW5zZSB2ZXJzaW9uIG51bWJlciwgeW91IG1heSBjaG9vc2UgYW55IHZl cnNpb24gZXZlciBwdWJsaXNoZWQgYnkKK3RoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24uCisKKyAgMTQuIElmIHlvdSB3aXNoIHRvIGluY29ycG9yYXRl IHBhcnRzIG9mIHRoZSBMaWJyYXJ5IGludG8gb3RoZXIgZnJlZQorcHJvZ3Jh bXMgd2hvc2UgZGlzdHJpYnV0aW9uIGNvbmRpdGlvbnMgYXJlIGluY29tcGF0 aWJsZSB3aXRoIHRoZXNlLAord3JpdGUgdG8gdGhlIGF1dGhvciB0byBhc2sg Zm9yIHBlcm1pc3Npb24uICBGb3Igc29mdHdhcmUgd2hpY2ggaXMKK2NvcHly aWdodGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIHdyaXRl IHRvIHRoZSBGcmVlCitTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3ZSBzb21ldGlt ZXMgbWFrZSBleGNlcHRpb25zIGZvciB0aGlzLiAgT3VyCitkZWNpc2lvbiB3 aWxsIGJlIGd1aWRlZCBieSB0aGUgdHdvIGdvYWxzIG9mIHByZXNlcnZpbmcg dGhlIGZyZWUgc3RhdHVzCitvZiBhbGwgZGVyaXZhdGl2ZXMgb2Ygb3VyIGZy ZWUgc29mdHdhcmUgYW5kIG9mIHByb21vdGluZyB0aGUgc2hhcmluZworYW5k IHJldXNlIG9mIHNvZnR3YXJlIGdlbmVyYWxseS4KKworICAgICAgICAgICAg ICAgIE5PIFdBUlJBTlRZCisKKyAgMTUuIEJFQ0FVU0UgVEhFIExJQlJBUlkg SVMgTElDRU5TRUQgRlJFRSBPRiBDSEFSR0UsIFRIRVJFIElTIE5PCitXQVJS QU5UWSBGT1IgVEhFIExJQlJBUlksIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVE IEJZIEFQUExJQ0FCTEUgTEFXLgorRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNU QVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQvT1IK K09USEVSIFBBUlRJRVMgUFJPVklERSBUSEUgTElCUkFSWSAiQVMgSVMiIFdJ VEhPVVQgV0FSUkFOVFkgT0YgQU5ZCitLSU5ELCBFSVRIRVIgRVhQUkVTU0VE IE9SIElNUExJRUQsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU SEUKK0lNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorUFVSUE9TRS4gIFRIRSBFTlRJ UkUgUklTSyBBUyBUTyBUSEUgUVVBTElUWSBBTkQgUEVSRk9STUFOQ0UgT0Yg VEhFCitMSUJSQVJZIElTIFdJVEggWU9VLiAgU0hPVUxEIFRIRSBMSUJSQVJZ IFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRQorVEhFIENPU1QgT0YgQUxM IE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgor CisgIDE2LiBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElD QUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOCitXUklUSU5HIFdJTEwgQU5ZIENP UFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTUFZIE1P RElGWQorQU5EL09SIFJFRElTVFJJQlVURSBUSEUgTElCUkFSWSBBUyBQRVJN SVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UKK0ZPUiBEQU1BR0VTLCBJ TkNMVURJTkcgQU5ZIEdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IK K0NPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUgVVNF IE9SIElOQUJJTElUWSBUTyBVU0UgVEhFCitMSUJSQVJZIChJTkNMVURJTkcg QlVUIE5PVCBMSU1JVEVEIFRPIExPU1MgT0YgREFUQSBPUiBEQVRBIEJFSU5H CitSRU5ERVJFRCBJTkFDQ1VSQVRFIE9SIExPU1NFUyBTVVNUQUlORUQgQlkg WU9VIE9SIFRISVJEIFBBUlRJRVMgT1IgQQorRkFJTFVSRSBPRiBUSEUgTElC UkFSWSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFNPRlRXQVJFKSwgRVZF TiBJRgorU1VDSCBIT0xERVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURW SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorREFNQUdFUy4KKwor ICAgICAgICAgICAgICAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUwor CisgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3Vy IE5ldyBMaWJyYXJpZXMKKworICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBsaWJy YXJ5LCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0Citw b3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgd2UgcmVjb21tZW5kIG1ha2lu ZyBpdCBmcmVlIHNvZnR3YXJlIHRoYXQKK2V2ZXJ5b25lIGNhbiByZWRpc3Ry aWJ1dGUgYW5kIGNoYW5nZS4gIFlvdSBjYW4gZG8gc28gYnkgcGVybWl0dGlu ZworcmVkaXN0cmlidXRpb24gdW5kZXIgdGhlc2UgdGVybXMgKG9yLCBhbHRl cm5hdGl2ZWx5LCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCitvcmRpbmFyeSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlKS4KKworICBUbyBhcHBseSB0aGVzZSB0 ZXJtcywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgbGli cmFyeS4gIEl0IGlzCitzYWZlc3QgdG8gYXR0YWNoIHRoZW0gdG8gdGhlIHN0 YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3RpdmVseQor Y29udmV5IHRoZSBleGNsdXNpb24gb2Ygd2FycmFudHk7IGFuZCBlYWNoIGZp bGUgc2hvdWxkIGhhdmUgYXQgbGVhc3QgdGhlCisiY29weXJpZ2h0IiBsaW5l IGFuZCBhIHBvaW50ZXIgdG8gd2hlcmUgdGhlIGZ1bGwgbm90aWNlIGlzIGZv dW5kLgorCisgICAgPG9uZSBsaW5lIHRvIGdpdmUgdGhlIGxpYnJhcnkncyBu YW1lIGFuZCBhIGJyaWVmIGlkZWEgb2Ygd2hhdCBpdCBkb2VzLj4KKyAgICBD b3B5cmlnaHQgKEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgorCisgICAg VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwg b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAg IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMZXNzZXIgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBH ZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxp YnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAg ICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo IEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKworQWxzbyBh ZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0 cm9uaWMgYW5kIHBhcGVyIG1haWwuCisKK1lvdSBzaG91bGQgYWxzbyBnZXQg eW91ciBlbXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBv ciB5b3VyCitzY2hvb2wsIGlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQg ZGlzY2xhaW1lciIgZm9yIHRoZSBsaWJyYXJ5LCBpZgorbmVjZXNzYXJ5LiAg SGVyZSBpcyBhIHNhbXBsZTsgYWx0ZXIgdGhlIG5hbWVzOgorCisgIFlveW9k eW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50 ZXJlc3QgaW4gdGhlCisgIGxpYnJhcnkgYEZyb2InIChhIGxpYnJhcnkgZm9y IHR3ZWFraW5nIGtub2JzKSB3cml0dGVuIGJ5IEphbWVzIFJhbmRvbSBIYWNr ZXIuCisKKyAgPHNpZ25hdHVyZSBvZiBUeSBDb29uPiwgMSBBcHJpbCAxOTkw CisgIFR5IENvb24sIFByZXNpZGVudCBvZiBWaWNlCisKK1RoYXQncyBhbGwg dGhlcmUgaXMgdG8gaXQhCisKKworPT09PT09PT09PT09PT09PT09CitMSUNF TlNFIC0gcHl0aG9uLGFyZ3BhcnNlLHdzZ2lyZWYsaW1wb3J0bGliCis9PT09 PT09PT09PT09PT09PT0KKworQS4gSElTVE9SWSBPRiBUSEUgU09GVFdBUkUK Kz09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1B5dGhvbiB3YXMgY3Jl YXRlZCBpbiB0aGUgZWFybHkgMTk5MHMgYnkgR3VpZG8gdmFuIFJvc3N1bSBh dCBTdGljaHRpbmcKK01hdGhlbWF0aXNjaCBDZW50cnVtIChDV0ksIHNlZSBo dHRwOi8vd3d3LmN3aS5ubCkgaW4gdGhlIE5ldGhlcmxhbmRzCithcyBhIHN1 Y2Nlc3NvciBvZiBhIGxhbmd1YWdlIGNhbGxlZCBBQkMuICBHdWlkbyByZW1h aW5zIFB5dGhvbidzCitwcmluY2lwYWwgYXV0aG9yLCBhbHRob3VnaCBpdCBp bmNsdWRlcyBtYW55IGNvbnRyaWJ1dGlvbnMgZnJvbSBvdGhlcnMuCisKK0lu IDE5OTUsIEd1aWRvIGNvbnRpbnVlZCBoaXMgd29yayBvbiBQeXRob24gYXQg dGhlIENvcnBvcmF0aW9uIGZvcgorTmF0aW9uYWwgUmVzZWFyY2ggSW5pdGlh dGl2ZXMgKENOUkksIHNlZSBodHRwOi8vd3d3LmNucmkucmVzdG9uLnZhLnVz KQoraW4gUmVzdG9uLCBWaXJnaW5pYSB3aGVyZSBoZSByZWxlYXNlZCBzZXZl cmFsIHZlcnNpb25zIG9mIHRoZQorc29mdHdhcmUuCisKK0luIE1heSAyMDAw LCBHdWlkbyBhbmQgdGhlIFB5dGhvbiBjb3JlIGRldmVsb3BtZW50IHRlYW0g bW92ZWQgdG8KK0JlT3Blbi5jb20gdG8gZm9ybSB0aGUgQmVPcGVuIFB5dGhv bkxhYnMgdGVhbS4gIEluIE9jdG9iZXIgb2YgdGhlIHNhbWUKK3llYXIsIHRo ZSBQeXRob25MYWJzIHRlYW0gbW92ZWQgdG8gRGlnaXRhbCBDcmVhdGlvbnMg KG5vdyBab3BlCitDb3Jwb3JhdGlvbiwgc2VlIGh0dHA6Ly93d3cuem9wZS5j b20pLiAgSW4gMjAwMSwgdGhlIFB5dGhvbiBTb2Z0d2FyZQorRm91bmRhdGlv biAoUFNGLCBzZWUgaHR0cDovL3d3dy5weXRob24ub3JnL3BzZi8pIHdhcyBm b3JtZWQsIGEKK25vbi1wcm9maXQgb3JnYW5pemF0aW9uIGNyZWF0ZWQgc3Bl Y2lmaWNhbGx5IHRvIG93biBQeXRob24tcmVsYXRlZAorSW50ZWxsZWN0dWFs IFByb3BlcnR5LiAgWm9wZSBDb3Jwb3JhdGlvbiBpcyBhIHNwb25zb3Jpbmcg bWVtYmVyIG9mCit0aGUgUFNGLgorCitBbGwgUHl0aG9uIHJlbGVhc2VzIGFy ZSBPcGVuIFNvdXJjZSAoc2VlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcg Zm9yCit0aGUgT3BlbiBTb3VyY2UgRGVmaW5pdGlvbikuICBIaXN0b3JpY2Fs bHksIG1vc3QsIGJ1dCBub3QgYWxsLCBQeXRob24KK3JlbGVhc2VzIGhhdmUg YWxzbyBiZWVuIEdQTC1jb21wYXRpYmxlOyB0aGUgdGFibGUgYmVsb3cgc3Vt bWFyaXplcwordGhlIHZhcmlvdXMgcmVsZWFzZXMuCisKKyAgICBSZWxlYXNl ICAgICAgICAgRGVyaXZlZCAgICAgWWVhciAgICAgICAgT3duZXIgICAgICAg R1BMLQorICAgICAgICAgICAgICAgICAgICBmcm9tICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb21wYXRpYmxlPyAoMSkKKworICAgIDAuOS4w IHRocnUgMS4yICAgICAgICAgICAgICAxOTkxLTE5OTUgICBDV0kgICAgICAg ICB5ZXMKKyAgICAxLjMgdGhydSAxLjUuMiAgMS4yICAgICAgICAgMTk5NS0x OTk5ICAgQ05SSSAgICAgICAgeWVzCisgICAgMS42ICAgICAgICAgICAgIDEu NS4yICAgICAgIDIwMDAgICAgICAgIENOUkkgICAgICAgIG5vCisgICAgMi4w ICAgICAgICAgICAgIDEuNiAgICAgICAgIDIwMDAgICAgICAgIEJlT3Blbi5j b20gIG5vCisgICAgMS42LjEgICAgICAgICAgIDEuNiAgICAgICAgIDIwMDEg ICAgICAgIENOUkkgICAgICAgIHllcyAoMikKKyAgICAyLjEgICAgICAgICAg ICAgMi4wKzEuNi4xICAgMjAwMSAgICAgICAgUFNGICAgICAgICAgbm8KKyAg ICAyLjAuMSAgICAgICAgICAgMi4wKzEuNi4xICAgMjAwMSAgICAgICAgUFNG ICAgICAgICAgeWVzCisgICAgMi4xLjEgICAgICAgICAgIDIuMSsyLjAuMSAg IDIwMDEgICAgICAgIFBTRiAgICAgICAgIHllcworICAgIDIuMS4yICAgICAg ICAgICAyLjEuMSAgICAgICAyMDAyICAgICAgICBQU0YgICAgICAgICB5ZXMK KyAgICAyLjEuMyAgICAgICAgICAgMi4xLjIgICAgICAgMjAwMiAgICAgICAg UFNGICAgICAgICAgeWVzCisgICAgMi4yIGFuZCBhYm92ZSAgIDIuMS4xICAg ICAgIDIwMDEtbm93ICAgIFBTRiAgICAgICAgIHllcworCitGb290bm90ZXM6 CisKKygxKSBHUEwtY29tcGF0aWJsZSBkb2Vzbid0IG1lYW4gdGhhdCB3ZSdy ZSBkaXN0cmlidXRpbmcgUHl0aG9uIHVuZGVyCisgICAgdGhlIEdQTC4gIEFs bCBQeXRob24gbGljZW5zZXMsIHVubGlrZSB0aGUgR1BMLCBsZXQgeW91IGRp c3RyaWJ1dGUKKyAgICBhIG1vZGlmaWVkIHZlcnNpb24gd2l0aG91dCBtYWtp bmcgeW91ciBjaGFuZ2VzIG9wZW4gc291cmNlLiAgVGhlCisgICAgR1BMLWNv bXBhdGlibGUgbGljZW5zZXMgbWFrZSBpdCBwb3NzaWJsZSB0byBjb21iaW5l IFB5dGhvbiB3aXRoCisgICAgb3RoZXIgc29mdHdhcmUgdGhhdCBpcyByZWxl YXNlZCB1bmRlciB0aGUgR1BMOyB0aGUgb3RoZXJzIGRvbid0LgorCisoMikg QWNjb3JkaW5nIHRvIFJpY2hhcmQgU3RhbGxtYW4sIDEuNi4xIGlzIG5vdCBH UEwtY29tcGF0aWJsZSwKKyAgICBiZWNhdXNlIGl0cyBsaWNlbnNlIGhhcyBh IGNob2ljZSBvZiBsYXcgY2xhdXNlLiAgQWNjb3JkaW5nIHRvCisgICAgQ05S SSwgaG93ZXZlciwgU3RhbGxtYW4ncyBsYXd5ZXIgaGFzIHRvbGQgQ05SSSdz IGxhd3llciB0aGF0IDEuNi4xCisgICAgaXMgIm5vdCBpbmNvbXBhdGlibGUi IHdpdGggdGhlIEdQTC4KKworVGhhbmtzIHRvIHRoZSBtYW55IG91dHNpZGUg dm9sdW50ZWVycyB3aG8gaGF2ZSB3b3JrZWQgdW5kZXIgR3VpZG8ncworZGly ZWN0aW9uIHRvIG1ha2UgdGhlc2UgcmVsZWFzZXMgcG9zc2libGUuCisKKwor Qi4gVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIEFDQ0VTU0lORyBPUiBPVEhF UldJU0UgVVNJTkcgUFlUSE9OCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworUFlU SE9OIFNPRlRXQVJFIEZPVU5EQVRJT04gTElDRU5TRSBWRVJTSU9OIDIKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisK KzEuIFRoaXMgTElDRU5TRSBBR1JFRU1FTlQgaXMgYmV0d2VlbiB0aGUgUHl0 aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24KKygiUFNGIiksIGFuZCB0aGUgSW5k aXZpZHVhbCBvciBPcmdhbml6YXRpb24gKCJMaWNlbnNlZSIpIGFjY2Vzc2lu ZyBhbmQKK290aGVyd2lzZSB1c2luZyB0aGlzIHNvZnR3YXJlICgiUHl0aG9u IikgaW4gc291cmNlIG9yIGJpbmFyeSBmb3JtIGFuZAoraXRzIGFzc29jaWF0 ZWQgZG9jdW1lbnRhdGlvbi4KKworMi4gU3ViamVjdCB0byB0aGUgdGVybXMg YW5kIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlIEFncmVlbWVudCwgUFNG IGhlcmVieQorZ3JhbnRzIExpY2Vuc2VlIGEgbm9uZXhjbHVzaXZlLCByb3lh bHR5LWZyZWUsIHdvcmxkLXdpZGUgbGljZW5zZSB0byByZXByb2R1Y2UsCith bmFseXplLCB0ZXN0LCBwZXJmb3JtIGFuZC9vciBkaXNwbGF5IHB1YmxpY2x5 LCBwcmVwYXJlIGRlcml2YXRpdmUgd29ya3MsCitkaXN0cmlidXRlLCBhbmQg b3RoZXJ3aXNlIHVzZSBQeXRob24gYWxvbmUgb3IgaW4gYW55IGRlcml2YXRp dmUgdmVyc2lvbiwKK3Byb3ZpZGVkLCBob3dldmVyLCB0aGF0IFBTRidzIExp Y2Vuc2UgQWdyZWVtZW50IGFuZCBQU0YncyBub3RpY2Ugb2YgY29weXJpZ2h0 LAoraS5lLiwgIkNvcHlyaWdodCAoYykgMjAwMSwgMjAwMiwgMjAwMywgMjAw NCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwKKzIwMTEs IDIwMTIsIDIwMTMsIDIwMTQgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb247 IEFsbCBSaWdodHMgUmVzZXJ2ZWQiIGFyZSByZXRhaW5lZAoraW4gUHl0aG9u IGFsb25lIG9yIGluIGFueSBkZXJpdmF0aXZlIHZlcnNpb24gcHJlcGFyZWQg YnkgTGljZW5zZWUuCisKKzMuIEluIHRoZSBldmVudCBMaWNlbnNlZSBwcmVw YXJlcyBhIGRlcml2YXRpdmUgd29yayB0aGF0IGlzIGJhc2VkIG9uCitvciBp bmNvcnBvcmF0ZXMgUHl0aG9uIG9yIGFueSBwYXJ0IHRoZXJlb2YsIGFuZCB3 YW50cyB0byBtYWtlCit0aGUgZGVyaXZhdGl2ZSB3b3JrIGF2YWlsYWJsZSB0 byBvdGhlcnMgYXMgcHJvdmlkZWQgaGVyZWluLCB0aGVuCitMaWNlbnNlZSBo ZXJlYnkgYWdyZWVzIHRvIGluY2x1ZGUgaW4gYW55IHN1Y2ggd29yayBhIGJy aWVmIHN1bW1hcnkgb2YKK3RoZSBjaGFuZ2VzIG1hZGUgdG8gUHl0aG9uLgor Cis0LiBQU0YgaXMgbWFraW5nIFB5dGhvbiBhdmFpbGFibGUgdG8gTGljZW5z ZWUgb24gYW4gIkFTIElTIgorYmFzaXMuICBQU0YgTUFLRVMgTk8gUkVQUkVT RU5UQVRJT05TIE9SIFdBUlJBTlRJRVMsIEVYUFJFU1MgT1IKK0lNUExJRUQu ICBCWSBXQVkgT0YgRVhBTVBMRSwgQlVUIE5PVCBMSU1JVEFUSU9OLCBQU0Yg TUFLRVMgTk8gQU5ECitESVNDTEFJTVMgQU5ZIFJFUFJFU0VOVEFUSU9OIE9S IFdBUlJBTlRZIE9GIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTCitGT1Ig QU5ZIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBUSEFUIFRIRSBVU0UgT0YgUFlU SE9OIFdJTEwgTk9UCitJTkZSSU5HRSBBTlkgVEhJUkQgUEFSVFkgUklHSFRT LgorCis1LiBQU0YgU0hBTEwgTk9UIEJFIExJQUJMRSBUTyBMSUNFTlNFRSBP UiBBTlkgT1RIRVIgVVNFUlMgT0YgUFlUSE9OCitGT1IgQU5ZIElOQ0lERU5U QUwsIFNQRUNJQUwsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBMT1NT IEFTCitBIFJFU1VMVCBPRiBNT0RJRllJTkcsIERJU1RSSUJVVElORywgT1Ig T1RIRVJXSVNFIFVTSU5HIFBZVEhPTiwKK09SIEFOWSBERVJJVkFUSVZFIFRI RVJFT0YsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgVEhF UkVPRi4KKworNi4gVGhpcyBMaWNlbnNlIEFncmVlbWVudCB3aWxsIGF1dG9t YXRpY2FsbHkgdGVybWluYXRlIHVwb24gYSBtYXRlcmlhbAorYnJlYWNoIG9m IGl0cyB0ZXJtcyBhbmQgY29uZGl0aW9ucy4KKworNy4gTm90aGluZyBpbiB0 aGlzIExpY2Vuc2UgQWdyZWVtZW50IHNoYWxsIGJlIGRlZW1lZCB0byBjcmVh dGUgYW55CityZWxhdGlvbnNoaXAgb2YgYWdlbmN5LCBwYXJ0bmVyc2hpcCwg b3Igam9pbnQgdmVudHVyZSBiZXR3ZWVuIFBTRiBhbmQKK0xpY2Vuc2VlLiAg VGhpcyBMaWNlbnNlIEFncmVlbWVudCBkb2VzIG5vdCBncmFudCBwZXJtaXNz aW9uIHRvIHVzZSBQU0YKK3RyYWRlbWFya3Mgb3IgdHJhZGUgbmFtZSBpbiBh IHRyYWRlbWFyayBzZW5zZSB0byBlbmRvcnNlIG9yIHByb21vdGUKK3Byb2R1 Y3RzIG9yIHNlcnZpY2VzIG9mIExpY2Vuc2VlLCBvciBhbnkgdGhpcmQgcGFy dHkuCisKKzguIEJ5IGNvcHlpbmcsIGluc3RhbGxpbmcgb3Igb3RoZXJ3aXNl IHVzaW5nIFB5dGhvbiwgTGljZW5zZWUKK2FncmVlcyB0byBiZSBib3VuZCBi eSB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlCitB Z3JlZW1lbnQuCisKKworQkVPUEVOLkNPTSBMSUNFTlNFIEFHUkVFTUVOVCBG T1IgUFlUSE9OIDIuMAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorCitCRU9QRU4gUFlUSE9OIE9QRU4gU09VUkNFIExJ Q0VOU0UgQUdSRUVNRU5UIFZFUlNJT04gMQorCisxLiBUaGlzIExJQ0VOU0Ug QUdSRUVNRU5UIGlzIGJldHdlZW4gQmVPcGVuLmNvbSAoIkJlT3BlbiIpLCBo YXZpbmcgYW4KK29mZmljZSBhdCAxNjAgU2FyYXRvZ2EgQXZlbnVlLCBTYW50 YSBDbGFyYSwgQ0EgOTUwNTEsIGFuZCB0aGUKK0luZGl2aWR1YWwgb3IgT3Jn YW5pemF0aW9uICgiTGljZW5zZWUiKSBhY2Nlc3NpbmcgYW5kIG90aGVyd2lz ZSB1c2luZwordGhpcyBzb2Z0d2FyZSBpbiBzb3VyY2Ugb3IgYmluYXJ5IGZv cm0gYW5kIGl0cyBhc3NvY2lhdGVkCitkb2N1bWVudGF0aW9uICgidGhlIFNv ZnR3YXJlIikuCisKKzIuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25k aXRpb25zIG9mIHRoaXMgQmVPcGVuIFB5dGhvbiBMaWNlbnNlCitBZ3JlZW1l bnQsIEJlT3BlbiBoZXJlYnkgZ3JhbnRzIExpY2Vuc2VlIGEgbm9uLWV4Y2x1 c2l2ZSwKK3JveWFsdHktZnJlZSwgd29ybGQtd2lkZSBsaWNlbnNlIHRvIHJl cHJvZHVjZSwgYW5hbHl6ZSwgdGVzdCwgcGVyZm9ybQorYW5kL29yIGRpc3Bs YXkgcHVibGljbHksIHByZXBhcmUgZGVyaXZhdGl2ZSB3b3JrcywgZGlzdHJp YnV0ZSwgYW5kCitvdGhlcndpc2UgdXNlIHRoZSBTb2Z0d2FyZSBhbG9uZSBv ciBpbiBhbnkgZGVyaXZhdGl2ZSB2ZXJzaW9uLAorcHJvdmlkZWQsIGhvd2V2 ZXIsIHRoYXQgdGhlIEJlT3BlbiBQeXRob24gTGljZW5zZSBpcyByZXRhaW5l ZCBpbiB0aGUKK1NvZnR3YXJlLCBhbG9uZSBvciBpbiBhbnkgZGVyaXZhdGl2 ZSB2ZXJzaW9uIHByZXBhcmVkIGJ5IExpY2Vuc2VlLgorCiszLiBCZU9wZW4g aXMgbWFraW5nIHRoZSBTb2Z0d2FyZSBhdmFpbGFibGUgdG8gTGljZW5zZWUg b24gYW4gIkFTIElTIgorYmFzaXMuICBCRU9QRU4gTUFLRVMgTk8gUkVQUkVT RU5UQVRJT05TIE9SIFdBUlJBTlRJRVMsIEVYUFJFU1MgT1IKK0lNUExJRUQu ICBCWSBXQVkgT0YgRVhBTVBMRSwgQlVUIE5PVCBMSU1JVEFUSU9OLCBCRU9Q RU4gTUFLRVMgTk8gQU5ECitESVNDTEFJTVMgQU5ZIFJFUFJFU0VOVEFUSU9O IE9SIFdBUlJBTlRZIE9GIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTCitG T1IgQU5ZIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBUSEFUIFRIRSBVU0UgT0Yg VEhFIFNPRlRXQVJFIFdJTEwgTk9UCitJTkZSSU5HRSBBTlkgVEhJUkQgUEFS VFkgUklHSFRTLgorCis0LiBCRU9QRU4gU0hBTEwgTk9UIEJFIExJQUJMRSBU TyBMSUNFTlNFRSBPUiBBTlkgT1RIRVIgVVNFUlMgT0YgVEhFCitTT0ZUV0FS RSBGT1IgQU5ZIElOQ0lERU5UQUwsIFNQRUNJQUwsIE9SIENPTlNFUVVFTlRJ QUwgREFNQUdFUyBPUiBMT1NTCitBUyBBIFJFU1VMVCBPRiBVU0lORywgTU9E SUZZSU5HIE9SIERJU1RSSUJVVElORyBUSEUgU09GVFdBUkUsIE9SIEFOWQor REVSSVZBVElWRSBUSEVSRU9GLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP U1NJQklMSVRZIFRIRVJFT0YuCisKKzUuIFRoaXMgTGljZW5zZSBBZ3JlZW1l bnQgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB1cG9uIGEgbWF0ZXJp YWwKK2JyZWFjaCBvZiBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMuCisKKzYu IFRoaXMgTGljZW5zZSBBZ3JlZW1lbnQgc2hhbGwgYmUgZ292ZXJuZWQgYnkg YW5kIGludGVycHJldGVkIGluIGFsbAorcmVzcGVjdHMgYnkgdGhlIGxhdyBv ZiB0aGUgU3RhdGUgb2YgQ2FsaWZvcm5pYSwgZXhjbHVkaW5nIGNvbmZsaWN0 IG9mCitsYXcgcHJvdmlzaW9ucy4gIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNl IEFncmVlbWVudCBzaGFsbCBiZSBkZWVtZWQgdG8KK2NyZWF0ZSBhbnkgcmVs YXRpb25zaGlwIG9mIGFnZW5jeSwgcGFydG5lcnNoaXAsIG9yIGpvaW50IHZl bnR1cmUKK2JldHdlZW4gQmVPcGVuIGFuZCBMaWNlbnNlZS4gIFRoaXMgTGlj ZW5zZSBBZ3JlZW1lbnQgZG9lcyBub3QgZ3JhbnQKK3Blcm1pc3Npb24gdG8g dXNlIEJlT3BlbiB0cmFkZW1hcmtzIG9yIHRyYWRlIG5hbWVzIGluIGEgdHJh ZGVtYXJrCitzZW5zZSB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg b3Igc2VydmljZXMgb2YgTGljZW5zZWUsIG9yIGFueQordGhpcmQgcGFydHku ICBBcyBhbiBleGNlcHRpb24sIHRoZSAiQmVPcGVuIFB5dGhvbiIgbG9nb3Mg YXZhaWxhYmxlIGF0CitodHRwOi8vd3d3LnB5dGhvbmxhYnMuY29tL2xvZ29z Lmh0bWwgbWF5IGJlIHVzZWQgYWNjb3JkaW5nIHRvIHRoZQorcGVybWlzc2lv bnMgZ3JhbnRlZCBvbiB0aGF0IHdlYiBwYWdlLgorCis3LiBCeSBjb3B5aW5n LCBpbnN0YWxsaW5nIG9yIG90aGVyd2lzZSB1c2luZyB0aGUgc29mdHdhcmUs IExpY2Vuc2VlCithZ3JlZXMgdG8gYmUgYm91bmQgYnkgdGhlIHRlcm1zIGFu ZCBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZQorQWdyZWVtZW50LgorCisK K0NOUkkgTElDRU5TRSBBR1JFRU1FTlQgRk9SIFBZVEhPTiAxLjYuMQorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKzEuIFRo aXMgTElDRU5TRSBBR1JFRU1FTlQgaXMgYmV0d2VlbiB0aGUgQ29ycG9yYXRp b24gZm9yIE5hdGlvbmFsCitSZXNlYXJjaCBJbml0aWF0aXZlcywgaGF2aW5n IGFuIG9mZmljZSBhdCAxODk1IFByZXN0b24gV2hpdGUgRHJpdmUsCitSZXN0 b24sIFZBIDIwMTkxICgiQ05SSSIpLCBhbmQgdGhlIEluZGl2aWR1YWwgb3Ig T3JnYW5pemF0aW9uCisoIkxpY2Vuc2VlIikgYWNjZXNzaW5nIGFuZCBvdGhl cndpc2UgdXNpbmcgUHl0aG9uIDEuNi4xIHNvZnR3YXJlIGluCitzb3VyY2Ug b3IgYmluYXJ5IGZvcm0gYW5kIGl0cyBhc3NvY2lhdGVkIGRvY3VtZW50YXRp b24uCisKKzIuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25z IG9mIHRoaXMgTGljZW5zZSBBZ3JlZW1lbnQsIENOUkkKK2hlcmVieSBncmFu dHMgTGljZW5zZWUgYSBub25leGNsdXNpdmUsIHJveWFsdHktZnJlZSwgd29y bGQtd2lkZQorbGljZW5zZSB0byByZXByb2R1Y2UsIGFuYWx5emUsIHRlc3Qs IHBlcmZvcm0gYW5kL29yIGRpc3BsYXkgcHVibGljbHksCitwcmVwYXJlIGRl cml2YXRpdmUgd29ya3MsIGRpc3RyaWJ1dGUsIGFuZCBvdGhlcndpc2UgdXNl IFB5dGhvbiAxLjYuMQorYWxvbmUgb3IgaW4gYW55IGRlcml2YXRpdmUgdmVy c2lvbiwgcHJvdmlkZWQsIGhvd2V2ZXIsIHRoYXQgQ05SSSdzCitMaWNlbnNl IEFncmVlbWVudCBhbmQgQ05SSSdzIG5vdGljZSBvZiBjb3B5cmlnaHQsIGku ZS4sICJDb3B5cmlnaHQgKGMpCisxOTk1LTIwMDEgQ29ycG9yYXRpb24gZm9y IE5hdGlvbmFsIFJlc2VhcmNoIEluaXRpYXRpdmVzOyBBbGwgUmlnaHRzCitS ZXNlcnZlZCIgYXJlIHJldGFpbmVkIGluIFB5dGhvbiAxLjYuMSBhbG9uZSBv ciBpbiBhbnkgZGVyaXZhdGl2ZQordmVyc2lvbiBwcmVwYXJlZCBieSBMaWNl bnNlZS4gIEFsdGVybmF0ZWx5LCBpbiBsaWV1IG9mIENOUkkncyBMaWNlbnNl CitBZ3JlZW1lbnQsIExpY2Vuc2VlIG1heSBzdWJzdGl0dXRlIHRoZSBmb2xs b3dpbmcgdGV4dCAob21pdHRpbmcgdGhlCitxdW90ZXMpOiAiUHl0aG9uIDEu Ni4xIGlzIG1hZGUgYXZhaWxhYmxlIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFu ZAorY29uZGl0aW9ucyBpbiBDTlJJJ3MgTGljZW5zZSBBZ3JlZW1lbnQuICBU aGlzIEFncmVlbWVudCB0b2dldGhlciB3aXRoCitQeXRob24gMS42LjEgbWF5 IGJlIGxvY2F0ZWQgb24gdGhlIEludGVybmV0IHVzaW5nIHRoZSBmb2xsb3dp bmcKK3VuaXF1ZSwgcGVyc2lzdGVudCBpZGVudGlmaWVyIChrbm93biBhcyBh IGhhbmRsZSk6IDE4OTUuMjIvMTAxMy4gIFRoaXMKK0FncmVlbWVudCBtYXkg YWxzbyBiZSBvYnRhaW5lZCBmcm9tIGEgcHJveHkgc2VydmVyIG9uIHRoZSBJ bnRlcm5ldAordXNpbmcgdGhlIGZvbGxvd2luZyBVUkw6IGh0dHA6Ly9oZGwu aGFuZGxlLm5ldC8xODk1LjIyLzEwMTMiLgorCiszLiBJbiB0aGUgZXZlbnQg TGljZW5zZWUgcHJlcGFyZXMgYSBkZXJpdmF0aXZlIHdvcmsgdGhhdCBpcyBi YXNlZCBvbgorb3IgaW5jb3Jwb3JhdGVzIFB5dGhvbiAxLjYuMSBvciBhbnkg cGFydCB0aGVyZW9mLCBhbmQgd2FudHMgdG8gbWFrZQordGhlIGRlcml2YXRp dmUgd29yayBhdmFpbGFibGUgdG8gb3RoZXJzIGFzIHByb3ZpZGVkIGhlcmVp biwgdGhlbgorTGljZW5zZWUgaGVyZWJ5IGFncmVlcyB0byBpbmNsdWRlIGlu IGFueSBzdWNoIHdvcmsgYSBicmllZiBzdW1tYXJ5IG9mCit0aGUgY2hhbmdl cyBtYWRlIHRvIFB5dGhvbiAxLjYuMS4KKworNC4gQ05SSSBpcyBtYWtpbmcg UHl0aG9uIDEuNi4xIGF2YWlsYWJsZSB0byBMaWNlbnNlZSBvbiBhbiAiQVMg SVMiCitiYXNpcy4gIENOUkkgTUFLRVMgTk8gUkVQUkVTRU5UQVRJT05TIE9S IFdBUlJBTlRJRVMsIEVYUFJFU1MgT1IKK0lNUExJRUQuICBCWSBXQVkgT0Yg RVhBTVBMRSwgQlVUIE5PVCBMSU1JVEFUSU9OLCBDTlJJIE1BS0VTIE5PIEFO RAorRElTQ0xBSU1TIEFOWSBSRVBSRVNFTlRBVElPTiBPUiBXQVJSQU5UWSBP RiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUworRk9SIEFOWSBQQVJUSUNV TEFSIFBVUlBPU0UgT1IgVEhBVCBUSEUgVVNFIE9GIFBZVEhPTiAxLjYuMSBX SUxMIE5PVAorSU5GUklOR0UgQU5ZIFRISVJEIFBBUlRZIFJJR0hUUy4KKwor NS4gQ05SSSBTSEFMTCBOT1QgQkUgTElBQkxFIFRPIExJQ0VOU0VFIE9SIEFO WSBPVEhFUiBVU0VSUyBPRiBQWVRIT04KKzEuNi4xIEZPUiBBTlkgSU5DSURF TlRBTCwgU1BFQ0lBTCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIExP U1MgQVMKK0EgUkVTVUxUIE9GIE1PRElGWUlORywgRElTVFJJQlVUSU5HLCBP UiBPVEhFUldJU0UgVVNJTkcgUFlUSE9OIDEuNi4xLAorT1IgQU5ZIERFUklW QVRJVkUgVEhFUkVPRiwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ TElUWSBUSEVSRU9GLgorCis2LiBUaGlzIExpY2Vuc2UgQWdyZWVtZW50IHdp bGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgdXBvbiBhIG1hdGVyaWFsCiti cmVhY2ggb2YgaXRzIHRlcm1zIGFuZCBjb25kaXRpb25zLgorCis3LiBUaGlz IExpY2Vuc2UgQWdyZWVtZW50IHNoYWxsIGJlIGdvdmVybmVkIGJ5IHRoZSBm ZWRlcmFsCitpbnRlbGxlY3R1YWwgcHJvcGVydHkgbGF3IG9mIHRoZSBVbml0 ZWQgU3RhdGVzLCBpbmNsdWRpbmcgd2l0aG91dAorbGltaXRhdGlvbiB0aGUg ZmVkZXJhbCBjb3B5cmlnaHQgbGF3LCBhbmQsIHRvIHRoZSBleHRlbnQgc3Vj aAorVS5TLiBmZWRlcmFsIGxhdyBkb2VzIG5vdCBhcHBseSwgYnkgdGhlIGxh dyBvZiB0aGUgQ29tbW9ud2VhbHRoIG9mCitWaXJnaW5pYSwgZXhjbHVkaW5n IFZpcmdpbmlhJ3MgY29uZmxpY3Qgb2YgbGF3IHByb3Zpc2lvbnMuCitOb3R3 aXRoc3RhbmRpbmcgdGhlIGZvcmVnb2luZywgd2l0aCByZWdhcmQgdG8gZGVy aXZhdGl2ZSB3b3JrcyBiYXNlZAorb24gUHl0aG9uIDEuNi4xIHRoYXQgaW5j b3Jwb3JhdGUgbm9uLXNlcGFyYWJsZSBtYXRlcmlhbCB0aGF0IHdhcworcHJl dmlvdXNseSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgKEdQTCksIHRoZQorbGF3IG9mIHRoZSBDb21tb253ZWFs dGggb2YgVmlyZ2luaWEgc2hhbGwgZ292ZXJuIHRoaXMgTGljZW5zZQorQWdy ZWVtZW50IG9ubHkgYXMgdG8gaXNzdWVzIGFyaXNpbmcgdW5kZXIgb3Igd2l0 aCByZXNwZWN0IHRvCitQYXJhZ3JhcGhzIDQsIDUsIGFuZCA3IG9mIHRoaXMg TGljZW5zZSBBZ3JlZW1lbnQuICBOb3RoaW5nIGluIHRoaXMKK0xpY2Vuc2Ug QWdyZWVtZW50IHNoYWxsIGJlIGRlZW1lZCB0byBjcmVhdGUgYW55IHJlbGF0 aW9uc2hpcCBvZgorYWdlbmN5LCBwYXJ0bmVyc2hpcCwgb3Igam9pbnQgdmVu dHVyZSBiZXR3ZWVuIENOUkkgYW5kIExpY2Vuc2VlLiAgVGhpcworTGljZW5z ZSBBZ3JlZW1lbnQgZG9lcyBub3QgZ3JhbnQgcGVybWlzc2lvbiB0byB1c2Ug Q05SSSB0cmFkZW1hcmtzIG9yCit0cmFkZSBuYW1lIGluIGEgdHJhZGVtYXJr IHNlbnNlIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBvcgorc2Vy dmljZXMgb2YgTGljZW5zZWUsIG9yIGFueSB0aGlyZCBwYXJ0eS4KKworOC4g QnkgY2xpY2tpbmcgb24gdGhlICJBQ0NFUFQiIGJ1dHRvbiB3aGVyZSBpbmRp Y2F0ZWQsIG9yIGJ5IGNvcHlpbmcsCitpbnN0YWxsaW5nIG9yIG90aGVyd2lz ZSB1c2luZyBQeXRob24gMS42LjEsIExpY2Vuc2VlIGFncmVlcyB0byBiZQor Ym91bmQgYnkgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoaXMgTGlj ZW5zZSBBZ3JlZW1lbnQuCisKKyAgICAgICAgQUNDRVBUCisKKworQ1dJIExJ Q0VOU0UgQUdSRUVNRU5UIEZPUiBQWVRIT04gMC45LjAgVEhST1VHSCAxLjIK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisKK0NvcHlyaWdodCAoYykgMTk5MSAtIDE5OTUsIFN0aWNodGlu ZyBNYXRoZW1hdGlzY2ggQ2VudHJ1bSBBbXN0ZXJkYW0sCitUaGUgTmV0aGVy bGFuZHMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorCitQZXJtaXNzaW9uIHRv IHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3 YXJlIGFuZCBpdHMKK2RvY3VtZW50YXRpb24gZm9yIGFueSBwdXJwb3NlIGFu ZCB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwKK3Byb3ZpZGVkIHRo YXQgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYXBwZWFyIGluIGFsbCBj b3BpZXMgYW5kIHRoYXQKK2JvdGggdGhhdCBjb3B5cmlnaHQgbm90aWNlIGFu ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbgorc3VwcG9ydGlu ZyBkb2N1bWVudGF0aW9uLCBhbmQgdGhhdCB0aGUgbmFtZSBvZiBTdGljaHRp bmcgTWF0aGVtYXRpc2NoCitDZW50cnVtIG9yIENXSSBub3QgYmUgdXNlZCBp biBhZHZlcnRpc2luZyBvciBwdWJsaWNpdHkgcGVydGFpbmluZyB0bworZGlz dHJpYnV0aW9uIG9mIHRoZSBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljLCB3 cml0dGVuIHByaW9yCitwZXJtaXNzaW9uLgorCitTVElDSFRJTkcgTUFUSEVN QVRJU0NIIENFTlRSVU0gRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgg UkVHQVJEIFRPCitUSElTIFNPRlRXQVJFLCBJTkNMVURJTkcgQUxMIElNUExJ RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5ECitGSVRORVNT LCBJTiBOTyBFVkVOVCBTSEFMTCBTVElDSFRJTkcgTUFUSEVNQVRJU0NIIENF TlRSVU0gQkUgTElBQkxFCitGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9S IENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUworV0hBVFNP RVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9G SVRTLCBXSEVUSEVSIElOIEFOCitBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJ R0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVAor T0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFO Q0UgT0YgVEhJUyBTT0ZUV0FSRS4KKworPT09PT09PT09PT09PT09PT09Cit0 Y2wgbGljZW5zZQorPT09PT09PT09PT09PT09PT09CitUaGlzIHNvZnR3YXJl IGlzIGNvcHlyaWdodGVkIGJ5IHRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJz aXR5IG9mCitDYWxpZm9ybmlhLCBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuLCBT Y3JpcHRpY3MgQ29ycG9yYXRpb24sIEFjdGl2ZVN0YXRlCitDb3Jwb3JhdGlv biBhbmQgb3RoZXIgcGFydGllcy4gIFRoZSBmb2xsb3dpbmcgdGVybXMgYXBw bHkgdG8gYWxsIGZpbGVzCithc3NvY2lhdGVkIHdpdGggdGhlIHNvZnR3YXJl IHVubGVzcyBleHBsaWNpdGx5IGRpc2NsYWltZWQgaW4KK2luZGl2aWR1YWwg ZmlsZXMuCisKK1RoZSBhdXRob3JzIGhlcmVieSBncmFudCBwZXJtaXNzaW9u IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBkaXN0cmlidXRlLAorYW5kIGxpY2Vu c2UgdGhpcyBzb2Z0d2FyZSBhbmQgaXRzIGRvY3VtZW50YXRpb24gZm9yIGFu eSBwdXJwb3NlLCBwcm92aWRlZAordGhhdCBleGlzdGluZyBjb3B5cmlnaHQg bm90aWNlcyBhcmUgcmV0YWluZWQgaW4gYWxsIGNvcGllcyBhbmQgdGhhdCB0 aGlzCitub3RpY2UgaXMgaW5jbHVkZWQgdmVyYmF0aW0gaW4gYW55IGRpc3Ry aWJ1dGlvbnMuIE5vIHdyaXR0ZW4gYWdyZWVtZW50LAorbGljZW5zZSwgb3Ig cm95YWx0eSBmZWUgaXMgcmVxdWlyZWQgZm9yIGFueSBvZiB0aGUgYXV0aG9y aXplZCB1c2VzLgorTW9kaWZpY2F0aW9ucyB0byB0aGlzIHNvZnR3YXJlIG1h eSBiZSBjb3B5cmlnaHRlZCBieSB0aGVpciBhdXRob3JzCithbmQgbmVlZCBu b3QgZm9sbG93IHRoZSBsaWNlbnNpbmcgdGVybXMgZGVzY3JpYmVkIGhlcmUs IHByb3ZpZGVkIHRoYXQKK3RoZSBuZXcgdGVybXMgYXJlIGNsZWFybHkgaW5k aWNhdGVkIG9uIHRoZSBmaXJzdCBwYWdlIG9mIGVhY2ggZmlsZSB3aGVyZQor dGhleSBhcHBseS4KKworSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMg T1IgRElTVFJJQlVUT1JTIEJFIExJQUJMRSBUTyBBTlkgUEFSVFkKK0ZPUiBE SVJFQ1QsIElORElSRUNULCBTUEVDSUFMLCBJTkNJREVOVEFMLCBPUiBDT05T RVFVRU5USUFMIERBTUFHRVMKK0FSSVNJTkcgT1VUIE9GIFRIRSBVU0UgT0Yg VEhJUyBTT0ZUV0FSRSwgSVRTIERPQ1VNRU5UQVRJT04sIE9SIEFOWQorREVS SVZBVElWRVMgVEhFUkVPRiwgRVZFTiBJRiBUSEUgQVVUSE9SUyBIQVZFIEJF RU4gQURWSVNFRCBPRiBUSEUKK1BPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF LgorCitUSEUgQVVUSE9SUyBBTkQgRElTVFJJQlVUT1JTIFNQRUNJRklDQUxM WSBESVNDTEFJTSBBTlkgV0FSUkFOVElFUywKK0lOQ0xVRElORywgQlVUIE5P VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI QU5UQUJJTElUWSwKK0ZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LCBBTkQgTk9OLUlORlJJTkdFTUVOVC4gIFRISVMgU09GVFdBUkUKK0lTIFBS T1ZJREVEIE9OIEFOICJBUyBJUyIgQkFTSVMsIEFORCBUSEUgQVVUSE9SUyBB TkQgRElTVFJJQlVUT1JTIEhBVkUKK05PIE9CTElHQVRJT04gVE8gUFJPVklE RSBNQUlOVEVOQU5DRSwgU1VQUE9SVCwgVVBEQVRFUywgRU5IQU5DRU1FTlRT LCBPUgorTU9ESUZJQ0FUSU9OUy4KKworR09WRVJOTUVOVCBVU0U6IElmIHlv dSBhcmUgYWNxdWlyaW5nIHRoaXMgc29mdHdhcmUgb24gYmVoYWxmIG9mIHRo ZQorVS5TLiBnb3Zlcm5tZW50LCB0aGUgR292ZXJubWVudCBzaGFsbCBoYXZl IG9ubHkgIlJlc3RyaWN0ZWQgUmlnaHRzIgoraW4gdGhlIHNvZnR3YXJlIGFu ZCByZWxhdGVkIGRvY3VtZW50YXRpb24gYXMgZGVmaW5lZCBpbiB0aGUgRmVk ZXJhbAorQWNxdWlzaXRpb24gUmVndWxhdGlvbnMgKEZBUnMpIGluIENsYXVz ZSA1Mi4yMjcuMTkgKGMpICgyKS4gIElmIHlvdQorYXJlIGFjcXVpcmluZyB0 aGUgc29mdHdhcmUgb24gYmVoYWxmIG9mIHRoZSBEZXBhcnRtZW50IG9mIERl ZmVuc2UsIHRoZQorc29mdHdhcmUgc2hhbGwgYmUgY2xhc3NpZmllZCBhcyAi Q29tbWVyY2lhbCBDb21wdXRlciBTb2Z0d2FyZSIgYW5kIHRoZQorR292ZXJu bWVudCBzaGFsbCBoYXZlIG9ubHkgIlJlc3RyaWN0ZWQgUmlnaHRzIiBhcyBk ZWZpbmVkIGluIENsYXVzZQorMjUyLjIyNy03MDEzIChiKSAoMykgb2YgREZB UnMuICBOb3R3aXRoc3RhbmRpbmcgdGhlIGZvcmVnb2luZywgdGhlCithdXRo b3JzIGdyYW50IHRoZSBVLlMuIEdvdmVybm1lbnQgYW5kIG90aGVycyBhY3Rp bmcgaW4gaXRzIGJlaGFsZgorcGVybWlzc2lvbiB0byB1c2UgYW5kIGRpc3Ry aWJ1dGUgdGhlIHNvZnR3YXJlIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUKK3Rl cm1zIHNwZWNpZmllZCBpbiB0aGlzIGxpY2Vuc2UuCisKKworPT09PT09PT09 PT09PT09PT09CitMSUNFTlNFIC0gQmFiZWwsRmxhc2ssRmxhc2stTWFpbCxN YXJrdXBTYWZlLEppbmphMixXZXJremV1ZyxXVEZvcm1zLGl0c2Rhbmdlcm91 cyxGbGFzay1XVEYsRmxhc2stQmFiZWwsRmxhc2stR3JhdmF0YXIsRmxhc2st U1FMQWxjaGVteSxkamFuZ28taHRtbG1pbixwYXNzbGliLHNwZWFrbGF0ZXIs cHl0aG9uLWRhdGV1dGlsCis9PT09PT09PT09PT09PT09PT0KKworTGliZXZl bnQgaXMgYXZhaWxhYmxlIGZvciB1c2UgdW5kZXIgdGhlIGZvbGxvd2luZyBs aWNlbnNlLCBjb21tb25seSBrbm93bgorYXMgdGhlIDMtY2xhdXNlIChvciAi bW9kaWZpZWQiKSBCU0QgbGljZW5zZToKKworPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CitDb3B5cmlnaHQgKGMpIDIwMDAtMjAwNyBOaWVscyBQ cm92b3MgPHByb3Zvc0BjaXRpLnVtaWNoLmVkdT4KK0NvcHlyaWdodCAoYykg MjAwNy0yMDEwIE5pZWxzIFByb3ZvcyBhbmQgTmljayBNYXRoZXdzb24KKwor UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm b3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJt aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK K2FyZSBtZXQ6CisxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICAgbm90aWNlLCB0 aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj bGFpbWVyLgorMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11 c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgIG5vdGljZSwg dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz Y2xhaW1lciBpbiB0aGUKKyAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisz LiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBl bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAgIGRlcml2ZWQgZnJvbSB0 aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw ZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI RSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorSU1QTElF RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg VEhFIElNUExJRUQgV0FSUkFOVElFUworT0YgTUVSQ0hBTlRBQklMSVRZIEFO RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB SU1FRC4KK0lOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxF IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKK0lOQ0lERU5UQUwsIFNQRUNJ QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM VURJTkcsIEJVVAorTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorREFU QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF VkVSIENBVVNFRCBBTkQgT04gQU5ZCitUSEVPUlkgT0YgTElBQklMSVRZLCBX SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU CisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKK1RISVMgU09GVFdBUkUs IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE QU1BR0UuCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworUG9y dGlvbnMgb2YgTGliZXZlbnQgYXJlIGJhc2VkIG9uIHdvcmtzIGJ5IG90aGVy cywgYWxzbyBtYWRlIGF2YWlsYWJsZSBieQordGhlbSB1bmRlciB0aGUgdGhy ZWUtY2xhdXNlIEJTRCBsaWNlbnNlIGFib3ZlLiAgVGhlIGNvcHlyaWdodCBu b3RpY2VzIGFyZQorYXZhaWxhYmxlIGluIHRoZSBjb3JyZXNwb25kaW5nIHNv dXJjZSBmaWxlczsgdGhlIGxpY2Vuc2UgaXMgYXMgYWJvdmUuICBIZXJlJ3MK K2EgbGlzdDoKKworbG9nLmM6CisgICBDb3B5cmlnaHQgKGMpIDIwMDAgRHVn IFNvbmcgPGR1Z3NvbmdAbW9ua2V5Lm9yZz4KKyAgIENvcHlyaWdodCAoYykg MTk5MyBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9y bmlhLgorCitzdHJsY3B5LmM6CisgICBDb3B5cmlnaHQgKGMpIDE5OTggVG9k ZCBDLiBNaWxsZXIgPFRvZGQuTWlsbGVyQGNvdXJ0ZXNhbi5jb20+CisKK3dp bjMyc2VsZWN0LmM6CisgICBDb3B5cmlnaHQgKGMpIDIwMDMgTWljaGFlbCBB LiBEYXZpcyA8bWlrZUBkYXRhbmVyZHMubmV0PgorCitldnBvcnQuYzoKKyAg IENvcHlyaWdodCAoYykgMjAwNyBTdW4gTWljcm9zeXN0ZW1zCisKK2h0LWlu dGVybmFsLmg6CisgICBDb3B5cmlnaHQgKGMpIDIwMDIgQ2hyaXN0b3BoZXIg Q2xhcmsKKworbWluaGVhcC1pbnRlcm5hbC5oOgorICAgQ29weXJpZ2h0IChj KSAyMDA2IE1heGltIFllZ29ydXNoa2luIDxtYXhpbS55ZWdvcnVzaGtpbkBn bWFpbC5jb20+CisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor CitUaGUgYXJjNG1vZHVsZSBpcyBhdmFpbGFibGUgdW5kZXIgdGhlIGZvbGxv d2luZywgc29tZXRpbWVzIGNhbGxlZCB0aGUKKyJPcGVuQlNEIiBsaWNlbnNl OgorCisgICBDb3B5cmlnaHQgKGMpIDE5OTYsIERhdmlkIE1hemllcmVzIDxk bUB1dW4ub3JnPgorICAgQ29weXJpZ2h0IChjKSAyMDA4LCBEYW1pZW4gTWls bGVyIDxkam1Ab3BlbmJzZC5vcmc+CisKKyAgIFBlcm1pc3Npb24gdG8gdXNl LCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUg Zm9yIGFueQorICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhl cmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQorICAgY29w eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBl YXIgaW4gYWxsIGNvcGllcy4KKworICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJ REVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJS QU5USUVTCisgICBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xV RElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GCisgICBNRVJDSEFOVEFC SUxJVFkgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRI T1IgQkUgTElBQkxFIEZPUgorICAgQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5E SVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdF UworICAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwg REFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOCisgICBBQ1RJT04gT0Yg Q09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9O LCBBUklTSU5HIE9VVCBPRgorICAgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI RSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKworPT09 PT09PT09PT09PT09PT09CitMSUNFTlNFIC0gRmxhc2stTG9naW4sRmxhc2st UHJpbmNpcGFsLCBTaXgsIHNpbXBsZWpzb24sRmxhc2stU2VjdXJpdHksYmxp bmtlcixTUUxBbGNoZW15LCBiZWF1dGlmdWxzb3VwNCxweXR6LGh0bWw1bGli Cis9PT09PT09PT09PT09PT09PT0KK0NvcHlyaWdodCAoQykgMTk4NS0yMDEy IGJ5IHRoZSBNYXNzYWNodXNldHRzIEluc3RpdHV0ZSBvZiBUZWNobm9sb2d5 LgorCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCisgICAgIEV4cG9ydCBvZiBz b2Z0d2FyZSBlbXBsb3lpbmcgZW5jcnlwdGlvbiBmcm9tIHRoZSBVbml0ZWQg U3RhdGVzIG9mCisgICAgIEFtZXJpY2EgbWF5IHJlcXVpcmUgYSBzcGVjaWZp YyBsaWNlbnNlIGZyb20gdGhlIFVuaXRlZCBTdGF0ZXMKKyAgICAgR292ZXJu bWVudC4gIEl0IGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZiBhbnkgcGVyc29u IG9yIG9yZ2FuaXphdGlvbgorICAgICBjb250ZW1wbGF0aW5nIGV4cG9ydCB0 byBvYnRhaW4gc3VjaCBhIGxpY2Vuc2UgYmVmb3JlIGV4cG9ydGluZy4KKwor V0lUSElOIFRIQVQgQ09OU1RSQUlOVCwgcGVybWlzc2lvbiB0byB1c2UsIGNv cHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUKK3RoaXMgc29mdHdhcmUgZm9y IGFueSBwdXJwb3NlIGFuZCB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRl ZCwKK3Byb3ZpZGVkIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug YXBwZWFyIGluIGFsbCBjb3BpZXMgYW5kIHRoYXQKK2JvdGggdGhhdCBjb3B5 cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVh ciBpbgorc3VwcG9ydGluZyBkb2N1bWVudGF0aW9uLCBhbmQgdGhhdCB0aGUg bmFtZSBvZiBNLkkuVC4gbm90IGJlIHVzZWQgaW4KK2FkdmVydGlzaW5nIG9y IHB1YmxpY2l0eSBwZXJ0YWluaW5nIHRvIGRpc3RyaWJ1dGlvbiBvZiB0aGUg c29mdHdhcmUKK3dpdGhvdXQgc3BlY2lmaWMsIHdyaXR0ZW4gcHJpb3IgcGVy bWlzc2lvbi4gIEZ1cnRoZXJtb3JlIGlmIHlvdSBtb2RpZnkKK3RoaXMgc29m dHdhcmUgeW91IG11c3QgbGFiZWwgeW91ciBzb2Z0d2FyZSBhcyBtb2RpZmll ZCBzb2Z0d2FyZSBhbmQgbm90CitkaXN0cmlidXRlIGl0IGluIHN1Y2ggYSBm YXNoaW9uIHRoYXQgaXQgbWlnaHQgYmUgY29uZnVzZWQgd2l0aCB0aGUKK29y aWdpbmFsIE1JVCBzb2Z0d2FyZS4gIE0uSS5ULiBtYWtlcyBubyByZXByZXNl bnRhdGlvbnMgYWJvdXQgdGhlCitzdWl0YWJpbGl0eSBvZiB0aGlzIHNvZnR3 YXJlIGZvciBhbnkgcHVycG9zZS4gIEl0IGlzIHByb3ZpZGVkICJhcyBpcyIK K3dpdGhvdXQgZXhwcmVzcyBvciBpbXBsaWVkIHdhcnJhbnR5LgorCitEb2N1 bWVudGF0aW9uIGNvbXBvbmVudHMgb2YgdGhpcyBzb2Z0d2FyZSBkaXN0cmli dXRpb24gYXJlIGxpY2Vuc2VkCit1bmRlciBhIENyZWF0aXZlIENvbW1vbnMg QXR0cmlidXRpb24tU2hhcmVBbGlrZSAzLjAgVW5wb3J0ZWQgTGljZW5zZS4K KyhgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2Ev My4wLycpCisKK0luZGl2aWR1YWwgc291cmNlIGNvZGUgZmlsZXMgYXJlIGNv cHlyaWdodCBNSVQsIEN5Z251cyBTdXBwb3J0LCBOb3ZlbGwsCitPcGVuVmlz aW9uIFRlY2hub2xvZ2llcywgT3JhY2xlLCBSZWQgSGF0LCBTdW4gTWljcm9z eXN0ZW1zLAorRnVuZHNYcHJlc3MsIGFuZCBvdGhlcnMuCisKK1Byb2plY3Qg QXRoZW5hLCBBdGhlbmEsIEF0aGVuYSBNVVNFLCBEaXNjdXNzLCBIZXNpb2Qs IEtlcmJlcm9zLCBNb2lyYSwKK2FuZCBaZXBoeXIgYXJlIHRyYWRlbWFya3Mg b2YgdGhlIE1hc3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3kK KyhNSVQpLiAgTm8gY29tbWVyY2lhbCB1c2Ugb2YgdGhlc2UgdHJhZGVtYXJr cyBtYXkgYmUgbWFkZSB3aXRob3V0IHByaW9yCit3cml0dGVuIHBlcm1pc3Np b24gb2YgTUlULgorCisiQ29tbWVyY2lhbCB1c2UiIG1lYW5zIHVzZSBvZiBh IG5hbWUgaW4gYSBwcm9kdWN0IG9yIG90aGVyIGZvci1wcm9maXQKK21hbm5l ci4gIEl0IGRvZXMgTk9UIHByZXZlbnQgYSBjb21tZXJjaWFsIGZpcm0gZnJv bSByZWZlcnJpbmcgdG8gdGhlCitNSVQgdHJhZGVtYXJrcyBpbiBvcmRlciB0 byBjb252ZXkgaW5mb3JtYXRpb24gKGFsdGhvdWdoIGluIGRvaW5nIHNvLAor cmVjb2duaXRpb24gb2YgdGhlaXIgdHJhZGVtYXJrIHN0YXR1cyBzaG91bGQg YmUgZ2l2ZW4pLgorCis9PT09PT09PT09PT09PT09PT0KK0xJQ0VOU0UgLSBw c3ljb3BnMgorPT09PT09PT09PT09PT09PT09CitHTlUgTEVTU0VSIEdFTkVS QUwgUFVCTElDIExJQ0VOU0UKKworVmVyc2lvbiAzLCAyOSBKdW5lIDIwMDcK KworQ29weXJpZ2h0IMKpIDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuIDxodHRwOi8vZnNmLm9yZy8+CisKK0V2ZXJ5b25lIGlzIHBlcm1p dHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBv ZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBu b3QgYWxsb3dlZC4KKworVGhpcyB2ZXJzaW9uIG9mIHRoZSBHTlUgTGVzc2Vy IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW5jb3Jwb3JhdGVzIHRoZSB0ZXJt cyBhbmQgY29uZGl0aW9ucyBvZiB2ZXJzaW9uIDMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlLCBzdXBwbGVtZW50ZWQgYnkgdGhlIGFkZGl0 aW9uYWwgcGVybWlzc2lvbnMgbGlzdGVkIGJlbG93LgorCiswLiBBZGRpdGlv bmFsIERlZmluaXRpb25zLgorQXMgdXNlZCBoZXJlaW4sIOKAnHRoaXMgTGlj ZW5zZeKAnSByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgTGVzc2Vy IEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGFuZCB0aGUg4oCcR05VIEdQTOKA nSByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZS4KKwor4oCcVGhlIExpYnJhcnnigJ0gcmVmZXJzIHRvIGEg Y292ZXJlZCB3b3JrIGdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSwgb3RoZXIg dGhhbiBhbiBBcHBsaWNhdGlvbiBvciBhIENvbWJpbmVkIFdvcmsgYXMgZGVm aW5lZCBiZWxvdy4KKworQW4g4oCcQXBwbGljYXRpb27igJ0gaXMgYW55IHdv cmsgdGhhdCBtYWtlcyB1c2Ugb2YgYW4gaW50ZXJmYWNlIHByb3ZpZGVkIGJ5 IHRoZSBMaWJyYXJ5LCBidXQgd2hpY2ggaXMgbm90IG90aGVyd2lzZSBiYXNl ZCBvbiB0aGUgTGlicmFyeS4gRGVmaW5pbmcgYSBzdWJjbGFzcyBvZiBhIGNs YXNzIGRlZmluZWQgYnkgdGhlIExpYnJhcnkgaXMgZGVlbWVkIGEgbW9kZSBv ZiB1c2luZyBhbiBpbnRlcmZhY2UgcHJvdmlkZWQgYnkgdGhlIExpYnJhcnku CisKK0Eg4oCcQ29tYmluZWQgV29ya+KAnSBpcyBhIHdvcmsgcHJvZHVjZWQg YnkgY29tYmluaW5nIG9yIGxpbmtpbmcgYW4gQXBwbGljYXRpb24gd2l0aCB0 aGUgTGlicmFyeS4gVGhlIHBhcnRpY3VsYXIgdmVyc2lvbiBvZiB0aGUgTGli cmFyeSB3aXRoIHdoaWNoIHRoZSBDb21iaW5lZCBXb3JrIHdhcyBtYWRlIGlz IGFsc28gY2FsbGVkIHRoZSDigJxMaW5rZWQgVmVyc2lvbuKAnS4KKworVGhl IOKAnE1pbmltYWwgQ29ycmVzcG9uZGluZyBTb3VyY2XigJ0gZm9yIGEgQ29t YmluZWQgV29yayBtZWFucyB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9y IHRoZSBDb21iaW5lZCBXb3JrLCBleGNsdWRpbmcgYW55IHNvdXJjZSBjb2Rl IGZvciBwb3J0aW9ucyBvZiB0aGUgQ29tYmluZWQgV29yayB0aGF0LCBjb25z aWRlcmVkIGluIGlzb2xhdGlvbiwgYXJlIGJhc2VkIG9uIHRoZSBBcHBsaWNh dGlvbiwgYW5kIG5vdCBvbiB0aGUgTGlua2VkIFZlcnNpb24uCisKK1RoZSDi gJxDb3JyZXNwb25kaW5nIEFwcGxpY2F0aW9uIENvZGXigJ0gZm9yIGEgQ29t YmluZWQgV29yayBtZWFucyB0aGUgb2JqZWN0IGNvZGUgYW5kL29yIHNvdXJj ZSBjb2RlIGZvciB0aGUgQXBwbGljYXRpb24sIGluY2x1ZGluZyBhbnkgZGF0 YSBhbmQgdXRpbGl0eSBwcm9ncmFtcyBuZWVkZWQgZm9yIHJlcHJvZHVjaW5n IHRoZSBDb21iaW5lZCBXb3JrIGZyb20gdGhlIEFwcGxpY2F0aW9uLCBidXQg ZXhjbHVkaW5nIHRoZSBTeXN0ZW0gTGlicmFyaWVzIG9mIHRoZSBDb21iaW5l ZCBXb3JrLgorCisxLiBFeGNlcHRpb24gdG8gU2VjdGlvbiAzIG9mIHRoZSBH TlUgR1BMLgorWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgdW5kZXIg c2VjdGlvbnMgMyBhbmQgNCBvZiB0aGlzIExpY2Vuc2Ugd2l0aG91dCBiZWlu ZyBib3VuZCBieSBzZWN0aW9uIDMgb2YgdGhlIEdOVSBHUEwuCisKKzIuIENv bnZleWluZyBNb2RpZmllZCBWZXJzaW9ucy4KK0lmIHlvdSBtb2RpZnkgYSBj b3B5IG9mIHRoZSBMaWJyYXJ5LCBhbmQsIGluIHlvdXIgbW9kaWZpY2F0aW9u cywgYSBmYWNpbGl0eSByZWZlcnMgdG8gYSBmdW5jdGlvbiBvciBkYXRhIHRv IGJlIHN1cHBsaWVkIGJ5IGFuIEFwcGxpY2F0aW9uIHRoYXQgdXNlcyB0aGUg ZmFjaWxpdHkgKG90aGVyIHRoYW4gYXMgYW4gYXJndW1lbnQgcGFzc2VkIHdo ZW4gdGhlIGZhY2lsaXR5IGlzIGludm9rZWQpLCB0aGVuIHlvdSBtYXkgY29u dmV5IGEgY29weSBvZiB0aGUgbW9kaWZpZWQgdmVyc2lvbjoKKworYSkgdW5k ZXIgdGhpcyBMaWNlbnNlLCBwcm92aWRlZCB0aGF0IHlvdSBtYWtlIGEgZ29v ZCBmYWl0aCBlZmZvcnQgdG8gZW5zdXJlIHRoYXQsIGluIHRoZSBldmVudCBh biBBcHBsaWNhdGlvbiBkb2VzIG5vdCBzdXBwbHkgdGhlIGZ1bmN0aW9uIG9y IGRhdGEsIHRoZSBmYWNpbGl0eSBzdGlsbCBvcGVyYXRlcywgYW5kIHBlcmZv cm1zIHdoYXRldmVyIHBhcnQgb2YgaXRzIHB1cnBvc2UgcmVtYWlucyBtZWFu aW5nZnVsLCBvcgorYikgdW5kZXIgdGhlIEdOVSBHUEwsIHdpdGggbm9uZSBv ZiB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvZiB0aGlzIExpY2Vuc2Ug YXBwbGljYWJsZSB0byB0aGF0IGNvcHkuCiszLiBPYmplY3QgQ29kZSBJbmNv cnBvcmF0aW5nIE1hdGVyaWFsIGZyb20gTGlicmFyeSBIZWFkZXIgRmlsZXMu CitUaGUgb2JqZWN0IGNvZGUgZm9ybSBvZiBhbiBBcHBsaWNhdGlvbiBtYXkg aW5jb3Jwb3JhdGUgbWF0ZXJpYWwgZnJvbSBhIGhlYWRlciBmaWxlIHRoYXQg aXMgcGFydCBvZiB0aGUgTGlicmFyeS4gWW91IG1heSBjb252ZXkgc3VjaCBv YmplY3QgY29kZSB1bmRlciB0ZXJtcyBvZiB5b3VyIGNob2ljZSwgcHJvdmlk ZWQgdGhhdCwgaWYgdGhlIGluY29ycG9yYXRlZCBtYXRlcmlhbCBpcyBub3Qg bGltaXRlZCB0byBudW1lcmljYWwgcGFyYW1ldGVycywgZGF0YSBzdHJ1Y3R1 cmUgbGF5b3V0cyBhbmQgYWNjZXNzb3JzLCBvciBzbWFsbCBtYWNyb3MsIGlu bGluZSBmdW5jdGlvbnMgYW5kIHRlbXBsYXRlcyAodGVuIG9yIGZld2VyIGxp bmVzIGluIGxlbmd0aCksIHlvdSBkbyBib3RoIG9mIHRoZSBmb2xsb3dpbmc6 CisKK2EpIEdpdmUgcHJvbWluZW50IG5vdGljZSB3aXRoIGVhY2ggY29weSBv ZiB0aGUgb2JqZWN0IGNvZGUgdGhhdCB0aGUgTGlicmFyeSBpcyB1c2VkIGlu IGl0IGFuZCB0aGF0IHRoZSBMaWJyYXJ5IGFuZCBpdHMgdXNlIGFyZSBjb3Zl cmVkIGJ5IHRoaXMgTGljZW5zZS4KK2IpIEFjY29tcGFueSB0aGUgb2JqZWN0 IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlIEdOVSBHUEwgYW5kIHRoaXMgbGlj ZW5zZSBkb2N1bWVudC4KKzQuIENvbWJpbmVkIFdvcmtzLgorWW91IG1heSBj b252ZXkgYSBDb21iaW5lZCBXb3JrIHVuZGVyIHRlcm1zIG9mIHlvdXIgY2hv aWNlIHRoYXQsIHRha2VuIHRvZ2V0aGVyLCBlZmZlY3RpdmVseSBkbyBub3Qg cmVzdHJpY3QgbW9kaWZpY2F0aW9uIG9mIHRoZSBwb3J0aW9ucyBvZiB0aGUg TGlicmFyeSBjb250YWluZWQgaW4gdGhlIENvbWJpbmVkIFdvcmsgYW5kIHJl dmVyc2UgZW5naW5lZXJpbmcgZm9yIGRlYnVnZ2luZyBzdWNoIG1vZGlmaWNh dGlvbnMsIGlmIHlvdSBhbHNvIGRvIGVhY2ggb2YgdGhlIGZvbGxvd2luZzoK KworYSkgR2l2ZSBwcm9taW5lbnQgbm90aWNlIHdpdGggZWFjaCBjb3B5IG9m IHRoZSBDb21iaW5lZCBXb3JrIHRoYXQgdGhlIExpYnJhcnkgaXMgdXNlZCBp biBpdCBhbmQgdGhhdCB0aGUgTGlicmFyeSBhbmQgaXRzIHVzZSBhcmUgY292 ZXJlZCBieSB0aGlzIExpY2Vuc2UuCitiKSBBY2NvbXBhbnkgdGhlIENvbWJp bmVkIFdvcmsgd2l0aCBhIGNvcHkgb2YgdGhlIEdOVSBHUEwgYW5kIHRoaXMg bGljZW5zZSBkb2N1bWVudC4KK2MpIEZvciBhIENvbWJpbmVkIFdvcmsgdGhh dCBkaXNwbGF5cyBjb3B5cmlnaHQgbm90aWNlcyBkdXJpbmcgZXhlY3V0aW9u LCBpbmNsdWRlIHRoZSBjb3B5cmlnaHQgbm90aWNlIGZvciB0aGUgTGlicmFy eSBhbW9uZyB0aGVzZSBub3RpY2VzLCBhcyB3ZWxsIGFzIGEgcmVmZXJlbmNl IGRpcmVjdGluZyB0aGUgdXNlciB0byB0aGUgY29waWVzIG9mIHRoZSBHTlUg R1BMIGFuZCB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQuCitkKSBEbyBvbmUgb2Yg dGhlIGZvbGxvd2luZzoKKzApIENvbnZleSB0aGUgTWluaW1hbCBDb3JyZXNw b25kaW5nIFNvdXJjZSB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNl LCBhbmQgdGhlIENvcnJlc3BvbmRpbmcgQXBwbGljYXRpb24gQ29kZSBpbiBh IGZvcm0gc3VpdGFibGUgZm9yLCBhbmQgdW5kZXIgdGVybXMgdGhhdCBwZXJt aXQsIHRoZSB1c2VyIHRvIHJlY29tYmluZSBvciByZWxpbmsgdGhlIEFwcGxp Y2F0aW9uIHdpdGggYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBMaW5rZWQg VmVyc2lvbiB0byBwcm9kdWNlIGEgbW9kaWZpZWQgQ29tYmluZWQgV29yaywg aW4gdGhlIG1hbm5lciBzcGVjaWZpZWQgYnkgc2VjdGlvbiA2IG9mIHRoZSBH TlUgR1BMIGZvciBjb252ZXlpbmcgQ29ycmVzcG9uZGluZyBTb3VyY2UuCisx KSBVc2UgYSBzdWl0YWJsZSBzaGFyZWQgbGlicmFyeSBtZWNoYW5pc20gZm9y IGxpbmtpbmcgd2l0aCB0aGUgTGlicmFyeS4gQSBzdWl0YWJsZSBtZWNoYW5p c20gaXMgb25lIHRoYXQgKGEpIHVzZXMgYXQgcnVuIHRpbWUgYSBjb3B5IG9m IHRoZSBMaWJyYXJ5IGFscmVhZHkgcHJlc2VudCBvbiB0aGUgdXNlcidzIGNv bXB1dGVyIHN5c3RlbSwgYW5kIChiKSB3aWxsIG9wZXJhdGUgcHJvcGVybHkg d2l0aCBhIG1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIExpYnJhcnkgdGhhdCBp cyBpbnRlcmZhY2UtY29tcGF0aWJsZSB3aXRoIHRoZSBMaW5rZWQgVmVyc2lv bi4KK2UpIFByb3ZpZGUgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uLCBidXQg b25seSBpZiB5b3Ugd291bGQgb3RoZXJ3aXNlIGJlIHJlcXVpcmVkIHRvIHBy b3ZpZGUgc3VjaCBpbmZvcm1hdGlvbiB1bmRlciBzZWN0aW9uIDYgb2YgdGhl IEdOVSBHUEwsIGFuZCBvbmx5IHRvIHRoZSBleHRlbnQgdGhhdCBzdWNoIGlu Zm9ybWF0aW9uIGlzIG5lY2Vzc2FyeSB0byBpbnN0YWxsIGFuZCBleGVjdXRl IGEgbW9kaWZpZWQgdmVyc2lvbiBvZiB0aGUgQ29tYmluZWQgV29yayBwcm9k dWNlZCBieSByZWNvbWJpbmluZyBvciByZWxpbmtpbmcgdGhlIEFwcGxpY2F0 aW9uIHdpdGggYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBMaW5rZWQgVmVy c2lvbi4gKElmIHlvdSB1c2Ugb3B0aW9uIDRkMCwgdGhlIEluc3RhbGxhdGlv biBJbmZvcm1hdGlvbiBtdXN0IGFjY29tcGFueSB0aGUgTWluaW1hbCBDb3Jy ZXNwb25kaW5nIFNvdXJjZSBhbmQgQ29ycmVzcG9uZGluZyBBcHBsaWNhdGlv biBDb2RlLiBJZiB5b3UgdXNlIG9wdGlvbiA0ZDEsIHlvdSBtdXN0IHByb3Zp ZGUgdGhlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBpbiB0aGUgbWFubmVy IHNwZWNpZmllZCBieSBzZWN0aW9uIDYgb2YgdGhlIEdOVSBHUEwgZm9yIGNv bnZleWluZyBDb3JyZXNwb25kaW5nIFNvdXJjZS4pCis1LiBDb21iaW5lZCBM aWJyYXJpZXMuCitZb3UgbWF5IHBsYWNlIGxpYnJhcnkgZmFjaWxpdGllcyB0 aGF0IGFyZSBhIHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnkgc2lkZSBieSBz aWRlIGluIGEgc2luZ2xlIGxpYnJhcnkgdG9nZXRoZXIgd2l0aCBvdGhlciBs aWJyYXJ5IGZhY2lsaXRpZXMgdGhhdCBhcmUgbm90IEFwcGxpY2F0aW9ucyBh bmQgYXJlIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSwgYW5kIGNvbnZl eSBzdWNoIGEgY29tYmluZWQgbGlicmFyeSB1bmRlciB0ZXJtcyBvZiB5b3Vy IGNob2ljZSwgaWYgeW91IGRvIGJvdGggb2YgdGhlIGZvbGxvd2luZzoKKwor YSkgQWNjb21wYW55IHRoZSBjb21iaW5lZCBsaWJyYXJ5IHdpdGggYSBjb3B5 IG9mIHRoZSBzYW1lIHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnksIHVuY29t YmluZWQgd2l0aCBhbnkgb3RoZXIgbGlicmFyeSBmYWNpbGl0aWVzLCBjb252 ZXllZCB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLgorYikgR2l2 ZSBwcm9taW5lbnQgbm90aWNlIHdpdGggdGhlIGNvbWJpbmVkIGxpYnJhcnkg dGhhdCBwYXJ0IG9mIGl0IGlzIGEgd29yayBiYXNlZCBvbiB0aGUgTGlicmFy eSwgYW5kIGV4cGxhaW5pbmcgd2hlcmUgdG8gZmluZCB0aGUgYWNjb21wYW55 aW5nIHVuY29tYmluZWQgZm9ybSBvZiB0aGUgc2FtZSB3b3JrLgorNi4gUmV2 aXNlZCBWZXJzaW9ucyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlLgorVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkg cHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMgb2YgdGhlIEdO VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmcm9tIHRpbWUgdG8g dGltZS4gU3VjaCBuZXcgdmVyc2lvbnMgd2lsbCBiZSBzaW1pbGFyIGluIHNw aXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5IGRpZmZlciBp biBkZXRhaWwgdG8gYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29uY2VybnMu CisKK0VhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZl cnNpb24gbnVtYmVyLiBJZiB0aGUgTGlicmFyeSBhcyB5b3UgcmVjZWl2ZWQg aXQgc3BlY2lmaWVzIHRoYXQgYSBjZXJ0YWluIG51bWJlcmVkIHZlcnNpb24g b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSDigJxv ciBhbnkgbGF0ZXIgdmVyc2lvbuKAnSBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2 ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRp dGlvbnMgZWl0aGVyIG9mIHRoYXQgcHVibGlzaGVkIHZlcnNpb24gb3Igb2Yg YW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24uIElmIHRoZSBMaWJyYXJ5IGFzIHlvdSByZWNlaXZl ZCBpdCBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YgdGhl IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgeW91IG1heSBj aG9vc2UgYW55IHZlcnNpb24gb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBldmVyIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLgorCitJZiB0aGUgTGlicmFyeSBhcyB5b3UgcmVj ZWl2ZWQgaXQgc3BlY2lmaWVzIHRoYXQgYSBwcm94eSBjYW4gZGVjaWRlIHdo ZXRoZXIgZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy YWwgUHVibGljIExpY2Vuc2Ugc2hhbGwgYXBwbHksIHRoYXQgcHJveHkncyBw dWJsaWMgc3RhdGVtZW50IG9mIGFjY2VwdGFuY2Ugb2YgYW55IHZlcnNpb24g aXMgcGVybWFuZW50IGF1dGhvcml6YXRpb24gZm9yIHlvdSB0byBjaG9vc2Ug dGhhdCB2ZXJzaW9uIGZvciB0aGUgTGlicmFyeS4KKworPT09PT09PT09PT09 PT09PT09CitMSUNFTlNFIC0gcHljcnlwdG8KKz09PT09PT09PT09PT09PT09 PQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorCitEaXN0cmlidXRlIGFuZCB1 c2UgZnJlZWx5OyB0aGVyZSBhcmUgbm8gcmVzdHJpY3Rpb25zIG9uIGZ1cnRo ZXIKK2Rpc3NlbWluYXRpb24KK2FuZCB1c2FnZSBleGNlcHQgdGhvc2UgaW1w b3NlZCBieSB0aGUgbGF3cyBvZiB5b3VyCitjb3VudHJ5IG9mIHJlc2lkZW5j ZS4KK1RoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgImFzIGlzIiB3aXRob3V0 Cit3YXJyYW50eSBvZiBmaXRuZXNzIGZvciB1c2Ugb3Igc3VpdGFiaWxpdHkK K2ZvciBhbnkgcHVycG9zZSwgZXhwcmVzcworb3IgaW1wbGllZC4gVXNlIGF0 IHlvdXIgb3duIHJpc2sgb3Igbm90IGF0IGFsbC4KKworPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorCisKK0luY29ycG9yYXRpbmcgdGhlIGNvZGUgaW50byBj b21tZXJjaWFsIHByb2R1Y3RzIGlzIHBlcm1pdHRlZDsgeW91IGRvCitub3Qg aGF2ZQordG8gbWFrZSBzb3VyY2UgYXZhaWxhYmxlIG9yIGNvbnRyaWJ1dGUg eW91ciBjaGFuZ2VzIGJhY2sKKyh0aG91Z2ggdGhhdCB3b3VsZCBiZSBuaWNl KS4KKworCistLWFtayAod3d3LmFtay5jYSkKXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wa2cvd2luMzIvUmVzb3VyY2VzL1Nw bGFzaFNjcmVlbi5ibXAgYi9wa2cvd2luMzIvUmVzb3VyY2VzL1NwbGFzaFNj cmVlbi5ibXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzI0MDczMDdlZjNi YTdkNDA5M2M3YTA3NjJjZDk0Y2JjODQzMTZjYwpHSVQgYmluYXJ5IHBhdGNo CmxpdGVyYWwgMTk2NjYyCnpjbWVGYV9rVUU/N1FsUG89bHVgd15adFNOYE1o Nz40V2dvPSp0LXxZd2NQN2ZANGM4X05DS2dFTFh6b3wtaDFmWAp6MHRnfT9B V2N6X0IzJSMqc1B3QTI/fFd0P0ozRDkybk1AYCNuTCN0M0E/JFBKbChwQWhZ d2d3Yys3Q1pCezRmOUsKelV5UlJpe3s2cDM8TnVJPHxIb2hjWnt2djF8TXsy eT1sfVhrO0daMS08dUNzbWByTWZxPTxNd0w/WUd9PC1NViQtCnojKkomJnUz Zm91PDxnfX43Y1hBP3dmalN4R25YJTR6SXlmUV8zUEpmLW5ffWgtMTdWSHpq Tj1NKzM2dnV8TGhuTAp6dldKK1Y+SSlZeG9JN3shP0FmIVlQTXRiLT9BWVBN aFl1YitjO0xXK3VmUDc5enFDMVheeXR3T0NyK0ZgZWZzPEYKenpkd0tlSmgj OXB1I0U3KzVGYEJBPkZMaHR6ZmVBO2kodm9wI34tMmpMeCZGUy1NZT9eJllm R2daciF3TCk1amx3Cnp7ODhAQFhGbURsbFB6MWVZflF8cCpSRVkoZSklTyNh czJyNEA0b3ZFIyhAYExCM1NBNj9ifTApYU9WKWhwQWt9Jgp6N0FQTnpNY04t WmFeI0NJelN5Pkg4fDN9cmhhYXc5eT9WdXA3MFo/X1RlQGBWbEU3emk7NnN4 JG9MfDB0YE8xfG0Kei0rUypwRT8mUVd7cFFWXmNrSXshPEc/O0FQb0RoWWhh Yj9HZ2J+bj1oOFc/YE5MfnJ0WDl5QnExdk1UKmg0T2RyCnotaUBlVnZ0fHQ+ NFM3VDkzbH1iMnBuY3xSQU1OeDRFP2N4ezVsakkpeiV1WntoN0I3JntxKW00 ZC1rOSMhM2FQNwp6XmI8MSttY2tHaEJyck1yeGo7a2ctQEl8LW10VEhDK2Qq UE9gNSUxbjBSKzVnO2xsYXpKNmY5Pz5uYzJ6LWcpS0QKelNebmF3V3NWcyZy Nm1wM3JPbDFDdCp0SFhaRVlSQktmKU8+aDQyRkchXkg5YWB8bVI7cGd9Ukd6 K2IzRk9iMmttCnprVyUjTEJES1dwRXlSRVErQkwtVEh7WDJvKj1MYHZVOSlF NHtQdD5wYW1tQ24tbl9zMEc5TDgyYCZhTH5mMGUmOQp6PFFxNmxAfX1TQyVZ Q0xPPztwLS0qX0ZQTSNgP09wd3BPXkl5fWV5e0xneGkwMSFmYXdncENfRlZr VGZDMnA2RG4KejRiMjZLTTtDdHpoeiNQdGVob1ZwPD5aciU4KFNLeFRvZDBt WGcpY35NRHRla3VrKFZ6QWx6Ny1eTzkjflBLRHB1CnopS0NXKDFUekF2NnZo SjZmcDdzI2hzSzU4aDR3WE02I09ZQEVAMypVaD0yZFNlRzZKQC1RKWw2T0J0 PnRlMUdYKgp6LURvZ0UlNVljYVY8cUdNO2RqaCNaRH0kdzA7Ji08MHtSdE43 R15SVTdycy1wRkQzIyZOKk1HRTByRSUyMEspZGgKempxOWpBK2RrYn5JV3lJ cGRNfFZ2XnsrU09FPVJAX2o7UkBTKW4mU3NmTDtVX0ZjKUFOdFhzRFokMC12 NXp6fHteCnpWdTMkMCooRkJiQXBZQzhadkZpOCZ1ZHBORElOTytXR35XTkhH JlQjYCQ7QWQ/c2NiKGFPQ35IKChnM1ExPXpeZwp6MSRhI2Y5fXJMQGRgOTM1 YjA5SkJHejcmVDY5ZDJoe0BhQk16YjxMPWAlPj1LMzByUnE9P1d2NStOUSUw Y2o7RmUKekhidSZDTjVRfTlZcFlDTGZJNzVsKWhkRSQjTG11fklXeG9wZUB3 RFZqOXp0aXsoa3hMcktRYiZmMnlKRj4ocn5hCnpxdzxzV0woPWJlJkIkcVBZ KjN5ZSlGRF5eVTVIPS08Xlg7bkI0dEMwUC00KV85fHtVWD9aMTkpXzUyIXRU MSpzdgp6STRHUjJfdVY4JSktJTsqOSVVNTMwX1p9KjAkK1hnNjsyX2QxNEFD NktOUnNMS3hjbVk/ZT5PTVpEa29Ga2ooUGMKeld4bjMtNSM3bTJtMDJTakNP ejljXn5KVXN1UVgyYFUwM2lfTWZPTnZeMDQ0MV54UEgzXklocXFhMWJlN05M WVh2CnowZzRkTzByS2RgOFg5N08xZlpIZjRoU2E+Pj8rVEVLPEdBQGRVZzZR T319QDMkKFVgY1lmbTVFYkskNGNTMStFdwp6ZSZ4Y0F0Q3l9X3tgSmJRS1Yz WGA9S0pJT3p1dmxYXkozMnUqU25Rako8cnIxVnElQmpwV0xZPHltSmR3NUxw eDwKejUre2ZobFdSJlE1Jl9+cjQpJXc3NT8yaHx5bmVOTGBZWFhpc010WSVM TiNqbFBkUnBJLT5zWTF7fSlDTXw4S1clCnpVQV5ANEB2cFlQM212bXhTTXgk PntfMF9rPGh3akd2VUZQanpiSWoxViNMX09MeHc8SE4jPjk5YT9JWTEzdGNA Xwp6WFFpS0BtUkMtQ1pQI2E/VmokeHFpbWRaakV9WXg+TDRDe2dTNHZhd0Z9 PT0/XipIYUZIJVRjJWdhKEthVistJSEKenphSzQjJn5SanM0QmEoXjBmbTg2 Mlg+JitLeHd3JDxmTXcobkpqQXxHWXZDQS01NlBlTiNXR2ordDxganNtTH1t CnppMkRBZmo7UW9HIzJna3cwNDwyUDclOEs7THgrNHBrJlZMOFU0bnR6SCpZ S2BkTTgqUj41PFJMTiZlfDZ5TFJtKQp6N3dHMkE4JlJgNUozR0hXekhlbiZQ SEVjUkpAMnhiZFNEUHw9SHZDWG1DT1FnMFczaGBENH02fEtgZiVkNUZRJUoK ekFxKyV9ZmtWNExAJn5qTE9DcDUhKz5fcTxXYUd5eStQWlMoYUAyK0daP3x0 QSp8USN2aCErVkQlM3VBRUhzNnhHCnoqSUhYemdhdlNpNSlAK3ImZD9NUEB3 Z0EmMm5LSDV4VD1KfENIPWR6cEkpX01uTW00T3dfK3R9RmE3LWVhJGtsdwp6 a1hkUjt7fDBReSErZ2NsXihsYSptUkpGI1k3OUFvaEtNO2I0MUJZRHkpV2Yx NXdJNDJRfF8qPl5zKzw/O1pHaU4KeilQPXRlXlVkcDUpLX0oOTF1VmVtd2hA U25IOChZaTNQZXlDRH1aJkJJRCFhPT41bSN9NGBDbzI0NGBgfl5RTVdzCnp3 VW9OPHNpfn1VV0xYeFB8RTxgbypgMkB0ek5UVFMlbVEkTTAhKzF5TSZUcWVn dkFsV04mJUxQUURyNWp5Y3JITQp6aHB4SGZGen5+UHtpU0ohQTV3aTRyRSRp U19Qfk9VSFZCT0xXMHZJKFBVMG0md0QhNkdGeTN3aGxgSGV7bWdYanoKejAq RDJ5VUF2YU5JSVEzeTczaHY1emM+VGorNClJRmlCNHVGcyZofXohcDZrU2Aw Y21mbDZ4T0R3QCtXKUs2bUN3CnpScWlNcXV3THpDcmh2JjwwcGJWK0xLYkY8 M04mYUNfU0opLS18cWtuK2BmNjhiUkNfdmRlTUxTMTEhI0I1IVVDUQp6ZjZt JklMRz58cWM3Qz9IU19lI1QxRWVjPXZ7PUVTMCtBNiFpTEY/aEN3SVZ6NHVS TW80NG5WJkM/UT0pJWtvPD8Kejtvb1ElSTlPUEMhdCVxeFFHT0tvbXcpfUtl IT9AQmZFbTF5SmU7eDxxNWBvJWhDbCNiQWI9Y0ZmZk5GVjhodjhtCnppfW1m ajFiI3JASG1Ia2wlSDFeO0s0TUhfVUIqU1U/cTFqOE1iKil2NjQ7RXROelIk TXE1fE9zVnUyV3dSM0o3Tgp6RUI5PWwkUS0paGo+RXZwdk1mOUxjViQxXyo0 amR2NEdSeGhlb21VJTtIJWJgZkJCKCkhcWItWTUwZzVfek14YmYKemxBO05P UUQxYXVRTlNIWGdtREQ4Q2pUKXpgYllVZXdUNy1SZXVieyQwQjJ8Q2h4TD1+ PS0tb2FaKFd0S1lGPG5MCnpzJldPdyg/aHZIYVR1c09Acy0hRlVMK09TUFFt dDwlcGsjbD1uYHFodFU0YzU8NSREeEgrJEAzYklEMXJJVE11JAp6Sz4wV3Aj anFrXmtuSSE9KnJEY35nYUpKTmw4V0RAQE9QYCQ5UXNvNHNWZWlMU0w2STRA YGR2IVVPQzFydEVyIygKempOSyZWbilEeEswdVpEbEx4WGhhQXJ0c2NxUWR5 V2RUN1VvIUN9QGVPM1FldHZBIURtWFBMPnFlZiMyQFVHcmg+CnpMXzdLfiU2 dnhYcFEjRUhtP0ZCWTN5Iy1SNn5CPWpkVUdUZypzLWR7UFBIITFjJXI/bjcz VXtATVZ6MDNnI1FSdgp6eUY+ejY/fGIlc3lpaFdOMVg+K3RjbHJiSHNoOXdt RG4hOTM0TUNaPi1WWWMkOHA0MUQyRy1ie21QSSkpNW45RXMKemojNXAxZWxq MjhtfEZBUWt1TypzNVVpdmJqRjIrQylLd18tUHJYRXZedkgjZGk+dH40emVB QEk4dnskK0RSIyFNCnpkLTUxclY4WSVPcT9YMFNgTEI+aUkjNTtLIT92SyMk YHVuQlNGSj5XaG45bVcpRDFPNFY0IXV6RTRuVkJ2PHBNaAp6JmR5VkwxKGFF Y0o0RyFqYE0wKEZYR0tpR24/bkUwUjsmbilgKW1+ZztYXitxNGhCZHd0e3dO ZDlzUm90cndJTDEKemVtTX58aWNqWC1DZ35Nc0tGNCtmJXZPPkpEcD9SaUYz YGxHdzhWc2pEbV8mPjRfVlRgSH5CN35iMXc5Y01vcE89CnpHQyQpVVJLKjBn bG1HNl8kNkFfPE57UHhfT0NvZjx5dFJvcik8YU1RVzhqelhQZ0hjKnEleDZ+ SHw8e1BGaGw8bwp6OHppWTk1JVAqcDlyKC15V1kxeXh7azRIOHUoJmBhU351 aFozTGYjSEdkYyMmOXtiWCsrS0QmKXtgIzc3PXMkNWgKemlXa3FId2FaaVd6 QntiVVRPdXdYSnpIYiZ2ejJ1ODR6Jns7MUlOR0dFYWpiMWZxRzxWQU8hNDZk JDZVazQqRitaCnozQV80fHsxQTY+aW5YR2JCc0liOEZQYjdJRmJaMjd2LUp7 dSNEfkRzRitsS0YpZ2QmfGVeS2Z2PlRSbXpwOUcxaAp6dyRBKiFTUyFJY2kq c3RLTTFrWCp0KnhWWHNHWjsjKnRkRDlBfTE2NSZyNXZfYWpHJjNqQWljJFAr KUwlV3hmS0sKemg3TlAjKmpJKUFDMTV2ezEoKUVvbWs4a1BTPSN+JFMkPlBO cDIzfW5KQjNYY1N5WWxCP3Z6aUxtMDNjfE5tdElaCnpFTEJpMCg2fWNvQ0Jw YSkhNE1oKStnNE80YVM5MmtIVng8NDdscjt3eyQjVjIxaihyVWRmT0A7TkY4 UWg9QlVPNwp6Vj1kJjYzcERoZzVCO2h6dXlLQmdBfTVgZUlPIVZxbiRTUFZw VlNxSlp9TylDNz5BVnRtX3sje1EtO0A4UzE2cT0Keno2JXg8eihiOGgjPXpS OT41ODBzKEdzT1RDJSZjVnBOI3MhVS1Ab3t3PHtPVmA/Y01OYihtPmFgaWhg YEBtV2JOCnpsKF9xPkVQRjlAR0M/cX54KzIkPnstK3FwWj1ANSppam9BT2VA WWBaT2ZWTTAkayM7d3pDdlJtbjhmVFAzdkA4Ngp6Nih6YCs0dUtJcTI5figm bFJ1fVdFQmVRbE9jNDVLemt0UWdGXzY5R3d8SGBqJl83d0FFQ2lPRXlgZDBU YDFKNSsKenlLK0klK21eREZsZ3tiY0xqVGtpQiVMaDJpKGgpaXJMJUtRe1p2 YnM7ZlRXQSpNPEhpMy1ze2UhJGFqamRyJnZqCnozY142ZzlIWVJkZTA1IWRH YlBpPDNqSFUtO3g4VFd0dC1rY1ZLISFqKyF1KTEwWEZuNjEtb0Z8SUloe3oh NShUUwp6QU9fbEl6R19LSm9HaE42cl8rRHBSOC1qaT4yZ2IkcD9fYzJCZHZp RDA0fnM+aDQyWVRad1Vud1Rpdm52I1NvaVQKei07JFoqaDVpd3cyTSEhYTlR eXpFOzB7WkdJWX5MaG1nWilfUiQ7cTEpfnJhVnVec3tAN3o0bG1jRHM0e09P fj5mCnpHfFE0JTZPPHdXe2x8Q2x1TVJ2cCtwPGo8a1ErNEx7Z3JrQE8qdnBv K0xFTzA0SGJnV3V7WUZLN2BUMXdNJF4+TQp6Q2k+fDxxXlEmK01nUWN8Qm82 KHZ0IzxBQkNqYCE1YG1iPSQ1ZmhqIVhzTHhiNmFyOHFLR2VgTHo9bUg8bFY5 ajIKel99O1FLSW10YjVzP2RLVDZvMWdjekgja3grcE8yQD0tKVpSU09geERL eElKPmcjZEt5NFlkXnBzSG81fD4zS2B+CnpfYStiWDdTR1Y+S1hEdzE/Nnwk bSkzc0dvdT43QV9ARTtXZFA9ejNkTEk3JmVoWitoNCpSTmN0cFpGeyFXYnNX Tgp6PTZCNDN7PmkxTW9JO3tHKCRfVzN1eikkeDUlOylQcD9+NHJwK1hSOXRj TSFHN3poO0E/NVpveUVUR0YkN1FkSWQKejx8X0pVK3BvbHR8OCEpPmQkbzRA azlYfFRMak9fLUJKTzREZzMmJjdDUDZVMykrJSljUGc/NmdEWnxTPl5Ndzg+ CnplZyp4PHhBPklfVitYZ3RaJTY7YHdFSTtwKz1SK3BIRmFVPUZhaXZxJE1Q WWRObzU7OGxzTStZdk1sfD44R2htIwp6SzYxVT9pJiMheEpGZCUtVndWM1lj VU85Zzc1JkcoXz94SzxYVEk2dk9CclRAUz5gWUl5VCo9NEt0Mj0jRmReKkAK ekpyc2g2c198bn1mcmxiJnMzSnQ4TlhUYlI3ViNaY0NiQnFKSnsrPThnPExm Kjs0KjRwO3tBZz07MFReJCFvViotCnpvQFZDQE9HVFFCbiRATDdAZV40fiVj Z1IxRmFEK2p8TVNebmx7cFZ0TGVBRmspbnpXfFV4ZmdgJXVvbkckS0Q7JAp6 aEZsPzkxYGhXZnpJVWpkYWJ5UDtIYTleVkFzfElnQ2Q7eHxuTWs/cy1NZT9R Kz1JV2dTKnlaTmM8aX4xOWdDPmoKejFEbjdPNUhMQEpqfSM7UGJvT0wqP2p2 XmtQZmZYNz1wUWRpQXswTj1OQTFkbWI2RDx7QH1KMF5jaXZRUzBaQWQwCnpw PDIqNz5TRUNyNWlLZipYZE1IMjNyflllaDN0ey1yJXMpTWt8QWttbkB4eClN VGtPOVA2R0tZdFcwRWFFKjA8OQp6aGVNUUpHQiREQWF+V2tvY0k/PX0pKWxZ PTFxfFVKXjEqbUFOKXVZdF9vdDZsalU4bzR8RE0jbFliKDQ3T2FIZlQKei1F NSF6eCtWUUhESEtvMzUmRVpjN3BuamdwPm98bz1waXhoZy1WZ25zMjFvWHMy UH10PW9AP3h2ayh8czJRJjtYCnpeYjJASmA2d3tSWk85KGRDNVh4MWl6SHp9 K1h5dG1JX00tZ0h+NjY5QD9vTV5BMzRLTUJ0VVcqN2dOMGxIbys0Sgp6Q0JR KXhoR2h+I040aj9IPmhaKC0oSVBEQS08eHR6ZVJaaSR8TWFvSC1SVzF+YCtL cDMwN1UxUEV+dkleQCkpNmkKelNwXns1XzlZYlh7cTFaKlRgeUQkKmB0PUFa JHFldlJ5MVZEbEBGPXs1fVJzS1hlPS1Wajl7c0kybHQycDskcX04Cno0QEE4 b2NMbE9YbV96ZjdxZmszXjRvJmh3endQclFTOEB3WDBYclpKZyVNYTdOSXBN Nj8lY2piNitia34oJHNyTgp6cX5RckxRM0MyZVZERj0qblAhLX42TTxhZ3lI KWBKSmQ8RmU4U2xZRWYyVylnJTEwN0grZWxIT0xkYSl5NjRWVDYKejY7JChx VDlDOSpGS2NGRDNLIysxOF5SN1BmOFlAd2k/K2l2eGZnTWJOKDAkTHozamwh K3tFQEtXI3o2fWpfS0tSCnoje0gqbyt9cCtELSpncWM7VGlYO1l5MkM5PE5z WVVISXQ9KG1FTClFKW56VHNPPkokaDJ0ZjRfUEp4KFYxVzFDLQp6PmA8UW9g LTQ/V09WZFlLVGFoWEVIcX0pbkdXfkJ+VyRYKVlgRV9QTE9XKjBXdE82TFNn JnIwRFF0fXpmQyNyJUoKemgxIXdOQz5XeFhLdzVrdFN8bHdyaDd5amhqPl5I TGZhMSt1cHhkNTBOTyZgXlViJXZxaExYPU09c0VNLVRRTlZxCnp2K3wxYVVp YW9hO1J+JHpSYGFgUXk2PChFb2FEPEc+QzdFbkdBWCZqVE1YYWUzXnk/WEpP IUxVKnhGRi1QclhOTwp6SF8xfFdeMWFPc0hBNFRlY0IxKXp6fX4ocyN3cXxF QyNxZGM8dk9odmBjTWM9QyQ8Uk1CS0FAMkEhQ1NIPFRMYW0KellLaUQxTipq U0BfOzM+ODE3RS0oRUpWZG9nVDhAb2c5cFltNXBha3E0KU5vK1MtYS1Mbm9A X087QjhNUFprWiZ6CnpAZkNfeSF5U0NzXiVGVTRTJnRUdmYyK2RoWGxyZVNC PjBHNjZiUCRJVTJOfHp4MH5KLXAjTkdmZ0hzWmR7KlFtUAp6I2grcXErWnFo Tkd2KXI0cmd9eiVgNDBSdTVpPyZTZD9GYjdwPDlJYkY+RGUwVXtkN3NsRXNU IzhmJEFSeWsraXIKejwoe0l0cyF9U0NES1JURjJMN1FSXm1lOEx0WEtSbkQ1 QUlgRiZxPk5AYkZ1PVplbTMyLW5GeCN0akx3fjQyY0o3CnpLdXQ4TWtHMUox KTFtcHdsKUZvXlUrQC1BWmYkNz5IcEs8eS1WJEdHMj5TMW18NGVocHxBZFBG TFlDaGotJmRBLQp6enVyXlRXPUhKV08yNSFRWTl1YVZGcFFeU2g/eDZ9ZmRL S31MVi10bXFzZ3BXeVNCYzw8Q15yMkJtRUlpK1dwP3QKejV5WGpuRFIrQylN d0Z6RWFeJHxgbmxaTXF6OXR9T3lSOzVRTEclcjVQai0+TzR+ZGVtU201e0hm OCpoNlMxJjJlCnpmNUF3KD5eLTVJNCVQVF8tdD8yeyhERik4QD9EUFhYWj88 dTNPd2xGWWVXQiNQKll0c3okNT5te3slRTRGWl5gNgp6SWAwdl5yIzxiSTtt OVN5Smt6dWshVjtWI2RINyYkRiYpVDlMZyYpdkpSaUErcTM8dVh7SzJrUSNF JTFRYH1TP3MKenU0JGdFJEdzX2Nmb0hvZk57Yyk3ZSNnWkJHfWN3QT40MVRk aUdaPFNgb09vTlNtNFUjaXdpMWV2ZHkmSjFFWVVGCnpkNio7ajcxPUVteX55 Xn0wc0J8ekFOP2wqPjdQe3FicD1tWjspaFhpJXs2TUZnTFlYM2dNJl5ZZlhy ZmU/TkNKVgp6RnJ5VWwhND1HaGg2SyZJakpjbDZhN1Z5MDUtfTh9Xyl+RiZC N1ROYGBORWRjeXNueHtBWTg8NnVuXlhOTGElVm8KeiRaQmI2Uj5CcnFMTEoz ZSN2Qms5VTw/KmBHUSR6dyFTNkVOV2pmUiR2SFhjN0Y+bTM3YSZJeThGQXEw Z21VMiZICnpaSDNUM0Aqa0B3KGV4akxaQSlQQnZMKmNQblBZfGl2Qyk3WitY fXhscD5zeClESCEpSnN3Xms1JWtiZHdtayh6Kwp6JihQcDY7eGRGRDhaWWlV YlNHRnRCMEtvOz8yPHxUVjhXam41PHpqYD47MUxHeCNFNWlKb2lhallCLVFX TlpSX0UKejNLSSorRWIjVCRgJisjUSFPc2w7YEhAfU9iNjReKFNNRiRBe1Vf bDY3eThFO28wIzshKz8oRmhvIStYV2QtOHZ3Cnplfn4jTDkyVVN3JkUoNW1N cjBndzREVEdLRi1vYT9YY0pIOEIlV2RWJVZrX288UGwjNzM8NilebXhkIzdR PmJKVAp6Y21iXm1XJDZ6X2BFJjtqQHllQ1VVdypOdFlDN2VpbEkpTlNeQGpl KmxicXpyZTYtQTYybiZjaHEhZ2krWVBUci0KemVMaDRubD5SUSRVOGNoalNM IzBqVWF2IWFZQlM9JFdzM2U4ZUZSe2xqckIqKHYrVXFePGk5MmVyd2gwcyMz P09xCnpZVyM4JU9rX0dYZUtebUQzJFN7KTd+S2lwZmtFSTQ7VUwoN25TdlB2 VVNNaXFVWFpMUjZyP3xsYzBAO1ItbmctQQp6JEZ8QXxGTXs1SWY4RDdNbClD MXM7ZVo3ZSZoS3olSjwrY3hka3gzXzFIUTNPUUlAPFk/K3hkfnd8JiE2RCZ9 UFMKenI+QiVuYEIoaykqWHQrJHR2cXtWem4mVDVWKkh9eUtPe0spWihuVTIw LUtsZGozQXU5QVlBe0BzWGptSWRWQ2t+CnoydXVNLU5MWXVOZipGTF9mb3d5 UkJgZ2M5SWFDRlYxKlVeTG9lSz1MfEpKU2pgQFhFcXc9SkAmMWFrT043WiQr VAp6QkNgTzxIeXJQRmp1JX1CR3hnKj1SVyRBYHxHWWBuPC1VZng4YlpOfjdj RTRaQSh7eDJGXj5+Ji1uTVApdUFNdFIKei0/TXdxP3d3bVZlejM1bnhOWGlx TGxqOTQyWXllPS1GMX5kS3QmaWIrPShnd19pdEdhMyM7enY/VU05SXohZURS CnpGT2Z1RkBwUlhtMl8tWX49MXN8Uk9pNmM1TnA/KDBvaXtuRldNO21uYUJg YDBSPCs7SlJBMF5JaWZmZC01QHIjTwp6NU94NDNAQjtWO0dzT0R3dWM5Qks4 ZXZ4Nz4wRSRvPzlfP2wpZjR9d3VvXnkqPi1hYV9XZ01uR1AramgyTUVGb3oK ejFocT1OTGNkWTl7ZHYjVGxzYTNSalhfantxNjhQaSFCYC1kOzAwYElnYzIm TkI9IzcycDVLM2VhUjEmXzRUVik+CnpBN1NFOSYkTktiaEpJa3IrSCRYPWVA d3l6KVBEJHBgQkhrcUNCMz90YXhZbXg/KEM7ciRAajEjMDM+d2p1fH1neQp6 WXhOYHQ4cGZHbklFVVRJIShBeU9KbFJqVjN0cGMkRzEqJTx2OThpakhNekY3 VVFENmJmcTZqfjBSOyk8PDdHdWsKenp5KX1hLX51JEZKSSpkKFd6fG5WZHs7 bD9BMzchI3hgYlNOZW9GcHBTO2w/alBnWjEmXmFuPHY9Y2ZRczFzfVJJCnpN JTdpN0xDPzxGNlpLIzErU3VMaHZDa0p6Ti1sVEp1QilqZXZCek1aQWE7Tmtn YmAzeUcyZ0otaTE/RjRjakBCQQp6VShXeHVWUjMyWSpvT3NwUShzSm5JdkIo PzVTc34zfDM3X3VORU5+fF4oRkxTdWJ5X1oxR2t2JkAqdHh+Q2Rxcm4KeklX M0ZUSyNsY3Y2YzwlUEFkRGIwMCNiPFNLeWtzQHZ1RHdXZkBBJU8lbkBpbCpS RVZAY2p3YVUoRD5ua2l0I1ZKCnoqSEwhKiRkP3orb2p3MkV1fHFyOEVfSjdy cnVGeXxPXy1FSjFQJjE+MCVZdGZPQGdyPys7cFlndDlAenJ5MGYzMgp6bTtY PWwrLWZSSVRVKDU5dipIRURMU19VYzU/cGA+MU1MKWQ5fHFkM24+VCtyZVFh NmpTUm9hPT1iT01WKV8oPDcKelFTbUB7RGx0PlkqYjQmQFdRaiZ8Y2tHR1di ZnExQmpQbkB9NzNjcT4pSCVEa3V8Wio7UTRyKWE5YmhzdTdvZD82CnpEI2hL M3ItKTRXSkg8NHs7a2ptVTRWJlQ4KC0yPk9gdSVOWEdmeH5waE1BeG5KSmI/ OXlsWStrMW5ZPjVkTFhsSwp6YW8oIzxeKS0kUkJYJHwjSCpHfDUqMFpqdVgj fXV6bH5wOD8zPFRhaEdDYzhQNldKbGY7PlB1Qit0OysmdHtEdTEKejFwMlM/ SjkhfVZrQ3V6YTFBJiVre3ZWZGB1em57KDkwcWtjJTslc2lJV3J6fVBEIXBU YnQ4YXUpbD8+OHhCJW82Cno+ejcmaGoraEEwZD1CcDJUQXRtdDd6OSkoc2lN bVZmQSspZ0VwNWwlTjJ1ej11alZ6QHI3bSooTkE5KEkyKWR8YQp6Oyh0QX1e TmlgJFYkUVhHd0dLd2xUYEJqSjxjIyhlTytfX1EoKlo9d3F6djZNQmNsc3Bu aTtkZUUlTlN1Sk17VkgKem4oO2phQTU3MmUxI21MLT8tMlMme3dGNT1nTGRs bzNOfW9BMzRQZUJydlhMPz1PT3hDdl59WEtpdH1IdURzITdPCnpCRGV0TFcw Y2BDV2ZvPjRBaW01KmtaOTZGNWlOfT83a3twc3s5PFMlX183fmdgfkZKMnpC akk0TkFsPm0+K1E/Rwp6e0lGbyZUWWNjNEIpM18pJlQoQ30kNCFWO1YzOzFG VSlLQWxWVUNRKSViY14rSyoqI2xFV2orbDVhNjEpJjY+eH4KeiZoSmhmdmE1 TzA+LXA0d0BFUD9WdXFeTzA7cG9HeE9GKX0kZyljKilzfjd5ZXNrJTQxMCVv ciE7YEFIIWNBc31+Cnp1X3lXN2xKUmRnKUVOOGppQmJnOEw+Rlp1eiVMPDVV dHx1R1A/M05MZ21mWTFfM2NHXiRNdHA+NTs3bjlWRClsVgp6a2BmbX5rbT57 PCtganpsa0V+OSRjdHwoU2pofEE2YC1gVkojPVQpT0h+UDQlYHc2Q0BGJUMp VzhVTjN3aE10NmYKems9fCZlcUBMbXdWakBQejFLUklTOSMmO2ZedztUYXo/ MXF2TGpNVnlMY2hMc0hocV9HRlpjKEF7PyZWTjdkdDE5Cno1eFlSPTB6P3F6 NyMwRCE3SS1BY0F4WGQoIU5+KT1hSER9ZStpJSo0cjMrZm5ySURoTGtmcjho O3NRJFJQK0hVVwp6ZmlnTyZfbn44WjxgJWZwTX5SbSpeITRIVj5kYm53cHwm VVc0bmFpVmhWVWc4OFFDblh2Y2JVJXMzI0E5NSF4MFkKeiY1eThrOz4tVVhA NzA4Wm1jaEJrbUg4T2Z2QSp+WTFZKFg2RVdtfiRqe15DTDgjJHBeO1FHfXxF aSsjOzxZJWBTCnpGfHxwXnVQPldOYXVqKGBIKmVrdWh4bW1UTkttKHtFfjRK JCV5X2lFeTFjMk8pLUB4eUI9YnFoI3VUWmRXUSNnZgp6Y0xvMiU4VEczKF5L dFJBaVhnJWt6JmkqMjVrVisjKlJMQ2pEODFQSUAjNH5TQmskRHVgUTd5b2t6 bX1MbkVvSHwKentQez1pKjY/Y3hWRlhMRjk7ekp3VDx3JXNucjhsVWUoeyhr LW1KeSR3MnBhaUYtXkJqZjRPMU9iSmNsfDtgLTNoCnpEMzcocGtOKjRzNCFm PlE4RDI4c29yWEY+WH5zdHNRSEI2cjJzNFVFODcjbW9rU0t+IVhYbjxIUmV8 NzA1Qj15IQp6RmdpNm9XIXUpUjxvX0dPKF9aYTIkJHZUZ1g3QCtzLTN+ZlNP bWVhJGAqflRWJGx7YT16c295MnVPIzxuVWx0encKem89OHBiU207MlNlJnZ+ dHRmeXJONiNmeEdjJkFaZzZjPUwteWpNSGI1fnshaGpyenxfQU1nJTA5ITxS VUZNe0VICnpUYjQ9cGdBc3hYaHBQPklHUlpEcXk2fiRuemFaRHlxYE9pXzw9 V0x0bXdyOT4hPHBrcHp1eGBEPTJoeiNtRFUkIQp6eDZGTEtCNzNDaW5MNGdh S2swYGt3MV48SU0tdk54Tm16aGMwN1p6YnE1amc2QzRtal88b1VENXRNZVpO Y3BaTWQKej9hcUIrJT9Jent7bEpDN2w4T0dsNCRJPjZiIzF8cF91aU9IYV4k fU9AaGZwYmIlJjAmPUp0aykySmlJeEliJilJCnpwNyE7JUcpOUx4KDRDfWAr KmVwTnViIzspajdOZzM2PUlhKTVvSFFFdlR1aFR2Ki1tP2EqfWgtQjxMVDsh R2MzLQp6O2xUKWg/Jn5rMkJFSjZjJmI1TDVubiNlNj95U2RBJFZHKzJBPDZX SUxtb2ReYTQjNHApTEpIWTdOVENmWn49R0MKeiRySHpTPyU0TGh2ZXcjP0B6 cW1hXiNfdHdkZn5AVHsmJi1vSjd0NyMtZWVPQ0ZiZmN4TDZeV0JDVmV5Kmw4 RXNUCnohSHhKbEtXdnlHIXJ3JGMoby1CPFo0Rmd1JlY9Jn1wSEY4YjN4YkZY WUBBO1YwcWZZKStrc2FuUUwrWlRRNzJiMgp6ZHtgKyFubHhpXl53OXBEODx4 Q1pKR25ZSHs3N3orYk1tYEgyaD1tTVdMWFN8TS0qV1dKMlR3aDl5QDRUe3w2 eTkKelhBKWU0NkJRPk88MyUoeDB3bC0hbVAwJCYqd2c8TEVscktnZlQkbnZL N0tIZ0hjYEtrVmA/WjchZipzTEl8eEJKCnojN2xzdDJkQl93bDFYNUVCKnc9 WkhtcUU+c0h8e1lTPypKMCUtWCQ5QUpaPVNOZ25RO255JDxOdT59fWIoeSh6 Iwp6MlctaGM5NFJyeS1zIWA4JF4jMlhmajBQU3MyPyprMFRwVHFjdXBiKm0y SE1yU0xSRnBOJGB2MDQ4TzhvTXJjKSgKejdGfVdea3N3el80TE5vRXpeLSt6 aDNLbiZuI0BGTVQoazFeWFFJc0c0dVRURUtmfUZhK3ZmN2oyUHtEe2E8aHgz CnppfUhgdzFiSlkhI2RKNiNkLShDTUhlMTVhTnBJI1RsdDRrSWFzb2klXm82 KyRjMThsRGlsWXpgQz9+XzgxUmtnegp6VitXQHRmJnhOaT9uN2R1d3tXfWhT K2I7fCVJNiZTbmtUdUJBZ0tiMFZKI19tT00+LWtTUD8xWVFLSlFzQ0tPcSgK ejJZd2VjeCFoOzB5OzVIVFc4R2ljdUkjNSl1VWJLfUhfPEstSE5aRHN5WnIw P3hvXyZ2UzhXPHl1ViMqekl7X0AyCnpCc05rPWc+allPTFNAfiZ5d2EjJSpl I0p2QFhQWnRzOEt9S0d0cC10WTQ4dFVHcH17amB3Y2VOZGZuNGJ4eDFtZAp6 NnRUKE1wJjVNRj5lVH44TVJhY2AxKml3Kz92OFp6Sj8tQT1pYyYkUVNmQihs YTBSMnlxUnVnK0Z8ODlCTEU0a1UKeiR4cU5jKURDYF9EN2hZNyRwXlZEOX1j QmE9X18lSjluRF5vPmVWelhAbyF2Xm9LIUw7UnFBZ3I1SWpVb0RudzhtCnpR d21RVipkYT10Pk93RjBsa2NpNmIwN2BDazE9Q0xCYlNmJCtJMG44bkAjQk4o b3lHMHl+a0hGZ0NVYnExS1VFYgp6Tk5sRGQ2fmpeX2JtSEtpeChPRH4pU3ZI OGYzVThxVHM7dXtHcmtEN1JWIUNgQD9YLWcpWjVPfmt0QTl9NzJTQG4Kekx7 eHNqMUFAZzswdGk8OSNaeShzQSEkVDd5aVpzYmU0Xm9xentmY1pIbyE5ej90 QmNkbUx8JWx2dWR4bHZiNDZVCnp0Z2dCbzJWRnk1UlpDTD8kIWAjX2R7OFg/ QntRNV5BVX0qQ0tBYllRS3RUZmpjYDFtKzVRXz9GRFM4T0FmbGpgJQp6WV4q LXFJdVgpI2plQio/aGFXMjhBMSU+RykldlBIejBEQT5jQmhWe1pXWHVeYlYw NVI0S3AlPWkpb3I1dG1HWWAKenhNSC1TeU1EUTZkcXA2PFEtN3daP1p8cFlU dWt5eipvdyNjM01iJGdHK2p5Rzw/OSokOGk1OygxJDFWVjFZUTs8CnpaVV59 P2tmNmZaZFM3SGZhUlRVODZ9XlZZO1I1RDA3KHRZcl9TUG45VnRBJmRJYFVw RU5gS054VVJLNV5afjkxWQp6YHUoMnRgQFFLODgxME9RVDxIKGJPTThyRUg5 VjhXbTlDayZfe1M+VGJHPyhebVErVWw/UnJ9diFJcVRsY2FSU1oKelhyY0gq dkIlQDBScE9ac2s+fCRKXzE0QjMoZnAkJntKV140di05QU40QCVTVDF3U0Zh JmgmP0NEdHNibWdqTnxjCnpKUXlnQVBAfC1tPEVmeSpCK2krb1pNQnFmMy1M aERtP1RIdUQ+eV5DckJfRihXMlFTTDZkMHZObFd9e0pfSkhZOwp6KDNOdktK S3dKd1pgWElDY3VXRFIqRTlzNSVtcX1wYkk7MGk8LU8hZSNSNCtDNmFEPlNB fjljNj9nS3xfSVFMUT4Kek0qdEF8I31PSllgZD8qT3FyRFYxe20/eVM0RDFQ YnYyYXBoIWhYSzRMcWFYUVJLOCRPWiolQyNlMWI1cDY0eD8hCnozayNxS3ZC LWpXMWZCfFhjeSFsfil+KWw7JUA2SUdGckp6NzkwZnZJTj5EUUg0T0x+IV5s QWFhbXYtTD1AMnpJfgp6THFrc1IjNFFCTm0hQipTTWs4bXN4PD1LYjNJQUA/ MCNjfHFqdFRGJGpye1g0UkZ+ZEVxbFQmSGBQfjstVnAwYzsKekJ7cjBsaFhJ KzsyP1N0cVZ+RyNHeyZWaWtreD1lKmM4X1hsI1BKQjNNT3BaRllYKjNtdz1P VEVjQXI5fkNGJWt6CnoxP29oMGZpeihPNmQ/IzZUP293dFBjb0FASl9fKU9W ZGdDT20qcyQoTW9ORXwtQUAmQiQxKiNVRkw1UHRCOS0wUAp6Mzt2JmshXipL bjslPG5wQSk9alFNPGVqdikzZHkoX2wzQUp2WSQrRXd8b2RFT1F4aEZ7TCNK YE02fXRzTThRNiYKenBER3JVQzZMWlp8N0EtRk0mSFF1ajlHKyZWOVE2JUds ZE85cHc1fjVxT0FGbmNAcXxaKUdebDMlPXdFX3c0a0hDCnp1Qk17Z1VGYV8/ VkF9R2ctcGtXVzQ+VFFHX0ZCS0lIMW9tRHBLTzVtNGZmWXU8LXZyUEFaTTZU KlNGM3didTt1fgp6cEdYamRtPnZAMXU1aG9NezVBdUowWnlVZ0twPWp3eSRZ PD1zPnBzJmRLY1VzUHdJV21eO0tsKztoUCR1JiVhT0YKenhPeDRgJUY/VzBO Szg7VSRNcCZnaX4zNXdrZ3NTOyQrJi0oV0lsemlCSV5rQjh9KVgkTGxjbW48 Tis+aEBTJElrCno8e0Q8RVUhT2Y0Z2JSSztlWWtxOyF5JFV6RkNAc0leZkAj a1VUNjFIKl81fFhFJTV3K1ZPK3xDP15YRD8hXm1eQwp6YCNMQVFnO01+fW09 Vy1lbmViUWlhUDg3QjMrQkNQMmFHeVRJY1U3Y09hYkliYyNFYnsqflhQUlFj Q3h6WW9nVT8KemNJMkVyYCZ9U00/b0tMYiF4WFVkISR0fFJNKys2UGN1dTJs eDxucSlkPEl8aHxNa2FISEgxeUEzPkhIXnF9KXJ5CnpocTtPUCRlX2loRlpe Xy1ZM2dXRFozfnNidHo8SGNhbkJ3e1J1dilMNUxYV0hyLXM+WXBFLVQ8YzNe OFQjaVZ5aQp6PEpPSTl0MUkoVkVXajkwNFhkV1pzUShuc15JNUB0VkU+blI/ VDk9TnpUe15keDM4K1MhdygyP2ooWikkMWspMUwKemNRQTlraCtyeFl3aDR7 ZUEpYm0qdE1hdWdCaG1rVD8rI255JkE5TihJUnhwUUxoIStHUVcxQW1TJnBT dTYrVjh6CnpHZiUpbE43a2FCWnpfTjk7Z0ljeUx2VCZzJnJlUVRSV25zcXAr K201NnBWb29YUmNxbCZeKjBvdCo5QmA2bDEkWAp6IWtyaTxjKVNOV0QpSF5Y b29acVZmI2VXQm5ZK147KFo/Mkc4eUVSKy1IMk4qTntDVkc/QCMxMlomfjcl UDBkMX0KekU5ZlZ4Y0hpZ0JkQkhzYHdaYilYPkhObFJuPzU+emNwcXk7Jm04 O3VecFVTbD9FbWMwdTYxOCtURHMlP1Q4Yl8lCnphbFlGKWBGVD5YTjs1XyV4 M202Q3owSl5JUmpzWnJwdD93WnlBI0Zoa0FBVUhOZGBiTjVzV2tNV2dMbSht NU5LYQp6XlBBNSVOLUN4YWJeNCorSG88UT8zfntDVWlHZUgyOGFkeVN7cTUw eFFOKGoxSm5GazZkbnJjfkQhKWFPNHtXdkwKem87I19id287dFQ7KyFQITFx VFNoV3hNWTE2UlRYbUpNeldYVFVUeWM8WCt9VU1VU25AZVY4Umg9b2t2ZzlK MFA8CnpfcXNNMSk5ejcmYUdyI1Ipc15GYiVJMkY/UXw4M0FqQHZWaWlONT1g ejFMQEcqYW0qUGV3b2ZFODRna2NgZE4+Ygp6PGgpUV9HSThWakhCYFk1RzBL QjVHJTxQdz1EQCstOD1HZUs/T3QlRmpVK216O3cmV1JLbmFyY2p2cFg9VD9H Wj4Kem0rdyFJVDUkWlVQeG96SiM9XjclK2c2YEZfOWY/SSlXYDUyaXs7Q2xz SlBOM3wyXjRIa2xJU1BwUzI7RkN4ZFU4CnpPR242VVVibk8lIzNXQDB6b3xR Pnh1RUFUXj1fWUk3SW95Qjh8eFA+VHAmd0FASXF0b2hMNmNSPHd9QiNYSEZp aQp6RV9oeSQofVJTZHNoXik1PE5zbCNUZVlgfmR6bWF5aHlnYlVgRHRXWi02 PnJUMHExOXtZZlR1PzQ9S2UlTH1+Q1gKelVtYWkhJitGSCZaUUh6fHcwcGZJ NWI4amgrUHd+d2xrazMxYmNIJFkhQDRRQHtIczMlX0hvYjM2K3VUUmpmdEsj CnokaVR2YDFrRypNQHpjTHtYWGxrbXpjdik2PW59KU9aSkB8bD5edkwjbXBD SUtUMmtYIXwzWj5VVHRjK3s+dWdfRgp6bGpgMyVgR3NCdHFteCRKaTF5YXpj di0jekpDaUkwd09FWihtaTNUNk9lVUNufDFfKlRZdmdpJkNmazdpe1FVe1UK elVEdTwyfEdnJnYoY1Z8fmNtbWw0UHhrMn02TyE7VDg1QVREI2N8NShZdj5+ VTljNm59aSRgVUg9dDNhNEVsNmdZCnoyQnQ7RDB3OU1KOWhMaFh6N2BaQSNJ ZH5YI0oqM1YyZk1HTTs3d05lVkVLfHI4ODJvPl5aOShvKjdDOEIrWDFQYwp6 TjR6Jm85e3QkfCVAQHZuWE5malM7Xl4xd1pTPz16cyZYYWVCbnZsPUNYWGZq MTNaWisqdDdsUChzVSFxQztUdFcKelFabihzRCNNQG9rd2dXa0I4bSRAMkgz Qk5aKG0pV1lzZEEzbFBMVGlVb3RAUmBTJHFYc3NkdyU1P0xnVDs2cH5VCnpH WEtkQjd1UXwtXzVBLWpaNUpiLStgby0wP0grOyhCI0pJV2pMVkJQS0ppTSNp Zy1Ybi19dmpmQDlRU29QeHRtbgp6Q0lIRy13I3BERClkfnx5R1FuNz1jIXky XylTKVdOeElkVmRJMEtQNXZZJVBGVjE5aG5mR1piJlgoPnVrZmpLK1UKeiNo Y2dTJT1fbGhmailFNlpkfD1vWWhVRWttR2k4dSRpfilfTHxqNTFoTXx7YCVY PnFVZGhvOX1gY19xMD81WlppCnp0ej8yN2wxcypwUilzaUY1cz9vaGdXKGtr dGhgSWE8PEckd0ZyQ0A4d21BZjhkMW1EQCY5VEhhVWlDZUd5TTYxVQp6Yzg3 d3tHKShHe0A9ZEUySEokdEVyI158Rj9sWW1SWkplJmdUME54dSUmXilAcFBC K057NHctb0UlcUhNO2A5O1UKemBeZ2dKSyhpcm8hI1F2QjZPLW1KWntafG0x PmclTSE8PVBEZ1BhbmVfaD13KEQ0YD83c2BLPWJZPFl2VG0hJlNhCnowcHFn RD5HMTlpdkokUEVJNHk+ekgyM0xeQUFNKjxyRiZPZzR9cUN1VXY5U0pEVGR4 TERPclhYNXl4Nj1RbDk9OAp6UmA5UHNvdno2ek1YRjJwdm18b2tXYmF4dUNp JnBiZF88TV43eU9fZVB5cilRSDBjaVdoNW01ekshXiRfY3pyU1IKejhHUjxX U1o2ejEoKDJWcXp0Jkg5bUp0Y0BXZiFFYVRRKmFKZkAmUyUlViM2bUJhbHtT e3A1Xj9sP3NIZjQtclNvCnpZZlJUV1Nhdl9VQ295fjFHfHNUQFoqTDU8N0Rr ZSg+QEg/dzEhVjwqQUVyb0Y4JkwhIVVoYXtJNXcoMylIR1EtZQp6Mi1HKXI3 YitpazkxTlYhJlg0RHAyeUNgTTx+KzZHcXFUdl9fcDApNmhLWT8kaShIbCtI d0hhOWlTQHJ+M0x4QzAKeioxTj9lRkVQdj5nfSNofTklWSRiaEYmbU1JaXJ3 RiE8UldxQXhIbkl0RFNuVT9BazFqR0s4ZUskNjJuTW1fQClXCnpGPzBMb2Io OX5+WWcwRiE+NW5YIS07Uk9MRCVaRnVLV0M1YUU2VyVtcWhKWjdDLWRQSU9C YSRaOSFTUlN4QUFyTQp6PS0jcSlpeylWUUU9VFQqO19KZi1NJDEpcnhQISk1 QU4xUWRaIUdnPj5TIzAjeDlRTkFWVSV8ZTxlUHIjIWNZRnwKeiRPa0A+NmVM Qz5qeHlINy02PG1DPzZJJWQ5N0BORFk4eDUjbGx+KVJofmxGQlYzQDNgJFg2 PTUwPDMyJlF0eGY3CnpAe29sUmFMKUhiXkhFZCpgX0NfQU1YKWpiMXdXdEYt fFdINF8jKSFPKk5xYihqdTgrQWM0VW9IMlh+ZEc4UmFhYgp6enJucFdBcHR3 cm0qMkRPTGNnKUE5b1lVckBGUntnRCl2WXtvSTZFQ1krWVZYVW81fUd5UX07 cXFXcXY7NDhIUG4Kel9VTS0oMz08Oy1lUmR3NkhfRTtaV0RXa0ZiKit9Jm15 Xl4kUCtHMXlMYTloX0NwdHAkZDlFbDZrPSRyYTFEQFFgCnpqKkwpU2tXK3Ne ViZ6SWlNN0pKVldTayE2VHtvez9wfHJiKz5sdF5FNERPNmE3QTt5UjMxRVNt ej1MWW5xc2hObAp6SENfcS1VPzUjJXBJXkNSSWw+PkM2dGckWEUoYyRCPkV8 RDYwQGJabSRNdHUpKG5pK1RSdGdJKzE7amxBRGo1RFMKeiYqMD88dUNUNTVS MGlGSTFreWhKYjgtVz11Kkxqbis9ODJFJlVqciFLcnBIKlBNRU84Pm9POXZn Sz9yVEt3KUgqCno5fSUjRkBBKX0qYFd2K2QtKHFNfD95YWx6aWNmT2olUD5E fm4rS3oqal9YdWA3M2BkekUjb1ZXelBNKz1NbkVrSAp6bFNTVH5VXk1ESTRn TThgN35rM1hZXyVZNXh5RSFDYCNkJV4pRn5+SWE5Qzk4QXhGXjd7QHYycXhw Xl9eUHU4azAKentqSU9ecTVLZntpSHF7SDxOWjJkUHpjdj8mVXQ2U282MExT QE1WfWtvO3A7VEswPCQ7LWV5NnVfYDFha2omQn1GCnp8QXg1eD5lR2ltX3B6 Ql4meyVoMkhJPztRN1FZRy1pZ0k3VTIlPUVHanVYOSZCST1xazdXKEhTUnNk NSN0WlU8Ugp6X2JsQE5ESnt9Rz9XSkl4YmFnSEphaTtydERMPXMwUVRXZl5O Ylo/YCorIzlRcmtzI20pVnh4aW95KXZ3YHM/JkkKelEtaU4pOGlVSSR6IVZA RVV3MlNDNUche1VJYTZleXk5aXpyRWNEYmhAb2l0aC18Wi1ZbEFjdE9hWkxR VGp1WEFqCnpqam9KRzh0UTVVTVVhajdpbX1URVV1XzdWQTZTRFVsUmtZM3t5 SFk3IzQrckpUVCVrUCFHTGlfTFVQZn5NPkA4NQp6bGpYYlFxK3slaERrRUIx ITNrVUstJFZuKXpTPUBzbHdJI2djNVNZIVkkenxieSYmYlRhJkhNTjs3SzI4 ZHlPIyMKemJaTG4pT1VtbDdMPUcyalVzKykoNlgrditRQ0kwaCY9SnV5dyk3 aEd2aTRMeXczSmk9YUNOQnozNEA7alM3ZndjCnpCZ0xwYCVISiN6Vm5DOFNv ST45K3pzdEgwcyk5QFRCTk1TRCs5NVVjN002cSotNG90Z3YqeUZrd3ItSihB WT01cQp6emRofGhIbXJMX21qeilVcjI4N1ZtX3hXalNwbSRGMnxma2pTe0tp Y2Y/d35vSkxqMj5qJkBPV2ppaUZYLVA0QzUKelRqQ3NKaURVIUZ0akRON0ZN YiY2Z0dJM2IqWFFkeVZFa1omMnFZendkKHdlcWE3bFZrezg7fmk/ZUIrM28k e3BKCnoqVmFedmx0WXA8Jm9LNUcqOWx2LT1qSHpzLWUoNDY2fSVtT0lQYVhB RGtfaloxO25CfV4xeX02I3Etfig0OFkpQwp6SkV4PkYlZF5NTFU+M1Bqb3Vj NGRXemVwSTNQPTwpRyklPnRRT3c3P2FgQWtxYFlNXkRMPEpIUGs5QUs4eVc0 ZFMKekNORSFUbmBQX1loUDxoVU49S3hjJkZjREQzZHVDfEhaYCU/b1FSSjU9 MXMpZilxbT1CVyRGbWpCO19qO0RSREdyCno2X1FtcUJXUWcyJHMlTFV2aWNK Q3NgTUVPaE9HNylgfnItcDR0ITxfNyQtcX5tRVZCfGY/K05AZ0c0YlFwRSs/ dQp6VGNPPm5JYllfUyNvJDUpa2A3MWNWZWx1JWV2RVp6PVotYVBBeHUxY2B3 UUJkV2RaTml0NT4kSW5RenkzWnwxfTcKejQxIWtFKGNiRkdkRGB3VyZRcFI8 PXdEMyUhfnpsIU9VdHwmIW53V3BIXkI5KkBvYTVyVnJlcmZ1R2xhQXo8RCQt CnotTXl3TTclSSt5VVQ/O08zPFJrLU5HKjFxaTI5bmBHZSRzIWl1YitMMENu aWRlXnVzcEM7PX5iOTJaMXtnWFlWPgp6ezgmRyF0RlZLQ3k2JiZFamxhez1S bmp1bUVzaGA5dCRIZEtfdVEyPnFPUF98TlY/aUg4X2w4VHJAJio/QSs/ZCYK ejJ1Wk5TRyVaVyNQISFgKkV5QGx7PjtAR2d2e1h7P0NJbSh6TjR4XzR0anNt enpaPU8jKj8mVjE3MlMrJXs2TylnCnpYcUY8Ujk/cFd8d0BxWkE0cVlpRFRB UTIxM282YnJeNm5CZCpOZUdxPiZqfE5iNEYrdGI5TCRCZ3xjWUhEQiR6Xgp6 QDJyU2FKcV5OdFFjWSM0KEV0MFpTTlhAa3MwaU00Q0ZkUUojd2FVKmslRXhl SjE7SX0lPGJzXiRlIzdPXjU0N0gKek4mZSNMNjgxJU5pd29OPmJ0Ump5c3Qk X14tZXdmUUR1Um9ZeWphbFE3YXp8VG9rM296VUw5eCpEfEt8S0txNFglCnpj Mk9oP1Q4JipWZCZfKlNGRzsweSN9VVh6aE4hJlJ0Q3VnOVhJZmBNYSR9WFJT bT5YYmNYM09WRlYlS2VNfGF3VAp6WUV2R2owNyhpPnNIRE1sUDFFaTg3b0Qp RnArPl5LQG1sVXpLaypyRHE8VC0+dnZPbGl8NzxgPkkqPVdITlFmMnYKelI9 bDl5c2kqTyorR2k9e0pfPkFnVk1xVS10VmRVYFNfJHcwN2pEPDBfM1BLSilF N0xaY1UqNSp4TW5OKnxMVXRSCnpZaUQjTiU/NkpZY2Ukb3pGYV98RCFJSiRr MlMwXyg1O0tIVzh6d3lta2UxKCl1YGh+c05vWH0qMEVZPEhsc2FjQQp6YGoz VkYxSUV4Q21VPmJ4aztCUTdqS31jPGlWQ0RsMn1ATVI+KlY/R2oqYH04Kjk5 X34lQUdTPCVSX3Q/MUIkOUwKejBfVG5FU0wtSntWfE4keWtKWkQ+aX5QcWN4 YXAoU0F6czFPZ29Kfl41YClEUTBIV2QqTkQzWjtaeDhLYyNSdUl+CnohaHdi eV40QzJwQUkoLW10OG9jbEx3PVQ4WVhJNyRHT3Q3RVV3cEdzd3xAbSk3fnEh cEYlWHE8Wip7cHg9cFBwdQp6Rn1PdEFfOEo3UEVZRyl0cER2SSR5SzI9K0Rk TVV9UGl7ajA2QWsoZ3B4WEdXdz8rUG88clMhVGMpbiRoVkpPTDAKenpjU0VI ViZfeGp6YVI+VlYhWXlJUE1UUTJERFU2OVl3RDF9dCphYDxYMjxpJXVucykw JT1HR1Q0dTg5SyF4RjIzCnpsZiVrPUY2ZHUkQDdUSEQkcVpwbGtPRCpETTtl Ri1rISVickRsfTN3RT5AQnFHUVR+dk9YPnEjIXRZQk5VUT0zMwp6ZXI5bVJz Jk1GRVdUUk1LZCQrQXNSJTgoVXxKNm0oQWJWajRSM040Uis9KjFxakYoMk9h NzhMcWh8c0R0PnErKnIKelNEdyM3NCpMcF9FSjt1VXIoQE1QTmd8NWg0Z0Qr c2V+azdacGZJNDZnMHpIJDlWQkh+I1NJJm01VFAxU1Eta3FjCno/JDVUai1+ Wn4mZX0lb1AjM3hUTk4mV1ZsSH5OPFVpc2prKGo1LV53LUNJVElCaH1xYl4z OXV+cmhvKH5wbUZpcwp6bmNBU1c5Kmk8RF5MMCoxaU12fmF2UShCLUMtaCg4 Y08hZURmOHhJfXQ7aDBGYkMoWlJmYXhBblc0ZFFeYkR7ck8KenYhUEMkVlla RnM/U2JYZUk+NWwoYihuZmpMJHgyQk89N2E5Q0F6bzVwbnUzMSEtM3BhOyRf cz8qIXteMFFDOVdXCnpza1NUb25ieWA4bkpaPDsjOWVeVzY9cnYkZSVaMFRw QWJSP0xXXihtVEAqUV9nRUZWYiFuR0pxY1defERfX0JiSQp6MnlDRzhwM0o5 SUJaKnkyJmFYQnR1fHBMMyEwWmpwdW1UMX1RQmI2YlokPmM8Qk9FTVFVUElw MF4zclRleXZhJHwKemdudG4/d19CZ2Yldit1Tmh+NGUlMmAqVn1WKTkoT1c+ bXd6YXM2N1QweTIhM1ljYDFEQmxqeDMlZnh6Py1IRkE/CnpQWm0wWTEpOWhR Y2lSMnJsfVhOTHl6MEQzbSNnel5sZFFeMHJoIWF4RFdGZUFIfiZwWF9+fUV0 PzYlKGFyajRqQgp6X3NOKSZoRFFqQUQweTZUTUlCKDsyIUF3eHlZY207aiVh UEhnP2RIdjUyaXE+QT16ZmlROThjZEJUO1dXSWdyUFYKej9veXctKSlgNUlh RS1pSVhpMnIlbiVTV0tmRm5wJDMkais/PHlUfmFUVHU5PjllIU4tZjdkNmVJ MVhzKl5xMXtgCnpednlBQlBaQH1xclhPN1NeKFJTJHUhMURYPWE/ZzRBVEck QzVqSGVZO34qYm12I2NsIW03bmFJXmx5Wn10ang2Pgp6K3phUTwmez1DclBQ d2I1c3NnbSokeTghVEkoWF5WYX1BUlhjZSlfVGB+KUwhK14/KSlhZkhHPyhh S3V5N24wZkQKenI5OHtGJFNuPmxAJFRZUlZQIXxXd3MpYU5WeGdOYkRUbUd9 JHMkYXxfWlk/ZWU9e2FLSjU/XkkyQCskaFhYaHo0Cno2blF4SyNXNzMoUSE3 SzNhcyNhaVZCPHs2Sj8kLXh2TWtyR1IpKD0yJTh2ZmlAMmp0XndvXk58dWRj REJlfmUxJQp6cjNXMExJNDtCeU81Iz5ybUpTe0s/MHcrMGAhPns2aDs8WE12 PEVleUFKJEVfMTlFUWU+cTI7ZCVFSjdaZzFYcjgKelVwcHtMM2ZALXEmb3Nt bXB9Nj5wNn4tYHstbWtTcThvaDgkZGBCfElDODUhPk1DOT09SHsxMnNtdTJM Q0R6fTQ0CnpmdVcjaT9LcztTREhQQ1AlTTZpUCFhP0whR0doKzUjT1VsPyt0 Z0Y7bjRYSEQ9PXopVzJuJHskcGMkOWQ/ckpEJAp6WSsyJEhzN3lkfFNlKlNn WUkyR3NxNCt+Zyk2WGB2JX5kR1VBKSE0ZGJGPlUtZmBxXyt7cWJBMEg0fjV1 Y3dlZF4KensxRiRSREA0Ul98RUo1aiNyaCNSUG0mVT57OVZFMmtKZ2lKVlk3 NHlILWMrc298KnpnYTFIKl9WM2h4NmB9S1hyCnpgVHV9N1c5P01iaTlBR21A NWMtNj0tLXBgUjctT2Nec2ZTdVFCTUk/ZmJIcnwhdyNtM3FPNTFCaXdHRmRL VDFVbQp6KWk0RTMkaV5vTjQ3WXxnPV5EY1MteEFYYUVwQGxBdUN7eEtCajxW Z0VBYkE/dn4jcXRRMlIkQEp1VWtNZkg1OC0KektCeiY/MnFoOyhhajI9QTlR dW88aTFKVkcyM300bDxYSDluVzU3dmtwfk4hMnpLalBPOHxubSZXTDNwMzFQ cWs+CnpIWktKO0AtPmxgRUJoKHJBeiZjUTshZ2lwRlp+PzZDJGEoPHdAK2hq Qj8mRE9yd2clTWgjamo8Z3JPY1hIflZFZQp6M3ghRDlaTHJLQz8jNkR7IU1O JnJWOU19UD1OeT49NVZQV0E5T1FON2RwOWdsLTckNjNufGdPJGIoaXY9MnVs QHkKekpheTA+bFh1dEViUz1hbnY3R2VkKnFRMk5pMz1EZWJReCZPZEpLSjco WkFGfXV+ZSUyPUpvKyF2R2FvbGshK1VaCno+bHBYTyU5U2dtaCpNfUlneyho fG8oM2Q5JCVPdyVYSGxaO0M8Tj0kcEpFZ2QoIW8lTkJ9UyMoSFpodlMzaHQ5 MQp6MmFLM3I0fHU8N0piK24jVUQ7MlEofT9vVk14U3c0e3NFZUd4VSN+PzU/ V2JecD4pdzByOWM0MncrREF2MD5EWXUKejEyKSN6RCpCSjN7ekx1Vj00bWg1 IWtJRj55NDB6NT9GPTJIM2xZaWsmZCF3cDdVMld3WTtnRjF5eUUlXl9EZHNF CnpNPSk/PUclPEdpVyh2Sz9HLWR+O29PV1hueVQ4UX4tZUZjIXAtZkJYYUxu TWNjPF95QDdwdWxUcShwfjtRKCRJNQp6TDhKSTBCdVA4T29Obj4tdXVvQU8o KTRPTTRBQjJXNGZRcTlmNlUjbWVMPjM+SGwmTzkwTTxSR2Z+JTY7KGFWLUQK em04ZmY8TnFYZyhNeEErYEZqVHY9V1FIRjZ2WVNWP3R9clU8c0puRWlJN3h2 WlFHdyk5dW9DbFRwSFRJTWZVdGdOCnokOWNPVDllfFpOVz8rP3dJdnAzc3Rm PiElQm5kMm12QllHIyVVRlJXXmlNUiQ8Y2wqc1k5TlBIaEw7Z0VqVlZ4Sgp6 aEJWWXczO21OVDgjbilGWFhwRlg8TCFXP3EjK0NUQG9BOEMoYFNVNW5qNGJM c3BHdD5vamswfT54NXxnNEVBMEEKejxwK30rTj1LYkQrd2ZoOzZvNHRBV35D VTNGTWE2dVomX3xmfEs3Q3duM3o7dlUlYitPYlpBK0crZDlpIWkkLUQ2CnpV bz1VbHxKZCF5QHh6SnpjQkNjckZMRXJWVlEzdkshRUZNWClwP0tGMHFNK3FW JHMzeyVKS356KEVSRTJWTyNvNwp6enB0akVsK0tkdUF0ZXopWGJBN3U3OzNm eE5zWEZ1Q09ONm4/LTJTJi07ZkdVZ09kQD5NdSRMVWBLN3ZoZHN8Q0YKelJX bCV6enAoZm5PSzZSZ3YrQHdVcUM9ODw3RE1fIWBMIUprWT5aTjBUT31lZmp6 LWgmYioqK3VkWXBJOSVuX1J8CnpvTlRUV2A/dU9ZRHF+YiplT0tfOHNVJm89 LT9zO0wqZ1hlaTc4a3N3UjNIZmkjNTk1PDVgelVuTztibnI7elVoSgp6RDtm ViFtPVhWUU93JWNZV21rd1pJTWJIPEdFRCVoITsmZWZCTEJyO2k1PmwpYFF+ IyZZNlpUR28hKHwrRVl8bHkKent9N2xkQTB8WTxxV2NxQzt7MThHaSpQQnwr fHBSOUpuZiteVWpXPHg9fUoyJTUtVkEjZFo4QEQmPEpNe1AwTmZ8Cno2c35D V0xTNmJ1MHMlNHdzNmFzTUcrMDQ2dnQmaSkxNz05TmhCZTdFY1k7OFlJSGU0 VD1EJH4mWnZ0MnkmTVBufgp6RUdoWFBTe3gwODxXQjdTbCRYbDQqQzMrKlhG Vzx4VXNRczQ8JHEkSEU2WDwrTmF3aU01VXtkVUt7KUdKNEpXRDwKenIqcEN9 P1Arb1kxbVdRclQtI099M2s9bSlNOyRFWUQ+Zj09R2xSb1c3ISkjbCs4TlhY ODlzSUlwYEJ9ZURaX3dBCnpob3F+V1lPSDJPYElxZlk2RzhiMFkkaHpjd0kr Ym9WUFN6JGZrQjMmJipAa3BBJWV5P3lWcUZgQkI9OVpKPkpzUAp6Qz9ZWVlG b1hkNikxYGlXS294JFpRUnl2fEZqRnxuNHt6RG5RNiF6IXBERkY0dWBkaDRG e1EoKWlnNTFDNXE3UHoKekw+KHR4Y2BxdiFOQyohVkM+I3pBZnJgKlNaSmJ8 aCpSXyhnaGYpMyRCI0F9ISFsM199MCR8cTFMTEM7NEEwK3hXCnpSRHkwZnJi OXhUaClHKihHZHc3SjVITiFlZiloakdobFd3N3RGWUl1b2VEbiYldmxlXm8z ZHFqbkRnVkJgcE1FKwp6USVeYlJvTTBzVChPS3g5Tj4mNzFMVGdoaiEmJkFf bGMoYGxlO3xrTTxodlZjRGBnNSQybj8tTD1eZ0tIOChwR2YKenVDYkFYPD0y YDI4aSoyMEpifGl0Y1hvYklKSFpsUVBSPD9vajxTRGFEdG1YWVlxNWkmQjx0 Q1p3bDs8QCktaDxpCno7cnt2aTZDdFheSUgjc2J0XnpVRTVEOVBrIWBXKWh1 Q3VQbXt9cUo4UH5wJSZqfTReS1N1Wm9oSShBT2FmfSF7Zgp6ZihrXlBYU0xa cTluYHMhTCQ8OUV6THZHTGdEa3she1Ake2ljOFdPQzBhbFZeY0hVY3s0elJJ KlZAbSY8N3JBd0cKej5GdjNKezc+d3I3P21PSWckPThORkUoXjJneT9gNz9j fTd8M2E8KnhRSzNEWSNFZ35ZVzkyekkmWlhfMVlPSn0/Cno9X0l1TDJpezlS ZV92YmhSUFh+aSEhc1MoRVRIYm1nfV9MT29lSzJyIUpUU1pnc0Ulbj19X3F9 a3dgPkw2VW5Sdwp6dSNhPFY4bTA9YTFjeTIlWFhwS0VhT25TbytEWW98Q2Uj KD57fVlpMj5TQ1JQWkhYckkhe3Q3c2U2YkZkSWBte2UKelBNdm1IbT8/OTVJ UH1sPFBkYndJd3I2XnAkWkRLfjtSK2xpU2k9PGtBPTJoQUZkSD9MJH4+WTFp U0xESkJ9UUgjCnpIbi1KWnQrJD1ZQmlkVj0jWT5RQU1RcWtLUDdfPXlmWXNz YismMmVAeyNwTmAtbVgmYFpQJTAoPXdGZ1EkcDsoYwp6VGAody01dShVTChm R0dTYDQ3aWRSczNhe3oxaHw0blRFTyZYOGNQJUBXZllKTiZ8QCpJX2hLKTRG cT1RTElBMi0KemJySzZONVFaZUx2OzB5QWo3fn05RHtje2RnfEZVP2J4a3VZ VmRtdVErPHoraWs3QGppNTxxcV51bmJ3RDRoUEYxCnpGSihIcGYxNGQoWHhD K35JU0FHTUNXblUlSU9ZaWI8NF83ZSp1aT59aERwIWIhQzlSN0ViRXdmdGNa fnFzWCRiOwp6WHEpKyhvZSo8UWBtWSRqdlh4YmNwbXVOQzlFX3YmRSNfUXdD STlEaSk0IzBOaVA1fXlgXz5KTEE9e3pPUzNEajEKek17d2MlQUFHO1R0YDhk cEZzTXNHREVSUmh2RHpBeSVAVGZnKnxJP0x2cGhzU1E9YWIqPXMme21FT3Jo KkxwWFI+Cno8KH11S2o7SmQ0M2pPT1VQO0BRT1V3JH1ROEF6bSo5YCMwN2xE QjlvTW9xanRjJWl3LVNXam84LXhsVXwkJHg9Nwp6TSl9WEB6QntoJENLRHUt NUc/bVA1RklMR3dvaUw3Ylo3aGZ0MT9WXzUyIUtBJiZ3Vj96b1BAaUVKVUtS PD9CQUUKelduJnxRb0FoVCZUbH1CVXpwfDtydGxuXyk+dXVESyhJMlFpcFkp OGUmXzVwJCFaTmNrbFVqbG8qfiNOeVpJKzw2CnpSbzlaNT4jREhlUjNYe21q UEElQDhrTWB5ZT43Wm1OamJxSkB9RWdsZ3ZQK1BLKkJicDxLJXwlKEpecjde RyZ3KAp6ZjZfOz8jZmJuQW0hTnJ6KXZuRWdGNnZ7NXB6ZCMwUWl2Yz9Ael9f T1FjK2E7UmRhd211QTE/Vyt0NUV0eHUwKXEKekhCPXpzRVMwMWtqPHBecGpj czM1QzZwZ2J8SzV5fDUlZWdgX1lVK2p7UXVQeFowU0dXKmE4RmM2Vz0+KXVf NF9FCnotVXppTHctSUdUeT5YS0JMMGgwUy0qM08mVyhjK2ljRnQxUigrQU8h QGhKSClCMDh3UyZXKGApNUNQMkdMWTFuRAp6PyZ6dXhtN3ZSNEcoe3sqUU92 XkVYfTdKYTJfX1BHe0BuQ3UjYUJhQFJiZztsUilweHROM0ZBaWYkWUwrVWAz MzIKekdNP248N1QhVXd0dGB2bz9iaEc/bXE4UjNPKEstPEZkLTBteXN+VnBI UTRYfHdQP1pecD9eI35OQF8+OFN7WGVQCnolRXh4VkBXPVZncyVKdCljeWR0 WXEzNEA3Wj4oI2JYOXZLJSU7IVhPUHppSkpvajtRSFYrb3J0PCg+K15PVm8p egp6Nk9+T2stfSNaVEpsNjdDb2Jkej4peVF4aiFjO2ZqSE1eXmx3dTxJTnY3 allfTGVmNGhnOz8/QVI2JGdLMSUoTjMKenV7ZE5hPmZwN2dCSCNHeW4zXkdE QStlfGEobSUydHV9e0pZZWpDJiQqZExoJkVBY2V3OE0xKkwkUWZ2dXtmQCQk CnpkYk9OIU8/K0UpNERKb3o3PnBMOHpUVVJWdmckYW54emlxTVptZ0FJQzdh aUA9N28ra1B0a1hEWSY/enBXcD8wPAp6PW98YUN1ZUhubmJaMCl3Iz9+ayp5 MHlyMiFzKmZObj5TY15Yb3BFUVRhanV1OzhQZEg7WEp2fFl1THZ9eDhPe0oK elNtfll7TDNqRm1YO2R6ZHtDXlhgPmQteVkqYThYdENvPWx+P2U9WFhKZDBS aWU0YzwwMlg2XjhKMEkqamRgYyp5CnpVK21kVSNWNTtBXkNiVihHYyFsWSpl SkBZRmoyUkFaSG9kNzV2dGxXPUF9UWAoY1RWaDsrV0Z1QTlWJVE0byMwdAp6 OD4qbmRgKjFGNzRsM1hWQ2Z1WEBjaTY5ZzhDaDNkRXsxQnFeVy19XypWJExu X05MJDgpTEBqeGc4czREQj8mWFEKenhJfnprRjxvfjJ0MVR3e15jKkpOMXhH WER7cSspP1VKO3sxKV52Qndld19qQjBhJFpRX3pFV297aUZYJkY7KFE0Cnoy KGRvbEtfe2VlSnZ0OV5wNEBuRjR6Ky1NOT58OVZZLU1vNyFkOEVKa01wd15C Kn1PQTlKNTRwTkhSPXhVM1B0VAp6O25RVmhpc251RERiNnY5JjVBNWxSWXs/ SWdnblh+KVBENW5RRyNONFQ5fjtva2NwbktsTGFjQDw7JDE4S1lnNm8Kekw5 ZD1GezNxWDQ/bGFiMCVhZ2dXVXlIVVZEYClTN2BEP2skc0g2KD0jaCh5R2wj PGJIIWpDIzZlSTMpQShUe0piCnpiR3h4N2JrWntZQ0RUfV8hP0tkOHBiSDhf N0JSfUtwKypJUTE7VmsmWnJ7RnowUV97KiM9M0hzWntCMjI7Z3AmUgp6QTJP MzZrV3BaVzVlcFM9dFR1eGYpS3tVN3tjUmcrRTRXN2ElPzh1PjEhRXQjJmtL ZjEmTiM9dktgLWI2NlBmSmIKejFLR28jZ3JefkxUdmEkbDtkKVhkMnp0V2lP bV9IbE5kMDIzQUtWRTNwcEIxSnVsPmJTPDttUXJvKmJza3hwTHVyCnpoKVN4 KDZhRm5HdXVRMkBpPkd2VWVwb2pOXyR8TEJ4aTMtYlQtPj5kd3RXPnQ5SF51 YlZrMChWe1gzKEstb2d9cwp6RyF1Oy0/K3I/NjJyZ2l9Jmowdipue1RvfFla UDtSVX5yUklDKntjZGQhXnJ5WiEhZnkraHd5ZUViKyQ0Oz96O3wKekpLOH49 R0plQSgxM1BCIz98R14rK1FIQD17fTFWZjxrY2hGa3FqZEZBJTMoQWJabz98 T25MbUo0THpkK0ZkSCVfCnpIY2JBVC1JTGtSUUUtbVRSMj5oMllRMG14fDh7 JFlLZztnUHpNUkstRzlMeU1Ve3UmKmZMTyhaWUBodSlGSUJSRgp6aEJfPnNJ RUw7YzBue3V4en1NO2g5ZUE3azdURSRvMFc3X2MhJUEtdj16Pj0xMHN9MT9K QmtwRGo2VmxpWEV6c3wKekokYmwhMkdRXnkhUVREK3xJZD9wUGllX0M8YGdq ai0xKUNgfEl7bj0wMm93PlNFeGVgODJxaEZIcUl8bVZgPjdACnprXmg+PVFh VTBsQTI5KEM+XlB9NVpgIW5jYExiP0JqfVYjaDVnYkMmdW1IMF8rcV5NNGs/ OEhoKyZBUk8hZFZFTQp6ZWwzKj5rJVkhQEd9Y3VLRmcjck9SfGh6Ji1uZSR6 WmoocClSYSFpaUt+KHZ9NVhgYGRIaX1QQkVeZ0VLJTMqYngKem8zUmojQXZC Wl9CUXleZXBibndvYmJJbzxvRXlNKXs+TCpsO352Kz8pWVNHUy1fPXJBaENj QWckTHN3JCk9P1YoCnphODY2LWpabH1RRURvfnJQZS07YUBkQ01nUDU3Wld1 d1Z3WEFuSCs2NGp3JFBaUFdVTztfUW10Q3clR21gTFo4JQp6alFkQjByJH07 ZDZibTREdkhFTEAkQytAVm89XlF4NmxWQl4kdVI9QTB8b3R7IyRjRnZ6SmJ5 fWJ6Qnx9ViR+OVoKejBVfW12Y1BSTEt6al8ka214emRmVX1CVSVGYzVhUWNL TyVmMSlGTVVKYVk9dkBUbjFHVCRzKn5WKz1aIWlOd1AqCnpWPm1haVR8Pygq cXFpajwreCVXWjR1Mn5xemQ7bVcmRlpFOHp+O0g/eW4zfWFkNj9mWjFBeiZi QU9vWjJzcHVFMwp6akxkKFZPM1RHKmtFKyQ+MjB+VVl1YiFKcFV3WXNkI3pg Nk9vSFIhMm0lPUdYTFZBUkQpTFFLe1U4KDVEbTtIRWkKelZ9cDw9eWJzdn5t dypuQDMjNzVpTHNRUkc/e2VrOEI5all7TlpLfmopJk02fjNqWGpTJWRhPCs2 c2crQzcmJH5BCnpxeGpTMVV3XmNPVHUhbkpCc0RBUVltNy0jSzglWnVCYmBG LVZIQlc3O0BsdU9pPSZVfTtQYWhaZUpPV15jJjdZUgp6R3hoWnxyJSQoKVBQ NG1gd1JeMmliPWNqUVkycEtrVnowd3wpWF5fQ2l0JUNyV05PI09PclY4PW1o TiR7cUZxPkEKekNRPik9PHBtdz5VYCRqI1gzdXIyN3VqOVIrYDt9QTsyRSow KGhtRDJxRGtub2QkPT5AMGJ5R1BRUzlyMVhDclN+CnpYc2xpMGpyPigjSWJg aH53WDdwazxpWkBJMGJWOD5Aen12SD1Vd1RleW9EM25UM1FldGQ+QzxeM3FU e29naU9PKAp6aGkyUFM8eHI/bDRiJF5za2ReYW1fVXp0U29AWHB2KGwxa29w NnNWWU08cmV5dVI/an1QSmRJSFppc1hSbTl6dFkKemxpYWglM3BQQStTa0Qt Mj5GOVNRYERiUkolcktXPjF+VCNPfDhrRyVuSG16M0QxaWxyTVF0WHloQnZp ZVlWJFhICnpKXz9ARzxAdjBgc19MJGI2KW16e1FKUTd5aSNsWk81eyQtX2hz c0E3WHBxLSNndUAhRm8ocWhvSDQmPHhzUEVeQAp6ZTJWJWxsMThRRzAkfklz NzA2XmRLJjQhPGJmR1c5cn5zcG9VfX40PWo5Uz1Lekg4VWNJYGBEQkxEQSVm eTMwOXYKejNgUD9rQ3hTPSNScFIwX3pfVEhTakRrd35COFFId1hRKGo8MyVL KU5ST2R9c0R5bH1SZjNSdlBTdlJQUXMyciFpCnpKO2tveT5RfmNVNmBuJCZl XmVDd01TNV44b0d+UkRUYSN+O3N0Yk5UWFBoJlAmRWsxSkNWKSFvPmV1e1lm fXZeaAp6MyNOQ2VMKGp9Pz1wVnZoJHtZT2Z5JE1kc0wtdzhuU19RRFFPQHxz OWxSVExaeUp3R1VYPko2RWQ9dyp5UVVvSX4KeiVoeSRTSm1kY0VOeDI2Kjdk ME48QGdAKVZxPm42e15tQEkyJmV9Qn1BUEhMPXMoZmkoVks0M1pVNjYzNXJN P3BICnpwWkZDQUdDRyNNNColcXUyNGl1WTJfYXBGJHhIJEhBYzBObF4pNlZw bklQdVpJeHU3cWdEOHFlan49Tz1WN3JyQAp6Y2d9ZEJmOXh6SUt6fjt+NVA2 aW43Y0MpaWpxQ0RVRFl3aSgwXygoMk9WalZNIzFDJlRiPDkrVDJFRkxsRUVm SjQKejRkbHZlbXdwYjgjaGJkTHFmdmhIcT5waz1PfDM1WD5Qbkk1TUtVQTY0 anBhSGpXdU84ckg7bUdlfHZLc3dVTjwmCnpuRl5VSDhmd2JEOEtaY1ZlMW82 dzh+WTZRSE80aFZMLUlecWd1aEBfNigkTT4obStNcGg7bnghOG52VX5aQiZj awp6PykyUTFhI3ZHREYpQVlUajc3NzNgP2pqZHVsREBmVFVKWmpBKFZzVWpM ZEVSTngqWSFgVFVhOVFPWDQxYEc3UEsKeiQkYjlJNWolNnduPStnJilhZUNB OTJPIzRUJHFWVzFFSl5zLWZRP2p2bU85WjVxIy1qTiFEfWo4Q2V5NlhMRDE3 CnolbXIjamZEejthRlFeWnhBZzx9enAwclNKI0VgNzwmUE1NPVBLTGp6cz1w bCVeTHBaZ0FALVh5a2RgKldUUX5fMQp6UHBNOzhOJHhBMmJhY05VTHBiJDUz WSlCMHo4cmF1TzJkYlNXQmZudGE2VUtKMihFIU5wLTxXSndPPk51QEo9SmUK eiZocShRRWNZXnhKUmZueUIjUiRBViRKO003YXNAUDhpciYqeFRSQ0x5R3BF aFNzeHc4ZEU5UWVqcmVjRGxVKUZKCnozdU0hdyhISEhqQTlsNDw/an0qNlpB VH5yPm4pajhTNS09R0J0QCRYNEdEdnh4cTx5SWVaQDBUPjc1eUR3ezRoOwp6 Nzd5dXVnKWpIbkV0QHg/QypibzsxZFEhP3pzPn0oPkNscnIlI3JzcF5iWiUx ejI8ayRAeXlEME9AN3hnO2NlSUMKeldaJkhKSEk7dFNvfWchaHE1MmUhSF84 cXgjT20jbXlqUWBUcVdeeFMwTGVnOHYjMnVMNUhlUUpQamIobDI+bTBTCnpQ KnpuR0VYKXdJaUk5d05UZmp4RXpmMTVfbEpQaE4tPUtmSXhOJXYjV0NHUmwo NVFiTnNHJUFSelpMMlhlQ2spfgp6P1hJN2E/Oz54OWpXfG5FQURXanVzd2lj WUVBMnI7RHE7bSM0QGEqREdNTyVIdTAkZGNQI35KbkZRSTRJIUdXS3wKek01 LSV6JUElKjstUmIlWFV2YjljRWNFc2omdE1sWXtDPzF8JSFjWU9CcXhOJi07 IztPbWFoc1lkZlQxPDYxT1kqCnprM2NgYzFaYlhXcSp6ISFBSTIwZzI1dGd4 VEk3O2Y9PG5oVGhlZk9wNE9yUXp2V1pzbk1eT2QmJng/d1VeIXM0PQp6RW0z RT5HUT9mc1UjVU4mejl7U1hAbmVaWXtETFMjSllwcVQ7eldsKFp+LVImLUJp NEJXaioxXmUtVCVKZDtEd2UKemZgOVYkakM7a01gK19VYDJ9ano0P3N0ZGxI fS0xaEtGYEVDNWMmc2ZpVVJkfHJwNjEhOEJlancxe1BwNFFWWGppCnpHZnFS KUphSEVNT1FzbCFWbCQ9I090ZXIkOF5zMTB5RFIqZUFTd35RUmcrJSs9SjI3 YlNGZi14R0t6ZzFfQGxAeAp6MyNeajEpfktWN0kmWG1mQXhgb0NNNDxvRTwk YXIlU3kmPD49clNJeHVjO0xKbXNkb2ZWaEw2a21IYkMhZzNmQ3EKemByT2t9 TWdFaCVPTCNPYzUmWFZ+cDdwO3FNbWQ2RF8mTXB5Yy1XY3RwbEl5VVAxQldA Y2xHeTU7fn5qT0g0fFNyCnpeITFtZFBjVjEpNGZkZDQhT298UE9hNXpfNGlO JGdBJHwmbCR2bCNhakZQOTRIV3J6R2wzaXZMdzVFNVZpPFdzeQp6cG5zK3Fv TzFvbXZldDE9O1UqZEc7R1dfWjdXdHBoXiM4eUFaRD1icjxFTlYpTzdkUTd0 Z0ZVajxIfSVSVH5+LXgKekAyVEZsZHgjeD08aDxPfklQTEc+OVk0dEdrd2o0 Vl8zX28pN3k/VU4/Kl5OREEmP05fQ2xrOCNEfTdfMWhXPHI0CnprMnIwTigk R0A1Jkp6RT1jQHJeRHBpZip0dk45ekNSfnY8IVlRe1piYEZ6aXFCdit4YWNt eHcwYFhgUmx1UGp5Xwp6P1hobWw5dHR9Q2R4aj9PSVNlcysoYm0jYjwoeUdi QE0zb3xmMHRvcGVPSUB0c3NGMENkIUJEZHskWjt0QC1Ma0sKekEoMUl4NFot IXg3cFVHR0pgIXd1OVlCJSh0S0pzKzdzYH59enNOTGEoKDs4a2RtJWpWPlhQ b1lGaFpaQ1dKSTghCno8Mjx4MV8td29zY1NyRm9wP19SVmlBP2BlZHRiLURM WUZWfEwwTDJ7VWZrezV3cjw8PihiQWUodlNwO1klOzt+Pgp6ZlNQYF9jeiR3 SCtzcyFGP3BWWFpaQUQ7LS0kM1lud1B+cntHT05DTy1Ib2RkU05kfEYhQkhl PjB8VXVWVGlZR0gKekhvYzMocVVedVAkVEdgQj80TS13VD0ybGkyN2skJV5m fjUwfEJ9UTc3Ym1SektZZSgyRiNLfUhgfGRET1Q8OFYxCno3KlFLcEYtT0lj WWdhRUh7Yzc3TTN0ams1e2koen5gKTMjO0tQaXs3Wl82QFBVblZ9bVRTNz4h YDtWR3V2RzxBewp6PklRUFlJUFg7dVBGQTZXTyhYTm4wNTtCZlRRSVU3WkU3 QEAhOzU0aWFncDVKez5Fb1hvPnpOZkAqPiEoPWJKTFQKeilNYUViTnIpa2w+ N1BCek5afk5TdU1YPzB7OS03UD1nQ3JUI0w8bCN5JUd9MHByY082I3MhV2c/ JlI4bkNvNk1DCnptUyY4ZzhpdyFQel9RMldCITl8WFdvaD83RGtObnNiKkhq Y24lI2FXMSFxWkRjaCpUUGZ9SjFLVio/c1hQT01mNgp6Q15RT1RnZ0RmSGEh Z0dadjVESXgwPH1jcEBZe29JNU5TTyU2VDdkZT5NQXNXV1Ehb25qPDtPQmMp bHVeZlRyO1oKejllKDNYJUo0R3h5Z1AjYXVVdDQrWnkoPCZFdHhMI2syKl5G RUBjZ19VYiRpeUU1em9hNChpI1hkKWVaWCUkY3ZaCnp0fn5oSmBeV1p2YV57 O288UHRNb3MtZ0tLSEhlezVEUW5OI21YLWRqIyExZ3Q8fipjfDtoM2wqI0cm PzZRZ3h8UQp6bHBpdWMyOW89Rl59PjA3Y2kyJlRlaXlsdFdoeF8hM3pSRylT eisyUUQtOENwOUB+fTJXcVE2aF8za29IazxoPWAKenpYfEk5M0BtfX5tfUJJ a0N8Uk1pYkozJn11cH1LeDxVbUcoRmNrU3pLYzc4QE5fbDk8MmZObFo7YWt8 VSljNDUoCnoyVFNTa3YoWUEtO2Awc2pFMyl3X19tWWBDX3xKTlR2O25wMXYl Zmx0anQ3ITY4eigoMCFgayF3WmdLNktUT2psdwp6QGp7cU9LbVNsUWJgKHp6 eyg0aklzcXtHQDh8KHxuQ05sZTQ/QEo4Wm90PipJXk1ibnxYSSRmNjc1VyFO Rjx9IyMKelZ1K3Q7S2wrRTAyVCsjbTVNR0BCNEBwYTdzPk5vRSU9MDU0NlNp Wm80WjlaPU8mbFppRlJ2ciNxYHp+YCNkQnY9CnomMiEkTyVUSSY7e1o2NU9S djlGMHsoflRqOz1MeUwpdUI3ezV3T0leNnBvQkdRVCZPWHgxTz4+S3s7ZEgy eG1gPwp6KkBWNEZmOS1HRHpYYi1WJXd4NkpxKWFgOVZfJW1uSjhUVVYwX2Qw aSEkS1EtYG9GaWIpQ0soYEhwUmFidVNJK28KelhiQyFYPG5zO1BgMHdJa2I/ OG5XUEY1cklGUntYZVVDMCpIcnZ5RUx5UHp0IXRLT3FSdmVKY3xuVTV9Ki1f QnhFCnpFWl9jQ1RlYS0pKjUmMVBgajAyPzF6ZXlFWXM2V2c9Pkp1RDdKVl9e KmxxdHB8SXNRbVZjRWZgb1d3WH42QFZacgp6MndsU31Kb0JKYEYjI2wmSnJK aXZRfjx0bkFGXmU2MSQ5az5rU3I+Nmw2el9qdDNfQk5nRWJuSkV4Sz9yMmZ2 Rm0KenUlMThMQ31FKzdIM0FocTVkU2gzVEZMe1ooZnYyY1EjQDFUS2hzJWN7 PyRQbjwhaElJUUhkTzs/dG0hQXZgbVNXCnpEXylNI01vNUYhLSp+LTxgaCpS V3BZTnMrdjtGSHl5fD0hKTZiWGEyK14/RF5BLVokdz4oNUxCc3QkZHJfY1Mq KAp6TFpYPGNrKTxlO3NafjR2TmhsPXZPR3dCJGNaI1VaXypZVHFCRmtiNShY fVo0Z2Z+OGZxMiRiYW5UfCtiMkFEMXcKek1WUmx6TjgkTWlWZmxqUlJqWjV6 a0dNVWZCSyQhUzN0PVElQmJZPXYhfT1fdGVAcztOY1IpcSZ1ZXEodHtfYH0m CnoqRUJlIUpfYTt7ZWtKfUAkem5+fFFRTiVPVn1mNURJI001S1g9Oz9kaF84 U20xYCh1N0MyWmRaMlFZK3hiTjZtYQp6ZzQ8cCtsUU8pQEoxQEd6cE1HOGIj Yyl2eUw4PHsmaGpvPWNRQmcyYXJPO00/PjNARlZuLStiTThEVW59VVkzJCMK ekkqPiQ7S15VTjhVdSt+JHQ1OVNibnNRSDlBeUFuc2tybU9KcGEtRkEzR3NA fiZRRGpAc35wOzNuc0h9OHk/VHxnCno9aml9clVaJjB4cTl3U2cyO01abFJs WmBPfEE8WjBXbWRLUjxhTzlHJFZ7SEVXTTsmeGo3Xj0yI1VUa1Qpd3h9Xgp6 ajBzKXZmPllaPVMhJU0wY2RsUlZ2Ukh0OXIjJG81cFQ0VUpzTEZ+MGJ0SHF+ YT5zUHNKe1kwVl4lSlV7aUZ5Z04KemZQNG1rYStpXiFEUHxwIW9lMWk0ekU/ ZTdkS0NQOFhUaDZkSGowMFY2d3JoWDBVSzEqKntTOS1lUTJhajY/Z2d+CnpE aUc1ZFVlRjtHRDE2cHFrPT0jYFpXQzdaTHI9eWQpUHhgajJQSFhMbiFrVi1D PGpWeSMkTDl6SWBrSiFSYGdHYAp6bkYjM3JsbGV4dUtnJXpCdythMkRHZW00 KGdwY0hiVXheN3wqJTN+PCg7alQ3P0pBdU9KTDRgR1FofnhuY3hVSkwKenJ3 JihTa0Y+KXJOPlJDRThnKW9XbEVrcWItSTVwN0gmYCg1RXhUOUM1LXNKe2kk Skh7eUoxMGFFS201JG5mfERsCnpqWFluaUc5RX1lTjROLSZeZzdERGBqZHdO eXBqKCtaUV87bHJwT2RQY1NIcT5ZK1kpayhBfXhge2RWaFNkdlIoSAp6Q04p MF5XWFg5bnxNeW19IWI0Ny0heUN+cV9DLWVHUXI0ezUkcDdMZ25JaXVxd3R3 MEElZjl8ayZ0N0lLI1YpP3AKeiV0RiU7d2NzcWJ5T20pbyZWT0JZRk9vbm9e NkpRdUJMaHJPMkBUSTU7OCM1NHlFbUBEMThHYkQkd30zfGNfZnhvCno/PGZ8 P01EPCRrT31DQH0hVUBTanxFZHNaZkJpcWRlMUYyOVlQZH49TlRpIXhoYmVj ZnowNUZ5bUNsXlZIbHlJbQp6KUUoKVhDLWIzKHhAeDctQXUrSStTVHFzdz5X bmBDZDU3KS1RSSZKd3BRI0BBT2ZSYkZFJnBBKXF0fnFZNU0+aEcKem8zO087 OX5pLX1xYClvbjdfKk5CZVg8SHtheXM7e2UwbVhOVCp4WTg5JlkqZDYmdU8o eWFKc1cqRGpeSjZGaFRaCnp8RURWfkowZDZqQntRVHU8aWU0bFBUY0AwWU1z YSY5UmJabTxyWipxXlR6ZjBXc15oVGxPJm1AWTlENT1RR1Zwdwp6d09GN0xg ZHNXQlYrVnN7VERCMFVOPlIzMyolMU9LJkNeRVBAdDFRLXZJdENjWDQlVWlm Pm1aQVVMRXpIYTJLO3kKeiVoVm1QQ2xhaFV7fCVQSUR+PCtmKVVgN05TOWx2 Vk07K1JQZUlTJn4tcEFXRXRTK19OK0VvUFI8YWFpMGBVRXg3CnprY3ppc1F1 MnI7MDNxc3x4bnx7fCY2NTkjPmxOIWV2WTYofEAqRVN2c0tjVns3Z1Y3d3Ni eHdueVhaUSZxRHVvegp6Kn5AfnxNTWVNS15wVERBSEVJZVZ1UzBfTXttbVBY RjNidHxHenomS0llZWdVe0lmbCUzJjtAdCgzM0gwYEkzYlEKejVKUUsmYVUm TU9BSXp9QVRITTxEc30rNStiQjk9U0RDWkk2e3xufUt5alFDcE5KRzl8dWdl KE9QK0pZYkBEQHd9Cnp2YUkyPGdwTENJP3wpeHlVVFclJmp5bChqdjI7Z3pC eF9Wcj5kK2diPiRPV2prYDVtdk93SjN4ez9ieUNEWEJoKwp6QnpqPkx2KTRW SHRUMDAhVWNETkQpKTZLPWVmc35RT2U4WX5jKklGWkVOPD05d08qV19NQiF0 b01YVV5FR2JYYWEKemFPd1A2c2ZleHlQTiNvUTx8Q0E1a3smNVhzM2h5Z1pW PHk5PnFOTVczSDE4KVlwWGdjP1khYiRTamB7M1dzNEMqCnpMPlJfTV5BVCla eHA9LVZQQCttN0xgQU58ZXx1Tjxoe09PVjNwenZ7NENrfj1wJXomYCNZUWoq byhQMTtVfWdETwp6Jn1IezZickBES0FEUHNzWnAwS289cD5QdWRUPnwrWnpz aHVjNWRITm5tKW5+ZGo9aCozfTMjdWdIKHFBKHIoNWAKel5OfXU3aj0qa3oz THZTa0RqbTNHJTZ2eXpKZm1PUVJ+PFVXaitRTSVwJXpfWD0meiU3YTdJd3hM ZDZFPHZSMU19CnpfMEJvPTF1NT4kcXozbEgzVl44LUlsRX5QdXFWV1NAYXVo NTxET1F5UWUrQCEwKjZVZSNwNmpma1o0enxDKFY9bAp6d2BzNUxBeUZYbHJR QSglQypfJXAhMTx9THheO1AoUlpqITJPQnI1WVEtUVA7WTlTRGV6bC1GdEw9 Sj9wRFNYRz0KekgqNXpuZDNkR1lBK2NjUEo7UlA7UTRGendtYFhFK0BJLTN9 QGdGflN3MDhRTkl3azBCQFg0WFM7TUh2Yldqak99CnpuSkQofDMtU3xzRGRh dSZzVzFDNmJ8O0JTSHJMN2grazw8bT0qS3hkTjJvPHYhUXtkdmNwJXtPXzNj I1Z2X2w8Ugp6eTxpMjFZZ2hDLVZnWUVndjR+KHNrci1uMUM/V25jWEhNNzYl YSY0allVb1c9O212eVp5X0hMNGNhTkI9e25BcWEKemQldEZxLTV8UjJNbFY8 fUtQc3MjNnZ3V2dASEN5WntKTHxWM0Z5bVJSeHA4cEokdj5mYz5YWlV3Q2Y3 Mm0kbiZ3CnpPdW4wYS0mQ2lWTG93fHMpfGNTKFN9Zj5haCN6STl5PCFlVUZE KGZgUFduPnNabXNkKTAxUlh9NTYwRnUqUk5jdgp6JCQhaWFxezRDa2xFYGxx SFllKXJULSE4RGFYayVRc3ZRbnZPRHJgN0Z5bH4yT3tSY0Vie2xSQz4+KEpg bSMoZ3IKejxoJnI7MipMJS1ZdCZHcFEmY1ZaUXlJYyY/LTshN1lgQ25nK004 bXJRPz89bF9DS3dkbUE9MUFPTl5EYlV1U1NVCnpRVHVtcTU7djZQQWQ+dFg3 M0RgPmRnfC0jY0kmND1mfWBNSCZfNXNEM2MmWUU8UzVuX2tkQmpud1NXNWRr UTlZYgp6Z0Q0eT1oYU1fODY7NHU5ZmNRZSRPZnlEI1Q+WE40NUg3fmRBO0Aq QCtFdGN5dVVPRkZQYz8kKEkpM3l2NyVSPkgKeitwZTlUITcxPnxBZEVRUkB1 RF9nZmhBUE4kK1F0b14pKnNyKlJhRn45RHJrP08tbz1TSWxiZW0/TWZMQFRp RylPCno1RFVYP05ZK3o9K2w9cUN4K2hTbk9yZXA2VmgzbCZXOSgtTlFfQjx9 U2BleG87ZWJUdT53JDl6KVdyQD5TRlQqOQp6cl5gQyh7SGF9JVVrJGZIbSpD Mm1efmxCej5tVzF1V2wpSVVuM2NaUntoMXdDMCQkMTMoZEApYipxN2BKQkw/ eD8Kelp2I2ltPTAoT0RBND8+RjJnayZKMlc5fGMzUSN1VihXNkpCelR7IXg5 Wl5yOWx4MFBoUVF9K21pLXZaWDxlSFlICnpJO0Z3Xj0jI1E8XiZwSjMwKEg8 RDVkVz1QSHlPMilDcj5WSEQpKiVzdTZgVCo3YFhESy19bkNWMSsxMDBkWD43 dAp6UTZSST5KdkczKWRHcTluNlNkUU4pcFJ1aD43U0VGJk5DVWpmaGozRWBx PGZIVXhvO1R4ems0MFIrVEQrMG4+djsKeiRNYH50SkNrPTU2JFQ4QW5hRi0r Z0cqM25gJVMmQ3k0PEhhMXohX1BYSzRWejlyRUdeS0M0Q3NiTHtTZHFZPHN4 CnpJRWM7bVQ4fVU3SzNtS0xrbWdHcnpNISFiTVZIQjk1SHxKZUhwYjYzSVB6 dVV3Z2l0WXUtbHZLJGxaZDRxZXkjagp6X3NVV3tWMV9pe3ktRnJYbzQrT0Yt O2BMR0M9NiZwcSlAX3h4Sl5pa09IM0JIZGh1c0FLdiNWVT93VmB0Ykw/Pn4K elQ5ODtiTTh3RF5ma0wyQEtUSmZ4KDBPaihDUlljNjMzczx2SWlWcyFpJDIh OUBST1g+PzRKcFo0RyFAT1p2eChlCnpuaTY4WnkmeTNXPGIqZktKSC08Zl5+ NWM5OUFHYUF5SHxVWGhxRnQjRS1pN0prYX4oQzBONnl0NXxhaD9lIU5oKgp6 NXJWdE09c1R5VGk1NWlIVTsoQiEhaEcxbVhtfE1me3MxZmhYYHhpMEMhX0Z4 eHAhfV5iRH1xeVUyblFYb0YpQnAKenZjNCNyeV5JSHFfKnA+ITYpa1BBckxk ZDhyVVJ6aHhNQWx2Kk8wT2p1c3glcmBTZVY8b3Q/fHY9SClpKClqO0xVCnpj KGsjO1IrcEEyNDBzTksyakNOUDc5aGNDez05ISM0ITNtOGxZRSFJYyZjPHRy WiNNMGQ8KEZeb2p3YUZ1QEFNdAp6Jll5MUhSNjV4fWcrOFd3eVpmaTQrUyRv Ump+cDJVO3MtKUpRNVk5ITV6OUlue0F1QHc4WXlhPyV5XmVsUzdNLVgKelp4 ODg0c2J5P0JWXyk0SlRzYkdhRWgmXkRFJTYrKEl2QWFxcypnYTA9T2g3VmZu JDMmbThLYmNCLXdwa3NTaS1eCnpUfV5HKyFpb2kkWFIhc0MtUj9NWjc9WCNs TUBjfHxYTzNSRWJmR1dySVhldWZeTXJ1dz1CNkNePTl8R0d7QGJeMgp6Rik7 eip2aVZLXl5naXFuZjZmITFack5uJCtwJS1KY1hscklxPUY0Z0hWbThgTSVA V3JWR3RIejdRbDBZcVgzaEgKelQqX0dSWDJkTjErd0VLSG54PX51V1k7eGsp e3xzOXNpe3BeMDdWRX1mVmZ6fiZUZmBDRikwNyRPJEd2cTFwbl5iCnp2N0A9 aD4mQCh7XzEhSnhFJVlDMUpKJVBjby1wPjNoYEZ+MUlWcnxDMl5FWG0+LWB4 ST10QzA+QihBRX1PRlA2RQp6WFVlZWJjdk1hcjw7MWZgK1I/dXVDe3BlemNn O30+Z1A0c2RMZjhWLSE2MjZzblM9OHJwIyZ4dzV6VyhINDkyU0oKekNVVmMy XkJocVhvZHZLMyRTfWRyalFvVlBOZjFnaik7NWl9cUk/dHs9bkMofGg3SWU+ PVoqOEVeeW40I05Kd2ZkCnomVmN3PzB1V1BJQyRmPnUwVyM9ZFBzMTNtXj9L OXFIJGkxU090fWsoNzAkKiVuM2JyZHcpNFhWTUhyU2A9fUg/fQp6VUZKcSVQ fUlVS2ZIX1FRRFQrV01hfWJ6aDZoa2VFIXYjbWEqZXFJNWhefjx4LVArdXdJ Pmp0TnpsNjAoNUYkRV4KelF6JFhiOUcmdVUrTXB5ZWIxaCFiPUU7OWk2azY0 NTZLVG8jNSlmfjNXUGZ8PVJBNGI8NDBwRlEjUXljYE5KIS01CnotbzBQY2Ao fURteUxpKSooZ2ZOai0mN2Jna2YwY29nfmxjXiFuKDdDI2N2NzVFVFE1Z0VL dW55aEV4PV87Nkc9TAp6MDZHSCM2WnxzQFB6eDQ4Zl5ZJDFYWi1ATi1XfE95 YzsqYlYwTHo0PlEpMSlMRkglaGl4VWw+T09DUzljbHtHO28KeklGWTNRMTh1 TXI3WS1INVUtUkxJbTUhPDIpY1ptVlYkVjs+TnYtYUBANlZwU1o3OG0+QjdX Z2U7M1NreHtAOWt5CnpuPTBwSXV9OENqQV4yQnFiO3lYKzdOIzlKVihkVVky ciZyNzJ4cT9lb05mTWlkI0c+ZmVSeEU1UWJBeSVHc3J9TQp6e3sqOSRJU2Mh ZHhkNHE2LWo5bzJ6KUx8cypoQkprSTFLQTFedypYN2N1algpT3RBbktGYCly O0phUSFQcjcoOWgKekJKdGBKSnAhMnM3UV9wKDZxVz1ldj5nKDsqUkVPOVNY MWlHZUw8MyRMLSYrbHtwdDVFc2RycXdAR0pPPChkZWtUCnoyQFdPQ29TRjIh bUNMOzJVaEVTI3g9PU9xS2k/Y2FlRUlVQTYySEwob3Q/WWF3VThWRmtpbEZq WEFKbUxOM2NNawp6dCkpZmgwdEJXfCVsaEB9aVBORHhHWilaeiMzc3JFcVpW c009cTdsQkxYZUZSM0FEOyYxa3J4XiNoJnRVJm5mdXIKenk1PnFCTVpGK2RE SkNvK1cpMmVwZiR1Rl93bUB0UUJAZClpYyF5QUU4RCU5c1YkbzJZZzZUamJJ U2lsX0VyS2JECnpyUmNjZSRsYDhxWmc1WmV1ZWl8bGZ6I1ZgU3NqKz1qOVJ+ WDV4I2ZDTCkzfDEwMldJZWR4V2AoZz0xU2JaKkh2aQp6dkpoSmIhKlZ6Yjst Q0pgSC1gX1FeODtRaVAjWEd+eEp9c2dSU3pEU1ZEM2debDRJTyFidjJjYElV ditSajJRY28KekZmcUMpMWNOJnJgeUV0M0d0ZVpJM0U5OTRQITcxXzZCP2Yy VSojQHQ9ZmlWJjhyWCYhY3t0dD0xUzlYbFppVnxXCnpOcE1kZ3kzdHxneDdO RWU5eTBhQzt4T2ZJJEo4X3krM0JwVUNPRmd+eEJ6PmZDLVZ4SmkjTXRzTWJN WXYtZkBRSwp6Tll7anNuTVVhcHdpUlRMU0JrZlRTYUsyM0lwPz54eE15VH4o eWJqQS02UGVAPVRrbExyTyRWNkJ7VVh3b2Q9ajEKemkoc3Y2KXJ3YF8+OGFp bml3SVhSeztRX0ZkRX1lSkI7NV9CK0c4MzgzYjA1NEk+M3shaiFEJn47WUAk bkdpTzM7CnpVP0xFTGZkIXh6bkZ9eD5reHV3WG5HTyZGc0RJRVR2b2BkfWZJ Pk0/RU9aTz9HU0dhNEZDZ2pRND9sNE1TQXQkewp6S0B2aDBoPEJjWXFKPTt2 JUVgbXdIM1RDfXd7eiFDdjt5PU5DPkE7YTV7IzVlVXkoYTRMfjVNVFMpK0gh SUU5fEMKel50KCl+T3tZWjdWPWthbXluO0NuZSt4WVYyRjJhTDNIJTBnYn5B VnxVa0Q0IVUlOFQ3cT5wcnYtVSVaaz5nZ0ErCnpwaX00JWtVYyUoP1IyTjN3 YUdJaCttKCljR2Y1M283eU1TRTdQdXk8cjh3PT5pS0R6SjckZyU3Z24hN1Iw R14+Pwp6R3pwIUhSPnA3eEV5JUJ7YUojZUYlJVRUS01Mejx6ZXBvWig/UEV1 ZUZ1ZEA4X3lFTT5OQGBGQGprc1ZTYiR8X28KekNsN1B2SlhoJX1mJlBVQkx+ e0A+Zk1BI28yJHNQSmoyJCNkYFcobiVLJXJHQW1aPEBaQT4zZEojMz19YnIx Pno+CnpeTn17XkF1eHltSSFFZXEzcFlYKTJ3fFNYKH4kNzY3IVJqZjUlVWZk ZzNedlgwP2gqZSZZWF8rd2hHVCY9ZnI8fAp6IWxDfkZ7a1QpXmFaWE1hem1X NmAqNSlIekFhZmohRlJYcVQwckx9SjZuRTFMKmcrVF5WdW9RWUtsfihmNzhs Yn4Keng9QTB3MjY3KDc5eTFEMlByckJ0b2d5fFpULUA0Sj1iU1hnb3lPam0y MnEpWnFucjNtS2FwTHR0Z2k2bHVmSWZ2Cnp3NGl5fFItYD4kMEM8TG0/bFQt cERfaHZuPllESGAzUCtlQXU/OUZmc2lgRkUrZnlmRkYpPkJQQW5kTnZHNWQ5 KAp6NGQ7dFJANjNJdismeCFuJEg0LV4xclVyZDB6P1FrTFglSj9edlF0MjR2 WnxDM0JGVTEjI2xxaTVFNFJfcDtzUmkKejcpflA2QSMhKkpkTyl6Q2dyTkhK MWZoMStFb2NLUlRAZ0dsQ0J2PTB5MzkyKipQWntlJDREPSstTS13ZWdUXmlD Cno1NHZaSlpFazlpOT80KFREVlUzdyhqJiMpXm81UTlHY0lsejk0M1YtQENM eE1OT0pZejVGIV5ZPH0kUHpgWVZqZwp6Nk5IZ3JFQCZSbjBrODMqX1YoNT89 UFh6TCVpaVFyRDs2I0xRa25QVT1VZGtxZXhBVVQpTChpfl5BdktQKi1kNkIK enY4fmAlYFV2b2hBY0tQRyQ1PEByWCFGakAhYnIzUENpbztoVDM5KmJtIUhv XmNWZztxSC1vUmdedmUmNjliO3JPCnpLRGIhRXpefmRTKWBublFTeD5vVjw8 KFNgMl94dDtmKzhEdTBaU1FMZz9RaXloOFUhd3JOOT9fbV5BcT9gZ358Vwp6 VEFZTHV4Q1RuJlZzN0Nec0RkWig5Ry0/dWhUdUNvK0Y5RkRScCQyMCZNVjQk LUpBOGV2U01fWV4+el5heX5MQHkKeih2JGhIWWtGMilISVpVdDEtOyVXI29h JnhSRGNKbGZESSl1OE5zQWIxcT0oRDt+NyZRNGsyPmtWbEczT3I/WWV1CnpC dUVGUFl4SWk9c0tRJVJHVTRDQUFuKyl0YFd6MGZecnNHUWIhNEE5Y151NlY2 JXIqJj4xTHZMU15uaTNLRHkyKwp6XkF2S1BYJlJiYGI3NVE5OUVuNlBrVX5J Q19nazlrLVAxRVk4T0Z2TGMwXitPc1dqdk1fY3wpQiM+dl9acmdfc0QKejZy bU9WT3FwdT9NMGdLNXJIdkBnOFNSLXB1Q21uNGg4akF9c0NoeHkwczJ1UzFT S1FyRUkmZnpMZyNWfGY5RCRuCno1MzZ9XytCbTFBNmxhZW4rKXFyVzJhTjdm Jn5kSn1gKjlgdFFLfFApTThmWndESyp0fkV9JD5jOVV6b20yIXEzPAp6IXNB UiZyakxuPj45eStQe0VtKmc+VClfJlQ8fFk8Nzh7JXlHblhKZ0d7RXw9K35V dTlkfnRJKmBKRExQKFgyJGgKek01eyNJTFZCWn4xJUVpdHVZNkc5TUNhc1Fy WSN8TylFaX02IU0zbkRMV3ZGbkpGQ1Uxb2FfbUI3PDRjTT9FaztMCnpHalZG LWlzU2VuZylQTmFUTzRnaXc2cztyc0k5SG04SDN6R1Amb18mM0woam8xVlh9 bk5KTGNaRDJRNFo/O0Z2TQp6Mk5rdlQqNVhtfEt0XnE0YFUjNm12WENXJlYy a2NmQ2k4YVIrdXkkNUBCUUJVZWMkaDAtdHUzUDlNKk9pIXhaPz0KenhKLUA1 YXtKPT5sbGAwVzNaZSNQJiR7ejZHTih9P3JzeEBZaTRqN2spPyZ5aXZzPE4r UnZEcllSbWtncVUwclFXCnpSYmBwT1E3R2krPmhkI1VQKF4rOE9tbFEtenUh LTteOXE/JWg/MjQ2Q0ZMYUNxO1NNcHY4OHFeVz1eVUk1O35IJgp6a2dCUzNm YmBBe0hCaHRZYndjWFd5Y3FhbVpvdSQ7TWxaU1l3OVl0TilAWmhHK2sldz1G XmNkSzd6dDFUbTt0eHcKenQ8WnFlJWZPdz5NU3pQWkpTUEBDMlplJmk9eWNQ PFc0NTN9bXRSRGlTWWF4ITJzTFQmdCQ4fWJpVTwreWh9dGRfCnpxd0lEZHxD KnI2PzRSeWp6bDtrbmZTdktOPSgpblh1VjRTdWQyKUJqaXNAd0R8RFI/T1Fa aHpQSE49Sy1aZ1BJZwp6an5xOWRyJU4hYk8qVW4oJmQqN3NeeihEbGc+fFhN dFd9MUxNQU1xK3tNMDJ2YSlkRSVtT2U3bncwdFZQKlp5KHkKelE2cVcoXlgj MnBTRjs+NyolJWRTU34xc0B6VEJMWGp1VzcmJTxpbk1haik3IyF6OEZJRWR0 ZlJ2T3lPd3ElSllXCnplYCNGKXNxY1ZVZmdOJlhPOEMwQ3oofHtuXl54RXVz MDxfdCUwaD5NVFhkYWh6KUApczhXI2FCcDc1TWwobnhwPQp6Wk8zdiEyV2tA OXRnV3N2PWNFYkFeQz1ZM0pTaypwWGNTOGhUUT9VeGZCR29rSzNEfUU5KHhv QWI4aiYkZyZuRHkKeiVjezJRUnczbkopV0JOeEFsR35xcG97cUxYN0xBOF9K N3k/KTs7WGNyekx7QC14V0l4P2xqJVFCaHEoZXAxcEo7CnpnOVN8cFN8UCt2 N3ZlclEkQV83PHYoMVRMdjdiX1k+PHBlOG14WSkjQUNVfmxOSXo1P2J0Q1VC UzNEUXV6OT0raQp6KCh4QSFrWjUjKFdEK1Y5djg5TzNYdXdmdj5FYyRwTkZk QGQzNmVwSWlkPGJAWXxkVU90ZTdoPnZ1PmNeMjk/MSoKeldBMCVPKFBASUpH OXFxdHd6RmpgO35abngkK3R7X3ZwTFFsKnZpSVA3TEJMRGVOIXBpOEZ2cVIy KkdFc28kTXt5Cno/TzVxK2Yob05VSGV9MkAoTnVFcCN6aldgWV9UMi0hXmNX cnMkWHd9Nlg1KjIoYFQ3cCtNK1V0d1dfazVKJndlRgp6eTNGKVFzQkdpX3U3 cH5FRHBSNXlIc2V9LSR9LW80eCpeandNPVBKQV9eQWdQaWVBMld7KzUrQztH Z1N4e1Awa04KenJDMit7YU8hQn5nTD1wYE1FVFpsYHNAKUB4OSs9UmpnQ0xC byhJfHUkZnZLNWJ3S3NHaT17bzB7SDhCNUc5bytVCnpLdElTREdzVGgrbVp6 UHdVYzFua3JtP098dlk5Z049RGVaOyFDcSk3dUB8N3hqTXxyIyphPmohdXZ2 SXNSRktjKwp6YzxlNEU9d2ZuYGUjbExqaHVOfm1PPUNhRmZNaysocnBifT87 UCNiPyp5ZWt5S0tFfjMrVXMwam5tcCljbCZOYiMKekw+RExgY3lZXkQmZklR fEo+NjI8Yi1qYVc5PmVtKiFwWXhgQDJwJEB6MEIoeTVZX0BoTF9yYDVeaiZY aEtDbW5nCnpXXldUJDlmfCZnalVaZ0UxQ1dAZmxLViZCK28hRk9BSiolYWE3 P1c/ZmUlez42WHMhR1UtJGk2Wk0hT0tiYVZhYQp6Mk87WTV7dU0/QVooTyhW Syl2em0qfjJWe0BwMUglc28pKCk4K2xQZ3gjT001Y2FsRSh1dH5xVF5Ial5y LWt1NGcKeiY7RGk8QTFVaT9fZih7cEIpYURLaTlkPX0zVlVsR2hOZV9fJVNS JSVuOTIzfSNxMCZ6Knx3Kjw+anE3X2V7QXQwCnpkKHJQSU9KemVYQTNyVGly aEtjd3NlZShqJi1xNzA7Vm1FT1Y+PERaVHh4RytCQUlgWnBRdnhLZz02bkNE bmVeYgp6V180T1BeUWFMOExLQT1QZl5gcjNEQWkkIUspKWJ6UWVrdihNYXR8 UXd1RjwtPHVeT3FJMTlrI1VJQF5Ja0ZLWnQKensrWlRWPlhhPWlNQzIkP2BJ bSQ8UjB5c1FeXmZIWmpxPilFPzx2UDR8MXxqYV8kZSpiWXJDI3AyJSE3fVJF Ky10CnpuSXtrTChnR2pZV1l9dDBUQ3ItVEJqR2NhQWBXI2tgZERoNVM8Z08y eFE8SF9MI3h1bGNORH1PLWUmMUl5NXNJMgp6PWRlQytock9RMTQ9eF5XLWQm YmJ2M2VIRXJIQWIpRTJ4JGRyI1BkY2Yqc249RHBTTG8/MWBzYW9MNWZvSi1B dGIKelEoTFVab0stKlJkLX5pSWgkdXUybn01b3NTVVpoViRqPT5ZPXphUj0/ RyhnPmB3RVdKP3QzP0p1dnxFQHFwaTZkCnphSSZqKGIlU1hjN343ZE96anAx bl5kUEYmZHtkSiNoYj8pWG5HcVlhN2hwcW83QU5uayh7b3pvYDlzXlRvWXtC bAp6UWFrSlBYXm5rXkAjN35ZaFVfMlNgSkY1c1ohQiZzKHZzb0kpWSomPTA9 LTc7MmhqcjlWbT5BQHk2d3piZmFkSm0Kem4wdDJyN0tIUVUhRUc2OSRQRmpl bk81aWEhbmxmKkZscnE3YEc1R3ExKmF8RykjKjZhTTh8NlVNRSVaRnJvPGBi CnpTMSk/JEREalZLNGYtU30yPWgyTVghXlNFLU41dTs/Pkw2bCEhU3syKkBv X1B0RndKaV57OyNESUgmJjdzZ2BUIQp6a0tGMSFnIyhKI2ZjPnsrK09FV0lV bXEycEUkY2JCPlN1RlFSZUhGfm4wbUpBdlJqM2crYGxNdnpFflR8SWE5dz4K ej5NcG1wSmJUb29sd21iYW1COUUmZkxnPDtfeFBXMilnRXJKR307cmZwJEBq TUBmPyUmUHN3RihRT21ILUo0O3JjCnorRWF5dmRWSyUzLX5OUjA1ciNfamVV fHskMFokN0RUMlVrREhER0l+NnVabVE4VSlQLS1KSF4tPjIjWHRPfWlfJAp6 ZHN3c0BeZ2g1ZF58XzBoOUV0bGs+Q3lJIUN6PzRZYHNyVT9ERSEybHNQbiFu Z3Z4KXYxVztQNDI0RTY9M0J0ckoKel9OQENKcnxXVmA0bndnNyEwcCUocDh4 Jm8xIStqPiFlYkx+VDg+KWFzc3ZPQ3MxaV5tcGhgZk1mR1BvMTA7Jlg1ClAz OClmS0M3Pz4rSihSJHwhN35WZgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpk aWZmIC0tZ2l0IGEvcGtnL3dpbjMyL1Jlc291cmNlcy9saWNlbnNlLnJ0ZiBi L3BrZy93aW4zMi9SZXNvdXJjZXMvbGljZW5zZS5ydGYKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMC4uNDA1NTUxMDhmYTA1NzUwNDBjZDNkOGJiMDZkYTMwMWZl YTJkZDJhNgotLS0gL2Rldi9udWxsCisrKyBiL3BrZy93aW4zMi9SZXNvdXJj ZXMvbGljZW5zZS5ydGYKQEAgLTAsMCArMSwxMyBAQAore1xydGYxXGFuc2lc YW5zaWNwZzEyNTJcZGVmZjBcbm91aWNvbXBhdFxkZWZsYW5nMjA1N1xkZWZs YW5nZmUyMDU3e1xmb250dGJse1xmMFxmc3dpc3NcZnBycTJcZmNoYXJzZXQw IEFyaWFsO319Cit7XCpcZ2VuZXJhdG9yIFJpY2hlZDIwIDYuMi45MjAwfVx2 aWV3a2luZDRcdWMxCitccGFyZFxmMFxmczI4XGxhbmcxMDMzIHBnQWRtaW4g NFxmczE4XHBhcgorXGJccGFyCitDb3B5cmlnaHQgKEMpIDIwMDIgLSAyMDE2 LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtXGIwXHBhcgorCitccGFy ZFxxaiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlz dHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGFuZCBpdHMgZG9jdW1lbnRhdGlvbiBm b3IgYW55IHB1cnBvc2UsIHdpdGhvdXQgZmVlLCBhbmQgd2l0aG91dCBhIHdy aXR0ZW4gYWdyZWVtZW50IGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0 aGF0IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBhcmFn cmFwaCBhbmQgdGhlIGZvbGxvd2luZyB0d28gcGFyYWdyYXBocyBhcHBlYXIg aW4gYWxsIGNvcGllcy5ccGFyCitccGFyCitJTiBOTyBFVkVOVCBTSEFMTCBU SEUgUEdBRE1JTiBERVZFTE9QTUVOVCBURUFNIEJFIExJQUJMRSBUTyBBTlkg UEFSVFkgRk9SIERJUkVDVCwgSU5ESVJFQ1QsIFNQRUNJQUwsIElOQ0lERU5U QUwsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgSU5DTFVESU5HIExPU1Qg UFJPRklUUywgQVJJU0lORyBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX QVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTiwgRVZFTiBJRiBUSEUgUEdBRE1J TiBERVZFTE9QTUVOVCBURUFNIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFIFBP U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxwYXIKK1xwYXIKK1RIRSBQR0FE TUlOIERFVkVMT1BNRU5UIFRFQU0gU1BFQ0lGSUNBTExZIERJU0NMQUlNUyBB TlkgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gVEhFIFNPRlRX QVJFIFBST1ZJREVEIEhFUkVVTkRFUiBJUyBPTiBBTiAiQVMgSVMiIEJBU0lT LCBBTkQgVEhFIFBHQURNSU4gREVWRUxPUE1FTlQgVEVBTSBIQVMgTk8gT0JM SUdBVElPTlMgVE8gUFJPVklERSBNQUlOVEVOQU5DRSwgU1VQUE9SVCwgVVBE QVRFUywgRU5IQU5DRU1FTlRTLCBPUiBNT0RJRklDQVRJT05TLlxwYXIKK30K KwAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9w a2cvd2luMzIvUmVzb3VyY2VzL3BnQWRtaW40LmljbyBiL3BrZy93aW4zMi9S ZXNvdXJjZXMvcGdBZG1pbjQuaWNvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu LjNmY2ViYWZkYzljMTZkZWRhZjgwMDA2NmY4NGEzZmI5MWEyMjZlYzEKR0lU IGJpbmFyeSBwYXRjaApsaXRlcmFsIDM1MTQ3CnpjbVhWMTF5bWJOdmAhI1VD e1NFbSt9KXZnYUNnXz5SLV9hdU1GU01+O19tS0orX2hNN2NQUUBlQGJiVSth ISRAPgp6bGtEOXwmZGk8ciRwcnZfMDEpODYyTXxDOFAqZWZ7cStxWXYqIzdV bG0+S3x4Z1N8JmFfVyRQPzBEeW9DMER1OEkKentgWS1yKnJuUykwZjB+eUMy NiR4TURKbWpxUkdsZ3NRdmZwZUBgU3QqdW1naXVfWFlZZ2QtfjxzXlB3TFYp KDhKCnpUWEghQVdnYyMtPzN6SW45NDZ5OWcmRElKZW9jYn1tI2M5PWpCcFRn UDBgTGttSk5sNWtRc2BXKGg9dlF0WHlXKgp6TEN5ent7K2BrLW4pNUR4JUtV K0tZUjZMLW0lQDQwYzlxRDZEVFZ+fS17MFQ9K0Q2cztNWGx8JU96XjNaOzZf JVoKek45OHEyKkt7IUk8LTU4MHprdXJNWUxTYiNeJFU7S0Rtcnxfd0AhYTdp eVAtQkVFNnFXdlkhfDs3YFY2enBXO3xhCnpYfDY7TmVFKXtaS0JhZHEwbHZC V0N6KTlmTSVTNDNGR2NlX2h1bGY0WDZtZXBTZHZRcyRlJlJOez8oe3JuWl53 RQp6XyZSUUtQdEM3fjRyU3U5UnlwQDx3e3RBQVBwYSMjO0Bia34xJCMhdXQm ZT1MO0Q+NEFOMzxHOClJbiVLO3xWSVUKekEhczlecyM8cDYrIU45OzFuMjYh bmJCUkBESD5qUT5DbFMoVzNtUzhXXj5wVXBZdFgrQEBwMjd1VG4maEBiKih0 CnpwbF44YVAqRFU1cyN7b1JxZV5Bbk0mMTAoVEFvNEluPSUxNGlxeyo4SkFM Rj88JChYJGheWl4ta040VzdDcVh9fQp6O2k/JFZBNnNZYnpyNiFXMHRsRT1S ND0jZjJhNGh7c3RDWWRTcmZ9b3RyOHQmVGZYTEN3UmBOVSFFPXZ2WTg0Kj8K emU4Tk85ZVpSajV0XntlfCkxXlJqKCFkRHRkUn07Yl98SDcyQCk3Jk5ed3lp XiNqeHhmJkM9RGMqX1ZITEpffm9LCnpneXtffUxMU3hKSzshSF9OJjBaTDZv ZGVwdlZAY0ZYaXQzQkxIM3gwRXN0P09wVmVWRTZFKVJFJkQje0B0YXNrSAp6 QmZ+dCtrNEsxKXlKU284TD89VFF1QVdUcHVLe0YhTDtDPl9ia1ArSyhMe0ZB MER7cngzJDtiPTE5e1ZwSGU9VmMKelliZmE+JlFrTTckTTFQI29eOyZ6Oytf IzU5Pm5XKyFnOW9ycyZqSnA0LXdKd191ZSNIQ3RNTlhvI2hWV2I9MyQhCnpX M3ItZHZRc31iUXNSV1UhJmBUaD1aKXtAOyVBWiVCeVRURSlMM2JgYGUwSGdp ej5nZmVaTEx7bzEzfk48WS1FWQp6eyp4ISlafj9sO3ZtQyt1XmBrc20lJnE0 MGd7e0NuKF5qTTJ7d3cjbHQqaH0rYkw4IT9ffFBySnc+eGUrUVBXU08KelZr eVErQzswXitYbE5EQHtHKWgkZ0oxUU89bGtkTDhHMVZqLVJONHZveV52fHVs Qil1eCNLUFI/WU9tWStLI0soCnpNWHlhUE5gYEdMdVdlM3laP3I5SEJzcWRP ejlMY1FfcGhQYmdQOFEjZ1ZMZFUzPlQ3eDhuUDBWc1B0ZzAtQkx6Mgp6NSgr bE4jT3ckLSV1bH4tQTxYMX1gTSRJNSlPJUxGTWNeeDwmLTM4QFcreEAjTSZ9 VjU7SUZNPWJjWTwmPVArO3oKeioqbEB7QGIteGFDJDkzdlJyJmJzQ2lrPD8+ d0I3S0c+YXxnVEsmTChXWUJhJUgzc3ZUQEczJn01USZRfGNXKzIwCnpuZWl0 VD0/VlBwall7MHtVMlY4N1cySyRjYDsmQkAzeVV0WVl6aWtLIzRpNWx5Qzx2 MF94bn1mPXBmbHVRKXYkdwp6cztaTSlZcldFUihmeCpQWXVAS0Y0e3dJQT5v KzdQVTFZd2hnIXs7bCRNdko+SHhiZlBQcDFAWXBLamlGe1psOHcKemVKYENT TUlze14+Oz4rMVVAY1ZeVSMoYzQ9SWAlUjI7aEE7P3RKa3I1PDBWYlN3VD9J UG8hfV5GPCk+d0V3LWYxCnpRZGU0QHo/a24/U0tBbV9SK3xgRSo0eSZoakdB NHc3dHc4ajhPJkhfWV94ditObVFaK3V7aE1TVWh5QyZnRFIpfgp6NSF0UDk5 aDI4PjhCfGJlNzdLV31MbjctcCp3QHc1Z1hXQ0I9fXFYe1p0ZHI8aHYtZmlK QUh2PSErbSMlUDd3RH4KelFaYm5mcldfN0pvcDFUZElXc0F0MCVaQzlgc2lX UVdOXlJZaCt+PVVJUmNTfXtWK0krRSk4VVE5WGsqXmVlc2BQCnpAbjJAJHZa NVVYSE9TK3MqTjhtN2BieVYpeXtveCRlPSMmQF5VKVhkKzB2KXZXKGVZRlBu UiY0JkNzQXZRR1l4MAp6RX5QXkxOJjJJa2BSaX1OPnQkLUVqWWc0cFM+TFRe JT9xbFl5I2NUSEdLbmpeQkdqUDdhK19iRlUkSz5fV2M5KXUKelUmPj47aVBO eHYtNHwtREdpNiZSVGd7VDYoRXI0UWlEN182RnVKVz9LZyhWJnZKRCpLMjJC eWlgR1JRUHR9PDcpCnprOVgyYyhQXklWcXtrVntsR2FMM1MtJlFYcGkqb0Ej Kj9UTXstcDZHUCUhSStsOFEjNUc8P0dGakxPb01ATT91cAp6clA4VzFzTWJz e2hXJEF7U3hXKSZkYW9NUW1Aa3VLO0BXNUpNVENOIUFRLU9sZCQ/JUJ5WHlK IS0rPmVoPW9IcGIKei0rR2N4dTkxTmdpSiEyMkZeTTN2dEsmdlptcXxVPnR4 QFRrNT5IXiF1KVlma1ZHTDB0NDZ6UVQ2N21uVWNNckdaCno2ZFpEUFlyYmtz ZU1TJVM+czdqfDJyVkl6X1ZYV2ByJFVGVHRuZSleRSUyTm0qVmN3QVU7aUNq dSQhOyhaakJiQwp6WF5BQSM2dGtBLVEzWUc7YndLfnplPX1fcTlAI2JAJjVA JH09c2hidUVsdDxucXszcXxKQVU/ZWtIeDUhKzB0UXcKendxeGxveWg0amp4 alVpcXpLbD9ecSVCMXYqNUlJRC1VIyhKSXMwP2x3PntQNGE5XiNjS3shbW9h TW9EYnlrWmM/CnpNajM2R3E9VVZze1ItYF8hPW8mQHhJbi1jKElMU1VpQ2Bq MCt6ZFplRDJQSDcoNV55cnBLb1puN0ooPjR3e0NwNwp6JE0lPmFRbmp3Pyh9 KDhpaXk1bldgLSYtcWFNeSlVVGNDO3ZLcWduQDdfVDJWJmY8Zi1RU0NhcyRf aUhKU2d4cXwKemc8cks1THVqKEIpcjMzMFpFZGg5OE1Vej5pV0EtTV5rfGxt TzUoQCtyXmZwIylfYXpQeExeRig5IU57cDxgamo/Cno3O31eNGkzSUV5IWBD aV80UHtPS3hrKH5sXlg8NWh1NWxRNVRDUXRjJSs0K0xzND5WQFpUMVNZTlgx Tz17M2Vmagp6Wig4QCs/S0V0NT8yZlFsemVKbStpaF5hRFpJQyRUKTFJUitu V2YhKl91akF4WEFIaiQrKz5sZXVJbGtEWUxFeSMKeik7JTZiPCgtN19RcFg/ Oyt9Rl5Ucnc5Y2YyOFVnKmJfbkwoT0Y+NCUkMHEjcnglTEpWNndiXipXckso SVp+MSM1Cno2O0dvXjRVKS1uRzJxVlVJYnMjMzczVnw1S3NJPEZFe1gtViZg fWJ7YkduWVhaPzluNDJhNWF0aF9reT8hMldWJQp6UGVOelkrVjZTQ2JeSTRB TT5WY0ZCP00qayFnbFNFMzNNZ1NkMn1tcD5mNE8hentSRkBRNlcpYzRBQnVl Z2pFVy0Kekx6JjAxU0d7QllaK3tQXio/ISlgcnNVWnlKLUlGM3hjeE97QmV+ T2o1TE5acV40Vj1GcGlBYXpCRjU1Vm8+PDZKCnoqQ25lfjM2QDFCbz04d3N6 VjJpX18heD9Cb2l2Sk07Z09tX3pHIWRiYH0qX3lwU3NHb2FFanV7SXVFQWBo MUM8JQp6NiZxZV5QUFVwNWlvMFBhZUBBQ084X3Frdi00JHIzMEhvZSpTXlFq YzYtK3g3XjNIUj1yP1ZDLVgrfUdCLTFEN0wKekZfJFV2I2tzIWVmYj5LOChn TD0pYFY/XmZyWUsjMXhoI2FHN1FmQiReV155VlZ2ZTV6cEZfbktyXjY7cyVJ TXVkCno5c3VNTzVIUzlISyYjNlA0IVF2T0M1UFBKaDVaYUhadV4jKyVTc2Jl VXJKU3FeUzlELV4tK2o2OXs5ekk1fSM0QAp6MS16SHFGWSF8UTE4ckcxe3JN JHpwV1VAUipabCkxVXBaRkJZcE9YJkNXfEJYXmYjRnczS2BVdCZlIzNZa09V TEAKelchKURrNCZwM3ZDaXFST09+aiZvYGB5KHRefHg+eiNyMnRYaG5xPz4o fWtYanAzUE1ZQig1ZitpU2ptK1o2WEp1CnpefFVxflY8cHZNZTFoNF5RbzN9 P2pRQGg+TVdBaVVSJTFwWjBVKTFvQkJyJkVRbTF7X0Z3UD4zQEhGO2pHZEJ7 cgp6aFdnVGxaKlQoPkBlO2tpPnFIbmArRk1fPzAqVE9YPntScD8xd0kxRExl P3t5cSZeOGQ0Oz5iTWd0SkhWO0FOX3kKejZUNS0oSE4jVj5BWDlCNXVHY1N2 cGF+K1ohIyktRiRMN207bHR+UGs5IWYhei1mdjtWKHRSUDQlTX1nfFVBWWJp CnpnMUpeTlEkZ2BvMX5GP0heLWBic2kzekJ7XmAxdikxXmQ5T1pgNjNaOTtj ciVuLXV8PW4zJGdJNCtSeERQM3REbAp6YXtidDIyTHhmPno3YHFZQkZmVEI1 cihKayNHI0ZKPVc7fW48fi1rZUU7bEJ6QygpP0JvO1FrQUk1ZTFlJkUlKCgK eiVmNiN4IUBhN0RufHh9SzFUXnVYVmEoWVkpPiQ4a3ZpbUc1anFuZSUmXl90 bHVAe1BTa0EyeW5UUWM5emc/e3M+Cno8PWxfdXRLOFA3QE5EX2xHSmgjaXk4 UTM9UkBZRk1QSTItMXJgZThEaiFNKlFxMV4qaU5fPCNJa0Zxej9kQjw/WAp6 MERRI0oqemhYdyl0VXUtK00hZ341OHAkTmlgNSlYIzR7cCklIXYqa0BZUThs VTxTISZyNG9WX1FuRFokbXh8MWwKemlvYCF6K2BvNVNWYEYxfE8mRFd2Y1lA WjAoNjlrb1p8X205T0kjSTtsKGo7PUozbWpgcDZHSF8+NDA0LTQ4XldlCnpD R354U142UHNLM2xXKUgrNikheSVNRTFpXzx3OzFrcntGQ3chaUA4Y2F9SGhX dVVASXxIJXJkMzB6MjIpR0hvcQp6ZnlJcUpgWkpBaUArTjJGNGl0RW9UXjN3 RjtxdGJscyZUfFZCS0c3JW5yOVo3bzlqOXw/XkBMPVRXfUxYNFhuZUoKemtF UDRKLXdOPU1gKTVqTTtMIUo9OGZDcFlmJnBZMyEhZEZqSl9AdnNYbEtmNjxS fHRSQ2FVfj1CVngzMWtCI05xCnpVNXhrPWFrUWAkMShjWnVNXkJBPSZRSTQ5 eENDeH0kIyozYzJMVSpBUUU2PUclR09gNlkkbUBmQShsUCRlS1N7Iwp6KF9s SlcqNjluUUtBUiZ2QD5QKlRkS0ZLejRVYE4lbHlzQGU4fWV1enBGQG01PH5l fkV3bG1QdTh+MkpOZ1haZnMKejA5ISFOU3JITyF7UzdJblM9ZUFXeWxQQXg0 cU94dHdCJjJGbFFzX19jTT5QU3Q0fiFfenVfdU0rZ1NLI25NeXMwCnooUTJp YlUqYF5ZaVF3PndTVXd4TG58RDF8TUQ9Xk5tbTRKayRmVVJ8ektRRCFqZGB+ ITgoRnpSYmZWXkszJEB9bwp6XiQwIyZnKWRhazdxT0Z3UGt7QWg7Ny10RjtJ PXpmYXszQlRMMk54VV9lISRgSHhYMW5gJiU+cTNzZTIqMm54YE0Kem90KytX VDwlXmtLWWNnQy1yfXVFJkNgWSZGfVV2NF9iYUJQcy1JdmMqV2JPJlQ1MFN7 Nk4wc1ghdzt8eSVHNCoxCnpxYjlkMGpETnxVTnVxIWZpKU1PbTxTeUtVSiFS Y3BUfH1lZWcpZkVuSitBdEo4bkMqRVRVXzd2XmtxNTlrVkdaWAp6c3s4JHR3 WmlGYmdER0R6TE05UnlRU0hQTDZ+ay1TeV5eQ1MpKnEmZEtfMFRJVj1penN6 Kj8we1FMRUdLJloqeVoKel9GIU1EPXFGWihUbzdeYWNvPlBnKmZMY3MpS0Je I0pBdExTcTRndiZPRFBvSCVFIVhoKnxsNHBIZEE7QTBCNE5eCnpyJkZwYEJu IVlHUDIzMVRHciFAPXtgJD9HKWp4TkIwSjghSTkqdUEqOGJhXkdle2skbWAq QTx9cnZLZklFNDxAWgp6emlseHF0Qkd3RnI/LUpBNF9LaXl4QH1fWG5oTF9l IzF5PntOemh5VXk/aUo2VGV5eis+PENpalZzcyZ6JDEmdioKelI5K1k8ZnBw dEB2XmRSQl8qK2soX1l3NnhKezxZV0AldlBmdiotRmF0KEtQTm4xQX1Fbmxk N0E3akwqO2B9eVRRCnp0Q2BxYStzKnBySzVwe2VBMFdjVERUUz8kV2FWVF5M NzN2P3lDMVYtVj4wcXw5NnYzfSluSTdBUSQ0SjFaZj0lfQp6ZGozWXI9MC1B M0VFbmRnNCNjWGs4MjA+fmUtamF8YT8tbVByVHVHKChCUUBEeDtYRkN3ciUk KnFRU0sxMz80I1YKemZvMjZmJjtUQm91VG1DPTF2UlEpVXhNRlQpTUw3UWNS bEszV3hxZ01TaDQpWWx+YTVJeEVnfGdfb2NqS2tVVyg0CnpRPTV1R2xrR1ZC YyNKY3VQPzZ0KXQpRXl2Mj5TQkljbEBSfm93KDk9MT1jdWIje0tYS1NvdFlV PlVTKCtjNkpgUgp6X1M/dChHS31Oc085VGllPCs5ZGZUVG9gQHdmaz8lbU5e IWRSQmF9QGlzLTFRc0JuWkE1JXp+KER0dT5rTW53XmMKelVRIXxlQTBnYGM9 Jj4tenY5TzFjJVpwdik+PTxleytPXnx0cH5FUnFzJWg7JGZMYHs4TExrc2sz UUdwP0NZekttCnoyVXZMUGowKFJTSV8oUClpRm4+TlNHZ0w7MWB2d3p8TFRH X2BeLVlUcHV2OXAlZGZLNndkU1NXdG5NYz5HWHBOcAp6KzF4TU15YEoxbUJD SVo3Z153MVgyX3o3aVBeK29BcmlUKEFGNiNMOFoxRWdMMzYmdSh3eC1yVHhC Tj07bkhGPm8KeiF3dyp7P0JRUnM3fGVSaiZ6TXdWdDszUnFNV0JnRGJBfHYr azlfen0yKXVwPUxgX15SeDluX3x5SnMhKHg2SjJVCnp0RD53fV9rOHg+PVd6 UHstfHJCUUk4amxJcEEyYzJfT0I4JD94QCVXUzcyM3pidHJPSTBHJiVMRm4l MlhifmckRgp6XkB0UG5gYDBvKXU/YklpMEk+T1pYNHpoZDg7c0wqZWpnUzha eEZWcnpuN3dsMXNgflJ1OHdZP0NCdHtWaHg/M28KemJ5b1Z7bCZxMFlKVn4t aUl6bzsyY3FhZkNhZylXX2VwcGl+NzltTGZhRnBwQm15SE8memJzME1QU31M TyhHWHhyCnpBI2wqbDl7XkRFMlVIRmB3PytXPSNnZiUze3ZOIShqY1Q7b2R3 SlJ6QGs9RzJ1JGRKNmNVeVRqI18/YWskYjw9Zgp6anM7byM/MUZlcEZZeEh6 OUAtKWhPMjdaZXNKSn0+TW4rQkUoMTsoNmxVM01mKCNCRldZUztJfDFrO3lA JEsqe04KekUlc0g8Ql4yQ25wO2FRI2NZVG5Sez1LRWptYUZhVmVtYFJDYGJH e2RFfmQtR20pajJZNEZaekxAWGUxUVVkYH4qCnpYRj5HZHt1WjtzKUFZRkBF b0h8eStOcjIzTFpXeHBpN19laF58UihxdThlTFpJKyNqKkpnSzApV0tiXyNT NmZnRgp6R0tnJFV0Sn5jc0I1aFpMc3EwbEYqISpxMCZEcHxwUkhlUjs5UTNa VkJVVCpNcnpwMlJsY3ZZPEYwSEszdm1VRH4KemglMEc7dzx+Plp2QFp1MUxt eFZTUFZ4SilyaT9tWDFnITVBMW8/SUhDTytyZXtWdnNPZFlqWXh7ZzNrKSk9 bldSCnpEYnxPLVEqTmpDYDJpdH1MeXx6YVdPTyp8TzA2TyhmVzxqUWZ7bGxR RjAwIW9IJXREcSstOG10UztIQEtOM0BrSQp6KVZ1Yj0jPDBjM01tUVZ4NH5N anxvVUZxNG5NIVNEcEk2JFQofGk1YkUmSSokVUVEdWVDPlVTe3RMfHFHWEJx KDkKekgzJV8hSEp8eGY2dHtWPSFieHVBPGNgdiE0SCUtYlQyMjJxUWFxZk4m eCElKHtDMUR5aGNNKWszZlp0VWVxRmQ0CnpIKjB3dEEtbyRTNz9ESSZfVFI5 Xkw7PW5neWtHZGVMYjFyWUxucHA5fDlrS2F0eUNCNWNvUGpIPmk8U0JEe1d6 WAp6OTZVX3c8cS1OeHQ2WjNyYUJqJX4xKjhUNUckT3l4QVo0UTw4VUglQTxu cE81UT85U2REWEA4WVMlVHpoejVVU1EKeldlMVZeeGRGPSVkOX02bDNDa35J PWAmZENlJkhEK1Z0fWJKcHRoekVaYTg7KjVTeXdTQyshbigwdzlBWUY/RTJi CnpyVVclJnNKIXUxM0s3Tm9JbUJzPG4ycncwX0hjbT5sVU5qPm8pNmlia085 a0xfMkgmVEheJERYS1MpeT5CWHklPgp6IWExUmBIQTBFWGh2UmFSby1qYj85 N3RlSXo1PSlSVTBoPCo3UUFNYiViWkYxSERkbUY5emR8ej4pVCZ8cTx6PjUK ejJiKE5RK3xEQzV6aCMjeTMjWU5CbVJjTUBaKnl6aDB5MVlFIVp7NSszVmRf bXdvTGlfMn5kKFIjKWNUUVJNPFdrCnpBcE89NVI7Ni18JVB2T2dsOGllZkw2 RHBYdzREWE9INCV9SldVQWRSUFM4VXx1TmAheFc+X2hzMFVEPC1nZ0YyKgp6 QVlrZTEmUVFBQ1dJQVV5TiojekFFVzZMM3llQEt2YihKI29GcCUtSUhFe0I3 aXtGVFRfZXVoY1hhd29sTCshTUgKej9xMW9FdThUVVVzUndBdWVCSFRYZX1p cE9zQmspVFB2RyFhYEZ7M3luWGJ4I191fj4rdyNMYkhyIVFeNVVleUEqCnpR fi01e09ocEB3aWpnezFSTUUzYzxFZkJGUkkxTHR6c0pUdSh5ZTJRSl5PeWE/ ckdXYSp8Y3R2STlqaXZxVit2eAp6bjs0KD5qS1liQ1hTLWduSVFyMUxlREF6 VnplaDQ/S2ByYGMmNiFvTW1QanRwZn1ncj9ofSpVbks/bEMlTlNtJSYKej0o bVR1a29ucXRKZXl5JThkfThQb28/b1lZVlBfRllGOypNWUw1MDdSZHpRQ2o3 TmhROUxAMX1QfSpgYU47KVN6Cno5fSNPI3ZWRUBzOXYkeHxDbnB1bmBvcExW Q3VXaGRkNjI7VHNtcWEmb057MyR4YWUxUjVNMk9mPWxTX1U0Vmg+QAp6d2d2 bWEkaUk+RGJjVz42eEswUm1vWXNrKE9aaDtOYXImRVo8WnV8KTQtVVB7bXRI bkp0Jj9rSWlERHgoeG98e18KekU3PkRhekBqSyUzS2UxdFFiN2l0fDJ+RSU5 ZWRRWFRWcmo5czhEREo7aDMla3FaUW4yQyFKdH5IQHJTKWJ2alFhCnp7ZlUh cCg8TGp6a19JO0BiN0N2WkAhTVh3SWh8ZklwRT0/fHxBV0IkWUd1aV8xLTAq OGw4VG53QVJSe21rNldffQp6cklvS01aKks/fVMqSV4qaXorN3NaMTBTZXtz P2RNeGRaeVlTeiV6V0NrT3l0cFhANWBVLXo0UlV6TzF+Nm9iK2QKelMrbVFm VUotRnMrTzZ6VitPUlg9bVg3WjEpcyVRRUo0TShtNTVBaW8rPT5nb2srODR7 MiVwP1hfaSlmdUM7UCZ+Cno2PSVEbSEmVkNCPW1tZ088S35BJndMRF9HM2w7 PFpVelZWVFFtUDh5THJgQ1puMEpVN25rclUqYDFTeUFHV3RNeQp6LWNiV35L RFFFZCkxS2pyKWE0Qj0wb2hNS0YpeV5rJmplWCZoIXxaK3F1Ykgtcnt2K3Ri YyFlKVhNSmI2KD96IW0KeihmPTV+TSkkV1RxRTwrO3NeZlY0bWZ4dy14UTsr QmJSZ3lUe1c5Xjlqe09yKXVjOz4tenRke1JUY2FBbXBQUil5CnpqWDRee2Ao TEB3aWF8WWgkWGd4NzJ8QGI2OCZTcldaMUBSSSNRe15KazU5ZzFMeCprfTh7 eld+O2YrdEB4SnYjOwp6TzlqJSg2Z1hMU2IpdUI8QmZPX2I0amJgVEhtRHRZ Uz5ZI2hMaS1zNUdqclhDaDI9P2s8VFJmKmVmZSpLN2Qkck4KejdvN0lYbzd8 bzxeXjBoNlQyYWo5REdPY1Z0TzlTN0gwaiMwZjdAWSEwUzkwfVlSNk00MitH eyQ8eUJweG13fGwrCnokRn17UnYrNXIxY3U/R21nPGo3cV45LVVrWWBGN2Nr SzNFZUhHfnokYD5oYUwoJUF+NTtMMXwjdyFgQmRfcylVRwp6UkNlT1UoKDR3 MWxwQVl0aWV8YiFrKTRVPiNhKWVreF9+KjVfZklCRXYoNz9lWTw9YmpRNVYh cD8hKnQpNnQoJEUKenJGeX05VWk1OzNnMV5ePCV0MzRmcGI1eHJQTlZRKzRf PlV3M3FvZXlXIW8kaG9CdD8hPWt3V2ZycVIjTDR9VCg5CnpZNEl7X0BlLXMw eXp5JHwhb1g2aVEkT09qZ18lfDJOdF5IV0ZVRkxNNnJSPSQyLVUtV2NvV0dT SiZtdFghQzBhKQp6PCpXPy1GLU1VREdCb0FqbXA0NmAzK3xnIU5fbihmQl57 and5VCN5aU9CQSptZEJ5K3U1dT8/QnQ+LTlsdDlWQE4KekB0VWkqOHVtTkg2 X2hEdV4yQ0FOYyVifnoyUi04LT1XPXlqJSMoLVJWK3E9WGJkcyhRRTtxaGcr Rnc4M05KVStUCnpETjIxUC1eR2xIcHJEfHtKeEtnblZ7KnAmb18mTz5ATDUr cUpWb2U4dH4wM3Zwc3pzbmlGQERQbzl5KiZrVjA3Rgp6T3FjX1g0aGA7Sj5v ekJ2ZTU/RV9BakF5Y0leKn1ELXoha1FmbUFKdylmPDdKKlQ9ZVNJUTJiKXJI aUhJby14I2oKej05QUp8VkswN285UkF6N1F7LWcmdldCLUkmUGF5cCYpYDl8 JUZXRElUQEA+PUFZVyZtNk1YZiNXN1lRVzJ8YkpiCno3P0pBYXpEek01RGRG fTBQKGMpM2hwdWIpU1EzaXlyRHxtYntsQHRzYlpjNnMhfSl+PztWV0c+QElR YXB3d0U5Zgp6KXpyUTt7U044fD5XN1JLbXVyMj5BTWNOMUhyLUFiWmFYOEJF dygybiExMz1VSCphIzxeRERsRFFCNFFuWSVgZGUKeks9Q0N0QTZCZWFTfEwz WjhBR05MbEdKYC13aHdWWGB5NFpKKkNVM3lsJmZreUUqPnNXS3JTIXZRYjxD dD9QR3c+CnpwWHJnbl5TVG1KZkVvJSklQ2BYJHVeV1lPbGtPaF8kMmpGZ1Ep Mm5rTkp0TSViZiQ0K0M3Pz94SGp1YXlHalF7ZAp6bjRreSg/THtuU1FoKGMr Mj5ua21ue2pgYj1vcl5uMVB1TUtlMGFTcjNUIV9SeTF3bnkkZWNTQShPJnMr ek1zYE8KemNCLWxEZ2Z1MTRMKW5EOGFtTVM/dHVeYnhkP0cqe2w1Nk55TUZr TmtGUWA+MVpYb0JsYmE4aVk+TSlnJks+e0VBCnozPCs1VzE0PEtkTjQ8SmNL UHo9Nyo0UnMkIVVxWUplSjk0d0Rxa3BSaXRxP3lDb1Q9R2JzKHh8IShCOF9J dyYhNgp6RlEjN3A1THlHI2BgRWp0azI5TDZyRW9AJHsrR2stMXpxazNVVjZS OHpYNjtGR3lrNFJaJUdJVGdsSVItJipaKFYKenBtQHBtOz5xdCglMmA9X0Az bFRTdXY4NDxgNV5CKVAqVUZnIVVFYCtWQG5gdUA9fDdjQ0xReHw/Pyl3PVhF enJsCnpgbDApfVJOYF57eTJLTVlPdSZqPF9acTdoUzBPNSV2dWREZG0/Q256 Tl5ZMylRJGo5UzNhKjErYTwyWi1AMU9newp6ejloV1d2PjVOSUZgSmkrYHxp M1dLSmE/JGtUe2ZtKW9ocio9SSRRaDtOYGEjZ29LeUZyR3ZHNT1LOVIkPzlK Mm8KelJFZ355RD5FRUhWQV4lIUVINlF1TzhUcE1zdSl7d3dacHZ0TU03VTsp KW96NlIjXzBDQHUqKTNRTz08R0s4IXFECnphNjlNUzVzRko8M2teayQzfSQm dWBvPVdEKjVifEdmMm9FPilsZSVgU1IhVzwwbmdVcT4+NWpIXytJSWt1TTUh Tgp6JndWdWlGTmU0fVRkQjQhdDZRJSotQjdHQE0yMTA7VFBJQGArcVdPQCQ+ MXxqRylHcz5xKXdAKzBxc3FJUn1ReW8KemNvP0M8WGYjc2xwbmtEVCR9Nz1K ajxWWDgkOCNQM2dTfWZiPEtaQ2xAS1o2XmB+eTU4O0A/RklvQDJDP2IlJmM2 Cnp5ZVRTVClMJnxqNkw0ZVdvdzF6bHJmWHZ4alBjMVowVm41ckZzaiFJX2Rw QmYqfnE2OFJnZj9GV2owI2EoQGw7fAp6cEtObW9DcTxgZS0xeURXOWxiO25w Ykd8YzRqckR2cHBRWkI+KmRpVCFeO3RhV1VQdV5JN1JFV0xlSihAWmQqTEUK elJhTTZpal4xYDJxQEJLUmhpRlpXZ0ZIYW5fUztMYzw4S0dnNT1wS1F6Z3gw O2wtU0p4IWpKdVBAU1YrMChzJFlUCnowTUx+aS0waG9DI0cwfWswRTRvcGkt eTtVYkdBR3JjLSVsTy04ZGFrTDVhYFY8NSVLR0w4Qmh+QzUyNGdkPFhpWgp6 RF9QZCo/ZDc/bjBZPng3PzdLY3Z0JnJyOSluU0VUMTh6OEhydkdkbFdqRSg3 WXRQbV9HbkhCTlZxPlFVUTs8UkoKejd2emhWXiFRfmxpKFFZZSZMXj04TldC blJ5ZzJ4JShZKklmejBOaSVDSTF6Kjk7QmBnO3ZqPzNebUhSQ1M2VWNMCnp6 MyY2eDFnNUMwPXtNYn05JCNsfWdyNkt6TnYxKSVYZnE9NSQyfFIzSyslS1NY Uzk2TTZmdlQhOCQ3Jlk5NU8mSgp6KzV7eihvZVl7Oz5ycTRwX3EmSlhMWWo1 T0NVXll6O2N6Q2E5cyRxUjxUUGRjZiQmKF93ajUoT1N1JCErMzFYMGgKelNy YGpNbG83O2gjLTtXMHdJU18wKk42NWxFe3IjUGU/ViVCbGV8NCM3dXJYRU1a QSYyajlqR1NPRT5uKCtIZDRHCnpMZSRWO254KSRgVjk+emZzdFJTMERCI185 ITxFaCZjazBMJTNtVjAqSGVwQU08KXA3c1QqS0pDSExtRiF0KDBLcQp6Z01o QXZifDlXekJkV19hKGdyUkRscSl8JTltZnlHM1JTd1Y0dU9mZzZqPT13Iyky fHlCMEJ4Rz8lQFEtaT07RCYKel84KFd3N2ZnQjJ0V29QSlJzQD5FdWFQRVh6 VW54RmB6eDdSKno8MSZsYj9yRlBuJktPXmIjfmNUWTswKm4mU3JQCnp4a3hr VyY7TWJQPU8zI1RLNmlZQHRvTjM3YFpuSFZhZ0ItSlg8UjkmdElfV1E5bH5o UTFecj9+JEtXUUpDU3E7Owp6LTBySyFGeTB1T28jWVcoNSt7dWxQbUJ7ZFkr YVI5TDVDUy0oO3VMPjA1XkRNeFZTIVRVWCRENHs/c1prQlVsZjkKemMlJHEm ITkoXmwzYCpoa2NgUVQ8NUN0MSlGZmgjLXZNSk5IZE98MmNZPFJwcjVVbiRp cTtiRjRWdGpUUyN7e2VZCnpFMmRrMzc3eWlQZCh4VEI+cVVWYDdqfj5rI1pJ VTZgZ29eUz9wcmIlUU5VTyYtM0lfQTIwSzxQQjhQRlNQeHQ7eQp6cldsTUQp OHAhaSMyLTQkJFZPc0g7RWZ8I0ZLTWFvbjVIZjM+d3ZWfiFMeG56JFFmbjAm N15pJWB2RjV9dDVTdFkKemFVbTd+fEFya3JXUnpnaSFvai15bTAycUokYj9D Y1QrUTJqeFdtZE1mZmBLfEReRztHdnxoQzI8S0ZyQ2BFJXlWCnpHN2Bgbjl3 QFdANSNpRWtpdGFpSjsobHlDNyRGIURLTjhaK3Y1P1NvLTk8VD5rPndWVFhu SGZObnc/b3hQP2N9ZQp6SzAxP303Znx5P3g8QXpKaXJpJl5gM0lHPEchYjco MTtvKW1MITBxTT00aUhVezIxRG5xOF9AfmVrNlBKZzQ/LTwKektmI1pqOWlX OV49USNTb0Q7RlFCUGE3KkMoOzB1KVRHVmJELVRqKip7M2QyUj5wZFE4WTQ5 KkMmWT9aZntxYHZqCnpUfCZlJFhBaXJwU1A5aCNEYGJNeDx1V2lNQVg3KnR2 fnBKOyRpWCVgUzdYMSFHOCE5O1B5U2x1ZUFWI1FnI3B9PAp6QU1pOER8QTUk Q2lOcGtoYnkhTXJoXz0ldW52RVhgbDxlO0V8NHUjakZaPHhaTkpKQT9QOWd0 SCg+ZVR5Mll3QSEKemlYe3ozcmkhfmpTODh2U3tjc0JTelBGTj96WENyemU4 b1hmUit+P0Zjci1VWiZ+Q3xjSmNkYUhmKXwmI1l2TypECnpzaTY2TlQ4Zk5Q cyZ8ZWQtMSNjSCluaVVgLTJsTSM3YHhgKjExcVQ5TmY1YFEjezRaYWNEaH03 OGxuVDV6WEx1fgp6bHRIZHUqeEFpcndKMDBrJWRvWWM2fXhFYCsqRlZ8a2tw cHdSd04hVVY1ZjRfKmtwP3hDQzM/Tzw0Snd0Sz1GdFQKekEmfElFckhWK1ZI TzVIZz8kd2hzQk5nTjUzPzlsdC1IQTxXZTA/WTczUDhwM3p8OVNeQzczZi0j eEpDR1AoemxwCnpDPyp5P1YlTGk7KzF5X28kK1o5c3kzTiMwezUheD1FKlg5 NWMpc3VXSFJWeDxFYlRicjd4KThqKklifDE7ZW5LWgp6MHNzZjloRXQmQVct MFFkVXNWWGVeYSFGJm15b3UlTXcwbEM9RU1SQHFiVmUtZFVncXhyUn1wUCk3 WCF4e0JSKXwKemtoS210TnpzTDJrKmZYRz5XS1B8emctVm8mazZkNFVpaWBj Xno4KlFJTGFQcWMpUHI4d0N6KHtMXk9jdnZETzdkCnpoNEApIykqJkdhSFpm TEFpN1FPYHpLYmpFM1dxYGw4M1FVZFpaPWlmPH51OCRSZigkZW92dU8oPVRm UkU0XkctMAp6ZU0jcHFRRHozMkJVdjdpdzBzblg2eHo3dDMwPEdkcDlse3N1 eGkzeyhvQSNYMU1uWFpEMSgtZmZ8ajdHOGkweFYKej1mWCs7MGUjKSY5X3dO UiE0bklyI1JRKWpoa3RPYjMjTlU0QGEpRVo1ajhOR3AwWVZrQyMjektEYCRN UE4/fUN3CnprQ18jVCRqQzs/aUxVfHk0SW9Kcjt8NVJ+d1F3RGpyKXxJe0hW IXZCWjw1e1NteCt4YDRTKkNmVTIkS0pgWDNZOwp6e3ZPfHh0M2BLPTwjU2NM Km4hZWFkNjFNYFRGPmdNOTJlYkpWY3VWbkAwdV8ke2JfN31WZCh7SkpafGs2 NldkNk0KemBRfVUxIWcmbWVTYnAmeGA/PVBVeno8Q3g7KUYrb2MmUn1DUDV4 UUV4QktKYipvRC15SmtYZGxtJG5sQz91V2RLCnpZenl1KFA8VHg9QHtSbygy ZEdCZF9oLSRkRG5yKkFCJEp2bWBBTipKOz13Wll6KTQ7NWxVVExSLUM/cGJX aEo1Ywp6YnQ3O34wczdKRDs2ZDxNKnYtZiMhI3Y2bmZMM08wVCE2QFYlOzVm U0ZpJTk2PFVRUCFKMkYjV3B9Um57SmZPLVMKemtVeX5mRGlkYW1Ba3xQb0Yp V2A4SCt9bDdfPnBtez44KiRhajN8Sn0+NGVYZnY/fHlWSWtPU1V8Nnh+PVo5 QnhfCnpXRmtAU1JmPkN9Q2hVWE84aEhFeVJxZyUpbVM5I2FaISt7ajgmbUtH LUxLLWE+P3ZDIWpsa3w4TFpRUER4V3lVSAp6OFVrNGY2S2Q7THJIXmllYUlA NShYXkp6NzV7LWhBN3lYMy13ZHlUNjJtSDA+REIreHwxKz9Dak0tUkFwayla JH0KemxRP3w3RCZ7Q3BQJklyYXgtQVZ5TT4kRjArLWE8OWFjbE1tQGdUSmBN UW41aHhpNk5+JHFlRTJiPl95ISlzMnJuCnpvN3tfJjYhRDJVd29Pa1B2MkBG M0VyV05LVDY8TWU0WmwpKCV9I31TUl47dWVQOHdDNDZhZm99RSgxSXBvVnI1 TQp6YTZoT0I2dGNIeXtpdWU1czwyaHZRUz5TJntiNmBBZzlhZ3pjNWUhKEQz TGU9bFdRI0w0ekImbmFlVGpySWU0JVcKelVndlg8d29BcnpxJX1GbzhAaGBE bnFoZVZZd2Mqd3o+MEc+VCNFP0BWTHF5eGElMDV+JnhuRDRlfllfIXl4cXJy CnpUfDJkQGt8MVVWWkNtOVdVZkMzeXNEckgpZ3N+VEd3OFQ5QG0rcCNraylW JEdJQ016fjJeSThnVFZzLWFUYE48dQp6QHVJYylBK21NXlcmKWRgO3ZqKSFx QDZZbC00biNqdzVzUSg9M1N+dzl6XzM0KSNSYyVyfiokPEp8emVFU3Aqa0cK ejFDMiVNNlp1UG5Gbz1tMihYbmliMzYqc3hxOSN4VlZSekIwQGtxKjE3KT47 YDMlMVEye2M8UXJUfVYqMkgyNkttCnp0e2wxK09CUnNSMGkhXnR5TkNtd08+ XkRpbHJAd3FmQ3FMYE1WeTNlZG1kKElBX0s+LW1tJlg2TlJYLW9nVE5HYgp6 R0R9WjRweHYlb3NJWGpwTl5UaTx4QDhfT2tjeT1hencoKmQ3OUd7VmlqNGN+ aH0xaUJYND0kPzV3e1JZZVdBTEEKenQzWWx0PWclcStNVkwyeCRUWXJzSU1Y TCV1JG0qQzN7WDxZOFV3R2BDdmxVQCpBR1R9N1h3b0AhXzQrN2J5Z01WCno+ cDJjY0tIbWdlXlp4eUFRKHh8JW5aYHk8RHAjVVJMOXlDJl5wPFVmX1dBcD92 Z3M3Vjlac1lvQmhHKHZjYUd+Mgp6JDd0aFkkMzl+OzU7UDx2cjBKN0BvODRA Mk0yRkleZWRZUk00VjU7MWNAanwxLWAoK3UpSCp9Nlk3UjB3X3lFTEAKeikp KjR7OStsLUI/c2N4NSg/bGBTS0t+SzBtSTU/bnVpQVp3WFZfeWNnQ0liU0lY d316TVM8U1NVZyZ4aUxQSTI5CnpjUkYrd2pWPlQjZURjYXRtZkdefW1veCY4 Zk5AWXBjRzdzUFN6S2pMPHxqV31KXjBMZiElIUBIOTBoXiM+bmpmOQp6JSM0 MXFHejJXREA/VHBhOGh7LTxmM0IqIWBIaD0pNnJ0b0AzJDxrMjwpIW1BRmFQ Ml5JKyhRfXIzeT1UMGVHPGAKejI7MClGc2Z8MT9laklTdXVWKWhud0AlYXw9 MGhhQzE4Ul8oQTMwfX09U21RPy1hMiV3Z1AlJlgxWmU8Vk96KHtICnpHZXNi MFBueT9oP0wqb3B3O3oqWns2WXo1eEBINHt4WkR1I3g+d0xnRnFrYTZJUUlN QlhDSlZAMmUmWEhTbkk7Swp6SU08aXI4LXZROzsxeW1LSSNnYlQwdFoyMD5q VTZFaTlHS2pfKzM5fG4yb0xiYEY8JGZ0Yk9VTVYqRk5KckRIZm4Kel5HdlZi OyVlditEaldNQCVqVEkzQ2xZMzZ4PXhDVGZuKnYmWUh8QHdiQHhFYUtmWHdZ b0VAIT1xUFItfWpFa3ZfCnppeDZ1KTFsfHBeaDI+TipnYnJoZzZBOTJScGhn cVIlVVRkP1FeMFhYe0xzaFYtZFYpZSE7RDJAQ3xAVUcpNHNyRQp6ZChWbEtl Zld7RFp7c19JKz54UUUyIX5uUCQrVTV0NWhqNDNSRVglYXFTbzFuKlRITWd7 O2o1RF5ZaF9XV2A/ckIKemRyTnU3IW4+Ryh1Yk5Yam9FZmd3MGlvUlVBSEk7 Z1IrSTBPZjw9SU49WlMjKnQ4cUZoMXpyflQtTUp6JT0kK1Q5CnpoIUd+KCNw UWEkeEt3MDlXcD9mNUI+SDNTQ1dkbnk9bCNifjxVY0Q9K2lHVkchK3xRUlBv OUp4aXB5alRaKGQ3Pgp6bVg4UD9IaG9Rd3pPQ3pAYzRuOEsyKzA5KkAjNVY2 cW96dFBYaFp5KlZkR3xGb3t8NnczNWgteTRDcjtYOzZ5YU0Kek9fcmo3SkAt QXVRLXJTMHw1ZSR4X2ZwaXRCeGI7K29CSnN7RG4kKEthPjZBd0JEU0FqMmh9 RyYhZmhPT3gpQF9xCnpDKzQ4KXl3SThgeCF5Pnh5REl7JD9hPU11Mlpqejth alQ5SW5VU0cjVH5sWEB4TmF6PUB8KzhpbHNnfDMxUnU5Qwp6dipXVnlAJXtK I2hqMnw1KCplQW8+P0hHbm92U1FfOWR6SThAT2NvXzl4VC0rNlMtK2FCayNO ak1ve0ZrRFchK0UKektkQDFFcUA3e1RraU5GamZKd3RfaT5PSF9SMStqblZL fWB4S1BtTVU4JWFgQUNjcHFsMT5WcG4+RERwIzl7VWR6CnohUyVoQ1p9Vkk4 KDBNOFYkcXhRUV9HSVpDaFhIWSFIYGcqby00ZHBVdGYoTTIlPzAoWV9rem01 O1RTUEpRZEI+JQp6a1o5aHdzP2ZXbTVwUiQrZEtXWUMzNERGbUFNcHJxSzRM fCtkanVuJjhzIypyKjR2PVlMdFhDa1hfWVgwQWZRWHsKenI1Y1RacUt2ZmVU QTs/byg+T0pxO3xSNUd7RXg4fm9wb0lkdipFWHpWbjwzRkA5Tz85VSpCQ2Y9 KDg4NiV0UiNKCnotfGtLND8keDhFLWtFcUk0VFAhJCptP0hQYFp7Jk9fIWdx RVN6alcmc2lAYXU+XmRZZWQ/Y2B+cVJDeTs1NTRUfQp6ZnhwVEVhKj90dHpo Nz4tbGl7SncwQ1MhQ257MHdreVEwfiNkUT1aMGNRTUFycWJzc2whI0k5ZiZm RFB6T2JgMHEKemdVaiV0RVpuUG9mMDN0Tjk1fUxTdzBpX3RUNHh1WjQ2YGlh Tj1LRiRlYVAtYCpaayQpcWxEKnJ0K0xFajhvN2wpCnpDO2skUkFIdGNXNUtk M3tiKShKalQkTTZiJG5lXyV4MU47UmZqVyZeP3VWZ2xKbzIjaD00d1o/fEot JjVkKHxPLQp6YDxgdn4/cTFvQnE+UVVLN2gxak8lRnpGamsoMlZVRmRvSmFR JnUjfStqK050KWVLZ0tVe3dxLSl3UUd+MkpCOTkKeiNtJE1gNElUQ1VyRkAm VUtrN2Z4bzw/Uzt6XjNGSitSJUhjR3IxQWpKTF9QSjFteCFCKnxecTF3QkJB T29wWUQxCnp6UCFBNjZAcG9MSCU4SChgbVM5KVZURH1zbzJvYnJfWnZKNjx9 KUFwdnBMN244dGJxSS1UbV84QT5wISFQV2hiaAp6UzJCYSEtQGc8Z00wWWAz ZjItXjhqU25lMTY4RldKMiNCJE9tXzhVIz8yKk94YDJKK34+fE9RK3ZTZyM9 M3o3V00KemYkRUBqVThZMWJKQm1sZyt3cTs7TGVMSyk2eE18PG8jLW5PSkd2 ZSZPUT5GSFlxS3t8JE9Ac2xvQ3I0T0FfTTAkCnokODs1SklaIXNhNGpsUnBn ISEtfjBNNk80dEk9WVhTZl89TzllVnRiRCpsbXkjQiheUVN+TXE2N0BBP0dI Zz5Ofgp6b3s9Umg+SFY5PG93VjxgMD98Y0xWbmYmK1I2SjMzJSshJnxnPWNN MSh6U1lPZ2ojUVdXWUYqQmh3JHBpMENhVU0KemckOGwwYW55PkA4S1JKaGt5 XzhLOT9lTytkbzF9U3NnWHxDVVZVNXN3c1d0aWRpZTN6LSFVfTBWJEB7UD9z aCpxCnp5PXpVQWJnRmxKclBNdFR3TlFENVBme3dmR3RyUm9NckR8aWBCZDdK NFVmcWNzRyVeJnd2S3pEZH5HQHFvbTVEKgp6MGhucDJSRCVXY1RxPTJTbTtT Yz1OeXhCSlk8PE9oLUlKSVNUaEYxQnYmUytUUzRRLSolaXgycGNZenlIcn5+ azYKektKUSMwejgyOG9ZaWhRMUY9YX09ViQ7XnNkM1l8dzA+QmkmNF5uWD9S dWd9PW1Ie19uZEFOaVhMKn5ZVT9nTjIkCnp3Qz5sXnkqU0wrK081R1hqYWRK PVlgK0I2I3wkV3ZISStgcypwRFBQc00oTWdgZjArOUFgJnBlTldxOzsjY1Eo KQp6NkVgSnkyQjZDfTByblR1akcrOUIqKnkzfnRFT1dwQDY7RmZBPUNYSCNZ Mj51KXVeP2lpQWoySyV4cCslQkNZKDYKekw+Tz02YHpKaFIjLVpOdVNUZ0dp eHdkcXdqQHNXN1ZHPSlvKUI/KFVJbUB6RVVFc1FTSHV6JGVIM2lkYyVQRHMp CnokfGstUFp2NyQoYEh2VjxlViZiJkBfX2otMng/VlVUOD5FYlhmdV9wMzZ0 STlLKXYrRmZYVXl6WXEyeT9ZV0UmVwp6YDR2JUBebEcpfHtyQTxTTUZ1WVlr MFlEUFh9KkxDdzE5Y3x6a3xLOVgjMUBTMkYkbDRjVishfkhndV9zMG0oREoK ejN3T0QzOHRMN2hpMFlOezZMTHtrOG5xNU0xPDBhfVVlTWFGeXFSTjs4R1g7 MnY0fGdrbXpWVUhYUyNBJTROfndTCnpVMlU2e1d1PUBXMUhvLTJmJWVkdWR5 JHl2e0RAQns3KyU3e01YV2hWckh7SGJUcDtfdEFEZXZDKT0yUTdFI1cwIQp6 P24xX1NVeUpZR2psTlgtP0pqZ314cCk3NVQ8JjM2KCp8TEArdT81akk/VyFe KTVOakV5RiFMIzFmRnhVPH1yfE0KenpEfm5mNX50VDs9QiM9QEJ7QGk+VTQ9 eGVEdHYzaDJReXJRLWBlR0gwXjtMX0kldkZYaVItNSMrSSpXKyh9TmZ+CnpG Q1JAV211YkwzJTFCVmFiVlhOeVQlS0NQJDQ7P05wQVY5PFhAeTFxVSMrekA+ SyZTWWh8PzY3QmAhPVZOYzB7Tgp6ez9QcWRXKj1yLWlmTVQpSFI7UGVHM30z ezlLSyt+P2MpJW1WV1Z7bTM9VTQ+QF5Uakd2SH01K3Z5bUhzRENSZVEKelVQ UiFwajl0IX5GZ2F0c0UkUldZI2o5bj5oNE5FezdzNX1HMkN7Q1hfVW87MnxK ZHc5Pz42d18oPTwzRk5RfWV5CnpRcmJrK2lAMEFhQylyQzFmWj5ZT3E2RHZq dTQ3fVErZFJKYVItNSpMWWw2I1YydWVlLURiSCRhMVdOfkppYmh7agp6Vj09 VCM3NHZvK0l6UHFXZFhBfFhCIzNgU1UocC0kPSZhbiomazA3aXc4TWVmdUx8 PiMoYE1eM2NRMnxGSzhXYUAKejY5T15GcGxIVHpyTGBXKS0lNkl6RUZkRWsx SitGKiFVKFEjLWopdEhGYkQze3FybENJSnBBSS0pQ2MyMkJhKjYxCnpjTkct V2lWaFUtX0ZAUi03K3EpYnlZRm8xd0spcWMoUVY0ZTA1dzJIV2RUbnlzek5z YSpZNSsoaEI8fGome3ZDQgp6bTtTcGp4MyNwTnhzKiM8bjdIcGRDQFN7bSF0 fjJBMWY+aCs+cTFRYDd7M194WmZrbT0qcnM0JUMlPGNGZGw9TXYKelFMc0pk MkwyM3EqezRYP2I1bCZLOFI7TUllNmV2QWFZc25xUmBPXnB7MXJLZjxqISRF YlpKLSRxYGR9YntiVio8CnptYTc9dXdeOVhlYipoYGJLNEdDJl9LLTJeYnJB JmJ2dH4mVnlhbHRycUhMenBZS2NTPmRDMzdQS009cyg5P19QZQp6eUk1P2Zl fXhGK0ZkfnxENStZPXsyPHZ2SnI/KilQYHNOeGJAdHcqeF5QK1dvUEtaRShU RUN+aGY5V29gWEFHK3kKektlVVNOLVVJI0QxX0lvUFZEaT5zcWwzQCM0PGhw Pk59NSM9enNZKi1lbE4hVVpTezB9PnBXJG9NTCFfYSZeRkFwCnokfShvfEYw KF9fUEprZiF1YStBS0tBM0lkZVN6UzJLY19lMzBxXmYrUyl3U3l2O2E3VENR SyRldj05PjE7ViFFagp6ezFrME97KjI/TjllPGNnYEotbFU7Zks+cm1HN1J+ MkhDVE4qdC0lJXs9MGwha0d+cVYoPzUrI0FfKHNMSyNkJikKelNJdyVZYGx+ Kzdfa249KVR2ViFrPE5ANFhWbHlubDxoQjRlUCY2NX0oNzsrSWNCZjBuPStx SXRFTCgmbyh5bG1iCnp4M3otdHNDTV9peDI1eFVPI1lvblU2e2sqJDMpKz94 PWJ3b3JUM3QzPHBgfC17RnlLZ2koVmcyMnooNipzYWMhcAp6dlMkdjRBVkRZ ODV4PWJ1emtKRXxGVSpHN2x6NnpuVVYkKFZ2dWY/eWBTYXNrTXNOKHRZM1RN fDYrPjl9UUtMT2AKej1uQF9tRG5tU1Rne2h9JTJVc2dzcUlWeyM+dkwhSFAh PkJBKGBifEJKamdmfU8qe3dreGZneEN7fCtLQz5EcUFkCno1eDdxZWY2ejgl e01ER0lWcUAqTz8peTMoJW91Jn5ZQUZvQmpUQXw1JTYyYkRYbz1yWnAxNWhY M1EoZ0VBTVNKVAp6ezs9KUVOZHBtS2F1O2QyNWhaNShOQWpNI2klO2QtbWlH cjduciMhV3RDP2l8eDgkSXlfeFNiO1ZMZXtOWUg0M1AKekZgO0Z1c2wjMWhM OUJvOComQk5HPD9nTTdqRSVrZ184Pm9mMiFjc1J5cVI7NTdwfUt1YHoxZkMp Tnd0KXlDOXp+CnpYNGhNKXBpXzM4amNPKkZ5KXI3eVY3dlBnP2xqQzw1dmFV bHkqUVc0IXkrT1YlLUh3SkxmYWxOXnhhdiR3PEUzPgp6PHZ5dV9BT288b0Rm b0AhPlUob0B8OG9pVSF8YT1fJmllOD5kIVduRnh+amZ0NzFEOWkxSmdeKGR3 b3hoY0pqQ3wKekY5Wiktd154XmhsZDA1WUFuRnJPZmhUaDtnUkVFOTNUYn1W KSMoVkdAfGdkJmtiYjZOenZBOz5UR1dZdk9OJndkCnpQT1NmJnN+NDJhZDlY WiQhPDdHe0ExP1JIMzBCTHpOdj59fD1vXzk3UkdQdDYwYmY1PCZuJGo7S2gz O19ta1N0Uwp6K0FHc3RebT19ekg5TUQwNSojWDBlPD1jRDBLQHMzK0Y1amNl JTYrOD0pP3ZmZGY5Vns5VHh4UEpXbG9BcVpAPnsKekE9K09BSDxzaWMwSHcw R2VaaGxDZ1BpTnJ0d3IpMldQSEMrPCs5bCo1NWtxaDd5b3RqO1ZZUG5LRVcz U2JaJDNBCnp0cWZiLXpGUDdpNDUlQTFpQWxmU3RsKTdgcHZHK3hBbEErTlN2 c1hKS1h+UTRYPHVyWUd4MVYjYWlfPHI7IWNhbAp6QHlnTHtAUHNefWMhV1lz e1J5a2tHbiVRczw7eiQ4IzZ8JWJwWURXflV8YjZURiRoTS0qcGx+IzRoZkEp YDExaCoKejQ1ZD49R0VeUCsqJlBuMzBFTzRPe2JNWFRxcTVaIWY/UHwmSkJH YVAlKyRyfUVKcGJCSE5sRmQmZ0tSNm9ENmNaCnp7KThiI3RkQFIrM0NZKXp0 UiFUVnkzQFZeZ3EwbHZFPmVxOXMjWCZmTj1gZTs2UV5DRE8tY05IY2RGYHMw dHx2Zwp6aWA8UEVUNyNzdVAjZGdpQ25vbTcqS1MtaCNMdyotJitZb2Itd047 bFpUWUJRXnR3KjhJdCpAZG5vZ3VNJUtAOyQKej5aYDFqaXpIZlI8dCR9QzNw dk5jeEAteXh8N1JIYz81VWVVY1YocW1hbX0zdl9rPi00d3FZVT9GbGBNcStv dV5ZCnpDeUUmSTx5K01lMUF3JlpxcFV9OWJjTD9vJV5adSZeQyplQWJZeyV1 SFQ7UD91b3lkPG4yY3VFV3owPitpbyQ9SAp6QSQrK2BTI3gjZmVXOVlNVDZA VT9tcj9uNUN8KztseEA1S2VyTSZ4UjM9b0kxPDBQWXxLTkV8X05ZI289Vn0j JHIKeiEoMCpvVkExVThYTEZvcSNrViNlWTRXVlBCIV5KdjtVbVNKSHkyVVRy UDUhZ0pmTGxCSUhZWHAoTjI5U0tuJEV3Cnplc1lBQXRXfl9CNUA+Jml4N0pZ OFAjWXFzVHp9TUw1bGdyfSFYIV8zRyUzQlFIXyFaWlQyMWkjVWYpSiZPZWc3 cwp6VTJhR2okSGRSJSFhZ1BWbGd+Vm53c3x0JlpMPUU+Xi0wSUBjIWd4SGQk PiRkRl9xTTBRYTdrJG5NQDRxSUpkJmAKei00I0V2ZXJTTTloUVpeVEB2ZGtP JE45RSp5NTBlNG98djZwND1hMiphNzBpdCNhdjQ/NEc2Ukp4fC1VOyo7QkIw CnpMeyMwR0RGSlcrdEB2N3ZsVCNqU2tQJWYjKiFFc3xXUGFhJVg5UWdOeUJJ eCklak1VJiQzblZjSk92LWMjaSpeUAp6Ul95dXg3RUkxRyVzUWVXdXJ+XkpC UmB0UHpSeX0mWDEkTDxOS01qTU5HIzkkbSRVP0ozaHxAdi0qbnRrcyl+bTgK el5nIWRESzVfVlFsTmowckx2ajd2TTlMKCtMfi1iNVgwb1VqZFVBUSlgNnY2 YWQhLWRkXnheTUtTLVhCKnkte19KCnpPPyRqPj9lJiZCWWdyfn4ldEBWS2JQ PG9vcTRVWXxze1ktViNORCVKezNndTxxc0VfYDYkclp2dXRgaV8+bWlUYQp6 SDRDPUglQip4OW5fZjcyTUtwOUlKWGNybD5vST5KJH1rV3JqMThweXNgeHNs ciUmbGBiO201dHRTS1JwSHo5Q0gKeiNOa199MUViI1NTfHtmd0lDbzFJSlFJ S1k4TDw3ekk5WntEdFYtOGZRfCR+PTlBfVR4dm9TUCMyTiF9c1o7VmRGCnpw ZzJCXjglNX53QGBFWHYoTSptI1Bud3V8eWNLV2FSeV9IY1RENUtYYig3PXEy bTBOU1UmcUFFe3lBIUBzXykkPQp6aytacSlgXyRNdXkoKVhrK0cob140Tl8w QTU/TWNUdzJRaCROdEo/TUEzPX1XNFdga0BrN1F9aT87cTxMVXE8Jk8Kektn KjAkUEpEeT0lSDRvNWpJUElYQCNRLXllISFtaGNHOWhpNGQtM31WI3s4UyVQ cDk7Yk1ydH5Ccn5OWlUqN0RKCno3aEY9b2R5JjxuOXZVSmwjfWdJOWlsa3NQ V3FkQmkqKmJNUUY/SUhKVWJrc2whbGVIK0UpO1NFIStXTGV2RXImNAp6TTFl OypyTnFNcWw9STh9MDBYcG4hSzI7aTM2RF9Acn4zJUxBI1FXeXV6bEUwY2VF N0hZVEJMQFZ4dzFyS3FEX28KekFFPWd5OzUhXkZkcDc2RFctJiY+ez1fKW1y Wjd6PFBkQTVaUGhSbnowKkdwLVlOV3dobnJSWjZkU2BtM2JnUXBWCnpwY3Aw IURaP0d3WShVfWdXQi1BKzloPlBKMWZ3Jj0wbSZHbDdYYUdkJEV5ZF8zI1J7 KWdxUHA1e2hSeWU7MX57OQp6VyZMIzErRSFNWVY/RDZtIWBVeE0tI1psYldu fDB3cTVhfUh0I2IhQEA2eWlfb21CPDEkPlRieUEhZEgoPGNOIz0KektZQFZa Q1pEOWZseGcwcVd4TjVQQHZsNyopfSQ0RXBAbClNeXNQMDVgWTtZUl8zd1Np UXdIMUwlOWJtPldlbiZNCnp4IXlMcHJIIUY4TW5IWD5YZFlAS0tiI1BJeWB9 ezxgQS10STlRflpVUEwmNk55eE08Km9FbSp+OGVMQ1ltZClTUQp6X0B0PmJp bjd0VitSIzdCT293N0ZxaTVvXiErbUNtcXJMYWdfITZ0bzh5MjxiRTg4YVc7 LU1ORkJaJUIyaHh4a0cKemNPa2lpZ1BnR0xIJH1+aVNYWlFZbiZAN0kkaXko dWp3ZXZvezdCP2lmei03X1NOfTF0Rmw1ZzQ9ciRkTEgweyYjCnpGVSN+WjRW SFhRVnd6aXdkUGlgQ25eb1ZzTllAdmBJLSVSOTh7TXsoPnxaaXsofEliNyUl Y2JEa1pGdCVuODd4Zwp6cHJPbjg3cVd5TTtrMUA1Mm5XMFZjbEoxXztAckNZ PlJrMmJSXiNSUTEtMyNUVTRPPVghUlBVQ2NQQXMycDR0bTsKeiQ9c3hQNFlU cFVSI0doa2JPTEFqbnVXSVRBPlhsUyZ4SjY2MGVTK2RNUTNLUXB2fi1FKmgz aiViXyZ6OUMhekpTCnpTQUUkNz1iTiZoPl5nY3VJfT5zIz8/eiY5KntlXnZh SGM7PWAxRCR0Sj42bktybGJqKj4wU3tyezZOfG5KPTx4Ngp6Kl9ROW0oOVpj fiYmNFBKa189RyU7O1QyZTBJPHlEP0JIWDJsPmYrZkxhY3ErZXdnWTB3WXww YVA3IV9QYENGfksKekdDSS10KVBPYkFaNT85RCE2SlFPYDhIJmFXYDx8SWdY eDdRLSQwQ0kqMiZjJE5LViRwXitmOy1AUGl1LWUtVGBvCnpvKSY2YCpUKHxi IT9TZzNaSGopZUhrN183PjswTHFsXms1eUdnezRBKntrMk9tQlEjRmRRbygt R1NPZzQxPilARwp6NzMhKmN6OF5XbT0jMzZybF4jenNlT1VQSTx9fSU2RCV2 fFF6e35eU2R9UjQoZXp3Mkx3YlM0OWdsQj1aOCpzcHEKeik8NmE1djdrfSNo RlckQlJtU3wrZHU3K0tgZF5iPEE1NilNMWw9QEFXUHA2MkRDNn08N19ZbVVg dmYhPmYtYUIwCnpEQXd2P2ByM3ZGb3wqMHlVPiNqPGpJanV0Qy1tYWstNjA+ VkhNPEMmYUl0K3oyM0d4eCUqT0dublNtR0Bse3U4Ugp6Q2JpVl9FbTM3Vjx1 RjxXQTk2TT9NNFZsYFVMdkpCblg1KWx4IUhFd083WnlWZXk9cSpIfXpjRj19 eHk7Tlo0YnkKemNFUmAzN3lJP2s7eihoWklmakI5TjNGZVBFT1coRWlfRD0k dkEpeExTZyNsSkJrJVA1JVJSaUgtb1NgeEw8S1MzCnoyPlkoamBRWTZXakZN QW1gaHs5KkJRWjJVKlNNV0A3ODVwTXtfTikxUEpVQFFyeWE4U0UpLVVyVk94 a3RiZEduZQp6cXc+OStGTkV5PV9LYiQ4Jn4mOEE3b2AtZGVRdiQ0bWdUYz5K VkxmTW1KcHtiZnx+aEJCMGtTMC1GUl5iQjFGMmUKelA0YUVoZT4+P3BMWnxj aiZSO0ZgOXxGX2JQYWxzbzhxWkglZkF4fHdYbU9HckRvZiY0Uk5HbjZ2Xj5Z ZVVpbSY1CnozYilRallpUzUwTSNxYXNYckd2UkJAflY3XnUydWxyTFYpS1A0 eSlxM2VTZWBVTE9pYGwxbk49X0l7aTQ4RiY1Ngp6UWd8KndqUE9IQmlsU3d2 bncmcD5CIVVwPyM3VmFvTT5FMWlhJEArZEhQTXtFYD5ZWHAmTl5JNVRYalh9 WipsaTsKel5mPnhgPUlCVXBXWFRIZjg0SkJuMHRmSVNJTHhKbWEhV1pXRD9q Z1QqUT4lUkk7IWY8Vjx3OUtsfD58b3RvKXBUCnpPTWoqVTdEMlZMOVJEZCk9 PkBNcCtgO3MmWXJRTmhZWExwYXRyUGo9MmBZSTBwUXxSUEA1LXtxPS1gMz8p PkklXwp6PE1KdzUhMV5AeUk9aGxxR3x6UUV5NVAqOF9XamI8JDBzdz4tWmt0 bmI3TXFuO35xQVpsfUAkVGdReD8jN3lOMmwKej5YPSMyWjdZbkI0UDx+YSt6 YzNqM257eTQqOFo5czdCVWtLTXJSRzw8WWhXYmBIPzxqKClpJXhENXskVz9N ZC1mCno7Z3s/fHZPPVNAQjBUOyt8NF5TcXNYbCpzVX5KQDRsck8wXk09RF98 aURTNmZkQX0hOUxgOGJqPVk9IT05YjxlQgp6YDUqUF96Y2Q+SVQlPkY/cn48 QCl7YSpmZzBJbDMxdUx8PWsyKXI+IUE2WUJJeFl7SnBfM3Z9IWtTaDk0Y0s2 dj8KelEwUjUmLThkI1ElWCYtTUN5UHMrYjQ7VFd4YD8rYWxyVjEod2Z8fUVP NWtlRC12M28xJWFDR2hnRTAwWE9Pfi0hCnokVEhVUEJZVSFxZWEpSnwmNj4m KkI5UzdaeShFIUp0QjV3T1Q5aV8+QDMmakdkKkE9fWRHbTVoK3N5QyhuZmRr awp6SmtFUkhfcV53TSZOPEl7X0l1NGF4XnNLYnN5dkkrMC1yTTt1Z3Blaz9l QjRjY2N8bSU8YER6ZGlpQ288ZFprQFUKeiN0SSZKVEtHJj9TTEVzVThhTyR5 T2s/MXh2ZzNiYkN2RUp8VXZ0SkIkJU9ucit1YmVkWUIzeiY9ZGw+YFVib2Az CnpOK3VKekJxezFRWWw4QFJnQlItYWMlMUBmU0JeRF93UlpOalBWd3IwPXZp TiNSO2ghQT4jcSpGRnVMdSVaVSgqPQp6Z1hRezk/PktDZ2V6QF9BM3RsTmsx XkdySkJYYVckeTg0Y2k3O29IYVBARUk+e0tLS21VTyY1PXQmTDUrbSlMJDsK el40e21fRGwtUkg4WS1AZDVLVjc2dkRya3E5PWU0S0VwMEZVLWdAbXEkcT9A JHtSNGsrQ35mPVJaJmNpYCFyazd3CnplU31Pd1hufj5rKW97X1hMK3ZNaVlX MylwJDxAdyojPWpmdl9je0syUl5PRnhJfmNVbktuM35tMTspNGdOSmhTSgp6 Um4oWnU4e3MhcE0qQmZ1dEIzaUROOVMwY1FyeSQ4JTtEN0E3V2VLdmsyPDA+ JTs7NXpnVV9iXyp6KXxMJSVWTTAKel9QNVd9KEhZaWEwRHIkeStsemY8RCtm Qyt8NEZQZkhBMGNVSUNYT09qMl8pbyk9YVN9bXo+fEReSHdjemVhZShtCnpL ZXghKUAwfUJBbGtgTXVlODhEdUBxQEpyX0RvLXRpWDZJdSRJcXcjR3lmYnZW b0J6PmpxelEyJU1eQVAqZVVnMQp6N3d0Q0lBRSkybUlCJjsrXlg9RjlaJjJ9 UkZSTUV3V0s3U2orZy14KWV2by0tbHltUktwRGs4eEN8bz4xWEc/aVAKek5U Z2ppPDFXcVErRHZKbEleKVRkKDtFVTtUeHc9fFpSSyZaanYxTz44PCUjb2BO Xmd0WXh8dCYqOVgwZU9CWXdvCnpLamhKVWg8QzZjWHB4eWBzan1VIWgxemA2 NkV9dWp6WksmPHliUnlBZ21LelN6NjFYUlB2KWhRc2NYRGxeSXg9NQp6TVlB bGZvT0lyQCVkbXEmaGQjV1AmMTVHaSQpXzRTKz19RlA9YD05aldUNXM+TVdJ V2RQOTBGV2Q3XnlrNSZPaWYKel85eHxpSEdGO053VUg2Nyhra2RVK2MhN3Ns Rl9Mbi1EbC1rdFpoRHg5JEdtem1zanRtdyFKdHpgTF9rOEl5M09pCno9ME5z fldiO1BJXnViaD1oZ1k9TC1WdV8kKFNnd3o8YWJ7MFVXc0EqWmwpJSY2TjJP b1NuXnUma0xIeEdGTFFnSQp6KDAlbFYoODxyY2tFclBXPTN5ZWZ6UG92bmxL WE1xTD9oTWlJQEZWfEtpNSp1SHJZMzZacComPzlUVCEjKkRiYzwKejRAIUNN YjUreFEqdk9IXkl9UlFeQ15MM3ZSfkt7KzszLX53KFMzRFFvP21lSyltK3N7 ZXJKPV9Sbit4bD9ldXBtCnpzcV5ITHlmKm11blp8MjM2X1JrPl80MmdoUmND c2hUVWx0YWBEd2V7KXtmaU08TkZWdCE5PUB4b3w4OzU7UWZSYAp6PkxZQ25w S1JJSlVDe0lKeExzamQ+Jl9PLWJleUd4RkRGZCppMWJ7KVh6OXxXeXw3cCtT ZFRUbFc9UyY1OXdoa2cKek5EJD9tQFg7TDt3NkZZQGUpSCpQWnBGQWNKP2M1 KD9xal8qQUM5LWBFd2loT0kmYUJfdnN5a0NTKjZ+U01+d3t4CnpIbE9CYGN2 LUNtJUYwe2E+PH1LSnFmdzFwUSRmOSh5SnRhcmkpVjQkdmxGY1BeVmBLMzhI fFooalRuOXlZSF5kIwp6dCFTWiZnJnhsNWg0RmJLWkRZaXtPOHR8PUVGSTRt PFdHYHE2fGo4Q2tFWXQ7SHBfIXdNbnFwMipTbnFYZjJ6cj4KekdTcU15Rldj Xj49UHItckMjbjdVVXQ7fXN1X0pDUyQ0VTt2Tj1DM05ES2t6K1gySU88ZS1e JDhJPXA+YGJLQzVwCnp6T2xSV3J1a3BmVWdUKEdYdD99Pms4T1ZEUH15JFBi ODAjS1dyPS1FNTQ5czE4WUxyVXBBZEJQUlVnS21BMkJ4Qgp6YW1SZiVGeHtE RSYwUlg1U1VJfDF7I282KW9AMlR7OWsoZnV4NXM5Rj9AV0FhZDNtb01KO1hh NG1ieS1NXlIkcG0KenREZ1RuMUAlXyRwNz5fKCFEeVhBZT1HT3E0KW5jQEpC fH5iaHNheUNtUVVTXnJKcWw4R0I3cXlHUythP1EjZExLCnpER1QxJFZwIXx0 dE5CYHN3TDRRMGNJKms+IWBuT09FbFp3dmpDTmpEVVorKXlyKDMrOVpTfX5Y dTJvVWtYNmlkcgp6bkdVayUqRSl8anY+ajNyc2JYQGBJUEspQVE8R2RkTFgx bFdEZjc+Nyo+X0EkQDI2RkY1KzdPaFAjVUVkLTloZjUKelpHeVYlPmFmI2km VE09UGhNNjhBaVNQWURSYCFVenlwXlNjJnczQnJ2PTcjKUUxUW8henBkWkdw QkppUzcja1deCnp3b3BgOyF9PUR8YHR0UTlKcCs/a0oqLTQ2YElNRERodktz VEZtSEY3bXg3dW9gT0MlIVo1Rmdfd3MmdVZsbH0jVAp6WDUtcCtgT0pRYXJ8 aklCcCs2MmRfV1h+MXF2cD1ZVHI/fjJuKFUzPWE7JlliNHtNQzx3c3FlR0Bq Mj9PJS1eRVMKekZNQyl5JihjOXJiaE9wdiluKkcxaldRfi1jPm1WKD92SXJs KysqQGUkNXUwcjtxZCFiNHc4V0R0SXJOcWxTYFNrCnpeeX5NR2ROPSFjcyhH c01xblk4Iz80bGBtbXJxQD8/MSttXiVYTTlMb3RCTmBfM2Z8YmYpJCQxWms3 N053eHV9Xwp6RCtnXkE3YCQ2OC1VUS07Pz5kZHZqOWw0dVE0VUlfUlM/Knxr MlRVXyRCTWVUJlVaJU9gNXI2RUpYVXtBXlFyYmcKekJ8enRfT1M5ZFk3MDVL WnZiV0BfaENaZih1ZUVnO3RIQz1QbFJZTVBRZzBOO3VIQzBKU0pQcVhuemk4 QEVpYGtOCnpYOCReMHhsXmRkRnxUI3xDT0UydDdJXzhWTDJaUSZUbFApM2FJ O2hMMEIxTVB2bz9MXkswTFdMR34mbSVkTlZifQp6XytIQkI9PE5OPSswbUJ8 XkZ6ST1CRUFubntmLXwjbWQjdHdZbztwRz49KjFsT0tvJDNTTjlSQWleWGVJ UiN3YzgKej9sfj96eVQ1c0JTI0FFUSRYPFQ7RF4mU0pxY1hwdU9RR0UjeUQw fj0hRS0pNGwmJFl8I2clVjZNQEY5a0ZDezxiCnpNciRHTnFNJHkxbmZPTFF4 UG5Ja3ZtR2xIa1UzKHo8fFNkYXtgcldgITJ0bVF4K3t7VytiY2p3X1pkOWNa aiNvLQp6dGRTe08kaDlvKFhNYmFKPnhCZDZEI3kwbFk4JXRwYTtuVXhieWVz NlA3dylSTl9RVVRgSXk4VW58USF6c21HXzIKekZgPXEqXnNAJjZpSG9rclA4 aXkwPV5VSUJlSH1xfXViYkNtanVuKzE5ZFcyXjJhUlhlIVpeIVV3SzhxN2c2 fDBYCnojTGI8KzdWMF8/WFZ3Jm1jejJ3KUBUPDFCb054MyNZQWs5Km9RcVot K356N0xWaC0tVXlRWkQzJnt9NEFMaVhlMwp6Z3VXd29YQCY7UkYyd285ZnUw NzItbTxGKStoa2V9O0Vmek5xUWd3V2U0RjNnTWdHcHR6UlFsRkBIdUdidV9Q REkKej4pTEIoK1cmVXZ3LTM0NG1NTmk7RWxWSUxPbVF4ej5jPT5EbndBcDJw LWt5JkxCfUBGZSs0XkRkU01pUCN3Z1N9CnooY3A9U29lYHQjYCtQKmpmOUBv P2RPQiorblU8NFI5dHZHbGBLaT0kWXt4OyQ8SkF1WWhZdEMlPEVwS2w8TWJx cAp6Nl9+OW5sSVBpei1ze19eUHVqVHRgaW5IKlF5Rj1CO1dHT2hTITE0TEo5 bSM9WHh7dF5Vem5tYCZuJmMwKyVnKT0KenAhMGNJXkE+ak43SlRfMF9vR3sp Yl9PYkBOX319akIlYXpEXyReeS1HLSY8QktWLU00OWxhO2FgbHhBdFZAbnRP CnpnaWh6I0VtYjRPU0VsUT41QUl2Oz8mLUxuKnNgNT42eUd+byNiQjZ7WX5R OCVCX0NXViYheT5QSmpuZjR4ZUJVNAp6bVdyOCZwNUUxNjlabndfKFk0Kj9S WistJT9uVmFHeylRZD5MXylgJSpDR1R0eVowMmZBQU0zQHh3KF5KJldKJkYK enVkKi1QXiF7Yn1nPUgtc3gpaGtHeVMwe148fXRwWHM8V1QyYzBqZ2UqT0xk cnZqcXVxeT1DT303cG1gYFc0TE8wCnpUPlIrZSFfJm9PNHklOFFSPUdVQ2U3 Uz1wUGtyd3cjfnA0SzNWcndyOVpAQHg+emg2Qm9VIVFWSmAyNEA+MEs4Rgp6 TzwkcV5MfWxXRD41bS15NyhPQHV5P3B0X3EmXmNARTc+UCo4JXU9OW5KSVR0 bWZJSFZuVkZlPD0xeUxHMjkrJnAKemphezw0PGNQPXEtNHRVXi1yQnBlbSl9 UGYjcWsxPiU5UTJgeyVYRnttaG4wKSg+MytsRlk9aXApN2cyTWwxNUk8Cno5 Ri14MWUyVns9d31FfnxxcTRLVnVLMTV4QyRedGdYbSt4JntxV3h2cEs4NSt2 XjtMYWslTnx5UkBOSTtNRTYjPwp6YHVrNmRPekp3I1FTcXJ9KX1QRG40KVIk aTZKRmQhPjNSUTx4VEJqbEB4VUFTPCpjT0VSQCpMWlhqalNQK3pJa2AKelkj SD4oe2NzUnxWcmxaYCsxY3dgTyQlTjdSMSpiSm4pcj5GcXs/NlZHZWhUOGpV U2pPanl0Uz5oQXtXaURLLXVXCnoldiRwP3EwSklUKFFRbndRY0JQOWVTMjFr PEx3S01OUz8rVVplc0tWZCgrQigrTl5uTmolezBLIUg5JW89RTNGegp6cEw7 VCFIfSlwe0UjTEgjQUVley0lVSpuZ1EwKiktVnopWm9JNjg2QShXO0NDeUZk QiQ0YjQjc0dPYHw2eFVrPGoKem02Ny03NFF7PCp3KjghPW0tdTZTS2M8fUJB Misye3UxPEBpRmgtXjxrZWpKST0wZXpUbGtDSUFoWk96S0ohPkMkCnpGMG5s NSs9VFg1aE5yKCRedG40bmNuI2RRVGwtKkd2fHckVFRIN3tsdGFZT25jdWpX b1dNcWcxRytKTCZBMihCewp6WXlYJTtFZjM4JG82OzlQYXZqQFdCND9rZHhK a1opeTFlLT02Vz1hZ2BfSns1dT5ZNVdmPXhZTHZLZlEzRExwYXsKenFyKEkw YTlVaz0lQFcwUHgkamQjYnFoRE9BMGklbjwrXz0wZz03OVReJSk+PWMteHVI K1BhUkN6d0J+ZnQ4S0hACnp5cCUpN1RUTDhaXnkmNlc0Xk5mak0xa0xTYjtY eCpCUmAqQiptPmZgenxKWjl0PiRhS1oqUHtIeFdGdF8yPTh0fQp6bWsheztp N24oKTRfeWZ2Yzx5KCo2SyZKPF5pPHt1Mm1VRWhldEFtaVhtPzNxeHxje3ha SmtTQkVVbFQwZzhJWk8KejQtZWs+IUM1OFViaj1+ezdsJClDXj1zREorYVBT K2FtIz5AbFBgPzc4OEQlfGJaNzY0Sih6VGM3ZDd4YHlUUCRiCnpaU1hVM3lq aHlfcmE0V35JWCkyQSF2USh+YGpJKk08S3VfdXsqNkQwTTR8LVAwcV94diNx bnJrPW8oLU0mO1lkZwp6SHxTfiNQU0I8Vm5zMWt2NzZ9dklKWSF6Q21APmYr JjZ2MkM/bzRoKmwwO01+JXg0KEozak8qdld4Uml+NTlwRXMKelUzJiMzZyV3 YDZrMjl2KkNvbT0oTjNuMnUlVUledCFRWXRZSFU+O1ZjRGZrLSt5UHp4TiV8 VlkxJHVnNT9jWVdSCnpJNVN0YWpzSHFKSHdTN2paNXF1eUd+TGFWNzNXdT96 Yj8oV3YycCpZPU9VNDRvPXtMQ2FKc09tUFRJTTdULW8rMwp6NmFWVGxCTjI7 KEZiQm5kaW9WQTFmUjtUNFMhb2hXeSpVbGlQeEo3IUpqUFUyaUwkVyVCekZF TXt5X2lQdFBnUl8KemI9fDNyKHI7XzluaTFmUDxETDJjMyZkamBXeEBPQTl9 X35FWWRhQDVPMjVfTmN9IXRXMkEkKld8MERGdmZxdldmCnpadiR8NGV7R2No PndCZyFwSHBLUCgwPzl0cihadChTTn1qcU9NcHZhbjItNEttVGBeSlBqaEA5 PX0rYEtmUFZWUAp6KV8/VTZHe31QJV9qZSZyQl8hKVBTeU53MmF4fkp7al83 fVpjTlA5ZzslVUQqO1A4VHVSKUQ5WlhEQEZWKDx1RWsKenVSekMzQnRzTU1V SnFgWnxCdj58U31JWT9qZlpRfXR2Pi00MHsjVEFVcVhBUHM7V3ZHWjloT2Vm TEg4YGhzQD44CnpPezQjKiNoKVpZS2pYY2o5Rz9IQzEmeSo4WVpCbC11SFRA MmZPZ2BTYF91NmB3N2pnaUpUTFJUPGtSfm9DT2lFZAp6dDRHRCtEcTYhTWZT MGtzWmNWMSZgUWpGKUxNU040ZHVxVko/JjtzOXBXZXFmKTVUUikkJmQ/QDIl aVZjPWFkKSoKenBPYktaSHNGQDFxTVY4SGNWd0peKjg7WjhqbEclLSQjTFJp Vk9lbm5gVXZBK0s1akRxKyZ7SH48fWJvfipNWip2CnpkdW9FfmxZazhYVEV8 WWYtejU3MmVGdEQyISN+OG5XTnNmPnp9aEwpZXV4UVhGbTRSXkw9VV9nQWda aiRFNilGMQp6TWc1Knk5JVcybj1hOEtpO0JiTWQ2YmhKa0F4fVZtPEw4KDct fEVsI09tU1cmZ0ZUZ0dyQGRvblBqa2B9NyNoRDQKeiooY0J4NEFAIytULT5S bGVaZD9fYzNncSg3dkRkPHZjfW9GdEZNSzloejlBYnRAM01TVyN6OWxDZzM2 Mkl7dFImCnpMR0woTD1ZOXRNZ2cyZnxydksqdDhCQVZnRzg2Z1NtTkROdWpX T0c7JmhEeDh1fDxzZ181SEFzSmVjeSpMTHFSdwp6MHBGMU49NzQ5RE01Mm85 S3R+aGkoJm9gTT1yYEc8JUdldk5XQVo8emxDRT9HYmZhLUZYOVpsRmtSQUUj d20jIX0KeldoYnAwWXd5IUxefnBgP2AmVn5QViQkTVhGe0padTloJU1EKW5D aiF5S3xnKj4ye3M8ODNHKEhHQkpUSjRBek8oCno/PHNKMHRVVStOS3ppcFUm WjMwSWtSRzRBQ1J5IXZPX3dQdCRRRUc/RTl9OCZ5dDV1LStNcTN+Q0AqRW9p Z0ZwVQp6OWYmOG1fWm4/NlB2WEpTZl43MF9uNDtXRjk1Pk50ajJsQSRxRXE0 VDZ5aGVHdHl0amhRd1JPU0BIez1wYDNsU1AKel8yREYkP3NNLTlAcHZXOU5t Z2w1dHwlKXRtaUN3QlM/e34yN3xYK1JMM2A4SXAyS3J4Pm98NH08eis+ciVr bHdRCnpwdEIxQnU3M3RoMEZjWmNpK2xMI14+MlVwK3pqWFBQO3VVO0QmbGkp JShffVNyeS1BVGYhLXA5e0Y0Vn52Pjl7Vgp6WCQ7QSFvUjVpJiNlckUzekYq Z3Zia0I3QWNxWVI4SzJzcW1wfCF4V2lfSmw2dDhZfStlK0J4OWh5QlF4eFUj aCYKem5AZzI+WTxgZ0NrKFh9ZiUrKCF9elM4UCF2SzlDOTc8YVJNVSs+ak5Z aEN2cm4oaVhtJUx0MHxTKVdFIUEqNE97Cnp0JHdQJUp3ZDs1a2NZV1haeWpr Nng3bHREQ08hVCZsTSlya1Q7SFFucXdqVXlETklJVUlPTlc9OHZicnd3QVF8 Nwp6d285RUlHeWhXeCZRPSFsKjNXQEdMIWlxOFl1bikpclFjcj4/KkktS1dg N2psS0p0NEZucmg9QWA5dFRePEVHeUMKentjcnwtOX5pUnVBRG1oQntkNGUw P2VWSFZ0RnEoSy1xOUgqeGwyMGIqPTtAcGN+Rld1RWMlfTZaK0d6ZzJmI0Mw Cnp4NW4mc0ZVWWhLJFZPfWE7eVApJGI5NW43bjRRaiQzfX53Q0I7QjJuNUMr LWwmKEo9K19QN04oQFEkSWVYZFhCUgp6UGwmKDJRQyN5MXc1dmM/ZWUkK0dT dG1gPll2eWx2ai17X1lgQVZeZDxuWlMjRXAqUE0tPnZmK2QqJWhhdzVQNkAK emNkLTJfTW50O28jPWh4eyRCamVTZ1ImQ1BpMnV9fj9tcy0hI0A8enU0TkBs I3NlTEVlMi0oYjchSmVxSUZYI3oqCnpZeW1seCEwT0xCYCQmeVB4Ozcmem9K a0R6Zi1JUGJGOyR0Y1hMbEtyJEs7bjBxYCFNal4zKH0/KDdOXnZhRjZXRgp6 WWgtVXctXlREZ0hiMjBXN1VuUUVDenNkVCpVIzM3LUpfPCY5LWhFJVg0Zjcl bntibzhPQDJjZl9AK0FNck9MKisKenN6akFwcG1UST5gZipQWTVLT2tAcjYk PHdXYXJYM2IxPmRlRmE0ejNpZ0dnO14yLX1xa0VeaXRrfFRVczl5aTtpCnoj YFl6aU9PMVh9IX1jVEZrP2IraGM+P1FRIXZAOVk7V1JmLUR9SUJ4STY1NFIq UiQoSV5XZzUpWlVkYnprJk9ocQp6eD93JGJTQVBqPyZRR2smOyZrO2olcClA P2ZfZHZ9NDshRmJmMEdTTUApWSFrMGN5azxMSH1Zd05rSWthKEFzcD0Kel5f aTJPcV5zKEJQQl45Y3gyYF9peShib2pTemVVM2IyPDdXclJiO3I1NVpzWFol UG8/bzV9R0lYZVUyS0tRfCo7CnphYFY4PElfY3FYYWpvT3xPKVVSN3A4S09s Zjh0ZnJaTTZUeTZVaDxKODxvWG1UYXVoMStuRjFgbnR5XzdARER2Qgp6QUJw SU1FSXJIZDVMJllKOW0hXkdsQn5seHU5dFZSYHJZWm09QzMlLTVvMyE5YSlJ cypWe0tGTkpLajk4YG52eGQKelpNRUJLSWlKQVZPU0c/YXJmNDBhVkpGdill R3cxRXpARy1hVSpue3B6YSF1Yz9Lajczd1E8emA+fj9pRzEzUStyCno2RyNA XypyJjshKTBpTXYlKXlsamYka3xRJlNUdUo/KWZedStHQjhePkNCUHJBc09e Tyh2UWpkNVg7entTTyRDbAp6K0lSYXg/fDUxdlBBZDhxQyZnVSlWbjAlUjl+ ZD0/aV5KKTMwZSZgWXtEUTB4RVMtY2lJPyRQd2BCREIoPzBITksKel5adzJA O0ArMlRpNmBpKzUpVmNBKy1LPEFsa0c/QVV6R0ZsSk5aUnRsK0cmWCl9a3xq Yl84czs5OWw9fGFUfmg2CnplfGk7cj1FI205ZHkpS2d2ZjAzIVl6Kit0KTck VyQ4am1AJUlCP2NVa0M0MTRufWhhKFdIWkdFaTJpQ0g7K3hHeAp6PU9wKUlC Rkw3VTFtRG92OVlhMk5RfSZ2aDZWWE8lQUx3d0FvaXBpLVlyN2AxWE9RJD9R e3oze2MrYF4zTVpPeFgKekZQKkUqPFZnNkVBPllNKj41UCl5MyVZR1Z6Wn18 O1JpY1U8QHtncypZdmBLZCRzZ1pedmJfRnhYbC1iMGRQZTclCnpkYFF5YXdl M0d6RH5jKEJaWkFMXnp5Ul9XJCRuflZUPCRzZl55REteWUBoNSM/KjlLck9S XntTZyZTKm8qMlJNKQp6Vj92KTw2YUI5TldIKXBNTF5NVSNOej9icFklaEN1 RFJ3MSZ8RyZCaFpOdnczMkZRbj9JS2ctMHEwZWclT1FKdVYKeldHN21SSGB0 UGBiUGUlfkBBX2p1PiQqcSZFeVc4LXI8MmNKU0QoTG5rOT0rI2xYUEV3Ynxt cEQjWlctQUtjTCtnCno4TUtqWFhTPWdIT3tSbV49N3NCM1Ijd3tuaDQ8PjRs Y25CVkNOKE9FamhpJU4qT0hBdWJ+UmA+IX1fIUYyZWZebAp6MTdjYGkpJUkl TFloRHtTJHU+RnpOJF4hanxKSHVxdzlsJXtvbiF4RFFsUzR5ZXY8IUVwQnw8 NzdVQH0lX249PT4KeiRfQTFfKys7aCZ8OXRQQ1o2eDthWkVsM2V7ZmpSVT9z Ym9pX2Nlez8+TTx6QkxHJlVYJCZrLVp5NXpmZi14dk8rCnpJS2k3SW1heU4t TjxpeUEoQkcxeXBXNktWe1B3dEtPN1g9SV9uV05WdDhYbGhNelRrNEF2YTFm VEN5a041TnAxQgp6ZGBZQTZYMHJLNyZYYXZ5VEEwbit7PGExPmIpSHdrYXNT angpfVF8cE9WSTxKYj1GSlp6OVJWTzFuaTRVcyFhJkAKenduM2NkMEFxSns0 UmkxS1FzJi0/clI9cEVeNXk+YT1VSlVlYVltdF9SRGdIaUFyQUx9WTYwanl2 WFNVS1RFYyVKCnotWD5xNF40TlpNI19haGxFNmhje0Bnd1d3bGFJQC0zSGJt LUd2IT9Fam4qP14qakxJKzt4N3N+UnNkP095WXdFPQp6SE9AaXteY2pvKG0o aGtweDgpK25oSHplOUI+XnRWc3BiT0Rsa3dhS2ExSm1KKDVzQE5MSXYkdiFV Zz9iMnA+fn4KemMjSCZkbEYmN0xAS1FZY2dnKD90QD9kWH17Q2Y0c29MdnVw YHdPZk1NWWFVLSlSJE91OVF2T0VeYXBKPHtJMSV4CnpPTWotYjRXTzlnN3tG WT52TSg/UD9YUCYmMldgOUJXNzIhTC15TlVeJjwxUD0+OyRYXiVtNTY5fE00 NEllU2laWAp6Nzt9alJCbSpjbkApb1RSVDJzSnNLeU1tVG5sfFpjSm1hZXw/ N0gpTXY4e3lIeyE4MWshTTJLNXtrKTFOJWw1MD8KejhkdSpwPUNRNFdrZkw3 fHdjcjRAbUY0ay1eY21TK0F5MXZJYyFsaTAtYFo2QXRqNlFqWG5YTl56STJ+ IStrZzRZCnp3SFRqSSYkJCtPKncwY2VKdG47RFV3IVNEJDR6UFlVcGxjWiNe WUxGeCh+ZG0pUGYjJWV4UzM4d35MKEApb0NkTQp6KUIjYFh3Q2FzPXEwYF58 MTBOX3Q/ajBAOGB5N2A0RGZMfXhWUXpwfUJxQUdsQWI/d2V6ZDNydHVNeik9 I1VsT3EKem1tVT4xcjxPeVcld2I2OXpIK31RMjBhbT0/WW8jdiF6MkUrcng/ RnEtbHpBO3IwMmZMRGE0NSZyK2pTQU5RQzhPCno1NzRKY0c0e1dQeHc8I1Rw N1pZWSlBRzlQQj1XenEoLVNAcmplbHFDcm80bCgqRmRJTSl1cT9qU1ZOPkEj ZkxTVAp6R1M9VmVnUnlyOUtmRXJIVVZIQUU/Njl8Zl85RkNJXj5AWkAkfnpl UWFHPXY9Rl45OHVPTFlTezglTFRsUiNXPGIKei0oPitVMElhQDElY3MwKFpN QHVQJF4kXkJTPHJoOzhLM0tleztlQEwlRDw5NlgkPkc3V3xnUzJAQDlwZylM QiRmCnphVFQ5dUJqOXQ2Xn5MSjM8c0h2JldYYzdfP3MpJWVlRktOMXo4MiVR THlxLSlXPk8/VjJhJFBEdUlGKVkzLW9MbQp6YDlrRH1QQEZuRnt0ZmJscUJL OW0rYDBNSVpwa2h8eko+SmNJPX50TD5HTDZnST9wOE5NNys2YlhKVkxfZlgp dkEKem9pRTUzOD9tVTs2MHp+e2wmRkFXbml0dEY+RzJgUnImcyZ4d1E8dkQ+ VnVxfTxYczU8cnc0QnZhb2o1cEEjQylGCnpOQDNZdTsySCZ9cTQpODVBcEhM WFgqLXxucXp8I2RNV0FhMz1xQ05HanI+S0hpXig+a2ptXm9fZ2A0aD90d2l4 Jgp6PVpqbX1TTylPfSo7eHNwVUp8VHBFWEVxaT9FfSRMUmFKUW1LQWdDPT97 MEgpOEdNVHZpZ0R8TXBLaWZVJm5DTj0KekB7PWBmdn5NO3o7VV96bl85e0Nx b15yfmNAVUF0JDY4OEtQX35zT0FvNUpEOGJ5dmlEIV50TUNKcyZvMTJWNUNS Cno1bmBgOUNzO3EzO3omKVlVbkFLfUYrJik1UkNfV1FeUTQ/WUUzXnU5RXJv dmBAKVV4KXszTGc/e2NPJkwlWCF+Sgp6OUZGUU84cTM4fXkjbT4oKDF+UD1n Ti1VSzBPeGwjVHRvLVgpRD8+RGU+Wm87VyNadW5OYXN5U3dvPzVNPD5QQWkK em07T3ZPRTBwNyt6TGJOMlBuVV9nZjJSfEh6WUJPZjt2UmVxPkckY0hfTHEy d0Amd1kpPXA0cXFke25RR1BCYz0/CnprbThSLUMpdlhSNGtpK3VaUFZJbzBH aVoqcWV3Ym0lO0JRQThzVnBOen09JmtAXmA3eEw4I31iSjVFRWZCNkB5dgp6 fDRnPXFsPUExNEdzKmY4fEI+dUBacmBafHt5bTd6aXRFeTI2Z1M3Mmh0RT1U WkQ/R1VFfVVeYHk2QnFwS2g+STAKenRjMm9KQnFKenFOOU9eI2VYKnBmPk0r KVRsaUA4WSVMUjZCUzlRTXxoc0w3MzhPMUdYPVApUkxre2FgWnRwfS0lCnpw T3FRbFBwZHleJmsmYl5lQGdZKClRfGlAb1cpbXxHaDNeSl9RI0B9ajdWJCNx SSZVRDlLY3BPaGtga2ctJHdEbQp6eTVhK19tJHRMTVlqdiRhUDVjeEtOe0lA aFN9eWtOVjt6UiRUeFp3THd7dnIlb0MpQ31VejY/O1VoPUMqdThAQ1IKelMz THM3JSElS0tYOT50QmVkVF9tZFZaaUNgRDRtZTkweldTKTZSezVeK1pUfSNe SUUxRFIpTFclbncqPSVJUSRmCnptRytpK3Q2S01iVXFAblJ4UiROZzJ9Myom d2tTKDAkeDY9ZXJ+SGhkdzc/VSVETmVafF54MGk7P1JYfGYxSWVUMAp6Tk1D ampETXZ3Z04lbisjVEM7VF9UdERmUyZLfmdgKWVLUXpsRHx+RCFPMzs5bFRu K09pMjMmZnsleFNLUDgqOEcKekIkfWlBOU44S0d2Tk5kYGc9OWl3d1gxfVM8 ZkZ+VzczQDkqSWJGdjNSPDlNd1pScE4/O0hMVF8pYHFOYXt6TD1HCno1UV5R YGJ2fnUlVURxfTdiejFESjhaYHdwNTlCZSpGI2w9NXVMPUd4cWN5QVJlWSFf eWtMN2piditMX3EqTF55Pgp6bCFGTCV6NG1xT3NvIVBiaFlsNzFIfkhQWUA7 YHJnU0tFaD45KkBTTThhMXxsMV5nQGh0aUVmU3FvMXVZbnxyVVYKenF2PG5o PXQhVEJ6IzI0JU9nMkljdEUhPjs0OVhvNEZWJENAQXgjSkVGVnp7K24kQG0l cUZDUSs0fnJfO0soflJQCnpqVz5ZP1drRzVGYkhxKT5CdikoNG0rM1J2R08q YFNGWXQhVjFBT29Fc0l2NyY2ZFFeU2UjR2liWF8tYzJrcDdQRgp6dUAje1Al N3hhd21KYUJUbnozNy1RbGRZSGBgb1hod2V6YG04bndTQnotdVNNU3Q9K2cl bkYwdHhDPm53NiZMKWQKeiF1UCUqZG9ITEo9SCgtRTNHeyk0YUBMZ0p3TCFm RiQhTXpDYVlBMTkpdVM4WXRoRCRIPXk/T293fkk3eD9tOF9rCnp0cmg0UjM3 PXNEQFNLRmZVX3x9ez9yOChhOXsmO1YkX1dJNVVidFFjS2xgam1SQjRXV20r K1psanxYNV4qX1kmSgp6ejBVaVRALUZ2ZFFabkxIUUsqfnBfJWhCJnlrRW9x VT5KblBCckZfNVROQmNGWUtXdCNBK3tpITNMKik3emQ9aHIKekFgYnhCRkY/ TE4yZV8+TmtCQCU3KW5tNCNJMGMwemxtVDN2TGNLWFl7RG5XdnlKY0VAJFdo Y20jKVcjYEB5fF85CnpUOE1lcHUmbzshUEFDKShMVCU8cGt9bzYmZj9kcmhj Mkp8MXByUUFSXkUxXkQhenwmPjBLUFlyVXNoUTdvdD8jdgp6MG9ySnQkbksj MXstRyM0ZVVeaktkSTklN1ZpPn1sa01ITWt7aVdOJm9KYGc5eFJBNUx2VnVq Qj52cXVyRjg8KEkKejdyYkF8eSRgK0BYUSMlVU0hc2UmI196X2hnK3gtKTg5 Sz1pSlNsPHhOSjhEbSNrYztCVlptPEtDN2dieEYtVUhRCnpkcHtALWE9RHQ5 OFdrOE81fCoqYE1hVCFRZXFnWT1nOEpPam49NjN+aSQqPElheG41OCh6WkNB UDUyUUtfeX42Uwp6U3MlMCFTRFhxTzxZNW13YVcpPzE8MC1DQXhgXl8lKClC VFBaZW9IU0dITE96ISUla202VXw+SkViNTBgVU1pPFUKek5EdEZfV189OWdf KCg0aVU5XllmPVRMbnRXS2JuK2l5Z0d5YEpkbTx3PmBUPyRnUjtNPGY2JWpx fGM8K3h0Y0E/CnpgKzQ2eiR4dGw/I2ljXyR0TzZ5SExQZnx2S0clb2RBXlZz N0cjWjJLMDFpTGhCaWc5V211eWhpRTR2Qj4jYVI7fQp6bGtRMzkhTl45VGQ+ SH1Se29IcEVYemZFRC1eQlhjcGV8JD0kcXp8LSFrYjsjWDl0UyFiTSFtRmhN K25Ydlg1KVoKelpCQGBSbTchV1JsMGhVbDtuJGNaeng2bDcqa0FRTGVNZ1Zo b3h7dEdPRClONF4wVWFjQjMrUmo+MVRxdHsxeyhiCno8TSZrNE1mKiRwMj5W dW9lNTA3SSQkbGJSaUVKQzE1N2o9dkhrU24wVXF+cDwmdFNoQlBASjdIRGRD T1JiPWN4aAp6UUNIeEUrT09sdEMrdDlkaGh3UGMtUkdkdzlkI2FJRkk9dTlw PGR3YXlWc3I7V3JkbGVpR0x9JiYldE0wYCtfSTwKTlV4MVo1eE5oazB7e1Mj bmM9LVNUCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9w a2cvd2luMzIvaW5zdGFsbGVyLmlzcy5pbiBiL3BrZy93aW4zMi9pbnN0YWxs ZXIuaXNzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmNDg4ZGU2ZmI4 ODFiZmIxMjZhNjE1ZWU0Yzc3MTNkYzc4NjEwMDQKLS0tIC9kZXYvbnVsbAor KysgYi9wa2cvd2luMzIvaW5zdGFsbGVyLmlzcy5pbgpAQCAtMCwwICsxLDE1 MyBAQAorI2RlZmluZSBNeUFwcE5hbWUgInBnQWRtaW4gNCIKKyNkZWZpbmUg TXlBcHBWZXJzaW9uICIwLjAiCisjZGVmaW5lIE15QXBwUHVibGlzaGVyICJU aGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtIgorI2RlZmluZSBNeUFwcFVS TCAid3d3LnBnYWRtaW4ub3JnIgorI2RlZmluZSBNeUFwcEV4ZU5hbWUgInBn QWRtaW40LmV4ZSIKKyNkZWZpbmUgTXlBcHBJRCAiQzE0RjY0RTctRENCOS00 REUxLTg1NjAtMTZGMDhGQ0ZGNjRFIgorI2RlZmluZSBNeUFwcEZ1bGxWZXJz aW9uICIwLjAiCisKK1tTZXR1cF0KK0FwcElkPXsjTXlBcHBOYW1lfXsjTXlB cHBWZXJzaW9ufQorQXBwTmFtZT17I015QXBwTmFtZX0KK0FwcFZlcnNpb249 eyNNeUFwcEZ1bGxWZXJzaW9ufQorQXBwUHVibGlzaGVyPXsjTXlBcHBQdWJs aXNoZXJ9CitBcHBQdWJsaXNoZXJVUkw9eyNNeUFwcFVSTH0KK0FwcFN1cHBv cnRVUkw9eyNNeUFwcFVSTH0KK0FwcFVwZGF0ZXNVUkw9eyNNeUFwcFVSTH0K K0RlZmF1bHREaXJOYW1lPXtwZn1ceyNNeUFwcE5hbWV9XHsjTXlBcHBWZXJz aW9ufQorRGlzYWJsZVdlbGNvbWVQYWdlPW5vCitEaXNhYmxlUHJvZ3JhbUdy b3VwUGFnZT15ZXMKK0xpY2Vuc2VGaWxlPVJlc291cmNlc1xsaWNlbnNlLnJ0 ZgorT3V0cHV0QmFzZUZpbGVuYW1lPXNldHVwCitTZXR1cEljb25GaWxlPVJl c291cmNlc1xwZ0FkbWluNC5pY28KK0NvbXByZXNzaW9uPWx6bWEKK1NvbGlk Q29tcHJlc3Npb249eWVzCitQcml2aWxlZ2VzUmVxdWlyZWQ9YWRtaW4KK0No YW5nZXNFbnZpcm9ubWVudD15ZXMKKztVbmluc3RhbGxGaWxlc0Rpcj17YXBw fVx7I015QXBwVmVyc2lvbn0KKworW0xhbmd1YWdlc10KK05hbWU6ICJlbmds aXNoIjsgTWVzc2FnZXNGaWxlOiAiY29tcGlsZXI6RGVmYXVsdC5pc2wiCisK K1tGaWxlc10KK1NvdXJjZTogIlJlc291cmNlc1xTcGxhc2hTY3JlZW4uYm1w IjsgRGVzdERpcjoge3RtcH07IEZsYWdzOiBkb250Y29weQorU291cmNlOiAi UmVsZWFzZVwqIjsgRGVzdERpcjogInthcHB9IjsgRmxhZ3M6IGlnbm9yZXZl cnNpb24gcmVjdXJzZXN1YmRpcnMgY3JlYXRlYWxsc3ViZGlyczsKK1NvdXJj ZTogIlJlc291cmNlc1wzcmRfcGFydHlfbGljZW5zZXMudHh0IjsgRGVzdERp cjogInthcHB9IjsKK1NvdXJjZTogIlJlbGVhc2VcLnBnYWRtaW5cKiI7IERl c3REaXI6ICJ7JUhPTUVQQVRIfVwucGdhZG1pbiI7IEZsYWdzOiBpZ25vcmV2 ZXJzaW9uIHJlY3Vyc2VzdWJkaXJzIGNyZWF0ZWFsbHN1YmRpcnM7CisKKztT b3VyY2U6ICJSZXNvdXJjZXNcU3BsYXNoU2NyZWVuLmJtcCI7IERlc3REaXI6 IHt0bXB9OyBGbGFnczogZG9udGNvcHkKKztTb3VyY2U6ICJSZWxlYXNlXHZl X3B5dGhvblwqIjsgRGVzdERpcjogInthcHB9XHZlX3B5dGhvbiI7IEZsYWdz OiBpZ25vcmV2ZXJzaW9uIHJlY3Vyc2VzdWJkaXJzIGNyZWF0ZWFsbHN1YmRp cnM7Cis7U291cmNlOiAiUmVsZWFzZVxydW50aW1lXCoiOyBEZXN0RGlyOiAi e2FwcH1ccnVudGltZSI7IEZsYWdzOiBpZ25vcmV2ZXJzaW9uIHJlY3Vyc2Vz dWJkaXJzIGNyZWF0ZWFsbHN1YmRpcnM7Cis7U291cmNlOiAiLi5cLi5cd2Vi XCoiOyBEZXN0RGlyOiAie2FwcH1cd2ViIjsgRmxhZ3M6IGlnbm9yZXZlcnNp b24gcmVjdXJzZXN1YmRpcnMgY3JlYXRlYWxsc3ViZGlyczsKKztTb3VyY2U6 ICJSZXNvdXJjZXNcM3JkX3BhcnR5X2xpY2Vuc2VzLnR4dCI7IERlc3REaXI6 ICJ7YXBwfSI7Cis7U291cmNlOiAiUmVsZWFzZVwucGdhZG1pblwqIjsgRGVz dERpcjogInslSE9NRVBBVEh9XC5wZ2FkbWluIjsgRmxhZ3M6IGlnbm9yZXZl cnNpb24gcmVjdXJzZXN1YmRpcnMgY3JlYXRlYWxsc3ViZGlyczsKKworW1J1 bl0KK0ZpbGVuYW1lOiAie2FwcH1ccnVudGltZVx7I015QXBwRXhlTmFtZX0i OyBEZXNjcmlwdGlvbjogIntjbTpMYXVuY2hQcm9ncmFtLHsjU3RyaW5nQ2hh bmdlKE15QXBwTmFtZSwgJyYnLCAnJiYnKX19IjsgRmxhZ3M6IHJ1bmFzY3Vy cmVudHVzZXIgbm93YWl0IHBvc3RpbnN0YWxsIHNraXBpZnNpbGVudAorCitb Q3VzdG9tTWVzc2FnZXNdCitlbmdsaXNoLk5ld2VyVmVyc2lvbkV4aXN0cz1B IG5ld2VyIHZlcnNpb24gb2YgeyNNeUFwcE5hbWV9CisKK1tSZWdpc3RyeV0K K1Jvb3Q6IEhLTE07IFN1YmtleTogIlNvZnR3YXJlXHsjTXlBcHBOYW1lfVx7 I015QXBwVmVyc2lvbn0iOyBGbGFnczogdW5pbnNkZWxldGVrZXlpZmVtcHR5 CitSb290OiBIS0xNOyBTdWJrZXk6ICJTb2Z0d2FyZVx7I015QXBwTmFtZX1c eyNNeUFwcFZlcnNpb259IjsgRmxhZ3M6IHVuaW5zZGVsZXRla2V5CitSb290 OiBIS0xNOyBTdWJrZXk6ICJTb2Z0d2FyZVx7I015QXBwTmFtZX1ceyNNeUFw cFZlcnNpb259IjsgVmFsdWVUeXBlOiBzdHJpbmc7IFZhbHVlTmFtZTogIklu c3RhbGxQYXRoIjsgVmFsdWVEYXRhOiAie2FwcH0iCitSb290OiBIS0xNOyBT dWJrZXk6ICJTb2Z0d2FyZVx7I015QXBwTmFtZX1ceyNNeUFwcFZlcnNpb259 IjsgVmFsdWVUeXBlOiBzdHJpbmc7IFZhbHVlTmFtZTogIlZlcnNpb24iOyBW YWx1ZURhdGE6ICJ7I015QXBwRnVsbFZlcnNpb259IgorCisKK1tDb2RlXQor dmFyCisvLyBSZXF1aXJlZCBmb3IgU3BsYXNoIFNjcmVlbi4KK1NwbGFzaEZp bGVOYW1lIDogU3RyaW5nOworU3BsYXNoRm9ybSA6IFRGb3JtOworU3BsYXNo SW1hZ2UgOiBUQml0bWFwSW1hZ2U7CisKKworcHJvY2VkdXJlIE9wZW5TcGxh c2g7CitiZWdpbgorIFNwbGFzaEZpbGVOYW1lIDo9IEV4cGFuZENvbnN0YW50 ICgne3RtcH1cU3BsYXNoU2NyZWVuLmJtcCcpOworIEV4dHJhY3RUZW1wb3Jh cnlGaWxlICgnU3BsYXNoU2NyZWVuLmJtcCcpOworIFNwbGFzaEZvcm0gOj0g VEZvcm0uY3JlYXRlKG5pbCk7Cisgd2l0aCBTcGxhc2hGb3JtIGRvCisgYmVn aW4KKyBCb3JkZXJTdHlsZSA6PSBic05vbmU7CisgUG9zaXRpb24gOj0gcG9T Y3JlZW5DZW50ZXI7CisgLy8gQWRqdXN0IHRoZSBoZWlnaHQgYW5kIHdpZHRo IG9mIHRoZSBTcGxhc2hGb3JtIHRvIHRoZSBzaXplIG9mIHlvdXIgc3BsYXNo IGltYWdlCisgLy9DbGllbnRXaWR0aCA6PSAzMDA7CisgLy9DbGllbnRIZWln aHQgOj0gMTAzOworIGVuZDsKKyBTcGxhc2hJbWFnZSA6PSBUQml0bWFwSW1h Z2UuQ3JlYXRlKFNwbGFzaEZvcm0pOworIHdpdGggU3BsYXNoSW1hZ2UgZG8K KyBiZWdpbgorIEJpdG1hcC5Mb2FkRnJvbUZpbGUoU3BsYXNoRmlsZU5hbWUp OworIFN0cmV0Y2ggOj0gdHJ1ZTsKKyBBbGlnbiA6PSBhbENsaWVudDsKKyBQ YXJlbnQgOj0gU3BsYXNoRm9ybTsKKyBlbmQ7CitlbmQ7CisKK3Byb2NlZHVy ZSBTaG93U3BsYXNoOworYmVnaW4KKyB3aXRoIFNwbGFzaEZvcm0gZG8KKyBi ZWdpbgorIFNob3c7CisgUmVwYWludDsKKyBlbmQ7CisgQnJpbmdUb0Zyb250 QW5kUmVzdG9yZTsKK2VuZDsKKworcHJvY2VkdXJlIENsb3NlU3BsYXNoOwor YmVnaW4KKyB3aXRoIFNwbGFzaEZvcm0gZG8KKyBiZWdpbgorIENsb3NlOwor IEZyZWU7CisgZW5kOworIEJyaW5nVG9Gcm9udEFuZFJlc3RvcmU7CitlbmQ7 CisKK3Byb2NlZHVyZSBDdXJTdGVwQ2hhbmdlZChDdXJTdGVwOiBUU2V0dXBT dGVwKTsKK3ZhcgorIHZhbHVlIDogc3RyaW5nOworYmVnaW4KKyBpZiBDdXJT dGVwID0gc3NJbnN0YWxsIHRoZW4gYmVnaW4KKworIHZhbHVlIDo9IEV4cGFu ZENvbnN0YW50KCd7YXBwfScpICsgJ1x2ZV9weXRob25cTGliXHNpdGUtcGFj a2FnZXMnICsgJzsnICsKKyBFeHBhbmRDb25zdGFudCgne2FwcH0nKSArICdc dmVfcHl0aG9uXExpYicgKyAnOycgKworIEV4cGFuZENvbnN0YW50KCd7YXBw fScpICsgJ1x2ZV9weXRob25cTGliXGxpYi10aycgKyAnOycgKworIEV4cGFu ZENvbnN0YW50KCd7YXBwfScpICsgJ1x2ZV9weXRob25cRExMcyc7CisKKyBS ZWdXcml0ZVN0cmluZ1ZhbHVlKEhLRVlfQ1VSUkVOVF9VU0VSLCdTb2Z0d2Fy ZVxwZ0FkbWluIERldmVsb3BtZW50IFRlYW1ccGdBZG1pbiA0JywgJ1B5dGhv blBhdGgnLCB2YWx1ZSk7CisgZW5kOworZW5kOworCisvLyBJbml0aWFsaXpl IHRoZSBpbnN0YWxsZXIKK3Byb2NlZHVyZSBJbml0aWFsaXplV2l6YXJkOwor YmVnaW4KKyBPcGVuU3BsYXNoOworIFNob3dTcGxhc2g7CisgQ2xvc2VTcGxh c2g7CitlbmQ7CisKKy8vIGZpbmQgY3VycmVudCB2ZXJzaW9uIGJlZm9yZSBp bnN0YWxsYXRpb24KK2Z1bmN0aW9uIEluaXRpYWxpemVTZXR1cDogQm9vbGVh bjsKK3ZhciBWZXJzaW9uOiBTdHJpbmc7CitiZWdpbgorICBpZiBSZWdWYWx1 ZUV4aXN0cyhIS0VZX0xPQ0FMX01BQ0hJTkUsJ1NvZnR3YXJlXHsjTXlBcHBO YW1lfVx7I015QXBwVmVyc2lvbn0nLCAnVmVyc2lvbicpIHRoZW4KKyAgICBi ZWdpbgorICAgICAgUmVnUXVlcnlTdHJpbmdWYWx1ZShIS0VZX0xPQ0FMX01B Q0hJTkUsJ1NvZnR3YXJlXHsjTXlBcHBOYW1lfVx7I015QXBwVmVyc2lvbn0n LCAnVmVyc2lvbicsIFZlcnNpb24pOworICAgICAgaWYgVmVyc2lvbiA+ICd7 I015QXBwRnVsbFZlcnNpb259JyB0aGVuCisgICAgICAgIGJlZ2luCisgICAg ICAgICAgTXNnQm94KEV4cGFuZENvbnN0YW50KCd7Y206TmV3ZXJWZXJzaW9u RXhpc3RzfScgKyAnKCcgKyBWZXJzaW9uICsgJykgaXMgYWxyZWFkeSBpbnN0 YWxsZWQnICksIG1iSW5mb3JtYXRpb24sIE1CX09LKTsKKyAgICAgICAgICBS ZXN1bHQgOj0gRmFsc2U7CisgICAgICAgIGVuZAorICAgICAgZWxzZQorICAg ICAgICBiZWdpbgorICAgICAgICAgIFJlc3VsdCA6PSBUcnVlOworICAgICAg ICBlbmQKKyAgICBlbmQKKyAgZWxzZQorICAgIGJlZ2luCisgICAgICBSZXN1 bHQgOj0gVHJ1ZTsKKyAgICBlbmQKK2VuZDsK --001a113f8b520c06e2053087b5c4 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --001a113f8b520c06e2053087b5c4--