<?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>208594</bug_id>
          
          <creation_ts>2020-03-04 13:19:25 -0800</creation_ts>
          <short_desc>Adopt new and improved CFNetwork SPI for cookie change notifications</short_desc>
          <delta_ts>2020-03-04 15:28:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1625725</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-04 13:19:25 -0800</bug_when>
    <thetext>Adopt new and improved CFNetwork SPI for cookie change notifications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625726</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-04 13:19:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/60053313&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625736</commentid>
    <comment_count>2</comment_count>
      <attachid>392469</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-04 13:27:32 -0800</bug_when>
    <thetext>Created attachment 392469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625776</commentid>
    <comment_count>3</comment_count>
      <attachid>392484</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-04 14:26:02 -0800</bug_when>
    <thetext>Created attachment 392484
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625777</commentid>
    <comment_count>4</comment_count>
      <attachid>392484</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-04 14:28:15 -0800</bug_when>
    <thetext>Comment on attachment 392484
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=392484&amp;action=review

&gt; Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm:595
&gt; +            if (cookies.isEmpty())

The only change in this latest iteration was early returning here if the list of cookies is empty after filtering out the httpOnly ones. No need to do unnecessary IPC in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625809</commentid>
    <comment_count>5</comment_count>
      <attachid>392484</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-04 15:28:18 -0800</bug_when>
    <thetext>Comment on attachment 392484
Patch

Clearing flags on attachment: 392484

Committed r257888: &lt;https://trac.webkit.org/changeset/257888&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625810</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-04 15:28:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392469</attachid>
            <date>2020-03-04 13:27:32 -0800</date>
            <delta_ts>2020-03-04 14:26:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208594-20200304132731.patch</filename>
            <type>text/plain</type>
            <size>18956</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM2OTMyMTQxODIyMTY5
MjI0OTg2YjU0MzkxZDU5NmIyNjczMjFjZC4uNDM5YzRmZGVkOGEyYmE5YmVkNjA4MjQ5Yzc4NDY3
YjlhMzRhMzU4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTAzLTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRvcHQgbmV3IGFuZCBpbXBy
b3ZlZCBDRk5ldHdvcmsgU1BJIGZvciBjb29raWUgY2hhbmdlIG5vdGlmaWNhdGlvbnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODU5NAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNjAwNTMzMTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRvcHQgbmV3IGFuZCBpbXByb3ZlZCBDRk5ldHdvcmsgU1BJ
IGZvciBjb29raWUgY2hhbmdlIG5vdGlmaWNhdGlvbnMuIE5vdGlmaWNhdGlvbnMgYXJlIG5vdyBw
ZXIgZG9tYWluCisgICAgICAgIGFuZCB0aGUgZG9tYWluIG1hdGNoZXMgb25lIG9mIHRoZSBkb21h
aW5zIHdlIGxpc3RlbiBmb3IgY29va2llIGNoYW5nZXMgb24uCisKKyAgICAgICAgVGhpcyBhbHNv
IGZpeGVzIGEgYnVnIHdoZXJlIGh0dHBPbmx5IGNvb2tpZXMgd291bGQgYmUgc2VudCB0byB0aGUg
V2ViQ29udGVudCBwcm9jZXNzZXMgaW4gY29va2llIGNoYW5nZQorICAgICAgICBub3RpZmljYXRp
b25zLCBldmVuIHRob3VnaCB0aGUgV2ViUHJvY2Vzc2VzIGFyZSBub3QgaW50ZXJlc3RlZCBpbiB0
aG9zZS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9u
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Np
b25Db2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6cmVn
aXN0ZXJDb29raWVDaGFuZ2VMaXN0ZW5lcnNJZk5lY2Vzc2FyeSk6CisKIDIwMjAtMDMtMDQgIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEF2b2lkIGZ1bGwgc3R5
bGUgcmVzb2x1dGlvbiBvbiBFbGVtZW50Ojpmb2N1cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBk
NzIwNjFlODFjNGVmMGYzYTMyZTMwNThjZTI2YjBhOWI3NjcwYWVmLi5iMzBhMzk2YWUxNWE0Nzcy
NGM2MDYyYzE4Y2U2YTA5ZTc0NTE0OGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAyMC0wMy0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAg
ICAgIEFkb3B0IG5ldyBhbmQgaW1wcm92ZWQgQ0ZOZXR3b3JrIFNQSSBmb3IgY29va2llIGNoYW5n
ZSBub3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDg1OTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwMDUzMzEzPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBuZXcgQ0ZOZXR3
b3JrIFNQSS4KKworICAgICAgICAqIHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg6CisKIDIwMjAt
MDMtMDMgIEppdGVuIE1laHRhICA8am1laHRhQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCBI
VFRQIEFsdGVybmF0aXZlIFNlcnZpY2VzIFN0b3JhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTM1ZTBmNGE4ZGNm
YTlkMWQ2ODZlZDYxMmYzNmI3NjRmYTFhZTQxZC4uNGUxYWNkZmJkNTVmZTFmNWJmMGMwMDQ2NTZh
ZjlmOWM5ZTYyMWI5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAyMC0wMy0wNCAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEFkb3B0IG5ldyBhbmQgaW1w
cm92ZWQgQ0ZOZXR3b3JrIFNQSSBmb3IgY29va2llIGNoYW5nZSBub3RpZmljYXRpb25zCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg1OTQKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYwMDUzMzEzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkb3B0IG5ldyBhbmQgaW1wcm92ZWQgQ0ZOZXR3b3JrIFNQ
SSBmb3IgY29va2llIGNoYW5nZSBub3RpZmljYXRpb25zLiBOb3RpZmljYXRpb25zIGFyZSBub3cg
cGVyIGRvbWFpbgorICAgICAgICBhbmQgdGhlIGRvbWFpbiBtYXRjaGVzIG9uZSBvZiB0aGUgZG9t
YWlucyB3ZSBsaXN0ZW4gZm9yIGNvb2tpZSBjaGFuZ2VzIG9uLgorCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y29va2llc0RlbGV0ZWQpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6YWxsQ29va2llc0Rl
bGV0ZWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6
Y29va2llc0RlbGV0ZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b246OmFsbENvb2tpZXNEZWxldGVkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViQ29va2llQ2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVD
YWNoZTo6Y29va2llc0RlbGV0ZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVDYWNoZTo6
YWxsQ29va2llc0RlbGV0ZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb29r
aWVDYWNoZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb29raWVKYXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVKYXI6OmNvb2tpZXNEZWxldGVkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ29va2llSmFyOjphbGxDb29raWVzRGVsZXRlZCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvb2tpZUphci5oOgorCiAyMDIwLTAzLTA0ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJvcCBXZWJzaXRlRGF0YVN0b3Jl
Ojpwcm9jZXNzUG9vbHMoKSdzIGVuc3VyZUFQb29sRXhpc3RzIG9wdGlvbmFsIHBhcmFtZXRlciBh
bmQgYWRkIGEgZW5zdXJlUHJvY2Vzc1Bvb2xzKCkgbWV0aG9kIGluc3RlYWQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgKaW5kZXggYTlmZWMyZWM3NmI1MDQ0
NGI5MzkyNzYwYWQ1MTVhMDQzNDY3ODk3Yi4uMjJhMjRhN2JlYmFkMGE2MjcwMWE3OGFhZTRkZWZi
ZDE0YmFmZjRkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZO
ZXR3b3JrU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3Jr
U1BJLmgKQEAgLTQxNyw5ICs0MTcsMTIgQEAgV1RGX0VYVEVSTl9DX0VORAogQGludGVyZmFjZSBO
U0hUVFBDb29raWVTdG9yYWdlICgpCiArICh2b2lkKV9zZXRTaGFyZWRIVFRQQ29va2llU3RvcmFn
ZTooTlNIVFRQQ29va2llU3RvcmFnZSAqKXN0b3JhZ2U7CiAtICh2b2lkKV9zZXRTdWJzY3JpYmVk
RG9tYWluc0ZvckNvb2tpZUNoYW5nZXM6KE5TU2V0PE5TU3RyaW5nKj4qIF9fbnVsbGFibGUpZG9t
YWluTGlzdDsKKy0gKE5TQXJyYXkqIF9fbnVsbGFibGUpX2dldENvb2tpZXNGb3JEb21haW46KE5T
U3RyaW5nKilkb21haW47CistICh2b2lkKV9zZXRDb29raWVzQ2hhbmdlZEhhbmRsZXI6KHZvaWQo
Xl9fbnVsbGFibGUpKE5TQXJyYXk8TlNIVFRQQ29va2llKj4qIGFkZGVkQ29va2llcywgTlNTdHJp
bmcqIGRvbWFpbkZvckNoYW5nZWRDb29raWUpKWNvb2tpZXNDaGFuZ2VkSGFuZGxlciBvblF1ZXVl
OihkaXNwYXRjaF9xdWV1ZV90IF9fbnVsbGFibGUpcXVldWU7CistICh2b2lkKV9zZXRDb29raWVz
UmVtb3ZlZEhhbmRsZXI6KHZvaWQoXl9fbnVsbGFibGUpKE5TQXJyYXk8TlNIVFRQQ29va2llKj4q
IF9fbnVsbGFibGUgcmVtb3ZlZENvb2tpZXMsIE5TU3RyaW5nKiBfX251bGxhYmxlIGRvbWFpbkZv
clJlbW92ZWRDb29raWVzLCBib29sIHJlbW92ZUFsbENvb2tpZXMpKWNvb2tpZXNSZW1vdmVkSGFu
ZGxlciBvblF1ZXVlOihkaXNwYXRjaF9xdWV1ZV90IF9fbnVsbGFibGUpcXVldWU7CisvLyBGSVhN
RTogVGhlIGZvbGxvd2luZyAyIHNob3VsZCBiZSByZW1vdmVkIGFyZSBvbmx5IGtlcHQgdG8gZW5z
dXJlIHNtb290aCB0cmFuc2l0aW9uIHRvIHRoZSBuZXcgX3NldENvb2tpZXNDaGFuZ2VkSGFuZGxl
ciAvIF9zZXRDb29raWVzUmVtb3ZlZEhhbmRsZXIgU1BJLgogLSAodm9pZClfc2V0Q29va2llc0Fk
ZGVkSGFuZGxlcjoodm9pZCheX19udWxsYWJsZSkoTlNBcnJheTxOU0hUVFBDb29raWUqPiogYWRk
ZWRDb29raWVzLCBOU1VSTCogX19udWxsYWJsZSB1cmxGb3JBZGRlZENvb2tpZXMpKWNvb2tpZXNB
ZGRlZEhhbmRsZXIgb25RdWV1ZTooZGlzcGF0Y2hfcXVldWVfdCBfX251bGxhYmxlKXF1ZXVlOwog
LSAodm9pZClfc2V0Q29va2llc0RlbGV0ZWRIYW5kbGVyOih2b2lkKF5fX251bGxhYmxlKShOU0Fy
cmF5PE5TSFRUUENvb2tpZSo+KiBfX251bGxhYmxlIGRlbGV0ZWRDb29raWVzLCBib29sIGRlbGV0
ZWRBbGxDb29raWVzKSljb29raWVzRGVsZXRlZEhhbmRsZXIgb25RdWV1ZTooZGlzcGF0Y2hfcXVl
dWVfdCBfX251bGxhYmxlKXF1ZXVlOwotLSAoTlNBcnJheSogX19udWxsYWJsZSlfZ2V0Q29va2ll
c0ZvckRvbWFpbjooTlNTdHJpbmcqKWRvbWFpbjsKIEBlbmQKIAogQGludGVyZmFjZSBOU1VSTFJl
c3BvbnNlICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05l
dHdvcmtTdG9yYWdlU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9O
ZXR3b3JrU3RvcmFnZVNlc3Npb24uaAppbmRleCAxMTBjNjNkNDgyNDdkYTJmNjAwZWM5NzA1Nzdl
YWM0ODM1N2Q3YTMzLi4xOTZkMzk4Zjg1ZTE4OTQ3Mzk4OTcxZGIyYmRiYTU0NDI5MTZmYzhkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdl
U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0
b3JhZ2VTZXNzaW9uLmgKQEAgLTg2LDcgKzg2LDggQEAgY2xhc3MgQ29va2llQ2hhbmdlT2JzZXJ2
ZXIgewogcHVibGljOgogICAgIHZpcnR1YWwgfkNvb2tpZUNoYW5nZU9ic2VydmVyKCkgeyB9CiAg
ICAgdmlydHVhbCB2b2lkIGNvb2tpZXNBZGRlZChjb25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFZl
Y3RvcjxXZWJDb3JlOjpDb29raWU+JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBjb29raWVzRGVs
ZXRlZCgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY29va2llc0RlbGV0ZWQoY29uc3QgU3RyaW5n
JiBob3N0LCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6Q29va2llPiYpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgYWxsQ29va2llc0RlbGV0ZWQoKSA9IDA7CiB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya1N0b3JhZ2VTZXNz
aW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdv
cmtTdG9yYWdlU2Vzc2lvbkNvY29hLm1tCmluZGV4IDdhZWZlMDhhMjBhNmI3MTRjZWEzNWM3NGI4
OTIxMzAwMTZhOWQwMGMuLmNiYjk4ZmQ5YmVhZjAwMTE0OGZjNzJiMTUxZGRjZDYwZGY4NzU5YTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29y
a1N0b3JhZ2VTZXNzaW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25Db2NvYS5tbQpAQCAtNTg0LDI2ICs1ODQs
NjYgQEAgdm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnJlZ2lzdGVyQ29va2llQ2hhbmdlTGlz
dGVuZXJzSWZOZWNlc3NhcnkoKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2RpZFJlZ2lzdGVy
Q29va2llTGlzdGVuZXJzID0gdHJ1ZTsKLSAgICBbbnNDb29raWVTdG9yYWdlKCkgX3NldENvb2tp
ZXNBZGRlZEhhbmRsZXI6XihOU0FycmF5PE5TSFRUUENvb2tpZSAqPiAqIG5zQ29va2llcywgTlNV
UkwgKnVybEZvckFkZGVkQ29va2llcykgewotICAgICAgICBWZWN0b3I8Q29va2llPiBjb29raWVz
ID0gbnNDb29raWVzVG9Db29raWVWZWN0b3IobnNDb29raWVzKTsKLSAgICAgICAgYXV0byBob3N0
ID0gVVJMKHVybEZvckFkZGVkQ29va2llcykuaG9zdCgpLnRvU3RyaW5nKCk7Ci0gICAgICAgIFJF
TEVBU0VfQVNTRVJUKCFob3N0LmlzTnVsbCgpKTsKLSAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMg
aW5lZmZpY2llbnQuIFVuZm9ydHVuYXRlbHksIENGTmV0d29yayBzZW5kcyB1cyBub3RpZmljYXRp
b25zIGZvciBob3N0cyB0aGF0IGRvIG5vdCBtYXRjaCBleGFjdGx5IHRoZSBvbmVzIHdlCi0gICAg
ICAgIC8vIGFyZSBsaXN0ZW5pbmcgZm9yIChlLmcuICdzZWN1cmUuaHVsdS5jb20gaW5zdGVhZCBv
ZiAnd3d3Lmh1bHUuY29tJyBmb3IpLiBTZWUgPHJkYXI6Ly9wcm9ibGVtLzU5OTczNjMwPi4KLSAg
ICAgICAgYXV0byByZWdpc3RyYWJsZURvbWFpbiA9IFJlZ2lzdHJhYmxlRG9tYWluOjp1bmNoZWNr
ZWRDcmVhdGVGcm9tSG9zdChob3N0KTsKLSAgICAgICAgZm9yIChhdXRvJiBwYWlyIDogbV9jb29r
aWVDaGFuZ2VPYnNlcnZlcnMpIHsKLSAgICAgICAgICAgIGlmIChSZWdpc3RyYWJsZURvbWFpbjo6
dW5jaGVja2VkQ3JlYXRlRnJvbUhvc3QocGFpci5rZXkpID09IHJlZ2lzdHJhYmxlRG9tYWluKSB7
Ci0gICAgICAgICAgICAgICAgZm9yIChhdXRvKiBvYnNlcnZlciA6IHBhaXIudmFsdWUpCi0gICAg
ICAgICAgICAgICAgICAgIG9ic2VydmVyLT5jb29raWVzQWRkZWQocGFpci5rZXksIGNvb2tpZXMp
OworCisgICAgaWYgKFtuc0Nvb2tpZVN0b3JhZ2UoKSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKF9zZXRDb29raWVzQ2hhbmdlZEhhbmRsZXI6b25RdWV1ZTopXSkgeworICAgICAgICBbbnND
b29raWVTdG9yYWdlKCkgX3NldENvb2tpZXNDaGFuZ2VkSGFuZGxlcjpeKE5TQXJyYXk8TlNIVFRQ
Q29va2llKj4qIGFkZGVkQ29va2llcywgTlNTdHJpbmcqIGRvbWFpbkZvckNoYW5nZWRDb29raWUp
IHsKKyAgICAgICAgICAgIFN0cmluZyBob3N0ID0gZG9tYWluRm9yQ2hhbmdlZENvb2tpZTsKKyAg
ICAgICAgICAgIGF1dG8gaXQgPSBtX2Nvb2tpZUNoYW5nZU9ic2VydmVycy5maW5kKGhvc3QpOwor
ICAgICAgICAgICAgaWYgKGl0ID09IG1fY29va2llQ2hhbmdlT2JzZXJ2ZXJzLmVuZCgpKQorICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGF1dG8gY29va2llcyA9IG5zQ29va2ll
c1RvQ29va2llVmVjdG9yKGFkZGVkQ29va2llcywgW10oTlNIVFRQQ29va2llICpjb29raWUpIHsg
cmV0dXJuICFjb29raWUuSFRUUE9ubHk7IH0pOworICAgICAgICAgICAgZm9yIChhdXRvKiBvYnNl
cnZlciA6IGl0LT52YWx1ZSkKKyAgICAgICAgICAgICAgICBvYnNlcnZlci0+Y29va2llc0FkZGVk
KGhvc3QsIGNvb2tpZXMpOworICAgICAgICB9IG9uUXVldWU6ZGlzcGF0Y2hfZ2V0X21haW5fcXVl
dWUoKV07CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gT2xkIFNQSS4KKyAgICAgICAgLy8gRklY
TUU6IFRoaXMgY291bGQgY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgYSB3aGlsZS4gSXQgaXMgb25seSBr
ZXB0IHRvIGVuc3VyZSBhIHNtb290aCB0cmFuc2l0aW9uIHRvIHRoZSBuZXcgU1BJLgorICAgICAg
ICBbbnNDb29raWVTdG9yYWdlKCkgX3NldENvb2tpZXNBZGRlZEhhbmRsZXI6XihOU0FycmF5PE5T
SFRUUENvb2tpZSAqPiAqIG5zQ29va2llcywgTlNVUkwgKnVybEZvckFkZGVkQ29va2llcykgewor
ICAgICAgICAgICAgVmVjdG9yPENvb2tpZT4gY29va2llcyA9IG5zQ29va2llc1RvQ29va2llVmVj
dG9yKG5zQ29va2llcywgW10oTlNIVFRQQ29va2llICpjb29raWUpIHsgcmV0dXJuICFjb29raWUu
SFRUUE9ubHk7IH0pOworICAgICAgICAgICAgYXV0byBob3N0ID0gVVJMKHVybEZvckFkZGVkQ29v
a2llcykuaG9zdCgpLnRvU3RyaW5nKCk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghaG9z
dC5pc051bGwoKSk7CisgICAgICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyBpbmVmZmljaWVudC4g
VW5mb3J0dW5hdGVseSwgQ0ZOZXR3b3JrIHNlbmRzIHVzIG5vdGlmaWNhdGlvbnMgZm9yIGhvc3Rz
IHRoYXQgZG8gbm90IG1hdGNoIGV4YWN0bHkgdGhlIG9uZXMgd2UKKyAgICAgICAgICAgIC8vIGFy
ZSBsaXN0ZW5pbmcgZm9yIChlLmcuICdzZWN1cmUuaHVsdS5jb20gaW5zdGVhZCBvZiAnd3d3Lmh1
bHUuY29tJyBmb3IpLiBTZWUgPHJkYXI6Ly9wcm9ibGVtLzU5OTczNjMwPi4KKyAgICAgICAgICAg
IGF1dG8gcmVnaXN0cmFibGVEb21haW4gPSBSZWdpc3RyYWJsZURvbWFpbjo6dW5jaGVja2VkQ3Jl
YXRlRnJvbUhvc3QoaG9zdCk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIHBhaXIgOiBtX2Nvb2tp
ZUNoYW5nZU9ic2VydmVycykgeworICAgICAgICAgICAgICAgIGlmIChSZWdpc3RyYWJsZURvbWFp
bjo6dW5jaGVja2VkQ3JlYXRlRnJvbUhvc3QocGFpci5rZXkpID09IHJlZ2lzdHJhYmxlRG9tYWlu
KSB7CisgICAgICAgICAgICAgICAgICAgIGZvciAoYXV0byogb2JzZXJ2ZXIgOiBwYWlyLnZhbHVl
KQorICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXItPmNvb2tpZXNBZGRlZChwYWlyLmtl
eSwgY29va2llcyk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICB9
Ci0gICAgfSBvblF1ZXVlOmRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCldOwotICAgIFtuc0Nvb2tp
ZVN0b3JhZ2UoKSBfc2V0Q29va2llc0RlbGV0ZWRIYW5kbGVyOl4oTlNBcnJheTxOU0hUVFBDb29r
aWUgKj4gKiwgYm9vbCAvKmRlbGV0ZWRBbGxDb29raWVzKi8pIHsKLSAgICAgICAgZm9yIChhdXRv
JiBvYnNlcnZlcnMgOiBtX2Nvb2tpZUNoYW5nZU9ic2VydmVycy52YWx1ZXMoKSkgewotICAgICAg
ICAgICAgZm9yIChhdXRvKiBvYnNlcnZlciA6IG9ic2VydmVycykKLSAgICAgICAgICAgICAgICBv
YnNlcnZlci0+Y29va2llc0RlbGV0ZWQoKTsKLSAgICAgICAgfQotICAgIH0gb25RdWV1ZTpkaXNw
YXRjaF9nZXRfbWFpbl9xdWV1ZSgpXTsKKyAgICAgICAgfSBvblF1ZXVlOmRpc3BhdGNoX2dldF9t
YWluX3F1ZXVlKCldOworICAgIH0KKworICAgIGlmIChbbnNDb29raWVTdG9yYWdlKCkgcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfc2V0Q29va2llc1JlbW92ZWRIYW5kbGVyOm9uUXVldWU6
KV0pIHsKKyAgICAgICAgW25zQ29va2llU3RvcmFnZSgpIF9zZXRDb29raWVzUmVtb3ZlZEhhbmRs
ZXI6XihOU0FycmF5PE5TSFRUUENvb2tpZSo+KiByZW1vdmVkQ29va2llcywgTlNTdHJpbmcqIGRv
bWFpbkZvclJlbW92ZWRDb29raWVzLCBib29sIHJlbW92ZUFsbENvb2tpZXMpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGlmIChyZW1vdmVBbGxDb29raWVzKSB7CisgICAgICAgICAgICAgICAgZm9y
IChhdXRvJiBvYnNlcnZlcnMgOiBtX2Nvb2tpZUNoYW5nZU9ic2VydmVycy52YWx1ZXMoKSkgewor
ICAgICAgICAgICAgICAgICAgICBmb3IgKGF1dG8qIG9ic2VydmVyIDogb2JzZXJ2ZXJzKQorICAg
ICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXItPmFsbENvb2tpZXNEZWxldGVkKCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgU3RyaW5nIGhvc3QgPSBkb21haW5Gb3JSZW1vdmVkQ29va2llczsKKyAgICAg
ICAgICAgIGF1dG8gaXQgPSBtX2Nvb2tpZUNoYW5nZU9ic2VydmVycy5maW5kKGhvc3QpOworICAg
ICAgICAgICAgaWYgKGl0ID09IG1fY29va2llQ2hhbmdlT2JzZXJ2ZXJzLmVuZCgpKQorICAgICAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgVmVjdG9yPENvb2tpZT4gY29va2llcyA9
IG5zQ29va2llc1RvQ29va2llVmVjdG9yKHJlbW92ZWRDb29raWVzLCBbXShOU0hUVFBDb29raWUg
KmNvb2tpZSkgeyByZXR1cm4gIWNvb2tpZS5IVFRQT25seTsgfSk7CisgICAgICAgICAgICBmb3Ig
KGF1dG8qIG9ic2VydmVyIDogaXQtPnZhbHVlKQorICAgICAgICAgICAgICAgIG9ic2VydmVyLT5j
b29raWVzRGVsZXRlZChob3N0LCBjb29raWVzKTsKKyAgICAgICAgfSBvblF1ZXVlOmRpc3BhdGNo
X2dldF9tYWluX3F1ZXVlKCldOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIE9sZCBTUEkuCisg
ICAgICAgIC8vIEZJWE1FOiBUaGlzIGNvdWxkIGNhbiBiZSByZW1vdmVkIGFmdGVyIGEgd2hpbGUu
IEl0IGlzIG9ubHkga2VwdCB0byBlbnN1cmUgYSBzbW9vdGggdHJhbnNpdGlvbiB0byB0aGUgbmV3
IFNQSS4KKyAgICAgICAgW25zQ29va2llU3RvcmFnZSgpIF9zZXRDb29raWVzRGVsZXRlZEhhbmRs
ZXI6XihOU0FycmF5PE5TSFRUUENvb2tpZSAqPiAqLCBib29sIC8qZGVsZXRlZEFsbENvb2tpZXMq
LykgeworICAgICAgICAgICAgZm9yIChhdXRvJiBvYnNlcnZlcnMgOiBtX2Nvb2tpZUNoYW5nZU9i
c2VydmVycy52YWx1ZXMoKSkgeworICAgICAgICAgICAgICAgIGZvciAoYXV0byogb2JzZXJ2ZXIg
OiBvYnNlcnZlcnMpCisgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLT5hbGxDb29raWVzRGVs
ZXRlZCgpOworICAgICAgICAgICAgfQorICAgICAgICB9IG9uUXVldWU6ZGlzcGF0Y2hfZ2V0X21h
aW5fcXVldWUoKV07CisgICAgfQogfQogCiB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6dW5y
ZWdpc3RlckNvb2tpZUNoYW5nZUxpc3RlbmVyc0lmTmVjZXNzYXJ5KCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
Y3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5jcHAKaW5kZXggYzNjMDhhOWJlZjExNTJmNDdkNTMzMGVkYmQ3NzY5OGI2MmJiYjc1
MS4uN2Y5ODRiMTE0OGIzOGMwNmVlZDc1ZmU3MTMxOGIzODIzZjFjMjYzNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jcHAKQEAgLTY4MSw5ICs2ODEsMTQgQEAgdm9pZCBOZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzczo6Y29va2llc0FkZGVkKGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3Qg
VmVjdG8KICAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uOjpDb29raWVzQWRkZWQoaG9zdCwgY29va2llcyksIDApOwogfQogCi12b2lkIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjb29raWVzRGVsZXRlZCgpCit2b2lkIE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjb29raWVzRGVsZXRlZChjb25zdCBTdHJpbmcmIGhvc3Qs
IGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpDb29raWU+JiBjb29raWVzKQogewotICAgIGNvbm5lY3Rp
b24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OkNvb2tpZXNEZWxl
dGVkKCksIDApOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vz
c0Nvbm5lY3Rpb246OkNvb2tpZXNEZWxldGVkKGhvc3QsIGNvb2tpZXMpLCAwKTsKK30KKwordm9p
ZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6YWxsQ29va2llc0RlbGV0ZWQoKQorewor
ICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246
OkFsbENvb2tpZXNEZWxldGVkKCksIDApOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuaAppbmRleCBmNTZjN2RjZmNiYTBiNWU5MTIyZTg2MTlkYTQwMDJmNGI1MDkxOTM5Li5kMGMx
YTI1MzY4NDE0YzM3NDIzOGQ4MzhhOGY3ZDIyYzAxMTIzZWJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5oCkBAIC0yNzksNyArMjc5LDggQEAgcHJpdmF0ZToKIAogICAgIC8vIFdlYkNvcmU6OkNv
b2tpZUNoYW5nZU9ic2VydmVyLgogICAgIHZvaWQgY29va2llc0FkZGVkKGNvbnN0IFN0cmluZyYg
aG9zdCwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4mKSBmaW5hbDsKLSAgICB2b2lkIGNv
b2tpZXNEZWxldGVkKCkgZmluYWw7CisgICAgdm9pZCBjb29raWVzRGVsZXRlZChjb25zdCBTdHJp
bmcmIGhvc3QsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpDb29raWU+JikgZmluYWw7CisgICAgdm9p
ZCBhbGxDb29raWVzRGVsZXRlZCgpIGZpbmFsOwogI2VuZGlmCiAKICAgICBzdHJ1Y3QgUmVzb3Vy
Y2VOZXR3b3JrQWN0aXZpdHlUcmFja2VyIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4
IDJiYjQ3OWUzOWRlOWI2ZTk1N2YyOWNmYjdlZTg1MDY0YTAwZTU5MDguLmNjYmZjNDQyODM3MmMz
ZTA4NmQwYjhlNjkyNzQ1ODU3ZWEzODU2NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcApA
QCAtMjQxLDkgKzI0MSwxNCBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6Y29va2ll
c0FkZGVkKGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgVmVjdG9yPFdlYgogICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLmNvb2tpZUphcigpLmNvb2tpZXNBZGRlZChob3N0LCBjb29raWVzKTsK
IH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmNvb2tpZXNEZWxldGVkKCkKK3Zv
aWQgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpjb29raWVzRGVsZXRlZChjb25zdCBTdHJpbmcm
IGhvc3QsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpDb29raWU+JiBjb29raWVzKQogewotICAgIFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLmNvb2tpZUphcigpLmNvb2tpZXNEZWxldGVkKCk7CisgICAg
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuY29va2llSmFyKCkuY29va2llc0RlbGV0ZWQoaG9zdCwg
Y29va2llcyk7Cit9CisKK3ZvaWQgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjphbGxDb29raWVz
RGVsZXRlZCgpCit7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuY29va2llSmFyKCkuYWxs
Q29va2llc0RlbGV0ZWQoKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oCmluZGV4
IDc2ZDI2NjUyMGMyNjBkMTUzYjk0MWQ3MzliYzQ0OTAxOGM2ZTRhMzguLjU4MjgyYzYyYTY3MWZj
YTkxN2I2ODg3M2FhZWM4YTk2MzU3ZmRjMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oCkBAIC04
Niw3ICs4Niw4IEBAIHB1YmxpYzoKIAogI2lmIEhBVkUoQ09PS0lFX0NIQU5HRV9MSVNURU5FUl9B
UEkpCiAgICAgdm9pZCBjb29raWVzQWRkZWQoY29uc3QgU3RyaW5nJiBob3N0LCBjb25zdCBWZWN0
b3I8V2ViQ29yZTo6Q29va2llPiYpOwotICAgIHZvaWQgY29va2llc0RlbGV0ZWQoKTsKKyAgICB2
b2lkIGNvb2tpZXNEZWxldGVkKGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgVmVjdG9yPFdlYkNv
cmU6OkNvb2tpZT4mKTsKKyAgICB2b2lkIGFsbENvb2tpZXNEZWxldGVkKCk7CiAjZW5kaWYKIAog
cHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCA2
OTkzZmE3ZWY0NjBmNzU3NmQ2MWNmZTRiNjQzZDI5MGY4MmQ4ZDRjLi44NzJjM2ZiMDM4Y2U5MmQ1
NjRiMzcyODIyMzVhMzVmOTc5NWZlMDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
Lm1lc3NhZ2VzLmluCkBAIC0zMyw3ICszMyw4IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbiBMZWdhY3lSZWNlaXZlciB7CiAKICNpZiBIQVZFKENPT0tJRV9DSEFOR0VfTElT
VEVORVJfQVBJKQogICAgIENvb2tpZXNBZGRlZChTdHJpbmcgaG9zdCwgVmVjdG9yPHN0cnVjdCBX
ZWJDb3JlOjpDb29raWU+IGNvb2tpZXMpOwotICAgIENvb2tpZXNEZWxldGVkKCk7CisgICAgQ29v
a2llc0RlbGV0ZWQoU3RyaW5nIGhvc3QsIFZlY3RvcjxzdHJ1Y3QgV2ViQ29yZTo6Q29va2llPiBj
b29raWVzKTsKKyAgICBBbGxDb29raWVzRGVsZXRlZCgpOwogI2VuZGlmCiAKICAgICBDaGVja1By
b2Nlc3NMb2NhbFBvcnRGb3JBY3Rpdml0eShzdHJ1Y3QgV2ViQ29yZTo6TWVzc2FnZVBvcnRJZGVu
dGlmaWVyIHBvcnQpIC0+IChXZWJDb3JlOjpNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6SGFz
QWN0aXZpdHkgaGFzQWN0aXZpdHkpIEFzeW5jCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJDb29raWVDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJDb29raWVDYWNoZS5jcHAKaW5kZXggZjNlZDIwYzY0NTMzYWM3NGFi
NWJmYmQ3ZGEzYjM4Nzc4NWM5YzY3Ni4uN2Q0MjQ4OTk1N2NkNTg1ZTRhMWQyYWMzYTc2OTUxNzkx
ZWU3OGI3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
Q29va2llQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YkNvb2tpZUNhY2hlLmNwcApAQCAtNzYsNyArNzYsMTYgQEAgdm9pZCBXZWJDb29raWVDYWNoZTo6
Y29va2llc0FkZGVkKGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgVmVjdG9yPENvb2tpZT4mIGNv
b2sKICAgICAgICAgaW5NZW1vcnlTdG9yYWdlU2Vzc2lvbigpLnNldENvb2tpZShjb29raWUpOwog
fQogCi12b2lkIFdlYkNvb2tpZUNhY2hlOjpjb29raWVzRGVsZXRlZCgpCit2b2lkIFdlYkNvb2tp
ZUNhY2hlOjpjb29raWVzRGVsZXRlZChjb25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFZlY3RvcjxX
ZWJDb3JlOjpDb29raWU+JiBjb29raWVzKQoreworICAgIGlmICghbV9ob3N0c1dpdGhJbk1lbW9y
eVN0b3JhZ2UuY29udGFpbnMoaG9zdCkpCisgICAgICAgIHJldHVybjsKKworICAgIGZvciAoYXV0
byYgY29va2llIDogY29va2llcykKKyAgICAgICAgaW5NZW1vcnlTdG9yYWdlU2Vzc2lvbigpLmRl
bGV0ZUNvb2tpZShjb29raWUpOworfQorCit2b2lkIFdlYkNvb2tpZUNhY2hlOjphbGxDb29raWVz
RGVsZXRlZCgpCiB7CiAgICAgY2xlYXIoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvb2tpZUNhY2hlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJDb29raWVDYWNoZS5oCmluZGV4IDZkMGM0MTZlNTIwY2VkYzI0NmJl
MTJmYTUzZmJjZmU3ODZmMzU1NWQuLjVlNDM2YzA3OTJiMDFhMTFhNTc2NjdiNzJmMTdiNTdhOGNm
MDYzNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNv
b2tpZUNhY2hlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29v
a2llQ2FjaGUuaApAQCAtNDUsNyArNDUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDb29raWVz
RnJvbURPTShjb25zdCBVUkwmIGZpcnN0UGFydHksIGNvbnN0IFdlYkNvcmU6OlNhbWVTaXRlSW5m
byYsIGNvbnN0IFVSTCYsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgV2ViQ29yZTo6UGFnZUlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgY29va2llU3RyaW5nKTsKIAogICAgIHZvaWQgY29va2ll
c0FkZGVkKGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4m
KTsKLSAgICB2b2lkIGNvb2tpZXNEZWxldGVkKCk7CisgICAgdm9pZCBjb29raWVzRGVsZXRlZChj
b25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpDb29raWU+Jik7CisgICAg
dm9pZCBhbGxDb29raWVzRGVsZXRlZCgpOwogCiAgICAgdm9pZCBjbGVhcigpOwogICAgIHZvaWQg
Y2xlYXJGb3JIb3N0KGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29va2llSmFyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkNvb2tpZUphci5jcHAKaW5kZXggNWFiMzI0NWNjZDVkYWMxY2Y1MzFk
NGRlYjRkMGUxYTg1ZDA2OTFhNy4uNjYwMzBmN2IzZTRiMjJjZDQ5NjUxYjc0NTBiMjU4YzRkNDc4
OGY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29v
a2llSmFyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb29r
aWVKYXIuY3BwCkBAIC0xNjEsOSArMTYxLDE0IEBAIHZvaWQgV2ViQ29va2llSmFyOjpjb29raWVz
QWRkZWQoY29uc3QgU3RyaW5nJiBob3N0LCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6Q29va2llCiAg
ICAgbV9jYWNoZS5jb29raWVzQWRkZWQoaG9zdCwgY29va2llcyk7CiB9CiAKLXZvaWQgV2ViQ29v
a2llSmFyOjpjb29raWVzRGVsZXRlZCgpCit2b2lkIFdlYkNvb2tpZUphcjo6Y29va2llc0RlbGV0
ZWQoY29uc3QgU3RyaW5nJiBob3N0LCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6Q29va2llPiYgY29v
a2llcykKIHsKLSAgICBtX2NhY2hlLmNvb2tpZXNEZWxldGVkKCk7CisgICAgbV9jYWNoZS5jb29r
aWVzRGVsZXRlZChob3N0LCBjb29raWVzKTsKK30KKwordm9pZCBXZWJDb29raWVKYXI6OmFsbENv
b2tpZXNEZWxldGVkKCkKK3sKKyAgICBtX2NhY2hlLmFsbENvb2tpZXNEZWxldGVkKCk7CiB9CiAK
IHZvaWQgV2ViQ29va2llSmFyOjpjbGVhckNhY2hlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvb2tpZUphci5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViQ29va2llSmFyLmgKaW5kZXggZDJkOTQ0NmM2YTk3NzI1MjgxMWNl
M2NlYTg5ZjBkZjA3ZWY3YWVjYS4uYzkzZjViMWZhMDFkNzFhMTM3N2ZjMzRmMmFjYzc5OWU1ZDNm
ZmViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29v
a2llSmFyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29va2ll
SmFyLmgKQEAgLTQ4LDcgKzQ4LDggQEAgcHVibGljOgogICAgIHZvaWQgZGVsZXRlQ29va2llKGNv
bnN0IFdlYkNvcmU6OkRvY3VtZW50JiwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBjb29raWVO
YW1lKSBmaW5hbDsKIAogICAgIHZvaWQgY29va2llc0FkZGVkKGNvbnN0IFN0cmluZyYgaG9zdCwg
Y29uc3QgVmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4mKTsKLSAgICB2b2lkIGNvb2tpZXNEZWxldGVk
KCk7CisgICAgdm9pZCBjb29raWVzRGVsZXRlZChjb25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFZl
Y3RvcjxXZWJDb3JlOjpDb29raWU+Jik7CisgICAgdm9pZCBhbGxDb29raWVzRGVsZXRlZCgpOwog
CiBwcml2YXRlOgogICAgIFdlYkNvb2tpZUphcigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392484</attachid>
            <date>2020-03-04 14:26:02 -0800</date>
            <delta_ts>2020-03-04 15:28:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208594-20200304142601.patch</filename>
            <type>text/plain</type>
            <size>19119</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM2OTMyMTQxODIyMTY5
MjI0OTg2YjU0MzkxZDU5NmIyNjczMjFjZC4uNDM5YzRmZGVkOGEyYmE5YmVkNjA4MjQ5Yzc4NDY3
YjlhMzRhMzU4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTAzLTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRvcHQgbmV3IGFuZCBpbXBy
b3ZlZCBDRk5ldHdvcmsgU1BJIGZvciBjb29raWUgY2hhbmdlIG5vdGlmaWNhdGlvbnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODU5NAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNjAwNTMzMTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRvcHQgbmV3IGFuZCBpbXByb3ZlZCBDRk5ldHdvcmsgU1BJ
IGZvciBjb29raWUgY2hhbmdlIG5vdGlmaWNhdGlvbnMuIE5vdGlmaWNhdGlvbnMgYXJlIG5vdyBw
ZXIgZG9tYWluCisgICAgICAgIGFuZCB0aGUgZG9tYWluIG1hdGNoZXMgb25lIG9mIHRoZSBkb21h
aW5zIHdlIGxpc3RlbiBmb3IgY29va2llIGNoYW5nZXMgb24uCisKKyAgICAgICAgVGhpcyBhbHNv
IGZpeGVzIGEgYnVnIHdoZXJlIGh0dHBPbmx5IGNvb2tpZXMgd291bGQgYmUgc2VudCB0byB0aGUg
V2ViQ29udGVudCBwcm9jZXNzZXMgaW4gY29va2llIGNoYW5nZQorICAgICAgICBub3RpZmljYXRp
b25zLCBldmVuIHRob3VnaCB0aGUgV2ViUHJvY2Vzc2VzIGFyZSBub3QgaW50ZXJlc3RlZCBpbiB0
aG9zZS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9u
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Np
b25Db2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6cmVn
aXN0ZXJDb29raWVDaGFuZ2VMaXN0ZW5lcnNJZk5lY2Vzc2FyeSk6CisKIDIwMjAtMDMtMDQgIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEF2b2lkIGZ1bGwgc3R5
bGUgcmVzb2x1dGlvbiBvbiBFbGVtZW50Ojpmb2N1cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBk
NzIwNjFlODFjNGVmMGYzYTMyZTMwNThjZTI2YjBhOWI3NjcwYWVmLi5iMzBhMzk2YWUxNWE0Nzcy
NGM2MDYyYzE4Y2U2YTA5ZTc0NTE0OGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAyMC0wMy0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAg
ICAgIEFkb3B0IG5ldyBhbmQgaW1wcm92ZWQgQ0ZOZXR3b3JrIFNQSSBmb3IgY29va2llIGNoYW5n
ZSBub3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDg1OTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwMDUzMzEzPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBuZXcgQ0ZOZXR3
b3JrIFNQSS4KKworICAgICAgICAqIHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg6CisKIDIwMjAt
MDMtMDMgIEppdGVuIE1laHRhICA8am1laHRhQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCBI
VFRQIEFsdGVybmF0aXZlIFNlcnZpY2VzIFN0b3JhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTM1ZTBmNGE4ZGNm
YTlkMWQ2ODZlZDYxMmYzNmI3NjRmYTFhZTQxZC4uNGUxYWNkZmJkNTVmZTFmNWJmMGMwMDQ2NTZh
ZjlmOWM5ZTYyMWI5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAyMC0wMy0wNCAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEFkb3B0IG5ldyBhbmQgaW1w
cm92ZWQgQ0ZOZXR3b3JrIFNQSSBmb3IgY29va2llIGNoYW5nZSBub3RpZmljYXRpb25zCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg1OTQKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYwMDUzMzEzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkb3B0IG5ldyBhbmQgaW1wcm92ZWQgQ0ZOZXR3b3JrIFNQ
SSBmb3IgY29va2llIGNoYW5nZSBub3RpZmljYXRpb25zLiBOb3RpZmljYXRpb25zIGFyZSBub3cg
cGVyIGRvbWFpbgorICAgICAgICBhbmQgdGhlIGRvbWFpbiBtYXRjaGVzIG9uZSBvZiB0aGUgZG9t
YWlucyB3ZSBsaXN0ZW4gZm9yIGNvb2tpZSBjaGFuZ2VzIG9uLgorCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y29va2llc0RlbGV0ZWQpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6YWxsQ29va2llc0Rl
bGV0ZWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6
Y29va2llc0RlbGV0ZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b246OmFsbENvb2tpZXNEZWxldGVkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViQ29va2llQ2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVD
YWNoZTo6Y29va2llc0RlbGV0ZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVDYWNoZTo6
YWxsQ29va2llc0RlbGV0ZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb29r
aWVDYWNoZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb29raWVKYXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJDb29raWVKYXI6OmNvb2tpZXNEZWxldGVkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ29va2llSmFyOjphbGxDb29raWVzRGVsZXRlZCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvb2tpZUphci5oOgorCiAyMDIwLTAzLTA0ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJvcCBXZWJzaXRlRGF0YVN0b3Jl
Ojpwcm9jZXNzUG9vbHMoKSdzIGVuc3VyZUFQb29sRXhpc3RzIG9wdGlvbmFsIHBhcmFtZXRlciBh
bmQgYWRkIGEgZW5zdXJlUHJvY2Vzc1Bvb2xzKCkgbWV0aG9kIGluc3RlYWQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgKaW5kZXggYTlmZWMyZWM3NmI1MDQ0
NGI5MzkyNzYwYWQ1MTVhMDQzNDY3ODk3Yi4uMjJhMjRhN2JlYmFkMGE2MjcwMWE3OGFhZTRkZWZi
ZDE0YmFmZjRkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZO
ZXR3b3JrU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3Jr
U1BJLmgKQEAgLTQxNyw5ICs0MTcsMTIgQEAgV1RGX0VYVEVSTl9DX0VORAogQGludGVyZmFjZSBO
U0hUVFBDb29raWVTdG9yYWdlICgpCiArICh2b2lkKV9zZXRTaGFyZWRIVFRQQ29va2llU3RvcmFn
ZTooTlNIVFRQQ29va2llU3RvcmFnZSAqKXN0b3JhZ2U7CiAtICh2b2lkKV9zZXRTdWJzY3JpYmVk
RG9tYWluc0ZvckNvb2tpZUNoYW5nZXM6KE5TU2V0PE5TU3RyaW5nKj4qIF9fbnVsbGFibGUpZG9t
YWluTGlzdDsKKy0gKE5TQXJyYXkqIF9fbnVsbGFibGUpX2dldENvb2tpZXNGb3JEb21haW46KE5T
U3RyaW5nKilkb21haW47CistICh2b2lkKV9zZXRDb29raWVzQ2hhbmdlZEhhbmRsZXI6KHZvaWQo
Xl9fbnVsbGFibGUpKE5TQXJyYXk8TlNIVFRQQ29va2llKj4qIGFkZGVkQ29va2llcywgTlNTdHJp
bmcqIGRvbWFpbkZvckNoYW5nZWRDb29raWUpKWNvb2tpZXNDaGFuZ2VkSGFuZGxlciBvblF1ZXVl
OihkaXNwYXRjaF9xdWV1ZV90IF9fbnVsbGFibGUpcXVldWU7CistICh2b2lkKV9zZXRDb29raWVz
UmVtb3ZlZEhhbmRsZXI6KHZvaWQoXl9fbnVsbGFibGUpKE5TQXJyYXk8TlNIVFRQQ29va2llKj4q
IF9fbnVsbGFibGUgcmVtb3ZlZENvb2tpZXMsIE5TU3RyaW5nKiBfX251bGxhYmxlIGRvbWFpbkZv
clJlbW92ZWRDb29raWVzLCBib29sIHJlbW92ZUFsbENvb2tpZXMpKWNvb2tpZXNSZW1vdmVkSGFu
ZGxlciBvblF1ZXVlOihkaXNwYXRjaF9xdWV1ZV90IF9fbnVsbGFibGUpcXVldWU7CisvLyBGSVhN
RTogVGhlIGZvbGxvd2luZyAyIHNob3VsZCBiZSByZW1vdmVkIGFyZSBvbmx5IGtlcHQgdG8gZW5z
dXJlIHNtb290aCB0cmFuc2l0aW9uIHRvIHRoZSBuZXcgX3NldENvb2tpZXNDaGFuZ2VkSGFuZGxl
ciAvIF9zZXRDb29raWVzUmVtb3ZlZEhhbmRsZXIgU1BJLgogLSAodm9pZClfc2V0Q29va2llc0Fk
ZGVkSGFuZGxlcjoodm9pZCheX19udWxsYWJsZSkoTlNBcnJheTxOU0hUVFBDb29raWUqPiogYWRk
ZWRDb29raWVzLCBOU1VSTCogX19udWxsYWJsZSB1cmxGb3JBZGRlZENvb2tpZXMpKWNvb2tpZXNB
ZGRlZEhhbmRsZXIgb25RdWV1ZTooZGlzcGF0Y2hfcXVldWVfdCBfX251bGxhYmxlKXF1ZXVlOwog
LSAodm9pZClfc2V0Q29va2llc0RlbGV0ZWRIYW5kbGVyOih2b2lkKF5fX251bGxhYmxlKShOU0Fy
cmF5PE5TSFRUUENvb2tpZSo+KiBfX251bGxhYmxlIGRlbGV0ZWRDb29raWVzLCBib29sIGRlbGV0
ZWRBbGxDb29raWVzKSljb29raWVzRGVsZXRlZEhhbmRsZXIgb25RdWV1ZTooZGlzcGF0Y2hfcXVl
dWVfdCBfX251bGxhYmxlKXF1ZXVlOwotLSAoTlNBcnJheSogX19udWxsYWJsZSlfZ2V0Q29va2ll
c0ZvckRvbWFpbjooTlNTdHJpbmcqKWRvbWFpbjsKIEBlbmQKIAogQGludGVyZmFjZSBOU1VSTFJl
c3BvbnNlICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05l
dHdvcmtTdG9yYWdlU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9O
ZXR3b3JrU3RvcmFnZVNlc3Npb24uaAppbmRleCAxMTBjNjNkNDgyNDdkYTJmNjAwZWM5NzA1Nzdl
YWM0ODM1N2Q3YTMzLi4xOTZkMzk4Zjg1ZTE4OTQ3Mzk4OTcxZGIyYmRiYTU0NDI5MTZmYzhkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdl
U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0
b3JhZ2VTZXNzaW9uLmgKQEAgLTg2LDcgKzg2LDggQEAgY2xhc3MgQ29va2llQ2hhbmdlT2JzZXJ2
ZXIgewogcHVibGljOgogICAgIHZpcnR1YWwgfkNvb2tpZUNoYW5nZU9ic2VydmVyKCkgeyB9CiAg
ICAgdmlydHVhbCB2b2lkIGNvb2tpZXNBZGRlZChjb25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFZl
Y3RvcjxXZWJDb3JlOjpDb29raWU+JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBjb29raWVzRGVs
ZXRlZCgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY29va2llc0RlbGV0ZWQoY29uc3QgU3RyaW5n
JiBob3N0LCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6Q29va2llPiYpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgYWxsQ29va2llc0RlbGV0ZWQoKSA9IDA7CiB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya1N0b3JhZ2VTZXNz
aW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdv
cmtTdG9yYWdlU2Vzc2lvbkNvY29hLm1tCmluZGV4IDdhZWZlMDhhMjBhNmI3MTRjZWEzNWM3NGI4
OTIxMzAwMTZhOWQwMGMuLjI5MGUzNDE4ZDEzMzRjMGI1YTk3ZjJhNTkzM2MyMWY5ZWMxZDEyMmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29y
a1N0b3JhZ2VTZXNzaW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25Db2NvYS5tbQpAQCAtNTg0LDI2ICs1ODQs
NzIgQEAgdm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnJlZ2lzdGVyQ29va2llQ2hhbmdlTGlz
dGVuZXJzSWZOZWNlc3NhcnkoKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2RpZFJlZ2lzdGVy
Q29va2llTGlzdGVuZXJzID0gdHJ1ZTsKLSAgICBbbnNDb29raWVTdG9yYWdlKCkgX3NldENvb2tp
ZXNBZGRlZEhhbmRsZXI6XihOU0FycmF5PE5TSFRUUENvb2tpZSAqPiAqIG5zQ29va2llcywgTlNV
UkwgKnVybEZvckFkZGVkQ29va2llcykgewotICAgICAgICBWZWN0b3I8Q29va2llPiBjb29raWVz
ID0gbnNDb29raWVzVG9Db29raWVWZWN0b3IobnNDb29raWVzKTsKLSAgICAgICAgYXV0byBob3N0
ID0gVVJMKHVybEZvckFkZGVkQ29va2llcykuaG9zdCgpLnRvU3RyaW5nKCk7Ci0gICAgICAgIFJF
TEVBU0VfQVNTRVJUKCFob3N0LmlzTnVsbCgpKTsKLSAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMg
aW5lZmZpY2llbnQuIFVuZm9ydHVuYXRlbHksIENGTmV0d29yayBzZW5kcyB1cyBub3RpZmljYXRp
b25zIGZvciBob3N0cyB0aGF0IGRvIG5vdCBtYXRjaCBleGFjdGx5IHRoZSBvbmVzIHdlCi0gICAg
ICAgIC8vIGFyZSBsaXN0ZW5pbmcgZm9yIChlLmcuICdzZWN1cmUuaHVsdS5jb20gaW5zdGVhZCBv
ZiAnd3d3Lmh1bHUuY29tJyBmb3IpLiBTZWUgPHJkYXI6Ly9wcm9ibGVtLzU5OTczNjMwPi4KLSAg
ICAgICAgYXV0byByZWdpc3RyYWJsZURvbWFpbiA9IFJlZ2lzdHJhYmxlRG9tYWluOjp1bmNoZWNr
ZWRDcmVhdGVGcm9tSG9zdChob3N0KTsKLSAgICAgICAgZm9yIChhdXRvJiBwYWlyIDogbV9jb29r
aWVDaGFuZ2VPYnNlcnZlcnMpIHsKLSAgICAgICAgICAgIGlmIChSZWdpc3RyYWJsZURvbWFpbjo6
dW5jaGVja2VkQ3JlYXRlRnJvbUhvc3QocGFpci5rZXkpID09IHJlZ2lzdHJhYmxlRG9tYWluKSB7
Ci0gICAgICAgICAgICAgICAgZm9yIChhdXRvKiBvYnNlcnZlciA6IHBhaXIudmFsdWUpCi0gICAg
ICAgICAgICAgICAgICAgIG9ic2VydmVyLT5jb29raWVzQWRkZWQocGFpci5rZXksIGNvb2tpZXMp
OworCisgICAgaWYgKFtuc0Nvb2tpZVN0b3JhZ2UoKSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKF9zZXRDb29raWVzQ2hhbmdlZEhhbmRsZXI6b25RdWV1ZTopXSkgeworICAgICAgICBbbnND
b29raWVTdG9yYWdlKCkgX3NldENvb2tpZXNDaGFuZ2VkSGFuZGxlcjpeKE5TQXJyYXk8TlNIVFRQ
Q29va2llKj4qIGFkZGVkQ29va2llcywgTlNTdHJpbmcqIGRvbWFpbkZvckNoYW5nZWRDb29raWUp
IHsKKyAgICAgICAgICAgIFN0cmluZyBob3N0ID0gZG9tYWluRm9yQ2hhbmdlZENvb2tpZTsKKyAg
ICAgICAgICAgIGF1dG8gaXQgPSBtX2Nvb2tpZUNoYW5nZU9ic2VydmVycy5maW5kKGhvc3QpOwor
ICAgICAgICAgICAgaWYgKGl0ID09IG1fY29va2llQ2hhbmdlT2JzZXJ2ZXJzLmVuZCgpKQorICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGF1dG8gY29va2llcyA9IG5zQ29va2ll
c1RvQ29va2llVmVjdG9yKGFkZGVkQ29va2llcywgW10oTlNIVFRQQ29va2llICpjb29raWUpIHsg
cmV0dXJuICFjb29raWUuSFRUUE9ubHk7IH0pOworICAgICAgICAgICAgaWYgKGNvb2tpZXMuaXNF
bXB0eSgpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGZvciAoYXV0byog
b2JzZXJ2ZXIgOiBpdC0+dmFsdWUpCisgICAgICAgICAgICAgICAgb2JzZXJ2ZXItPmNvb2tpZXNB
ZGRlZChob3N0LCBjb29raWVzKTsKKyAgICAgICAgfSBvblF1ZXVlOmRpc3BhdGNoX2dldF9tYWlu
X3F1ZXVlKCldOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIE9sZCBTUEkuCisgICAgICAgIC8v
IEZJWE1FOiBUaGlzIGNvdWxkIGNhbiBiZSByZW1vdmVkIGFmdGVyIGEgd2hpbGUuIEl0IGlzIG9u
bHkga2VwdCB0byBlbnN1cmUgYSBzbW9vdGggdHJhbnNpdGlvbiB0byB0aGUgbmV3IFNQSS4KKyAg
ICAgICAgW25zQ29va2llU3RvcmFnZSgpIF9zZXRDb29raWVzQWRkZWRIYW5kbGVyOl4oTlNBcnJh
eTxOU0hUVFBDb29raWUgKj4gKiBuc0Nvb2tpZXMsIE5TVVJMICp1cmxGb3JBZGRlZENvb2tpZXMp
IHsKKyAgICAgICAgICAgIGF1dG8gY29va2llcyA9IG5zQ29va2llc1RvQ29va2llVmVjdG9yKG5z
Q29va2llcywgW10oTlNIVFRQQ29va2llICpjb29raWUpIHsgcmV0dXJuICFjb29raWUuSFRUUE9u
bHk7IH0pOworICAgICAgICAgICAgaWYgKGNvb2tpZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgIGF1dG8gaG9zdCA9IFVSTCh1cmxGb3JBZGRlZENvb2tp
ZXMpLmhvc3QoKS50b1N0cmluZygpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWhvc3Qu
aXNOdWxsKCkpOworICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgaW5lZmZpY2llbnQuIFVu
Zm9ydHVuYXRlbHksIENGTmV0d29yayBzZW5kcyB1cyBub3RpZmljYXRpb25zIGZvciBob3N0cyB0
aGF0IGRvIG5vdCBtYXRjaCBleGFjdGx5IHRoZSBvbmVzIHdlCisgICAgICAgICAgICAvLyBhcmUg
bGlzdGVuaW5nIGZvciAoZS5nLiAnc2VjdXJlLmh1bHUuY29tIGluc3RlYWQgb2YgJ3d3dy5odWx1
LmNvbScgZm9yKS4gU2VlIDxyZGFyOi8vcHJvYmxlbS81OTk3MzYzMD4uCisgICAgICAgICAgICBh
dXRvIHJlZ2lzdHJhYmxlRG9tYWluID0gUmVnaXN0cmFibGVEb21haW46OnVuY2hlY2tlZENyZWF0
ZUZyb21Ib3N0KGhvc3QpOworICAgICAgICAgICAgZm9yIChhdXRvJiBwYWlyIDogbV9jb29raWVD
aGFuZ2VPYnNlcnZlcnMpIHsKKyAgICAgICAgICAgICAgICBpZiAoUmVnaXN0cmFibGVEb21haW46
OnVuY2hlY2tlZENyZWF0ZUZyb21Ib3N0KHBhaXIua2V5KSA9PSByZWdpc3RyYWJsZURvbWFpbikg
eworICAgICAgICAgICAgICAgICAgICBmb3IgKGF1dG8qIG9ic2VydmVyIDogcGFpci52YWx1ZSkK
KyAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLT5jb29raWVzQWRkZWQocGFpci5rZXks
IGNvb2tpZXMpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIH0gb25RdWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpXTsKLSAgICBbbnNDb29raWVT
dG9yYWdlKCkgX3NldENvb2tpZXNEZWxldGVkSGFuZGxlcjpeKE5TQXJyYXk8TlNIVFRQQ29va2ll
ICo+ICosIGJvb2wgLypkZWxldGVkQWxsQ29va2llcyovKSB7Ci0gICAgICAgIGZvciAoYXV0byYg
b2JzZXJ2ZXJzIDogbV9jb29raWVDaGFuZ2VPYnNlcnZlcnMudmFsdWVzKCkpIHsKLSAgICAgICAg
ICAgIGZvciAoYXV0byogb2JzZXJ2ZXIgOiBvYnNlcnZlcnMpCi0gICAgICAgICAgICAgICAgb2Jz
ZXJ2ZXItPmNvb2tpZXNEZWxldGVkKCk7Ci0gICAgICAgIH0KLSAgICB9IG9uUXVldWU6ZGlzcGF0
Y2hfZ2V0X21haW5fcXVldWUoKV07CisgICAgICAgIH0gb25RdWV1ZTpkaXNwYXRjaF9nZXRfbWFp
bl9xdWV1ZSgpXTsKKyAgICB9CisKKyAgICBpZiAoW25zQ29va2llU3RvcmFnZSgpIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3NldENvb2tpZXNSZW1vdmVkSGFuZGxlcjpvblF1ZXVlOild
KSB7CisgICAgICAgIFtuc0Nvb2tpZVN0b3JhZ2UoKSBfc2V0Q29va2llc1JlbW92ZWRIYW5kbGVy
Ol4oTlNBcnJheTxOU0hUVFBDb29raWUqPiogcmVtb3ZlZENvb2tpZXMsIE5TU3RyaW5nKiBkb21h
aW5Gb3JSZW1vdmVkQ29va2llcywgYm9vbCByZW1vdmVBbGxDb29raWVzKQorICAgICAgICB7Cisg
ICAgICAgICAgICBpZiAocmVtb3ZlQWxsQ29va2llcykgeworICAgICAgICAgICAgICAgIGZvciAo
YXV0byYgb2JzZXJ2ZXJzIDogbV9jb29raWVDaGFuZ2VPYnNlcnZlcnMudmFsdWVzKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgZm9yIChhdXRvKiBvYnNlcnZlciA6IG9ic2VydmVycykKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLT5hbGxDb29raWVzRGVsZXRlZCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIFN0cmluZyBob3N0ID0gZG9tYWluRm9yUmVtb3ZlZENvb2tpZXM7CisgICAgICAg
ICAgICBhdXRvIGl0ID0gbV9jb29raWVDaGFuZ2VPYnNlcnZlcnMuZmluZChob3N0KTsKKyAgICAg
ICAgICAgIGlmIChpdCA9PSBtX2Nvb2tpZUNoYW5nZU9ic2VydmVycy5lbmQoKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGF1dG8gY29va2llcyA9IG5zQ29va2llc1Rv
Q29va2llVmVjdG9yKHJlbW92ZWRDb29raWVzLCBbXShOU0hUVFBDb29raWUgKmNvb2tpZSkgeyBy
ZXR1cm4gIWNvb2tpZS5IVFRQT25seTsgfSk7CisgICAgICAgICAgICBpZiAoY29va2llcy5pc0Vt
cHR5KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgZm9yIChhdXRvKiBv
YnNlcnZlciA6IGl0LT52YWx1ZSkKKyAgICAgICAgICAgICAgICBvYnNlcnZlci0+Y29va2llc0Rl
bGV0ZWQoaG9zdCwgY29va2llcyk7CisgICAgICAgIH0gb25RdWV1ZTpkaXNwYXRjaF9nZXRfbWFp
bl9xdWV1ZSgpXTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBPbGQgU1BJLgorICAgICAgICAv
LyBGSVhNRTogVGhpcyBjb3VsZCBjYW4gYmUgcmVtb3ZlZCBhZnRlciBhIHdoaWxlLiBJdCBpcyBv
bmx5IGtlcHQgdG8gZW5zdXJlIGEgc21vb3RoIHRyYW5zaXRpb24gdG8gdGhlIG5ldyBTUEkuCisg
ICAgICAgIFtuc0Nvb2tpZVN0b3JhZ2UoKSBfc2V0Q29va2llc0RlbGV0ZWRIYW5kbGVyOl4oTlNB
cnJheTxOU0hUVFBDb29raWUgKj4gKiwgYm9vbCAvKmRlbGV0ZWRBbGxDb29raWVzKi8pIHsKKyAg
ICAgICAgICAgIGZvciAoYXV0byYgb2JzZXJ2ZXJzIDogbV9jb29raWVDaGFuZ2VPYnNlcnZlcnMu
dmFsdWVzKCkpIHsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8qIG9ic2VydmVyIDogb2JzZXJ2
ZXJzKQorICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci0+YWxsQ29va2llc0RlbGV0ZWQoKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSBvblF1ZXVlOmRpc3BhdGNoX2dldF9tYWluX3F1ZXVl
KCldOworICAgIH0KIH0KIAogdm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnVucmVnaXN0ZXJD
b29raWVDaGFuZ2VMaXN0ZW5lcnNJZk5lY2Vzc2FyeSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
Y3BwCmluZGV4IGMzYzA4YTliZWYxMTUyZjQ3ZDUzMzBlZGJkNzc2OThiNjJiYmI3NTEuLjdmOTg0
YjExNDhiMzhjMDZlZWQ3NWZlNzEzMThiMzgyM2YxYzI2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuY3BwCkBAIC02ODEsOSArNjgxLDE0IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M6OmNvb2tpZXNBZGRlZChjb25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFZlY3RvCiAg
ICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6
Q29va2llc0FkZGVkKGhvc3QsIGNvb2tpZXMpLCAwKTsKIH0KIAotdm9pZCBOZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzczo6Y29va2llc0RlbGV0ZWQoKQordm9pZCBOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6Y29va2llc0RlbGV0ZWQoY29uc3QgU3RyaW5nJiBob3N0LCBjb25zdCBW
ZWN0b3I8V2ViQ29yZTo6Q29va2llPiYgY29va2llcykKIHsKLSAgICBjb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpDb29raWVzRGVsZXRlZCgpLCAw
KTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3NDb25uZWN0
aW9uOjpDb29raWVzRGVsZXRlZChob3N0LCBjb29raWVzKSwgMCk7Cit9CisKK3ZvaWQgTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmFsbENvb2tpZXNEZWxldGVkKCkKK3sKKyAgICBjb25u
ZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpBbGxDb29r
aWVzRGVsZXRlZCgpLCAwKTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5k
ZXggZjU2YzdkY2ZjYmEwYjVlOTEyMmU4NjE5ZGE0MDAyZjRiNTA5MTkzOS4uZDBjMWEyNTM2ODQx
NGMzNzQyMzhkODM4YThmN2QyMmMwMTEyM2ViZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApA
QCAtMjc5LDcgKzI3OSw4IEBAIHByaXZhdGU6CiAKICAgICAvLyBXZWJDb3JlOjpDb29raWVDaGFu
Z2VPYnNlcnZlci4KICAgICB2b2lkIGNvb2tpZXNBZGRlZChjb25zdCBTdHJpbmcmIGhvc3QsIGNv
bnN0IFZlY3RvcjxXZWJDb3JlOjpDb29raWU+JikgZmluYWw7Ci0gICAgdm9pZCBjb29raWVzRGVs
ZXRlZCgpIGZpbmFsOworICAgIHZvaWQgY29va2llc0RlbGV0ZWQoY29uc3QgU3RyaW5nJiBob3N0
LCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6Q29va2llPiYpIGZpbmFsOworICAgIHZvaWQgYWxsQ29v
a2llc0RlbGV0ZWQoKSBmaW5hbDsKICNlbmRpZgogCiAgICAgc3RydWN0IFJlc291cmNlTmV0d29y
a0FjdGl2aXR5VHJhY2tlciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCAyYmI0Nzll
MzlkZTliNmU5NTdmMjljZmI3ZWU4NTA2NGEwMGU1OTA4Li5jY2JmYzQ0MjgzNzJjM2UwODZkMGI4
ZTY5Mjc0NTg1N2VhMzg1NjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAKQEAgLTI0MSw5
ICsyNDEsMTQgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmNvb2tpZXNBZGRlZChj
b25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFZlY3RvcjxXZWIKICAgICBXZWJQcm9jZXNzOjpzaW5n
bGV0b24oKS5jb29raWVKYXIoKS5jb29raWVzQWRkZWQoaG9zdCwgY29va2llcyk7CiB9CiAKLXZv
aWQgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpjb29raWVzRGVsZXRlZCgpCit2b2lkIE5ldHdv
cmtQcm9jZXNzQ29ubmVjdGlvbjo6Y29va2llc0RlbGV0ZWQoY29uc3QgU3RyaW5nJiBob3N0LCBj
b25zdCBWZWN0b3I8V2ViQ29yZTo6Q29va2llPiYgY29va2llcykKIHsKLSAgICBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5jb29raWVKYXIoKS5jb29raWVzRGVsZXRlZCgpOworICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLmNvb2tpZUphcigpLmNvb2tpZXNEZWxldGVkKGhvc3QsIGNvb2tpZXMp
OworfQorCit2b2lkIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6YWxsQ29va2llc0RlbGV0ZWQo
KQoreworICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmNvb2tpZUphcigpLmFsbENvb2tpZXNE
ZWxldGVkKCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaAppbmRleCA3NmQyNjY1
MjBjMjYwZDE1M2I5NDFkNzM5YmM0NDkwMThjNmU0YTM4Li41ODI4MmM2MmE2NzFmY2E5MTdiNjg4
NzNhYWVjOGE5NjM1N2ZkYzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaApAQCAtODYsNyArODYs
OCBAQCBwdWJsaWM6CiAKICNpZiBIQVZFKENPT0tJRV9DSEFOR0VfTElTVEVORVJfQVBJKQogICAg
IHZvaWQgY29va2llc0FkZGVkKGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgVmVjdG9yPFdlYkNv
cmU6OkNvb2tpZT4mKTsKLSAgICB2b2lkIGNvb2tpZXNEZWxldGVkKCk7CisgICAgdm9pZCBjb29r
aWVzRGVsZXRlZChjb25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpDb29r
aWU+Jik7CisgICAgdm9pZCBhbGxDb29raWVzRGVsZXRlZCgpOwogI2VuZGlmCiAKIHByaXZhdGU6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0
d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggNjk5M2ZhN2Vm
NDYwZjc1NzZkNjFjZmU0YjY0M2QyOTBmODJkOGQ0Yy4uODcyYzNmYjAzOGNlOTJkNTY0YjM3Mjgy
MjM1YTM1Zjk3OTVmZTAyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdl
cy5pbgpAQCAtMzMsNyArMzMsOCBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24gTGVnYWN5UmVjZWl2ZXIgewogCiAjaWYgSEFWRShDT09LSUVfQ0hBTkdFX0xJU1RFTkVSX0FQ
SSkKICAgICBDb29raWVzQWRkZWQoU3RyaW5nIGhvc3QsIFZlY3RvcjxzdHJ1Y3QgV2ViQ29yZTo6
Q29va2llPiBjb29raWVzKTsKLSAgICBDb29raWVzRGVsZXRlZCgpOworICAgIENvb2tpZXNEZWxl
dGVkKFN0cmluZyBob3N0LCBWZWN0b3I8c3RydWN0IFdlYkNvcmU6OkNvb2tpZT4gY29va2llcyk7
CisgICAgQWxsQ29va2llc0RlbGV0ZWQoKTsKICNlbmRpZgogCiAgICAgQ2hlY2tQcm9jZXNzTG9j
YWxQb3J0Rm9yQWN0aXZpdHkoc3RydWN0IFdlYkNvcmU6Ok1lc3NhZ2VQb3J0SWRlbnRpZmllciBw
b3J0KSAtPiAoV2ViQ29yZTo6TWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI6Okhhc0FjdGl2aXR5
IGhhc0FjdGl2aXR5KSBBc3luYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViQ29va2llQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViQ29va2llQ2FjaGUuY3BwCmluZGV4IGYzZWQyMGM2NDUzM2FjNzRhYjViZmJkN2Rh
M2IzODc3ODVjOWM2NzYuLjdkNDI0ODk5NTdjZDU4NWU0YTFkMmFjM2E3Njk1MTc5MWVlNzhiNzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvb2tpZUNh
Y2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb29raWVD
YWNoZS5jcHAKQEAgLTc2LDcgKzc2LDE2IEBAIHZvaWQgV2ViQ29va2llQ2FjaGU6OmNvb2tpZXNB
ZGRlZChjb25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFZlY3RvcjxDb29raWU+JiBjb29rCiAgICAg
ICAgIGluTWVtb3J5U3RvcmFnZVNlc3Npb24oKS5zZXRDb29raWUoY29va2llKTsKIH0KIAotdm9p
ZCBXZWJDb29raWVDYWNoZTo6Y29va2llc0RlbGV0ZWQoKQordm9pZCBXZWJDb29raWVDYWNoZTo6
Y29va2llc0RlbGV0ZWQoY29uc3QgU3RyaW5nJiBob3N0LCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6
Q29va2llPiYgY29va2llcykKK3sKKyAgICBpZiAoIW1faG9zdHNXaXRoSW5NZW1vcnlTdG9yYWdl
LmNvbnRhaW5zKGhvc3QpKQorICAgICAgICByZXR1cm47CisKKyAgICBmb3IgKGF1dG8mIGNvb2tp
ZSA6IGNvb2tpZXMpCisgICAgICAgIGluTWVtb3J5U3RvcmFnZVNlc3Npb24oKS5kZWxldGVDb29r
aWUoY29va2llKTsKK30KKwordm9pZCBXZWJDb29raWVDYWNoZTo6YWxsQ29va2llc0RlbGV0ZWQo
KQogewogICAgIGNsZWFyKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJDb29raWVDYWNoZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViQ29va2llQ2FjaGUuaAppbmRleCA2ZDBjNDE2ZTUyMGNlZGMyNDZiZTEyZmE1M2Zi
Y2ZlNzg2ZjM1NTVkLi41ZTQzNmMwNzkyYjAxYTExYTU3NjY3YjcyZjE3YjU3YThjZjA2MzQwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb29raWVDYWNo
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvb2tpZUNhY2hl
LmgKQEAgLTQ1LDcgKzQ1LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q29va2llc0Zyb21ET00o
Y29uc3QgVVJMJiBmaXJzdFBhcnR5LCBjb25zdCBXZWJDb3JlOjpTYW1lU2l0ZUluZm8mLCBjb25z
dCBVUkwmLCBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIGNvb2tpZVN0cmluZyk7CiAKICAgICB2b2lkIGNvb2tpZXNBZGRlZChj
b25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpDb29raWU+Jik7Ci0gICAg
dm9pZCBjb29raWVzRGVsZXRlZCgpOworICAgIHZvaWQgY29va2llc0RlbGV0ZWQoY29uc3QgU3Ry
aW5nJiBob3N0LCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6Q29va2llPiYpOworICAgIHZvaWQgYWxs
Q29va2llc0RlbGV0ZWQoKTsKIAogICAgIHZvaWQgY2xlYXIoKTsKICAgICB2b2lkIGNsZWFyRm9y
SG9zdChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYkNvb2tpZUphci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJDb29raWVKYXIuY3BwCmluZGV4IDVhYjMyNDVjY2Q1ZGFjMWNmNTMxZDRkZWI0ZDBl
MWE4NWQwNjkxYTcuLjY2MDMwZjdiM2U0YjIyY2Q0OTY1MWI3NDUwYjI1OGM0ZDQ3ODhmNzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvb2tpZUphci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQ29va2llSmFyLmNw
cApAQCAtMTYxLDkgKzE2MSwxNCBAQCB2b2lkIFdlYkNvb2tpZUphcjo6Y29va2llc0FkZGVkKGNv
bnN0IFN0cmluZyYgaG9zdCwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OkNvb2tpZQogICAgIG1fY2Fj
aGUuY29va2llc0FkZGVkKGhvc3QsIGNvb2tpZXMpOwogfQogCi12b2lkIFdlYkNvb2tpZUphcjo6
Y29va2llc0RlbGV0ZWQoKQordm9pZCBXZWJDb29raWVKYXI6OmNvb2tpZXNEZWxldGVkKGNvbnN0
IFN0cmluZyYgaG9zdCwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4mIGNvb2tpZXMpCiB7
Ci0gICAgbV9jYWNoZS5jb29raWVzRGVsZXRlZCgpOworICAgIG1fY2FjaGUuY29va2llc0RlbGV0
ZWQoaG9zdCwgY29va2llcyk7Cit9CisKK3ZvaWQgV2ViQ29va2llSmFyOjphbGxDb29raWVzRGVs
ZXRlZCgpCit7CisgICAgbV9jYWNoZS5hbGxDb29raWVzRGVsZXRlZCgpOwogfQogCiB2b2lkIFdl
YkNvb2tpZUphcjo6Y2xlYXJDYWNoZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJDb29raWVKYXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkNvb2tpZUphci5oCmluZGV4IGQyZDk0NDZjNmE5NzcyNTI4MTFjZTNjZWE4OWYw
ZGYwN2VmN2FlY2EuLmM5M2Y1YjFmYTAxZDcxYTEzNzdmYzM0ZjJhY2M3OTllNWQzZmZlYjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvb2tpZUphci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvb2tpZUphci5oCkBA
IC00OCw3ICs0OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRlbGV0ZUNvb2tpZShjb25zdCBXZWJD
b3JlOjpEb2N1bWVudCYsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgY29va2llTmFtZSkgZmlu
YWw7CiAKICAgICB2b2lkIGNvb2tpZXNBZGRlZChjb25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFZl
Y3RvcjxXZWJDb3JlOjpDb29raWU+Jik7Ci0gICAgdm9pZCBjb29raWVzRGVsZXRlZCgpOworICAg
IHZvaWQgY29va2llc0RlbGV0ZWQoY29uc3QgU3RyaW5nJiBob3N0LCBjb25zdCBWZWN0b3I8V2Vi
Q29yZTo6Q29va2llPiYpOworICAgIHZvaWQgYWxsQ29va2llc0RlbGV0ZWQoKTsKIAogcHJpdmF0
ZToKICAgICBXZWJDb29raWVKYXIoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>