<?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>234909</bug_id>
          
          <creation_ts>2022-01-05 17:32:06 -0800</creation_ts>
          <short_desc>preparePatchpointForExceptions needs to handle tuples</short_desc>
          <delta_ts>2022-01-06 20:56:25 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>231211</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1828472</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2022-01-05 17:32:06 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828799</commentid>
    <comment_count>1</comment_count>
      <attachid>448555</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2022-01-06 18:34:17 -0800</bug_when>
    <thetext>Created attachment 448555
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828801</commentid>
    <comment_count>2</comment_count>
      <attachid>448555</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-06 18:54:01 -0800</bug_when>
    <thetext>Comment on attachment 448555
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828811</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-06 20:55:14 -0800</bug_when>
    <thetext>Committed r287738 (245808@main): &lt;https://commits.webkit.org/245808@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448555.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828812</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-06 20:56:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/87233521&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448555</attachid>
            <date>2022-01-06 18:34:17 -0800</date>
            <delta_ts>2022-01-06 20:55:15 -0800</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>24161</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyODc3MzYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIwIEBACisyMDIyLTAxLTA2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIHByZXBhcmVQYXRjaHBvaW50Rm9yRXhjZXB0aW9ucyBuZWVkcyB0byBo
YW5kbGUgdHVwbGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzQ5MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgc3VwcG9ydCB0byB0aGUgYnVpbGRlciB0byBoYXZlIGZ1bmN0aW9ucyByZXR1cm4g
dHVwbGVzLgorCisgICAgICAgICogd2FzbS9CdWlsZGVyLmpzOgorICAgICAgICAoY29uc3QuX25v
cm1hbGl6ZUZ1bmN0aW9uU2lnbmF0dXJlKToKKyAgICAgICAgKGNvbnN0Ll9tYXliZVJlZ2lzdGVy
VHlwZSk6CisgICAgICAgICogd2FzbS9CdWlsZGVyX1dlYkFzc2VtYmx5QmluYXJ5LmpzOgorICAg
ICAgICAoY29uc3QuZW1pdHRlcnMuVHlwZSk6CisgICAgICAgICogd2FzbS9zdHJlc3MvZXhjZXB0
aW9uLXRocm93LWZyb20tZnVuY3Rpb24tcmV0dXJuaW5nLXR1cGxlLmpzOiBBZGRlZC4KKyAgICAg
ICAgKGltcG9ydC5CdWlsZGVyLmZyb20uc3RyaW5nX2FwcGVhcmVkX2hlcmUuaW1wb3J0LmFzLmFz
c2VydC5mcm9tLnN0cmluZ19hcHBlYXJlZF9oZXJlLnRlc3RDYXRjaFdpdGhFeGNlcHRpb25UaHJv
d25Gcm9tRnVuY3Rpb25SZXR1cm5pbmdUdXBsZSk6CisKIDIwMjItMDEtMDMgIFl1c3VrZSBTdXp1
a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBBcnJheS5wcm90b3R5cGUudG9Mb2Nh
bGVTdHJpbmcgZG9lcyBub3QgcmVzcGVjdCBkZWxldGlvbiBvZiBPYmplY3QucHJvdG90eXBlLnRv
TG9jYWxlU3RyaW5nCkluZGV4OiBKU1Rlc3RzL3dhc20vQnVpbGRlci5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3dhc20vQnVpbGRlci5qcwkocmV2aXNpb24gMjg3NTgwKQorKysgSlNUZXN0cy93
YXNtL0J1aWxkZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDEwICs0NiwxNiBAQCBjb25zdCBf
bm9ybWFsaXplRnVuY3Rpb25TaWduYXR1cmUgPSAocGFyCiAgICAgYXNzZXJ0LmlzQXJyYXkocGFy
YW1zKTsKICAgICBmb3IgKGNvbnN0IHAgb2YgcGFyYW1zKQogICAgICAgICBhc3NlcnQudHJ1dGh5
KFdBU00uaXNWYWxpZFZhbHVlVHlwZShwKSB8fCBwID09PSAidm9pZCIsIGBUeXBlIHBhcmFtZXRl
ciAke3B9IG5lZWRzIGEgdmFsaWQgdmFsdWUgdHlwZWApOwotICAgIGlmICh0eXBlb2YocmV0KSA9
PT0gInVuZGVmaW5lZCIpCi0gICAgICAgIHJldCA9ICJ2b2lkIjsKLSAgICBhc3NlcnQuaXNOb3RB
cnJheShyZXQsIGBNdWx0aXBsZSByZXR1cm4gdmFsdWVzIG5vdCBzdXBwb3J0ZWQgYnkgV2ViQXNz
ZW1ibHkgeWV0YCk7Ci0gICAgYXNzZXJ0LnRydXRoeShXQVNNLmlzVmFsaWRCbG9ja1R5cGUocmV0
KSwgYFR5cGUgcmV0dXJuICR7cmV0fSBtdXN0IGJlIHZhbGlkIGJsb2NrIHR5cGVgKTsKKyAgICBp
ZiAodHlwZW9mIHJldCA9PT0gInVuZGVmaW5lZCIpCisgICAgICAgIHJldCA9IFtdOworICAgIGVs
c2UgaWYgKHR5cGVvZiByZXQgPT09ICJzdHJpbmciKSB7CisgICAgICAgIGlmIChyZXQgPT09ICJ2
b2lkIikKKyAgICAgICAgICAgIHJldCA9IFtdOworICAgICAgICBlbHNlCisgICAgICAgICAgICBy
ZXQgPSBbcmV0XTsKKyAgICB9CisgICAgZm9yIChsZXQgdHlwZSBvZiByZXQpCisgICAgICAgIGFz
c2VydC50cnV0aHkoV0FTTS5pc1ZhbGlkQmxvY2tUeXBlKHR5cGUpLCBgVHlwZSByZXR1cm4gJHt0
eXBlfSBtdXN0IGJlIHZhbGlkIGJsb2NrIHR5cGVgKTsKICAgICByZXR1cm4gW3BhcmFtcywgcmV0
XTsKIH07CiAKQEAgLTc3LDE0ICs4MywxOSBAQCBjb25zdCBfbWF5YmVSZWdpc3RlclR5cGUgPSAo
YnVpbGRlciwgdHlwCiAgICAgY29uc3QgW3BhcmFtcywgcmV0XSA9IF9ub3JtYWxpemVGdW5jdGlv
blNpZ25hdHVyZSh0eXBlLnBhcmFtcywgdHlwZS5yZXQpOwogICAgIGFzc2VydC5pc05vdFVuZGVm
KHR5cGVTZWN0aW9uLCBgQ2FuIG5vdCBhZGQgdHlwZSBpZiBhIHR5cGUgc2VjdGlvbiBpcyBub3Qg
cHJlc2VudGApOwogICAgIC8vIFRyeSByZXVzaW5nIGFuIGVxdWl2YWxlbnQgdHlwZSBmcm9tIHRo
ZSB0eXBlIHNlY3Rpb24uCi0gICAgdHlwZXM6CiAgICAgZm9yIChsZXQgaSA9IDA7IGkgIT09IHR5
cGVTZWN0aW9uLmRhdGEubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgY29uc3QgdCA9IHR5cGVTZWN0
aW9uLmRhdGFbaV07Ci0gICAgICAgIGlmICh0LnJldCA9PT0gcmV0ICYmIHBhcmFtcy5sZW5ndGgg
PT09IHQucGFyYW1zLmxlbmd0aCkgewotICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogIT09
IHQucGFyYW1zLmxlbmd0aDsgKytqKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHBhcmFtc1tqXSAh
PT0gdC5wYXJhbXNbal0pCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIHR5cGVzOworICAg
ICAgICBsZXQgc2hhbGxvd0VxdWFsID0gKGEsIGIpID0+IHsKKyAgICAgICAgICAgIGlmIChhLmxl
bmd0aCAhPT0gYi5sZW5ndGgpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAg
ICAgaWYgKGFbaV0gIT09IGJbaV0pCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9OworCisg
ICAgICAgIGNvbnN0IHQgPSB0eXBlU2VjdGlvbi5kYXRhW2ldOworICAgICAgICBpZiAoc2hhbGxv
d0VxdWFsKHJldCwgdC5yZXQpICYmIHNoYWxsb3dFcXVhbChwYXJhbXMsIHQucGFyYW1zKSkgewog
ICAgICAgICAgICAgdHlwZSA9IGk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpJbmRl
eDogSlNUZXN0cy93YXNtL0J1aWxkZXJfV2ViQXNzZW1ibHlCaW5hcnkuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gSlNUZXN0cy93YXNtL0J1aWxkZXJfV2ViQXNzZW1ibHlCaW5hcnkuanMJKHJldmlzaW9uIDI4
NzU4MCkKKysrIEpTVGVzdHMvd2FzbS9CdWlsZGVyX1dlYkFzc2VtYmx5QmluYXJ5LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDgsMTUgKzEwOCwxNCBAQCBjb25zdCBlbWl0dGVycyA9IHsKICAgICAg
ICAgcHV0KGJpbiwgInZhcnVpbnQzMiIsIHNlY3Rpb24uZGF0YS5sZW5ndGgpOwogICAgICAgICBm
b3IgKGNvbnN0IGVudHJ5IG9mIHNlY3Rpb24uZGF0YSkgewogICAgICAgICAgICAgcHV0KGJpbiwg
InZhcmludDciLCBXQVNNLnR5cGVWYWx1ZVsiZnVuYyJdKTsKKwogICAgICAgICAgICAgcHV0KGJp
biwgInZhcnVpbnQzMiIsIGVudHJ5LnBhcmFtcy5sZW5ndGgpOwogICAgICAgICAgICAgZm9yIChj
b25zdCBwYXJhbSBvZiBlbnRyeS5wYXJhbXMpCiAgICAgICAgICAgICAgICAgcHV0KGJpbiwgInZh
cmludDciLCBXQVNNLnR5cGVWYWx1ZVtwYXJhbV0pOwotICAgICAgICAgICAgaWYgKGVudHJ5LnJl
dCA9PT0gInZvaWQiKQotICAgICAgICAgICAgICAgIHB1dChiaW4sICJ2YXJ1aW50MSIsIDApOwot
ICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgcHV0KGJpbiwgInZhcnVpbnQxIiwg
MSk7Ci0gICAgICAgICAgICAgICAgcHV0KGJpbiwgInZhcmludDciLCBXQVNNLnR5cGVWYWx1ZVtl
bnRyeS5yZXRdKTsKLSAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcHV0KGJpbiwgInZhcnVp
bnQzMiIsIGVudHJ5LnJldC5sZW5ndGgpOworICAgICAgICAgICAgZm9yIChjb25zdCB0eXBlIG9m
IGVudHJ5LnJldCkKKyAgICAgICAgICAgICAgICBwdXQoYmluLCAidmFyaW50NyIsIFdBU00udHlw
ZVZhbHVlW3R5cGVdKTsKICAgICAgICAgfQogICAgIH0sCiAgICAgSW1wb3J0OiAoc2VjdGlvbiwg
YmluKSA9PiB7CkluZGV4OiBKU1Rlc3RzL3dhc20vc2VsZi10ZXN0L3Rlc3RfQnVpbGRlckpTT04u
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSlNUZXN0cy93YXNtL3NlbGYtdGVzdC90ZXN0X0J1aWxkZXJKU09O
LmpzCShyZXZpc2lvbiAyODc1ODApCisrKyBKU1Rlc3RzL3dhc20vc2VsZi10ZXN0L3Rlc3RfQnVp
bGRlckpTT04uanMJKHdvcmtpbmcgY29weSkKQEAgLTExMywyMyArMTEzLDI2IEBAIGNvbnN0IGFz
c2VydE9wVGhyb3dzID0gKG9wRm4sIG1lc3NhZ2UpID0KICAgICAgICAgICAgIC5GdW5jKFtdLCAi
ZjMyIikKICAgICAgICAgICAgIC5GdW5jKFtdLCAiZjY0IikKICAgICAgICAgICAgIC5GdW5jKFsi
aTMyIiwgImk2NCIsICJmMzIiLCAiZjY0Il0pCisgICAgICAgICAgICAuRnVuYyhbXSwgWyJpMzIi
LCAiaTY0Il0pCiAgICAgICAgIC5FbmQoKTsKICAgICBjb25zdCBqID0gSlNPTi5wYXJzZShiLmpz
b24oKSk7Ci0gICAgYXNzZXJ0LmVxKGouc2VjdGlvblswXS5kYXRhLmxlbmd0aCwgNyk7CisgICAg
YXNzZXJ0LmVxKGouc2VjdGlvblswXS5kYXRhLmxlbmd0aCwgOCk7CiAgICAgYXNzZXJ0LmVxKGou
c2VjdGlvblswXS5kYXRhWzBdLnBhcmFtcywgW10pOwotICAgIGFzc2VydC5lcShqLnNlY3Rpb25b
MF0uZGF0YVswXS5yZXQsICJ2b2lkIik7CisgICAgYXNzZXJ0LmVxKGouc2VjdGlvblswXS5kYXRh
WzBdLnJldCwgW10pOwogICAgIGFzc2VydC5lcShqLnNlY3Rpb25bMF0uZGF0YVsxXS5wYXJhbXMs
IFtdKTsKLSAgICBhc3NlcnQuZXEoai5zZWN0aW9uWzBdLmRhdGFbMV0ucmV0LCAidm9pZCIpOwor
ICAgIGFzc2VydC5lcShqLnNlY3Rpb25bMF0uZGF0YVsxXS5yZXQsIFtdKTsKICAgICBhc3NlcnQu
ZXEoai5zZWN0aW9uWzBdLmRhdGFbMl0ucGFyYW1zLCBbXSk7Ci0gICAgYXNzZXJ0LmVxKGouc2Vj
dGlvblswXS5kYXRhWzJdLnJldCwgImkzMiIpOworICAgIGFzc2VydC5lcShqLnNlY3Rpb25bMF0u
ZGF0YVsyXS5yZXQsIFsiaTMyIl0pOwogICAgIGFzc2VydC5lcShqLnNlY3Rpb25bMF0uZGF0YVsz
XS5wYXJhbXMsIFtdKTsKLSAgICBhc3NlcnQuZXEoai5zZWN0aW9uWzBdLmRhdGFbM10ucmV0LCAi
aTY0Iik7CisgICAgYXNzZXJ0LmVxKGouc2VjdGlvblswXS5kYXRhWzNdLnJldCwgWyJpNjQiXSk7
CiAgICAgYXNzZXJ0LmVxKGouc2VjdGlvblswXS5kYXRhWzRdLnBhcmFtcywgW10pOwotICAgIGFz
c2VydC5lcShqLnNlY3Rpb25bMF0uZGF0YVs0XS5yZXQsICJmMzIiKTsKKyAgICBhc3NlcnQuZXEo
ai5zZWN0aW9uWzBdLmRhdGFbNF0ucmV0LCBbImYzMiJdKTsKICAgICBhc3NlcnQuZXEoai5zZWN0
aW9uWzBdLmRhdGFbNV0ucGFyYW1zLCBbXSk7Ci0gICAgYXNzZXJ0LmVxKGouc2VjdGlvblswXS5k
YXRhWzVdLnJldCwgImY2NCIpOworICAgIGFzc2VydC5lcShqLnNlY3Rpb25bMF0uZGF0YVs1XS5y
ZXQsIFsiZjY0Il0pOwogICAgIGFzc2VydC5lcShqLnNlY3Rpb25bMF0uZGF0YVs2XS5wYXJhbXMs
IFsiaTMyIiwgImk2NCIsICJmMzIiLCAiZjY0Il0pOwotICAgIGFzc2VydC5lcShqLnNlY3Rpb25b
MF0uZGF0YVs2XS5yZXQsICJ2b2lkIik7CisgICAgYXNzZXJ0LmVxKGouc2VjdGlvblswXS5kYXRh
WzZdLnJldCwgW10pOworICAgIGFzc2VydC5lcShqLnNlY3Rpb25bMF0uZGF0YVs3XS5wYXJhbXMs
IFtdKTsKKyAgICBhc3NlcnQuZXEoai5zZWN0aW9uWzBdLmRhdGFbN10ucmV0LCBbImkzMiIsICJp
NjQiXSk7CiB9KSgpOwogCiAoZnVuY3Rpb24gRW1wdHlJbXBvcnRTZWN0aW9uKCkgewpAQCAtMTk1
LDExICsxOTgsMTEgQEAgY29uc3QgYXNzZXJ0T3BUaHJvd3MgPSAob3BGbiwgbWVzc2FnZSkgPQog
ICAgICAgICAuRW5kKCk7CiAgICAgY29uc3QgaiA9IEpTT04ucGFyc2UoYi5qc29uKCkpOwogICAg
IGFzc2VydC5lcShqLnNlY3Rpb25bMF0uZGF0YS5sZW5ndGgsIDMpOwotICAgIGFzc2VydC5lcShq
LnNlY3Rpb25bMF0uZGF0YVswXS5yZXQsICJ2b2lkIik7CisgICAgYXNzZXJ0LmVxKGouc2VjdGlv
blswXS5kYXRhWzBdLnJldCwgW10pOwogICAgIGFzc2VydC5lcShqLnNlY3Rpb25bMF0uZGF0YVsw
XS5wYXJhbXMsIFtdKTsKLSAgICBhc3NlcnQuZXEoai5zZWN0aW9uWzBdLmRhdGFbMV0ucmV0LCAi
aTMyIik7CisgICAgYXNzZXJ0LmVxKGouc2VjdGlvblswXS5kYXRhWzFdLnJldCwgWyJpMzIiXSk7
CiAgICAgYXNzZXJ0LmVxKGouc2VjdGlvblswXS5kYXRhWzFdLnBhcmFtcywgW10pOwotICAgIGFz
c2VydC5lcShqLnNlY3Rpb25bMF0uZGF0YVsyXS5yZXQsICJ2b2lkIik7CisgICAgYXNzZXJ0LmVx
KGouc2VjdGlvblswXS5kYXRhWzJdLnJldCwgW10pOwogICAgIGFzc2VydC5lcShqLnNlY3Rpb25b
MF0uZGF0YVsyXS5wYXJhbXMsIFsiaTY0IiwgImk2NCJdKTsKIH0pKCk7CiAKQEAgLTMxMyw3ICsz
MTYsNyBAQCBjb25zdCBhc3NlcnRPcFRocm93cyA9IChvcEZuLCBtZXNzYWdlKSA9CiAgICAgYXNz
ZXJ0LmVxKGouc2VjdGlvblswXS5uYW1lLCAiVHlwZSIpOwogICAgIGFzc2VydC5lcShqLnNlY3Rp
b25bMF0uZGF0YS5sZW5ndGgsIDEpOwogICAgIGFzc2VydC5lcShqLnNlY3Rpb25bMF0uZGF0YVsw
XS5wYXJhbXMsIFtdKTsKLSAgICBhc3NlcnQuZXEoai5zZWN0aW9uWzBdLmRhdGFbMF0ucmV0LCAi
dm9pZCIpOworICAgIGFzc2VydC5lcShqLnNlY3Rpb25bMF0uZGF0YVswXS5yZXQsIFtdKTsKICAg
ICBhc3NlcnQuZXEoai5zZWN0aW9uWzFdLm5hbWUsICJDb2RlIik7CiAgICAgYXNzZXJ0LmVxKGou
c2VjdGlvblsxXS5kYXRhLmxlbmd0aCwgMSk7CiAgICAgYXNzZXJ0LmVxKGouc2VjdGlvblsxXS5k
YXRhWzBdLm5hbWUsIHVuZGVmaW5lZCk7CkBAIC0zMzIsNyArMzM1LDcgQEAgY29uc3QgYXNzZXJ0
T3BUaHJvd3MgPSAob3BGbiwgbWVzc2FnZSkgPQogICAgIGFzc2VydC5lcShqLnNlY3Rpb24ubGVu
Z3RoLCAyKTsKICAgICBhc3NlcnQuZXEoai5zZWN0aW9uWzBdLmRhdGEubGVuZ3RoLCAxKTsKICAg
ICBhc3NlcnQuZXEoai5zZWN0aW9uWzBdLmRhdGFbMF0ucGFyYW1zLCBbImkzMiIsICJpNjQiLCAi
ZjMyIiwgImY2NCJdKTsKLSAgICBhc3NlcnQuZXEoai5zZWN0aW9uWzBdLmRhdGFbMF0ucmV0LCAi
dm9pZCIpOworICAgIGFzc2VydC5lcShqLnNlY3Rpb25bMF0uZGF0YVswXS5yZXQsIFtdKTsKICAg
ICBhc3NlcnQuZXEoai5zZWN0aW9uWzFdLmRhdGEubGVuZ3RoLCAxKTsKICAgICBhc3NlcnQuZXEo
ai5zZWN0aW9uWzFdLmRhdGFbMF0udHlwZSwgMCk7CiAgICAgYXNzZXJ0LmVxKGouc2VjdGlvblsx
XS5kYXRhWzBdLnBhcmFtZXRlckNvdW50LCA0KTsKQEAgLTQxNyw3ICs0MjAsNyBAQCBjb25zdCBh
c3NlcnRPcFRocm93cyA9IChvcEZuLCBtZXNzYWdlKSA9CiAgICAgICAgIC5FbmQoKTsKICAgICBj
b25zdCBqID0gSlNPTi5wYXJzZShiLmpzb24oKSk7CiAgICAgYXNzZXJ0LmVxKGouc2VjdGlvblsw
XS5kYXRhLmxlbmd0aCwgMSk7Ci0gICAgYXNzZXJ0LmVxKGouc2VjdGlvblswXS5kYXRhWzBdLnJl
dCwgInZvaWQiKTsKKyAgICBhc3NlcnQuZXEoai5zZWN0aW9uWzBdLmRhdGFbMF0ucmV0LCBbXSk7
CiAgICAgYXNzZXJ0LmVxKGouc2VjdGlvblswXS5kYXRhWzBdLnBhcmFtcywgW10pOwogICAgIGFz
c2VydC5lcShqLnNlY3Rpb25bMV0uZGF0YS5sZW5ndGgsIDMpOwogICAgIGFzc2VydC5lcShqLnNl
Y3Rpb25bMV0uZGF0YVswXS5maWVsZCwgImZvbyIpOwpJbmRleDogSlNUZXN0cy93YXNtL3N0cmVz
cy9leGNlcHRpb24tdGhyb3ctZnJvbS1mdW5jdGlvbi1yZXR1cm5pbmctdHVwbGUuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy93YXNtL3N0cmVzcy9leGNlcHRpb24tdGhyb3ctZnJvbS1mdW5jdGlv
bi1yZXR1cm5pbmctdHVwbGUuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy93YXNtL3N0cmVz
cy9leGNlcHRpb24tdGhyb3ctZnJvbS1mdW5jdGlvbi1yZXR1cm5pbmctdHVwbGUuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw4MyBAQAoraW1wb3J0IEJ1aWxkZXIgZnJvbSAnLi4vQnVpbGRl
ci5qcycKK2ltcG9ydCAqIGFzIGFzc2VydCBmcm9tICcuLi9hc3NlcnQuanMnCisKK2Z1bmN0aW9u
IHRlc3RDYXRjaFdpdGhFeGNlcHRpb25UaHJvd25Gcm9tRnVuY3Rpb25SZXR1cm5pbmdUdXBsZSgp
IHsKKyAgICBjb25zdCBiID0gbmV3IEJ1aWxkZXIoKTsKKyAgICBiLlR5cGUoKS5FbmQoKQorICAg
ICAgICAuRnVuY3Rpb24oKS5FbmQoKQorICAgICAgICAuRXhjZXB0aW9uKCkuU2lnbmF0dXJlKHsg
cGFyYW1zOiBbXX0pLkVuZCgpCisgICAgICAgIC5FeHBvcnQoKS5GdW5jdGlvbigiY2FsbCIpCisg
ICAgICAgICAgICAuRXhjZXB0aW9uKCJmb28iLCAwKQorICAgICAgICAuRW5kKCkKKyAgICAgICAg
LkNvZGUoKQorCisgICAgICAgICAgICAuRnVuY3Rpb24oImNhbGwiLCB7IHBhcmFtczogWyJpMzIi
LCAiaTMyIl0sIHJldDogImkzMiIgfSkKKyAgICAgICAgICAgICAgICAuR2V0TG9jYWwoMCkKKyAg
ICAgICAgICAgICAgICAuR2V0TG9jYWwoMSkKKyAgICAgICAgICAgICAgICAuVHJ5KCJpMzIiKQor
ICAgICAgICAgICAgICAgICAgICAuQ2FsbCgxKQorICAgICAgICAgICAgICAgICAgICAuRHJvcCgp
CisgICAgICAgICAgICAgICAgICAgIC5Ecm9wKCkKKyAgICAgICAgICAgICAgICAuQ2F0Y2goMCkK
KyAgICAgICAgICAgICAgICAgICAgLkkzMkNvbnN0KDIpCisgICAgICAgICAgICAgICAgLkVuZCgp
CisgICAgICAgICAgICAgICAgLkRyb3AoKQorICAgICAgICAgICAgICAgIC5JMzJBZGQoKQorICAg
ICAgICAgICAgLkVuZCgpCisKKyAgICAgICAgICAgIC5GdW5jdGlvbigiY2FsbDIiLCB7IHBhcmFt
czogW10sIHJldDogWyJpMzIiLCAiaTMyIiwgImkzMiJdIH0pCisgICAgICAgICAgICAgICAgLlRo
cm93KDApCisgICAgICAgICAgICAuRW5kKCkKKyAgICAgICAgLkVuZCgpOworCisgICAgY29uc3Qg
YmluID0gYi5XZWJBc3NlbWJseSgpLmdldCgpOworICAgIGNvbnN0IG1vZHVsZSA9IG5ldyBXZWJB
c3NlbWJseS5Nb2R1bGUoYmluKTsKKyAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBXZWJBc3NlbWJs
eS5JbnN0YW5jZShtb2R1bGUsIHsgfSk7CisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7
ICsraSkKKyAgICAgICAgYXNzZXJ0LmVxKGluc3RhbmNlLmV4cG9ydHMuY2FsbCg0MiwgNSksIDQ3
LCAiY2F0Y2hpbmcgYW4gZXhwb3J0ZWQgd2FzbSB0YWcgdGhyb3duIGZyb20gSlMgc2hvdWxkIGJl
IHBvc3NpYmxlIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RDYXRjaFdpdGhFeGNlcHRpb25UaHJvd25G
cm9tRnVuY3Rpb25SZXR1cm5pbmdUdXBsZTIoKSB7CisgICAgY29uc3QgYiA9IG5ldyBCdWlsZGVy
KCk7CisgICAgYi5UeXBlKCkuRW5kKCkKKyAgICAgICAgLkZ1bmN0aW9uKCkuRW5kKCkKKyAgICAg
ICAgLkV4Y2VwdGlvbigpLlNpZ25hdHVyZSh7IHBhcmFtczogW119KS5FbmQoKQorICAgICAgICAu
RXhwb3J0KCkuRnVuY3Rpb24oImNhbGwiKQorICAgICAgICAgICAgLkV4Y2VwdGlvbigiZm9vIiwg
MCkKKyAgICAgICAgLkVuZCgpCisgICAgICAgIC5Db2RlKCkKKworICAgICAgICAgICAgLkZ1bmN0
aW9uKCJjYWxsIiwgeyBwYXJhbXM6IFsiaTMyIiwgImkzMiJdLCByZXQ6ICJpMzIiIH0pCisgICAg
ICAgICAgICAgICAgLkdldExvY2FsKDApCisgICAgICAgICAgICAgICAgLkdldExvY2FsKDEpCisg
ICAgICAgICAgICAgICAgLlRyeSgiZjMyIikKKyAgICAgICAgICAgICAgICAgICAgLkkzMkNvbnN0
KDEwKQorICAgICAgICAgICAgICAgICAgICAuSTMyQ29uc3QoMTApCisgICAgICAgICAgICAgICAg
ICAgIC5DYWxsKDEpCisgICAgICAgICAgICAgICAgICAgIC5Ecm9wKCkKKyAgICAgICAgICAgICAg
ICAgICAgLkRyb3AoKQorICAgICAgICAgICAgICAgICAgICAuRHJvcCgpCisgICAgICAgICAgICAg
ICAgICAgIC5Ecm9wKCkKKyAgICAgICAgICAgICAgICAuQ2F0Y2goMCkKKyAgICAgICAgICAgICAg
ICAgICAgLkYzMkNvbnN0KDIpCisgICAgICAgICAgICAgICAgLkVuZCgpCisgICAgICAgICAgICAg
ICAgLkRyb3AoKQorICAgICAgICAgICAgICAgIC5JMzJBZGQoKQorICAgICAgICAgICAgLkVuZCgp
CisKKyAgICAgICAgICAgIC5GdW5jdGlvbigiY2FsbDIiLCB7IHBhcmFtczogWyJpMzIiLCAiaTMy
Il0sIHJldDogWyJmMzIiLCAiZjMyIiwgImYzMiIsICJmMzIiLCAiZjMyIl0gfSkKKyAgICAgICAg
ICAgICAgICAuVGhyb3coMCkKKyAgICAgICAgICAgIC5FbmQoKQorICAgICAgICAuRW5kKCk7CisK
KyAgICBjb25zdCBiaW4gPSBiLldlYkFzc2VtYmx5KCkuZ2V0KCk7CisgICAgY29uc3QgbW9kdWxl
ID0gbmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShiaW4pOworICAgIGNvbnN0IGluc3RhbmNlID0gbmV3
IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVsZSwgeyB9KTsKKworICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgMTAwMDsgKytpKQorICAgICAgICBhc3NlcnQuZXEoaW5zdGFuY2UuZXhwb3J0cy5jYWxs
KDQyLCA1KSwgNDcsICJjYXRjaGluZyBhbiBleHBvcnRlZCB3YXNtIHRhZyB0aHJvd24gZnJvbSBK
UyBzaG91bGQgYmUgcG9zc2libGUiKTsKK30KKwordGVzdENhdGNoV2l0aEV4Y2VwdGlvblRocm93
bkZyb21GdW5jdGlvblJldHVybmluZ1R1cGxlKCk7Cit0ZXN0Q2F0Y2hXaXRoRXhjZXB0aW9uVGhy
b3duRnJvbUZ1bmN0aW9uUmV0dXJuaW5nVHVwbGUyKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cJKHJldmlzaW9uIDI4NzU4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOSBAQAorMjAyMi0wMS0wNiAgU2FhbSBCYXJh
dGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBwcmVwYXJlUGF0Y2hwb2ludEZvckV4
Y2VwdGlvbnMgbmVlZHMgdG8gaGFuZGxlIHR1cGxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0OTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgZ290IHRoZSBvZmZzZXRzIHdyb25nIHdoZW4gYnVp
bGRpbmcgYSBzdGFja21hcCBpbiBCM0lSR2VuZXJhdG9yCisgICAgICAgIGZvciBleGNlcHRpb24g
c2l0ZXMuIFdlIG5lZWQgdG8gaW5kZXggaW50byBTdGFja21hcEdlbmVyYXRpb25QYXJhbXMKKyAg
ICAgICAgZGlmZmVyZW50bHkgZnJvbSBpbmRleGluZyBpbnRvIHRoZSBwYXRjaHBvaW50J3MgY2hp
bGRyZW4uIFN0YWNrbWFwR2VuZXJhdGlvblBhcmFtcworICAgICAgICByZXNlcnZlcyBpdHMgZmly
c3QgTiBlbnRyaWVzIGZvciB0aGUgTiByZXR1cm4gdmFsdWVzLiBUaGUgcGF0Y2hwb2ludCdzCisg
ICAgICAgIGNoaWxkcmVuIGNvbnRhaW5zIG5vIHJlc3VsdHMgdGhvdWdoLCBzbyB3ZSBkb24ndCBu
ZWVkIHRvIGFjY291bnQgZm9yCisgICAgICAgIHRoZSBudW1iZXIgb2YgcmV0dXJuIHZhbHVlcyB3
aGVuIGluZGV4aW5nIGludG8gdGhlIGNoaWxkcmVuKCkgdmVjdG9yCisgICAgICAgIG9mIHRoZSBQ
YXRjaHBvaW50VmFsdWUuIFRvIG1ha2UgdGhpcyBjb2RlIHNpbXBsZXIsIHdlIGtlZXAgdHJhY2sg
b2YgdGhlCisgICAgICAgIG51bWJlciBvZiBsaXZlIHZhbHVlcyB3ZSBuZWVkIHdoZW4gdGhyb3dp
bmcuIFRoZXNlIHZhbHVlcyBhcmUgYm90aAorICAgICAgICBhdCB0aGUgZW5kIG9mIFN0YWNrbWFw
R2VuZXJhdGlvblBhcmFtcyBhbmQgYXQgdGhlIGVuZCBvZiB0aGUgY2hpbGRyZW4oKQorICAgICAg
ICB2ZWN0b3IuIFNvIHdlIGp1c3QgbG9vayBhdCB0aGUgbGFzdCAibnVtYmVyIG9mIGxpdmUgdmFs
dWVzIiBpbiBib3RoCisgICAgICAgIHZlY3RvcnMgdG8gZ2V0IHRoZSBjb3JyZWN0IFZhbHVlUmVw
IGFuZCBjb3JyZWN0IHR5cGUuIFRoZSBjb2RlIGZvcgorICAgICAgICBjYWxscyBhbHNvIGRpZG4n
dCBhY2NvdW50IGZvciB0aGUgZmFjdCB0aGF0IGNhbGwgYXJndW1lbnRzIHdpbGwgYmUKKyAgICAg
ICAgYXBwZW5kZWQgYWZ0ZXIgdGhlIGxpdmUgdmFsdWVzIHdlJ3JlIGJ1aWxkaW5nIGludG8gYSBz
dGFja21hcC4gVGhpcworICAgICAgICBwYXRjaCBmaXhlcyB0aGF0IGNvZGUgdG8gYWx3YXlzIHB1
dCB0aGUgbGl2ZSB2YWx1ZXMgbGFzdC4KKworICAgICAgICAqIHdhc20vV2FzbUIzSVJHZW5lcmF0
b3IuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpQYXRjaHBvaW50RXhjZXB0aW9uSGFuZGxlOjpn
ZW5lcmF0ZSBjb25zdCk6CisgICAgICAgIChKU0M6Oldhc206OkIzSVJHZW5lcmF0b3I6OnByZXBh
cmVQYXRjaHBvaW50Rm9yRXhjZXB0aW9ucyk6CisKIDIwMjItMDEtMDQgIFl1c3VrZSBTdXp1a2kg
IDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJBc3NlbWJseSBpMzIuYXRvbWljLndh
aXQgdGltZW91dCB2YWx1ZSBpbmNvcnJlY3RseSBpbnRlcnByZXRlZCBieSBmYWN0b3IgMTAwMApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJhdG9y
LmNwcAkocmV2aXNpb24gMjg3NTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUIzSVJHZW5lcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NCw3ICs5NCw3IEBAIHN0cnVj
dCBQYXRjaHBvaW50RXhjZXB0aW9uSGFuZGxlIHsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2ln
bmVkIHNfaW52YWxpZENhbGxTaXRlSW5kZXggPSAgc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25l
ZD46Om1heCgpOwogCiAgICAgdW5zaWduZWQgbV9jYWxsU2l0ZUluZGV4IHsgc19pbnZhbGlkQ2Fs
bFNpdGVJbmRleCB9OwotICAgIHVuc2lnbmVkIG1fb2Zmc2V0OworICAgIHVuc2lnbmVkIG1fbnVt
TGl2ZVZhbHVlczsKIH07CiAKIGNsYXNzIEIzSVJHZW5lcmF0b3IgewpAQCAtNDAzLDcgKzQwMyw3
IEBAIHB1YmxpYzoKICAgICBQYXJ0aWFsUmVzdWx0IFdBUk5fVU5VU0VEX1JFVFVSTiBhZGRDYWxs
UmVmKGNvbnN0IFNpZ25hdHVyZSYsIFZlY3RvcjxFeHByZXNzaW9uVHlwZT4mIGFyZ3MsIFJlc3Vs
dExpc3QmIHJlc3VsdHMpOwogICAgIFBhcnRpYWxSZXN1bHQgV0FSTl9VTlVTRURfUkVUVVJOIGFk
ZFVucmVhY2hhYmxlKCk7CiAgICAgUGFydGlhbFJlc3VsdCBXQVJOX1VOVVNFRF9SRVRVUk4gZW1p
dEluZGlyZWN0Q2FsbChWYWx1ZSogY2FsbGVlSW5zdGFuY2UsIFZhbHVlKiBjYWxsZWVDb2RlLCBj
b25zdCBTaWduYXR1cmUmLCBWZWN0b3I8RXhwcmVzc2lvblR5cGU+JiBhcmdzLCBSZXN1bHRMaXN0
Jik7Ci0gICAgQjM6OlZhbHVlKiBjcmVhdGVDYWxsUGF0Y2hwb2ludChCYXNpY0Jsb2NrKiwgT3Jp
Z2luLCBjb25zdCBTaWduYXR1cmUmLCBWZWN0b3I8RXhwcmVzc2lvblR5cGU+JiBhcmdzLCBjb25z
dCBTY29wZWRMYW1iZGE8dm9pZChQYXRjaHBvaW50VmFsdWUqKT4mIHBhdGNocG9pbnRGdW5jdG9y
KTsKKyAgICBCMzo6VmFsdWUqIGNyZWF0ZUNhbGxQYXRjaHBvaW50KEJhc2ljQmxvY2sqLCBPcmln
aW4sIGNvbnN0IFNpZ25hdHVyZSYsIFZlY3RvcjxFeHByZXNzaW9uVHlwZT4mIGFyZ3MsIGNvbnN0
IFNjb3BlZExhbWJkYTx2b2lkKFBhdGNocG9pbnRWYWx1ZSosIEJveDxQYXRjaHBvaW50RXhjZXB0
aW9uSGFuZGxlPik+JiBwYXRjaHBvaW50RnVuY3Rvcik7CiAKICAgICB2b2lkIGR1bXAoY29uc3Qg
Q29udHJvbFN0YWNrJiwgY29uc3QgU3RhY2sqIGV4cHJlc3Npb25TdGFjayk7CiAgICAgdm9pZCBz
ZXRQYXJzZXIoRnVuY3Rpb25QYXJzZXI8QjNJUkdlbmVyYXRvcj4qIHBhcnNlcikgeyBtX3BhcnNl
ciA9IHBhcnNlcjsgfTsKQEAgLTU4MywxMiArNTgzLDEyIEBAIHZvaWQgUGF0Y2hwb2ludEV4Y2Vw
dGlvbkhhbmRsZTo6Z2VuZXJhdGUKICAgICBpZiAobV9jYWxsU2l0ZUluZGV4ID09IHNfaW52YWxp
ZENhbGxTaXRlSW5kZXgpCiAgICAgICAgIHJldHVybjsKIAotICAgIFN0YWNrTWFwIHZhbHVlczsK
LSAgICBpZiAocGFyYW1zLnZhbHVlKCktPm51bUNoaWxkcmVuKCkgPj0gbV9vZmZzZXQpIHsKLSAg
ICAgICAgdmFsdWVzID0gU3RhY2tNYXAocGFyYW1zLnZhbHVlKCktPm51bUNoaWxkcmVuKCkgLSBt
X29mZnNldCk7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1fb2Zmc2V0OyBpIDwgcGFyYW1z
LnZhbHVlKCktPm51bUNoaWxkcmVuKCk7ICsraSkKLSAgICAgICAgICAgIHZhbHVlc1tpIC0gbV9v
ZmZzZXRdID0gT1NSRW50cnlWYWx1ZShwYXJhbXNbaV0sIHBhcmFtcy52YWx1ZSgpLT5jaGlsZChp
KS0+dHlwZSgpKTsKLSAgICB9CisgICAgU3RhY2tNYXAgdmFsdWVzKG1fbnVtTGl2ZVZhbHVlcyk7
CisgICAgdW5zaWduZWQgcGFyYW1zT2Zmc2V0ID0gcGFyYW1zLnNpemUoKSAtIG1fbnVtTGl2ZVZh
bHVlczsKKyAgICB1bnNpZ25lZCBjaGlsZHJlbk9mZnNldCA9IHBhcmFtcy52YWx1ZSgpLT5udW1D
aGlsZHJlbigpIC0gbV9udW1MaXZlVmFsdWVzOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBtX251bUxpdmVWYWx1ZXM7ICsraSkKKyAgICAgICAgdmFsdWVzW2ldID0gT1NSRW50cnlWYWx1
ZShwYXJhbXNbaSArIHBhcmFtc09mZnNldF0sIHBhcmFtcy52YWx1ZSgpLT5jaGlsZChpICsgY2hp
bGRyZW5PZmZzZXQpLT50eXBlKCkpOworCiAgICAgZ2VuZXJhdG9yLT5hZGRTdGFja01hcChtX2Nh
bGxTaXRlSW5kZXgsIFdURk1vdmUodmFsdWVzKSk7CiAgICAgaml0LnN0b3JlMzIoQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tMzIobV9jYWxsU2l0ZUluZGV4KSwgQ0NhbGxIZWxwZXJzOjp0YWdGb3Io
Q2FsbEZyYW1lU2xvdDo6YXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMpKTsKIH0KQEAgLTEyMTMs
NyArMTIxMyw3IEBAIGF1dG8gQjNJUkdlbmVyYXRvcjo6ZW1pdEluZGlyZWN0Q2FsbChWYWwKIAog
ICAgIEIzOjpUeXBlIHJldHVyblR5cGUgPSB0b0IzUmVzdWx0VHlwZSgmc2lnbmF0dXJlKTsKICAg
ICBWYWx1ZSogY2FsbFJlc3VsdCA9IGNyZWF0ZUNhbGxQYXRjaHBvaW50KG1fY3VycmVudEJsb2Nr
LCBvcmlnaW4oKSwgc2lnbmF0dXJlLCBhcmdzLAotICAgICAgICBzY29wZWRMYW1iZGFSZWY8dm9p
ZChQYXRjaHBvaW50VmFsdWUqKT4oWz1dIChQYXRjaHBvaW50VmFsdWUqIHBhdGNocG9pbnQpIC0+
IHZvaWQgeworICAgICAgICBzY29wZWRMYW1iZGFSZWY8dm9pZChQYXRjaHBvaW50VmFsdWUqLCBC
b3g8UGF0Y2hwb2ludEV4Y2VwdGlvbkhhbmRsZT4pPihbPV0gKFBhdGNocG9pbnRWYWx1ZSogcGF0
Y2hwb2ludCwgQm94PFBhdGNocG9pbnRFeGNlcHRpb25IYW5kbGU+IGhhbmRsZSkgLT4gdm9pZCB7
CiAgICAgICAgICAgICBwYXRjaHBvaW50LT5lZmZlY3RzLndyaXRlc1Bpbm5lZCA9IHRydWU7CiAg
ICAgICAgICAgICBwYXRjaHBvaW50LT5lZmZlY3RzLnJlYWRzUGlubmVkID0gdHJ1ZTsKICAgICAg
ICAgICAgIC8vIFdlIG5lZWQgdG8gY2xvYmJlciBhbGwgcG90ZW50aWFsIHBpbm5lZCByZWdpc3Rl
cnMgc2luY2Ugd2UgbWlnaHQgYmUgbGVhdmluZyB0aGUgaW5zdGFuY2UuCkBAIC0xMjI0LDEwICsx
MjI0LDkgQEAgYXV0byBCM0lSR2VuZXJhdG9yOjplbWl0SW5kaXJlY3RDYWxsKFZhbAogICAgICAg
ICAgICAgcGF0Y2hwb2ludC0+Y2xvYmJlckxhdGUoUGlubmVkUmVnaXN0ZXJJbmZvOjpnZXQoKS50
b1NhdmUoTWVtb3J5TW9kZTo6Qm91bmRzQ2hlY2tpbmcpKTsKIAogICAgICAgICAgICAgcGF0Y2hw
b2ludC0+YXBwZW5kKGNhbGxlZUNvZGUsIFZhbHVlUmVwOjpTb21lUmVnaXN0ZXIpOwotICAgICAg
ICAgICAgUGF0Y2hwb2ludEV4Y2VwdGlvbkhhbmRsZSBoYW5kbGUgPSBwcmVwYXJlUGF0Y2hwb2lu
dEZvckV4Y2VwdGlvbnMobV9jdXJyZW50QmxvY2ssIHBhdGNocG9pbnQpOwogICAgICAgICAgICAg
cGF0Y2hwb2ludC0+c2V0R2VuZXJhdG9yKFs9XSAoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IEIz
OjpTdGFja21hcEdlbmVyYXRpb25QYXJhbXMmIHBhcmFtcykgewogICAgICAgICAgICAgICAgIEFs
bG93TWFjcm9TY3JhdGNoUmVnaXN0ZXJVc2FnZSBhbGxvd1NjcmF0Y2goaml0KTsKLSAgICAgICAg
ICAgICAgICBoYW5kbGUuZ2VuZXJhdGUoaml0LCBwYXJhbXMsIHRoaXMpOworICAgICAgICAgICAg
ICAgIGhhbmRsZS0+Z2VuZXJhdGUoaml0LCBwYXJhbXMsIHRoaXMpOwogICAgICAgICAgICAgICAg
IGppdC5jYWxsKHBhcmFtc1twYXJhbXMucHJvYygpLnJlc3VsdENvdW50KHJldHVyblR5cGUpXS5n
cHIoKSwgV2FzbUVudHJ5UHRyVGFnKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KSk7CkBA
IC0yNjA5LDE0ICsyNjA4LDEwIEBAIFBhdGNocG9pbnRFeGNlcHRpb25IYW5kbGUgQjNJUkdlbmVy
YXRvcjoKICAgICAgICAgICAgIGxpdmVWYWx1ZXMuYXBwZW5kKGdldChibG9jaywgZGF0YS5leGNl
cHRpb24oKSkpOwogICAgIH0KIAotICAgIHVuc2lnbmVkIG9mZnNldCA9IHBhdGNoLT5udW1DaGls
ZHJlbigpOwotICAgIGlmIChwYXRjaC0+dHlwZSgpICE9IFZvaWQpCi0gICAgICAgIG9mZnNldCsr
OwotCiAgICAgcGF0Y2gtPmVmZmVjdHMuZXhpdHNTaWRld2F5cyA9IHRydWU7CiAgICAgcGF0Y2gt
PmFwcGVuZFZlY3RvcldpdGhSZXAobGl2ZVZhbHVlcywgVmFsdWVSZXA6OkxhdGVDb2xkQW55KTsK
IAotICAgIHJldHVybiBQYXRjaHBvaW50RXhjZXB0aW9uSGFuZGxlIHsgbV9jYWxsU2l0ZUluZGV4
LCBvZmZzZXQgfTsKKyAgICByZXR1cm4gUGF0Y2hwb2ludEV4Y2VwdGlvbkhhbmRsZSB7IG1fY2Fs
bFNpdGVJbmRleCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGxpdmVWYWx1ZXMuc2l6ZSgpKSB9Owog
fQogCiBhdXRvIEIzSVJHZW5lcmF0b3I6OmFkZENhdGNoVG9VbnJlYWNoYWJsZSh1bnNpZ25lZCBl
eGNlcHRpb25JbmRleCwgY29uc3QgU2lnbmF0dXJlJiBzaWduYXR1cmUsIENvbnRyb2xUeXBlJiBk
YXRhLCBSZXN1bHRMaXN0JiByZXN1bHRzKSAtPiBQYXJ0aWFsUmVzdWx0CkBAIC0yOTE1LDcgKzI5
MTAsNyBAQCBhdXRvIEIzSVJHZW5lcmF0b3I6OmFkZEVuZFRvVW5yZWFjaGFibGUoCiB9CiAKIAot
QjM6OlZhbHVlKiBCM0lSR2VuZXJhdG9yOjpjcmVhdGVDYWxsUGF0Y2hwb2ludChCYXNpY0Jsb2Nr
KiBibG9jaywgT3JpZ2luIG9yaWdpbiwgY29uc3QgU2lnbmF0dXJlJiBzaWduYXR1cmUsIFZlY3Rv
cjxFeHByZXNzaW9uVHlwZT4mIGFyZ3MsIGNvbnN0IFNjb3BlZExhbWJkYTx2b2lkKFBhdGNocG9p
bnRWYWx1ZSopPiYgcGF0Y2hwb2ludEZ1bmN0b3IpCitCMzo6VmFsdWUqIEIzSVJHZW5lcmF0b3I6
OmNyZWF0ZUNhbGxQYXRjaHBvaW50KEJhc2ljQmxvY2sqIGJsb2NrLCBPcmlnaW4gb3JpZ2luLCBj
b25zdCBTaWduYXR1cmUmIHNpZ25hdHVyZSwgVmVjdG9yPEV4cHJlc3Npb25UeXBlPiYgYXJncywg
Y29uc3QgU2NvcGVkTGFtYmRhPHZvaWQoUGF0Y2hwb2ludFZhbHVlKiwgQm94PFBhdGNocG9pbnRF
eGNlcHRpb25IYW5kbGU+KT4mIHBhdGNocG9pbnRGdW5jdG9yKQogewogICAgIFZlY3RvcjxCMzo6
Q29uc3RyYWluZWRWYWx1ZT4gY29uc3RyYWluZWRBcmd1bWVudHM7CiAgICAgQ2FsbEluZm9ybWF0
aW9uIHdhc21DYWxsSW5mbyA9IHdhc21DYWxsaW5nQ29udmVudGlvbigpLmNhbGxJbmZvcm1hdGlv
bkZvcihzaWduYXR1cmUpOwpAQCAtMjkyNCwxMyArMjkxOSwxNyBAQCBCMzo6VmFsdWUqIEIzSVJH
ZW5lcmF0b3I6OmNyZWF0ZUNhbGxQYXRjCiAKICAgICBtX3Byb2MucmVxdWVzdENhbGxBcmdBcmVh
U2l6ZUluQnl0ZXMoV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mKHN0YWNrQWxpZ25tZW50Qnl0ZXMo
KSwgd2FzbUNhbGxJbmZvLmhlYWRlckFuZEFyZ3VtZW50U3RhY2tTaXplSW5CeXRlcykpOwogCisg
ICAgQm94PFBhdGNocG9pbnRFeGNlcHRpb25IYW5kbGU+IGV4Y2VwdGlvbkhhbmRsZSA9IEJveDxQ
YXRjaHBvaW50RXhjZXB0aW9uSGFuZGxlPjo6Y3JlYXRlKCk7CisKICAgICBCMzo6VHlwZSByZXR1
cm5UeXBlID0gdG9CM1Jlc3VsdFR5cGUoJnNpZ25hdHVyZSk7CiAgICAgUGF0Y2hwb2ludFZhbHVl
KiBwYXRjaHBvaW50ID0gbV9wcm9jLmFkZDxQYXRjaHBvaW50VmFsdWU+KHJldHVyblR5cGUsIG9y
aWdpbik7CiAgICAgcGF0Y2hwb2ludC0+Y2xvYmJlckVhcmx5KFJlZ2lzdGVyU2V0OjptYWNyb1Nj
cmF0Y2hSZWdpc3RlcnMoKSk7CiAgICAgcGF0Y2hwb2ludC0+Y2xvYmJlckxhdGUoUmVnaXN0ZXJT
ZXQ6OnZvbGF0aWxlUmVnaXN0ZXJzRm9ySlNDYWxsKCkpOwotICAgIHBhdGNocG9pbnRGdW5jdG9y
KHBhdGNocG9pbnQpOworICAgIHBhdGNocG9pbnRGdW5jdG9yKHBhdGNocG9pbnQsIGV4Y2VwdGlv
bkhhbmRsZSk7CiAgICAgcGF0Y2hwb2ludC0+YXBwZW5kVmVjdG9yKGNvbnN0cmFpbmVkQXJndW1l
bnRzKTsKIAorICAgICpleGNlcHRpb25IYW5kbGUgPSBwcmVwYXJlUGF0Y2hwb2ludEZvckV4Y2Vw
dGlvbnMoYmxvY2ssIHBhdGNocG9pbnQpOworCiAgICAgaWYgKHJldHVyblR5cGUgIT0gQjM6OlZv
aWQpIHsKICAgICAgICAgVmVjdG9yPEIzOjpWYWx1ZVJlcCwgMT4gcmVzdWx0Q29uc3RyYWludHM7
CiAgICAgICAgIGZvciAoYXV0byB2YWx1ZUxvY2F0aW9uIDogd2FzbUNhbGxJbmZvLnJlc3VsdHMp
CkBAIC0yOTg1LDE3ICsyOTg0LDE2IEBAIGF1dG8gQjNJUkdlbmVyYXRvcjo6YWRkQ2FsbCh1aW50
MzJfdCBmdW4KICAgICAgICAgbV9jdXJyZW50QmxvY2stPmFwcGVuZE5ld0NvbnRyb2xWYWx1ZSht
X3Byb2MsIEIzOjpCcmFuY2gsIG9yaWdpbigpLCBpc1dhc21DYWxsLCBGcmVxdWVudGVkQmxvY2so
aXNXYXNtQmxvY2spLCBGcmVxdWVudGVkQmxvY2soaXNFbWJlZGRlckJsb2NrKSk7CiAKICAgICAg
ICAgVmFsdWUqIHdhc21DYWxsUmVzdWx0ID0gY3JlYXRlQ2FsbFBhdGNocG9pbnQoaXNXYXNtQmxv
Y2ssIG9yaWdpbigpLCBzaWduYXR1cmUsIGFyZ3MsCi0gICAgICAgICAgICBzY29wZWRMYW1iZGFS
ZWY8dm9pZChQYXRjaHBvaW50VmFsdWUqKT4oWz1dIChQYXRjaHBvaW50VmFsdWUqIHBhdGNocG9p
bnQpIC0+IHZvaWQgeworICAgICAgICAgICAgc2NvcGVkTGFtYmRhUmVmPHZvaWQoUGF0Y2hwb2lu
dFZhbHVlKiwgQm94PFBhdGNocG9pbnRFeGNlcHRpb25IYW5kbGU+KT4oWz1dIChQYXRjaHBvaW50
VmFsdWUqIHBhdGNocG9pbnQsIEJveDxQYXRjaHBvaW50RXhjZXB0aW9uSGFuZGxlPiBoYW5kbGUp
IC0+IHZvaWQgewogICAgICAgICAgICAgICAgIHBhdGNocG9pbnQtPmVmZmVjdHMud3JpdGVzUGlu
bmVkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBwYXRjaHBvaW50LT5lZmZlY3RzLnJlYWRzUGlu
bmVkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGNsb2JiZXIgYWxsIHBv
dGVudGlhbCBwaW5uZWQgcmVnaXN0ZXJzIHNpbmNlIHdlIG1pZ2h0IGJlIGxlYXZpbmcgdGhlIGlu
c3RhbmNlLgogICAgICAgICAgICAgICAgIC8vIFdlIHBlc3NpbWlzdGljYWxseSBhc3N1bWUgd2Ug
Y291bGQgYmUgY2FsbGluZyB0byBzb21ldGhpbmcgdGhhdCBpcyBib3VuZHMgY2hlY2tpbmcuCiAg
ICAgICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZG4ndCBoYXZlIHRvIGRvIHRoaXM6IGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzIxODEKICAgICAgICAgICAg
ICAgICBwYXRjaHBvaW50LT5jbG9iYmVyTGF0ZShQaW5uZWRSZWdpc3RlckluZm86OmdldCgpLnRv
U2F2ZShNZW1vcnlNb2RlOjpCb3VuZHNDaGVja2luZykpOwotICAgICAgICAgICAgICAgIFBhdGNo
cG9pbnRFeGNlcHRpb25IYW5kbGUgaGFuZGxlID0gcHJlcGFyZVBhdGNocG9pbnRGb3JFeGNlcHRp
b25zKGlzV2FzbUJsb2NrLCBwYXRjaHBvaW50KTsKICAgICAgICAgICAgICAgICBwYXRjaHBvaW50
LT5zZXRHZW5lcmF0b3IoW3RoaXMsIGhhbmRsZSwgdW5saW5rZWRXYXNtVG9XYXNtQ2FsbHMsIGZ1
bmN0aW9uSW5kZXhdIChDQ2FsbEhlbHBlcnMmIGppdCwgY29uc3QgQjM6OlN0YWNrbWFwR2VuZXJh
dGlvblBhcmFtcyYgcGFyYW1zKSB7CiAgICAgICAgICAgICAgICAgICAgIEFsbG93TWFjcm9TY3Jh
dGNoUmVnaXN0ZXJVc2FnZSBhbGxvd1NjcmF0Y2goaml0KTsKLSAgICAgICAgICAgICAgICAgICAg
aGFuZGxlLmdlbmVyYXRlKGppdCwgcGFyYW1zLCB0aGlzKTsKKyAgICAgICAgICAgICAgICAgICAg
aGFuZGxlLT5nZW5lcmF0ZShqaXQsIHBhcmFtcywgdGhpcyk7CiAgICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6Q2FsbCBjYWxsID0gaml0LnRocmVhZFNhZmVQYXRjaGFibGVOZWFyQ2Fs
bCgpOwogICAgICAgICAgICAgICAgICAgICBqaXQuYWRkTGlua1Rhc2soW3VubGlua2VkV2FzbVRv
V2FzbUNhbGxzLCBjYWxsLCBmdW5jdGlvbkluZGV4XSAoTGlua0J1ZmZlciYgbGlua0J1ZmZlcikg
ewogICAgICAgICAgICAgICAgICAgICAgICAgdW5saW5rZWRXYXNtVG9XYXNtQ2FsbHMtPmFwcGVu
ZCh7IGxpbmtCdWZmZXIubG9jYXRpb25PZk5lYXJDYWxsPFdhc21FbnRyeVB0clRhZz4oY2FsbCks
IGZ1bmN0aW9uSW5kZXggfSk7CkBAIC0zMDEzLDcgKzMwMTEsNyBAQCBhdXRvIEIzSVJHZW5lcmF0
b3I6OmFkZENhbGwodWludDMyX3QgZnVuCiAgICAgICAgICAgICBMb2FkLCBwb2ludGVyVHlwZSgp
LCBvcmlnaW4oKSwgaW5zdGFuY2VWYWx1ZSgpLCBzYWZlQ2FzdDxpbnQzMl90PihJbnN0YW5jZTo6
b2Zmc2V0T2ZXYXNtVG9FbWJlZGRlclN0dWIoZnVuY3Rpb25JbmRleCkpKTsKIAogICAgICAgICBW
YWx1ZSogZW1iZWRkZXJDYWxsUmVzdWx0ID0gY3JlYXRlQ2FsbFBhdGNocG9pbnQoaXNFbWJlZGRl
ckJsb2NrLCBvcmlnaW4oKSwgc2lnbmF0dXJlLCBhcmdzLAotICAgICAgICAgICAgc2NvcGVkTGFt
YmRhUmVmPHZvaWQoUGF0Y2hwb2ludFZhbHVlKik+KFs9XSAoUGF0Y2hwb2ludFZhbHVlKiBwYXRj
aHBvaW50KSAtPiB2b2lkIHsKKyAgICAgICAgICAgIHNjb3BlZExhbWJkYVJlZjx2b2lkKFBhdGNo
cG9pbnRWYWx1ZSosIEJveDxQYXRjaHBvaW50RXhjZXB0aW9uSGFuZGxlPik+KFs9XSAoUGF0Y2hw
b2ludFZhbHVlKiBwYXRjaHBvaW50LCBCb3g8UGF0Y2hwb2ludEV4Y2VwdGlvbkhhbmRsZT4gaGFu
ZGxlKSAtPiB2b2lkIHsKICAgICAgICAgICAgICAgICBwYXRjaHBvaW50LT5lZmZlY3RzLndyaXRl
c1Bpbm5lZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgcGF0Y2hwb2ludC0+ZWZmZWN0cy5yZWFk
c1Bpbm5lZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgcGF0Y2hwb2ludC0+YXBwZW5kKGp1bXBE
ZXN0aW5hdGlvbiwgVmFsdWVSZXA6OlNvbWVSZWdpc3Rlcik7CkBAIC0zMDIxLDEwICszMDE5LDkg
QEAgYXV0byBCM0lSR2VuZXJhdG9yOjphZGRDYWxsKHVpbnQzMl90IGZ1bgogICAgICAgICAgICAg
ICAgIC8vIFdlIHBlc3NpbWlzdGljYWxseSBhc3N1bWUgd2UgY291bGQgYmUgY2FsbGluZyB0byBz
b21ldGhpbmcgdGhhdCBpcyBib3VuZHMgY2hlY2tpbmcuCiAgICAgICAgICAgICAgICAgLy8gRklY
TUU6IFdlIHNob3VsZG4ndCBoYXZlIHRvIGRvIHRoaXM6IGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzIxODEKICAgICAgICAgICAgICAgICBwYXRjaHBvaW50LT5jbG9i
YmVyTGF0ZShQaW5uZWRSZWdpc3RlckluZm86OmdldCgpLnRvU2F2ZShNZW1vcnlNb2RlOjpCb3Vu
ZHNDaGVja2luZykpOwotICAgICAgICAgICAgICAgIFBhdGNocG9pbnRFeGNlcHRpb25IYW5kbGUg
aGFuZGxlID0gcHJlcGFyZVBhdGNocG9pbnRGb3JFeGNlcHRpb25zKGlzRW1iZWRkZXJCbG9jaywg
cGF0Y2hwb2ludCk7CiAgICAgICAgICAgICAgICAgcGF0Y2hwb2ludC0+c2V0R2VuZXJhdG9yKFt0
aGlzLCBoYW5kbGUsIHJldHVyblR5cGVdIChDQ2FsbEhlbHBlcnMmIGppdCwgY29uc3QgQjM6OlN0
YWNrbWFwR2VuZXJhdGlvblBhcmFtcyYgcGFyYW1zKSB7CiAgICAgICAgICAgICAgICAgICAgIEFs
bG93TWFjcm9TY3JhdGNoUmVnaXN0ZXJVc2FnZSBhbGxvd1NjcmF0Y2goaml0KTsKLSAgICAgICAg
ICAgICAgICAgICAgaGFuZGxlLmdlbmVyYXRlKGppdCwgcGFyYW1zLCB0aGlzKTsKKyAgICAgICAg
ICAgICAgICAgICAgaGFuZGxlLT5nZW5lcmF0ZShqaXQsIHBhcmFtcywgdGhpcyk7CiAgICAgICAg
ICAgICAgICAgICAgIGppdC5jYWxsKHBhcmFtc1twYXJhbXMucHJvYygpLnJlc3VsdENvdW50KHJl
dHVyblR5cGUpXS5ncHIoKSwgV2FzbUVudHJ5UHRyVGFnKTsKICAgICAgICAgICAgICAgICB9KTsK
ICAgICAgICAgICAgIH0pKTsKQEAgLTMwNDUsMTcgKzMwNDIsMTYgQEAgYXV0byBCM0lSR2VuZXJh
dG9yOjphZGRDYWxsKHVpbnQzMl90IGZ1bgogICAgIH0gZWxzZSB7CiAKICAgICAgICAgVmFsdWUq
IHBhdGNoID0gY3JlYXRlQ2FsbFBhdGNocG9pbnQobV9jdXJyZW50QmxvY2ssIG9yaWdpbigpLCBz
aWduYXR1cmUsIGFyZ3MsCi0gICAgICAgICAgICBzY29wZWRMYW1iZGFSZWY8dm9pZChQYXRjaHBv
aW50VmFsdWUqKT4oWz1dIChQYXRjaHBvaW50VmFsdWUqIHBhdGNocG9pbnQpIC0+IHZvaWQgewor
ICAgICAgICAgICAgc2NvcGVkTGFtYmRhUmVmPHZvaWQoUGF0Y2hwb2ludFZhbHVlKiwgQm94PFBh
dGNocG9pbnRFeGNlcHRpb25IYW5kbGU+KT4oWz1dIChQYXRjaHBvaW50VmFsdWUqIHBhdGNocG9p
bnQsIEJveDxQYXRjaHBvaW50RXhjZXB0aW9uSGFuZGxlPiBoYW5kbGUpIC0+IHZvaWQgewogICAg
ICAgICAgICAgICAgIHBhdGNocG9pbnQtPmVmZmVjdHMud3JpdGVzUGlubmVkID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICBwYXRjaHBvaW50LT5lZmZlY3RzLnJlYWRzUGlubmVkID0gdHJ1ZTsKIAog
ICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gY2xvYmJlciB0aGUgc2l6ZSByZWdpc3RlciBz
aW5jZSB0aGUgTExJbnQgYWx3YXlzIGJvdW5kcyBjaGVja3MKICAgICAgICAgICAgICAgICBpZiAo
bV9tb2RlID09IE1lbW9yeU1vZGU6OlNpZ25hbGluZyB8fCBtX2luZm8ubWVtb3J5LmlzU2hhcmVk
KCkpCiAgICAgICAgICAgICAgICAgICAgIHBhdGNocG9pbnQtPmNsb2JiZXJMYXRlKFJlZ2lzdGVy
U2V0IHsgUGlubmVkUmVnaXN0ZXJJbmZvOjpnZXQoKS5ib3VuZHNDaGVja2luZ1NpemVSZWdpc3Rl
ciB9KTsKLSAgICAgICAgICAgICAgICBQYXRjaHBvaW50RXhjZXB0aW9uSGFuZGxlIGhhbmRsZSA9
IHByZXBhcmVQYXRjaHBvaW50Rm9yRXhjZXB0aW9ucyhtX2N1cnJlbnRCbG9jaywgcGF0Y2hwb2lu
dCk7CiAgICAgICAgICAgICAgICAgcGF0Y2hwb2ludC0+c2V0R2VuZXJhdG9yKFt0aGlzLCBoYW5k
bGUsIHVubGlua2VkV2FzbVRvV2FzbUNhbGxzLCBmdW5jdGlvbkluZGV4XSAoQ0NhbGxIZWxwZXJz
JiBqaXQsIGNvbnN0IEIzOjpTdGFja21hcEdlbmVyYXRpb25QYXJhbXMmIHBhcmFtcykgewogICAg
ICAgICAgICAgICAgICAgICBBbGxvd01hY3JvU2NyYXRjaFJlZ2lzdGVyVXNhZ2UgYWxsb3dTY3Jh
dGNoKGppdCk7Ci0gICAgICAgICAgICAgICAgICAgIGhhbmRsZS5nZW5lcmF0ZShqaXQsIHBhcmFt
cywgdGhpcyk7CisgICAgICAgICAgICAgICAgICAgIGhhbmRsZS0+Z2VuZXJhdGUoaml0LCBwYXJh
bXMsIHRoaXMpOwogICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkNhbGwgY2FsbCA9
IGppdC50aHJlYWRTYWZlUGF0Y2hhYmxlTmVhckNhbGwoKTsKICAgICAgICAgICAgICAgICAgICAg
aml0LmFkZExpbmtUYXNrKFt1bmxpbmtlZFdhc21Ub1dhc21DYWxscywgY2FsbCwgZnVuY3Rpb25J
bmRleF0gKExpbmtCdWZmZXImIGxpbmtCdWZmZXIpIHsKICAgICAgICAgICAgICAgICAgICAgICAg
IHVubGlua2VkV2FzbVRvV2FzbUNhbGxzLT5hcHBlbmQoeyBsaW5rQnVmZmVyLmxvY2F0aW9uT2ZO
ZWFyQ2FsbDxXYXNtRW50cnlQdHJUYWc+KGNhbGwpLCBmdW5jdGlvbkluZGV4IH0pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>