<?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>201480</bug_id>
          
          <creation_ts>2019-09-04 16:50:58 -0700</creation_ts>
          <short_desc>When disabling legacy private browsing for testing, change the SessionID back to what it was, not the defaultSessionID</short_desc>
          <delta_ts>2019-09-06 09:21:16 -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>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>
          
          <blocked>200050</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>berto</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>psaavedra</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1567914</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-04 16:50:58 -0700</bug_when>
    <thetext>When disabling legacy private browsing for testing, change the SessionID back to what it was, not the defaultSessionID</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567916</commentid>
    <comment_count>1</comment_count>
      <attachid>378028</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-04 16:59:28 -0700</bug_when>
    <thetext>Created attachment 378028
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568025</commentid>
    <comment_count>2</comment_count>
      <attachid>378028</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-09-04 23:51:21 -0700</bug_when>
    <thetext>Comment on attachment 378028
Patch

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

&gt; Source/WebCore/page/Page.h:940
&gt; +    const PAL::SessionID m_initialSessionID;

It is not great to add another sessionID just for testing.
We could replace Page::enableLegacyPrivateBrowsing by something like Page::setSessionIDForTesting.
InjectedBundle would then store the real session ID and switch back and forth.

That will unblock your work.
Ultimately, we will want to do a full fix as started in bug 201475.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568120</commentid>
    <comment_count>3</comment_count>
      <attachid>378082</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-05 07:52:30 -0700</bug_when>
    <thetext>Created attachment 378082
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568121</commentid>
    <comment_count>4</comment_count>
      <attachid>378083</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-05 08:00:16 -0700</bug_when>
    <thetext>Created attachment 378083
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568124</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-05 08:19:24 -0700</bug_when>
    <thetext>This should not break the linux build, but it does.  Could someone look into it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568230</commentid>
    <comment_count>6</comment_count>
      <attachid>378112</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2019-09-05 13:33:07 -0700</bug_when>
    <thetext>Created attachment 378112
WebKitGLibAPITests build fixes

WebKitGLibAPITests targets were throwing errors cause the WTF&apos;s config.h was used, which can&apos;t bring in the PAL export macros. Removing the WTF include flags avoids this, with WebKit&apos;s config.h getting used instead. This should be reworked further if TestWebKitAPI&apos;s config.h is ultimately preferred (which I&apos;ll ask about other people).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568324</commentid>
    <comment_count>7</comment_count>
      <attachid>378138</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-05 16:54:35 -0700</bug_when>
    <thetext>Created attachment 378138
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568373</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-05 20:28:26 -0700</bug_when>
    <thetext>Ready for review.  This is currently blocking what I&apos;m working on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568461</commentid>
    <comment_count>9</comment_count>
      <attachid>378138</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-09-06 02:41:25 -0700</bug_when>
    <thetext>Comment on attachment 378138
Patch

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

&gt; Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp:357
&gt; +    if (enabled) {

Might be clearer to have one big if(enabled) instead of several enabled checks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568534</commentid>
    <comment_count>10</comment_count>
      <attachid>378194</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-06 09:05:21 -0700</bug_when>
    <thetext>Created attachment 378194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568542</commentid>
    <comment_count>11</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-06 09:20:05 -0700</bug_when>
    <thetext>http://trac.webkit.org/r249575</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568544</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-06 09:21:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/55114467&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378028</attachid>
            <date>2019-09-04 16:59:28 -0700</date>
            <delta_ts>2019-09-05 07:52:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201480-20190904165928.patch</filename>
            <type>text/plain</type>
            <size>21364</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0OTQ5OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE5LTA5LTA0ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgV2hlbiBkaXNh
YmxpbmcgbGVnYWN5IHByaXZhdGUgYnJvd3NpbmcgZm9yIHRlc3RpbmcsIGNoYW5nZSB0aGUgU2Vz
c2lvbklEIGJhY2sgdG8gd2hhdCBpdCB3YXMsIG5vdCB0aGUgZGVmYXVsdFNlc3Npb25JRAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDgwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gY2hhbmdlIGlu
IGJlaGF2aW9yLCBidXQgdGhpcyBibG9ja3MgYnVnIDIwMDA1MCB3aGljaCB3aWxsIG1ha2UgV2Vi
S2l0VGVzdFJ1bm5lciB1c2UgYSBwZXJzaXN0ZW50LCBub24tZGVmYXVsdCBzZXNzaW9uLgorICAg
ICAgICBXaXRob3V0IHRoaXMgY2hhbmdlLCB0aGF0IGNoYW5nZSBjYXVzZXMgbG90cyBvZiB0ZXN0
IGZhaWx1cmVzIGJlY2F1c2Ugd2UgYXJlIHN3aXRjaGluZyBmcm9tIHRoZSBsZWdhY3kgcHJpdmF0
ZSBicm93c2luZyBzZXNzaW9uCisgICAgICAgIHRvIHRoZSBkZWZhdWx0IHNlc3Npb24gaW5zdGVh
ZCBvZiB0aGUgc2Vzc2lvbiB3ZSB3ZXJlIHVzaW5nLgorCisgICAgICAgICogbG9hZGVyL0VtcHR5
Q2xpZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0
eUNsaWVudHMpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlOjpQYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmVuYWJsZUxlZ2FjeVByaXZhdGVC
cm93c2luZyk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Ojppbml0aWFsU2Vzc2lvbklEIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDb25maWd1cmF0aW9uOjpQYWdlQ29uZmln
dXJhdGlvbik6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAq
IHN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjo6ZW5hYmxlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nRm9y
VGVzdGluZyk6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuaDoK
KwogMjAxOS0wOS0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJlbW92ZSB1bnVzZWQgU1BJIHRoYXQgYWNjZXNzZXMgTWVtb3J5Q2FjaGUg
ZGlyZWN0bHkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCShyZXZp
c2lvbiAyNDk0OTMpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTUwLDYgKzU1MCw3IEBAIGNsYXNzIEVtcHR5U3RvcmFnZVNlc3Np
b25Qcm92aWRlciA6IHB1YmwKIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uV2l0
aEVtcHR5Q2xpZW50cygpCiB7CiAgICAgUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRp
b24geworICAgICAgICBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpLAogICAgICAg
ICBtYWtlVW5pcXVlUmVmPEVtcHR5RWRpdG9yQ2xpZW50PigpLAogICAgICAgICBTb2NrZXRQcm92
aWRlcjo6Y3JlYXRlKCksCiAgICAgICAgIExpYldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGUoKSwKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcAkocmV2aXNpb24gMjQ5NDkzKQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYzLDcgKzI2Myw4IEBAIFBhZ2U6OlBh
Z2UoUGFnZUNvbmZpZ3VyYXRpb24mJiBwYWdlQ29uZmkKICAgICAsIG1fc3RvcmFnZU5hbWVzcGFj
ZVByb3ZpZGVyKCpXVEZNb3ZlKHBhZ2VDb25maWd1cmF0aW9uLnN0b3JhZ2VOYW1lc3BhY2VQcm92
aWRlcikpCiAgICAgLCBtX3VzZXJDb250ZW50UHJvdmlkZXIoKldURk1vdmUocGFnZUNvbmZpZ3Vy
YXRpb24udXNlckNvbnRlbnRQcm92aWRlcikpCiAgICAgLCBtX3Zpc2l0ZWRMaW5rU3RvcmUoKldU
Rk1vdmUocGFnZUNvbmZpZ3VyYXRpb24udmlzaXRlZExpbmtTdG9yZSkpCi0gICAgLCBtX3Nlc3Np
b25JRChQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKQorICAgICwgbV9zZXNzaW9u
SUQocGFnZUNvbmZpZ3VyYXRpb24uc2Vzc2lvbklEKQorICAgICwgbV9pbml0aWFsU2Vzc2lvbklE
KHBhZ2VDb25maWd1cmF0aW9uLnNlc3Npb25JRCkKICNpZiBFTkFCTEUoVklERU8pCiAgICAgLCBt
X3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyVXBkYXRlVGltZXIoKnRoaXMsICZQYWdlOjpwbGF5YmFj
a0NvbnRyb2xzTWFuYWdlclVwZGF0ZVRpbWVyRmlyZWQpCiAjZW5kaWYKQEAgLTE2NzgsMTAgKzE2
NzksNyBAQCB2b2lkIFBhZ2U6OnN0b3JhZ2VCbG9ja2luZ1N0YXRlQ2hhbmdlZCgpCiAKIHZvaWQg
UGFnZTo6ZW5hYmxlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZCkKIHsKLSAgICAvLyBEb24ndCBhbGxvdyBjaGFuZ2luZyB0aGUgbGVnYWN5IHByaXZhdGUg
YnJvd3Npbmcgc3RhdGUgaWYgd2UgaGF2ZSBzZXQgYSBzZXNzaW9uIElELgotICAgIEFTU0VSVCht
X3Nlc3Npb25JRCA9PSBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpIHx8IG1fc2Vz
c2lvbklEID09IFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQcml2YXRlU2Vzc2lvbklEKCkpOwotCi0g
ICAgc2V0U2Vzc2lvbklEKHByaXZhdGVCcm93c2luZ0VuYWJsZWQgPyBQQUw6OlNlc3Npb25JRDo6
bGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpIDogUEFMOjpTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9u
SUQoKSk7CisgICAgc2V0U2Vzc2lvbklEKHByaXZhdGVCcm93c2luZ0VuYWJsZWQgPyBQQUw6OlNl
c3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpIDogbV9pbml0aWFsU2Vzc2lvbklEKTsK
IH0KIAogdm9pZCBQYWdlOjp1cGRhdGVJc1BsYXlpbmdNZWRpYSh1aW50NjRfdCBzb3VyY2VFbGVt
ZW50SUQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkocmV2aXNpb24gMjQ5NDkzKQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwNiw2ICs2MDYsNyBAQCBwdWJs
aWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRWaXNpdGVkTGlua1N0b3JlKFJlZjxWaXNp
dGVkTGlua1N0b3JlPiYmKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFBBTDo6U2Vzc2lvbklEIHNl
c3Npb25JRCgpIGNvbnN0OworICAgIGNvbnN0IFBBTDo6U2Vzc2lvbklEJiBpbml0aWFsU2Vzc2lv
bklEKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFsU2Vzc2lvbklEOyB9CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRTZXNzaW9uSUQoUEFMOjpTZXNzaW9uSUQpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgZW5hYmxlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nKGJvb2wgcHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZCk7CiAgICAgYm9vbCB1c2VzRXBoZW1lcmFsU2Vzc2lvbigpIGNvbnN0IHsgcmV0dXJu
IG1fc2Vzc2lvbklELmlzRXBoZW1lcmFsKCk7IH0KQEAgLTkzNiw2ICs5MzcsNyBAQCBwcml2YXRl
OgogI2VuZGlmCiAKICAgICBQQUw6OlNlc3Npb25JRCBtX3Nlc3Npb25JRDsKKyAgICBjb25zdCBQ
QUw6OlNlc3Npb25JRCBtX2luaXRpYWxTZXNzaW9uSUQ7CiAKICAgICBib29sIG1faXNDbG9zaW5n
IHsgZmFsc2UgfTsKICAgICBib29sIG1faXNSZXN0b3JpbmdDYWNoZWRQYWdlIHsgZmFsc2UgfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCShyZXZpc2lv
biAyNDk0OTMpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTEsMTMgKzUxLDE0IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFVuaXF1ZVJlZjxFZGl0b3JD
bGllbnQ+JiYgZWRpdG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYgc29ja2V0UHJvdmlk
ZXIsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQcm92aWRlciwgUmVm
PENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVyLCBSZWY8QmFja0Zv
cndhcmRDbGllbnQ+JiYgYmFja0ZvcndhcmRDbGllbnQsIFJlZjxDb29raWVKYXI+JiYgY29va2ll
SmFyKQorUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklE
IHNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGllbnQsIFJlZjxT
b2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldlYlJUQ1Byb3Zp
ZGVyPiYmIGxpYldlYlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlkZXI+JiYgY2Fj
aGVTdG9yYWdlUHJvdmlkZXIsIFJlZjxCYWNrRm9yd2FyZENsaWVudD4mJiBiYWNrRm9yd2FyZENs
aWVudCwgUmVmPENvb2tpZUphcj4mJiBjb29raWVKYXIpCiAgICAgOiBlZGl0b3JDbGllbnQoV1RG
TW92ZShlZGl0b3JDbGllbnQpKQogICAgICwgc29ja2V0UHJvdmlkZXIoV1RGTW92ZShzb2NrZXRQ
cm92aWRlcikpCiAgICAgLCBsaWJXZWJSVENQcm92aWRlcihXVEZNb3ZlKGxpYldlYlJUQ1Byb3Zp
ZGVyKSkKICAgICAsIGJhY2tGb3J3YXJkQ2xpZW50KFdURk1vdmUoYmFja0ZvcndhcmRDbGllbnQp
KQogICAgICwgY29va2llSmFyKFdURk1vdmUoY29va2llSmFyKSkKICAgICAsIGNhY2hlU3RvcmFn
ZVByb3ZpZGVyKFdURk1vdmUoY2FjaGVTdG9yYWdlUHJvdmlkZXIpKQorICAgICwgc2Vzc2lvbklE
KHNlc3Npb25JRCkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmln
dXJhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3Vy
YXRpb24uaAkocmV2aXNpb24gMjQ5NDkzKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29u
ZmlndXJhdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEg
b25jZQogCisjaW5jbHVkZSA8cGFsL1Nlc3Npb25JRC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KQEAgLTY3LDcgKzY4LDcgQEAgY2xhc3MgU3BlZWNoU3ludGhlc2lzQ2xpZW50OwogY2xhc3Mg
UGFnZUNvbmZpZ3VyYXRpb24gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDb25maWd1
cmF0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9F
WFBPUlQgUGFnZUNvbmZpZ3VyYXRpb24oVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNv
Y2tldFByb3ZpZGVyPiYmLCBVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYsIFJlZjxDYWNo
ZVN0b3JhZ2VQcm92aWRlcj4mJiwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmLCBSZWY8Q29va2ll
SmFyPiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Np
b25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiwgUmVmPFNvY2tldFByb3ZpZGVyPiYmLCBV
bmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+JiYsIFJlZjxDYWNoZVN0b3JhZ2VQcm92aWRlcj4m
JiwgUmVmPEJhY2tGb3J3YXJkQ2xpZW50PiYmLCBSZWY8Q29va2llSmFyPiYmKTsKICAgICBXRUJD
T1JFX0VYUE9SVCB+UGFnZUNvbmZpZ3VyYXRpb24oKTsKICAgICBQYWdlQ29uZmlndXJhdGlvbihQ
YWdlQ29uZmlndXJhdGlvbiYmKTsKIApAQCAtMTE2LDYgKzExNyw3IEBAIHB1YmxpYzoKICAgICBS
ZWZQdHI8U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyPiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI7
CiAgICAgUmVmUHRyPFVzZXJDb250ZW50UHJvdmlkZXI+IHVzZXJDb250ZW50UHJvdmlkZXI7CiAg
ICAgUmVmUHRyPFZpc2l0ZWRMaW5rU3RvcmU+IHZpc2l0ZWRMaW5rU3RvcmU7CisgICAgUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklEOwogfTsKIAogfQpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmNwcAkocmV2aXNpb24gMjQ5NDkz
KQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC04Miw5ICs4Miw5IEBAIFN0b3JhZ2VOYW1lc3BhY2UmIFN0b3Jh
Z2VOYW1lc3BhY2VQcm92aWQKICAgICByZXR1cm4gKnNsb3Q7CiB9CiAKLXZvaWQgU3RvcmFnZU5h
bWVzcGFjZVByb3ZpZGVyOjplbmFibGVMZWdhY3lQcml2YXRlQnJvd3NpbmdGb3JUZXN0aW5nKGJv
b2wgZW5hYmxlZCkKK3ZvaWQgU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyOjplbmFibGVMZWdhY3lQ
cml2YXRlQnJvd3NpbmdGb3JUZXN0aW5nKGJvb2wgZW5hYmxlZCwgY29uc3QgUEFMOjpTZXNzaW9u
SUQmIGluaXRpYWxTZXNzaW9uSUQpCiB7Ci0gICAgYXV0byBuZXdTZXNzaW9uSUQgPSBlbmFibGVk
ID8gUEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSA6IFBBTDo6U2Vzc2lv
bklEOjpkZWZhdWx0U2Vzc2lvbklEKCk7CisgICAgYXV0byBuZXdTZXNzaW9uSUQgPSBlbmFibGVk
ID8gUEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSA6IGluaXRpYWxTZXNz
aW9uSUQ7CiAgICAgaWYgKG1fbG9jYWxTdG9yYWdlTmFtZXNwYWNlICYmIG5ld1Nlc3Npb25JRCAh
PSBtX2xvY2FsU3RvcmFnZU5hbWVzcGFjZS0+c2Vzc2lvbklEKCkpCiAgICAgICAgIG1fbG9jYWxT
dG9yYWdlTmFtZXNwYWNlLT5zZXRTZXNzaW9uSURGb3JUZXN0aW5nKG5ld1Nlc3Npb25JRCk7CiAg
ICAgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VQcm92aWRl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFj
ZVByb3ZpZGVyLmgJKHJldmlzaW9uIDI0OTQ5MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcg
QEAgcHVibGljOgogCiAgICAgUmVmPFN0b3JhZ2VBcmVhPiBsb2NhbFN0b3JhZ2VBcmVhKERvY3Vt
ZW50Jik7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVuYWJsZUxlZ2FjeVByaXZhdGVCcm93
c2luZ0ZvclRlc3RpbmcoYm9vbCBlbmFibGVkKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVu
YWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZ0ZvclRlc3RpbmcoYm9vbCBlbmFibGVkLCBjb25zdCBQ
QUw6OlNlc3Npb25JRCYgaW5pdGlhbFNlc3Npb25JRCk7CiAKIHByb3RlY3RlZDoKICAgICBTdG9y
YWdlTmFtZXNwYWNlKiBvcHRpb25hbExvY2FsU3RvcmFnZU5hbWVzcGFjZSgpIHsgcmV0dXJuIG1f
bG9jYWxTdG9yYWdlTmFtZXNwYWNlLmdldCgpOyB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjQ5
NTAwKQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyMiBAQAorMjAxOS0wOS0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIFdoZW4gZGlzYWJsaW5nIGxlZ2FjeSBwcml2YXRlIGJyb3dzaW5n
IGZvciB0ZXN0aW5nLCBjaGFuZ2UgdGhlIFNlc3Npb25JRCBiYWNrIHRvIHdoYXQgaXQgd2FzLCBu
b3QgdGhlIGRlZmF1bHRTZXNzaW9uSUQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMTQ4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgY2hhbmdlIHJlcXVpcmVkIGEgY2hhbmdlIGluIHRoZSBzaWdu
YXR1cmUgb2YgV0tCdW5kbGVTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkLAorICAgICAgICB3aGlj
aCBpcyBvbmx5IHVzZWQgZm9yIHRlc3Rpbmcgc28gd2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91
dCBiaW5hcnkgY29tcGF0aWJpbGl0eS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwOgorICAgICAgICAoV0tCdW5kbGVTZXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6c2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV90ZXh0QXV0b1NpemluZ0FkanVzdG1lbnRUaW1l
cik6CisKIDIwMTktMDktMDQgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgbWFjQ2F0YWx5c3Q6IFJlLWVuYWJsZSBpT1MgV0tXZWJWaWV3IHByaW50aW5n
IEFQSQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCShyZXZpc2lvbiAyNDk0OTMpCisrKyBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zNDYsNyArMzQ2LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0
SmF2YVNjcmlwdENhbkFjYwogICAgICAgICAoKml0ZXIpLT5zZXR0aW5ncygpLnNldEphdmFTY3Jp
cHRDYW5BY2Nlc3NDbGlwYm9hcmQoZW5hYmxlZCk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGU6
OnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VHcm91cCwg
Ym9vbCBlbmFibGVkKQordm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0UHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZChXZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwLCBXZWJQYWdlKiBwYWdlLCBib29sIGVu
YWJsZWQpCiB7CiAgICAgQVNTRVJUKCFoYXNQcm9jZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxl
Z2U6OkNhbkFjY2Vzc1Jhd0Nvb2tpZXMpKTsKICAgICBpZiAoZW5hYmxlZCkKQEAgLTM1NSw3ICsz
NTUsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRQcml2YXRlQnJvd3NpbmdFCiAgICAgUGFn
ZUdyb3VwOjpwYWdlR3JvdXAocGFnZUdyb3VwLT5pZGVudGlmaWVyKCkpLT5lbmFibGVMZWdhY3lQ
cml2YXRlQnJvd3NpbmdGb3JUZXN0aW5nKGVuYWJsZWQpOwogCiAgICAgYXV0byB3ZWJTdG9yYWdl
TmFtZVNwYWNlUHJvdmlkZXIgPSBXZWJTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI6OmdldE9yQ3Jl
YXRlKCpwYWdlR3JvdXApOwotICAgIHdlYlN0b3JhZ2VOYW1lU3BhY2VQcm92aWRlci0+ZW5hYmxl
TGVnYWN5UHJpdmF0ZUJyb3dzaW5nRm9yVGVzdGluZyhlbmFibGVkKTsKKyAgICB3ZWJTdG9yYWdl
TmFtZVNwYWNlUHJvdmlkZXItPmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZ0ZvclRlc3Rpbmco
ZW5hYmxlZCwgcGFnZS0+Y29yZVBhZ2UoKS0+aW5pdGlhbFNlc3Npb25JRCgpKTsKIH0KIAogdm9p
ZCBJbmplY3RlZEJ1bmRsZTo6c2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJv
eHkqIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgJKHJldmlz
aW9uIDI0OTQ5MykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsNyArMTA0LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0QXN5bmNGcmFtZVNjcm9sbGluZ0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJv
eHkqLCBib29sKTsKICAgICB2b2lkIHNldFBsdWdpbnNFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5
KiwgYm9vbCk7CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKFdlYlBh
Z2VHcm91cFByb3h5KiwgYm9vbCk7Ci0gICAgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdFbmFibGVk
KFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7CisgICAgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdF
bmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiwgV2ViUGFnZSosIGJvb2wpOwogICAgIHZvaWQgc2V0
UG9wdXBCbG9ja2luZ0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKICAgICB2b2lk
IHNldEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7
CiAgICAgdm9pZCBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkq
LCBib29sKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAkocmV2aXNpb24gMjQ5NDkzKQorKysg
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDkgKzE2Niw5IEBAIHZvaWQgV0tCdW5kbGVTZXRKYXZh
U2NyaXB0Q2FuQWNjZXNzQ2xpcGIKICAgICBXZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5zZXRK
YXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKFdlYktpdDo6dG9JbXBsKHBhZ2VHcm91cFJlZiks
IGVuYWJsZWQpOwogfQogCi12b2lkIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChX
S0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZiwg
Ym9vbCBlbmFibGVkKQordm9pZCBXS0J1bmRsZVNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoV0tC
dW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIFdL
QnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBib29sIGVuYWJsZWQpCiB7Ci0gICAgV2ViS2l0Ojp0b0lt
cGwoYnVuZGxlUmVmKS0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXZWJLaXQ6OnRvSW1wbChw
YWdlR3JvdXBSZWYpLCBlbmFibGVkKTsKKyAgICBXZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5z
ZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdlYktpdDo6dG9JbXBsKHBhZ2VHcm91cFJlZiksIFdl
YktpdDo6dG9JbXBsKHBhZ2VSZWYpLCBlbmFibGVkKTsKIH0KIAogdm9pZCBXS0J1bmRsZVNldFBv
cHVwQmxvY2tpbmdFbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3Jv
dXBSZWYgcGFnZUdyb3VwUmVmLCBib29sIGVuYWJsZWQpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUHJpdmF0ZS5oCShyZXZpc2lvbiAyNDk0OTMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ5LDcgKzQ5LDcgQEAgV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRBbGxvd1N0b3JhZ2VB
YwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRNaW5pbXVtTG9naWNhbEZvbnRTaXplKFdLQnVu
ZGxlUmVmIGJ1bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmLCBpbnQg
c2l6ZSk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
V0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wg
ZW5hYmxlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEphdmFTY3JpcHRDYW5BY2Nlc3ND
bGlwYm9hcmQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3Jv
dXAsIGJvb2wgZW5hYmxlZCk7Ci1XS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdl
R3JvdXAsIGJvb2wgZW5hYmxlZCk7CitXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldFByaXZhdGVC
cm93c2luZ0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBw
YWdlR3JvdXAsIFdLQnVuZGxlUGFnZVJlZiwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lk
IFdLQnVuZGxlU2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1
bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgdm9p
ZCBXS0J1bmRsZVNldEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRs
ZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwogV0tfRVhQ
T1JUIHZvaWQgV0tCdW5kbGVTZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoV0tCdW5kbGVSZWYg
YnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2
aXNpb24gMjQ5NDkzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0Myw2ICs0NDMsNyBAQCBXZWJQYWdlOjpXZWJQYWdl
KFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgCiAjZW5kaWYKIAogICAgIFBhZ2VDb25maWd1cmF0aW9u
IHBhZ2VDb25maWd1cmF0aW9uKAorICAgICAgICBwYXJhbWV0ZXJzLnNlc3Npb25JRCwKICAgICAg
ICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHRoaXMpLAogICAgICAgICBXZWJTb2Nr
ZXRQcm92aWRlcjo6Y3JlYXRlKCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViS2l0OjpMaWJX
ZWJSVENQcm92aWRlcj4oKSwKQEAgLTUwMyw4ICs1MDQsNiBAQCBXZWJQYWdlOjpXZWJQYWdlKFBh
Z2VJZGVudGlmaWVyIHBhZ2VJRCwgCiAKICAgICBtX3BhZ2UgPSBtYWtlVW5pcXVlPFBhZ2U+KFdU
Rk1vdmUocGFnZUNvbmZpZ3VyYXRpb24pKTsKIAotICAgIHNldFNlc3Npb25JRChwYXJhbWV0ZXJz
LnNlc3Npb25JRCk7Ci0KICAgICB1cGRhdGVQcmVmZXJlbmNlcyhwYXJhbWV0ZXJzLnN0b3JlKTsK
IAogICAgIG1fYmFja2dyb3VuZENvbG9yID0gcGFyYW1ldGVycy5iYWNrZ3JvdW5kQ29sb3I7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk0OTgpCisrKyBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NSBAQAorMjAxOS0wOS0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQu
b3JnPgorCisgICAgICAgIFdoZW4gZGlzYWJsaW5nIGxlZ2FjeSBwcml2YXRlIGJyb3dzaW5nIGZv
ciB0ZXN0aW5nLCBjaGFuZ2UgdGhlIFNlc3Npb25JRCBiYWNrIHRvIHdoYXQgaXQgd2FzLCBub3Qg
dGhlIGRlZmF1bHRTZXNzaW9uSUQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwMTQ4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9j
b21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAo
LVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1lbnRXaXRoU3R5bGU6ZnJhbWU6cHJlZmVyZW5j
ZXM6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6
XSk6CisKIDIwMTktMDktMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBSZW1vdmUgdW51c2VkIFNQSSB0aGF0IGFjY2Vzc2VzIE1lbW9yeUNh
Y2hlIGRpcmVjdGx5CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCShyZXZpc2lvbiAyNDk0OTMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTE0MjgsNiArMTQyOCw3IEBAIC0gKHZv
aWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmEKIAogICAgIGF1dG8gc3RvcmFnZVBy
b3ZpZGVyID0gUGFnZVN0b3JhZ2VTZXNzaW9uUHJvdmlkZXI6OmNyZWF0ZSgpOwogICAgIFBhZ2VD
b25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uKAorICAgICAgICBQQUw6OlNlc3Npb25JRDo6
ZGVmYXVsdFNlc3Npb25JRCgpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVu
dD4oc2VsZiksCiAgICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKICAgICAgICAgTGli
V2ViUlRDUHJvdmlkZXI6OmNyZWF0ZSgpLApAQCAtMTY5Niw2ICsxNjk3LDcgQEAgLSAoaWQpaW5p
dFNpbXBsZUhUTUxEb2N1bWVudFdpdGhTdHlsZTooTgogCiAgICAgYXV0byBzdG9yYWdlUHJvdmlk
ZXIgPSBQYWdlU3RvcmFnZVNlc3Npb25Qcm92aWRlcjo6Y3JlYXRlKCk7CiAgICAgUGFnZUNvbmZp
Z3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24oCisgICAgICAgIFBBTDo6U2Vzc2lvbklEOjpkZWZh
dWx0U2Vzc2lvbklEKCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViRWRpdG9yQ2xpZW50Pihz
ZWxmKSwKICAgICAgICAgU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgpLAogICAgICAgICBMaWJXZWJS
VENQcm92aWRlcjo6Y3JlYXRlKCksCkBAIC0yODg5LDcgKzI4OTEsNyBAQCAtICh2b2lkKV9wcmVm
ZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAgICAgc2V0dGluZ3Muc2V0TG9jYWxTdG9yYWdl
RW5hYmxlZChbcHJlZmVyZW5jZXMgbG9jYWxTdG9yYWdlRW5hYmxlZF0pOwogCiAgICAgX3ByaXZh
dGUtPnBhZ2UtPmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZyhbcHJlZmVyZW5jZXMgcHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZF0pOwotICAgIF9wcml2YXRlLT5ncm91cC0+c3RvcmFnZU5hbWVzcGFj
ZVByb3ZpZGVyKCkuZW5hYmxlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nRm9yVGVzdGluZyhbcHJlZmVy
ZW5jZXMgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pOworICAgIF9wcml2YXRlLT5ncm91cC0+c3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyKCkuZW5hYmxlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nRm9yVGVz
dGluZyhbcHJlZmVyZW5jZXMgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0sIFBBTDo6U2Vzc2lvbklE
OjpkZWZhdWx0U2Vzc2lvbklEKCkpOwogICAgIHNldHRpbmdzLnNldFNhbnNTZXJpZkZvbnRGYW1p
bHkoW3ByZWZlcmVuY2VzIHNhbnNTZXJpZkZvbnRGYW1pbHldKTsKICAgICBzZXR0aW5ncy5zZXRT
ZXJpZkZvbnRGYW1pbHkoW3ByZWZlcmVuY2VzIHNlcmlmRm9udEZhbWlseV0pOwogICAgIHNldHRp
bmdzLnNldFN0YW5kYXJkRm9udEZhbWlseShbcHJlZmVyZW5jZXMgc3RhbmRhcmRGb250RmFtaWx5
XSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDk0OTMpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxMyBAQAorMjAxOS0wOS0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgorCisgICAgICAgIFdoZW4gZGlzYWJsaW5nIGxlZ2FjeSBwcml2YXRlIGJyb3dz
aW5nIGZvciB0ZXN0aW5nLCBjaGFuZ2UgdGhlIFNlc3Npb25JRCBiYWNrIHRvIHdoYXQgaXQgd2Fz
LCBub3QgdGhlIGRlZmF1bHRTZXNzaW9uSUQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMTQ4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojppbml0
V2l0aEZyYW1lKToKKwogMjAxOS0wOS0wMyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIHJlZHVuZGFudCBwYWludGluZyBwaGFzZSBhcmd1bWVudHMg
ZnJvbSBHcmFwaGljc0xheWVyQ2xpZW50IGZ1bmN0aW9ucwpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViVmlldy5jcHAJKHJldmlzaW9uIDI0OTQ5MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMTAxLDYgKzMxMDEsNyBAQCBIUkVT
VUxUIFdlYlZpZXc6OmluaXRXaXRoRnJhbWUoUkVDVCBmcmFtCiAKICAgICBhdXRvIHN0b3JhZ2VQ
cm92aWRlciA9IFBhZ2VTdG9yYWdlU2Vzc2lvblByb3ZpZGVyOjpjcmVhdGUoKTsKICAgICBQYWdl
Q29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKAorICAgICAgICBQQUw6OlNlc3Npb25JRDo6ZGVm
YXVsdFNlc3Npb25JRCgpLAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4o
dGhpcyksCiAgICAgICAgIFNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKICAgICAgICAgbWFrZVVu
aXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4oKSwKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0OTUwNCkKKysrIFRvb2xzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA5LTA0ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgV2hlbiBk
aXNhYmxpbmcgbGVnYWN5IHByaXZhdGUgYnJvd3NpbmcgZm9yIHRlc3RpbmcsIGNoYW5nZSB0aGUg
U2Vzc2lvbklEIGJhY2sgdG8gd2hhdCBpdCB3YXMsIG5vdCB0aGUgZGVmYXVsdFNlc3Npb25JRAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDgwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdU
Ujo6SW5qZWN0ZWRCdW5kbGU6OmJlZ2luVGVzdGluZyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1
bm5lcjo6c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisKIDIwMTktMDktMDQgIEpvbmF0aGFu
IEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIHJ1bi1hcGktdGVzdHM6IEFk
ZCBzdXBwb3J0IGZvciBzcGVjaWZ5aW5nIGFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVz
CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmNwcAkocmV2aXNpb24gMjQ5NDkzKQorKysgVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ5Myw3ICs0OTMsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpiZWdpblRlc3Rpbmco
V0tEaWN0CiAgICAgLy8gRG9uJ3QgY2hhbmdlIGV4cGVyaW1lbnRhbCBvciBpbnRlcm5hbCBmZWF0
dXJlcyBoZXJlOyB0aG9zZSBzaG91bGQgYmUgc2V0IGluIFRlc3RDb250cm9sbGVyOjpyZXNldFBy
ZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKCkuCiAgICAgV0tCdW5kbGVTZXRBbGxvd1VuaXZl
cnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIHRydWUpOwogICAg
IFdLQnVuZGxlU2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChtX2J1bmRsZSwgbV9wYWdl
R3JvdXAsIHRydWUpOwotICAgIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChtX2J1
bmRsZSwgbV9wYWdlR3JvdXAsIGZhbHNlKTsKKyAgICBXS0J1bmRsZVNldFByaXZhdGVCcm93c2lu
Z0VuYWJsZWQobV9idW5kbGUsIG1fcGFnZUdyb3VwLCBwYWdlKCktPnBhZ2UoKSwgZmFsc2UpOwog
ICAgIFdLQnVuZGxlU2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQobV9idW5kbGUsIG1fcGFn
ZUdyb3VwLCB0cnVlKTsKICAgICBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQobV9i
dW5kbGUsIG1fcGFnZUdyb3VwLCBmYWxzZSk7CiAgICAgV0tCdW5kbGVTZXRNaW5pbXVtTG9naWNh
bEZvbnRTaXplKG1fYnVuZGxlLCBtX3BhZ2VHcm91cCwgOSk7CkluZGV4OiBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAJKHJldmlz
aW9uIDI0OTQ5MykKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUzNCw3ICs1MzQsNyBAQCB2b2lkIFRlc3RS
dW5uZXI6OnNldEphdmFTY3JpcHRDYW5BY2Nlc3NDCiB2b2lkIFRlc3RSdW5uZXI6OnNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIGF1dG8mIGluamVjdGVkQnVu
ZGxlID0gSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpOwotICAgIFdLQnVuZGxlU2V0UHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZChpbmplY3RlZEJ1bmRsZS5idW5kbGUoKSwgaW5qZWN0ZWRCdW5kbGUu
cGFnZUdyb3VwKCksIGVuYWJsZWQpOworICAgIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZChpbmplY3RlZEJ1bmRsZS5idW5kbGUoKSwgaW5qZWN0ZWRCdW5kbGUucGFnZUdyb3VwKCks
IGluamVjdGVkQnVuZGxlLnBhZ2UoKS0+cGFnZSgpLCBlbmFibGVkKTsKIH0KIAogdm9pZCBUZXN0
UnVubmVyOjpzZXRQb3B1cEJsb2NraW5nRW5hYmxlZChib29sIGVuYWJsZWQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378082</attachid>
            <date>2019-09-05 07:52:30 -0700</date>
            <delta_ts>2019-09-05 08:00:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201480-20190905075230.patch</filename>
            <type>text/plain</type>
            <size>19539</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5NDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjU0MDBkNWJhNjYyYzc3
ZWRhNzMwZGQ5ZjBlZDU1ZjdiMjZhMmY0OS4uYTU2YTRhNmJjZjQ3ZmI0NjZkOTk1MThiYjQ4OTFl
ZThmMjQ2NTY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA5LTA1ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgV2hlbiBk
aXNhYmxpbmcgbGVnYWN5IHByaXZhdGUgYnJvd3NpbmcgZm9yIHRlc3RpbmcsIGNoYW5nZSB0aGUg
U2Vzc2lvbklEIGJhY2sgdG8gd2hhdCBpdCB3YXMsIG5vdCB0aGUgZGVmYXVsdFNlc3Npb25JRAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDgwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gY2hhbmdl
IGluIGJlaGF2aW9yLCBidXQgdGhpcyBibG9ja3MgYnVnIDIwMDA1MCB3aGljaCB3aWxsIG1ha2Ug
V2ViS2l0VGVzdFJ1bm5lciB1c2UgYSBwZXJzaXN0ZW50LCBub24tZGVmYXVsdCBzZXNzaW9uLgor
ICAgICAgICBXaXRob3V0IHRoaXMgY2hhbmdlLCB0aGF0IGNoYW5nZSBjYXVzZXMgbG90cyBvZiB0
ZXN0IGZhaWx1cmVzIGJlY2F1c2Ugd2UgYXJlIHN3aXRjaGluZyBmcm9tIHRoZSBsZWdhY3kgcHJp
dmF0ZSBicm93c2luZyBzZXNzaW9uCisgICAgICAgIHRvIHRoZSBkZWZhdWx0IHNlc3Npb24gaW5z
dGVhZCBvZiB0aGUgc2Vzc2lvbiB3ZSB3ZXJlIHVzaW5nLgorCisgICAgICAgICogcGFnZS9QYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2lu
Zyk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9QYWdl
R3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwOjphZGRQYWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2VHcm91cDo6c2V0U2Vzc2lvbklERm9yVGVzdGluZyk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlR3JvdXA6OmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZ0ZvclRlc3Rp
bmcpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvUGFnZUdyb3VwLmg6CisgICAgICAgICogc3Rv
cmFnZS9TdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyOjpzZXRTZXNzaW9uSURGb3JUZXN0aW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjo6ZW5hYmxlTGVnYWN5UHJpdmF0ZUJy
b3dzaW5nRm9yVGVzdGluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlTmFt
ZXNwYWNlUHJvdmlkZXIuaDoKKwogMjAxOS0wOS0wNCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIEFsbG93IGNoZWNraW5nIHdoZXRoZXIgaW1hZ2Ugd2FzIGNyZWF0ZWQg
ZnJvbSBKYXZhU2NyaXB0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDUwMTU3MzA4ZDA2MGY3NzNhNmE0N2VkNmNlMmUx
ZjM1MDcwOWFiYzMuLjllY2RmZGEzZDA1Y2M0YmU3ZWJhNTg1NGE1ZTRkMThmOTk1ZDY3MjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDktMDUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBXaGVuIGRpc2FibGluZyBsZWdhY3kg
cHJpdmF0ZSBicm93c2luZyBmb3IgdGVzdGluZywgY2hhbmdlIHRoZSBTZXNzaW9uSUQgYmFjayB0
byB3aGF0IGl0IHdhcywgbm90IHRoZSBkZWZhdWx0U2Vzc2lvbklECisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0ODAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6
c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorCiAyMDE5LTA5LTA0ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIE1lc3NhZ2VSZWdpc3RyeSB0byBOZXR3
b3JrUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDViZTAyNWQ5OWE0ODE3
NTU0NWZmYTBjMzczZDIwZTQ2MGMzNDQ0ZDYuLmZmOGY2YTMxYjlkODYyYTNkNDhiMDA5YzgzMmFj
MDg3N2IyOTk3MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxOS0wOS0wNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgorCisgICAgICAgIFdoZW4gZGlzYWJsaW5nIGxlZ2FjeSBwcml2YXRlIGJyb3dzaW5nIGZvciB0
ZXN0aW5nLCBjaGFuZ2UgdGhlIFNlc3Npb25JRCBiYWNrIHRvIHdoYXQgaXQgd2FzLCBub3QgdGhl
IGRlZmF1bHRTZXNzaW9uSUQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMTQ4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVm
ZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTktMDgtMzAgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBBcHBLaXRDb21wYXRpYmlsaXR5RGVjbGFyYXRp
b25zLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCBkMGVjNDliZGMwODYzMWU1NjU4
MmM2NGNmMmQ0NzBiYmY1YjMwYmI4Li5jZGFlYjQwMTk4NmFkNzMyMDkzMmZiMjRmZWI1ZjA2YzY3
NjMzOGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTktMDktMDUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBXaGVuIGRpc2FibGluZyBsZWdhY3kgcHJpdmF0ZSBicm93c2luZyBmb3IgdGVzdGlu
ZywgY2hhbmdlIHRoZSBTZXNzaW9uSUQgYmFjayB0byB3aGF0IGl0IHdhcywgbm90IHRoZSBkZWZh
dWx0U2Vzc2lvbklECisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDE0ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXND
aGFuZ2VkKToKKwogMjAxOS0wOS0wMyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3ZlIHJlZHVuZGFudCBwYWludGluZyBwaGFzZSBhcmd1bWVudHMgZnJv
bSBHcmFwaGljc0xheWVyQ2xpZW50IGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggM2Y1
ODE4Mzk5NTIyMGEzODNmM2Y4NzY4YTliZjgzNGEzZjJmMzgwMC4uMzdlZTdlZDdjZDJmOTY4OWY4
YTY0OWViYjg1OWQ3N2Y5M2JkZDJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xNjc2LDE0ICsx
Njc2LDYgQEAgdm9pZCBQYWdlOjpzdG9yYWdlQmxvY2tpbmdTdGF0ZUNoYW5nZWQoKQogICAgICAg
ICB2aWV3LT5zdG9yYWdlQmxvY2tpbmdTdGF0ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBQYWdlOjpl
bmFibGVMZWdhY3lQcml2YXRlQnJvd3NpbmcoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkKQot
ewotICAgIC8vIERvbid0IGFsbG93IGNoYW5naW5nIHRoZSBsZWdhY3kgcHJpdmF0ZSBicm93c2lu
ZyBzdGF0ZSBpZiB3ZSBoYXZlIHNldCBhIHNlc3Npb24gSUQuCi0gICAgQVNTRVJUKG1fc2Vzc2lv
bklEID09IFBBTDo6U2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCkgfHwgbV9zZXNzaW9uSUQg
PT0gUEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSk7Ci0KLSAgICBzZXRT
ZXNzaW9uSUQocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCA/IFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQ
cml2YXRlU2Vzc2lvbklEKCkgOiBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKTsK
LX0KLQogdm9pZCBQYWdlOjp1cGRhdGVJc1BsYXlpbmdNZWRpYSh1aW50NjRfdCBzb3VyY2VFbGVt
ZW50SUQpCiB7CiAgICAgTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIHN0YXRlID0gTWVk
aWFQcm9kdWNlcjo6SXNOb3RQbGF5aW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA3Yzg2NTAyMzEwZjEx
ZGQzYWEwYzlkNjE2OWUzODU4ZTkzMmVhOTRjLi4yNjllNmZkYTE5MzQwYWIyNTVhOTc0Y2I2ZTUz
OGYzYzc0MjE0Y2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNjA3LDcgKzYwNyw2IEBAIHB1YmxpYzoK
IAogICAgIFdFQkNPUkVfRVhQT1JUIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCgpIGNvbnN0Owog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Vzc2lvbklEKFBBTDo6U2Vzc2lvbklEKTsKLSAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZyhib29sIHBy
aXZhdGVCcm93c2luZ0VuYWJsZWQpOwogICAgIGJvb2wgdXNlc0VwaGVtZXJhbFNlc3Npb24oKSBj
b25zdCB7IHJldHVybiBtX3Nlc3Npb25JRC5pc0VwaGVtZXJhbCgpOyB9CiAKICAgICBNZWRpYVBy
b2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MgbWVkaWFTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVk
aWFTdGF0ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3BwCmluZGV4IDEyOGMxOGYxNGI5MDhl
NzFiYzdjZWZiMzk2MjA3ZmViYmMwMGYyYWUuLmQ0YzU0YzRmZmU4YjYyNTg0ODk3MzQ1MTU4MmUy
YTc0MjIzMzYwMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5jcHAKQEAgLTk1LDcgKzk1LDcg
QEAgdm9pZCBQYWdlR3JvdXA6OmFkZFBhZ2UoUGFnZSYgcGFnZSkKICAgICBtX3BhZ2VzLmFkZCgm
cGFnZSk7CiAgICAgCiAgICAgaWYgKG1faXNMZWdhY3lQcml2YXRlQnJvd3NpbmdFbmFibGVkRm9y
VGVzdGluZykKLSAgICAgICAgcGFnZS5lbmFibGVMZWdhY3lQcml2YXRlQnJvd3NpbmcodHJ1ZSk7
CisgICAgICAgIHBhZ2Uuc2V0U2Vzc2lvbklEKFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQcml2YXRl
U2Vzc2lvbklEKCkpOwogfQogCiB2b2lkIFBhZ2VHcm91cDo6cmVtb3ZlUGFnZShQYWdlJiBwYWdl
KQpAQCAtMTI2LDE1ICsxMjYsMTYgQEAgQ2FwdGlvblVzZXJQcmVmZXJlbmNlcyYgUGFnZUdyb3Vw
OjpjYXB0aW9uUHJlZmVyZW5jZXMoKQogfQogI2VuZGlmCiAKLXZvaWQgUGFnZUdyb3VwOjplbmFi
bGVMZWdhY3lQcml2YXRlQnJvd3NpbmdGb3JUZXN0aW5nKGJvb2wgZW5hYmxlZCkKK3ZvaWQgUGFn
ZUdyb3VwOjpzZXRTZXNzaW9uSURGb3JUZXN0aW5nKGNvbnN0IFBBTDo6U2Vzc2lvbklEJiBzZXNz
aW9uSUQpCiB7Ci0gICAgaWYgKG1faXNMZWdhY3lQcml2YXRlQnJvd3NpbmdFbmFibGVkRm9yVGVz
dGluZyA9PSBlbmFibGVkKQorICAgIGJvb2wgbGVnYWN5UHJpdmF0ZSA9IHNlc3Npb25JRCA9PSBQ
QUw6OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpOworICAgIGlmIChtX2lzTGVn
YWN5UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZEZvclRlc3RpbmcgPT0gbGVnYWN5UHJpdmF0ZSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgbV9pc0xlZ2FjeVByaXZhdGVCcm93c2luZ0VuYWJsZWRGb3JU
ZXN0aW5nID0gZW5hYmxlZDsKKyAgICBtX2lzTGVnYWN5UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZEZv
clRlc3RpbmcgPSBsZWdhY3lQcml2YXRlOwogICAgIAogICAgIGZvciAoYXV0byogcGFnZSA6IG1f
cGFnZXMpCi0gICAgICAgIHBhZ2UtPmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZyhlbmFibGVk
KTsKKyAgICAgICAgcGFnZS0+c2V0U2Vzc2lvbklEKHNlc3Npb25JRCk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCmluZGV4IDZiYWYwYTFhYjEzYzll
MmYyZWY1MmYyYzFlNDAxZjMyNTBjZmIwOWYuLjg2M2IyOTYzMDczZDVmM2M1ZjdmZWQxYTA0NmE0
ZDFlZjFhMjk3MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApAQCAtMjksNiArMjksMTAgQEAK
ICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAorbmFtZXNwYWNlIFBBTCB7CitjbGFzcyBTZXNzaW9uSUQ7Cit9CisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgUGFnZTsKQEAgLTU4LDcgKzYyLDcgQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIENhcHRpb25Vc2VyUHJlZmVyZW5jZXMmIGNhcHRpb25QcmVmZXJlbmNl
cygpOwogI2VuZGlmCiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVuYWJsZUxlZ2FjeVByaXZh
dGVCcm93c2luZ0ZvclRlc3RpbmcoYm9vbCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRT
ZXNzaW9uSURGb3JUZXN0aW5nKGNvbnN0IFBBTDo6U2Vzc2lvbklEJik7CiAKIHByaXZhdGU6CiAg
ICAgU3RyaW5nIG1fbmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZU5hbWVzcGFjZVByb3ZpZGVyLmNwcAppbmRleCA2YzVhOGRlMDUyNGM2MGFkN2IxYjFhNjE1ZTQ2
Njk1M2IwMGVlYTY0Li5hM2UzNWQxZThiMzE4ZjM0MGQ4ZjJjNzI2ZDBhZmZmMzc5OGYwNzBmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VQcm92aWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlUHJvdmlk
ZXIuY3BwCkBAIC04Miw5ICs4Miw4IEBAIFN0b3JhZ2VOYW1lc3BhY2UmIFN0b3JhZ2VOYW1lc3Bh
Y2VQcm92aWRlcjo6dHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlKFNlY3VyCiAgICAgcmV0
dXJuICpzbG90OwogfQogCi12b2lkIFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjo6ZW5hYmxlTGVn
YWN5UHJpdmF0ZUJyb3dzaW5nRm9yVGVzdGluZyhib29sIGVuYWJsZWQpCit2b2lkIFN0b3JhZ2VO
YW1lc3BhY2VQcm92aWRlcjo6c2V0U2Vzc2lvbklERm9yVGVzdGluZyhjb25zdCBQQUw6OlNlc3Np
b25JRCYgbmV3U2Vzc2lvbklEKQogewotICAgIGF1dG8gbmV3U2Vzc2lvbklEID0gZW5hYmxlZCA/
IFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQcml2YXRlU2Vzc2lvbklEKCkgOiBQQUw6OlNlc3Npb25J
RDo6ZGVmYXVsdFNlc3Npb25JRCgpOwogICAgIGlmIChtX2xvY2FsU3RvcmFnZU5hbWVzcGFjZSAm
JiBuZXdTZXNzaW9uSUQgIT0gbV9sb2NhbFN0b3JhZ2VOYW1lc3BhY2UtPnNlc3Npb25JRCgpKQog
ICAgICAgICBtX2xvY2FsU3RvcmFnZU5hbWVzcGFjZS0+c2V0U2Vzc2lvbklERm9yVGVzdGluZyhu
ZXdTZXNzaW9uSUQpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
dG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZU5hbWVzcGFjZVByb3ZpZGVyLmgKaW5kZXggMDFkMDY0YjRhNjFkMDY3NjBkYzg3YWZlNzFjODM5
ZWEwMmY3ODg3Zi4uMjY5ZWNlNzY3YTdlNGVhNTczNWNiOWM3ODNjNThkOWI5ZDEwZjc5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5o
CkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKIAogICAgIFJlZjxTdG9yYWdlQXJlYT4gbG9jYWxT
dG9yYWdlQXJlYShEb2N1bWVudCYpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBlbmFibGVM
ZWdhY3lQcml2YXRlQnJvd3NpbmdGb3JUZXN0aW5nKGJvb2wgZW5hYmxlZCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRTZXNzaW9uSURGb3JUZXN0aW5nKGNvbnN0IFBBTDo6U2Vzc2lvbklE
Jik7CiAKIHByb3RlY3RlZDoKICAgICBTdG9yYWdlTmFtZXNwYWNlKiBvcHRpb25hbExvY2FsU3Rv
cmFnZU5hbWVzcGFjZSgpIHsgcmV0dXJuIG1fbG9jYWxTdG9yYWdlTmFtZXNwYWNlLmdldCgpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlLmNwcAppbmRleCBjYTg1ZDU4NWRjZjFiNzZlZjBiOGQxMWQ1OWFkNjYw
NGFjM2YxODZhLi5lMzQ3NzdlNzYxZGRhNzcwNzk3ZWFmZmZmNDYyYmMzNDkyNjUwNjhjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZS5jcHAKQEAgLTE2Niw5ICsxNjYsOSBAQCB2b2lkIFdLQnVuZGxlU2V0SmF2
YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChXS0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLQnVuZGxl
UGFnZQogICAgIFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJlZiktPnNldEphdmFTY3JpcHRDYW5BY2Nl
c3NDbGlwYm9hcmQoV2ViS2l0Ojp0b0ltcGwocGFnZUdyb3VwUmVmKSwgZW5hYmxlZCk7CiB9CiAK
LXZvaWQgV0tCdW5kbGVTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRs
ZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmLCBib29sIGVuYWJsZWQpCit2
b2lkIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGVS
ZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZiwgV0tCdW5kbGVQYWdlUmVmIHBh
Z2VSZWYsIGJvb2wgZW5hYmxlZCkKIHsKLSAgICBXZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5z
ZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdlYktpdDo6dG9JbXBsKHBhZ2VHcm91cFJlZiksIGVu
YWJsZWQpOworICAgIFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJlZiktPnNldFByaXZhdGVCcm93c2lu
Z0VuYWJsZWQoV2ViS2l0Ojp0b0ltcGwocGFnZUdyb3VwUmVmKSwgV2ViS2l0Ojp0b0ltcGwocGFn
ZVJlZiksIGVuYWJsZWQpOwogfQogCiB2b2lkIFdLQnVuZGxlU2V0UG9wdXBCbG9ja2luZ0VuYWJs
ZWQoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBS
ZWYsIGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaAppbmRleCBjOThh
Yjc5N2RmOGE2OWQzYWZiM2JkMjMyYzExMmJjMmQ4NjVhZTgwLi4xNGQ3ZDVjZTc5NmViMTk5MmMw
YmZjOTdmZTFhNDNhMDc4ODMxNjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCkBA
IC00OSw3ICs0OSw3IEBAIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0QWxsb3dTdG9yYWdlQWNj
ZXNzRnJvbUZpbGVVUkxTKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCCiBXS19FWFBPUlQgdm9pZCBX
S0J1bmRsZVNldE1pbmltdW1Mb2dpY2FsRm9udFNpemUoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBX
S0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIGludCBzaXplKTsKIFdLX0VYUE9SVCB2
b2lkIFdLQnVuZGxlU2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUs
IFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9S
VCB2b2lkIFdLQnVuZGxlU2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChXS0J1bmRsZVJl
ZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsK
LVdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS0J1bmRs
ZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVk
KTsKK1dLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS0J1
bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgV0tCdW5kbGVQ
YWdlUmVmIHBhZ2VSZWYsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNl
dFBvcHVwQmxvY2tpbmdFbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3Jv
dXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVT
ZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxl
UGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lkIFdL
QnVuZGxlU2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tC
dW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5jcHAKaW5kZXggYWI4OTY4N2Q4NGYxYWVlMDc0NjZmNDM1NGVmMWFmZjk2ODM3OWQwOC4uNTA0
YjE4MDNhMjk3MjU4Y2M3OTAwNmIxNWQ0Y2FhM2ZlODQyYjk3ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
Y3BwCkBAIC0zNDYsMTYgKzM0NiwyMSBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRKYXZhU2Ny
aXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdQogICAgICAg
ICAoKml0ZXIpLT5zZXR0aW5ncygpLnNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoZW5h
YmxlZCk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWQoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKQordm9pZCBJbmpl
Y3RlZEJ1bmRsZTo6c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSog
cGFnZUdyb3VwLCBXZWJQYWdlKiBwYWdlLCBib29sIGVuYWJsZWQpCiB7CiAgICAgQVNTRVJUKCFo
YXNQcm9jZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxlZ2U6OkNhbkFjY2Vzc1Jhd0Nvb2tpZXMp
KTsKLSAgICBpZiAoZW5hYmxlZCkKKyAgICAKKyAgICBQQUw6OlNlc3Npb25JRCBuZXdTZXNzaW9u
SUQgPSBlbmFibGVkID8gUEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSA6
ICptX2luaXRpYWxTZXNzaW9uSUQ7CisgICAgaWYgKGVuYWJsZWQpIHsKKyAgICAgICAgbV9pbml0
aWFsU2Vzc2lvbklEID0gcGFnZS0+Y29yZVBhZ2UoKS0+c2Vzc2lvbklEKCk7CiAgICAgICAgIFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUxlZ2FjeVByaXZhdGVCcm93c2luZ1Nlc3Npb25J
bk5ldHdvcmtQcm9jZXNzKCk7CisgICAgfSBlbHNlCisgICAgICAgIG1faW5pdGlhbFNlc3Npb25J
RCA9IFdURjo6bnVsbG9wdDsKIAotICAgIFBhZ2VHcm91cDo6cGFnZUdyb3VwKHBhZ2VHcm91cC0+
aWRlbnRpZmllcigpKS0+ZW5hYmxlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nRm9yVGVzdGluZyhlbmFi
bGVkKTsKKyAgICBQYWdlR3JvdXA6OnBhZ2VHcm91cChwYWdlR3JvdXAtPmlkZW50aWZpZXIoKSkt
PnNldFNlc3Npb25JREZvclRlc3RpbmcobmV3U2Vzc2lvbklEKTsKIAogICAgIGF1dG8gd2ViU3Rv
cmFnZU5hbWVTcGFjZVByb3ZpZGVyID0gV2ViU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyOjpnZXRP
ckNyZWF0ZSgqcGFnZUdyb3VwKTsKLSAgICB3ZWJTdG9yYWdlTmFtZVNwYWNlUHJvdmlkZXItPmVu
YWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZ0ZvclRlc3RpbmcoZW5hYmxlZCk7CisgICAgd2ViU3Rv
cmFnZU5hbWVTcGFjZVByb3ZpZGVyLT5zZXRTZXNzaW9uSURGb3JUZXN0aW5nKG5ld1Nlc3Npb25J
RCk7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldFBvcHVwQmxvY2tpbmdFbmFibGVkKFdl
YlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgK
aW5kZXggZjNlMjc0NDBjNmY4ZjBiODc2NzJmNmNlYjY4MGY1YTY2MDg5ZDQxMS4uNjYyOTlhNGRi
ZTQ2ZGZmMzE3ZWUzNTJhZjVhMmMzN2M5NjNhNDVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKQEAgLTMx
LDYgKzMxLDcgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Lmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9Vc2VyQ29udGVudFR5cGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2Vy
U2NyaXB0VHlwZXMuaD4KKyNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KQEAgLTEwNCw3ICsxMDUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRB
c3luY0ZyYW1lU2Nyb2xsaW5nRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOwogICAg
IHZvaWQgc2V0UGx1Z2luc0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKICAgICB2
b2lkIHNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoV2ViUGFnZUdyb3VwUHJveHkqLCBi
b29sKTsKLSAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJv
eHkqLCBib29sKTsKKyAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoV2ViUGFnZUdy
b3VwUHJveHkqLCBXZWJQYWdlKiwgYm9vbCk7CiAgICAgdm9pZCBzZXRQb3B1cEJsb2NraW5nRW5h
YmxlZChXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOwogICAgIHZvaWQgc2V0QXV0aG9yQW5kVXNl
clN0eWxlc0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKICAgICB2b2lkIHNldFNw
YXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOwpAQCAtMTcz
LDYgKzE3NCw4IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpJbmplY3Rl
ZEJ1bmRsZTo6Q2xpZW50PiBtX2NsaWVudDsKIAorICAgIE9wdGlvbmFsPFBBTDo6U2Vzc2lvbklE
PiBtX2luaXRpYWxTZXNzaW9uSUQ7CisKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBSZXRhaW5Q
dHI8V0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycz4gbV9idW5kbGVQYXJhbWV0ZXJzOwogICAg
IFJldGFpblB0cjxOU1NldD4gbV9jbGFzc2VzRm9yQ29kZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMjIzN2UyMjE1ZTE1OGQ2YWZjMmEzNmFlZDAy
YjkwNjFjYTA4ODM2YS4uZTI5NmI4MmU0MzkyMTAyYzBhMzlmYzc2OTdlMzQ3ZTM3MmE5NTU1MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMjg4OCw4
ICsyODg4LDggQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmso
KQogICAgIHNldHRpbmdzLnNldFBsdWdpbnNFbmFibGVkKFtwcmVmZXJlbmNlcyBhcmVQbHVnSW5z
RW5hYmxlZF0pOwogICAgIHNldHRpbmdzLnNldExvY2FsU3RvcmFnZUVuYWJsZWQoW3ByZWZlcmVu
Y2VzIGxvY2FsU3RvcmFnZUVuYWJsZWRdKTsKIAotICAgIF9wcml2YXRlLT5wYWdlLT5lbmFibGVM
ZWdhY3lQcml2YXRlQnJvd3NpbmcoW3ByZWZlcmVuY2VzIHByaXZhdGVCcm93c2luZ0VuYWJsZWRd
KTsKLSAgICBfcHJpdmF0ZS0+Z3JvdXAtPnN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcigpLmVuYWJs
ZUxlZ2FjeVByaXZhdGVCcm93c2luZ0ZvclRlc3RpbmcoW3ByZWZlcmVuY2VzIHByaXZhdGVCcm93
c2luZ0VuYWJsZWRdKTsKKyAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0U2Vzc2lvbklEKFtwcmVmZXJl
bmNlcyBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSA/IFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQcml2
YXRlU2Vzc2lvbklEKCkgOiBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKTsKKyAg
ICBfcHJpdmF0ZS0+Z3JvdXAtPnN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcigpLnNldFNlc3Npb25J
REZvclRlc3RpbmcoW3ByZWZlcmVuY2VzIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdID8gUEFMOjpT
ZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSA6IFBBTDo6U2Vzc2lvbklEOjpkZWZh
dWx0U2Vzc2lvbklEKCkpOwogICAgIHNldHRpbmdzLnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoW3By
ZWZlcmVuY2VzIHNhbnNTZXJpZkZvbnRGYW1pbHldKTsKICAgICBzZXR0aW5ncy5zZXRTZXJpZkZv
bnRGYW1pbHkoW3ByZWZlcmVuY2VzIHNlcmlmRm9udEZhbWlseV0pOwogICAgIHNldHRpbmdzLnNl
dFN0YW5kYXJkRm9udEZhbWlseShbcHJlZmVyZW5jZXMgc3RhbmRhcmRGb250RmFtaWx5XSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IDg1ZTRlZWJmMmE4NTg4OGJkN2FkY2Rj
NTMwZWI4N2E0YjhjYWMxYWQuLmEyYWJlOWQzY2QwYmM3MTFiY2EwMTg3ZGY1MGE1MjM1NjY0MDY0
MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC01MzA3LDcgKzUzMDcsNyBA
QCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChJV2ViTm90aWZpY2F0
aW9uKiBub3RpZmljYXRpb24pCiAgICAgZWxzZQogICAgICAgICBXZWJGcmFtZU5ldHdvcmtpbmdD
b250ZXh0OjpkZXN0cm95UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpOwogI2VuZGlmCi0gICAgbV9w
YWdlLT5lbmFibGVMZWdhY3lQcml2YXRlQnJvd3NpbmcoISFlbmFibGVkKTsKKyAgICBtX3BhZ2Ut
PnNldFNlc3Npb25JRCghIWVuYWJsZWQgPyBQQUw6OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNl
c3Npb25JRCgpIDogUEFMOjpTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSk7CiAKICAgICBo
ciA9IHByZWZlcmVuY2VzLT5zYW5zU2VyaWZGb250RmFtaWx5KCZzdHIpOwogICAgIGlmIChGQUlM
RUQoaHIpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDE4NjFlNTg2NzNlZWRjZTk5YWM1MzE2MmFhMjkzY2IwMjAyNjZjODIuLjgyMDRlNjJiOTc1
OTVkZTUxZTllNzRkMGIxZjVlZTgyODc5NGE3NjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wOS0wNSAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFdoZW4g
ZGlzYWJsaW5nIGxlZ2FjeSBwcml2YXRlIGJyb3dzaW5nIGZvciB0ZXN0aW5nLCBjaGFuZ2UgdGhl
IFNlc3Npb25JRCBiYWNrIHRvIHdoYXQgaXQgd2FzLCBub3QgdGhlIGRlZmF1bHRTZXNzaW9uSUQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ4MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChX
VFI6OkluamVjdGVkQnVuZGxlOjpiZWdpblRlc3RpbmcpOgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RS
dW5uZXI6OnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQpOgorCiAyMDE5LTA5LTAzICBZdXN1a2Ug
U3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW2JtYWxsb2NdIElzb1RMU0xh
eW91dCBhbmQgQWxsSXNvSGVhcHMgcmVnaXN0cmF0aW9uIGlzIHJhY3kgd2l0aCBkZXJpdmVkIGNs
YXNzIGluaXRpYWxpemF0aW9uIHdpdGggdmlydHVhbCBmdW5jdGlvbnMKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAK
aW5kZXggODNiMmIzMGIxMzMyZWM3N2JmZWZjYzI5ZmRkMWEyZTQ4M2NiNWYyMy4uNGE1N2FkYTVk
ZjZjYTg5MDA5YzRmZmU1Y2UyM2NkYTliMmEyYWQ3ZCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTQ5
Myw3ICs0OTMsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpiZWdpblRlc3RpbmcoV0tEaWN0aW9u
YXJ5UmVmIHNldHRpbmdzLCBCZWdpbmdUZXN0aW5nTW9kZSB0ZQogICAgIC8vIERvbid0IGNoYW5n
ZSBleHBlcmltZW50YWwgb3IgaW50ZXJuYWwgZmVhdHVyZXMgaGVyZTsgdGhvc2Ugc2hvdWxkIGJl
IHNldCBpbiBUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVl
cygpLgogICAgIFdLQnVuZGxlU2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMobV9i
dW5kbGUsIG1fcGFnZUdyb3VwLCB0cnVlKTsKICAgICBXS0J1bmRsZVNldEphdmFTY3JpcHRDYW5B
Y2Nlc3NDbGlwYm9hcmQobV9idW5kbGUsIG1fcGFnZUdyb3VwLCB0cnVlKTsKLSAgICBXS0J1bmRs
ZVNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQobV9idW5kbGUsIG1fcGFnZUdyb3VwLCBmYWxzZSk7
CisgICAgV0tCdW5kbGVTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKG1fYnVuZGxlLCBtX3BhZ2VH
cm91cCwgcGFnZSgpLT5wYWdlKCksIGZhbHNlKTsKICAgICBXS0J1bmRsZVNldEF1dGhvckFuZFVz
ZXJTdHlsZXNFbmFibGVkKG1fYnVuZGxlLCBtX3BhZ2VHcm91cCwgdHJ1ZSk7CiAgICAgV0tCdW5k
bGVTZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKG1fYnVuZGxlLCBtX3BhZ2VHcm91cCwgZmFsc2Up
OwogICAgIFdLQnVuZGxlU2V0TWluaW11bUxvZ2ljYWxGb250U2l6ZShtX2J1bmRsZSwgbV9wYWdl
R3JvdXAsIDkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggZjY2YzJhYzMyYWUyODU0OGY0ZmM0YTM2OWI0NWE4MjE5
YjBlNmY2Yi4uZTllN2Q4Y2FmM2I2OTcyZjJmNDE2NDBiMGViMDI5YTM0MmMyYmNkYyAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
Y3BwCkBAIC01MzQsNyArNTM0LDcgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXRKYXZhU2NyaXB0Q2Fu
QWNjZXNzQ2xpcGJvYXJkKGJvb2wgZW5hYmxlZCkKIHZvaWQgVGVzdFJ1bm5lcjo6c2V0UHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgYXV0byYgaW5qZWN0ZWRCdW5k
bGUgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCk7Ci0gICAgV0tCdW5kbGVTZXRQcml2YXRl
QnJvd3NpbmdFbmFibGVkKGluamVjdGVkQnVuZGxlLmJ1bmRsZSgpLCBpbmplY3RlZEJ1bmRsZS5w
YWdlR3JvdXAoKSwgZW5hYmxlZCk7CisgICAgV0tCdW5kbGVTZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkKGluamVjdGVkQnVuZGxlLmJ1bmRsZSgpLCBpbmplY3RlZEJ1bmRsZS5wYWdlR3JvdXAoKSwg
aW5qZWN0ZWRCdW5kbGUucGFnZSgpLT5wYWdlKCksIGVuYWJsZWQpOwogfQogCiB2b2lkIFRlc3RS
dW5uZXI6OnNldFBvcHVwQmxvY2tpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378083</attachid>
            <date>2019-09-05 08:00:16 -0700</date>
            <delta_ts>2019-09-05 16:54:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201480-20190905080016.patch</filename>
            <type>text/plain</type>
            <size>19670</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5NDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjU0MDBkNWJhNjYyYzc3
ZWRhNzMwZGQ5ZjBlZDU1ZjdiMjZhMmY0OS4uYTU2YTRhNmJjZjQ3ZmI0NjZkOTk1MThiYjQ4OTFl
ZThmMjQ2NTY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA5LTA1ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgV2hlbiBk
aXNhYmxpbmcgbGVnYWN5IHByaXZhdGUgYnJvd3NpbmcgZm9yIHRlc3RpbmcsIGNoYW5nZSB0aGUg
U2Vzc2lvbklEIGJhY2sgdG8gd2hhdCBpdCB3YXMsIG5vdCB0aGUgZGVmYXVsdFNlc3Npb25JRAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDgwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gY2hhbmdl
IGluIGJlaGF2aW9yLCBidXQgdGhpcyBibG9ja3MgYnVnIDIwMDA1MCB3aGljaCB3aWxsIG1ha2Ug
V2ViS2l0VGVzdFJ1bm5lciB1c2UgYSBwZXJzaXN0ZW50LCBub24tZGVmYXVsdCBzZXNzaW9uLgor
ICAgICAgICBXaXRob3V0IHRoaXMgY2hhbmdlLCB0aGF0IGNoYW5nZSBjYXVzZXMgbG90cyBvZiB0
ZXN0IGZhaWx1cmVzIGJlY2F1c2Ugd2UgYXJlIHN3aXRjaGluZyBmcm9tIHRoZSBsZWdhY3kgcHJp
dmF0ZSBicm93c2luZyBzZXNzaW9uCisgICAgICAgIHRvIHRoZSBkZWZhdWx0IHNlc3Npb24gaW5z
dGVhZCBvZiB0aGUgc2Vzc2lvbiB3ZSB3ZXJlIHVzaW5nLgorCisgICAgICAgICogcGFnZS9QYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2lu
Zyk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9QYWdl
R3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwOjphZGRQYWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2VHcm91cDo6c2V0U2Vzc2lvbklERm9yVGVzdGluZyk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlR3JvdXA6OmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZ0ZvclRlc3Rp
bmcpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvUGFnZUdyb3VwLmg6CisgICAgICAgICogc3Rv
cmFnZS9TdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyOjpzZXRTZXNzaW9uSURGb3JUZXN0aW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjo6ZW5hYmxlTGVnYWN5UHJpdmF0ZUJy
b3dzaW5nRm9yVGVzdGluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlTmFt
ZXNwYWNlUHJvdmlkZXIuaDoKKwogMjAxOS0wOS0wNCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIEFsbG93IGNoZWNraW5nIHdoZXRoZXIgaW1hZ2Ugd2FzIGNyZWF0ZWQg
ZnJvbSBKYXZhU2NyaXB0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDUwMTU3MzA4ZDA2MGY3NzNhNmE0N2VkNmNlMmUx
ZjM1MDcwOWFiYzMuLjllY2RmZGEzZDA1Y2M0YmU3ZWJhNTg1NGE1ZTRkMThmOTk1ZDY3MjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDktMDUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBXaGVuIGRpc2FibGluZyBsZWdhY3kg
cHJpdmF0ZSBicm93c2luZyBmb3IgdGVzdGluZywgY2hhbmdlIHRoZSBTZXNzaW9uSUQgYmFjayB0
byB3aGF0IGl0IHdhcywgbm90IHRoZSBkZWZhdWx0U2Vzc2lvbklECisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0ODAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6
c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorCiAyMDE5LTA5LTA0ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIE1lc3NhZ2VSZWdpc3RyeSB0byBOZXR3
b3JrUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDViZTAyNWQ5OWE0ODE3
NTU0NWZmYTBjMzczZDIwZTQ2MGMzNDQ0ZDYuLmZmOGY2YTMxYjlkODYyYTNkNDhiMDA5YzgzMmFj
MDg3N2IyOTk3MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxOS0wOS0wNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgorCisgICAgICAgIFdoZW4gZGlzYWJsaW5nIGxlZ2FjeSBwcml2YXRlIGJyb3dzaW5nIGZvciB0
ZXN0aW5nLCBjaGFuZ2UgdGhlIFNlc3Npb25JRCBiYWNrIHRvIHdoYXQgaXQgd2FzLCBub3QgdGhl
IGRlZmF1bHRTZXNzaW9uSUQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMTQ4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVm
ZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTktMDgtMzAgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBBcHBLaXRDb21wYXRpYmlsaXR5RGVjbGFyYXRp
b25zLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCBkMGVjNDliZGMwODYzMWU1NjU4
MmM2NGNmMmQ0NzBiYmY1YjMwYmI4Li5jZGFlYjQwMTk4NmFkNzMyMDkzMmZiMjRmZWI1ZjA2YzY3
NjMzOGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTktMDktMDUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBXaGVuIGRpc2FibGluZyBsZWdhY3kgcHJpdmF0ZSBicm93c2luZyBmb3IgdGVzdGlu
ZywgY2hhbmdlIHRoZSBTZXNzaW9uSUQgYmFjayB0byB3aGF0IGl0IHdhcywgbm90IHRoZSBkZWZh
dWx0U2Vzc2lvbklECisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDE0ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXND
aGFuZ2VkKToKKwogMjAxOS0wOS0wMyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3ZlIHJlZHVuZGFudCBwYWludGluZyBwaGFzZSBhcmd1bWVudHMgZnJv
bSBHcmFwaGljc0xheWVyQ2xpZW50IGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggM2Y1
ODE4Mzk5NTIyMGEzODNmM2Y4NzY4YTliZjgzNGEzZjJmMzgwMC4uMzdlZTdlZDdjZDJmOTY4OWY4
YTY0OWViYjg1OWQ3N2Y5M2JkZDJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xNjc2LDE0ICsx
Njc2LDYgQEAgdm9pZCBQYWdlOjpzdG9yYWdlQmxvY2tpbmdTdGF0ZUNoYW5nZWQoKQogICAgICAg
ICB2aWV3LT5zdG9yYWdlQmxvY2tpbmdTdGF0ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBQYWdlOjpl
bmFibGVMZWdhY3lQcml2YXRlQnJvd3NpbmcoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkKQot
ewotICAgIC8vIERvbid0IGFsbG93IGNoYW5naW5nIHRoZSBsZWdhY3kgcHJpdmF0ZSBicm93c2lu
ZyBzdGF0ZSBpZiB3ZSBoYXZlIHNldCBhIHNlc3Npb24gSUQuCi0gICAgQVNTRVJUKG1fc2Vzc2lv
bklEID09IFBBTDo6U2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCkgfHwgbV9zZXNzaW9uSUQg
PT0gUEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSk7Ci0KLSAgICBzZXRT
ZXNzaW9uSUQocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCA/IFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQ
cml2YXRlU2Vzc2lvbklEKCkgOiBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKTsK
LX0KLQogdm9pZCBQYWdlOjp1cGRhdGVJc1BsYXlpbmdNZWRpYSh1aW50NjRfdCBzb3VyY2VFbGVt
ZW50SUQpCiB7CiAgICAgTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIHN0YXRlID0gTWVk
aWFQcm9kdWNlcjo6SXNOb3RQbGF5aW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA3Yzg2NTAyMzEwZjEx
ZGQzYWEwYzlkNjE2OWUzODU4ZTkzMmVhOTRjLi4yNjllNmZkYTE5MzQwYWIyNTVhOTc0Y2I2ZTUz
OGYzYzc0MjE0Y2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNjA3LDcgKzYwNyw2IEBAIHB1YmxpYzoK
IAogICAgIFdFQkNPUkVfRVhQT1JUIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCgpIGNvbnN0Owog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Vzc2lvbklEKFBBTDo6U2Vzc2lvbklEKTsKLSAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZyhib29sIHBy
aXZhdGVCcm93c2luZ0VuYWJsZWQpOwogICAgIGJvb2wgdXNlc0VwaGVtZXJhbFNlc3Npb24oKSBj
b25zdCB7IHJldHVybiBtX3Nlc3Npb25JRC5pc0VwaGVtZXJhbCgpOyB9CiAKICAgICBNZWRpYVBy
b2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MgbWVkaWFTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVk
aWFTdGF0ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3BwCmluZGV4IDEyOGMxOGYxNGI5MDhl
NzFiYzdjZWZiMzk2MjA3ZmViYmMwMGYyYWUuLmQ0YzU0YzRmZmU4YjYyNTg0ODk3MzQ1MTU4MmUy
YTc0MjIzMzYwMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5jcHAKQEAgLTk1LDcgKzk1LDcg
QEAgdm9pZCBQYWdlR3JvdXA6OmFkZFBhZ2UoUGFnZSYgcGFnZSkKICAgICBtX3BhZ2VzLmFkZCgm
cGFnZSk7CiAgICAgCiAgICAgaWYgKG1faXNMZWdhY3lQcml2YXRlQnJvd3NpbmdFbmFibGVkRm9y
VGVzdGluZykKLSAgICAgICAgcGFnZS5lbmFibGVMZWdhY3lQcml2YXRlQnJvd3NpbmcodHJ1ZSk7
CisgICAgICAgIHBhZ2Uuc2V0U2Vzc2lvbklEKFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQcml2YXRl
U2Vzc2lvbklEKCkpOwogfQogCiB2b2lkIFBhZ2VHcm91cDo6cmVtb3ZlUGFnZShQYWdlJiBwYWdl
KQpAQCAtMTI2LDE1ICsxMjYsMTYgQEAgQ2FwdGlvblVzZXJQcmVmZXJlbmNlcyYgUGFnZUdyb3Vw
OjpjYXB0aW9uUHJlZmVyZW5jZXMoKQogfQogI2VuZGlmCiAKLXZvaWQgUGFnZUdyb3VwOjplbmFi
bGVMZWdhY3lQcml2YXRlQnJvd3NpbmdGb3JUZXN0aW5nKGJvb2wgZW5hYmxlZCkKK3ZvaWQgUGFn
ZUdyb3VwOjpzZXRTZXNzaW9uSURGb3JUZXN0aW5nKGNvbnN0IFBBTDo6U2Vzc2lvbklEJiBzZXNz
aW9uSUQpCiB7Ci0gICAgaWYgKG1faXNMZWdhY3lQcml2YXRlQnJvd3NpbmdFbmFibGVkRm9yVGVz
dGluZyA9PSBlbmFibGVkKQorICAgIGJvb2wgbGVnYWN5UHJpdmF0ZSA9IHNlc3Npb25JRCA9PSBQ
QUw6OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpOworICAgIGlmIChtX2lzTGVn
YWN5UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZEZvclRlc3RpbmcgPT0gbGVnYWN5UHJpdmF0ZSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgbV9pc0xlZ2FjeVByaXZhdGVCcm93c2luZ0VuYWJsZWRGb3JU
ZXN0aW5nID0gZW5hYmxlZDsKKyAgICBtX2lzTGVnYWN5UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZEZv
clRlc3RpbmcgPSBsZWdhY3lQcml2YXRlOwogICAgIAogICAgIGZvciAoYXV0byogcGFnZSA6IG1f
cGFnZXMpCi0gICAgICAgIHBhZ2UtPmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZyhlbmFibGVk
KTsKKyAgICAgICAgcGFnZS0+c2V0U2Vzc2lvbklEKHNlc3Npb25JRCk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCmluZGV4IDZiYWYwYTFhYjEzYzll
MmYyZWY1MmYyYzFlNDAxZjMyNTBjZmIwOWYuLjg2M2IyOTYzMDczZDVmM2M1ZjdmZWQxYTA0NmE0
ZDFlZjFhMjk3MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApAQCAtMjksNiArMjksMTAgQEAK
ICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAorbmFtZXNwYWNlIFBBTCB7CitjbGFzcyBTZXNzaW9uSUQ7Cit9CisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgUGFnZTsKQEAgLTU4LDcgKzYyLDcgQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIENhcHRpb25Vc2VyUHJlZmVyZW5jZXMmIGNhcHRpb25QcmVmZXJlbmNl
cygpOwogI2VuZGlmCiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVuYWJsZUxlZ2FjeVByaXZh
dGVCcm93c2luZ0ZvclRlc3RpbmcoYm9vbCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRT
ZXNzaW9uSURGb3JUZXN0aW5nKGNvbnN0IFBBTDo6U2Vzc2lvbklEJik7CiAKIHByaXZhdGU6CiAg
ICAgU3RyaW5nIG1fbmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZU5hbWVzcGFjZVByb3ZpZGVyLmNwcAppbmRleCA2YzVhOGRlMDUyNGM2MGFkN2IxYjFhNjE1ZTQ2
Njk1M2IwMGVlYTY0Li5hM2UzNWQxZThiMzE4ZjM0MGQ4ZjJjNzI2ZDBhZmZmMzc5OGYwNzBmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VQcm92aWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlUHJvdmlk
ZXIuY3BwCkBAIC04Miw5ICs4Miw4IEBAIFN0b3JhZ2VOYW1lc3BhY2UmIFN0b3JhZ2VOYW1lc3Bh
Y2VQcm92aWRlcjo6dHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlKFNlY3VyCiAgICAgcmV0
dXJuICpzbG90OwogfQogCi12b2lkIFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjo6ZW5hYmxlTGVn
YWN5UHJpdmF0ZUJyb3dzaW5nRm9yVGVzdGluZyhib29sIGVuYWJsZWQpCit2b2lkIFN0b3JhZ2VO
YW1lc3BhY2VQcm92aWRlcjo6c2V0U2Vzc2lvbklERm9yVGVzdGluZyhjb25zdCBQQUw6OlNlc3Np
b25JRCYgbmV3U2Vzc2lvbklEKQogewotICAgIGF1dG8gbmV3U2Vzc2lvbklEID0gZW5hYmxlZCA/
IFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQcml2YXRlU2Vzc2lvbklEKCkgOiBQQUw6OlNlc3Npb25J
RDo6ZGVmYXVsdFNlc3Npb25JRCgpOwogICAgIGlmIChtX2xvY2FsU3RvcmFnZU5hbWVzcGFjZSAm
JiBuZXdTZXNzaW9uSUQgIT0gbV9sb2NhbFN0b3JhZ2VOYW1lc3BhY2UtPnNlc3Npb25JRCgpKQog
ICAgICAgICBtX2xvY2FsU3RvcmFnZU5hbWVzcGFjZS0+c2V0U2Vzc2lvbklERm9yVGVzdGluZyhu
ZXdTZXNzaW9uSUQpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
dG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZU5hbWVzcGFjZVByb3ZpZGVyLmgKaW5kZXggMDFkMDY0YjRhNjFkMDY3NjBkYzg3YWZlNzFjODM5
ZWEwMmY3ODg3Zi4uMjY5ZWNlNzY3YTdlNGVhNTczNWNiOWM3ODNjNThkOWI5ZDEwZjc5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5o
CkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKIAogICAgIFJlZjxTdG9yYWdlQXJlYT4gbG9jYWxT
dG9yYWdlQXJlYShEb2N1bWVudCYpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBlbmFibGVM
ZWdhY3lQcml2YXRlQnJvd3NpbmdGb3JUZXN0aW5nKGJvb2wgZW5hYmxlZCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRTZXNzaW9uSURGb3JUZXN0aW5nKGNvbnN0IFBBTDo6U2Vzc2lvbklE
Jik7CiAKIHByb3RlY3RlZDoKICAgICBTdG9yYWdlTmFtZXNwYWNlKiBvcHRpb25hbExvY2FsU3Rv
cmFnZU5hbWVzcGFjZSgpIHsgcmV0dXJuIG1fbG9jYWxTdG9yYWdlTmFtZXNwYWNlLmdldCgpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlLmNwcAppbmRleCBjYTg1ZDU4NWRjZjFiNzZlZjBiOGQxMWQ1OWFkNjYw
NGFjM2YxODZhLi5lMzQ3NzdlNzYxZGRhNzcwNzk3ZWFmZmZmNDYyYmMzNDkyNjUwNjhjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZS5jcHAKQEAgLTE2Niw5ICsxNjYsOSBAQCB2b2lkIFdLQnVuZGxlU2V0SmF2
YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChXS0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLQnVuZGxl
UGFnZQogICAgIFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJlZiktPnNldEphdmFTY3JpcHRDYW5BY2Nl
c3NDbGlwYm9hcmQoV2ViS2l0Ojp0b0ltcGwocGFnZUdyb3VwUmVmKSwgZW5hYmxlZCk7CiB9CiAK
LXZvaWQgV0tCdW5kbGVTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRs
ZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmLCBib29sIGVuYWJsZWQpCit2
b2lkIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGVS
ZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZiwgV0tCdW5kbGVQYWdlUmVmIHBh
Z2VSZWYsIGJvb2wgZW5hYmxlZCkKIHsKLSAgICBXZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5z
ZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdlYktpdDo6dG9JbXBsKHBhZ2VHcm91cFJlZiksIGVu
YWJsZWQpOworICAgIFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJlZiktPnNldFByaXZhdGVCcm93c2lu
Z0VuYWJsZWQoV2ViS2l0Ojp0b0ltcGwocGFnZUdyb3VwUmVmKSwgV2ViS2l0Ojp0b0ltcGwocGFn
ZVJlZiksIGVuYWJsZWQpOwogfQogCiB2b2lkIFdLQnVuZGxlU2V0UG9wdXBCbG9ja2luZ0VuYWJs
ZWQoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBS
ZWYsIGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaAppbmRleCBjOThh
Yjc5N2RmOGE2OWQzYWZiM2JkMjMyYzExMmJjMmQ4NjVhZTgwLi4xNGQ3ZDVjZTc5NmViMTk5MmMw
YmZjOTdmZTFhNDNhMDc4ODMxNjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCkBA
IC00OSw3ICs0OSw3IEBAIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0QWxsb3dTdG9yYWdlQWNj
ZXNzRnJvbUZpbGVVUkxTKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCCiBXS19FWFBPUlQgdm9pZCBX
S0J1bmRsZVNldE1pbmltdW1Mb2dpY2FsRm9udFNpemUoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBX
S0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIGludCBzaXplKTsKIFdLX0VYUE9SVCB2
b2lkIFdLQnVuZGxlU2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUs
IFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9S
VCB2b2lkIFdLQnVuZGxlU2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChXS0J1bmRsZVJl
ZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsK
LVdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS0J1bmRs
ZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVk
KTsKK1dLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS0J1
bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgV0tCdW5kbGVQ
YWdlUmVmIHBhZ2VSZWYsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNl
dFBvcHVwQmxvY2tpbmdFbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3Jv
dXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVT
ZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxl
UGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lkIFdL
QnVuZGxlU2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tC
dW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5jcHAKaW5kZXggYWI4OTY4N2Q4NGYxYWVlMDc0NjZmNDM1NGVmMWFmZjk2ODM3OWQwOC4uNzEy
N2Q0MjUxYjE0NWM0NmI2Y2U1MGI0ZDEzYTcxZjRkZmUzMmE2ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
Y3BwCkBAIC0zNDYsMTYgKzM0NiwyNCBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRKYXZhU2Ny
aXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdQogICAgICAg
ICAoKml0ZXIpLT5zZXR0aW5ncygpLnNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoZW5h
YmxlZCk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWQoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKQordm9pZCBJbmpl
Y3RlZEJ1bmRsZTo6c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSog
cGFnZUdyb3VwLCBXZWJQYWdlKiBwYWdlLCBib29sIGVuYWJsZWQpCiB7CiAgICAgQVNTRVJUKCFo
YXNQcm9jZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxlZ2U6OkNhbkFjY2Vzc1Jhd0Nvb2tpZXMp
KTsKLSAgICBpZiAoZW5hYmxlZCkKKworICAgIGlmIChlbmFibGVkID8gcGFnZS0+Y29yZVBhZ2Uo
KS0+c2Vzc2lvbklEKCkgPT0gUEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQo
KSA6ICFtX2luaXRpYWxTZXNzaW9uSUQpCisgICAgICAgIHJldHVybjsKKworICAgIFBBTDo6U2Vz
c2lvbklEIG5ld1Nlc3Npb25JRCA9IGVuYWJsZWQgPyBQQUw6OlNlc3Npb25JRDo6bGVnYWN5UHJp
dmF0ZVNlc3Npb25JRCgpIDogKm1faW5pdGlhbFNlc3Npb25JRDsKKyAgICBpZiAoZW5hYmxlZCkg
eworICAgICAgICBtX2luaXRpYWxTZXNzaW9uSUQgPSBwYWdlLT5jb3JlUGFnZSgpLT5zZXNzaW9u
SUQoKTsKICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlTGVnYWN5UHJpdmF0
ZUJyb3dzaW5nU2Vzc2lvbkluTmV0d29ya1Byb2Nlc3MoKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
bV9pbml0aWFsU2Vzc2lvbklEID0gV1RGOjpudWxsb3B0OwogCi0gICAgUGFnZUdyb3VwOjpwYWdl
R3JvdXAocGFnZUdyb3VwLT5pZGVudGlmaWVyKCkpLT5lbmFibGVMZWdhY3lQcml2YXRlQnJvd3Np
bmdGb3JUZXN0aW5nKGVuYWJsZWQpOworICAgIFBhZ2VHcm91cDo6cGFnZUdyb3VwKHBhZ2VHcm91
cC0+aWRlbnRpZmllcigpKS0+c2V0U2Vzc2lvbklERm9yVGVzdGluZyhuZXdTZXNzaW9uSUQpOwog
CiAgICAgYXV0byB3ZWJTdG9yYWdlTmFtZVNwYWNlUHJvdmlkZXIgPSBXZWJTdG9yYWdlTmFtZXNw
YWNlUHJvdmlkZXI6OmdldE9yQ3JlYXRlKCpwYWdlR3JvdXApOwotICAgIHdlYlN0b3JhZ2VOYW1l
U3BhY2VQcm92aWRlci0+ZW5hYmxlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nRm9yVGVzdGluZyhlbmFi
bGVkKTsKKyAgICB3ZWJTdG9yYWdlTmFtZVNwYWNlUHJvdmlkZXItPnNldFNlc3Npb25JREZvclRl
c3RpbmcobmV3U2Vzc2lvbklEKTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0UG9wdXBC
bG9ja2luZ0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuaAppbmRleCBmM2UyNzQ0MGM2ZjhmMGI4NzY3MmY2Y2ViNjgwZjVhNjYw
ODlkNDExLi42NjI5OWE0ZGJlNDZkZmYzMTdlZTM1MmFmNWEyYzM3Yzk2M2E0NWNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJDb250ZW50VHlwZXMuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1VzZXJTY3JpcHRUeXBlcy5oPgorI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtMTA0LDcgKzEwNSw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldEFzeW5jRnJhbWVTY3JvbGxpbmdFbmFibGVkKFdlYlBhZ2VHcm91cFBy
b3h5KiwgYm9vbCk7CiAgICAgdm9pZCBzZXRQbHVnaW5zRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94
eSosIGJvb2wpOwogICAgIHZvaWQgc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChXZWJQ
YWdlR3JvdXBQcm94eSosIGJvb2wpOwotICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZChXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOworICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSosIFdlYlBhZ2UqLCBib29sKTsKICAgICB2b2lkIHNl
dFBvcHVwQmxvY2tpbmdFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7CiAgICAgdm9p
ZCBzZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wp
OwogICAgIHZvaWQgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5
KiwgYm9vbCk7CkBAIC0xNzMsNiArMTc0LDggQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6dW5pcXVl
X3B0cjxBUEk6OkluamVjdGVkQnVuZGxlOjpDbGllbnQ+IG1fY2xpZW50OwogCisgICAgT3B0aW9u
YWw8UEFMOjpTZXNzaW9uSUQ+IG1faW5pdGlhbFNlc3Npb25JRDsKKwogI2lmIFBMQVRGT1JNKENP
Q09BKQogICAgIFJldGFpblB0cjxXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzPiBtX2J1bmRs
ZVBhcmFtZXRlcnM7CiAgICAgUmV0YWluUHRyPE5TU2V0PiBtX2NsYXNzZXNGb3JDb2RlcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAyMjM3ZTIyMTVl
MTU4ZDZhZmMyYTM2YWVkMDJiOTA2MWNhMDg4MzZhLi5lMjk2YjgyZTQzOTIxMDJjMGEzOWZjNzY5
N2UzNDdlMzcyYTk1NTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCkBAIC0yODg4LDggKzI4ODgsOCBAQCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5X
aGlsZUxvYWRpbmdRdWlyaygpCiAgICAgc2V0dGluZ3Muc2V0UGx1Z2luc0VuYWJsZWQoW3ByZWZl
cmVuY2VzIGFyZVBsdWdJbnNFbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0TG9jYWxTdG9yYWdl
RW5hYmxlZChbcHJlZmVyZW5jZXMgbG9jYWxTdG9yYWdlRW5hYmxlZF0pOwogCi0gICAgX3ByaXZh
dGUtPnBhZ2UtPmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZyhbcHJlZmVyZW5jZXMgcHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZF0pOwotICAgIF9wcml2YXRlLT5ncm91cC0+c3RvcmFnZU5hbWVzcGFj
ZVByb3ZpZGVyKCkuZW5hYmxlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nRm9yVGVzdGluZyhbcHJlZmVy
ZW5jZXMgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pOworICAgIF9wcml2YXRlLT5wYWdlLT5zZXRT
ZXNzaW9uSUQoW3ByZWZlcmVuY2VzIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdID8gUEFMOjpTZXNz
aW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSA6IFBBTDo6U2Vzc2lvbklEOjpkZWZhdWx0
U2Vzc2lvbklEKCkpOworICAgIF9wcml2YXRlLT5ncm91cC0+c3RvcmFnZU5hbWVzcGFjZVByb3Zp
ZGVyKCkuc2V0U2Vzc2lvbklERm9yVGVzdGluZyhbcHJlZmVyZW5jZXMgcHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZF0gPyBQQUw6OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpIDogUEFM
OjpTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSk7CiAgICAgc2V0dGluZ3Muc2V0U2Fuc1Nl
cmlmRm9udEZhbWlseShbcHJlZmVyZW5jZXMgc2Fuc1NlcmlmRm9udEZhbWlseV0pOwogICAgIHNl
dHRpbmdzLnNldFNlcmlmRm9udEZhbWlseShbcHJlZmVyZW5jZXMgc2VyaWZGb250RmFtaWx5XSk7
CiAgICAgc2V0dGluZ3Muc2V0U3RhbmRhcmRGb250RmFtaWx5KFtwcmVmZXJlbmNlcyBzdGFuZGFy
ZEZvbnRGYW1pbHldKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZp
ZXcuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXggODVlNGVl
YmYyYTg1ODg4YmQ3YWRjZGM1MzBlYjg3YTRiOGNhYzFhZC4uYTJhYmU5ZDNjZDBiYzcxMWJjYTAx
ODdkZjUwYTUyMzU2NjQwNjQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKQEAg
LTUzMDcsNyArNTMwNyw3IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFu
Z2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKICAgICBlbHNlCiAgICAgICAgIFdl
YkZyYW1lTmV0d29ya2luZ0NvbnRleHQ6OmRlc3Ryb3lQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7
CiAjZW5kaWYKLSAgICBtX3BhZ2UtPmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZyghIWVuYWJs
ZWQpOworICAgIG1fcGFnZS0+c2V0U2Vzc2lvbklEKCEhZW5hYmxlZCA/IFBBTDo6U2Vzc2lvbklE
OjpsZWdhY3lQcml2YXRlU2Vzc2lvbklEKCkgOiBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Np
b25JRCgpKTsKIAogICAgIGhyID0gcHJlZmVyZW5jZXMtPnNhbnNTZXJpZkZvbnRGYW1pbHkoJnN0
cik7CiAgICAgaWYgKEZBSUxFRChocikpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggMTg2MWU1ODY3M2VlZGNlOTlhYzUzMTYyYWEyOTNjYjAyMDI2
NmM4Mi4uODIwNGU2MmI5NzU5NWRlNTFlOWU3NGQwYjFmNWVlODI4Nzk0YTc2NSAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDE5LTA5LTA1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgV2hlbiBkaXNhYmxpbmcgbGVnYWN5IHByaXZhdGUgYnJvd3NpbmcgZm9yIHRl
c3RpbmcsIGNoYW5nZSB0aGUgU2Vzc2lvbklEIGJhY2sgdG8gd2hhdCBpdCB3YXMsIG5vdCB0aGUg
ZGVmYXVsdFNlc3Npb25JRAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjAxNDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
LmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmJlZ2luVGVzdGluZyk6CisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAg
ICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisKIDIw
MTktMDktMDMgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBb
Ym1hbGxvY10gSXNvVExTTGF5b3V0IGFuZCBBbGxJc29IZWFwcyByZWdpc3RyYXRpb24gaXMgcmFj
eSB3aXRoIGRlcml2ZWQgY2xhc3MgaW5pdGlhbGl6YXRpb24gd2l0aCB2aXJ0dWFsIGZ1bmN0aW9u
cwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmNwcAppbmRleCA4M2IyYjMwYjEzMzJlYzc3YmZlZmNjMjlmZGQxYTJlNDgz
Y2I1ZjIzLi40YTU3YWRhNWRmNmNhODkwMDljNGZmZTVjZTIzY2RhOWIyYTJhZDdkIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmNwcApAQCAtNDkzLDcgKzQ5Myw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmJlZ2lu
VGVzdGluZyhXS0RpY3Rpb25hcnlSZWYgc2V0dGluZ3MsIEJlZ2luZ1Rlc3RpbmdNb2RlIHRlCiAg
ICAgLy8gRG9uJ3QgY2hhbmdlIGV4cGVyaW1lbnRhbCBvciBpbnRlcm5hbCBmZWF0dXJlcyBoZXJl
OyB0aG9zZSBzaG91bGQgYmUgc2V0IGluIFRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2Vz
VG9Db25zaXN0ZW50VmFsdWVzKCkuCiAgICAgV0tCdW5kbGVTZXRBbGxvd1VuaXZlcnNhbEFjY2Vz
c0Zyb21GaWxlVVJMcyhtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIHRydWUpOwogICAgIFdLQnVuZGxl
U2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIHRy
dWUpOwotICAgIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChtX2J1bmRsZSwgbV9w
YWdlR3JvdXAsIGZhbHNlKTsKKyAgICBXS0J1bmRsZVNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
bV9idW5kbGUsIG1fcGFnZUdyb3VwLCBwYWdlKCktPnBhZ2UoKSwgZmFsc2UpOwogICAgIFdLQnVu
ZGxlU2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQobV9idW5kbGUsIG1fcGFnZUdyb3VwLCB0
cnVlKTsKICAgICBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQobV9idW5kbGUsIG1f
cGFnZUdyb3VwLCBmYWxzZSk7CiAgICAgV0tCdW5kbGVTZXRNaW5pbXVtTG9naWNhbEZvbnRTaXpl
KG1fYnVuZGxlLCBtX3BhZ2VHcm91cCwgOSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCBmNjZjMmFjMzJhZTI4NTQ4
ZjRmYzRhMzY5YjQ1YTgyMTliMGU2ZjZiLi5lOWU3ZDhjYWYzYjY5NzJmMmY0MTY0MGIwZWIwMjlh
MzQyYzJiY2RjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5jcHAKQEAgLTUzNCw3ICs1MzQsNyBAQCB2b2lkIFRlc3RSdW5uZXI6
OnNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoYm9vbCBlbmFibGVkKQogdm9pZCBUZXN0
UnVubmVyOjpzZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAgICBh
dXRvJiBpbmplY3RlZEJ1bmRsZSA9IEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKTsKLSAgICBX
S0J1bmRsZVNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoaW5qZWN0ZWRCdW5kbGUuYnVuZGxlKCks
IGluamVjdGVkQnVuZGxlLnBhZ2VHcm91cCgpLCBlbmFibGVkKTsKKyAgICBXS0J1bmRsZVNldFBy
aXZhdGVCcm93c2luZ0VuYWJsZWQoaW5qZWN0ZWRCdW5kbGUuYnVuZGxlKCksIGluamVjdGVkQnVu
ZGxlLnBhZ2VHcm91cCgpLCBpbmplY3RlZEJ1bmRsZS5wYWdlKCktPnBhZ2UoKSwgZW5hYmxlZCk7
CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6c2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQoYm9vbCBlbmFi
bGVkKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378112</attachid>
            <date>2019-09-05 13:33:07 -0700</date>
            <delta_ts>2019-09-05 16:54:34 -0700</delta_ts>
            <desc>WebKitGLibAPITests build fixes</desc>
            <filename>b201480.patch</filename>
            <type>text/plain</type>
            <size>517</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9DTWFrZUxpc3RzLnR4dCBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9DTWFrZUxpc3RzLnR4dAppbmRleCA2ZjFkNWEwOTM3OC4u
YjZlZDM3MDlkNTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9DTWFrZUxp
c3RzLnR4dAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvQ01ha2VMaXN0cy50eHQKQEAg
LTcsOCArNyw2IEBAIHNldChXZWJLaXRHTGliQVBJVGVzdHNfU09VUkNFUwogKQogCiBzZXQoV2Vi
S2l0R0xpYkFQSVRlc3RzX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAke0NNQUtFX1NPVVJDRV9E
SVJ9L1NvdXJjZQotICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dURgogICAgICR7Rk9S
V0FSRElOR19IRUFERVJTX0RJUn0KICAgICAke1RPT0xTX0RJUn0vVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRHTGliCiAgICAgJHtUT09MU19ESVJ9L1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRH
TGliCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378138</attachid>
            <date>2019-09-05 16:54:35 -0700</date>
            <delta_ts>2019-09-06 09:05:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201480-20190905165435.patch</filename>
            <type>text/plain</type>
            <size>20245</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5NDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjU0MDBkNWJhNjYyYzc3
ZWRhNzMwZGQ5ZjBlZDU1ZjdiMjZhMmY0OS4uYTU2YTRhNmJjZjQ3ZmI0NjZkOTk1MThiYjQ4OTFl
ZThmMjQ2NTY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA5LTA1ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgV2hlbiBk
aXNhYmxpbmcgbGVnYWN5IHByaXZhdGUgYnJvd3NpbmcgZm9yIHRlc3RpbmcsIGNoYW5nZSB0aGUg
U2Vzc2lvbklEIGJhY2sgdG8gd2hhdCBpdCB3YXMsIG5vdCB0aGUgZGVmYXVsdFNlc3Npb25JRAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDgwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gY2hhbmdl
IGluIGJlaGF2aW9yLCBidXQgdGhpcyBibG9ja3MgYnVnIDIwMDA1MCB3aGljaCB3aWxsIG1ha2Ug
V2ViS2l0VGVzdFJ1bm5lciB1c2UgYSBwZXJzaXN0ZW50LCBub24tZGVmYXVsdCBzZXNzaW9uLgor
ICAgICAgICBXaXRob3V0IHRoaXMgY2hhbmdlLCB0aGF0IGNoYW5nZSBjYXVzZXMgbG90cyBvZiB0
ZXN0IGZhaWx1cmVzIGJlY2F1c2Ugd2UgYXJlIHN3aXRjaGluZyBmcm9tIHRoZSBsZWdhY3kgcHJp
dmF0ZSBicm93c2luZyBzZXNzaW9uCisgICAgICAgIHRvIHRoZSBkZWZhdWx0IHNlc3Npb24gaW5z
dGVhZCBvZiB0aGUgc2Vzc2lvbiB3ZSB3ZXJlIHVzaW5nLgorCisgICAgICAgICogcGFnZS9QYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2lu
Zyk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9QYWdl
R3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwOjphZGRQYWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2VHcm91cDo6c2V0U2Vzc2lvbklERm9yVGVzdGluZyk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlR3JvdXA6OmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZ0ZvclRlc3Rp
bmcpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvUGFnZUdyb3VwLmg6CisgICAgICAgICogc3Rv
cmFnZS9TdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyOjpzZXRTZXNzaW9uSURGb3JUZXN0aW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjo6ZW5hYmxlTGVnYWN5UHJpdmF0ZUJy
b3dzaW5nRm9yVGVzdGluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlTmFt
ZXNwYWNlUHJvdmlkZXIuaDoKKwogMjAxOS0wOS0wNCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIEFsbG93IGNoZWNraW5nIHdoZXRoZXIgaW1hZ2Ugd2FzIGNyZWF0ZWQg
ZnJvbSBKYXZhU2NyaXB0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDUwMTU3MzA4ZDA2MGY3NzNhNmE0N2VkNmNlMmUx
ZjM1MDcwOWFiYzMuLjllY2RmZGEzZDA1Y2M0YmU3ZWJhNTg1NGE1ZTRkMThmOTk1ZDY3MjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDktMDUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBXaGVuIGRpc2FibGluZyBsZWdhY3kg
cHJpdmF0ZSBicm93c2luZyBmb3IgdGVzdGluZywgY2hhbmdlIHRoZSBTZXNzaW9uSUQgYmFjayB0
byB3aGF0IGl0IHdhcywgbm90IHRoZSBkZWZhdWx0U2Vzc2lvbklECisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0ODAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6
c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorCiAyMDE5LTA5LTA0ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIE1lc3NhZ2VSZWdpc3RyeSB0byBOZXR3
b3JrUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDViZTAyNWQ5OWE0ODE3
NTU0NWZmYTBjMzczZDIwZTQ2MGMzNDQ0ZDYuLmZmOGY2YTMxYjlkODYyYTNkNDhiMDA5YzgzMmFj
MDg3N2IyOTk3MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxOS0wOS0wNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgorCisgICAgICAgIFdoZW4gZGlzYWJsaW5nIGxlZ2FjeSBwcml2YXRlIGJyb3dzaW5nIGZvciB0
ZXN0aW5nLCBjaGFuZ2UgdGhlIFNlc3Npb25JRCBiYWNrIHRvIHdoYXQgaXQgd2FzLCBub3QgdGhl
IGRlZmF1bHRTZXNzaW9uSUQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMTQ4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVm
ZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTktMDgtMzAgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBBcHBLaXRDb21wYXRpYmlsaXR5RGVjbGFyYXRp
b25zLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCBkMGVjNDliZGMwODYzMWU1NjU4
MmM2NGNmMmQ0NzBiYmY1YjMwYmI4Li5jZGFlYjQwMTk4NmFkNzMyMDkzMmZiMjRmZWI1ZjA2YzY3
NjMzOGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTktMDktMDUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBXaGVuIGRpc2FibGluZyBsZWdhY3kgcHJpdmF0ZSBicm93c2luZyBmb3IgdGVzdGlu
ZywgY2hhbmdlIHRoZSBTZXNzaW9uSUQgYmFjayB0byB3aGF0IGl0IHdhcywgbm90IHRoZSBkZWZh
dWx0U2Vzc2lvbklECisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDE0ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXND
aGFuZ2VkKToKKwogMjAxOS0wOS0wMyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3ZlIHJlZHVuZGFudCBwYWludGluZyBwaGFzZSBhcmd1bWVudHMgZnJv
bSBHcmFwaGljc0xheWVyQ2xpZW50IGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggM2Y1
ODE4Mzk5NTIyMGEzODNmM2Y4NzY4YTliZjgzNGEzZjJmMzgwMC4uMzdlZTdlZDdjZDJmOTY4OWY4
YTY0OWViYjg1OWQ3N2Y5M2JkZDJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xNjc2LDE0ICsx
Njc2LDYgQEAgdm9pZCBQYWdlOjpzdG9yYWdlQmxvY2tpbmdTdGF0ZUNoYW5nZWQoKQogICAgICAg
ICB2aWV3LT5zdG9yYWdlQmxvY2tpbmdTdGF0ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBQYWdlOjpl
bmFibGVMZWdhY3lQcml2YXRlQnJvd3NpbmcoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkKQot
ewotICAgIC8vIERvbid0IGFsbG93IGNoYW5naW5nIHRoZSBsZWdhY3kgcHJpdmF0ZSBicm93c2lu
ZyBzdGF0ZSBpZiB3ZSBoYXZlIHNldCBhIHNlc3Npb24gSUQuCi0gICAgQVNTRVJUKG1fc2Vzc2lv
bklEID09IFBBTDo6U2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCkgfHwgbV9zZXNzaW9uSUQg
PT0gUEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSk7Ci0KLSAgICBzZXRT
ZXNzaW9uSUQocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCA/IFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQ
cml2YXRlU2Vzc2lvbklEKCkgOiBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKTsK
LX0KLQogdm9pZCBQYWdlOjp1cGRhdGVJc1BsYXlpbmdNZWRpYSh1aW50NjRfdCBzb3VyY2VFbGVt
ZW50SUQpCiB7CiAgICAgTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIHN0YXRlID0gTWVk
aWFQcm9kdWNlcjo6SXNOb3RQbGF5aW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA3Yzg2NTAyMzEwZjEx
ZGQzYWEwYzlkNjE2OWUzODU4ZTkzMmVhOTRjLi4yNjllNmZkYTE5MzQwYWIyNTVhOTc0Y2I2ZTUz
OGYzYzc0MjE0Y2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNjA3LDcgKzYwNyw2IEBAIHB1YmxpYzoK
IAogICAgIFdFQkNPUkVfRVhQT1JUIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCgpIGNvbnN0Owog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Vzc2lvbklEKFBBTDo6U2Vzc2lvbklEKTsKLSAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZyhib29sIHBy
aXZhdGVCcm93c2luZ0VuYWJsZWQpOwogICAgIGJvb2wgdXNlc0VwaGVtZXJhbFNlc3Npb24oKSBj
b25zdCB7IHJldHVybiBtX3Nlc3Npb25JRC5pc0VwaGVtZXJhbCgpOyB9CiAKICAgICBNZWRpYVBy
b2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MgbWVkaWFTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVk
aWFTdGF0ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3BwCmluZGV4IDEyOGMxOGYxNGI5MDhl
NzFiYzdjZWZiMzk2MjA3ZmViYmMwMGYyYWUuLmQ0YzU0YzRmZmU4YjYyNTg0ODk3MzQ1MTU4MmUy
YTc0MjIzMzYwMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5jcHAKQEAgLTk1LDcgKzk1LDcg
QEAgdm9pZCBQYWdlR3JvdXA6OmFkZFBhZ2UoUGFnZSYgcGFnZSkKICAgICBtX3BhZ2VzLmFkZCgm
cGFnZSk7CiAgICAgCiAgICAgaWYgKG1faXNMZWdhY3lQcml2YXRlQnJvd3NpbmdFbmFibGVkRm9y
VGVzdGluZykKLSAgICAgICAgcGFnZS5lbmFibGVMZWdhY3lQcml2YXRlQnJvd3NpbmcodHJ1ZSk7
CisgICAgICAgIHBhZ2Uuc2V0U2Vzc2lvbklEKFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQcml2YXRl
U2Vzc2lvbklEKCkpOwogfQogCiB2b2lkIFBhZ2VHcm91cDo6cmVtb3ZlUGFnZShQYWdlJiBwYWdl
KQpAQCAtMTI2LDE1ICsxMjYsMTYgQEAgQ2FwdGlvblVzZXJQcmVmZXJlbmNlcyYgUGFnZUdyb3Vw
OjpjYXB0aW9uUHJlZmVyZW5jZXMoKQogfQogI2VuZGlmCiAKLXZvaWQgUGFnZUdyb3VwOjplbmFi
bGVMZWdhY3lQcml2YXRlQnJvd3NpbmdGb3JUZXN0aW5nKGJvb2wgZW5hYmxlZCkKK3ZvaWQgUGFn
ZUdyb3VwOjpzZXRTZXNzaW9uSURGb3JUZXN0aW5nKGNvbnN0IFBBTDo6U2Vzc2lvbklEJiBzZXNz
aW9uSUQpCiB7Ci0gICAgaWYgKG1faXNMZWdhY3lQcml2YXRlQnJvd3NpbmdFbmFibGVkRm9yVGVz
dGluZyA9PSBlbmFibGVkKQorICAgIGJvb2wgbGVnYWN5UHJpdmF0ZSA9IHNlc3Npb25JRCA9PSBQ
QUw6OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpOworICAgIGlmIChtX2lzTGVn
YWN5UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZEZvclRlc3RpbmcgPT0gbGVnYWN5UHJpdmF0ZSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgbV9pc0xlZ2FjeVByaXZhdGVCcm93c2luZ0VuYWJsZWRGb3JU
ZXN0aW5nID0gZW5hYmxlZDsKKyAgICBtX2lzTGVnYWN5UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZEZv
clRlc3RpbmcgPSBsZWdhY3lQcml2YXRlOwogICAgIAogICAgIGZvciAoYXV0byogcGFnZSA6IG1f
cGFnZXMpCi0gICAgICAgIHBhZ2UtPmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZyhlbmFibGVk
KTsKKyAgICAgICAgcGFnZS0+c2V0U2Vzc2lvbklEKHNlc3Npb25JRCk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCmluZGV4IDZiYWYwYTFhYjEzYzll
MmYyZWY1MmYyYzFlNDAxZjMyNTBjZmIwOWYuLjg2M2IyOTYzMDczZDVmM2M1ZjdmZWQxYTA0NmE0
ZDFlZjFhMjk3MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApAQCAtMjksNiArMjksMTAgQEAK
ICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAorbmFtZXNwYWNlIFBBTCB7CitjbGFzcyBTZXNzaW9uSUQ7Cit9CisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgUGFnZTsKQEAgLTU4LDcgKzYyLDcgQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIENhcHRpb25Vc2VyUHJlZmVyZW5jZXMmIGNhcHRpb25QcmVmZXJlbmNl
cygpOwogI2VuZGlmCiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVuYWJsZUxlZ2FjeVByaXZh
dGVCcm93c2luZ0ZvclRlc3RpbmcoYm9vbCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRT
ZXNzaW9uSURGb3JUZXN0aW5nKGNvbnN0IFBBTDo6U2Vzc2lvbklEJik7CiAKIHByaXZhdGU6CiAg
ICAgU3RyaW5nIG1fbmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZU5hbWVzcGFjZVByb3ZpZGVyLmNwcAppbmRleCA2YzVhOGRlMDUyNGM2MGFkN2IxYjFhNjE1ZTQ2
Njk1M2IwMGVlYTY0Li5hM2UzNWQxZThiMzE4ZjM0MGQ4ZjJjNzI2ZDBhZmZmMzc5OGYwNzBmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VQcm92aWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlUHJvdmlk
ZXIuY3BwCkBAIC04Miw5ICs4Miw4IEBAIFN0b3JhZ2VOYW1lc3BhY2UmIFN0b3JhZ2VOYW1lc3Bh
Y2VQcm92aWRlcjo6dHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlKFNlY3VyCiAgICAgcmV0
dXJuICpzbG90OwogfQogCi12b2lkIFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjo6ZW5hYmxlTGVn
YWN5UHJpdmF0ZUJyb3dzaW5nRm9yVGVzdGluZyhib29sIGVuYWJsZWQpCit2b2lkIFN0b3JhZ2VO
YW1lc3BhY2VQcm92aWRlcjo6c2V0U2Vzc2lvbklERm9yVGVzdGluZyhjb25zdCBQQUw6OlNlc3Np
b25JRCYgbmV3U2Vzc2lvbklEKQogewotICAgIGF1dG8gbmV3U2Vzc2lvbklEID0gZW5hYmxlZCA/
IFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQcml2YXRlU2Vzc2lvbklEKCkgOiBQQUw6OlNlc3Npb25J
RDo6ZGVmYXVsdFNlc3Npb25JRCgpOwogICAgIGlmIChtX2xvY2FsU3RvcmFnZU5hbWVzcGFjZSAm
JiBuZXdTZXNzaW9uSUQgIT0gbV9sb2NhbFN0b3JhZ2VOYW1lc3BhY2UtPnNlc3Npb25JRCgpKQog
ICAgICAgICBtX2xvY2FsU3RvcmFnZU5hbWVzcGFjZS0+c2V0U2Vzc2lvbklERm9yVGVzdGluZyhu
ZXdTZXNzaW9uSUQpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
dG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZU5hbWVzcGFjZVByb3ZpZGVyLmgKaW5kZXggMDFkMDY0YjRhNjFkMDY3NjBkYzg3YWZlNzFjODM5
ZWEwMmY3ODg3Zi4uMjY5ZWNlNzY3YTdlNGVhNTczNWNiOWM3ODNjNThkOWI5ZDEwZjc5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5o
CkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKIAogICAgIFJlZjxTdG9yYWdlQXJlYT4gbG9jYWxT
dG9yYWdlQXJlYShEb2N1bWVudCYpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBlbmFibGVM
ZWdhY3lQcml2YXRlQnJvd3NpbmdGb3JUZXN0aW5nKGJvb2wgZW5hYmxlZCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRTZXNzaW9uSURGb3JUZXN0aW5nKGNvbnN0IFBBTDo6U2Vzc2lvbklE
Jik7CiAKIHByb3RlY3RlZDoKICAgICBTdG9yYWdlTmFtZXNwYWNlKiBvcHRpb25hbExvY2FsU3Rv
cmFnZU5hbWVzcGFjZSgpIHsgcmV0dXJuIG1fbG9jYWxTdG9yYWdlTmFtZXNwYWNlLmdldCgpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlLmNwcAppbmRleCBjYTg1ZDU4NWRjZjFiNzZlZjBiOGQxMWQ1OWFkNjYw
NGFjM2YxODZhLi5lMzQ3NzdlNzYxZGRhNzcwNzk3ZWFmZmZmNDYyYmMzNDkyNjUwNjhjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZS5jcHAKQEAgLTE2Niw5ICsxNjYsOSBAQCB2b2lkIFdLQnVuZGxlU2V0SmF2
YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChXS0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLQnVuZGxl
UGFnZQogICAgIFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJlZiktPnNldEphdmFTY3JpcHRDYW5BY2Nl
c3NDbGlwYm9hcmQoV2ViS2l0Ojp0b0ltcGwocGFnZUdyb3VwUmVmKSwgZW5hYmxlZCk7CiB9CiAK
LXZvaWQgV0tCdW5kbGVTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRs
ZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmLCBib29sIGVuYWJsZWQpCit2
b2lkIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGVS
ZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZiwgV0tCdW5kbGVQYWdlUmVmIHBh
Z2VSZWYsIGJvb2wgZW5hYmxlZCkKIHsKLSAgICBXZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5z
ZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdlYktpdDo6dG9JbXBsKHBhZ2VHcm91cFJlZiksIGVu
YWJsZWQpOworICAgIFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJlZiktPnNldFByaXZhdGVCcm93c2lu
Z0VuYWJsZWQoV2ViS2l0Ojp0b0ltcGwocGFnZUdyb3VwUmVmKSwgV2ViS2l0Ojp0b0ltcGwocGFn
ZVJlZiksIGVuYWJsZWQpOwogfQogCiB2b2lkIFdLQnVuZGxlU2V0UG9wdXBCbG9ja2luZ0VuYWJs
ZWQoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBS
ZWYsIGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaAppbmRleCBjOThh
Yjc5N2RmOGE2OWQzYWZiM2JkMjMyYzExMmJjMmQ4NjVhZTgwLi4xNGQ3ZDVjZTc5NmViMTk5MmMw
YmZjOTdmZTFhNDNhMDc4ODMxNjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCkBA
IC00OSw3ICs0OSw3IEBAIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0QWxsb3dTdG9yYWdlQWNj
ZXNzRnJvbUZpbGVVUkxTKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCCiBXS19FWFBPUlQgdm9pZCBX
S0J1bmRsZVNldE1pbmltdW1Mb2dpY2FsRm9udFNpemUoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBX
S0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIGludCBzaXplKTsKIFdLX0VYUE9SVCB2
b2lkIFdLQnVuZGxlU2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUs
IFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9S
VCB2b2lkIFdLQnVuZGxlU2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChXS0J1bmRsZVJl
ZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsK
LVdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS0J1bmRs
ZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVk
KTsKK1dLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS0J1
bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgV0tCdW5kbGVQ
YWdlUmVmIHBhZ2VSZWYsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNl
dFBvcHVwQmxvY2tpbmdFbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3Jv
dXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVT
ZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxl
UGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lkIFdL
QnVuZGxlU2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tC
dW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5jcHAKaW5kZXggYWI4OTY4N2Q4NGYxYWVlMDc0NjZmNDM1NGVmMWFmZjk2ODM3OWQwOC4uNzEy
N2Q0MjUxYjE0NWM0NmI2Y2U1MGI0ZDEzYTcxZjRkZmUzMmE2ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
Y3BwCkBAIC0zNDYsMTYgKzM0NiwyNCBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRKYXZhU2Ny
aXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdQogICAgICAg
ICAoKml0ZXIpLT5zZXR0aW5ncygpLnNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoZW5h
YmxlZCk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWQoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKQordm9pZCBJbmpl
Y3RlZEJ1bmRsZTo6c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSog
cGFnZUdyb3VwLCBXZWJQYWdlKiBwYWdlLCBib29sIGVuYWJsZWQpCiB7CiAgICAgQVNTRVJUKCFo
YXNQcm9jZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxlZ2U6OkNhbkFjY2Vzc1Jhd0Nvb2tpZXMp
KTsKLSAgICBpZiAoZW5hYmxlZCkKKworICAgIGlmIChlbmFibGVkID8gcGFnZS0+Y29yZVBhZ2Uo
KS0+c2Vzc2lvbklEKCkgPT0gUEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQo
KSA6ICFtX2luaXRpYWxTZXNzaW9uSUQpCisgICAgICAgIHJldHVybjsKKworICAgIFBBTDo6U2Vz
c2lvbklEIG5ld1Nlc3Npb25JRCA9IGVuYWJsZWQgPyBQQUw6OlNlc3Npb25JRDo6bGVnYWN5UHJp
dmF0ZVNlc3Npb25JRCgpIDogKm1faW5pdGlhbFNlc3Npb25JRDsKKyAgICBpZiAoZW5hYmxlZCkg
eworICAgICAgICBtX2luaXRpYWxTZXNzaW9uSUQgPSBwYWdlLT5jb3JlUGFnZSgpLT5zZXNzaW9u
SUQoKTsKICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlTGVnYWN5UHJpdmF0
ZUJyb3dzaW5nU2Vzc2lvbkluTmV0d29ya1Byb2Nlc3MoKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
bV9pbml0aWFsU2Vzc2lvbklEID0gV1RGOjpudWxsb3B0OwogCi0gICAgUGFnZUdyb3VwOjpwYWdl
R3JvdXAocGFnZUdyb3VwLT5pZGVudGlmaWVyKCkpLT5lbmFibGVMZWdhY3lQcml2YXRlQnJvd3Np
bmdGb3JUZXN0aW5nKGVuYWJsZWQpOworICAgIFBhZ2VHcm91cDo6cGFnZUdyb3VwKHBhZ2VHcm91
cC0+aWRlbnRpZmllcigpKS0+c2V0U2Vzc2lvbklERm9yVGVzdGluZyhuZXdTZXNzaW9uSUQpOwog
CiAgICAgYXV0byB3ZWJTdG9yYWdlTmFtZVNwYWNlUHJvdmlkZXIgPSBXZWJTdG9yYWdlTmFtZXNw
YWNlUHJvdmlkZXI6OmdldE9yQ3JlYXRlKCpwYWdlR3JvdXApOwotICAgIHdlYlN0b3JhZ2VOYW1l
U3BhY2VQcm92aWRlci0+ZW5hYmxlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nRm9yVGVzdGluZyhlbmFi
bGVkKTsKKyAgICB3ZWJTdG9yYWdlTmFtZVNwYWNlUHJvdmlkZXItPnNldFNlc3Npb25JREZvclRl
c3RpbmcobmV3U2Vzc2lvbklEKTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0UG9wdXBC
bG9ja2luZ0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuaAppbmRleCBmM2UyNzQ0MGM2ZjhmMGI4NzY3MmY2Y2ViNjgwZjVhNjYw
ODlkNDExLi42NjI5OWE0ZGJlNDZkZmYzMTdlZTM1MmFmNWEyYzM3Yzk2M2E0NWNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJDb250ZW50VHlwZXMuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1VzZXJTY3JpcHRUeXBlcy5oPgorI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtMTA0LDcgKzEwNSw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldEFzeW5jRnJhbWVTY3JvbGxpbmdFbmFibGVkKFdlYlBhZ2VHcm91cFBy
b3h5KiwgYm9vbCk7CiAgICAgdm9pZCBzZXRQbHVnaW5zRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94
eSosIGJvb2wpOwogICAgIHZvaWQgc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChXZWJQ
YWdlR3JvdXBQcm94eSosIGJvb2wpOwotICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZChXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOworICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSosIFdlYlBhZ2UqLCBib29sKTsKICAgICB2b2lkIHNl
dFBvcHVwQmxvY2tpbmdFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7CiAgICAgdm9p
ZCBzZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wp
OwogICAgIHZvaWQgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5
KiwgYm9vbCk7CkBAIC0xNzMsNiArMTc0LDggQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6dW5pcXVl
X3B0cjxBUEk6OkluamVjdGVkQnVuZGxlOjpDbGllbnQ+IG1fY2xpZW50OwogCisgICAgT3B0aW9u
YWw8UEFMOjpTZXNzaW9uSUQ+IG1faW5pdGlhbFNlc3Npb25JRDsKKwogI2lmIFBMQVRGT1JNKENP
Q09BKQogICAgIFJldGFpblB0cjxXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzPiBtX2J1bmRs
ZVBhcmFtZXRlcnM7CiAgICAgUmV0YWluUHRyPE5TU2V0PiBtX2NsYXNzZXNGb3JDb2RlcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAyMjM3ZTIyMTVl
MTU4ZDZhZmMyYTM2YWVkMDJiOTA2MWNhMDg4MzZhLi5lMjk2YjgyZTQzOTIxMDJjMGEzOWZjNzY5
N2UzNDdlMzcyYTk1NTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCkBAIC0yODg4LDggKzI4ODgsOCBAQCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5X
aGlsZUxvYWRpbmdRdWlyaygpCiAgICAgc2V0dGluZ3Muc2V0UGx1Z2luc0VuYWJsZWQoW3ByZWZl
cmVuY2VzIGFyZVBsdWdJbnNFbmFibGVkXSk7CiAgICAgc2V0dGluZ3Muc2V0TG9jYWxTdG9yYWdl
RW5hYmxlZChbcHJlZmVyZW5jZXMgbG9jYWxTdG9yYWdlRW5hYmxlZF0pOwogCi0gICAgX3ByaXZh
dGUtPnBhZ2UtPmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZyhbcHJlZmVyZW5jZXMgcHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZF0pOwotICAgIF9wcml2YXRlLT5ncm91cC0+c3RvcmFnZU5hbWVzcGFj
ZVByb3ZpZGVyKCkuZW5hYmxlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nRm9yVGVzdGluZyhbcHJlZmVy
ZW5jZXMgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0pOworICAgIF9wcml2YXRlLT5wYWdlLT5zZXRT
ZXNzaW9uSUQoW3ByZWZlcmVuY2VzIHByaXZhdGVCcm93c2luZ0VuYWJsZWRdID8gUEFMOjpTZXNz
aW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSA6IFBBTDo6U2Vzc2lvbklEOjpkZWZhdWx0
U2Vzc2lvbklEKCkpOworICAgIF9wcml2YXRlLT5ncm91cC0+c3RvcmFnZU5hbWVzcGFjZVByb3Zp
ZGVyKCkuc2V0U2Vzc2lvbklERm9yVGVzdGluZyhbcHJlZmVyZW5jZXMgcHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZF0gPyBQQUw6OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpIDogUEFM
OjpTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSk7CiAgICAgc2V0dGluZ3Muc2V0U2Fuc1Nl
cmlmRm9udEZhbWlseShbcHJlZmVyZW5jZXMgc2Fuc1NlcmlmRm9udEZhbWlseV0pOwogICAgIHNl
dHRpbmdzLnNldFNlcmlmRm9udEZhbWlseShbcHJlZmVyZW5jZXMgc2VyaWZGb250RmFtaWx5XSk7
CiAgICAgc2V0dGluZ3Muc2V0U3RhbmRhcmRGb250RmFtaWx5KFtwcmVmZXJlbmNlcyBzdGFuZGFy
ZEZvbnRGYW1pbHldKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZp
ZXcuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXggODVlNGVl
YmYyYTg1ODg4YmQ3YWRjZGM1MzBlYjg3YTRiOGNhYzFhZC4uYTJhYmU5ZDNjZDBiYzcxMWJjYTAx
ODdkZjUwYTUyMzU2NjQwNjQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKQEAg
LTUzMDcsNyArNTMwNyw3IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFu
Z2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKICAgICBlbHNlCiAgICAgICAgIFdl
YkZyYW1lTmV0d29ya2luZ0NvbnRleHQ6OmRlc3Ryb3lQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7
CiAjZW5kaWYKLSAgICBtX3BhZ2UtPmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZyghIWVuYWJs
ZWQpOworICAgIG1fcGFnZS0+c2V0U2Vzc2lvbklEKCEhZW5hYmxlZCA/IFBBTDo6U2Vzc2lvbklE
OjpsZWdhY3lQcml2YXRlU2Vzc2lvbklEKCkgOiBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Np
b25JRCgpKTsKIAogICAgIGhyID0gcHJlZmVyZW5jZXMtPnNhbnNTZXJpZkZvbnRGYW1pbHkoJnN0
cik7CiAgICAgaWYgKEZBSUxFRChocikpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggMTg2MWU1ODY3M2VlZGNlOTlhYzUzMTYyYWEyOTNjYjAyMDI2
NmM4Mi4uODIwNGU2MmI5NzU5NWRlNTFlOWU3NGQwYjFmNWVlODI4Nzk0YTc2NSAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDE5LTA5LTA1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgV2hlbiBkaXNhYmxpbmcgbGVnYWN5IHByaXZhdGUgYnJvd3NpbmcgZm9yIHRl
c3RpbmcsIGNoYW5nZSB0aGUgU2Vzc2lvbklEIGJhY2sgdG8gd2hhdCBpdCB3YXMsIG5vdCB0aGUg
ZGVmYXVsdFNlc3Npb25JRAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjAxNDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
LmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmJlZ2luVGVzdGluZyk6CisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAg
ICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisKIDIw
MTktMDktMDMgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBb
Ym1hbGxvY10gSXNvVExTTGF5b3V0IGFuZCBBbGxJc29IZWFwcyByZWdpc3RyYXRpb24gaXMgcmFj
eSB3aXRoIGRlcml2ZWQgY2xhc3MgaW5pdGlhbGl6YXRpb24gd2l0aCB2aXJ0dWFsIGZ1bmN0aW9u
cwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL0NNYWtlTGlzdHMudHh0IGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL0NNYWtlTGlzdHMudHh0CmluZGV4IDZmMWQ1YTA5Mzc4
OWNhZWIzMDU1OTU0ZGNhODFiZjEwMWE3Y2FhZjAuLmI2ZWQzNzA5ZDU4NzkwYTZkMDFiYzliOWNk
YjY1MTk5NWFlNzZjNTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvQ01ha2VMaXN0cy50eHQK
QEAgLTcsOCArNyw2IEBAIHNldChXZWJLaXRHTGliQVBJVGVzdHNfU09VUkNFUwogKQogCiBzZXQo
V2ViS2l0R0xpYkFQSVRlc3RzX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAke0NNQUtFX1NPVVJD
RV9ESVJ9L1NvdXJjZQotICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dURgogICAgICR7
Rk9SV0FSRElOR19IRUFERVJTX0RJUn0KICAgICAke1RPT0xTX0RJUn0vVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRHTGliCiAgICAgJHtUT09MU19ESVJ9L1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJL
aXRHTGliCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4IDgzYjJiMzBiMTMzMmVjNzdiZmVmY2MyOWZkZDFh
MmU0ODNjYjVmMjMuLjRhNTdhZGE1ZGY2Y2E4OTAwOWM0ZmZlNWNlMjNjZGE5YjJhMmFkN2QgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGUuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuY3BwCkBAIC00OTMsNyArNDkzLDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6
YmVnaW5UZXN0aW5nKFdLRGljdGlvbmFyeVJlZiBzZXR0aW5ncywgQmVnaW5nVGVzdGluZ01vZGUg
dGUKICAgICAvLyBEb24ndCBjaGFuZ2UgZXhwZXJpbWVudGFsIG9yIGludGVybmFsIGZlYXR1cmVz
IGhlcmU7IHRob3NlIHNob3VsZCBiZSBzZXQgaW4gVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVy
ZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKS4KICAgICBXS0J1bmRsZVNldEFsbG93VW5pdmVyc2Fs
QWNjZXNzRnJvbUZpbGVVUkxzKG1fYnVuZGxlLCBtX3BhZ2VHcm91cCwgdHJ1ZSk7CiAgICAgV0tC
dW5kbGVTZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKG1fYnVuZGxlLCBtX3BhZ2VHcm91
cCwgdHJ1ZSk7Ci0gICAgV0tCdW5kbGVTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKG1fYnVuZGxl
LCBtX3BhZ2VHcm91cCwgZmFsc2UpOworICAgIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIHBhZ2UoKS0+cGFnZSgpLCBmYWxzZSk7CiAgICAg
V0tCdW5kbGVTZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChtX2J1bmRsZSwgbV9wYWdlR3Jv
dXAsIHRydWUpOwogICAgIFdLQnVuZGxlU2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChtX2J1bmRs
ZSwgbV9wYWdlR3JvdXAsIGZhbHNlKTsKICAgICBXS0J1bmRsZVNldE1pbmltdW1Mb2dpY2FsRm9u
dFNpemUobV9idW5kbGUsIG1fcGFnZUdyb3VwLCA5KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IGY2NmMyYWMzMmFl
Mjg1NDhmNGZjNGEzNjliNDVhODIxOWIwZTZmNmIuLmU5ZTdkOGNhZjNiNjk3MmYyZjQxNjQwYjBl
YjAyOWEzNDJjMmJjZGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApAQCAtNTM0LDcgKzUzNCw3IEBAIHZvaWQgVGVzdFJ1
bm5lcjo6c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChib29sIGVuYWJsZWQpCiB2b2lk
IFRlc3RSdW5uZXI6OnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewog
ICAgIGF1dG8mIGluamVjdGVkQnVuZGxlID0gSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpOwot
ICAgIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChpbmplY3RlZEJ1bmRsZS5idW5k
bGUoKSwgaW5qZWN0ZWRCdW5kbGUucGFnZUdyb3VwKCksIGVuYWJsZWQpOworICAgIFdLQnVuZGxl
U2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChpbmplY3RlZEJ1bmRsZS5idW5kbGUoKSwgaW5qZWN0
ZWRCdW5kbGUucGFnZUdyb3VwKCksIGluamVjdGVkQnVuZGxlLnBhZ2UoKS0+cGFnZSgpLCBlbmFi
bGVkKTsKIH0KIAogdm9pZCBUZXN0UnVubmVyOjpzZXRQb3B1cEJsb2NraW5nRW5hYmxlZChib29s
IGVuYWJsZWQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378194</attachid>
            <date>2019-09-06 09:05:21 -0700</date>
            <delta_ts>2019-09-06 09:13:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201480-20190906090520.patch</filename>
            <type>text/plain</type>
            <size>18932</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0OTU3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA5LTA2ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgV2hlbiBkaXNh
YmxpbmcgbGVnYWN5IHByaXZhdGUgYnJvd3NpbmcgZm9yIHRlc3RpbmcsIGNoYW5nZSB0aGUgU2Vz
c2lvbklEIGJhY2sgdG8gd2hhdCBpdCB3YXMsIG5vdCB0aGUgZGVmYXVsdFNlc3Npb25JRAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxNDgwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBObyBjaGFuZ2UgaW4g
YmVoYXZpb3IsIGJ1dCB0aGlzIGJsb2NrcyBidWcgMjAwMDUwIHdoaWNoIHdpbGwgbWFrZSBXZWJL
aXRUZXN0UnVubmVyIHVzZSBhIHBlcnNpc3RlbnQsIG5vbi1kZWZhdWx0IHNlc3Npb24uCisgICAg
ICAgIFdpdGhvdXQgdGhpcyBjaGFuZ2UsIHRoYXQgY2hhbmdlIGNhdXNlcyBsb3RzIG9mIHRlc3Qg
ZmFpbHVyZXMgYmVjYXVzZSB3ZSBhcmUgc3dpdGNoaW5nIGZyb20gdGhlIGxlZ2FjeSBwcml2YXRl
IGJyb3dzaW5nIHNlc3Npb24KKyAgICAgICAgdG8gdGhlIGRlZmF1bHQgc2Vzc2lvbiBpbnN0ZWFk
IG9mIHRoZSBzZXNzaW9uIHdlIHdlcmUgdXNpbmcuCisKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZW5hYmxlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nKTog
RGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKiBwYWdlL1BhZ2VHcm91
cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlR3JvdXA6OmFkZFBhZ2UpOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZUdyb3VwOjpzZXRTZXNzaW9uSURGb3JUZXN0aW5nKToKKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2VHcm91cDo6ZW5hYmxlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nRm9yVGVzdGluZyk6
IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlR3JvdXAuaDoKKyAgICAgICAgKiBzdG9yYWdl
L1N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdl
TmFtZXNwYWNlUHJvdmlkZXI6OnNldFNlc3Npb25JREZvclRlc3RpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyOjplbmFibGVMZWdhY3lQcml2YXRlQnJvd3Np
bmdGb3JUZXN0aW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VOYW1lc3Bh
Y2VQcm92aWRlci5oOgorCiAyMDE5LTA5LTA2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZW1vdmUgTWVkaWFTdHJlYW1Qcml2YXRlOjpzY2hlZHVsZURlZmVy
cmVkVGFzawpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCShyZXZpc2lvbiAyNDk1NzQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjc2LDE0ICsxNjc2
LDYgQEAgdm9pZCBQYWdlOjpzdG9yYWdlQmxvY2tpbmdTdGF0ZUNoYW5nZWQoKQogICAgICAgICB2
aWV3LT5zdG9yYWdlQmxvY2tpbmdTdGF0ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBQYWdlOjplbmFi
bGVMZWdhY3lQcml2YXRlQnJvd3NpbmcoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkKQotewot
ICAgIC8vIERvbid0IGFsbG93IGNoYW5naW5nIHRoZSBsZWdhY3kgcHJpdmF0ZSBicm93c2luZyBz
dGF0ZSBpZiB3ZSBoYXZlIHNldCBhIHNlc3Npb24gSUQuCi0gICAgQVNTRVJUKG1fc2Vzc2lvbklE
ID09IFBBTDo6U2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCkgfHwgbV9zZXNzaW9uSUQgPT0g
UEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSk7Ci0KLSAgICBzZXRTZXNz
aW9uSUQocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCA/IFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQcml2
YXRlU2Vzc2lvbklEKCkgOiBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKTsKLX0K
LQogdm9pZCBQYWdlOjp1cGRhdGVJc1BsYXlpbmdNZWRpYSh1aW50NjRfdCBzb3VyY2VFbGVtZW50
SUQpCiB7CiAgICAgTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIHN0YXRlID0gTWVkaWFQ
cm9kdWNlcjo6SXNOb3RQbGF5aW5nOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJKHJldmlzaW9uIDI0OTU3
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MDcs
NyArNjA3LDYgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklEKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTZXNzaW9uSUQo
UEFMOjpTZXNzaW9uSUQpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZW5hYmxlTGVnYWN5UHJp
dmF0ZUJyb3dzaW5nKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk7CiAgICAgYm9vbCB1c2Vz
RXBoZW1lcmFsU2Vzc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fc2Vzc2lvbklELmlzRXBoZW1lcmFs
KCk7IH0KIAogICAgIE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBtZWRpYVN0YXRlKCkg
Y29uc3QgeyByZXR1cm4gbV9tZWRpYVN0YXRlOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VHcm91cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3Jv
dXAuY3BwCShyZXZpc2lvbiAyNDk1NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91
cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1LDcgKzk1LDcgQEAgdm9pZCBQYWdlR3JvdXA6OmFk
ZFBhZ2UoUGFnZSYgcGFnZSkKICAgICBtX3BhZ2VzLmFkZCgmcGFnZSk7CiAgICAgCiAgICAgaWYg
KG1faXNMZWdhY3lQcml2YXRlQnJvd3NpbmdFbmFibGVkRm9yVGVzdGluZykKLSAgICAgICAgcGFn
ZS5lbmFibGVMZWdhY3lQcml2YXRlQnJvd3NpbmcodHJ1ZSk7CisgICAgICAgIHBhZ2Uuc2V0U2Vz
c2lvbklEKFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQcml2YXRlU2Vzc2lvbklEKCkpOwogfQogCiB2
b2lkIFBhZ2VHcm91cDo6cmVtb3ZlUGFnZShQYWdlJiBwYWdlKQpAQCAtMTI2LDE1ICsxMjYsMTYg
QEAgQ2FwdGlvblVzZXJQcmVmZXJlbmNlcyYgUGFnZUdyb3VwOjpjYXB0aQogfQogI2VuZGlmCiAK
LXZvaWQgUGFnZUdyb3VwOjplbmFibGVMZWdhY3lQcml2YXRlQnJvd3NpbmdGb3JUZXN0aW5nKGJv
b2wgZW5hYmxlZCkKK3ZvaWQgUGFnZUdyb3VwOjpzZXRTZXNzaW9uSURGb3JUZXN0aW5nKGNvbnN0
IFBBTDo6U2Vzc2lvbklEJiBzZXNzaW9uSUQpCiB7Ci0gICAgaWYgKG1faXNMZWdhY3lQcml2YXRl
QnJvd3NpbmdFbmFibGVkRm9yVGVzdGluZyA9PSBlbmFibGVkKQorICAgIGJvb2wgbGVnYWN5UHJp
dmF0ZSA9IHNlc3Npb25JRCA9PSBQQUw6OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNlc3Npb25J
RCgpOworICAgIGlmIChtX2lzTGVnYWN5UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZEZvclRlc3Rpbmcg
PT0gbGVnYWN5UHJpdmF0ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9pc0xlZ2FjeVByaXZh
dGVCcm93c2luZ0VuYWJsZWRGb3JUZXN0aW5nID0gZW5hYmxlZDsKKyAgICBtX2lzTGVnYWN5UHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZEZvclRlc3RpbmcgPSBsZWdhY3lQcml2YXRlOwogICAgIAogICAg
IGZvciAoYXV0byogcGFnZSA6IG1fcGFnZXMpCi0gICAgICAgIHBhZ2UtPmVuYWJsZUxlZ2FjeVBy
aXZhdGVCcm93c2luZyhlbmFibGVkKTsKKyAgICAgICAgcGFnZS0+c2V0U2Vzc2lvbklEKHNlc3Np
b25JRCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUdyb3VwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
R3JvdXAuaAkocmV2aXNpb24gMjQ5NTc0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3Jv
dXAuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksMTAgQEAKICNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAorbmFtZXNwYWNl
IFBBTCB7CitjbGFzcyBTZXNzaW9uSUQ7Cit9CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgUGFnZTsKQEAgLTU4LDcgKzYyLDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIENh
cHRpb25Vc2VyUHJlZmVyZW5jZXMmIGNhcHRpb25QcmVmZXJlbmNlcygpOwogI2VuZGlmCiAKLSAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZ0ZvclRlc3Rp
bmcoYm9vbCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTZXNzaW9uSURGb3JUZXN0aW5n
KGNvbnN0IFBBTDo6U2Vzc2lvbklEJik7CiAKIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fbmFtZTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VQ
cm92aWRlci5jcHAJKHJldmlzaW9uIDI0OTU3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODIsOSArODIs
OCBAQCBTdG9yYWdlTmFtZXNwYWNlJiBTdG9yYWdlTmFtZXNwYWNlUHJvdmlkCiAgICAgcmV0dXJu
ICpzbG90OwogfQogCi12b2lkIFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjo6ZW5hYmxlTGVnYWN5
UHJpdmF0ZUJyb3dzaW5nRm9yVGVzdGluZyhib29sIGVuYWJsZWQpCit2b2lkIFN0b3JhZ2VOYW1l
c3BhY2VQcm92aWRlcjo6c2V0U2Vzc2lvbklERm9yVGVzdGluZyhjb25zdCBQQUw6OlNlc3Npb25J
RCYgbmV3U2Vzc2lvbklEKQogewotICAgIGF1dG8gbmV3U2Vzc2lvbklEID0gZW5hYmxlZCA/IFBB
TDo6U2Vzc2lvbklEOjpsZWdhY3lQcml2YXRlU2Vzc2lvbklEKCkgOiBQQUw6OlNlc3Npb25JRDo6
ZGVmYXVsdFNlc3Npb25JRCgpOwogICAgIGlmIChtX2xvY2FsU3RvcmFnZU5hbWVzcGFjZSAmJiBu
ZXdTZXNzaW9uSUQgIT0gbV9sb2NhbFN0b3JhZ2VOYW1lc3BhY2UtPnNlc3Npb25JRCgpKQogICAg
ICAgICBtX2xvY2FsU3RvcmFnZU5hbWVzcGFjZS0+c2V0U2Vzc2lvbklERm9yVGVzdGluZyhuZXdT
ZXNzaW9uSUQpOwogICAgIApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFt
ZXNwYWNlUHJvdmlkZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5oCShyZXZpc2lvbiAyNDk1NzQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKIAogICAgIFJlZjxTdG9yYWdlQXJlYT4gbG9jYWxTdG9y
YWdlQXJlYShEb2N1bWVudCYpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBlbmFibGVMZWdh
Y3lQcml2YXRlQnJvd3NpbmdGb3JUZXN0aW5nKGJvb2wgZW5hYmxlZCk7CisgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRTZXNzaW9uSURGb3JUZXN0aW5nKGNvbnN0IFBBTDo6U2Vzc2lvbklEJik7
CiAKIHByb3RlY3RlZDoKICAgICBTdG9yYWdlTmFtZXNwYWNlKiBvcHRpb25hbExvY2FsU3RvcmFn
ZU5hbWVzcGFjZSgpIHsgcmV0dXJuIG1fbG9jYWxTdG9yYWdlTmFtZXNwYWNlLmdldCgpOyB9Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwkocmV2aXNpb24gMjQ5NTc0KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0wOS0wNiAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFdoZW4gZGlzYWJsaW5n
IGxlZ2FjeSBwcml2YXRlIGJyb3dzaW5nIGZvciB0ZXN0aW5nLCBjaGFuZ2UgdGhlIFNlc3Npb25J
RCBiYWNrIHRvIHdoYXQgaXQgd2FzLCBub3QgdGhlIGRlZmF1bHRTZXNzaW9uSUQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ4MAorCisgICAgICAg
IFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGU6OnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaDoKKwogMjAxOS0wOS0wNiAgUGF0cmljayBH
cmlmZmlzICA8cGdyaWZmaXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVdIERvIG5v
dCBlbmFibGUgdGhlIHNhbmRib3ggaW4gU25hcApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCShy
ZXZpc2lvbiAyNDk1NzQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDYsMTYgKzM0NiwyNyBA
QCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRKYXZhU2NyaXB0Q2FuQWNjCiAgICAgICAgICgqaXRl
ciktPnNldHRpbmdzKCkuc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChlbmFibGVkKTsK
IH0KIAotdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXZWJQ
YWdlR3JvdXBQcm94eSogcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpCit2b2lkIEluamVjdGVkQnVu
ZGxlOjpzZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3Jv
dXAsIFdlYlBhZ2UqIHBhZ2UsIGJvb2wgZW5hYmxlZCkKIHsKICAgICBBU1NFUlQoIWhhc1Byb2Nl
c3NQcml2aWxlZ2UoUHJvY2Vzc1ByaXZpbGVnZTo6Q2FuQWNjZXNzUmF3Q29va2llcykpOwotICAg
IGlmIChlbmFibGVkKQorCisgICAgUEFMOjpTZXNzaW9uSUQgbmV3U2Vzc2lvbklEID0gUEFMOjpT
ZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKTsKKyAgICBpZiAoZW5hYmxlZCkgewor
ICAgICAgICBhdXRvIGN1cnJlbnRTZXNzaW9uSUQgPSBwYWdlLT5jb3JlUGFnZSgpLT5zZXNzaW9u
SUQoKTsKKyAgICAgICAgaWYgKGN1cnJlbnRTZXNzaW9uSUQgPT0gUEFMOjpTZXNzaW9uSUQ6Omxl
Z2FjeVByaXZhdGVTZXNzaW9uSUQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV9p
bml0aWFsU2Vzc2lvbklEID0gY3VycmVudFNlc3Npb25JRDsKICAgICAgICAgV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkuZW5zdXJlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbkluTmV0d29ya1By
b2Nlc3MoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoIW1faW5pdGlhbFNlc3Npb25JRCkK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbmV3U2Vzc2lvbklEID0gKnN0ZDo6ZXhjaGFu
Z2UobV9pbml0aWFsU2Vzc2lvbklELCBXVEY6Om51bGxvcHQpOworICAgIH0KIAotICAgIFBhZ2VH
cm91cDo6cGFnZUdyb3VwKHBhZ2VHcm91cC0+aWRlbnRpZmllcigpKS0+ZW5hYmxlTGVnYWN5UHJp
dmF0ZUJyb3dzaW5nRm9yVGVzdGluZyhlbmFibGVkKTsKKyAgICBQYWdlR3JvdXA6OnBhZ2VHcm91
cChwYWdlR3JvdXAtPmlkZW50aWZpZXIoKSktPnNldFNlc3Npb25JREZvclRlc3RpbmcobmV3U2Vz
c2lvbklEKTsKIAogICAgIGF1dG8gd2ViU3RvcmFnZU5hbWVTcGFjZVByb3ZpZGVyID0gV2ViU3Rv
cmFnZU5hbWVzcGFjZVByb3ZpZGVyOjpnZXRPckNyZWF0ZSgqcGFnZUdyb3VwKTsKLSAgICB3ZWJT
dG9yYWdlTmFtZVNwYWNlUHJvdmlkZXItPmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZ0ZvclRl
c3RpbmcoZW5hYmxlZCk7CisgICAgd2ViU3RvcmFnZU5hbWVTcGFjZVByb3ZpZGVyLT5zZXRTZXNz
aW9uSURGb3JUZXN0aW5nKG5ld1Nlc3Npb25JRCk7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6
OnNldFBvcHVwQmxvY2tpbmdFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXAsIGJv
b2wgZW5hYmxlZCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCShyZXZpc2lvbiAyNDk1NzQpCisrKyBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJDb250ZW50VHlwZXMuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1VzZXJTY3JpcHRUeXBlcy5oPgorI2luY2x1ZGUgPHBhbC9TZXNzaW9u
SUQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtMTA0LDcgKzEwNSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldEFzeW5jRnJhbWVTY3JvbGxpbmdFbmFibGVkKFdlYlBhZ2VHcm91
cFByb3h5KiwgYm9vbCk7CiAgICAgdm9pZCBzZXRQbHVnaW5zRW5hYmxlZChXZWJQYWdlR3JvdXBQ
cm94eSosIGJvb2wpOwogICAgIHZvaWQgc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChX
ZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOwotICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZChXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOworICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSosIFdlYlBhZ2UqLCBib29sKTsKICAgICB2b2lk
IHNldFBvcHVwQmxvY2tpbmdFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7CiAgICAg
dm9pZCBzZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSosIGJv
b2wpOwogICAgIHZvaWQgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKFdlYlBhZ2VHcm91cFBy
b3h5KiwgYm9vbCk7CkBAIC0xNzMsNiArMTc0LDggQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6dW5p
cXVlX3B0cjxBUEk6OkluamVjdGVkQnVuZGxlOjpDbGllbnQ+IG1fY2xpZW50OwogCisgICAgT3B0
aW9uYWw8UEFMOjpTZXNzaW9uSUQ+IG1faW5pdGlhbFNlc3Npb25JRDsKKwogI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgIFJldGFpblB0cjxXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzPiBtX2J1
bmRsZVBhcmFtZXRlcnM7CiAgICAgUmV0YWluUHRyPE5TU2V0PiBtX2NsYXNzZXNGb3JDb2RlcjsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1
bmRsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAkocmV2aXNpb24gMjQ5NTc0KQorKysgU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTY2LDkgKzE2Niw5IEBAIHZvaWQgV0tCdW5kbGVTZXRKYXZhU2NyaXB0Q2Fu
QWNjZXNzQ2xpcGIKICAgICBXZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5zZXRKYXZhU2NyaXB0
Q2FuQWNjZXNzQ2xpcGJvYXJkKFdlYktpdDo6dG9JbXBsKHBhZ2VHcm91cFJlZiksIGVuYWJsZWQp
OwogfQogCi12b2lkIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS0J1bmRsZVJl
ZiBidW5kbGVSZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZiwgYm9vbCBlbmFi
bGVkKQordm9pZCBXS0J1bmRsZVNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoV0tCdW5kbGVSZWYg
YnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIFdLQnVuZGxlUGFn
ZVJlZiBwYWdlUmVmLCBib29sIGVuYWJsZWQpCiB7Ci0gICAgV2ViS2l0Ojp0b0ltcGwoYnVuZGxl
UmVmKS0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXZWJLaXQ6OnRvSW1wbChwYWdlR3JvdXBS
ZWYpLCBlbmFibGVkKTsKKyAgICBXZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5zZXRQcml2YXRl
QnJvd3NpbmdFbmFibGVkKFdlYktpdDo6dG9JbXBsKHBhZ2VHcm91cFJlZiksIFdlYktpdDo6dG9J
bXBsKHBhZ2VSZWYpLCBlbmFibGVkKTsKIH0KIAogdm9pZCBXS0J1bmRsZVNldFBvcHVwQmxvY2tp
bmdFbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFn
ZUdyb3VwUmVmLCBib29sIGVuYWJsZWQpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0
ZS5oCShyZXZpc2lvbiAyNDk1NzQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDcg
KzQ5LDcgQEAgV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRBbGxvd1N0b3JhZ2VBYwogV0tfRVhQ
T1JUIHZvaWQgV0tCdW5kbGVTZXRNaW5pbXVtTG9naWNhbEZvbnRTaXplKFdLQnVuZGxlUmVmIGJ1
bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmLCBpbnQgc2l6ZSk7CiBX
S19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoV0tCdW5kbGVS
ZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7
CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQo
V0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wg
ZW5hYmxlZCk7Ci1XS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJv
b2wgZW5hYmxlZCk7CitXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAs
IFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIHZvaWQg
V0tCdW5kbGVTZXRQb3B1cEJsb2NraW5nRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVu
ZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lk
IFdLQnVuZGxlU2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxl
LCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBP
UlQgdm9pZCBXS0J1bmRsZVNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChXS0J1bmRsZVJlZiBi
dW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0OTU3NCkKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEz
IEBACisyMDE5LTA5LTA2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgV2hlbiBkaXNhYmxpbmcgbGVnYWN5IHByaXZhdGUgYnJvd3NpbmcgZm9y
IHRlc3RpbmcsIGNoYW5nZSB0aGUgU2Vzc2lvbklEIGJhY2sgdG8gd2hhdCBpdCB3YXMsIG5vdCB0
aGUgZGVmYXVsdFNlc3Npb25JRAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjAxNDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4K
KworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJl
ZmVyZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE5LTA5LTA2ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxp
YS5jb20+CiAKICAgICAgICAgQWRkIHJ1bnRpbWUgZmxhZyBmb3IgbGF6eSBpbWFnZSBsb2FkaW5n
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZp
c2lvbiAyNDk1NzQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTI4ODgsOCArMjg4OCw4IEBAIC0gKHZvaWQpX3ByZWZlcmVu
Y2VzQ2hhbmdlZDooV2ViUHJlZmVyZW4KICAgICBzZXR0aW5ncy5zZXRQbHVnaW5zRW5hYmxlZChb
cHJlZmVyZW5jZXMgYXJlUGx1Z0luc0VuYWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRMb2NhbFN0
b3JhZ2VFbmFibGVkKFtwcmVmZXJlbmNlcyBsb2NhbFN0b3JhZ2VFbmFibGVkXSk7CiAKLSAgICBf
cHJpdmF0ZS0+cGFnZS0+ZW5hYmxlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nKFtwcmVmZXJlbmNlcyBw
cml2YXRlQnJvd3NpbmdFbmFibGVkXSk7Ci0gICAgX3ByaXZhdGUtPmdyb3VwLT5zdG9yYWdlTmFt
ZXNwYWNlUHJvdmlkZXIoKS5lbmFibGVMZWdhY3lQcml2YXRlQnJvd3NpbmdGb3JUZXN0aW5nKFtw
cmVmZXJlbmNlcyBwcml2YXRlQnJvd3NpbmdFbmFibGVkXSk7CisgICAgX3ByaXZhdGUtPnBhZ2Ut
PnNldFNlc3Npb25JRChbcHJlZmVyZW5jZXMgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF0gPyBQQUw6
OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpIDogUEFMOjpTZXNzaW9uSUQ6OmRl
ZmF1bHRTZXNzaW9uSUQoKSk7CisgICAgX3ByaXZhdGUtPmdyb3VwLT5zdG9yYWdlTmFtZXNwYWNl
UHJvdmlkZXIoKS5zZXRTZXNzaW9uSURGb3JUZXN0aW5nKFtwcmVmZXJlbmNlcyBwcml2YXRlQnJv
d3NpbmdFbmFibGVkXSA/IFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQcml2YXRlU2Vzc2lvbklEKCkg
OiBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKTsKICAgICBzZXR0aW5ncy5zZXRT
YW5zU2VyaWZGb250RmFtaWx5KFtwcmVmZXJlbmNlcyBzYW5zU2VyaWZGb250RmFtaWx5XSk7CiAg
ICAgc2V0dGluZ3Muc2V0U2VyaWZGb250RmFtaWx5KFtwcmVmZXJlbmNlcyBzZXJpZkZvbnRGYW1p
bHldKTsKICAgICBzZXR0aW5ncy5zZXRTdGFuZGFyZEZvbnRGYW1pbHkoW3ByZWZlcmVuY2VzIHN0
YW5kYXJkRm9udEZhbWlseV0pOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkocmV2
aXNpb24gMjQ5NTc0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDktMDYgIEFsZXggQ2hyaXN0ZW5zZW4g
IDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBXaGVuIGRpc2FibGluZyBsZWdh
Y3kgcHJpdmF0ZSBicm93c2luZyBmb3IgdGVzdGluZywgY2hhbmdlIHRoZSBTZXNzaW9uSUQgYmFj
ayB0byB3aGF0IGl0IHdhcywgbm90IHRoZSBkZWZhdWx0U2Vzc2lvbklECisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE0ODAKKworICAgICAgICBSZXZp
ZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAg
IChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAyMDE5LTA5LTA2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgQWRkIHJ1bnRpbWUgZmxhZyBmb3Ig
bGF6eSBpbWFnZSBsb2FkaW5nCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAko
cmV2aXNpb24gMjQ5NTc0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTUzMDcsNyArNTMwNyw3IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90
aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAgICBlbHNlCiAgICAgICAgIFdlYkZyYW1lTmV0d29ya2lu
Z0NvbnRleHQ6OmRlc3Ryb3lQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7CiAjZW5kaWYKLSAgICBt
X3BhZ2UtPmVuYWJsZUxlZ2FjeVByaXZhdGVCcm93c2luZyghIWVuYWJsZWQpOworICAgIG1fcGFn
ZS0+c2V0U2Vzc2lvbklEKCEhZW5hYmxlZCA/IFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQcml2YXRl
U2Vzc2lvbklEKCkgOiBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKTsKIAogICAg
IGhyID0gcHJlZmVyZW5jZXMtPnNhbnNTZXJpZkZvbnRGYW1pbHkoJnN0cik7CiAgICAgaWYgKEZB
SUxFRChocikpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNDk1NzQpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wOS0wNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFdoZW4gZGlzYWJsaW5nIGxlZ2FjeSBwcml2
YXRlIGJyb3dzaW5nIGZvciB0ZXN0aW5nLCBjaGFuZ2UgdGhlIFNlc3Npb25JRCBiYWNrIHRvIHdo
YXQgaXQgd2FzLCBub3QgdGhlIGRlZmF1bHRTZXNzaW9uSUQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTQ4MAorCisgICAgICAgIFJldmlld2VkIGJ5
IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmJl
Z2luVGVzdGluZyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9U
ZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0UHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZCk6CisKIDIwMTktMDktMDYgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4K
IAogICAgICAgICBBZGQgcnVudGltZSBmbGFnIGZvciBsYXp5IGltYWdlIGxvYWRpbmcKSW5kZXg6
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL2dsaWIvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI0OTU3NCkK
KysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtNyw4ICs3LDYgQEAgc2V0KFdlYktpdEdMaWJBUElUZXN0c19TT1VSQ0VTCiApCiAKIHNl
dChXZWJLaXRHTGliQVBJVGVzdHNfSU5DTFVERV9ESVJFQ1RPUklFUwotICAgICR7Q01BS0VfU09V
UkNFX0RJUn0vU291cmNlCi0gICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV1RGCiAgICAg
JHtGT1JXQVJESU5HX0hFQURFUlNfRElSfQogICAgICR7VE9PTFNfRElSfS9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdEdMaWIKICAgICAke1RPT0xTX0RJUn0vVGVzdFdlYktpdEFQSS9nbGliL1dl
YktpdEdMaWIKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCShyZXZpc2lvbiAyNDk1NzQpCisrKyBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDk3LDcgKzQ5Nyw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmJlZ2lu
VGVzdGluZyhXS0RpY3QKICAgICAvLyBEb24ndCBjaGFuZ2UgZXhwZXJpbWVudGFsIG9yIGludGVy
bmFsIGZlYXR1cmVzIGhlcmU7IHRob3NlIHNob3VsZCBiZSBzZXQgaW4gVGVzdENvbnRyb2xsZXI6
OnJlc2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKS4KICAgICBXS0J1bmRsZVNldEFs
bG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKG1fYnVuZGxlLCBtX3BhZ2VHcm91cCwgdHJ1
ZSk7CiAgICAgV0tCdW5kbGVTZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKG1fYnVuZGxl
LCBtX3BhZ2VHcm91cCwgdHJ1ZSk7Ci0gICAgV0tCdW5kbGVTZXRQcml2YXRlQnJvd3NpbmdFbmFi
bGVkKG1fYnVuZGxlLCBtX3BhZ2VHcm91cCwgZmFsc2UpOworICAgIFdLQnVuZGxlU2V0UHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIHBhZ2UoKS0+cGFnZSgpLCBm
YWxzZSk7CiAgICAgV0tCdW5kbGVTZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChtX2J1bmRs
ZSwgbV9wYWdlR3JvdXAsIHRydWUpOwogICAgIFdLQnVuZGxlU2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIGZhbHNlKTsKICAgICBXS0J1bmRsZVNldE1pbmlt
dW1Mb2dpY2FsRm9udFNpemUobV9idW5kbGUsIG1fcGFnZUdyb3VwLCA5KTsKSW5kZXg6IFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cAkocmV2aXNpb24gMjQ5NTc0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTM0LDcgKzUzNCw3IEBAIHZv
aWQgVGVzdFJ1bm5lcjo6c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0MKIHZvaWQgVGVzdFJ1bm5lcjo6
c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZF9ERVBSRUNBVEVEKGJvb2wgZW5hYmxlZCkKIHsKICAg
ICBhdXRvJiBpbmplY3RlZEJ1bmRsZSA9IEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKTsKLSAg
ICBXS0J1bmRsZVNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoaW5qZWN0ZWRCdW5kbGUuYnVuZGxl
KCksIGluamVjdGVkQnVuZGxlLnBhZ2VHcm91cCgpLCBlbmFibGVkKTsKKyAgICBXS0J1bmRsZVNl
dFByaXZhdGVCcm93c2luZ0VuYWJsZWQoaW5qZWN0ZWRCdW5kbGUuYnVuZGxlKCksIGluamVjdGVk
QnVuZGxlLnBhZ2VHcm91cCgpLCBpbmplY3RlZEJ1bmRsZS5wYWdlKCktPnBhZ2UoKSwgZW5hYmxl
ZCk7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6c2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQoYm9vbCBl
bmFibGVkKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>