<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>10628</bug_id>
          
          <creation_ts>2006-08-29 11:31:29 -0700</creation_ts>
          <short_desc>Auto-generate the remaining Objective-C DOM bindings</short_desc>
          <delta_ts>2006-08-29 13:50:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>54154</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-08-29 11:31:29 -0700</bug_when>
    <thetext>Auto-generate the remaining Objective-C DOM bindings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54155</commentid>
    <comment_count>1</comment_count>
      <attachid>10299</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-08-29 11:38:48 -0700</bug_when>
    <thetext>Created attachment 10299
first patch for HTML DOM generation

Auto-generates DOMHTMLCollection, DOMHTMLElement, DOMHTMLFormElement, and DOMHTMLOptionsCollection, and lays groundwork for the rest of the HTML DOM bindings by adding/fixing the appropriate IDL&apos;s and updating the CodeGeneratorObjC.pm build script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54162</commentid>
    <comment_count>2</comment_count>
      <attachid>10299</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-08-29 12:17:39 -0700</bug_when>
    <thetext>Comment on attachment 10299
first patch for HTML DOM generation

This looks good. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54172</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-08-29 13:50:22 -0700</bug_when>
    <thetext>Landed in r16098.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10299</attachid>
            <date>2006-08-29 11:38:48 -0700</date>
            <delta_ts>2006-08-29 12:17:39 -0700</delta_ts>
            <desc>first patch for HTML DOM generation</desc>
            <filename>autoHTML2.diff</filename>
            <type>text/plain</type>
            <size>85800</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjA5MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTQgQEAKKzIwMDYtMDgtMjkgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAt
IHBhdGNoIGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNjI4CisgICAgICAgICAgQXV0by1nZW5lcmF0ZSB0aGUgcmVtYWluaW5nIE9iamVjdGl2ZS1D
IERPTSBiaW5kaW5ncworCisgICAgICAgICAgQXV0by1nZW5lcmF0ZXMgRE9NSFRNTENvbGxlY3Rp
b24sIERPTUhUTUxFbGVtZW50LCBET01IVE1MRm9ybUVsZW1lbnQsCisgICAgICAgICAgYW5kIERP
TUhUTUxPcHRpb25zQ29sbGVjdGlvbiwgYW5kIGxheXMgZ3JvdW5kd29yayBmb3IgdGhlIHJlc3Qg
b2YgdGhlIAorICAgICAgICAgIEhUTUwgRE9NIGJpbmRpbmdzIGJ5IGFkZGluZy9maXhpbmcgdGhl
IGFwcHJvcHJpYXRlIElETCdzIGFuZCB1cGRhdGluZworICAgICAgICAgIHRoZSBDb2RlR2VuZXJh
dG9yT2JqQy5wbSBidWlsZCBzY3JpcHQuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtl
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBiaW5kaW5ncy9vYmpjL0RPTS5tbToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUV4dGVu
c2lvbnMuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUhUTUwuaDoKKyAgICAgICAgKiBi
aW5kaW5ncy9vYmpjL0RPTUhUTUwubW06CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01IVE1M
SW50ZXJuYWwuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpD
LnBtOgorICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0
bWwvSFRNTEFyZWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxCYXNlRm9udEVsZW1l
bnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVtZW50LmlkbDoKKyAgICAgICAgKiBo
dG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxDb2xsZWN0aW9u
LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MRG9jdW1lbnQuaWRsOgorICAgICAgICAq
IGh0bWwvSFRNTEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZUVsZW1lbnQuaWRsOiBBZGRlZC4KKyAgICAgICAg
KiBodG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hU
TUxJRnJhbWVFbGVtZW50LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MSW1hZ2VFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsOgorICAgICAgICAq
IGh0bWwvSFRNTExhYmVsRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTGVnZW5kRWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsOgorICAgICAgICAq
IGh0bWwvSFRNTE1hcEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1l
bnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGw6
CisgICAgICAgICogaHRtbC9IVE1MUHJlRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTFN0eWxlRWxlbWVu
dC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGFibGVDYXB0aW9uRWxlbWVudC5pZGw6IEFkZGVk
LgorICAgICAgICAqIGh0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaWRsOiBBZGRlZC4KKyAgICAg
ICAgKiBodG1sL0hUTUxUYWJsZUNvbEVsZW1lbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1s
L0hUTUxUYWJsZUVsZW1lbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZVJv
d0VsZW1lbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVt
ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbDoK
KwogMjAwNi0wOC0yOCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE1hY2llai4KSW5kZXg6IFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDE2
MDcwKQorKysgV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC02
Miw2ICs2MiwxMCBAQCBhbGwgOiBcCiAgICAgRE9NTm90YXRpb24uaCBcCiAgICAgRE9NUHJvY2Vz
c2luZ0luc3RydWN0aW9uLmggXAogICAgIERPTVRleHQuaCBcCisgICAgRE9NSFRNTENvbGxlY3Rp
b24uaCBcCisgICAgRE9NSFRNTEVsZW1lbnQuaCBcCisgICAgRE9NSFRNTEZvcm1FbGVtZW50Lmgg
XAorICAgIERPTUhUTUxPcHRpb25zQ29sbGVjdGlvbi5oIFwKICAgICBIVE1MRW50aXR5TmFtZXMu
YyBcCiAgICAgSlNBdHRyLmggXAogICAgIEpTQ1NTUHJpbWl0aXZlVmFsdWUuaCBcCkluZGV4OiBX
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTYwNzAp
CisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtNDAzLDYgKzQwMywxNCBAQAogCQk4NUNBOTc1RDBBOTYyRTU0MDA2OTBDQ0YgLyog
RE9NRG9jdW1lbnRUeXBlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODVDQTk3NUIwQTk2MkU1NDAwNjkwQ0NGIC8qIERPTURvY3VtZW50VHlwZS5tbSAq
LzsgfTsKIAkJODVEMzg5QjIwQTk5MUE3RjAwMjgyMTQ1IC8qIERPTUF0dHIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RDM4OUIwMEE5OTFBN0YwMDI4
MjE0NSAvKiBET01BdHRyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJODVEMzg5QjMwQTk5MUE3RjAwMjgyMTQ1IC8qIERPTUF0dHIubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUQzODlCMTBBOTkxQTdG
MDAyODIxNDUgLyogRE9NQXR0ci5tbSAqLzsgfTsKKwkJODVERjJDNUMwQUEzNDFGNjAwQUQ2NEM1
IC8qIERPTUhUTUxGb3JtRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODVERjJDMTAwQUEzNDFGNjAwQUQ2NEM1IC8qIERPTUhUTUxGb3JtRWxl
bWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTg1REYyQzVEMEFBMzQxRjYwMEFENjRDNSAvKiBET01IVE1MRm9ybUVsZW1lbnQubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGMkMxMTBBQTM0MUY2
MDBBRDY0QzUgLyogRE9NSFRNTEZvcm1FbGVtZW50Lm1tICovOyB9OworCQk4NURGMkVFRDBBQTM4
N0NCMDBBRDY0QzUgLyogRE9NSFRNTEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1REYyRUVCMEFBMzg3Q0IwMEFENjRDNSAvKiBET01IVE1M
RWxlbWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTg1REYyRUVFMEFBMzg3Q0IwMEFENjRDNSAvKiBET01IVE1MRWxlbWVudC5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1REYyRUVDMEFBMzg3Q0Iw
MEFENjRDNSAvKiBET01IVE1MRWxlbWVudC5tbSAqLzsgfTsKKwkJODVERjJGOEUwQUEzQzg4MTAw
QUQ2NEM1IC8qIERPTUhUTUxDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGMkY4QzBBQTNDODgxMDBBRDY0QzUgLyogRE9NSFRNTENv
bGxlY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk4NURGMkY4RjBBQTNDODgxMDBBRDY0QzUgLyogRE9NSFRNTENvbGxlY3Rpb24ubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGMkY4RDBBQTND
ODgxMDBBRDY0QzUgLyogRE9NSFRNTENvbGxlY3Rpb24ubW0gKi87IH07CisJCTg1REYyRjlCMEFB
M0NBRTUwMEFENjRDNSAvKiBET01IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1REYyRjk5MEFBM0NBRTUwMEFENjRD
NSAvKiBET01IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NURGMkY5QzBBQTNDQUU1MDBBRDY0QzUgLyogRE9N
SFRNTE9wdGlvbnNDb2xsZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODVERjJGOUEwQUEzQ0FFNTAwQUQ2NEM1IC8qIERPTUhUTUxPcHRpb25z
Q29sbGVjdGlvbi5tbSAqLzsgfTsKIAkJODVFQzlBRkEwQTcxQTJDNjAwRUVFQUVEIC8qIEZvbnRE
YXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUVD
OUFGODBBNzFBMkM2MDBFRUVBRUQgLyogRm9udERhdGEuaCAqLzsgfTsKIAkJODVFQzlBRkIwQTcx
QTJDNjAwRUVFQUVEIC8qIExhbmd1YWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NUVDOUFGOTBBNzFBMkM2MDBFRUVBRUQgLyogTGFuZ3VhZ2UuaCAq
LzsgfTsKIAkJODVGNTZBN0EwQTk4Q0UzNzAwQURCNjBBIC8qIERPTVByb2Nlc3NpbmdJbnN0cnVj
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVG
NTZBNzgwQTk4Q0UzNzAwQURCNjBBIC8qIERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yMTI1LDYgKzIx
MzMsMTcgQEAKIAkJODU0RkU3MkQwQTIyOTdCRTAwNThEN0FEIC8qIFRyYXZlcnNhbC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHJhdmVyc2FsLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg1NEZFNzJFMEEyMjk3QkUwMDU4RDdBRCAvKiBUcmVlV2Fsa2VyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmVlV2Fsa2VyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODU0RkU3MkYwQTIyOTdCRTAwNThEN0FEIC8q
IFRyZWVXYWxrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRyZWVXYWxr
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU1NTQyNTcwQUE0OEIxRTAwQkE4
OUYyIC8qIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4NTU1NDI1ODBBQTQ4QjFFMDBCQTg5RjIgLyogSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MVGFibGVDZWxsRWxlbWVudC5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1NTU0MjU5MEFBNDhCMUUwMEJBODlGMiAvKiBIVE1M
VGFibGVDb2xFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTFRhYmxlQ29s
RWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1NTU0MjVBMEFBNDhC
MUUwMEJBODlGMiAvKiBIVE1MVGFibGVFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gSFRNTFRhYmxlRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1
NTU0MjVCMEFBNDhCMUUwMEJBODlGMiAvKiBIVE1MVGFibGVSb3dFbGVtZW50LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gSFRNTFRhYmxlUm93RWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTg1NTU0MjVDMEFBNDhCMUUwMEJBODlGMiAvKiBIVE1MVGFibGVTZWN0
aW9uRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxUYWJsZVNlY3Rpb25F
bGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU1NTQyOTUwQUE0OTM4
ODAwQkE4OUYyIC8qIEhUTUxGcmFtZUVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBIVE1MRnJhbWVFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU1
NTQyOTYwQUE0OTM4ODAwQkE4OUYyIC8qIEhUTUxGcmFtZVNldEVsZW1lbnQuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBIVE1MRnJhbWVTZXRFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJODU1NTQyOTcwQUE0OTM4ODAwQkE4OUYyIC8qIEhUTUxJRnJhbWVFbGVt
ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTElGcmFtZUVsZW1lbnQuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTU1NDI5ODBBQTQ5Mzg4MDBCQTg5RjIgLyog
SFRNTE9iamVjdEVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MT2JqZWN0
RWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1NTU0Mjk5MEFBNDkz
ODgwMEJBODlGMiAvKiBIVE1MU2VsZWN0RWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IEhUTUxTZWxlY3RFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODU2Qzg5RkEwQTkwRjA2ODAwNUM2ODdCIC8qIERPTU5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9N
Tm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NTZDODlGQjBBOTBGMDY4MDA1
QzY4N0IgLyogRE9NTm9kZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBET01Ob2RlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NTZDOEFFMjBB
OTEyNjQ5MDA1QzY4N0IgLyogRE9NT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01PYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxNTAs
NiArMjE2OSwxNiBAQAogCQk4NUNBOTc1QjBBOTYyRTU0MDA2OTBDQ0YgLyogRE9NRG9jdW1lbnRU
eXBlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTURvY3Vt
ZW50VHlwZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVEMzg5QjAwQTk5MUE3
RjAwMjgyMTQ1IC8qIERPTUF0dHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTUF0dHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVEMzg5QjEwQTk5MUE3
RjAwMjgyMTQ1IC8qIERPTUF0dHIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gRE9NQXR0ci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVERjJD
MTAwQUEzNDFGNjAwQUQ2NEM1IC8qIERPTUhUTUxGb3JtRWxlbWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTEZvcm1FbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTg1REYyQzExMEFBMzQxRjYwMEFENjRDNSAvKiBET01IVE1MRm9ybUVs
ZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRN
TEZvcm1FbGVtZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NURGMkVFQjBB
QTM4N0NCMDBBRDY0QzUgLyogRE9NSFRNTEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTUhUTUxFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg1REYyRUVDMEFBMzg3Q0IwMEFENjRDNSAvKiBET01IVE1MRWxlbWVudC5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01IVE1MRWxlbWVudC5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVERjJGNjkwQUEzQzc0MzAwQUQ2NEM1IC8qIEhU
TUxDb2xsZWN0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTENvbGxlY3Rpb24u
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NURGMkY4QzBBQTNDODgxMDBBRDY0
QzUgLyogRE9NSFRNTENvbGxlY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTUhUTUxDb2xsZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1
REYyRjhEMEFBM0M4ODEwMEFENjRDNSAvKiBET01IVE1MQ29sbGVjdGlvbi5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01IVE1MQ29sbGVjdGlvbi5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODVERjJGOTIwQUEzQzlCNjAwQUQ2NEM1IC8qIEhU
TUxPcHRpb25zQ29sbGVjdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxPcHRp
b25zQ29sbGVjdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1REYyRjk5
MEFBM0NBRTUwMEFENjRDNSAvKiBET01IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxPcHRpb25zQ29sbGVjdGlvbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NURGMkY5QTBBQTNDQUU1MDBBRDY0QzUgLyogRE9N
SFRNTE9wdGlvbnNDb2xsZWN0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IERPTUhUTUxPcHRpb25zQ29sbGVjdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJODVFQzlBRjgwQTcxQTJDNjAwRUVFQUVEIC8qIEZvbnREYXRhLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250RGF0YS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4NUVDOUFGOTBBNzFBMkM2MDBFRUVBRUQgLyogTGFuZ3VhZ2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExhbmd1YWdlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg1RjU2QTc4MEE5OENFMzcwMEFEQjYwQSAvKiBET01Qcm9jZXNzaW5n
SW5zdHJ1Y3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVByb2Nl
c3NpbmdJbnN0cnVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDEyNSw2
ICs0MTU0LDE0IEBACiAJCQkJODVGNTZBNzkwQTk4Q0UzNzAwQURCNjBBIC8qIERPTVByb2Nlc3Np
bmdJbnN0cnVjdGlvbi5tbSAqLywKIAkJCQk4NUFDQTk5QTBBOUI1NzU5MDA2NzFFOTAgLyogRE9N
VGV4dC5oICovLAogCQkJCTg1QUNBOTlCMEE5QjU3NTkwMDY3MUU5MCAvKiBET01UZXh0Lm1tICov
LAorCQkJCTg1REYyRjhDMEFBM0M4ODEwMEFENjRDNSAvKiBET01IVE1MQ29sbGVjdGlvbi5oICov
LAorCQkJCTg1REYyRjhEMEFBM0M4ODEwMEFENjRDNSAvKiBET01IVE1MQ29sbGVjdGlvbi5tbSAq
LywKKwkJCQk4NURGMkVFQjBBQTM4N0NCMDBBRDY0QzUgLyogRE9NSFRNTEVsZW1lbnQuaCAqLywK
KwkJCQk4NURGMkVFQzBBQTM4N0NCMDBBRDY0QzUgLyogRE9NSFRNTEVsZW1lbnQubW0gKi8sCisJ
CQkJODVERjJDMTAwQUEzNDFGNjAwQUQ2NEM1IC8qIERPTUhUTUxGb3JtRWxlbWVudC5oICovLAor
CQkJCTg1REYyQzExMEFBMzQxRjYwMEFENjRDNSAvKiBET01IVE1MRm9ybUVsZW1lbnQubW0gKi8s
CisJCQkJODVERjJGOTkwQUEzQ0FFNTAwQUQ2NEM1IC8qIERPTUhUTUxPcHRpb25zQ29sbGVjdGlv
bi5oICovLAorCQkJCTg1REYyRjlBMEFBM0NBRTUwMEFENjRDNSAvKiBET01IVE1MT3B0aW9uc0Nv
bGxlY3Rpb24ubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9ICJEZXJpdmVkIFNvdXJjZXMiOwogCQkJ
cGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYkNvcmU7CkBAIC00MzAzLDYgKzQzNDAsNyBAQAogCQkJ
CTkzOEU2NjI1MDlGMDk5NTYwMDhBNDhFQyAvKiBIVE1MQ2FudmFzRWxlbWVudC5pZGwgKi8sCiAJ
CQkJQThERjNGQzkwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxDb2xsZWN0aW9uLmNwcCAqLywKIAkJ
CQlBOERGM0ZDODA5N0ZBMEZCMDA1Mjk4MUIgLyogSFRNTENvbGxlY3Rpb24uaCAqLywKKwkJCQk4
NURGMkY2OTBBQTNDNzQzMDBBRDY0QzUgLyogSFRNTENvbGxlY3Rpb24uaWRsICovLAogCQkJCUE4
RUE3OUVEMEExOTE2REYwMEE4RUY1RiAvKiBIVE1MRGlyZWN0b3J5RWxlbWVudC5jcHAgKi8sCiAJ
CQkJQThFQTc5RUUwQTE5MTZERjAwQThFRjVGIC8qIEhUTUxEaXJlY3RvcnlFbGVtZW50LmggKi8s
CiAJCQkJMUE4NUIxRDkwQTFCMjNBNDAwRDhDODdDIC8qIEhUTUxEaXJlY3RvcnlFbGVtZW50Lmlk
bCAqLywKQEAgLTQzMzUsOCArNDM3MywxMCBAQAogCQkJCUE4RDA2NEVGMEEyM0JGRUEwMDVFNzIw
MyAvKiBIVE1MRm9ybUVsZW1lbnQuaWRsICovLAogCQkJCUE4NzFERTE3MEExNTJBQzgwMEIxMkE2
OCAvKiBIVE1MRnJhbWVFbGVtZW50LmNwcCAqLywKIAkJCQlBODcxREUxRjBBMTUyQUM4MDBCMTJB
NjggLyogSFRNTEZyYW1lRWxlbWVudC5oICovLAorCQkJCTg1NTU0Mjk1MEFBNDkzODgwMEJBODlG
MiAvKiBIVE1MRnJhbWVFbGVtZW50LmlkbCAqLywKIAkJCQlBODcxREUyMjBBMTUyQUM4MDBCMTJB
NjggLyogSFRNTEZyYW1lU2V0RWxlbWVudC5jcHAgKi8sCiAJCQkJQTg3MURFMUMwQTE1MkFDODAw
QjEyQTY4IC8qIEhUTUxGcmFtZVNldEVsZW1lbnQuaCAqLywKKwkJCQk4NTU1NDI5NjBBQTQ5Mzg4
MDBCQTg5RjIgLyogSFRNTEZyYW1lU2V0RWxlbWVudC5pZGwgKi8sCiAJCQkJQTgxMzY5QjMwOTcz
NzRGNTAwRDc0NDYzIC8qIEhUTUxHZW5lcmljRm9ybUVsZW1lbnQuY3BwICovLAogCQkJCUE4MTM2
OUIyMDk3Mzc0RjUwMEQ3NDQ2MyAvKiBIVE1MR2VuZXJpY0Zvcm1FbGVtZW50LmggKi8sCiAJCQkJ
QTg3MURFMTkwQTE1MkFDODAwQjEyQTY4IC8qIEhUTUxIZWFkRWxlbWVudC5jcHAgKi8sCkBAIC00
MzUzLDYgKzQzOTMsNyBAQAogCQkJCTFBODVCMTdEMEExQjE4MzYwMEQ4Qzg3QyAvKiBIVE1MSHRt
bEVsZW1lbnQuaWRsICovLAogCQkJCUE4NzFERTE4MEExNTJBQzgwMEIxMkE2OCAvKiBIVE1MSUZy
YW1lRWxlbWVudC5jcHAgKi8sCiAJCQkJQTg3MURFMUUwQTE1MkFDODAwQjEyQTY4IC8qIEhUTUxJ
RnJhbWVFbGVtZW50LmggKi8sCisJCQkJODU1NTQyOTcwQUE0OTM4ODAwQkE4OUYyIC8qIEhUTUxJ
RnJhbWVFbGVtZW50LmlkbCAqLywKIAkJCQlBOEVBN0QyOTBBMTkzODU1MDBBOEVGNUYgLyogSFRN
TEltYWdlRWxlbWVudC5jcHAgKi8sCiAJCQkJQThFQTdEMjUwQTE5Mzg1NTAwQThFRjVGIC8qIEhU
TUxJbWFnZUVsZW1lbnQuaCAqLywKIAkJCQkxQUUyQUE3OTBBMUNEQzYxMDBCNDJCMjUgLyogSFRN
TEltYWdlRWxlbWVudC5pZGwgKi8sCkBAIC00Mzk2LDYgKzQ0MzcsNyBAQAogCQkJCUE4REYzRkND
MDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MTmFtZUNvbGxlY3Rpb24uaCAqLywKIAkJCQlBODcxRDQ1
MTBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTE9iamVjdEVsZW1lbnQuY3BwICovLAogCQkJCUE4NzFE
NDUwMEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MT2JqZWN0RWxlbWVudC5oICovLAorCQkJCTg1NTU0
Mjk4MEFBNDkzODgwMEJBODlGMiAvKiBIVE1MT2JqZWN0RWxlbWVudC5pZGwgKi8sCiAJCQkJQThF
QTc5RUYwQTE5MTZERjAwQThFRjVGIC8qIEhUTUxPTGlzdEVsZW1lbnQuY3BwICovLAogCQkJCUE4
RUE3OUU1MEExOTE2REYwMEE4RUY1RiAvKiBIVE1MT0xpc3RFbGVtZW50LmggKi8sCiAJCQkJMUE4
NUIxQ0IwQTFCMjJEQzAwRDhDODdDIC8qIEhUTUxPTGlzdEVsZW1lbnQuaWRsICovLApAQCAtNDQw
Nyw2ICs0NDQ5LDcgQEAKIAkJCQlBODBFN0UxODBBMUE3Q0NCMDA3RkI4QzUgLyogSFRNTE9wdGlv
bkVsZW1lbnQuaWRsICovLAogCQkJCTkzMjdBOTQxMDk5NjhEMUEwMDY4QTU0NiAvKiBIVE1MT3B0
aW9uc0NvbGxlY3Rpb24uY3BwICovLAogCQkJCUE4MTM2OUJFMDk3Mzc0RjUwMEQ3NDQ2MyAvKiBI
VE1MT3B0aW9uc0NvbGxlY3Rpb24uaCAqLywKKwkJCQk4NURGMkY5MjBBQTNDOUI2MDBBRDY0QzUg
LyogSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbCAqLywKIAkJCQlBOEVBN0NBNDBBMTkyQjlDMDBB
OEVGNUYgLyogSFRNTFBhcmFncmFwaEVsZW1lbnQuY3BwICovLAogCQkJCUE4RUE3Q0E3MEExOTJC
OUMwMEE4RUY1RiAvKiBIVE1MUGFyYWdyYXBoRWxlbWVudC5oICovLAogCQkJCTFBRTJBQjYxMEEx
Q0U3Q0EwMEI0MkIyNSAvKiBIVE1MUGFyYWdyYXBoRWxlbWVudC5pZGwgKi8sCkBAIC00NDI4LDIz
ICs0NDcxLDMwIEBACiAJCQkJMUFFMkFCOTYwQTFDRTg4RDAwQjQyQjI1IC8qIEhUTUxTY3JpcHRF
bGVtZW50LmlkbCAqLywKIAkJCQlBODEzNjlCRDA5NzM3NEY1MDBENzQ0NjMgLyogSFRNTFNlbGVj
dEVsZW1lbnQuY3BwICovLAogCQkJCUE4MTM2OUJDMDk3Mzc0RjUwMEQ3NDQ2MyAvKiBIVE1MU2Vs
ZWN0RWxlbWVudC5oICovLAorCQkJCTg1NTU0Mjk5MEFBNDkzODgwMEJBODlGMiAvKiBIVE1MU2Vs
ZWN0RWxlbWVudC5pZGwgKi8sCiAJCQkJQTg3MURDMUEwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxT
dHlsZUVsZW1lbnQuY3BwICovLAogCQkJCUE4NzFEQzE3MEExNTIwNTcwMEIxMkE2OCAvKiBIVE1M
U3R5bGVFbGVtZW50LmggKi8sCiAJCQkJQTgwRTdBQjIwQTE5RDFGMTAwN0ZCOEM1IC8qIEhUTUxT
dHlsZUVsZW1lbnQuaWRsICovLAogCQkJCUE4NzFEQjI0MEExNTBCRDYwMEIxMkE2OCAvKiBIVE1M
VGFibGVDYXB0aW9uRWxlbWVudC5jcHAgKi8sCiAJCQkJQTg3MURCMUQwQTE1MEJENjAwQjEyQTY4
IC8qIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50LmggKi8sCisJCQkJODU1NTQyNTcwQUE0OEIxRTAw
QkE4OUYyIC8qIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50LmlkbCAqLywKIAkJCQlBODcxREIyMDBB
MTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ2VsbEVsZW1lbnQuY3BwICovLAogCQkJCUE4NzFE
QjFDMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFibGVDZWxsRWxlbWVudC5oICovLAorCQkJCTg1
NTU0MjU4MEFBNDhCMUUwMEJBODlGMiAvKiBIVE1MVGFibGVDZWxsRWxlbWVudC5pZGwgKi8sCiAJ
CQkJQTg3MURCMUIwQTE1MEJENjAwQjEyQTY4IC8qIEhUTUxUYWJsZUNvbEVsZW1lbnQuY3BwICov
LAogCQkJCUE4NzFEQjIxMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFibGVDb2xFbGVtZW50Lmgg
Ki8sCisJCQkJODU1NTQyNTkwQUE0OEIxRTAwQkE4OUYyIC8qIEhUTUxUYWJsZUNvbEVsZW1lbnQu
aWRsICovLAogCQkJCUE4NzFEQjFBMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFibGVFbGVtZW50
LmNwcCAqLywKIAkJCQlBODcxREIxOTBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlRWxlbWVu
dC5oICovLAorCQkJCTg1NTU0MjVBMEFBNDhCMUUwMEJBODlGMiAvKiBIVE1MVGFibGVFbGVtZW50
LmlkbCAqLywKIAkJCQlBODcxREIxRjBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlUGFydEVs
ZW1lbnQuY3BwICovLAogCQkJCUE4NzFEQjFFMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFibGVQ
YXJ0RWxlbWVudC5oICovLAogCQkJCUE4NzFEQjIyMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1MVGFi
bGVSb3dFbGVtZW50LmNwcCAqLywKIAkJCQlBODcxREIyMzBBMTUwQkQ2MDBCMTJBNjggLyogSFRN
TFRhYmxlUm93RWxlbWVudC5oICovLAorCQkJCTg1NTU0MjVCMEFBNDhCMUUwMEJBODlGMiAvKiBI
VE1MVGFibGVSb3dFbGVtZW50LmlkbCAqLywKIAkJCQlBODcxREIxODBBMTUwQkQ2MDBCMTJBNjgg
LyogSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuY3BwICovLAogCQkJCUE4NzFEQjE3MEExNTBCRDYw
MEIxMkE2OCAvKiBIVE1MVGFibGVTZWN0aW9uRWxlbWVudC5oICovLAorCQkJCTg1NTU0MjVDMEFB
NDhCMUUwMEJBODlGMiAvKiBIVE1MVGFibGVTZWN0aW9uRWxlbWVudC5pZGwgKi8sCiAJCQkJQTgx
MzY5QkIwOTczNzRGNTAwRDc0NDYzIC8qIEhUTUxUZXh0QXJlYUVsZW1lbnQuY3BwICovLAogCQkJ
CUE4MTM2OUJBMDk3Mzc0RjUwMEQ3NDQ2MyAvKiBIVE1MVGV4dEFyZWFFbGVtZW50LmggKi8sCiAJ
CQkJQTgwRTdFMTYwQTFBN0NDQjAwN0ZCOEM1IC8qIEhUTUxUZXh0QXJlYUVsZW1lbnQuaWRsICov
LApAQCAtNjU4OSw2ICs2NjM5LDEwIEBACiAJCQkJQkM4MzdDQjYwQTlEMTBGRTAwNkIxODZBIC8q
IEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUE4
NEZDODYwQUEwRkUwODAwNzY5OUFGIC8qIEpTU1ZHTWV0YWRhdGFFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBQUM4REFCMjBBQTEwMDIwMDBEQzA5MDcgLyogU1ZHTWV0YWRhdGFFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NURGMkM1QzBBQTM0MUY2MDBBRDY0QzUgLyogRE9NSFRN
TEZvcm1FbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NURGMkVFRDBBQTM4N0NCMDBBRDY0
QzUgLyogRE9NSFRNTEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1REYyRjhFMEFBM0M4
ODEwMEFENjRDNSAvKiBET01IVE1MQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJODVE
RjJGOUIwQUEzQ0FFNTAwQUQ2NEM1IC8qIERPTUhUTUxPcHRpb25zQ29sbGVjdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCX07CkBAIC03NDkxLDYgKzc1NDUsMTAgQEAKIAkJCQlCQzgzN0M3QjBBOUQwRDFBMDA2
QjE4NkEgLyogUERGRG9jdW1lbnRJbWFnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBQTg0RkM4
NTBBQTBGRTA4MDA3Njk5QUYgLyogSlNTVkdNZXRhZGF0YUVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQUFDOERBQjEwQUExMDAyMDAwREMwOTA3IC8qIFNWR01ldGFkYXRhRWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk4NURGMkM1RDBBQTM0MUY2MDBBRDY0QzUgLyogRE9NSFRN
TEZvcm1FbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODVERjJFRUUwQUEzODdDQjAwQUQ2
NEM1IC8qIERPTUhUTUxFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODVERjJGOEYwQUEz
Qzg4MTAwQUQ2NEM1IC8qIERPTUhUTUxDb2xsZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJ
ODVERjJGOUMwQUEzQ0FFNTAwQUQ2NEM1IC8qIERPTUhUTUxPcHRpb25zQ29sbGVjdGlvbi5tbSBp
biBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NLm1tCShyZXZpc2lvbiAxNjA3MCkKKysr
IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET00ubW0JKHdvcmtpbmcgY29weSkKQEAgLTg0LDYgKzg0
LDEyIEBACiAjaW1wb3J0ICJET01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCIKICNpbXBvcnQgIkRP
TVRleHQuaCIKIAorLy8gR2VuZXJhdGVkIE9iamVjdGl2ZS1DIEJpbmRpbmdzCisjaW1wb3J0ICJE
T01IVE1MQ29sbGVjdGlvbi5oIgorI2ltcG9ydCAiRE9NSFRNTEVsZW1lbnQuaCIKKyNpbXBvcnQg
IkRPTUhUTUxGb3JtRWxlbWVudC5oIgorI2ltcG9ydCAiRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9u
LmgiCisKICNpbXBvcnQgPG9iamMvb2JqYy1jbGFzcy5oPgogCiB1c2luZyBXZWJDb3JlOjpBdG9t
aWNTdHJpbmc7CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXh0ZW5zaW9ucy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01FeHRlbnNpb25zLmgJKHJldmlz
aW9uIDE2MDcwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUV4dGVuc2lvbnMuaAkod29y
a2luZyBjb3B5KQpAQCAtMzMsNiArMzMsOCBAQAogI2ltcG9ydCA8V2ViQ29yZS9ET01Ob2RlLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0RPTVJhbmdlLmg+CiAKKyNpbXBvcnQgPFdlYkNvcmUvRE9NSFRN
TEVsZW1lbnQuaD4KKwogQGNsYXNzIE5TQ29sb3I7CiBAY2xhc3MgTlNJbWFnZTsKIEBjbGFzcyBE
T01IVE1MQ29sbGVjdGlvbjsKQEAgLTUxLDIwICs1MywzMCBAQAogLSAoRE9NRG9jdW1lbnRGcmFn
bWVudCAqKWNyZWF0ZURvY3VtZW50RnJhZ21lbnRXaXRoVGV4dDooTlNTdHJpbmcgKil0ZXh0Owog
QGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxFbGVtZW50IChET01IVE1MRWxlbWVudEV4dGVuc2lv
bnMpCi0tIChOU1N0cmluZyAqKWlubmVySFRNTDsKLS0gKHZvaWQpc2V0SW5uZXJIVE1MOihOU1N0
cmluZyAqKWlubmVySFRNTDsKLS0gKE5TU3RyaW5nICopaW5uZXJUZXh0OwotLSAodm9pZClzZXRJ
bm5lclRleHQ6KE5TU3RyaW5nICopaW5uZXJUZXh0OwotLSAoTlNTdHJpbmcgKilvdXRlckhUTUw7
Ci0tICh2b2lkKXNldE91dGVySFRNTDooTlNTdHJpbmcgKilvdXRlckhUTUw7Ci0tIChOU1N0cmlu
ZyAqKW91dGVyVGV4dDsKLS0gKHZvaWQpc2V0T3V0ZXJUZXh0OihOU1N0cmluZyAqKW91dGVyVGV4
dDsKLS0gKERPTUhUTUxDb2xsZWN0aW9uICopY2hpbGRyZW47Ci0tIChOU1N0cmluZyAqKWNvbnRl
bnRFZGl0YWJsZTsKLS0gKHZvaWQpc2V0Q29udGVudEVkaXRhYmxlOihOU1N0cmluZyAqKWNvbnRl
bnRFZGl0YWJsZTsKLS0gKEJPT0wpaXNDb250ZW50RWRpdGFibGU7Ci0tIChOU1N0cmluZyAqKXRp
dGxlRGlzcGxheVN0cmluZzsKK0BpbnRlcmZhY2UgRE9NSFRNTElucHV0RWxlbWVudCAoRE9NSFRN
TElucHV0RWxlbWVudEV4dGVuc2lvbnMpCistIChOU1N0cmluZyAqKWFsdERpc3BsYXlTdHJpbmc7
CistIChOU1VSTCAqKWFic29sdXRlSW1hZ2VVUkw7CitAZW5kCisKK0BpbnRlcmZhY2UgRE9NSFRN
TEltYWdlRWxlbWVudCAoRE9NSFRNTEltYWdlRWxlbWVudEV4dGVuc2lvbnMpCistIChOU1N0cmlu
ZyAqKWFsdERpc3BsYXlTdHJpbmc7CistIChOU1VSTCAqKWFic29sdXRlSW1hZ2VVUkw7CitAZW5k
CisKK0BpbnRlcmZhY2UgRE9NSFRNTE9iamVjdEVsZW1lbnQgKERPTUhUTUxPYmplY3RFbGVtZW50
RXh0ZW5zaW9ucykKKy0gKE5TVVJMICopYWJzb2x1dGVJbWFnZVVSTDsKK0BlbmQKKworQGludGVy
ZmFjZSBET01IVE1MQW5jaG9yRWxlbWVudCAoRE9NSFRNTEFuY2hvckVsZW1lbnRFeHRlbnNpb25z
KQorLSAoTlNVUkwgKilhYnNvbHV0ZUxpbmtVUkw7CitAZW5kCisKK0BpbnRlcmZhY2UgRE9NSFRN
TEFyZWFFbGVtZW50IChET01IVE1MQXJlYUVsZW1lbnRFeHRlbnNpb25zKQorLSAoTlNVUkwgKilh
YnNvbHV0ZUxpbmtVUkw7CitAZW5kCisKK0BpbnRlcmZhY2UgRE9NSFRNTExpbmtFbGVtZW50IChE
T01IVE1MTGlua0VsZW1lbnRFeHRlbnNpb25zKQorLSAoTlNVUkwgKilhYnNvbHV0ZUxpbmtVUkw7
CiBAZW5kCiAKIEBpbnRlcmZhY2UgRE9NSFRNTEVtYmVkRWxlbWVudCA6IERPTUhUTUxFbGVtZW50
CkBAIC05NSwyOSArMTA3LDMgQEAKIEBpbnRlcmZhY2UgRE9NUmFuZ2UgKERPTVJhbmdlRXh0ZW5z
aW9ucykKIC0gKE5TU3RyaW5nICopdGV4dDsKIEBlbmQKLQotQGludGVyZmFjZSBET01IVE1MSW5w
dXRFbGVtZW50IChET01IVE1MSW5wdXRFbGVtZW50RXh0ZW5zaW9ucykKLS0gKE5TU3RyaW5nICop
YWx0RGlzcGxheVN0cmluZzsKLS0gKE5TVVJMICopYWJzb2x1dGVJbWFnZVVSTDsKLUBlbmQKLQot
QGludGVyZmFjZSBET01IVE1MSW1hZ2VFbGVtZW50IChET01IVE1MSW1hZ2VFbGVtZW50RXh0ZW5z
aW9ucykKLS0gKE5TU3RyaW5nICopYWx0RGlzcGxheVN0cmluZzsKLS0gKE5TVVJMICopYWJzb2x1
dGVJbWFnZVVSTDsKLUBlbmQKLQotQGludGVyZmFjZSBET01IVE1MT2JqZWN0RWxlbWVudCAoRE9N
SFRNTE9iamVjdEVsZW1lbnRFeHRlbnNpb25zKQotLSAoTlNVUkwgKilhYnNvbHV0ZUltYWdlVVJM
OwotQGVuZAotCi1AaW50ZXJmYWNlIERPTUhUTUxBbmNob3JFbGVtZW50IChET01IVE1MQW5jaG9y
RWxlbWVudEV4dGVuc2lvbnMpCi0tIChOU1VSTCAqKWFic29sdXRlTGlua1VSTDsKLUBlbmQKLQot
QGludGVyZmFjZSBET01IVE1MQXJlYUVsZW1lbnQgKERPTUhUTUxBcmVhRWxlbWVudEV4dGVuc2lv
bnMpCi0tIChOU1VSTCAqKWFic29sdXRlTGlua1VSTDsKLUBlbmQKLQotQGludGVyZmFjZSBET01I
VE1MTGlua0VsZW1lbnQgKERPTUhUTUxMaW5rRWxlbWVudEV4dGVuc2lvbnMpCi0tIChOU1VSTCAq
KWFic29sdXRlTGlua1VSTDsKLUBlbmQKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01I
VE1MLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUwuaAkocmV2
aXNpb24gMTYwNzApCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yNSwyNCArMjUsMTQgQEAKIAogI2ltcG9ydCA8V2ViQ29yZS9ET01Db3JlLmg+
CiAKLUBjbGFzcyBET01IVE1MRWxlbWVudDsKLUBjbGFzcyBET01IVE1MRm9ybUVsZW1lbnQ7Cisj
aW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxDb2xsZWN0aW9uLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RP
TUhUTUxFbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxGb3JtRWxlbWVudC5oPgor
I2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaD4KKwogQGNsYXNzIERP
TUhUTUxUYWJsZUNhcHRpb25FbGVtZW50OwogQGNsYXNzIERPTUhUTUxUYWJsZVNlY3Rpb25FbGVt
ZW50OwogCi1AaW50ZXJmYWNlIERPTUhUTUxDb2xsZWN0aW9uIDogRE9NT2JqZWN0Ci0tICh1bnNp
Z25lZClsZW5ndGg7Ci0tIChET01Ob2RlICopaXRlbToodW5zaWduZWQpaW5kZXg7Ci0tIChET01O
b2RlICopbmFtZWRJdGVtOihOU1N0cmluZyAqKW5hbWU7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9N
SFRNTE9wdGlvbnNDb2xsZWN0aW9uIDogRE9NT2JqZWN0Ci0tICh1bnNpZ25lZClsZW5ndGg7Ci0t
ICh2b2lkKXNldExlbmd0aDoodW5zaWduZWQpbGVuZ3RoOwotLSAoRE9NTm9kZSAqKWl0ZW06KHVu
c2lnbmVkKWluZGV4OwotLSAoRE9NTm9kZSAqKW5hbWVkSXRlbTooTlNTdHJpbmcgKiluYW1lOwot
QGVuZAotCiBAaW50ZXJmYWNlIERPTUhUTUxEb2N1bWVudCA6IERPTURvY3VtZW50CiAtIChOU1N0
cmluZyAqKXRpdGxlOwogLSAodm9pZClzZXRUaXRsZTooTlNTdHJpbmcgKil0aXRsZTsKQEAgLTY2
LDE5ICs1Niw2IEBACiAtIChET01Ob2RlTGlzdCAqKWdldEVsZW1lbnRzQnlOYW1lOihOU1N0cmlu
ZyAqKWVsZW1lbnROYW1lOwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUhUTUxFbGVtZW50IDogRE9N
RWxlbWVudAotLSAoTlNTdHJpbmcgKilpZE5hbWU7Ci0tICh2b2lkKXNldElkTmFtZTooTlNTdHJp
bmcgKilpZE5hbWU7Ci0tIChOU1N0cmluZyAqKXRpdGxlOwotLSAodm9pZClzZXRUaXRsZTooTlNT
dHJpbmcgKil0aXRsZTsKLS0gKE5TU3RyaW5nICopbGFuZzsKLS0gKHZvaWQpc2V0TGFuZzooTlNT
dHJpbmcgKilsYW5nOwotLSAoTlNTdHJpbmcgKilkaXI7Ci0tICh2b2lkKXNldERpcjooTlNTdHJp
bmcgKilkaXI7Ci0tIChOU1N0cmluZyAqKWNsYXNzTmFtZTsKLS0gKHZvaWQpc2V0Q2xhc3NOYW1l
OihOU1N0cmluZyAqKWNsYXNzTmFtZTsKLUBlbmQKLQogQGludGVyZmFjZSBET01IVE1MSHRtbEVs
ZW1lbnQgOiBET01IVE1MRWxlbWVudAogLSAoTlNTdHJpbmcgKil2ZXJzaW9uOwogLSAodm9pZClz
ZXRWZXJzaW9uOihOU1N0cmluZyAqKXZlcnNpb247CkBAIC0xNjMsMjUgKzE0MCw2IEBACiAtICh2
b2lkKXNldFZMaW5rOihOU1N0cmluZyAqKXZMaW5rOwogQGVuZAogCi1AaW50ZXJmYWNlIERPTUhU
TUxGb3JtRWxlbWVudCA6IERPTUhUTUxFbGVtZW50Ci0tIChET01IVE1MQ29sbGVjdGlvbiAqKWVs
ZW1lbnRzOwotLSAoaW50KWxlbmd0aDsKLS0gKE5TU3RyaW5nICopbmFtZTsKLS0gKHZvaWQpc2V0
TmFtZTooTlNTdHJpbmcgKiluYW1lOwotLSAoTlNTdHJpbmcgKilhY2NlcHRDaGFyc2V0OwotLSAo
dm9pZClzZXRBY2NlcHRDaGFyc2V0OihOU1N0cmluZyAqKWFjY2VwdENoYXJzZXQ7Ci0tIChOU1N0
cmluZyAqKWFjdGlvbjsKLS0gKHZvaWQpc2V0QWN0aW9uOihOU1N0cmluZyAqKWFjdGlvbjsKLS0g
KE5TU3RyaW5nICopZW5jdHlwZTsKLS0gKHZvaWQpc2V0RW5jdHlwZTooTlNTdHJpbmcgKillbmN0
eXBlOwotLSAoTlNTdHJpbmcgKiltZXRob2Q7Ci0tICh2b2lkKXNldE1ldGhvZDooTlNTdHJpbmcg
KiltZXRob2Q7Ci0tIChOU1N0cmluZyAqKXRhcmdldDsKLS0gKHZvaWQpc2V0VGFyZ2V0OihOU1N0
cmluZyAqKXRhcmdldDsKLS0gKHZvaWQpc3VibWl0OwotLSAodm9pZClyZXNldDsKLUBlbmQKLQog
QGludGVyZmFjZSBET01IVE1MU2VsZWN0RWxlbWVudCA6IERPTUhUTUxFbGVtZW50CiAtIChOU1N0
cmluZyAqKXR5cGU7CiAtIChpbnQpc2VsZWN0ZWRJbmRleDsKSW5kZXg6IFdlYkNvcmUvYmluZGlu
Z3Mvb2JqYy9ET01IVE1MLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9E
T01IVE1MLm1tCShyZXZpc2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01I
VE1MLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05OCw4MCArOTgsOSBAQCB1c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOwogLy8gRklYTUU6IFRoaXMgY29kZSBzaG91bGQgYmUgdXNpbmcgdGhlIGltcGwg
bWV0aG9kcyBpbnN0ZWFkIG9mIGRvaW5nIHNvIG1hbnkgZ2V0L3NldEF0dHJpYnV0ZSBjYWxscy4K
IC8vIEZJWE1FOiBUaGlzIGNvZGUgc2hvdWxkIGJlIGdlbmVyYXRlZC4KIAotQGludGVyZmFjZSBE
T01IVE1MQ29sbGVjdGlvbiAoV2ViQ29yZUludGVybmFsKQotKyAoRE9NSFRNTENvbGxlY3Rpb24g
KilfY29sbGVjdGlvbldpdGg6KEhUTUxDb2xsZWN0aW9uICopaW1wbDsKLUBlbmQKLQotQGludGVy
ZmFjZSBET01IVE1MRWxlbWVudCAoV2ViQ29yZUludGVybmFsKQotKyAoRE9NSFRNTEVsZW1lbnQg
KilfZWxlbWVudFdpdGg6KEhUTUxFbGVtZW50ICopaW1wbDsKLS0gKEhUTUxFbGVtZW50ICopX0hU
TUxFbGVtZW50OwotQGVuZAotCi1AaW50ZXJmYWNlIERPTUhUTUxGb3JtRWxlbWVudCAoV2ViQ29y
ZUludGVybmFsKQotKyAoRE9NSFRNTEZvcm1FbGVtZW50ICopX2Zvcm1FbGVtZW50V2l0aDooSFRN
TEZvcm1FbGVtZW50ICopaW1wbDsKLUBlbmQKLQotQGludGVyZmFjZSBET01IVE1MVGFibGVDYXB0
aW9uRWxlbWVudCAoV2ViQ29yZUludGVybmFsKQotKyAoRE9NSFRNTFRhYmxlQ2FwdGlvbkVsZW1l
bnQgKilfdGFibGVDYXB0aW9uRWxlbWVudFdpdGg6KEhUTUxUYWJsZUNhcHRpb25FbGVtZW50ICop
aW1wbDsKLS0gKEhUTUxUYWJsZUNhcHRpb25FbGVtZW50ICopX3RhYmxlQ2FwdGlvbkVsZW1lbnQ7
Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgKFdlYkNvcmVJ
bnRlcm5hbCkKLSsgKERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50ICopX3RhYmxlU2VjdGlvbkVs
ZW1lbnRXaXRoOihIVE1MVGFibGVTZWN0aW9uRWxlbWVudCAqKWltcGw7Ci0tIChIVE1MVGFibGVT
ZWN0aW9uRWxlbWVudCAqKV90YWJsZVNlY3Rpb25FbGVtZW50OwotQGVuZAotCi1AaW50ZXJmYWNl
IERPTUhUTUxUYWJsZUVsZW1lbnQgKFdlYkNvcmVJbnRlcm5hbCkKLSsgKERPTUhUTUxUYWJsZUVs
ZW1lbnQgKilfdGFibGVFbGVtZW50V2l0aDooSFRNTFRhYmxlRWxlbWVudCAqKWltcGw7Ci0tIChI
VE1MVGFibGVFbGVtZW50ICopX3RhYmxlRWxlbWVudDsKLUBlbmQKLQotQGludGVyZmFjZSBET01I
VE1MVGFibGVDZWxsRWxlbWVudCAoV2ViQ29yZUludGVybmFsKQotKyAoRE9NSFRNTFRhYmxlQ2Vs
bEVsZW1lbnQgKilfdGFibGVDZWxsRWxlbWVudFdpdGg6KEhUTUxUYWJsZUNlbGxFbGVtZW50ICop
aW1wbDsKLS0gKEhUTUxUYWJsZUNlbGxFbGVtZW50ICopX3RhYmxlQ2VsbEVsZW1lbnQ7Ci1AZW5k
CiAKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUBpbXBsZW1lbnRhdGlv
biBET01IVE1MQ29sbGVjdGlvbgotCi0tICh2b2lkKWRlYWxsb2MKLXsKLSAgICBpZiAoX2ludGVy
bmFsKSB7Ci0gICAgICAgIERPTV9jYXN0PEhUTUxDb2xsZWN0aW9uKj4oX2ludGVybmFsKS0+ZGVy
ZWYoKTsKLSAgICB9Ci0gICAgW3N1cGVyIGRlYWxsb2NdOwotfQotCi0tICh2b2lkKWZpbmFsaXpl
Ci17Ci0gICAgaWYgKF9pbnRlcm5hbCkgewotICAgICAgICBET01fY2FzdDxIVE1MQ29sbGVjdGlv
bio+KF9pbnRlcm5hbCktPmRlcmVmKCk7Ci0gICAgfQotICAgIFtzdXBlciBmaW5hbGl6ZV07Ci19
Ci0KLS0gKEhUTUxDb2xsZWN0aW9uICopX2NvbGxlY3Rpb24KLXsKLSAgICByZXR1cm4gRE9NX2Nh
c3Q8SFRNTENvbGxlY3Rpb24qPihfaW50ZXJuYWwpOwotfQotCi0tICh1bnNpZ25lZClsZW5ndGgK
LXsKLSAgICByZXR1cm4gW3NlbGYgX2NvbGxlY3Rpb25dLT5sZW5ndGgoKTsKLX0KLQotLSAoRE9N
Tm9kZSAqKWl0ZW06KHVuc2lnbmVkKWluZGV4Ci17Ci0gICAgcmV0dXJuIFtET01Ob2RlIF9ub2Rl
V2l0aDpbc2VsZiBfY29sbGVjdGlvbl0tPml0ZW0oaW5kZXgpXTsKLX0KLQotLSAoRE9NTm9kZSAq
KW5hbWVkSXRlbTooTlNTdHJpbmcgKiluYW1lCi17Ci0gICAgcmV0dXJuIFtET01Ob2RlIF9ub2Rl
V2l0aDpbc2VsZiBfY29sbGVjdGlvbl0tPm5hbWVkSXRlbShuYW1lKV07Ci19Ci0KLUBlbmQKKy8v
IERPTUhUTUxDb2xsZWN0aW9uCiAKIEBpbXBsZW1lbnRhdGlvbiBET01IVE1MQ29sbGVjdGlvbiAo
V2ViQ29yZUludGVybmFsKQogCkBAIC0yMDEsMjMgKzEzMCwxMSBAQCB1c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOwogCiBAZW5kCiAKLUBpbXBsZW1lbnRhdGlvbiBET01IVE1MT3B0aW9uc0NvbGxl
Y3Rpb24KIAotLSAodm9pZClkZWFsbG9jCi17Ci0gICAgaWYgKF9pbnRlcm5hbCkgewotICAgICAg
ICBET01fY2FzdDxIVE1MT3B0aW9uc0NvbGxlY3Rpb24qPihfaW50ZXJuYWwpLT5kZXJlZigpOwot
ICAgIH0KLSAgICBbc3VwZXIgZGVhbGxvY107Ci19CisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorLy8gRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9uCiAKLS0gKHZvaWQpZmluYWxp
emUKLXsKLSAgICBpZiAoX2ludGVybmFsKSB7Ci0gICAgICAgIERPTV9jYXN0PEhUTUxPcHRpb25z
Q29sbGVjdGlvbio+KF9pbnRlcm5hbCktPmRlcmVmKCk7Ci0gICAgfQotICAgIFtzdXBlciBmaW5h
bGl6ZV07Ci19CitAaW1wbGVtZW50YXRpb24gRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9uIChXZWJD
b3JlSW50ZXJuYWwpCiAKIC0gKGlkKV9pbml0V2l0aE9wdGlvbnNDb2xsZWN0aW9uOihIVE1MT3B0
aW9uc0NvbGxlY3Rpb24gKilpbXBsCiB7CkBAIC0yNDMsODggKzE2MCwxMSBAQCB1c2luZyBuYW1l
c3BhY2UgSFRNTE5hbWVzOwogICAgIHJldHVybiBbW1tzZWxmIGFsbG9jXSBfaW5pdFdpdGhPcHRp
b25zQ29sbGVjdGlvbjppbXBsXSBhdXRvcmVsZWFzZV07CiB9CiAKLS0gKEhUTUxPcHRpb25zQ29s
bGVjdGlvbiAqKV9vcHRpb25zQ29sbGVjdGlvbgotewotICAgIHJldHVybiBET01fY2FzdDxIVE1M
T3B0aW9uc0NvbGxlY3Rpb24qPihfaW50ZXJuYWwpOwotfQotCi0tICh1bnNpZ25lZClsZW5ndGgK
LXsKLSAgICByZXR1cm4gW3NlbGYgX29wdGlvbnNDb2xsZWN0aW9uXS0+bGVuZ3RoKCk7Ci19Ci0K
LS0gKHZvaWQpc2V0TGVuZ3RoOih1bnNpZ25lZClsZW5ndGgKLXsKLSAgICBFeGNlcHRpb25Db2Rl
IGVjOwotICAgIFtzZWxmIF9vcHRpb25zQ29sbGVjdGlvbl0tPnNldExlbmd0aChsZW5ndGgsIGVj
KTsKLSAgICByYWlzZU9uRE9NRXJyb3IoZWMpOwotfQotCi0tIChET01Ob2RlICopaXRlbToodW5z
aWduZWQpaW5kZXgKLXsKLSAgICByZXR1cm4gW0RPTU5vZGUgX25vZGVXaXRoOltzZWxmIF9vcHRp
b25zQ29sbGVjdGlvbl0tPml0ZW0oaW5kZXgpXTsKLX0KLQotLSAoRE9NTm9kZSAqKW5hbWVkSXRl
bTooTlNTdHJpbmcgKiluYW1lCi17Ci0gICAgcmV0dXJuIFtET01Ob2RlIF9ub2RlV2l0aDpbc2Vs
ZiBfb3B0aW9uc0NvbGxlY3Rpb25dLT5uYW1lZEl0ZW0obmFtZSldOwotfQotCiBAZW5kCiAKLUBp
bXBsZW1lbnRhdGlvbiBET01IVE1MRWxlbWVudAotCi0tIChOU1N0cmluZyAqKWlkTmFtZQotewot
ICAgIHJldHVybiBbc2VsZiBfSFRNTEVsZW1lbnRdLT5nZXRBdHRyaWJ1dGUoaWRBdHRyKTsKLX0K
IAotLSAodm9pZClzZXRJZE5hbWU6KE5TU3RyaW5nICopaWROYW1lCi17Ci0gICAgW3NlbGYgX0hU
TUxFbGVtZW50XS0+c2V0QXR0cmlidXRlKGlkQXR0ciwgaWROYW1lKTsKLX0KLQotLSAoTlNTdHJp
bmcgKil0aXRsZQotewotICAgIHJldHVybiBbc2VsZiBfSFRNTEVsZW1lbnRdLT50aXRsZSgpOwot
fQotCi0tICh2b2lkKXNldFRpdGxlOihOU1N0cmluZyAqKXRpdGxlCi17Ci0gICAgW3NlbGYgX0hU
TUxFbGVtZW50XS0+c2V0VGl0bGUodGl0bGUpOwotfQotCi0tIChOU1N0cmluZyAqKWxhbmcKLXsK
LSAgICByZXR1cm4gW3NlbGYgX0hUTUxFbGVtZW50XS0+bGFuZygpOwotfQotCi0tICh2b2lkKXNl
dExhbmc6KE5TU3RyaW5nICopbGFuZwotewotICAgIFtzZWxmIF9IVE1MRWxlbWVudF0tPnNldExh
bmcobGFuZyk7Ci19Ci0KLS0gKE5TU3RyaW5nICopZGlyCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9I
VE1MRWxlbWVudF0tPmRpcigpOwotfQotCi0tICh2b2lkKXNldERpcjooTlNTdHJpbmcgKilkaXIK
LXsKLSAgICBbc2VsZiBfSFRNTEVsZW1lbnRdLT5zZXREaXIoZGlyKTsKLX0KLQotLSAoTlNTdHJp
bmcgKiljbGFzc05hbWUKLXsKLSAgICByZXR1cm4gW3NlbGYgX0hUTUxFbGVtZW50XS0+Y2xhc3NO
YW1lKCk7Ci19Ci0KLS0gKHZvaWQpc2V0Q2xhc3NOYW1lOihOU1N0cmluZyAqKWNsYXNzTmFtZQot
ewotICAgIFtzZWxmIF9IVE1MRWxlbWVudF0tPnNldENsYXNzTmFtZShjbGFzc05hbWUpOwotfQot
Ci1AZW5kCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLy8gRE9NSFRNTEVs
ZW1lbnQKIAogQGltcGxlbWVudGF0aW9uIERPTUhUTUxFbGVtZW50IChXZWJDb3JlSW50ZXJuYWwp
CiAKQEAgLTM0MCw4MyArMTgwLDkgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAogQGVu
ZAogCi1AaW1wbGVtZW50YXRpb24gRE9NSFRNTEVsZW1lbnQgKERPTUhUTUxFbGVtZW50RXh0ZW5z
aW9ucykKLQotLSAoTlNTdHJpbmcgKil0aXRsZURpc3BsYXlTdHJpbmcKLXsKLSAgICByZXR1cm4g
W3NlbGYgX0hUTUxFbGVtZW50XS0+dGl0bGUoKS5yZXBsYWNlKCdcXCcsIFtzZWxmIF9lbGVtZW50
XS0+ZG9jdW1lbnQoKS0+YmFja3NsYXNoQXNDdXJyZW5jeVN5bWJvbCgpKTsKLX0KLQotLSAoTlNT
dHJpbmcgKilpbm5lckhUTUwKLXsKLSAgICByZXR1cm4gW3NlbGYgX0hUTUxFbGVtZW50XS0+aW5u
ZXJIVE1MKCk7Ci19CiAKLS0gKHZvaWQpc2V0SW5uZXJIVE1MOihOU1N0cmluZyAqKWlubmVySFRN
TAotewotICAgIGludCBleGNlcHRpb24gPSAwOwotICAgIFtzZWxmIF9IVE1MRWxlbWVudF0tPnNl
dElubmVySFRNTChpbm5lckhUTUwsIGV4Y2VwdGlvbik7Ci0gICAgcmFpc2VPbkRPTUVycm9yKGV4
Y2VwdGlvbik7Ci19Ci0KLS0gKE5TU3RyaW5nICopb3V0ZXJIVE1MCi17Ci0gICAgcmV0dXJuIFtz
ZWxmIF9IVE1MRWxlbWVudF0tPm91dGVySFRNTCgpOwotfQotCi0tICh2b2lkKXNldE91dGVySFRN
TDooTlNTdHJpbmcgKilvdXRlckhUTUwKLXsKLSAgICBpbnQgZXhjZXB0aW9uID0gMDsKLSAgICBb
c2VsZiBfSFRNTEVsZW1lbnRdLT5zZXRPdXRlckhUTUwob3V0ZXJIVE1MLCBleGNlcHRpb24pOwot
ICAgIHJhaXNlT25ET01FcnJvcihleGNlcHRpb24pOwotfQotCi0tIChOU1N0cmluZyAqKWlubmVy
VGV4dAotewotICAgIHJldHVybiBbc2VsZiBfSFRNTEVsZW1lbnRdLT5pbm5lclRleHQoKTsKLX0K
LQotLSAodm9pZClzZXRJbm5lclRleHQ6KE5TU3RyaW5nICopaW5uZXJUZXh0Ci17Ci0gICAgaW50
IGV4Y2VwdGlvbiA9IDA7Ci0gICAgW3NlbGYgX0hUTUxFbGVtZW50XS0+c2V0SW5uZXJUZXh0KGlu
bmVyVGV4dCwgZXhjZXB0aW9uKTsKLSAgICByYWlzZU9uRE9NRXJyb3IoZXhjZXB0aW9uKTsKLX0K
LQotLSAoTlNTdHJpbmcgKilvdXRlclRleHQKLXsKLSAgICByZXR1cm4gW3NlbGYgX0hUTUxFbGVt
ZW50XS0+b3V0ZXJUZXh0KCk7Ci19Ci0KLS0gKHZvaWQpc2V0T3V0ZXJUZXh0OihOU1N0cmluZyAq
KW91dGVyVGV4dAotewotICAgIGludCBleGNlcHRpb24gPSAwOwotICAgIFtzZWxmIF9IVE1MRWxl
bWVudF0tPnNldE91dGVyVGV4dChvdXRlclRleHQsIGV4Y2VwdGlvbik7Ci0gICAgcmFpc2VPbkRP
TUVycm9yKGV4Y2VwdGlvbik7Ci19Ci0KLS0gKERPTUhUTUxDb2xsZWN0aW9uICopY2hpbGRyZW4K
LXsKLSAgICBIVE1MQ29sbGVjdGlvbiAqY29sbGVjdGlvbiA9IG5ldyBIVE1MQ29sbGVjdGlvbihb
c2VsZiBfSFRNTEVsZW1lbnRdLCBIVE1MQ29sbGVjdGlvbjo6Tm9kZUNoaWxkcmVuKTsKLSAgICBy
ZXR1cm4gW0RPTUhUTUxDb2xsZWN0aW9uIF9jb2xsZWN0aW9uV2l0aDpjb2xsZWN0aW9uXTsKLX0K
LQotLSAoTlNTdHJpbmcgKiljb250ZW50RWRpdGFibGUKLXsKLSAgICByZXR1cm4gW3NlbGYgX0hU
TUxFbGVtZW50XS0+Y29udGVudEVkaXRhYmxlKCk7Ci19Ci0KLS0gKHZvaWQpc2V0Q29udGVudEVk
aXRhYmxlOihOU1N0cmluZyAqKWNvbnRlbnRFZGl0YWJsZQotewotICAgIFtzZWxmIF9IVE1MRWxl
bWVudF0tPnNldENvbnRlbnRFZGl0YWJsZShjb250ZW50RWRpdGFibGUpOwotfQotCi0tIChCT09M
KWlzQ29udGVudEVkaXRhYmxlCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9IVE1MRWxlbWVudF0tPmlz
Q29udGVudEVkaXRhYmxlKCk7Ci19Ci0KLUBlbmQKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCisvLyBET01IVE1MRG9jdW1lbnQKIAogQGltcGxlbWVudGF0aW9uIERPTUhUTUxE
b2N1bWVudAogCkBAIC05MTgsOTUgKzY4NCw5IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7
CiAKIEBlbmQKIAotQGltcGxlbWVudGF0aW9uIERPTUhUTUxGb3JtRWxlbWVudAotCi0tIChIVE1M
Rm9ybUVsZW1lbnQgKilfZm9ybUVsZW1lbnQKLXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRN
TEZvcm1FbGVtZW50Kj4oRE9NX2Nhc3Q8Tm9kZSo+KF9pbnRlcm5hbCkpOwotfQotCi0tIChET01I
VE1MQ29sbGVjdGlvbiAqKWVsZW1lbnRzCi17Ci0gICAgSFRNTENvbGxlY3Rpb24gKmNvbGxlY3Rp
b24gPSBuZXcgSFRNTEZvcm1Db2xsZWN0aW9uKFtzZWxmIF9mb3JtRWxlbWVudF0pOwotICAgIHJl
dHVybiBbRE9NSFRNTENvbGxlY3Rpb24gX2NvbGxlY3Rpb25XaXRoOmNvbGxlY3Rpb25dOwotfQot
Ci0tIChpbnQpbGVuZ3RoCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9mb3JtRWxlbWVudF0tPmxlbmd0
aCgpOwotfQotCi0tIChOU1N0cmluZyAqKW5hbWUKLXsKLSAgICByZXR1cm4gW3NlbGYgX2Zvcm1F
bGVtZW50XS0+Z2V0QXR0cmlidXRlKG5hbWVBdHRyKTsKLX0KLQotLSAodm9pZClzZXROYW1lOihO
U1N0cmluZyAqKW5hbWUKLXsKLSAgICBbc2VsZiBfZm9ybUVsZW1lbnRdLT5zZXRBdHRyaWJ1dGUo
bmFtZUF0dHIsIG5hbWUpOwotfQogCi0tIChOU1N0cmluZyAqKWFjY2VwdENoYXJzZXQKLXsKLSAg
ICByZXR1cm4gW3NlbGYgX2Zvcm1FbGVtZW50XS0+Z2V0QXR0cmlidXRlKGFjY2VwdF9jaGFyc2V0
QXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0QWNjZXB0Q2hhcnNldDooTlNTdHJpbmcgKilhY2NlcHRD
aGFyc2V0Ci17Ci0gICAgW3NlbGYgX2Zvcm1FbGVtZW50XS0+c2V0QXR0cmlidXRlKGFjY2VwdF9j
aGFyc2V0QXR0ciwgYWNjZXB0Q2hhcnNldCk7Ci19Ci0KLS0gKE5TU3RyaW5nICopYWN0aW9uCi17
Ci0gICAgcmV0dXJuIFtzZWxmIF9mb3JtRWxlbWVudF0tPmdldEF0dHJpYnV0ZShhY3Rpb25BdHRy
KTsKLX0KLQotLSAodm9pZClzZXRBY3Rpb246KE5TU3RyaW5nICopYWN0aW9uCi17Ci0gICAgW3Nl
bGYgX2Zvcm1FbGVtZW50XS0+c2V0QXR0cmlidXRlKGFjdGlvbkF0dHIsIGFjdGlvbik7Ci19Ci0K
LS0gKE5TU3RyaW5nICopZW5jdHlwZQotewotICAgIHJldHVybiBbc2VsZiBfZm9ybUVsZW1lbnRd
LT5nZXRBdHRyaWJ1dGUoZW5jdHlwZUF0dHIpOwotfQotCi0tICh2b2lkKXNldEVuY3R5cGU6KE5T
U3RyaW5nICopZW5jdHlwZQotewotICAgIFtzZWxmIF9mb3JtRWxlbWVudF0tPnNldEF0dHJpYnV0
ZShlbmN0eXBlQXR0ciwgZW5jdHlwZSk7Ci19Ci0KLS0gKE5TU3RyaW5nICopbWV0aG9kCi17Ci0g
ICAgcmV0dXJuIFtzZWxmIF9mb3JtRWxlbWVudF0tPmdldEF0dHJpYnV0ZShtZXRob2RBdHRyKTsK
LX0KLQotLSAodm9pZClzZXRNZXRob2Q6KE5TU3RyaW5nICopbWV0aG9kCi17Ci0gICAgW3NlbGYg
X2Zvcm1FbGVtZW50XS0+c2V0QXR0cmlidXRlKG1ldGhvZEF0dHIsIG1ldGhvZCk7Ci19Ci0KLS0g
KE5TU3RyaW5nICopdGFyZ2V0Ci17Ci0gICAgcmV0dXJuIFtzZWxmIF9mb3JtRWxlbWVudF0tPmdl
dEF0dHJpYnV0ZSh0YXJnZXRBdHRyKTsKLX0KLQotLSAodm9pZClzZXRUYXJnZXQ6KE5TU3RyaW5n
ICopdGFyZ2V0Ci17Ci0gICAgW3NlbGYgX2Zvcm1FbGVtZW50XS0+c2V0QXR0cmlidXRlKHRhcmdl
dEF0dHIsIHRhcmdldCk7Ci19Ci0KLS0gKHZvaWQpc3VibWl0Ci17Ci0gICAgW3NlbGYgX2Zvcm1F
bGVtZW50XS0+c3VibWl0KGZhbHNlKTsKLX0KLQotLSAodm9pZClyZXNldAotewotICAgIFtzZWxm
IF9mb3JtRWxlbWVudF0tPnJlc2V0KCk7Ci19Ci0KLUBlbmQKKy8vLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCisvLyBET01IVE1MRm9ybUVsZW1lbnQKIAogQGltcGxlbWVudGF0aW9u
IERPTUhUTUxGb3JtRWxlbWVudCAoV2ViQ29yZUludGVybmFsKQogCkBAIC0xMDE3LDYgKzY5Nywx
MCBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiBAZW5kCiAKKworLy8tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vIERPTUhUTUxJc0luZGV4RWxlbWVudAorCiBAaW1w
bGVtZW50YXRpb24gRE9NSFRNTElzSW5kZXhFbGVtZW50CiAKIC0gKEhUTUxJc0luZGV4RWxlbWVu
dCAqKV9pc0luZGV4RWxlbWVudApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxJ
bnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MSW50
ZXJuYWwuaAkocmV2aXNpb24gMTYwNzApCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRN
TEludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDkgKzI1LDI0IEBACiAKICNpbXBvcnQg
IkRPTUhUTUwuaCIKIAorI2ltcG9ydCAiRE9NSFRNTENvbGxlY3Rpb24uaCIKKyNpbXBvcnQgIkRP
TUhUTUxFbGVtZW50LmgiCisjaW1wb3J0ICJET01IVE1MRm9ybUVsZW1lbnQuaCIKKyNpbXBvcnQg
IkRPTUhUTUxPcHRpb25zQ29sbGVjdGlvbi5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CisgICAg
Y2xhc3MgSFRNTENvbGxlY3Rpb247CiAgICAgY2xhc3MgSFRNTERvY3VtZW50OworICAgIGNsYXNz
IEhUTUxFbGVtZW50OworICAgIGNsYXNzIEhUTUxGb3JtRWxlbWVudDsKKyAgICBjbGFzcyBIVE1M
SW1hZ2VFbGVtZW50OworICAgIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CisgICAgY2xhc3MgSFRN
TE9iamVjdEVsZW1lbnQ7CiAgICAgY2xhc3MgSFRNTE9wdGlvbnNDb2xsZWN0aW9uOworICAgIGNs
YXNzIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50OworICAgIGNsYXNzIEhUTUxUYWJsZUNlbGxFbGVt
ZW50OworICAgIGNsYXNzIEhUTUxUYWJsZUVsZW1lbnQ7CisgICAgY2xhc3MgSFRNTFRhYmxlU2Vj
dGlvbkVsZW1lbnQ7CiB9CiAKIEBpbnRlcmZhY2UgRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9uIChX
ZWJDb3JlSW50ZXJuYWwpCkBAIC0zNywzICs1Miw0OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBA
aW50ZXJmYWNlIERPTUhUTUxEb2N1bWVudCAoV2ViQ29yZUludGVybmFsKQogKyAoRE9NSFRNTERv
Y3VtZW50ICopX0hUTUxEb2N1bWVudFdpdGg6KFdlYkNvcmU6OkhUTUxEb2N1bWVudCAqKWltcGw7
CiBAZW5kCisKK0BpbnRlcmZhY2UgRE9NSFRNTENvbGxlY3Rpb24gKFdlYkNvcmVJbnRlcm5hbCkK
KysgKERPTUhUTUxDb2xsZWN0aW9uICopX2NvbGxlY3Rpb25XaXRoOihXZWJDb3JlOjpIVE1MQ29s
bGVjdGlvbiAqKWltcGw7CitAZW5kCisKK0BpbnRlcmZhY2UgRE9NSFRNTEVsZW1lbnQgKFdlYkNv
cmVJbnRlcm5hbCkKKysgKERPTUhUTUxFbGVtZW50ICopX2VsZW1lbnRXaXRoOihXZWJDb3JlOjpI
VE1MRWxlbWVudCAqKWltcGw7CistIChXZWJDb3JlOjpIVE1MRWxlbWVudCAqKV9IVE1MRWxlbWVu
dDsKK0BlbmQKKworQGludGVyZmFjZSBET01IVE1MRm9ybUVsZW1lbnQgKFdlYkNvcmVJbnRlcm5h
bCkKKysgKERPTUhUTUxGb3JtRWxlbWVudCAqKV9mb3JtRWxlbWVudFdpdGg6KFdlYkNvcmU6OkhU
TUxGb3JtRWxlbWVudCAqKWltcGw7CitAZW5kCisKK0BpbnRlcmZhY2UgRE9NSFRNTFRhYmxlQ2Fw
dGlvbkVsZW1lbnQgKFdlYkNvcmVJbnRlcm5hbCkKKysgKERPTUhUTUxUYWJsZUNhcHRpb25FbGVt
ZW50ICopX3RhYmxlQ2FwdGlvbkVsZW1lbnRXaXRoOihXZWJDb3JlOjpIVE1MVGFibGVDYXB0aW9u
RWxlbWVudCAqKWltcGw7CistIChXZWJDb3JlOjpIVE1MVGFibGVDYXB0aW9uRWxlbWVudCAqKV90
YWJsZUNhcHRpb25FbGVtZW50OworQGVuZAorCitAaW50ZXJmYWNlIERPTUhUTUxUYWJsZVNlY3Rp
b25FbGVtZW50IChXZWJDb3JlSW50ZXJuYWwpCisrIChET01IVE1MVGFibGVTZWN0aW9uRWxlbWVu
dCAqKV90YWJsZVNlY3Rpb25FbGVtZW50V2l0aDooV2ViQ29yZTo6SFRNTFRhYmxlU2VjdGlvbkVs
ZW1lbnQgKilpbXBsOworLSAoV2ViQ29yZTo6SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgKilfdGFi
bGVTZWN0aW9uRWxlbWVudDsKK0BlbmQKKworQGludGVyZmFjZSBET01IVE1MVGFibGVFbGVtZW50
IChXZWJDb3JlSW50ZXJuYWwpCisrIChET01IVE1MVGFibGVFbGVtZW50ICopX3RhYmxlRWxlbWVu
dFdpdGg6KFdlYkNvcmU6OkhUTUxUYWJsZUVsZW1lbnQgKilpbXBsOworLSAoV2ViQ29yZTo6SFRN
TFRhYmxlRWxlbWVudCAqKV90YWJsZUVsZW1lbnQ7CitAZW5kCisKK0BpbnRlcmZhY2UgRE9NSFRN
TFRhYmxlQ2VsbEVsZW1lbnQgKFdlYkNvcmVJbnRlcm5hbCkKKysgKERPTUhUTUxUYWJsZUNlbGxF
bGVtZW50ICopX3RhYmxlQ2VsbEVsZW1lbnRXaXRoOihXZWJDb3JlOjpIVE1MVGFibGVDZWxsRWxl
bWVudCAqKWltcGw7CistIChXZWJDb3JlOjpIVE1MVGFibGVDZWxsRWxlbWVudCAqKV90YWJsZUNl
bGxFbGVtZW50OworQGVuZAorCitAaW50ZXJmYWNlIERPTUhUTUxJbWFnZUVsZW1lbnQgKFdlYkNv
cmVJbnRlcm5hbCkKKy0gKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQgKilfSFRNTEltYWdlRWxl
bWVudDsKK0BlbmQKKworQGludGVyZmFjZSBET01IVE1MT2JqZWN0RWxlbWVudCAoV2ViQ29yZUlu
dGVybmFsKQorLSAoV2ViQ29yZTo6SFRNTE9iamVjdEVsZW1lbnQgKilfb2JqZWN0RWxlbWVudDsK
K0BlbmQKKworQGludGVyZmFjZSBET01IVE1MSW5wdXRFbGVtZW50IChXZWJDb3JlSW50ZXJuYWwp
CistIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50ICopX0hUTUxJbnB1dEVsZW1lbnQ7CitAZW5k
CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBt
CShyZXZpc2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yT2JqQy5wbQkod29ya2luZyBjb3B5KQpAQCAtMjIyLDYgKzIyMiw4IEBAIHN1YiBHZXRQYXJl
bnRJbXBsQ2xhc3NOYW1lCiAgICAgIyBzcGVjaWFsIGNhc2VzCiAgICAgaWYgKCRwYXJlbnQgZXEg
IkV2ZW50VGFyZ2V0Tm9kZSIpIHsKICAgICAgICAgJHBhcmVudCA9ICJOb2RlIjsKKyAgICB9IGVs
c2lmICgkcGFyZW50IGVxICJIVE1MQ29sbGVjdGlvbiIpIHsKKyAgICAgICAgJHBhcmVudCA9ICJP
YmplY3QiOwogICAgIH0KIAogICAgIHJldHVybiAkcGFyZW50OwpAQCAtMzkzLDYgKzM5NSwxMCBA
QCBzdWIgQWRkSW5jbHVkZXNGb3JUeXBlCiAgICAgICAgICRpbXBsSW5jbHVkZXN7IkRPTUltcGxl
bWVudGF0aW9uRnJvbnQuaCJ9ID0gMTsKICAgICB9CiAKKworICAgICMgQWRkIHR5cGUgc3BlY2lm
aWMgaW50ZXJuYWwgdHlwZXMuCisgICAgJGltcGxJbmNsdWRlc3siRE9NSFRNTEludGVybmFsLmgi
fSA9IDEgaWYgKCR0eXBlID1+IC9eSFRNTC8pOworCiAgICAgIyBEZWZhdWx0LCBpbmNsdWRlIHRo
ZSBzYW1lIG5hbWVkIGZpbGUgKHRoZSBpbXBsZW1lbnRhdGlvbikgYW5kIHRoZSBzYW1lIG5hbWUg
cHJlZml4ZWQgd2l0aCAiRE9NIi4gCiAgICAgJGltcGxJbmNsdWRlc3siJHR5cGUuaCJ9ID0gMTsK
ICAgICAkaW1wbEluY2x1ZGVzeyJET00kdHlwZS5oIn0gPSAxOwpAQCAtNDU3LDYgKzQ2MywxNCBA
QCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAgICAgICAgIEFkZEZvcndhcmREZWNsYXJhdGlvbnNG
b3JUeXBlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSk7CiAKICAgICAgICAgICAgIG15ICRh
dHRyaWJ1dGVOYW1lID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5uYW1lOworICAgICAgICAgICAg
aWYgKCRhdHRyaWJ1dGVOYW1lIGVxICJpZCIpIHsKKyAgICAgICAgICAgICAgICAjIFNwZWNpYWwg
Y2FzZSBhdHRyaWJ1dGUgaWQgdG8gYmUgaWROYW1lIHRvIGF2b2lkIE9iai1DIG5hbWVpbmcgY29u
ZmxpY3QuCisgICAgICAgICAgICAgICAgJGF0dHJpYnV0ZU5hbWUgLj0gIk5hbWUiOworICAgICAg
ICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZU5hbWUgZXEgImZyYW1lIikgeworICAgICAgICAgICAg
ICAgICMgU3BlY2lhbCBjYXNlIGF0dHJpYnV0ZSBmcmFtZSB0byBiZSBmcmFtZUJvcmRlcnMuCisg
ICAgICAgICAgICAgICAgJGF0dHJpYnV0ZU5hbWUgLj0gIkJvcmRlcnMiOworICAgICAgICAgICAg
fQorCiAgICAgICAgICAgICBteSAkYXR0cmlidXRlVHlwZSA9IEdldE9iakNUeXBlKCRhdHRyaWJ1
dGUtPnNpZ25hdHVyZS0+dHlwZSk7CiAgICAgICAgICAgICBteSAkYXR0cmlidXRlSXNSZWFkb25s
eSA9ICgkYXR0cmlidXRlLT50eXBlID1+IC9ecmVhZG9ubHkvKTsKICAgICAgICAgICAgIG15ICRj
YXRhZ29yeSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik9i
akNDYXRhZ29yeSJ9OwpAQCAtNjYyLDggKzY3NiwxNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRh
dGlvbgogICAgICAgICAgICAgbXkgJGF0dHJpYnV0ZVR5cGUgPSBHZXRPYmpDVHlwZSgkYXR0cmli
dXRlLT5zaWduYXR1cmUtPnR5cGUpOwogICAgICAgICAgICAgbXkgJGF0dHJpYnV0ZUlzUmVhZG9u
bHkgPSAoJGF0dHJpYnV0ZS0+dHlwZSA9fiAvXnJlYWRvbmx5Lyk7CiAKKyAgICAgICAgICAgIG15
ICRpbnRlcmZhY2VOYW1lID0gJGF0dHJpYnV0ZU5hbWU7CisgICAgICAgICAgICBpZiAoJGF0dHJp
YnV0ZU5hbWUgZXEgImlkIikgeworICAgICAgICAgICAgICAgICMgU3BlY2lhbCBjYXNlIGF0dHJp
YnV0ZSBpZCB0byBiZSBpZE5hbWUgdG8gYXZvaWQgT2JqLUMgbmFtZWluZyBjb25mbGljdC4KKyAg
ICAgICAgICAgICAgICAkaW50ZXJmYWNlTmFtZSAuPSAiTmFtZSI7CisgICAgICAgICAgICB9IGVs
c2lmICgkYXR0cmlidXRlTmFtZSBlcSAiZnJhbWUiKSB7CisgICAgICAgICAgICAgICAgIyBTcGVj
aWFsIGNhc2UgYXR0cmlidXRlIGZyYW1lIHRvIGJlIGZyYW1lQm9yZGVycy4KKyAgICAgICAgICAg
ICAgICAkaW50ZXJmYWNlTmFtZSAuPSAiQm9yZGVycyI7CisgICAgICAgICAgICB9CisKICAgICAg
ICAgICAgICMgLSBHRVRURVIKLSAgICAgICAgICAgIG15ICRnZXR0ZXJTaWcgPSAiLSAoJGF0dHJp
YnV0ZVR5cGUpJGF0dHJpYnV0ZU5hbWVcbiI7CisgICAgICAgICAgICBteSAkZ2V0dGVyU2lnID0g
Ii0gKCRhdHRyaWJ1dGVUeXBlKSRpbnRlcmZhY2VOYW1lXG4iOwogICAgICAgICAgICAgCiAgICAg
ICAgICAgICAjIEV4Y2VwdGlvbiBoYW5kbGluZwogICAgICAgICAgICAgbXkgJGhhc0dldHRlckV4
Y2VwdGlvbiA9IEB7JGF0dHJpYnV0ZS0+Z2V0dGVyRXhjZXB0aW9uc307CkBAIC02NzcsMTAgKzcw
MCwxNiBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgbXkgJGF0dHJp
YnV0ZVR5cGVTYW5zUHRyID0gJGF0dHJpYnV0ZVR5cGU7CiAgICAgICAgICAgICAkYXR0cmlidXRl
VHlwZVNhbnNQdHIgPX4gcy8gXCokLy87ICMgUmVtb3ZlIHRyYWlsaW5nICIgKiIgZnJvbSBwb2lu
dGVyIHR5cGVzLgogICAgICAgICAgICAgbXkgJHR5cGVNYWtlciA9IEdldE9iakNUeXBlTWFrZXIo
JGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAg
IyBTcGVjaWFsIGNhc2VzCiAgICAgICAgICAgICBpZiAoJGF0dHJpYnV0ZVR5cGVTYW5zUHRyIGVx
ICJET01JbXBsZW1lbnRhdGlvbiIpIHsKICAgICAgICAgICAgICAgICAjIEZJWE1FOiBXZSBoYXZl
IHRvIHNwZWNpYWwgY2FzZSBET01JbXBsZW1lbnRhdGlvbiB1bnRpbCBET01JbXBsZW1lbnRhdGlv
bkZyb250IGlzIHJlbW92ZWQKICAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAi
WyRhdHRyaWJ1dGVUeXBlU2Fuc1B0ciAkdHlwZU1ha2VyOmltcGxlbWVudGF0aW9uRnJvbnQoJGlt
cGxlbWVudGF0aW9uIjsKICAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudFRhaWwgLj0gIl0i
OworICAgICAgICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZU5hbWUgPX4gLyhcdyspRGlzcGxheVN0
cmluZyQvKSB7CisgICAgICAgICAgICAgICAgbXkgJGF0dHJpYnV0ZVRvRGlzcGxheSA9ICQxOwor
ICAgICAgICAgICAgICAgICRnZXR0ZXJDb250ZW50SGVhZCA9ICIkaW1wbGVtZW50YXRpb24tPiRh
dHRyaWJ1dGVUb0Rpc3BsYXkoKS5yZXBsYWNlKFwnXFxcXFwnLCBbc2VsZiBfZWxlbWVudF0tPmRv
Y3VtZW50KCktPmJhY2tzbGFzaEFzQ3VycmVuY3lTeW1ib2woKSI7CisgICAgICAgICAgICAgICAg
JGltcGxJbmNsdWRlc3siRG9jdW1lbnQuaCJ9ID0gMTsKICAgICAgICAgICAgIH0gZWxzaWYgKCR0
eXBlTWFrZXIgbmUgIiIpIHsKICAgICAgICAgICAgICAgICAjIFN1cnJvdW5kIGdldHRlciB3aXRo
IFR5cGVNYWtlcgogICAgICAgICAgICAgICAgICRnZXR0ZXJDb250ZW50SGVhZCA9ICJbJGF0dHJp
YnV0ZVR5cGVTYW5zUHRyICR0eXBlTWFrZXI6IiAuICRnZXR0ZXJDb250ZW50SGVhZDsKQEAgLTY4
OCw3ICs3MTcsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgCiAgICAgICAgICAgICBpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiVXNlc1Bhc3NSZWZQdHIifSkgewotICAgICAgICAgICAgICAgICRn
ZXR0ZXJDb250ZW50VGFpbCA9ICIpLmdldCgiIC4gJGZ1bmN0aW9uQ29udGVudFRhaWw7CisgICAg
ICAgICAgICAgICAgJGdldHRlckNvbnRlbnRUYWlsID0gIikuZ2V0KCIgLiAkZ2V0dGVyQ29udGVu
dFRhaWw7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgICAgIG15ICRnZXR0
ZXJDb250ZW50OwpAQCAtNzExLDggKzc0MCwxMCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlv
bgogICAgICAgICAgICAgICAgICMgRXhjZXB0aW9uIGhhbmRsaW5nCiAgICAgICAgICAgICAgICAg
bXkgJGhhc1NldHRlckV4Y2VwdGlvbiA9IEB7JGF0dHJpYnV0ZS0+c2V0dGVyRXhjZXB0aW9uc307
CiAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgbXkgJHNldHRlck5hbWUgPSAic2V0
IiAuIHVjZmlyc3QoJGF0dHJpYnV0ZU5hbWUpOwotICAgICAgICAgICAgICAgIG15ICRzZXR0ZXJT
aWcgPSAiLSAodm9pZCkkc2V0dGVyTmFtZTooJGF0dHJpYnV0ZVR5cGUpJGF0dHJpYnV0ZU5hbWVc
biI7CisgICAgICAgICAgICAgICAgJGF0dHJpYnV0ZU5hbWUgPSAic2V0IiAuIHVjZmlyc3QoJGF0
dHJpYnV0ZU5hbWUpOworICAgICAgICAgICAgICAgIG15ICRzZXR0ZXJOYW1lID0gInNldCIgLiB1
Y2ZpcnN0KCRpbnRlcmZhY2VOYW1lKTsKKworICAgICAgICAgICAgICAgIG15ICRzZXR0ZXJTaWcg
PSAiLSAodm9pZCkkc2V0dGVyTmFtZTooJGF0dHJpYnV0ZVR5cGUpJGludGVyZmFjZU5hbWVcbiI7
CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICRz
ZXR0ZXJTaWcpOwogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CkBA
IC03MjAsMTMgKzc1MSwxMyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAg
ICAgICAgIGlmICgkaGFzU2V0dGVyRXhjZXB0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgICMg
RklYTUU6IGFzc2VydHMgZXhzaXN0IGluIHRoZSBleHNpc3RpbmcgYmluZGluZ3MsIGJ1dCBJIGFt
IHVuc3VyZSB3aHkgdGhleSBhcmUgCiAgICAgICAgICAgICAgICAgICAgICMgdGhlcmUgaW4gdGhl
IGZpcnN0IHBsYWNlOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICBBU1NFUlQoJGF0dHJpYnV0ZU5hbWUpO1xuXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgQVNTRVJUKCRpbnRlcmZhY2VOYW1lKTtcblxuIik7CiAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
ICRleGNlcHRpb25Jbml0XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgJGltcGxlbWVudGF0aW9uLT4kc2V0dGVyTmFtZSgkYXR0cmlidXRlTmFtZSwgZWMp
O1xuIik7CisgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICRpbXBs
ZW1lbnRhdGlvbi0+JGF0dHJpYnV0ZU5hbWUoJGludGVyZmFjZU5hbWUsIGVjKTtcbiIpOwogICAg
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAkZXhjZXB0aW9uUmFpc2VP
bkVycm9yXG4iKTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAkaW1wbGVtZW50YXRpb24tPiRzZXR0ZXJOYW1lKCRh
dHRyaWJ1dGVOYW1lKTtcbiIpOworICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICAkaW1wbGVtZW50YXRpb24tPiRhdHRyaWJ1dGVOYW1lKCRpbnRlcmZhY2VOYW1lKTtc
biIpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEFu
Y2hvckVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxl
bWVudC5pZGwJKHJldmlzaW9uIDE2MDcwKQorKysgV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVt
ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11
ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAt
MzcsMTQgKzM4LDE0IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgdm9pZCBmb2N1cygpOwogICAg
ICAgICAKICAgICAgICAgLy8gSUUgRXh0ZW5zaW9ucwotICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGhhc2g7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
aG9zdDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBob3N0bmFtZTsKLSAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwYXRobmFtZTsKLSAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwb3J0OwotICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHByb3RvY29sOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHNlYXJjaDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0ZXh0Owor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0V4Y2x1ZGU9T2JqQ10gRE9NU3RyaW5nIGhhc2g7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbRXhjbHVkZT1PYmpDXSBET01TdHJpbmcgaG9z
dDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtFeGNsdWRlPU9iakNdIERPTVN0cmluZyBo
b3N0bmFtZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtFeGNsdWRlPU9iakNdIERPTVN0
cmluZyBwYXRobmFtZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtFeGNsdWRlPU9iakNd
IERPTVN0cmluZyBwb3J0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0V4Y2x1ZGU9T2Jq
Q10gRE9NU3RyaW5nIHByb3RvY29sOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0V4Y2x1
ZGU9T2JqQ10gRE9NU3RyaW5nIHNlYXJjaDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtF
eGNsdWRlPU9iakNdIERPTVN0cmluZyB0ZXh0OwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUv
aHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1M
QXJlYUVsZW1lbnQuaWRsCShyZXZpc2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MQXJl
YUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHly
aWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2
IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CkBAIC0zMCwxMyArMzEsMTMgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHRhcmdldDsKICAgICAgICAgCiAgICAgICAgIC8vIElFIEV4dGVuc2lvbnMKLSAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBoYXNoOwotICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGhvc3Q7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgaG9zdG5hbWU7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcGF0
aG5hbWU7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcG9ydDsKLSAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwcm90b2NvbDsKLSAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyBzZWFyY2g7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBbRXhjbHVkZT1PYmpDXSBET01TdHJpbmcgaGFzaDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIFtFeGNsdWRlPU9iakNdIERPTVN0cmluZyBob3N0OworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgW0V4Y2x1ZGU9T2JqQ10gRE9NU3RyaW5nIGhvc3RuYW1lOworICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgW0V4Y2x1ZGU9T2JqQ10gRE9NU3RyaW5nIHBhdGhuYW1lOworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgW0V4Y2x1ZGU9T2JqQ10gRE9NU3RyaW5nIHBvcnQ7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBbRXhjbHVkZT1PYmpDXSBET01TdHJpbmcgcHJvdG9jb2w7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbRXhjbHVkZT1PYmpDXSBET01TdHJpbmcgc2VhcmNo
OwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxlbWVudC5pZGwJKHJl
dmlzaW9uIDE2MDcwKQorKysgV2ViQ29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yMiw2ICsyMiw2IEBAIG1vZHVsZSBodG1sIHsKICAgICBpbnRlcmZh
Y2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnRdIEhUTUxCYXNlRm9udEVsZW1lbnQg
OiBIVE1MRWxlbWVudCB7CiAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgY29sb3I7CiAgICAg
ICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgZmFjZTsKLSAgICAgICAgYXR0cmlidXRlIGxvbmcgc2l6
ZTsgICAgCisgICAgICAgIGF0dHJpYnV0ZSBsb25nIHNpemU7CiAgICAgfTsKIH0KSW5kZXg6IFdl
YkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRt
bC9IVE1MQm9keUVsZW1lbnQuaWRsCShyZXZpc2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvaHRtbC9I
VE1MQm9keUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChD
KSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
ICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCkBAIC0yNyw5ICsyOCw5IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgYXR0cmlidXRl
IERPTVN0cmluZyB2TGluazsgCiAgICAgICAgIAogICAgICAgICAvLyBJRSBFeHRlbnNpb25zCi0g
ICAgICAgIGF0dHJpYnV0ZSBsb25nIHNjcm9sbExlZnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBsb25n
IHNjcm9sbFRvcDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgc2Nyb2xsV2lkdGg7
Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHNjcm9sbEhlaWdodDsKKyAgICAgICAg
YXR0cmlidXRlIFtFeGNsdWRlPU9iakNdIGxvbmcgc2Nyb2xsTGVmdDsKKyAgICAgICAgYXR0cmli
dXRlIFtFeGNsdWRlPU9iakNdIGxvbmcgc2Nyb2xsVG9wOworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgW0V4Y2x1ZGU9T2JqQ10gbG9uZyBzY3JvbGxXaWR0aDsKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIFtFeGNsdWRlPU9iakNdIGxvbmcgc2Nyb2xsSGVpZ2h0OwogICAgIH07CiB9Cklu
ZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwJKHJldmlzaW9uIDE2MDcwKQorKysgV2Vi
Q29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAq
IENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjgsNyArMjksNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSAgRE9NU3RyaW5nICAgICAgICAgICAgdHlwZTsKICAgICAg
ICAgICAgICAgICAgYXR0cmlidXRlICBET01TdHJpbmcgICAgICAgICAgICB2YWx1ZTsKICAgICAg
ICAgICAgICAgICAgCi0gICAgICAgIHZvaWQgICAgY2xpY2soKTsKKyAgICAgICAgW0V4Y2x1ZGU9
T2JqQ10gdm9pZCBjbGljaygpOwogCiAgICAgfTsKIApJbmRleDogV2ViQ29yZS9odG1sL0hUTUxD
b2xsZWN0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24u
aWRsCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmlkbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBs
ZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNh
bS53ZWluaWdAZ21haWwuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMw
NywgVVNBLgorICovCisKK21vZHVsZSBodG1sIHsKKworICAgIGludGVyZmFjZSBIVE1MQ29sbGVj
dGlvbiB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsK
KyAgICAgICAgTm9kZSBpdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworICAgICAgICBOb2Rl
IG5hbWVkSXRlbShpbiBET01TdHJpbmcgbmFtZSk7CisgICAgfTsKKworfQpJbmRleDogV2ViQ29y
ZS9odG1sL0hUTUxEb2N1bWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxE
b2N1bWVudC5pZGwJKHJldmlzaW9uIDE2MDcwKQorKysgV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVu
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVs
IFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2Ft
dWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAg
LTIwLDYgKzIyLDM4IEBACiBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRlcmZhY2UgW0xlZ2FjeVBh
cmVudD1LSlM6OkpTSFRNTERvY3VtZW50LCBHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MRG9jdW1l
bnQgOiBEb2N1bWVudCB7CisKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtFeGNsdWRlPUpT
XSBET01TdHJpbmcgdGl0bGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbRXhjbHVkZT1K
U10gRE9NU3RyaW5nIHJlZmVycmVyOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0V4Y2x1
ZGU9SlNdIERPTVN0cmluZyBkb21haW47CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbRXhj
bHVkZT1KU10gRE9NU3RyaW5nIFVSTDsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgLy8gRklY
TUU6IHRoZSBET00gc3BlYyBkb2VzIE5PVCBoYXZlIHRoaXMgYXR0cmlidXRlCisgICAgICAgIC8v
IHJhaXNpbmcgYW4gZXhjZXB0aW9uLgorICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0V4Y2x1
ZGU9SlNdIEhUTUxFbGVtZW50IGJvZHkKKyAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFtVc2VzUGFzc1JlZlB0ciwgRXhjbHVkZT1KU10gSFRNTENvbGxlY3Rpb24g
aW1hZ2VzOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW1VzZXNQYXNzUmVmUHRyLCBFeGNs
dWRlPUpTXSBIVE1MQ29sbGVjdGlvbiBhcHBsZXRzOworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgW1VzZXNQYXNzUmVmUHRyLCBFeGNsdWRlPUpTXSBIVE1MQ29sbGVjdGlvbiBsaW5rczsKKyAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtVc2VzUGFzc1JlZlB0ciwgRXhjbHVkZT1KU10gSFRN
TENvbGxlY3Rpb24gZm9ybXM7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbVXNlc1Bhc3NS
ZWZQdHIsIEV4Y2x1ZGU9SlNdIEhUTUxDb2xsZWN0aW9uIGFuY2hvcnM7CisgICAgICAgIAorICAg
ICAgICAvLyBGSVhNRTogdGhlIERPTSBzcGVjIHN0YXRlcyB0aGF0IHRoaXMgYXR0cmlidXRlIGNh
biAKKyAgICAgICAgLy8gcmFpc2UgYW4gZXhjZXB0aW9uIG9uIHNldHRpbmcuCisgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBbRXhjbHVkZT1KU10gRE9NU3RyaW5nIGNvb2tpZQorICAgICAgICAg
ICAgICAgICAgICAgLypzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pKi87CisKKyAgICAgICAg
W0V4Y2x1ZGU9SlNdIHZvaWQgICAgICAgICAgICAgICBvcGVuKCk7CisgICAgICAgIFtFeGNsdWRl
PUpTXSB2b2lkICAgICAgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgW0V4Y2x1ZGU9SlNdIHZv
aWQgICAgICAgICAgICAgICB3cml0ZShpbiBET01TdHJpbmcgdGV4dCk7CisgICAgICAgIFtFeGNs
dWRlPUpTXSB2b2lkICAgICAgICAgICAgICAgd3JpdGVsbihpbiBET01TdHJpbmcgdGV4dCk7Cisg
ICAgICAgIFtFeGNsdWRlPUpTXSBOb2RlTGlzdCAgICAgICAgICAgZ2V0RWxlbWVudHNCeU5hbWUo
aW4gRE9NU3RyaW5nIGVsZW1lbnROYW1lKTsKKworICAgICAgICAvLyBub24tc3RhbmRhcmQKKwor
ICAgICAgICBbRXhjbHVkZT1KU10gRWxlbWVudCAgICAgICAgICAgIGdldEVsZW1lbnRCeUlkKGlu
IERPTVN0cmluZyBlbGVtZW50SWQpOworCiAgICAgfTsKIAogfQpJbmRleDogV2ViQ29yZS9odG1s
L0hUTUxFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQu
aWRsCShyZXZpc2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFw
cGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8
c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTIwLDcgKzIxLDMx
IEBACiBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3RydWN0b3Jd
IEhUTUxFbGVtZW50IDogRWxlbWVudCB7CisKICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyB0
aXRsZTsKKyAgICAgICAgYXR0cmlidXRlIFtFeGNsdWRlPUpTXSBET01TdHJpbmcgaWQ7CisgICAg
ICAgIGF0dHJpYnV0ZSBbRXhjbHVkZT1KU10gRE9NU3RyaW5nIGxhbmc7CisgICAgICAgIGF0dHJp
YnV0ZSBbRXhjbHVkZT1KU10gRE9NU3RyaW5nIGRpcjsKKyAgICAgICAgYXR0cmlidXRlIFtFeGNs
dWRlPUpTXSBET01TdHJpbmcgY2xhc3NOYW1lOworCisgICAgICAgIC8vIGV4dGVuc2lvbnMKKwor
ICAgICAgICBhdHRyaWJ1dGUgW09iakNDYXRhZ29yeT1ET01IVE1MRWxlbWVudEV4dGVuc2lvbnMs
IEV4Y2x1ZGU9SlNdIERPTVN0cmluZyBpbm5lckhUTUwKKyAgICAgICAgICAgIHNldHRlciByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIGF0dHJpYnV0ZSBbT2JqQ0NhdGFnb3J5PURPTUhU
TUxFbGVtZW50RXh0ZW5zaW9ucywgRXhjbHVkZT1KU10gRE9NU3RyaW5nIGlubmVyVGV4dAorICAg
ICAgICAgICAgc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgYXR0cmlidXRl
IFtPYmpDQ2F0YWdvcnk9RE9NSFRNTEVsZW1lbnRFeHRlbnNpb25zLCBFeGNsdWRlPUpTXSBET01T
dHJpbmcgb3V0ZXJIVE1MCisgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24p
OworICAgICAgICBhdHRyaWJ1dGUgW09iakNDYXRhZ29yeT1ET01IVE1MRWxlbWVudEV4dGVuc2lv
bnMsIEV4Y2x1ZGU9SlNdIERPTVN0cmluZyBvdXRlclRleHQKKyAgICAgICAgICAgIHNldHRlciBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtVc2Vz
UGFzc1JlZlB0ciwgT2JqQ0NhdGFnb3J5PURPTUhUTUxFbGVtZW50RXh0ZW5zaW9ucywgRXhjbHVk
ZT1KU10gSFRNTENvbGxlY3Rpb24gY2hpbGRyZW47CisKKyAgICAgICAgYXR0cmlidXRlIFtPYmpD
Q2F0YWdvcnk9RE9NSFRNTEVsZW1lbnRFeHRlbnNpb25zLCBFeGNsdWRlPUpTXSBET01TdHJpbmcg
Y29udGVudEVkaXRhYmxlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW09iakNDYXRhZ29y
eT1ET01IVE1MRWxlbWVudEV4dGVuc2lvbnMsIEV4Y2x1ZGU9SlNdIGJvb2xlYW4gaXNDb250ZW50
RWRpdGFibGU7CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtPYmpDQ2F0YWdvcnk9RE9N
SFRNTEVsZW1lbnRFeHRlbnNpb25zLCBFeGNsdWRlPUpTXSBET01TdHJpbmcgdGl0bGVEaXNwbGF5
U3RyaW5nOworCiAgICAgfTsKIAogfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwJKHJl
dmlzaW9uIDE2MDcwKQorKysgV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxl
IENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTIwLDcgKzIxLDcgQEAK
IG1vZHVsZSBodG1sIHsKIAogICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1M
RWxlbWVudCwgSGFzSW5kZXhHZXR0ZXIsIEhhc092ZXJyaWRpbmdOYW1lR2V0dGVyXSBIVE1MRm9y
bUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1M
Q29sbGVjdGlvbiAgZWxlbWVudHM7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbVXNlc1Bh
c3NSZWZQdHJdIEhUTUxDb2xsZWN0aW9uICBlbGVtZW50czsKICAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGxvbmcgICAgICAgICAgICBsZW5ndGg7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBET01TdHJpbmcgICAgICAgbmFtZTsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0
cmluZyAgICAgICBhY2NlcHRDaGFyc2V0OwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVs
ZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50Lmlk
bAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50LmlkbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBs
ZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNh
bS53ZWluaWdAZ21haWwuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMw
NywgVVNBLgorICovCisKK21vZHVsZSBodG1sIHsKKworICAgIGludGVyZmFjZSBIVE1MRnJhbWVF
bGVtZW50IDogSFRNTEVsZW1lbnQgeworCisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01T
dHJpbmcgICAgICAgZnJhbWVCb3JkZXI7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01T
dHJpbmcgICAgICAgbG9uZ0Rlc2M7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJp
bmcgICAgICAgbWFyZ2luSGVpZ2h0OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nICAgICAgIG1hcmdpbldpZHRoOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nICAgICAgIG5hbWU7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAg
ICAgbm9SZXNpemU7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAg
c2Nyb2xsaW5nOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgIHNy
YzsKKyAgICAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERvY3VtZW50ICAgICAgICBjb250ZW50RG9jdW1lbnQ7CisKKyAgICB9Owor
Cit9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQor
KysgV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJ
bmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFp
bC5jb20+CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxl
IFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8K
KworbW9kdWxlIGh0bWwgeworCisgICAgaW50ZXJmYWNlIEhUTUxGcmFtZVNldEVsZW1lbnQgOiBI
VE1MRWxlbWVudCB7CisKKyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBjb2xzOworICAgICAg
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJvd3M7CisKKyAgICB9OworCit9CkluZGV4OiBXZWJDb3Jl
L2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9I
VE1MSUZyYW1lRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2h0bWwvSFRNTElG
cmFtZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICog
Qm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxlIGh0bWwgeworCisgICAg
aW50ZXJmYWNlIEhUTUxJRnJhbWVFbGVtZW50IDogSFRNTEVsZW1lbnQgeworCisgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgYWxpZ247CisgICAgICAgICAgICAgICAg
IGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgZnJhbWVCb3JkZXI7CisgICAgICAgICAgICAgICAg
IGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgaGVpZ2h0OworICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgRE9NU3RyaW5nICAgICAgIGxvbmdEZXNjOworICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgRE9NU3RyaW5nICAgICAgIG1hcmdpbkhlaWdodDsKKyAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIERPTVN0cmluZyAgICAgICBtYXJnaW5XaWR0aDsKKyAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIERPTVN0cmluZyAgICAgICBuYW1lOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nICAgICAgIHNjcm9sbGluZzsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0
cmluZyAgICAgICBzcmM7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgICAg
ICAgd2lkdGg7CisgICAgICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBEb2N1bWVudCAgICAgICAgY29udGVudERvY3VtZW50OworCisg
ICAgfTsKKworfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbAkocmV2aXNpb24gMTYw
NzApCisrKyBXZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVy
LCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0Bn
bWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTMzLDggKzM0LDggQEAgbW9kdWxlIGh0
bWwgewogICAgICAgICBhdHRyaWJ1dGUgbG9uZyB3aWR0aDsKICAgICAgICAgCiAgICAgICAgIC8v
IEV4dGVuc2lvbnMKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY29tcGxldGU7
Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHg7Ci0gICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBsb25nIHk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbRXhjbHVkZT1PYmpD
XSBib29sZWFuIGNvbXBsZXRlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0V4Y2x1ZGU9
T2JqQ10gbG9uZyB4OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0V4Y2x1ZGU9T2JqQ10g
bG9uZyB5OwogICAgIH07CiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCShyZXZp
c2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUg
Q29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0u
d2VpbmlnQGdtYWlsLmNvbT4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNDQsNyArNDUsNyBAQCBt
b2R1bGUgaHRtbCB7CiAgICAgICAgIHZvaWQgICAgc2VsZWN0KCk7CiAgICAgICAgIHZvaWQgICAg
Y2xpY2soKTsKICAgICAgICAgCi0gICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGlu
ZGV0ZXJtaW5hdGU7IC8vIFdpbklFIGV4dGVuc2lvbgorICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgW0V4Y2x1ZGU9T2JqQ10gYm9vbGVhbiBpbmRldGVybWluYXRlOyAvLyBXaW5JRSBleHRlbnNp
b24KICAgICAgICAgCiAgICAgICAgIC8vIFdpbklFICYgRmlyZUZveCBleHRlbnNpb246CiAgICAg
ICAgIApJbmRleDogV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmlkbAkocmV2aXNpb24gMTYwNzApCisr
KyBXZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5j
b20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTIyLDYgKzIzLDcgQEAgbW9kdWxlIGh0bWwgewog
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVtZW50IGZvcm07CiAgICAgICAg
IGF0dHJpYnV0ZSBET01TdHJpbmcgYWNjZXNzS2V5OwogICAgICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGh0bWxGb3I7Ci0gICAgICAgIHZvaWQgZm9jdXMoKTsKKworICAgICAgICBbRXhjbHVkZT1P
YmpDXSB2b2lkIGZvY3VzKCk7CiAgICAgfTsKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MTGVn
ZW5kRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVt
ZW50LmlkbAkocmV2aXNpb24gMTYwNzApCisrKyBXZWJDb3JlL2h0bWwvSFRNTExlZ2VuZEVsZW1l
bnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVl
bCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0y
Miw2ICsyMyw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhU
TUxGb3JtRWxlbWVudCBmb3JtOwogICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFjY2Vzc0tl
eTsKICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBhbGlnbjsKLSAgICAgICAgdm9pZCBmb2N1
cygpOworCisgICAgICAgIFtFeGNsdWRlPU9iakNdIHZvaWQgZm9jdXMoKTsKICAgICB9OwogfQpJ
bmRleDogV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwJKHJldmlzaW9uIDE2MDcwKQorKysgV2ViQ29y
ZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgog
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKQEAgLTMxLDcgKzMyLDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBh
dHRyaWJ1dGUgIERPTVN0cmluZyAgICAgICAgICAgIHR5cGU7CiAgICAgICAgIAogICAgICAgICAv
LyBET00gTGV2ZWwgMiBTdHlsZQotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgU3R5bGVTaGVl
dCAgIHNoZWV0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0V4Y2x1ZGU9T2JqQ10gU3R5
bGVTaGVldCAgIHNoZWV0OwogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MTWFw
RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxNYXBFbGVtZW50Lmlk
bAkocmV2aXNpb24gMTYwNzApCisrKyBXZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiBB
cHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcg
PHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0xOSw3ICsyMCw3
IEBACiAKIG1vZHVsZSBodG1sIHsKICAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpT
SFRNTEVsZW1lbnRdIEhUTUxNYXBFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rpb24gYXJlYXM7CisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBbVXNlc1Bhc3NSZWZQdHJdIEhUTUxDb2xsZWN0aW9uIGFyZWFzOwogICAgICAgICBh
dHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiAgICAgfTsKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9I
VE1MT2JqZWN0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxPYmpl
Y3RFbGVtZW50LmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxl
bWVudC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11
ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24s
IE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqLworCittb2R1bGUgaHRtbCB7CisKKyAgICBpbnRlcmZh
Y2UgSFRNTE9iamVjdEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3JtOworICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgRE9NU3RyaW5nICAgICAgIGNvZGU7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01T
dHJpbmcgICAgICAgYWxpZ247CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcg
ICAgICAgYXJjaGl2ZTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyAgICAg
ICBib3JkZXI7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgY29k
ZUJhc2U7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgY29kZVR5
cGU7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgZGF0YTsKKyAg
ICAgICAgICAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICBkZWNsYXJlOworICAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgIGhlaWdodDsKKyAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAgICAgICBoc3BhY2U7CisgICAgICAgICAgICAgICAg
IGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgbmFtZTsKKyAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIERPTVN0cmluZyAgICAgICBzdGFuZGJ5OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUg
bG9uZyAgICAgICAgICAgIHRhYkluZGV4OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nICAgICAgIHR5cGU7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcg
ICAgICAgdXNlTWFwOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgbG9uZyAgICAgICAgICAg
IHZzcGFjZTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICB3aWR0
aDsKKyAgICAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERvY3VtZW50ICAgICAgICBjb250ZW50RG9jdW1lbnQ7CisKKyAgICB9Owor
Cit9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbAkocmV2aXNpb24g
MTYwNzApCisrKyBXZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUg
Q29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0u
d2VpbmlnQGdtYWlsLmNvbT4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTksMTIgKzIwLDE4IEBA
CiAKIG1vZHVsZSBodG1sIHsKIAorICAgIC8vIEZJWE1FOiB0aGUgc3BlYyBzYXkgdGhhdCBIVE1M
T3B0aW9uc0NvbGxlY3Rpb24gc2hvdWxkIG5vdCBoYXZlIGEgcGFyZW50IGNsYXNzCisKICAgICBp
bnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTENvbGxlY3Rpb24sIEhhc0N1c3RvbUlu
ZGV4U2V0dGVyXSBIVE1MT3B0aW9uc0NvbGxlY3Rpb24gOiBIVE1MQ29sbGVjdGlvbiB7Ci0gICAg
ICAgICAgICAgICAgIGF0dHJpYnV0ZSAgICAgICAgICBsb25nICAgICAgICAgICAgICAgICBzZWxl
Y3RlZEluZGV4OwotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0N1c3RvbV0gbG9uZyAgICAg
ICAgICAgICAgICAgbGVuZ3RoCisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbRXhjbHVkZT1P
YmpDXSBsb25nIHNlbGVjdGVkSW5kZXg7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ3Vz
dG9tXSBsb25nIGxlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyAo
RE9NRXhjZXB0aW9uKTsKIAotICAgICAgICB2b2lkICAgICAgICAgICAgICAgYWRkKGluIEhUTUxP
cHRpb25FbGVtZW50IG9wdGlvbiwgaW4gW09wdGlvbmFsXSB1bnNpZ25lZCBsb25nIGluZGV4KQor
ICAgICAgICBbRXhjbHVkZT1PYmpDXSB2b2lkIGFkZChpbiBIVE1MT3B0aW9uRWxlbWVudCBvcHRp
b24sIGluIFtPcHRpb25hbF0gdW5zaWduZWQgbG9uZyBpbmRleCkKICAgICAgICAgICAgICByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgCisgICAgICAgIFtFeGNsdWRlPUpTXSBO
b2RlIGl0ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgICAgIFtFeGNsdWRlPUpTXSBO
b2RlIG5hbWVkSXRlbShpbiBET01TdHJpbmcgbmFtZSk7CisKICAgICB9OwogfQpJbmRleDogV2Vi
Q29yZS9odG1sL0hUTUxQcmVFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwv
SFRNTFByZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvaHRtbC9IVE1M
UHJlRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKQEAgLTI1LDcgKzI2LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBhdHRyaWJ1dGUgbG9u
ZyB3aWR0aDsKICAgICAgICAgCiAgICAgICAgIC8vIEV4dGVuc2lvbnMKLSAgICAgICAgYXR0cmli
dXRlIGJvb2xlYW4gd3JhcDsKKyAgICAgICAgYXR0cmlidXRlIFtFeGNsdWRlPU9iakNdIGJvb2xl
YW4gd3JhcDsKICAgICB9OwogCiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1l
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwJ
KHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxl
IENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3
LCBVU0EuCisgKi8KKworbW9kdWxlIGh0bWwgeworCisgICAgaW50ZXJmYWNlIEhUTUxTZWxlY3RF
bGVtZW50IDogSFRNTEVsZW1lbnQgeworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgICAgICAgdHlwZTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAg
ICAgICBzZWxlY3RlZEluZGV4OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5n
ICAgICAgIHZhbHVlOworICAgICAgICAKKyAgICAgICAgLy8gTW9kaWZpZWQgaW4gRE9NIExldmVs
IDI6CisgICAgICAgIC8vIEZJWE1FOiB0aGUgdmVyc2lvbiBvZiB0aGlzIGF0dHJpYnV0ZSBhY2Nv
cmRpbmcgdG8gdGhlCisgICAgICAgIC8vIGRvbSBzcGVjIGlzIGNvbW1lbnRlZCBvdXQgYmVsb3cg
aXQuCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nICAgICAgICAgICAgbGVuZ3RoOwor
ICAgICAgICAgICAgICAvKiBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyAgIGxlbmd0aAorICAgICAg
ICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pOyAqLworCisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9ybTsKKworICAgICAgICAvLyBN
b2RpZmllZCBpbiBET00gTGV2ZWwgMjoKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtVc2Vz
UGFzc1JlZlB0cl0gSFRNTE9wdGlvbnNDb2xsZWN0aW9uIG9wdGlvbnM7CisKKyAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICBkaXNhYmxlZDsKKyAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICBtdWx0aXBsZTsKKyAgICAgICAgICAgICAgICAg
YXR0cmlidXRlIERPTVN0cmluZyAgICAgICBuYW1lOworICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgbG9uZyAgICAgICAgICAgIHNpemU7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBsb25n
ICAgICAgICAgICAgdGFiSW5kZXg7CisgICAgICAgIAorICAgICAgICB2b2lkICAgICAgICAgICAg
ICAgYWRkKGluIEhUTUxFbGVtZW50IGVsZW1lbnQsIAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIEhUTUxFbGVtZW50IGJlZm9yZSkKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNl
cHRpb24pOworICAgICAgICB2b2lkICAgICAgICAgICAgICAgcmVtb3ZlKGluIGxvbmcgaW5kZXgp
OworICAgICAgICB2b2lkICAgICAgICAgICAgICAgYmx1cigpOworICAgICAgICB2b2lkICAgICAg
ICAgICAgICAgZm9jdXMoKTsKKworICAgIH07CisKK30KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1M
U3R5bGVFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxl
bWVudC5pZGwJKHJldmlzaW9uIDE2MDcwKQorKysgV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1l
bnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVl
bCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0y
NSw3ICsyNiw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgYXR0cmlidXRlICBET01TdHJpbmcg
ICAgICAgICAgICB0eXBlOwogICAgICAgICAKICAgICAgICAgLy8gRE9NIExldmVsIDIgU3R5bGUK
LSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFN0eWxlU2hlZXQgICBzaGVldDsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFtFeGNsdWRlPU9iakNdIFN0eWxlU2hlZXQgc2hlZXQ7CiAgICAg
fTsKIAogfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNhcHRpb25FbGVtZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaWRsCShy
ZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNhcHRpb25FbGVtZW50LmlkbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBB
cHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcg
PHNhbS53ZWluaWdAZ21haWwuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEt
MTMwNywgVVNBLgorICovCisKK21vZHVsZSBodG1sIHsKKworICAgIGludGVyZmFjZSBIVE1MVGFi
bGVDYXB0aW9uRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKworICAgICAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nICAgICAgIGFsaWduOworCisgICAgfTsKKworfQpJbmRleDogV2ViQ29yZS9odG1sL0hU
TUxUYWJsZUNlbGxFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTFRh
YmxlQ2VsbEVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0hUTUxUYWJs
ZUNlbGxFbGVtZW50LmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAy
MDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAq
IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICovCisKK21vZHVsZSBodG1sIHsKKworICAg
IGludGVyZmFjZSBIVE1MVGFibGVDZWxsRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyAgICAgICAgICAgIGNlbGxJbmRleDsKKyAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICBhYmJyOworICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgIGFsaWduOworICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgRE9NU3RyaW5nICAgICAgIGF4aXM7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBE
T01TdHJpbmcgICAgICAgYmdDb2xvcjsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0
cmluZyAgICAgICBjaDsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyAgICAg
ICBjaE9mZjsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAgICAgICBjb2xT
cGFuOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgIGhlYWRlcnM7
CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgaGVpZ2h0OworICAg
ICAgICAgICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgIG5vV3JhcDsKKyAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAgICAgICByb3dTcGFuOworICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgIHNjb3BlOworICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgIHZBbGlnbjsKKyAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIERPTVN0cmluZyAgICAgICB3aWR0aDsKKworICAgIH07CisKK30KSW5kZXg6IFdlYkNvcmUv
aHRtbC9IVE1MVGFibGVDb2xFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwv
SFRNTFRhYmxlQ29sRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2h0bWwvSFRN
TFRhYmxlQ29sRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAo
QykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAs
CisgKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqLworCittb2R1bGUgaHRtbCB7CisK
KyAgICBpbnRlcmZhY2UgSFRNTFRhYmxlQ29sRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKworICAg
ICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgIGFsaWduOworICAgICAgICBhdHRyaWJ1dGUg
RE9NU3RyaW5nICAgICAgIGNoOworICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgIGNo
T2ZmOworICAgICAgICBhdHRyaWJ1dGUgbG9uZyAgICAgICAgICAgIHNwYW47CisgICAgICAgIGF0
dHJpYnV0ZSBET01TdHJpbmcgICAgICAgdkFsaWduOworICAgICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nICAgICAgIHdpZHRoOworCisgICAgfTsKKworfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxU
YWJsZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVt
ZW50LmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50Lmlk
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAw
NiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWlu
aWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIx
MTEtMTMwNywgVVNBLgorICovCisKK21vZHVsZSBodG1sIHsKKworICAgIGludGVyZmFjZSBIVE1M
VGFibGVFbGVtZW50IDogSFRNTEVsZW1lbnQgeworCisgICAgICAgIC8vIEZJWE1FOiB0aGUgZG9t
IHNwZWMgc3RhdGVzIHRoYXQgdGhlIGZvbGxvd2luZyAzIGF0dHJpYnV0ZXMKKyAgICAgICAgLy8g
Y291bGQgcmFpc2UgZXhjZXBldGlvbnMgb24gc2V0dGluZy4KKyAgICAgICAgICAgICAgICAgYXR0
cmlidXRlIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50IGNhcHRpb24KKyAgICAgICAgICAgICAgICAg
ICAgIC8qc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKSovOworICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgdEhlYWQKKyAgICAgICAgICAgICAgICAg
ICAgIC8qc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKSovOworICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgdEZvb3QKKyAgICAgICAgICAgICAgICAg
ICAgIC8qc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKSovOworCisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBbVXNlc1Bhc3NSZWZQdHJdIEhUTUxDb2xsZWN0aW9uIHJvd3M7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBbVXNlc1Bhc3NSZWZQdHJdIEhUTUxDb2xsZWN0aW9uIHRCb2Rp
ZXM7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgYWxpZ247CisgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgYmdDb2xvcjsKKyAgICAgICAgICAgICAgICAg
YXR0cmlidXRlIERPTVN0cmluZyBib3JkZXI7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBE
T01TdHJpbmcgY2VsbFBhZGRpbmc7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJp
bmcgY2VsbFNwYWNpbmc7CisKKyAgICAgICAgLy8gRklYTUU6IHRoZSBvYmotYyBhdHRyaWJ1dGUg
aXMgY2FsbGVkIGZyYW1lQm9yZGVycworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGZyYW1lOworCisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgcnVsZXM7
CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgc3VtbWFyeTsKKyAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyB3aWR0aDsKKworICAgICAgICBIVE1MRWxlbWVu
dCAgICAgICAgY3JlYXRlVEhlYWQoKTsKKyAgICAgICAgdm9pZCAgICAgICAgICAgICAgIGRlbGV0
ZVRIZWFkKCk7CisgICAgICAgIEhUTUxFbGVtZW50ICAgICAgICBjcmVhdGVURm9vdCgpOworICAg
ICAgICB2b2lkICAgICAgICAgICAgICAgZGVsZXRlVEZvb3QoKTsKKyAgICAgICAgSFRNTEVsZW1l
bnQgICAgICAgIGNyZWF0ZUNhcHRpb24oKTsKKyAgICAgICAgdm9pZCAgICAgICAgICAgICAgIGRl
bGV0ZUNhcHRpb24oKTsKKworICAgICAgICBIVE1MRWxlbWVudCBpbnNlcnRSb3coaW4gbG9uZyBp
bmRleCkKKyAgICAgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICB2b2lk
IGRlbGV0ZVJvdyhpbiBsb25nIGluZGV4KQorICAgICAgICAgICAgcmFpc2VzIChET01FeGNlcHRp
b24pOworCisgICAgfTsKKworfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxUYWJsZVJvd0VsZW1l
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50Lmlk
bAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmlkbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBB
cHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcg
PHNhbS53ZWluaWdAZ21haWwuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEt
MTMwNywgVVNBLgorICovCisKK21vZHVsZSBodG1sIHsKKworICAgIGludGVyZmFjZSBIVE1MVGFi
bGVSb3dFbGVtZW50IDogSFRNTEVsZW1lbnQgeworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBsb25nICAgICAgICAgICAgcm93SW5kZXg7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBs
b25nICAgICAgICAgICAgc2VjdGlvblJvd0luZGV4OworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgW1VzZXNQYXNzUmVmUHRyXSBIVE1MQ29sbGVjdGlvbiAgY2VsbHM7CisgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgYWxpZ247CisgICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZSBET01TdHJpbmcgICAgICAgYmdDb2xvcjsKKyAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIERPTVN0cmluZyAgICAgICBjaDsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0
cmluZyAgICAgICBjaE9mZjsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyAg
ICAgICB2QWxpZ247CisKKyAgICAgICAgSFRNTEVsZW1lbnQgICAgICAgIGluc2VydENlbGwoaW4g
bG9uZyBpbmRleCkKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICB2
b2lkICAgICAgICAgICAgICAgZGVsZXRlQ2VsbChpbiBsb25nIGluZGV4KQorICAgICAgICAgICAg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CisKKyAgICB9OworCit9CkluZGV4OiBXZWJDb3JlL2h0bWwv
SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9I
VE1MVGFibGVTZWN0aW9uRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2h0bWwv
SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM4IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3Vp
dGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxlIGh0
bWwgeworCisgICAgaW50ZXJmYWNlIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50IDogSFRNTEVsZW1l
bnQgeworCisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgYWxpZ247
CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgY2g7CisgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgY2hPZmY7CisgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgdkFsaWduOworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgW1VzZXNQYXNzUmVmUHRyXSBIVE1MQ29sbGVjdGlvbiAgcm93czsKKworICAgICAg
ICBIVE1MRWxlbWVudCAgICAgICAgaW5zZXJ0Um93KGluIGxvbmcgaW5kZXgpCisgICAgICAgICAg
ICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCAgICAgICAgICAgICAgIGRlbGV0
ZVJvdyhpbiBsb25nIGluZGV4KQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisK
KyAgICB9OworCit9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCShyZXZp
c2lvbiAxNjA3MCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBw
bGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxz
YW0ud2VpbmlnQGdtYWlsLmNvbT4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMzcsOSArMzgsOSBA
QCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIHZvaWQgICAgIHNlbGVjdCgpOwogCiAgICAgICAgLy8g
V2luSUUgJiBGaXJlRm94IGV4dGVuc2lvbjoKLSAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGxv
bmcgc2VsZWN0aW9uU3RhcnQ7Ci0gICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBsb25nIHNlbGVj
dGlvbkVuZDsKLSAgICAgICAgdm9pZCBzZXRTZWxlY3Rpb25SYW5nZShpbiBsb25nIHN0YXJ0LCBp
biBsb25nIGVuZCk7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbRXhjbHVkZT1PYmpDXSBs
b25nIHNlbGVjdGlvblN0YXJ0OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0V4Y2x1ZGU9
T2JqQ10gbG9uZyBzZWxlY3Rpb25FbmQ7CisgICAgICAgIFtFeGNsdWRlPU9iakNdIHZvaWQgc2V0
U2VsZWN0aW9uUmFuZ2UoaW4gbG9uZyBzdGFydCwgaW4gbG9uZyBlbmQpOwogICAgIH07CiAKIH0K
SW5kZXg6IFdlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0NoYW5nZUxvZwko
cmV2aXNpb24gMTYwOTIpCisrKyBXZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMDYtMDgtMjkgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWlsLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIHBh
dGNoIGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTEw
NjI4CisgICAgICAgICAgQXV0by1nZW5lcmF0ZSB0aGUgcmVtYWluaW5nIE9iamVjdGl2ZS1DIERP
TSBiaW5kaW5ncworCisgICAgICAgICAgQXV0by1nZW5lcmF0ZXMgRE9NSFRNTENvbGxlY3Rpb24s
IERPTUhUTUxFbGVtZW50LCBET01IVE1MRm9ybUVsZW1lbnQsCisgICAgICAgICAgYW5kIERPTUhU
TUxPcHRpb25zQ29sbGVjdGlvbi4KKworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorCiAyMDA2LTA4LTI4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbgpJbmRleDogV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTYwNzApCisrKyBXZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEyNTMsNiArMTI1Mywx
MCBAQAogCQkJCTkzQUY1MkE1MDgyNTREODcwMDVEMDE1NiAvKiBET01FdmVudHMuaCAqLywKIAkJ
CQk5M0FGNTJBMzA4MjU0RDgxMDA1RDAxNTYgLyogRE9NRXh0ZW5zaW9ucy5oICovLAogCQkJCTkz
QUY1MkExMDgyNTREN0QwMDVEMDE1NiAvKiBET01IVE1MLmggKi8sCisJCQkJODUwRTY3REEwQTk1
MUI0MDAwRUZCNzNBIC8qIERPTUhUTUxDb2xsZWN0aW9uLmggKi8sCisJCQkJODU2RTA2NUYwQTkz
OTg1OTAwQTI0NzM5IC8qIERPTUhUTUxFbGVtZW50LmggKi8sCisJCQkJODVERjJFQTkwQUEzODI0
NzAwQUQ2NEM1IC8qIERPTUhUTUxGb3JtRWxlbWVudC5oICovLAorCQkJCTg1MEU2N0UwMEE5NTFC
N0MwMEVGQjczQSAvKiBET01IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCAqLywKIAkJCQk5M0FGNTI5
RjA4MjU0RDdBMDA1RDAxNTYgLyogRE9NUHJpdmF0ZS5oICovLAogCQkJCTkzQUY1MjlEMDgyNTRE
NzYwMDVEMDE1NiAvKiBET01SYW5nZS5oICovLAogCQkJCTkzQUY1MjlCMDgyNTRENjIwMDVEMDE1
NiAvKiBET01TdHlsZXNoZWV0cy5oICovLApAQCAtMTM0MCw2ICsxMzQ0LDM4IEBACiAJCQlzaGVs
bFBhdGggPSAvYmluL3NoOwogCQkJc2hlbGxTY3JpcHQgPSAibWtkaXIgLXAgXCIkVEFSR0VUX0JV
SUxEX0RJUi8kUFVCTElDX0hFQURFUlNfRk9MREVSX1BBVEhcIlxuc2VkIC1lIHMvV2ViQ29yZS9X
ZWJLaXQvIFwiJFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUi9ET01YUGF0aC5oXCIgPiBcIiRU
QVJHRVRfQlVJTERfRElSLyRQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSC9ET01YUGF0aC5oXCIi
OwogCQl9OworCQk4NTBFNjdEQTBBOTUxQjQwMDBFRkI3M0EgLyogRE9NSFRNTENvbGxlY3Rpb24u
aCAqLyA9IHsKKwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlpbnB1dFBhdGhz
ID0gKAorCQkJCSIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvRE9NSFRNTENvbGxlY3Rp
b24uaCIsCisJCQkpOworCQkJbmFtZSA9IERPTUhUTUxDb2xsZWN0aW9uLmg7CisJCQlvdXRwdXRQ
YXRocyA9ICgKKwkJCQkiJChUQVJHRVRfQlVJTERfRElSKS8kKFBVQkxJQ19IRUFERVJTX0ZPTERF
Ul9QQVRIKS9ET01IVE1MQ29sbGVjdGlvbi5oIiwKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJCQlzaGVs
bFNjcmlwdCA9ICJta2RpciAtcCBcIiRUQVJHRVRfQlVJTERfRElSLyRQVUJMSUNfSEVBREVSU19G
T0xERVJfUEFUSFwiXG5zZWQgLWUgcy9XZWJDb3JlL1dlYktpdC8gXCIkV0VCQ09SRV9QUklWQVRF
X0hFQURFUlNfRElSL0RPTUhUTUxDb2xsZWN0aW9uLmhcIiA+IFwiJFRBUkdFVF9CVUlMRF9ESVIv
JFBVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIL0RPTUhUTUxDb2xsZWN0aW9uLmhcIiI7CisJCX07
CisJCTg1MEU2N0UwMEE5NTFCN0MwMEVGQjczQSAvKiBET01IVE1MT3B0aW9uc0NvbGxlY3Rpb24u
aCAqLyA9IHsKKwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlpbnB1dFBhdGhz
ID0gKAorCQkJCSIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvRE9NSFRNTE9wdGlvbnND
b2xsZWN0aW9uLmgiLAorCQkJKTsKKwkJCW5hbWUgPSBET01IVE1MT3B0aW9uc0NvbGxlY3Rpb24u
aDsKKwkJCW91dHB1dFBhdGhzID0gKAorCQkJCSIkKFRBUkdFVF9CVUlMRF9ESVIpLyQoUFVCTElD
X0hFQURFUlNfRk9MREVSX1BBVEgpL0RPTUhUTUxPcHRpb25zQ29sbGVjdGlvbi5oIiwKKwkJCSk7
CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0
aCA9IC9iaW4vc2g7CisJCQlzaGVsbFNjcmlwdCA9ICJta2RpciAtcCBcIiRUQVJHRVRfQlVJTERf
RElSLyRQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSFwiXG5zZWQgLWUgcy9XZWJDb3JlL1dlYktp
dC8gXCIkV0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSL0RPTUhUTUxPcHRpb25zQ29sbGVjdGlv
bi5oXCIgPiBcIiRUQVJHRVRfQlVJTERfRElSLyRQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSC9E
T01IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaFwiIjsKKwkJfTsKIAkJODUyNkQ2NDEwQThGREI4NDAw
OTIzNEIxIC8qIERPTVRleHQuaCAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQ
aGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0xNTY0LDYgKzE2MDAs
MjIgQEAKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CiAJCQlzaGVsbFNjcmlwdCA9ICJta2RpciAt
cCBcIiRUQVJHRVRfQlVJTERfRElSLyRQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSFwiXG5zZWQg
LWUgcy9XZWJDb3JlL1dlYktpdC8gXCIkV0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSL0RPTU9i
amVjdC5oXCIgPiBcIiRUQVJHRVRfQlVJTERfRElSLyRQVUJMSUNfSEVBREVSU19GT0xERVJfUEFU
SC9ET01PYmplY3QuaFwiIjsKIAkJfTsKKwkJODU2RTA2NUYwQTkzOTg1OTAwQTI0NzM5IC8qIERP
TUhUTUxFbGVtZW50LmggKi8gPSB7CisJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7
CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkpOwor
CQkJaW5wdXRQYXRocyA9ICgKKwkJCQkiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0RP
TUhUTUxFbGVtZW50LmgiLAorCQkJKTsKKwkJCW5hbWUgPSBET01IVE1MRWxlbWVudC5oOworCQkJ
b3V0cHV0UGF0aHMgPSAoCisJCQkJIiQoVEFSR0VUX0JVSUxEX0RJUikvJChQVUJMSUNfSEVBREVS
U19GT0xERVJfUEFUSCkvRE9NSFRNTEVsZW1lbnQuaCIsCisJCQkpOworCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCQlzaGVsbFBhdGggPSAvYmluL3NoOworCQkJ
c2hlbGxTY3JpcHQgPSAibWtkaXIgLXAgXCIkVEFSR0VUX0JVSUxEX0RJUi8kUFVCTElDX0hFQURF
UlNfRk9MREVSX1BBVEhcIlxuc2VkIC1lIHMvV2ViQ29yZS9XZWJLaXQvIFwiJFdFQkNPUkVfUFJJ
VkFURV9IRUFERVJTX0RJUi9ET01IVE1MRWxlbWVudC5oXCIgPiBcIiRUQVJHRVRfQlVJTERfRElS
LyRQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSC9ET01IVE1MRWxlbWVudC5oXCIiOworCQl9Owog
CQk4NUE1QzVFMTBBOTAzMkIzMDBGOTFGMkMgLyogRE9NRWxlbWVudC5oICovID0gewogCQkJaXNh
ID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKQEAgLTE2MjgsNiArMTY4MCwyMiBAQAogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKIAkJ
CXNoZWxsU2NyaXB0ID0gIm1rZGlyIC1wIFwiJFRBUkdFVF9CVUlMRF9ESVIvJFBVQkxJQ19IRUFE
RVJTX0ZPTERFUl9QQVRIXCJcbnNlZCAtZSBzL1dlYkNvcmUvV2ViS2l0LyBcIiRXRUJDT1JFX1BS
SVZBVEVfSEVBREVSU19ESVIvRE9NRG9jdW1lbnRGcmFnbWVudC5oXCIgPiBcIiRUQVJHRVRfQlVJ
TERfRElSLyRQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSC9ET01Eb2N1bWVudEZyYWdtZW50Lmhc
IiI7CiAJCX07CisJCTg1REYyRUE5MEFBMzgyNDcwMEFENjRDNSAvKiBET01IVE1MRm9ybUVsZW1l
bnQuaCAqLyA9IHsKKwkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKKwkJCWJ1aWxk
QWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlpbnB1dFBh
dGhzID0gKAorCQkJCSIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvRE9NSFRNTEZvcm1F
bGVtZW50LmgiLAorCQkJKTsKKwkJCW5hbWUgPSBET01IVE1MRm9ybUVsZW1lbnQuaDsKKwkJCW91
dHB1dFBhdGhzID0gKAorCQkJCSIkKFRBUkdFVF9CVUlMRF9ESVIpLyQoUFVCTElDX0hFQURFUlNf
Rk9MREVSX1BBVEgpL0RPTUhUTUxGb3JtRWxlbWVudC5oIiwKKwkJCSk7CisJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7CisJ
CQlzaGVsbFNjcmlwdCA9ICJta2RpciAtcCBcIiRUQVJHRVRfQlVJTERfRElSLyRQVUJMSUNfSEVB
REVSU19GT0xERVJfUEFUSFwiXG5zZWQgLWUgcy9XZWJDb3JlL1dlYktpdC8gXCIkV0VCQ09SRV9Q
UklWQVRFX0hFQURFUlNfRElSL0RPTUhUTUxGb3JtRWxlbWVudC5oXCIgPiBcIiRUQVJHRVRfQlVJ
TERfRElSLyRQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSC9ET01IVE1MRm9ybUVsZW1lbnQuaFwi
IjsKKwkJfTsKIAkJOTMzOTMyM0UwODI1QTY0MjAwQUFEQTZCIC8qIG5wcnVudGltZS5oICovID0g
ewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNr
ID0gMjE0NzQ4MzY0NzsK
</data>
<flag name="review"
          id="3251"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>