<?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>197822</bug_id>
          
          <creation_ts>2019-05-12 04:08:56 -0700</creation_ts>
          <short_desc>[JSC] Compact generator code&apos;s bytecode size</short_desc>
          <delta_ts>2019-05-12 12:44:25 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>msaboff</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1535431</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-05-12 04:08:56 -0700</bug_when>
    <thetext>[JSC] Compact generator code&apos;s bytecode size</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535432</commentid>
    <comment_count>1</comment_count>
      <attachid>369670</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-05-12 04:13:04 -0700</bug_when>
    <thetext>Created attachment 369670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535433</commentid>
    <comment_count>2</comment_count>
      <attachid>369671</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-05-12 04:14:36 -0700</bug_when>
    <thetext>Created attachment 369671
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535434</commentid>
    <comment_count>3</comment_count>
      <attachid>369672</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-05-12 04:19:59 -0700</bug_when>
    <thetext>Created attachment 369672
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535435</commentid>
    <comment_count>4</comment_count>
      <attachid>369673</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-05-12 04:30:35 -0700</bug_when>
    <thetext>Created attachment 369673
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535439</commentid>
    <comment_count>5</comment_count>
      <attachid>369673</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2019-05-12 07:06:11 -0700</bug_when>
    <thetext>Comment on attachment 369673
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535459</commentid>
    <comment_count>6</comment_count>
      <attachid>369673</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-05-12 12:16:16 -0700</bug_when>
    <thetext>Comment on attachment 369673
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535462</commentid>
    <comment_count>7</comment_count>
      <attachid>369673</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-12 12:43:21 -0700</bug_when>
    <thetext>Comment on attachment 369673
Patch

Clearing flags on attachment: 369673

Committed r245213: &lt;https://trac.webkit.org/changeset/245213&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535463</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-12 12:43:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535464</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-05-12 12:44:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/50706592&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369670</attachid>
            <date>2019-05-12 04:13:04 -0700</date>
            <delta_ts>2019-05-12 04:14:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197822-20190512041303.patch</filename>
            <type>text/plain</type>
            <size>18635</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
M2VjYjY2Y2FiZDg0NGNkMTlhMTMyY2M5MzhlMTZlZDQ4YTYyMjM0Li5hOGYzNTZjZDJmYzk0ZTAw
OTVlYmRhNTQ4MDMyNmUyZDg5YzhmMjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MSBAQAorMjAxOS0wNS0xMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIENvbXBhY3QgZ2VuZXJhdG9yIGNvZGUncyBieXRlY29kZSBzaXpl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc4MjIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBvcF9wdXRf
dG9fc2NvcGUncyBzeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCBpcyByZXByZXNlbnRlZCBhcyBpbnQu
IFRoaXMgd2FzIE9LIGZvciB0aGUgb2xkIGJ5dGVjb2RlIGZvcm1hdCBzaW5jZQorICAgICAgICBW
aXJ0dWFsUmVnaXN0ZXIgLyBzY29wZSBkZXB0aCBjYW4gYmUgcmVwcmVzZW50ZWQgYnkgaW50IGFu
eXdheS4gQnV0IGl0IGlzIHByb2JsZW1hdGljIG5vdyBzaW5jZSBvbmx5IGludDhfdCByYW5nZQor
ICAgICAgICB3aWxsIGJlIHJlcHJlc2VudGVkIGluIG5hcnJvdyBieXRlY29kZS4gV2hlbiB0aGlz
IGZpZWxkIGlzIHVzZWQgZm9yIHN5bWJvbCB0YWJsZSBjb25zdGFudCBpbmRleCwgaXQgaXMgYWx3
YXlzCisgICAgICAgIGxhcmdlciB0aGFuIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4LiBTbyBp
dCBhbHdheXMgZXhjZWVkcyB0aGUgcmFuZ2Ugb2YgaW50OF90LCBhbmQgcmVzdWx0cyBpbiB3aWRl
IGJ5dGVjb2RlLgorICAgICAgICBJdCBtYWtlcyBhbGwgZ2VuZXJhdG9yJ3Mgb3BfcHV0X3RvX3Nj
b3BlIHdpZGUgYnl0ZWNvZGUuCisKKyAgICAgICAgSW4gdGhpcyBwYXRjaCwgd2UgaW50cm9kdWNl
IGEgbmV3IHVuaW9uIHR5cGUgU3ltYm9sVGFibGVPclNjb3BlRGVwdGguIEl0IGhvbGRzIHVuc2ln
bmVkIHZhbHVlLCBhbmQgd2Ugc3RvcmUgdGhlCisgICAgICAgIFN5bWJvbFRhYmxlQ29uc3RhbnRJ
bmRleCAtIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4IGluIHRoaXMgdW5zaWduZWQgdmFsdWUg
dG8gbWFrZSBvcF9wdXRfdG9fc2NvcGUgbmFycm93IGJ5dGVjb2RlLgorCisgICAgICAgICogYnl0
ZWNvZGUvQnl0ZWNvZGVHZW5lcmF0b3JpZmljYXRpb24uY3BwOgorICAgICAgICAoSlNDOjpCeXRl
Y29kZUdlbmVyYXRvcmlmaWNhdGlvbjo6cnVuKToKKyAgICAgICAgKiBieXRlY29kZS9CeXRlY29k
ZUxpc3QucmI6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpT
Qzo6Q29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnl0ZWNvZGUvRml0cy5o
OgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAg
IChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcik6CisgICAgICAgIChK
U0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHJvZmlsZVR5cGUpOgorICAgICAgICAoSlNDOjpC
eXRlY29kZUdlbmVyYXRvcjo6ZW1pdFB1dFRvU2NvcGUpOgorICAgICAgICAoSlNDOjpCeXRlY29k
ZUdlbmVyYXRvcjo6bG9jYWxTY29wZURlcHRoIGNvbnN0KToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbFRhYmxlT3JT
Y29wZURlcHRoLmg6IEFkZGVkLgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZU9yU2NvcGVEZXB0
aDo6c3ltYm9sVGFibGUpOgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6
c2NvcGVEZXB0aCk6CisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpyYXcp
OgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6c3ltYm9sVGFibGUgY29u
c3QpOgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6c2NvcGVEZXB0aCBj
b25zdCk6CisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpyYXcgY29uc3Qp
OgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6ZHVtcCBjb25zdCk6Cisg
ICAgICAgIChKU0M6OlN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpTeW1ib2xUYWJsZU9yU2NvcGVE
ZXB0aCk6CisKIDIwMTktMDUtMTAgIFNhYW0gYmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAK
ICAgICAgICAgQ2FsbCB0byBKU1RvV2FzbUlDQ2FsbGVlOjpjcmVhdGVTdHJ1Y3R1cmUgcGFzc2Vz
IGluIHdyb25nIHByb3RvdHlwZSB2YWx1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0J5dGVjb2RlR2VuZXJhdG9yaWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUdlbmVyYXRvcmlmaWNhdGlvbi5jcHAKaW5kZXgg
MmU2ZGNjODI4Y2M4NDM4MmI2NTNlOWYwZjQ5ZDhkOWNhMzljZmJmZS4uMjQxMjViNzVhNGM4MjJl
M2JiMzg3MjRiY2JmM2Q4YmRiODZmNDkwZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0J5dGVjb2RlR2VuZXJhdG9yaWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVHZW5lcmF0b3JpZmljYXRpb24uY3BwCkBA
IC0yNDcsMTIgKzI0NywxMyBAQCB2b2lkIEJ5dGVjb2RlR2VuZXJhdG9yaWZpY2F0aW9uOjpydW4o
KQogICAgICAgICAgICAgICAgIFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kID0gdmlydHVhbFJlZ2lz
dGVyRm9yTG9jYWwoaW5kZXgpOwogICAgICAgICAgICAgICAgIFN0b3JhZ2Ugc3RvcmFnZSA9IHN0
b3JhZ2VGb3JHZW5lcmF0b3JMb2NhbCh2bSwgaW5kZXgpOwogCisgICAgICAgICAgICAgICAgZGF0
YUxvZ0xuKG1fZ2VuZXJhdG9yRnJhbWVTeW1ib2xUYWJsZUluZGV4LCAiICIsIEZpcnN0Q29uc3Rh
bnRSZWdpc3RlckluZGV4KTsKICAgICAgICAgICAgICAgICBmcmFnbWVudC5hcHBlbmRJbnN0cnVj
dGlvbjxPcFB1dFRvU2NvcGU+KAogICAgICAgICAgICAgICAgICAgICBzY29wZSwgLy8gc2NvcGUK
ICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZS5pZGVudGlmaWVySW5kZXgsIC8vIGlkZW50aWZp
ZXIKICAgICAgICAgICAgICAgICAgICAgb3BlcmFuZCwgLy8gdmFsdWUKICAgICAgICAgICAgICAg
ICAgICAgR2V0UHV0SW5mbyhEb05vdFRocm93SWZOb3RGb3VuZCwgTG9jYWxDbG9zdXJlVmFyLCBJ
bml0aWFsaXphdGlvbk1vZGU6Ok5vdEluaXRpYWxpemF0aW9uKSwgLy8gaW5mbwotICAgICAgICAg
ICAgICAgICAgICBtX2dlbmVyYXRvckZyYW1lU3ltYm9sVGFibGVJbmRleCwgLy8gc3ltYm9sIHRh
YmxlIGNvbnN0YW50IGluZGV4CisgICAgICAgICAgICAgICAgICAgIFN5bWJvbFRhYmxlT3JTY29w
ZURlcHRoOjpzeW1ib2xUYWJsZShWaXJ0dWFsUmVnaXN0ZXIgeyBtX2dlbmVyYXRvckZyYW1lU3lt
Ym9sVGFibGVJbmRleCB9KSwgLy8gc3ltYm9sIHRhYmxlIGNvbnN0YW50IGluZGV4CiAgICAgICAg
ICAgICAgICAgICAgIHN0b3JhZ2Uuc2NvcGVPZmZzZXQub2Zmc2V0KCkgLy8gc2NvcGUgb2Zmc2V0
CiAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5yYiBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QucmIKaW5kZXggOGNhMGRhOWMzMGY1MmMyZTZi
MTkwZjM5OWVmNTE0N2MzOTU3MDdkYi4uMDY5NWEyNTA3YjYyMzk3NjQ5YTg3OTg5NjE2NzU1YzA5
MzkzNzdhYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVj
b2RlTGlzdC5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVM
aXN0LnJiCkBAIC01MCw2ICs1MCw3IEBACiAgICAgOlN0cnVjdHVyZUlELAogICAgIDpTdHJ1Y3R1
cmVDaGFpbiwKICAgICA6U3ltYm9sVGFibGUsCisgICAgOlN5bWJvbFRhYmxlT3JTY29wZURlcHRo
LAogICAgIDpUb1RoaXNTdGF0dXMsCiAgICAgOlR5cGVMb2NhdGlvbiwKICAgICA6V2F0Y2hwb2lu
dFNldCwKQEAgLTg4MSw3ICs4ODIsNyBAQAogICAgICAgICB2YWx1ZTogVmlydHVhbFJlZ2lzdGVy
LCAjIG9mZnNldCAzCiAgICAgICAgICMgJGJlZ2luOiA6cHJpdmF0ZSwKICAgICAgICAgZ2V0UHV0
SW5mbzogR2V0UHV0SW5mbywKLSAgICAgICAgc3ltYm9sVGFibGVPclNjb3BlRGVwdGg6IGludCwK
KyAgICAgICAgc3ltYm9sVGFibGVPclNjb3BlRGVwdGg6IFN5bWJvbFRhYmxlT3JTY29wZURlcHRo
LAogICAgICAgICBvZmZzZXQ6IHVuc2lnbmVkLAogICAgIH0sCiAgICAgbWV0YWRhdGE6IHsKQEAg
LTk3Nyw3ICs5NzgsNyBAQAogb3AgOnByb2ZpbGVfdHlwZSwKICAgICBhcmdzOiB7CiAgICAgICAg
IHRhcmdldFZpcnR1YWxSZWdpc3RlcjogVmlydHVhbFJlZ2lzdGVyLAotICAgICAgICBzeW1ib2xU
YWJsZU9yU2NvcGVEZXB0aDogaW50LAorICAgICAgICBzeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDog
U3ltYm9sVGFibGVPclNjb3BlRGVwdGgsCiAgICAgICAgIGZsYWc6IFByb2ZpbGVUeXBlQnl0ZWNv
ZGVGbGFnLAogICAgICAgICBpZGVudGlmaWVyPzogdW5zaWduZWQsCiAgICAgICAgIHJlc29sdmVU
eXBlOiBSZXNvbHZlVHlwZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVC
bG9jay5jcHAKaW5kZXggZGIyOGY2N2UyZDE3YjMwMzk1NTAwNDg0ZTg2OTQ1YTdjZTFlOWQ4YS4u
ZWNjMWE5NTA5NWY3YmVmZjYxNjllZWE4M2MyNjdkNDQ3YjJiY2FiYyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAgLTY0Myw3ICs2NDMsNyBAQCBi
b29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTY3JpcHRFeGVjdXRhYmxlKiBv
d25lckV4ZWN1dGFibGUsIFVubGluawogICAgICAgICAgICAgaWYgKGJ5dGVjb2RlLm1fZ2V0UHV0
SW5mby5yZXNvbHZlVHlwZSgpID09IExvY2FsQ2xvc3VyZVZhcikgewogICAgICAgICAgICAgICAg
IC8vIE9ubHkgZG8gd2F0Y2hpbmcgaWYgdGhlIHByb3BlcnR5IHdlJ3JlIHB1dHRpbmcgdG8gaXMg
bm90IGFub255bW91cy4KICAgICAgICAgICAgICAgICBpZiAoYnl0ZWNvZGUubV92YXIgIT0gVUlO
VF9NQVgpIHsKLSAgICAgICAgICAgICAgICAgICAgU3ltYm9sVGFibGUqIHN5bWJvbFRhYmxlID0g
anNDYXN0PFN5bWJvbFRhYmxlKj4oZ2V0Q29uc3RhbnQoYnl0ZWNvZGUubV9zeW1ib2xUYWJsZU9y
U2NvcGVEZXB0aCkpOworICAgICAgICAgICAgICAgICAgICBTeW1ib2xUYWJsZSogc3ltYm9sVGFi
bGUgPSBqc0Nhc3Q8U3ltYm9sVGFibGUqPihnZXRDb25zdGFudChieXRlY29kZS5tX3N5bWJvbFRh
YmxlT3JTY29wZURlcHRoLnN5bWJvbFRhYmxlKCkub2Zmc2V0KCkpKTsKICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBpZGVudGlmaWVyKGJ5dGVjb2RlLm1fdmFy
KTsKICAgICAgICAgICAgICAgICAgICAgQ29uY3VycmVudEpTTG9ja2VyIGxvY2tlcihzeW1ib2xU
YWJsZS0+bV9sb2NrKTsKICAgICAgICAgICAgICAgICAgICAgYXV0byBpdGVyID0gc3ltYm9sVGFi
bGUtPmZpbmQobG9ja2VyLCBpZGVudC5pbXBsKCkpOwpAQCAtNjU3LDcgKzY1Nyw3IEBAIGJvb2wg
Q29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFNjcmlwdEV4ZWN1dGFibGUqIG93bmVy
RXhlY3V0YWJsZSwgVW5saW5rCiAKICAgICAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIGlkZW50
ID0gaWRlbnRpZmllcihieXRlY29kZS5tX3Zhcik7CiAgICAgICAgICAgICBtZXRhZGF0YS5tX3dh
dGNocG9pbnRTZXQgPSBudWxscHRyOwotICAgICAgICAgICAgUmVzb2x2ZU9wIG9wID0gSlNTY29w
ZTo6YWJzdHJhY3RSZXNvbHZlKG1fZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCksIGJ5dGVjb2Rl
Lm1fc3ltYm9sVGFibGVPclNjb3BlRGVwdGgsIHNjb3BlLCBpZGVudCwgUHV0LCBieXRlY29kZS5t
X2dldFB1dEluZm8ucmVzb2x2ZVR5cGUoKSwgYnl0ZWNvZGUubV9nZXRQdXRJbmZvLmluaXRpYWxp
emF0aW9uTW9kZSgpKTsKKyAgICAgICAgICAgIFJlc29sdmVPcCBvcCA9IEpTU2NvcGU6OmFic3Ry
YWN0UmVzb2x2ZShtX2dsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpLCBieXRlY29kZS5tX3N5bWJv
bFRhYmxlT3JTY29wZURlcHRoLnNjb3BlRGVwdGgoKSwgc2NvcGUsIGlkZW50LCBQdXQsIGJ5dGVj
b2RlLm1fZ2V0UHV0SW5mby5yZXNvbHZlVHlwZSgpLCBieXRlY29kZS5tX2dldFB1dEluZm8uaW5p
dGlhbGl6YXRpb25Nb2RlKCkpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJv
d1Njb3BlLCBmYWxzZSk7CiAKICAgICAgICAgICAgIG1ldGFkYXRhLm1fZ2V0UHV0SW5mbyA9IEdl
dFB1dEluZm8oYnl0ZWNvZGUubV9nZXRQdXRJbmZvLnJlc29sdmVNb2RlKCksIG9wLnR5cGUsIGJ5
dGVjb2RlLm1fZ2V0UHV0SW5mby5pbml0aWFsaXphdGlvbk1vZGUoKSk7CkBAIC02ODcsNyArNjg3
LDcgQEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU2NyaXB0RXhlY3V0
YWJsZSogb3duZXJFeGVjdXRhYmxlLCBVbmxpbmsKICAgICAgICAgICAgIHN3aXRjaCAoYnl0ZWNv
ZGUubV9mbGFnKSB7CiAgICAgICAgICAgICBjYXNlIFByb2ZpbGVUeXBlQnl0ZWNvZGVDbG9zdXJl
VmFyOiB7CiAgICAgICAgICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBpZGVudGlm
aWVyKGJ5dGVjb2RlLm1faWRlbnRpZmllcik7Ci0gICAgICAgICAgICAgICAgdW5zaWduZWQgbG9j
YWxTY29wZURlcHRoID0gYnl0ZWNvZGUubV9zeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDsKKyAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBsb2NhbFNjb3BlRGVwdGggPSBieXRlY29kZS5tX3N5bWJvbFRh
YmxlT3JTY29wZURlcHRoLnNjb3BlRGVwdGgoKTsKICAgICAgICAgICAgICAgICAvLyBFdmVuIHRo
b3VnaCB0eXBlIHByb2ZpbGluZyBtYXkgYmUgcHJvZmlsaW5nIGVpdGhlciBhIEdldCBvciBhIFB1
dCwgd2UgY2FuIGFsd2F5cyBjbGFpbSBhIEdldCBiZWNhdXNlCiAgICAgICAgICAgICAgICAgLy8g
d2UncmUgYWJzdHJhY3RseSAicmVhZCJpbmcgZnJvbSBhIEpTU2NvcGUuCiAgICAgICAgICAgICAg
ICAgUmVzb2x2ZU9wIG9wID0gSlNTY29wZTo6YWJzdHJhY3RSZXNvbHZlKG1fZ2xvYmFsT2JqZWN0
LT5nbG9iYWxFeGVjKCksIGxvY2FsU2NvcGVEZXB0aCwgc2NvcGUsIGlkZW50LCBHZXQsIGJ5dGVj
b2RlLm1fcmVzb2x2ZVR5cGUsIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5pdGlhbGl6YXRpb24p
OwpAQCAtNzExLDcgKzcxMSw3IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIFNjcmlwdEV4ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgVW5saW5rCiAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjYXNlIFByb2ZpbGVUeXBl
Qnl0ZWNvZGVMb2NhbGx5UmVzb2x2ZWQ6IHsKLSAgICAgICAgICAgICAgICBpbnQgc3ltYm9sVGFi
bGVJbmRleCA9IGJ5dGVjb2RlLm1fc3ltYm9sVGFibGVPclNjb3BlRGVwdGg7CisgICAgICAgICAg
ICAgICAgaW50IHN5bWJvbFRhYmxlSW5kZXggPSBieXRlY29kZS5tX3N5bWJvbFRhYmxlT3JTY29w
ZURlcHRoLnN5bWJvbFRhYmxlKCkub2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAgU3ltYm9sVGFi
bGUqIHN5bWJvbFRhYmxlID0ganNDYXN0PFN5bWJvbFRhYmxlKj4oZ2V0Q29uc3RhbnQoc3ltYm9s
VGFibGVJbmRleCkpOwogICAgICAgICAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIGlkZW50ID0g
aWRlbnRpZmllcihieXRlY29kZS5tX2lkZW50aWZpZXIpOwogICAgICAgICAgICAgICAgIENvbmN1
cnJlbnRKU0xvY2tlciBsb2NrZXIoc3ltYm9sVGFibGUtPm1fbG9jayk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRml0cy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0ZpdHMuaAppbmRleCAyMDdlODg1M2ZhMzVlZGFlZGE3NjhmMjhkOWUyNDBk
MWUwYzUxMGNhLi4yNGQ3NzU3Yzk3OTQ2NWVmMjgwMThhZDNiN2M5MWYzMzljODJhMWQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRml0cy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9GaXRzLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJQdXRCeUlkRmxhZ3MuaCIKICNpbmNsdWRlICJSZXN1bHRUeXBlLmgiCiAjaW5jbHVkZSAi
U3BlY2lhbFBvaW50ZXIuaCIKKyNpbmNsdWRlICJTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aC5oIgog
I2luY2x1ZGUgIlZpcnR1YWxSZWdpc3Rlci5oIgogI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgogCkBA
IC0xMzIsNiArMTMzLDI1IEBAIHN0cnVjdCBGaXRzPFZpcnR1YWxSZWdpc3RlciwgT3Bjb2RlU2l6
ZTo6TmFycm93PiB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8Pgorc3RydWN0IEZpdHM8U3ltYm9s
VGFibGVPclNjb3BlRGVwdGgsIE9wY29kZVNpemU6Ok5hcnJvdz4geworICAgIHN0YXRpYyBib29s
IGNoZWNrKFN5bWJvbFRhYmxlT3JTY29wZURlcHRoIHUpCisgICAgeworICAgICAgICByZXR1cm4g
dS5yYXcoKSA8PSBVSU5UOF9NQVg7CisgICAgfQorCisgICAgc3RhdGljIHVpbnQ4X3QgY29udmVy
dChTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCB1KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGNoZWNr
KHUpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVpbnQ4X3Q+KHUucmF3KCkpOworICAg
IH0KKworICAgIHN0YXRpYyBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCBjb252ZXJ0KHVpbnQ4X3Qg
dSkKKyAgICB7CisgICAgICAgIHJldHVybiBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6cmF3KHUp
OworICAgIH0KK307CisKIHRlbXBsYXRlPD4KIHN0cnVjdCBGaXRzPFNwZWNpYWw6OlBvaW50ZXIs
IE9wY29kZVNpemU6Ok5hcnJvdz4gOiBGaXRzPGludCwgT3Bjb2RlU2l6ZTo6TmFycm93PiB7CiAg
ICAgdXNpbmcgQmFzZSA9IEZpdHM8aW50LCBPcGNvZGVTaXplOjpOYXJyb3c+OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmNwcAppbmRleCA2NjFjYjQ5ZDNmM2QzNGRhNGQ0OGRiMjAzZGE2MTdhYjIyYTA4NTU2Li42Njdk
YWMwNDdlMTg3ZWQ3ZTZkYjk4M2FmMzA2MTFiNGVmZDdhZTM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApA
QCAtNTUxLDcgKzU1MSw3IEBAIEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcihW
TSYgdm0sIEZ1bmN0aW9uTm9kZSogZnVuY3Rpb25Ob2RlLCBVbmxpbmtlCiAgICAgICAgICAgICAg
ICAgICAgIGVudHJ5LmRpc2FibGVXYXRjaGluZygqbV92bSk7CiAgICAgICAgICAgICAgICAgICAg
IGZ1bmN0aW9uU3ltYm9sVGFibGUtPnNldChOb0xvY2tpbmdOZWNlc3NhcnksIG5hbWUsIGVudHJ5
KTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgT3BQdXRUb1Njb3BlOjplbWl0
KHRoaXMsIG1fbGV4aWNhbEVudmlyb25tZW50UmVnaXN0ZXIsIFVJTlRfTUFYLCB2aXJ0dWFsUmVn
aXN0ZXJGb3JBcmd1bWVudCgxICsgaSksIEdldFB1dEluZm8oVGhyb3dJZk5vdEZvdW5kLCBMb2Nh
bENsb3N1cmVWYXIsIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5pdGlhbGl6YXRpb24pLCBzeW1i
b2xUYWJsZUNvbnN0YW50SW5kZXgsIG9mZnNldC5vZmZzZXQoKSk7CisgICAgICAgICAgICAgICAg
T3BQdXRUb1Njb3BlOjplbWl0KHRoaXMsIG1fbGV4aWNhbEVudmlyb25tZW50UmVnaXN0ZXIsIFVJ
TlRfTUFYLCB2aXJ0dWFsUmVnaXN0ZXJGb3JBcmd1bWVudCgxICsgaSksIEdldFB1dEluZm8oVGhy
b3dJZk5vdEZvdW5kLCBMb2NhbENsb3N1cmVWYXIsIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5p
dGlhbGl6YXRpb24pLCBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6c3ltYm9sVGFibGUoVmlydHVh
bFJlZ2lzdGVyIHsgc3ltYm9sVGFibGVDb25zdGFudEluZGV4IH0pLCBvZmZzZXQub2Zmc2V0KCkp
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBUaGlzIGNyZWF0
ZXMgYSBzY29wZWQgYXJndW1lbnRzIG9iamVjdCBhbmQgY29waWVzIHRoZSBvdmVyZmxvdyBhcmd1
bWVudHMgaW50byB0aGUKQEAgLTU4OSw3ICs1ODksNyBAQCBCeXRlY29kZUdlbmVyYXRvcjo6Qnl0
ZWNvZGVHZW5lcmF0b3IoVk0mIHZtLCBGdW5jdGlvbk5vZGUqIGZ1bmN0aW9uTm9kZSwgVW5saW5r
ZQogICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IEJpbmRpbmdOb2RlKj4ocGFyYW1l
dGVycy5hdChpKS5maXJzdCktPmJvdW5kUHJvcGVydHkoKTsKICAgICAgICAgICAgIGZ1bmN0aW9u
U3ltYm9sVGFibGUtPnNldChOb0xvY2tpbmdOZWNlc3NhcnksIG5hbWUsIFN5bWJvbFRhYmxlRW50
cnkoVmFyT2Zmc2V0KG9mZnNldCkpKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgT3BQdXRU
b1Njb3BlOjplbWl0KHRoaXMsIG1fbGV4aWNhbEVudmlyb25tZW50UmVnaXN0ZXIsIGFkZENvbnN0
YW50KGlkZW50KSwgdmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnQoMSArIGkpLCBHZXRQdXRJbmZv
KFRocm93SWZOb3RGb3VuZCwgTG9jYWxDbG9zdXJlVmFyLCBJbml0aWFsaXphdGlvbk1vZGU6Ok5v
dEluaXRpYWxpemF0aW9uKSwgc3ltYm9sVGFibGVDb25zdGFudEluZGV4LCBvZmZzZXQub2Zmc2V0
KCkpOworICAgICAgICAgICAgT3BQdXRUb1Njb3BlOjplbWl0KHRoaXMsIG1fbGV4aWNhbEVudmly
b25tZW50UmVnaXN0ZXIsIGFkZENvbnN0YW50KGlkZW50KSwgdmlydHVhbFJlZ2lzdGVyRm9yQXJn
dW1lbnQoMSArIGkpLCBHZXRQdXRJbmZvKFRocm93SWZOb3RGb3VuZCwgTG9jYWxDbG9zdXJlVmFy
LCBJbml0aWFsaXphdGlvbk1vZGU6Ok5vdEluaXRpYWxpemF0aW9uKSwgU3ltYm9sVGFibGVPclNj
b3BlRGVwdGg6OnN5bWJvbFRhYmxlKFZpcnR1YWxSZWdpc3RlciB7IHN5bWJvbFRhYmxlQ29uc3Rh
bnRJbmRleCB9KSwgb2Zmc2V0Lm9mZnNldCgpKTsKICAgICAgICAgfQogICAgIH0KICAgICAKQEAg
LTE4MDMsNyArMTgwMyw3IEBAIHZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRQcm9maWxlVHlw
ZShSZWdpc3RlcklEKiByZWdpc3RlclRvUHJvZmlsZSwgUHJvZmlsZVR5CiAgICAgaWYgKCFyZWdp
c3RlclRvUHJvZmlsZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgT3BQcm9maWxlVHlwZTo6ZW1p
dCh0aGlzLCByZWdpc3RlclRvUHJvZmlsZSwgMCwgZmxhZywgeyB9LCByZXNvbHZlVHlwZSgpKTsK
KyAgICBPcFByb2ZpbGVUeXBlOjplbWl0KHRoaXMsIHJlZ2lzdGVyVG9Qcm9maWxlLCB7IH0sIGZs
YWcsIHsgfSwgcmVzb2x2ZVR5cGUoKSk7CiAKICAgICAvLyBEb24ndCBlbWl0IGV4cHJlc3Npb24g
aW5mbyBmb3IgdGhpcyB2ZXJzaW9uIG9mIHByb2ZpbGUgdHlwZS4gVGhpcyBnZW5lcmFsbHkgbWVh
bnMKICAgICAvLyB3ZSdyZSBwcm9maWxpbmcgaW5mb3JtYXRpb24gZm9yIHNvbWV0aGluZyB0aGF0
IGlzbid0IGluIHRoZSBhY3R1YWwgdGV4dCBvZiBhIEphdmFTY3JpcHQKQEAgLTE4MjMsNyArMTgy
Myw3IEBAIHZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRQcm9maWxlVHlwZShSZWdpc3RlcklE
KiByZWdpc3RlclRvUHJvZmlsZSwgUHJvZmlsZVR5CiAgICAgaWYgKCFyZWdpc3RlclRvUHJvZmls
ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgT3BQcm9maWxlVHlwZTo6ZW1pdCh0aGlzLCByZWdp
c3RlclRvUHJvZmlsZSwgMCwgIGZsYWcsIHsgfSwgcmVzb2x2ZVR5cGUoKSk7CisgICAgT3BQcm9m
aWxlVHlwZTo6ZW1pdCh0aGlzLCByZWdpc3RlclRvUHJvZmlsZSwgeyB9LCAgZmxhZywgeyB9LCBy
ZXNvbHZlVHlwZSgpKTsKICAgICBlbWl0VHlwZVByb2ZpbGVyRXhwcmVzc2lvbkluZm8oc3RhcnRE
aXZvdCwgZW5kRGl2b3QpOwogfQogCkBAIC0xODM2LDE0ICsxODM2LDE0IEBAIHZvaWQgQnl0ZWNv
ZGVHZW5lcmF0b3I6OmVtaXRQcm9maWxlVHlwZShSZWdpc3RlcklEKiByZWdpc3RlclRvUHJvZmls
ZSwgY29uc3QgVmFyCiAgICAgICAgIHJldHVybjsKIAogICAgIFByb2ZpbGVUeXBlQnl0ZWNvZGVG
bGFnIGZsYWc7Ci0gICAgaW50IHN5bWJvbFRhYmxlT3JTY29wZURlcHRoOworICAgIFN5bWJvbFRh
YmxlT3JTY29wZURlcHRoIHN5bWJvbFRhYmxlT3JTY29wZURlcHRoOwogICAgIGlmICh2YXIubG9j
YWwoKSB8fCB2YXIub2Zmc2V0KCkuaXNTY29wZSgpKSB7CiAgICAgICAgIGZsYWcgPSBQcm9maWxl
VHlwZUJ5dGVjb2RlTG9jYWxseVJlc29sdmVkOwogICAgICAgICBBU1NFUlQodmFyLnN5bWJvbFRh
YmxlQ29uc3RhbnRJbmRleCgpKTsKLSAgICAgICAgc3ltYm9sVGFibGVPclNjb3BlRGVwdGggPSB2
YXIuc3ltYm9sVGFibGVDb25zdGFudEluZGV4KCk7CisgICAgICAgIHN5bWJvbFRhYmxlT3JTY29w
ZURlcHRoID0gU3ltYm9sVGFibGVPclNjb3BlRGVwdGg6OnN5bWJvbFRhYmxlKFZpcnR1YWxSZWdp
c3RlciB7IHZhci5zeW1ib2xUYWJsZUNvbnN0YW50SW5kZXgoKSB9KTsKICAgICB9IGVsc2Ugewog
ICAgICAgICBmbGFnID0gUHJvZmlsZVR5cGVCeXRlY29kZUNsb3N1cmVWYXI7Ci0gICAgICAgIHN5
bWJvbFRhYmxlT3JTY29wZURlcHRoID0gbG9jYWxTY29wZURlcHRoKCk7CisgICAgICAgIHN5bWJv
bFRhYmxlT3JTY29wZURlcHRoID0gU3ltYm9sVGFibGVPclNjb3BlRGVwdGg6OnNjb3BlRGVwdGgo
bG9jYWxTY29wZURlcHRoKCkpOwogICAgIH0KIAogICAgIE9wUHJvZmlsZVR5cGU6OmVtaXQodGhp
cywgcmVnaXN0ZXJUb1Byb2ZpbGUsIHN5bWJvbFRhYmxlT3JTY29wZURlcHRoLCBmbGFnLCBhZGRD
b25zdGFudCh2YXIuaWRlbnQoKSksIHJlc29sdmVUeXBlKCkpOwpAQCAtMjUxMiwxOCArMjUxMiwx
OCBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFB1dFRvU2NvcGUoUmVnaXN0
ZXJJRCogc2NvcGUsIGNvbnN0IFZhcmlhYmxlJgogICAgIGNhc2UgVmFyS2luZDo6U2NvcGU6CiAg
ICAgY2FzZSBWYXJLaW5kOjpJbnZhbGlkOiB7CiAgICAgICAgIEdldFB1dEluZm8gZ2V0UHV0SW5m
bygwKTsKLSAgICAgICAgaW50IHNjb3BlRGVwdGg7CisgICAgICAgIFN5bWJvbFRhYmxlT3JTY29w
ZURlcHRoIHN5bWJvbFRhYmxlT3JTY29wZURlcHRoOwogICAgICAgICBTY29wZU9mZnNldCBvZmZz
ZXQ7CiAgICAgICAgIGlmICh2YXJpYWJsZS5vZmZzZXQoKS5pc1Njb3BlKCkpIHsKICAgICAgICAg
ICAgIG9mZnNldCA9IHZhcmlhYmxlLm9mZnNldCgpLnNjb3BlT2Zmc2V0KCk7CiAgICAgICAgICAg
ICBnZXRQdXRJbmZvID0gR2V0UHV0SW5mbyhyZXNvbHZlTW9kZSwgTG9jYWxDbG9zdXJlVmFyLCBp
bml0aWFsaXphdGlvbk1vZGUpOwotICAgICAgICAgICAgc2NvcGVEZXB0aCA9IHZhcmlhYmxlLnN5
bWJvbFRhYmxlQ29uc3RhbnRJbmRleCgpOworICAgICAgICAgICAgc3ltYm9sVGFibGVPclNjb3Bl
RGVwdGggPSBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6c3ltYm9sVGFibGUoVmlydHVhbFJlZ2lz
dGVyIHsgdmFyaWFibGUuc3ltYm9sVGFibGVDb25zdGFudEluZGV4KCkgfSk7CiAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICBBU1NFUlQocmVzb2x2ZVR5cGUoKSAhPSBMb2NhbENsb3N1cmVW
YXIpOwogICAgICAgICAgICAgZ2V0UHV0SW5mbyA9IEdldFB1dEluZm8ocmVzb2x2ZU1vZGUsIHJl
c29sdmVUeXBlKCksIGluaXRpYWxpemF0aW9uTW9kZSk7Ci0gICAgICAgICAgICBzY29wZURlcHRo
ID0gbG9jYWxTY29wZURlcHRoKCk7CisgICAgICAgICAgICBzeW1ib2xUYWJsZU9yU2NvcGVEZXB0
aCA9IFN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpzY29wZURlcHRoKGxvY2FsU2NvcGVEZXB0aCgp
KTsKICAgICAgICAgfQotICAgICAgICBPcFB1dFRvU2NvcGU6OmVtaXQodGhpcywgc2NvcGUsIGFk
ZENvbnN0YW50KHZhcmlhYmxlLmlkZW50KCkpLCB2YWx1ZSwgZ2V0UHV0SW5mbywgc2NvcGVEZXB0
aCwgISFvZmZzZXQgPyBvZmZzZXQub2Zmc2V0KCkgOiAwKTsKKyAgICAgICAgT3BQdXRUb1Njb3Bl
OjplbWl0KHRoaXMsIHNjb3BlLCBhZGRDb25zdGFudCh2YXJpYWJsZS5pZGVudCgpKSwgdmFsdWUs
IGdldFB1dEluZm8sIHN5bWJvbFRhYmxlT3JTY29wZURlcHRoLCAhIW9mZnNldCA/IG9mZnNldC5v
ZmZzZXQoKSA6IDApOwogICAgICAgICBtX2NvZGVCbG9jay0+YWRkUHJvcGVydHlBY2Nlc3NJbnN0
cnVjdGlvbihtX2xhc3RJbnN0cnVjdGlvbi5vZmZzZXQoKSk7CiAgICAgICAgIHJldHVybiB2YWx1
ZTsKICAgICB9IH0KQEAgLTM3NDMsNyArMzc0Myw3IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0QXJndW1lbnRDb3VudChSZWdpc3RlcklEKiBkc3QpCiAgICAgcmV0dXJuIGRz
dDsKIH0KIAotaW50IEJ5dGVjb2RlR2VuZXJhdG9yOjpsb2NhbFNjb3BlRGVwdGgoKSBjb25zdAor
dW5zaWduZWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmxvY2FsU2NvcGVEZXB0aCgpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIG1fbG9jYWxTY29wZURlcHRoOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDk1MzQxYTk0
ODNmNWVmNWZmMGE3MGQ0ZmVhOWFhMzc5NWE5M2Y1MTUuLjFjOTAzMTNjMWFmZmI1OTUwYmE1ZGM2
OWFmYmZmYWM4Y2U0YWE2ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTEyMzUsMTAgKzEyMzUsMTAgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFNlZ21lbnRlZFZlY3RvcjxMYWJlbCwgMzI+IG1fbGFi
ZWxzOwogICAgICAgICBTZWdtZW50ZWRWZWN0b3I8TGFiZWxTY29wZSwgMzI+IG1fbGFiZWxTY29w
ZXM7CiAgICAgICAgIHVuc2lnbmVkIG1fZmluYWxseURlcHRoIHsgMCB9OwotICAgICAgICBpbnQg
bV9sb2NhbFNjb3BlRGVwdGggeyAwIH07CisgICAgICAgIHVuc2lnbmVkIG1fbG9jYWxTY29wZURl
cHRoIHsgMCB9OwogICAgICAgICBjb25zdCBDb2RlVHlwZSBtX2NvZGVUeXBlOwogCi0gICAgICAg
IGludCBsb2NhbFNjb3BlRGVwdGgoKSBjb25zdDsKKyAgICAgICAgdW5zaWduZWQgbG9jYWxTY29w
ZURlcHRoKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgcHVzaExvY2FsQ29udHJvbEZsb3dTY29wZSgp
OwogICAgICAgICB2b2lkIHBvcExvY2FsQ29udHJvbEZsb3dTY29wZSgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZU9yU2NvcGVEZXB0aC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGVPclNjb3BlRGVwdGgu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45MWY1ZThmMDdmMmExYmMxNDM3MmMwOTk5MmZkY2I2NjNjYTM4NDA5Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFi
bGVPclNjb3BlRGVwdGguaApAQCAtMCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE5IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJWaXJ0dWFs
UmVnaXN0ZXIuaCIKKyNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KKworbmFtZXNwYWNlIEpT
QyB7CisKK2NsYXNzIFN5bWJvbFRhYmxlT3JTY29wZURlcHRoIHsKK3B1YmxpYzoKKyAgICBTeW1i
b2xUYWJsZU9yU2NvcGVEZXB0aCgpID0gZGVmYXVsdDsKKworICAgIHN0YXRpYyBTeW1ib2xUYWJs
ZU9yU2NvcGVEZXB0aCBzeW1ib2xUYWJsZShWaXJ0dWFsUmVnaXN0ZXIgcmVnKQorICAgIHsKKyAg
ICAgICAgQVNTRVJUKHJlZy5pc0NvbnN0YW50KCkpOworICAgICAgICByZXR1cm4gU3ltYm9sVGFi
bGVPclNjb3BlRGVwdGgocmVnLm9mZnNldCgpIC0gRmlyc3RDb25zdGFudFJlZ2lzdGVySW5kZXgp
OworICAgIH0KKworICAgIHN0YXRpYyBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCBzY29wZURlcHRo
KHVuc2lnbmVkIHNjb3BlRGVwdGgpCisgICAgeworICAgICAgICByZXR1cm4gU3ltYm9sVGFibGVP
clNjb3BlRGVwdGgoc2NvcGVEZXB0aCk7CisgICAgfQorCisgICAgc3RhdGljIFN5bWJvbFRhYmxl
T3JTY29wZURlcHRoIHJhdyh1bnNpZ25lZCB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBT
eW1ib2xUYWJsZU9yU2NvcGVEZXB0aCh2YWx1ZSk7CisgICAgfQorCisgICAgVmlydHVhbFJlZ2lz
dGVyIHN5bWJvbFRhYmxlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBWaXJ0dWFsUmVn
aXN0ZXIobV9yYXcgKyBGaXJzdENvbnN0YW50UmVnaXN0ZXJJbmRleCk7CisgICAgfQorCisgICAg
dW5zaWduZWQgc2NvcGVEZXB0aCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9yYXc7
CisgICAgfQorCisgICAgdW5zaWduZWQgcmF3KCkgY29uc3QgeyByZXR1cm4gbV9yYXc7IH0KKwor
ICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAorICAgIHsKKyAgICAgICAgb3V0
LnByaW50KG1fcmF3KTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgU3ltYm9sVGFibGVPclNjb3Bl
RGVwdGgodW5zaWduZWQgdmFsdWUpCisgICAgICAgIDogbV9yYXcodmFsdWUpCisgICAgeyB9CisK
KyAgICB1bnNpZ25lZCBtX3JhdyB7IDAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIEpTQwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369671</attachid>
            <date>2019-05-12 04:14:36 -0700</date>
            <delta_ts>2019-05-12 04:19:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197822-20190512041435.patch</filename>
            <type>text/plain</type>
            <size>18293</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
M2VjYjY2Y2FiZDg0NGNkMTlhMTMyY2M5MzhlMTZlZDQ4YTYyMjM0Li5hOGYzNTZjZDJmYzk0ZTAw
OTVlYmRhNTQ4MDMyNmUyZDg5YzhmMjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MSBAQAorMjAxOS0wNS0xMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIENvbXBhY3QgZ2VuZXJhdG9yIGNvZGUncyBieXRlY29kZSBzaXpl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc4MjIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBvcF9wdXRf
dG9fc2NvcGUncyBzeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCBpcyByZXByZXNlbnRlZCBhcyBpbnQu
IFRoaXMgd2FzIE9LIGZvciB0aGUgb2xkIGJ5dGVjb2RlIGZvcm1hdCBzaW5jZQorICAgICAgICBW
aXJ0dWFsUmVnaXN0ZXIgLyBzY29wZSBkZXB0aCBjYW4gYmUgcmVwcmVzZW50ZWQgYnkgaW50IGFu
eXdheS4gQnV0IGl0IGlzIHByb2JsZW1hdGljIG5vdyBzaW5jZSBvbmx5IGludDhfdCByYW5nZQor
ICAgICAgICB3aWxsIGJlIHJlcHJlc2VudGVkIGluIG5hcnJvdyBieXRlY29kZS4gV2hlbiB0aGlz
IGZpZWxkIGlzIHVzZWQgZm9yIHN5bWJvbCB0YWJsZSBjb25zdGFudCBpbmRleCwgaXQgaXMgYWx3
YXlzCisgICAgICAgIGxhcmdlciB0aGFuIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4LiBTbyBp
dCBhbHdheXMgZXhjZWVkcyB0aGUgcmFuZ2Ugb2YgaW50OF90LCBhbmQgcmVzdWx0cyBpbiB3aWRl
IGJ5dGVjb2RlLgorICAgICAgICBJdCBtYWtlcyBhbGwgZ2VuZXJhdG9yJ3Mgb3BfcHV0X3RvX3Nj
b3BlIHdpZGUgYnl0ZWNvZGUuCisKKyAgICAgICAgSW4gdGhpcyBwYXRjaCwgd2UgaW50cm9kdWNl
IGEgbmV3IHVuaW9uIHR5cGUgU3ltYm9sVGFibGVPclNjb3BlRGVwdGguIEl0IGhvbGRzIHVuc2ln
bmVkIHZhbHVlLCBhbmQgd2Ugc3RvcmUgdGhlCisgICAgICAgIFN5bWJvbFRhYmxlQ29uc3RhbnRJ
bmRleCAtIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4IGluIHRoaXMgdW5zaWduZWQgdmFsdWUg
dG8gbWFrZSBvcF9wdXRfdG9fc2NvcGUgbmFycm93IGJ5dGVjb2RlLgorCisgICAgICAgICogYnl0
ZWNvZGUvQnl0ZWNvZGVHZW5lcmF0b3JpZmljYXRpb24uY3BwOgorICAgICAgICAoSlNDOjpCeXRl
Y29kZUdlbmVyYXRvcmlmaWNhdGlvbjo6cnVuKToKKyAgICAgICAgKiBieXRlY29kZS9CeXRlY29k
ZUxpc3QucmI6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpT
Qzo6Q29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnl0ZWNvZGUvRml0cy5o
OgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAg
IChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcik6CisgICAgICAgIChK
U0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHJvZmlsZVR5cGUpOgorICAgICAgICAoSlNDOjpC
eXRlY29kZUdlbmVyYXRvcjo6ZW1pdFB1dFRvU2NvcGUpOgorICAgICAgICAoSlNDOjpCeXRlY29k
ZUdlbmVyYXRvcjo6bG9jYWxTY29wZURlcHRoIGNvbnN0KToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1N5bWJvbFRhYmxlT3JT
Y29wZURlcHRoLmg6IEFkZGVkLgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZU9yU2NvcGVEZXB0
aDo6c3ltYm9sVGFibGUpOgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6
c2NvcGVEZXB0aCk6CisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpyYXcp
OgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6c3ltYm9sVGFibGUgY29u
c3QpOgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6c2NvcGVEZXB0aCBj
b25zdCk6CisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpyYXcgY29uc3Qp
OgorICAgICAgICAoSlNDOjpTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6ZHVtcCBjb25zdCk6Cisg
ICAgICAgIChKU0M6OlN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpTeW1ib2xUYWJsZU9yU2NvcGVE
ZXB0aCk6CisKIDIwMTktMDUtMTAgIFNhYW0gYmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAK
ICAgICAgICAgQ2FsbCB0byBKU1RvV2FzbUlDQ2FsbGVlOjpjcmVhdGVTdHJ1Y3R1cmUgcGFzc2Vz
IGluIHdyb25nIHByb3RvdHlwZSB2YWx1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0J5dGVjb2RlR2VuZXJhdG9yaWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUdlbmVyYXRvcmlmaWNhdGlvbi5jcHAKaW5kZXgg
MmU2ZGNjODI4Y2M4NDM4MmI2NTNlOWYwZjQ5ZDhkOWNhMzljZmJmZS4uODFhYjc1ODBkYWJkYTk0
OWQwODZlYTNmM2U3ZTQ3ZmFkZDRmOWY5NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0J5dGVjb2RlR2VuZXJhdG9yaWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVHZW5lcmF0b3JpZmljYXRpb24uY3BwCkBA
IC0yNTIsNyArMjUyLDcgQEAgdm9pZCBCeXRlY29kZUdlbmVyYXRvcmlmaWNhdGlvbjo6cnVuKCkK
ICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZS5pZGVudGlmaWVySW5kZXgsIC8vIGlkZW50aWZp
ZXIKICAgICAgICAgICAgICAgICAgICAgb3BlcmFuZCwgLy8gdmFsdWUKICAgICAgICAgICAgICAg
ICAgICAgR2V0UHV0SW5mbyhEb05vdFRocm93SWZOb3RGb3VuZCwgTG9jYWxDbG9zdXJlVmFyLCBJ
bml0aWFsaXphdGlvbk1vZGU6Ok5vdEluaXRpYWxpemF0aW9uKSwgLy8gaW5mbwotICAgICAgICAg
ICAgICAgICAgICBtX2dlbmVyYXRvckZyYW1lU3ltYm9sVGFibGVJbmRleCwgLy8gc3ltYm9sIHRh
YmxlIGNvbnN0YW50IGluZGV4CisgICAgICAgICAgICAgICAgICAgIFN5bWJvbFRhYmxlT3JTY29w
ZURlcHRoOjpzeW1ib2xUYWJsZShWaXJ0dWFsUmVnaXN0ZXIgeyBtX2dlbmVyYXRvckZyYW1lU3lt
Ym9sVGFibGVJbmRleCB9KSwgLy8gc3ltYm9sIHRhYmxlIGNvbnN0YW50IGluZGV4CiAgICAgICAg
ICAgICAgICAgICAgIHN0b3JhZ2Uuc2NvcGVPZmZzZXQub2Zmc2V0KCkgLy8gc2NvcGUgb2Zmc2V0
CiAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5yYiBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QucmIKaW5kZXggOGNhMGRhOWMzMGY1MmMyZTZi
MTkwZjM5OWVmNTE0N2MzOTU3MDdkYi4uMDY5NWEyNTA3YjYyMzk3NjQ5YTg3OTg5NjE2NzU1YzA5
MzkzNzdhYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVj
b2RlTGlzdC5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVM
aXN0LnJiCkBAIC01MCw2ICs1MCw3IEBACiAgICAgOlN0cnVjdHVyZUlELAogICAgIDpTdHJ1Y3R1
cmVDaGFpbiwKICAgICA6U3ltYm9sVGFibGUsCisgICAgOlN5bWJvbFRhYmxlT3JTY29wZURlcHRo
LAogICAgIDpUb1RoaXNTdGF0dXMsCiAgICAgOlR5cGVMb2NhdGlvbiwKICAgICA6V2F0Y2hwb2lu
dFNldCwKQEAgLTg4MSw3ICs4ODIsNyBAQAogICAgICAgICB2YWx1ZTogVmlydHVhbFJlZ2lzdGVy
LCAjIG9mZnNldCAzCiAgICAgICAgICMgJGJlZ2luOiA6cHJpdmF0ZSwKICAgICAgICAgZ2V0UHV0
SW5mbzogR2V0UHV0SW5mbywKLSAgICAgICAgc3ltYm9sVGFibGVPclNjb3BlRGVwdGg6IGludCwK
KyAgICAgICAgc3ltYm9sVGFibGVPclNjb3BlRGVwdGg6IFN5bWJvbFRhYmxlT3JTY29wZURlcHRo
LAogICAgICAgICBvZmZzZXQ6IHVuc2lnbmVkLAogICAgIH0sCiAgICAgbWV0YWRhdGE6IHsKQEAg
LTk3Nyw3ICs5NzgsNyBAQAogb3AgOnByb2ZpbGVfdHlwZSwKICAgICBhcmdzOiB7CiAgICAgICAg
IHRhcmdldFZpcnR1YWxSZWdpc3RlcjogVmlydHVhbFJlZ2lzdGVyLAotICAgICAgICBzeW1ib2xU
YWJsZU9yU2NvcGVEZXB0aDogaW50LAorICAgICAgICBzeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDog
U3ltYm9sVGFibGVPclNjb3BlRGVwdGgsCiAgICAgICAgIGZsYWc6IFByb2ZpbGVUeXBlQnl0ZWNv
ZGVGbGFnLAogICAgICAgICBpZGVudGlmaWVyPzogdW5zaWduZWQsCiAgICAgICAgIHJlc29sdmVU
eXBlOiBSZXNvbHZlVHlwZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVC
bG9jay5jcHAKaW5kZXggZGIyOGY2N2UyZDE3YjMwMzk1NTAwNDg0ZTg2OTQ1YTdjZTFlOWQ4YS4u
ZWNjMWE5NTA5NWY3YmVmZjYxNjllZWE4M2MyNjdkNDQ3YjJiY2FiYyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAgLTY0Myw3ICs2NDMsNyBAQCBi
b29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTY3JpcHRFeGVjdXRhYmxlKiBv
d25lckV4ZWN1dGFibGUsIFVubGluawogICAgICAgICAgICAgaWYgKGJ5dGVjb2RlLm1fZ2V0UHV0
SW5mby5yZXNvbHZlVHlwZSgpID09IExvY2FsQ2xvc3VyZVZhcikgewogICAgICAgICAgICAgICAg
IC8vIE9ubHkgZG8gd2F0Y2hpbmcgaWYgdGhlIHByb3BlcnR5IHdlJ3JlIHB1dHRpbmcgdG8gaXMg
bm90IGFub255bW91cy4KICAgICAgICAgICAgICAgICBpZiAoYnl0ZWNvZGUubV92YXIgIT0gVUlO
VF9NQVgpIHsKLSAgICAgICAgICAgICAgICAgICAgU3ltYm9sVGFibGUqIHN5bWJvbFRhYmxlID0g
anNDYXN0PFN5bWJvbFRhYmxlKj4oZ2V0Q29uc3RhbnQoYnl0ZWNvZGUubV9zeW1ib2xUYWJsZU9y
U2NvcGVEZXB0aCkpOworICAgICAgICAgICAgICAgICAgICBTeW1ib2xUYWJsZSogc3ltYm9sVGFi
bGUgPSBqc0Nhc3Q8U3ltYm9sVGFibGUqPihnZXRDb25zdGFudChieXRlY29kZS5tX3N5bWJvbFRh
YmxlT3JTY29wZURlcHRoLnN5bWJvbFRhYmxlKCkub2Zmc2V0KCkpKTsKICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBpZGVudGlmaWVyKGJ5dGVjb2RlLm1fdmFy
KTsKICAgICAgICAgICAgICAgICAgICAgQ29uY3VycmVudEpTTG9ja2VyIGxvY2tlcihzeW1ib2xU
YWJsZS0+bV9sb2NrKTsKICAgICAgICAgICAgICAgICAgICAgYXV0byBpdGVyID0gc3ltYm9sVGFi
bGUtPmZpbmQobG9ja2VyLCBpZGVudC5pbXBsKCkpOwpAQCAtNjU3LDcgKzY1Nyw3IEBAIGJvb2wg
Q29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFNjcmlwdEV4ZWN1dGFibGUqIG93bmVy
RXhlY3V0YWJsZSwgVW5saW5rCiAKICAgICAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIGlkZW50
ID0gaWRlbnRpZmllcihieXRlY29kZS5tX3Zhcik7CiAgICAgICAgICAgICBtZXRhZGF0YS5tX3dh
dGNocG9pbnRTZXQgPSBudWxscHRyOwotICAgICAgICAgICAgUmVzb2x2ZU9wIG9wID0gSlNTY29w
ZTo6YWJzdHJhY3RSZXNvbHZlKG1fZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCksIGJ5dGVjb2Rl
Lm1fc3ltYm9sVGFibGVPclNjb3BlRGVwdGgsIHNjb3BlLCBpZGVudCwgUHV0LCBieXRlY29kZS5t
X2dldFB1dEluZm8ucmVzb2x2ZVR5cGUoKSwgYnl0ZWNvZGUubV9nZXRQdXRJbmZvLmluaXRpYWxp
emF0aW9uTW9kZSgpKTsKKyAgICAgICAgICAgIFJlc29sdmVPcCBvcCA9IEpTU2NvcGU6OmFic3Ry
YWN0UmVzb2x2ZShtX2dsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpLCBieXRlY29kZS5tX3N5bWJv
bFRhYmxlT3JTY29wZURlcHRoLnNjb3BlRGVwdGgoKSwgc2NvcGUsIGlkZW50LCBQdXQsIGJ5dGVj
b2RlLm1fZ2V0UHV0SW5mby5yZXNvbHZlVHlwZSgpLCBieXRlY29kZS5tX2dldFB1dEluZm8uaW5p
dGlhbGl6YXRpb25Nb2RlKCkpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJv
d1Njb3BlLCBmYWxzZSk7CiAKICAgICAgICAgICAgIG1ldGFkYXRhLm1fZ2V0UHV0SW5mbyA9IEdl
dFB1dEluZm8oYnl0ZWNvZGUubV9nZXRQdXRJbmZvLnJlc29sdmVNb2RlKCksIG9wLnR5cGUsIGJ5
dGVjb2RlLm1fZ2V0UHV0SW5mby5pbml0aWFsaXphdGlvbk1vZGUoKSk7CkBAIC02ODcsNyArNjg3
LDcgQEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU2NyaXB0RXhlY3V0
YWJsZSogb3duZXJFeGVjdXRhYmxlLCBVbmxpbmsKICAgICAgICAgICAgIHN3aXRjaCAoYnl0ZWNv
ZGUubV9mbGFnKSB7CiAgICAgICAgICAgICBjYXNlIFByb2ZpbGVUeXBlQnl0ZWNvZGVDbG9zdXJl
VmFyOiB7CiAgICAgICAgICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBpZGVudGlm
aWVyKGJ5dGVjb2RlLm1faWRlbnRpZmllcik7Ci0gICAgICAgICAgICAgICAgdW5zaWduZWQgbG9j
YWxTY29wZURlcHRoID0gYnl0ZWNvZGUubV9zeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDsKKyAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBsb2NhbFNjb3BlRGVwdGggPSBieXRlY29kZS5tX3N5bWJvbFRh
YmxlT3JTY29wZURlcHRoLnNjb3BlRGVwdGgoKTsKICAgICAgICAgICAgICAgICAvLyBFdmVuIHRo
b3VnaCB0eXBlIHByb2ZpbGluZyBtYXkgYmUgcHJvZmlsaW5nIGVpdGhlciBhIEdldCBvciBhIFB1
dCwgd2UgY2FuIGFsd2F5cyBjbGFpbSBhIEdldCBiZWNhdXNlCiAgICAgICAgICAgICAgICAgLy8g
d2UncmUgYWJzdHJhY3RseSAicmVhZCJpbmcgZnJvbSBhIEpTU2NvcGUuCiAgICAgICAgICAgICAg
ICAgUmVzb2x2ZU9wIG9wID0gSlNTY29wZTo6YWJzdHJhY3RSZXNvbHZlKG1fZ2xvYmFsT2JqZWN0
LT5nbG9iYWxFeGVjKCksIGxvY2FsU2NvcGVEZXB0aCwgc2NvcGUsIGlkZW50LCBHZXQsIGJ5dGVj
b2RlLm1fcmVzb2x2ZVR5cGUsIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5pdGlhbGl6YXRpb24p
OwpAQCAtNzExLDcgKzcxMSw3IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIFNjcmlwdEV4ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgVW5saW5rCiAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjYXNlIFByb2ZpbGVUeXBl
Qnl0ZWNvZGVMb2NhbGx5UmVzb2x2ZWQ6IHsKLSAgICAgICAgICAgICAgICBpbnQgc3ltYm9sVGFi
bGVJbmRleCA9IGJ5dGVjb2RlLm1fc3ltYm9sVGFibGVPclNjb3BlRGVwdGg7CisgICAgICAgICAg
ICAgICAgaW50IHN5bWJvbFRhYmxlSW5kZXggPSBieXRlY29kZS5tX3N5bWJvbFRhYmxlT3JTY29w
ZURlcHRoLnN5bWJvbFRhYmxlKCkub2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAgU3ltYm9sVGFi
bGUqIHN5bWJvbFRhYmxlID0ganNDYXN0PFN5bWJvbFRhYmxlKj4oZ2V0Q29uc3RhbnQoc3ltYm9s
VGFibGVJbmRleCkpOwogICAgICAgICAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIGlkZW50ID0g
aWRlbnRpZmllcihieXRlY29kZS5tX2lkZW50aWZpZXIpOwogICAgICAgICAgICAgICAgIENvbmN1
cnJlbnRKU0xvY2tlciBsb2NrZXIoc3ltYm9sVGFibGUtPm1fbG9jayk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRml0cy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0ZpdHMuaAppbmRleCAyMDdlODg1M2ZhMzVlZGFlZGE3NjhmMjhkOWUyNDBk
MWUwYzUxMGNhLi4yNGQ3NzU3Yzk3OTQ2NWVmMjgwMThhZDNiN2M5MWYzMzljODJhMWQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRml0cy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9GaXRzLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJQdXRCeUlkRmxhZ3MuaCIKICNpbmNsdWRlICJSZXN1bHRUeXBlLmgiCiAjaW5jbHVkZSAi
U3BlY2lhbFBvaW50ZXIuaCIKKyNpbmNsdWRlICJTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aC5oIgog
I2luY2x1ZGUgIlZpcnR1YWxSZWdpc3Rlci5oIgogI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgogCkBA
IC0xMzIsNiArMTMzLDI1IEBAIHN0cnVjdCBGaXRzPFZpcnR1YWxSZWdpc3RlciwgT3Bjb2RlU2l6
ZTo6TmFycm93PiB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8Pgorc3RydWN0IEZpdHM8U3ltYm9s
VGFibGVPclNjb3BlRGVwdGgsIE9wY29kZVNpemU6Ok5hcnJvdz4geworICAgIHN0YXRpYyBib29s
IGNoZWNrKFN5bWJvbFRhYmxlT3JTY29wZURlcHRoIHUpCisgICAgeworICAgICAgICByZXR1cm4g
dS5yYXcoKSA8PSBVSU5UOF9NQVg7CisgICAgfQorCisgICAgc3RhdGljIHVpbnQ4X3QgY29udmVy
dChTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCB1KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGNoZWNr
KHUpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVpbnQ4X3Q+KHUucmF3KCkpOworICAg
IH0KKworICAgIHN0YXRpYyBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCBjb252ZXJ0KHVpbnQ4X3Qg
dSkKKyAgICB7CisgICAgICAgIHJldHVybiBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6cmF3KHUp
OworICAgIH0KK307CisKIHRlbXBsYXRlPD4KIHN0cnVjdCBGaXRzPFNwZWNpYWw6OlBvaW50ZXIs
IE9wY29kZVNpemU6Ok5hcnJvdz4gOiBGaXRzPGludCwgT3Bjb2RlU2l6ZTo6TmFycm93PiB7CiAg
ICAgdXNpbmcgQmFzZSA9IEZpdHM8aW50LCBPcGNvZGVTaXplOjpOYXJyb3c+OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmNwcAppbmRleCA2NjFjYjQ5ZDNmM2QzNGRhNGQ0OGRiMjAzZGE2MTdhYjIyYTA4NTU2Li42Njdk
YWMwNDdlMTg3ZWQ3ZTZkYjk4M2FmMzA2MTFiNGVmZDdhZTM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApA
QCAtNTUxLDcgKzU1MSw3IEBAIEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcihW
TSYgdm0sIEZ1bmN0aW9uTm9kZSogZnVuY3Rpb25Ob2RlLCBVbmxpbmtlCiAgICAgICAgICAgICAg
ICAgICAgIGVudHJ5LmRpc2FibGVXYXRjaGluZygqbV92bSk7CiAgICAgICAgICAgICAgICAgICAg
IGZ1bmN0aW9uU3ltYm9sVGFibGUtPnNldChOb0xvY2tpbmdOZWNlc3NhcnksIG5hbWUsIGVudHJ5
KTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgT3BQdXRUb1Njb3BlOjplbWl0
KHRoaXMsIG1fbGV4aWNhbEVudmlyb25tZW50UmVnaXN0ZXIsIFVJTlRfTUFYLCB2aXJ0dWFsUmVn
aXN0ZXJGb3JBcmd1bWVudCgxICsgaSksIEdldFB1dEluZm8oVGhyb3dJZk5vdEZvdW5kLCBMb2Nh
bENsb3N1cmVWYXIsIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5pdGlhbGl6YXRpb24pLCBzeW1i
b2xUYWJsZUNvbnN0YW50SW5kZXgsIG9mZnNldC5vZmZzZXQoKSk7CisgICAgICAgICAgICAgICAg
T3BQdXRUb1Njb3BlOjplbWl0KHRoaXMsIG1fbGV4aWNhbEVudmlyb25tZW50UmVnaXN0ZXIsIFVJ
TlRfTUFYLCB2aXJ0dWFsUmVnaXN0ZXJGb3JBcmd1bWVudCgxICsgaSksIEdldFB1dEluZm8oVGhy
b3dJZk5vdEZvdW5kLCBMb2NhbENsb3N1cmVWYXIsIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5p
dGlhbGl6YXRpb24pLCBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6c3ltYm9sVGFibGUoVmlydHVh
bFJlZ2lzdGVyIHsgc3ltYm9sVGFibGVDb25zdGFudEluZGV4IH0pLCBvZmZzZXQub2Zmc2V0KCkp
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBUaGlzIGNyZWF0
ZXMgYSBzY29wZWQgYXJndW1lbnRzIG9iamVjdCBhbmQgY29waWVzIHRoZSBvdmVyZmxvdyBhcmd1
bWVudHMgaW50byB0aGUKQEAgLTU4OSw3ICs1ODksNyBAQCBCeXRlY29kZUdlbmVyYXRvcjo6Qnl0
ZWNvZGVHZW5lcmF0b3IoVk0mIHZtLCBGdW5jdGlvbk5vZGUqIGZ1bmN0aW9uTm9kZSwgVW5saW5r
ZQogICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IEJpbmRpbmdOb2RlKj4ocGFyYW1l
dGVycy5hdChpKS5maXJzdCktPmJvdW5kUHJvcGVydHkoKTsKICAgICAgICAgICAgIGZ1bmN0aW9u
U3ltYm9sVGFibGUtPnNldChOb0xvY2tpbmdOZWNlc3NhcnksIG5hbWUsIFN5bWJvbFRhYmxlRW50
cnkoVmFyT2Zmc2V0KG9mZnNldCkpKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgT3BQdXRU
b1Njb3BlOjplbWl0KHRoaXMsIG1fbGV4aWNhbEVudmlyb25tZW50UmVnaXN0ZXIsIGFkZENvbnN0
YW50KGlkZW50KSwgdmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnQoMSArIGkpLCBHZXRQdXRJbmZv
KFRocm93SWZOb3RGb3VuZCwgTG9jYWxDbG9zdXJlVmFyLCBJbml0aWFsaXphdGlvbk1vZGU6Ok5v
dEluaXRpYWxpemF0aW9uKSwgc3ltYm9sVGFibGVDb25zdGFudEluZGV4LCBvZmZzZXQub2Zmc2V0
KCkpOworICAgICAgICAgICAgT3BQdXRUb1Njb3BlOjplbWl0KHRoaXMsIG1fbGV4aWNhbEVudmly
b25tZW50UmVnaXN0ZXIsIGFkZENvbnN0YW50KGlkZW50KSwgdmlydHVhbFJlZ2lzdGVyRm9yQXJn
dW1lbnQoMSArIGkpLCBHZXRQdXRJbmZvKFRocm93SWZOb3RGb3VuZCwgTG9jYWxDbG9zdXJlVmFy
LCBJbml0aWFsaXphdGlvbk1vZGU6Ok5vdEluaXRpYWxpemF0aW9uKSwgU3ltYm9sVGFibGVPclNj
b3BlRGVwdGg6OnN5bWJvbFRhYmxlKFZpcnR1YWxSZWdpc3RlciB7IHN5bWJvbFRhYmxlQ29uc3Rh
bnRJbmRleCB9KSwgb2Zmc2V0Lm9mZnNldCgpKTsKICAgICAgICAgfQogICAgIH0KICAgICAKQEAg
LTE4MDMsNyArMTgwMyw3IEBAIHZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRQcm9maWxlVHlw
ZShSZWdpc3RlcklEKiByZWdpc3RlclRvUHJvZmlsZSwgUHJvZmlsZVR5CiAgICAgaWYgKCFyZWdp
c3RlclRvUHJvZmlsZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgT3BQcm9maWxlVHlwZTo6ZW1p
dCh0aGlzLCByZWdpc3RlclRvUHJvZmlsZSwgMCwgZmxhZywgeyB9LCByZXNvbHZlVHlwZSgpKTsK
KyAgICBPcFByb2ZpbGVUeXBlOjplbWl0KHRoaXMsIHJlZ2lzdGVyVG9Qcm9maWxlLCB7IH0sIGZs
YWcsIHsgfSwgcmVzb2x2ZVR5cGUoKSk7CiAKICAgICAvLyBEb24ndCBlbWl0IGV4cHJlc3Npb24g
aW5mbyBmb3IgdGhpcyB2ZXJzaW9uIG9mIHByb2ZpbGUgdHlwZS4gVGhpcyBnZW5lcmFsbHkgbWVh
bnMKICAgICAvLyB3ZSdyZSBwcm9maWxpbmcgaW5mb3JtYXRpb24gZm9yIHNvbWV0aGluZyB0aGF0
IGlzbid0IGluIHRoZSBhY3R1YWwgdGV4dCBvZiBhIEphdmFTY3JpcHQKQEAgLTE4MjMsNyArMTgy
Myw3IEBAIHZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRQcm9maWxlVHlwZShSZWdpc3RlcklE
KiByZWdpc3RlclRvUHJvZmlsZSwgUHJvZmlsZVR5CiAgICAgaWYgKCFyZWdpc3RlclRvUHJvZmls
ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgT3BQcm9maWxlVHlwZTo6ZW1pdCh0aGlzLCByZWdp
c3RlclRvUHJvZmlsZSwgMCwgIGZsYWcsIHsgfSwgcmVzb2x2ZVR5cGUoKSk7CisgICAgT3BQcm9m
aWxlVHlwZTo6ZW1pdCh0aGlzLCByZWdpc3RlclRvUHJvZmlsZSwgeyB9LCAgZmxhZywgeyB9LCBy
ZXNvbHZlVHlwZSgpKTsKICAgICBlbWl0VHlwZVByb2ZpbGVyRXhwcmVzc2lvbkluZm8oc3RhcnRE
aXZvdCwgZW5kRGl2b3QpOwogfQogCkBAIC0xODM2LDE0ICsxODM2LDE0IEBAIHZvaWQgQnl0ZWNv
ZGVHZW5lcmF0b3I6OmVtaXRQcm9maWxlVHlwZShSZWdpc3RlcklEKiByZWdpc3RlclRvUHJvZmls
ZSwgY29uc3QgVmFyCiAgICAgICAgIHJldHVybjsKIAogICAgIFByb2ZpbGVUeXBlQnl0ZWNvZGVG
bGFnIGZsYWc7Ci0gICAgaW50IHN5bWJvbFRhYmxlT3JTY29wZURlcHRoOworICAgIFN5bWJvbFRh
YmxlT3JTY29wZURlcHRoIHN5bWJvbFRhYmxlT3JTY29wZURlcHRoOwogICAgIGlmICh2YXIubG9j
YWwoKSB8fCB2YXIub2Zmc2V0KCkuaXNTY29wZSgpKSB7CiAgICAgICAgIGZsYWcgPSBQcm9maWxl
VHlwZUJ5dGVjb2RlTG9jYWxseVJlc29sdmVkOwogICAgICAgICBBU1NFUlQodmFyLnN5bWJvbFRh
YmxlQ29uc3RhbnRJbmRleCgpKTsKLSAgICAgICAgc3ltYm9sVGFibGVPclNjb3BlRGVwdGggPSB2
YXIuc3ltYm9sVGFibGVDb25zdGFudEluZGV4KCk7CisgICAgICAgIHN5bWJvbFRhYmxlT3JTY29w
ZURlcHRoID0gU3ltYm9sVGFibGVPclNjb3BlRGVwdGg6OnN5bWJvbFRhYmxlKFZpcnR1YWxSZWdp
c3RlciB7IHZhci5zeW1ib2xUYWJsZUNvbnN0YW50SW5kZXgoKSB9KTsKICAgICB9IGVsc2Ugewog
ICAgICAgICBmbGFnID0gUHJvZmlsZVR5cGVCeXRlY29kZUNsb3N1cmVWYXI7Ci0gICAgICAgIHN5
bWJvbFRhYmxlT3JTY29wZURlcHRoID0gbG9jYWxTY29wZURlcHRoKCk7CisgICAgICAgIHN5bWJv
bFRhYmxlT3JTY29wZURlcHRoID0gU3ltYm9sVGFibGVPclNjb3BlRGVwdGg6OnNjb3BlRGVwdGgo
bG9jYWxTY29wZURlcHRoKCkpOwogICAgIH0KIAogICAgIE9wUHJvZmlsZVR5cGU6OmVtaXQodGhp
cywgcmVnaXN0ZXJUb1Byb2ZpbGUsIHN5bWJvbFRhYmxlT3JTY29wZURlcHRoLCBmbGFnLCBhZGRD
b25zdGFudCh2YXIuaWRlbnQoKSksIHJlc29sdmVUeXBlKCkpOwpAQCAtMjUxMiwxOCArMjUxMiwx
OCBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFB1dFRvU2NvcGUoUmVnaXN0
ZXJJRCogc2NvcGUsIGNvbnN0IFZhcmlhYmxlJgogICAgIGNhc2UgVmFyS2luZDo6U2NvcGU6CiAg
ICAgY2FzZSBWYXJLaW5kOjpJbnZhbGlkOiB7CiAgICAgICAgIEdldFB1dEluZm8gZ2V0UHV0SW5m
bygwKTsKLSAgICAgICAgaW50IHNjb3BlRGVwdGg7CisgICAgICAgIFN5bWJvbFRhYmxlT3JTY29w
ZURlcHRoIHN5bWJvbFRhYmxlT3JTY29wZURlcHRoOwogICAgICAgICBTY29wZU9mZnNldCBvZmZz
ZXQ7CiAgICAgICAgIGlmICh2YXJpYWJsZS5vZmZzZXQoKS5pc1Njb3BlKCkpIHsKICAgICAgICAg
ICAgIG9mZnNldCA9IHZhcmlhYmxlLm9mZnNldCgpLnNjb3BlT2Zmc2V0KCk7CiAgICAgICAgICAg
ICBnZXRQdXRJbmZvID0gR2V0UHV0SW5mbyhyZXNvbHZlTW9kZSwgTG9jYWxDbG9zdXJlVmFyLCBp
bml0aWFsaXphdGlvbk1vZGUpOwotICAgICAgICAgICAgc2NvcGVEZXB0aCA9IHZhcmlhYmxlLnN5
bWJvbFRhYmxlQ29uc3RhbnRJbmRleCgpOworICAgICAgICAgICAgc3ltYm9sVGFibGVPclNjb3Bl
RGVwdGggPSBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6c3ltYm9sVGFibGUoVmlydHVhbFJlZ2lz
dGVyIHsgdmFyaWFibGUuc3ltYm9sVGFibGVDb25zdGFudEluZGV4KCkgfSk7CiAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICBBU1NFUlQocmVzb2x2ZVR5cGUoKSAhPSBMb2NhbENsb3N1cmVW
YXIpOwogICAgICAgICAgICAgZ2V0UHV0SW5mbyA9IEdldFB1dEluZm8ocmVzb2x2ZU1vZGUsIHJl
c29sdmVUeXBlKCksIGluaXRpYWxpemF0aW9uTW9kZSk7Ci0gICAgICAgICAgICBzY29wZURlcHRo
ID0gbG9jYWxTY29wZURlcHRoKCk7CisgICAgICAgICAgICBzeW1ib2xUYWJsZU9yU2NvcGVEZXB0
aCA9IFN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpzY29wZURlcHRoKGxvY2FsU2NvcGVEZXB0aCgp
KTsKICAgICAgICAgfQotICAgICAgICBPcFB1dFRvU2NvcGU6OmVtaXQodGhpcywgc2NvcGUsIGFk
ZENvbnN0YW50KHZhcmlhYmxlLmlkZW50KCkpLCB2YWx1ZSwgZ2V0UHV0SW5mbywgc2NvcGVEZXB0
aCwgISFvZmZzZXQgPyBvZmZzZXQub2Zmc2V0KCkgOiAwKTsKKyAgICAgICAgT3BQdXRUb1Njb3Bl
OjplbWl0KHRoaXMsIHNjb3BlLCBhZGRDb25zdGFudCh2YXJpYWJsZS5pZGVudCgpKSwgdmFsdWUs
IGdldFB1dEluZm8sIHN5bWJvbFRhYmxlT3JTY29wZURlcHRoLCAhIW9mZnNldCA/IG9mZnNldC5v
ZmZzZXQoKSA6IDApOwogICAgICAgICBtX2NvZGVCbG9jay0+YWRkUHJvcGVydHlBY2Nlc3NJbnN0
cnVjdGlvbihtX2xhc3RJbnN0cnVjdGlvbi5vZmZzZXQoKSk7CiAgICAgICAgIHJldHVybiB2YWx1
ZTsKICAgICB9IH0KQEAgLTM3NDMsNyArMzc0Myw3IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0QXJndW1lbnRDb3VudChSZWdpc3RlcklEKiBkc3QpCiAgICAgcmV0dXJuIGRz
dDsKIH0KIAotaW50IEJ5dGVjb2RlR2VuZXJhdG9yOjpsb2NhbFNjb3BlRGVwdGgoKSBjb25zdAor
dW5zaWduZWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmxvY2FsU2NvcGVEZXB0aCgpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIG1fbG9jYWxTY29wZURlcHRoOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDk1MzQxYTk0
ODNmNWVmNWZmMGE3MGQ0ZmVhOWFhMzc5NWE5M2Y1MTUuLjFjOTAzMTNjMWFmZmI1OTUwYmE1ZGM2
OWFmYmZmYWM4Y2U0YWE2ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTEyMzUsMTAgKzEyMzUsMTAgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFNlZ21lbnRlZFZlY3RvcjxMYWJlbCwgMzI+IG1fbGFi
ZWxzOwogICAgICAgICBTZWdtZW50ZWRWZWN0b3I8TGFiZWxTY29wZSwgMzI+IG1fbGFiZWxTY29w
ZXM7CiAgICAgICAgIHVuc2lnbmVkIG1fZmluYWxseURlcHRoIHsgMCB9OwotICAgICAgICBpbnQg
bV9sb2NhbFNjb3BlRGVwdGggeyAwIH07CisgICAgICAgIHVuc2lnbmVkIG1fbG9jYWxTY29wZURl
cHRoIHsgMCB9OwogICAgICAgICBjb25zdCBDb2RlVHlwZSBtX2NvZGVUeXBlOwogCi0gICAgICAg
IGludCBsb2NhbFNjb3BlRGVwdGgoKSBjb25zdDsKKyAgICAgICAgdW5zaWduZWQgbG9jYWxTY29w
ZURlcHRoKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgcHVzaExvY2FsQ29udHJvbEZsb3dTY29wZSgp
OwogICAgICAgICB2b2lkIHBvcExvY2FsQ29udHJvbEZsb3dTY29wZSgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZU9yU2NvcGVEZXB0aC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGVPclNjb3BlRGVwdGgu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45MWY1ZThmMDdmMmExYmMxNDM3MmMwOTk5MmZkY2I2NjNjYTM4NDA5Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFi
bGVPclNjb3BlRGVwdGguaApAQCAtMCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE5IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJWaXJ0dWFs
UmVnaXN0ZXIuaCIKKyNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KKworbmFtZXNwYWNlIEpT
QyB7CisKK2NsYXNzIFN5bWJvbFRhYmxlT3JTY29wZURlcHRoIHsKK3B1YmxpYzoKKyAgICBTeW1i
b2xUYWJsZU9yU2NvcGVEZXB0aCgpID0gZGVmYXVsdDsKKworICAgIHN0YXRpYyBTeW1ib2xUYWJs
ZU9yU2NvcGVEZXB0aCBzeW1ib2xUYWJsZShWaXJ0dWFsUmVnaXN0ZXIgcmVnKQorICAgIHsKKyAg
ICAgICAgQVNTRVJUKHJlZy5pc0NvbnN0YW50KCkpOworICAgICAgICByZXR1cm4gU3ltYm9sVGFi
bGVPclNjb3BlRGVwdGgocmVnLm9mZnNldCgpIC0gRmlyc3RDb25zdGFudFJlZ2lzdGVySW5kZXgp
OworICAgIH0KKworICAgIHN0YXRpYyBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCBzY29wZURlcHRo
KHVuc2lnbmVkIHNjb3BlRGVwdGgpCisgICAgeworICAgICAgICByZXR1cm4gU3ltYm9sVGFibGVP
clNjb3BlRGVwdGgoc2NvcGVEZXB0aCk7CisgICAgfQorCisgICAgc3RhdGljIFN5bWJvbFRhYmxl
T3JTY29wZURlcHRoIHJhdyh1bnNpZ25lZCB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBT
eW1ib2xUYWJsZU9yU2NvcGVEZXB0aCh2YWx1ZSk7CisgICAgfQorCisgICAgVmlydHVhbFJlZ2lz
dGVyIHN5bWJvbFRhYmxlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBWaXJ0dWFsUmVn
aXN0ZXIobV9yYXcgKyBGaXJzdENvbnN0YW50UmVnaXN0ZXJJbmRleCk7CisgICAgfQorCisgICAg
dW5zaWduZWQgc2NvcGVEZXB0aCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9yYXc7
CisgICAgfQorCisgICAgdW5zaWduZWQgcmF3KCkgY29uc3QgeyByZXR1cm4gbV9yYXc7IH0KKwor
ICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAorICAgIHsKKyAgICAgICAgb3V0
LnByaW50KG1fcmF3KTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgU3ltYm9sVGFibGVPclNjb3Bl
RGVwdGgodW5zaWduZWQgdmFsdWUpCisgICAgICAgIDogbV9yYXcodmFsdWUpCisgICAgeyB9CisK
KyAgICB1bnNpZ25lZCBtX3JhdyB7IDAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIEpTQwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369672</attachid>
            <date>2019-05-12 04:19:59 -0700</date>
            <delta_ts>2019-05-12 04:30:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197822-20190512041958.patch</filename>
            <type>text/plain</type>
            <size>23077</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
M2VjYjY2Y2FiZDg0NGNkMTlhMTMyY2M5MzhlMTZlZDQ4YTYyMjM0Li4wNjM2NTRmMjZlN2QyZTdh
NTY0NTkyNmI4ZjViMzc0MzExNzlkOWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAxOS0wNS0xMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIENvbXBhY3QgZ2VuZXJhdG9yIGNvZGUncyBieXRlY29kZSBzaXpl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc4MjIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBvcF9wdXRf
dG9fc2NvcGUncyBzeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCBpcyByZXByZXNlbnRlZCBhcyBpbnQu
IFRoaXMgd2FzIE9LIGZvciB0aGUgb2xkIGJ5dGVjb2RlIGZvcm1hdCBzaW5jZQorICAgICAgICBW
aXJ0dWFsUmVnaXN0ZXIgLyBzY29wZSBkZXB0aCBjYW4gYmUgcmVwcmVzZW50ZWQgYnkgaW50IGFu
eXdheS4gQnV0IGl0IGlzIHByb2JsZW1hdGljIG5vdyBzaW5jZSBvbmx5IGludDhfdCByYW5nZQor
ICAgICAgICB3aWxsIGJlIHJlcHJlc2VudGVkIGluIG5hcnJvdyBieXRlY29kZS4gV2hlbiB0aGlz
IGZpZWxkIGlzIHVzZWQgZm9yIHN5bWJvbCB0YWJsZSBjb25zdGFudCBpbmRleCwgaXQgaXMgYWx3
YXlzCisgICAgICAgIGxhcmdlciB0aGFuIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4LiBJdCBl
eGNlZWRzIHRoZSByYW5nZSBvZiBpbnQ4X3QsIGFuZCBsZWFkcyB0byB3aWRlIGJ5dGVjb2RlLiBJ
dCBtYWtlcworICAgICAgICBhbGwgZ2VuZXJhdG9yJ3Mgb3BfcHV0X3RvX3Njb3BlIHdpZGUuCisK
KyAgICAgICAgSW4gdGhpcyBwYXRjaCwgd2UgaW50cm9kdWNlIGEgbmV3IHVuaW9uIHR5cGUgU3lt
Ym9sVGFibGVPclNjb3BlRGVwdGguIEl0IGhvbGRzIHVuc2lnbmVkIHZhbHVlLCBhbmQgd2Ugc3Rv
cmUgdGhlCisgICAgICAgIFN5bWJvbFRhYmxlQ29uc3RhbnRJbmRleCAtIEZpcnN0Q29uc3RhbnRS
ZWdpc3RlckluZGV4IGluIHRoaXMgdW5zaWduZWQgdmFsdWUgdG8gbWFrZSBvcF9wdXRfdG9fc2Nv
cGUgbmFycm93IGJ5dGVjb2RlLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBi
eXRlY29kZS9CeXRlY29kZUdlbmVyYXRvcmlmaWNhdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkJ5
dGVjb2RlR2VuZXJhdG9yaWZpY2F0aW9uOjpydW4pOgorICAgICAgICAqIGJ5dGVjb2RlL0J5dGVj
b2RlTGlzdC5yYjoKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAo
SlNDOjpDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBieXRlY29kZS9GaXRz
Lmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKToKKyAgICAgICAg
KEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRQcm9maWxlVHlwZSk6CisgICAgICAgIChKU0M6
OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHV0VG9TY29wZSk6CisgICAgICAgIChKU0M6OkJ5dGVj
b2RlR2VuZXJhdG9yOjpsb2NhbFNjb3BlRGVwdGggY29uc3QpOgorICAgICAgICAqIGJ5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5oOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sVGFibGVP
clNjb3BlRGVwdGguaDogQWRkZWQuCisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlT3JTY29wZURl
cHRoOjpzeW1ib2xUYWJsZSk6CisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlT3JTY29wZURlcHRo
OjpzY29wZURlcHRoKToKKyAgICAgICAgKEpTQzo6U3ltYm9sVGFibGVPclNjb3BlRGVwdGg6OnJh
dyk6CisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpzeW1ib2xUYWJsZSBj
b25zdCk6CisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpzY29wZURlcHRo
IGNvbnN0KToKKyAgICAgICAgKEpTQzo6U3ltYm9sVGFibGVPclNjb3BlRGVwdGg6OnJhdyBjb25z
dCk6CisgICAgICAgIChKU0M6OlN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpkdW1wIGNvbnN0KToK
KyAgICAgICAgKEpTQzo6U3ltYm9sVGFibGVPclNjb3BlRGVwdGg6OlN5bWJvbFRhYmxlT3JTY29w
ZURlcHRoKToKKwogMjAxOS0wNS0xMCAgU2FhbSBiYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBDYWxsIHRvIEpTVG9XYXNtSUNDYWxsZWU6OmNyZWF0ZVN0cnVjdHVyZSBwYXNz
ZXMgaW4gd3JvbmcgcHJvdG90eXBlIHZhbHVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggZmI2MjEwYzNmNzI3NWU3MDQ0MGZlNDFmZGJjODk4YzZiZTY0NTc0ZC4uZmRlNzll
MmNhMTMzYTkzMzBlYWMyODMzMjQ3YWMzMDRiNjUxMDM2MyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtOTYzLDYgKzk2Myw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9QUklW
QVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcnVudGltZS9TeW1ib2wuaAogICAgIHJ1bnRpbWUv
U3ltYm9sUHJvdG90eXBlLmgKICAgICBydW50aW1lL1N5bWJvbFRhYmxlLmgKKyAgICBydW50aW1l
L1N5bWJvbFRhYmxlT3JTY29wZURlcHRoLmgKICAgICBydW50aW1lL1RlbXBsYXRlT2JqZWN0RGVz
Y3JpcHRvci5oCiAgICAgcnVudGltZS9UZXN0UnVubmVyVXRpbHMuaAogICAgIHJ1bnRpbWUvVGhy
b3dTY29wZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGU3ZGM4ODdiOWFhZjgx
NWJiM2I4MGE3ZDQyZThhMDdmODk0ZmRkMDMuLmZhMGM4NDRjYjk5NjUxOTdiNDI4YTZjODVlYjNj
OWVlNzIzYmU5ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzQyLDYgKzE3
NDIsNyBAQAogCQlERTI2RTkwMzFDQjVERDA1MDBEMkJFODIgLyogQnVpbHRpbkV4ZWN1dGFibGVD
cmVhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBE
RTI2RTkwMjFDQjVERDA1MDBEMkJFODIgLyogQnVpbHRpbkV4ZWN1dGFibGVDcmVhdG9yLmggKi87
IH07CiAJCURFQTdFMjQ1MUJCQzY3N0YwMEQ3ODQ0MCAvKiBKU1R5cGVkQXJyYXlWaWV3UHJvdG90
eXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Mzkx
N0U3QzFCNzkxMTA2MDAwRUJEMzMgLyogSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUxMjRBOEY3MEU1
NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEyNEE4RjUwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1
ZUpTU3RyaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJRTMxMTc5QUEyMjg4Mzg2MTAwNTE0QjJDIC8qIFN5bWJvbFRhYmxlT3JTY29wZURlcHRo
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzExNzlB
OTIyODgzODVEMDA1MTRCMkMgLyogU3ltYm9sVGFibGVPclNjb3BlRGVwdGguaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzE2MTgxMzFFQzVGRTE3
MDAwNkEyMTggLyogRE9NQW5ub3RhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTMxNjE4MTAxRUM1RkUwODAwMDZBMjE4IC8qIERPTUFubm90YXRp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlF
MzE2MTgxNTFFQzVGRTI3MDAwNkEyMTggLyogRE9NQXR0cmlidXRlR2V0dGVyU2V0dGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzE2MTgxMjFFQzVG
RTA4MDAwNkEyMTggLyogRE9NQXR0cmlidXRlR2V0dGVyU2V0dGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMxOENCQzExQjhBRUY1MTAwQTI5
MjlEIC8qIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzE4Q0JCRjFCOEFFRjUxMDBBMjkyOUQgLyogSlNNb2R1
bGVOYW1lc3BhY2VPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtNDcyMSw2ICs0NzIyLDcgQEAKIAkJRTE4RTNBNTYwREY5Mjc4QzAwRDkw
QjM0IC8qIFZNLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IHBh
dGggPSBWTS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlv
bklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKIAkJRTE4RTNBNTcwREY5Mjc4QzAw
RDkwQjM0IC8qIFZNLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGlu
ZyA9IDA7IHBhdGggPSBWTS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VT
cGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OwogCQlFMzA2Nzc5NzFC
OEJDNkY1MDAzRjg3RjAgLyogTW9kdWxlTG9hZGVyLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5q
YXZhc2NyaXB0OyBwYXRoID0gTW9kdWxlTG9hZGVyLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlFMzExNzlBOTIyODgzODVEMDA1MTRCMkMgLyogU3ltYm9sVGFibGVPclNjb3BlRGVw
dGguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU3ltYm9sVGFibGVPclNjb3BlRGVwdGguaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMxNjE4MTAxRUM1RkUwODAwMDZBMjE4IC8qIERPTUFubm90
YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQW5ub3RhdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzE2MTgxMTFFQzVGRTA4MDAwNkEyMTgg
LyogRE9NQXR0cmlidXRlR2V0dGVyU2V0dGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IERPTUF0dHJpYnV0ZUdldHRlclNldHRlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzMTYxODEyMUVDNUZFMDgwMDA2QTIxOCAvKiBET01BdHRyaWJ1dGVH
ZXR0ZXJTZXR0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQXR0cmli
dXRlR2V0dGVyU2V0dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03Mjk5LDYg
KzczMDEsNyBAQAogCQkJCTcwNUI0MUFBMUE2RTUwMUUwMDcxNjc1NyAvKiBTeW1ib2xQcm90b3R5
cGUuaCAqLywKIAkJCQkwRjkxOUQyNzE1ODU2NzcwMDA0QTRFN0QgLyogU3ltYm9sVGFibGUuY3Bw
ICovLAogCQkJCTE0QTM5NkE2MENEMjkzMzEwMEI1QjRGRiAvKiBTeW1ib2xUYWJsZS5oICovLAor
CQkJCUUzMTE3OUE5MjI4ODM4NUQwMDUxNEIyQyAvKiBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aC5o
ICovLAogCQkJCUJEQjRCNUUwOTlDRDRDMUJCM0MxQ0YwNSAvKiBUZW1wbGF0ZU9iamVjdERlc2Ny
aXB0b3IuY3BwICovLAogCQkJCTcwRUNBNjA0MUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0ZU9i
amVjdERlc2NyaXB0b3IuaCAqLywKIAkJCQkwRkEyQzE3OTE3RDdDRjg0MDA5RDAxNUYgLyogVGVz
dFJ1bm5lclV0aWxzLmNwcCAqLywKQEAgLTk4NTcsNiArOTg2MCw3IEBACiAJCQkJNzA1QjQxQjIx
QTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJvbFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTk2QjczMjgxQkRBMDhFRjAwMzMxQjg0IC8qIFN5bWJvbFByb3RvdHlwZS5sdXQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDMThDNDZCMEUxNkY1Q0QwMEIzNDQ2MCAvKiBTeW1ib2xUYWJsZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJRTMxMTc5QUEyMjg4Mzg2MTAwNTE0QjJDIC8qIFN5bWJvbFRhYmxl
T3JTY29wZURlcHRoLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkQ3OUEyRDFFQkJCREJCMDBEQTg4
RDMgLyogU3luY2hyb25vdXNuZXNzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjFGQjM4RjFFMTcz
QTY3MDBBOUJFNTAgLyogU3luY2hyb25vdXNTdG9wVGhlV29ybGRNdXRhdG9yU2NoZWR1bGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBNzg0QTI2NDExRDE2NjIyMDA1Nzc2QUMgLyogU3ludGF4Q2hl
Y2tlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQnl0ZWNvZGVHZW5lcmF0b3JpZmljYXRpb24uY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlR2VuZXJhdG9yaWZpY2F0aW9uLmNwcAppbmRleCAyZTZk
Y2M4MjhjYzg0MzgyYjY1M2U5ZjBmNDlkOGQ5Y2EzOWNmYmZlLi44MWFiNzU4MGRhYmRhOTQ5ZDA4
NmVhM2YzZTdlNDdmYWRkNGY5Zjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQnl0ZWNvZGVHZW5lcmF0b3JpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUdlbmVyYXRvcmlmaWNhdGlvbi5jcHAKQEAgLTI1
Miw3ICsyNTIsNyBAQCB2b2lkIEJ5dGVjb2RlR2VuZXJhdG9yaWZpY2F0aW9uOjpydW4oKQogICAg
ICAgICAgICAgICAgICAgICBzdG9yYWdlLmlkZW50aWZpZXJJbmRleCwgLy8gaWRlbnRpZmllcgog
ICAgICAgICAgICAgICAgICAgICBvcGVyYW5kLCAvLyB2YWx1ZQogICAgICAgICAgICAgICAgICAg
ICBHZXRQdXRJbmZvKERvTm90VGhyb3dJZk5vdEZvdW5kLCBMb2NhbENsb3N1cmVWYXIsIEluaXRp
YWxpemF0aW9uTW9kZTo6Tm90SW5pdGlhbGl6YXRpb24pLCAvLyBpbmZvCi0gICAgICAgICAgICAg
ICAgICAgIG1fZ2VuZXJhdG9yRnJhbWVTeW1ib2xUYWJsZUluZGV4LCAvLyBzeW1ib2wgdGFibGUg
Y29uc3RhbnQgaW5kZXgKKyAgICAgICAgICAgICAgICAgICAgU3ltYm9sVGFibGVPclNjb3BlRGVw
dGg6OnN5bWJvbFRhYmxlKFZpcnR1YWxSZWdpc3RlciB7IG1fZ2VuZXJhdG9yRnJhbWVTeW1ib2xU
YWJsZUluZGV4IH0pLCAvLyBzeW1ib2wgdGFibGUgY29uc3RhbnQgaW5kZXgKICAgICAgICAgICAg
ICAgICAgICAgc3RvcmFnZS5zY29wZU9mZnNldC5vZmZzZXQoKSAvLyBzY29wZSBvZmZzZXQKICAg
ICAgICAgICAgICAgICApOwogICAgICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0LnJiIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5yYgppbmRleCA4Y2EwZGE5YzMwZjUyYzJlNmIxOTBm
Mzk5ZWY1MTQ3YzM5NTcwN2RiLi4wNjk1YTI1MDdiNjIzOTc2NDlhODc5ODk2MTY3NTVjMDkzOTM3
N2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVM
aXN0LnJiCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3Qu
cmIKQEAgLTUwLDYgKzUwLDcgQEAKICAgICA6U3RydWN0dXJlSUQsCiAgICAgOlN0cnVjdHVyZUNo
YWluLAogICAgIDpTeW1ib2xUYWJsZSwKKyAgICA6U3ltYm9sVGFibGVPclNjb3BlRGVwdGgsCiAg
ICAgOlRvVGhpc1N0YXR1cywKICAgICA6VHlwZUxvY2F0aW9uLAogICAgIDpXYXRjaHBvaW50U2V0
LApAQCAtODgxLDcgKzg4Miw3IEBACiAgICAgICAgIHZhbHVlOiBWaXJ0dWFsUmVnaXN0ZXIsICMg
b2Zmc2V0IDMKICAgICAgICAgIyAkYmVnaW46IDpwcml2YXRlLAogICAgICAgICBnZXRQdXRJbmZv
OiBHZXRQdXRJbmZvLAotICAgICAgICBzeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDogaW50LAorICAg
ICAgICBzeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDogU3ltYm9sVGFibGVPclNjb3BlRGVwdGgsCiAg
ICAgICAgIG9mZnNldDogdW5zaWduZWQsCiAgICAgfSwKICAgICBtZXRhZGF0YTogewpAQCAtOTc3
LDcgKzk3OCw3IEBACiBvcCA6cHJvZmlsZV90eXBlLAogICAgIGFyZ3M6IHsKICAgICAgICAgdGFy
Z2V0VmlydHVhbFJlZ2lzdGVyOiBWaXJ0dWFsUmVnaXN0ZXIsCi0gICAgICAgIHN5bWJvbFRhYmxl
T3JTY29wZURlcHRoOiBpbnQsCisgICAgICAgIHN5bWJvbFRhYmxlT3JTY29wZURlcHRoOiBTeW1i
b2xUYWJsZU9yU2NvcGVEZXB0aCwKICAgICAgICAgZmxhZzogUHJvZmlsZVR5cGVCeXRlY29kZUZs
YWcsCiAgICAgICAgIGlkZW50aWZpZXI/OiB1bnNpZ25lZCwKICAgICAgICAgcmVzb2x2ZVR5cGU6
IFJlc29sdmVUeXBlLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcAppbmRleCBkYjI4ZjY3ZTJkMTdiMzAzOTU1MDA0ODRlODY5NDVhN2NlMWU5ZDhhLi5lY2Mx
YTk1MDk1ZjdiZWZmNjE2OWVlYTgzYzI2N2Q0NDdiMmJjYWJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtNjQzLDcgKzY0Myw3IEBAIGJvb2wg
Q29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFNjcmlwdEV4ZWN1dGFibGUqIG93bmVy
RXhlY3V0YWJsZSwgVW5saW5rCiAgICAgICAgICAgICBpZiAoYnl0ZWNvZGUubV9nZXRQdXRJbmZv
LnJlc29sdmVUeXBlKCkgPT0gTG9jYWxDbG9zdXJlVmFyKSB7CiAgICAgICAgICAgICAgICAgLy8g
T25seSBkbyB3YXRjaGluZyBpZiB0aGUgcHJvcGVydHkgd2UncmUgcHV0dGluZyB0byBpcyBub3Qg
YW5vbnltb3VzLgogICAgICAgICAgICAgICAgIGlmIChieXRlY29kZS5tX3ZhciAhPSBVSU5UX01B
WCkgewotICAgICAgICAgICAgICAgICAgICBTeW1ib2xUYWJsZSogc3ltYm9sVGFibGUgPSBqc0Nh
c3Q8U3ltYm9sVGFibGUqPihnZXRDb25zdGFudChieXRlY29kZS5tX3N5bWJvbFRhYmxlT3JTY29w
ZURlcHRoKSk7CisgICAgICAgICAgICAgICAgICAgIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSA9
IGpzQ2FzdDxTeW1ib2xUYWJsZSo+KGdldENvbnN0YW50KGJ5dGVjb2RlLm1fc3ltYm9sVGFibGVP
clNjb3BlRGVwdGguc3ltYm9sVGFibGUoKS5vZmZzZXQoKSkpOwogICAgICAgICAgICAgICAgICAg
ICBjb25zdCBJZGVudGlmaWVyJiBpZGVudCA9IGlkZW50aWZpZXIoYnl0ZWNvZGUubV92YXIpOwog
ICAgICAgICAgICAgICAgICAgICBDb25jdXJyZW50SlNMb2NrZXIgbG9ja2VyKHN5bWJvbFRhYmxl
LT5tX2xvY2spOwogICAgICAgICAgICAgICAgICAgICBhdXRvIGl0ZXIgPSBzeW1ib2xUYWJsZS0+
ZmluZChsb2NrZXIsIGlkZW50LmltcGwoKSk7CkBAIC02NTcsNyArNjU3LDcgQEAgYm9vbCBDb2Rl
QmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU2NyaXB0RXhlY3V0YWJsZSogb3duZXJFeGVj
dXRhYmxlLCBVbmxpbmsKIAogICAgICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBp
ZGVudGlmaWVyKGJ5dGVjb2RlLm1fdmFyKTsKICAgICAgICAgICAgIG1ldGFkYXRhLm1fd2F0Y2hw
b2ludFNldCA9IG51bGxwdHI7Ci0gICAgICAgICAgICBSZXNvbHZlT3Agb3AgPSBKU1Njb3BlOjph
YnN0cmFjdFJlc29sdmUobV9nbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKSwgYnl0ZWNvZGUubV9z
eW1ib2xUYWJsZU9yU2NvcGVEZXB0aCwgc2NvcGUsIGlkZW50LCBQdXQsIGJ5dGVjb2RlLm1fZ2V0
UHV0SW5mby5yZXNvbHZlVHlwZSgpLCBieXRlY29kZS5tX2dldFB1dEluZm8uaW5pdGlhbGl6YXRp
b25Nb2RlKCkpOworICAgICAgICAgICAgUmVzb2x2ZU9wIG9wID0gSlNTY29wZTo6YWJzdHJhY3RS
ZXNvbHZlKG1fZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCksIGJ5dGVjb2RlLm1fc3ltYm9sVGFi
bGVPclNjb3BlRGVwdGguc2NvcGVEZXB0aCgpLCBzY29wZSwgaWRlbnQsIFB1dCwgYnl0ZWNvZGUu
bV9nZXRQdXRJbmZvLnJlc29sdmVUeXBlKCksIGJ5dGVjb2RlLm1fZ2V0UHV0SW5mby5pbml0aWFs
aXphdGlvbk1vZGUoKSk7CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2Nv
cGUsIGZhbHNlKTsKIAogICAgICAgICAgICAgbWV0YWRhdGEubV9nZXRQdXRJbmZvID0gR2V0UHV0
SW5mbyhieXRlY29kZS5tX2dldFB1dEluZm8ucmVzb2x2ZU1vZGUoKSwgb3AudHlwZSwgYnl0ZWNv
ZGUubV9nZXRQdXRJbmZvLmluaXRpYWxpemF0aW9uTW9kZSgpKTsKQEAgLTY4Nyw3ICs2ODcsNyBA
QCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTY3JpcHRFeGVjdXRhYmxl
KiBvd25lckV4ZWN1dGFibGUsIFVubGluawogICAgICAgICAgICAgc3dpdGNoIChieXRlY29kZS5t
X2ZsYWcpIHsKICAgICAgICAgICAgIGNhc2UgUHJvZmlsZVR5cGVCeXRlY29kZUNsb3N1cmVWYXI6
IHsKICAgICAgICAgICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBpZGVudCA9IGlkZW50aWZpZXIo
Ynl0ZWNvZGUubV9pZGVudGlmaWVyKTsKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb2NhbFNj
b3BlRGVwdGggPSBieXRlY29kZS5tX3N5bWJvbFRhYmxlT3JTY29wZURlcHRoOworICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGxvY2FsU2NvcGVEZXB0aCA9IGJ5dGVjb2RlLm1fc3ltYm9sVGFibGVP
clNjb3BlRGVwdGguc2NvcGVEZXB0aCgpOwogICAgICAgICAgICAgICAgIC8vIEV2ZW4gdGhvdWdo
IHR5cGUgcHJvZmlsaW5nIG1heSBiZSBwcm9maWxpbmcgZWl0aGVyIGEgR2V0IG9yIGEgUHV0LCB3
ZSBjYW4gYWx3YXlzIGNsYWltIGEgR2V0IGJlY2F1c2UKICAgICAgICAgICAgICAgICAvLyB3ZSdy
ZSBhYnN0cmFjdGx5ICJyZWFkImluZyBmcm9tIGEgSlNTY29wZS4KICAgICAgICAgICAgICAgICBS
ZXNvbHZlT3Agb3AgPSBKU1Njb3BlOjphYnN0cmFjdFJlc29sdmUobV9nbG9iYWxPYmplY3QtPmds
b2JhbEV4ZWMoKSwgbG9jYWxTY29wZURlcHRoLCBzY29wZSwgaWRlbnQsIEdldCwgYnl0ZWNvZGUu
bV9yZXNvbHZlVHlwZSwgSW5pdGlhbGl6YXRpb25Nb2RlOjpOb3RJbml0aWFsaXphdGlvbik7CkBA
IC03MTEsNyArNzExLDcgQEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
U2NyaXB0RXhlY3V0YWJsZSogb3duZXJFeGVjdXRhYmxlLCBVbmxpbmsKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNhc2UgUHJvZmlsZVR5cGVCeXRl
Y29kZUxvY2FsbHlSZXNvbHZlZDogewotICAgICAgICAgICAgICAgIGludCBzeW1ib2xUYWJsZUlu
ZGV4ID0gYnl0ZWNvZGUubV9zeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDsKKyAgICAgICAgICAgICAg
ICBpbnQgc3ltYm9sVGFibGVJbmRleCA9IGJ5dGVjb2RlLm1fc3ltYm9sVGFibGVPclNjb3BlRGVw
dGguc3ltYm9sVGFibGUoKS5vZmZzZXQoKTsKICAgICAgICAgICAgICAgICBTeW1ib2xUYWJsZSog
c3ltYm9sVGFibGUgPSBqc0Nhc3Q8U3ltYm9sVGFibGUqPihnZXRDb25zdGFudChzeW1ib2xUYWJs
ZUluZGV4KSk7CiAgICAgICAgICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBpZGVu
dGlmaWVyKGJ5dGVjb2RlLm1faWRlbnRpZmllcik7CiAgICAgICAgICAgICAgICAgQ29uY3VycmVu
dEpTTG9ja2VyIGxvY2tlcihzeW1ib2xUYWJsZS0+bV9sb2NrKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9GaXRzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvRml0cy5oCmluZGV4IDIwN2U4ODUzZmEzNWVkYWVkYTc2OGYyOGQ5ZTI0MGQxZTBj
NTEwY2EuLjI0ZDc3NTdjOTc5NDY1ZWYyODAxOGFkM2I3YzkxZjMzOWM4MmExZDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9GaXRzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ZpdHMuaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
IlB1dEJ5SWRGbGFncy5oIgogI2luY2x1ZGUgIlJlc3VsdFR5cGUuaCIKICNpbmNsdWRlICJTcGVj
aWFsUG9pbnRlci5oIgorI2luY2x1ZGUgIlN5bWJvbFRhYmxlT3JTY29wZURlcHRoLmgiCiAjaW5j
bHVkZSAiVmlydHVhbFJlZ2lzdGVyLmgiCiAjaW5jbHVkZSA8dHlwZV90cmFpdHM+CiAKQEAgLTEz
Miw2ICsxMzMsMjUgQEAgc3RydWN0IEZpdHM8VmlydHVhbFJlZ2lzdGVyLCBPcGNvZGVTaXplOjpO
YXJyb3c+IHsKICAgICB9CiB9OwogCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgRml0czxTeW1ib2xUYWJs
ZU9yU2NvcGVEZXB0aCwgT3Bjb2RlU2l6ZTo6TmFycm93PiB7CisgICAgc3RhdGljIGJvb2wgY2hl
Y2soU3ltYm9sVGFibGVPclNjb3BlRGVwdGggdSkKKyAgICB7CisgICAgICAgIHJldHVybiB1LnJh
dygpIDw9IFVJTlQ4X01BWDsKKyAgICB9CisKKyAgICBzdGF0aWMgdWludDhfdCBjb252ZXJ0KFN5
bWJvbFRhYmxlT3JTY29wZURlcHRoIHUpCisgICAgeworICAgICAgICBBU1NFUlQoY2hlY2sodSkp
OworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dWludDhfdD4odS5yYXcoKSk7CisgICAgfQor
CisgICAgc3RhdGljIFN5bWJvbFRhYmxlT3JTY29wZURlcHRoIGNvbnZlcnQodWludDhfdCB1KQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIFN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpyYXcodSk7Cisg
ICAgfQorfTsKKwogdGVtcGxhdGU8Pgogc3RydWN0IEZpdHM8U3BlY2lhbDo6UG9pbnRlciwgT3Bj
b2RlU2l6ZTo6TmFycm93PiA6IEZpdHM8aW50LCBPcGNvZGVTaXplOjpOYXJyb3c+IHsKICAgICB1
c2luZyBCYXNlID0gRml0czxpbnQsIE9wY29kZVNpemU6Ok5hcnJvdz47CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
CmluZGV4IDY2MWNiNDlkM2YzZDM0ZGE0ZDQ4ZGIyMDNkYTYxN2FiMjJhMDg1NTYuLjY2N2RhYzA0
N2UxODdlZDdlNmRiOTgzYWYzMDYxMWI0ZWZkN2FlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC01
NTEsNyArNTUxLDcgQEAgQnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKFZNJiB2
bSwgRnVuY3Rpb25Ob2RlKiBmdW5jdGlvbk5vZGUsIFVubGlua2UKICAgICAgICAgICAgICAgICAg
ICAgZW50cnkuZGlzYWJsZVdhdGNoaW5nKCptX3ZtKTsKICAgICAgICAgICAgICAgICAgICAgZnVu
Y3Rpb25TeW1ib2xUYWJsZS0+c2V0KE5vTG9ja2luZ05lY2Vzc2FyeSwgbmFtZSwgZW50cnkpOwog
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBPcFB1dFRvU2NvcGU6OmVtaXQodGhp
cywgbV9sZXhpY2FsRW52aXJvbm1lbnRSZWdpc3RlciwgVUlOVF9NQVgsIHZpcnR1YWxSZWdpc3Rl
ckZvckFyZ3VtZW50KDEgKyBpKSwgR2V0UHV0SW5mbyhUaHJvd0lmTm90Rm91bmQsIExvY2FsQ2xv
c3VyZVZhciwgSW5pdGlhbGl6YXRpb25Nb2RlOjpOb3RJbml0aWFsaXphdGlvbiksIHN5bWJvbFRh
YmxlQ29uc3RhbnRJbmRleCwgb2Zmc2V0Lm9mZnNldCgpKTsKKyAgICAgICAgICAgICAgICBPcFB1
dFRvU2NvcGU6OmVtaXQodGhpcywgbV9sZXhpY2FsRW52aXJvbm1lbnRSZWdpc3RlciwgVUlOVF9N
QVgsIHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50KDEgKyBpKSwgR2V0UHV0SW5mbyhUaHJvd0lm
Tm90Rm91bmQsIExvY2FsQ2xvc3VyZVZhciwgSW5pdGlhbGl6YXRpb25Nb2RlOjpOb3RJbml0aWFs
aXphdGlvbiksIFN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpzeW1ib2xUYWJsZShWaXJ0dWFsUmVn
aXN0ZXIgeyBzeW1ib2xUYWJsZUNvbnN0YW50SW5kZXggfSksIG9mZnNldC5vZmZzZXQoKSk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIFRoaXMgY3JlYXRlcyBh
IHNjb3BlZCBhcmd1bWVudHMgb2JqZWN0IGFuZCBjb3BpZXMgdGhlIG92ZXJmbG93IGFyZ3VtZW50
cyBpbnRvIHRoZQpAQCAtNTg5LDcgKzU4OSw3IEBAIEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29k
ZUdlbmVyYXRvcihWTSYgdm0sIEZ1bmN0aW9uTm9kZSogZnVuY3Rpb25Ob2RlLCBVbmxpbmtlCiAg
ICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgQmluZGluZ05vZGUqPihwYXJhbWV0ZXJz
LmF0KGkpLmZpcnN0KS0+Ym91bmRQcm9wZXJ0eSgpOwogICAgICAgICAgICAgZnVuY3Rpb25TeW1i
b2xUYWJsZS0+c2V0KE5vTG9ja2luZ05lY2Vzc2FyeSwgbmFtZSwgU3ltYm9sVGFibGVFbnRyeShW
YXJPZmZzZXQob2Zmc2V0KSkpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBPcFB1dFRvU2Nv
cGU6OmVtaXQodGhpcywgbV9sZXhpY2FsRW52aXJvbm1lbnRSZWdpc3RlciwgYWRkQ29uc3RhbnQo
aWRlbnQpLCB2aXJ0dWFsUmVnaXN0ZXJGb3JBcmd1bWVudCgxICsgaSksIEdldFB1dEluZm8oVGhy
b3dJZk5vdEZvdW5kLCBMb2NhbENsb3N1cmVWYXIsIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5p
dGlhbGl6YXRpb24pLCBzeW1ib2xUYWJsZUNvbnN0YW50SW5kZXgsIG9mZnNldC5vZmZzZXQoKSk7
CisgICAgICAgICAgICBPcFB1dFRvU2NvcGU6OmVtaXQodGhpcywgbV9sZXhpY2FsRW52aXJvbm1l
bnRSZWdpc3RlciwgYWRkQ29uc3RhbnQoaWRlbnQpLCB2aXJ0dWFsUmVnaXN0ZXJGb3JBcmd1bWVu
dCgxICsgaSksIEdldFB1dEluZm8oVGhyb3dJZk5vdEZvdW5kLCBMb2NhbENsb3N1cmVWYXIsIElu
aXRpYWxpemF0aW9uTW9kZTo6Tm90SW5pdGlhbGl6YXRpb24pLCBTeW1ib2xUYWJsZU9yU2NvcGVE
ZXB0aDo6c3ltYm9sVGFibGUoVmlydHVhbFJlZ2lzdGVyIHsgc3ltYm9sVGFibGVDb25zdGFudElu
ZGV4IH0pLCBvZmZzZXQub2Zmc2V0KCkpOwogICAgICAgICB9CiAgICAgfQogICAgIApAQCAtMTgw
Myw3ICsxODAzLDcgQEAgdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFByb2ZpbGVUeXBlKFJl
Z2lzdGVySUQqIHJlZ2lzdGVyVG9Qcm9maWxlLCBQcm9maWxlVHkKICAgICBpZiAoIXJlZ2lzdGVy
VG9Qcm9maWxlKQogICAgICAgICByZXR1cm47CiAKLSAgICBPcFByb2ZpbGVUeXBlOjplbWl0KHRo
aXMsIHJlZ2lzdGVyVG9Qcm9maWxlLCAwLCBmbGFnLCB7IH0sIHJlc29sdmVUeXBlKCkpOworICAg
IE9wUHJvZmlsZVR5cGU6OmVtaXQodGhpcywgcmVnaXN0ZXJUb1Byb2ZpbGUsIHsgfSwgZmxhZywg
eyB9LCByZXNvbHZlVHlwZSgpKTsKIAogICAgIC8vIERvbid0IGVtaXQgZXhwcmVzc2lvbiBpbmZv
IGZvciB0aGlzIHZlcnNpb24gb2YgcHJvZmlsZSB0eXBlLiBUaGlzIGdlbmVyYWxseSBtZWFucwog
ICAgIC8vIHdlJ3JlIHByb2ZpbGluZyBpbmZvcm1hdGlvbiBmb3Igc29tZXRoaW5nIHRoYXQgaXNu
J3QgaW4gdGhlIGFjdHVhbCB0ZXh0IG9mIGEgSmF2YVNjcmlwdApAQCAtMTgyMyw3ICsxODIzLDcg
QEAgdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFByb2ZpbGVUeXBlKFJlZ2lzdGVySUQqIHJl
Z2lzdGVyVG9Qcm9maWxlLCBQcm9maWxlVHkKICAgICBpZiAoIXJlZ2lzdGVyVG9Qcm9maWxlKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBPcFByb2ZpbGVUeXBlOjplbWl0KHRoaXMsIHJlZ2lzdGVy
VG9Qcm9maWxlLCAwLCAgZmxhZywgeyB9LCByZXNvbHZlVHlwZSgpKTsKKyAgICBPcFByb2ZpbGVU
eXBlOjplbWl0KHRoaXMsIHJlZ2lzdGVyVG9Qcm9maWxlLCB7IH0sICBmbGFnLCB7IH0sIHJlc29s
dmVUeXBlKCkpOwogICAgIGVtaXRUeXBlUHJvZmlsZXJFeHByZXNzaW9uSW5mbyhzdGFydERpdm90
LCBlbmREaXZvdCk7CiB9CiAKQEAgLTE4MzYsMTQgKzE4MzYsMTQgQEAgdm9pZCBCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdFByb2ZpbGVUeXBlKFJlZ2lzdGVySUQqIHJlZ2lzdGVyVG9Qcm9maWxlLCBj
b25zdCBWYXIKICAgICAgICAgcmV0dXJuOwogCiAgICAgUHJvZmlsZVR5cGVCeXRlY29kZUZsYWcg
ZmxhZzsKLSAgICBpbnQgc3ltYm9sVGFibGVPclNjb3BlRGVwdGg7CisgICAgU3ltYm9sVGFibGVP
clNjb3BlRGVwdGggc3ltYm9sVGFibGVPclNjb3BlRGVwdGg7CiAgICAgaWYgKHZhci5sb2NhbCgp
IHx8IHZhci5vZmZzZXQoKS5pc1Njb3BlKCkpIHsKICAgICAgICAgZmxhZyA9IFByb2ZpbGVUeXBl
Qnl0ZWNvZGVMb2NhbGx5UmVzb2x2ZWQ7CiAgICAgICAgIEFTU0VSVCh2YXIuc3ltYm9sVGFibGVD
b25zdGFudEluZGV4KCkpOwotICAgICAgICBzeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCA9IHZhci5z
eW1ib2xUYWJsZUNvbnN0YW50SW5kZXgoKTsKKyAgICAgICAgc3ltYm9sVGFibGVPclNjb3BlRGVw
dGggPSBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6c3ltYm9sVGFibGUoVmlydHVhbFJlZ2lzdGVy
IHsgdmFyLnN5bWJvbFRhYmxlQ29uc3RhbnRJbmRleCgpIH0pOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIGZsYWcgPSBQcm9maWxlVHlwZUJ5dGVjb2RlQ2xvc3VyZVZhcjsKLSAgICAgICAgc3ltYm9s
VGFibGVPclNjb3BlRGVwdGggPSBsb2NhbFNjb3BlRGVwdGgoKTsKKyAgICAgICAgc3ltYm9sVGFi
bGVPclNjb3BlRGVwdGggPSBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6c2NvcGVEZXB0aChsb2Nh
bFNjb3BlRGVwdGgoKSk7CiAgICAgfQogCiAgICAgT3BQcm9maWxlVHlwZTo6ZW1pdCh0aGlzLCBy
ZWdpc3RlclRvUHJvZmlsZSwgc3ltYm9sVGFibGVPclNjb3BlRGVwdGgsIGZsYWcsIGFkZENvbnN0
YW50KHZhci5pZGVudCgpKSwgcmVzb2x2ZVR5cGUoKSk7CkBAIC0yNTEyLDE4ICsyNTEyLDE4IEBA
IFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHV0VG9TY29wZShSZWdpc3RlcklE
KiBzY29wZSwgY29uc3QgVmFyaWFibGUmCiAgICAgY2FzZSBWYXJLaW5kOjpTY29wZToKICAgICBj
YXNlIFZhcktpbmQ6OkludmFsaWQ6IHsKICAgICAgICAgR2V0UHV0SW5mbyBnZXRQdXRJbmZvKDAp
OwotICAgICAgICBpbnQgc2NvcGVEZXB0aDsKKyAgICAgICAgU3ltYm9sVGFibGVPclNjb3BlRGVw
dGggc3ltYm9sVGFibGVPclNjb3BlRGVwdGg7CiAgICAgICAgIFNjb3BlT2Zmc2V0IG9mZnNldDsK
ICAgICAgICAgaWYgKHZhcmlhYmxlLm9mZnNldCgpLmlzU2NvcGUoKSkgewogICAgICAgICAgICAg
b2Zmc2V0ID0gdmFyaWFibGUub2Zmc2V0KCkuc2NvcGVPZmZzZXQoKTsKICAgICAgICAgICAgIGdl
dFB1dEluZm8gPSBHZXRQdXRJbmZvKHJlc29sdmVNb2RlLCBMb2NhbENsb3N1cmVWYXIsIGluaXRp
YWxpemF0aW9uTW9kZSk7Ci0gICAgICAgICAgICBzY29wZURlcHRoID0gdmFyaWFibGUuc3ltYm9s
VGFibGVDb25zdGFudEluZGV4KCk7CisgICAgICAgICAgICBzeW1ib2xUYWJsZU9yU2NvcGVEZXB0
aCA9IFN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpzeW1ib2xUYWJsZShWaXJ0dWFsUmVnaXN0ZXIg
eyB2YXJpYWJsZS5zeW1ib2xUYWJsZUNvbnN0YW50SW5kZXgoKSB9KTsKICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIEFTU0VSVChyZXNvbHZlVHlwZSgpICE9IExvY2FsQ2xvc3VyZVZhcik7
CiAgICAgICAgICAgICBnZXRQdXRJbmZvID0gR2V0UHV0SW5mbyhyZXNvbHZlTW9kZSwgcmVzb2x2
ZVR5cGUoKSwgaW5pdGlhbGl6YXRpb25Nb2RlKTsKLSAgICAgICAgICAgIHNjb3BlRGVwdGggPSBs
b2NhbFNjb3BlRGVwdGgoKTsKKyAgICAgICAgICAgIHN5bWJvbFRhYmxlT3JTY29wZURlcHRoID0g
U3ltYm9sVGFibGVPclNjb3BlRGVwdGg6OnNjb3BlRGVwdGgobG9jYWxTY29wZURlcHRoKCkpOwog
ICAgICAgICB9Ci0gICAgICAgIE9wUHV0VG9TY29wZTo6ZW1pdCh0aGlzLCBzY29wZSwgYWRkQ29u
c3RhbnQodmFyaWFibGUuaWRlbnQoKSksIHZhbHVlLCBnZXRQdXRJbmZvLCBzY29wZURlcHRoLCAh
IW9mZnNldCA/IG9mZnNldC5vZmZzZXQoKSA6IDApOworICAgICAgICBPcFB1dFRvU2NvcGU6OmVt
aXQodGhpcywgc2NvcGUsIGFkZENvbnN0YW50KHZhcmlhYmxlLmlkZW50KCkpLCB2YWx1ZSwgZ2V0
UHV0SW5mbywgc3ltYm9sVGFibGVPclNjb3BlRGVwdGgsICEhb2Zmc2V0ID8gb2Zmc2V0Lm9mZnNl
dCgpIDogMCk7CiAgICAgICAgIG1fY29kZUJsb2NrLT5hZGRQcm9wZXJ0eUFjY2Vzc0luc3RydWN0
aW9uKG1fbGFzdEluc3RydWN0aW9uLm9mZnNldCgpKTsKICAgICAgICAgcmV0dXJuIHZhbHVlOwog
ICAgIH0gfQpAQCAtMzc0Myw3ICszNzQzLDcgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0
b3I6OmVtaXRBcmd1bWVudENvdW50KFJlZ2lzdGVySUQqIGRzdCkKICAgICByZXR1cm4gZHN0Owog
fQogCi1pbnQgQnl0ZWNvZGVHZW5lcmF0b3I6OmxvY2FsU2NvcGVEZXB0aCgpIGNvbnN0Cit1bnNp
Z25lZCBCeXRlY29kZUdlbmVyYXRvcjo6bG9jYWxTY29wZURlcHRoKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gbV9sb2NhbFNjb3BlRGVwdGg7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggOTUzNDFhOTQ4M2Y1
ZWY1ZmYwYTcwZDRmZWE5YWEzNzk1YTkzZjUxNS4uMWM5MDMxM2MxYWZmYjU5NTBiYTVkYzY5YWZi
ZmZhYzhjZTRhYTZkOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtMTIzNSwxMCArMTIzNSwxMCBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgU2VnbWVudGVkVmVjdG9yPExhYmVsLCAzMj4gbV9sYWJlbHM7
CiAgICAgICAgIFNlZ21lbnRlZFZlY3RvcjxMYWJlbFNjb3BlLCAzMj4gbV9sYWJlbFNjb3BlczsK
ICAgICAgICAgdW5zaWduZWQgbV9maW5hbGx5RGVwdGggeyAwIH07Ci0gICAgICAgIGludCBtX2xv
Y2FsU2NvcGVEZXB0aCB7IDAgfTsKKyAgICAgICAgdW5zaWduZWQgbV9sb2NhbFNjb3BlRGVwdGgg
eyAwIH07CiAgICAgICAgIGNvbnN0IENvZGVUeXBlIG1fY29kZVR5cGU7CiAKLSAgICAgICAgaW50
IGxvY2FsU2NvcGVEZXB0aCgpIGNvbnN0OworICAgICAgICB1bnNpZ25lZCBsb2NhbFNjb3BlRGVw
dGgoKSBjb25zdDsKICAgICAgICAgdm9pZCBwdXNoTG9jYWxDb250cm9sRmxvd1Njb3BlKCk7CiAg
ICAgICAgIHZvaWQgcG9wTG9jYWxDb250cm9sRmxvd1Njb3BlKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlT3JTY29wZURlcHRoLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZU9yU2NvcGVEZXB0aC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjkxZjVlOGYwN2YyYTFiYzE0MzcyYzA5OTkyZmRjYjY2M2NhMzg0MDkKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZU9y
U2NvcGVEZXB0aC5oCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkg
QXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlZpcnR1YWxSZWdp
c3Rlci5oIgorI2luY2x1ZGUgPHd0Zi9QcmludFN0cmVhbS5oPgorCituYW1lc3BhY2UgSlNDIHsK
KworY2xhc3MgU3ltYm9sVGFibGVPclNjb3BlRGVwdGggeworcHVibGljOgorICAgIFN5bWJvbFRh
YmxlT3JTY29wZURlcHRoKCkgPSBkZWZhdWx0OworCisgICAgc3RhdGljIFN5bWJvbFRhYmxlT3JT
Y29wZURlcHRoIHN5bWJvbFRhYmxlKFZpcnR1YWxSZWdpc3RlciByZWcpCisgICAgeworICAgICAg
ICBBU1NFUlQocmVnLmlzQ29uc3RhbnQoKSk7CisgICAgICAgIHJldHVybiBTeW1ib2xUYWJsZU9y
U2NvcGVEZXB0aChyZWcub2Zmc2V0KCkgLSBGaXJzdENvbnN0YW50UmVnaXN0ZXJJbmRleCk7Cisg
ICAgfQorCisgICAgc3RhdGljIFN5bWJvbFRhYmxlT3JTY29wZURlcHRoIHNjb3BlRGVwdGgodW5z
aWduZWQgc2NvcGVEZXB0aCkKKyAgICB7CisgICAgICAgIHJldHVybiBTeW1ib2xUYWJsZU9yU2Nv
cGVEZXB0aChzY29wZURlcHRoKTsKKyAgICB9CisKKyAgICBzdGF0aWMgU3ltYm9sVGFibGVPclNj
b3BlRGVwdGggcmF3KHVuc2lnbmVkIHZhbHVlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN5bWJv
bFRhYmxlT3JTY29wZURlcHRoKHZhbHVlKTsKKyAgICB9CisKKyAgICBWaXJ0dWFsUmVnaXN0ZXIg
c3ltYm9sVGFibGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIFZpcnR1YWxSZWdpc3Rl
cihtX3JhdyArIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4KTsKKyAgICB9CisKKyAgICB1bnNp
Z25lZCBzY29wZURlcHRoKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3JhdzsKKyAg
ICB9CisKKyAgICB1bnNpZ25lZCByYXcoKSBjb25zdCB7IHJldHVybiBtX3JhdzsgfQorCisgICAg
dm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CisgICAgeworICAgICAgICBvdXQucHJp
bnQobV9yYXcpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0
aCh1bnNpZ25lZCB2YWx1ZSkKKyAgICAgICAgOiBtX3Jhdyh2YWx1ZSkKKyAgICB7IH0KKworICAg
IHVuc2lnbmVkIG1fcmF3IHsgMCB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgSlNDCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369673</attachid>
            <date>2019-05-12 04:30:35 -0700</date>
            <delta_ts>2019-05-12 12:43:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197822-20190512043034.patch</filename>
            <type>text/plain</type>
            <size>23110</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
M2VjYjY2Y2FiZDg0NGNkMTlhMTMyY2M5MzhlMTZlZDQ4YTYyMjM0Li5hNDcxMWY3ZDFmNmE0ZWM3
NDJhZjQ3NjllNzgyZjM4NDA3MjEzNjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAxOS0wNS0xMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIENvbXBhY3QgZ2VuZXJhdG9yIGNvZGUncyBieXRlY29kZSBzaXpl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc4MjIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBvcF9wdXRf
dG9fc2NvcGUncyBzeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCBpcyByZXByZXNlbnRlZCBhcyBpbnQu
IFRoaXMgd2FzIE9LIGZvciB0aGUgb2xkIGJ5dGVjb2RlIGZvcm1hdCBzaW5jZQorICAgICAgICBW
aXJ0dWFsUmVnaXN0ZXIgLyBzY29wZSBkZXB0aCBjYW4gYmUgcmVwcmVzZW50ZWQgYnkgaW50IGFu
eXdheS4gQnV0IGl0IGlzIHByb2JsZW1hdGljIG5vdyBzaW5jZSBvbmx5IGludDhfdCByYW5nZQor
ICAgICAgICB3aWxsIGJlIHJlcHJlc2VudGVkIGluIG5hcnJvdyBieXRlY29kZS4gV2hlbiB0aGlz
IGZpZWxkIGlzIHVzZWQgZm9yIHN5bWJvbCB0YWJsZSBjb25zdGFudCBpbmRleCwgaXQgaXMgYWx3
YXlzCisgICAgICAgIGxhcmdlciB0aGFuIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4LiBTbyBp
dCBhbHdheXMgZXhjZWVkcyB0aGUgcmFuZ2Ugb2YgaW50OF90LCBhbmQgcmVzdWx0cyBpbiB3aWRl
IGJ5dGVjb2RlLgorICAgICAgICBJdCBtYWtlcyBhbGwgZ2VuZXJhdG9yJ3Mgb3BfcHV0X3RvX3Nj
b3BlIHdpZGUgYnl0ZWNvZGUuCisKKyAgICAgICAgSW4gdGhpcyBwYXRjaCwgd2UgaW50cm9kdWNl
IGEgbmV3IChsb2dpY2FsbHkpIHVuaW9uIHR5cGUgU3ltYm9sVGFibGVPclNjb3BlRGVwdGguIEl0
IGhvbGRzIHVuc2lnbmVkIHZhbHVlLCBhbmQgd2Ugc3RvcmUgdGhlCisgICAgICAgIFN5bWJvbFRh
YmxlQ29uc3RhbnRJbmRleCAtIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4IGluIHRoaXMgdW5z
aWduZWQgdmFsdWUgdG8gbWFrZSBvcF9wdXRfdG9fc2NvcGUgbmFycm93IGJ5dGVjb2RlLgorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZUdlbmVyYXRv
cmlmaWNhdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yaWZpY2F0aW9u
OjpydW4pOgorICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5yYjoKKyAgICAgICAgKiBi
eXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmZpbmlzaENy
ZWF0aW9uKToKKyAgICAgICAgKiBieXRlY29kZS9GaXRzLmg6CisgICAgICAgICogYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0
b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6
OmVtaXRQcm9maWxlVHlwZSk6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0
UHV0VG9TY29wZSk6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpsb2NhbFNjb3Bl
RGVwdGggY29uc3QpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
OgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sVGFibGVPclNjb3BlRGVwdGguaDogQWRkZWQuCisg
ICAgICAgIChKU0M6OlN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpzeW1ib2xUYWJsZSk6CisgICAg
ICAgIChKU0M6OlN5bWJvbFRhYmxlT3JTY29wZURlcHRoOjpzY29wZURlcHRoKToKKyAgICAgICAg
KEpTQzo6U3ltYm9sVGFibGVPclNjb3BlRGVwdGg6OnJhdyk6CisgICAgICAgIChKU0M6OlN5bWJv
bFRhYmxlT3JTY29wZURlcHRoOjpzeW1ib2xUYWJsZSBjb25zdCk6CisgICAgICAgIChKU0M6OlN5
bWJvbFRhYmxlT3JTY29wZURlcHRoOjpzY29wZURlcHRoIGNvbnN0KToKKyAgICAgICAgKEpTQzo6
U3ltYm9sVGFibGVPclNjb3BlRGVwdGg6OnJhdyBjb25zdCk6CisgICAgICAgIChKU0M6OlN5bWJv
bFRhYmxlT3JTY29wZURlcHRoOjpkdW1wIGNvbnN0KToKKyAgICAgICAgKEpTQzo6U3ltYm9sVGFi
bGVPclNjb3BlRGVwdGg6OlN5bWJvbFRhYmxlT3JTY29wZURlcHRoKToKKwogMjAxOS0wNS0xMCAg
U2FhbSBiYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBDYWxsIHRvIEpTVG9X
YXNtSUNDYWxsZWU6OmNyZWF0ZVN0cnVjdHVyZSBwYXNzZXMgaW4gd3JvbmcgcHJvdG90eXBlIHZh
bHVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZmI2MjEwYzNmNzI3NWU3
MDQ0MGZlNDFmZGJjODk4YzZiZTY0NTc0ZC4uZmRlNzllMmNhMTMzYTkzMzBlYWMyODMzMjQ3YWMz
MDRiNjUxMDM2MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTYzLDYg
Kzk2Myw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAg
ICAgcnVudGltZS9TeW1ib2wuaAogICAgIHJ1bnRpbWUvU3ltYm9sUHJvdG90eXBlLmgKICAgICBy
dW50aW1lL1N5bWJvbFRhYmxlLmgKKyAgICBydW50aW1lL1N5bWJvbFRhYmxlT3JTY29wZURlcHRo
LmgKICAgICBydW50aW1lL1RlbXBsYXRlT2JqZWN0RGVzY3JpcHRvci5oCiAgICAgcnVudGltZS9U
ZXN0UnVubmVyVXRpbHMuaAogICAgIHJ1bnRpbWUvVGhyb3dTY29wZS5oCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGU3ZGM4ODdiOWFhZjgxNWJiM2I4MGE3ZDQyZThhMDdmODk0ZmRk
MDMuLmZhMGM4NDRjYjk5NjUxOTdiNDI4YTZjODVlYjNjOWVlNzIzYmU5ZmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzQyLDYgKzE3NDIsNyBAQAogCQlERTI2RTkwMzFDQjVE
RDA1MDBEMkJFODIgLyogQnVpbHRpbkV4ZWN1dGFibGVDcmVhdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERTI2RTkwMjFDQjVERDA1MDBEMkJFODIg
LyogQnVpbHRpbkV4ZWN1dGFibGVDcmVhdG9yLmggKi87IH07CiAJCURFQTdFMjQ1MUJCQzY3N0Yw
MEQ3ODQ0MCAvKiBKU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzkxN0U3QzFCNzkxMTA2MDAwRUJEMzMgLyog
SlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUUxMjRBOEY3MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVK
U1N0cmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTEyNEE4RjUwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTMxMTc5QUEyMjg4Mzg2MTAw
NTE0QjJDIC8qIFN5bWJvbFRhYmxlT3JTY29wZURlcHRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzExNzlBOTIyODgzODVEMDA1MTRCMkMgLyogU3lt
Ym9sVGFibGVPclNjb3BlRGVwdGguaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlFMzE2MTgxMzFFQzVGRTE3MDAwNkEyMTggLyogRE9NQW5ub3RhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMxNjE4
MTAxRUM1RkUwODAwMDZBMjE4IC8qIERPTUFubm90YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzE2MTgxNTFFQzVGRTI3MDAwNkEyMTgg
LyogRE9NQXR0cmlidXRlR2V0dGVyU2V0dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMzE2MTgxMjFFQzVGRTA4MDAwNkEyMTggLyogRE9NQXR0cmli
dXRlR2V0dGVyU2V0dGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRTMxOENCQzExQjhBRUY1MTAwQTI5MjlEIC8qIEpTTW9kdWxlTmFtZXNwYWNl
T2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
MzE4Q0JCRjFCOEFFRjUxMDBBMjkyOUQgLyogSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNDcyMSw2ICs0
NzIyLDcgQEAKIAkJRTE4RTNBNTYwREY5Mjc4QzAwRDkwQjM0IC8qIFZNLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBWTS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5n
Lm9iamNwcDsgfTsKIAkJRTE4RTNBNTcwREY5Mjc4QzAwRDkwQjM0IC8qIFZNLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBWTS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9
IHhjb2RlLmxhbmcuY3BwOyB9OwogCQlFMzA2Nzc5NzFCOEJDNkY1MDAzRjg3RjAgLyogTW9kdWxl
TG9hZGVyLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gTW9kdWxl
TG9hZGVyLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzExNzlBOTIyODgzODVE
MDA1MTRCMkMgLyogU3ltYm9sVGFibGVPclNjb3BlRGVwdGguaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lt
Ym9sVGFibGVPclNjb3BlRGVwdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMx
NjE4MTAxRUM1RkUwODAwMDZBMjE4IC8qIERPTUFubm90YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NQW5ub3RhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMzE2MTgxMTFFQzVGRTA4MDAwNkEyMTggLyogRE9NQXR0cmlidXRlR2V0dGVyU2V0
dGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTUF0dHJpYnV0
ZUdldHRlclNldHRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMTYxODEy
MUVDNUZFMDgwMDA2QTIxOCAvKiBET01BdHRyaWJ1dGVHZXR0ZXJTZXR0ZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQXR0cmlidXRlR2V0dGVyU2V0dGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03Mjk5LDYgKzczMDEsNyBAQAogCQkJCTcwNUI0MUFB
MUE2RTUwMUUwMDcxNjc1NyAvKiBTeW1ib2xQcm90b3R5cGUuaCAqLywKIAkJCQkwRjkxOUQyNzE1
ODU2NzcwMDA0QTRFN0QgLyogU3ltYm9sVGFibGUuY3BwICovLAogCQkJCTE0QTM5NkE2MENEMjkz
MzEwMEI1QjRGRiAvKiBTeW1ib2xUYWJsZS5oICovLAorCQkJCUUzMTE3OUE5MjI4ODM4NUQwMDUx
NEIyQyAvKiBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aC5oICovLAogCQkJCUJEQjRCNUUwOTlDRDRD
MUJCM0MxQ0YwNSAvKiBUZW1wbGF0ZU9iamVjdERlc2NyaXB0b3IuY3BwICovLAogCQkJCTcwRUNB
NjA0MUFGREJFQTIwMDQ0OTczOSAvKiBUZW1wbGF0ZU9iamVjdERlc2NyaXB0b3IuaCAqLywKIAkJ
CQkwRkEyQzE3OTE3RDdDRjg0MDA5RDAxNUYgLyogVGVzdFJ1bm5lclV0aWxzLmNwcCAqLywKQEAg
LTk4NTcsNiArOTg2MCw3IEBACiAJCQkJNzA1QjQxQjIxQTZFNTAxRTAwNzE2NzU3IC8qIFN5bWJv
bFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTk2QjczMjgxQkRBMDhFRjAwMzMxQjg0
IC8qIFN5bWJvbFByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDZCMEUx
NkY1Q0QwMEIzNDQ2MCAvKiBTeW1ib2xUYWJsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTMxMTc5
QUEyMjg4Mzg2MTAwNTE0QjJDIC8qIFN5bWJvbFRhYmxlT3JTY29wZURlcHRoLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRkQ3OUEyRDFFQkJCREJCMDBEQTg4RDMgLyogU3luY2hyb25vdXNuZXNzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRjFGQjM4RjFFMTczQTY3MDBBOUJFNTAgLyogU3luY2hyb25v
dXNTdG9wVGhlV29ybGRNdXRhdG9yU2NoZWR1bGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzg0
QTI2NDExRDE2NjIyMDA1Nzc2QUMgLyogU3ludGF4Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVHZW5lcmF0
b3JpZmljYXRpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2Rl
R2VuZXJhdG9yaWZpY2F0aW9uLmNwcAppbmRleCAyZTZkY2M4MjhjYzg0MzgyYjY1M2U5ZjBmNDlk
OGQ5Y2EzOWNmYmZlLi44MWFiNzU4MGRhYmRhOTQ5ZDA4NmVhM2YzZTdlNDdmYWRkNGY5Zjk3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVHZW5lcmF0
b3JpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRl
Y29kZUdlbmVyYXRvcmlmaWNhdGlvbi5jcHAKQEAgLTI1Miw3ICsyNTIsNyBAQCB2b2lkIEJ5dGVj
b2RlR2VuZXJhdG9yaWZpY2F0aW9uOjpydW4oKQogICAgICAgICAgICAgICAgICAgICBzdG9yYWdl
LmlkZW50aWZpZXJJbmRleCwgLy8gaWRlbnRpZmllcgogICAgICAgICAgICAgICAgICAgICBvcGVy
YW5kLCAvLyB2YWx1ZQogICAgICAgICAgICAgICAgICAgICBHZXRQdXRJbmZvKERvTm90VGhyb3dJ
Zk5vdEZvdW5kLCBMb2NhbENsb3N1cmVWYXIsIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5pdGlh
bGl6YXRpb24pLCAvLyBpbmZvCi0gICAgICAgICAgICAgICAgICAgIG1fZ2VuZXJhdG9yRnJhbWVT
eW1ib2xUYWJsZUluZGV4LCAvLyBzeW1ib2wgdGFibGUgY29uc3RhbnQgaW5kZXgKKyAgICAgICAg
ICAgICAgICAgICAgU3ltYm9sVGFibGVPclNjb3BlRGVwdGg6OnN5bWJvbFRhYmxlKFZpcnR1YWxS
ZWdpc3RlciB7IG1fZ2VuZXJhdG9yRnJhbWVTeW1ib2xUYWJsZUluZGV4IH0pLCAvLyBzeW1ib2wg
dGFibGUgY29uc3RhbnQgaW5kZXgKICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZS5zY29wZU9m
ZnNldC5vZmZzZXQoKSAvLyBzY29wZSBvZmZzZXQKICAgICAgICAgICAgICAgICApOwogICAgICAg
ICAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0
ZWNvZGVMaXN0LnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlz
dC5yYgppbmRleCA4Y2EwZGE5YzMwZjUyYzJlNmIxOTBmMzk5ZWY1MTQ3YzM5NTcwN2RiLi4wNjk1
YTI1MDdiNjIzOTc2NDlhODc5ODk2MTY3NTVjMDkzOTM3N2FiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0LnJiCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QucmIKQEAgLTUwLDYgKzUwLDcgQEAKICAg
ICA6U3RydWN0dXJlSUQsCiAgICAgOlN0cnVjdHVyZUNoYWluLAogICAgIDpTeW1ib2xUYWJsZSwK
KyAgICA6U3ltYm9sVGFibGVPclNjb3BlRGVwdGgsCiAgICAgOlRvVGhpc1N0YXR1cywKICAgICA6
VHlwZUxvY2F0aW9uLAogICAgIDpXYXRjaHBvaW50U2V0LApAQCAtODgxLDcgKzg4Miw3IEBACiAg
ICAgICAgIHZhbHVlOiBWaXJ0dWFsUmVnaXN0ZXIsICMgb2Zmc2V0IDMKICAgICAgICAgIyAkYmVn
aW46IDpwcml2YXRlLAogICAgICAgICBnZXRQdXRJbmZvOiBHZXRQdXRJbmZvLAotICAgICAgICBz
eW1ib2xUYWJsZU9yU2NvcGVEZXB0aDogaW50LAorICAgICAgICBzeW1ib2xUYWJsZU9yU2NvcGVE
ZXB0aDogU3ltYm9sVGFibGVPclNjb3BlRGVwdGgsCiAgICAgICAgIG9mZnNldDogdW5zaWduZWQs
CiAgICAgfSwKICAgICBtZXRhZGF0YTogewpAQCAtOTc3LDcgKzk3OCw3IEBACiBvcCA6cHJvZmls
ZV90eXBlLAogICAgIGFyZ3M6IHsKICAgICAgICAgdGFyZ2V0VmlydHVhbFJlZ2lzdGVyOiBWaXJ0
dWFsUmVnaXN0ZXIsCi0gICAgICAgIHN5bWJvbFRhYmxlT3JTY29wZURlcHRoOiBpbnQsCisgICAg
ICAgIHN5bWJvbFRhYmxlT3JTY29wZURlcHRoOiBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCwKICAg
ICAgICAgZmxhZzogUHJvZmlsZVR5cGVCeXRlY29kZUZsYWcsCiAgICAgICAgIGlkZW50aWZpZXI/
OiB1bnNpZ25lZCwKICAgICAgICAgcmVzb2x2ZVR5cGU6IFJlc29sdmVUeXBlLApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCBkYjI4ZjY3ZTJkMTdi
MzAzOTU1MDA0ODRlODY5NDVhN2NlMWU5ZDhhLi5lY2MxYTk1MDk1ZjdiZWZmNjE2OWVlYTgzYzI2
N2Q0NDdiMmJjYWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcApAQCAtNjQzLDcgKzY0Myw3IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIFNjcmlwdEV4ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgVW5saW5rCiAgICAg
ICAgICAgICBpZiAoYnl0ZWNvZGUubV9nZXRQdXRJbmZvLnJlc29sdmVUeXBlKCkgPT0gTG9jYWxD
bG9zdXJlVmFyKSB7CiAgICAgICAgICAgICAgICAgLy8gT25seSBkbyB3YXRjaGluZyBpZiB0aGUg
cHJvcGVydHkgd2UncmUgcHV0dGluZyB0byBpcyBub3QgYW5vbnltb3VzLgogICAgICAgICAgICAg
ICAgIGlmIChieXRlY29kZS5tX3ZhciAhPSBVSU5UX01BWCkgewotICAgICAgICAgICAgICAgICAg
ICBTeW1ib2xUYWJsZSogc3ltYm9sVGFibGUgPSBqc0Nhc3Q8U3ltYm9sVGFibGUqPihnZXRDb25z
dGFudChieXRlY29kZS5tX3N5bWJvbFRhYmxlT3JTY29wZURlcHRoKSk7CisgICAgICAgICAgICAg
ICAgICAgIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSA9IGpzQ2FzdDxTeW1ib2xUYWJsZSo+KGdl
dENvbnN0YW50KGJ5dGVjb2RlLm1fc3ltYm9sVGFibGVPclNjb3BlRGVwdGguc3ltYm9sVGFibGUo
KS5vZmZzZXQoKSkpOwogICAgICAgICAgICAgICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBpZGVu
dCA9IGlkZW50aWZpZXIoYnl0ZWNvZGUubV92YXIpOwogICAgICAgICAgICAgICAgICAgICBDb25j
dXJyZW50SlNMb2NrZXIgbG9ja2VyKHN5bWJvbFRhYmxlLT5tX2xvY2spOwogICAgICAgICAgICAg
ICAgICAgICBhdXRvIGl0ZXIgPSBzeW1ib2xUYWJsZS0+ZmluZChsb2NrZXIsIGlkZW50LmltcGwo
KSk7CkBAIC02NTcsNyArNjU3LDcgQEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSwgU2NyaXB0RXhlY3V0YWJsZSogb3duZXJFeGVjdXRhYmxlLCBVbmxpbmsKIAogICAgICAg
ICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBpZGVudGlmaWVyKGJ5dGVjb2RlLm1fdmFy
KTsKICAgICAgICAgICAgIG1ldGFkYXRhLm1fd2F0Y2hwb2ludFNldCA9IG51bGxwdHI7Ci0gICAg
ICAgICAgICBSZXNvbHZlT3Agb3AgPSBKU1Njb3BlOjphYnN0cmFjdFJlc29sdmUobV9nbG9iYWxP
YmplY3QtPmdsb2JhbEV4ZWMoKSwgYnl0ZWNvZGUubV9zeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCwg
c2NvcGUsIGlkZW50LCBQdXQsIGJ5dGVjb2RlLm1fZ2V0UHV0SW5mby5yZXNvbHZlVHlwZSgpLCBi
eXRlY29kZS5tX2dldFB1dEluZm8uaW5pdGlhbGl6YXRpb25Nb2RlKCkpOworICAgICAgICAgICAg
UmVzb2x2ZU9wIG9wID0gSlNTY29wZTo6YWJzdHJhY3RSZXNvbHZlKG1fZ2xvYmFsT2JqZWN0LT5n
bG9iYWxFeGVjKCksIGJ5dGVjb2RlLm1fc3ltYm9sVGFibGVPclNjb3BlRGVwdGguc2NvcGVEZXB0
aCgpLCBzY29wZSwgaWRlbnQsIFB1dCwgYnl0ZWNvZGUubV9nZXRQdXRJbmZvLnJlc29sdmVUeXBl
KCksIGJ5dGVjb2RlLm1fZ2V0UHV0SW5mby5pbml0aWFsaXphdGlvbk1vZGUoKSk7CiAgICAgICAg
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKIAogICAgICAgICAg
ICAgbWV0YWRhdGEubV9nZXRQdXRJbmZvID0gR2V0UHV0SW5mbyhieXRlY29kZS5tX2dldFB1dElu
Zm8ucmVzb2x2ZU1vZGUoKSwgb3AudHlwZSwgYnl0ZWNvZGUubV9nZXRQdXRJbmZvLmluaXRpYWxp
emF0aW9uTW9kZSgpKTsKQEAgLTY4Nyw3ICs2ODcsNyBAQCBib29sIENvZGVCbG9jazo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFibGUsIFVubGlu
awogICAgICAgICAgICAgc3dpdGNoIChieXRlY29kZS5tX2ZsYWcpIHsKICAgICAgICAgICAgIGNh
c2UgUHJvZmlsZVR5cGVCeXRlY29kZUNsb3N1cmVWYXI6IHsKICAgICAgICAgICAgICAgICBjb25z
dCBJZGVudGlmaWVyJiBpZGVudCA9IGlkZW50aWZpZXIoYnl0ZWNvZGUubV9pZGVudGlmaWVyKTsK
LSAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb2NhbFNjb3BlRGVwdGggPSBieXRlY29kZS5tX3N5
bWJvbFRhYmxlT3JTY29wZURlcHRoOworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvY2FsU2Nv
cGVEZXB0aCA9IGJ5dGVjb2RlLm1fc3ltYm9sVGFibGVPclNjb3BlRGVwdGguc2NvcGVEZXB0aCgp
OwogICAgICAgICAgICAgICAgIC8vIEV2ZW4gdGhvdWdoIHR5cGUgcHJvZmlsaW5nIG1heSBiZSBw
cm9maWxpbmcgZWl0aGVyIGEgR2V0IG9yIGEgUHV0LCB3ZSBjYW4gYWx3YXlzIGNsYWltIGEgR2V0
IGJlY2F1c2UKICAgICAgICAgICAgICAgICAvLyB3ZSdyZSBhYnN0cmFjdGx5ICJyZWFkImluZyBm
cm9tIGEgSlNTY29wZS4KICAgICAgICAgICAgICAgICBSZXNvbHZlT3Agb3AgPSBKU1Njb3BlOjph
YnN0cmFjdFJlc29sdmUobV9nbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKSwgbG9jYWxTY29wZURl
cHRoLCBzY29wZSwgaWRlbnQsIEdldCwgYnl0ZWNvZGUubV9yZXNvbHZlVHlwZSwgSW5pdGlhbGl6
YXRpb25Nb2RlOjpOb3RJbml0aWFsaXphdGlvbik7CkBAIC03MTEsNyArNzExLDcgQEAgYm9vbCBD
b2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU2NyaXB0RXhlY3V0YWJsZSogb3duZXJF
eGVjdXRhYmxlLCBVbmxpbmsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIGNhc2UgUHJvZmlsZVR5cGVCeXRlY29kZUxvY2FsbHlSZXNvbHZlZDogewot
ICAgICAgICAgICAgICAgIGludCBzeW1ib2xUYWJsZUluZGV4ID0gYnl0ZWNvZGUubV9zeW1ib2xU
YWJsZU9yU2NvcGVEZXB0aDsKKyAgICAgICAgICAgICAgICBpbnQgc3ltYm9sVGFibGVJbmRleCA9
IGJ5dGVjb2RlLm1fc3ltYm9sVGFibGVPclNjb3BlRGVwdGguc3ltYm9sVGFibGUoKS5vZmZzZXQo
KTsKICAgICAgICAgICAgICAgICBTeW1ib2xUYWJsZSogc3ltYm9sVGFibGUgPSBqc0Nhc3Q8U3lt
Ym9sVGFibGUqPihnZXRDb25zdGFudChzeW1ib2xUYWJsZUluZGV4KSk7CiAgICAgICAgICAgICAg
ICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBpZGVudGlmaWVyKGJ5dGVjb2RlLm1faWRlbnRp
Zmllcik7CiAgICAgICAgICAgICAgICAgQ29uY3VycmVudEpTTG9ja2VyIGxvY2tlcihzeW1ib2xU
YWJsZS0+bV9sb2NrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9GaXRzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRml0cy5oCmluZGV4IDIw
N2U4ODUzZmEzNWVkYWVkYTc2OGYyOGQ5ZTI0MGQxZTBjNTEwY2EuLjI0ZDc3NTdjOTc5NDY1ZWYy
ODAxOGFkM2I3YzkxZjMzOWM4MmExZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9GaXRzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Zp
dHMuaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlB1dEJ5SWRGbGFncy5oIgogI2luY2x1
ZGUgIlJlc3VsdFR5cGUuaCIKICNpbmNsdWRlICJTcGVjaWFsUG9pbnRlci5oIgorI2luY2x1ZGUg
IlN5bWJvbFRhYmxlT3JTY29wZURlcHRoLmgiCiAjaW5jbHVkZSAiVmlydHVhbFJlZ2lzdGVyLmgi
CiAjaW5jbHVkZSA8dHlwZV90cmFpdHM+CiAKQEAgLTEzMiw2ICsxMzMsMjUgQEAgc3RydWN0IEZp
dHM8VmlydHVhbFJlZ2lzdGVyLCBPcGNvZGVTaXplOjpOYXJyb3c+IHsKICAgICB9CiB9OwogCit0
ZW1wbGF0ZTw+CitzdHJ1Y3QgRml0czxTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCwgT3Bjb2RlU2l6
ZTo6TmFycm93PiB7CisgICAgc3RhdGljIGJvb2wgY2hlY2soU3ltYm9sVGFibGVPclNjb3BlRGVw
dGggdSkKKyAgICB7CisgICAgICAgIHJldHVybiB1LnJhdygpIDw9IFVJTlQ4X01BWDsKKyAgICB9
CisKKyAgICBzdGF0aWMgdWludDhfdCBjb252ZXJ0KFN5bWJvbFRhYmxlT3JTY29wZURlcHRoIHUp
CisgICAgeworICAgICAgICBBU1NFUlQoY2hlY2sodSkpOworICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8dWludDhfdD4odS5yYXcoKSk7CisgICAgfQorCisgICAgc3RhdGljIFN5bWJvbFRhYmxl
T3JTY29wZURlcHRoIGNvbnZlcnQodWludDhfdCB1KQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN5
bWJvbFRhYmxlT3JTY29wZURlcHRoOjpyYXcodSk7CisgICAgfQorfTsKKwogdGVtcGxhdGU8Pgog
c3RydWN0IEZpdHM8U3BlY2lhbDo6UG9pbnRlciwgT3Bjb2RlU2l6ZTo6TmFycm93PiA6IEZpdHM8
aW50LCBPcGNvZGVTaXplOjpOYXJyb3c+IHsKICAgICB1c2luZyBCYXNlID0gRml0czxpbnQsIE9w
Y29kZVNpemU6Ok5hcnJvdz47CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IDY2MWNiNDlkM2YzZDM0ZGE0
ZDQ4ZGIyMDNkYTYxN2FiMjJhMDg1NTYuLjY2N2RhYzA0N2UxODdlZDdlNmRiOTgzYWYzMDYxMWI0
ZWZkN2FlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC01NTEsNyArNTUxLDcgQEAgQnl0ZWNvZGVH
ZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKFZNJiB2bSwgRnVuY3Rpb25Ob2RlKiBmdW5jdGlv
bk5vZGUsIFVubGlua2UKICAgICAgICAgICAgICAgICAgICAgZW50cnkuZGlzYWJsZVdhdGNoaW5n
KCptX3ZtKTsKICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25TeW1ib2xUYWJsZS0+c2V0KE5v
TG9ja2luZ05lY2Vzc2FyeSwgbmFtZSwgZW50cnkpOwogICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBPcFB1dFRvU2NvcGU6OmVtaXQodGhpcywgbV9sZXhpY2FsRW52aXJvbm1lbnRS
ZWdpc3RlciwgVUlOVF9NQVgsIHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50KDEgKyBpKSwgR2V0
UHV0SW5mbyhUaHJvd0lmTm90Rm91bmQsIExvY2FsQ2xvc3VyZVZhciwgSW5pdGlhbGl6YXRpb25N
b2RlOjpOb3RJbml0aWFsaXphdGlvbiksIHN5bWJvbFRhYmxlQ29uc3RhbnRJbmRleCwgb2Zmc2V0
Lm9mZnNldCgpKTsKKyAgICAgICAgICAgICAgICBPcFB1dFRvU2NvcGU6OmVtaXQodGhpcywgbV9s
ZXhpY2FsRW52aXJvbm1lbnRSZWdpc3RlciwgVUlOVF9NQVgsIHZpcnR1YWxSZWdpc3RlckZvckFy
Z3VtZW50KDEgKyBpKSwgR2V0UHV0SW5mbyhUaHJvd0lmTm90Rm91bmQsIExvY2FsQ2xvc3VyZVZh
ciwgSW5pdGlhbGl6YXRpb25Nb2RlOjpOb3RJbml0aWFsaXphdGlvbiksIFN5bWJvbFRhYmxlT3JT
Y29wZURlcHRoOjpzeW1ib2xUYWJsZShWaXJ0dWFsUmVnaXN0ZXIgeyBzeW1ib2xUYWJsZUNvbnN0
YW50SW5kZXggfSksIG9mZnNldC5vZmZzZXQoKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIC8vIFRoaXMgY3JlYXRlcyBhIHNjb3BlZCBhcmd1bWVudHMgb2JqZWN0
IGFuZCBjb3BpZXMgdGhlIG92ZXJmbG93IGFyZ3VtZW50cyBpbnRvIHRoZQpAQCAtNTg5LDcgKzU4
OSw3IEBAIEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcihWTSYgdm0sIEZ1bmN0
aW9uTm9kZSogZnVuY3Rpb25Ob2RlLCBVbmxpbmtlCiAgICAgICAgICAgICAgICAgc3RhdGljX2Nh
c3Q8Y29uc3QgQmluZGluZ05vZGUqPihwYXJhbWV0ZXJzLmF0KGkpLmZpcnN0KS0+Ym91bmRQcm9w
ZXJ0eSgpOwogICAgICAgICAgICAgZnVuY3Rpb25TeW1ib2xUYWJsZS0+c2V0KE5vTG9ja2luZ05l
Y2Vzc2FyeSwgbmFtZSwgU3ltYm9sVGFibGVFbnRyeShWYXJPZmZzZXQob2Zmc2V0KSkpOwogICAg
ICAgICAgICAgCi0gICAgICAgICAgICBPcFB1dFRvU2NvcGU6OmVtaXQodGhpcywgbV9sZXhpY2Fs
RW52aXJvbm1lbnRSZWdpc3RlciwgYWRkQ29uc3RhbnQoaWRlbnQpLCB2aXJ0dWFsUmVnaXN0ZXJG
b3JBcmd1bWVudCgxICsgaSksIEdldFB1dEluZm8oVGhyb3dJZk5vdEZvdW5kLCBMb2NhbENsb3N1
cmVWYXIsIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5pdGlhbGl6YXRpb24pLCBzeW1ib2xUYWJs
ZUNvbnN0YW50SW5kZXgsIG9mZnNldC5vZmZzZXQoKSk7CisgICAgICAgICAgICBPcFB1dFRvU2Nv
cGU6OmVtaXQodGhpcywgbV9sZXhpY2FsRW52aXJvbm1lbnRSZWdpc3RlciwgYWRkQ29uc3RhbnQo
aWRlbnQpLCB2aXJ0dWFsUmVnaXN0ZXJGb3JBcmd1bWVudCgxICsgaSksIEdldFB1dEluZm8oVGhy
b3dJZk5vdEZvdW5kLCBMb2NhbENsb3N1cmVWYXIsIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5p
dGlhbGl6YXRpb24pLCBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aDo6c3ltYm9sVGFibGUoVmlydHVh
bFJlZ2lzdGVyIHsgc3ltYm9sVGFibGVDb25zdGFudEluZGV4IH0pLCBvZmZzZXQub2Zmc2V0KCkp
OwogICAgICAgICB9CiAgICAgfQogICAgIApAQCAtMTgwMyw3ICsxODAzLDcgQEAgdm9pZCBCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdFByb2ZpbGVUeXBlKFJlZ2lzdGVySUQqIHJlZ2lzdGVyVG9Qcm9m
aWxlLCBQcm9maWxlVHkKICAgICBpZiAoIXJlZ2lzdGVyVG9Qcm9maWxlKQogICAgICAgICByZXR1
cm47CiAKLSAgICBPcFByb2ZpbGVUeXBlOjplbWl0KHRoaXMsIHJlZ2lzdGVyVG9Qcm9maWxlLCAw
LCBmbGFnLCB7IH0sIHJlc29sdmVUeXBlKCkpOworICAgIE9wUHJvZmlsZVR5cGU6OmVtaXQodGhp
cywgcmVnaXN0ZXJUb1Byb2ZpbGUsIHsgfSwgZmxhZywgeyB9LCByZXNvbHZlVHlwZSgpKTsKIAog
ICAgIC8vIERvbid0IGVtaXQgZXhwcmVzc2lvbiBpbmZvIGZvciB0aGlzIHZlcnNpb24gb2YgcHJv
ZmlsZSB0eXBlLiBUaGlzIGdlbmVyYWxseSBtZWFucwogICAgIC8vIHdlJ3JlIHByb2ZpbGluZyBp
bmZvcm1hdGlvbiBmb3Igc29tZXRoaW5nIHRoYXQgaXNuJ3QgaW4gdGhlIGFjdHVhbCB0ZXh0IG9m
IGEgSmF2YVNjcmlwdApAQCAtMTgyMyw3ICsxODIzLDcgQEAgdm9pZCBCeXRlY29kZUdlbmVyYXRv
cjo6ZW1pdFByb2ZpbGVUeXBlKFJlZ2lzdGVySUQqIHJlZ2lzdGVyVG9Qcm9maWxlLCBQcm9maWxl
VHkKICAgICBpZiAoIXJlZ2lzdGVyVG9Qcm9maWxlKQogICAgICAgICByZXR1cm47CiAKLSAgICBP
cFByb2ZpbGVUeXBlOjplbWl0KHRoaXMsIHJlZ2lzdGVyVG9Qcm9maWxlLCAwLCAgZmxhZywgeyB9
LCByZXNvbHZlVHlwZSgpKTsKKyAgICBPcFByb2ZpbGVUeXBlOjplbWl0KHRoaXMsIHJlZ2lzdGVy
VG9Qcm9maWxlLCB7IH0sICBmbGFnLCB7IH0sIHJlc29sdmVUeXBlKCkpOwogICAgIGVtaXRUeXBl
UHJvZmlsZXJFeHByZXNzaW9uSW5mbyhzdGFydERpdm90LCBlbmREaXZvdCk7CiB9CiAKQEAgLTE4
MzYsMTQgKzE4MzYsMTQgQEAgdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFByb2ZpbGVUeXBl
KFJlZ2lzdGVySUQqIHJlZ2lzdGVyVG9Qcm9maWxlLCBjb25zdCBWYXIKICAgICAgICAgcmV0dXJu
OwogCiAgICAgUHJvZmlsZVR5cGVCeXRlY29kZUZsYWcgZmxhZzsKLSAgICBpbnQgc3ltYm9sVGFi
bGVPclNjb3BlRGVwdGg7CisgICAgU3ltYm9sVGFibGVPclNjb3BlRGVwdGggc3ltYm9sVGFibGVP
clNjb3BlRGVwdGg7CiAgICAgaWYgKHZhci5sb2NhbCgpIHx8IHZhci5vZmZzZXQoKS5pc1Njb3Bl
KCkpIHsKICAgICAgICAgZmxhZyA9IFByb2ZpbGVUeXBlQnl0ZWNvZGVMb2NhbGx5UmVzb2x2ZWQ7
CiAgICAgICAgIEFTU0VSVCh2YXIuc3ltYm9sVGFibGVDb25zdGFudEluZGV4KCkpOwotICAgICAg
ICBzeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCA9IHZhci5zeW1ib2xUYWJsZUNvbnN0YW50SW5kZXgo
KTsKKyAgICAgICAgc3ltYm9sVGFibGVPclNjb3BlRGVwdGggPSBTeW1ib2xUYWJsZU9yU2NvcGVE
ZXB0aDo6c3ltYm9sVGFibGUoVmlydHVhbFJlZ2lzdGVyIHsgdmFyLnN5bWJvbFRhYmxlQ29uc3Rh
bnRJbmRleCgpIH0pOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGZsYWcgPSBQcm9maWxlVHlwZUJ5
dGVjb2RlQ2xvc3VyZVZhcjsKLSAgICAgICAgc3ltYm9sVGFibGVPclNjb3BlRGVwdGggPSBsb2Nh
bFNjb3BlRGVwdGgoKTsKKyAgICAgICAgc3ltYm9sVGFibGVPclNjb3BlRGVwdGggPSBTeW1ib2xU
YWJsZU9yU2NvcGVEZXB0aDo6c2NvcGVEZXB0aChsb2NhbFNjb3BlRGVwdGgoKSk7CiAgICAgfQog
CiAgICAgT3BQcm9maWxlVHlwZTo6ZW1pdCh0aGlzLCByZWdpc3RlclRvUHJvZmlsZSwgc3ltYm9s
VGFibGVPclNjb3BlRGVwdGgsIGZsYWcsIGFkZENvbnN0YW50KHZhci5pZGVudCgpKSwgcmVzb2x2
ZVR5cGUoKSk7CkBAIC0yNTEyLDE4ICsyNTEyLDE4IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0UHV0VG9TY29wZShSZWdpc3RlcklEKiBzY29wZSwgY29uc3QgVmFyaWFibGUm
CiAgICAgY2FzZSBWYXJLaW5kOjpTY29wZToKICAgICBjYXNlIFZhcktpbmQ6OkludmFsaWQ6IHsK
ICAgICAgICAgR2V0UHV0SW5mbyBnZXRQdXRJbmZvKDApOwotICAgICAgICBpbnQgc2NvcGVEZXB0
aDsKKyAgICAgICAgU3ltYm9sVGFibGVPclNjb3BlRGVwdGggc3ltYm9sVGFibGVPclNjb3BlRGVw
dGg7CiAgICAgICAgIFNjb3BlT2Zmc2V0IG9mZnNldDsKICAgICAgICAgaWYgKHZhcmlhYmxlLm9m
ZnNldCgpLmlzU2NvcGUoKSkgewogICAgICAgICAgICAgb2Zmc2V0ID0gdmFyaWFibGUub2Zmc2V0
KCkuc2NvcGVPZmZzZXQoKTsKICAgICAgICAgICAgIGdldFB1dEluZm8gPSBHZXRQdXRJbmZvKHJl
c29sdmVNb2RlLCBMb2NhbENsb3N1cmVWYXIsIGluaXRpYWxpemF0aW9uTW9kZSk7Ci0gICAgICAg
ICAgICBzY29wZURlcHRoID0gdmFyaWFibGUuc3ltYm9sVGFibGVDb25zdGFudEluZGV4KCk7Cisg
ICAgICAgICAgICBzeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCA9IFN5bWJvbFRhYmxlT3JTY29wZURl
cHRoOjpzeW1ib2xUYWJsZShWaXJ0dWFsUmVnaXN0ZXIgeyB2YXJpYWJsZS5zeW1ib2xUYWJsZUNv
bnN0YW50SW5kZXgoKSB9KTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIEFTU0VSVChy
ZXNvbHZlVHlwZSgpICE9IExvY2FsQ2xvc3VyZVZhcik7CiAgICAgICAgICAgICBnZXRQdXRJbmZv
ID0gR2V0UHV0SW5mbyhyZXNvbHZlTW9kZSwgcmVzb2x2ZVR5cGUoKSwgaW5pdGlhbGl6YXRpb25N
b2RlKTsKLSAgICAgICAgICAgIHNjb3BlRGVwdGggPSBsb2NhbFNjb3BlRGVwdGgoKTsKKyAgICAg
ICAgICAgIHN5bWJvbFRhYmxlT3JTY29wZURlcHRoID0gU3ltYm9sVGFibGVPclNjb3BlRGVwdGg6
OnNjb3BlRGVwdGgobG9jYWxTY29wZURlcHRoKCkpOwogICAgICAgICB9Ci0gICAgICAgIE9wUHV0
VG9TY29wZTo6ZW1pdCh0aGlzLCBzY29wZSwgYWRkQ29uc3RhbnQodmFyaWFibGUuaWRlbnQoKSks
IHZhbHVlLCBnZXRQdXRJbmZvLCBzY29wZURlcHRoLCAhIW9mZnNldCA/IG9mZnNldC5vZmZzZXQo
KSA6IDApOworICAgICAgICBPcFB1dFRvU2NvcGU6OmVtaXQodGhpcywgc2NvcGUsIGFkZENvbnN0
YW50KHZhcmlhYmxlLmlkZW50KCkpLCB2YWx1ZSwgZ2V0UHV0SW5mbywgc3ltYm9sVGFibGVPclNj
b3BlRGVwdGgsICEhb2Zmc2V0ID8gb2Zmc2V0Lm9mZnNldCgpIDogMCk7CiAgICAgICAgIG1fY29k
ZUJsb2NrLT5hZGRQcm9wZXJ0eUFjY2Vzc0luc3RydWN0aW9uKG1fbGFzdEluc3RydWN0aW9uLm9m
ZnNldCgpKTsKICAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIH0gfQpAQCAtMzc0Myw3ICszNzQz
LDcgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRBcmd1bWVudENvdW50KFJl
Z2lzdGVySUQqIGRzdCkKICAgICByZXR1cm4gZHN0OwogfQogCi1pbnQgQnl0ZWNvZGVHZW5lcmF0
b3I6OmxvY2FsU2NvcGVEZXB0aCgpIGNvbnN0Cit1bnNpZ25lZCBCeXRlY29kZUdlbmVyYXRvcjo6
bG9jYWxTY29wZURlcHRoKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9sb2NhbFNjb3BlRGVwdGg7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmgKaW5kZXggOTUzNDFhOTQ4M2Y1ZWY1ZmYwYTcwZDRmZWE5YWEzNzk1YTkz
ZjUxNS4uMWM5MDMxM2MxYWZmYjU5NTBiYTVkYzY5YWZiZmZhYzhjZTRhYTZkOCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuaApAQCAtMTIzNSwxMCArMTIzNSwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgU2Vn
bWVudGVkVmVjdG9yPExhYmVsLCAzMj4gbV9sYWJlbHM7CiAgICAgICAgIFNlZ21lbnRlZFZlY3Rv
cjxMYWJlbFNjb3BlLCAzMj4gbV9sYWJlbFNjb3BlczsKICAgICAgICAgdW5zaWduZWQgbV9maW5h
bGx5RGVwdGggeyAwIH07Ci0gICAgICAgIGludCBtX2xvY2FsU2NvcGVEZXB0aCB7IDAgfTsKKyAg
ICAgICAgdW5zaWduZWQgbV9sb2NhbFNjb3BlRGVwdGggeyAwIH07CiAgICAgICAgIGNvbnN0IENv
ZGVUeXBlIG1fY29kZVR5cGU7CiAKLSAgICAgICAgaW50IGxvY2FsU2NvcGVEZXB0aCgpIGNvbnN0
OworICAgICAgICB1bnNpZ25lZCBsb2NhbFNjb3BlRGVwdGgoKSBjb25zdDsKICAgICAgICAgdm9p
ZCBwdXNoTG9jYWxDb250cm9sRmxvd1Njb3BlKCk7CiAgICAgICAgIHZvaWQgcG9wTG9jYWxDb250
cm9sRmxvd1Njb3BlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N5bWJvbFRhYmxlT3JTY29wZURlcHRoLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2xUYWJsZU9yU2NvcGVEZXB0aC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxZjVlOGYwN2YyYTFi
YzE0MzcyYzA5OTkyZmRjYjY2M2NhMzg0MDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZU9yU2NvcGVEZXB0aC5oCkBAIC0wLDAgKzEs
NzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgIlZpcnR1YWxSZWdpc3Rlci5oIgorI2luY2x1ZGUgPHd0Zi9Q
cmludFN0cmVhbS5oPgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgU3ltYm9sVGFibGVPclNj
b3BlRGVwdGggeworcHVibGljOgorICAgIFN5bWJvbFRhYmxlT3JTY29wZURlcHRoKCkgPSBkZWZh
dWx0OworCisgICAgc3RhdGljIFN5bWJvbFRhYmxlT3JTY29wZURlcHRoIHN5bWJvbFRhYmxlKFZp
cnR1YWxSZWdpc3RlciByZWcpCisgICAgeworICAgICAgICBBU1NFUlQocmVnLmlzQ29uc3RhbnQo
KSk7CisgICAgICAgIHJldHVybiBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aChyZWcub2Zmc2V0KCkg
LSBGaXJzdENvbnN0YW50UmVnaXN0ZXJJbmRleCk7CisgICAgfQorCisgICAgc3RhdGljIFN5bWJv
bFRhYmxlT3JTY29wZURlcHRoIHNjb3BlRGVwdGgodW5zaWduZWQgc2NvcGVEZXB0aCkKKyAgICB7
CisgICAgICAgIHJldHVybiBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aChzY29wZURlcHRoKTsKKyAg
ICB9CisKKyAgICBzdGF0aWMgU3ltYm9sVGFibGVPclNjb3BlRGVwdGggcmF3KHVuc2lnbmVkIHZh
bHVlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN5bWJvbFRhYmxlT3JTY29wZURlcHRoKHZhbHVl
KTsKKyAgICB9CisKKyAgICBWaXJ0dWFsUmVnaXN0ZXIgc3ltYm9sVGFibGUoKSBjb25zdAorICAg
IHsKKyAgICAgICAgcmV0dXJuIFZpcnR1YWxSZWdpc3RlcihtX3JhdyArIEZpcnN0Q29uc3RhbnRS
ZWdpc3RlckluZGV4KTsKKyAgICB9CisKKyAgICB1bnNpZ25lZCBzY29wZURlcHRoKCkgY29uc3QK
KyAgICB7CisgICAgICAgIHJldHVybiBtX3JhdzsKKyAgICB9CisKKyAgICB1bnNpZ25lZCByYXco
KSBjb25zdCB7IHJldHVybiBtX3JhdzsgfQorCisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBv
dXQpIGNvbnN0CisgICAgeworICAgICAgICBvdXQucHJpbnQobV9yYXcpOworICAgIH0KKworcHJp
dmF0ZToKKyAgICBTeW1ib2xUYWJsZU9yU2NvcGVEZXB0aCh1bnNpZ25lZCB2YWx1ZSkKKyAgICAg
ICAgOiBtX3Jhdyh2YWx1ZSkKKyAgICB7IH0KKworICAgIHVuc2lnbmVkIG1fcmF3IHsgMCB9Owor
fTsKKworfSAvLyBuYW1lc3BhY2UgSlNDCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>