<?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>171349</bug_id>
          
          <creation_ts>2017-04-26 16:09:49 -0700</creation_ts>
          <short_desc>Print Wasm function index in stack trace</short_desc>
          <delta_ts>2017-04-26 22:27: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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>171263</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1301813</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-04-26 16:09:49 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301859</commentid>
    <comment_count>1</comment_count>
      <attachid>308311</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-04-26 17:21:06 -0700</bug_when>
    <thetext>Created attachment 308311
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301877</commentid>
    <comment_count>2</comment_count>
      <attachid>308311</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-04-26 18:04:52 -0700</bug_when>
    <thetext>Comment on attachment 308311
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301888</commentid>
    <comment_count>3</comment_count>
      <attachid>308319</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-04-26 18:59:24 -0700</bug_when>
    <thetext>Created attachment 308319
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301926</commentid>
    <comment_count>4</comment_count>
      <attachid>308319</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-26 20:38:15 -0700</bug_when>
    <thetext>Comment on attachment 308319
patch for landing

Clearing flags on attachment: 308319

Committed r215854: &lt;http://trac.webkit.org/changeset/215854&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301927</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-26 20:38:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308311</attachid>
            <date>2017-04-26 17:21:06 -0700</date>
            <delta_ts>2017-04-26 18:59:24 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>15086</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTU4NDYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIwIEBACisyMDE3LTA0LTI2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFByaW50IFdhc20gZnVuY3Rpb24gaW5kZXggaW4gc3RhY2sgdHJhY2UK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTM0OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2FzbS9m
dW5jdGlvbi10ZXN0cy9zdGFjay10cmFjZS5qczogQWRkZWQuCisgICAgICAgIChpbXBvcnQuQnVp
bGRlci5mcm9tLnN0cmluZ19hcHBlYXJlZF9oZXJlLmFzc2VydCk6CisgICAgICAgIChsZXQuaW1w
KToKKyAgICAgICAgKiB3YXNtL2Z1bmN0aW9uLXRlc3RzL3RyYXAtYWZ0ZXItY3Jvc3MtaW5zdGFu
Y2UtY2FsbC5qczoKKyAgICAgICAgKHdhc21GcmFtZUNvdW50RnJvbUVycm9yKToKKyAgICAgICAg
KiB3YXNtL2Z1bmN0aW9uLXRlc3RzL3RyYXAtbG9hZC0yLmpzOgorICAgICAgICAod2FzbUZyYW1l
Q291bnRGcm9tRXJyb3IpOgorICAgICAgICAqIHdhc20vZnVuY3Rpb24tdGVzdHMvdHJhcC1sb2Fk
LmpzOgorICAgICAgICAod2FzbUZyYW1lQ291bnRGcm9tRXJyb3IpOgorCiAyMDE3LTA0LTI2ICBL
ZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkFzc2Vt
Ymx5OiBJbXBsZW1lbnQgdGllciB1cApJbmRleDogSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3Rz
L3N0YWNrLXRyYWNlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvd2FzbS9mdW5jdGlvbi10ZXN0
cy9zdGFjay10cmFjZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3dhc20vZnVuY3Rpb24t
dGVzdHMvc3RhY2stdHJhY2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAoraW1w
b3J0IEJ1aWxkZXIgZnJvbSAnLi4vQnVpbGRlci5qcycKKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsK
KyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIik7Cit9CisKK2NvbnN0
IGJ1aWxkZXIgPSAobmV3IEJ1aWxkZXIoKSkKKyAgICAuVHlwZSgpLkVuZCgpCisgICAgLkltcG9y
dCgpCisgICAgICAgIC5GdW5jdGlvbigiaW1wIiwgImYiLCB7IHBhcmFtczogW10sIHJldDogInZv
aWQiIH0pCisgICAgLkVuZCgpCisgICAgLkZ1bmN0aW9uKCkuRW5kKCkKKyAgICAuRXhwb3J0KCku
RnVuY3Rpb24oImVudHJ5IikuRW5kKCkKKyAgICAuQ29kZSgpCisgICAgICAgICAvLyBpZHggMQor
ICAgICAgICAuRnVuY3Rpb24oImVudHJ5Iiwge3BhcmFtczogW119KQorICAgICAgICAgICAgLkNh
bGwoMykKKyAgICAgICAgLkVuZCgpCisgICAgICAgIC8vIGlkeCAyCisgICAgICAgIC5GdW5jdGlv
bih7cGFyYW1zOiBbXX0pCisgICAgICAgICAgICAuQ2FsbCg0KQorICAgICAgICAuRW5kKCkKKyAg
ICAgICAgLy8gaWR4IDMKKyAgICAgICAgLkZ1bmN0aW9uKHtwYXJhbXM6IFtdfSkKKyAgICAgICAg
ICAgIC5DYWxsKDIpCisgICAgICAgIC5FbmQoKQorICAgICAgICAvLyBpZHggNAorICAgICAgICAu
RnVuY3Rpb24oe3BhcmFtczogW119KQorICAgICAgICAgICAgLkNhbGwoMCkKKyAgICAgICAgLkVu
ZCgpCisgICAgLkVuZCgpOworCitsZXQgc3RhY2t0cmFjZTsKK2xldCBpbXAgPSAoKSA9PiB7Cisg
ICAgc3RhY2t0cmFjZSA9IChuZXcgRXJyb3IpLnN0YWNrOworfQorCisKK2NvbnN0IGJpbiA9IGJ1
aWxkZXIuV2ViQXNzZW1ibHkoKS5nZXQoKTsKK2NvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJs
eS5Nb2R1bGUoYmluKTsKK2xldCBpbnN0YW5jZSA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZSht
b2R1bGUsIHtpbXA6IHtmOiBpbXB9fSk7Cithc3NlcnQoIXN0YWNrdHJhY2UpOworaW5zdGFuY2Uu
ZXhwb3J0cy5lbnRyeSgpOworYXNzZXJ0KHN0YWNrdHJhY2UpOworc3RhY2t0cmFjZSA9IHN0YWNr
dHJhY2Uuc3BsaXQoIlxuIik7Cithc3NlcnQoc3RhY2t0cmFjZVswXS5pbmRleE9mKCJpbXAiKSAh
PT0gLTEpOyAvLyB0aGUgYXJyb3cgZnVuY3Rpb24gaW1wb3J0IG5hbWVkICJpbXAiLgorYXNzZXJ0
KHN0YWNrdHJhY2VbMV0gPT09ICJ3YXNtIGZ1bmN0aW9uQFt3YXNtIGNvZGVdIik7IC8vIHRoZSB3
YXNtLT5qcyBzdHViCithc3NlcnQoc3RhY2t0cmFjZVsyXSA9PT0gIndhc20gZnVuY3Rpb24gaW5k
ZXg6IDRAW3dhc20gY29kZV0iKTsKK2Fzc2VydChzdGFja3RyYWNlWzNdID09PSAid2FzbSBmdW5j
dGlvbiBpbmRleDogMkBbd2FzbSBjb2RlXSIpOworYXNzZXJ0KHN0YWNrdHJhY2VbNF0gPT09ICJ3
YXNtIGZ1bmN0aW9uIGluZGV4OiAzQFt3YXNtIGNvZGVdIik7Cithc3NlcnQoc3RhY2t0cmFjZVs1
XSA9PT0gIndhc20gZnVuY3Rpb24gaW5kZXg6IDFAW3dhc20gY29kZV0iKTsKK2Fzc2VydChzdGFj
a3RyYWNlWzZdID09PSAid2FzbSBmdW5jdGlvbkBbd2FzbSBjb2RlXSIpOyAvLyB3YXNtIGVudHJ5
CkluZGV4OiBKU1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvdHJhcC1hZnRlci1jcm9zcy1pbnN0
YW5jZS1jYWxsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvd2FzbS9mdW5jdGlvbi10ZXN0cy90
cmFwLWFmdGVyLWNyb3NzLWluc3RhbmNlLWNhbGwuanMJKHJldmlzaW9uIDIxNTgzNikKKysrIEpT
VGVzdHMvd2FzbS9mdW5jdGlvbi10ZXN0cy90cmFwLWFmdGVyLWNyb3NzLWluc3RhbmNlLWNhbGwu
anMJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgbGV0IGZvbzIgPSBuZXcgV2ViQXNz
ZW1ibHkuSW5zdGFuY2UobW9kdQogCiAKIGZ1bmN0aW9uIHdhc21GcmFtZUNvdW50RnJvbUVycm9y
KGUpIHsKLSAgICBsZXQgc3RhY2tGcmFtZXMgPSBlLnN0YWNrLnNwbGl0KCJcbiIpLmZpbHRlcigo
cykgPT4gcy5pbmRleE9mKCI8d2FzbT5AW3dhc20gY29kZV0iKSAhPT0gLTEpOworICAgIGxldCBz
dGFja0ZyYW1lcyA9IGUuc3RhY2suc3BsaXQoIlxuIikuZmlsdGVyKChzKSA9PiBzLmluZGV4T2Yo
Indhc20gZnVuY3Rpb24iKSAhPT0gLTEpOwogICAgIHJldHVybiBzdGFja0ZyYW1lcy5sZW5ndGg7
CiB9CiAKSW5kZXg6IEpTVGVzdHMvd2FzbS9mdW5jdGlvbi10ZXN0cy90cmFwLWxvYWQtMi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvdHJhcC1sb2FkLTIuanMJ
KHJldmlzaW9uIDIxNTgzNikKKysrIEpTVGVzdHMvd2FzbS9mdW5jdGlvbi10ZXN0cy90cmFwLWxv
YWQtMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAsNyBAQCBjb25zdCBidWlsZGVyID0g
KG5ldyBCdWlsZGVyKCkpCiAgICAgLkVuZCgpOwogCiBmdW5jdGlvbiB3YXNtRnJhbWVDb3VudEZy
b21FcnJvcihlKSB7Ci0gICAgbGV0IHN0YWNrRnJhbWVzID0gZS5zdGFjay5zcGxpdCgiXG4iKS5m
aWx0ZXIoKHMpID0+IHMuaW5kZXhPZigiPHdhc20+QFt3YXNtIGNvZGVdIikgIT09IC0xKTsKKyAg
ICBsZXQgc3RhY2tGcmFtZXMgPSBlLnN0YWNrLnNwbGl0KCJcbiIpLmZpbHRlcigocykgPT4gcy5p
bmRleE9mKCJ3YXNtIGZ1bmN0aW9uIikgIT09IC0xKTsKICAgICByZXR1cm4gc3RhY2tGcmFtZXMu
bGVuZ3RoOwogfQogCkluZGV4OiBKU1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvdHJhcC1sb2Fk
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvd2FzbS9mdW5jdGlvbi10ZXN0cy90cmFwLWxvYWQu
anMJKHJldmlzaW9uIDIxNTgzNikKKysrIEpTVGVzdHMvd2FzbS9mdW5jdGlvbi10ZXN0cy90cmFw
LWxvYWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAgY29uc3QgbW9kdWxlID0g
bmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShiaQogY29uc3QgZm9vID0gbmV3IFdlYkFzc2VtYmx5Lklu
c3RhbmNlKG1vZHVsZSwge2E6IHtiOiBuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KHtpbml0aWFsOiBu
dW1QYWdlc30pfX0pLmV4cG9ydHMuZm9vOwogCiBmdW5jdGlvbiB3YXNtRnJhbWVDb3VudEZyb21F
cnJvcihlKSB7Ci0gICAgbGV0IHN0YWNrRnJhbWVzID0gZS5zdGFjay5zcGxpdCgiXG4iKS5maWx0
ZXIoKHMpID0+IHMuaW5kZXhPZigiPHdhc20+QFt3YXNtIGNvZGVdIikgIT09IC0xKTsKKyAgICBs
ZXQgc3RhY2tGcmFtZXMgPSBlLnN0YWNrLnNwbGl0KCJcbiIpLmZpbHRlcigocykgPT4gcy5pbmRl
eE9mKCJ3YXNtIGZ1bmN0aW9uIikgIT09IC0xKTsKICAgICByZXR1cm4gc3RhY2tGcmFtZXMubGVu
Z3RoOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTgzNikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSw0MiBAQAorMjAxNy0wNC0yNiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4K
KworICAgICAgICBQcmludCBXYXNtIGZ1bmN0aW9uIGluZGV4IGluIHN0YWNrIHRyYWNlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzEzNDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIHBy
aW50cyBhIENhbGxlZSdzIGluZGV4IGluIHRoZSBmdW5jdGlvbiBpbmRleAorICAgICAgICBzcGFj
ZSBpbiBFcnJvci5zdGFjay4KKworICAgICAgICBUaGlzIHdpbGwgbGVhZCB0byBzdGFjayB0cmFj
ZXMgdGhhdCBoYXZlIGxpbmVzIG9mIHRleHQgbGlrZToKKyAgICAgICAgd2FzbSBmdW5jdGlvbiBp
bmRleDogNEBbd2FzbSBjb2RlXQorCisgICAgICAgIFdlIGRvbid0IGFzY3JpYmUgaW5kaWNlcyB0
byBldmVyeXRoaW5nIGluIHdhc20uIFNwZWNpZmljYWxseSwgdGhlCisgICAgICAgIFdhc20tPkpT
IGNhbGwgc3R1YiBjYWxsZWUgZG9lcyBub3QgZ2V0IGEgbmFtZSwgYW5kIG5laXRoZXIgZG9lcwor
ICAgICAgICB0aGUgSlMgLT4gV2FzbSBlbnRyeXBvaW50LgorCisgICAgICAgICogaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlNDOjpHZXRTdGFja1RyYWNlRnVuY3Rvcjo6
b3BlcmF0b3IoKSk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6U3RhY2tWaXNpdG9yOjpyZWFkTm9uSW5saW5lZEZyYW1lKToKKyAgICAgICAg
KEpTQzo6U3RhY2tWaXNpdG9yOjpGcmFtZTo6ZnVuY3Rpb25OYW1lKToKKyAgICAgICAgKiBpbnRl
cnByZXRlci9TdGFja1Zpc2l0b3IuaDoKKyAgICAgICAgKEpTQzo6U3RhY2tWaXNpdG9yOjpGcmFt
ZTo6d2FzbUZ1bmN0aW9uSW5kZXgpOgorICAgICAgICAqIHJ1bnRpbWUvU3RhY2tGcmFtZS5jcHA6
CisgICAgICAgIChKU0M6OlN0YWNrRnJhbWU6OmZ1bmN0aW9uTmFtZSk6CisgICAgICAgICogcnVu
dGltZS9TdGFja0ZyYW1lLmg6CisgICAgICAgIChKU0M6OlN0YWNrRnJhbWU6OlN0YWNrRnJhbWUp
OgorICAgICAgICAoSlNDOjpTdGFja0ZyYW1lOjp3YXNtKToKKyAgICAgICAgKEpTQzo6U3RhY2tG
cmFtZTo6aGFzQnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAoSlNDOjpTdGFja0ZyYW1lOjpieXRl
Y29kZU9mZnNldCk6CisgICAgICAgICogd2FzbS9XYXNtQ2FsbGVlLmNwcDoKKyAgICAgICAgKEpT
Qzo6V2FzbTo6Q2FsbGVlOjpDYWxsZWUpOgorICAgICAgICAqIHdhc20vV2FzbUNhbGxlZS5oOgor
ICAgICAgICAoSlNDOjpXYXNtOjpDYWxsZWU6OmNyZWF0ZSk6CisgICAgICAgIChKU0M6Oldhc206
OkNhbGxlZTo6aW5kZXgpOgorICAgICAgICAqIHdhc20vV2FzbVBsYW5JbmxpbmVzLmg6CisgICAg
ICAgIChKU0M6Oldhc206OlBsYW46OmluaXRpYWxpemVDYWxsZWVzKToKKwogMjAxNy0wNC0yNiAg
Q2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtKU0NdIGZpeCBS
RVRVUk5fSUZfRVhDRVBUSU9OKCkgcGxhY2VtZW50IGluIG93blByb3BlcnR5S2V5cygpCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5j
cHAJKHJldmlzaW9uIDIxNTgzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9JbnRlcnByZXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3OSw5ICs0NzksMTAgQEAgcHVi
bGljOgogICAgICAgICB9CiAKICAgICAgICAgaWYgKG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFt
ZUNhcHR1cmUpIHsKLSAgICAgICAgICAgIGlmICh2aXNpdG9yLT5pc1dhc21GcmFtZSgpKQotICAg
ICAgICAgICAgICAgIG1fcmVzdWx0cy5hcHBlbmQoU3RhY2tGcmFtZTo6d2FzbSgpKTsKLSAgICAg
ICAgICAgIGVsc2UgaWYgKCEhdmlzaXRvci0+Y29kZUJsb2NrKCkgJiYgIXZpc2l0b3ItPmNvZGVC
bG9jaygpLT51bmxpbmtlZENvZGVCbG9jaygpLT5pc0J1aWx0aW5GdW5jdGlvbigpKSB7CisgICAg
ICAgICAgICBpZiAodmlzaXRvci0+aXNXYXNtRnJhbWUoKSkgeworICAgICAgICAgICAgICAgIHN0
ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHdhc21GdW5jdGlvbkluZGV4ID0gdmlzaXRvci0+d2FzbUZ1
bmN0aW9uSW5kZXgoKTsKKyAgICAgICAgICAgICAgICBtX3Jlc3VsdHMuYXBwZW5kKFN0YWNrRnJh
bWU6Ondhc20od2FzbUZ1bmN0aW9uSW5kZXggPyAqd2FzbUZ1bmN0aW9uSW5kZXggOiBTdGFja0Zy
YW1lOjppbnZhbGlkV2FzbUluZGV4KSk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKCEhdmlzaXRv
ci0+Y29kZUJsb2NrKCkgJiYgIXZpc2l0b3ItPmNvZGVCbG9jaygpLT51bmxpbmtlZENvZGVCbG9j
aygpLT5pc0J1aWx0aW5GdW5jdGlvbigpKSB7CiAgICAgICAgICAgICAgICAgbV9yZXN1bHRzLmFw
cGVuZCgKICAgICAgICAgICAgICAgICAgICAgU3RhY2tGcmFtZShtX3ZtLCB2aXNpdG9yLT5jYWxs
ZWUoKS5hc0NlbGwoKSwgdmlzaXRvci0+Y29kZUJsb2NrKCksIHZpc2l0b3ItPmJ5dGVjb2RlT2Zm
c2V0KCkpKTsKICAgICAgICAgICAgIH0gZWxzZSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcAkocmV2aXNpb24gMjE1ODM2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE2Myw2ICsxNjMsMTEgQEAgdm9pZCBTdGFja1Zpc2l0b3I6OnJl
YWROb25JbmxpbmVkRnJhbWUoQwogICAgICAgICBtX2ZyYW1lLm1faXNXYXNtRnJhbWUgPSB0cnVl
OwogICAgICAgICBtX2ZyYW1lLm1fY29kZUJsb2NrID0gbnVsbHB0cjsKICAgICAgICAgbV9mcmFt
ZS5tX2J5dGVjb2RlT2Zmc2V0ID0gMDsKKyNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpCisgICAgICAg
IENhbGxlZUJpdHMgYml0cyA9IGNhbGxGcmFtZS0+Y2FsbGVlKCk7CisgICAgICAgIGlmIChiaXRz
LmlzV2FzbSgpKQorICAgICAgICAgICAgbV9mcmFtZS5tX3dhc21GdW5jdGlvbkluZGV4ID0gYml0
cy5hc1dhc21DYWxsZWUoKS0+aW5kZXgoKTsKKyNlbmRpZgogICAgIH0gZWxzZSB7CiAgICAgICAg
IG1fZnJhbWUubV9jb2RlQmxvY2sgPSBjYWxsRnJhbWUtPmNvZGVCbG9jaygpOwogICAgICAgICBt
X2ZyYW1lLm1fYnl0ZWNvZGVPZmZzZXQgPSAhbV9mcmFtZS5jb2RlQmxvY2soKSA/IDAKQEAgLTI3
OCw3ICsyODMsMTAgQEAgU3RyaW5nIFN0YWNrVmlzaXRvcjo6RnJhbWU6OmZ1bmN0aW9uTmFtZQog
CiAgICAgc3dpdGNoIChjb2RlVHlwZSgpKSB7CiAgICAgY2FzZSBDb2RlVHlwZTo6V2FzbToKLSAg
ICAgICAgdHJhY2VMaW5lID0gQVNDSUlMaXRlcmFsKCJ3YXNtIGNvZGUiKTsKKyAgICAgICAgaWYg
KG1fd2FzbUZ1bmN0aW9uSW5kZXgpCisgICAgICAgICAgICB0cmFjZUxpbmUgPSBtYWtlU3RyaW5n
KCJ3YXNtIGZ1bmN0aW9uIGluZGV4OiAiLCBTdHJpbmc6Om51bWJlcigqbV93YXNtRnVuY3Rpb25J
bmRleCkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0cmFjZUxpbmUgPSBBU0NJSUxpdGVy
YWwoIndhc20gZnVuY3Rpb24iKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb2RlVHlwZTo6
RXZhbDoKICAgICAgICAgdHJhY2VMaW5lID0gQVNDSUlMaXRlcmFsKCJldmFsIGNvZGUiKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9y
LmgJKHJldmlzaW9uIDIxNTgzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9TdGFja1Zpc2l0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsMTEgQEAgcHVibGlj
OgogICAgICAgICBib29sIGlzTmF0aXZlRnJhbWUoKSBjb25zdCB7IHJldHVybiAhY29kZUJsb2Nr
KCkgJiYgIWlzV2FzbUZyYW1lKCk7IH0KICAgICAgICAgYm9vbCBpc0lubGluZWRGcmFtZSgpIGNv
bnN0IHsgcmV0dXJuICEhaW5saW5lQ2FsbEZyYW1lKCk7IH0KICAgICAgICAgYm9vbCBpc1dhc21G
cmFtZSgpIGNvbnN0OworICAgICAgICBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBjb25zdCB3YXNt
RnVuY3Rpb25JbmRleCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChpc1dhc21GcmFt
ZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBtX3dhc21GdW5jdGlvbkluZGV4OworICAgICAgICB9
CiAKICAgICAgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIGZ1bmN0aW9uTmFtZSgpIGNvbnN0
OwogICAgICAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJpbmcgc291cmNlVVJMKCkgY29uc3Q7CkBA
IC0xMTYsNiArMTIxLDcgQEAgcHVibGljOgogICAgICAgICBzaXplX3QgbV9pbmRleDsKICAgICAg
ICAgc2l6ZV90IG1fYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM7CiAgICAgICAgIHVuc2lnbmVk
IG1fYnl0ZWNvZGVPZmZzZXQ7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IG1fd2Fz
bUZ1bmN0aW9uSW5kZXg7CiAgICAgICAgIGJvb2wgbV9jYWxsZXJJc1ZNRW50cnlGcmFtZSA6IDE7
CiAgICAgICAgIGJvb2wgbV9pc1dhc21GcmFtZSA6IDE7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0YWNrRnJhbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0YWNrRnJhbWUuY3BwCShyZXZpc2lvbiAyMTU4MzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdGFja0ZyYW1lLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTcsOCArNTcsMTEgQEAgU3RyaW5nIFN0YWNrRnJhbWU6OnNvdXJjZVVSTCgpIGNvbnN0
CiAKIFN0cmluZyBTdGFja0ZyYW1lOjpmdW5jdGlvbk5hbWUoVk0mIHZtKSBjb25zdAogewotICAg
IGlmIChtX2lzV2FzbUZyYW1lKQotICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCI8d2FzbT4i
KTsKKyAgICBpZiAobV9pc1dhc21GcmFtZSkgeworICAgICAgICBpZiAobV93YXNtRnVuY3Rpb25J
bmRleCA9PSBpbnZhbGlkV2FzbUluZGV4KQorICAgICAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJh
bCgid2FzbSBmdW5jdGlvbiIpOworICAgICAgICByZXR1cm4gbWFrZVN0cmluZygid2FzbSBmdW5j
dGlvbiBpbmRleDogIiwgU3RyaW5nOjpudW1iZXIobV93YXNtRnVuY3Rpb25JbmRleCkpOworICAg
IH0KIAogICAgIGlmIChtX2NvZGVCbG9jaykgewogICAgICAgICBzd2l0Y2ggKG1fY29kZUJsb2Nr
LT5jb2RlVHlwZSgpKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdGFj
a0ZyYW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Rh
Y2tGcmFtZS5oCShyZXZpc2lvbiAyMTU4MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdGFja0ZyYW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDcgQEAgcHVibGlj
OgogCiAgICAgU3RhY2tGcmFtZShWTSYgdm0sIEpTQ2VsbCogY2FsbGVlKQogICAgICAgICA6IG1f
Y2FsbGVlKHZtLCBjYWxsZWUpCisgICAgICAgICwgbV9ieXRlY29kZU9mZnNldChVSU5UX01BWCkK
ICAgICB7IH0KIAogICAgIFN0YWNrRnJhbWUoVk0mIHZtLCBKU0NlbGwqIGNhbGxlZSwgQ29kZUJs
b2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0KQpAQCAtNDcsMTAgKzQ4LDEy
IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2J5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlT2Zmc2V0KQog
ICAgIHsgfQogCi0gICAgc3RhdGljIFN0YWNrRnJhbWUgd2FzbSgpCisgICAgc3RhdGljIGNvbnN0
ZXhwciB1bnNpZ25lZCBpbnZhbGlkV2FzbUluZGV4ID0gVUlOVF9NQVg7CisgICAgc3RhdGljIFN0
YWNrRnJhbWUgd2FzbSh1bnNpZ25lZCBpbmRleCkKICAgICB7CiAgICAgICAgIFN0YWNrRnJhbWUg
cmVzdWx0OwogICAgICAgICByZXN1bHQubV9pc1dhc21GcmFtZSA9IHRydWU7CisgICAgICAgIHJl
c3VsdC5tX3dhc21GdW5jdGlvbkluZGV4ID0gaW5kZXg7CiAgICAgICAgIHJldHVybiByZXN1bHQ7
CiAgICAgfQogCkBAIC02MiwxMCArNjUsMTAgQEAgcHVibGljOgogICAgIFN0cmluZyBzb3VyY2VV
UkwoKSBjb25zdDsKICAgICBTdHJpbmcgdG9TdHJpbmcoVk0mKSBjb25zdDsKIAotICAgIGJvb2wg
aGFzQnl0ZWNvZGVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2J5dGVjb2RlT2Zmc2V0ICE9IFVJ
TlRfTUFYOyB9CisgICAgYm9vbCBoYXNCeXRlY29kZU9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1f
Ynl0ZWNvZGVPZmZzZXQgIT0gVUlOVF9NQVggJiYgIW1faXNXYXNtRnJhbWU7IH0KICAgICB1bnNp
Z25lZCBieXRlY29kZU9mZnNldCgpCiAgICAgewotICAgICAgICBBU1NFUlQobV9ieXRlY29kZU9m
ZnNldCAhPSBVSU5UX01BWCk7CisgICAgICAgIEFTU0VSVChoYXNCeXRlY29kZU9mZnNldCgpKTsK
ICAgICAgICAgcmV0dXJuIG1fYnl0ZWNvZGVPZmZzZXQ7CiAgICAgfQogCkBAIC03Myw3ICs3Niwx
MCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFN0cm9uZzxKU0NlbGw+IG1fY2FsbGVlIHsgfTsK
ICAgICBTdHJvbmc8Q29kZUJsb2NrPiBtX2NvZGVCbG9jayB7IH07Ci0gICAgdW5zaWduZWQgbV9i
eXRlY29kZU9mZnNldCB7IFVJTlRfTUFYIH07CisgICAgdW5pb24geworICAgICAgICB1bnNpZ25l
ZCBtX2J5dGVjb2RlT2Zmc2V0OworICAgICAgICB1bnNpZ25lZCBtX3dhc21GdW5jdGlvbkluZGV4
OworICAgIH07CiAgICAgYm9vbCBtX2lzV2FzbUZyYW1lIHsgZmFsc2UgfTsKIH07CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxsZWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxsZWUuY3BwCShyZXZpc2lvbiAyMTU4
MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ2FsbGVlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzIsOCArMzIsOSBAQAogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIFdh
c20gewogCi1DYWxsZWU6OkNhbGxlZShFbnRyeXBvaW50JiYgZW50cnlwb2ludCkKK0NhbGxlZTo6
Q2FsbGVlKEVudHJ5cG9pbnQmJiBlbnRyeXBvaW50LCB1bnNpZ25lZCBpbmRleCkKICAgICA6IG1f
ZW50cnlwb2ludChXVEZNb3ZlKGVudHJ5cG9pbnQpKQorICAgICwgbV9pbmRleChpbmRleCkKIHsK
ICAgICByZWdpc3RlckNvZGUobV9lbnRyeXBvaW50LmNvbXBpbGF0aW9uLT5jb2RlUmVmKCkuZXhl
Y3V0YWJsZU1lbW9yeSgpLT5zdGFydCgpLCBtX2VudHJ5cG9pbnQuY29tcGlsYXRpb24tPmNvZGVS
ZWYoKS5leGVjdXRhYmxlTWVtb3J5KCktPmVuZCgpKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dhc21DYWxsZWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9XYXNtQ2FsbGVlLmgJKHJldmlzaW9uIDIxNTgzNikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dhc21DYWxsZWUuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsMjAgKzM3
LDMwIEBAIGNsYXNzIENhbGxlZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnQKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKIAotICAgIHN0YXRpYyBSZWY8Q2FsbGVlPiBj
cmVhdGUoV2FzbTo6RW50cnlwb2ludCYmIGVudHJ5cG9pbnQpCisgICAgLy8gV2UgdXNlIHRoaXMg
d2hlbiB3ZSdyZSB0aGUgSlMgZW50cnlwb2ludCwgd2UgZG9uJ3QgYXNjcmliZSBhbiBpbmRleCB0
byB0aG9zZS4KKyAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIGludmFsaWRDYWxsZWVJbmRl
eCA9IFVJTlRfTUFYOworCisgICAgc3RhdGljIFJlZjxDYWxsZWU+IGNyZWF0ZShXYXNtOjpFbnRy
eXBvaW50JiYgZW50cnlwb2ludCwgdW5zaWduZWQgaW5kZXggPSBpbnZhbGlkQ2FsbGVlSW5kZXgp
CiAgICAgewotICAgICAgICBDYWxsZWUqIGNhbGxlZSA9IG5ldyBDYWxsZWUoV1RGTW92ZShlbnRy
eXBvaW50KSk7CisgICAgICAgIENhbGxlZSogY2FsbGVlID0gbmV3IENhbGxlZShXVEZNb3ZlKGVu
dHJ5cG9pbnQpLCBpbmRleCk7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqY2FsbGVlKTsKICAg
ICB9CiAKICAgICB2b2lkKiBlbnRyeXBvaW50KCkgeyByZXR1cm4gbV9lbnRyeXBvaW50LmNvbXBp
bGF0aW9uLT5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsgfQogCiAgICAgUmVnaXN0ZXJBdE9m
ZnNldExpc3QqIGNhbGxlZVNhdmVSZWdpc3RlcnMoKSB7IHJldHVybiAmbV9lbnRyeXBvaW50LmNh
bGxlZVNhdmVSZWdpc3RlcnM7IH0KKyAgICBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBpbmRleCgp
IGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9pbmRleCA9PSBpbnZhbGlkQ2FsbGVlSW5kZXgp
CisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICByZXR1cm4gbV9pbmRl
eDsKKyAgICB9CiAKIHByaXZhdGU6Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgQ2FsbGVlKFdhc206
OkVudHJ5cG9pbnQmJik7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgQ2FsbGVlKFdhc206OkVudHJ5
cG9pbnQmJiwgdW5zaWduZWQgaW5kZXgpOwogCiAgICAgV2FzbTo6RW50cnlwb2ludCBtX2VudHJ5
cG9pbnQ7CisgICAgdW5zaWduZWQgbV9pbmRleDsKIH07CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlND
OjpXYXNtCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGxhbklubGluZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGxhbklubGlu
ZXMuaAkocmV2aXNpb24gMjE1ODM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bVBsYW5JbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDcgQEAgdm9pZCBQbGFu
Ojppbml0aWFsaXplQ2FsbGVlcyhjb25zdCBGdW5jdAogICAgICAgICBSZWY8V2FzbTo6Q2FsbGVl
PiBqc0VudHJ5cG9pbnRDYWxsZWUgPSBXYXNtOjpDYWxsZWU6OmNyZWF0ZShXVEZNb3ZlKGZ1bmN0
aW9uLT5qc1RvV2FzbUVudHJ5cG9pbnQpKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OnJlcGF0
Y2hQb2ludGVyKGZ1bmN0aW9uLT5qc1RvV2FzbUNhbGxlZU1vdmVMb2NhdGlvbiwgQ2FsbGVlQml0
czo6Ym94V2FzbShqc0VudHJ5cG9pbnRDYWxsZWUucHRyKCkpKTsKIAotICAgICAgICBSZWY8V2Fz
bTo6Q2FsbGVlPiB3YXNtRW50cnlwb2ludENhbGxlZSA9IFdhc206OkNhbGxlZTo6Y3JlYXRlKFdU
Rk1vdmUoZnVuY3Rpb24tPndhc21FbnRyeXBvaW50KSk7CisgICAgICAgIFJlZjxXYXNtOjpDYWxs
ZWU+IHdhc21FbnRyeXBvaW50Q2FsbGVlID0gV2FzbTo6Q2FsbGVlOjpjcmVhdGUoV1RGTW92ZShm
dW5jdGlvbi0+d2FzbUVudHJ5cG9pbnQpLCBpbnRlcm5hbEZ1bmN0aW9uSW5kZXggKyBtX21vZHVs
ZUluZm9ybWF0aW9uLT5pbXBvcnRGdW5jdGlvbkNvdW50KCkpOwogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6cmVwYXRjaFBvaW50ZXIoZnVuY3Rpb24tPndhc21DYWxsZWVNb3ZlTG9jYXRpb24sIENh
bGxlZUJpdHM6OmJveFdhc20od2FzbUVudHJ5cG9pbnRDYWxsZWUucHRyKCkpKTsKIAogICAgICAg
ICBjYWxsYmFjayhpbnRlcm5hbEZ1bmN0aW9uSW5kZXgsIFdURk1vdmUoanNFbnRyeXBvaW50Q2Fs
bGVlKSwgV1RGTW92ZSh3YXNtRW50cnlwb2ludENhbGxlZSkpOwo=
</data>
<flag name="review"
          id="329493"
          type_id="1"
          status="+"
          setter="jfbastien"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308319</attachid>
            <date>2017-04-26 18:59:24 -0700</date>
            <delta_ts>2017-04-26 20:38:15 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>16049</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTU4NTEpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIwIEBACisyMDE3LTA0LTI2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFByaW50IFdhc20gZnVuY3Rpb24gaW5kZXggaW4gc3RhY2sgdHJhY2UK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTM0OQor
CisgICAgICAgIFJldmlld2VkIGJ5IEpGIEJhc3RpZW4uCisKKyAgICAgICAgKiB3YXNtL2Z1bmN0
aW9uLXRlc3RzL3N0YWNrLXRyYWNlLmpzOiBBZGRlZC4KKyAgICAgICAgKGltcG9ydC5CdWlsZGVy
LmZyb20uc3RyaW5nX2FwcGVhcmVkX2hlcmUuYXNzZXJ0KToKKyAgICAgICAgKGxldC5pbXApOgor
ICAgICAgICAqIHdhc20vZnVuY3Rpb24tdGVzdHMvdHJhcC1hZnRlci1jcm9zcy1pbnN0YW5jZS1j
YWxsLmpzOgorICAgICAgICAod2FzbUZyYW1lQ291bnRGcm9tRXJyb3IpOgorICAgICAgICAqIHdh
c20vZnVuY3Rpb24tdGVzdHMvdHJhcC1sb2FkLTIuanM6CisgICAgICAgICh3YXNtRnJhbWVDb3Vu
dEZyb21FcnJvcik6CisgICAgICAgICogd2FzbS9mdW5jdGlvbi10ZXN0cy90cmFwLWxvYWQuanM6
CisgICAgICAgICh3YXNtRnJhbWVDb3VudEZyb21FcnJvcik6CisKIDIwMTctMDQtMjYgIEtlaXRo
IE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQXNzZW1ibHk6
IEltcGxlbWVudCB0aWVyIHVwCkluZGV4OiBKU1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvc3Rh
Y2stdHJhY2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL3N0
YWNrLXRyYWNlLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvd2FzbS9mdW5jdGlvbi10ZXN0
cy9zdGFjay10cmFjZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU3IEBACitpbXBvcnQg
QnVpbGRlciBmcm9tICcuLi9CdWlsZGVyLmpzJworCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAg
IGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworY29uc3QgYnVp
bGRlciA9IChuZXcgQnVpbGRlcigpKQorICAgIC5UeXBlKCkuRW5kKCkKKyAgICAuSW1wb3J0KCkK
KyAgICAgICAgLkZ1bmN0aW9uKCJpbXAiLCAiZiIsIHsgcGFyYW1zOiBbXSwgcmV0OiAidm9pZCIg
fSkKKyAgICAuRW5kKCkKKyAgICAuRnVuY3Rpb24oKS5FbmQoKQorICAgIC5FeHBvcnQoKS5GdW5j
dGlvbigiZW50cnkiKS5FbmQoKQorICAgIC5Db2RlKCkKKyAgICAgICAgIC8vIGlkeCAxCisgICAg
ICAgIC5GdW5jdGlvbigiZW50cnkiLCB7cGFyYW1zOiBbXX0pCisgICAgICAgICAgICAuQ2FsbCgz
KQorICAgICAgICAuRW5kKCkKKyAgICAgICAgLy8gaWR4IDIKKyAgICAgICAgLkZ1bmN0aW9uKHtw
YXJhbXM6IFtdfSkKKyAgICAgICAgICAgIC5DYWxsKDQpCisgICAgICAgIC5FbmQoKQorICAgICAg
ICAvLyBpZHggMworICAgICAgICAuRnVuY3Rpb24oe3BhcmFtczogW119KQorICAgICAgICAgICAg
LkNhbGwoMikKKyAgICAgICAgLkVuZCgpCisgICAgICAgIC8vIGlkeCA0CisgICAgICAgIC5GdW5j
dGlvbih7cGFyYW1zOiBbXX0pCisgICAgICAgICAgICAuQ2FsbCgwKQorICAgICAgICAuRW5kKCkK
KyAgICAuRW5kKCk7CisKK2xldCBzdGFja3RyYWNlOworbGV0IGltcCA9ICgpID0+IHsKKyAgICBz
dGFja3RyYWNlID0gKG5ldyBFcnJvcikuc3RhY2s7Cit9CisKKworY29uc3QgYmluID0gYnVpbGRl
ci5XZWJBc3NlbWJseSgpLmdldCgpOworY29uc3QgbW9kdWxlID0gbmV3IFdlYkFzc2VtYmx5Lk1v
ZHVsZShiaW4pOworbGV0IGluc3RhbmNlID0gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG1vZHVs
ZSwge2ltcDoge2Y6IGltcH19KTsKK2Fzc2VydCghc3RhY2t0cmFjZSk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBpbnN0YW5jZS5leHBvcnRzLmVudHJ5KCk7CisgICAg
YXNzZXJ0KHN0YWNrdHJhY2UpOworICAgIHN0YWNrdHJhY2UgPSBzdGFja3RyYWNlLnNwbGl0KCJc
biIpOworICAgIGFzc2VydChzdGFja3RyYWNlWzBdLmluZGV4T2YoImltcCIpICE9PSAtMSk7IC8v
IHRoZSBhcnJvdyBmdW5jdGlvbiBpbXBvcnQgbmFtZWQgImltcCIuCisgICAgYXNzZXJ0KHN0YWNr
dHJhY2VbMV0gPT09ICJ3YXNtIGZ1bmN0aW9uQFt3YXNtIGNvZGVdIik7IC8vIHRoZSB3YXNtLT5q
cyBzdHViCisgICAgYXNzZXJ0KHN0YWNrdHJhY2VbMl0gPT09ICJ3YXNtIGZ1bmN0aW9uIGluZGV4
OiA0QFt3YXNtIGNvZGVdIik7CisgICAgYXNzZXJ0KHN0YWNrdHJhY2VbM10gPT09ICJ3YXNtIGZ1
bmN0aW9uIGluZGV4OiAyQFt3YXNtIGNvZGVdIik7CisgICAgYXNzZXJ0KHN0YWNrdHJhY2VbNF0g
PT09ICJ3YXNtIGZ1bmN0aW9uIGluZGV4OiAzQFt3YXNtIGNvZGVdIik7CisgICAgYXNzZXJ0KHN0
YWNrdHJhY2VbNV0gPT09ICJ3YXNtIGZ1bmN0aW9uIGluZGV4OiAxQFt3YXNtIGNvZGVdIik7Cisg
ICAgYXNzZXJ0KHN0YWNrdHJhY2VbNl0gPT09ICJ3YXNtIGZ1bmN0aW9uQFt3YXNtIGNvZGVdIik7
IC8vIHdhc20gZW50cnkKKworICAgIHN0YWNrdHJhY2UgPSBudWxsOworfQpJbmRleDogSlNUZXN0
cy93YXNtL2Z1bmN0aW9uLXRlc3RzL3RyYXAtYWZ0ZXItY3Jvc3MtaW5zdGFuY2UtY2FsbC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvdHJhcC1hZnRlci1jcm9z
cy1pbnN0YW5jZS1jYWxsLmpzCShyZXZpc2lvbiAyMTU4NDYpCisrKyBKU1Rlc3RzL3dhc20vZnVu
Y3Rpb24tdGVzdHMvdHJhcC1hZnRlci1jcm9zcy1pbnN0YW5jZS1jYWxsLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC01Miw3ICs1Miw3IEBAIGxldCBmb28yID0gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNl
KG1vZHUKIAogCiBmdW5jdGlvbiB3YXNtRnJhbWVDb3VudEZyb21FcnJvcihlKSB7Ci0gICAgbGV0
IHN0YWNrRnJhbWVzID0gZS5zdGFjay5zcGxpdCgiXG4iKS5maWx0ZXIoKHMpID0+IHMuaW5kZXhP
ZigiPHdhc20+QFt3YXNtIGNvZGVdIikgIT09IC0xKTsKKyAgICBsZXQgc3RhY2tGcmFtZXMgPSBl
LnN0YWNrLnNwbGl0KCJcbiIpLmZpbHRlcigocykgPT4gcy5pbmRleE9mKCJ3YXNtIGZ1bmN0aW9u
IikgIT09IC0xKTsKICAgICByZXR1cm4gc3RhY2tGcmFtZXMubGVuZ3RoOwogfQogCkluZGV4OiBK
U1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvdHJhcC1sb2FkLTIuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL3RyYXAtbG9hZC0yLmpzCShyZXZpc2lvbiAyMTU4
NDYpCisrKyBKU1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvdHJhcC1sb2FkLTIuanMJKHdvcmtp
bmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAgY29uc3QgYnVpbGRlciA9IChuZXcgQnVpbGRlcigp
KQogICAgIC5FbmQoKTsKIAogZnVuY3Rpb24gd2FzbUZyYW1lQ291bnRGcm9tRXJyb3IoZSkgewot
ICAgIGxldCBzdGFja0ZyYW1lcyA9IGUuc3RhY2suc3BsaXQoIlxuIikuZmlsdGVyKChzKSA9PiBz
LmluZGV4T2YoIjx3YXNtPkBbd2FzbSBjb2RlXSIpICE9PSAtMSk7CisgICAgbGV0IHN0YWNrRnJh
bWVzID0gZS5zdGFjay5zcGxpdCgiXG4iKS5maWx0ZXIoKHMpID0+IHMuaW5kZXhPZigid2FzbSBm
dW5jdGlvbiIpICE9PSAtMSk7CiAgICAgcmV0dXJuIHN0YWNrRnJhbWVzLmxlbmd0aDsKIH0KIApJ
bmRleDogSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL3RyYXAtbG9hZC5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvdHJhcC1sb2FkLmpzCShyZXZpc2lvbiAy
MTU4NDYpCisrKyBKU1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvdHJhcC1sb2FkLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBAIGNvbnN0IG1vZHVsZSA9IG5ldyBXZWJBc3NlbWJs
eS5Nb2R1bGUoYmkKIGNvbnN0IGZvbyA9IG5ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShtb2R1bGUs
IHthOiB7YjogbmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7aW5pdGlhbDogbnVtUGFnZXN9KX19KS5l
eHBvcnRzLmZvbzsKIAogZnVuY3Rpb24gd2FzbUZyYW1lQ291bnRGcm9tRXJyb3IoZSkgewotICAg
IGxldCBzdGFja0ZyYW1lcyA9IGUuc3RhY2suc3BsaXQoIlxuIikuZmlsdGVyKChzKSA9PiBzLmlu
ZGV4T2YoIjx3YXNtPkBbd2FzbSBjb2RlXSIpICE9PSAtMSk7CisgICAgbGV0IHN0YWNrRnJhbWVz
ID0gZS5zdGFjay5zcGxpdCgiXG4iKS5maWx0ZXIoKHMpID0+IHMuaW5kZXhPZigid2FzbSBmdW5j
dGlvbiIpICE9PSAtMSk7CiAgICAgcmV0dXJuIHN0YWNrRnJhbWVzLmxlbmd0aDsKIH0KIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTU4NDYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDQgQEAKKzIw
MTctMDQtMjYgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgUHJp
bnQgV2FzbSBmdW5jdGlvbiBpbmRleCBpbiBzdGFjayB0cmFjZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMzQ5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgSkYgQmFzdGllbi4KKworICAgICAgICBUaGlzIHBhdGNoIHByaW50cyBhIENhbGxlZSdzIGlu
ZGV4IGluIHRoZSBmdW5jdGlvbiBpbmRleAorICAgICAgICBzcGFjZSBpbiBFcnJvci5zdGFjay4K
KworICAgICAgICBUaGlzIHdpbGwgbGVhZCB0byBzdGFjayB0cmFjZXMgdGhhdCBoYXZlIGxpbmVz
IG9mIHRleHQgbGlrZToKKyAgICAgICAgd2FzbSBmdW5jdGlvbiBpbmRleDogNEBbd2FzbSBjb2Rl
XQorCisgICAgICAgIFdlIGRvbid0IGFzY3JpYmUgaW5kaWNlcyB0byBldmVyeXRoaW5nIGluIHdh
c20uIFNwZWNpZmljYWxseSwgdGhlCisgICAgICAgIFdhc20tPkpTIGNhbGwgc3R1YiBjYWxsZWUg
ZG9lcyBub3QgZ2V0IGEgbmFtZSwgYW5kIG5laXRoZXIgZG9lcworICAgICAgICB0aGUgSlMgLT4g
V2FzbSBlbnRyeXBvaW50LgorCisgICAgICAgICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3Bw
OgorICAgICAgICAoSlNDOjpHZXRTdGFja1RyYWNlRnVuY3Rvcjo6b3BlcmF0b3IoKSk6CisgICAg
ICAgICogaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3RhY2tW
aXNpdG9yOjpyZWFkTm9uSW5saW5lZEZyYW1lKToKKyAgICAgICAgKEpTQzo6U3RhY2tWaXNpdG9y
OjpGcmFtZTo6ZnVuY3Rpb25OYW1lKToKKyAgICAgICAgKiBpbnRlcnByZXRlci9TdGFja1Zpc2l0
b3IuaDoKKyAgICAgICAgKEpTQzo6U3RhY2tWaXNpdG9yOjpGcmFtZTo6d2FzbUZ1bmN0aW9uSW5k
ZXgpOgorICAgICAgICAqIHJ1bnRpbWUvU3RhY2tGcmFtZS5jcHA6CisgICAgICAgIChKU0M6OlN0
YWNrRnJhbWU6OmZ1bmN0aW9uTmFtZSk6CisgICAgICAgICogcnVudGltZS9TdGFja0ZyYW1lLmg6
CisgICAgICAgIChKU0M6OlN0YWNrRnJhbWU6OlN0YWNrRnJhbWUpOgorICAgICAgICAoSlNDOjpT
dGFja0ZyYW1lOjp3YXNtKToKKyAgICAgICAgKEpTQzo6U3RhY2tGcmFtZTo6aGFzQnl0ZWNvZGVP
ZmZzZXQpOgorICAgICAgICAoSlNDOjpTdGFja0ZyYW1lOjpieXRlY29kZU9mZnNldCk6CisgICAg
ICAgICogd2FzbS9XYXNtQkJRUGxhbklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6V2FzbTo6QkJR
UGxhbjo6aW5pdGlhbGl6ZUNhbGxlZXMpOgorICAgICAgICAqIHdhc20vV2FzbUNhbGxlZS5jcHA6
CisgICAgICAgIChKU0M6Oldhc206OkNhbGxlZTo6Q2FsbGVlKToKKyAgICAgICAgKiB3YXNtL1dh
c21DYWxsZWUuaDoKKyAgICAgICAgKEpTQzo6V2FzbTo6Q2FsbGVlOjpjcmVhdGUpOgorICAgICAg
ICAoSlNDOjpXYXNtOjpDYWxsZWU6OmluZGV4KToKKyAgICAgICAgKiB3YXNtL1dhc21PTUdQbGFu
LmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6T01HUGxhbjo6d29yayk6CisKIDIwMTctMDQtMjYg
IEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQXNz
ZW1ibHk6IEltcGxlbWVudCB0aWVyIHVwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHJldmlzaW9uIDIxNTg0NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ3OSw5ICs0NzksMTAgQEAgcHVibGljOgogICAgICAgICB9CiAKICAgICAgICAg
aWYgKG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUpIHsKLSAgICAgICAgICAgIGlm
ICh2aXNpdG9yLT5pc1dhc21GcmFtZSgpKQotICAgICAgICAgICAgICAgIG1fcmVzdWx0cy5hcHBl
bmQoU3RhY2tGcmFtZTo6d2FzbSgpKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKCEhdmlzaXRvci0+
Y29kZUJsb2NrKCkgJiYgIXZpc2l0b3ItPmNvZGVCbG9jaygpLT51bmxpbmtlZENvZGVCbG9jaygp
LT5pc0J1aWx0aW5GdW5jdGlvbigpKSB7CisgICAgICAgICAgICBpZiAodmlzaXRvci0+aXNXYXNt
RnJhbWUoKSkgeworICAgICAgICAgICAgICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHdhc21G
dW5jdGlvbkluZGV4ID0gdmlzaXRvci0+d2FzbUZ1bmN0aW9uSW5kZXgoKTsKKyAgICAgICAgICAg
ICAgICBtX3Jlc3VsdHMuYXBwZW5kKFN0YWNrRnJhbWU6Ondhc20od2FzbUZ1bmN0aW9uSW5kZXgg
PyAqd2FzbUZ1bmN0aW9uSW5kZXggOiBTdGFja0ZyYW1lOjppbnZhbGlkV2FzbUluZGV4KSk7Cisg
ICAgICAgICAgICB9IGVsc2UgaWYgKCEhdmlzaXRvci0+Y29kZUJsb2NrKCkgJiYgIXZpc2l0b3It
PmNvZGVCbG9jaygpLT51bmxpbmtlZENvZGVCbG9jaygpLT5pc0J1aWx0aW5GdW5jdGlvbigpKSB7
CiAgICAgICAgICAgICAgICAgbV9yZXN1bHRzLmFwcGVuZCgKICAgICAgICAgICAgICAgICAgICAg
U3RhY2tGcmFtZShtX3ZtLCB2aXNpdG9yLT5jYWxsZWUoKS5hc0NlbGwoKSwgdmlzaXRvci0+Y29k
ZUJsb2NrKCksIHZpc2l0b3ItPmJ5dGVjb2RlT2Zmc2V0KCkpKTsKICAgICAgICAgICAgIH0gZWxz
ZSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9y
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3Rh
Y2tWaXNpdG9yLmNwcAkocmV2aXNpb24gMjE1ODQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Myw2ICsx
NjMsMTEgQEAgdm9pZCBTdGFja1Zpc2l0b3I6OnJlYWROb25JbmxpbmVkRnJhbWUoQwogICAgICAg
ICBtX2ZyYW1lLm1faXNXYXNtRnJhbWUgPSB0cnVlOwogICAgICAgICBtX2ZyYW1lLm1fY29kZUJs
b2NrID0gbnVsbHB0cjsKICAgICAgICAgbV9mcmFtZS5tX2J5dGVjb2RlT2Zmc2V0ID0gMDsKKyNp
ZiBFTkFCTEUoV0VCQVNTRU1CTFkpCisgICAgICAgIENhbGxlZUJpdHMgYml0cyA9IGNhbGxGcmFt
ZS0+Y2FsbGVlKCk7CisgICAgICAgIGlmIChiaXRzLmlzV2FzbSgpKQorICAgICAgICAgICAgbV9m
cmFtZS5tX3dhc21GdW5jdGlvbkluZGV4ID0gYml0cy5hc1dhc21DYWxsZWUoKS0+aW5kZXgoKTsK
KyNlbmRpZgogICAgIH0gZWxzZSB7CiAgICAgICAgIG1fZnJhbWUubV9jb2RlQmxvY2sgPSBjYWxs
RnJhbWUtPmNvZGVCbG9jaygpOwogICAgICAgICBtX2ZyYW1lLm1fYnl0ZWNvZGVPZmZzZXQgPSAh
bV9mcmFtZS5jb2RlQmxvY2soKSA/IDAKQEAgLTI3OCw3ICsyODMsMTAgQEAgU3RyaW5nIFN0YWNr
VmlzaXRvcjo6RnJhbWU6OmZ1bmN0aW9uTmFtZQogCiAgICAgc3dpdGNoIChjb2RlVHlwZSgpKSB7
CiAgICAgY2FzZSBDb2RlVHlwZTo6V2FzbToKLSAgICAgICAgdHJhY2VMaW5lID0gQVNDSUlMaXRl
cmFsKCJ3YXNtIGNvZGUiKTsKKyAgICAgICAgaWYgKG1fd2FzbUZ1bmN0aW9uSW5kZXgpCisgICAg
ICAgICAgICB0cmFjZUxpbmUgPSBtYWtlU3RyaW5nKCJ3YXNtIGZ1bmN0aW9uIGluZGV4OiAiLCBT
dHJpbmc6Om51bWJlcigqbV93YXNtRnVuY3Rpb25JbmRleCkpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICB0cmFjZUxpbmUgPSBBU0NJSUxpdGVyYWwoIndhc20gZnVuY3Rpb24iKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBDb2RlVHlwZTo6RXZhbDoKICAgICAgICAgdHJhY2VMaW5lID0g
QVNDSUlMaXRlcmFsKCJldmFsIGNvZGUiKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9TdGFja1Zpc2l0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmgJKHJldmlzaW9uIDIxNTg0NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuaAkod29ya2luZyBj
b3B5KQpAQCAtNzcsNiArNzcsMTEgQEAgcHVibGljOgogICAgICAgICBib29sIGlzTmF0aXZlRnJh
bWUoKSBjb25zdCB7IHJldHVybiAhY29kZUJsb2NrKCkgJiYgIWlzV2FzbUZyYW1lKCk7IH0KICAg
ICAgICAgYm9vbCBpc0lubGluZWRGcmFtZSgpIGNvbnN0IHsgcmV0dXJuICEhaW5saW5lQ2FsbEZy
YW1lKCk7IH0KICAgICAgICAgYm9vbCBpc1dhc21GcmFtZSgpIGNvbnN0OworICAgICAgICBzdGQ6
Om9wdGlvbmFsPHVuc2lnbmVkPiBjb25zdCB3YXNtRnVuY3Rpb25JbmRleCgpCisgICAgICAgIHsK
KyAgICAgICAgICAgIEFTU0VSVChpc1dhc21GcmFtZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBt
X3dhc21GdW5jdGlvbkluZGV4OworICAgICAgICB9CiAKICAgICAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgU3RyaW5nIGZ1bmN0aW9uTmFtZSgpIGNvbnN0OwogICAgICAgICBKU19FWFBPUlRfUFJJVkFU
RSBTdHJpbmcgc291cmNlVVJMKCkgY29uc3Q7CkBAIC0xMTYsNiArMTIxLDcgQEAgcHVibGljOgog
ICAgICAgICBzaXplX3QgbV9pbmRleDsKICAgICAgICAgc2l6ZV90IG1fYXJndW1lbnRDb3VudElu
Y2x1ZGluZ1RoaXM7CiAgICAgICAgIHVuc2lnbmVkIG1fYnl0ZWNvZGVPZmZzZXQ7CisgICAgICAg
IHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IG1fd2FzbUZ1bmN0aW9uSW5kZXg7CiAgICAgICAgIGJv
b2wgbV9jYWxsZXJJc1ZNRW50cnlGcmFtZSA6IDE7CiAgICAgICAgIGJvb2wgbV9pc1dhc21GcmFt
ZSA6IDE7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0YWNrRnJhbWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0YWNrRnJh
bWUuY3BwCShyZXZpc2lvbiAyMTU4NDYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdGFja0ZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsOCArNTcsMTEgQEAgU3RyaW5n
IFN0YWNrRnJhbWU6OnNvdXJjZVVSTCgpIGNvbnN0CiAKIFN0cmluZyBTdGFja0ZyYW1lOjpmdW5j
dGlvbk5hbWUoVk0mIHZtKSBjb25zdAogewotICAgIGlmIChtX2lzV2FzbUZyYW1lKQotICAgICAg
ICByZXR1cm4gQVNDSUlMaXRlcmFsKCI8d2FzbT4iKTsKKyAgICBpZiAobV9pc1dhc21GcmFtZSkg
eworICAgICAgICBpZiAobV93YXNtRnVuY3Rpb25JbmRleCA9PSBpbnZhbGlkV2FzbUluZGV4KQor
ICAgICAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgid2FzbSBmdW5jdGlvbiIpOworICAgICAg
ICByZXR1cm4gbWFrZVN0cmluZygid2FzbSBmdW5jdGlvbiBpbmRleDogIiwgU3RyaW5nOjpudW1i
ZXIobV93YXNtRnVuY3Rpb25JbmRleCkpOworICAgIH0KIAogICAgIGlmIChtX2NvZGVCbG9jaykg
ewogICAgICAgICBzd2l0Y2ggKG1fY29kZUJsb2NrLT5jb2RlVHlwZSgpKSB7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdGFja0ZyYW1lLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RhY2tGcmFtZS5oCShyZXZpc2lvbiAyMTU4NDYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdGFja0ZyYW1lLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTM5LDYgKzM5LDcgQEAgcHVibGljOgogCiAgICAgU3RhY2tGcmFtZShWTSYgdm0s
IEpTQ2VsbCogY2FsbGVlKQogICAgICAgICA6IG1fY2FsbGVlKHZtLCBjYWxsZWUpCisgICAgICAg
ICwgbV9ieXRlY29kZU9mZnNldChVSU5UX01BWCkKICAgICB7IH0KIAogICAgIFN0YWNrRnJhbWUo
Vk0mIHZtLCBKU0NlbGwqIGNhbGxlZSwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5
dGVjb2RlT2Zmc2V0KQpAQCAtNDcsMTAgKzQ4LDEyIEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2J5
dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlT2Zmc2V0KQogICAgIHsgfQogCi0gICAgc3RhdGljIFN0YWNr
RnJhbWUgd2FzbSgpCisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBpbnZhbGlkV2FzbUlu
ZGV4ID0gVUlOVF9NQVg7CisgICAgc3RhdGljIFN0YWNrRnJhbWUgd2FzbSh1bnNpZ25lZCBpbmRl
eCkKICAgICB7CiAgICAgICAgIFN0YWNrRnJhbWUgcmVzdWx0OwogICAgICAgICByZXN1bHQubV9p
c1dhc21GcmFtZSA9IHRydWU7CisgICAgICAgIHJlc3VsdC5tX3dhc21GdW5jdGlvbkluZGV4ID0g
aW5kZXg7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCkBAIC02MiwxMCArNjUsMTAg
QEAgcHVibGljOgogICAgIFN0cmluZyBzb3VyY2VVUkwoKSBjb25zdDsKICAgICBTdHJpbmcgdG9T
dHJpbmcoVk0mKSBjb25zdDsKIAotICAgIGJvb2wgaGFzQnl0ZWNvZGVPZmZzZXQoKSBjb25zdCB7
IHJldHVybiBtX2J5dGVjb2RlT2Zmc2V0ICE9IFVJTlRfTUFYOyB9CisgICAgYm9vbCBoYXNCeXRl
Y29kZU9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fYnl0ZWNvZGVPZmZzZXQgIT0gVUlOVF9NQVgg
JiYgIW1faXNXYXNtRnJhbWU7IH0KICAgICB1bnNpZ25lZCBieXRlY29kZU9mZnNldCgpCiAgICAg
ewotICAgICAgICBBU1NFUlQobV9ieXRlY29kZU9mZnNldCAhPSBVSU5UX01BWCk7CisgICAgICAg
IEFTU0VSVChoYXNCeXRlY29kZU9mZnNldCgpKTsKICAgICAgICAgcmV0dXJuIG1fYnl0ZWNvZGVP
ZmZzZXQ7CiAgICAgfQogCkBAIC03Myw3ICs3NiwxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAg
IFN0cm9uZzxKU0NlbGw+IG1fY2FsbGVlIHsgfTsKICAgICBTdHJvbmc8Q29kZUJsb2NrPiBtX2Nv
ZGVCbG9jayB7IH07Ci0gICAgdW5zaWduZWQgbV9ieXRlY29kZU9mZnNldCB7IFVJTlRfTUFYIH07
CisgICAgdW5pb24geworICAgICAgICB1bnNpZ25lZCBtX2J5dGVjb2RlT2Zmc2V0OworICAgICAg
ICB1bnNpZ25lZCBtX3dhc21GdW5jdGlvbkluZGV4OworICAgIH07CiAgICAgYm9vbCBtX2lzV2Fz
bUZyYW1lIHsgZmFsc2UgfTsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21CQlFQbGFuSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dhc21CQlFQbGFuSW5saW5lcy5oCShyZXZpc2lvbiAyMTU4NDYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQkJRUGxhbklubGluZXMuaAkod29ya2luZyBjb3B5KQpA
QCAtNDMsNyArNDMsNyBAQCB2b2lkIEJCUVBsYW46OmluaXRpYWxpemVDYWxsZWVzKGNvbnN0IEZ1
CiAgICAgICAgIFJlZjxXYXNtOjpDYWxsZWU+IGpzRW50cnlwb2ludENhbGxlZSA9IFdhc206OkNh
bGxlZTo6Y3JlYXRlKFdURk1vdmUoZnVuY3Rpb24tPmpzVG9XYXNtRW50cnlwb2ludCkpOwogICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6cmVwYXRjaFBvaW50ZXIoZnVuY3Rpb24tPmpzVG9XYXNtQ2Fs
bGVlTW92ZUxvY2F0aW9uLCBDYWxsZWVCaXRzOjpib3hXYXNtKGpzRW50cnlwb2ludENhbGxlZS5w
dHIoKSkpOwogCi0gICAgICAgIFJlZjxXYXNtOjpDYWxsZWU+IHdhc21FbnRyeXBvaW50Q2FsbGVl
ID0gV2FzbTo6Q2FsbGVlOjpjcmVhdGUoV1RGTW92ZShmdW5jdGlvbi0+d2FzbUVudHJ5cG9pbnQp
KTsKKyAgICAgICAgUmVmPFdhc206OkNhbGxlZT4gd2FzbUVudHJ5cG9pbnRDYWxsZWUgPSBXYXNt
OjpDYWxsZWU6OmNyZWF0ZShXVEZNb3ZlKGZ1bmN0aW9uLT53YXNtRW50cnlwb2ludCksIGludGVy
bmFsRnVuY3Rpb25JbmRleCArIG1fbW9kdWxlSW5mb3JtYXRpb24tPmltcG9ydEZ1bmN0aW9uQ291
bnQoKSk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpyZXBhdGNoUG9pbnRlcihmdW5jdGlvbi0+
d2FzbUNhbGxlZU1vdmVMb2NhdGlvbiwgQ2FsbGVlQml0czo6Ym94V2FzbSh3YXNtRW50cnlwb2lu
dENhbGxlZS5wdHIoKSkpOwogCiAgICAgICAgIGNhbGxiYWNrKGludGVybmFsRnVuY3Rpb25JbmRl
eCwgV1RGTW92ZShqc0VudHJ5cG9pbnRDYWxsZWUpLCBXVEZNb3ZlKHdhc21FbnRyeXBvaW50Q2Fs
bGVlKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ2FsbGVlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ2FsbGVlLmNwcAko
cmV2aXNpb24gMjE1ODQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUNhbGxl
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDggKzMyLDkgQEAKIAogbmFtZXNwYWNlIEpTQyB7
IG5hbWVzcGFjZSBXYXNtIHsKIAotQ2FsbGVlOjpDYWxsZWUoRW50cnlwb2ludCYmIGVudHJ5cG9p
bnQpCitDYWxsZWU6OkNhbGxlZShFbnRyeXBvaW50JiYgZW50cnlwb2ludCwgdW5zaWduZWQgaW5k
ZXgpCiAgICAgOiBtX2VudHJ5cG9pbnQoV1RGTW92ZShlbnRyeXBvaW50KSkKKyAgICAsIG1faW5k
ZXgoaW5kZXgpCiB7CiAgICAgcmVnaXN0ZXJDb2RlKG1fZW50cnlwb2ludC5jb21waWxhdGlvbi0+
Y29kZVJlZigpLmV4ZWN1dGFibGVNZW1vcnkoKS0+c3RhcnQoKSwgbV9lbnRyeXBvaW50LmNvbXBp
bGF0aW9uLT5jb2RlUmVmKCkuZXhlY3V0YWJsZU1lbW9yeSgpLT5lbmQoKSk7CiB9CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ2FsbGVlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUNhbGxlZS5oCShyZXZpc2lvbiAyMTU4NDYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ2FsbGVlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTM4LDIwICszOCwzMCBAQCBjbGFzcyBDYWxsZWUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNv
dW50CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAKLSAgICBzdGF0aWMg
UmVmPENhbGxlZT4gY3JlYXRlKFdhc206OkVudHJ5cG9pbnQmJiBlbnRyeXBvaW50KQorICAgIC8v
IFdlIHVzZSB0aGlzIHdoZW4gd2UncmUgdGhlIEpTIGVudHJ5cG9pbnQsIHdlIGRvbid0IGFzY3Jp
YmUgYW4gaW5kZXggdG8gdGhvc2UuCisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBpbnZh
bGlkQ2FsbGVlSW5kZXggPSBVSU5UX01BWDsKKworICAgIHN0YXRpYyBSZWY8Q2FsbGVlPiBjcmVh
dGUoV2FzbTo6RW50cnlwb2ludCYmIGVudHJ5cG9pbnQsIHVuc2lnbmVkIGluZGV4ID0gaW52YWxp
ZENhbGxlZUluZGV4KQogICAgIHsKLSAgICAgICAgQ2FsbGVlKiBjYWxsZWUgPSBuZXcgQ2FsbGVl
KFdURk1vdmUoZW50cnlwb2ludCkpOworICAgICAgICBDYWxsZWUqIGNhbGxlZSA9IG5ldyBDYWxs
ZWUoV1RGTW92ZShlbnRyeXBvaW50KSwgaW5kZXgpOwogICAgICAgICByZXR1cm4gYWRvcHRSZWYo
KmNhbGxlZSk7CiAgICAgfQogCiAgICAgdm9pZCogZW50cnlwb2ludCgpIGNvbnN0IHsgcmV0dXJu
IG1fZW50cnlwb2ludC5jb21waWxhdGlvbi0+Y29kZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCk7IH0K
IAogICAgIFJlZ2lzdGVyQXRPZmZzZXRMaXN0KiBjYWxsZWVTYXZlUmVnaXN0ZXJzKCkgeyByZXR1
cm4gJm1fZW50cnlwb2ludC5jYWxsZWVTYXZlUmVnaXN0ZXJzOyB9CisgICAgc3RkOjpvcHRpb25h
bDx1bnNpZ25lZD4gaW5kZXgoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKG1faW5kZXggPT0g
aW52YWxpZENhbGxlZUluZGV4KQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAg
ICAgICAgcmV0dXJuIG1faW5kZXg7CisgICAgfQogCiBwcml2YXRlOgotICAgIEpTX0VYUE9SVF9Q
UklWQVRFIENhbGxlZShXYXNtOjpFbnRyeXBvaW50JiYpOworICAgIEpTX0VYUE9SVF9QUklWQVRF
IENhbGxlZShXYXNtOjpFbnRyeXBvaW50JiYsIHVuc2lnbmVkIGluZGV4KTsKIAogICAgIFdhc206
OkVudHJ5cG9pbnQgbV9lbnRyeXBvaW50OworICAgIHVuc2lnbmVkIG1faW5kZXg7CiB9OwogCiB9
IH0gLy8gbmFtZXNwYWNlIEpTQzo6V2FzbQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbU9NR1BsYW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dhc21PTUdQbGFuLmNwcAkocmV2aXNpb24gMjE1ODQ2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV2FzbU9NR1BsYW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05OCw3ICs5OCw3
IEBAIHZvaWQgT01HUGxhbjo6d29yayhDb21waWxhdGlvbkVmZm9ydCkKICAgICB2b2lkKiBlbnRy
eXBvaW50OwogICAgIHsKICAgICAgICAgQVNTRVJUKG1fY29kZUJsb2NrLnB0cigpID09IG1fbW9k
dWxlLT5jb2RlQmxvY2tGb3IobW9kZSgpKSk7Ci0gICAgICAgIFJlZjxDYWxsZWU+IGNhbGxlZSA9
IENhbGxlZTo6Y3JlYXRlKFdURk1vdmUob21nRW50cnlwb2ludCkpOworICAgICAgICBSZWY8Q2Fs
bGVlPiBjYWxsZWUgPSBDYWxsZWU6OmNyZWF0ZShXVEZNb3ZlKG9tZ0VudHJ5cG9pbnQpLCBmdW5j
dGlvbkluZGV4U3BhY2UpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6cmVwYXRjaFBvaW50ZXIo
cGFyc2VBbmRDb21waWxlUmVzdWx0LnZhbHVlKCktPndhc21DYWxsZWVNb3ZlTG9jYXRpb24sIENh
bGxlZUJpdHM6OmJveFdhc20oY2FsbGVlLnB0cigpKSk7CiAgICAgICAgIEFTU0VSVCghbV9jb2Rl
QmxvY2stPm1fb3B0aW1pemVkQ2FsbGVlc1ttX2Z1bmN0aW9uSW5kZXhdKTsKICAgICAgICAgZW50
cnlwb2ludCA9IGNhbGxlZS0+ZW50cnlwb2ludCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>