<?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>97414</bug_id>
          
          <creation_ts>2012-09-23 14:49:45 -0700</creation_ts>
          <short_desc>CSE for access to closure variables (get_/put_scoped_var)</short_desc>
          <delta_ts>2012-09-23 20:35:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>726297</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-23 14:49:45 -0700</bug_when>
    <thetext>CSE for access to closure variables (get_/put_scoped_var)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726298</commentid>
    <comment_count>1</comment_count>
      <attachid>165293</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-23 14:58:29 -0700</bug_when>
    <thetext>Created attachment 165293
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726307</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-23 15:47:50 -0700</bug_when>
    <thetext>Committed r129316: &lt;http://trac.webkit.org/changeset/129316&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726358</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-23 20:35:11 -0700</bug_when>
    <thetext>32-bit fix: &lt;http://trac.webkit.org/changeset/129324&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165293</attachid>
            <date>2012-09-23 14:58:29 -0700</date>
            <delta_ts>2012-09-23 15:01:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97414-20120923145757.patch</filename>
            <type>text/plain</type>
            <size>17018</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI5MzE1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBA
CisyMDEyLTA5LTIzICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgQ1NFIGZvciBhY2Nlc3MgdG8gY2xvc3VyZSB2YXJpYWJsZXMgKGdldF8vcHV0X3Njb3BlZF92
YXIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzQx
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEkgc2Vw
YXJhdGVkIGxvYWRpbmcgYSBzY29wZSBmcm9tIGxvYWRpbmcgaXRzIHN0b3JhZ2UgcG9pbnRlciwg
c28gd2UgY2FuCisgICAgICAgIENTRSB0aGUgc3RvcmFnZSBwb2ludGVyIGxvYWQuIFRoZW4sIEkg
Y29waWVkIHRoZSBnbG9iYWwgdmFyIENTRSBhbmQgYWRqdXN0ZWQKKyAgICAgICAgaXQgZm9yIGNs
b3N1cmVkIHZhcnMuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RTdGF0ZS5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6QWJzdHJhY3RTdGF0ZTo6ZXhlY3V0ZSk6IFJlbmFtZWQgR2V0U2NvcGVD
aGFpbiA9PiBHZXRTY29wZSB0bworICAgICAgICByZWZsZWN0IHJlbmFtZXMgZnJvbSBhIGZldyB3
ZWVrcyBhZ28uCisKKyAgICAgICAgQWRkZWQgYSBjYXNlIGZvciB0aGUgc3RvcmFnZSBwb2ludGVy
IGxvYWQsIHNpbWlsYXIgdG8gb2JqZWN0IHN0b3JhZ2UgcG9pbnRlciBsb2FkLgorCisgICAgICAg
ICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29k
ZVBhcnNlcjo6cGFyc2VCbG9jayk6IEFkZGVkIGFuIGluZGVwZW5kZW50IG5vZGUgZm9yCisgICAg
ICAgIHRoZSBzdG9yYWdlIHBvaW50ZXIuCisKKyAgICAgICAgKiBkZmcvREZHQ1NFUGhhc2UuY3Bw
OgorICAgICAgICAoSlNDOjpERkc6OkNTRVBoYXNlOjpzY29wZWRWYXJMb2FkRWxpbWluYXRpb24p
OgorICAgICAgICAoQ1NFUGhhc2UpOgorICAgICAgICAoSlNDOjpERkc6OkNTRVBoYXNlOjpzY29w
ZWRWYXJTdG9yZUVsaW1pbmF0aW9uKToKKyAgICAgICAgKEpTQzo6REZHOjpDU0VQaGFzZTo6Z2V0
U2NvcGVMb2FkRWxpbWluYXRpb24pOgorICAgICAgICAoSlNDOjpERkc6OkNTRVBoYXNlOjpnZXRT
Y29wZVJlZ2lzdGVyc0xvYWRFbGltaW5hdGlvbik6CisgICAgICAgIChKU0M6OkRGRzo6Q1NFUGhh
c2U6OnNldExvY2FsU3RvcmVFbGltaW5hdGlvbik6CisgICAgICAgIChKU0M6OkRGRzo6Q1NFUGhh
c2U6OnBlcmZvcm1Ob2RlQ1NFKTogQ29waWVkIGdsb2JhbFZhckxvYWQvU3RvcmVFbGltaW5hdGlv
bgorICAgICAgICBhbmQgYWRhcHRlZCB0aGUgc2FtZSBsb2dpYyB0byBjbG9zdXJlIHZhcnMuCisK
KyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Omhhc1Nj
b3BlQ2hhaW5EZXB0aCk6CisgICAgICAgIChKU0M6OkRGRzo6Tm9kZTo6c2NvcGUpOgorICAgICAg
ICAoTm9kZSk6CisgICAgICAgICogZGZnL0RGR05vZGVUeXBlLmg6CisgICAgICAgIChERkcpOiBH
ZXRTY29wZWRWYXIgYW5kIEdldEdsb2JhbFZhciBhcmUgbm8gbG9uZ2VyIE11c3RHZW5lcmF0ZS4g
SSdtIG5vdAorICAgICAgICBzdXJlIHdoeSB0aGV5IGV2ZXIgd2VyZS4gQnV0IHRoZXNlIGFyZSBz
aW1wbGUgbG9hZCBvcGVyYXRpb25zIHNvLCBpZiB0aGV5J3JlCisgICAgICAgIHVudXNlZCwgdGhl
eSdyZSB0cnVseSBkZWFkLgorCisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlv
blBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFz
ZTo6cHJvcGFnYXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAq
IGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZSk6IFVwZGF0ZWQgZm9yIHJlbmFtZXMgYW5kIHNwbGl0LW91dAorICAg
ICAgICBub2RlIGZvciBnZXR0aW5nIHRoZSBzdG9yYWdlIHBvaW50ZXIuCisKIDIwMTItMDktMjEg
IEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsZWQgb3V0IGEgbGluZSBJIGNvbW1pdHRlZCBieSBhY2NpZGVudC4KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RTdGF0ZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFN0YXRlLmNwcAkocmV2aXNpb24g
MTI5Mjk5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFN0YXRlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTI2MiwxMSArMTI2MiwxNyBAQCBib29sIEFic3RyYWN0U3Rh
dGU6OmV4ZWN1dGUodW5zaWduZWQgaW5kCiAgICAgICAgIGZvck5vZGUobm9kZUluZGV4KS5zZXQo
U3BlY0Z1bmN0aW9uKTsKICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAKLSAgICBjYXNlIEdl
dFNjb3BlQ2hhaW46CisgICAgY2FzZSBHZXRTY29wZToKICAgICAgICAgbm9kZS5zZXRDYW5FeGl0
KGZhbHNlKTsKICAgICAgICAgZm9yTm9kZShub2RlSW5kZXgpLnNldChTcGVjQ2VsbE90aGVyKTsK
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAKKworICAgIGNhc2UgR2V0U2NvcGVSZWdpc3Rl
cnM6CisgICAgICAgIG5vZGUuc2V0Q2FuRXhpdChmYWxzZSk7CisgICAgICAgIGZvck5vZGUobm9k
ZS5jaGlsZDEoKSkuZmlsdGVyKFNwZWNDZWxsKTsKKyAgICAgICAgZm9yTm9kZShub2RlSW5kZXgp
LmNsZWFyKCk7IC8vIFRoZSByZXN1bHQgaXMgbm90IGEgSlMgdmFsdWUuCisgICAgICAgIGJyZWFr
OworCiAgICAgY2FzZSBHZXRTY29wZWRWYXI6CiAgICAgICAgIG5vZGUuc2V0Q2FuRXhpdChmYWxz
ZSk7CiAgICAgICAgIGZvck5vZGUobm9kZUluZGV4KS5tYWtlVG9wKCk7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNpb24g
MTI5Mjk5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTIyNjUsOCArMjI2NSw5IEBAIGJvb2wgQnl0ZUNvZGVQYXJz
ZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAgIGludCBkc3QgPSBjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kOwogICAgICAgICAgICAgaW50IHNsb3QgPSBjdXJyZW50SW5z
dHJ1Y3Rpb25bMl0udS5vcGVyYW5kOwogICAgICAgICAgICAgaW50IGRlcHRoID0gY3VycmVudElu
c3RydWN0aW9uWzNdLnUub3BlcmFuZDsKLSAgICAgICAgICAgIE5vZGVJbmRleCBnZXRTY29wZUNo
YWluID0gYWRkVG9HcmFwaChHZXRTY29wZUNoYWluLCBPcEluZm8oZGVwdGgpKTsKLSAgICAgICAg
ICAgIE5vZGVJbmRleCBnZXRTY29wZWRWYXIgPSBhZGRUb0dyYXBoKEdldFNjb3BlZFZhciwgT3BJ
bmZvKHNsb3QpLCBPcEluZm8ocHJlZGljdGlvbiksIGdldFNjb3BlQ2hhaW4pOworICAgICAgICAg
ICAgTm9kZUluZGV4IGdldFNjb3BlID0gYWRkVG9HcmFwaChHZXRTY29wZSwgT3BJbmZvKGRlcHRo
KSk7CisgICAgICAgICAgICBOb2RlSW5kZXggZ2V0U2NvcGVSZWdpc3RlcnMgPSBhZGRUb0dyYXBo
KEdldFNjb3BlUmVnaXN0ZXJzLCBnZXRTY29wZSk7CisgICAgICAgICAgICBOb2RlSW5kZXggZ2V0
U2NvcGVkVmFyID0gYWRkVG9HcmFwaChHZXRTY29wZWRWYXIsIE9wSW5mbyhzbG90KSwgT3BJbmZv
KHByZWRpY3Rpb24pLCBnZXRTY29wZVJlZ2lzdGVycyk7CiAgICAgICAgICAgICBzZXQoZHN0LCBn
ZXRTY29wZWRWYXIpOwogICAgICAgICAgICAgTkVYVF9PUENPREUob3BfZ2V0X3Njb3BlZF92YXIp
OwogICAgICAgICB9CkBAIC0yMjc0LDggKzIyNzUsOSBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpw
YXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAgICBpbnQgc2xvdCA9IGN1cnJlbnRJbnN0cnVj
dGlvblsxXS51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBpbnQgZGVwdGggPSBjdXJyZW50SW5zdHJ1
Y3Rpb25bMl0udS5vcGVyYW5kOwogICAgICAgICAgICAgaW50IHNvdXJjZSA9IGN1cnJlbnRJbnN0
cnVjdGlvblszXS51Lm9wZXJhbmQ7Ci0gICAgICAgICAgICBOb2RlSW5kZXggZ2V0U2NvcGVDaGFp
biA9IGFkZFRvR3JhcGgoR2V0U2NvcGVDaGFpbiwgT3BJbmZvKGRlcHRoKSk7Ci0gICAgICAgICAg
ICBhZGRUb0dyYXBoKFB1dFNjb3BlZFZhciwgT3BJbmZvKHNsb3QpLCBnZXRTY29wZUNoYWluLCBn
ZXQoc291cmNlKSk7CisgICAgICAgICAgICBOb2RlSW5kZXggZ2V0U2NvcGUgPSBhZGRUb0dyYXBo
KEdldFNjb3BlLCBPcEluZm8oZGVwdGgpKTsKKyAgICAgICAgICAgIE5vZGVJbmRleCBnZXRTY29w
ZVJlZ2lzdGVycyA9IGFkZFRvR3JhcGgoR2V0U2NvcGVSZWdpc3RlcnMsIGdldFNjb3BlKTsKKyAg
ICAgICAgICAgIGFkZFRvR3JhcGgoUHV0U2NvcGVkVmFyLCBPcEluZm8oc2xvdCksIGdldFNjb3Bl
LCBnZXRTY29wZVJlZ2lzdGVycywgZ2V0KHNvdXJjZSkpOwogICAgICAgICAgICAgTkVYVF9PUENP
REUob3BfcHV0X3Njb3BlZF92YXIpOwogICAgICAgICB9CiAgICAgICAgIGNhc2Ugb3BfZ2V0X2J5
X2lkOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDU0VQaGFzZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDU0VQaGFzZS5jcHAJKHJl
dmlzaW9uIDEyOTI5OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhhc2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTUsNiArMjE1LDM0IEBAIHByaXZhdGU6CiAgICAgICAg
IHJldHVybiBOb05vZGU7CiAgICAgfQogICAgIAorICAgIE5vZGVJbmRleCBzY29wZWRWYXJMb2Fk
RWxpbWluYXRpb24odW5zaWduZWQgc2NvcGVDaGFpbkRlcHRoLCB1bnNpZ25lZCB2YXJOdW1iZXIp
CisgICAgeworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtX2luZGV4SW5CbG9jazsgaS0tOykg
eworICAgICAgICAgICAgTm9kZUluZGV4IGluZGV4ID0gbV9jdXJyZW50QmxvY2stPmF0KGkpOwor
ICAgICAgICAgICAgTm9kZSYgbm9kZSA9IG1fZ3JhcGhbaW5kZXhdOworICAgICAgICAgICAgc3dp
dGNoIChub2RlLm9wKCkpIHsKKyAgICAgICAgICAgIGNhc2UgR2V0U2NvcGVkVmFyOiB7CisgICAg
ICAgICAgICAgICAgTm9kZSYgZ2V0U2NvcGVSZWdpc3RlcnMgPSBtX2dyYXBoW25vZGUuY2hpbGQx
KCldOworICAgICAgICAgICAgICAgIE5vZGUmIGdldFNjb3BlID0gbV9ncmFwaFtnZXRTY29wZVJl
Z2lzdGVycy5jaGlsZDEoKV07CisgICAgICAgICAgICAgICAgaWYgKGdldFNjb3BlLnNjb3BlQ2hh
aW5EZXB0aCgpID09IHNjb3BlQ2hhaW5EZXB0aCAmJiBub2RlLnZhck51bWJlcigpID09IHZhck51
bWJlcikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4OworICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgfSAKKyAgICAgICAgICAgIGNhc2UgUHV0U2NvcGVkVmFyOiB7
CisgICAgICAgICAgICAgICAgTm9kZSYgZ2V0U2NvcGUgPSBtX2dyYXBoW25vZGUuY2hpbGQxKCld
OworICAgICAgICAgICAgICAgIGlmIChnZXRTY29wZS5zY29wZUNoYWluRGVwdGgoKSA9PSBzY29w
ZUNoYWluRGVwdGggJiYgbm9kZS52YXJOdW1iZXIoKSA9PSB2YXJOdW1iZXIpCisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBub2RlLmNoaWxkMygpLmluZGV4KCk7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKG1fZ3JhcGguY2xvYmJl
cnNXb3JsZChpbmRleCkpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuIE5vTm9kZTsKKyAgICB9CisgICAgCiAgICAgYm9vbCBnbG9iYWxWYXJXYXRjaHBv
aW50RWxpbWluYXRpb24oV3JpdGVCYXJyaWVyPFVua25vd24+KiByZWdpc3RlclBvaW50ZXIpCiAg
ICAgewogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtX2luZGV4SW5CbG9jazsgaS0tOykgewpA
QCAtMjY2LDYgKzI5NCwzOCBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gTm9Ob2RlOwogICAg
IH0KICAgICAKKyAgICBOb2RlSW5kZXggc2NvcGVkVmFyU3RvcmVFbGltaW5hdGlvbih1bnNpZ25l
ZCBzY29wZUNoYWluRGVwdGgsIHVuc2lnbmVkIHZhck51bWJlcikKKyAgICB7CisgICAgICAgIGZv
ciAodW5zaWduZWQgaSA9IG1faW5kZXhJbkJsb2NrOyBpLS07KSB7CisgICAgICAgICAgICBOb2Rl
SW5kZXggaW5kZXggPSBtX2N1cnJlbnRCbG9jay0+YXQoaSk7CisgICAgICAgICAgICBOb2RlJiBu
b2RlID0gbV9ncmFwaFtpbmRleF07CisgICAgICAgICAgICBpZiAoIW5vZGUuc2hvdWxkR2VuZXJh
dGUoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIHN3aXRjaCAobm9k
ZS5vcCgpKSB7CisgICAgICAgICAgICBjYXNlIFB1dFNjb3BlZFZhcjogeworICAgICAgICAgICAg
ICAgIE5vZGUmIGdldFNjb3BlID0gbV9ncmFwaFtub2RlLmNoaWxkMSgpXTsKKyAgICAgICAgICAg
ICAgICBpZiAoZ2V0U2NvcGUuc2NvcGVDaGFpbkRlcHRoKCkgPT0gc2NvcGVDaGFpbkRlcHRoICYm
IG5vZGUudmFyTnVtYmVyKCkgPT0gdmFyTnVtYmVyKQorICAgICAgICAgICAgICAgICAgICByZXR1
cm4gaW5kZXg7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICBjYXNlIEdldFNjb3BlZFZhcjogeworICAgICAgICAgICAg
ICAgIE5vZGUmIGdldFNjb3BlUmVnaXN0ZXJzID0gbV9ncmFwaFtub2RlLmNoaWxkMSgpXTsKKyAg
ICAgICAgICAgICAgICBOb2RlJiBnZXRTY29wZSA9IG1fZ3JhcGhbZ2V0U2NvcGVSZWdpc3RlcnMu
Y2hpbGQxKCldOworICAgICAgICAgICAgICAgIGlmIChnZXRTY29wZS5zY29wZUNoYWluRGVwdGgo
KSA9PSBzY29wZUNoYWluRGVwdGggJiYgbm9kZS52YXJOdW1iZXIoKSA9PSB2YXJOdW1iZXIpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBOb05vZGU7CisgICAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobV9ncmFwaC5jbG9iYmVyc1dv
cmxkKGluZGV4KSB8fCBub2RlLmNhbkV4aXQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9O
b2RlOworICAgICAgICB9CisgICAgICAgIHJldHVybiBOb05vZGU7CisgICAgfQorICAgIAogICAg
IE5vZGVJbmRleCBnZXRCeVZhbExvYWRFbGltaW5hdGlvbihOb2RlSW5kZXggY2hpbGQxLCBOb2Rl
SW5kZXggY2hpbGQyKQogICAgIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbV9pbmRleElu
QmxvY2s7IGktLTspIHsKQEAgLTY4OSwxOSArNzQ5LDM1IEBAIHByaXZhdGU6CiAgICAgICAgIHJl
dHVybiBOb05vZGU7CiAgICAgfQogICAgIAotICAgIE5vZGVJbmRleCBnZXRTY29wZUNoYWluTG9h
ZEVsaW1pbmF0aW9uKHVuc2lnbmVkIGRlcHRoKQorICAgIE5vZGVJbmRleCBnZXRTY29wZUxvYWRF
bGltaW5hdGlvbih1bnNpZ25lZCBkZXB0aCkKICAgICB7CiAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IGVuZEluZGV4Rm9yUHVyZUNTRSgpOyBpLS07KSB7CiAgICAgICAgICAgICBOb2RlSW5kZXgg
aW5kZXggPSBtX2N1cnJlbnRCbG9jay0+YXQoaSk7CiAgICAgICAgICAgICBOb2RlJiBub2RlID0g
bV9ncmFwaFtpbmRleF07CiAgICAgICAgICAgICBpZiAoIW5vZGUuc2hvdWxkR2VuZXJhdGUoKSkK
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIGlmIChub2RlLm9wKCkgPT0g
R2V0U2NvcGVDaGFpbgorICAgICAgICAgICAgaWYgKG5vZGUub3AoKSA9PSBHZXRTY29wZQogICAg
ICAgICAgICAgICAgICYmIG5vZGUuc2NvcGVDaGFpbkRlcHRoKCkgPT0gZGVwdGgpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGluZGV4OwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBOb05vZGU7
CiAgICAgfQorCisgICAgTm9kZUluZGV4IGdldFNjb3BlUmVnaXN0ZXJzTG9hZEVsaW1pbmF0aW9u
KHVuc2lnbmVkIGRlcHRoKQorICAgIHsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gZW5kSW5k
ZXhGb3JQdXJlQ1NFKCk7IGktLTspIHsKKyAgICAgICAgICAgIE5vZGVJbmRleCBpbmRleCA9IG1f
Y3VycmVudEJsb2NrLT5hdChpKTsKKyAgICAgICAgICAgIE5vZGUmIG5vZGUgPSBtX2dyYXBoW2lu
ZGV4XTsKKyAgICAgICAgICAgIGlmICghbm9kZS5zaG91bGRHZW5lcmF0ZSgpKQorICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgaWYgKG5vZGUub3AoKSA9PSBHZXRTY29wZVJl
Z2lzdGVycworICAgICAgICAgICAgICAgICYmIG1fZ3JhcGhbbm9kZS5zY29wZSgpXS5zY29wZUNo
YWluRGVwdGgoKSA9PSBkZXB0aCkKKyAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXg7CisgICAg
ICAgIH0KKyAgICAgICAgcmV0dXJuIE5vTm9kZTsKKyAgICB9CisKKwogICAgIAogICAgIE5vZGVJ
bmRleCBnZXRMb2NhbExvYWRFbGltaW5hdGlvbihWaXJ0dWFsUmVnaXN0ZXIgbG9jYWwsIE5vZGVJ
bmRleCYgcmVsZXZhbnRMb2NhbE9wLCBib29sIGNhcmVBYm91dENsb2JiZXJpbmcpCiAgICAgewpA
QCAtNzg2LDcgKzg2Miw4IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIGNhc2UgR2V0
U2NvcGVDaGFpbjoKKyAgICAgICAgICAgIGNhc2UgR2V0U2NvcGU6CisgICAgICAgICAgICBjYXNl
IEdldFNjb3BlUmVnaXN0ZXJzOgogICAgICAgICAgICAgICAgIGlmIChtX2dyYXBoLnVuY2hlY2tl
ZEFjdGl2YXRpb25SZWdpc3RlckZvcihub2RlLmNvZGVPcmlnaW4pID09IGxvY2FsKQogICAgICAg
ICAgICAgICAgICAgICByZXN1bHQubWF5QmVBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAg
ICAgYnJlYWs7CkBAIC0xMDc5LDkgKzExNTYsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBH
ZXRBcnJheUxlbmd0aDoKICAgICAgICAgICAgIHNldFJlcGxhY2VtZW50KGdldEFycmF5TGVuZ3Ro
RWxpbWluYXRpb24obm9kZS5jaGlsZDEoKS5pbmRleCgpKSk7CiAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIAotICAgICAgICBjYXNlIEdldFNjb3BlQ2hhaW46Ci0gICAgICAgICAgICBz
ZXRSZXBsYWNlbWVudChnZXRTY29wZUNoYWluTG9hZEVsaW1pbmF0aW9uKG5vZGUuc2NvcGVDaGFp
bkRlcHRoKCkpKTsKKworICAgICAgICBjYXNlIEdldFNjb3BlOgorICAgICAgICAgICAgc2V0UmVw
bGFjZW1lbnQoZ2V0U2NvcGVMb2FkRWxpbWluYXRpb24obm9kZS5zY29wZUNoYWluRGVwdGgoKSkp
OworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBHZXRTY29wZVJlZ2lzdGVyczoK
KyAgICAgICAgICAgIHNldFJlcGxhY2VtZW50KGdldFNjb3BlUmVnaXN0ZXJzTG9hZEVsaW1pbmF0
aW9uKG1fZ3JhcGhbbm9kZS5zY29wZSgpXS5zY29wZUNoYWluRGVwdGgoKSkpOwogICAgICAgICAg
ICAgYnJlYWs7CiAKICAgICAgICAgLy8gSGFuZGxlIG5vZGVzIHRoYXQgYXJlIGNvbmRpdGlvbmFs
bHkgcHVyZTogdGhlc2UgYXJlIHB1cmUsIGFuZCBjYW4KQEAgLTExMDUsNyArMTE4NiwxNCBAQCBw
cml2YXRlOgogICAgICAgICBjYXNlIEdldEdsb2JhbFZhcjoKICAgICAgICAgICAgIHNldFJlcGxh
Y2VtZW50KGdsb2JhbFZhckxvYWRFbGltaW5hdGlvbihub2RlLnJlZ2lzdGVyUG9pbnRlcigpKSk7
CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIAorCisgICAgICAgIGNhc2UgR2V0U2Nv
cGVkVmFyOiB7CisgICAgICAgICAgICBOb2RlJiBnZXRTY29wZVJlZ2lzdGVycyA9IG1fZ3JhcGhb
bm9kZS5jaGlsZDEoKV07CisgICAgICAgICAgICBOb2RlJiBnZXRTY29wZSA9IG1fZ3JhcGhbZ2V0
U2NvcGVSZWdpc3RlcnMuY2hpbGQxKCldOworICAgICAgICAgICAgc2V0UmVwbGFjZW1lbnQoc2Nv
cGVkVmFyTG9hZEVsaW1pbmF0aW9uKGdldFNjb3BlLnNjb3BlQ2hhaW5EZXB0aCgpLCBub2RlLnZh
ck51bWJlcigpKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCiAgICAgICAgIGNh
c2UgR2xvYmFsVmFyV2F0Y2hwb2ludDoKICAgICAgICAgICAgIGlmIChnbG9iYWxWYXJXYXRjaHBv
aW50RWxpbWluYXRpb24obm9kZS5yZWdpc3RlclBvaW50ZXIoKSkpCiAgICAgICAgICAgICAgICAg
ZWxpbWluYXRlKCk7CkBAIC0xMTE4LDYgKzEyMDYsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgICAg
IGVsaW1pbmF0ZShnbG9iYWxWYXJTdG9yZUVsaW1pbmF0aW9uKG5vZGUucmVnaXN0ZXJQb2ludGVy
KCkpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgCisgICAgICAgIGNhc2UgUHV0
U2NvcGVkVmFyOiB7CisgICAgICAgICAgICBpZiAobV9ncmFwaC5tX2ZpeHBvaW50U3RhdGUgPT0g
Rml4cG9pbnROb3RDb252ZXJnZWQpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICBOb2RlJiBnZXRTY29wZSA9IG1fZ3JhcGhbbm9kZS5jaGlsZDEoKV07CisgICAgICAgICAgICBl
bGltaW5hdGUoc2NvcGVkVmFyU3RvcmVFbGltaW5hdGlvbihnZXRTY29wZS5zY29wZUNoYWluRGVw
dGgoKSwgbm9kZS52YXJOdW1iZXIoKSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KwogICAgICAgICBjYXNlIEdldEJ5VmFsOgogICAgICAgICAgICAgaWYgKG1fZ3JhcGguYnlWYWxJ
c1B1cmUobm9kZSkpCiAgICAgICAgICAgICAgICAgc2V0UmVwbGFjZW1lbnQoZ2V0QnlWYWxMb2Fk
RWxpbWluYXRpb24obm9kZS5jaGlsZDEoKS5pbmRleCgpLCBub2RlLmNoaWxkMigpLmluZGV4KCkp
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCShyZXZpc2lvbiAxMjkyOTkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAkod29ya2luZyBjb3B5KQpA
QCAtNDY2LDcgKzQ2Niw3IEBAIHN0cnVjdCBOb2RlIHsKIAogICAgIGJvb2wgaGFzU2NvcGVDaGFp
bkRlcHRoKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBvcCgpID09IEdldFNjb3BlQ2hhaW47Cisg
ICAgICAgIHJldHVybiBvcCgpID09IEdldFNjb3BlOwogICAgIH0KICAgICAKICAgICB1bnNpZ25l
ZCBzY29wZUNoYWluRGVwdGgoKQpAQCAtNDc1LDYgKzQ3NSwxMiBAQCBzdHJ1Y3QgTm9kZSB7CiAg
ICAgICAgIHJldHVybiBtX29wSW5mbzsKICAgICB9CiAKKyAgICBFZGdlIHNjb3BlKCkKKyAgICB7
CisgICAgICAgIEFTU0VSVChvcCgpID09IEdldFNjb3BlUmVnaXN0ZXJzKTsKKyAgICAgICAgcmV0
dXJuIGNoaWxkMSgpOworICAgIH0KKwogICAgIGJvb2wgaGFzUmVzdWx0KCkKICAgICB7CiAgICAg
ICAgIHJldHVybiBtX2ZsYWdzICYgTm9kZVJlc3VsdE1hc2s7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCShyZXZpc2lvbiAxMjkyOTkpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCwxMCAr
MTQ0LDExIEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKICAgICBtYWNybyhHZXRC
eU9mZnNldCwgTm9kZVJlc3VsdEpTKSBcCiAgICAgbWFjcm8oUHV0QnlPZmZzZXQsIE5vZGVNdXN0
R2VuZXJhdGUpIFwKICAgICBtYWNybyhHZXRBcnJheUxlbmd0aCwgTm9kZVJlc3VsdEludDMyKSBc
Ci0gICAgbWFjcm8oR2V0U2NvcGVDaGFpbiwgTm9kZVJlc3VsdEpTKSBcCi0gICAgbWFjcm8oR2V0
U2NvcGVkVmFyLCBOb2RlUmVzdWx0SlMgfCBOb2RlTXVzdEdlbmVyYXRlKSBcCisgICAgbWFjcm8o
R2V0U2NvcGUsIE5vZGVSZXN1bHRKUykgXAorICAgIG1hY3JvKEdldFNjb3BlUmVnaXN0ZXJzLCBO
b2RlUmVzdWx0U3RvcmFnZSkgXAorICAgIG1hY3JvKEdldFNjb3BlZFZhciwgTm9kZVJlc3VsdEpT
KSBcCiAgICAgbWFjcm8oUHV0U2NvcGVkVmFyLCBOb2RlTXVzdEdlbmVyYXRlIHwgTm9kZUNsb2Ji
ZXJzV29ybGQpIFwKLSAgICBtYWNybyhHZXRHbG9iYWxWYXIsIE5vZGVSZXN1bHRKUyB8IE5vZGVN
dXN0R2VuZXJhdGUpIFwKKyAgICBtYWNybyhHZXRHbG9iYWxWYXIsIE5vZGVSZXN1bHRKUykgXAog
ICAgIG1hY3JvKFB1dEdsb2JhbFZhciwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKEds
b2JhbFZhcldhdGNocG9pbnQsIE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhQdXRHbG9i
YWxWYXJDaGVjaywgTm9kZU11c3RHZW5lcmF0ZSkgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHAJKHJldmlzaW9uIDEyOTI5OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJl
ZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDcsNyArNDQ3
LDggQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGNoYW5nZWQgfD0gc2V0UHJlZGljdGlvbihTcGVj
SW50MzIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgICAgIAorCisg
ICAgICAgIGNhc2UgR2V0U2NvcGVSZWdpc3RlcnM6ICAgICAgICAgICAgCiAgICAgICAgIGNhc2Ug
R2V0QnV0dGVyZmx5OiAKICAgICAgICAgY2FzZSBHZXRJbmRleGVkUHJvcGVydHlTdG9yYWdlOgog
ICAgICAgICBjYXNlIEFsbG9jYXRlUHJvcGVydHlTdG9yYWdlOgpAQCAtNTA5LDcgKzUxMCw3IEBA
IHByaXZhdGU6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICAgICAgCi0g
ICAgICAgIGNhc2UgR2V0U2NvcGVDaGFpbjogeworICAgICAgICBjYXNlIEdldFNjb3BlOiB7CiAg
ICAgICAgICAgICBjaGFuZ2VkIHw9IHNldFByZWRpY3Rpb24oU3BlY0NlbGxPdGhlcik7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCShyZXZpc2lvbiAxMjkyOTkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMzcxLDcgKzMzNzEsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGNhc2Ug
R2V0U2NvcGVDaGFpbjogeworICAgIGNhc2UgR2V0U2NvcGU6IHsKICAgICAgICAgR1BSVGVtcG9y
YXJ5IHJlc3VsdCh0aGlzKTsKICAgICAgICAgR1BSUmVnIHJlc3VsdEdQUiA9IHJlc3VsdC5ncHIo
KTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUNjQuY3BwCShyZXZpc2lvbiAxMjkyOTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMzgwLDcgKzMz
ODAsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgICAg
IGJyZWFrOwogICAgIH0KIAotICAgIGNhc2UgR2V0U2NvcGVDaGFpbjogeworICAgIGNhc2UgR2V0
U2NvcGU6IHsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKICAgICAgICAgR1BS
UmVnIHJlc3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKIApAQCAtMzQwMSwyMyArMzQwMSwzOSBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgICAgIGNlbGxSZXN1
bHQocmVzdWx0R1BSLCBtX2NvbXBpbGVJbmRleCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAg
ICBjYXNlIEdldFNjb3BlZFZhcjogeworICAgIGNhc2UgR2V0U2NvcGVSZWdpc3RlcnM6IHsKICAg
ICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgc2NvcGUodGhpcywgbm9kZS5jaGlsZDEoKSk7CiAg
ICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcyk7CisgICAgICAgIEdQUlJlZyBzY29wZUdQ
UiA9IHNjb3BlLmdwcigpOworICAgICAgICBHUFJSZWcgcmVzdWx0R1BSID0gcmVzdWx0Lmdwcigp
OworCisgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3Moc2NvcGVHUFIs
IEpTVmFyaWFibGVPYmplY3Q6Om9mZnNldE9mUmVnaXN0ZXJzKCkpLCByZXN1bHRHUFIpOworICAg
ICAgICBzdG9yYWdlUmVzdWx0KHJlc3VsdEdQUiwgbV9jb21waWxlSW5kZXgpOworICAgICAgICBi
cmVhazsKKyAgICB9CisgICAgY2FzZSBHZXRTY29wZWRWYXI6IHsKKyAgICAgICAgU3RvcmFnZU9w
ZXJhbmQgcmVnaXN0ZXJzKHRoaXMsIG5vZGUuY2hpbGQxKCkpOworICAgICAgICBHUFJUZW1wb3Jh
cnkgcmVzdWx0KHRoaXMpOworICAgICAgICBHUFJSZWcgcmVnaXN0ZXJzR1BSID0gcmVnaXN0ZXJz
LmdwcigpOwogICAgICAgICBHUFJSZWcgcmVzdWx0R1BSID0gcmVzdWx0LmdwcigpOwotICAgICAg
ICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHNjb3BlLmdwcigpLCBKU1Zhcmlh
YmxlT2JqZWN0OjpvZmZzZXRPZlJlZ2lzdGVycygpKSwgcmVzdWx0R1BSKTsKLSAgICAgICAgbV9q
aXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhyZXN1bHRHUFIsIG5vZGUudmFyTnVtYmVy
KCkgKiBzaXplb2YoUmVnaXN0ZXIpKSwgcmVzdWx0R1BSKTsKKworICAgICAgICBtX2ppdC5sb2Fk
UHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJlZ2lzdGVyc0dQUiwgbm9kZS52YXJOdW1iZXIoKSAq
IHNpemVvZihSZWdpc3RlcikpLCByZXN1bHRHUFIpOwogICAgICAgICBqc1ZhbHVlUmVzdWx0KHJl
c3VsdEdQUiwgbV9jb21waWxlSW5kZXgpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2Fz
ZSBQdXRTY29wZWRWYXI6IHsKICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgc2NvcGUodGhp
cywgbm9kZS5jaGlsZDEoKSk7CisgICAgICAgIFN0b3JhZ2VPcGVyYW5kIHJlZ2lzdGVycyh0aGlz
LCBub2RlLmNoaWxkMigpKTsKKyAgICAgICAgSlNWYWx1ZU9wZXJhbmQgdmFsdWUodGhpcywgbm9k
ZS5jaGlsZDMoKSk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoUmVnaXN0ZXIodGhpcyk7
CisKKyAgICAgICAgR1BSUmVnIHNjb3BlR1BSID0gc2NvcGUuZ3ByKCk7CisgICAgICAgIEdQUlJl
ZyByZWdpc3RlcnNHUFIgPSByZWdpc3RlcnMuZ3ByKCk7CisgICAgICAgIEdQUlJlZyB2YWx1ZUdQ
UiA9IHZhbHVlLmdwcigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaEdQUiA9IHNjcmF0Y2hSZWdp
c3Rlci5ncHIoKTsKLSAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhz
Y29wZS5ncHIoKSwgSlNWYXJpYWJsZU9iamVjdDo6b2Zmc2V0T2ZSZWdpc3RlcnMoKSksIHNjcmF0
Y2hHUFIpOwotICAgICAgICBKU1ZhbHVlT3BlcmFuZCB2YWx1ZSh0aGlzLCBub2RlLmNoaWxkMigp
KTsKLSAgICAgICAgbV9qaXQuc3RvcmVQdHIodmFsdWUuZ3ByKCksIEpJVENvbXBpbGVyOjpBZGRy
ZXNzKHNjcmF0Y2hHUFIsIG5vZGUudmFyTnVtYmVyKCkgKiBzaXplb2YoUmVnaXN0ZXIpKSk7Ci0g
ICAgICAgIHdyaXRlQmFycmllcihzY29wZS5ncHIoKSwgdmFsdWUuZ3ByKCksIG5vZGUuY2hpbGQy
KCksIFdyaXRlQmFycmllckZvclZhcmlhYmxlQWNjZXNzLCBzY3JhdGNoR1BSKTsKKworICAgICAg
ICBtX2ppdC5zdG9yZVB0cih2YWx1ZUdQUiwgSklUQ29tcGlsZXI6OkFkZHJlc3MocmVnaXN0ZXJz
R1BSLCBub2RlLnZhck51bWJlcigpICogc2l6ZW9mKFJlZ2lzdGVyKSkpOworICAgICAgICB3cml0
ZUJhcnJpZXIoc2NvcGVHUFIsIHZhbHVlR1BSLCBub2RlLmNoaWxkMygpLCBXcml0ZUJhcnJpZXJG
b3JWYXJpYWJsZUFjY2Vzcywgc2NyYXRjaEdQUik7CiAgICAgICAgIG5vUmVzdWx0KG1fY29tcGls
ZUluZGV4KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQo=
</data>
<flag name="review"
          id="177302"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>