<?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>205312</bug_id>
          
          <creation_ts>2019-12-16 16:29:39 -0800</creation_ts>
          <short_desc>IndexedDB: remove timer for pending operations in IDBTransaction</short_desc>
          <delta_ts>2019-12-19 18:05:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1599200</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-12-16 16:29:39 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599205</commentid>
    <comment_count>1</comment_count>
      <attachid>385829</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-12-16 16:43:20 -0800</bug_when>
    <thetext>Created attachment 385829
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599210</commentid>
    <comment_count>2</comment_count>
      <attachid>385830</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-12-16 16:47:48 -0800</bug_when>
    <thetext>Created attachment 385830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600351</commentid>
    <comment_count>3</comment_count>
      <attachid>385830</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2019-12-19 10:10:50 -0800</bug_when>
    <thetext>Comment on attachment 385830
Patch

If no regressions then... yay.

Wish we could have a test that tries to make the web process unresponsive to verify this doesn&apos;t regress.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600578</commentid>
    <comment_count>4</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-12-19 17:17:13 -0800</bug_when>
    <thetext>(In reply to Brady Eidson from comment #3)
&gt; Comment on attachment 385830 [details]
&gt; Patch
&gt; 
&gt; If no regressions then... yay.
&gt; 
&gt; Wish we could have a test that tries to make the web process unresponsive to
&gt; verify this doesn&apos;t regress.

We have some stress tests in PerformanceTests/IndexedDB/stress. This change will make PerformanceTests/IndexedDB/stress/large-number-of-inserts-responsiveness.html a bit slower than before (10ms -&gt; ~50ms) as IDB operations now can happen earlier now but so far no proof of web process being unresponsive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600580</commentid>
    <comment_count>5</comment_count>
      <attachid>386166</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-12-19 17:20:11 -0800</bug_when>
    <thetext>Created attachment 386166
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600600</commentid>
    <comment_count>6</comment_count>
      <attachid>386166</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-19 18:05:00 -0800</bug_when>
    <thetext>Comment on attachment 386166
Patch for landing

Clearing flags on attachment: 386166

Committed r253807: &lt;https://trac.webkit.org/changeset/253807&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600601</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-19 18:05:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385829</attachid>
            <date>2019-12-16 16:43:20 -0800</date>
            <delta_ts>2019-12-16 16:47:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205312-20191216164320.patch</filename>
            <type>text/plain</type>
            <size>13189</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZkOWM4ODNlOTM2YWUy
OWRkYTQ4NzQwZWMyZjdjZmE2N2EwMzI4YS4uZmI4N2Y4NDIwOTE4YTliYTA3YTA3MDMxN2Q2NDFh
ZGEyN2U0NmI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE5LTEyLTE2ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEluZGV4ZWREQjogcmVtb3Zl
IHRpbWVyIGZvciBwZW5kaW5nIG9wZXJhdGlvbnMgaW4gSURCVHJhbnNhY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTMxMgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gcGVuZGluZ09wZXJh
dGlvblRpbWVyIGZpcmVkLCBJREJUcmFuc2FzY3Rpb24gd291bGQgdHJ5IHByb2Nlc3NpbmcgcGVu
ZGluZyBvcGVyYXRpb25zIG9yIGNvbW1pdGluZyAKKyAgICAgICAgYXV0b21hdGljYWxseS4KKyAg
ICAgICAgcGVuZGluZ09wZXJhdGlvblRpbWVyIHdhcyBzY2hlZHVsZWQgd2hlbiBzb21lIGNvbmRp
dGlvbnMgY2hhbmdlZCBhbmQgSURCVHJhbnNhY3Rpb24gY291bGQgc3RhcnQgcHJvY2Vzc2luZyAK
KyAgICAgICAgcGVuZGluZyBvcGVyYXRpb25zIG9yIHN0YXJ0IGNvbW1pdGluZywgZm9yIGV4YW1w
bGUsIHdoZW4gbmV3IHBlbmRpbmcgb3BlcmF0aW9ucyB3YXMgY3JlYXRlZC4KKworICAgICAgICBG
b3IgYmV0dGVyIHBlcmZvcm1hbmNlLCB3ZSBtYXkgc3RhcnQgcHJvY2Vzc2luZyByaWdodCBhd2F5
IGFmdGVyIHRoZSBjb25kaXRpb24gY2hhbmdlLCB3aXRob3V0IHVzaW5nIGEgVGltZXIuCisgICAg
ICAgIFRoaXMgcGF0Y2ggZ2l2ZXMgdXMgYWJvdXQgMTAlIHNwZWVkIHVwIG9uIHRlc3Q6IFBlcmZv
cm1hbmNlVGVzdHMvSW5kZXhlZERCL2Jhc2ljL29iamVjdHN0b3JlLWN1cnNvci5odG1sLgorCisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJREJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlv
bjo6SURCVHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmFi
b3J0SW5Qcm9ncmVzc09wZXJhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rp
b246OnJlbW92ZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnNj
aGVkdWxlT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpmaW5p
c2hlZERpc3BhdGNoRXZlbnRGb3JSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5z
YWN0aW9uOjpkaWRTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6b3Bl
cmF0aW9uQ29tcGxldGVkT25DbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rp
b246OmRlYWN0aXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmNvbm5l
Y3Rpb25DbG9zZWRGcm9tU2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
OjpoYW5kbGVQZW5kaW5nT3BlcmF0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2Fj
dGlvbjo6YXV0b0NvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6dHJ5
U2NoZWR1bGVQZW5kaW5nT3BlcmF0aW9uVGltZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6SURCVHJhbnNhY3Rpb246OnBlbmRpbmdPcGVyYXRpb25UaW1lckZpcmVkKTogRGVsZXRlZC4K
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oOgorCiAyMDE5LTEy
LTE2ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZD
XSBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBsaW5lLWJyZWFrOiBhbnl3aGVyZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcAppbmRleCA4MGNlNDI0
NzE2OTJiYzRhZTM5NWFlOWFkOTk3MmM3MjcyYzU5MmQ1Li4zMGY2ZTVjZGY0ZDlmZGJjNjFjZTNh
MjAzYzRhZDA2M2JkOGM1MmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJSZXF1ZXN0LmNwcApAQCAtMzMwLDEwICszMzAsNiBAQCB2b2lkIElEQlJlcXVlc3Q6
OmRpc3BhdGNoRXZlbnQoRXZlbnQmIGV2ZW50KQogICAgIGlmICghbV90cmFuc2FjdGlvbikKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgLy8gVGhlIHJlcXVlc3Qgc2hvdWxkIG9ubHkgcmVtYWluIGlu
IHRoZSB0cmFuc2FjdGlvbidzIHJlcXVlc3QgbGlzdCBpZiBpdCByZXByZXNlbnRzIGEgcGVuZGlu
ZyBjdXJzb3Igb3BlcmF0aW9uLCBvciB0aGlzIGlzIGFuIG9wZW4gcmVxdWVzdCB0aGF0IHdhcyBi
bG9ja2VkLgotICAgIGlmICghbV9wZW5kaW5nQ3Vyc29yICYmIGV2ZW50LnR5cGUoKSAhPSBldmVu
dE5hbWVzKCkuYmxvY2tlZEV2ZW50KQotICAgICAgICBtX3RyYW5zYWN0aW9uLT5yZW1vdmVSZXF1
ZXN0KCp0aGlzKTsKLQogICAgIGlmIChtX2hhc1VuY2F1Z2h0RXhjZXB0aW9uKQogICAgICAgICBt
X3RyYW5zYWN0aW9uLT5hYm9ydER1ZVRvRmFpbGVkUmVxdWVzdChET01FeGNlcHRpb246OmNyZWF0
ZShBYm9ydEVycm9yLCAiSURCVHJhbnNhY3Rpb24gd2lsbCBhYm9ydCBkdWUgdG8gdW5jYXVnaHQg
ZXhjZXB0aW9uIGluIGFuIGV2ZW50IGhhbmRsZXIiX3MpKTsKICAgICBlbHNlIGlmICghZXZlbnQu
ZGVmYXVsdFByZXZlbnRlZCgpICYmIGV2ZW50LnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZXJyb3JF
dmVudCAmJiAhbV90cmFuc2FjdGlvbi0+aXNGaW5pc2hlZE9yRmluaXNoaW5nKCkpIHsKQEAgLTM0
Miw2ICszMzgsMTAgQEAgdm9pZCBJREJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50KEV2ZW50JiBldmVu
dCkKICAgICB9CiAKICAgICBtX3RyYW5zYWN0aW9uLT5maW5pc2hlZERpc3BhdGNoRXZlbnRGb3JS
ZXF1ZXN0KCp0aGlzKTsKKworICAgIC8vIFRoZSByZXF1ZXN0IHNob3VsZCBvbmx5IHJlbWFpbiBp
biB0aGUgdHJhbnNhY3Rpb24ncyByZXF1ZXN0IGxpc3QgaWYgaXQgcmVwcmVzZW50cyBhIHBlbmRp
bmcgY3Vyc29yIG9wZXJhdGlvbiwgb3IgdGhpcyBpcyBhbiBvcGVuIHJlcXVlc3QgdGhhdCB3YXMg
YmxvY2tlZC4KKyAgICBpZiAoIW1fcGVuZGluZ0N1cnNvciAmJiBldmVudC50eXBlKCkgIT0gZXZl
bnROYW1lcygpLmJsb2NrZWRFdmVudCkKKyAgICAgICAgbV90cmFuc2FjdGlvbi0+cmVtb3ZlUmVx
dWVzdCgqdGhpcyk7CiB9CiAKIHZvaWQgSURCUmVxdWVzdDo6dW5jYXVnaHRFeGNlcHRpb25JbkV2
ZW50SGFuZGxlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJUcmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJUcmFuc2FjdGlvbi5jcHAKaW5kZXggN2M3NjNlMTlkYTU2MGVjZjI2MjJkZWExNjZhOTZkMjYz
OGU5ZmNiYi4uNzVmMDg0ZDdlZDAxNTM4ZGJmZTc5MDkwMjE0NmFlZDA0NTdlN2Y2OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNw
cApAQCAtNzgsNyArNzgsNiBAQCBJREJUcmFuc2FjdGlvbjo6SURCVHJhbnNhY3Rpb24oSURCRGF0
YWJhc2UmIGRhdGFiYXNlLCBjb25zdCBJREJUcmFuc2FjdGlvbkluZm8mCiAgICAgOiBJREJBY3Rp
dmVET01PYmplY3QoZGF0YWJhc2Uuc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQogICAgICwgbV9k
YXRhYmFzZShkYXRhYmFzZSkKICAgICAsIG1faW5mbyhpbmZvKQotICAgICwgbV9wZW5kaW5nT3Bl
cmF0aW9uVGltZXIoKnRoaXMsICZJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRpbWVy
RmlyZWQpCiAgICAgLCBtX29wZW5EQlJlcXVlc3QocmVxdWVzdCkKICAgICAsIG1fY3VycmVudGx5
Q29tcGxldGluZ1JlcXVlc3QocmVxdWVzdCkKIApAQCAtMjgzLDYgKzI4Miw3IEBAIHZvaWQgSURC
VHJhbnNhY3Rpb246OmFib3J0SW5Qcm9ncmVzc09wZXJhdGlvbnMoY29uc3QgSURCRXJyb3ImIGVy
cm9yKQogICAgICAgICBvcGVyYXRpb24tPmRvQ29tcGxldGUoSURCUmVzdWx0RGF0YTo6ZXJyb3Io
b3BlcmF0aW9uLT5pZGVudGlmaWVyKCksIGVycm9yKSk7CiAgICAgfQogCisgICAgbV9jdXJyZW50
bHlDb21wbGV0aW5nUmVxdWVzdCA9IG51bGxwdHI7CiAgICAgY29ubmVjdGlvblByb3h5KCkuZm9y
Z2V0QWN0aXZlT3BlcmF0aW9ucyhpblByb2dyZXNzQWJvcnRWZWN0b3IpOwogfQogCkBAIC0zNzcs
NyArMzc3LDcgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6cmVtb3ZlUmVxdWVzdChJREJSZXF1ZXN0
JiByZXF1ZXN0KQogICAgIEFTU0VSVChjYW5DdXJyZW50VGhyZWFkQWNjZXNzVGhyZWFkTG9jYWxE
YXRhKG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZCgpKSk7CiAgICAgbV9vcGVuUmVxdWVzdHMucmVt
b3ZlKCZyZXF1ZXN0KTsKIAotICAgIHRyeVNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKCk7
CisgICAgYXV0b0NvbW1pdCgpOwogfQogCiB2b2lkIElEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZU9w
ZXJhdGlvbihSZWY8SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbj4mJiBvcGVyYXRpb24p
CkBAIC0zODksNTMgKzM4OSw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlT3BlcmF0
aW9uKFJlZjxJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uPiYmIG9wCiAgICAgbV9wZW5k
aW5nVHJhbnNhY3Rpb25PcGVyYXRpb25RdWV1ZS5hcHBlbmQob3BlcmF0aW9uLmNvcHlSZWYoKSk7
CiAgICAgbV90cmFuc2FjdGlvbk9wZXJhdGlvbk1hcC5zZXQoaWRlbnRpZmllciwgV1RGTW92ZShv
cGVyYXRpb24pKTsKIAotICAgIHRyeVNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKCk7Ci19
Ci0KLXZvaWQgSURCVHJhbnNhY3Rpb246OnRyeVNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVy
KCkKLXsKLSAgICBBU1NFUlQoY2FuQ3VycmVudFRocmVhZEFjY2Vzc1RocmVhZExvY2FsRGF0YSht
X2RhdGFiYXNlLT5vcmlnaW5UaHJlYWQoKSkpOwotCi0gICAgaWYgKCFtX3N0YXJ0ZWRPblNlcnZl
cikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gSWYgdGhlIGxhc3QgaW4tcHJvZ3Jlc3Mgb3Bl
cmF0aW9uIHdlJ3ZlIHNlbnQgdG8gdGhlIHNlcnZlciBpcyBub3QgYW4gSURCUmVxdWVzdCBvcGVy
YXRpb24sCi0gICAgLy8gdGhlbiB3ZSBoYXZlIHRvIHdhaXQgdW50aWwgaXQgY29tcGxldGVzIGJl
Zm9yZSBzZW5kaW5nIGFueSBtb3JlLgotICAgIGlmICghbV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJ
blByb2dyZXNzUXVldWUuaXNFbXB0eSgpICYmICFtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJv
Z3Jlc3NRdWV1ZS5sYXN0KCktPm5leHRSZXF1ZXN0Q2FuR29Ub1NlcnZlcigpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBpZiAobV9wZW5kaW5nVHJhbnNhY3Rpb25PcGVyYXRpb25RdWV1ZS5pc0Vt
cHR5KCkgJiYgKCFtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFwLmlzRW1wdHkoKSB8fCAhbV9vcGVu
UmVxdWVzdHMuaXNFbXB0eSgpIHx8IGlzRmluaXNoZWRPckZpbmlzaGluZygpKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgaWYgKCFtX3BlbmRpbmdPcGVyYXRpb25UaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX3BlbmRpbmdPcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKLX0KLQot
dm9pZCBJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRpbWVyRmlyZWQoKQotewotICAg
IExPRyhJbmRleGVkREIsICJJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRpbWVyRmly
ZWQgKCVwKSIsIHRoaXMpOwotICAgIEFTU0VSVChjYW5DdXJyZW50VGhyZWFkQWNjZXNzVGhyZWFk
TG9jYWxEYXRhKG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZCgpKSk7Ci0KLSAgICAvLyBXZSB3YW50
IHRvIGJhdGNoIG9wZXJhdGlvbnMgdG9nZXRoZXIgd2l0aG91dCBzcGlubmluZyB0aGUgcnVubG9v
cCBmb3IgcGVyZm9ybWFuY2UsCi0gICAgLy8gYnV0IGRvbid0IHdhbnQgdG8gYWZmZWN0IHJlc3Bv
bnNpdmVuZXNzIG9mIHRoZSBtYWluIHRocmVhZC4KLSAgICAvLyBUaGlzIG51bWJlciBpcyBhIGdv
b2QgY29tcHJvbWlzZSBpbiBhZC1ob2MgdGVzdGluZy4KLSAgICBzdGF0aWMgY29uc3Qgc2l6ZV90
IG9wZXJhdGlvbkJhdGNoTGltaXQgPSAxMjg7Ci0KLSAgICBmb3IgKHNpemVfdCBpdGVyYXRpb25z
ID0gMDsgIW1fcGVuZGluZ1RyYW5zYWN0aW9uT3BlcmF0aW9uUXVldWUuaXNFbXB0eSgpICYmIGl0
ZXJhdGlvbnMgPCBvcGVyYXRpb25CYXRjaExpbWl0OyArK2l0ZXJhdGlvbnMpIHsKLSAgICAgICAg
YXV0byBvcGVyYXRpb24gPSBtX3BlbmRpbmdUcmFuc2FjdGlvbk9wZXJhdGlvblF1ZXVlLnRha2VG
aXJzdCgpOwotICAgICAgICBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NRdWV1ZS5h
cHBlbmQob3BlcmF0aW9uLmdldCgpKTsKLSAgICAgICAgb3BlcmF0aW9uLT5wZXJmb3JtKCk7Ci0K
LSAgICAgICAgaWYgKCFvcGVyYXRpb24tPm5leHRSZXF1ZXN0Q2FuR29Ub1NlcnZlcigpKQotICAg
ICAgICAgICAgYnJlYWs7Ci0KLSAgICB9Ci0KLSAgICBpZiAoIW1fdHJhbnNhY3Rpb25PcGVyYXRp
b25NYXAuaXNFbXB0eSgpIHx8ICFtX29wZW5SZXF1ZXN0cy5pc0VtcHR5KCkpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIGlmICghaXNGaW5pc2hlZE9yRmluaXNoaW5nKCkpCi0gICAgICAgIGNvbW1p
dCgpOworICAgIGhhbmRsZVBlbmRpbmdPcGVyYXRpb25zKCk7CiB9CiAKIHZvaWQgSURCVHJhbnNh
Y3Rpb246Om9wZXJhdGlvbkNvbXBsZXRlZE9uU2VydmVyKGNvbnN0IElEQlJlc3VsdERhdGEmIGRh
dGEsIElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24mIG9wZXJhdGlvbikKQEAgLTQ4MCw3
ICs0MzQsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpjb21wbGV0ZUN1cnNvclJlcXVlc3QoSURC
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgSURCUmVzdWx0RAogCiB2b2lkIElEQlRyYW5zYWN0aW9u
OjpmaW5pc2hlZERpc3BhdGNoRXZlbnRGb3JSZXF1ZXN0KElEQlJlcXVlc3QmIHJlcXVlc3QpCiB7
Ci0gICAgaWYgKGlzRmluaXNoZWRPckZpbmlzaGluZygpKQorICAgIGlmIChpc0ZpbmlzaGVkKCkp
CiAgICAgICAgIHJldHVybjsKIAogICAgIEFTU0VSVF9VTlVTRUQocmVxdWVzdCwgIW1fY3VycmVu
dGx5Q29tcGxldGluZ1JlcXVlc3QgfHwgbV9jdXJyZW50bHlDb21wbGV0aW5nUmVxdWVzdCA9PSAm
cmVxdWVzdCk7CkBAIC01NDMsNyArNDk3LDEyIEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmRpZFN0
YXJ0KGNvbnN0IElEQkVycm9yJiBlcnJvcikKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAg
IHRyeVNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKCk7CisgICAgaGFuZGxlUGVuZGluZ09w
ZXJhdGlvbnMoKTsKKworICAgIC8vIEl0J3MgcG9zc2libGUgdHJhbnNhY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIHJlcXVlc3RzIChvciBjcmVhdGVzIGJ1dCBmaW5pc2hlcyB0aGVtIGVhcmx5CisgICAg
Ly8gYmVjYXVzZSBvZiBlcnJvcikgZHVyaW5nIGludGlhbGl6YXRpb24uIEluIHRoaXMgY2FzZSwg
c2luY2UgdGhlIHRyYW5zYWN0aW9uIHdpbGwKKyAgICAvLyBub3QgYmUgYWN0aXZlIGFueSBtb3Jl
LCB3ZSBzaG91bGQgZW5kIGl0IGFjdGl2ZWx5LgorICAgIGF1dG9Db21taXQoKTsKIH0KIAogdm9p
ZCBJREJUcmFuc2FjdGlvbjo6bm90aWZ5RGlkQWJvcnQoY29uc3QgSURCRXJyb3ImIGVycm9yKQpA
QCAtMTM5NCw3ICsxMzUzLDEwIEBAIHZvaWQgSURCVHJhbnNhY3Rpb246Om9wZXJhdGlvbkNvbXBs
ZXRlZE9uQ2xpZW50KElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24mCiAgICAgbV90cmFu
c2FjdGlvbk9wZXJhdGlvbk1hcC5yZW1vdmUob3BlcmF0aW9uLmlkZW50aWZpZXIoKSk7CiAgICAg
bV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJblByb2dyZXNzUXVldWUucmVtb3ZlRmlyc3QoKTsKIAot
ICAgIHRyeVNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKCk7CisgICAgaWYgKG1fdHJhbnNh
Y3Rpb25PcGVyYXRpb25zSW5Qcm9ncmVzc1F1ZXVlLmlzRW1wdHkoKSkKKyAgICAgICAgaGFuZGxl
UGVuZGluZ09wZXJhdGlvbnMoKTsKKworICAgIGF1dG9Db21taXQoKTsKIH0KIAogdm9pZCBJREJU
cmFuc2FjdGlvbjo6ZXN0YWJsaXNoT25TZXJ2ZXIoKQpAQCAtMTQyMiw3ICsxMzg0LDcgQEAgdm9p
ZCBJREJUcmFuc2FjdGlvbjo6ZGVhY3RpdmF0ZSgpCiAgICAgaWYgKG1fc3RhdGUgPT0gSW5kZXhl
ZERCOjpUcmFuc2FjdGlvblN0YXRlOjpBY3RpdmUpCiAgICAgICAgIG1fc3RhdGUgPSBJbmRleGVk
REI6OlRyYW5zYWN0aW9uU3RhdGU6OkluYWN0aXZlOwogCi0gICAgdHJ5U2NoZWR1bGVQZW5kaW5n
T3BlcmF0aW9uVGltZXIoKTsKKyAgICBhdXRvQ29tbWl0KCk7CiB9CiAKIHZvaWQgSURCVHJhbnNh
Y3Rpb246OmNvbm5lY3Rpb25DbG9zZWRGcm9tU2VydmVyKGNvbnN0IElEQkVycm9yJiBlcnJvcikK
QEAgLTE0MzIsNiArMTM5NCwxMSBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpjb25uZWN0aW9uQ2xv
c2VkRnJvbVNlcnZlcihjb25zdCBJREJFcnJvciYgZXJyb3IpCiAgICAgbV9kYXRhYmFzZS0+d2ls
bEFib3J0VHJhbnNhY3Rpb24oKnRoaXMpOwogICAgIG1fc3RhdGUgPSBJbmRleGVkREI6OlRyYW5z
YWN0aW9uU3RhdGU6OkFib3J0aW5nOwogCisgICAgLy8gTW92ZSBvcGVyYXRpb25zIG91dCBvZiBt
X3BlbmRpbmdUcmFuc2FjdGlvbk9wZXJhdGlvblF1ZXVlLCBvdGhlcndpc2Ugd2UgbWF5IHN0YXJ0
IGhhbmRsaW5nCisgICAgLy8gdGhlbSBhZnRlciB3ZSBmb3JjaWJseSBjb21wbGV0ZSBpbi1wcm9n
cmVzcyB0cmFuc2F0aW9ucy4KKyAgICBEZXF1ZTxSZWZQdHI8SURCQ2xpZW50OjpUcmFuc2FjdGlv
bk9wZXJhdGlvbj4+IHBlbmRpbmdUcmFuc2FjdGlvbk9wZXJhdGlvblF1ZXVlOworICAgIHBlbmRp
bmdUcmFuc2FjdGlvbk9wZXJhdGlvblF1ZXVlLnN3YXAobV9wZW5kaW5nVHJhbnNhY3Rpb25PcGVy
YXRpb25RdWV1ZSk7CisKICAgICBhYm9ydEluUHJvZ3Jlc3NPcGVyYXRpb25zKGVycm9yKTsKIAog
ICAgIGF1dG8gb3BlcmF0aW9ucyA9IGNvcHlUb1ZlY3RvcihtX3RyYW5zYWN0aW9uT3BlcmF0aW9u
TWFwLnZhbHVlcygpKTsKQEAgLTE0NDIsMTEgKzE0MDksMTEgQEAgdm9pZCBJREJUcmFuc2FjdGlv
bjo6Y29ubmVjdGlvbkNsb3NlZEZyb21TZXJ2ZXIoY29uc3QgSURCRXJyb3ImIGVycm9yKQogICAg
ICAgICBvcGVyYXRpb24tPmRvQ29tcGxldGUoSURCUmVzdWx0RGF0YTo6ZXJyb3Iob3BlcmF0aW9u
LT5pZGVudGlmaWVyKCksIGVycm9yKSk7CiAgICAgfQogICAgIG1fY3VycmVudGx5Q29tcGxldGlu
Z1JlcXVlc3QgPSBudWxscHRyOworICAgIHBlbmRpbmdUcmFuc2FjdGlvbk9wZXJhdGlvblF1ZXVl
LmNsZWFyKCk7CiAKICAgICBjb25uZWN0aW9uUHJveHkoKS5mb3JnZXRBY3RpdmVPcGVyYXRpb25z
KG9wZXJhdGlvbnMpOwogICAgIGNvbm5lY3Rpb25Qcm94eSgpLmZvcmdldFRyYW5zYWN0aW9uKCp0
aGlzKTsKIAotICAgIG1fcGVuZGluZ1RyYW5zYWN0aW9uT3BlcmF0aW9uUXVldWUuY2xlYXIoKTsK
ICAgICBtX2Fib3J0UXVldWUuY2xlYXIoKTsKICAgICBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFw
LmNsZWFyKCk7CiAKQEAgLTE0NjUsNiArMTQzMiw0NiBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjp2
aXNpdFJlZmVyZW5jZWRPYmplY3RTdG9yZXMoSlNDOjpTbG90VmlzaXRvciYgdmlzaXRvcikgY29u
cwogICAgICAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3Qob2JqZWN0U3RvcmUuZ2V0KCkpOwogfQog
Cit2b2lkIElEQlRyYW5zYWN0aW9uOjpoYW5kbGVQZW5kaW5nT3BlcmF0aW9ucygpCit7CisgICAg
QVNTRVJUKGNhbkN1cnJlbnRUaHJlYWRBY2Nlc3NUaHJlYWRMb2NhbERhdGEobV9kYXRhYmFzZS0+
b3JpZ2luVGhyZWFkKCkpKTsKKworICAgIGlmICghbV9zdGFydGVkT25TZXJ2ZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGlmICghbV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJblByb2dyZXNzUXVl
dWUuaXNFbXB0eSgpICYmICFtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NRdWV1ZS5s
YXN0KCktPm5leHRSZXF1ZXN0Q2FuR29Ub1NlcnZlcigpKQorICAgICAgICByZXR1cm47CisKKyAg
ICB3aGlsZSAoIW1fcGVuZGluZ1RyYW5zYWN0aW9uT3BlcmF0aW9uUXVldWUuaXNFbXB0eSgpKSB7
CisgICAgICAgIGF1dG8gb3BlcmF0aW9uID0gbV9wZW5kaW5nVHJhbnNhY3Rpb25PcGVyYXRpb25R
dWV1ZS50YWtlRmlyc3QoKTsKKyAgICAgICAgbV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJblByb2dy
ZXNzUXVldWUuYXBwZW5kKG9wZXJhdGlvbi5nZXQoKSk7CisgICAgICAgIG9wZXJhdGlvbi0+cGVy
Zm9ybSgpOworCisgICAgICAgIGlmICghb3BlcmF0aW9uLT5uZXh0UmVxdWVzdENhbkdvVG9TZXJ2
ZXIoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KK30KKwordm9pZCBJREJUcmFuc2FjdGlv
bjo6YXV0b0NvbW1pdCgpCit7CisgICAgLy8gSWYgdHJhbnNhY3Rpb24gaXMgbm90IGluYWN0aXZl
LCBpdCdzIGFjdGl2ZSwgZmluaXNoZWQgb3IgZmluaXNoaW5nLgorICAgIC8vIElmIGl0J3MgYWN0
aXZlLCBpdCBtYXkgY3JlYXRlIG5ldyByZXF1ZXN0cywgc28gd2UgY2Fubm90IGNvbW1pdCBpdC4K
KyAgICBpZiAobV9zdGF0ZSAhPSBJbmRleGVkREI6OlRyYW5zYWN0aW9uU3RhdGU6OkluYWN0aXZl
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fc3RhcnRlZE9uU2VydmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpZiAoIW1fdHJhbnNhY3Rpb25PcGVyYXRpb25NYXAuaXNFbXB0eSgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fb3BlblJlcXVlc3RzLmlzRW1wdHkoKSkK
KyAgICAgICAgcmV0dXJuOworICAgIEFTU0VSVCghbV9jdXJyZW50bHlDb21wbGV0aW5nUmVxdWVz
dCk7CisKKyAgICBjb21taXQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaAppbmRleCBhYWEyNTVmMWE5MTAwNmQwNTEw
MWRlYTE5NmUwM2VhOWFjYjFjYTdkLi4zNThiMDFiYzAxNGFhNjE0NDhhMzE2NTY1NjdlY2EyYTM1
ZDJhMzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJU
cmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmgKQEAgLTE2Niw4ICsxNjYsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgYWJvcnRJ
blByb2dyZXNzT3BlcmF0aW9ucyhjb25zdCBJREJFcnJvciYpOwogCiAgICAgdm9pZCBzY2hlZHVs
ZU9wZXJhdGlvbihSZWY8SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbj4mJik7Ci0gICAg
dm9pZCBwZW5kaW5nT3BlcmF0aW9uVGltZXJGaXJlZCgpOwogICAgIHZvaWQgaGFuZGxlT3BlcmF0
aW9uc0NvbXBsZXRlZE9uU2VydmVyKCk7CisgICAgdm9pZCBoYW5kbGVQZW5kaW5nT3BlcmF0aW9u
cygpOworICAgIHZvaWQgYXV0b0NvbW1pdCgpOwogCiAgICAgdm9pZCBmaXJlT25Db21wbGV0ZSgp
OwogICAgIHZvaWQgZmlyZU9uQWJvcnQoKTsKQEAgLTIzOSw4ICsyNDAsNiBAQCBwcml2YXRlOgog
ICAgIElEQkVycm9yIG1faWRiRXJyb3I7CiAgICAgUmVmUHRyPERPTUV4Y2VwdGlvbj4gbV9kb21F
cnJvcjsKIAotICAgIFRpbWVyIG1fcGVuZGluZ09wZXJhdGlvblRpbWVyOwotCiAgICAgUmVmUHRy
PElEQk9wZW5EQlJlcXVlc3Q+IG1fb3BlbkRCUmVxdWVzdDsKIAogICAgIERlcXVlPFJlZlB0cjxJ
REJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uPj4gbV9wZW5kaW5nVHJhbnNhY3Rpb25PcGVy
YXRpb25RdWV1ZTsKZGlmZiAtLWdpdCBhL1dlYktpdC54Y3dvcmtzcGFjZS94Y3NoYXJlZGRhdGEv
eGNzY2hlbWVzL0FsbCBTb3VyY2UueGNzY2hlbWUgYi9XZWJLaXQueGN3b3Jrc3BhY2UveGNzaGFy
ZWRkYXRhL3hjc2NoZW1lcy9BbGwgU291cmNlLnhjc2NoZW1lCmluZGV4IDEwYTFiM2MwMDE0ZmM4
YWQwOGY1OWY3YWFhZThkMjFlNDk3ODlhZWQuLmUxYzk3NGNhZjNiMWFmNWY2ZjBjZmU1NzcwNGE1
NjdlMjgzYzUwOWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC54Y3dvcmtzcGFjZS94Y3NoYXJlZGRhdGEv
eGNzY2hlbWVzL0FsbCBTb3VyY2UueGNzY2hlbWUJCisrKyBiL1dlYktpdC54Y3dvcmtzcGFjZS94
Y3NoYXJlZGRhdGEveGNzY2hlbWVzL0FsbCBTb3VyY2UueGNzY2hlbWUJCkBAIC01Nyw3ICs1Nyw3
IEBACiAgICAgICAgICAgICA8QnVpbGRhYmxlUmVmZXJlbmNlCiAgICAgICAgICAgICAgICBCdWls
ZGFibGVJZGVudGlmaWVyID0gInByaW1hcnkiCiAgICAgICAgICAgICAgICBCbHVlcHJpbnRJZGVu
dGlmaWVyID0gIkZCMzlEMEQwMTIwMEYwRTMwMDA4OEU2OSIKLSAgICAgICAgICAgICAgIEJ1aWxk
YWJsZU5hbWUgPSAibGliQU5HTEUuZHlsaWIiCisgICAgICAgICAgICAgICBCdWlsZGFibGVOYW1l
ID0gImxpYkFOR0xFLXNoYXJlZC5keWxpYiIKICAgICAgICAgICAgICAgIEJsdWVwcmludE5hbWUg
PSAiQU5HTEUiCiAgICAgICAgICAgICAgICBSZWZlcmVuY2VkQ29udGFpbmVyID0gImNvbnRhaW5l
cjpTb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54Y29kZXByb2oiPgogICAgICAgICAgICAg
PC9CdWlsZGFibGVSZWZlcmVuY2U+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385830</attachid>
            <date>2019-12-16 16:47:48 -0800</date>
            <delta_ts>2019-12-19 17:20:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205312-20191216164748.patch</filename>
            <type>text/plain</type>
            <size>12381</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZkOWM4ODNlOTM2YWUy
OWRkYTQ4NzQwZWMyZjdjZmE2N2EwMzI4YS4uZmI4N2Y4NDIwOTE4YTliYTA3YTA3MDMxN2Q2NDFh
ZGEyN2U0NmI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE5LTEyLTE2ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEluZGV4ZWREQjogcmVtb3Zl
IHRpbWVyIGZvciBwZW5kaW5nIG9wZXJhdGlvbnMgaW4gSURCVHJhbnNhY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTMxMgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gcGVuZGluZ09wZXJh
dGlvblRpbWVyIGZpcmVkLCBJREJUcmFuc2FzY3Rpb24gd291bGQgdHJ5IHByb2Nlc3NpbmcgcGVu
ZGluZyBvcGVyYXRpb25zIG9yIGNvbW1pdGluZyAKKyAgICAgICAgYXV0b21hdGljYWxseS4KKyAg
ICAgICAgcGVuZGluZ09wZXJhdGlvblRpbWVyIHdhcyBzY2hlZHVsZWQgd2hlbiBzb21lIGNvbmRp
dGlvbnMgY2hhbmdlZCBhbmQgSURCVHJhbnNhY3Rpb24gY291bGQgc3RhcnQgcHJvY2Vzc2luZyAK
KyAgICAgICAgcGVuZGluZyBvcGVyYXRpb25zIG9yIHN0YXJ0IGNvbW1pdGluZywgZm9yIGV4YW1w
bGUsIHdoZW4gbmV3IHBlbmRpbmcgb3BlcmF0aW9ucyB3YXMgY3JlYXRlZC4KKworICAgICAgICBG
b3IgYmV0dGVyIHBlcmZvcm1hbmNlLCB3ZSBtYXkgc3RhcnQgcHJvY2Vzc2luZyByaWdodCBhd2F5
IGFmdGVyIHRoZSBjb25kaXRpb24gY2hhbmdlLCB3aXRob3V0IHVzaW5nIGEgVGltZXIuCisgICAg
ICAgIFRoaXMgcGF0Y2ggZ2l2ZXMgdXMgYWJvdXQgMTAlIHNwZWVkIHVwIG9uIHRlc3Q6IFBlcmZv
cm1hbmNlVGVzdHMvSW5kZXhlZERCL2Jhc2ljL29iamVjdHN0b3JlLWN1cnNvci5odG1sLgorCisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJREJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlv
bjo6SURCVHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmFi
b3J0SW5Qcm9ncmVzc09wZXJhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rp
b246OnJlbW92ZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnNj
aGVkdWxlT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpmaW5p
c2hlZERpc3BhdGNoRXZlbnRGb3JSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5z
YWN0aW9uOjpkaWRTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6b3Bl
cmF0aW9uQ29tcGxldGVkT25DbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rp
b246OmRlYWN0aXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmNvbm5l
Y3Rpb25DbG9zZWRGcm9tU2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
OjpoYW5kbGVQZW5kaW5nT3BlcmF0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2Fj
dGlvbjo6YXV0b0NvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6dHJ5
U2NoZWR1bGVQZW5kaW5nT3BlcmF0aW9uVGltZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6SURCVHJhbnNhY3Rpb246OnBlbmRpbmdPcGVyYXRpb25UaW1lckZpcmVkKTogRGVsZXRlZC4K
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oOgorCiAyMDE5LTEy
LTE2ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZD
XSBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBsaW5lLWJyZWFrOiBhbnl3aGVyZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcAppbmRleCA4MGNlNDI0
NzE2OTJiYzRhZTM5NWFlOWFkOTk3MmM3MjcyYzU5MmQ1Li4zMGY2ZTVjZGY0ZDlmZGJjNjFjZTNh
MjAzYzRhZDA2M2JkOGM1MmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJSZXF1ZXN0LmNwcApAQCAtMzMwLDEwICszMzAsNiBAQCB2b2lkIElEQlJlcXVlc3Q6
OmRpc3BhdGNoRXZlbnQoRXZlbnQmIGV2ZW50KQogICAgIGlmICghbV90cmFuc2FjdGlvbikKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgLy8gVGhlIHJlcXVlc3Qgc2hvdWxkIG9ubHkgcmVtYWluIGlu
IHRoZSB0cmFuc2FjdGlvbidzIHJlcXVlc3QgbGlzdCBpZiBpdCByZXByZXNlbnRzIGEgcGVuZGlu
ZyBjdXJzb3Igb3BlcmF0aW9uLCBvciB0aGlzIGlzIGFuIG9wZW4gcmVxdWVzdCB0aGF0IHdhcyBi
bG9ja2VkLgotICAgIGlmICghbV9wZW5kaW5nQ3Vyc29yICYmIGV2ZW50LnR5cGUoKSAhPSBldmVu
dE5hbWVzKCkuYmxvY2tlZEV2ZW50KQotICAgICAgICBtX3RyYW5zYWN0aW9uLT5yZW1vdmVSZXF1
ZXN0KCp0aGlzKTsKLQogICAgIGlmIChtX2hhc1VuY2F1Z2h0RXhjZXB0aW9uKQogICAgICAgICBt
X3RyYW5zYWN0aW9uLT5hYm9ydER1ZVRvRmFpbGVkUmVxdWVzdChET01FeGNlcHRpb246OmNyZWF0
ZShBYm9ydEVycm9yLCAiSURCVHJhbnNhY3Rpb24gd2lsbCBhYm9ydCBkdWUgdG8gdW5jYXVnaHQg
ZXhjZXB0aW9uIGluIGFuIGV2ZW50IGhhbmRsZXIiX3MpKTsKICAgICBlbHNlIGlmICghZXZlbnQu
ZGVmYXVsdFByZXZlbnRlZCgpICYmIGV2ZW50LnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZXJyb3JF
dmVudCAmJiAhbV90cmFuc2FjdGlvbi0+aXNGaW5pc2hlZE9yRmluaXNoaW5nKCkpIHsKQEAgLTM0
Miw2ICszMzgsMTAgQEAgdm9pZCBJREJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50KEV2ZW50JiBldmVu
dCkKICAgICB9CiAKICAgICBtX3RyYW5zYWN0aW9uLT5maW5pc2hlZERpc3BhdGNoRXZlbnRGb3JS
ZXF1ZXN0KCp0aGlzKTsKKworICAgIC8vIFRoZSByZXF1ZXN0IHNob3VsZCBvbmx5IHJlbWFpbiBp
biB0aGUgdHJhbnNhY3Rpb24ncyByZXF1ZXN0IGxpc3QgaWYgaXQgcmVwcmVzZW50cyBhIHBlbmRp
bmcgY3Vyc29yIG9wZXJhdGlvbiwgb3IgdGhpcyBpcyBhbiBvcGVuIHJlcXVlc3QgdGhhdCB3YXMg
YmxvY2tlZC4KKyAgICBpZiAoIW1fcGVuZGluZ0N1cnNvciAmJiBldmVudC50eXBlKCkgIT0gZXZl
bnROYW1lcygpLmJsb2NrZWRFdmVudCkKKyAgICAgICAgbV90cmFuc2FjdGlvbi0+cmVtb3ZlUmVx
dWVzdCgqdGhpcyk7CiB9CiAKIHZvaWQgSURCUmVxdWVzdDo6dW5jYXVnaHRFeGNlcHRpb25JbkV2
ZW50SGFuZGxlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJUcmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJUcmFuc2FjdGlvbi5jcHAKaW5kZXggN2M3NjNlMTlkYTU2MGVjZjI2MjJkZWExNjZhOTZkMjYz
OGU5ZmNiYi4uNzVmMDg0ZDdlZDAxNTM4ZGJmZTc5MDkwMjE0NmFlZDA0NTdlN2Y2OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNw
cApAQCAtNzgsNyArNzgsNiBAQCBJREJUcmFuc2FjdGlvbjo6SURCVHJhbnNhY3Rpb24oSURCRGF0
YWJhc2UmIGRhdGFiYXNlLCBjb25zdCBJREJUcmFuc2FjdGlvbkluZm8mCiAgICAgOiBJREJBY3Rp
dmVET01PYmplY3QoZGF0YWJhc2Uuc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQogICAgICwgbV9k
YXRhYmFzZShkYXRhYmFzZSkKICAgICAsIG1faW5mbyhpbmZvKQotICAgICwgbV9wZW5kaW5nT3Bl
cmF0aW9uVGltZXIoKnRoaXMsICZJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRpbWVy
RmlyZWQpCiAgICAgLCBtX29wZW5EQlJlcXVlc3QocmVxdWVzdCkKICAgICAsIG1fY3VycmVudGx5
Q29tcGxldGluZ1JlcXVlc3QocmVxdWVzdCkKIApAQCAtMjgzLDYgKzI4Miw3IEBAIHZvaWQgSURC
VHJhbnNhY3Rpb246OmFib3J0SW5Qcm9ncmVzc09wZXJhdGlvbnMoY29uc3QgSURCRXJyb3ImIGVy
cm9yKQogICAgICAgICBvcGVyYXRpb24tPmRvQ29tcGxldGUoSURCUmVzdWx0RGF0YTo6ZXJyb3Io
b3BlcmF0aW9uLT5pZGVudGlmaWVyKCksIGVycm9yKSk7CiAgICAgfQogCisgICAgbV9jdXJyZW50
bHlDb21wbGV0aW5nUmVxdWVzdCA9IG51bGxwdHI7CiAgICAgY29ubmVjdGlvblByb3h5KCkuZm9y
Z2V0QWN0aXZlT3BlcmF0aW9ucyhpblByb2dyZXNzQWJvcnRWZWN0b3IpOwogfQogCkBAIC0zNzcs
NyArMzc3LDcgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6cmVtb3ZlUmVxdWVzdChJREJSZXF1ZXN0
JiByZXF1ZXN0KQogICAgIEFTU0VSVChjYW5DdXJyZW50VGhyZWFkQWNjZXNzVGhyZWFkTG9jYWxE
YXRhKG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZCgpKSk7CiAgICAgbV9vcGVuUmVxdWVzdHMucmVt
b3ZlKCZyZXF1ZXN0KTsKIAotICAgIHRyeVNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKCk7
CisgICAgYXV0b0NvbW1pdCgpOwogfQogCiB2b2lkIElEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZU9w
ZXJhdGlvbihSZWY8SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbj4mJiBvcGVyYXRpb24p
CkBAIC0zODksNTMgKzM4OSw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlT3BlcmF0
aW9uKFJlZjxJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uPiYmIG9wCiAgICAgbV9wZW5k
aW5nVHJhbnNhY3Rpb25PcGVyYXRpb25RdWV1ZS5hcHBlbmQob3BlcmF0aW9uLmNvcHlSZWYoKSk7
CiAgICAgbV90cmFuc2FjdGlvbk9wZXJhdGlvbk1hcC5zZXQoaWRlbnRpZmllciwgV1RGTW92ZShv
cGVyYXRpb24pKTsKIAotICAgIHRyeVNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKCk7Ci19
Ci0KLXZvaWQgSURCVHJhbnNhY3Rpb246OnRyeVNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVy
KCkKLXsKLSAgICBBU1NFUlQoY2FuQ3VycmVudFRocmVhZEFjY2Vzc1RocmVhZExvY2FsRGF0YSht
X2RhdGFiYXNlLT5vcmlnaW5UaHJlYWQoKSkpOwotCi0gICAgaWYgKCFtX3N0YXJ0ZWRPblNlcnZl
cikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gSWYgdGhlIGxhc3QgaW4tcHJvZ3Jlc3Mgb3Bl
cmF0aW9uIHdlJ3ZlIHNlbnQgdG8gdGhlIHNlcnZlciBpcyBub3QgYW4gSURCUmVxdWVzdCBvcGVy
YXRpb24sCi0gICAgLy8gdGhlbiB3ZSBoYXZlIHRvIHdhaXQgdW50aWwgaXQgY29tcGxldGVzIGJl
Zm9yZSBzZW5kaW5nIGFueSBtb3JlLgotICAgIGlmICghbV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJ
blByb2dyZXNzUXVldWUuaXNFbXB0eSgpICYmICFtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJv
Z3Jlc3NRdWV1ZS5sYXN0KCktPm5leHRSZXF1ZXN0Q2FuR29Ub1NlcnZlcigpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBpZiAobV9wZW5kaW5nVHJhbnNhY3Rpb25PcGVyYXRpb25RdWV1ZS5pc0Vt
cHR5KCkgJiYgKCFtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFwLmlzRW1wdHkoKSB8fCAhbV9vcGVu
UmVxdWVzdHMuaXNFbXB0eSgpIHx8IGlzRmluaXNoZWRPckZpbmlzaGluZygpKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgaWYgKCFtX3BlbmRpbmdPcGVyYXRpb25UaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX3BlbmRpbmdPcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKLX0KLQot
dm9pZCBJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRpbWVyRmlyZWQoKQotewotICAg
IExPRyhJbmRleGVkREIsICJJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRpbWVyRmly
ZWQgKCVwKSIsIHRoaXMpOwotICAgIEFTU0VSVChjYW5DdXJyZW50VGhyZWFkQWNjZXNzVGhyZWFk
TG9jYWxEYXRhKG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZCgpKSk7Ci0KLSAgICAvLyBXZSB3YW50
IHRvIGJhdGNoIG9wZXJhdGlvbnMgdG9nZXRoZXIgd2l0aG91dCBzcGlubmluZyB0aGUgcnVubG9v
cCBmb3IgcGVyZm9ybWFuY2UsCi0gICAgLy8gYnV0IGRvbid0IHdhbnQgdG8gYWZmZWN0IHJlc3Bv
bnNpdmVuZXNzIG9mIHRoZSBtYWluIHRocmVhZC4KLSAgICAvLyBUaGlzIG51bWJlciBpcyBhIGdv
b2QgY29tcHJvbWlzZSBpbiBhZC1ob2MgdGVzdGluZy4KLSAgICBzdGF0aWMgY29uc3Qgc2l6ZV90
IG9wZXJhdGlvbkJhdGNoTGltaXQgPSAxMjg7Ci0KLSAgICBmb3IgKHNpemVfdCBpdGVyYXRpb25z
ID0gMDsgIW1fcGVuZGluZ1RyYW5zYWN0aW9uT3BlcmF0aW9uUXVldWUuaXNFbXB0eSgpICYmIGl0
ZXJhdGlvbnMgPCBvcGVyYXRpb25CYXRjaExpbWl0OyArK2l0ZXJhdGlvbnMpIHsKLSAgICAgICAg
YXV0byBvcGVyYXRpb24gPSBtX3BlbmRpbmdUcmFuc2FjdGlvbk9wZXJhdGlvblF1ZXVlLnRha2VG
aXJzdCgpOwotICAgICAgICBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NRdWV1ZS5h
cHBlbmQob3BlcmF0aW9uLmdldCgpKTsKLSAgICAgICAgb3BlcmF0aW9uLT5wZXJmb3JtKCk7Ci0K
LSAgICAgICAgaWYgKCFvcGVyYXRpb24tPm5leHRSZXF1ZXN0Q2FuR29Ub1NlcnZlcigpKQotICAg
ICAgICAgICAgYnJlYWs7Ci0KLSAgICB9Ci0KLSAgICBpZiAoIW1fdHJhbnNhY3Rpb25PcGVyYXRp
b25NYXAuaXNFbXB0eSgpIHx8ICFtX29wZW5SZXF1ZXN0cy5pc0VtcHR5KCkpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIGlmICghaXNGaW5pc2hlZE9yRmluaXNoaW5nKCkpCi0gICAgICAgIGNvbW1p
dCgpOworICAgIGhhbmRsZVBlbmRpbmdPcGVyYXRpb25zKCk7CiB9CiAKIHZvaWQgSURCVHJhbnNh
Y3Rpb246Om9wZXJhdGlvbkNvbXBsZXRlZE9uU2VydmVyKGNvbnN0IElEQlJlc3VsdERhdGEmIGRh
dGEsIElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24mIG9wZXJhdGlvbikKQEAgLTQ4MCw3
ICs0MzQsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpjb21wbGV0ZUN1cnNvclJlcXVlc3QoSURC
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgSURCUmVzdWx0RAogCiB2b2lkIElEQlRyYW5zYWN0aW9u
OjpmaW5pc2hlZERpc3BhdGNoRXZlbnRGb3JSZXF1ZXN0KElEQlJlcXVlc3QmIHJlcXVlc3QpCiB7
Ci0gICAgaWYgKGlzRmluaXNoZWRPckZpbmlzaGluZygpKQorICAgIGlmIChpc0ZpbmlzaGVkKCkp
CiAgICAgICAgIHJldHVybjsKIAogICAgIEFTU0VSVF9VTlVTRUQocmVxdWVzdCwgIW1fY3VycmVu
dGx5Q29tcGxldGluZ1JlcXVlc3QgfHwgbV9jdXJyZW50bHlDb21wbGV0aW5nUmVxdWVzdCA9PSAm
cmVxdWVzdCk7CkBAIC01NDMsNyArNDk3LDEyIEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmRpZFN0
YXJ0KGNvbnN0IElEQkVycm9yJiBlcnJvcikKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAg
IHRyeVNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKCk7CisgICAgaGFuZGxlUGVuZGluZ09w
ZXJhdGlvbnMoKTsKKworICAgIC8vIEl0J3MgcG9zc2libGUgdHJhbnNhY3Rpb24gZG9lcyBub3Qg
Y3JlYXRlIHJlcXVlc3RzIChvciBjcmVhdGVzIGJ1dCBmaW5pc2hlcyB0aGVtIGVhcmx5CisgICAg
Ly8gYmVjYXVzZSBvZiBlcnJvcikgZHVyaW5nIGludGlhbGl6YXRpb24uIEluIHRoaXMgY2FzZSwg
c2luY2UgdGhlIHRyYW5zYWN0aW9uIHdpbGwKKyAgICAvLyBub3QgYmUgYWN0aXZlIGFueSBtb3Jl
LCB3ZSBzaG91bGQgZW5kIGl0IGFjdGl2ZWx5LgorICAgIGF1dG9Db21taXQoKTsKIH0KIAogdm9p
ZCBJREJUcmFuc2FjdGlvbjo6bm90aWZ5RGlkQWJvcnQoY29uc3QgSURCRXJyb3ImIGVycm9yKQpA
QCAtMTM5NCw3ICsxMzUzLDEwIEBAIHZvaWQgSURCVHJhbnNhY3Rpb246Om9wZXJhdGlvbkNvbXBs
ZXRlZE9uQ2xpZW50KElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24mCiAgICAgbV90cmFu
c2FjdGlvbk9wZXJhdGlvbk1hcC5yZW1vdmUob3BlcmF0aW9uLmlkZW50aWZpZXIoKSk7CiAgICAg
bV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJblByb2dyZXNzUXVldWUucmVtb3ZlRmlyc3QoKTsKIAot
ICAgIHRyeVNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKCk7CisgICAgaWYgKG1fdHJhbnNh
Y3Rpb25PcGVyYXRpb25zSW5Qcm9ncmVzc1F1ZXVlLmlzRW1wdHkoKSkKKyAgICAgICAgaGFuZGxl
UGVuZGluZ09wZXJhdGlvbnMoKTsKKworICAgIGF1dG9Db21taXQoKTsKIH0KIAogdm9pZCBJREJU
cmFuc2FjdGlvbjo6ZXN0YWJsaXNoT25TZXJ2ZXIoKQpAQCAtMTQyMiw3ICsxMzg0LDcgQEAgdm9p
ZCBJREJUcmFuc2FjdGlvbjo6ZGVhY3RpdmF0ZSgpCiAgICAgaWYgKG1fc3RhdGUgPT0gSW5kZXhl
ZERCOjpUcmFuc2FjdGlvblN0YXRlOjpBY3RpdmUpCiAgICAgICAgIG1fc3RhdGUgPSBJbmRleGVk
REI6OlRyYW5zYWN0aW9uU3RhdGU6OkluYWN0aXZlOwogCi0gICAgdHJ5U2NoZWR1bGVQZW5kaW5n
T3BlcmF0aW9uVGltZXIoKTsKKyAgICBhdXRvQ29tbWl0KCk7CiB9CiAKIHZvaWQgSURCVHJhbnNh
Y3Rpb246OmNvbm5lY3Rpb25DbG9zZWRGcm9tU2VydmVyKGNvbnN0IElEQkVycm9yJiBlcnJvcikK
QEAgLTE0MzIsNiArMTM5NCwxMSBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpjb25uZWN0aW9uQ2xv
c2VkRnJvbVNlcnZlcihjb25zdCBJREJFcnJvciYgZXJyb3IpCiAgICAgbV9kYXRhYmFzZS0+d2ls
bEFib3J0VHJhbnNhY3Rpb24oKnRoaXMpOwogICAgIG1fc3RhdGUgPSBJbmRleGVkREI6OlRyYW5z
YWN0aW9uU3RhdGU6OkFib3J0aW5nOwogCisgICAgLy8gTW92ZSBvcGVyYXRpb25zIG91dCBvZiBt
X3BlbmRpbmdUcmFuc2FjdGlvbk9wZXJhdGlvblF1ZXVlLCBvdGhlcndpc2Ugd2UgbWF5IHN0YXJ0
IGhhbmRsaW5nCisgICAgLy8gdGhlbSBhZnRlciB3ZSBmb3JjaWJseSBjb21wbGV0ZSBpbi1wcm9n
cmVzcyB0cmFuc2F0aW9ucy4KKyAgICBEZXF1ZTxSZWZQdHI8SURCQ2xpZW50OjpUcmFuc2FjdGlv
bk9wZXJhdGlvbj4+IHBlbmRpbmdUcmFuc2FjdGlvbk9wZXJhdGlvblF1ZXVlOworICAgIHBlbmRp
bmdUcmFuc2FjdGlvbk9wZXJhdGlvblF1ZXVlLnN3YXAobV9wZW5kaW5nVHJhbnNhY3Rpb25PcGVy
YXRpb25RdWV1ZSk7CisKICAgICBhYm9ydEluUHJvZ3Jlc3NPcGVyYXRpb25zKGVycm9yKTsKIAog
ICAgIGF1dG8gb3BlcmF0aW9ucyA9IGNvcHlUb1ZlY3RvcihtX3RyYW5zYWN0aW9uT3BlcmF0aW9u
TWFwLnZhbHVlcygpKTsKQEAgLTE0NDIsMTEgKzE0MDksMTEgQEAgdm9pZCBJREJUcmFuc2FjdGlv
bjo6Y29ubmVjdGlvbkNsb3NlZEZyb21TZXJ2ZXIoY29uc3QgSURCRXJyb3ImIGVycm9yKQogICAg
ICAgICBvcGVyYXRpb24tPmRvQ29tcGxldGUoSURCUmVzdWx0RGF0YTo6ZXJyb3Iob3BlcmF0aW9u
LT5pZGVudGlmaWVyKCksIGVycm9yKSk7CiAgICAgfQogICAgIG1fY3VycmVudGx5Q29tcGxldGlu
Z1JlcXVlc3QgPSBudWxscHRyOworICAgIHBlbmRpbmdUcmFuc2FjdGlvbk9wZXJhdGlvblF1ZXVl
LmNsZWFyKCk7CiAKICAgICBjb25uZWN0aW9uUHJveHkoKS5mb3JnZXRBY3RpdmVPcGVyYXRpb25z
KG9wZXJhdGlvbnMpOwogICAgIGNvbm5lY3Rpb25Qcm94eSgpLmZvcmdldFRyYW5zYWN0aW9uKCp0
aGlzKTsKIAotICAgIG1fcGVuZGluZ1RyYW5zYWN0aW9uT3BlcmF0aW9uUXVldWUuY2xlYXIoKTsK
ICAgICBtX2Fib3J0UXVldWUuY2xlYXIoKTsKICAgICBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFw
LmNsZWFyKCk7CiAKQEAgLTE0NjUsNiArMTQzMiw0NiBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjp2
aXNpdFJlZmVyZW5jZWRPYmplY3RTdG9yZXMoSlNDOjpTbG90VmlzaXRvciYgdmlzaXRvcikgY29u
cwogICAgICAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3Qob2JqZWN0U3RvcmUuZ2V0KCkpOwogfQog
Cit2b2lkIElEQlRyYW5zYWN0aW9uOjpoYW5kbGVQZW5kaW5nT3BlcmF0aW9ucygpCit7CisgICAg
QVNTRVJUKGNhbkN1cnJlbnRUaHJlYWRBY2Nlc3NUaHJlYWRMb2NhbERhdGEobV9kYXRhYmFzZS0+
b3JpZ2luVGhyZWFkKCkpKTsKKworICAgIGlmICghbV9zdGFydGVkT25TZXJ2ZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGlmICghbV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJblByb2dyZXNzUXVl
dWUuaXNFbXB0eSgpICYmICFtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NRdWV1ZS5s
YXN0KCktPm5leHRSZXF1ZXN0Q2FuR29Ub1NlcnZlcigpKQorICAgICAgICByZXR1cm47CisKKyAg
ICB3aGlsZSAoIW1fcGVuZGluZ1RyYW5zYWN0aW9uT3BlcmF0aW9uUXVldWUuaXNFbXB0eSgpKSB7
CisgICAgICAgIGF1dG8gb3BlcmF0aW9uID0gbV9wZW5kaW5nVHJhbnNhY3Rpb25PcGVyYXRpb25R
dWV1ZS50YWtlRmlyc3QoKTsKKyAgICAgICAgbV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJblByb2dy
ZXNzUXVldWUuYXBwZW5kKG9wZXJhdGlvbi5nZXQoKSk7CisgICAgICAgIG9wZXJhdGlvbi0+cGVy
Zm9ybSgpOworCisgICAgICAgIGlmICghb3BlcmF0aW9uLT5uZXh0UmVxdWVzdENhbkdvVG9TZXJ2
ZXIoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KK30KKwordm9pZCBJREJUcmFuc2FjdGlv
bjo6YXV0b0NvbW1pdCgpCit7CisgICAgLy8gSWYgdHJhbnNhY3Rpb24gaXMgbm90IGluYWN0aXZl
LCBpdCdzIGFjdGl2ZSwgZmluaXNoZWQgb3IgZmluaXNoaW5nLgorICAgIC8vIElmIGl0J3MgYWN0
aXZlLCBpdCBtYXkgY3JlYXRlIG5ldyByZXF1ZXN0cywgc28gd2UgY2Fubm90IGNvbW1pdCBpdC4K
KyAgICBpZiAobV9zdGF0ZSAhPSBJbmRleGVkREI6OlRyYW5zYWN0aW9uU3RhdGU6OkluYWN0aXZl
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fc3RhcnRlZE9uU2VydmVyKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpZiAoIW1fdHJhbnNhY3Rpb25PcGVyYXRpb25NYXAuaXNFbXB0eSgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fb3BlblJlcXVlc3RzLmlzRW1wdHkoKSkK
KyAgICAgICAgcmV0dXJuOworICAgIEFTU0VSVCghbV9jdXJyZW50bHlDb21wbGV0aW5nUmVxdWVz
dCk7CisKKyAgICBjb21taXQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaAppbmRleCBhYWEyNTVmMWE5MTAwNmQwNTEw
MWRlYTE5NmUwM2VhOWFjYjFjYTdkLi4zNThiMDFiYzAxNGFhNjE0NDhhMzE2NTY1NjdlY2EyYTM1
ZDJhMzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJU
cmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmgKQEAgLTE2Niw4ICsxNjYsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgYWJvcnRJ
blByb2dyZXNzT3BlcmF0aW9ucyhjb25zdCBJREJFcnJvciYpOwogCiAgICAgdm9pZCBzY2hlZHVs
ZU9wZXJhdGlvbihSZWY8SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbj4mJik7Ci0gICAg
dm9pZCBwZW5kaW5nT3BlcmF0aW9uVGltZXJGaXJlZCgpOwogICAgIHZvaWQgaGFuZGxlT3BlcmF0
aW9uc0NvbXBsZXRlZE9uU2VydmVyKCk7CisgICAgdm9pZCBoYW5kbGVQZW5kaW5nT3BlcmF0aW9u
cygpOworICAgIHZvaWQgYXV0b0NvbW1pdCgpOwogCiAgICAgdm9pZCBmaXJlT25Db21wbGV0ZSgp
OwogICAgIHZvaWQgZmlyZU9uQWJvcnQoKTsKQEAgLTIzOSw4ICsyNDAsNiBAQCBwcml2YXRlOgog
ICAgIElEQkVycm9yIG1faWRiRXJyb3I7CiAgICAgUmVmUHRyPERPTUV4Y2VwdGlvbj4gbV9kb21F
cnJvcjsKIAotICAgIFRpbWVyIG1fcGVuZGluZ09wZXJhdGlvblRpbWVyOwotCiAgICAgUmVmUHRy
PElEQk9wZW5EQlJlcXVlc3Q+IG1fb3BlbkRCUmVxdWVzdDsKIAogICAgIERlcXVlPFJlZlB0cjxJ
REJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uPj4gbV9wZW5kaW5nVHJhbnNhY3Rpb25PcGVy
YXRpb25RdWV1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386166</attachid>
            <date>2019-12-19 17:20:11 -0800</date>
            <delta_ts>2019-12-19 18:05:00 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-205312-20191219172010.patch</filename>
            <type>text/plain</type>
            <size>13254</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzODA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWU4NzMxMDg1OTgxYWVi
MzI2M2MyMmM4ZWM4YTU5MWIyNTJiYmEzOS4uMzhlNjBlNGYxZGYzNzFkNzU5NWIxYTdjNTM1OGRk
M2Q3ZTQ2MzhjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE5LTEyLTE5ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEluZGV4ZWREQjogcmVtb3Zl
IHRpbWVyIGZvciBwZW5kaW5nIG9wZXJhdGlvbnMgaW4gSURCVHJhbnNhY3Rpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTMxMgorCisgICAgICAg
IFJldmlld2VkIGJ5IEJyYWR5IEVpZHNvbi4KKworICAgICAgICBXaGVuIHBlbmRpbmdPcGVyYXRp
b25UaW1lciBmaXJlZCwgSURCVHJhbnNhc2N0aW9uIHdvdWxkIHRyeSBwcm9jZXNzaW5nIHBlbmRp
bmcgb3BlcmF0aW9ucyBvciBjb21taXRpbmcgCisgICAgICAgIGF1dG9tYXRpY2FsbHkuCisgICAg
ICAgIHBlbmRpbmdPcGVyYXRpb25UaW1lciB3YXMgc2NoZWR1bGVkIHdoZW4gc29tZSBjb25kaXRp
b25zIGNoYW5nZWQgYW5kIElEQlRyYW5zYWN0aW9uIGNvdWxkIHN0YXJ0IHByb2Nlc3NpbmcgCisg
ICAgICAgIHBlbmRpbmcgb3BlcmF0aW9ucyBvciBzdGFydCBjb21taXRpbmcsIGZvciBleGFtcGxl
LCB3aGVuIG5ldyBwZW5kaW5nIG9wZXJhdGlvbnMgd2FzIGNyZWF0ZWQuCisKKyAgICAgICAgRm9y
IGJldHRlciBwZXJmb3JtYW5jZSwgd2UgbWF5IHN0YXJ0IHByb2Nlc3NpbmcgcmlnaHQgYXdheSBh
ZnRlciB0aGUgY29uZGl0aW9uIGNoYW5nZSwgd2l0aG91dCB1c2luZyBhIFRpbWVyLgorICAgICAg
ICBUaGlzIHBhdGNoIGdpdmVzIHVzIGFib3V0IDEwJSBzcGVlZCB1cCBvbiB0ZXN0OiBQZXJmb3Jt
YW5jZVRlc3RzL0luZGV4ZWREQi9iYXNpYy9vYmplY3RzdG9yZS1jdXJzb3IuaHRtbC4KKworICAg
ICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SURCUmVxdWVzdDo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246
OklEQlRyYW5zYWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjphYm9y
dEluUHJvZ3Jlc3NPcGVyYXRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
OjpyZW1vdmVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpzY2hl
ZHVsZU9wZXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6ZmluaXNo
ZWREaXNwYXRjaEV2ZW50Rm9yUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2Fj
dGlvbjo6ZGlkU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246Om9wZXJh
dGlvbkNvbXBsZXRlZE9uQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
OjpkZWFjdGl2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpjb25uZWN0
aW9uQ2xvc2VkRnJvbVNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6
aGFuZGxlUGVuZGluZ09wZXJhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rp
b246OmF1dG9Db21taXQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnRyeVNj
aGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OklEQlRyYW5zYWN0aW9uOjpwZW5kaW5nT3BlcmF0aW9uVGltZXJGaXJlZCk6IERlbGV0ZWQuCisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaDoKKwogMjAxOS0xMi0x
OSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046
IChyMjUxNjc3KSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi0wL2Zvcm0tZG91YmxlLXN1Ym1pdC0zLmh0bWwgaXMgYSBm
bGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJl
cXVlc3QuY3BwCmluZGV4IDgwY2U0MjQ3MTY5MmJjNGFlMzk1YWU5YWQ5OTcyYzcyNzJjNTkyZDUu
LjMwZjZlNWNkZjRkOWZkYmM2MWNlM2EyMDNjNGFkMDYzYmQ4YzUyYjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCkBAIC0zMzAsMTAgKzMz
MCw2IEBAIHZvaWQgSURCUmVxdWVzdDo6ZGlzcGF0Y2hFdmVudChFdmVudCYgZXZlbnQpCiAgICAg
aWYgKCFtX3RyYW5zYWN0aW9uKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBUaGUgcmVxdWVz
dCBzaG91bGQgb25seSByZW1haW4gaW4gdGhlIHRyYW5zYWN0aW9uJ3MgcmVxdWVzdCBsaXN0IGlm
IGl0IHJlcHJlc2VudHMgYSBwZW5kaW5nIGN1cnNvciBvcGVyYXRpb24sIG9yIHRoaXMgaXMgYW4g
b3BlbiByZXF1ZXN0IHRoYXQgd2FzIGJsb2NrZWQuCi0gICAgaWYgKCFtX3BlbmRpbmdDdXJzb3Ig
JiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5ibG9ja2VkRXZlbnQpCi0gICAgICAgIG1f
dHJhbnNhY3Rpb24tPnJlbW92ZVJlcXVlc3QoKnRoaXMpOwotCiAgICAgaWYgKG1faGFzVW5jYXVn
aHRFeGNlcHRpb24pCiAgICAgICAgIG1fdHJhbnNhY3Rpb24tPmFib3J0RHVlVG9GYWlsZWRSZXF1
ZXN0KERPTUV4Y2VwdGlvbjo6Y3JlYXRlKEFib3J0RXJyb3IsICJJREJUcmFuc2FjdGlvbiB3aWxs
IGFib3J0IGR1ZSB0byB1bmNhdWdodCBleGNlcHRpb24gaW4gYW4gZXZlbnQgaGFuZGxlciJfcykp
OwogICAgIGVsc2UgaWYgKCFldmVudC5kZWZhdWx0UHJldmVudGVkKCkgJiYgZXZlbnQudHlwZSgp
ID09IGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50ICYmICFtX3RyYW5zYWN0aW9uLT5pc0ZpbmlzaGVk
T3JGaW5pc2hpbmcoKSkgewpAQCAtMzQyLDYgKzMzOCwxMCBAQCB2b2lkIElEQlJlcXVlc3Q6OmRp
c3BhdGNoRXZlbnQoRXZlbnQmIGV2ZW50KQogICAgIH0KIAogICAgIG1fdHJhbnNhY3Rpb24tPmZp
bmlzaGVkRGlzcGF0Y2hFdmVudEZvclJlcXVlc3QoKnRoaXMpOworCisgICAgLy8gVGhlIHJlcXVl
c3Qgc2hvdWxkIG9ubHkgcmVtYWluIGluIHRoZSB0cmFuc2FjdGlvbidzIHJlcXVlc3QgbGlzdCBp
ZiBpdCByZXByZXNlbnRzIGEgcGVuZGluZyBjdXJzb3Igb3BlcmF0aW9uLCBvciB0aGlzIGlzIGFu
IG9wZW4gcmVxdWVzdCB0aGF0IHdhcyBibG9ja2VkLgorICAgIGlmICghbV9wZW5kaW5nQ3Vyc29y
ICYmIGV2ZW50LnR5cGUoKSAhPSBldmVudE5hbWVzKCkuYmxvY2tlZEV2ZW50KQorICAgICAgICBt
X3RyYW5zYWN0aW9uLT5yZW1vdmVSZXF1ZXN0KCp0aGlzKTsKIH0KIAogdm9pZCBJREJSZXF1ZXN0
Ojp1bmNhdWdodEV4Y2VwdGlvbkluRXZlbnRIYW5kbGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAppbmRleCA3Yzc2M2UxOWRh
NTYwZWNmMjYyMmRlYTE2NmE5NmQyNjM4ZTlmY2JiLi5hNTY3MDkzOWU5Y2ZlNjg0ZDEyYmZhYWM3
ZGJkNzZhMDc2Mjc3NGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCkBAIC03OCw3ICs3OCw2IEBAIElEQlRyYW5zYWN0aW9u
OjpJREJUcmFuc2FjdGlvbihJREJEYXRhYmFzZSYgZGF0YWJhc2UsIGNvbnN0IElEQlRyYW5zYWN0
aW9uSW5mbyYKICAgICA6IElEQkFjdGl2ZURPTU9iamVjdChkYXRhYmFzZS5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpCiAgICAgLCBtX2RhdGFiYXNlKGRhdGFiYXNlKQogICAgICwgbV9pbmZvKGlu
Zm8pCi0gICAgLCBtX3BlbmRpbmdPcGVyYXRpb25UaW1lcigqdGhpcywgJklEQlRyYW5zYWN0aW9u
OjpwZW5kaW5nT3BlcmF0aW9uVGltZXJGaXJlZCkKICAgICAsIG1fb3BlbkRCUmVxdWVzdChyZXF1
ZXN0KQogICAgICwgbV9jdXJyZW50bHlDb21wbGV0aW5nUmVxdWVzdChyZXF1ZXN0KQogCkBAIC0y
ODMsNiArMjgyLDcgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6YWJvcnRJblByb2dyZXNzT3BlcmF0
aW9ucyhjb25zdCBJREJFcnJvciYgZXJyb3IpCiAgICAgICAgIG9wZXJhdGlvbi0+ZG9Db21wbGV0
ZShJREJSZXN1bHREYXRhOjplcnJvcihvcGVyYXRpb24tPmlkZW50aWZpZXIoKSwgZXJyb3IpKTsK
ICAgICB9CiAKKyAgICBtX2N1cnJlbnRseUNvbXBsZXRpbmdSZXF1ZXN0ID0gbnVsbHB0cjsKICAg
ICBjb25uZWN0aW9uUHJveHkoKS5mb3JnZXRBY3RpdmVPcGVyYXRpb25zKGluUHJvZ3Jlc3NBYm9y
dFZlY3Rvcik7CiB9CiAKQEAgLTM3Nyw3ICszNzcsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpy
ZW1vdmVSZXF1ZXN0KElEQlJlcXVlc3QmIHJlcXVlc3QpCiAgICAgQVNTRVJUKGNhbkN1cnJlbnRU
aHJlYWRBY2Nlc3NUaHJlYWRMb2NhbERhdGEobV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkKCkpKTsK
ICAgICBtX29wZW5SZXF1ZXN0cy5yZW1vdmUoJnJlcXVlc3QpOwogCi0gICAgdHJ5U2NoZWR1bGVQ
ZW5kaW5nT3BlcmF0aW9uVGltZXIoKTsKKyAgICBhdXRvQ29tbWl0KCk7CiB9CiAKIHZvaWQgSURC
VHJhbnNhY3Rpb246OnNjaGVkdWxlT3BlcmF0aW9uKFJlZjxJREJDbGllbnQ6OlRyYW5zYWN0aW9u
T3BlcmF0aW9uPiYmIG9wZXJhdGlvbikKQEAgLTM4OSw1MyArMzg5LDcgQEAgdm9pZCBJREJUcmFu
c2FjdGlvbjo6c2NoZWR1bGVPcGVyYXRpb24oUmVmPElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVy
YXRpb24+JiYgb3AKICAgICBtX3BlbmRpbmdUcmFuc2FjdGlvbk9wZXJhdGlvblF1ZXVlLmFwcGVu
ZChvcGVyYXRpb24uY29weVJlZigpKTsKICAgICBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFwLnNl
dChpZGVudGlmaWVyLCBXVEZNb3ZlKG9wZXJhdGlvbikpOwogCi0gICAgdHJ5U2NoZWR1bGVQZW5k
aW5nT3BlcmF0aW9uVGltZXIoKTsKLX0KLQotdm9pZCBJREJUcmFuc2FjdGlvbjo6dHJ5U2NoZWR1
bGVQZW5kaW5nT3BlcmF0aW9uVGltZXIoKQotewotICAgIEFTU0VSVChjYW5DdXJyZW50VGhyZWFk
QWNjZXNzVGhyZWFkTG9jYWxEYXRhKG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZCgpKSk7Ci0KLSAg
ICBpZiAoIW1fc3RhcnRlZE9uU2VydmVyKQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBJZiB0
aGUgbGFzdCBpbi1wcm9ncmVzcyBvcGVyYXRpb24gd2UndmUgc2VudCB0byB0aGUgc2VydmVyIGlz
IG5vdCBhbiBJREJSZXF1ZXN0IG9wZXJhdGlvbiwKLSAgICAvLyB0aGVuIHdlIGhhdmUgdG8gd2Fp
dCB1bnRpbCBpdCBjb21wbGV0ZXMgYmVmb3JlIHNlbmRpbmcgYW55IG1vcmUuCi0gICAgaWYgKCFt
X3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NRdWV1ZS5pc0VtcHR5KCkgJiYgIW1fdHJh
bnNhY3Rpb25PcGVyYXRpb25zSW5Qcm9ncmVzc1F1ZXVlLmxhc3QoKS0+bmV4dFJlcXVlc3RDYW5H
b1RvU2VydmVyKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChtX3BlbmRpbmdUcmFuc2Fj
dGlvbk9wZXJhdGlvblF1ZXVlLmlzRW1wdHkoKSAmJiAoIW1fdHJhbnNhY3Rpb25PcGVyYXRpb25N
YXAuaXNFbXB0eSgpIHx8ICFtX29wZW5SZXF1ZXN0cy5pc0VtcHR5KCkgfHwgaXNGaW5pc2hlZE9y
RmluaXNoaW5nKCkpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoIW1fcGVuZGluZ09wZXJh
dGlvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGluZ09wZXJhdGlvblRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwotfQotCi12b2lkIElEQlRyYW5zYWN0aW9uOjpwZW5kaW5nT3BlcmF0
aW9uVGltZXJGaXJlZCgpCi17Ci0gICAgTE9HKEluZGV4ZWREQiwgIklEQlRyYW5zYWN0aW9uOjpw
ZW5kaW5nT3BlcmF0aW9uVGltZXJGaXJlZCAoJXApIiwgdGhpcyk7Ci0gICAgQVNTRVJUKGNhbkN1
cnJlbnRUaHJlYWRBY2Nlc3NUaHJlYWRMb2NhbERhdGEobV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFk
KCkpKTsKLQotICAgIC8vIFdlIHdhbnQgdG8gYmF0Y2ggb3BlcmF0aW9ucyB0b2dldGhlciB3aXRo
b3V0IHNwaW5uaW5nIHRoZSBydW5sb29wIGZvciBwZXJmb3JtYW5jZSwKLSAgICAvLyBidXQgZG9u
J3Qgd2FudCB0byBhZmZlY3QgcmVzcG9uc2l2ZW5lc3Mgb2YgdGhlIG1haW4gdGhyZWFkLgotICAg
IC8vIFRoaXMgbnVtYmVyIGlzIGEgZ29vZCBjb21wcm9taXNlIGluIGFkLWhvYyB0ZXN0aW5nLgot
ICAgIHN0YXRpYyBjb25zdCBzaXplX3Qgb3BlcmF0aW9uQmF0Y2hMaW1pdCA9IDEyODsKLQotICAg
IGZvciAoc2l6ZV90IGl0ZXJhdGlvbnMgPSAwOyAhbV9wZW5kaW5nVHJhbnNhY3Rpb25PcGVyYXRp
b25RdWV1ZS5pc0VtcHR5KCkgJiYgaXRlcmF0aW9ucyA8IG9wZXJhdGlvbkJhdGNoTGltaXQ7ICsr
aXRlcmF0aW9ucykgewotICAgICAgICBhdXRvIG9wZXJhdGlvbiA9IG1fcGVuZGluZ1RyYW5zYWN0
aW9uT3BlcmF0aW9uUXVldWUudGFrZUZpcnN0KCk7Ci0gICAgICAgIG1fdHJhbnNhY3Rpb25PcGVy
YXRpb25zSW5Qcm9ncmVzc1F1ZXVlLmFwcGVuZChvcGVyYXRpb24uZ2V0KCkpOwotICAgICAgICBv
cGVyYXRpb24tPnBlcmZvcm0oKTsKLQotICAgICAgICBpZiAoIW9wZXJhdGlvbi0+bmV4dFJlcXVl
c3RDYW5Hb1RvU2VydmVyKCkpCi0gICAgICAgICAgICBicmVhazsKLQotICAgIH0KLQotICAgIGlm
ICghbV90cmFuc2FjdGlvbk9wZXJhdGlvbk1hcC5pc0VtcHR5KCkgfHwgIW1fb3BlblJlcXVlc3Rz
LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFpc0ZpbmlzaGVkT3JGaW5p
c2hpbmcoKSkKLSAgICAgICAgY29tbWl0KCk7CisgICAgaGFuZGxlUGVuZGluZ09wZXJhdGlvbnMo
KTsKIH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6b3BlcmF0aW9uQ29tcGxldGVkT25TZXJ2ZXIo
Y29uc3QgSURCUmVzdWx0RGF0YSYgZGF0YSwgSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlv
biYgb3BlcmF0aW9uKQpAQCAtNDgwLDcgKzQzNCw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmNv
bXBsZXRlQ3Vyc29yUmVxdWVzdChJREJSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBJREJSZXN1bHRE
CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246OmZpbmlzaGVkRGlzcGF0Y2hFdmVudEZvclJlcXVlc3Qo
SURCUmVxdWVzdCYgcmVxdWVzdCkKIHsKLSAgICBpZiAoaXNGaW5pc2hlZE9yRmluaXNoaW5nKCkp
CisgICAgaWYgKGlzRmluaXNoZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUX1VO
VVNFRChyZXF1ZXN0LCAhbV9jdXJyZW50bHlDb21wbGV0aW5nUmVxdWVzdCB8fCBtX2N1cnJlbnRs
eUNvbXBsZXRpbmdSZXF1ZXN0ID09ICZyZXF1ZXN0KTsKQEAgLTU0Myw3ICs0OTcsMTIgQEAgdm9p
ZCBJREJUcmFuc2FjdGlvbjo6ZGlkU3RhcnQoY29uc3QgSURCRXJyb3ImIGVycm9yKQogICAgICAg
ICByZXR1cm47CiAgICAgfQogCi0gICAgdHJ5U2NoZWR1bGVQZW5kaW5nT3BlcmF0aW9uVGltZXIo
KTsKKyAgICBoYW5kbGVQZW5kaW5nT3BlcmF0aW9ucygpOworCisgICAgLy8gSXQncyBwb3NzaWJs
ZSB0cmFuc2FjdGlvbiBkb2VzIG5vdCBjcmVhdGUgcmVxdWVzdHMgKG9yIGNyZWF0ZXMgYnV0IGZp
bmlzaGVzIHRoZW0gZWFybHkKKyAgICAvLyBiZWNhdXNlIG9mIGVycm9yKSBkdXJpbmcgaW50aWFs
aXphdGlvbi4gSW4gdGhpcyBjYXNlLCBzaW5jZSB0aGUgdHJhbnNhY3Rpb24gd2lsbAorICAgIC8v
IG5vdCBiZSBhY3RpdmUgYW55IG1vcmUsIHdlIGNhbiBlbmQgaXQuCisgICAgYXV0b0NvbW1pdCgp
OwogfQogCiB2b2lkIElEQlRyYW5zYWN0aW9uOjpub3RpZnlEaWRBYm9ydChjb25zdCBJREJFcnJv
ciYgZXJyb3IpCkBAIC0xMzk0LDcgKzEzNTMsMTAgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6b3Bl
cmF0aW9uQ29tcGxldGVkT25DbGllbnQoSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYK
ICAgICBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFwLnJlbW92ZShvcGVyYXRpb24uaWRlbnRpZmll
cigpKTsKICAgICBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJvZ3Jlc3NRdWV1ZS5yZW1vdmVG
aXJzdCgpOwogCi0gICAgdHJ5U2NoZWR1bGVQZW5kaW5nT3BlcmF0aW9uVGltZXIoKTsKKyAgICBp
ZiAobV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJblByb2dyZXNzUXVldWUuaXNFbXB0eSgpKQorICAg
ICAgICBoYW5kbGVQZW5kaW5nT3BlcmF0aW9ucygpOworCisgICAgYXV0b0NvbW1pdCgpOwogfQog
CiB2b2lkIElEQlRyYW5zYWN0aW9uOjplc3RhYmxpc2hPblNlcnZlcigpCkBAIC0xNDIyLDcgKzEz
ODQsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpkZWFjdGl2YXRlKCkKICAgICBpZiAobV9zdGF0
ZSA9PSBJbmRleGVkREI6OlRyYW5zYWN0aW9uU3RhdGU6OkFjdGl2ZSkKICAgICAgICAgbV9zdGF0
ZSA9IEluZGV4ZWREQjo6VHJhbnNhY3Rpb25TdGF0ZTo6SW5hY3RpdmU7CiAKLSAgICB0cnlTY2hl
ZHVsZVBlbmRpbmdPcGVyYXRpb25UaW1lcigpOworICAgIGF1dG9Db21taXQoKTsKIH0KIAogdm9p
ZCBJREJUcmFuc2FjdGlvbjo6Y29ubmVjdGlvbkNsb3NlZEZyb21TZXJ2ZXIoY29uc3QgSURCRXJy
b3ImIGVycm9yKQpAQCAtMTQzMiw2ICsxMzk0LDExIEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmNv
bm5lY3Rpb25DbG9zZWRGcm9tU2VydmVyKGNvbnN0IElEQkVycm9yJiBlcnJvcikKICAgICBtX2Rh
dGFiYXNlLT53aWxsQWJvcnRUcmFuc2FjdGlvbigqdGhpcyk7CiAgICAgbV9zdGF0ZSA9IEluZGV4
ZWREQjo6VHJhbnNhY3Rpb25TdGF0ZTo6QWJvcnRpbmc7CiAKKyAgICAvLyBNb3ZlIG9wZXJhdGlv
bnMgb3V0IG9mIG1fcGVuZGluZ1RyYW5zYWN0aW9uT3BlcmF0aW9uUXVldWUsIG90aGVyd2lzZSB3
ZSBtYXkgc3RhcnQgaGFuZGxpbmcKKyAgICAvLyB0aGVtIGFmdGVyIHdlIGZvcmNpYmx5IGNvbXBs
ZXRlIGluLXByb2dyZXNzIHRyYW5zYWN0aW9ucy4KKyAgICBEZXF1ZTxSZWZQdHI8SURCQ2xpZW50
OjpUcmFuc2FjdGlvbk9wZXJhdGlvbj4+IHBlbmRpbmdUcmFuc2FjdGlvbk9wZXJhdGlvblF1ZXVl
OworICAgIHBlbmRpbmdUcmFuc2FjdGlvbk9wZXJhdGlvblF1ZXVlLnN3YXAobV9wZW5kaW5nVHJh
bnNhY3Rpb25PcGVyYXRpb25RdWV1ZSk7CisKICAgICBhYm9ydEluUHJvZ3Jlc3NPcGVyYXRpb25z
KGVycm9yKTsKIAogICAgIGF1dG8gb3BlcmF0aW9ucyA9IGNvcHlUb1ZlY3RvcihtX3RyYW5zYWN0
aW9uT3BlcmF0aW9uTWFwLnZhbHVlcygpKTsKQEAgLTE0NDIsMTEgKzE0MDksMTEgQEAgdm9pZCBJ
REJUcmFuc2FjdGlvbjo6Y29ubmVjdGlvbkNsb3NlZEZyb21TZXJ2ZXIoY29uc3QgSURCRXJyb3Im
IGVycm9yKQogICAgICAgICBvcGVyYXRpb24tPmRvQ29tcGxldGUoSURCUmVzdWx0RGF0YTo6ZXJy
b3Iob3BlcmF0aW9uLT5pZGVudGlmaWVyKCksIGVycm9yKSk7CiAgICAgfQogICAgIG1fY3VycmVu
dGx5Q29tcGxldGluZ1JlcXVlc3QgPSBudWxscHRyOworICAgIHBlbmRpbmdUcmFuc2FjdGlvbk9w
ZXJhdGlvblF1ZXVlLmNsZWFyKCk7CiAKICAgICBjb25uZWN0aW9uUHJveHkoKS5mb3JnZXRBY3Rp
dmVPcGVyYXRpb25zKG9wZXJhdGlvbnMpOwogICAgIGNvbm5lY3Rpb25Qcm94eSgpLmZvcmdldFRy
YW5zYWN0aW9uKCp0aGlzKTsKIAotICAgIG1fcGVuZGluZ1RyYW5zYWN0aW9uT3BlcmF0aW9uUXVl
dWUuY2xlYXIoKTsKICAgICBtX2Fib3J0UXVldWUuY2xlYXIoKTsKICAgICBtX3RyYW5zYWN0aW9u
T3BlcmF0aW9uTWFwLmNsZWFyKCk7CiAKQEAgLTE0NjUsNiArMTQzMiw0NiBAQCB2b2lkIElEQlRy
YW5zYWN0aW9uOjp2aXNpdFJlZmVyZW5jZWRPYmplY3RTdG9yZXMoSlNDOjpTbG90VmlzaXRvciYg
dmlzaXRvcikgY29ucwogICAgICAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3Qob2JqZWN0U3RvcmUu
Z2V0KCkpOwogfQogCit2b2lkIElEQlRyYW5zYWN0aW9uOjpoYW5kbGVQZW5kaW5nT3BlcmF0aW9u
cygpCit7CisgICAgQVNTRVJUKGNhbkN1cnJlbnRUaHJlYWRBY2Nlc3NUaHJlYWRMb2NhbERhdGEo
bV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkKCkpKTsKKworICAgIGlmICghbV9zdGFydGVkT25TZXJ2
ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV90cmFuc2FjdGlvbk9wZXJhdGlvbnNJ
blByb2dyZXNzUXVldWUuaXNFbXB0eSgpICYmICFtX3RyYW5zYWN0aW9uT3BlcmF0aW9uc0luUHJv
Z3Jlc3NRdWV1ZS5sYXN0KCktPm5leHRSZXF1ZXN0Q2FuR29Ub1NlcnZlcigpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICB3aGlsZSAoIW1fcGVuZGluZ1RyYW5zYWN0aW9uT3BlcmF0aW9uUXVldWUu
aXNFbXB0eSgpKSB7CisgICAgICAgIGF1dG8gb3BlcmF0aW9uID0gbV9wZW5kaW5nVHJhbnNhY3Rp
b25PcGVyYXRpb25RdWV1ZS50YWtlRmlyc3QoKTsKKyAgICAgICAgbV90cmFuc2FjdGlvbk9wZXJh
dGlvbnNJblByb2dyZXNzUXVldWUuYXBwZW5kKG9wZXJhdGlvbi5nZXQoKSk7CisgICAgICAgIG9w
ZXJhdGlvbi0+cGVyZm9ybSgpOworCisgICAgICAgIGlmICghb3BlcmF0aW9uLT5uZXh0UmVxdWVz
dENhbkdvVG9TZXJ2ZXIoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KK30KKwordm9pZCBJ
REJUcmFuc2FjdGlvbjo6YXV0b0NvbW1pdCgpCit7CisgICAgLy8gSWYgdHJhbnNhY3Rpb24gaXMg
bm90IGluYWN0aXZlLCBpdCdzIGFjdGl2ZSwgZmluaXNoZWQgb3IgZmluaXNoaW5nLgorICAgIC8v
IElmIGl0J3MgYWN0aXZlLCBpdCBtYXkgY3JlYXRlIG5ldyByZXF1ZXN0cywgc28gd2UgY2Fubm90
IGNvbW1pdCBpdC4KKyAgICBpZiAobV9zdGF0ZSAhPSBJbmRleGVkREI6OlRyYW5zYWN0aW9uU3Rh
dGU6OkluYWN0aXZlKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fc3RhcnRlZE9uU2Vy
dmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fdHJhbnNhY3Rpb25PcGVyYXRpb25N
YXAuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fb3BlblJlcXVlc3Rz
LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworICAgIEFTU0VSVCghbV9jdXJyZW50bHlDb21w
bGV0aW5nUmVxdWVzdCk7CisKKyAgICBjb21taXQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaAppbmRleCBhYWEyNTVm
MWE5MTAwNmQwNTEwMWRlYTE5NmUwM2VhOWFjYjFjYTdkLi4zNThiMDFiYzAxNGFhNjE0NDhhMzE2
NTY1NjdlY2EyYTM1ZDJhMzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmgKQEAgLTE2Niw4ICsxNjYsOSBAQCBwcml2YXRlOgogICAg
IHZvaWQgYWJvcnRJblByb2dyZXNzT3BlcmF0aW9ucyhjb25zdCBJREJFcnJvciYpOwogCiAgICAg
dm9pZCBzY2hlZHVsZU9wZXJhdGlvbihSZWY8SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlv
bj4mJik7Ci0gICAgdm9pZCBwZW5kaW5nT3BlcmF0aW9uVGltZXJGaXJlZCgpOwogICAgIHZvaWQg
aGFuZGxlT3BlcmF0aW9uc0NvbXBsZXRlZE9uU2VydmVyKCk7CisgICAgdm9pZCBoYW5kbGVQZW5k
aW5nT3BlcmF0aW9ucygpOworICAgIHZvaWQgYXV0b0NvbW1pdCgpOwogCiAgICAgdm9pZCBmaXJl
T25Db21wbGV0ZSgpOwogICAgIHZvaWQgZmlyZU9uQWJvcnQoKTsKQEAgLTIzOSw4ICsyNDAsNiBA
QCBwcml2YXRlOgogICAgIElEQkVycm9yIG1faWRiRXJyb3I7CiAgICAgUmVmUHRyPERPTUV4Y2Vw
dGlvbj4gbV9kb21FcnJvcjsKIAotICAgIFRpbWVyIG1fcGVuZGluZ09wZXJhdGlvblRpbWVyOwot
CiAgICAgUmVmUHRyPElEQk9wZW5EQlJlcXVlc3Q+IG1fb3BlbkRCUmVxdWVzdDsKIAogICAgIERl
cXVlPFJlZlB0cjxJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uPj4gbV9wZW5kaW5nVHJh
bnNhY3Rpb25PcGVyYXRpb25RdWV1ZTsKZGlmZiAtLWdpdCBhL1dlYktpdC54Y3dvcmtzcGFjZS94
Y3NoYXJlZGRhdGEveGNzY2hlbWVzL0FsbCBTb3VyY2UueGNzY2hlbWUgYi9XZWJLaXQueGN3b3Jr
c3BhY2UveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9BbGwgU291cmNlLnhjc2NoZW1lCmluZGV4IGUx
Yzk3NGNhZjNiMWFmNWY2ZjBjZmU1NzcwNGE1NjdlMjgzYzUwOWQuLmI3NWY0YmQxOTlkOGFlNTZl
YmZmMzc3YzhmMjI4MTMxYThlYjMyN2IgMTAwNjQ0Ci0tLSBhL1dlYktpdC54Y3dvcmtzcGFjZS94
Y3NoYXJlZGRhdGEveGNzY2hlbWVzL0FsbCBTb3VyY2UueGNzY2hlbWUJCisrKyBiL1dlYktpdC54
Y3dvcmtzcGFjZS94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL0FsbCBTb3VyY2UueGNzY2hlbWUJCkBA
IC01Nyw3ICs1Nyw3IEBACiAgICAgICAgICAgICA8QnVpbGRhYmxlUmVmZXJlbmNlCiAgICAgICAg
ICAgICAgICBCdWlsZGFibGVJZGVudGlmaWVyID0gInByaW1hcnkiCiAgICAgICAgICAgICAgICBC
bHVlcHJpbnRJZGVudGlmaWVyID0gIkZCMzlEMEQwMTIwMEYwRTMwMDA4OEU2OSIKLSAgICAgICAg
ICAgICAgIEJ1aWxkYWJsZU5hbWUgPSAibGliQU5HTEUtc2hhcmVkLmR5bGliIgorICAgICAgICAg
ICAgICAgQnVpbGRhYmxlTmFtZSA9ICJsaWJBTkdMRS5hIgogICAgICAgICAgICAgICAgQmx1ZXBy
aW50TmFtZSA9ICJBTkdMRSIKICAgICAgICAgICAgICAgIFJlZmVyZW5jZWRDb250YWluZXIgPSAi
Y29udGFpbmVyOlNvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnhjb2RlcHJvaiI+CiAgICAg
ICAgICAgICA8L0J1aWxkYWJsZVJlZmVyZW5jZT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>