<?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>99130</bug_id>
          
          <creation_ts>2012-10-11 20:03:17 -0700</creation_ts>
          <short_desc>Stop using Connection::deprecatedSend in WebConnection</short_desc>
          <delta_ts>2012-10-11 21:41:08 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>abecsi</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>menard</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>740557</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-10-11 20:03:17 -0700</bug_when>
    <thetext>Stop using Connection::deprecatedSend in WebConnection</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740558</commentid>
    <comment_count>1</comment_count>
      <attachid>168341</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-10-11 20:06:33 -0700</bug_when>
    <thetext>Created attachment 168341
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740559</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-11 20:08:42 -0700</bug_when>
    <thetext>Attachment 168341 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1
Source/WebKit2/Shared/WebConnection.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740562</commentid>
    <comment_count>3</comment_count>
      <attachid>168342</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-10-11 20:12:20 -0700</bug_when>
    <thetext>Created attachment 168342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740564</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-11 20:14:01 -0700</bug_when>
    <thetext>Attachment 168342 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1
Source/WebKit2/Shared/WebConnection.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740575</commentid>
    <comment_count>5</comment_count>
      <attachid>168342</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-11 20:42:56 -0700</bug_when>
    <thetext>Comment on attachment 168342
Patch

Attachment 168342 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14254768</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740577</commentid>
    <comment_count>6</comment_count>
      <attachid>168348</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-10-11 20:49:12 -0700</bug_when>
    <thetext>Created attachment 168348
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740579</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-11 20:51:19 -0700</bug_when>
    <thetext>Attachment 168348 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1
Source/WebKit2/Shared/WebConnection.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740590</commentid>
    <comment_count>8</comment_count>
      <attachid>168348</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-10-11 21:17:32 -0700</bug_when>
    <thetext>Comment on attachment 168348
Patch

Attachment 168348 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14254778</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740595</commentid>
    <comment_count>9</comment_count>
      <attachid>168352</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-10-11 21:23:51 -0700</bug_when>
    <thetext>Created attachment 168352
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740599</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-11 21:27:19 -0700</bug_when>
    <thetext>Attachment 168352 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/CMakeLists.txt&apos;, u&apos;Source/W...&quot; exit_code: 1
Source/WebKit2/Shared/WebConnection.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740607</commentid>
    <comment_count>11</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-10-11 21:41:08 -0700</bug_when>
    <thetext>Committed r131139: &lt;http://trac.webkit.org/changeset/131139&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168341</attachid>
            <date>2012-10-11 20:06:33 -0700</date>
            <delta_ts>2012-10-11 20:12:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99130-20121011200530.patch</filename>
            <type>text/plain</type>
            <size>24936</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDhmYTVjMTU3ODgxMDRl
YjU2YmFlNWI5ODllYjc4OTdmMjZhZTNiNC4uNDUxOTEwOWFjOTU1MzI5OGE1NTdjN2Q1NWI2Njdl
ODE0NzRhNjI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY2IEBACiAyMDEyLTEwLTExICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgU3RvcCB1c2luZyBD
b25uZWN0aW9uOjpkZXByZWNhdGVkU2VuZCBpbiBXZWJDb25uZWN0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTEzMAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgdXNpbmcgZGVwcmVj
YXRlZFNlbmQsIGp1c3QgZW5jb2RlIHRoZSBkYXRhIHVzaW5nIGEgc2VwYXJhdGUgQXJndW1lbnRF
bmNvZGVyIGFuZCBwYXNzIGl0IGFsb25nIGFzIGEgRGF0YVJlZmVyZW5jZS4KKworICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgIEFkZCBuZXcgZmlsZXMuCisKKyAg
ICAgICAgKiBQbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oOgorICAgICAgICBBZGQgV2ViQ29u
bmVjdGlvbk1lc3NhZ2VDbGFzcy4KKworICAgICAgICAqIFNoYXJlZC9XZWJDb25uZWN0aW9uLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvbjo6V2ViQ29ubmVjdGlvbik6CisgICAg
ICAgIE1ha2UgV2ViQ29ubmVjdGlvbiBob2xkIG9uIHRvIHRoZSBDb3JlSVBDOjpDb25uZWN0aW9u
LgorCisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb246OnBvc3RNZXNzYWdlKToKKyAgICAg
ICAgQXNrIHRoZSBzdWJjbGFzc2VzIHRvIGVuY29kZSB0aGUgYm9keSBkYXRhLCB0aGVuIHNlbmQg
aXQuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvbjo6aGFuZGxlTWVzc2FnZSk6Cisg
ICAgICAgIEFzayB0aGUgc3ViY2xhc3NlcyB0byBkZWNvZGUgdGhlIGJvZHkgZGF0YSwgdGhlbiBj
YWxsIGRpZFJlY2VpdmVDbGllbnQuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvbjo6
aW52YWxpZGF0ZSk6CisgICAgICAgIE51bGwgb3V0IG1fY29ubmVjdGlvbi4KKworICAgICAgICAq
IFNoYXJlZC9XZWJDb25uZWN0aW9uLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb246
OmNvbm5lY3Rpb24pOgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpX
ZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzKToKKyAgICAgICAgUGFzcyB0aGUgY29ubmVjdGlvbiB0
byB0aGUgV2ViQ29ubmVjdGlvbiBpbml0aWFsaXplci4KKworICAgICAgICAoV2ViS2l0OjpXZWJD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjplbmNvZGVNZXNzYWdlQm9keSk6CisgICAgICAgIChXZWJL
aXQ6OldlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRlY29kZU1lc3NhZ2VCb2R5KToKKyAgICAg
ICAgRW5jb2RlIGFuZCBkZWNvZGUgdGhlIG1lc3NhZ2UgYm9keS4KKworICAgICAgICAoV2ViS2l0
OjpXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAg
IEhhbmRsZSBXZWJDb25uZWN0aW9uIG1lc3NhZ2VzLgorCisgICAgICAgICogV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgbmV3IGZpbGVzLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M6OldlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcyk6
CisgICAgICAgIFBhc3MgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIFdlYkNvbm5lY3Rpb24gaW5pdGlh
bGl6ZXIuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzOjplbmNv
ZGVNZXNzYWdlQm9keSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vz
czo6ZGVjb2RlTWVzc2FnZUJvZHkpOgorICAgICAgICBFbmNvZGUgYW5kIGRlY29kZSB0aGUgbWVz
c2FnZSBib2R5LgorCisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6
ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICBIYW5kbGUgV2ViQ29ubmVjdGlvbiBtZXNzYWdl
cy4KKworICAgICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKyAgICAgICAgQWRkIG5ldyBmaWxl
cy4KKworMjAxMi0xMC0xMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgor
CiAgICAgICAgIFN0b3AgdXNpbmcgZGVwcmVjYXRlZFNlbmQgYW5kIGRlcHJlY2F0ZWRTZW5kU3lu
YyBmb3Igc2VuZGluZyBtZXNzYWdlcyB0byB0aGUgVUkgcHJvY2VzcwogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTkxMjUKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKaW5kZXggYzc5M2E1NWQyYmFkMmM2NGQ5NDYxOTVkMmNmYTFmYTljMWU4MDEx
ZC4uMzE3Y2JjN2JiM2FkNzcyZWQ0ZTVlN2NlOTE0MjE0MjZlMmQyMDgyNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yNSw2ICsyNSw3IEBAIFZQQVRIID0gXAogICAgICQoV2Vi
S2l0MikvUGx1Z2luUHJvY2VzcyBcCiAgICAgJChXZWJLaXQyKS9QbHVnaW5Qcm9jZXNzL21hYyBc
CiAgICAgJChXZWJLaXQyKS9TaGFyZWQvUGx1Z2lucyBcCisgICAgJChXZWJLaXQyKS9TaGFyZWQg
XAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9BcHBsaWNhdGlvbkNhY2hlIFwKICAgICAkKFdl
YktpdDIpL1dlYlByb2Nlc3MvQXV0aGVudGljYXRpb24gXAogICAgICQoV2ViS2l0MikvV2ViUHJv
Y2Vzcy9Db29raWVzIFwKQEAgLTYxLDYgKzYyLDcgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAg
ICAgV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eSBcCiAgICAgV2ViQ29va2llTWFuYWdl
ciBcCiAgICAgV2ViQ29va2llTWFuYWdlclByb3h5IFwKKyAgICBXZWJDb25uZWN0aW9uIFwKICAg
ICBXZWJDb250ZXh0IFwKICAgICBXZWJEYXRhYmFzZU1hbmFnZXIgXAogICAgIFdlYkRhdGFiYXNl
TWFuYWdlclByb3h5IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2Vz
LnByaSBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCAwYjNiMzQyMTI2
MjExZWI3ZWJjY2MyOTg2MmJjYWYyM2NjNDdlMjI5Li5kYzQxYjNiYjE4MjYyOTA2MWFiYmI5OTc4
ZjliNzEyMzVkYjdmOThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNl
cy5wcmkKKysrIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC03Niw2ICs3
Niw3IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogICAgIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5h
Z2VyUHJveHkubWVzc2FnZXMuaW4gXAogICAgIFdlYkJhdHRlcnlNYW5hZ2VyLm1lc3NhZ2VzLmlu
IFwKICAgICBXZWJCYXR0ZXJ5TWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIFwKKyAgICBXZWJDb25u
ZWN0aW9uLm1lc3NhZ2VzLmluIFwKICAgICBXZWJDb250ZXh0Lm1lc3NhZ2VzLmluIFwKICAgICBX
ZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluIFwKICAgICBXZWJDb29raWVNYW5hZ2VyUHJveHku
bWVzc2FnZXMuaW4gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlz
dC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYTA2ODFmOWM2
YTU3MTQwOTQ1MDczZWNkZGU2Yjk0NDNmZmE4MjVmNy4uN2Y4MzNlMTFmYzVlNjdiYTJiMjYyNGIz
NThjZTA0ZTJjZTJiZjk3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUu
bGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xNjUs
NiArMTY1LDggQEAgd2Via2l0Ml9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1dlYkJhdHRlcnlNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYkNvbnRleHRNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYkNvbnRleHRNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQy
L1dlYkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJL
aXQyL1dlYkNvbm5lY3Rpb25NZXNzYWdlcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dl
YkNvb2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJL
aXQyL1dlYkNvb2tpZU1hbmFnZXJNZXNzYWdlcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJLaXQy
L1dlYkNvb2tpZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlSUQuaCBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmgKaW5kZXggNjc3YjM2MTMxODUwMmVkNWEw
MWM2ZWZhYjA4NGNkNzRhYWUzMGI4OC4uMTRlYzgyN2I2MzZmMTcxMjcwODE0M2NhMzVhYjhlYzA2
MzY2MjhiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNz
YWdlSUQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5o
CkBAIC02NSw2ICs2NSw3IEBAIGVudW0gTWVzc2FnZUNsYXNzIHsKICAgICBNZXNzYWdlQ2xhc3NM
YXllclRyZWVDb29yZGluYXRvclByb3h5LAogICAgIE1lc3NhZ2VDbGFzc1dlYkFwcGxpY2F0aW9u
Q2FjaGVNYW5hZ2VyUHJveHksCiAgICAgTWVzc2FnZUNsYXNzV2ViQmF0dGVyeU1hbmFnZXIsCisg
ICAgTWVzc2FnZUNsYXNzV2ViQ29ubmVjdGlvbiwKICAgICBNZXNzYWdlQ2xhc3NXZWJDb250ZXh0
LAogICAgIE1lc3NhZ2VDbGFzc1dlYkNvbnRleHRMZWdhY3ksCiAgICAgTWVzc2FnZUNsYXNzV2Vi
Q29va2llTWFuYWdlclByb3h5LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb24uY3Bw
CmluZGV4IDk1MzBlMjQ3NDZlYzE0MzFmNTRjODBhNThkMDc2ZTE5MmFhMTFlYTkuLmQ5NDEzMThk
YjI0Y2NhMzY4Y2MxMTdhZTJiZjFjY2E0Njc2YzE0NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29ubmVjdGlvbi5jcHAKQEAgLTI2LDggKzI2LDE5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiV2ViQ29ubmVjdGlvbi5oIgogCisjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMu
aCIKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgor
I2luY2x1ZGUgIldlYkNvbm5lY3Rpb25NZXNzYWdlcy5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorV2ViQ29ubmVjdGlvbjo6V2ViQ29u
bmVjdGlvbihQYXNzUmVmUHRyPENvcmVJUEM6OkNvbm5lY3Rpb24+IGNvbm5lY3Rpb24pCisgICAg
OiBtX2Nvbm5lY3Rpb24oY29ubmVjdGlvbikKK3sKK30KKwogV2ViQ29ubmVjdGlvbjo6fldlYkNv
bm5lY3Rpb24oKQogewogfQpAQCAtMzcsOSArNDgsMzcgQEAgdm9pZCBXZWJDb25uZWN0aW9uOjpp
bml0aWFsaXplQ29ubmVjdGlvbkNsaWVudChjb25zdCBXS0Nvbm5lY3Rpb25DbGllbnQqIGNsaWVu
dCkKICAgICBtX2NsaWVudC5pbml0aWFsaXplKGNsaWVudCk7CiB9CiAKLXZvaWQgV2ViQ29ubmVj
dGlvbjo6Zm9yd2FyZERpZFJlY2VpdmVNZXNzYWdlVG9DbGllbnQoY29uc3QgU3RyaW5nJiBtZXNz
YWdlTmFtZSwgQVBJT2JqZWN0KiBtZXNzYWdlQm9keSkKK3ZvaWQgV2ViQ29ubmVjdGlvbjo6cG9z
dE1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlTmFtZSwgQVBJT2JqZWN0KiBtZXNzYWdlQm9k
eSkKK3sKKyAgICBpZiAoIW1fY29ubmVjdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgT3du
UHRyPENvcmVJUEM6OkFyZ3VtZW50RW5jb2Rlcj4gbWVzc2FnZURhdGEgPSBDb3JlSVBDOjpBcmd1
bWVudEVuY29kZXI6OmNyZWF0ZSgwKTsKKyAgICBtZXNzYWdlRGF0YS0+ZW5jb2RlKG1lc3NhZ2VO
YW1lKTsKKyAgICBlbmNvZGVNZXNzYWdlQm9keShtZXNzYWdlRGF0YS5nZXQoKSwgbWVzc2FnZUJv
ZHkpOworCisgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpXZWJDb25uZWN0aW9uOjpI
YW5kbGVNZXNzYWdlKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UobWVzc2FnZURhdGEtPmJ1ZmZlcigp
LCBtZXNzYWdlRGF0YS0+YnVmZmVyU2l6ZSgpKSksIDApOworfQorCit2b2lkIFdlYkNvbm5lY3Rp
b246OmhhbmRsZU1lc3NhZ2UoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYgbWVzc2FnZURh
dGEpCit7CisgICAgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyIG1lc3NhZ2VEZWNvZGVyKG1lc3Nh
Z2VEYXRhLmRhdGEoKSwgbWVzc2FnZURhdGEuc2l6ZSgpKTsKKworICAgIFN0cmluZyBtZXNzYWdl
TmFtZTsKKyAgICBpZiAoIW1lc3NhZ2VEZWNvZGVyLmRlY29kZShtZXNzYWdlTmFtZSkpCisgICAg
ICAgIHJldHVybjsKKworICAgIFJlZlB0cjxBUElPYmplY3Q+IG1lc3NhZ2VCb2R5OworICAgIGlm
ICghZGVjb2RlTWVzc2FnZUJvZHkoJm1lc3NhZ2VEZWNvZGVyLCBtZXNzYWdlQm9keSkpCisgICAg
ICAgIHJldHVybjsKKworICAgIG1fY2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlKHRoaXMsIG1lc3Nh
Z2VOYW1lLCBtZXNzYWdlQm9keS5nZXQoKSk7Cit9CisKK3ZvaWQgV2ViQ29ubmVjdGlvbjo6aW52
YWxpZGF0ZSgpCiB7Ci0gICAgbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2UodGhpcywgbWVzc2Fn
ZU5hbWUsIG1lc3NhZ2VCb2R5KTsKKyAgICBtX2Nvbm5lY3Rpb24tPmludmFsaWRhdGUoKTsKKyAg
ICBtX2Nvbm5lY3Rpb24gPSBudWxscHRyOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb25uZWN0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29ubmVjdGlvbi5oCmluZGV4IDIxNmUzN2M1NTYyZjdiMmI0MWQ5
OGEwOGMwY2JjNzAzNThkODgzZDYuLjNhYmQxNGQ0NmFiOWY1ZGEzMTY0NWM5MjVlNWU3NTVlMzJl
ZTJkOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb25uZWN0aW9uLmgK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb24uaApAQCAtMjgsMjYgKzI4
LDQyIEBACiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJXZWJDb25uZWN0aW9u
Q2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CisKK25hbWVzcGFjZSBDb3JlSVBDIHsKKyAgICBjbGFzcyBBcmd1bWVudERlY29kZXI7Cisg
ICAgY2xhc3MgQXJndW1lbnRFbmNvZGVyOworICAgIGNsYXNzIENvbm5lY3Rpb247CisgICAgY2xh
c3MgRGF0YVJlZmVyZW5jZTsKKyAgICBjbGFzcyBNZXNzYWdlSUQ7Cit9CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBjbGFzcyBXZWJDb25uZWN0aW9uIDogcHVibGljIEFQSU9iamVjdCB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5cGVDb25uZWN0aW9uOwotCiAg
ICAgdmlydHVhbCB+V2ViQ29ubmVjdGlvbigpOwogCi0gICAgLy8gSW5pdGlhbGl6ZSB0aGUgY29u
bmVjdGlvbiBjbGllbnQuCisgICAgQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbigpIHsg
cmV0dXJuIG1fY29ubmVjdGlvbi5nZXQoKTsgfQorCiAgICAgdm9pZCBpbml0aWFsaXplQ29ubmVj
dGlvbkNsaWVudChjb25zdCBXS0Nvbm5lY3Rpb25DbGllbnQqKTsKKyAgICB2b2lkIHBvc3RNZXNz
YWdlKGNvbnN0IFN0cmluZyYsIEFQSU9iamVjdCopOwogCi0gICAgdmlydHVhbCB2b2lkIHBvc3RN
ZXNzYWdlKGNvbnN0IFN0cmluZyYsIEFQSU9iamVjdCopID0gMDsKKyAgICB2b2lkIGludmFsaWRh
dGUoKTsKIAogcHJvdGVjdGVkOgorICAgIGV4cGxpY2l0IFdlYkNvbm5lY3Rpb24oUGFzc1JlZlB0
cjxDb3JlSVBDOjpDb25uZWN0aW9uPik7CisKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0
IHsgcmV0dXJuIEFQSVR5cGU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlTWVzc2FnZUJvZHko
Q29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKiwgQVBJT2JqZWN0KikgPSAwOworICAgIHZpcnR1YWwg
Ym9vbCBkZWNvZGVNZXNzYWdlQm9keShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBSZWZQdHI8
QVBJT2JqZWN0PiYpID0gMDsKIAotICAgIHZvaWQgZm9yd2FyZERpZFJlY2VpdmVNZXNzYWdlVG9D
bGllbnQoY29uc3QgU3RyaW5nJiwgQVBJT2JqZWN0Kik7CisgICAgLy8gSW1wbGVtZW50ZWQgaW4g
Z2VuZXJhdGVkIFdlYkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwCisgICAgdm9pZCBkaWRS
ZWNlaXZlV2ViQ29ubmVjdGlvbk1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6
Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CisgICAgdm9pZCBoYW5kbGVN
ZXNzYWdlKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmIG1lc3NhZ2VEYXRhKTsKIAorICAg
IFJlZlB0cjxDb3JlSVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgV2ViQ29ubmVj
dGlvbkNsaWVudCBtX2NsaWVudDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCAzMGMyZTk2YjU5NDdj
MjNmNWU2ZTljOWQ3NDg1NDJhZGUyMTk3ZDg2Li44NmJhOTFjMDg0MmIwOWM5OTJhYTNlNjc2ZWE1
NGM4MjI5NGFmOGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC00MCw4ICs0MCw4IEBAIFBhc3NSZWZQdHI8
V2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4gV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3Jl
YXRlKFdlYlByb2NlCiB9CiAKIFdlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OldlYkNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5KiBwcm9jZXNzLCBDb3JlSVBDOjpDb25uZWN0
aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rpb25JZGVudGlmaWVyLCBSdW5Mb29wKiBydW5Mb29wKQot
ICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCi0gICAgLCBtX2Nvbm5lY3Rpb24oQ29yZUlQQzo6Q29u
bmVjdGlvbjo6Y3JlYXRlU2VydmVyQ29ubmVjdGlvbihjb25uZWN0aW9uSWRlbnRpZmllciwgdGhp
cywgcnVuTG9vcCkpCisgICAgOiBXZWJDb25uZWN0aW9uKENvcmVJUEM6OkNvbm5lY3Rpb246OmNy
ZWF0ZVNlcnZlckNvbm5lY3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXIsIHRoaXMsIHJ1bkxvb3Ap
KQorICAgICwgbV9wcm9jZXNzKHByb2Nlc3MpCiB7CiAjaWYgT1MoREFSV0lOKQogICAgIG1fY29u
bmVjdGlvbi0+c2V0U2hvdWxkQ2xvc2VDb25uZWN0aW9uT25NYWNoRXhjZXB0aW9ucygpOwpAQCAt
NTAsNDIgKzUwLDI3IEBAIFdlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OldlYkNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5KiBwcm9jZXNzLCBDCiAjZW5kaWYKIH0KIAotdm9p
ZCBXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjppbnZhbGlkYXRlKCkKKy8vIFdlYkNvbm5lY3Rp
b24KKwordm9pZCBXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjplbmNvZGVNZXNzYWdlQm9keShD
b3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGFyZ3VtZW50RW5jb2RlciwgQVBJT2JqZWN0KiBtZXNz
YWdlQm9keSkKIHsKLSAgICBtX2Nvbm5lY3Rpb24tPmludmFsaWRhdGUoKTsKLSAgICBtX2Nvbm5l
Y3Rpb24gPSBudWxscHRyOwotICAgIG1fcHJvY2VzcyA9IDA7CisgICAgYXJndW1lbnRFbmNvZGVy
LT5lbmNvZGUoV2ViQ29udGV4dFVzZXJNZXNzYWdlRW5jb2RlcihtZXNzYWdlQm9keSkpOwogfQog
Ci0vLyBXZWJDb25uZWN0aW9uCi0KLXZvaWQgV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cG9z
dE1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlTmFtZSwgQVBJT2JqZWN0KiBtZXNzYWdlQm9k
eSkKK2Jvb2wgV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGVjb2RlTWVzc2FnZUJvZHkoQ29y
ZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudERlY29kZXIsIFJlZlB0cjxBUElPYmplY3Q+
JiBtZXNzYWdlQm9keSkKIHsKLSAgICAvLyBXZSBuZWVkIHRvIGNoZWNrIGlmIHdlIGhhdmUgYW4g
dW5kZXJseWluZyBwcm9jZXNzIGhlcmUgc2luY2UgYSB1c2VyIG9mIHRoZSBBUEkgY2FuIGhvbGQK
LSAgICAvLyBvbnRvIHVzIGFuZCBjYWxsIHBvc3RNZXNzYWdlIGV2ZW4gYWZ0ZXIgdGhlIHByb2Nl
c3MgaGFzIGJlZW4gaW52YWxpZGF0ZWQuCi0gICAgaWYgKCFtX3Byb2Nlc3MpCi0gICAgICAgIHJl
dHVybjsKKyAgICBpZiAoIWFyZ3VtZW50RGVjb2Rlci0+ZGVjb2RlKFdlYkNvbnRleHRVc2VyTWVz
c2FnZURlY29kZXIobWVzc2FnZUJvZHksIG1fcHJvY2VzcykpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CiAKLSAgICBtX3Byb2Nlc3MtPmRlcHJlY2F0ZWRTZW5kKFdlYkNvbm5lY3Rpb25MZWdhY3lN
ZXNzYWdlOjpQb3N0TWVzc2FnZSwgMCwgQ29yZUlQQzo6SW4obWVzc2FnZU5hbWUsIFdlYkNvbnRl
eHRVc2VyTWVzc2FnZUVuY29kZXIobWVzc2FnZUJvZHkpKSk7CisgICAgcmV0dXJuIHRydWU7CiB9
CiAKIC8vIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaWVudAogCiB2b2lkIFdlYkNvbm5lY3Rpb25U
b1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5l
Y3Rpb24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVj
b2RlciogYXJndW1lbnRzKQogewotICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2Fn
ZUNsYXNzV2ViQ29ubmVjdGlvbkxlZ2FjeT4oKSkgewotICAgICAgICBzd2l0Y2ggKG1lc3NhZ2VJ
RC5nZXQ8V2ViQ29ubmVjdGlvbkxlZ2FjeU1lc3NhZ2U6OktpbmQ+KCkpIHsKLSAgICAgICAgICAg
IGNhc2UgV2ViQ29ubmVjdGlvbkxlZ2FjeU1lc3NhZ2U6OlBvc3RNZXNzYWdlOiB7Ci0gICAgICAg
ICAgICAgICAgU3RyaW5nIG1lc3NhZ2VOYW1lOwotICAgICAgICAgICAgICAgIFJlZlB0cjxBUElP
YmplY3Q+IG1lc3NhZ2VCb2R5OwotICAgICAgICAgICAgICAgIFdlYkNvbnRleHRVc2VyTWVzc2Fn
ZURlY29kZXIgbWVzc2FnZURlY29kZXIobWVzc2FnZUJvZHksIG1fcHJvY2Vzcyk7Ci0gICAgICAg
ICAgICAgICAgaWYgKCFhcmd1bWVudHMtPmRlY29kZShDb3JlSVBDOjpPdXQobWVzc2FnZU5hbWUs
IG1lc3NhZ2VEZWNvZGVyKSkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAg
ICAgICAgICAgIGZvcndhcmREaWRSZWNlaXZlTWVzc2FnZVRvQ2xpZW50KG1lc3NhZ2VOYW1lLCBt
ZXNzYWdlQm9keS5nZXQoKSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAg
fQotICAgICAgICB9CisgICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NX
ZWJDb25uZWN0aW9uPigpKSB7CisgICAgICAgIGRpZFJlY2VpdmVXZWJDb25uZWN0aW9uTWVzc2Fn
ZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGFyZ3VtZW50cyk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5oCmluZGV4IGRhYTliOWI2NDA5MWJiNDhlMWRkYjY3NDQxOTE3ODhhNTgzNjhm
MjguLjhlYzc4MjVhMjhhMDIwZTcyMDE2MWQ4NTM3MWY5MWU2MDE3M2MxYTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApA
QCAtMzcsMTUgKzM3LDEyIEBAIGNsYXNzIFdlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgOiBwdWJs
aWMgV2ViQ29ubmVjdGlvbiwgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpCiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8V2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4gY3JlYXRlKFdlYlBy
b2Nlc3NQcm94eSosIENvcmVJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIsIFdlYkNvcmU6OlJ1
bkxvb3AqKTsKIAotICAgIENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24oKSB7IHJldHVy
biBtX2Nvbm5lY3Rpb24uZ2V0KCk7IH0KLQotICAgIHZvaWQgaW52YWxpZGF0ZSgpOwotCiBwcml2
YXRlOgogICAgIFdlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5KiwgQ29y
ZUlQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciwgV2ViQ29yZTo6UnVuTG9vcCopOwogCiAgICAg
Ly8gV2ViQ29ubmVjdGlvbgotICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZShjb25zdCBTdHJp
bmcmLCBBUElPYmplY3QqKTsKKyAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlTWVzc2FnZUJvZHkoQ29y
ZUlQQzo6QXJndW1lbnRFbmNvZGVyKiwgQVBJT2JqZWN0KikgT1ZFUlJJREU7CisgICAgdmlydHVh
bCBib29sIGRlY29kZU1lc3NhZ2VCb2R5KENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIFJlZlB0
cjxBUElPYmplY3Q+JikgT1ZFUlJJREU7CiAKICAgICAvLyBDb3JlSVBDOjpDb25uZWN0aW9uOjpD
bGllbnQKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVj
dGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CkBA
IC01Nyw3ICs1NCw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIFdlYlByb2Nlc3NQcm94eSog
bV9wcm9jZXNzOwotICAgIFJlZlB0cjxDb3JlSVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkMGIwYmNmMmNhMmQ2ZDA5YTM3ZTI3
YWNhNzAwY2U4NzY5MzJlN2EyLi45MDQ0ZWJjNDcwMTlhNzc4NDA3NjAyZjBlZjIyNjc5ZWRhZjJj
NGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC03Myw2ICs3Myw4IEBACiAJCTFBMTg2RUVBMTJFRjc2MTgwMDhFNUYzNyAvKiBM
YXllclRyZWVIb3N0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQTE4NkVFODEyRUY3NjE4MDA4RTVGMzcgLyogTGF5ZXJUcmVlSG9zdC5oICovOyB9Owog
CQkxQTE4NkVFQjEyRUY3NjE4MDA4RTVGMzcgLyogTGF5ZXJUcmVlSG9zdC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTE4NkVFOTEyRUY3NjE4MDA4
RTVGMzcgLyogTGF5ZXJUcmVlSG9zdC5jcHAgKi87IH07CiAJCTFBMUM2NDlCMTFGNDE3NDIwMDU1
M0MxOSAvKiBXZWJDb250ZXh0TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUExQzY0ODYxMUY0MTVCNzAwNTUzQzE5IC8qIFdlYkNvbnRleHRNYWMu
bW0gKi87IH07CisJCTFBMUZFQzFDMTYyN0I0NTcwMDcwMEY2RCAvKiBXZWJDb25uZWN0aW9uTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBMUZFQzFBMTYyN0I0NTYwMDcwMEY2RCAvKiBXZWJDb25uZWN0aW9uTWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLzsgfTsKKwkJMUExRkVDMUQxNjI3QjQ1NzAwNzAwRjZEIC8qIFdlYkNvbm5l
Y3Rpb25NZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUExRkVDMUIxNjI3QjQ1NzAwNzAwRjZEIC8qIFdlYkNvbm5lY3Rpb25NZXNzYWdlcy5o
ICovOyB9OwogCQkxQTIxNjFCMDExRjM3NjY0MDA4QUQwRjUgLyogTlBSdW50aW1lT2JqZWN0TWFw
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTIxNjFB
RTExRjM3NjY0MDA4QUQwRjUgLyogTlBSdW50aW1lT2JqZWN0TWFwLmggKi87IH07CiAJCTFBMjE2
MUIxMTFGMzc2NjQwMDhBRDBGNSAvKiBOUFJ1bnRpbWVPYmplY3RNYXAuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMTYxQUYxMUYzNzY2NDAwOEFE
MEY1IC8qIE5QUnVudGltZU9iamVjdE1hcC5jcHAgKi87IH07CiAJCTFBMjE2MkIwMTFGMzg5NzEw
MDhBRDBGNSAvKiBOUFJ1bnRpbWVVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMTYyQUUxMUYzODk3MTAwOEFEMEY1IC8qIE5QUnVu
dGltZVV0aWxpdGllcy5jcHAgKi87IH07CkBAIC0xMTMxLDYgKzExMzMsOSBAQAogCQkxQTFGQTI4
NDEyN0ExM0JDMDA1MEU3MDkgLyogTlBPYmplY3RQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBOUE9iamVjdFByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUExRkEzNUIxMjdBNDVCRjAwNTBFNzA5IC8qIE5QT2JqZWN0TWVzc2FnZVJl
Y2VpdmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5QT2JqZWN0TWVzc2Fn
ZVJlY2VpdmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMUZBMzVDMTI3QTQ1
QkYwMDUwRTcwOSAvKiBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBMUZFQzE5MTYyN0IzRUYwMDcwMEY2RCAvKiBXZWJD
b25uZWN0aW9uLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkNvbm5lY3Rpb24ubWVzc2FnZXMuaW47IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBMUZFQzFBMTYyN0I0NTYwMDcwMEY2RCAvKiBX
ZWJDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IFdlYkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gV2Vi
Q29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFBMUZFQzFCMTYyN0I0NTcwMDcwMEY2RCAvKiBXZWJDb25uZWN0aW9uTWVzc2FnZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQ29ubmVjdGlvbk1lc3NhZ2VzLmg7
IHBhdGggPSBXZWJDb25uZWN0aW9uTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUEyMTYxQUUxMUYzNzY2NDAwOEFEMEY1IC8qIE5QUnVudGltZU9iamVjdE1hcC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOUFJ1bnRpbWVPYmplY3RNYXAuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyMTYxQUYxMUYzNzY2NDAwOEFEMEY1IC8qIE5Q
UnVudGltZU9iamVjdE1hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBOUFJ1bnRpbWVPYmplY3RNYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QTIxNjJBRTExRjM4OTcxMDA4QUQwRjUgLyogTlBSdW50aW1lVXRpbGl0aWVzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5QUnVudGltZVV0aWxpdGllcy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNTIwLDYgKzI1MjUsNyBAQAogCQkJCUJDRjUw
NzI2MTI0MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLywKIAkJCQlCQzRB
NjI4QjE0NzMxMkJFMDA2QzY4MUEgLyogV2ViQ29ubmVjdGlvbi5jcHAgKi8sCiAJCQkJQkM0QTYy
OEMxNDczMTJCRTAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb24uaCAqLywKKwkJCQkxQTFGRUMxOTE2
MjdCM0VGMDA3MDBGNkQgLyogV2ViQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiAqLywKIAkJCQlCQzRB
NjI4RDE0NzMxMkJFMDA2QzY4MUEgLyogV2ViQ29ubmVjdGlvbkNsaWVudC5jcHAgKi8sCiAJCQkJ
QkM0QTYyOEUxNDczMTJCRTAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb25DbGllbnQuaCAqLywKIAkJ
CQk1MTI5MzVENTEyODhEMTk0MDBBNEI2OTUgLyogV2ViQ29udGV4dE1lbnVJdGVtLmNwcCAqLywK
QEAgLTM3NzYsNiArMzc4Miw4IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQk1MTJGNThBMDEyQTg4
M0FEMDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAq
LywKIAkJCQk1MTJGNThBMTEyQTg4M0FEMDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25NYW5hZ2Vy
TWVzc2FnZXMuaCAqLywKKwkJCQlFMTk2N0UzNTE1MEFCNUQ1MDBDNzMxNjkgLyogY29tLmFwcGxl
LldlYktpdC5QbHVnaW5Qcm9jZXNzLnNiICovLAorCQkJCUUxOTY3RTM3MTUwQUI1RTIwMEM3MzE2
OSAvKiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiAqLywKIAkJCQkxQUI3RDYxNzEyODhCOUQ5MDBD
RkQwOEMgLyogRG93bmxvYWRQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMUFCN0Q2
MTgxMjg4QjlEOTAwQ0ZEMDhDIC8qIERvd25sb2FkUHJveHlNZXNzYWdlcy5oICovLAogCQkJCTFB
NjQyMjk3MTJERDAyOTIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYU1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki8sCkBAIC0zODAwLDYgKzM4MDgsOCBAQAogCQkJCTUxMkUzNTY5MTMwQjU3RjAwMEFCRDE5QSAv
KiBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlck1lc3NhZ2VzLmggKi8sCiAJCQkJNTEyRTM1RjYx
MzBCNjQyRTAwQUJEMTlBIC8qIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwICovLAogCQkJCTUxMkUzNUY3MTMwQjY0MkUwMEFCRDE5QSAvKiBXZWJBcHBs
aWNhdGlvbkNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQkxQTFGRUMxQTE2MjdC
NDU2MDA3MDBGNkQgLyogV2ViQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJ
MUExRkVDMUIxNjI3QjQ1NzAwNzAwRjZEIC8qIFdlYkNvbm5lY3Rpb25NZXNzYWdlcy5oICovLAog
CQkJCUJDRUU3RDBCMTI4NDZGNjkwMDk4MjdEQSAvKiBXZWJDb250ZXh0TWVzc2FnZVJlY2VpdmVy
LmNwcCAqLywKIAkJCQlCQ0VFN0QwQzEyODQ2RjY5MDA5ODI3REEgLyogV2ViQ29udGV4dE1lc3Nh
Z2VzLmggKi8sCiAJCQkJMzMwOTM0NDMxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFn
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLApAQCAtMzg1NCw4ICszODY0LDYgQEAKIAkJCQkzMzM2
NzY1MjEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNZXNzYWdlcy5o
ICovLAogCQkJCTMzMzY3NjUzMTMwQzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFu
YWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkzMzM2NzY1NDEzMEM5RUNBMDA2
QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmggKi8sCi0JCQkJ
RTE5NjdFMzUxNTBBQjVENTAwQzczMTY5IC8qIGNvbS5hcHBsZS5XZWJLaXQuUGx1Z2luUHJvY2Vz
cy5zYiAqLywKLQkJCQlFMTk2N0UzNzE1MEFCNUUyMDBDNzMxNjkgLyogY29tLmFwcGxlLldlYlBy
b2Nlc3Muc2IgKi8sCiAJCQkpOwogCQkJbmFtZSA9ICJEZXJpdmVkIFNvdXJjZXMiOwogCQkJcGF0
aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDI7CkBAIC00MzkxLDYgKzQzOTksNyBAQAogCQkJCTI5
MTIxNzA4MTYxQ0U3MzYwMDU3RDQ1MSAvKiBVc2VyQ29udGVudENvbnRhaW5lci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMwMTdEMjExNjI2MzMwODAwNzA1NEY1IC8qIFdLRE9NVGV4dEl0ZXJhdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzM5QzQzNjE2MjYzNjZGMDA4QkM2ODkgLyogV0tET01S
YW5nZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUExRkVDMUQxNjI3QjQ1NzAwNzAwRjZEIC8qIFdl
YkNvbm5lY3Rpb25NZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC01MjU3LDYgKzUyNjYsNyBA
QAogCQkJCTI5MTIxNzA3MTYxQ0U3MzYwMDU3RDQ1MSAvKiBVc2VyQ29udGVudENvbnRhaW5lci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzAxN0QyMDE2MjYzMzA4MDA3MDU0RjUgLyogV0tET01U
ZXh0SXRlcmF0b3IubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzM5QzQzNTE2MjYzNjZGMDA4QkM2
ODkgLyogV0tET01SYW5nZS5tbSBpbiBTb3VyY2VzICovLAorCQkJCTFBMUZFQzFDMTYyN0I0NTcw
MDcwMEY2RCAvKiBXZWJDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9V
SVByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9V
SVByb2Nlc3MuY3BwCmluZGV4IDZlNmUyNDQ2MWFmZDgxZGUxNThiODgxYTNjOTAzNzJhYzliMTE0
OTUuLjVlMTUyZWU5OGFhZDA2MGNkN2E3MGMxZTNlN2IwYzE0ODQ1ZmFhODAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5j
cHAKQEAgLTQwLDQ3ICs0MCwzNCBAQCBQYXNzUmVmUHRyPFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vz
cz4gV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzOjpjcmVhdGUoV2ViUHJvY2VzcwogfQogCiBXZWJD
b25uZWN0aW9uVG9VSVByb2Nlc3M6OldlYkNvbm5lY3Rpb25Ub1VJUHJvY2VzcyhXZWJQcm9jZXNz
KiBwcm9jZXNzLCBDb3JlSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rpb25JZGVu
dGlmaWVyLCBSdW5Mb29wKiBydW5Mb29wKQotICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCi0gICAg
LCBtX2Nvbm5lY3Rpb24oQ29yZUlQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlQ2xpZW50Q29ubmVjdGlv
bihjb25uZWN0aW9uSWRlbnRpZmllciwgdGhpcywgcnVuTG9vcCkpCisgICAgOiBXZWJDb25uZWN0
aW9uKENvcmVJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZUNsaWVudENvbm5lY3Rpb24oY29ubmVjdGlv
bklkZW50aWZpZXIsIHRoaXMsIHJ1bkxvb3ApKQorICAgICwgbV9wcm9jZXNzKHByb2Nlc3MpCiB7
CiAgICAgbV9jb25uZWN0aW9uLT5zZXREaWRDbG9zZU9uQ29ubmVjdGlvbldvcmtRdWV1ZUNhbGxi
YWNrKENoaWxkUHJvY2Vzczo6ZGlkQ2xvc2VPbkNvbm5lY3Rpb25Xb3JrUXVldWUpOwogICAgIG1f
Y29ubmVjdGlvbi0+c2V0U2hvdWxkRXhpdE9uU3luY01lc3NhZ2VTZW5kRmFpbHVyZSh0cnVlKTsK
IH0KIAotdm9pZCBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M6OmludmFsaWRhdGUoKQorLy8gV2Vi
Q29ubmVjdGlvbgorCit2b2lkIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6ZW5jb2RlTWVzc2Fn
ZUJvZHkoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKiBhcmd1bWVudEVuY29kZXIsIEFQSU9iamVj
dCogbWVzc2FnZUJvZHkpCiB7Ci0gICAgbV9jb25uZWN0aW9uLT5pbnZhbGlkYXRlKCk7Ci0gICAg
bV9jb25uZWN0aW9uID0gbnVsbHB0cjsKLSAgICBtX3Byb2Nlc3MgPSAwOworICAgIGFyZ3VtZW50
RW5jb2Rlci0+ZW5jb2RlKEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyKG1lc3NhZ2VC
b2R5KSk7CiB9CiAKLS8vIFdlYkNvbm5lY3Rpb24KLQotdm9pZCBXZWJDb25uZWN0aW9uVG9VSVBy
b2Nlc3M6OnBvc3RNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUsIEFQSU9iamVjdCog
bWVzc2FnZUJvZHkpCitib29sIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6ZGVjb2RlTWVzc2Fn
ZUJvZHkoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudERlY29kZXIsIFJlZlB0cjxB
UElPYmplY3Q+JiBtZXNzYWdlQm9keSkKIHsKLSAgICBpZiAoIW1fcHJvY2VzcykKLSAgICAgICAg
cmV0dXJuOworICAgIGlmICghYXJndW1lbnREZWNvZGVyLT5kZWNvZGUoSW5qZWN0ZWRCdW5kbGVV
c2VyTWVzc2FnZURlY29kZXIobWVzc2FnZUJvZHkpKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgbV9jb25uZWN0aW9uLT5kZXByZWNhdGVkU2VuZChXZWJDb25uZWN0aW9uTGVnYWN5TWVz
c2FnZTo6UG9zdE1lc3NhZ2UsIDAsIENvcmVJUEM6OkluKG1lc3NhZ2VOYW1lLCBJbmplY3RlZEJ1
bmRsZVVzZXJNZXNzYWdlRW5jb2RlcihtZXNzYWdlQm9keSkpKTsKKyAgICByZXR1cm4gdHJ1ZTsK
IH0KIAogLy8gQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CiAKIHZvaWQgV2ViQ29ubmVjdGlv
blRvVUlQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25u
ZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERl
Y29kZXIqIGFyZ3VtZW50cykKIHsKLSAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3Nh
Z2VDbGFzc1dlYkNvbm5lY3Rpb25MZWdhY3k+KCkpIHsKLSAgICAgICAgc3dpdGNoIChtZXNzYWdl
SUQuZ2V0PFdlYkNvbm5lY3Rpb25MZWdhY3lNZXNzYWdlOjpLaW5kPigpKSB7Ci0gICAgICAgICAg
ICBjYXNlIFdlYkNvbm5lY3Rpb25MZWdhY3lNZXNzYWdlOjpQb3N0TWVzc2FnZTogewotICAgICAg
ICAgICAgICAgIFN0cmluZyBtZXNzYWdlTmFtZTsgICAgICAgICAgICAKLSAgICAgICAgICAgICAg
ICBSZWZQdHI8QVBJT2JqZWN0PiBtZXNzYWdlQm9keTsKLSAgICAgICAgICAgICAgICBJbmplY3Rl
ZEJ1bmRsZVVzZXJNZXNzYWdlRGVjb2RlciBtZXNzYWdlRGVjb2RlcihtZXNzYWdlQm9keSk7Ci0g
ICAgICAgICAgICAgICAgaWYgKCFhcmd1bWVudHMtPmRlY29kZShDb3JlSVBDOjpPdXQobWVzc2Fn
ZU5hbWUsIG1lc3NhZ2VEZWNvZGVyKSkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLQot
ICAgICAgICAgICAgICAgIGZvcndhcmREaWRSZWNlaXZlTWVzc2FnZVRvQ2xpZW50KG1lc3NhZ2VO
YW1lLCBtZXNzYWdlQm9keS5nZXQoKSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgfQotICAgICAgICB9CisgICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdl
Q2xhc3NXZWJDb25uZWN0aW9uPigpKSB7CisgICAgICAgIGRpZFJlY2VpdmVXZWJDb25uZWN0aW9u
TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGFyZ3VtZW50cyk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29u
bmVjdGlvblRvVUlQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvbm5l
Y3Rpb25Ub1VJUHJvY2Vzcy5oCmluZGV4IDlmMjEwOGM1NzVkMTY2YjlkZTRkMDJhZjUwOWE2Njg0
N2MxYWUxNDAuLmNkZmY0YWMyN2YwYjkzNDljNTlhZGRiZjI5YjAyODk0MGUwMzQxODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNz
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9VSVByb2Nl
c3MuaApAQCAtMzcsMTUgKzM3LDEyIEBAIGNsYXNzIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2VzcyA6
IHB1YmxpYyBXZWJDb25uZWN0aW9uLCBDb3JlSVBDOjpDb25uZWN0aW9uOjpDbGllCiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzPiBjcmVhdGUo
V2ViUHJvY2VzcyosIENvcmVJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIsIFdlYkNvcmU6OlJ1
bkxvb3AqKTsKIAotICAgIENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24oKSB7IHJldHVy
biBtX2Nvbm5lY3Rpb24uZ2V0KCk7IH0KLQotICAgIHZvaWQgaW52YWxpZGF0ZSgpOwotCiBwcml2
YXRlOgogICAgIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2VzcyhXZWJQcm9jZXNzKiwgQ29yZUlQQzo6
Q29ubmVjdGlvbjo6SWRlbnRpZmllciwgV2ViQ29yZTo6UnVuTG9vcCopOwogCiAgICAgLy8gV2Vi
Q29ubmVjdGlvbgotICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZShjb25zdCBTdHJpbmcmLCBB
UElPYmplY3QqKTsKKyAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlTWVzc2FnZUJvZHkoQ29yZUlQQzo6
QXJndW1lbnRFbmNvZGVyKiwgQVBJT2JqZWN0KikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29s
IGRlY29kZU1lc3NhZ2VCb2R5KENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIFJlZlB0cjxBUElP
YmplY3Q+JikgT1ZFUlJJREU7CiAKICAgICAvLyBDb3JlSVBDOjpDb25uZWN0aW9uOjpDbGllbnQK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbios
IENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CkBAIC01Nyw3
ICs1NCw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIFdlYlByb2Nlc3MqIG1fcHJvY2VzczsK
LSAgICBSZWZQdHI8Q29yZUlQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi52Y3Byb2ogYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKaW5kZXggMmNjMjVj
ZmExNjFiNTZkOTc5N2QxOGEzZTgxZmEwZmM2N2JjYmZiZC4uMTY2NmM3NWMyODYxODEyZjhhMjkw
NWJiZGU3M2I2ZWE5YWRkODk1ZSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDIudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagpAQCAtNjI3
LDYgKzYyNywxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxTaGFyZWRcV2ViQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXFdlYkNvbm5lY3Rpb25D
bGllbnQuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTQzMDMsNiArNDMwNywxNCBAQAogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFdlYkNvbm5lY3Rp
b25NZXNzYWdlUmVjZWl2ZXIuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXFdlYkNvbm5lY3Rpb25NZXNzYWdlcy5oIgorCQkJCT4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFdlYkNvbnRleHRNZXNzYWdlUmVjZWl2
ZXIuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168342</attachid>
            <date>2012-10-11 20:12:20 -0700</date>
            <delta_ts>2012-10-11 20:49:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99130-20121011201117.patch</filename>
            <type>text/plain</type>
            <size>26735</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDhmYTVjMTU3ODgxMDRl
YjU2YmFlNWI5ODllYjc4OTdmMjZhZTNiNC4uOTQ2MmI5Zjk1ZjFjYzgyMDU0NzM3MzRiYTBkOTE1
MDgzODI2OTdlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY4IEBACiAyMDEyLTEwLTExICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgU3RvcCB1c2luZyBD
b25uZWN0aW9uOjpkZXByZWNhdGVkU2VuZCBpbiBXZWJDb25uZWN0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTEzMAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgdXNpbmcgZGVwcmVj
YXRlZFNlbmQsIGp1c3QgZW5jb2RlIHRoZSBkYXRhIHVzaW5nIGEgc2VwYXJhdGUgQXJndW1lbnRF
bmNvZGVyIGFuZCBwYXNzIGl0IGFsb25nIGFzIGEgRGF0YVJlZmVyZW5jZS4KKworICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgIEFkZCBuZXcgZmlsZXMuCisKKyAg
ICAgICAgKiBQbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oOgorICAgICAgICBBZGQgV2ViQ29u
bmVjdGlvbk1lc3NhZ2VDbGFzcy4KKworICAgICAgICAqIFNoYXJlZC9XZWJDb25uZWN0aW9uLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvbjo6V2ViQ29ubmVjdGlvbik6CisgICAg
ICAgIE1ha2UgV2ViQ29ubmVjdGlvbiBob2xkIG9uIHRvIHRoZSBDb3JlSVBDOjpDb25uZWN0aW9u
LgorCisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb246OnBvc3RNZXNzYWdlKToKKyAgICAg
ICAgQXNrIHRoZSBzdWJjbGFzc2VzIHRvIGVuY29kZSB0aGUgYm9keSBkYXRhLCB0aGVuIHNlbmQg
aXQuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvbjo6aGFuZGxlTWVzc2FnZSk6Cisg
ICAgICAgIEFzayB0aGUgc3ViY2xhc3NlcyB0byBkZWNvZGUgdGhlIGJvZHkgZGF0YSwgdGhlbiBj
YWxsIGRpZFJlY2VpdmVDbGllbnQuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvbjo6
aW52YWxpZGF0ZSk6CisgICAgICAgIE51bGwgb3V0IG1fY29ubmVjdGlvbi4KKworICAgICAgICAq
IFNoYXJlZC9XZWJDb25uZWN0aW9uLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb246
OmNvbm5lY3Rpb24pOgorCisgICAgICAgICogU2hhcmVkL1dlYkNvbm5lY3Rpb24ubWVzc2FnZXMu
aW46IEFkZGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpXZWJD
b25uZWN0aW9uVG9XZWJQcm9jZXNzKToKKyAgICAgICAgUGFzcyB0aGUgY29ubmVjdGlvbiB0byB0
aGUgV2ViQ29ubmVjdGlvbiBpbml0aWFsaXplci4KKworICAgICAgICAoV2ViS2l0OjpXZWJDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjplbmNvZGVNZXNzYWdlQm9keSk6CisgICAgICAgIChXZWJLaXQ6
OldlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRlY29kZU1lc3NhZ2VCb2R5KToKKyAgICAgICAg
RW5jb2RlIGFuZCBkZWNvZGUgdGhlIG1lc3NhZ2UgYm9keS4KKworICAgICAgICAoV2ViS2l0OjpX
ZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIEhh
bmRsZSBXZWJDb25uZWN0aW9uIG1lc3NhZ2VzLgorCisgICAgICAgICogV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgbmV3IGZpbGVzLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M6OldlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcyk6Cisg
ICAgICAgIFBhc3MgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIFdlYkNvbm5lY3Rpb24gaW5pdGlhbGl6
ZXIuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzOjplbmNvZGVN
ZXNzYWdlQm9keSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6
ZGVjb2RlTWVzc2FnZUJvZHkpOgorICAgICAgICBFbmNvZGUgYW5kIGRlY29kZSB0aGUgbWVzc2Fn
ZSBib2R5LgorCisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6ZGlk
UmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICBIYW5kbGUgV2ViQ29ubmVjdGlvbiBtZXNzYWdlcy4K
KworICAgICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKyAgICAgICAgQWRkIG5ldyBmaWxlcy4K
KworMjAxMi0xMC0xMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAg
ICAgICAgIFN0b3AgdXNpbmcgZGVwcmVjYXRlZFNlbmQgYW5kIGRlcHJlY2F0ZWRTZW5kU3luYyBm
b3Igc2VuZGluZyBtZXNzYWdlcyB0byB0aGUgVUkgcHJvY2VzcwogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTkxMjUKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggYzc5M2E1NWQyYmFkMmM2NGQ5NDYxOTVkMmNmYTFmYTljMWU4MDExZC4u
MzE3Y2JjN2JiM2FkNzcyZWQ0ZTVlN2NlOTE0MjE0MjZlMmQyMDgyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EZXJp
dmVkU291cmNlcy5tYWtlCkBAIC0yNSw2ICsyNSw3IEBAIFZQQVRIID0gXAogICAgICQoV2ViS2l0
MikvUGx1Z2luUHJvY2VzcyBcCiAgICAgJChXZWJLaXQyKS9QbHVnaW5Qcm9jZXNzL21hYyBcCiAg
ICAgJChXZWJLaXQyKS9TaGFyZWQvUGx1Z2lucyBcCisgICAgJChXZWJLaXQyKS9TaGFyZWQgXAog
ICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9BcHBsaWNhdGlvbkNhY2hlIFwKICAgICAkKFdlYktp
dDIpL1dlYlByb2Nlc3MvQXV0aGVudGljYXRpb24gXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vz
cy9Db29raWVzIFwKQEAgLTYxLDYgKzYyLDcgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAgICAg
V2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eSBcCiAgICAgV2ViQ29va2llTWFuYWdlciBc
CiAgICAgV2ViQ29va2llTWFuYWdlclByb3h5IFwKKyAgICBXZWJDb25uZWN0aW9uIFwKICAgICBX
ZWJDb250ZXh0IFwKICAgICBXZWJEYXRhYmFzZU1hbmFnZXIgXAogICAgIFdlYkRhdGFiYXNlTWFu
YWdlclByb3h5IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBy
aSBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCAwYjNiMzQyMTI2MjEx
ZWI3ZWJjY2MyOTg2MmJjYWYyM2NjNDdlMjI5Li5kYzQxYjNiYjE4MjYyOTA2MWFiYmI5OTc4Zjli
NzEyMzVkYjdmOThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5w
cmkKKysrIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC03Niw2ICs3Niw3
IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogICAgIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2Vy
UHJveHkubWVzc2FnZXMuaW4gXAogICAgIFdlYkJhdHRlcnlNYW5hZ2VyLm1lc3NhZ2VzLmluIFwK
ICAgICBXZWJCYXR0ZXJ5TWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIFwKKyAgICBXZWJDb25uZWN0
aW9uLm1lc3NhZ2VzLmluIFwKICAgICBXZWJDb250ZXh0Lm1lc3NhZ2VzLmluIFwKICAgICBXZWJD
b29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluIFwKICAgICBXZWJDb29raWVNYW5hZ2VyUHJveHkubWVz
c2FnZXMuaW4gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5h
bSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYTA2ODFmOWM2YTU3
MTQwOTQ1MDczZWNkZGU2Yjk0NDNmZmE4MjVmNy4uN2Y4MzNlMTFmYzVlNjdiYTJiMjYyNGIzNThj
ZTA0ZTJjZTJiZjk3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlz
dC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xNjUsNiAr
MTY1LDggQEAgd2Via2l0Ml9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJL
aXQyL1dlYkJhdHRlcnlNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1dlYkNvbnRleHRNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1dlYkNvbnRleHRNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dl
YkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQy
L1dlYkNvbm5lY3Rpb25NZXNzYWdlcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkNv
b2tpZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJLaXQy
L1dlYkNvb2tpZU1hbmFnZXJNZXNzYWdlcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dl
YkNvb2tpZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlSUQuaCBiL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmgKaW5kZXggNjc3YjM2MTMxODUwMmVkNWEwMWM2
ZWZhYjA4NGNkNzRhYWUzMGI4OC4uMTRlYzgyN2I2MzZmMTcxMjcwODE0M2NhMzVhYjhlYzA2MzY2
MjhiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdl
SUQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oCkBA
IC02NSw2ICs2NSw3IEBAIGVudW0gTWVzc2FnZUNsYXNzIHsKICAgICBNZXNzYWdlQ2xhc3NMYXll
clRyZWVDb29yZGluYXRvclByb3h5LAogICAgIE1lc3NhZ2VDbGFzc1dlYkFwcGxpY2F0aW9uQ2Fj
aGVNYW5hZ2VyUHJveHksCiAgICAgTWVzc2FnZUNsYXNzV2ViQmF0dGVyeU1hbmFnZXIsCisgICAg
TWVzc2FnZUNsYXNzV2ViQ29ubmVjdGlvbiwKICAgICBNZXNzYWdlQ2xhc3NXZWJDb250ZXh0LAog
ICAgIE1lc3NhZ2VDbGFzc1dlYkNvbnRleHRMZWdhY3ksCiAgICAgTWVzc2FnZUNsYXNzV2ViQ29v
a2llTWFuYWdlclByb3h5LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
bm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb24uY3BwCmlu
ZGV4IDk1MzBlMjQ3NDZlYzE0MzFmNTRjODBhNThkMDc2ZTE5MmFhMTFlYTkuLmQ5NDEzMThkYjI0
Y2NhMzY4Y2MxMTdhZTJiZjFjY2E0Njc2YzE0NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29ubmVjdGlvbi5jcHAKQEAgLTI2LDggKzI2LDE5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiV2ViQ29ubmVjdGlvbi5oIgogCisjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIK
KyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2lu
Y2x1ZGUgIldlYkNvbm5lY3Rpb25NZXNzYWdlcy5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorV2ViQ29ubmVjdGlvbjo6V2ViQ29ubmVj
dGlvbihQYXNzUmVmUHRyPENvcmVJUEM6OkNvbm5lY3Rpb24+IGNvbm5lY3Rpb24pCisgICAgOiBt
X2Nvbm5lY3Rpb24oY29ubmVjdGlvbikKK3sKK30KKwogV2ViQ29ubmVjdGlvbjo6fldlYkNvbm5l
Y3Rpb24oKQogewogfQpAQCAtMzcsOSArNDgsMzcgQEAgdm9pZCBXZWJDb25uZWN0aW9uOjppbml0
aWFsaXplQ29ubmVjdGlvbkNsaWVudChjb25zdCBXS0Nvbm5lY3Rpb25DbGllbnQqIGNsaWVudCkK
ICAgICBtX2NsaWVudC5pbml0aWFsaXplKGNsaWVudCk7CiB9CiAKLXZvaWQgV2ViQ29ubmVjdGlv
bjo6Zm9yd2FyZERpZFJlY2VpdmVNZXNzYWdlVG9DbGllbnQoY29uc3QgU3RyaW5nJiBtZXNzYWdl
TmFtZSwgQVBJT2JqZWN0KiBtZXNzYWdlQm9keSkKK3ZvaWQgV2ViQ29ubmVjdGlvbjo6cG9zdE1l
c3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlTmFtZSwgQVBJT2JqZWN0KiBtZXNzYWdlQm9keSkK
K3sKKyAgICBpZiAoIW1fY29ubmVjdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgT3duUHRy
PENvcmVJUEM6OkFyZ3VtZW50RW5jb2Rlcj4gbWVzc2FnZURhdGEgPSBDb3JlSVBDOjpBcmd1bWVu
dEVuY29kZXI6OmNyZWF0ZSgwKTsKKyAgICBtZXNzYWdlRGF0YS0+ZW5jb2RlKG1lc3NhZ2VOYW1l
KTsKKyAgICBlbmNvZGVNZXNzYWdlQm9keShtZXNzYWdlRGF0YS5nZXQoKSwgbWVzc2FnZUJvZHkp
OworCisgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpXZWJDb25uZWN0aW9uOjpIYW5k
bGVNZXNzYWdlKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UobWVzc2FnZURhdGEtPmJ1ZmZlcigpLCBt
ZXNzYWdlRGF0YS0+YnVmZmVyU2l6ZSgpKSksIDApOworfQorCit2b2lkIFdlYkNvbm5lY3Rpb246
OmhhbmRsZU1lc3NhZ2UoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYgbWVzc2FnZURhdGEp
Cit7CisgICAgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyIG1lc3NhZ2VEZWNvZGVyKG1lc3NhZ2VE
YXRhLmRhdGEoKSwgbWVzc2FnZURhdGEuc2l6ZSgpKTsKKworICAgIFN0cmluZyBtZXNzYWdlTmFt
ZTsKKyAgICBpZiAoIW1lc3NhZ2VEZWNvZGVyLmRlY29kZShtZXNzYWdlTmFtZSkpCisgICAgICAg
IHJldHVybjsKKworICAgIFJlZlB0cjxBUElPYmplY3Q+IG1lc3NhZ2VCb2R5OworICAgIGlmICgh
ZGVjb2RlTWVzc2FnZUJvZHkoJm1lc3NhZ2VEZWNvZGVyLCBtZXNzYWdlQm9keSkpCisgICAgICAg
IHJldHVybjsKKworICAgIG1fY2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlKHRoaXMsIG1lc3NhZ2VO
YW1lLCBtZXNzYWdlQm9keS5nZXQoKSk7Cit9CisKK3ZvaWQgV2ViQ29ubmVjdGlvbjo6aW52YWxp
ZGF0ZSgpCiB7Ci0gICAgbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2UodGhpcywgbWVzc2FnZU5h
bWUsIG1lc3NhZ2VCb2R5KTsKKyAgICBtX2Nvbm5lY3Rpb24tPmludmFsaWRhdGUoKTsKKyAgICBt
X2Nvbm5lY3Rpb24gPSBudWxscHRyOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29ubmVjdGlvbi5oCmluZGV4IDIxNmUzN2M1NTYyZjdiMmI0MWQ5OGEw
OGMwY2JjNzAzNThkODgzZDYuLjNhYmQxNGQ0NmFiOWY1ZGEzMTY0NWM5MjVlNWU3NTVlMzJlZTJk
OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb25uZWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb24uaApAQCAtMjgsMjYgKzI4LDQy
IEBACiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJXZWJDb25uZWN0aW9uQ2xp
ZW50LmgiCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CisKK25hbWVzcGFjZSBDb3JlSVBDIHsKKyAgICBjbGFzcyBBcmd1bWVudERlY29kZXI7CisgICAg
Y2xhc3MgQXJndW1lbnRFbmNvZGVyOworICAgIGNsYXNzIENvbm5lY3Rpb247CisgICAgY2xhc3Mg
RGF0YVJlZmVyZW5jZTsKKyAgICBjbGFzcyBNZXNzYWdlSUQ7Cit9CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCiBjbGFzcyBXZWJDb25uZWN0aW9uIDogcHVibGljIEFQSU9iamVjdCB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5cGVDb25uZWN0aW9uOwotCiAgICAg
dmlydHVhbCB+V2ViQ29ubmVjdGlvbigpOwogCi0gICAgLy8gSW5pdGlhbGl6ZSB0aGUgY29ubmVj
dGlvbiBjbGllbnQuCisgICAgQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbigpIHsgcmV0
dXJuIG1fY29ubmVjdGlvbi5nZXQoKTsgfQorCiAgICAgdm9pZCBpbml0aWFsaXplQ29ubmVjdGlv
bkNsaWVudChjb25zdCBXS0Nvbm5lY3Rpb25DbGllbnQqKTsKKyAgICB2b2lkIHBvc3RNZXNzYWdl
KGNvbnN0IFN0cmluZyYsIEFQSU9iamVjdCopOwogCi0gICAgdmlydHVhbCB2b2lkIHBvc3RNZXNz
YWdlKGNvbnN0IFN0cmluZyYsIEFQSU9iamVjdCopID0gMDsKKyAgICB2b2lkIGludmFsaWRhdGUo
KTsKIAogcHJvdGVjdGVkOgorICAgIGV4cGxpY2l0IFdlYkNvbm5lY3Rpb24oUGFzc1JlZlB0cjxD
b3JlSVBDOjpDb25uZWN0aW9uPik7CisKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IHsg
cmV0dXJuIEFQSVR5cGU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlTWVzc2FnZUJvZHkoQ29y
ZUlQQzo6QXJndW1lbnRFbmNvZGVyKiwgQVBJT2JqZWN0KikgPSAwOworICAgIHZpcnR1YWwgYm9v
bCBkZWNvZGVNZXNzYWdlQm9keShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBSZWZQdHI8QVBJ
T2JqZWN0PiYpID0gMDsKIAotICAgIHZvaWQgZm9yd2FyZERpZFJlY2VpdmVNZXNzYWdlVG9DbGll
bnQoY29uc3QgU3RyaW5nJiwgQVBJT2JqZWN0Kik7CisgICAgLy8gSW1wbGVtZW50ZWQgaW4gZ2Vu
ZXJhdGVkIFdlYkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwCisgICAgdm9pZCBkaWRSZWNl
aXZlV2ViQ29ubmVjdGlvbk1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1l
c3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CisgICAgdm9pZCBoYW5kbGVNZXNz
YWdlKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmIG1lc3NhZ2VEYXRhKTsKIAorICAgIFJl
ZlB0cjxDb3JlSVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgV2ViQ29ubmVjdGlv
bkNsaWVudCBtX2NsaWVudDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
bm5lY3Rpb24ubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmUxNzcwN2UxZGIxZjNjZWRhYTM3OTVh
NDAyMDg4Mjk1YWI0YzBlMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMjUgQEAKKyMgQ29weXJpZ2h0
IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisj
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IK
KyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworbWVzc2FnZXMgLT4gV2ViQ29ubmVjdGlvbiB7
CisgICAgSGFuZGxlTWVzc2FnZShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIG1lc3NhZ2VEYXRhKQor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwCmluZGV4IDMwYzJlOTZiNTk0N2MyM2Y1ZTZlOWM5ZDc0ODU0MmFkZTIxOTdk
ODYuLjg2YmE5MWMwODQyYjA5Yzk5MmFhM2U2NzZlYTU0YzgyMjk0YWY4ZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
cHAKQEAgLTQwLDggKzQwLDggQEAgUGFzc1JlZlB0cjxXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNz
PiBXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUoV2ViUHJvY2UKIH0KIAogV2ViQ29u
bmVjdGlvblRvV2ViUHJvY2Vzczo6V2ViQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhXZWJQcm9jZXNz
UHJveHkqIHByb2Nlc3MsIENvcmVJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlv
bklkZW50aWZpZXIsIFJ1bkxvb3AqIHJ1bkxvb3ApCi0gICAgOiBtX3Byb2Nlc3MocHJvY2VzcykK
LSAgICAsIG1fY29ubmVjdGlvbihDb3JlSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVTZXJ2ZXJDb25u
ZWN0aW9uKGNvbm5lY3Rpb25JZGVudGlmaWVyLCB0aGlzLCBydW5Mb29wKSkKKyAgICA6IFdlYkNv
bm5lY3Rpb24oQ29yZUlQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlU2VydmVyQ29ubmVjdGlvbihjb25u
ZWN0aW9uSWRlbnRpZmllciwgdGhpcywgcnVuTG9vcCkpCisgICAgLCBtX3Byb2Nlc3MocHJvY2Vz
cykKIHsKICNpZiBPUyhEQVJXSU4pCiAgICAgbV9jb25uZWN0aW9uLT5zZXRTaG91bGRDbG9zZUNv
bm5lY3Rpb25Pbk1hY2hFeGNlcHRpb25zKCk7CkBAIC01MCw0MiArNTAsMjcgQEAgV2ViQ29ubmVj
dGlvblRvV2ViUHJvY2Vzczo6V2ViQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhXZWJQcm9jZXNzUHJv
eHkqIHByb2Nlc3MsIEMKICNlbmRpZgogfQogCi12b2lkIFdlYkNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OmludmFsaWRhdGUoKQorLy8gV2ViQ29ubmVjdGlvbgorCit2b2lkIFdlYkNvbm5lY3Rpb25U
b1dlYlByb2Nlc3M6OmVuY29kZU1lc3NhZ2VCb2R5KENvcmVJUEM6OkFyZ3VtZW50RW5jb2Rlciog
YXJndW1lbnRFbmNvZGVyLCBBUElPYmplY3QqIG1lc3NhZ2VCb2R5KQogewotICAgIG1fY29ubmVj
dGlvbi0+aW52YWxpZGF0ZSgpOwotICAgIG1fY29ubmVjdGlvbiA9IG51bGxwdHI7Ci0gICAgbV9w
cm9jZXNzID0gMDsKKyAgICBhcmd1bWVudEVuY29kZXItPmVuY29kZShXZWJDb250ZXh0VXNlck1l
c3NhZ2VFbmNvZGVyKG1lc3NhZ2VCb2R5KSk7CiB9CiAKLS8vIFdlYkNvbm5lY3Rpb24KLQotdm9p
ZCBXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpwb3N0TWVzc2FnZShjb25zdCBTdHJpbmcmIG1l
c3NhZ2VOYW1lLCBBUElPYmplY3QqIG1lc3NhZ2VCb2R5KQorYm9vbCBXZWJDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjpkZWNvZGVNZXNzYWdlQm9keShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFy
Z3VtZW50RGVjb2RlciwgUmVmUHRyPEFQSU9iamVjdD4mIG1lc3NhZ2VCb2R5KQogewotICAgIC8v
IFdlIG5lZWQgdG8gY2hlY2sgaWYgd2UgaGF2ZSBhbiB1bmRlcmx5aW5nIHByb2Nlc3MgaGVyZSBz
aW5jZSBhIHVzZXIgb2YgdGhlIEFQSSBjYW4gaG9sZAotICAgIC8vIG9udG8gdXMgYW5kIGNhbGwg
cG9zdE1lc3NhZ2UgZXZlbiBhZnRlciB0aGUgcHJvY2VzcyBoYXMgYmVlbiBpbnZhbGlkYXRlZC4K
LSAgICBpZiAoIW1fcHJvY2VzcykKLSAgICAgICAgcmV0dXJuOworICAgIGlmICghYXJndW1lbnRE
ZWNvZGVyLT5kZWNvZGUoV2ViQ29udGV4dFVzZXJNZXNzYWdlRGVjb2RlcihtZXNzYWdlQm9keSwg
bV9wcm9jZXNzKSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1fcHJvY2Vzcy0+ZGVw
cmVjYXRlZFNlbmQoV2ViQ29ubmVjdGlvbkxlZ2FjeU1lc3NhZ2U6OlBvc3RNZXNzYWdlLCAwLCBD
b3JlSVBDOjpJbihtZXNzYWdlTmFtZSwgV2ViQ29udGV4dFVzZXJNZXNzYWdlRW5jb2RlcihtZXNz
YWdlQm9keSkpKTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogLy8gQ29yZUlQQzo6Q29ubmVjdGlv
bjo6Q2xpZW50CiAKIHZvaWQgV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1l
c3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlE
IG1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudHMpCiB7Ci0gICAg
aWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJDb25uZWN0aW9uTGVnYWN5
PigpKSB7Ci0gICAgICAgIHN3aXRjaCAobWVzc2FnZUlELmdldDxXZWJDb25uZWN0aW9uTGVnYWN5
TWVzc2FnZTo6S2luZD4oKSkgewotICAgICAgICAgICAgY2FzZSBXZWJDb25uZWN0aW9uTGVnYWN5
TWVzc2FnZTo6UG9zdE1lc3NhZ2U6IHsKLSAgICAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZU5h
bWU7Ci0gICAgICAgICAgICAgICAgUmVmUHRyPEFQSU9iamVjdD4gbWVzc2FnZUJvZHk7Ci0gICAg
ICAgICAgICAgICAgV2ViQ29udGV4dFVzZXJNZXNzYWdlRGVjb2RlciBtZXNzYWdlRGVjb2Rlciht
ZXNzYWdlQm9keSwgbV9wcm9jZXNzKTsKLSAgICAgICAgICAgICAgICBpZiAoIWFyZ3VtZW50cy0+
ZGVjb2RlKENvcmVJUEM6Ok91dChtZXNzYWdlTmFtZSwgbWVzc2FnZURlY29kZXIpKSkKLSAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICAgICAgZm9yd2FyZERpZFJlY2Vp
dmVNZXNzYWdlVG9DbGllbnQobWVzc2FnZU5hbWUsIG1lc3NhZ2VCb2R5LmdldCgpKTsKLSAgICAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICBpZiAobWVz
c2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYkNvbm5lY3Rpb24+KCkpIHsKKyAgICAg
ICAgZGlkUmVjZWl2ZVdlYkNvbm5lY3Rpb25NZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwg
YXJndW1lbnRzKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggZGFhOWI5
YjY0MDkxYmI0OGUxZGRiNjc0NDE5MTc4OGE1ODM2OGYyOC4uOGVjNzgyNWEyOGEwMjBlNzIwMTYx
ZDg1MzcxZjkxZTYwMTczYzFhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBAIC0zNywxNSArMzcsMTIgQEAgY2xhc3Mg
V2ViQ29ubmVjdGlvblRvV2ViUHJvY2VzcyA6IHB1YmxpYyBXZWJDb25uZWN0aW9uLCBDb3JlSVBD
OjpDb25uZWN0aW9uOjpDbGkKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzPiBjcmVhdGUoV2ViUHJvY2Vzc1Byb3h5KiwgQ29yZUlQQzo6Q29u
bmVjdGlvbjo6SWRlbnRpZmllciwgV2ViQ29yZTo6UnVuTG9vcCopOwogCi0gICAgQ29yZUlQQzo6
Q29ubmVjdGlvbiogY29ubmVjdGlvbigpIHsgcmV0dXJuIG1fY29ubmVjdGlvbi5nZXQoKTsgfQot
Ci0gICAgdm9pZCBpbnZhbGlkYXRlKCk7Ci0KIHByaXZhdGU6CiAgICAgV2ViQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyhXZWJQcm9jZXNzUHJveHkqLCBDb3JlSVBDOjpDb25uZWN0aW9uOjpJZGVudGlm
aWVyLCBXZWJDb3JlOjpSdW5Mb29wKik7CiAKICAgICAvLyBXZWJDb25uZWN0aW9uCi0gICAgdmly
dHVhbCB2b2lkIHBvc3RNZXNzYWdlKGNvbnN0IFN0cmluZyYsIEFQSU9iamVjdCopOworICAgIHZp
cnR1YWwgdm9pZCBlbmNvZGVNZXNzYWdlQm9keShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqLCBB
UElPYmplY3QqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlTWVzc2FnZUJvZHko
Q29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiwgUmVmUHRyPEFQSU9iamVjdD4mKSBPVkVSUklERTsK
IAogICAgIC8vIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaWVudAogICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlE
LCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqKTsKQEAgLTU3LDcgKzU0LDYgQEAgcHJpdmF0ZToK
ICNlbmRpZgogCiAgICAgV2ViUHJvY2Vzc1Byb3h5KiBtX3Byb2Nlc3M7Ci0gICAgUmVmUHRyPENv
cmVJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGQwYjBiY2YyY2EyZDZkMDlhMzdlMjdhY2E3MDBjZTg3NjkzMmU3YTIuLjkwNDRl
YmM0NzAxOWE3Nzg0MDc2MDJmMGVmMjI2NzllZGFmMmM0YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTczLDYgKzczLDggQEAK
IAkJMUExODZFRUExMkVGNzYxODAwOEU1RjM3IC8qIExheWVyVHJlZUhvc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMTg2RUU4MTJFRjc2MTgwMDhF
NUYzNyAvKiBMYXllclRyZWVIb3N0LmggKi87IH07CiAJCTFBMTg2RUVCMTJFRjc2MTgwMDhFNUYz
NyAvKiBMYXllclRyZWVIb3N0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBMTg2RUU5MTJFRjc2MTgwMDhFNUYzNyAvKiBMYXllclRyZWVIb3N0LmNw
cCAqLzsgfTsKIAkJMUExQzY0OUIxMUY0MTc0MjAwNTUzQzE5IC8qIFdlYkNvbnRleHRNYWMubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTFDNjQ4NjEx
RjQxNUI3MDA1NTNDMTkgLyogV2ViQ29udGV4dE1hYy5tbSAqLzsgfTsKKwkJMUExRkVDMUMxNjI3
QjQ1NzAwNzAwRjZEIC8qIFdlYkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExRkVDMUExNjI3QjQ1NjAw
NzAwRjZEIC8qIFdlYkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQkxQTFG
RUMxRDE2MjdCNDU3MDA3MDBGNkQgLyogV2ViQ29ubmVjdGlvbk1lc3NhZ2VzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTFGRUMxQjE2MjdCNDU3MDA3
MDBGNkQgLyogV2ViQ29ubmVjdGlvbk1lc3NhZ2VzLmggKi87IH07CiAJCTFBMjE2MUIwMTFGMzc2
NjQwMDhBRDBGNSAvKiBOUFJ1bnRpbWVPYmplY3RNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjE2MUFFMTFGMzc2NjQwMDhBRDBGNSAvKiBOUFJ1
bnRpbWVPYmplY3RNYXAuaCAqLzsgfTsKIAkJMUEyMTYxQjExMUYzNzY2NDAwOEFEMEY1IC8qIE5Q
UnVudGltZU9iamVjdE1hcC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTIxNjFBRjExRjM3NjY0MDA4QUQwRjUgLyogTlBSdW50aW1lT2JqZWN0TWFw
LmNwcCAqLzsgfTsKIAkJMUEyMTYyQjAxMUYzODk3MTAwOEFEMEY1IC8qIE5QUnVudGltZVV0aWxp
dGllcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTIxNjJBRTExRjM4OTcxMDA4QUQwRjUgLyogTlBSdW50aW1lVXRpbGl0aWVzLmNwcCAqLzsgfTsK
QEAgLTExMzEsNiArMTEzMyw5IEBACiAJCTFBMUZBMjg0MTI3QTEzQkMwMDUwRTcwOSAvKiBOUE9i
amVjdFByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5QT2Jq
ZWN0UHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTFGQTM1QjEyN0E0
NUJGMDA1MEU3MDkgLyogTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMUExRkEzNUMxMjdBNDVCRjAwNTBFNzA5IC8qIE5QT2JqZWN0TWVz
c2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5Q
T2JqZWN0TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUExRkVDMTkxNjI3QjNFRjAwNzAwRjZEIC8qIFdlYkNvbm5lY3Rpb24ubWVzc2FnZXMuaW4gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gV2ViQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUExRkVDMUExNjI3QjQ1NjAwNzAwRjZEIC8qIFdlYkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViQ29ubmVjdGlv
bk1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBXZWJDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUExRkVDMUIxNjI3QjQ1NzAwNzAw
RjZEIC8qIFdlYkNvbm5lY3Rpb25NZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBXZWJDb25uZWN0aW9uTWVzc2FnZXMuaDsgcGF0aCA9IFdlYkNvbm5lY3Rpb25NZXNz
YWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTIxNjFBRTExRjM3NjY0MDA4
QUQwRjUgLyogTlBSdW50aW1lT2JqZWN0TWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE5QUnVudGltZU9iamVjdE1hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQTIxNjFBRjExRjM3NjY0MDA4QUQwRjUgLyogTlBSdW50aW1lT2JqZWN0TWFwLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5QUnVudGltZU9iamVjdE1hcC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMjE2MkFFMTFGMzg5NzEwMDhBRDBGNSAv
KiBOUFJ1bnRpbWVVdGlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTlBSdW50aW1lVXRpbGl0aWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTI1MjAsNiArMjUyNSw3IEBACiAJCQkJQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdl
YkNlcnRpZmljYXRlSW5mby5oICovLAogCQkJCUJDNEE2MjhCMTQ3MzEyQkUwMDZDNjgxQSAvKiBX
ZWJDb25uZWN0aW9uLmNwcCAqLywKIAkJCQlCQzRBNjI4QzE0NzMxMkJFMDA2QzY4MUEgLyogV2Vi
Q29ubmVjdGlvbi5oICovLAorCQkJCTFBMUZFQzE5MTYyN0IzRUYwMDcwMEY2RCAvKiBXZWJDb25u
ZWN0aW9uLm1lc3NhZ2VzLmluICovLAogCQkJCUJDNEE2MjhEMTQ3MzEyQkUwMDZDNjgxQSAvKiBX
ZWJDb25uZWN0aW9uQ2xpZW50LmNwcCAqLywKIAkJCQlCQzRBNjI4RTE0NzMxMkJFMDA2QzY4MUEg
LyogV2ViQ29ubmVjdGlvbkNsaWVudC5oICovLAogCQkJCTUxMjkzNUQ1MTI4OEQxOTQwMEE0QjY5
NSAvKiBXZWJDb250ZXh0TWVudUl0ZW0uY3BwICovLApAQCAtMzc3Niw2ICszNzgyLDggQEAKIAkJ
CWNoaWxkcmVuID0gKAogCQkJCTUxMkY1OEEwMTJBODgzQUQwMDYyOTUzMCAvKiBBdXRoZW50aWNh
dGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTUxMkY1OEExMTJBODgzQUQw
MDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oICovLAorCQkJCUUxOTY3
RTM1MTUwQUI1RDUwMEM3MzE2OSAvKiBjb20uYXBwbGUuV2ViS2l0LlBsdWdpblByb2Nlc3Muc2Ig
Ki8sCisJCQkJRTE5NjdFMzcxNTBBQjVFMjAwQzczMTY5IC8qIGNvbS5hcHBsZS5XZWJQcm9jZXNz
LnNiICovLAogCQkJCTFBQjdENjE3MTI4OEI5RDkwMENGRDA4QyAvKiBEb3dubG9hZFByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkxQUI3RDYxODEyODhCOUQ5MDBDRkQwOEMgLyogRG93
bmxvYWRQcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJMUE2NDIyOTcxMkREMDI5MjAwQ0FBRTJDIC8q
IERyYXdpbmdBcmVhTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKQEAgLTM4MDAsNiArMzgwOCw4IEBA
CiAJCQkJNTEyRTM1NjkxMzBCNTdGMDAwQUJEMTlBIC8qIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5h
Z2VyTWVzc2FnZXMuaCAqLywKIAkJCQk1MTJFMzVGNjEzMEI2NDJFMDBBQkQxOUEgLyogV2ViQXBw
bGljYXRpb25DYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNTEy
RTM1RjcxMzBCNjQyRTAwQUJEMTlBIC8qIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyUHJveHlN
ZXNzYWdlcy5oICovLAorCQkJCTFBMUZFQzFBMTYyN0I0NTYwMDcwMEY2RCAvKiBXZWJDb25uZWN0
aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQkxQTFGRUMxQjE2MjdCNDU3MDA3MDBGNkQg
LyogV2ViQ29ubmVjdGlvbk1lc3NhZ2VzLmggKi8sCiAJCQkJQkNFRTdEMEIxMjg0NkY2OTAwOTgy
N0RBIC8qIFdlYkNvbnRleHRNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCUJDRUU3RDBDMTI4
NDZGNjkwMDk4MjdEQSAvKiBXZWJDb250ZXh0TWVzc2FnZXMuaCAqLywKIAkJCQkzMzA5MzQ0MzEz
MTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8s
CkBAIC0zODU0LDggKzM4NjQsNiBAQAogCQkJCTMzMzY3NjUyMTMwQzlFQ0EwMDZDOURFMiAvKiBX
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlck1lc3NhZ2VzLmggKi8sCiAJCQkJMzMzNjc2NTMxMzBDOUVD
QTAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovLAogCQkJCTMzMzY3NjU0MTMwQzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hl
TWFuYWdlclByb3h5TWVzc2FnZXMuaCAqLywKLQkJCQlFMTk2N0UzNTE1MEFCNUQ1MDBDNzMxNjkg
LyogY29tLmFwcGxlLldlYktpdC5QbHVnaW5Qcm9jZXNzLnNiICovLAotCQkJCUUxOTY3RTM3MTUw
QUI1RTIwMEM3MzE2OSAvKiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiAqLywKIAkJCSk7CiAJCQlu
YW1lID0gIkRlcml2ZWQgU291cmNlcyI7CiAJCQlwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0
MjsKQEAgLTQzOTEsNiArNDM5OSw3IEBACiAJCQkJMjkxMjE3MDgxNjFDRTczNjAwNTdENDUxIC8q
IFVzZXJDb250ZW50Q29udGFpbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAxN0QyMTE2MjYz
MzA4MDA3MDU0RjUgLyogV0tET01UZXh0SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
MzlDNDM2MTYyNjM2NkYwMDhCQzY4OSAvKiBXS0RPTVJhbmdlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkxQTFGRUMxRDE2MjdCNDU3MDA3MDBGNkQgLyogV2ViQ29ubmVjdGlvbk1lc3NhZ2VzLmggaW4g
SGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKQEAgLTUyNTcsNiArNTI2Niw3IEBACiAJCQkJMjkxMjE3MDcxNjFDRTczNjAw
NTdENDUxIC8qIFVzZXJDb250ZW50Q29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
MDE3RDIwMTYyNjMzMDgwMDcwNTRGNSAvKiBXS0RPTVRleHRJdGVyYXRvci5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDMzlDNDM1MTYyNjM2NkYwMDhCQzY4OSAvKiBXS0RPTVJhbmdlLm1tIGluIFNv
dXJjZXMgKi8sCisJCQkJMUExRkVDMUMxNjI3QjQ1NzAwNzAwRjZEIC8qIFdlYkNvbm5lY3Rpb25N
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5jcHAKaW5kZXggNmU2ZTI0
NDYxYWZkODFkZTE1OGI4ODFhM2M5MDM3MmFjOWIxMTQ5NS4uNWUxNTJlZTk4YWFkMDYwY2Q3YTcw
YzFlM2U3YjBjMTQ4NDVmYWE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmNwcApAQCAtNDAsNDcgKzQwLDM0IEBAIFBh
c3NSZWZQdHI8V2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzPiBXZWJDb25uZWN0aW9uVG9VSVByb2Nl
c3M6OmNyZWF0ZShXZWJQcm9jZXNzCiB9CiAKIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6V2Vi
Q29ubmVjdGlvblRvVUlQcm9jZXNzKFdlYlByb2Nlc3MqIHByb2Nlc3MsIENvcmVJUEM6OkNvbm5l
Y3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIsIFJ1bkxvb3AqIHJ1bkxvb3Ap
Ci0gICAgOiBtX3Byb2Nlc3MocHJvY2VzcykKLSAgICAsIG1fY29ubmVjdGlvbihDb3JlSVBDOjpD
b25uZWN0aW9uOjpjcmVhdGVDbGllbnRDb25uZWN0aW9uKGNvbm5lY3Rpb25JZGVudGlmaWVyLCB0
aGlzLCBydW5Mb29wKSkKKyAgICA6IFdlYkNvbm5lY3Rpb24oQ29yZUlQQzo6Q29ubmVjdGlvbjo6
Y3JlYXRlQ2xpZW50Q29ubmVjdGlvbihjb25uZWN0aW9uSWRlbnRpZmllciwgdGhpcywgcnVuTG9v
cCkpCisgICAgLCBtX3Byb2Nlc3MocHJvY2VzcykKIHsKICAgICBtX2Nvbm5lY3Rpb24tPnNldERp
ZENsb3NlT25Db25uZWN0aW9uV29ya1F1ZXVlQ2FsbGJhY2soQ2hpbGRQcm9jZXNzOjpkaWRDbG9z
ZU9uQ29ubmVjdGlvbldvcmtRdWV1ZSk7CiAgICAgbV9jb25uZWN0aW9uLT5zZXRTaG91bGRFeGl0
T25TeW5jTWVzc2FnZVNlbmRGYWlsdXJlKHRydWUpOwogfQogCi12b2lkIFdlYkNvbm5lY3Rpb25U
b1VJUHJvY2Vzczo6aW52YWxpZGF0ZSgpCisvLyBXZWJDb25uZWN0aW9uCisKK3ZvaWQgV2ViQ29u
bmVjdGlvblRvVUlQcm9jZXNzOjplbmNvZGVNZXNzYWdlQm9keShDb3JlSVBDOjpBcmd1bWVudEVu
Y29kZXIqIGFyZ3VtZW50RW5jb2RlciwgQVBJT2JqZWN0KiBtZXNzYWdlQm9keSkKIHsKLSAgICBt
X2Nvbm5lY3Rpb24tPmludmFsaWRhdGUoKTsKLSAgICBtX2Nvbm5lY3Rpb24gPSBudWxscHRyOwot
ICAgIG1fcHJvY2VzcyA9IDA7CisgICAgYXJndW1lbnRFbmNvZGVyLT5lbmNvZGUoSW5qZWN0ZWRC
dW5kbGVVc2VyTWVzc2FnZUVuY29kZXIobWVzc2FnZUJvZHkpKTsKIH0KIAotLy8gV2ViQ29ubmVj
dGlvbgotCi12b2lkIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6cG9zdE1lc3NhZ2UoY29uc3Qg
U3RyaW5nJiBtZXNzYWdlTmFtZSwgQVBJT2JqZWN0KiBtZXNzYWdlQm9keSkKK2Jvb2wgV2ViQ29u
bmVjdGlvblRvVUlQcm9jZXNzOjpkZWNvZGVNZXNzYWdlQm9keShDb3JlSVBDOjpBcmd1bWVudERl
Y29kZXIqIGFyZ3VtZW50RGVjb2RlciwgUmVmUHRyPEFQSU9iamVjdD4mIG1lc3NhZ2VCb2R5KQog
ewotICAgIGlmICghbV9wcm9jZXNzKQotICAgICAgICByZXR1cm47CisgICAgaWYgKCFhcmd1bWVu
dERlY29kZXItPmRlY29kZShJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRGVjb2RlcihtZXNzYWdl
Qm9keSkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBtX2Nvbm5lY3Rpb24tPmRlcHJl
Y2F0ZWRTZW5kKFdlYkNvbm5lY3Rpb25MZWdhY3lNZXNzYWdlOjpQb3N0TWVzc2FnZSwgMCwgQ29y
ZUlQQzo6SW4obWVzc2FnZU5hbWUsIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyKG1l
c3NhZ2VCb2R5KSkpOworICAgIHJldHVybiB0cnVlOwogfQogCiAvLyBDb3JlSVBDOjpDb25uZWN0
aW9uOjpDbGllbnQKIAogdm9pZCBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M6OmRpZFJlY2VpdmVN
ZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1lc3NhZ2VJ
RCBtZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJndW1lbnRzKQogewotICAg
IGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViQ29ubmVjdGlvbkxlZ2Fj
eT4oKSkgewotICAgICAgICBzd2l0Y2ggKG1lc3NhZ2VJRC5nZXQ8V2ViQ29ubmVjdGlvbkxlZ2Fj
eU1lc3NhZ2U6OktpbmQ+KCkpIHsKLSAgICAgICAgICAgIGNhc2UgV2ViQ29ubmVjdGlvbkxlZ2Fj
eU1lc3NhZ2U6OlBvc3RNZXNzYWdlOiB7Ci0gICAgICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2VO
YW1lOyAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIFJlZlB0cjxBUElPYmplY3Q+IG1lc3Nh
Z2VCb2R5OwotICAgICAgICAgICAgICAgIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VEZWNvZGVy
IG1lc3NhZ2VEZWNvZGVyKG1lc3NhZ2VCb2R5KTsKLSAgICAgICAgICAgICAgICBpZiAoIWFyZ3Vt
ZW50cy0+ZGVjb2RlKENvcmVJUEM6Ok91dChtZXNzYWdlTmFtZSwgbWVzc2FnZURlY29kZXIpKSkK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICAgICAgZm9yd2FyZERp
ZFJlY2VpdmVNZXNzYWdlVG9DbGllbnQobWVzc2FnZU5hbWUsIG1lc3NhZ2VCb2R5LmdldCgpKTsK
LSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICBp
ZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYkNvbm5lY3Rpb24+KCkpIHsK
KyAgICAgICAgZGlkUmVjZWl2ZVdlYkNvbm5lY3Rpb25NZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3Nh
Z2VJRCwgYXJndW1lbnRzKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmgKaW5kZXgg
OWYyMTA4YzU3NWQxNjZiOWRlNGQwMmFmNTA5YTY2ODQ3YzFhZTE0MC4uY2RmZjRhYzI3ZjBiOTM0
OWM1OWFkZGJmMjliMDI4OTQwZTAzNDE4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5oCkBAIC0zNywxNSArMzcsMTIgQEAg
Y2xhc3MgV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzIDogcHVibGljIFdlYkNvbm5lY3Rpb24sIENv
cmVJUEM6OkNvbm5lY3Rpb246OkNsaWUKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxX
ZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M+IGNyZWF0ZShXZWJQcm9jZXNzKiwgQ29yZUlQQzo6Q29u
bmVjdGlvbjo6SWRlbnRpZmllciwgV2ViQ29yZTo6UnVuTG9vcCopOwogCi0gICAgQ29yZUlQQzo6
Q29ubmVjdGlvbiogY29ubmVjdGlvbigpIHsgcmV0dXJuIG1fY29ubmVjdGlvbi5nZXQoKTsgfQot
Ci0gICAgdm9pZCBpbnZhbGlkYXRlKCk7Ci0KIHByaXZhdGU6CiAgICAgV2ViQ29ubmVjdGlvblRv
VUlQcm9jZXNzKFdlYlByb2Nlc3MqLCBDb3JlSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyLCBX
ZWJDb3JlOjpSdW5Mb29wKik7CiAKICAgICAvLyBXZWJDb25uZWN0aW9uCi0gICAgdmlydHVhbCB2
b2lkIHBvc3RNZXNzYWdlKGNvbnN0IFN0cmluZyYsIEFQSU9iamVjdCopOworICAgIHZpcnR1YWwg
dm9pZCBlbmNvZGVNZXNzYWdlQm9keShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqLCBBUElPYmpl
Y3QqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlTWVzc2FnZUJvZHkoQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyKiwgUmVmUHRyPEFQSU9iamVjdD4mKSBPVkVSUklERTsKIAogICAg
IC8vIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaWVudAogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3Jl
SVBDOjpBcmd1bWVudERlY29kZXIqKTsKQEAgLTU3LDcgKzU0LDYgQEAgcHJpdmF0ZToKICNlbmRp
ZgogCiAgICAgV2ViUHJvY2VzcyogbV9wcm9jZXNzOwotICAgIFJlZlB0cjxDb3JlSVBDOjpDb25u
ZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvaiBiL1NvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyLnZjcHJvagppbmRleCAyY2MyNWNmYTE2MWI1NmQ5Nzk3ZDE4YTNlODFmYTBm
YzY3YmNiZmJkLi4xNjY2Yzc1YzI4NjE4MTJmOGEyOTA1YmJkZTczYjZlYTlhZGQ4OTVlIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKKysrIGIvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIudmNwcm9qCkBAIC02MjcsNiArNjI3LDEwIEBACiAJCQkJPgogCQkJ
PC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFxXZWJDb25uZWN0
aW9uLm1lc3NhZ2VzLmluIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxTaGFyZWRcV2ViQ29ubmVjdGlvbkNsaWVudC5jcHAiCiAJCQkJPgogCQkJPC9G
aWxlPgpAQCAtNDMwMyw2ICs0MzA3LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcV2ViQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcV2ViQ29ubmVj
dGlvbk1lc3NhZ2VzLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2
ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcV2ViQ29udGV4dE1lc3NhZ2VSZWNlaXZlci5jcHAiCiAJCQkJPgogCQkJPC9GaWxl
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168348</attachid>
            <date>2012-10-11 20:49:12 -0700</date>
            <delta_ts>2012-10-11 21:23:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99130-20121011204809.patch</filename>
            <type>text/plain</type>
            <size>27409</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDhmYTVjMTU3ODgxMDRl
YjU2YmFlNWI5ODllYjc4OTdmMjZhZTNiNC4uOTQ2MmI5Zjk1ZjFjYzgyMDU0NzM3MzRiYTBkOTE1
MDgzODI2OTdlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY4IEBACiAyMDEyLTEwLTExICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgU3RvcCB1c2luZyBD
b25uZWN0aW9uOjpkZXByZWNhdGVkU2VuZCBpbiBXZWJDb25uZWN0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTEzMAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgdXNpbmcgZGVwcmVj
YXRlZFNlbmQsIGp1c3QgZW5jb2RlIHRoZSBkYXRhIHVzaW5nIGEgc2VwYXJhdGUgQXJndW1lbnRF
bmNvZGVyIGFuZCBwYXNzIGl0IGFsb25nIGFzIGEgRGF0YVJlZmVyZW5jZS4KKworICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgIEFkZCBuZXcgZmlsZXMuCisKKyAg
ICAgICAgKiBQbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oOgorICAgICAgICBBZGQgV2ViQ29u
bmVjdGlvbk1lc3NhZ2VDbGFzcy4KKworICAgICAgICAqIFNoYXJlZC9XZWJDb25uZWN0aW9uLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvbjo6V2ViQ29ubmVjdGlvbik6CisgICAg
ICAgIE1ha2UgV2ViQ29ubmVjdGlvbiBob2xkIG9uIHRvIHRoZSBDb3JlSVBDOjpDb25uZWN0aW9u
LgorCisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb246OnBvc3RNZXNzYWdlKToKKyAgICAg
ICAgQXNrIHRoZSBzdWJjbGFzc2VzIHRvIGVuY29kZSB0aGUgYm9keSBkYXRhLCB0aGVuIHNlbmQg
aXQuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvbjo6aGFuZGxlTWVzc2FnZSk6Cisg
ICAgICAgIEFzayB0aGUgc3ViY2xhc3NlcyB0byBkZWNvZGUgdGhlIGJvZHkgZGF0YSwgdGhlbiBj
YWxsIGRpZFJlY2VpdmVDbGllbnQuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvbjo6
aW52YWxpZGF0ZSk6CisgICAgICAgIE51bGwgb3V0IG1fY29ubmVjdGlvbi4KKworICAgICAgICAq
IFNoYXJlZC9XZWJDb25uZWN0aW9uLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb246
OmNvbm5lY3Rpb24pOgorCisgICAgICAgICogU2hhcmVkL1dlYkNvbm5lY3Rpb24ubWVzc2FnZXMu
aW46IEFkZGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpXZWJD
b25uZWN0aW9uVG9XZWJQcm9jZXNzKToKKyAgICAgICAgUGFzcyB0aGUgY29ubmVjdGlvbiB0byB0
aGUgV2ViQ29ubmVjdGlvbiBpbml0aWFsaXplci4KKworICAgICAgICAoV2ViS2l0OjpXZWJDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjplbmNvZGVNZXNzYWdlQm9keSk6CisgICAgICAgIChXZWJLaXQ6
OldlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRlY29kZU1lc3NhZ2VCb2R5KToKKyAgICAgICAg
RW5jb2RlIGFuZCBkZWNvZGUgdGhlIG1lc3NhZ2UgYm9keS4KKworICAgICAgICAoV2ViS2l0OjpX
ZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIEhh
bmRsZSBXZWJDb25uZWN0aW9uIG1lc3NhZ2VzLgorCisgICAgICAgICogV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgbmV3IGZpbGVzLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M6OldlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcyk6Cisg
ICAgICAgIFBhc3MgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIFdlYkNvbm5lY3Rpb24gaW5pdGlhbGl6
ZXIuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzOjplbmNvZGVN
ZXNzYWdlQm9keSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6
ZGVjb2RlTWVzc2FnZUJvZHkpOgorICAgICAgICBFbmNvZGUgYW5kIGRlY29kZSB0aGUgbWVzc2Fn
ZSBib2R5LgorCisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6ZGlk
UmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICBIYW5kbGUgV2ViQ29ubmVjdGlvbiBtZXNzYWdlcy4K
KworICAgICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKyAgICAgICAgQWRkIG5ldyBmaWxlcy4K
KworMjAxMi0xMC0xMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAg
ICAgICAgIFN0b3AgdXNpbmcgZGVwcmVjYXRlZFNlbmQgYW5kIGRlcHJlY2F0ZWRTZW5kU3luYyBm
b3Igc2VuZGluZyBtZXNzYWdlcyB0byB0aGUgVUkgcHJvY2VzcwogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTkxMjUKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggYzc5M2E1NWQyYmFkMmM2NGQ5NDYxOTVkMmNmYTFmYTljMWU4MDExZC4u
MzE3Y2JjN2JiM2FkNzcyZWQ0ZTVlN2NlOTE0MjE0MjZlMmQyMDgyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EZXJp
dmVkU291cmNlcy5tYWtlCkBAIC0yNSw2ICsyNSw3IEBAIFZQQVRIID0gXAogICAgICQoV2ViS2l0
MikvUGx1Z2luUHJvY2VzcyBcCiAgICAgJChXZWJLaXQyKS9QbHVnaW5Qcm9jZXNzL21hYyBcCiAg
ICAgJChXZWJLaXQyKS9TaGFyZWQvUGx1Z2lucyBcCisgICAgJChXZWJLaXQyKS9TaGFyZWQgXAog
ICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9BcHBsaWNhdGlvbkNhY2hlIFwKICAgICAkKFdlYktp
dDIpL1dlYlByb2Nlc3MvQXV0aGVudGljYXRpb24gXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vz
cy9Db29raWVzIFwKQEAgLTYxLDYgKzYyLDcgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAgICAg
V2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eSBcCiAgICAgV2ViQ29va2llTWFuYWdlciBc
CiAgICAgV2ViQ29va2llTWFuYWdlclByb3h5IFwKKyAgICBXZWJDb25uZWN0aW9uIFwKICAgICBX
ZWJDb250ZXh0IFwKICAgICBXZWJEYXRhYmFzZU1hbmFnZXIgXAogICAgIFdlYkRhdGFiYXNlTWFu
YWdlclByb3h5IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBy
aSBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCAwYjNiMzQyMTI2MjEx
ZWI3ZWJjY2MyOTg2MmJjYWYyM2NjNDdlMjI5Li4wZmRjNDljN2RhYmI0Y2FiZjBhMDE5YjJkYjBl
OGFiMDQ5MDVkOGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5w
cmkKKysrIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC01OSw2ICs1OSw3
IEBAIFZQQVRIID0gXAogICAgIFVJUHJvY2Vzcy9Eb3dubG9hZHMgXAogICAgIFVJUHJvY2Vzcy9O
b3RpZmljYXRpb25zIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucyBcCisgICAgU2hhcmVkIFwKICAg
ICBTaGFyZWQvUGx1Z2lucwogCiBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKQEAgLTc2LDYgKzc3LDcg
QEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAgICAgV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQ
cm94eS5tZXNzYWdlcy5pbiBcCiAgICAgV2ViQmF0dGVyeU1hbmFnZXIubWVzc2FnZXMuaW4gXAog
ICAgIFdlYkJhdHRlcnlNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gXAorICAgIFdlYkNvbm5lY3Rp
b24ubWVzc2FnZXMuaW4gXAogICAgIFdlYkNvbnRleHQubWVzc2FnZXMuaW4gXAogICAgIFdlYkNv
b2tpZU1hbmFnZXIubWVzc2FnZXMuaW4gXAogICAgIFdlYkNvb2tpZU1hbmFnZXJQcm94eS5tZXNz
YWdlcy5pbiBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbSBiL1Nv
dXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCmluZGV4IDk2OGY1MjdiMmM5ZWM5MmNhYWQwZTc3
MjRhNmUxMDFkZjhmOTFmNGYuLjg2MmNhMzY4OThjOWNlZmEwZDAxOGI4Nzg2ZWYzOWRlZWNlZmYz
YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCkBAIC0yMTksNiArMjE5LDcgQEAgQlVJTFRfU09VUkNF
UyArPSAkKEdFTlNPVVJDRVNfV0VCS0lUMikvd2Via2l0Mmd0ay9pbmNsdWRlL3dlYmtpdDIKIAog
dnBhdGggJS5tZXNzYWdlcy5pbiA9IFwKIAkkKFdlYktpdDIpL1BsdWdpblByb2Nlc3MgXAorCSQo
V2ViS2l0MikvU2hhcmVkIFwKIAkkKFdlYktpdDIpL1NoYXJlZC9QbHVnaW5zIFwKIAkkKFdlYktp
dDIpL1VJUHJvY2VzcyBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQXBwbGljYXRpb25DYWNoZSBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNl
L1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBhMDY4MWY5YzZhNTcxNDA5NDUwNzNl
Y2RkZTZiOTQ0M2ZmYTgyNWY3Li43ZjgzM2UxMWZjNWU2N2JhMmIyNjI0YjM1OGNlMDRlMmNlMmJm
OTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTE2NSw2ICsxNjUsOCBAQCB3
ZWJraXQyX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQmF0
dGVyeU1hbmFnZXJQcm94eU1lc3NhZ2VzLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2Vi
Q29udGV4dE1lc3NhZ2VSZWNlaXZlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2Vi
Q29udGV4dE1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29ubmVjdGlv
bk1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29ubmVj
dGlvbk1lc3NhZ2VzLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29va2llTWFuYWdl
ck1lc3NhZ2VSZWNlaXZlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29va2ll
TWFuYWdlck1lc3NhZ2VzLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29va2llTWFu
YWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
Q29yZUlQQy9NZXNzYWdlSUQuaAppbmRleCA2NzdiMzYxMzE4NTAyZWQ1YTAxYzZlZmFiMDg0Y2Q3
NGFhZTMwYjg4Li4xNGVjODI3YjYzNmYxNzEyNzA4MTQzY2EzNWFiOGVjMDYzNjYyOGI5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmgKQEAgLTY1LDYgKzY1
LDcgQEAgZW51bSBNZXNzYWdlQ2xhc3MgewogICAgIE1lc3NhZ2VDbGFzc0xheWVyVHJlZUNvb3Jk
aW5hdG9yUHJveHksCiAgICAgTWVzc2FnZUNsYXNzV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQ
cm94eSwKICAgICBNZXNzYWdlQ2xhc3NXZWJCYXR0ZXJ5TWFuYWdlciwKKyAgICBNZXNzYWdlQ2xh
c3NXZWJDb25uZWN0aW9uLAogICAgIE1lc3NhZ2VDbGFzc1dlYkNvbnRleHQsCiAgICAgTWVzc2Fn
ZUNsYXNzV2ViQ29udGV4dExlZ2FjeSwKICAgICBNZXNzYWdlQ2xhc3NXZWJDb29raWVNYW5hZ2Vy
UHJveHksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29ubmVjdGlvbi5jcHAKaW5kZXggOTUzMGUy
NDc0NmVjMTQzMWY1NGM4MGE1OGQwNzZlMTkyYWExMWVhOS4uZDk0MTMxOGRiMjRjY2EzNjhjYzEx
N2FlMmJmMWNjYTQ2NzZjMTQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb25uZWN0aW9u
LmNwcApAQCAtMjYsOCArMjYsMTkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJX
ZWJDb25uZWN0aW9uLmgiCiAKKyNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgorI2luY2x1ZGUg
IkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCisjaW5jbHVkZSAiV2Vi
Q29ubmVjdGlvbk1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisK
IG5hbWVzcGFjZSBXZWJLaXQgewogCitXZWJDb25uZWN0aW9uOjpXZWJDb25uZWN0aW9uKFBhc3NS
ZWZQdHI8Q29yZUlQQzo6Q29ubmVjdGlvbj4gY29ubmVjdGlvbikKKyAgICA6IG1fY29ubmVjdGlv
bihjb25uZWN0aW9uKQoreworfQorCiBXZWJDb25uZWN0aW9uOjp+V2ViQ29ubmVjdGlvbigpCiB7
CiB9CkBAIC0zNyw5ICs0OCwzNyBAQCB2b2lkIFdlYkNvbm5lY3Rpb246OmluaXRpYWxpemVDb25u
ZWN0aW9uQ2xpZW50KGNvbnN0IFdLQ29ubmVjdGlvbkNsaWVudCogY2xpZW50KQogICAgIG1fY2xp
ZW50LmluaXRpYWxpemUoY2xpZW50KTsKIH0KIAotdm9pZCBXZWJDb25uZWN0aW9uOjpmb3J3YXJk
RGlkUmVjZWl2ZU1lc3NhZ2VUb0NsaWVudChjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUElP
YmplY3QqIG1lc3NhZ2VCb2R5KQordm9pZCBXZWJDb25uZWN0aW9uOjpwb3N0TWVzc2FnZShjb25z
dCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUElPYmplY3QqIG1lc3NhZ2VCb2R5KQoreworICAgIGlm
ICghbV9jb25uZWN0aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICBPd25QdHI8Q29yZUlQQzo6
QXJndW1lbnRFbmNvZGVyPiBtZXNzYWdlRGF0YSA9IENvcmVJUEM6OkFyZ3VtZW50RW5jb2Rlcjo6
Y3JlYXRlKDApOworICAgIG1lc3NhZ2VEYXRhLT5lbmNvZGUobWVzc2FnZU5hbWUpOworICAgIGVu
Y29kZU1lc3NhZ2VCb2R5KG1lc3NhZ2VEYXRhLmdldCgpLCBtZXNzYWdlQm9keSk7CisKKyAgICBt
X2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OldlYkNvbm5lY3Rpb246OkhhbmRsZU1lc3NhZ2Uo
Q29yZUlQQzo6RGF0YVJlZmVyZW5jZShtZXNzYWdlRGF0YS0+YnVmZmVyKCksIG1lc3NhZ2VEYXRh
LT5idWZmZXJTaXplKCkpKSwgMCk7Cit9CisKK3ZvaWQgV2ViQ29ubmVjdGlvbjo6aGFuZGxlTWVz
c2FnZShjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNzYWdlRGF0YSkKK3sKKyAgICBD
b3JlSVBDOjpBcmd1bWVudERlY29kZXIgbWVzc2FnZURlY29kZXIobWVzc2FnZURhdGEuZGF0YSgp
LCBtZXNzYWdlRGF0YS5zaXplKCkpOworCisgICAgU3RyaW5nIG1lc3NhZ2VOYW1lOworICAgIGlm
ICghbWVzc2FnZURlY29kZXIuZGVjb2RlKG1lc3NhZ2VOYW1lKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgUmVmUHRyPEFQSU9iamVjdD4gbWVzc2FnZUJvZHk7CisgICAgaWYgKCFkZWNvZGVNZXNz
YWdlQm9keSgmbWVzc2FnZURlY29kZXIsIG1lc3NhZ2VCb2R5KSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2UodGhpcywgbWVzc2FnZU5hbWUsIG1lc3Nh
Z2VCb2R5LmdldCgpKTsKK30KKwordm9pZCBXZWJDb25uZWN0aW9uOjppbnZhbGlkYXRlKCkKIHsK
LSAgICBtX2NsaWVudC5kaWRSZWNlaXZlTWVzc2FnZSh0aGlzLCBtZXNzYWdlTmFtZSwgbWVzc2Fn
ZUJvZHkpOworICAgIG1fY29ubmVjdGlvbi0+aW52YWxpZGF0ZSgpOworICAgIG1fY29ubmVjdGlv
biA9IG51bGxwdHI7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb25uZWN0aW9uLmgKaW5kZXggMjE2ZTM3YzU1NjJmN2IyYjQxZDk4YTA4YzBjYmM3MDM1
OGQ4ODNkNi4uM2FiZDE0ZDQ2YWI5ZjVkYTMxNjQ1YzkyNWU1ZTc1NWUzMmVlMmQ5MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29ubmVjdGlvbi5oCkBAIC0yOCwyNiArMjgsNDIgQEAKIAogI2lu
Y2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIldlYkNvbm5lY3Rpb25DbGllbnQuaCIKLSNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNw
YWNlIENvcmVJUEMgeworICAgIGNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKKyAgICBjbGFzcyBBcmd1
bWVudEVuY29kZXI7CisgICAgY2xhc3MgQ29ubmVjdGlvbjsKKyAgICBjbGFzcyBEYXRhUmVmZXJl
bmNlOworICAgIGNsYXNzIE1lc3NhZ2VJRDsKK30KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNs
YXNzIFdlYkNvbm5lY3Rpb24gOiBwdWJsaWMgQVBJT2JqZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgY29uc3QgVHlwZSBBUElUeXBlID0gVHlwZUNvbm5lY3Rpb247Ci0KICAgICB2aXJ0dWFsIH5X
ZWJDb25uZWN0aW9uKCk7CiAKLSAgICAvLyBJbml0aWFsaXplIHRoZSBjb25uZWN0aW9uIGNsaWVu
dC4KKyAgICBDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKCkgeyByZXR1cm4gbV9jb25u
ZWN0aW9uLmdldCgpOyB9CisKICAgICB2b2lkIGluaXRpYWxpemVDb25uZWN0aW9uQ2xpZW50KGNv
bnN0IFdLQ29ubmVjdGlvbkNsaWVudCopOworICAgIHZvaWQgcG9zdE1lc3NhZ2UoY29uc3QgU3Ry
aW5nJiwgQVBJT2JqZWN0Kik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2UoY29uc3Qg
U3RyaW5nJiwgQVBJT2JqZWN0KikgPSAwOworICAgIHZvaWQgaW52YWxpZGF0ZSgpOwogCiBwcm90
ZWN0ZWQ6CisgICAgZXhwbGljaXQgV2ViQ29ubmVjdGlvbihQYXNzUmVmUHRyPENvcmVJUEM6OkNv
bm5lY3Rpb24+KTsKKwogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gQVBJ
VHlwZTsgfQorICAgIHZpcnR1YWwgdm9pZCBlbmNvZGVNZXNzYWdlQm9keShDb3JlSVBDOjpBcmd1
bWVudEVuY29kZXIqLCBBUElPYmplY3QqKSA9IDA7CisgICAgdmlydHVhbCBib29sIGRlY29kZU1l
c3NhZ2VCb2R5KENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIFJlZlB0cjxBUElPYmplY3Q+Jikg
PSAwOwogCi0gICAgdm9pZCBmb3J3YXJkRGlkUmVjZWl2ZU1lc3NhZ2VUb0NsaWVudChjb25zdCBT
dHJpbmcmLCBBUElPYmplY3QqKTsKKyAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2Vi
Q29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAKKyAgICB2b2lkIGRpZFJlY2VpdmVXZWJDb25u
ZWN0aW9uTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBD
b3JlSVBDOjpBcmd1bWVudERlY29kZXIqKTsKKyAgICB2b2lkIGhhbmRsZU1lc3NhZ2UoY29uc3Qg
Q29yZUlQQzo6RGF0YVJlZmVyZW5jZSYgbWVzc2FnZURhdGEpOwogCisgICAgUmVmUHRyPENvcmVJ
UEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKICAgICBXZWJDb25uZWN0aW9uQ2xpZW50IG1f
Y2xpZW50OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5l
Y3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29ubmVjdGlvbi5t
ZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTE3NzA3ZTFkYjFmM2NlZGFhMzc5NWE0MDIwODgyOTVh
YjRjMGUyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5l
Y3Rpb24ubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwyNSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycg
QU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorCittZXNzYWdlcyAtPiBXZWJDb25uZWN0aW9uIHsKKyAgICBIYW5k
bGVNZXNzYWdlKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgbWVzc2FnZURhdGEpCit9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
cHAKaW5kZXggMzBjMmU5NmI1OTQ3YzIzZjVlNmU5YzlkNzQ4NTQyYWRlMjE5N2Q4Ni4uODZiYTkx
YzA4NDJiMDljOTkyYWEzZTY3NmVhNTRjODIyOTRhZjhkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtNDAs
OCArNDAsOCBAQCBQYXNzUmVmUHRyPFdlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IFdlYkNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZShXZWJQcm9jZQogfQogCiBXZWJDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjpXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYlByb2Nlc3NQcm94eSogcHJv
Y2VzcywgQ29yZUlQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmll
ciwgUnVuTG9vcCogcnVuTG9vcCkKLSAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQotICAgICwgbV9j
b25uZWN0aW9uKENvcmVJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZVNlcnZlckNvbm5lY3Rpb24oY29u
bmVjdGlvbklkZW50aWZpZXIsIHRoaXMsIHJ1bkxvb3ApKQorICAgIDogV2ViQ29ubmVjdGlvbihD
b3JlSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVTZXJ2ZXJDb25uZWN0aW9uKGNvbm5lY3Rpb25JZGVu
dGlmaWVyLCB0aGlzLCBydW5Mb29wKSkKKyAgICAsIG1fcHJvY2Vzcyhwcm9jZXNzKQogewogI2lm
IE9TKERBUldJTikKICAgICBtX2Nvbm5lY3Rpb24tPnNldFNob3VsZENsb3NlQ29ubmVjdGlvbk9u
TWFjaEV4Y2VwdGlvbnMoKTsKQEAgLTUwLDQyICs1MCwyNyBAQCBXZWJDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjpXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYlByb2Nlc3NQcm94eSogcHJvY2Vz
cywgQwogI2VuZGlmCiB9CiAKLXZvaWQgV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6aW52YWxp
ZGF0ZSgpCisvLyBXZWJDb25uZWN0aW9uCisKK3ZvaWQgV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vz
czo6ZW5jb2RlTWVzc2FnZUJvZHkoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKiBhcmd1bWVudEVu
Y29kZXIsIEFQSU9iamVjdCogbWVzc2FnZUJvZHkpCiB7Ci0gICAgbV9jb25uZWN0aW9uLT5pbnZh
bGlkYXRlKCk7Ci0gICAgbV9jb25uZWN0aW9uID0gbnVsbHB0cjsKLSAgICBtX3Byb2Nlc3MgPSAw
OworICAgIGFyZ3VtZW50RW5jb2Rlci0+ZW5jb2RlKFdlYkNvbnRleHRVc2VyTWVzc2FnZUVuY29k
ZXIobWVzc2FnZUJvZHkpKTsKIH0KIAotLy8gV2ViQ29ubmVjdGlvbgotCi12b2lkIFdlYkNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OnBvc3RNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUs
IEFQSU9iamVjdCogbWVzc2FnZUJvZHkpCitib29sIFdlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6
OmRlY29kZU1lc3NhZ2VCb2R5KENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJndW1lbnREZWNv
ZGVyLCBSZWZQdHI8QVBJT2JqZWN0PiYgbWVzc2FnZUJvZHkpCiB7Ci0gICAgLy8gV2UgbmVlZCB0
byBjaGVjayBpZiB3ZSBoYXZlIGFuIHVuZGVybHlpbmcgcHJvY2VzcyBoZXJlIHNpbmNlIGEgdXNl
ciBvZiB0aGUgQVBJIGNhbiBob2xkCi0gICAgLy8gb250byB1cyBhbmQgY2FsbCBwb3N0TWVzc2Fn
ZSBldmVuIGFmdGVyIHRoZSBwcm9jZXNzIGhhcyBiZWVuIGludmFsaWRhdGVkLgotICAgIGlmICgh
bV9wcm9jZXNzKQotICAgICAgICByZXR1cm47CisgICAgaWYgKCFhcmd1bWVudERlY29kZXItPmRl
Y29kZShXZWJDb250ZXh0VXNlck1lc3NhZ2VEZWNvZGVyKG1lc3NhZ2VCb2R5LCBtX3Byb2Nlc3Mp
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgbV9wcm9jZXNzLT5kZXByZWNhdGVkU2Vu
ZChXZWJDb25uZWN0aW9uTGVnYWN5TWVzc2FnZTo6UG9zdE1lc3NhZ2UsIDAsIENvcmVJUEM6Oklu
KG1lc3NhZ2VOYW1lLCBXZWJDb250ZXh0VXNlck1lc3NhZ2VFbmNvZGVyKG1lc3NhZ2VCb2R5KSkp
OworICAgIHJldHVybiB0cnVlOwogfQogCiAvLyBDb3JlSVBDOjpDb25uZWN0aW9uOjpDbGllbnQK
IAogdm9pZCBXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShDb3Jl
SVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlE
LCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykKIHsKLSAgICBpZiAobWVzc2Fn
ZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYkNvbm5lY3Rpb25MZWdhY3k+KCkpIHsKLSAg
ICAgICAgc3dpdGNoIChtZXNzYWdlSUQuZ2V0PFdlYkNvbm5lY3Rpb25MZWdhY3lNZXNzYWdlOjpL
aW5kPigpKSB7Ci0gICAgICAgICAgICBjYXNlIFdlYkNvbm5lY3Rpb25MZWdhY3lNZXNzYWdlOjpQ
b3N0TWVzc2FnZTogewotICAgICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlTmFtZTsKLSAgICAg
ICAgICAgICAgICBSZWZQdHI8QVBJT2JqZWN0PiBtZXNzYWdlQm9keTsKLSAgICAgICAgICAgICAg
ICBXZWJDb250ZXh0VXNlck1lc3NhZ2VEZWNvZGVyIG1lc3NhZ2VEZWNvZGVyKG1lc3NhZ2VCb2R5
LCBtX3Byb2Nlc3MpOwotICAgICAgICAgICAgICAgIGlmICghYXJndW1lbnRzLT5kZWNvZGUoQ29y
ZUlQQzo6T3V0KG1lc3NhZ2VOYW1lLCBtZXNzYWdlRGVjb2RlcikpKQotICAgICAgICAgICAgICAg
ICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgICAgICBmb3J3YXJkRGlkUmVjZWl2ZU1lc3NhZ2VU
b0NsaWVudChtZXNzYWdlTmFtZSwgbWVzc2FnZUJvZHkuZ2V0KCkpOwotICAgICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAgIGlmIChtZXNzYWdlSUQuaXM8
Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViQ29ubmVjdGlvbj4oKSkgeworICAgICAgICBkaWRSZWNl
aXZlV2ViQ29ubmVjdGlvbk1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBhcmd1bWVudHMp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAppbmRleCBkYWE5YjliNjQwOTFiYjQ4
ZTFkZGI2NzQ0MTkxNzg4YTU4MzY4ZjI4Li44ZWM3ODI1YTI4YTAyMGU3MjAxNjFkODUzNzFmOTFl
NjAxNzNjMWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTM3LDE1ICszNywxMiBAQCBjbGFzcyBXZWJDb25uZWN0
aW9uVG9XZWJQcm9jZXNzIDogcHVibGljIFdlYkNvbm5lY3Rpb24sIENvcmVJUEM6OkNvbm5lY3Rp
b246OkNsaQogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M+IGNyZWF0ZShXZWJQcm9jZXNzUHJveHkqLCBDb3JlSVBDOjpDb25uZWN0aW9uOjpJ
ZGVudGlmaWVyLCBXZWJDb3JlOjpSdW5Mb29wKik7CiAKLSAgICBDb3JlSVBDOjpDb25uZWN0aW9u
KiBjb25uZWN0aW9uKCkgeyByZXR1cm4gbV9jb25uZWN0aW9uLmdldCgpOyB9Ci0KLSAgICB2b2lk
IGludmFsaWRhdGUoKTsKLQogcHJpdmF0ZToKICAgICBXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNz
KFdlYlByb2Nlc3NQcm94eSosIENvcmVJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIsIFdlYkNv
cmU6OlJ1bkxvb3AqKTsKIAogICAgIC8vIFdlYkNvbm5lY3Rpb24KLSAgICB2aXJ0dWFsIHZvaWQg
cG9zdE1lc3NhZ2UoY29uc3QgU3RyaW5nJiwgQVBJT2JqZWN0Kik7CisgICAgdmlydHVhbCB2b2lk
IGVuY29kZU1lc3NhZ2VCb2R5KENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciosIEFQSU9iamVjdCop
IE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVNZXNzYWdlQm9keShDb3JlSVBDOjpB
cmd1bWVudERlY29kZXIqLCBSZWZQdHI8QVBJT2JqZWN0PiYpIE9WRVJSSURFOwogCiAgICAgLy8g
Q29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVN
ZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciopOwpAQCAtNTcsNyArNTQsNiBAQCBwcml2YXRlOgogI2VuZGlmCiAK
ICAgICBXZWJQcm9jZXNzUHJveHkqIG1fcHJvY2VzczsKLSAgICBSZWZQdHI8Q29yZUlQQzo6Q29u
bmVjdGlvbj4gbV9jb25uZWN0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
ZDBiMGJjZjJjYTJkNmQwOWEzN2UyN2FjYTcwMGNlODc2OTMyZTdhMi4uOTA0NGViYzQ3MDE5YTc3
ODQwNzYwMmYwZWYyMjY3OWVkYWYyYzRhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzMsNiArNzMsOCBAQAogCQkxQTE4NkVF
QTEyRUY3NjE4MDA4RTVGMzcgLyogTGF5ZXJUcmVlSG9zdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExODZFRTgxMkVGNzYxODAwOEU1RjM3IC8qIExh
eWVyVHJlZUhvc3QuaCAqLzsgfTsKIAkJMUExODZFRUIxMkVGNzYxODAwOEU1RjM3IC8qIExheWVy
VHJlZUhvc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUExODZFRTkxMkVGNzYxODAwOEU1RjM3IC8qIExheWVyVHJlZUhvc3QuY3BwICovOyB9Owog
CQkxQTFDNjQ5QjExRjQxNzQyMDA1NTNDMTkgLyogV2ViQ29udGV4dE1hYy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMUM2NDg2MTFGNDE1QjcwMDU1
M0MxOSAvKiBXZWJDb250ZXh0TWFjLm1tICovOyB9OworCQkxQTFGRUMxQzE2MjdCNDU3MDA3MDBG
NkQgLyogV2ViQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTFGRUMxQTE2MjdCNDU2MDA3MDBGNkQgLyog
V2ViQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTFBMUZFQzFEMTYyN0I0
NTcwMDcwMEY2RCAvKiBXZWJDb25uZWN0aW9uTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMUZFQzFCMTYyN0I0NTcwMDcwMEY2RCAvKiBX
ZWJDb25uZWN0aW9uTWVzc2FnZXMuaCAqLzsgfTsKIAkJMUEyMTYxQjAxMUYzNzY2NDAwOEFEMEY1
IC8qIE5QUnVudGltZU9iamVjdE1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUEyMTYxQUUxMUYzNzY2NDAwOEFEMEY1IC8qIE5QUnVudGltZU9iamVj
dE1hcC5oICovOyB9OwogCQkxQTIxNjFCMTExRjM3NjY0MDA4QUQwRjUgLyogTlBSdW50aW1lT2Jq
ZWN0TWFwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBMjE2MUFGMTFGMzc2NjQwMDhBRDBGNSAvKiBOUFJ1bnRpbWVPYmplY3RNYXAuY3BwICovOyB9
OwogCQkxQTIxNjJCMDExRjM4OTcxMDA4QUQwRjUgLyogTlBSdW50aW1lVXRpbGl0aWVzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjE2MkFFMTFG
Mzg5NzEwMDhBRDBGNSAvKiBOUFJ1bnRpbWVVdGlsaXRpZXMuY3BwICovOyB9OwpAQCAtMTEzMSw2
ICsxMTMzLDkgQEAKIAkJMUExRkEyODQxMjdBMTNCQzAwNTBFNzA5IC8qIE5QT2JqZWN0UHJveHku
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTlBPYmplY3RQcm94eS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMUZBMzVCMTI3QTQ1QkYwMDUwRTcw
OSAvKiBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQTFGQTM1QzEyN0E0NUJGMDA1MEU3MDkgLyogTlBPYmplY3RNZXNzYWdlUmVjZWl2
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTlBPYmplY3RNZXNz
YWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQTFGRUMxOTE2
MjdCM0VGMDA3MDBGNkQgLyogV2ViQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJDb25u
ZWN0aW9uLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQTFGRUMx
QTE2MjdCNDU2MDA3MDBGNkQgLyogV2ViQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJDb25uZWN0aW9uTWVzc2FnZVJl
Y2VpdmVyLmNwcDsgcGF0aCA9IFdlYkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQTFGRUMxQjE2MjdCNDU3MDA3MDBGNkQgLyogV2Vi
Q29ubmVjdGlvbk1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdl
YkNvbm5lY3Rpb25NZXNzYWdlcy5oOyBwYXRoID0gV2ViQ29ubmVjdGlvbk1lc3NhZ2VzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMjE2MUFFMTFGMzc2NjQwMDhBRDBGNSAvKiBO
UFJ1bnRpbWVPYmplY3RNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlBS
dW50aW1lT2JqZWN0TWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMjE2MUFG
MTFGMzc2NjQwMDhBRDBGNSAvKiBOUFJ1bnRpbWVPYmplY3RNYXAuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTlBSdW50aW1lT2JqZWN0TWFwLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyMTYyQUUxMUYzODk3MTAwOEFEMEY1IC8qIE5QUnVudGlt
ZVV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOUFJ1
bnRpbWVVdGlsaXRpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjUyMCw2
ICsyNTI1LDcgQEAKIAkJCQlCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNh
dGVJbmZvLmggKi8sCiAJCQkJQkM0QTYyOEIxNDczMTJCRTAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rp
b24uY3BwICovLAogCQkJCUJDNEE2MjhDMTQ3MzEyQkUwMDZDNjgxQSAvKiBXZWJDb25uZWN0aW9u
LmggKi8sCisJCQkJMUExRkVDMTkxNjI3QjNFRjAwNzAwRjZEIC8qIFdlYkNvbm5lY3Rpb24ubWVz
c2FnZXMuaW4gKi8sCiAJCQkJQkM0QTYyOEQxNDczMTJCRTAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rp
b25DbGllbnQuY3BwICovLAogCQkJCUJDNEE2MjhFMTQ3MzEyQkUwMDZDNjgxQSAvKiBXZWJDb25u
ZWN0aW9uQ2xpZW50LmggKi8sCiAJCQkJNTEyOTM1RDUxMjg4RDE5NDAwQTRCNjk1IC8qIFdlYkNv
bnRleHRNZW51SXRlbS5jcHAgKi8sCkBAIC0zNzc2LDYgKzM3ODIsOCBAQAogCQkJY2hpbGRyZW4g
PSAoCiAJCQkJNTEyRjU4QTAxMkE4ODNBRDAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdl
ck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNTEyRjU4QTExMkE4ODNBRDAwNjI5NTMwIC8q
IEF1dGhlbnRpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi8sCisJCQkJRTE5NjdFMzUxNTBBQjVE
NTAwQzczMTY5IC8qIGNvbS5hcHBsZS5XZWJLaXQuUGx1Z2luUHJvY2Vzcy5zYiAqLywKKwkJCQlF
MTk2N0UzNzE1MEFCNUUyMDBDNzMxNjkgLyogY29tLmFwcGxlLldlYlByb2Nlc3Muc2IgKi8sCiAJ
CQkJMUFCN0Q2MTcxMjg4QjlEOTAwQ0ZEMDhDIC8qIERvd25sb2FkUHJveHlNZXNzYWdlUmVjZWl2
ZXIuY3BwICovLAogCQkJCTFBQjdENjE4MTI4OEI5RDkwMENGRDA4QyAvKiBEb3dubG9hZFByb3h5
TWVzc2FnZXMuaCAqLywKIAkJCQkxQTY0MjI5NzEyREQwMjkyMDBDQUFFMkMgLyogRHJhd2luZ0Fy
ZWFNZXNzYWdlUmVjZWl2ZXIuY3BwICovLApAQCAtMzgwMCw2ICszODA4LDggQEAKIAkJCQk1MTJF
MzU2OTEzMEI1N0YwMDBBQkQxOUEgLyogV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJNZXNzYWdl
cy5oICovLAogCQkJCTUxMkUzNUY2MTMwQjY0MkUwMEFCRDE5QSAvKiBXZWJBcHBsaWNhdGlvbkNh
Y2hlTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk1MTJFMzVGNzEzMEI2
NDJFMDBBQkQxOUEgLyogV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmgg
Ki8sCisJCQkJMUExRkVDMUExNjI3QjQ1NjAwNzAwRjZEIC8qIFdlYkNvbm5lY3Rpb25NZXNzYWdl
UmVjZWl2ZXIuY3BwICovLAorCQkJCTFBMUZFQzFCMTYyN0I0NTcwMDcwMEY2RCAvKiBXZWJDb25u
ZWN0aW9uTWVzc2FnZXMuaCAqLywKIAkJCQlCQ0VFN0QwQjEyODQ2RjY5MDA5ODI3REEgLyogV2Vi
Q29udGV4dE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJQkNFRTdEMEMxMjg0NkY2OTAwOTgy
N0RBIC8qIFdlYkNvbnRleHRNZXNzYWdlcy5oICovLAogCQkJCTMzMDkzNDQzMTMxNUI5MjIwMDk3
QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKQEAgLTM4NTQs
OCArMzg2NCw2IEBACiAJCQkJMzMzNjc2NTIxMzBDOUVDQTAwNkM5REUyIC8qIFdlYlJlc291cmNl
Q2FjaGVNYW5hZ2VyTWVzc2FnZXMuaCAqLywKIAkJCQkzMzM2NzY1MzEzMEM5RUNBMDA2QzlERTIg
LyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJ
CQkJMzMzNjc2NTQxMzBDOUVDQTAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJv
eHlNZXNzYWdlcy5oICovLAotCQkJCUUxOTY3RTM1MTUwQUI1RDUwMEM3MzE2OSAvKiBjb20uYXBw
bGUuV2ViS2l0LlBsdWdpblByb2Nlc3Muc2IgKi8sCi0JCQkJRTE5NjdFMzcxNTBBQjVFMjAwQzcz
MTY5IC8qIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiICovLAogCQkJKTsKIAkJCW5hbWUgPSAiRGVy
aXZlZCBTb3VyY2VzIjsKIAkJCXBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyOwpAQCAtNDM5
MSw2ICs0Mzk5LDcgQEAKIAkJCQkyOTEyMTcwODE2MUNFNzM2MDA1N0Q0NTEgLyogVXNlckNvbnRl
bnRDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDE3RDIxMTYyNjMzMDgwMDcwNTRG
NSAvKiBXS0RPTVRleHRJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMzOUM0MzYxNjI2
MzY2RjAwOEJDNjg5IC8qIFdLRE9NUmFuZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTFBMUZFQzFE
MTYyN0I0NTcwMDcwMEY2RCAvKiBXZWJDb25uZWN0aW9uTWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpAQCAtNTI1Nyw2ICs1MjY2LDcgQEAKIAkJCQkyOTEyMTcwNzE2MUNFNzM2MDA1N0Q0NTEgLyog
VXNlckNvbnRlbnRDb250YWluZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwMTdEMjAxNjI2
MzMwODAwNzA1NEY1IC8qIFdLRE9NVGV4dEl0ZXJhdG9yLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkMzOUM0MzUxNjI2MzY2RjAwOEJDNjg5IC8qIFdLRE9NUmFuZ2UubW0gaW4gU291cmNlcyAqLywK
KwkJCQkxQTFGRUMxQzE2MjdCNDU3MDA3MDBGNkQgLyogV2ViQ29ubmVjdGlvbk1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmNwcAppbmRleCA2ZTZlMjQ0NjFhZmQ4MWRl
MTU4Yjg4MWEzYzkwMzcyYWM5YjExNDk1Li41ZTE1MmVlOThhYWQwNjBjZDdhNzBjMWUzZTdiMGMx
NDg0NWZhYTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvbm5l
Y3Rpb25Ub1VJUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwCkBAIC00MCw0NyArNDAsMzQgQEAgUGFzc1JlZlB0cjxX
ZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M+IFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6Y3JlYXRl
KFdlYlByb2Nlc3MKIH0KIAogV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzOjpXZWJDb25uZWN0aW9u
VG9VSVByb2Nlc3MoV2ViUHJvY2VzcyogcHJvY2VzcywgQ29yZUlQQzo6Q29ubmVjdGlvbjo6SWRl
bnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllciwgUnVuTG9vcCogcnVuTG9vcCkKLSAgICA6IG1f
cHJvY2Vzcyhwcm9jZXNzKQotICAgICwgbV9jb25uZWN0aW9uKENvcmVJUEM6OkNvbm5lY3Rpb246
OmNyZWF0ZUNsaWVudENvbm5lY3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXIsIHRoaXMsIHJ1bkxv
b3ApKQorICAgIDogV2ViQ29ubmVjdGlvbihDb3JlSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVDbGll
bnRDb25uZWN0aW9uKGNvbm5lY3Rpb25JZGVudGlmaWVyLCB0aGlzLCBydW5Mb29wKSkKKyAgICAs
IG1fcHJvY2Vzcyhwcm9jZXNzKQogewogICAgIG1fY29ubmVjdGlvbi0+c2V0RGlkQ2xvc2VPbkNv
bm5lY3Rpb25Xb3JrUXVldWVDYWxsYmFjayhDaGlsZFByb2Nlc3M6OmRpZENsb3NlT25Db25uZWN0
aW9uV29ya1F1ZXVlKTsKICAgICBtX2Nvbm5lY3Rpb24tPnNldFNob3VsZEV4aXRPblN5bmNNZXNz
YWdlU2VuZEZhaWx1cmUodHJ1ZSk7CiB9CiAKLXZvaWQgV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNz
OjppbnZhbGlkYXRlKCkKKy8vIFdlYkNvbm5lY3Rpb24KKwordm9pZCBXZWJDb25uZWN0aW9uVG9V
SVByb2Nlc3M6OmVuY29kZU1lc3NhZ2VCb2R5KENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciogYXJn
dW1lbnRFbmNvZGVyLCBBUElPYmplY3QqIG1lc3NhZ2VCb2R5KQogewotICAgIG1fY29ubmVjdGlv
bi0+aW52YWxpZGF0ZSgpOwotICAgIG1fY29ubmVjdGlvbiA9IG51bGxwdHI7Ci0gICAgbV9wcm9j
ZXNzID0gMDsKKyAgICBhcmd1bWVudEVuY29kZXItPmVuY29kZShJbmplY3RlZEJ1bmRsZVVzZXJN
ZXNzYWdlRW5jb2RlcihtZXNzYWdlQm9keSkpOwogfQogCi0vLyBXZWJDb25uZWN0aW9uCi0KLXZv
aWQgV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzOjpwb3N0TWVzc2FnZShjb25zdCBTdHJpbmcmIG1l
c3NhZ2VOYW1lLCBBUElPYmplY3QqIG1lc3NhZ2VCb2R5KQorYm9vbCBXZWJDb25uZWN0aW9uVG9V
SVByb2Nlc3M6OmRlY29kZU1lc3NhZ2VCb2R5KENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJn
dW1lbnREZWNvZGVyLCBSZWZQdHI8QVBJT2JqZWN0PiYgbWVzc2FnZUJvZHkpCiB7Ci0gICAgaWYg
KCFtX3Byb2Nlc3MpCi0gICAgICAgIHJldHVybjsKKyAgICBpZiAoIWFyZ3VtZW50RGVjb2Rlci0+
ZGVjb2RlKEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VEZWNvZGVyKG1lc3NhZ2VCb2R5KSkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1fY29ubmVjdGlvbi0+ZGVwcmVjYXRlZFNlbmQo
V2ViQ29ubmVjdGlvbkxlZ2FjeU1lc3NhZ2U6OlBvc3RNZXNzYWdlLCAwLCBDb3JlSVBDOjpJbiht
ZXNzYWdlTmFtZSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIobWVzc2FnZUJvZHkp
KSk7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIC8vIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaWVu
dAogCiB2b2lkIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29y
ZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJ
RCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudHMpCiB7Ci0gICAgaWYgKG1lc3Nh
Z2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJDb25uZWN0aW9uTGVnYWN5PigpKSB7Ci0g
ICAgICAgIHN3aXRjaCAobWVzc2FnZUlELmdldDxXZWJDb25uZWN0aW9uTGVnYWN5TWVzc2FnZTo6
S2luZD4oKSkgewotICAgICAgICAgICAgY2FzZSBXZWJDb25uZWN0aW9uTGVnYWN5TWVzc2FnZTo6
UG9zdE1lc3NhZ2U6IHsKLSAgICAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZU5hbWU7ICAgICAg
ICAgICAgCi0gICAgICAgICAgICAgICAgUmVmUHRyPEFQSU9iamVjdD4gbWVzc2FnZUJvZHk7Ci0g
ICAgICAgICAgICAgICAgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZURlY29kZXIgbWVzc2FnZURl
Y29kZXIobWVzc2FnZUJvZHkpOwotICAgICAgICAgICAgICAgIGlmICghYXJndW1lbnRzLT5kZWNv
ZGUoQ29yZUlQQzo6T3V0KG1lc3NhZ2VOYW1lLCBtZXNzYWdlRGVjb2RlcikpKQotICAgICAgICAg
ICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgICAgICBmb3J3YXJkRGlkUmVjZWl2ZU1l
c3NhZ2VUb0NsaWVudChtZXNzYWdlTmFtZSwgbWVzc2FnZUJvZHkuZ2V0KCkpOwotICAgICAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAgIGlmIChtZXNzYWdl
SUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViQ29ubmVjdGlvbj4oKSkgeworICAgICAgICBk
aWRSZWNlaXZlV2ViQ29ubmVjdGlvbk1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBhcmd1
bWVudHMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuaAppbmRleCA5ZjIxMDhjNTc1
ZDE2NmI5ZGU0ZDAyYWY1MDlhNjY4NDdjMWFlMTQwLi5jZGZmNGFjMjdmMGI5MzQ5YzU5YWRkYmYy
OWIwMjg5NDBlMDM0MTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmgKQEAgLTM3LDE1ICszNywxMiBAQCBjbGFzcyBXZWJD
b25uZWN0aW9uVG9VSVByb2Nlc3MgOiBwdWJsaWMgV2ViQ29ubmVjdGlvbiwgQ29yZUlQQzo6Q29u
bmVjdGlvbjo6Q2xpZQogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNvbm5lY3Rp
b25Ub1VJUHJvY2Vzcz4gY3JlYXRlKFdlYlByb2Nlc3MqLCBDb3JlSVBDOjpDb25uZWN0aW9uOjpJ
ZGVudGlmaWVyLCBXZWJDb3JlOjpSdW5Mb29wKik7CiAKLSAgICBDb3JlSVBDOjpDb25uZWN0aW9u
KiBjb25uZWN0aW9uKCkgeyByZXR1cm4gbV9jb25uZWN0aW9uLmdldCgpOyB9Ci0KLSAgICB2b2lk
IGludmFsaWRhdGUoKTsKLQogcHJpdmF0ZToKICAgICBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3Mo
V2ViUHJvY2VzcyosIENvcmVJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIsIFdlYkNvcmU6OlJ1
bkxvb3AqKTsKIAogICAgIC8vIFdlYkNvbm5lY3Rpb24KLSAgICB2aXJ0dWFsIHZvaWQgcG9zdE1l
c3NhZ2UoY29uc3QgU3RyaW5nJiwgQVBJT2JqZWN0Kik7CisgICAgdmlydHVhbCB2b2lkIGVuY29k
ZU1lc3NhZ2VCb2R5KENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciosIEFQSU9iamVjdCopIE9WRVJS
SURFOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVNZXNzYWdlQm9keShDb3JlSVBDOjpBcmd1bWVu
dERlY29kZXIqLCBSZWZQdHI8QVBJT2JqZWN0PiYpIE9WRVJSSURFOwogCiAgICAgLy8gQ29yZUlQ
Qzo6Q29ubmVjdGlvbjo6Q2xpZW50CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3Vt
ZW50RGVjb2RlciopOwpAQCAtNTcsNyArNTQsNiBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBX
ZWJQcm9jZXNzKiBtX3Byb2Nlc3M7Ci0gICAgUmVmUHRyPENvcmVJUEM6OkNvbm5lY3Rpb24+IG1f
Y29ubmVjdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDIudmNwcm9qCmluZGV4IDJjYzI1Y2ZhMTYxYjU2ZDk3OTdkMThhM2U4MWZhMGZjNjdiY2JmYmQu
LjE2NjZjNzVjMjg2MTgxMmY4YTI5MDViYmRlNzNiNmVhOWFkZDg5NWUgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi52Y3Byb2oKQEAgLTYyNyw2ICs2MjcsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJ
CQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXFdlYkNvbm5lY3Rpb24ubWVzc2Fn
ZXMuaW4iCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFNoYXJlZFxXZWJDb25uZWN0aW9uQ2xpZW50LmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC00
MzAzLDYgKzQzMDcsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xXZWJDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xXZWJDb25uZWN0aW9uTWVzc2Fn
ZXMuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xX
ZWJDb250ZXh0TWVzc2FnZVJlY2VpdmVyLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168352</attachid>
            <date>2012-10-11 21:23:51 -0700</date>
            <delta_ts>2012-10-11 21:36:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99130-20121011212248.patch</filename>
            <type>text/plain</type>
            <size>27943</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDhmYTVjMTU3ODgxMDRl
YjU2YmFlNWI5ODllYjc4OTdmMjZhZTNiNC4uOTQ2MmI5Zjk1ZjFjYzgyMDU0NzM3MzRiYTBkOTE1
MDgzODI2OTdlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY4IEBACiAyMDEyLTEwLTExICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgU3RvcCB1c2luZyBD
b25uZWN0aW9uOjpkZXByZWNhdGVkU2VuZCBpbiBXZWJDb25uZWN0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTEzMAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgdXNpbmcgZGVwcmVj
YXRlZFNlbmQsIGp1c3QgZW5jb2RlIHRoZSBkYXRhIHVzaW5nIGEgc2VwYXJhdGUgQXJndW1lbnRF
bmNvZGVyIGFuZCBwYXNzIGl0IGFsb25nIGFzIGEgRGF0YVJlZmVyZW5jZS4KKworICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgIEFkZCBuZXcgZmlsZXMuCisKKyAg
ICAgICAgKiBQbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oOgorICAgICAgICBBZGQgV2ViQ29u
bmVjdGlvbk1lc3NhZ2VDbGFzcy4KKworICAgICAgICAqIFNoYXJlZC9XZWJDb25uZWN0aW9uLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvbjo6V2ViQ29ubmVjdGlvbik6CisgICAg
ICAgIE1ha2UgV2ViQ29ubmVjdGlvbiBob2xkIG9uIHRvIHRoZSBDb3JlSVBDOjpDb25uZWN0aW9u
LgorCisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb246OnBvc3RNZXNzYWdlKToKKyAgICAg
ICAgQXNrIHRoZSBzdWJjbGFzc2VzIHRvIGVuY29kZSB0aGUgYm9keSBkYXRhLCB0aGVuIHNlbmQg
aXQuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvbjo6aGFuZGxlTWVzc2FnZSk6Cisg
ICAgICAgIEFzayB0aGUgc3ViY2xhc3NlcyB0byBkZWNvZGUgdGhlIGJvZHkgZGF0YSwgdGhlbiBj
YWxsIGRpZFJlY2VpdmVDbGllbnQuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvbjo6
aW52YWxpZGF0ZSk6CisgICAgICAgIE51bGwgb3V0IG1fY29ubmVjdGlvbi4KKworICAgICAgICAq
IFNoYXJlZC9XZWJDb25uZWN0aW9uLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb246
OmNvbm5lY3Rpb24pOgorCisgICAgICAgICogU2hhcmVkL1dlYkNvbm5lY3Rpb24ubWVzc2FnZXMu
aW46IEFkZGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpXZWJD
b25uZWN0aW9uVG9XZWJQcm9jZXNzKToKKyAgICAgICAgUGFzcyB0aGUgY29ubmVjdGlvbiB0byB0
aGUgV2ViQ29ubmVjdGlvbiBpbml0aWFsaXplci4KKworICAgICAgICAoV2ViS2l0OjpXZWJDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjplbmNvZGVNZXNzYWdlQm9keSk6CisgICAgICAgIChXZWJLaXQ6
OldlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRlY29kZU1lc3NhZ2VCb2R5KToKKyAgICAgICAg
RW5jb2RlIGFuZCBkZWNvZGUgdGhlIG1lc3NhZ2UgYm9keS4KKworICAgICAgICAoV2ViS2l0OjpX
ZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIEhh
bmRsZSBXZWJDb25uZWN0aW9uIG1lc3NhZ2VzLgorCisgICAgICAgICogV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgbmV3IGZpbGVzLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M6OldlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcyk6Cisg
ICAgICAgIFBhc3MgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIFdlYkNvbm5lY3Rpb24gaW5pdGlhbGl6
ZXIuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzOjplbmNvZGVN
ZXNzYWdlQm9keSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6
ZGVjb2RlTWVzc2FnZUJvZHkpOgorICAgICAgICBFbmNvZGUgYW5kIGRlY29kZSB0aGUgbWVzc2Fn
ZSBib2R5LgorCisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6ZGlk
UmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICBIYW5kbGUgV2ViQ29ubmVjdGlvbiBtZXNzYWdlcy4K
KworICAgICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKyAgICAgICAgQWRkIG5ldyBmaWxlcy4K
KworMjAxMi0xMC0xMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAg
ICAgICAgIFN0b3AgdXNpbmcgZGVwcmVjYXRlZFNlbmQgYW5kIGRlcHJlY2F0ZWRTZW5kU3luYyBm
b3Igc2VuZGluZyBtZXNzYWdlcyB0byB0aGUgVUkgcHJvY2VzcwogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTkxMjUKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dApp
bmRleCA0ZTQ1M2U3OTEyMjRjYTIzMzdhZTNiMDljOGZmYzQyZDEyYTdmZGFjLi4yMGU3ZDM0ZGM4
NjU4MTc1MzZlYzBhMTdlN2EyOTQzNzU3NTRmMjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dApAQCAt
NDk3LDYgKzQ5Nyw4IEBAIFNFVChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTCiAgICAgUGx1Z2lu
UHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLm1lc3NhZ2VzLmluCiAgICAgUGx1Z2luUHJvY2Vzcy9XZWJQ
cm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgogCisgICAgU2hhcmVkL1dlYkNvbm5lY3Rpb24u
bWVzc2FnZXMuaW4KKwogICAgIFNoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVy
Lm1lc3NhZ2VzLmluCiAKICAgICBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5tZXNzYWdlcy5p
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJj
ZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYzc5M2E1NWQyYmFkMmM2NGQ5NDYx
OTVkMmNmYTFmYTljMWU4MDExZC4uMzE3Y2JjN2JiM2FkNzcyZWQ0ZTVlN2NlOTE0MjE0MjZlMmQy
MDgyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yNSw2ICsyNSw3IEBAIFZQ
QVRIID0gXAogICAgICQoV2ViS2l0MikvUGx1Z2luUHJvY2VzcyBcCiAgICAgJChXZWJLaXQyKS9Q
bHVnaW5Qcm9jZXNzL21hYyBcCiAgICAgJChXZWJLaXQyKS9TaGFyZWQvUGx1Z2lucyBcCisgICAg
JChXZWJLaXQyKS9TaGFyZWQgXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9BcHBsaWNhdGlv
bkNhY2hlIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvQXV0aGVudGljYXRpb24gXAogICAg
ICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9Db29raWVzIFwKQEAgLTYxLDYgKzYyLDcgQEAgTUVTU0FH
RV9SRUNFSVZFUlMgPSBcCiAgICAgV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eSBcCiAg
ICAgV2ViQ29va2llTWFuYWdlciBcCiAgICAgV2ViQ29va2llTWFuYWdlclByb3h5IFwKKyAgICBX
ZWJDb25uZWN0aW9uIFwKICAgICBXZWJDb250ZXh0IFwKICAgICBXZWJEYXRhYmFzZU1hbmFnZXIg
XAogICAgIFdlYkRhdGFiYXNlTWFuYWdlclByb3h5IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBy
aQppbmRleCAwYjNiMzQyMTI2MjExZWI3ZWJjY2MyOTg2MmJjYWYyM2NjNDdlMjI5Li4wZmRjNDlj
N2RhYmI0Y2FiZjBhMDE5YjJkYjBlOGFiMDQ5MDVkOGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJj
ZXMucHJpCkBAIC01OSw2ICs1OSw3IEBAIFZQQVRIID0gXAogICAgIFVJUHJvY2Vzcy9Eb3dubG9h
ZHMgXAogICAgIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lu
cyBcCisgICAgU2hhcmVkIFwKICAgICBTaGFyZWQvUGx1Z2lucwogCiBNRVNTQUdFX1JFQ0VJVkVS
UyA9IFwKQEAgLTc2LDYgKzc3LDcgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAgICAgV2ViQXBw
bGljYXRpb25DYWNoZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiBcCiAgICAgV2ViQmF0dGVyeU1h
bmFnZXIubWVzc2FnZXMuaW4gXAogICAgIFdlYkJhdHRlcnlNYW5hZ2VyUHJveHkubWVzc2FnZXMu
aW4gXAorICAgIFdlYkNvbm5lY3Rpb24ubWVzc2FnZXMuaW4gXAogICAgIFdlYkNvbnRleHQubWVz
c2FnZXMuaW4gXAogICAgIFdlYkNvb2tpZU1hbmFnZXIubWVzc2FnZXMuaW4gXAogICAgIFdlYkNv
b2tpZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCmluZGV4IDk2
OGY1MjdiMmM5ZWM5MmNhYWQwZTc3MjRhNmUxMDFkZjhmOTFmNGYuLjg2MmNhMzY4OThjOWNlZmEw
ZDAxOGI4Nzg2ZWYzOWRlZWNlZmYzYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCkBAIC0yMTksNiAr
MjE5LDcgQEAgQlVJTFRfU09VUkNFUyArPSAkKEdFTlNPVVJDRVNfV0VCS0lUMikvd2Via2l0Mmd0
ay9pbmNsdWRlL3dlYmtpdDIKIAogdnBhdGggJS5tZXNzYWdlcy5pbiA9IFwKIAkkKFdlYktpdDIp
L1BsdWdpblByb2Nlc3MgXAorCSQoV2ViS2l0MikvU2hhcmVkIFwKIAkkKFdlYktpdDIpL1NoYXJl
ZC9QbHVnaW5zIFwKIAkkKFdlYktpdDIpL1VJUHJvY2VzcyBcCiAJJChXZWJLaXQyKS9VSVByb2Nl
c3MvQXBwbGljYXRpb25DYWNoZSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtl
ZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBh
MDY4MWY5YzZhNTcxNDA5NDUwNzNlY2RkZTZiOTQ0M2ZmYTgyNWY3Li43ZjgzM2UxMWZjNWU2N2Jh
MmIyNjI0YjM1OGNlMDRlMmNlMmJmOTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9HTlVt
YWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0K
QEAgLTE2NSw2ICsxNjUsOCBAQCB3ZWJraXQyX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRT
b3VyY2VzL1dlYktpdDIvV2ViQmF0dGVyeU1hbmFnZXJQcm94eU1lc3NhZ2VzLmggXAogCURlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29udGV4dE1lc3NhZ2VSZWNlaXZlci5jcHAgXAogCURlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29udGV4dE1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvV2ViQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvV2ViQ29ubmVjdGlvbk1lc3NhZ2VzLmggXAogCURlcml2ZWRTb3VyY2VzL1dl
YktpdDIvV2ViQ29va2llTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvV2ViQ29va2llTWFuYWdlck1lc3NhZ2VzLmggXAogCURlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvV2ViQ29va2llTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oIGIvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlSUQuaAppbmRleCA2NzdiMzYxMzE4
NTAyZWQ1YTAxYzZlZmFiMDg0Y2Q3NGFhZTMwYjg4Li4xNGVjODI3YjYzNmYxNzEyNzA4MTQzY2Ez
NWFiOGVjMDYzNjYyOGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3Jl
SVBDL01lc3NhZ2VJRC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVz
c2FnZUlELmgKQEAgLTY1LDYgKzY1LDcgQEAgZW51bSBNZXNzYWdlQ2xhc3MgewogICAgIE1lc3Nh
Z2VDbGFzc0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHksCiAgICAgTWVzc2FnZUNsYXNzV2ViQXBw
bGljYXRpb25DYWNoZU1hbmFnZXJQcm94eSwKICAgICBNZXNzYWdlQ2xhc3NXZWJCYXR0ZXJ5TWFu
YWdlciwKKyAgICBNZXNzYWdlQ2xhc3NXZWJDb25uZWN0aW9uLAogICAgIE1lc3NhZ2VDbGFzc1dl
YkNvbnRleHQsCiAgICAgTWVzc2FnZUNsYXNzV2ViQ29udGV4dExlZ2FjeSwKICAgICBNZXNzYWdl
Q2xhc3NXZWJDb29raWVNYW5hZ2VyUHJveHksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29ubmVj
dGlvbi5jcHAKaW5kZXggOTUzMGUyNDc0NmVjMTQzMWY1NGM4MGE1OGQwNzZlMTkyYWExMWVhOS4u
ZDk0MTMxOGRiMjRjY2EzNjhjYzExN2FlMmJmMWNjYTQ2NzZjMTQ0YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDb25uZWN0aW9uLmNwcApAQCAtMjYsOCArMjYsMTkgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJXZWJDb25uZWN0aW9uLmgiCiAKKyNpbmNsdWRlICJBcmd1bWVu
dENvZGVycy5oIgorI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJl
bmNlLmgiCisjaW5jbHVkZSAiV2ViQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCitXZWJDb25uZWN0aW9u
OjpXZWJDb25uZWN0aW9uKFBhc3NSZWZQdHI8Q29yZUlQQzo6Q29ubmVjdGlvbj4gY29ubmVjdGlv
bikKKyAgICA6IG1fY29ubmVjdGlvbihjb25uZWN0aW9uKQoreworfQorCiBXZWJDb25uZWN0aW9u
Ojp+V2ViQ29ubmVjdGlvbigpCiB7CiB9CkBAIC0zNyw5ICs0OCwzNyBAQCB2b2lkIFdlYkNvbm5l
Y3Rpb246OmluaXRpYWxpemVDb25uZWN0aW9uQ2xpZW50KGNvbnN0IFdLQ29ubmVjdGlvbkNsaWVu
dCogY2xpZW50KQogICAgIG1fY2xpZW50LmluaXRpYWxpemUoY2xpZW50KTsKIH0KIAotdm9pZCBX
ZWJDb25uZWN0aW9uOjpmb3J3YXJkRGlkUmVjZWl2ZU1lc3NhZ2VUb0NsaWVudChjb25zdCBTdHJp
bmcmIG1lc3NhZ2VOYW1lLCBBUElPYmplY3QqIG1lc3NhZ2VCb2R5KQordm9pZCBXZWJDb25uZWN0
aW9uOjpwb3N0TWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUElPYmplY3QqIG1l
c3NhZ2VCb2R5KQoreworICAgIGlmICghbV9jb25uZWN0aW9uKQorICAgICAgICByZXR1cm47CisK
KyAgICBPd25QdHI8Q29yZUlQQzo6QXJndW1lbnRFbmNvZGVyPiBtZXNzYWdlRGF0YSA9IENvcmVJ
UEM6OkFyZ3VtZW50RW5jb2Rlcjo6Y3JlYXRlKDApOworICAgIG1lc3NhZ2VEYXRhLT5lbmNvZGUo
bWVzc2FnZU5hbWUpOworICAgIGVuY29kZU1lc3NhZ2VCb2R5KG1lc3NhZ2VEYXRhLmdldCgpLCBt
ZXNzYWdlQm9keSk7CisKKyAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OldlYkNvbm5l
Y3Rpb246OkhhbmRsZU1lc3NhZ2UoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShtZXNzYWdlRGF0YS0+
YnVmZmVyKCksIG1lc3NhZ2VEYXRhLT5idWZmZXJTaXplKCkpKSwgMCk7Cit9CisKK3ZvaWQgV2Vi
Q29ubmVjdGlvbjo6aGFuZGxlTWVzc2FnZShjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiBt
ZXNzYWdlRGF0YSkKK3sKKyAgICBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIgbWVzc2FnZURlY29k
ZXIobWVzc2FnZURhdGEuZGF0YSgpLCBtZXNzYWdlRGF0YS5zaXplKCkpOworCisgICAgU3RyaW5n
IG1lc3NhZ2VOYW1lOworICAgIGlmICghbWVzc2FnZURlY29kZXIuZGVjb2RlKG1lc3NhZ2VOYW1l
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPEFQSU9iamVjdD4gbWVzc2FnZUJvZHk7
CisgICAgaWYgKCFkZWNvZGVNZXNzYWdlQm9keSgmbWVzc2FnZURlY29kZXIsIG1lc3NhZ2VCb2R5
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2UodGhp
cywgbWVzc2FnZU5hbWUsIG1lc3NhZ2VCb2R5LmdldCgpKTsKK30KKwordm9pZCBXZWJDb25uZWN0
aW9uOjppbnZhbGlkYXRlKCkKIHsKLSAgICBtX2NsaWVudC5kaWRSZWNlaXZlTWVzc2FnZSh0aGlz
LCBtZXNzYWdlTmFtZSwgbWVzc2FnZUJvZHkpOworICAgIG1fY29ubmVjdGlvbi0+aW52YWxpZGF0
ZSgpOworICAgIG1fY29ubmVjdGlvbiA9IG51bGxwdHI7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb24uaCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb25uZWN0aW9uLmgKaW5kZXggMjE2ZTM3YzU1NjJm
N2IyYjQxZDk4YTA4YzBjYmM3MDM1OGQ4ODNkNi4uM2FiZDE0ZDQ2YWI5ZjVkYTMxNjQ1YzkyNWU1
ZTc1NWUzMmVlMmQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5l
Y3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29ubmVjdGlvbi5oCkBAIC0y
OCwyNiArMjgsNDIgQEAKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIldlYkNv
bm5lY3Rpb25DbGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIENvcmVJUEMgeworICAgIGNsYXNzIEFyZ3VtZW50RGVj
b2RlcjsKKyAgICBjbGFzcyBBcmd1bWVudEVuY29kZXI7CisgICAgY2xhc3MgQ29ubmVjdGlvbjsK
KyAgICBjbGFzcyBEYXRhUmVmZXJlbmNlOworICAgIGNsYXNzIE1lc3NhZ2VJRDsKK30KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkNvbm5lY3Rpb24gOiBwdWJsaWMgQVBJT2JqZWN0
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgVHlwZSBBUElUeXBlID0gVHlwZUNvbm5lY3Rp
b247Ci0KICAgICB2aXJ0dWFsIH5XZWJDb25uZWN0aW9uKCk7CiAKLSAgICAvLyBJbml0aWFsaXpl
IHRoZSBjb25uZWN0aW9uIGNsaWVudC4KKyAgICBDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0
aW9uKCkgeyByZXR1cm4gbV9jb25uZWN0aW9uLmdldCgpOyB9CisKICAgICB2b2lkIGluaXRpYWxp
emVDb25uZWN0aW9uQ2xpZW50KGNvbnN0IFdLQ29ubmVjdGlvbkNsaWVudCopOworICAgIHZvaWQg
cG9zdE1lc3NhZ2UoY29uc3QgU3RyaW5nJiwgQVBJT2JqZWN0Kik7CiAKLSAgICB2aXJ0dWFsIHZv
aWQgcG9zdE1lc3NhZ2UoY29uc3QgU3RyaW5nJiwgQVBJT2JqZWN0KikgPSAwOworICAgIHZvaWQg
aW52YWxpZGF0ZSgpOwogCiBwcm90ZWN0ZWQ6CisgICAgZXhwbGljaXQgV2ViQ29ubmVjdGlvbihQ
YXNzUmVmUHRyPENvcmVJUEM6OkNvbm5lY3Rpb24+KTsKKwogICAgIHZpcnR1YWwgVHlwZSB0eXBl
KCkgY29uc3QgeyByZXR1cm4gQVBJVHlwZTsgfQorICAgIHZpcnR1YWwgdm9pZCBlbmNvZGVNZXNz
YWdlQm9keShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqLCBBUElPYmplY3QqKSA9IDA7CisgICAg
dmlydHVhbCBib29sIGRlY29kZU1lc3NhZ2VCb2R5KENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rlcios
IFJlZlB0cjxBUElPYmplY3Q+JikgPSAwOwogCi0gICAgdm9pZCBmb3J3YXJkRGlkUmVjZWl2ZU1l
c3NhZ2VUb0NsaWVudChjb25zdCBTdHJpbmcmLCBBUElPYmplY3QqKTsKKyAgICAvLyBJbXBsZW1l
bnRlZCBpbiBnZW5lcmF0ZWQgV2ViQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAKKyAgICB2
b2lkIGRpZFJlY2VpdmVXZWJDb25uZWN0aW9uTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwg
Q29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqKTsKKyAgICB2b2lk
IGhhbmRsZU1lc3NhZ2UoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYgbWVzc2FnZURhdGEp
OwogCisgICAgUmVmUHRyPENvcmVJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKICAgICBX
ZWJDb25uZWN0aW9uQ2xpZW50IG1fY2xpZW50OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTE3NzA3ZTFkYjFm
M2NlZGFhMzc5NWE0MDIwODgyOTVhYjRjMGUyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwyNSBAQAor
IyBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIwor
IyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
IyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCittZXNzYWdlcyAtPiBXZWJD
b25uZWN0aW9uIHsKKyAgICBIYW5kbGVNZXNzYWdlKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgbWVz
c2FnZURhdGEpCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggMzBjMmU5NmI1OTQ3YzIzZjVlNmU5YzlkNzQ4
NTQyYWRlMjE5N2Q4Ni4uODZiYTkxYzA4NDJiMDljOTkyYWEzZTY3NmVhNTRjODIyOTRhZjhkNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmNwcApAQCAtNDAsOCArNDAsOCBAQCBQYXNzUmVmUHRyPFdlYkNvbm5lY3Rpb25U
b1dlYlByb2Nlc3M+IFdlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZShXZWJQcm9jZQog
fQogCiBXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNz
KFdlYlByb2Nlc3NQcm94eSogcHJvY2VzcywgQ29yZUlQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmll
ciBjb25uZWN0aW9uSWRlbnRpZmllciwgUnVuTG9vcCogcnVuTG9vcCkKLSAgICA6IG1fcHJvY2Vz
cyhwcm9jZXNzKQotICAgICwgbV9jb25uZWN0aW9uKENvcmVJUEM6OkNvbm5lY3Rpb246OmNyZWF0
ZVNlcnZlckNvbm5lY3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXIsIHRoaXMsIHJ1bkxvb3ApKQor
ICAgIDogV2ViQ29ubmVjdGlvbihDb3JlSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVTZXJ2ZXJDb25u
ZWN0aW9uKGNvbm5lY3Rpb25JZGVudGlmaWVyLCB0aGlzLCBydW5Mb29wKSkKKyAgICAsIG1fcHJv
Y2Vzcyhwcm9jZXNzKQogewogI2lmIE9TKERBUldJTikKICAgICBtX2Nvbm5lY3Rpb24tPnNldFNo
b3VsZENsb3NlQ29ubmVjdGlvbk9uTWFjaEV4Y2VwdGlvbnMoKTsKQEAgLTUwLDQyICs1MCwyNyBA
QCBXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzKFdl
YlByb2Nlc3NQcm94eSogcHJvY2VzcywgQwogI2VuZGlmCiB9CiAKLXZvaWQgV2ViQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6aW52YWxpZGF0ZSgpCisvLyBXZWJDb25uZWN0aW9uCisKK3ZvaWQgV2Vi
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZW5jb2RlTWVzc2FnZUJvZHkoQ29yZUlQQzo6QXJndW1l
bnRFbmNvZGVyKiBhcmd1bWVudEVuY29kZXIsIEFQSU9iamVjdCogbWVzc2FnZUJvZHkpCiB7Ci0g
ICAgbV9jb25uZWN0aW9uLT5pbnZhbGlkYXRlKCk7Ci0gICAgbV9jb25uZWN0aW9uID0gbnVsbHB0
cjsKLSAgICBtX3Byb2Nlc3MgPSAwOworICAgIGFyZ3VtZW50RW5jb2Rlci0+ZW5jb2RlKFdlYkNv
bnRleHRVc2VyTWVzc2FnZUVuY29kZXIobWVzc2FnZUJvZHkpKTsKIH0KIAotLy8gV2ViQ29ubmVj
dGlvbgotCi12b2lkIFdlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnBvc3RNZXNzYWdlKGNvbnN0
IFN0cmluZyYgbWVzc2FnZU5hbWUsIEFQSU9iamVjdCogbWVzc2FnZUJvZHkpCitib29sIFdlYkNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRlY29kZU1lc3NhZ2VCb2R5KENvcmVJUEM6OkFyZ3VtZW50
RGVjb2RlciogYXJndW1lbnREZWNvZGVyLCBSZWZQdHI8QVBJT2JqZWN0PiYgbWVzc2FnZUJvZHkp
CiB7Ci0gICAgLy8gV2UgbmVlZCB0byBjaGVjayBpZiB3ZSBoYXZlIGFuIHVuZGVybHlpbmcgcHJv
Y2VzcyBoZXJlIHNpbmNlIGEgdXNlciBvZiB0aGUgQVBJIGNhbiBob2xkCi0gICAgLy8gb250byB1
cyBhbmQgY2FsbCBwb3N0TWVzc2FnZSBldmVuIGFmdGVyIHRoZSBwcm9jZXNzIGhhcyBiZWVuIGlu
dmFsaWRhdGVkLgotICAgIGlmICghbV9wcm9jZXNzKQotICAgICAgICByZXR1cm47CisgICAgaWYg
KCFhcmd1bWVudERlY29kZXItPmRlY29kZShXZWJDb250ZXh0VXNlck1lc3NhZ2VEZWNvZGVyKG1l
c3NhZ2VCb2R5LCBtX3Byb2Nlc3MpKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgbV9w
cm9jZXNzLT5kZXByZWNhdGVkU2VuZChXZWJDb25uZWN0aW9uTGVnYWN5TWVzc2FnZTo6UG9zdE1l
c3NhZ2UsIDAsIENvcmVJUEM6OkluKG1lc3NhZ2VOYW1lLCBXZWJDb250ZXh0VXNlck1lc3NhZ2VF
bmNvZGVyKG1lc3NhZ2VCb2R5KSkpOworICAgIHJldHVybiB0cnVlOwogfQogCiAvLyBDb3JlSVBD
OjpDb25uZWN0aW9uOjpDbGllbnQKIAogdm9pZCBXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpk
aWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBD
OjpNZXNzYWdlSUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50
cykKIHsKLSAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYkNvbm5l
Y3Rpb25MZWdhY3k+KCkpIHsKLSAgICAgICAgc3dpdGNoIChtZXNzYWdlSUQuZ2V0PFdlYkNvbm5l
Y3Rpb25MZWdhY3lNZXNzYWdlOjpLaW5kPigpKSB7Ci0gICAgICAgICAgICBjYXNlIFdlYkNvbm5l
Y3Rpb25MZWdhY3lNZXNzYWdlOjpQb3N0TWVzc2FnZTogewotICAgICAgICAgICAgICAgIFN0cmlu
ZyBtZXNzYWdlTmFtZTsKLSAgICAgICAgICAgICAgICBSZWZQdHI8QVBJT2JqZWN0PiBtZXNzYWdl
Qm9keTsKLSAgICAgICAgICAgICAgICBXZWJDb250ZXh0VXNlck1lc3NhZ2VEZWNvZGVyIG1lc3Nh
Z2VEZWNvZGVyKG1lc3NhZ2VCb2R5LCBtX3Byb2Nlc3MpOwotICAgICAgICAgICAgICAgIGlmICgh
YXJndW1lbnRzLT5kZWNvZGUoQ29yZUlQQzo6T3V0KG1lc3NhZ2VOYW1lLCBtZXNzYWdlRGVjb2Rl
cikpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgICAgICBmb3J3
YXJkRGlkUmVjZWl2ZU1lc3NhZ2VUb0NsaWVudChtZXNzYWdlTmFtZSwgbWVzc2FnZUJvZHkuZ2V0
KCkpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQor
ICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViQ29ubmVjdGlvbj4o
KSkgeworICAgICAgICBkaWRSZWNlaXZlV2ViQ29ubmVjdGlvbk1lc3NhZ2UoY29ubmVjdGlvbiwg
bWVzc2FnZUlELCBhcmd1bWVudHMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApp
bmRleCBkYWE5YjliNjQwOTFiYjQ4ZTFkZGI2NzQ0MTkxNzg4YTU4MzY4ZjI4Li44ZWM3ODI1YTI4
YTAyMGU3MjAxNjFkODUzNzFmOTFlNjAxNzNjMWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTM3LDE1ICszNywx
MiBAQCBjbGFzcyBXZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzIDogcHVibGljIFdlYkNvbm5lY3Rp
b24sIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaQogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFdlYkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IGNyZWF0ZShXZWJQcm9jZXNzUHJveHkqLCBD
b3JlSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyLCBXZWJDb3JlOjpSdW5Mb29wKik7CiAKLSAg
ICBDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKCkgeyByZXR1cm4gbV9jb25uZWN0aW9u
LmdldCgpOyB9Ci0KLSAgICB2b2lkIGludmFsaWRhdGUoKTsKLQogcHJpdmF0ZToKICAgICBXZWJD
b25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYlByb2Nlc3NQcm94eSosIENvcmVJUEM6OkNvbm5lY3Rp
b246OklkZW50aWZpZXIsIFdlYkNvcmU6OlJ1bkxvb3AqKTsKIAogICAgIC8vIFdlYkNvbm5lY3Rp
b24KLSAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2UoY29uc3QgU3RyaW5nJiwgQVBJT2JqZWN0
Kik7CisgICAgdmlydHVhbCB2b2lkIGVuY29kZU1lc3NhZ2VCb2R5KENvcmVJUEM6OkFyZ3VtZW50
RW5jb2RlciosIEFQSU9iamVjdCopIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVN
ZXNzYWdlQm9keShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBSZWZQdHI8QVBJT2JqZWN0PiYp
IE9WRVJSSURFOwogCiAgICAgLy8gQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CiAgICAgdmly
dHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBD
OjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwpAQCAtNTcsNyArNTQsNiBA
QCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBXZWJQcm9jZXNzUHJveHkqIG1fcHJvY2VzczsKLSAg
ICBSZWZQdHI8Q29yZUlQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggZDBiMGJjZjJjYTJkNmQwOWEzN2UyN2FjYTcwMGNlODc2OTMy
ZTdhMi4uOTA0NGViYzQ3MDE5YTc3ODQwNzYwMmYwZWYyMjY3OWVkYWYyYzRhMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzMs
NiArNzMsOCBAQAogCQkxQTE4NkVFQTEyRUY3NjE4MDA4RTVGMzcgLyogTGF5ZXJUcmVlSG9zdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExODZFRTgx
MkVGNzYxODAwOEU1RjM3IC8qIExheWVyVHJlZUhvc3QuaCAqLzsgfTsKIAkJMUExODZFRUIxMkVG
NzYxODAwOEU1RjM3IC8qIExheWVyVHJlZUhvc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUExODZFRTkxMkVGNzYxODAwOEU1RjM3IC8qIExheWVy
VHJlZUhvc3QuY3BwICovOyB9OwogCQkxQTFDNjQ5QjExRjQxNzQyMDA1NTNDMTkgLyogV2ViQ29u
dGV4dE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBMUM2NDg2MTFGNDE1QjcwMDU1M0MxOSAvKiBXZWJDb250ZXh0TWFjLm1tICovOyB9OworCQkx
QTFGRUMxQzE2MjdCNDU3MDA3MDBGNkQgLyogV2ViQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTFGRUMx
QTE2MjdCNDU2MDA3MDBGNkQgLyogV2ViQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgKi87
IH07CisJCTFBMUZFQzFEMTYyN0I0NTcwMDcwMEY2RCAvKiBXZWJDb25uZWN0aW9uTWVzc2FnZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMUZFQzFC
MTYyN0I0NTcwMDcwMEY2RCAvKiBXZWJDb25uZWN0aW9uTWVzc2FnZXMuaCAqLzsgfTsKIAkJMUEy
MTYxQjAxMUYzNzY2NDAwOEFEMEY1IC8qIE5QUnVudGltZU9iamVjdE1hcC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyMTYxQUUxMUYzNzY2NDAwOEFE
MEY1IC8qIE5QUnVudGltZU9iamVjdE1hcC5oICovOyB9OwogCQkxQTIxNjFCMTExRjM3NjY0MDA4
QUQwRjUgLyogTlBSdW50aW1lT2JqZWN0TWFwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjE2MUFGMTFGMzc2NjQwMDhBRDBGNSAvKiBOUFJ1bnRp
bWVPYmplY3RNYXAuY3BwICovOyB9OwogCQkxQTIxNjJCMDExRjM4OTcxMDA4QUQwRjUgLyogTlBS
dW50aW1lVXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBMjE2MkFFMTFGMzg5NzEwMDhBRDBGNSAvKiBOUFJ1bnRpbWVVdGlsaXRpZXMu
Y3BwICovOyB9OwpAQCAtMTEzMSw2ICsxMTMzLDkgQEAKIAkJMUExRkEyODQxMjdBMTNCQzAwNTBF
NzA5IC8qIE5QT2JqZWN0UHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTlBPYmplY3RQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFB
MUZBMzVCMTI3QTQ1QkYwMDUwRTcwOSAvKiBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTFGQTM1QzEyN0E0NUJGMDA1MEU3MDkgLyog
TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkxQTFGRUMxOTE2MjdCM0VGMDA3MDBGNkQgLyogV2ViQ29ubmVjdGlvbi5tZXNz
YWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBXZWJDb25uZWN0aW9uLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxQTFGRUMxQTE2MjdCNDU2MDA3MDBGNkQgLyogV2ViQ29ubmVjdGlvbk1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBX
ZWJDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IFdlYkNvbm5lY3Rpb25NZXNz
YWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQTFGRUMxQjE2
MjdCNDU3MDA3MDBGNkQgLyogV2ViQ29ubmVjdGlvbk1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkNvbm5lY3Rpb25NZXNzYWdlcy5oOyBwYXRoID0gV2ViQ29u
bmVjdGlvbk1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMjE2MUFF
MTFGMzc2NjQwMDhBRDBGNSAvKiBOUFJ1bnRpbWVPYmplY3RNYXAuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTlBSdW50aW1lT2JqZWN0TWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFBMjE2MUFGMTFGMzc2NjQwMDhBRDBGNSAvKiBOUFJ1bnRpbWVPYmplY3RN
YXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTlBSdW50aW1lT2Jq
ZWN0TWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyMTYyQUUxMUYzODk3
MTAwOEFEMEY1IC8qIE5QUnVudGltZVV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBOUFJ1bnRpbWVVdGlsaXRpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMjUyMCw2ICsyNTI1LDcgQEAKIAkJCQlCQ0Y1MDcyNjEyNDMyOUFBMDA1
OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi8sCiAJCQkJQkM0QTYyOEIxNDczMTJCRTAw
NkM2ODFBIC8qIFdlYkNvbm5lY3Rpb24uY3BwICovLAogCQkJCUJDNEE2MjhDMTQ3MzEyQkUwMDZD
NjgxQSAvKiBXZWJDb25uZWN0aW9uLmggKi8sCisJCQkJMUExRkVDMTkxNjI3QjNFRjAwNzAwRjZE
IC8qIFdlYkNvbm5lY3Rpb24ubWVzc2FnZXMuaW4gKi8sCiAJCQkJQkM0QTYyOEQxNDczMTJCRTAw
NkM2ODFBIC8qIFdlYkNvbm5lY3Rpb25DbGllbnQuY3BwICovLAogCQkJCUJDNEE2MjhFMTQ3MzEy
QkUwMDZDNjgxQSAvKiBXZWJDb25uZWN0aW9uQ2xpZW50LmggKi8sCiAJCQkJNTEyOTM1RDUxMjg4
RDE5NDAwQTRCNjk1IC8qIFdlYkNvbnRleHRNZW51SXRlbS5jcHAgKi8sCkBAIC0zNzc2LDYgKzM3
ODIsOCBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNTEyRjU4QTAxMkE4ODNBRDAwNjI5NTMwIC8q
IEF1dGhlbnRpY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNTEyRjU4
QTExMkE4ODNBRDAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmggKi8s
CisJCQkJRTE5NjdFMzUxNTBBQjVENTAwQzczMTY5IC8qIGNvbS5hcHBsZS5XZWJLaXQuUGx1Z2lu
UHJvY2Vzcy5zYiAqLywKKwkJCQlFMTk2N0UzNzE1MEFCNUUyMDBDNzMxNjkgLyogY29tLmFwcGxl
LldlYlByb2Nlc3Muc2IgKi8sCiAJCQkJMUFCN0Q2MTcxMjg4QjlEOTAwQ0ZEMDhDIC8qIERvd25s
b2FkUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTFBQjdENjE4MTI4OEI5RDkwMENG
RDA4QyAvKiBEb3dubG9hZFByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQkxQTY0MjI5NzEyREQwMjky
MDBDQUFFMkMgLyogRHJhd2luZ0FyZWFNZXNzYWdlUmVjZWl2ZXIuY3BwICovLApAQCAtMzgwMCw2
ICszODA4LDggQEAKIAkJCQk1MTJFMzU2OTEzMEI1N0YwMDBBQkQxOUEgLyogV2ViQXBwbGljYXRp
b25DYWNoZU1hbmFnZXJNZXNzYWdlcy5oICovLAogCQkJCTUxMkUzNUY2MTMwQjY0MkUwMEFCRDE5
QSAvKiBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAq
LywKIAkJCQk1MTJFMzVGNzEzMEI2NDJFMDBBQkQxOUEgLyogV2ViQXBwbGljYXRpb25DYWNoZU1h
bmFnZXJQcm94eU1lc3NhZ2VzLmggKi8sCisJCQkJMUExRkVDMUExNjI3QjQ1NjAwNzAwRjZEIC8q
IFdlYkNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTFBMUZFQzFCMTYyN0I0
NTcwMDcwMEY2RCAvKiBXZWJDb25uZWN0aW9uTWVzc2FnZXMuaCAqLywKIAkJCQlCQ0VFN0QwQjEy
ODQ2RjY5MDA5ODI3REEgLyogV2ViQ29udGV4dE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJ
QkNFRTdEMEMxMjg0NkY2OTAwOTgyN0RBIC8qIFdlYkNvbnRleHRNZXNzYWdlcy5oICovLAogCQkJ
CTMzMDkzNDQzMTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLywKQEAgLTM4NTQsOCArMzg2NCw2IEBACiAJCQkJMzMzNjc2NTIxMzBDOUVDQTAw
NkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyTWVzc2FnZXMuaCAqLywKIAkJCQkzMzM2
NzY1MzEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMzMzNjc2NTQxMzBDOUVDQTAwNkM5REUyIC8qIFdlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oICovLAotCQkJCUUxOTY3RTM1MTUwQUI1
RDUwMEM3MzE2OSAvKiBjb20uYXBwbGUuV2ViS2l0LlBsdWdpblByb2Nlc3Muc2IgKi8sCi0JCQkJ
RTE5NjdFMzcxNTBBQjVFMjAwQzczMTY5IC8qIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiICovLAog
CQkJKTsKIAkJCW5hbWUgPSAiRGVyaXZlZCBTb3VyY2VzIjsKIAkJCXBhdGggPSBEZXJpdmVkU291
cmNlcy9XZWJLaXQyOwpAQCAtNDM5MSw2ICs0Mzk5LDcgQEAKIAkJCQkyOTEyMTcwODE2MUNFNzM2
MDA1N0Q0NTEgLyogVXNlckNvbnRlbnRDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
MDE3RDIxMTYyNjMzMDgwMDcwNTRGNSAvKiBXS0RPTVRleHRJdGVyYXRvci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkMzOUM0MzYxNjI2MzY2RjAwOEJDNjg5IC8qIFdLRE9NUmFuZ2UuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTFBMUZFQzFEMTYyN0I0NTcwMDcwMEY2RCAvKiBXZWJDb25uZWN0aW9uTWVz
c2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtNTI1Nyw2ICs1MjY2LDcgQEAKIAkJCQkyOTEyMTcw
NzE2MUNFNzM2MDA1N0Q0NTEgLyogVXNlckNvbnRlbnRDb250YWluZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkMwMTdEMjAxNjI2MzMwODAwNzA1NEY1IC8qIFdLRE9NVGV4dEl0ZXJhdG9yLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkMzOUM0MzUxNjI2MzY2RjAwOEJDNjg5IC8qIFdLRE9NUmFu
Z2UubW0gaW4gU291cmNlcyAqLywKKwkJCQkxQTFGRUMxQzE2MjdCNDU3MDA3MDBGNkQgLyogV2Vi
Q29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmNwcApp
bmRleCA2ZTZlMjQ0NjFhZmQ4MWRlMTU4Yjg4MWEzYzkwMzcyYWM5YjExNDk1Li41ZTE1MmVlOThh
YWQwNjBjZDdhNzBjMWUzZTdiMGMxNDg0NWZhYTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwCkBAIC00MCw0NyAr
NDAsMzQgQEAgUGFzc1JlZlB0cjxXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M+IFdlYkNvbm5lY3Rp
b25Ub1VJUHJvY2Vzczo6Y3JlYXRlKFdlYlByb2Nlc3MKIH0KIAogV2ViQ29ubmVjdGlvblRvVUlQ
cm9jZXNzOjpXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MoV2ViUHJvY2VzcyogcHJvY2VzcywgQ29y
ZUlQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllciwgUnVuTG9v
cCogcnVuTG9vcCkKLSAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQotICAgICwgbV9jb25uZWN0aW9u
KENvcmVJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZUNsaWVudENvbm5lY3Rpb24oY29ubmVjdGlvbklk
ZW50aWZpZXIsIHRoaXMsIHJ1bkxvb3ApKQorICAgIDogV2ViQ29ubmVjdGlvbihDb3JlSVBDOjpD
b25uZWN0aW9uOjpjcmVhdGVDbGllbnRDb25uZWN0aW9uKGNvbm5lY3Rpb25JZGVudGlmaWVyLCB0
aGlzLCBydW5Mb29wKSkKKyAgICAsIG1fcHJvY2Vzcyhwcm9jZXNzKQogewogICAgIG1fY29ubmVj
dGlvbi0+c2V0RGlkQ2xvc2VPbkNvbm5lY3Rpb25Xb3JrUXVldWVDYWxsYmFjayhDaGlsZFByb2Nl
c3M6OmRpZENsb3NlT25Db25uZWN0aW9uV29ya1F1ZXVlKTsKICAgICBtX2Nvbm5lY3Rpb24tPnNl
dFNob3VsZEV4aXRPblN5bmNNZXNzYWdlU2VuZEZhaWx1cmUodHJ1ZSk7CiB9CiAKLXZvaWQgV2Vi
Q29ubmVjdGlvblRvVUlQcm9jZXNzOjppbnZhbGlkYXRlKCkKKy8vIFdlYkNvbm5lY3Rpb24KKwor
dm9pZCBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M6OmVuY29kZU1lc3NhZ2VCb2R5KENvcmVJUEM6
OkFyZ3VtZW50RW5jb2RlciogYXJndW1lbnRFbmNvZGVyLCBBUElPYmplY3QqIG1lc3NhZ2VCb2R5
KQogewotICAgIG1fY29ubmVjdGlvbi0+aW52YWxpZGF0ZSgpOwotICAgIG1fY29ubmVjdGlvbiA9
IG51bGxwdHI7Ci0gICAgbV9wcm9jZXNzID0gMDsKKyAgICBhcmd1bWVudEVuY29kZXItPmVuY29k
ZShJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlcihtZXNzYWdlQm9keSkpOwogfQogCi0v
LyBXZWJDb25uZWN0aW9uCi0KLXZvaWQgV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzOjpwb3N0TWVz
c2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUElPYmplY3QqIG1lc3NhZ2VCb2R5KQor
Ym9vbCBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M6OmRlY29kZU1lc3NhZ2VCb2R5KENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciogYXJndW1lbnREZWNvZGVyLCBSZWZQdHI8QVBJT2JqZWN0PiYgbWVz
c2FnZUJvZHkpCiB7Ci0gICAgaWYgKCFtX3Byb2Nlc3MpCi0gICAgICAgIHJldHVybjsKKyAgICBp
ZiAoIWFyZ3VtZW50RGVjb2Rlci0+ZGVjb2RlKEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VEZWNv
ZGVyKG1lc3NhZ2VCb2R5KSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1fY29ubmVj
dGlvbi0+ZGVwcmVjYXRlZFNlbmQoV2ViQ29ubmVjdGlvbkxlZ2FjeU1lc3NhZ2U6OlBvc3RNZXNz
YWdlLCAwLCBDb3JlSVBDOjpJbihtZXNzYWdlTmFtZSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2Fn
ZUVuY29kZXIobWVzc2FnZUJvZHkpKSk7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIC8vIENvcmVJ
UEM6OkNvbm5lY3Rpb246OkNsaWVudAogCiB2b2lkIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzczo6
ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQ
Qzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVu
dHMpCiB7Ci0gICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJDb25u
ZWN0aW9uTGVnYWN5PigpKSB7Ci0gICAgICAgIHN3aXRjaCAobWVzc2FnZUlELmdldDxXZWJDb25u
ZWN0aW9uTGVnYWN5TWVzc2FnZTo6S2luZD4oKSkgewotICAgICAgICAgICAgY2FzZSBXZWJDb25u
ZWN0aW9uTGVnYWN5TWVzc2FnZTo6UG9zdE1lc3NhZ2U6IHsKLSAgICAgICAgICAgICAgICBTdHJp
bmcgbWVzc2FnZU5hbWU7ICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgUmVmUHRyPEFQSU9i
amVjdD4gbWVzc2FnZUJvZHk7Ci0gICAgICAgICAgICAgICAgSW5qZWN0ZWRCdW5kbGVVc2VyTWVz
c2FnZURlY29kZXIgbWVzc2FnZURlY29kZXIobWVzc2FnZUJvZHkpOwotICAgICAgICAgICAgICAg
IGlmICghYXJndW1lbnRzLT5kZWNvZGUoQ29yZUlQQzo6T3V0KG1lc3NhZ2VOYW1lLCBtZXNzYWdl
RGVjb2RlcikpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgICAg
ICBmb3J3YXJkRGlkUmVjZWl2ZU1lc3NhZ2VUb0NsaWVudChtZXNzYWdlTmFtZSwgbWVzc2FnZUJv
ZHkuZ2V0KCkpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfQorICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViQ29ubmVj
dGlvbj4oKSkgeworICAgICAgICBkaWRSZWNlaXZlV2ViQ29ubmVjdGlvbk1lc3NhZ2UoY29ubmVj
dGlvbiwgbWVzc2FnZUlELCBhcmd1bWVudHMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1VJUHJv
Y2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9VSVByb2Nl
c3MuaAppbmRleCA5ZjIxMDhjNTc1ZDE2NmI5ZGU0ZDAyYWY1MDlhNjY4NDdjMWFlMTQwLi5jZGZm
NGFjMjdmMGI5MzQ5YzU5YWRkYmYyOWIwMjg5NDBlMDM0MTg2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmgKQEAgLTM3LDE1
ICszNywxMiBAQCBjbGFzcyBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MgOiBwdWJsaWMgV2ViQ29u
bmVjdGlvbiwgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZQogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcz4gY3JlYXRlKFdlYlByb2Nlc3MqLCBD
b3JlSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyLCBXZWJDb3JlOjpSdW5Mb29wKik7CiAKLSAg
ICBDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKCkgeyByZXR1cm4gbV9jb25uZWN0aW9u
LmdldCgpOyB9Ci0KLSAgICB2b2lkIGludmFsaWRhdGUoKTsKLQogcHJpdmF0ZToKICAgICBXZWJD
b25uZWN0aW9uVG9VSVByb2Nlc3MoV2ViUHJvY2VzcyosIENvcmVJUEM6OkNvbm5lY3Rpb246Oklk
ZW50aWZpZXIsIFdlYkNvcmU6OlJ1bkxvb3AqKTsKIAogICAgIC8vIFdlYkNvbm5lY3Rpb24KLSAg
ICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2UoY29uc3QgU3RyaW5nJiwgQVBJT2JqZWN0Kik7Cisg
ICAgdmlydHVhbCB2b2lkIGVuY29kZU1lc3NhZ2VCb2R5KENvcmVJUEM6OkFyZ3VtZW50RW5jb2Rl
ciosIEFQSU9iamVjdCopIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVNZXNzYWdl
Qm9keShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBSZWZQdHI8QVBJT2JqZWN0PiYpIE9WRVJS
SURFOwogCiAgICAgLy8gQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CiAgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNz
YWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwpAQCAtNTcsNyArNTQsNiBAQCBwcml2
YXRlOgogI2VuZGlmCiAKICAgICBXZWJQcm9jZXNzKiBtX3Byb2Nlc3M7Ci0gICAgUmVmUHRyPENv
cmVJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qIGIvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCmluZGV4IDJjYzI1Y2ZhMTYxYjU2ZDk3OTdk
MThhM2U4MWZhMGZjNjdiY2JmYmQuLjE2NjZjNzVjMjg2MTgxMmY4YTI5MDViYmRlNzNiNmVhOWFk
ZDg5NWUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKQEAgLTYyNyw2ICs2MjcsMTAgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVk
XFdlYkNvbm5lY3Rpb24ubWVzc2FnZXMuaW4iCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
IAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFxXZWJDb25uZWN0aW9uQ2xpZW50LmNwcCIKIAkJ
CQk+CiAJCQk8L0ZpbGU+CkBAIC00MzAzLDYgKzQzMDcsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xXZWJDb25uZWN0aW9uTWVzc2FnZVJlY2Vp
dmVyLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xXZWJDb25uZWN0aW9uTWVzc2FnZXMuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xXZWJDb250ZXh0TWVzc2FnZVJlY2VpdmVyLmNwcCIKIAkJCQk+
CiAJCQk8L0ZpbGU+Cg==
</data>
<flag name="review"
          id="181304"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>