<?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>62906</bug_id>
          
          <creation_ts>2011-06-17 13:46:36 -0700</creation_ts>
          <short_desc>Moved some property access JIT code into property access JIT files</short_desc>
          <delta_ts>2011-06-17 13:52:19 -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>422861</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-17 13:46:36 -0700</bug_when>
    <thetext>Moved some property access JIT code into property access JIT files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422862</commentid>
    <comment_count>1</comment_count>
      <attachid>97647</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-17 13:47:01 -0700</bug_when>
    <thetext>Created attachment 97647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422863</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-17 13:52:19 -0700</bug_when>
    <thetext>Committed r89171: &lt;http://trac.webkit.org/changeset/89171&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97647</attachid>
            <date>2011-06-17 13:47:01 -0700</date>
            <delta_ts>2011-06-17 13:47:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62906-20110617134700.patch</filename>
            <type>text/plain</type>
            <size>17525</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODkxNjkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAK
KzIwMTEtMDYtMTcgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlZCBzb21lIHByb3Bl
cnR5IGFjY2VzcyBKSVQgY29kZSBpbnRvIHByb3BlcnR5IGFjY2VzcyBKSVQgZmlsZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTA2CisKKyAgICAg
ICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgICogaml0L0pJVE9wY29kZXMzMl82NC5j
cHA6CisgICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6
SklUOjplbWl0U2xvd19vcF9wdXRfYnlfdmFsKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X2dldF9zY29wZWRfdmFyKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX3B1dF9zY29wZWRf
dmFyKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX2dldF9nbG9iYWxfdmFyKToKKyAgICAg
ICAgKEpTQzo6SklUOjplbWl0X29wX3B1dF9nbG9iYWxfdmFyKToKKyAgICAgICAgKiBqaXQvSklU
UHJvcGVydHlBY2Nlc3MzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9nZXRf
c2NvcGVkX3Zhcik6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9wdXRfc2NvcGVkX3Zhcik6
CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9nZXRfZ2xvYmFsX3Zhcik6CisgICAgICAgIChK
U0M6OkpJVDo6ZW1pdF9vcF9wdXRfZ2xvYmFsX3Zhcik6CisKIDIwMTEtMDYtMTcgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXguCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCShyZXZp
c2lvbiA4OTE2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjI1LDg5ICs2MjUsNiBAQCB2b2lkIEpJVDo6ZW1pdFNs
b3dfb3BfaW5zdGFuY2VvZihJbnN0cnVjCiAgICAgc3R1YkNhbGwuY2FsbChkc3QpOwogfQogCi12
b2lkIEpJVDo6ZW1pdF9vcF9nZXRfZ2xvYmFsX3ZhcihJbnN0cnVjdGlvbiogY3VycmVudEluc3Ry
dWN0aW9uKQotewotICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5k
OwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2NvZGVCbG9jay0+Z2xvYmFs
T2JqZWN0KCk7Ci0gICAgQVNTRVJUKGdsb2JhbE9iamVjdC0+aXNHbG9iYWxPYmplY3QoKSk7Ci0g
ICAgaW50IGluZGV4ID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKLQotICAgIGxv
YWRQdHIoJmdsb2JhbE9iamVjdC0+bV9yZWdpc3RlcnMsIHJlZ1QyKTsKLQotICAgIGVtaXRMb2Fk
KGluZGV4LCByZWdUMSwgcmVnVDAsIHJlZ1QyKTsKLSAgICBlbWl0U3RvcmUoZHN0LCByZWdUMSwg
cmVnVDApOwotICAgIG1hcChtX2J5dGVjb2RlT2Zmc2V0ICsgT1BDT0RFX0xFTkdUSChvcF9nZXRf
Z2xvYmFsX3ZhciksIGRzdCwgcmVnVDEsIHJlZ1QwKTsKLX0KLQotdm9pZCBKSVQ6OmVtaXRfb3Bf
cHV0X2dsb2JhbF92YXIoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKLXsKLSAgICBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdCgp
OwotICAgIEFTU0VSVChnbG9iYWxPYmplY3QtPmlzR2xvYmFsT2JqZWN0KCkpOwotICAgIGludCBp
bmRleCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7Ci0gICAgaW50IHZhbHVlID0g
Y3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKLQotICAgIGVtaXRMb2FkKHZhbHVlLCBy
ZWdUMSwgcmVnVDApOwotCi0gICAgbG9hZFB0cigmZ2xvYmFsT2JqZWN0LT5tX3JlZ2lzdGVycywg
cmVnVDIpOwotICAgIGVtaXRTdG9yZShpbmRleCwgcmVnVDEsIHJlZ1QwLCByZWdUMik7Ci0gICAg
bWFwKG1fYnl0ZWNvZGVPZmZzZXQgKyBPUENPREVfTEVOR1RIKG9wX3B1dF9nbG9iYWxfdmFyKSwg
dmFsdWUsIHJlZ1QxLCByZWdUMCk7Ci19Ci0KLXZvaWQgSklUOjplbWl0X29wX2dldF9zY29wZWRf
dmFyKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCi17Ci0gICAgaW50IGRzdCA9IGN1
cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7Ci0gICAgaW50IGluZGV4ID0gY3VycmVudElu
c3RydWN0aW9uWzJdLnUub3BlcmFuZDsKLSAgICBpbnQgc2tpcCA9IGN1cnJlbnRJbnN0cnVjdGlv
blszXS51Lm9wZXJhbmQ7Ci0KLSAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihSZWdp
c3RlckZpbGU6OlNjb3BlQ2hhaW4sIHJlZ1QyKTsKLSAgICBib29sIGNoZWNrVG9wTGV2ZWwgPSBt
X2NvZGVCbG9jay0+Y29kZVR5cGUoKSA9PSBGdW5jdGlvbkNvZGUgJiYgbV9jb2RlQmxvY2stPm5l
ZWRzRnVsbFNjb3BlQ2hhaW4oKTsKLSAgICBBU1NFUlQoc2tpcCB8fCAhY2hlY2tUb3BMZXZlbCk7
Ci0gICAgaWYgKGNoZWNrVG9wTGV2ZWwgJiYgc2tpcC0tKSB7Ci0gICAgICAgIEp1bXAgYWN0aXZh
dGlvbk5vdENyZWF0ZWQ7Ci0gICAgICAgIGlmIChjaGVja1RvcExldmVsKQotICAgICAgICAgICAg
YWN0aXZhdGlvbk5vdENyZWF0ZWQgPSBicmFuY2gzMihFcXVhbCwgdGFnRm9yKG1fY29kZUJsb2Nr
LT5hY3RpdmF0aW9uUmVnaXN0ZXIoKSksIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpFbXB0eVZhbHVl
VGFnKSk7Ci0gICAgICAgIGxvYWRQdHIoQWRkcmVzcyhyZWdUMiwgT0JKRUNUX09GRlNFVE9GKFNj
b3BlQ2hhaW5Ob2RlLCBuZXh0KSksIHJlZ1QyKTsKLSAgICAgICAgYWN0aXZhdGlvbk5vdENyZWF0
ZWQubGluayh0aGlzKTsKLSAgICB9Ci0gICAgd2hpbGUgKHNraXAtLSkKLSAgICAgICAgbG9hZFB0
cihBZGRyZXNzKHJlZ1QyLCBPQkpFQ1RfT0ZGU0VUT0YoU2NvcGVDaGFpbk5vZGUsIG5leHQpKSwg
cmVnVDIpOwotCi0gICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QyLCBPQkpFQ1RfT0ZGU0VUT0YoU2Nv
cGVDaGFpbk5vZGUsIG9iamVjdCkpLCByZWdUMik7Ci0gICAgbG9hZFB0cihBZGRyZXNzKHJlZ1Qy
LCBPQkpFQ1RfT0ZGU0VUT0YoSlNWYXJpYWJsZU9iamVjdCwgbV9yZWdpc3RlcnMpKSwgcmVnVDIp
OwotCi0gICAgZW1pdExvYWQoaW5kZXgsIHJlZ1QxLCByZWdUMCwgcmVnVDIpOwotICAgIGVtaXRT
dG9yZShkc3QsIHJlZ1QxLCByZWdUMCk7Ci0gICAgbWFwKG1fYnl0ZWNvZGVPZmZzZXQgKyBPUENP
REVfTEVOR1RIKG9wX2dldF9zY29wZWRfdmFyKSwgZHN0LCByZWdUMSwgcmVnVDApOwotfQotCi12
b2lkIEpJVDo6ZW1pdF9vcF9wdXRfc2NvcGVkX3ZhcihJbnN0cnVjdGlvbiogY3VycmVudEluc3Ry
dWN0aW9uKQotewotICAgIGludCBpbmRleCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJh
bmQ7Ci0gICAgaW50IHNraXAgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOwotICAg
IGludCB2YWx1ZSA9IGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQ7Ci0KLSAgICBlbWl0
TG9hZCh2YWx1ZSwgcmVnVDEsIHJlZ1QwKTsKLQotICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVh
ZGVyUHRyKFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFpbiwgcmVnVDIpOwotICAgIGJvb2wgY2hlY2tU
b3BMZXZlbCA9IG1fY29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSAmJiBtX2Nv
ZGVCbG9jay0+bmVlZHNGdWxsU2NvcGVDaGFpbigpOwotICAgIEFTU0VSVChza2lwIHx8ICFjaGVj
a1RvcExldmVsKTsKLSAgICBpZiAoY2hlY2tUb3BMZXZlbCAmJiBza2lwLS0pIHsKLSAgICAgICAg
SnVtcCBhY3RpdmF0aW9uTm90Q3JlYXRlZDsKLSAgICAgICAgaWYgKGNoZWNrVG9wTGV2ZWwpCi0g
ICAgICAgICAgICBhY3RpdmF0aW9uTm90Q3JlYXRlZCA9IGJyYW5jaDMyKEVxdWFsLCB0YWdGb3Io
bV9jb2RlQmxvY2stPmFjdGl2YXRpb25SZWdpc3RlcigpKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6
OkVtcHR5VmFsdWVUYWcpKTsKLSAgICAgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QyLCBPQkpFQ1Rf
T0ZGU0VUT0YoU2NvcGVDaGFpbk5vZGUsIG5leHQpKSwgcmVnVDIpOwotICAgICAgICBhY3RpdmF0
aW9uTm90Q3JlYXRlZC5saW5rKHRoaXMpOwotICAgIH0KLSAgICB3aGlsZSAoc2tpcC0tKQotICAg
ICAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDIsIE9CSkVDVF9PRkZTRVRPRihTY29wZUNoYWluTm9k
ZSwgbmV4dCkpLCByZWdUMik7Ci0KLSAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDIsIE9CSkVDVF9P
RkZTRVRPRihTY29wZUNoYWluTm9kZSwgb2JqZWN0KSksIHJlZ1QyKTsKLSAgICBsb2FkUHRyKEFk
ZHJlc3MocmVnVDIsIE9CSkVDVF9PRkZTRVRPRihKU1ZhcmlhYmxlT2JqZWN0LCBtX3JlZ2lzdGVy
cykpLCByZWdUMik7Ci0KLSAgICBlbWl0U3RvcmUoaW5kZXgsIHJlZ1QxLCByZWdUMCwgcmVnVDIp
OwotICAgIG1hcChtX2J5dGVjb2RlT2Zmc2V0ICsgT1BDT0RFX0xFTkdUSChvcF9wdXRfc2NvcGVk
X3ZhciksIHZhbHVlLCByZWdUMSwgcmVnVDApOwotfQotCiB2b2lkIEpJVDo6ZW1pdF9vcF90ZWFy
X29mZl9hY3RpdmF0aW9uKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CiAgICAg
dW5zaWduZWQgYWN0aXZhdGlvbiA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDg5
MTYwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDM0LDY4ICs0MzQsNiBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9jb25zdHJ1Y3Qo
SW5zdHJ1Y3Rpb24qCiAgICAgY29tcGlsZU9wQ2FsbChvcF9jb25zdHJ1Y3QsIGN1cnJlbnRJbnN0
cnVjdGlvbiwgbV9jYWxsTGlua0luZm9JbmRleCsrKTsKIH0KIAotdm9pZCBKSVQ6OmVtaXRfb3Bf
Z2V0X2dsb2JhbF92YXIoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKLXsKLSAgICBK
U1ZhcmlhYmxlT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0
KCk7Ci0gICAgbG9hZFB0cigmZ2xvYmFsT2JqZWN0LT5tX3JlZ2lzdGVycywgcmVnVDApOwotICAg
IGxvYWRQdHIoQWRkcmVzcyhyZWdUMCwgY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCAq
IHNpemVvZihSZWdpc3RlcikpLCByZWdUMCk7Ci0gICAgZW1pdFB1dFZpcnR1YWxSZWdpc3Rlcihj
dXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKTsKLX0KLQotdm9pZCBKSVQ6OmVtaXRfb3Bf
cHV0X2dsb2JhbF92YXIoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKLXsKLSAgICBl
bWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJl
Z1QxKTsKLSAgICBKU1ZhcmlhYmxlT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2NvZGVCbG9jay0+
Z2xvYmFsT2JqZWN0KCk7Ci0gICAgbG9hZFB0cigmZ2xvYmFsT2JqZWN0LT5tX3JlZ2lzdGVycywg
cmVnVDApOwotICAgIHN0b3JlUHRyKHJlZ1QxLCBBZGRyZXNzKHJlZ1QwLCBjdXJyZW50SW5zdHJ1
Y3Rpb25bMV0udS5vcGVyYW5kICogc2l6ZW9mKFJlZ2lzdGVyKSkpOwotfQotCi12b2lkIEpJVDo6
ZW1pdF9vcF9nZXRfc2NvcGVkX3ZhcihJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQot
ewotICAgIGludCBza2lwID0gY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZDsKLQotICAg
IGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFpbiwg
cmVnVDApOwotICAgIGJvb2wgY2hlY2tUb3BMZXZlbCA9IG1fY29kZUJsb2NrLT5jb2RlVHlwZSgp
ID09IEZ1bmN0aW9uQ29kZSAmJiBtX2NvZGVCbG9jay0+bmVlZHNGdWxsU2NvcGVDaGFpbigpOwot
ICAgIEFTU0VSVChza2lwIHx8ICFjaGVja1RvcExldmVsKTsKLSAgICBpZiAoY2hlY2tUb3BMZXZl
bCAmJiBza2lwLS0pIHsKLSAgICAgICAgSnVtcCBhY3RpdmF0aW9uTm90Q3JlYXRlZDsKLSAgICAg
ICAgaWYgKGNoZWNrVG9wTGV2ZWwpCi0gICAgICAgICAgICBhY3RpdmF0aW9uTm90Q3JlYXRlZCA9
IGJyYW5jaFRlc3RQdHIoWmVybywgYWRkcmVzc0ZvcihtX2NvZGVCbG9jay0+YWN0aXZhdGlvblJl
Z2lzdGVyKCkpKTsKLSAgICAgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QwLCBPQkpFQ1RfT0ZGU0VU
T0YoU2NvcGVDaGFpbk5vZGUsIG5leHQpKSwgcmVnVDApOwotICAgICAgICBhY3RpdmF0aW9uTm90
Q3JlYXRlZC5saW5rKHRoaXMpOwotICAgIH0KLSAgICB3aGlsZSAoc2tpcC0tKQotICAgICAgICBs
b2FkUHRyKEFkZHJlc3MocmVnVDAsIE9CSkVDVF9PRkZTRVRPRihTY29wZUNoYWluTm9kZSwgbmV4
dCkpLCByZWdUMCk7Ci0KLSAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDAsIE9CSkVDVF9PRkZTRVRP
RihTY29wZUNoYWluTm9kZSwgb2JqZWN0KSksIHJlZ1QwKTsKLSAgICBsb2FkUHRyKEFkZHJlc3Mo
cmVnVDAsIE9CSkVDVF9PRkZTRVRPRihKU1ZhcmlhYmxlT2JqZWN0LCBtX3JlZ2lzdGVycykpLCBy
ZWdUMCk7Ci0gICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QwLCBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0u
dS5vcGVyYW5kICogc2l6ZW9mKFJlZ2lzdGVyKSksIHJlZ1QwKTsKLSAgICBlbWl0UHV0VmlydHVh
bFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpOwotfQotCi12b2lkIEpJ
VDo6ZW1pdF9vcF9wdXRfc2NvcGVkX3ZhcihJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9u
KQotewotICAgIGludCBza2lwID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKLQot
ICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFp
biwgcmVnVDEpOwotICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9u
WzNdLnUub3BlcmFuZCwgcmVnVDApOwotICAgIGJvb2wgY2hlY2tUb3BMZXZlbCA9IG1fY29kZUJs
b2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSAmJiBtX2NvZGVCbG9jay0+bmVlZHNGdWxs
U2NvcGVDaGFpbigpOwotICAgIEFTU0VSVChza2lwIHx8ICFjaGVja1RvcExldmVsKTsKLSAgICBp
ZiAoY2hlY2tUb3BMZXZlbCAmJiBza2lwLS0pIHsKLSAgICAgICAgSnVtcCBhY3RpdmF0aW9uTm90
Q3JlYXRlZDsKLSAgICAgICAgaWYgKGNoZWNrVG9wTGV2ZWwpCi0gICAgICAgICAgICBhY3RpdmF0
aW9uTm90Q3JlYXRlZCA9IGJyYW5jaFRlc3RQdHIoWmVybywgYWRkcmVzc0ZvcihtX2NvZGVCbG9j
ay0+YWN0aXZhdGlvblJlZ2lzdGVyKCkpKTsKLSAgICAgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1Qx
LCBPQkpFQ1RfT0ZGU0VUT0YoU2NvcGVDaGFpbk5vZGUsIG5leHQpKSwgcmVnVDEpOwotICAgICAg
ICBhY3RpdmF0aW9uTm90Q3JlYXRlZC5saW5rKHRoaXMpOwotICAgIH0KLSAgICB3aGlsZSAoc2tp
cC0tKQotICAgICAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDEsIE9CSkVDVF9PRkZTRVRPRihTY29w
ZUNoYWluTm9kZSwgbmV4dCkpLCByZWdUMSk7Ci0KLSAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDEs
IE9CSkVDVF9PRkZTRVRPRihTY29wZUNoYWluTm9kZSwgb2JqZWN0KSksIHJlZ1QxKTsKLSAgICBs
b2FkUHRyKEFkZHJlc3MocmVnVDEsIE9CSkVDVF9PRkZTRVRPRihKU1ZhcmlhYmxlT2JqZWN0LCBt
X3JlZ2lzdGVycykpLCByZWdUMSk7Ci0gICAgc3RvcmVQdHIocmVnVDAsIEFkZHJlc3MocmVnVDEs
IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQgKiBzaXplb2YoUmVnaXN0ZXIpKSk7Ci19
Ci0KIHZvaWQgSklUOjplbWl0X29wX3RlYXJfb2ZmX2FjdGl2YXRpb24oSW5zdHJ1Y3Rpb24qIGN1
cnJlbnRJbnN0cnVjdGlvbikKIHsKICAgICB1bnNpZ25lZCBhY3RpdmF0aW9uID0gY3VycmVudElu
c3RydWN0aW9uWzFdLnUub3BlcmFuZDsKQEAgLTEzMjcsMjQgKzEyNjUsNiBAQCB2b2lkIEpJVDo6
ZW1pdFNsb3dfb3BfbG9vcF9pZl9sZXNzZXEoSW5zCiAgICAgfQogfQogCi12b2lkIEpJVDo6ZW1p
dFNsb3dfb3BfcHV0X2J5X3ZhbChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uLCBWZWN0
b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJiBpdGVyKQotewotICAgIHVuc2lnbmVkIGJhc2Ug
PSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOwotICAgIHVuc2lnbmVkIHByb3BlcnR5
ID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKLSAgICB1bnNpZ25lZCB2YWx1ZSA9
IGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQ7Ci0KLSAgICBsaW5rU2xvd0Nhc2UoaXRl
cik7IC8vIHByb3BlcnR5IGludDMyIGNoZWNrCi0gICAgbGlua1Nsb3dDYXNlSWZOb3RKU0NlbGwo
aXRlciwgYmFzZSk7IC8vIGJhc2UgY2VsbCBjaGVjawotICAgIGxpbmtTbG93Q2FzZShpdGVyKTsg
Ly8gYmFzZSBub3QgYXJyYXkgY2hlY2sKLSAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGluIHZl
Y3RvciBjaGVjawotCi0gICAgSklUU3R1YkNhbGwgc3R1YlB1dEJ5VmFsQ2FsbCh0aGlzLCBjdGlf
b3BfcHV0X2J5X3ZhbCk7Ci0gICAgc3R1YlB1dEJ5VmFsQ2FsbC5hZGRBcmd1bWVudChyZWdUMCk7
Ci0gICAgc3R1YlB1dEJ5VmFsQ2FsbC5hZGRBcmd1bWVudChwcm9wZXJ0eSwgcmVnVDIpOwotICAg
IHN0dWJQdXRCeVZhbENhbGwuYWRkQXJndW1lbnQodmFsdWUsIHJlZ1QyKTsKLSAgICBzdHViUHV0
QnlWYWxDYWxsLmNhbGwoKTsKLX0KLQogdm9pZCBKSVQ6OmVtaXRTbG93X29wX25vdChJbnN0cnVj
dGlvbiogY3VycmVudEluc3RydWN0aW9uLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9y
JiBpdGVyKQogewogICAgIGxpbmtTbG93Q2FzZShpdGVyKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAkocmV2aXNp
b24gODkxNjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNz
MzJfNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05OTgsNiArOTk4LDg5IEBAIHZvaWQgSklUOjpl
bWl0U2xvd19vcF9nZXRfYnlfcG5hbWUoSW5zdHIKICAgICBzdHViQ2FsbC5jYWxsKGRzdCk7CiB9
CiAKK3ZvaWQgSklUOjplbWl0X29wX2dldF9zY29wZWRfdmFyKEluc3RydWN0aW9uKiBjdXJyZW50
SW5zdHJ1Y3Rpb24pCit7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9w
ZXJhbmQ7CisgICAgaW50IGluZGV4ID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsK
KyAgICBpbnQgc2tpcCA9IGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQ7CisKKyAgICBl
bWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3RlckZpbGU6OlNjb3BlQ2hhaW4sIHJl
Z1QyKTsKKyAgICBib29sIGNoZWNrVG9wTGV2ZWwgPSBtX2NvZGVCbG9jay0+Y29kZVR5cGUoKSA9
PSBGdW5jdGlvbkNvZGUgJiYgbV9jb2RlQmxvY2stPm5lZWRzRnVsbFNjb3BlQ2hhaW4oKTsKKyAg
ICBBU1NFUlQoc2tpcCB8fCAhY2hlY2tUb3BMZXZlbCk7CisgICAgaWYgKGNoZWNrVG9wTGV2ZWwg
JiYgc2tpcC0tKSB7CisgICAgICAgIEp1bXAgYWN0aXZhdGlvbk5vdENyZWF0ZWQ7CisgICAgICAg
IGlmIChjaGVja1RvcExldmVsKQorICAgICAgICAgICAgYWN0aXZhdGlvbk5vdENyZWF0ZWQgPSBi
cmFuY2gzMihFcXVhbCwgdGFnRm9yKG1fY29kZUJsb2NrLT5hY3RpdmF0aW9uUmVnaXN0ZXIoKSks
IFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpFbXB0eVZhbHVlVGFnKSk7CisgICAgICAgIGxvYWRQdHIo
QWRkcmVzcyhyZWdUMiwgT0JKRUNUX09GRlNFVE9GKFNjb3BlQ2hhaW5Ob2RlLCBuZXh0KSksIHJl
Z1QyKTsKKyAgICAgICAgYWN0aXZhdGlvbk5vdENyZWF0ZWQubGluayh0aGlzKTsKKyAgICB9Cisg
ICAgd2hpbGUgKHNraXAtLSkKKyAgICAgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QyLCBPQkpFQ1Rf
T0ZGU0VUT0YoU2NvcGVDaGFpbk5vZGUsIG5leHQpKSwgcmVnVDIpOworCisgICAgbG9hZFB0cihB
ZGRyZXNzKHJlZ1QyLCBPQkpFQ1RfT0ZGU0VUT0YoU2NvcGVDaGFpbk5vZGUsIG9iamVjdCkpLCBy
ZWdUMik7CisgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QyLCBPQkpFQ1RfT0ZGU0VUT0YoSlNWYXJp
YWJsZU9iamVjdCwgbV9yZWdpc3RlcnMpKSwgcmVnVDIpOworCisgICAgZW1pdExvYWQoaW5kZXgs
IHJlZ1QxLCByZWdUMCwgcmVnVDIpOworICAgIGVtaXRTdG9yZShkc3QsIHJlZ1QxLCByZWdUMCk7
CisgICAgbWFwKG1fYnl0ZWNvZGVPZmZzZXQgKyBPUENPREVfTEVOR1RIKG9wX2dldF9zY29wZWRf
dmFyKSwgZHN0LCByZWdUMSwgcmVnVDApOworfQorCit2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfc2Nv
cGVkX3ZhcihJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIGludCBpbmRl
eCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CisgICAgaW50IHNraXAgPSBjdXJy
ZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOworICAgIGludCB2YWx1ZSA9IGN1cnJlbnRJbnN0
cnVjdGlvblszXS51Lm9wZXJhbmQ7CisKKyAgICBlbWl0TG9hZCh2YWx1ZSwgcmVnVDEsIHJlZ1Qw
KTsKKworICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVyRmlsZTo6U2Nv
cGVDaGFpbiwgcmVnVDIpOworICAgIGJvb2wgY2hlY2tUb3BMZXZlbCA9IG1fY29kZUJsb2NrLT5j
b2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSAmJiBtX2NvZGVCbG9jay0+bmVlZHNGdWxsU2NvcGVD
aGFpbigpOworICAgIEFTU0VSVChza2lwIHx8ICFjaGVja1RvcExldmVsKTsKKyAgICBpZiAoY2hl
Y2tUb3BMZXZlbCAmJiBza2lwLS0pIHsKKyAgICAgICAgSnVtcCBhY3RpdmF0aW9uTm90Q3JlYXRl
ZDsKKyAgICAgICAgaWYgKGNoZWNrVG9wTGV2ZWwpCisgICAgICAgICAgICBhY3RpdmF0aW9uTm90
Q3JlYXRlZCA9IGJyYW5jaDMyKEVxdWFsLCB0YWdGb3IobV9jb2RlQmxvY2stPmFjdGl2YXRpb25S
ZWdpc3RlcigpKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkVtcHR5VmFsdWVUYWcpKTsKKyAgICAg
ICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QyLCBPQkpFQ1RfT0ZGU0VUT0YoU2NvcGVDaGFpbk5vZGUs
IG5leHQpKSwgcmVnVDIpOworICAgICAgICBhY3RpdmF0aW9uTm90Q3JlYXRlZC5saW5rKHRoaXMp
OworICAgIH0KKyAgICB3aGlsZSAoc2tpcC0tKQorICAgICAgICBsb2FkUHRyKEFkZHJlc3MocmVn
VDIsIE9CSkVDVF9PRkZTRVRPRihTY29wZUNoYWluTm9kZSwgbmV4dCkpLCByZWdUMik7CisKKyAg
ICBsb2FkUHRyKEFkZHJlc3MocmVnVDIsIE9CSkVDVF9PRkZTRVRPRihTY29wZUNoYWluTm9kZSwg
b2JqZWN0KSksIHJlZ1QyKTsKKyAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDIsIE9CSkVDVF9PRkZT
RVRPRihKU1ZhcmlhYmxlT2JqZWN0LCBtX3JlZ2lzdGVycykpLCByZWdUMik7CisKKyAgICBlbWl0
U3RvcmUoaW5kZXgsIHJlZ1QxLCByZWdUMCwgcmVnVDIpOworICAgIG1hcChtX2J5dGVjb2RlT2Zm
c2V0ICsgT1BDT0RFX0xFTkdUSChvcF9wdXRfc2NvcGVkX3ZhciksIHZhbHVlLCByZWdUMSwgcmVn
VDApOworfQorCit2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfZ2xvYmFsX3ZhcihJbnN0cnVjdGlvbiog
Y3VycmVudEluc3RydWN0aW9uKQoreworICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kOworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2NvZGVC
bG9jay0+Z2xvYmFsT2JqZWN0KCk7CisgICAgQVNTRVJUKGdsb2JhbE9iamVjdC0+aXNHbG9iYWxP
YmplY3QoKSk7CisgICAgaW50IGluZGV4ID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFu
ZDsKKworICAgIGxvYWRQdHIoJmdsb2JhbE9iamVjdC0+bV9yZWdpc3RlcnMsIHJlZ1QyKTsKKwor
ICAgIGVtaXRMb2FkKGluZGV4LCByZWdUMSwgcmVnVDAsIHJlZ1QyKTsKKyAgICBlbWl0U3RvcmUo
ZHN0LCByZWdUMSwgcmVnVDApOworICAgIG1hcChtX2J5dGVjb2RlT2Zmc2V0ICsgT1BDT0RFX0xF
TkdUSChvcF9nZXRfZ2xvYmFsX3ZhciksIGRzdCwgcmVnVDEsIHJlZ1QwKTsKK30KKwordm9pZCBK
SVQ6OmVtaXRfb3BfcHV0X2dsb2JhbF92YXIoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKK3sKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9jb2RlQmxvY2stPmds
b2JhbE9iamVjdCgpOworICAgIEFTU0VSVChnbG9iYWxPYmplY3QtPmlzR2xvYmFsT2JqZWN0KCkp
OworICAgIGludCBpbmRleCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CisgICAg
aW50IHZhbHVlID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKKworICAgIGVtaXRM
b2FkKHZhbHVlLCByZWdUMSwgcmVnVDApOworCisgICAgbG9hZFB0cigmZ2xvYmFsT2JqZWN0LT5t
X3JlZ2lzdGVycywgcmVnVDIpOworICAgIGVtaXRTdG9yZShpbmRleCwgcmVnVDEsIHJlZ1QwLCBy
ZWdUMik7CisgICAgbWFwKG1fYnl0ZWNvZGVPZmZzZXQgKyBPUENPREVfTEVOR1RIKG9wX3B1dF9n
bG9iYWxfdmFyKSwgdmFsdWUsIHJlZ1QxLCByZWdUMCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpT
QwogCiAjZW5kaWYgLy8gVVNFKEpTVkFMVUUzMl82NCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCShyZXZpc2lvbiA4OTE2MCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yMjAsNiArMjIwLDI0IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF9ieV92YWwo
SW5zdHJ1Y3Rpb24KICAgICBlbmQubGluayh0aGlzKTsKIH0KIAordm9pZCBKSVQ6OmVtaXRTbG93
X29wX3B1dF9ieV92YWwoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNs
b3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRlcikKK3sKKyAgICB1bnNpZ25lZCBiYXNlID0gY3Vy
cmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyAgICB1bnNpZ25lZCBwcm9wZXJ0eSA9IGN1
cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQ7CisgICAgdW5zaWduZWQgdmFsdWUgPSBjdXJy
ZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kOworCisgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAv
LyBwcm9wZXJ0eSBpbnQzMiBjaGVjaworICAgIGxpbmtTbG93Q2FzZUlmTm90SlNDZWxsKGl0ZXIs
IGJhc2UpOyAvLyBiYXNlIGNlbGwgY2hlY2sKKyAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGJh
c2Ugbm90IGFycmF5IGNoZWNrCisgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBpbiB2ZWN0b3Ig
Y2hlY2sKKworICAgIEpJVFN0dWJDYWxsIHN0dWJQdXRCeVZhbENhbGwodGhpcywgY3RpX29wX3B1
dF9ieV92YWwpOworICAgIHN0dWJQdXRCeVZhbENhbGwuYWRkQXJndW1lbnQocmVnVDApOworICAg
IHN0dWJQdXRCeVZhbENhbGwuYWRkQXJndW1lbnQocHJvcGVydHksIHJlZ1QyKTsKKyAgICBzdHVi
UHV0QnlWYWxDYWxsLmFkZEFyZ3VtZW50KHZhbHVlLCByZWdUMik7CisgICAgc3R1YlB1dEJ5VmFs
Q2FsbC5jYWxsKCk7Cit9CisKIHZvaWQgSklUOjplbWl0X29wX3B1dF9ieV9pbmRleChJbnN0cnVj
dGlvbiogY3VycmVudEluc3RydWN0aW9uKQogewogICAgIEpJVFN0dWJDYWxsIHN0dWJDYWxsKHRo
aXMsIGN0aV9vcF9wdXRfYnlfaW5kZXgpOwpAQCAtOTQ1LDYgKzk2Myw2OCBAQCB2b2lkIEpJVDo6
cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4oU3RyCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmtD
YWxsZXJUb0Z1bmN0aW9uKHJldHVybkFkZHJlc3MsIEZ1bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlf
aWRfcHJvdG9fbGlzdCkpOwogfQogCit2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfc2NvcGVkX3ZhcihJ
bnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIGludCBza2lwID0gY3VycmVu
dEluc3RydWN0aW9uWzNdLnUub3BlcmFuZDsKKworICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVh
ZGVyUHRyKFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFpbiwgcmVnVDApOworICAgIGJvb2wgY2hlY2tU
b3BMZXZlbCA9IG1fY29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSAmJiBtX2Nv
ZGVCbG9jay0+bmVlZHNGdWxsU2NvcGVDaGFpbigpOworICAgIEFTU0VSVChza2lwIHx8ICFjaGVj
a1RvcExldmVsKTsKKyAgICBpZiAoY2hlY2tUb3BMZXZlbCAmJiBza2lwLS0pIHsKKyAgICAgICAg
SnVtcCBhY3RpdmF0aW9uTm90Q3JlYXRlZDsKKyAgICAgICAgaWYgKGNoZWNrVG9wTGV2ZWwpCisg
ICAgICAgICAgICBhY3RpdmF0aW9uTm90Q3JlYXRlZCA9IGJyYW5jaFRlc3RQdHIoWmVybywgYWRk
cmVzc0ZvcihtX2NvZGVCbG9jay0+YWN0aXZhdGlvblJlZ2lzdGVyKCkpKTsKKyAgICAgICAgbG9h
ZFB0cihBZGRyZXNzKHJlZ1QwLCBPQkpFQ1RfT0ZGU0VUT0YoU2NvcGVDaGFpbk5vZGUsIG5leHQp
KSwgcmVnVDApOworICAgICAgICBhY3RpdmF0aW9uTm90Q3JlYXRlZC5saW5rKHRoaXMpOworICAg
IH0KKyAgICB3aGlsZSAoc2tpcC0tKQorICAgICAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDAsIE9C
SkVDVF9PRkZTRVRPRihTY29wZUNoYWluTm9kZSwgbmV4dCkpLCByZWdUMCk7CisKKyAgICBsb2Fk
UHRyKEFkZHJlc3MocmVnVDAsIE9CSkVDVF9PRkZTRVRPRihTY29wZUNoYWluTm9kZSwgb2JqZWN0
KSksIHJlZ1QwKTsKKyAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDAsIE9CSkVDVF9PRkZTRVRPRihK
U1ZhcmlhYmxlT2JqZWN0LCBtX3JlZ2lzdGVycykpLCByZWdUMCk7CisgICAgbG9hZFB0cihBZGRy
ZXNzKHJlZ1QwLCBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kICogc2l6ZW9mKFJlZ2lz
dGVyKSksIHJlZ1QwKTsKKyAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVj
dGlvblsxXS51Lm9wZXJhbmQpOworfQorCit2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfc2NvcGVkX3Zh
cihJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIGludCBza2lwID0gY3Vy
cmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKKworICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1l
SGVhZGVyUHRyKFJlZ2lzdGVyRmlsZTo6U2NvcGVDaGFpbiwgcmVnVDEpOworICAgIGVtaXRHZXRW
aXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCwgcmVnVDApOwor
ICAgIGJvb2wgY2hlY2tUb3BMZXZlbCA9IG1fY29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0
aW9uQ29kZSAmJiBtX2NvZGVCbG9jay0+bmVlZHNGdWxsU2NvcGVDaGFpbigpOworICAgIEFTU0VS
VChza2lwIHx8ICFjaGVja1RvcExldmVsKTsKKyAgICBpZiAoY2hlY2tUb3BMZXZlbCAmJiBza2lw
LS0pIHsKKyAgICAgICAgSnVtcCBhY3RpdmF0aW9uTm90Q3JlYXRlZDsKKyAgICAgICAgaWYgKGNo
ZWNrVG9wTGV2ZWwpCisgICAgICAgICAgICBhY3RpdmF0aW9uTm90Q3JlYXRlZCA9IGJyYW5jaFRl
c3RQdHIoWmVybywgYWRkcmVzc0ZvcihtX2NvZGVCbG9jay0+YWN0aXZhdGlvblJlZ2lzdGVyKCkp
KTsKKyAgICAgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QxLCBPQkpFQ1RfT0ZGU0VUT0YoU2NvcGVD
aGFpbk5vZGUsIG5leHQpKSwgcmVnVDEpOworICAgICAgICBhY3RpdmF0aW9uTm90Q3JlYXRlZC5s
aW5rKHRoaXMpOworICAgIH0KKyAgICB3aGlsZSAoc2tpcC0tKQorICAgICAgICBsb2FkUHRyKEFk
ZHJlc3MocmVnVDEsIE9CSkVDVF9PRkZTRVRPRihTY29wZUNoYWluTm9kZSwgbmV4dCkpLCByZWdU
MSk7CisKKyAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDEsIE9CSkVDVF9PRkZTRVRPRihTY29wZUNo
YWluTm9kZSwgb2JqZWN0KSksIHJlZ1QxKTsKKyAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDEsIE9C
SkVDVF9PRkZTRVRPRihKU1ZhcmlhYmxlT2JqZWN0LCBtX3JlZ2lzdGVycykpLCByZWdUMSk7Cisg
ICAgc3RvcmVQdHIocmVnVDAsIEFkZHJlc3MocmVnVDEsIGN1cnJlbnRJbnN0cnVjdGlvblsxXS51
Lm9wZXJhbmQgKiBzaXplb2YoUmVnaXN0ZXIpKSk7Cit9CisKK3ZvaWQgSklUOjplbWl0X29wX2dl
dF9nbG9iYWxfdmFyKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgSlNW
YXJpYWJsZU9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdCgp
OworICAgIGxvYWRQdHIoJmdsb2JhbE9iamVjdC0+bV9yZWdpc3RlcnMsIHJlZ1QwKTsKKyAgICBs
b2FkUHRyKEFkZHJlc3MocmVnVDAsIGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQgKiBz
aXplb2YoUmVnaXN0ZXIpKSwgcmVnVDApOworICAgIGVtaXRQdXRWaXJ0dWFsUmVnaXN0ZXIoY3Vy
cmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCk7Cit9CisKK3ZvaWQgSklUOjplbWl0X29wX3B1
dF9nbG9iYWxfdmFyKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgZW1p
dEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdU
MSk7CisgICAgSlNWYXJpYWJsZU9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9jb2RlQmxvY2stPmds
b2JhbE9iamVjdCgpOworICAgIGxvYWRQdHIoJmdsb2JhbE9iamVjdC0+bV9yZWdpc3RlcnMsIHJl
Z1QwKTsKKyAgICBzdG9yZVB0cihyZWdUMSwgQWRkcmVzcyhyZWdUMCwgY3VycmVudEluc3RydWN0
aW9uWzFdLnUub3BlcmFuZCAqIHNpemVvZihSZWdpc3RlcikpKTsKK30KKwogI2VuZGlmIC8vIFVT
RShKU1ZBTFVFNjQpCiAKIHZvaWQgSklUOjp0ZXN0UHJvdG90eXBlKEpTVmFsdWUgcHJvdG90eXBl
LCBKdW1wTGlzdCYgZmFpbHVyZUNhc2VzKQo=
</data>
<flag name="review"
          id="91660"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>