<?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>206140</bug_id>
          
          <creation_ts>2020-01-12 01:10:35 -0800</creation_ts>
          <short_desc>[JSC] Remove IsDone from JSArrayIterator</short_desc>
          <delta_ts>2020-01-12 19:11:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>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>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1605626</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-12 01:10:35 -0800</bug_when>
    <thetext>[JSC] Remove IsDone from JSArrayIterator</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605627</commentid>
    <comment_count>1</comment_count>
      <attachid>387461</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-12 01:12:08 -0800</bug_when>
    <thetext>Created attachment 387461
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605648</commentid>
    <comment_count>2</comment_count>
      <attachid>387461</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-01-12 07:08:23 -0800</bug_when>
    <thetext>Comment on attachment 387461
Patch

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

&gt; Source/JavaScriptCore/inspector/JSInjectedScriptHost.cpp:-549
&gt; -    clone-&gt;internalField(JSArrayIterator::Field::IsDone).set(vm, clone, iteratorObject-&gt;internalField(JSArrayIterator::Field::IsDone).get());

I think we should still show this in Web Inspector, as it’s useful for developers to know when debugging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605706</commentid>
    <comment_count>3</comment_count>
      <attachid>387461</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-12 15:00:18 -0800</bug_when>
    <thetext>Comment on attachment 387461
Patch

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

The test failures look unrelated.

&gt;&gt; Source/JavaScriptCore/inspector/JSInjectedScriptHost.cpp:-549
&gt;&gt; -    clone-&gt;internalField(JSArrayIterator::Field::IsDone).set(vm, clone, iteratorObject-&gt;internalField(JSArrayIterator::Field::IsDone).get());
&gt; 
&gt; I think we should still show this in Web Inspector, as it’s useful for developers to know when debugging.

You can show in the inspector side by comparing `index === -1`. Currently, inspector is not showing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605707</commentid>
    <comment_count>4</comment_count>
      <attachid>387492</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-12 15:02:07 -0800</bug_when>
    <thetext>Created attachment 387492
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605711</commentid>
    <comment_count>5</comment_count>
      <attachid>387492</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-01-12 15:13:14 -0800</bug_when>
    <thetext>Comment on attachment 387492
Patch

Have you run the microbenchmarks to see if there&apos;s a significant difference?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605727</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-12 17:22:21 -0800</bug_when>
    <thetext>(In reply to Keith Miller from comment #5)
&gt; Comment on attachment 387492 [details]
&gt; Patch
&gt; 
&gt; Have you run the microbenchmarks to see if there&apos;s a significant difference?

No difference. This change is basically for JSStringIterator to use the same mechanism to keep sizeof(JSStringIterator) small.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605737</commentid>
    <comment_count>7</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-01-12 18:45:27 -0800</bug_when>
    <thetext>Cool LGTM then</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605738</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-12 19:10:17 -0800</bug_when>
    <thetext>Committed r254419: &lt;https://trac.webkit.org/changeset/254419&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605739</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-12 19:11:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/58517697&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387461</attachid>
            <date>2020-01-12 01:12:08 -0800</date>
            <delta_ts>2020-01-12 15:02:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206140-20200112011207.patch</filename>
            <type>text/plain</type>
            <size>12856</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NDEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NjNhMGJlZDFiODg5Mjg3N2M3NjVjMWU2YzRiNGZmMGNiMDNmMGUxLi41NjQzOGQ5YjM2NGFmZjY4
MDBlMWNlOTY1NzFmYmIyNTMwNThiOGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOCBAQAorMjAyMC0wMS0xMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbW92ZSBJc0RvbmUgZnJvbSBKU0FycmF5SXRlcmF0b3IKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjE0MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGNhbiBzdG9y
ZSBgLTFgIGluIEluZGV4IGZpZWxkIHRvIHJlcHJlc2VudCB3aGV0aGVyIHRoZSBpdGVyYXRvciBp
cyBjbG9zZWQuCisgICAgICAgIFdoaWxlIHRoaXMgcGF0Y2ggZG9lcyBub3QgY2hhbmdlIHRoZSBh
bGxvY2F0aW9uIHNpemUgb2YgSlNBcnJheUl0ZXJhdG9yLCB0aGlzIHN0eWxlIGNhbgorICAgICAg
ICBzaHJpbmsgdGhlIHNpemUgb2YgSlNTdHJpbmdJdGVyYXRvciB3aGVuIHdlIGltcGxlbWVudCBp
dCBpbiB0aGUgc2FtZSBzdHlsZS4KKworICAgICAgICBXZSBhbHNvIHJlbmFtZSBpdGVyYXRpb25L
aW5kS2V5VmFsdWUgdG8gaXRlcmF0aW9uS2luZEVudHJpZXMuCisKKyAgICAgICAgKiBidWlsdGlu
cy9BcnJheUl0ZXJhdG9yUHJvdG90eXBlLmpzOgorICAgICAgICAobmV4dCk6CisgICAgICAgIChn
bG9iYWxQcml2YXRlLmFycmF5SXRlcmF0b3JOZXh0SGVscGVyKToKKyAgICAgICAgKiBidWlsdGlu
cy9NYXBJdGVyYXRvclByb3RvdHlwZS5qczoKKyAgICAgICAgKGdsb2JhbFByaXZhdGUubWFwSXRl
cmF0b3JOZXh0KToKKyAgICAgICAgKiBidWlsdGlucy9NYXBQcm90b3R5cGUuanM6CisgICAgICAg
IChlbnRyaWVzKToKKyAgICAgICAgKiBidWlsdGlucy9TZXRJdGVyYXRvclByb3RvdHlwZS5qczoK
KyAgICAgICAgKGdsb2JhbFByaXZhdGUuc2V0SXRlcmF0b3JOZXh0KToKKyAgICAgICAgKiBidWls
dGlucy9TZXRQcm90b3R5cGUuanM6CisgICAgICAgIChlbnRyaWVzKToKKyAgICAgICAgKiBieXRl
Y29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNv
ZGVJbnRyaW5zaWNSZWdpc3RyeTo6Qnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeSk6CisgICAgICAg
ICogYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oOgorICAgICAgICAqIGJ5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAgICAgICAoSlNDOjphcnJheUl0ZXJhdG9ySW50
ZXJuYWxGaWVsZEluZGV4KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhv
c3QuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpjbG9uZUFycmF5SXRlcmF0b3JPYmplY3QpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheUl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SlNB
cnJheUl0ZXJhdG9yOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9KU0FycmF5
SXRlcmF0b3IuaDoKKwogMjAyMC0wMS0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHN1cHByZXNzIHdhcm5pbmdzIGluIEdDQywgcGFy
dCAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlJdGVy
YXRvclByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUl0
ZXJhdG9yUHJvdG90eXBlLmpzCmluZGV4IGI0MTZmYmQzMzgwNzU2MjJmYzgzZDNkZTMzY2Q5NTYz
MDc4MDEwZmQuLjE2Y2Y1Y2Q4NmIzMDdlZGFmZDY1NTg4ODQ0OGQ5ZGNkN2I2ZmYwZTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUl0ZXJhdG9yUHJvdG90
eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUl0ZXJhdG9y
UHJvdG90eXBlLmpzCkBAIC0zMSw4ICszMSw4IEBAIGZ1bmN0aW9uIG5leHQoKQogICAgIGlmICgh
QGlzQXJyYXlJdGVyYXRvcih0aGlzKSkKICAgICAgICAgQHRocm93VHlwZUVycm9yKCIlQXJyYXlJ
dGVyYXRvclByb3RvdHlwZSUubmV4dCByZXF1aXJlcyB0aGF0IHx0aGlzfCBiZSBhbiBBcnJheSBJ
dGVyYXRvciBpbnN0YW5jZSIpOwogCi0gICAgdmFyIGFycmF5ID0gQGdldEFycmF5SXRlcmF0b3JJ
bnRlcm5hbEZpZWxkKHRoaXMsIEBhcnJheUl0ZXJhdG9yRmllbGRJdGVyYXRlZE9iamVjdCk7CiAg
ICAgdmFyIGtpbmQgPSBAZ2V0QXJyYXlJdGVyYXRvckludGVybmFsRmllbGQodGhpcywgQGFycmF5
SXRlcmF0b3JGaWVsZEtpbmQpOworICAgIHZhciBhcnJheSA9IEBnZXRBcnJheUl0ZXJhdG9ySW50
ZXJuYWxGaWVsZCh0aGlzLCBAYXJyYXlJdGVyYXRvckZpZWxkSXRlcmF0ZWRPYmplY3QpOwogICAg
IHJldHVybiBAYXJyYXlJdGVyYXRvck5leHRIZWxwZXIuQGNhbGwodGhpcywgYXJyYXksIGtpbmQp
OwogfQogCkBAIC00NSwyMSArNDUsMjIgQEAgZnVuY3Rpb24gYXJyYXlJdGVyYXRvck5leHRIZWxw
ZXIoYXJyYXksIGtpbmQpCiAgICAgdmFyIGRvbmUgPSB0cnVlOwogICAgIHZhciB2YWx1ZTsKIAot
ICAgIGlmICghQGdldEFycmF5SXRlcmF0b3JJbnRlcm5hbEZpZWxkKHRoaXMsIEBhcnJheUl0ZXJh
dG9yRmllbGRJc0RvbmUpKSB7Ci0gICAgICAgIHZhciBpbmRleCA9IEBnZXRBcnJheUl0ZXJhdG9y
SW50ZXJuYWxGaWVsZCh0aGlzLCBAYXJyYXlJdGVyYXRvckZpZWxkSW5kZXgpOworICAgIHZhciBp
bmRleCA9IEBnZXRBcnJheUl0ZXJhdG9ySW50ZXJuYWxGaWVsZCh0aGlzLCBAYXJyYXlJdGVyYXRv
ckZpZWxkSW5kZXgpOworICAgIGlmIChpbmRleCAhPT0gLTEpIHsKICAgICAgICAgdmFyIGxlbmd0
aCA9IGFycmF5Lmxlbmd0aCA+Pj4gMDsKICAgICAgICAgaWYgKGluZGV4IDwgbGVuZ3RoKSB7CiAg
ICAgICAgICAgICBAcHV0QXJyYXlJdGVyYXRvckludGVybmFsRmllbGQodGhpcywgQGFycmF5SXRl
cmF0b3JGaWVsZEluZGV4LCBpbmRleCArIDEpOwogICAgICAgICAgICAgZG9uZSA9IGZhbHNlOwog
ICAgICAgICAgICAgaWYgKGtpbmQgPT09IEBpdGVyYXRpb25LaW5kS2V5KQogICAgICAgICAgICAg
ICAgIHZhbHVlID0gaW5kZXg7Ci0gICAgICAgICAgICBlbHNlIHsgCisgICAgICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFycmF5W2luZGV4XTsKLSAgICAgICAgICAgICAg
ICB2YWx1ZSA9IGtpbmQgPT09IEBpdGVyYXRpb25LaW5kVmFsdWUgPyB2YWx1ZSA6IFtpbmRleCwg
dmFsdWVdOworICAgICAgICAgICAgICAgIGlmIChraW5kID09PSBAaXRlcmF0aW9uS2luZEVudHJp
ZXMpCisgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gW2luZGV4LCB2YWx1ZV07CiAgICAgICAg
ICAgICB9Ci0gICAgICAgIH0KKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBAcHV0QXJyYXlJ
dGVyYXRvckludGVybmFsRmllbGQodGhpcywgQGFycmF5SXRlcmF0b3JGaWVsZEluZGV4LCAtMSk7
CiAgICAgfQotICAgIEBwdXRBcnJheUl0ZXJhdG9ySW50ZXJuYWxGaWVsZCh0aGlzLCBAYXJyYXlJ
dGVyYXRvckZpZWxkSXNEb25lLCBkb25lKTsKIAogICAgIHJldHVybiB7IHZhbHVlLCBkb25lIH07
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvTWFwSXRlcmF0
b3JQcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvTWFwSXRlcmF0
b3JQcm90b3R5cGUuanMKaW5kZXggNDFjZDQwOGM3YWNmMzJkNzBiOTlhMTQ5Y2FjMTVkMTY2MDdj
N2QwMS4uZmZmY2VlOGEzNGM2MDg5NDNlMTBmZjkwOTRjMGM5YjJhMzE3MDdhMSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL01hcEl0ZXJhdG9yUHJvdG90eXBlLmpz
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9NYXBJdGVyYXRvclByb3RvdHlw
ZS5qcwpAQCAtMzYsNyArMzYsNyBAQCBmdW5jdGlvbiBtYXBJdGVyYXRvck5leHQoYnVja2V0LCBr
aW5kKQogICAgIGlmICghZG9uZSkgewogICAgICAgICB2YXIga2V5ID0gQG1hcEJ1Y2tldEtleShi
dWNrZXQpOwogICAgICAgICB2YWx1ZSA9IEBtYXBCdWNrZXRWYWx1ZShidWNrZXQpOwotICAgICAg
ICBpZiAoa2luZCA9PT0gQGl0ZXJhdGlvbktpbmRLZXlWYWx1ZSkKKyAgICAgICAgaWYgKGtpbmQg
PT09IEBpdGVyYXRpb25LaW5kRW50cmllcykKICAgICAgICAgICAgIHZhbHVlID0gWyBrZXksIHZh
bHVlIF0KICAgICAgICAgZWxzZSBpZiAoa2luZCA9PT0gQGl0ZXJhdGlvbktpbmRLZXkpCiAgICAg
ICAgICAgICB2YWx1ZSA9IGtleTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9NYXBQcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
TWFwUHJvdG90eXBlLmpzCmluZGV4IDg0NjQ0NTk0YTBmODgxNTY3MzY1ZWEwY2JlMGNkNDRiMDg2
MzFkNDAuLjhhNWJkM2MyNmY3ZWExNTU0ZWNiMDlhMTgzNWYxNGVkZDNkZGRkYzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9NYXBQcm90b3R5cGUuanMKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL01hcFByb3RvdHlwZS5qcwpAQCAtNjIsNyAr
NjIsNyBAQCBmdW5jdGlvbiBlbnRyaWVzKCkKICAgICBpZiAoIUBpc01hcCh0aGlzKSkKICAgICAg
ICAgQHRocm93VHlwZUVycm9yKCJNYXAucHJvdG90eXBlLmVudHJpZXMgcmVxdWlyZXMgdGhhdCB8
dGhpc3wgYmUgTWFwIik7CiAKLSAgICByZXR1cm4gbmV3IEBNYXBJdGVyYXRvcih0aGlzLCBAaXRl
cmF0aW9uS2luZEtleVZhbHVlKTsKKyAgICByZXR1cm4gbmV3IEBNYXBJdGVyYXRvcih0aGlzLCBA
aXRlcmF0aW9uS2luZEVudHJpZXMpOwogfQogCiBmdW5jdGlvbiBmb3JFYWNoKGNhbGxiYWNrIC8q
LCB0aGlzQXJnICovKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L1NldEl0ZXJhdG9yUHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L1NldEl0ZXJhdG9yUHJvdG90eXBlLmpzCmluZGV4IDE4M2VkNjc0ZjczNjA4MmIyYzFlMjA0MDdh
MTQzY2QzNjAxNTU0MGQuLmU5Y2U4ZjBhNjdjMDc1ZTI0YzhhMjIxY2Y0MWIwOTFlZDdjYzZlMDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9TZXRJdGVyYXRvclBy
b3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvU2V0SXRlcmF0
b3JQcm90b3R5cGUuanMKQEAgLTM1LDcgKzM1LDcgQEAgZnVuY3Rpb24gc2V0SXRlcmF0b3JOZXh0
KGJ1Y2tldCwga2luZCkKICAgICB2YXIgZG9uZSA9IGJ1Y2tldCA9PT0gQHNlbnRpbmVsU2V0QnVj
a2V0OwogICAgIGlmICghZG9uZSkgewogICAgICAgICB2YWx1ZSA9IEBzZXRCdWNrZXRLZXkoYnVj
a2V0KTsKLSAgICAgICAgaWYgKGtpbmQgPT09IEBpdGVyYXRpb25LaW5kS2V5VmFsdWUpCisgICAg
ICAgIGlmIChraW5kID09PSBAaXRlcmF0aW9uS2luZEVudHJpZXMpCiAgICAgICAgICAgICB2YWx1
ZSA9IFsgdmFsdWUsIHZhbHVlIF0KICAgICB9CiAgICAgcmV0dXJuIHsgdmFsdWUsIGRvbmUgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9TZXRQcm90b3R5cGUu
anMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvU2V0UHJvdG90eXBlLmpzCmluZGV4
IGFkZTUxOWRlNDc4ZTBhNTlmMDg3YTY3ZDQyMGEyZTMyNDBmNzEwMWIuLjZkZjhlOGZkZDk5ZDFk
MzE2NWExZjFlNDAxNGYzNWIyMzFhYzE3NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9TZXRQcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL1NldFByb3RvdHlwZS5qcwpAQCAtNTIsNyArNTIsNyBAQCBmdW5jdGlvbiBlbnRy
aWVzKCkKICAgICBpZiAoIUBpc1NldCh0aGlzKSkKICAgICAgICAgQHRocm93VHlwZUVycm9yKCJT
ZXQucHJvdG90eXBlLmVudHJpZXMgcmVxdWlyZXMgdGhhdCB8dGhpc3wgYmUgU2V0Iik7CiAKLSAg
ICByZXR1cm4gbmV3IEBTZXRJdGVyYXRvcih0aGlzLCBAaXRlcmF0aW9uS2luZEtleVZhbHVlKTsK
KyAgICByZXR1cm4gbmV3IEBTZXRJdGVyYXRvcih0aGlzLCBAaXRlcmF0aW9uS2luZEVudHJpZXMp
OwogfQogCiBmdW5jdGlvbiBmb3JFYWNoKGNhbGxiYWNrIC8qLCB0aGlzQXJnICovKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVn
aXN0cnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmlu
c2ljUmVnaXN0cnkuY3BwCmluZGV4IDAwZjEzNzk0MjE2ZTcwOTkxNzc1ODZjZjAwNzQ5NjIxNTdm
ODdhN2EuLjczY2M4N2Y0YzA3N2IwMzRkZDQxNzRmOTJkNDI2OTk0OGJkNTIwNmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lz
dHJ5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRy
aW5zaWNSZWdpc3RyeS5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgQnl0ZWNvZGVJbnRyaW5zaWNSZWdp
c3RyeTo6Qnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeShWTSYgdm0pCiAgICAgbV9JbmZpbml0eS5z
ZXQobV92bSwganNEb3VibGVOdW1iZXIoc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZp
bml0eSgpKSk7CiAgICAgbV9pdGVyYXRpb25LaW5kS2V5LnNldChtX3ZtLCBqc051bWJlcihzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oSXRlcmF0aW9uS2luZDo6S2V5cykpKTsKICAgICBtX2l0ZXJhdGlv
bktpbmRWYWx1ZS5zZXQobV92bSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEl0ZXJh
dGlvbktpbmQ6OlZhbHVlcykpKTsKLSAgICBtX2l0ZXJhdGlvbktpbmRLZXlWYWx1ZS5zZXQobV92
bSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEl0ZXJhdGlvbktpbmQ6OkVudHJpZXMp
KSk7CisgICAgbV9pdGVyYXRpb25LaW5kRW50cmllcy5zZXQobV92bSwganNOdW1iZXIoc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KEl0ZXJhdGlvbktpbmQ6OkVudHJpZXMpKSk7CiAgICAgbV9NQVhfQVJS
QVlfSU5ERVguc2V0KG1fdm0sIGpzTnVtYmVyKE1BWF9BUlJBWV9JTkRFWCkpOwogICAgIG1fTUFY
X1NUUklOR19MRU5HVEguc2V0KG1fdm0sIGpzTnVtYmVyKEpTU3RyaW5nOjpNYXhMZW5ndGgpKTsK
ICAgICBtX01BWF9TQUZFX0lOVEVHRVIuc2V0KG1fdm0sIGpzRG91YmxlTnVtYmVyKG1heFNhZmVJ
bnRlZ2VyKCkpKTsKQEAgLTkwLDcgKzkwLDYgQEAgQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeTo6
Qnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeShWTSYgdm0pCiAgICAgbV9HZW5lcmF0b3JTdGF0ZUV4
ZWN1dGluZy5zZXQobV92bSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8aW50MzJfdD4oSlNHZW5lcmF0
b3I6OkdlbmVyYXRvclN0YXRlOjpFeGVjdXRpbmcpKSk7CiAgICAgbV9hcnJheUl0ZXJhdG9yRmll
bGRJdGVyYXRlZE9iamVjdC5zZXQobV92bSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8aW50MzJfdD4o
SlNBcnJheUl0ZXJhdG9yOjpGaWVsZDo6SXRlcmF0ZWRPYmplY3QpKSk7CiAgICAgbV9hcnJheUl0
ZXJhdG9yRmllbGRJbmRleC5zZXQobV92bSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8aW50MzJfdD4o
SlNBcnJheUl0ZXJhdG9yOjpGaWVsZDo6SW5kZXgpKSk7Ci0gICAgbV9hcnJheUl0ZXJhdG9yRmll
bGRJc0RvbmUuc2V0KG1fdm0sIGpzTnVtYmVyKHN0YXRpY19jYXN0PGludDMyX3Q+KEpTQXJyYXlJ
dGVyYXRvcjo6RmllbGQ6OklzRG9uZSkpKTsKICAgICBtX2FycmF5SXRlcmF0b3JGaWVsZEtpbmQu
c2V0KG1fdm0sIGpzTnVtYmVyKHN0YXRpY19jYXN0PGludDMyX3Q+KEpTQXJyYXlJdGVyYXRvcjo6
RmllbGQ6OktpbmQpKSk7CiAgICAgbV9hc3luY0dlbmVyYXRvckZpZWxkU3VzcGVuZFJlYXNvbi5z
ZXQobV92bSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQXN5bmNHZW5lcmF0b3I6
OkZpZWxkOjpTdXNwZW5kUmVhc29uKSkpOwogICAgIG1fYXN5bmNHZW5lcmF0b3JGaWVsZFF1ZXVl
Rmlyc3Quc2V0KG1fdm0sIGpzTnVtYmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0FzeW5jR2Vu
ZXJhdG9yOjpGaWVsZDo6UXVldWVGaXJzdCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oCmluZGV4IGI1
YzVmNTFhZDBjYWE0YjM0ZDM4NTE1MzhmYTZlNzcyYzUzYzkzZGYuLjBhYmQxYzg5ZGY3MTIwOGYz
NmYzZjY3ZWYwYzJkOTNjYjUxMTkwOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaApAQCAtODksNyAr
ODksNyBAQCBlbnVtIGNsYXNzIExpbmtUaW1lQ29uc3RhbnQgOiBpbnQzMl90OwogICAgIG1hY3Jv
KEluZmluaXR5KSBcCiAgICAgbWFjcm8oaXRlcmF0aW9uS2luZEtleSkgXAogICAgIG1hY3JvKGl0
ZXJhdGlvbktpbmRWYWx1ZSkgXAotICAgIG1hY3JvKGl0ZXJhdGlvbktpbmRLZXlWYWx1ZSkgXAor
ICAgIG1hY3JvKGl0ZXJhdGlvbktpbmRFbnRyaWVzKSBcCiAgICAgbWFjcm8oTUFYX0FSUkFZX0lO
REVYKSBcCiAgICAgbWFjcm8oTUFYX1NUUklOR19MRU5HVEgpIFwKICAgICBtYWNybyhNQVhfU0FG
RV9JTlRFR0VSKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L05vZGVzQ29kZWdlbi5jcHAKaW5kZXggOGM4MmY1NzNjZGE2ZTNjYzJmYTZiODhhZGY0MTUzYzhj
OGE3OTg3YS4uNmMxYTRlMjg4MGYwN2EzZjM3N2IyNDllODUxNDlhZDBhNDAwODg3MSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cApAQCAtMTA2OSw4ICsxMDY5LDYgQEAgc3RhdGljIEpTQXJyYXlJdGVyYXRvcjo6RmllbGQgYXJy
YXlJdGVyYXRvckludGVybmFsRmllbGRJbmRleChCeXRlY29kZUludHJpbnNpY04KICAgICBBU1NF
UlQobm9kZS0+ZW50cnkoKS50eXBlKCkgPT0gQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeTo6VHlw
ZTo6RW1pdHRlcik7CiAgICAgaWYgKG5vZGUtPmVudHJ5KCkuZW1pdHRlcigpID09ICZCeXRlY29k
ZUludHJpbnNpY05vZGU6OmVtaXRfaW50cmluc2ljX2FycmF5SXRlcmF0b3JGaWVsZEluZGV4KQog
ICAgICAgICByZXR1cm4gSlNBcnJheUl0ZXJhdG9yOjpGaWVsZDo6SW5kZXg7Ci0gICAgaWYgKG5v
ZGUtPmVudHJ5KCkuZW1pdHRlcigpID09ICZCeXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRfaW50
cmluc2ljX2FycmF5SXRlcmF0b3JGaWVsZElzRG9uZSkKLSAgICAgICAgcmV0dXJuIEpTQXJyYXlJ
dGVyYXRvcjo6RmllbGQ6OklzRG9uZTsKICAgICBpZiAobm9kZS0+ZW50cnkoKS5lbWl0dGVyKCkg
PT0gJkJ5dGVjb2RlSW50cmluc2ljTm9kZTo6ZW1pdF9pbnRyaW5zaWNfYXJyYXlJdGVyYXRvckZp
ZWxkSXRlcmF0ZWRPYmplY3QpCiAgICAgICAgIHJldHVybiBKU0FycmF5SXRlcmF0b3I6OkZpZWxk
OjpJdGVyYXRlZE9iamVjdDsKICAgICBpZiAobm9kZS0+ZW50cnkoKS5lbWl0dGVyKCkgPT0gJkJ5
dGVjb2RlSW50cmluc2ljTm9kZTo6ZW1pdF9pbnRyaW5zaWNfYXJyYXlJdGVyYXRvckZpZWxkS2lu
ZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3Rl
ZFNjcmlwdEhvc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVj
dGVkU2NyaXB0SG9zdC5jcHAKaW5kZXggM2YxOTQ3NDNiOTA0Y2E5Mzc5YTRlYzU4Y2JlNTQ5YTcx
MDk5NTI3Yy4uZWYyYzQxMDI4NWRjYjIyY2VmNjFmMWQxYThiMTU2NmNmOTQ3NTY4MCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9z
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2Ny
aXB0SG9zdC5jcHAKQEAgLTU0Niw3ICs1NDYsNiBAQCBzdGF0aWMgSlNPYmplY3QqIGNsb25lQXJy
YXlJdGVyYXRvck9iamVjdChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYgdm0sCiB7
CiAgICAgSlNBcnJheUl0ZXJhdG9yKiBjbG9uZSA9IEpTQXJyYXlJdGVyYXRvcjo6Y3JlYXRlKHZt
LCBnbG9iYWxPYmplY3QtPmFycmF5SXRlcmF0b3JTdHJ1Y3R1cmUoKSwgaXRlcmF0b3JPYmplY3Qt
Pml0ZXJhdGVkT2JqZWN0KCksIGl0ZXJhdG9yT2JqZWN0LT5pbnRlcm5hbEZpZWxkKEpTQXJyYXlJ
dGVyYXRvcjo6RmllbGQ6OktpbmQpLmdldCgpKTsKICAgICBjbG9uZS0+aW50ZXJuYWxGaWVsZChK
U0FycmF5SXRlcmF0b3I6OkZpZWxkOjpJbmRleCkuc2V0KHZtLCBjbG9uZSwgaXRlcmF0b3JPYmpl
Y3QtPmludGVybmFsRmllbGQoSlNBcnJheUl0ZXJhdG9yOjpGaWVsZDo6SW5kZXgpLmdldCgpKTsK
LSAgICBjbG9uZS0+aW50ZXJuYWxGaWVsZChKU0FycmF5SXRlcmF0b3I6OkZpZWxkOjpJc0RvbmUp
LnNldCh2bSwgY2xvbmUsIGl0ZXJhdG9yT2JqZWN0LT5pbnRlcm5hbEZpZWxkKEpTQXJyYXlJdGVy
YXRvcjo6RmllbGQ6OklzRG9uZSkuZ2V0KCkpOwogICAgIHJldHVybiBjbG9uZTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUl0ZXJhdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJdGVyYXRvci5jcHAKaW5k
ZXggMjU0ZTc0OTJiZmYzNmNhMzdiYzI5NGQzNGI2MWI0MTIwZjM2MDBlZi4uNjIxNjNlNWZlMzM2
N2M5NjgzN2FjOWEwMTNmMGVjMTQzMGIyMGRlYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheUl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCkBAIC02MiwxMCArNjIsMTAgQEAgSlNB
cnJheUl0ZXJhdG9yOjpKU0FycmF5SXRlcmF0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKIAogdm9pZCBKU0FycmF5SXRlcmF0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIHsKKyAg
ICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgYXV0byB2YWx1ZXMgPSBpbml0aWFsVmFs
dWVzKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgdmFsdWVzLnNpemUo
KTsgKytpbmRleCkKICAgICAgICAgQmFzZTo6aW50ZXJuYWxGaWVsZChpbmRleCkuc2V0KHZtLCB0
aGlzLCB2YWx1ZXNbaW5kZXhdKTsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiB9CiAK
IHZvaWQgSlNBcnJheUl0ZXJhdG9yOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZp
c2l0b3ImIHZpc2l0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5SXRlcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
YXlJdGVyYXRvci5oCmluZGV4IGI1ZWE4ZDhhYjA1MTg3OGFmYmNjNmEyOGM1ZTRmMGI0NzVkN2Jm
ODIuLmEzYTc2Yjg2YzhlMmViYmRiYzQxMjQxYzUwMDY4MzFmYzc0NDYyZmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJdGVyYXRvci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJdGVyYXRvci5oCkBAIC0zNSwxMiAr
MzUsMTAgQEAgY2xhc3MgSlNBcnJheUl0ZXJhdG9yIGZpbmFsIDogcHVibGljIEpTSW50ZXJuYWxG
aWVsZE9iamVjdEltcGw8ND4gewogCiAgICAgZW51bSBjbGFzcyBGaWVsZCA6IHVpbnQ4X3QgeyAK
ICAgICAgICAgSW5kZXggPSAwLAotICAgICAgICBJc0RvbmUsCiAgICAgICAgIEl0ZXJhdGVkT2Jq
ZWN0LAogICAgICAgICBLaW5kLAogICAgIH07CiAKLSAgICAvLyBKU0FycmF5SXRlcmF0b3IgaGFz
IG9uZSBpbmxpbmUgc3RvcmFnZSBzbG90LCB3aGljaCBpcyBwb2ludGluZyBpbnRlcm5hbEZpZWxk
KDApLgogICAgIHN0YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUoQ2hlY2tlZDxzaXplX3Q+IGlu
bGluZUNhcGFjaXR5KQogICAgIHsKICAgICAgICAgQVNTRVJUX1VOVVNFRChpbmxpbmVDYXBhY2l0
eSwgaW5saW5lQ2FwYWNpdHkgPT0gMFUpOwpAQCAtNTcsNyArNTUsNiBAQCBjbGFzcyBKU0FycmF5
SXRlcmF0b3IgZmluYWwgOiBwdWJsaWMgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDw0PiB7CiAg
ICAgewogICAgICAgICByZXR1cm4geyB7CiAgICAgICAgICAgICBqc051bWJlcigwKSwKLSAgICAg
ICAgICAgIGpzQm9vbGVhbihmYWxzZSksCiAgICAgICAgICAgICBqc051bGwoKSwKICAgICAgICAg
ICAgIGpzTnVtYmVyKDApLAogICAgICAgICB9IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387492</attachid>
            <date>2020-01-12 15:02:07 -0800</date>
            <delta_ts>2020-01-12 15:13:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206140-20200112150207.patch</filename>
            <type>text/plain</type>
            <size>12352</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NDE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NzhiNDc1Y2RkY2VlOTkwOWQwMGU0NTE5NDc4ZDAwZjc2OGNiNGY0Li44YmVhNzYwZjMxMTUwYzE1
N2NmN2UyNWUwNGY2ODA5ODFmZGNjZDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNyBAQAorMjAyMC0wMS0xMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbW92ZSBJc0RvbmUgZnJvbSBKU0FycmF5SXRlcmF0b3IKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjE0MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGNhbiBzdG9y
ZSBgLTFgIGluIEluZGV4IGZpZWxkIHRvIHJlcHJlc2VudCB3aGV0aGVyIHRoZSBpdGVyYXRvciBp
cyBjbG9zZWQuCisgICAgICAgIFdoaWxlIHRoaXMgcGF0Y2ggZG9lcyBub3QgY2hhbmdlIHRoZSBh
bGxvY2F0aW9uIHNpemUgb2YgSlNBcnJheUl0ZXJhdG9yLCB0aGlzIHN0eWxlIGNhbgorICAgICAg
ICBzaHJpbmsgdGhlIHNpemUgb2YgSlNTdHJpbmdJdGVyYXRvciB3aGVuIHdlIGltcGxlbWVudCBp
dCBpbiB0aGUgc2FtZSBzdHlsZS4KKworICAgICAgICBXZSBhbHNvIHJlbmFtZSBpdGVyYXRpb25L
aW5kS2V5VmFsdWUgdG8gaXRlcmF0aW9uS2luZEVudHJpZXMuCisKKyAgICAgICAgKiBidWlsdGlu
cy9BcnJheUl0ZXJhdG9yUHJvdG90eXBlLmpzOgorICAgICAgICAoZ2xvYmFsUHJpdmF0ZS5hcnJh
eUl0ZXJhdG9yTmV4dEhlbHBlcik6CisgICAgICAgICogYnVpbHRpbnMvTWFwSXRlcmF0b3JQcm90
b3R5cGUuanM6CisgICAgICAgIChnbG9iYWxQcml2YXRlLm1hcEl0ZXJhdG9yTmV4dCk6CisgICAg
ICAgICogYnVpbHRpbnMvTWFwUHJvdG90eXBlLmpzOgorICAgICAgICAoZW50cmllcyk6CisgICAg
ICAgICogYnVpbHRpbnMvU2V0SXRlcmF0b3JQcm90b3R5cGUuanM6CisgICAgICAgIChnbG9iYWxQ
cml2YXRlLnNldEl0ZXJhdG9yTmV4dCk6CisgICAgICAgICogYnVpbHRpbnMvU2V0UHJvdG90eXBl
LmpzOgorICAgICAgICAoZW50cmllcyk6CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVJbnRy
aW5zaWNSZWdpc3RyeS5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlSW50cmluc2ljUmVnaXN0
cnk6OkJ5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkpOgorICAgICAgICAqIGJ5dGVjb2RlL0J5dGVj
b2RlSW50cmluc2ljUmVnaXN0cnkuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2Rl
Z2VuLmNwcDoKKyAgICAgICAgKEpTQzo6YXJyYXlJdGVyYXRvckludGVybmFsRmllbGRJbmRleCk6
CisgICAgICAgICogaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcDoKKyAgICAgICAg
KEluc3BlY3Rvcjo6Y2xvbmVBcnJheUl0ZXJhdG9yT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1l
L0pTQXJyYXlJdGVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkpTQXJyYXlJdGVyYXRvcjo6Zmlu
aXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheUl0ZXJhdG9yLmg6CisKIDIw
MjAtMDEtMTIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBb
V2ViQ29yZV0gUmVvcmdhbml6ZSBKU1R5cGUgaW4gV2ViQ29yZSB0byBvZmZlciBtb3JlIGJpdHMg
dG8gSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlJ
dGVyYXRvclByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJh
eUl0ZXJhdG9yUHJvdG90eXBlLmpzCmluZGV4IGI0MTZmYmQzMzgwNzU2MjJmYzgzZDNkZTMzY2Q5
NTYzMDc4MDEwZmQuLjk5YThjMTkyM2YyNWU0NDExZDZiNGZmN2U3YTU5YjA1OTIzOGQ4M2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUl0ZXJhdG9yUHJv
dG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheUl0ZXJh
dG9yUHJvdG90eXBlLmpzCkBAIC00NSwyMSArNDUsMjIgQEAgZnVuY3Rpb24gYXJyYXlJdGVyYXRv
ck5leHRIZWxwZXIoYXJyYXksIGtpbmQpCiAgICAgdmFyIGRvbmUgPSB0cnVlOwogICAgIHZhciB2
YWx1ZTsKIAotICAgIGlmICghQGdldEFycmF5SXRlcmF0b3JJbnRlcm5hbEZpZWxkKHRoaXMsIEBh
cnJheUl0ZXJhdG9yRmllbGRJc0RvbmUpKSB7Ci0gICAgICAgIHZhciBpbmRleCA9IEBnZXRBcnJh
eUl0ZXJhdG9ySW50ZXJuYWxGaWVsZCh0aGlzLCBAYXJyYXlJdGVyYXRvckZpZWxkSW5kZXgpOwor
ICAgIHZhciBpbmRleCA9IEBnZXRBcnJheUl0ZXJhdG9ySW50ZXJuYWxGaWVsZCh0aGlzLCBAYXJy
YXlJdGVyYXRvckZpZWxkSW5kZXgpOworICAgIGlmIChpbmRleCAhPT0gLTEpIHsKICAgICAgICAg
dmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCA+Pj4gMDsKICAgICAgICAgaWYgKGluZGV4IDwgbGVu
Z3RoKSB7CiAgICAgICAgICAgICBAcHV0QXJyYXlJdGVyYXRvckludGVybmFsRmllbGQodGhpcywg
QGFycmF5SXRlcmF0b3JGaWVsZEluZGV4LCBpbmRleCArIDEpOwogICAgICAgICAgICAgZG9uZSA9
IGZhbHNlOwogICAgICAgICAgICAgaWYgKGtpbmQgPT09IEBpdGVyYXRpb25LaW5kS2V5KQogICAg
ICAgICAgICAgICAgIHZhbHVlID0gaW5kZXg7Ci0gICAgICAgICAgICBlbHNlIHsgCisgICAgICAg
ICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFycmF5W2luZGV4XTsKLSAgICAg
ICAgICAgICAgICB2YWx1ZSA9IGtpbmQgPT09IEBpdGVyYXRpb25LaW5kVmFsdWUgPyB2YWx1ZSA6
IFtpbmRleCwgdmFsdWVdOworICAgICAgICAgICAgICAgIGlmIChraW5kID09PSBAaXRlcmF0aW9u
S2luZEVudHJpZXMpCisgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gW2luZGV4LCB2YWx1ZV07
CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBA
cHV0QXJyYXlJdGVyYXRvckludGVybmFsRmllbGQodGhpcywgQGFycmF5SXRlcmF0b3JGaWVsZElu
ZGV4LCAtMSk7CiAgICAgfQotICAgIEBwdXRBcnJheUl0ZXJhdG9ySW50ZXJuYWxGaWVsZCh0aGlz
LCBAYXJyYXlJdGVyYXRvckZpZWxkSXNEb25lLCBkb25lKTsKIAogICAgIHJldHVybiB7IHZhbHVl
LCBkb25lIH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
TWFwSXRlcmF0b3JQcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
TWFwSXRlcmF0b3JQcm90b3R5cGUuanMKaW5kZXggNDFjZDQwOGM3YWNmMzJkNzBiOTlhMTQ5Y2Fj
MTVkMTY2MDdjN2QwMS4uZmZmY2VlOGEzNGM2MDg5NDNlMTBmZjkwOTRjMGM5YjJhMzE3MDdhMSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL01hcEl0ZXJhdG9yUHJv
dG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9NYXBJdGVyYXRv
clByb3RvdHlwZS5qcwpAQCAtMzYsNyArMzYsNyBAQCBmdW5jdGlvbiBtYXBJdGVyYXRvck5leHQo
YnVja2V0LCBraW5kKQogICAgIGlmICghZG9uZSkgewogICAgICAgICB2YXIga2V5ID0gQG1hcEJ1
Y2tldEtleShidWNrZXQpOwogICAgICAgICB2YWx1ZSA9IEBtYXBCdWNrZXRWYWx1ZShidWNrZXQp
OwotICAgICAgICBpZiAoa2luZCA9PT0gQGl0ZXJhdGlvbktpbmRLZXlWYWx1ZSkKKyAgICAgICAg
aWYgKGtpbmQgPT09IEBpdGVyYXRpb25LaW5kRW50cmllcykKICAgICAgICAgICAgIHZhbHVlID0g
WyBrZXksIHZhbHVlIF0KICAgICAgICAgZWxzZSBpZiAoa2luZCA9PT0gQGl0ZXJhdGlvbktpbmRL
ZXkpCiAgICAgICAgICAgICB2YWx1ZSA9IGtleTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9NYXBQcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvTWFwUHJvdG90eXBlLmpzCmluZGV4IDg0NjQ0NTk0YTBmODgxNTY3MzY1ZWEwY2Jl
MGNkNDRiMDg2MzFkNDAuLjhhNWJkM2MyNmY3ZWExNTU0ZWNiMDlhMTgzNWYxNGVkZDNkZGRkYzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9NYXBQcm90b3R5cGUu
anMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL01hcFByb3RvdHlwZS5qcwpA
QCAtNjIsNyArNjIsNyBAQCBmdW5jdGlvbiBlbnRyaWVzKCkKICAgICBpZiAoIUBpc01hcCh0aGlz
KSkKICAgICAgICAgQHRocm93VHlwZUVycm9yKCJNYXAucHJvdG90eXBlLmVudHJpZXMgcmVxdWly
ZXMgdGhhdCB8dGhpc3wgYmUgTWFwIik7CiAKLSAgICByZXR1cm4gbmV3IEBNYXBJdGVyYXRvcih0
aGlzLCBAaXRlcmF0aW9uS2luZEtleVZhbHVlKTsKKyAgICByZXR1cm4gbmV3IEBNYXBJdGVyYXRv
cih0aGlzLCBAaXRlcmF0aW9uS2luZEVudHJpZXMpOwogfQogCiBmdW5jdGlvbiBmb3JFYWNoKGNh
bGxiYWNrIC8qLCB0aGlzQXJnICovKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL1NldEl0ZXJhdG9yUHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL1NldEl0ZXJhdG9yUHJvdG90eXBlLmpzCmluZGV4IDE4M2VkNjc0ZjczNjA4MmIy
YzFlMjA0MDdhMTQzY2QzNjAxNTU0MGQuLmU5Y2U4ZjBhNjdjMDc1ZTI0YzhhMjIxY2Y0MWIwOTFl
ZDdjYzZlMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9TZXRJ
dGVyYXRvclByb3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
U2V0SXRlcmF0b3JQcm90b3R5cGUuanMKQEAgLTM1LDcgKzM1LDcgQEAgZnVuY3Rpb24gc2V0SXRl
cmF0b3JOZXh0KGJ1Y2tldCwga2luZCkKICAgICB2YXIgZG9uZSA9IGJ1Y2tldCA9PT0gQHNlbnRp
bmVsU2V0QnVja2V0OwogICAgIGlmICghZG9uZSkgewogICAgICAgICB2YWx1ZSA9IEBzZXRCdWNr
ZXRLZXkoYnVja2V0KTsKLSAgICAgICAgaWYgKGtpbmQgPT09IEBpdGVyYXRpb25LaW5kS2V5VmFs
dWUpCisgICAgICAgIGlmIChraW5kID09PSBAaXRlcmF0aW9uS2luZEVudHJpZXMpCiAgICAgICAg
ICAgICB2YWx1ZSA9IFsgdmFsdWUsIHZhbHVlIF0KICAgICB9CiAgICAgcmV0dXJuIHsgdmFsdWUs
IGRvbmUgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9TZXRQ
cm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvU2V0UHJvdG90eXBl
LmpzCmluZGV4IGFkZTUxOWRlNDc4ZTBhNTlmMDg3YTY3ZDQyMGEyZTMyNDBmNzEwMWIuLjZkZjhl
OGZkZDk5ZDFkMzE2NWExZjFlNDAxNGYzNWIyMzFhYzE3NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9TZXRQcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL1NldFByb3RvdHlwZS5qcwpAQCAtNTIsNyArNTIsNyBAQCBmdW5j
dGlvbiBlbnRyaWVzKCkKICAgICBpZiAoIUBpc1NldCh0aGlzKSkKICAgICAgICAgQHRocm93VHlw
ZUVycm9yKCJTZXQucHJvdG90eXBlLmVudHJpZXMgcmVxdWlyZXMgdGhhdCB8dGhpc3wgYmUgU2V0
Iik7CiAKLSAgICByZXR1cm4gbmV3IEBTZXRJdGVyYXRvcih0aGlzLCBAaXRlcmF0aW9uS2luZEtl
eVZhbHVlKTsKKyAgICByZXR1cm4gbmV3IEBTZXRJdGVyYXRvcih0aGlzLCBAaXRlcmF0aW9uS2lu
ZEVudHJpZXMpOwogfQogCiBmdW5jdGlvbiBmb3JFYWNoKGNhbGxiYWNrIC8qLCB0aGlzQXJnICov
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50
cmluc2ljUmVnaXN0cnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVj
b2RlSW50cmluc2ljUmVnaXN0cnkuY3BwCmluZGV4IDAwZjEzNzk0MjE2ZTcwOTkxNzc1ODZjZjAw
NzQ5NjIxNTdmODdhN2EuLjczY2M4N2Y0YzA3N2IwMzRkZDQxNzRmOTJkNDI2OTk0OGJkNTIwNmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJp
bnNpY1JlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0
ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgQnl0ZWNvZGVJbnRy
aW5zaWNSZWdpc3RyeTo6Qnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeShWTSYgdm0pCiAgICAgbV9J
bmZpbml0eS5zZXQobV92bSwganNEb3VibGVOdW1iZXIoc3RkOjpudW1lcmljX2xpbWl0czxkb3Vi
bGU+OjppbmZpbml0eSgpKSk7CiAgICAgbV9pdGVyYXRpb25LaW5kS2V5LnNldChtX3ZtLCBqc051
bWJlcihzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSXRlcmF0aW9uS2luZDo6S2V5cykpKTsKICAgICBt
X2l0ZXJhdGlvbktpbmRWYWx1ZS5zZXQobV92bSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEl0ZXJhdGlvbktpbmQ6OlZhbHVlcykpKTsKLSAgICBtX2l0ZXJhdGlvbktpbmRLZXlWYWx1
ZS5zZXQobV92bSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEl0ZXJhdGlvbktpbmQ6
OkVudHJpZXMpKSk7CisgICAgbV9pdGVyYXRpb25LaW5kRW50cmllcy5zZXQobV92bSwganNOdW1i
ZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEl0ZXJhdGlvbktpbmQ6OkVudHJpZXMpKSk7CiAgICAg
bV9NQVhfQVJSQVlfSU5ERVguc2V0KG1fdm0sIGpzTnVtYmVyKE1BWF9BUlJBWV9JTkRFWCkpOwog
ICAgIG1fTUFYX1NUUklOR19MRU5HVEguc2V0KG1fdm0sIGpzTnVtYmVyKEpTU3RyaW5nOjpNYXhM
ZW5ndGgpKTsKICAgICBtX01BWF9TQUZFX0lOVEVHRVIuc2V0KG1fdm0sIGpzRG91YmxlTnVtYmVy
KG1heFNhZmVJbnRlZ2VyKCkpKTsKQEAgLTkwLDcgKzkwLDYgQEAgQnl0ZWNvZGVJbnRyaW5zaWNS
ZWdpc3RyeTo6Qnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeShWTSYgdm0pCiAgICAgbV9HZW5lcmF0
b3JTdGF0ZUV4ZWN1dGluZy5zZXQobV92bSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8aW50MzJfdD4o
SlNHZW5lcmF0b3I6OkdlbmVyYXRvclN0YXRlOjpFeGVjdXRpbmcpKSk7CiAgICAgbV9hcnJheUl0
ZXJhdG9yRmllbGRJdGVyYXRlZE9iamVjdC5zZXQobV92bSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8
aW50MzJfdD4oSlNBcnJheUl0ZXJhdG9yOjpGaWVsZDo6SXRlcmF0ZWRPYmplY3QpKSk7CiAgICAg
bV9hcnJheUl0ZXJhdG9yRmllbGRJbmRleC5zZXQobV92bSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8
aW50MzJfdD4oSlNBcnJheUl0ZXJhdG9yOjpGaWVsZDo6SW5kZXgpKSk7Ci0gICAgbV9hcnJheUl0
ZXJhdG9yRmllbGRJc0RvbmUuc2V0KG1fdm0sIGpzTnVtYmVyKHN0YXRpY19jYXN0PGludDMyX3Q+
KEpTQXJyYXlJdGVyYXRvcjo6RmllbGQ6OklzRG9uZSkpKTsKICAgICBtX2FycmF5SXRlcmF0b3JG
aWVsZEtpbmQuc2V0KG1fdm0sIGpzTnVtYmVyKHN0YXRpY19jYXN0PGludDMyX3Q+KEpTQXJyYXlJ
dGVyYXRvcjo6RmllbGQ6OktpbmQpKSk7CiAgICAgbV9hc3luY0dlbmVyYXRvckZpZWxkU3VzcGVu
ZFJlYXNvbi5zZXQobV92bSwganNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQXN5bmNH
ZW5lcmF0b3I6OkZpZWxkOjpTdXNwZW5kUmVhc29uKSkpOwogICAgIG1fYXN5bmNHZW5lcmF0b3JG
aWVsZFF1ZXVlRmlyc3Quc2V0KG1fdm0sIGpzTnVtYmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkPihK
U0FzeW5jR2VuZXJhdG9yOjpGaWVsZDo6UXVldWVGaXJzdCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5o
CmluZGV4IGI1YzVmNTFhZDBjYWE0YjM0ZDM4NTE1MzhmYTZlNzcyYzUzYzkzZGYuLjBhYmQxYzg5
ZGY3MTIwOGYzNmYzZjY3ZWYwYzJkOTNjYjUxMTkwOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaApA
QCAtODksNyArODksNyBAQCBlbnVtIGNsYXNzIExpbmtUaW1lQ29uc3RhbnQgOiBpbnQzMl90Owog
ICAgIG1hY3JvKEluZmluaXR5KSBcCiAgICAgbWFjcm8oaXRlcmF0aW9uS2luZEtleSkgXAogICAg
IG1hY3JvKGl0ZXJhdGlvbktpbmRWYWx1ZSkgXAotICAgIG1hY3JvKGl0ZXJhdGlvbktpbmRLZXlW
YWx1ZSkgXAorICAgIG1hY3JvKGl0ZXJhdGlvbktpbmRFbnRyaWVzKSBcCiAgICAgbWFjcm8oTUFY
X0FSUkFZX0lOREVYKSBcCiAgICAgbWFjcm8oTUFYX1NUUklOR19MRU5HVEgpIFwKICAgICBtYWNy
byhNQVhfU0FGRV9JTlRFR0VSKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggOGM4MmY1NzNjZGE2ZTNjYzJmYTZiODhh
ZGY0MTUzYzhjOGE3OTg3YS4uNmMxYTRlMjg4MGYwN2EzZjM3N2IyNDllODUxNDlhZDBhNDAwODg3
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0Nv
ZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXND
b2RlZ2VuLmNwcApAQCAtMTA2OSw4ICsxMDY5LDYgQEAgc3RhdGljIEpTQXJyYXlJdGVyYXRvcjo6
RmllbGQgYXJyYXlJdGVyYXRvckludGVybmFsRmllbGRJbmRleChCeXRlY29kZUludHJpbnNpY04K
ICAgICBBU1NFUlQobm9kZS0+ZW50cnkoKS50eXBlKCkgPT0gQnl0ZWNvZGVJbnRyaW5zaWNSZWdp
c3RyeTo6VHlwZTo6RW1pdHRlcik7CiAgICAgaWYgKG5vZGUtPmVudHJ5KCkuZW1pdHRlcigpID09
ICZCeXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRfaW50cmluc2ljX2FycmF5SXRlcmF0b3JGaWVs
ZEluZGV4KQogICAgICAgICByZXR1cm4gSlNBcnJheUl0ZXJhdG9yOjpGaWVsZDo6SW5kZXg7Ci0g
ICAgaWYgKG5vZGUtPmVudHJ5KCkuZW1pdHRlcigpID09ICZCeXRlY29kZUludHJpbnNpY05vZGU6
OmVtaXRfaW50cmluc2ljX2FycmF5SXRlcmF0b3JGaWVsZElzRG9uZSkKLSAgICAgICAgcmV0dXJu
IEpTQXJyYXlJdGVyYXRvcjo6RmllbGQ6OklzRG9uZTsKICAgICBpZiAobm9kZS0+ZW50cnkoKS5l
bWl0dGVyKCkgPT0gJkJ5dGVjb2RlSW50cmluc2ljTm9kZTo6ZW1pdF9pbnRyaW5zaWNfYXJyYXlJ
dGVyYXRvckZpZWxkSXRlcmF0ZWRPYmplY3QpCiAgICAgICAgIHJldHVybiBKU0FycmF5SXRlcmF0
b3I6OkZpZWxkOjpJdGVyYXRlZE9iamVjdDsKICAgICBpZiAobm9kZS0+ZW50cnkoKS5lbWl0dGVy
KCkgPT0gJkJ5dGVjb2RlSW50cmluc2ljTm9kZTo6ZW1pdF9pbnRyaW5zaWNfYXJyYXlJdGVyYXRv
ckZpZWxkS2luZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKaW5kZXggM2YxOTQ3NDNiOTA0Y2E5Mzc5YTRlYzU4
Y2JlNTQ5YTcxMDk5NTI3Yy4uZWYyYzQxMDI4NWRjYjIyY2VmNjFmMWQxYThiMTU2NmNmOTQ3NTY4
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVk
U2NyaXB0SG9zdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0lu
amVjdGVkU2NyaXB0SG9zdC5jcHAKQEAgLTU0Niw3ICs1NDYsNiBAQCBzdGF0aWMgSlNPYmplY3Qq
IGNsb25lQXJyYXlJdGVyYXRvck9iamVjdChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBW
TSYgdm0sCiB7CiAgICAgSlNBcnJheUl0ZXJhdG9yKiBjbG9uZSA9IEpTQXJyYXlJdGVyYXRvcjo6
Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmFycmF5SXRlcmF0b3JTdHJ1Y3R1cmUoKSwgaXRlcmF0
b3JPYmplY3QtPml0ZXJhdGVkT2JqZWN0KCksIGl0ZXJhdG9yT2JqZWN0LT5pbnRlcm5hbEZpZWxk
KEpTQXJyYXlJdGVyYXRvcjo6RmllbGQ6OktpbmQpLmdldCgpKTsKICAgICBjbG9uZS0+aW50ZXJu
YWxGaWVsZChKU0FycmF5SXRlcmF0b3I6OkZpZWxkOjpJbmRleCkuc2V0KHZtLCBjbG9uZSwgaXRl
cmF0b3JPYmplY3QtPmludGVybmFsRmllbGQoSlNBcnJheUl0ZXJhdG9yOjpGaWVsZDo6SW5kZXgp
LmdldCgpKTsKLSAgICBjbG9uZS0+aW50ZXJuYWxGaWVsZChKU0FycmF5SXRlcmF0b3I6OkZpZWxk
OjpJc0RvbmUpLnNldCh2bSwgY2xvbmUsIGl0ZXJhdG9yT2JqZWN0LT5pbnRlcm5hbEZpZWxkKEpT
QXJyYXlJdGVyYXRvcjo6RmllbGQ6OklzRG9uZSkuZ2V0KCkpOwogICAgIHJldHVybiBjbG9uZTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUl0
ZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJdGVyYXRv
ci5jcHAKaW5kZXggMjU0ZTc0OTJiZmYzNmNhMzdiYzI5NGQzNGI2MWI0MTIwZjM2MDBlZi4uNjIx
NjNlNWZlMzM2N2M5NjgzN2FjOWEwMTNmMGVjMTQzMGIyMGRlYSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCkBAIC02MiwxMCArNjIs
MTAgQEAgSlNBcnJheUl0ZXJhdG9yOjpKU0FycmF5SXRlcmF0b3IoVk0mIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKIAogdm9pZCBKU0FycmF5SXRlcmF0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSkKIHsKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgYXV0byB2YWx1ZXMgPSBp
bml0aWFsVmFsdWVzKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgdmFs
dWVzLnNpemUoKTsgKytpbmRleCkKICAgICAgICAgQmFzZTo6aW50ZXJuYWxGaWVsZChpbmRleCku
c2V0KHZtLCB0aGlzLCB2YWx1ZXNbaW5kZXhdKTsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSk7CiB9CiAKIHZvaWQgSlNBcnJheUl0ZXJhdG9yOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2Vs
bCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5SXRlcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXlJdGVyYXRvci5oCmluZGV4IGI1ZWE4ZDhhYjA1MTg3OGFmYmNjNmEyOGM1ZTRm
MGI0NzVkN2JmODIuLmEzYTc2Yjg2YzhlMmViYmRiYzQxMjQxYzUwMDY4MzFmYzc0NDYyZmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJdGVyYXRvci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJdGVyYXRvci5oCkBA
IC0zNSwxMiArMzUsMTAgQEAgY2xhc3MgSlNBcnJheUl0ZXJhdG9yIGZpbmFsIDogcHVibGljIEpT
SW50ZXJuYWxGaWVsZE9iamVjdEltcGw8ND4gewogCiAgICAgZW51bSBjbGFzcyBGaWVsZCA6IHVp
bnQ4X3QgeyAKICAgICAgICAgSW5kZXggPSAwLAotICAgICAgICBJc0RvbmUsCiAgICAgICAgIEl0
ZXJhdGVkT2JqZWN0LAogICAgICAgICBLaW5kLAogICAgIH07CiAKLSAgICAvLyBKU0FycmF5SXRl
cmF0b3IgaGFzIG9uZSBpbmxpbmUgc3RvcmFnZSBzbG90LCB3aGljaCBpcyBwb2ludGluZyBpbnRl
cm5hbEZpZWxkKDApLgogICAgIHN0YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUoQ2hlY2tlZDxz
aXplX3Q+IGlubGluZUNhcGFjaXR5KQogICAgIHsKICAgICAgICAgQVNTRVJUX1VOVVNFRChpbmxp
bmVDYXBhY2l0eSwgaW5saW5lQ2FwYWNpdHkgPT0gMFUpOwpAQCAtNTcsNyArNTUsNiBAQCBjbGFz
cyBKU0FycmF5SXRlcmF0b3IgZmluYWwgOiBwdWJsaWMgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1w
bDw0PiB7CiAgICAgewogICAgICAgICByZXR1cm4geyB7CiAgICAgICAgICAgICBqc051bWJlcigw
KSwKLSAgICAgICAgICAgIGpzQm9vbGVhbihmYWxzZSksCiAgICAgICAgICAgICBqc051bGwoKSwK
ICAgICAgICAgICAgIGpzTnVtYmVyKDApLAogICAgICAgICB9IH07Cg==
</data>
<flag name="review"
          id="403278"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
          </attachment>
      

    </bug>

</bugzilla>