<?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>169087</bug_id>
          
          <creation_ts>2017-03-02 11:48:49 -0800</creation_ts>
          <short_desc>Add support for selective handling of VM traps.</short_desc>
          <delta_ts>2017-03-02 12:34:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Local 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>168920</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1282812</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-03-02 11:48:49 -0800</bug_when>
    <thetext>This is needed because there are some places in the VM where it&apos;s appropriate to handle some types of VM traps but not others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282815</commentid>
    <comment_count>1</comment_count>
      <attachid>303222</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-03-02 12:06:43 -0800</bug_when>
    <thetext>Created attachment 303222
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282826</commentid>
    <comment_count>2</comment_count>
      <attachid>303222</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-03-02 12:28:51 -0800</bug_when>
    <thetext>Comment on attachment 303222
proposed patch.

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282830</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-03-02 12:34:54 -0800</bug_when>
    <thetext>Thanks for the review.  Landed in r213295: &lt;http://trac.webkit.org/r213295&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303222</attachid>
            <date>2017-03-02 12:06:43 -0800</date>
            <delta_ts>2017-03-02 12:28:51 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-169087.patch</filename>
            <type>text/plain</type>
            <size>9237</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjEzMjkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBA
CisyMDE3LTAzLTAyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3Igc2VsZWN0aXZlIGhhbmRsaW5nIG9mIFZNIHRyYXBzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5MDg3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBuZWVkZWQgYmVj
YXVzZSB0aGVyZSBhcmUgc29tZSBwbGFjZXMgaW4gdGhlIFZNIHdoZXJlIGl0J3MgYXBwcm9wcmlh
dGUgdG8KKyAgICAgICAgaGFuZGxlIHNvbWUgdHlwZXMgb2YgVk0gdHJhcHMgYnV0IG5vdCBvdGhl
cnMuCisKKyAgICAgICAgV2UgaW1wbGVtZW50IHRoaXMgc2VsZWN0aW9uIGJ5IHVzaW5nIGEgVk1U
cmFwczo6TWFzayB0aGF0IGFsbG93cyB0aGUgdXNlciB0bworICAgICAgICBzcGVjaWZ5IHdoaWNo
IHRyYXBzIHNob3VsZCBiZSBzZXJ2aWNlZC4KKworICAgICAgICAqIGludGVycHJldGVyL0ludGVy
cHJldGVyLmNwcDoKKyAgICAgICAgKEpTQzo6SW50ZXJwcmV0ZXI6OmV4ZWN1dGVQcm9ncmFtKToK
KyAgICAgICAgKEpTQzo6SW50ZXJwcmV0ZXI6OmV4ZWN1dGVDYWxsKToKKyAgICAgICAgKEpTQzo6
SW50ZXJwcmV0ZXI6OmV4ZWN1dGVDb25zdHJ1Y3QpOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRl
cjo6ZXhlY3V0ZSk6CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6OlZN
OjpoYW5kbGVUcmFwcyk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAgICAgICAqIHJ1bnRp
bWUvVk1UcmFwcy5jcHA6CisgICAgICAgIChKU0M6OlZNVHJhcHM6OnRha2VUcmFwKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBydW50aW1lL1ZNVHJhcHMuaDoKKyAgICAgICAgKEpTQzo6Vk1UcmFwczo6
TWFzazo6TWFzayk6CisgICAgICAgIChKU0M6OlZNVHJhcHM6Ok1hc2s6OmFsbEV2ZW50VHlwZXMp
OgorICAgICAgICAoSlNDOjpWTVRyYXBzOjpNYXNrOjpiaXRzKToKKyAgICAgICAgKEpTQzo6Vk1U
cmFwczo6TWFzazo6aW5pdCk6CisgICAgICAgIChKU0M6OlZNVHJhcHM6Om5lZWRUcmFwSGFuZGxp
bmcpOgorICAgICAgICAoSlNDOjpWTVRyYXBzOjpoYXNUcmFwRm9yRXZlbnQpOgorCiAyMDE3LTAz
LTAyICBUb21hcyBQb3BlbGEgIDx0cG9wZWxhQHJlZGhhdC5jb20+CiAKICAgICAgICAgSW5jb3Jy
ZWN0IFJFTEVBU0VfQVNTRVJUIGluIEpTR2xvYmFsT2JqZWN0OjphZGRTdGF0aWNHbG9iYWxzKCkK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJl
dGVyLmNwcAkocmV2aXNpb24gMjEzMjUwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0ludGVycHJldGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYxLDcgKzg2MSw4IEBA
IGZhaWxlZEpTT05QOgogICAgIH0KIAogICAgIGlmIChVTkxJS0VMWSh2bS5uZWVkVHJhcEhhbmRs
aW5nKCkpKSB7Ci0gICAgICAgIHZtLmhhbmRsZVRyYXBzKGNhbGxGcmFtZSk7CisgICAgICAgIFZN
VHJhcHM6Ok1hc2sgbWFzayhWTVRyYXBzOjpOZWVkVGVybWluYXRpb24sIFZNVHJhcHM6Ok5lZWRX
YXRjaGRvZ0NoZWNrKTsKKyAgICAgICAgdm0uaGFuZGxlVHJhcHMoY2FsbEZyYW1lLCBtYXNrKTsK
ICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB0aHJvd1Njb3BlLmV4Y2Vw
dGlvbigpKTsKICAgICB9CiAKQEAgLTkyMSw3ICs5MjIsOCBAQCBKU1ZhbHVlIEludGVycHJldGVy
OjpleGVjdXRlQ2FsbChDYWxsRnJhCiAgICAgICAgIG5ld0NvZGVCbG9jayA9IDA7CiAKICAgICBp
ZiAoVU5MSUtFTFkodm0ubmVlZFRyYXBIYW5kbGluZygpKSkgewotICAgICAgICB2bS5oYW5kbGVU
cmFwcyhjYWxsRnJhbWUpOworICAgICAgICBWTVRyYXBzOjpNYXNrIG1hc2soVk1UcmFwczo6TmVl
ZFRlcm1pbmF0aW9uLCBWTVRyYXBzOjpOZWVkV2F0Y2hkb2dDaGVjayk7CisgICAgICAgIHZtLmhh
bmRsZVRyYXBzKGNhbGxGcmFtZSwgbWFzayk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
dGhyb3dTY29wZSwgdGhyb3dTY29wZS5leGNlcHRpb24oKSk7CiAgICAgfQogCkBAIC05ODYsNyAr
OTg4LDggQEAgSlNPYmplY3QqIEludGVycHJldGVyOjpleGVjdXRlQ29uc3RydWN0KAogICAgICAg
ICBuZXdDb2RlQmxvY2sgPSAwOwogCiAgICAgaWYgKFVOTElLRUxZKHZtLm5lZWRUcmFwSGFuZGxp
bmcoKSkpIHsKLSAgICAgICAgdm0uaGFuZGxlVHJhcHMoY2FsbEZyYW1lKTsKKyAgICAgICAgVk1U
cmFwczo6TWFzayBtYXNrKFZNVHJhcHM6Ok5lZWRUZXJtaW5hdGlvbiwgVk1UcmFwczo6TmVlZFdh
dGNoZG9nQ2hlY2spOworICAgICAgICB2bS5oYW5kbGVUcmFwcyhjYWxsRnJhbWUsIG1hc2spOwog
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHRocm93U2NvcGUuZXhjZXB0
aW9uKCkpOwogICAgIH0KIApAQCAtMTA1MCw3ICsxMDUzLDggQEAgSlNWYWx1ZSBJbnRlcnByZXRl
cjo6ZXhlY3V0ZShDYWxsRnJhbWVDbAogICAgIFN0YWNrU3RhdHM6OkNoZWNrUG9pbnQgc3RhY2tD
aGVja1BvaW50OwogCiAgICAgaWYgKFVOTElLRUxZKHZtLm5lZWRUcmFwSGFuZGxpbmcoKSkpIHsK
LSAgICAgICAgdm0uaGFuZGxlVHJhcHMoY2xvc3VyZS5vbGRDYWxsRnJhbWUpOworICAgICAgICBW
TVRyYXBzOjpNYXNrIG1hc2soVk1UcmFwczo6TmVlZFRlcm1pbmF0aW9uLCBWTVRyYXBzOjpOZWVk
V2F0Y2hkb2dDaGVjayk7CisgICAgICAgIHZtLmhhbmRsZVRyYXBzKGNsb3N1cmUub2xkQ2FsbEZy
YW1lLCBtYXNrKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB0aHJv
d1Njb3BlLmV4Y2VwdGlvbigpKTsKICAgICB9CiAKQEAgLTExNTMsNyArMTE1Nyw4IEBAIEpTVmFs
dWUgSW50ZXJwcmV0ZXI6OmV4ZWN1dGUoRXZhbEV4ZWN1dGEKICAgICB9CiAKICAgICBpZiAoVU5M
SUtFTFkodm0ubmVlZFRyYXBIYW5kbGluZygpKSkgewotICAgICAgICB2bS5oYW5kbGVUcmFwcyhj
YWxsRnJhbWUpOworICAgICAgICBWTVRyYXBzOjpNYXNrIG1hc2soVk1UcmFwczo6TmVlZFRlcm1p
bmF0aW9uLCBWTVRyYXBzOjpOZWVkV2F0Y2hkb2dDaGVjayk7CisgICAgICAgIHZtLmhhbmRsZVRy
YXBzKGNhbGxGcmFtZSwgbWFzayk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgdGhyb3dTY29wZS5leGNlcHRpb24oKSk7CiAgICAgfQogCkBAIC0xMTk0LDcgKzExOTks
OCBAQCBKU1ZhbHVlIEludGVycHJldGVyOjpleGVjdXRlKE1vZHVsZVByb2dyCiAgICAgfQogCiAg
ICAgaWYgKFVOTElLRUxZKHZtLm5lZWRUcmFwSGFuZGxpbmcoKSkpIHsKLSAgICAgICAgdm0uaGFu
ZGxlVHJhcHMoY2FsbEZyYW1lKTsKKyAgICAgICAgVk1UcmFwczo6TWFzayBtYXNrKFZNVHJhcHM6
Ok5lZWRUZXJtaW5hdGlvbiwgVk1UcmFwczo6TmVlZFdhdGNoZG9nQ2hlY2spOworICAgICAgICB2
bS5oYW5kbGVUcmFwcyhjYWxsRnJhbWUsIG1hc2spOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIHRocm93U2NvcGUuZXhjZXB0aW9uKCkpOwogICAgIH0KIApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAkocmV2aXNpb24gMjEzMjUwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NDYs
MTQgKzk0NiwxNyBAQCB2b2lkIFZNOjp2ZXJpZnlFeGNlcHRpb25DaGVja05lZWRJc1NhdGlzCiB9
CiAjZW5kaWYKIAotdm9pZCBWTTo6aGFuZGxlVHJhcHMoRXhlY1N0YXRlKiBleGVjKQordm9pZCBW
TTo6aGFuZGxlVHJhcHMoRXhlY1N0YXRlKiBleGVjLCBWTVRyYXBzOjpNYXNrIG1hc2spCiB7CiAg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUoKnRoaXMpOwogCi0gICAgQVNTRVJU
KG5lZWRUcmFwSGFuZGxpbmcoKSk7Ci0gICAgd2hpbGUgKG5lZWRUcmFwSGFuZGxpbmcoKSkgewot
ICAgICAgICBhdXRvIHRyYXBFdmVudFR5cGUgPSBtX3RyYXBzLnRha2VUb3BQcmlvcml0eVRyYXAo
KTsKKyAgICBBU1NFUlQobmVlZFRyYXBIYW5kbGluZyhtYXNrKSk7CisgICAgd2hpbGUgKG5lZWRU
cmFwSGFuZGxpbmcobWFzaykpIHsKKyAgICAgICAgYXV0byB0cmFwRXZlbnRUeXBlID0gbV90cmFw
cy50YWtlVG9wUHJpb3JpdHlUcmFwKG1hc2spOwogICAgICAgICBzd2l0Y2ggKHRyYXBFdmVudFR5
cGUpIHsKKyAgICAgICAgY2FzZSBWTVRyYXBzOjpOZWVkRGVidWdnZXJCcmVhazoKKyAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisKICAgICAgICAgY2FzZSBWTVRyYXBz
OjpOZWVkV2F0Y2hkb2dDaGVjazoKICAgICAgICAgICAgIEFTU0VSVChtX3dhdGNoZG9nKTsKICAg
ICAgICAgICAgIGlmIChMSUtFTFkoIW1fd2F0Y2hkb2ctPnNob3VsZFRlcm1pbmF0ZShleGVjKSkp
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJKHJldmlzaW9uIDIxMzI1MCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3
MSw5ICs2NzEsOSBAQCBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuYz4KICAgICB2
b2lkIGxvZ0V2ZW50KENvZGVCbG9jayosIGNvbnN0IGNoYXIqIHN1bW1hcnksIGNvbnN0IEZ1bmMm
IGZ1bmMpOwogCi0gICAgdm9pZCBoYW5kbGVUcmFwcyhFeGVjU3RhdGUqKTsKKyAgICB2b2lkIGhh
bmRsZVRyYXBzKEV4ZWNTdGF0ZSosIFZNVHJhcHM6Ok1hc2sgPSBWTVRyYXBzOjpNYXNrOjphbGxF
dmVudFR5cGVzKCkpOwogCi0gICAgYm9vbCBuZWVkVHJhcEhhbmRsaW5nKCkgeyByZXR1cm4gbV90
cmFwcy5uZWVkVHJhcEhhbmRsaW5nKCk7IH0KKyAgICBib29sIG5lZWRUcmFwSGFuZGxpbmcoVk1U
cmFwczo6TWFzayBtYXNrID0gVk1UcmFwczo6TWFzazo6YWxsRXZlbnRUeXBlcygpKSB7IHJldHVy
biBtX3RyYXBzLm5lZWRUcmFwSGFuZGxpbmcobWFzayk7IH0KICAgICB2b2lkKiBuZWVkVHJhcEhh
bmRsaW5nQWRkcmVzcygpIHsgcmV0dXJuIG1fdHJhcHMubmVlZFRyYXBIYW5kbGluZ0FkZHJlc3Mo
KTsgfQogCiAgICAgdm9pZCBub3RpZnlOZWVkVGVybWluYXRpb24oKSB7IG1fdHJhcHMuZmlyZVRy
YXAoVk1UcmFwczo6TmVlZFRlcm1pbmF0aW9uKTsgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk1UcmFwcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk1UcmFwcy5jcHAJKHJldmlzaW9uIDIxMzI1MCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1ZNVHJhcHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwyMiAr
MzQsMTUgQEAgdm9pZCBWTVRyYXBzOjpmaXJlVHJhcChWTVRyYXBzOjpFdmVudFR5cAogICAgIHNl
dFRyYXBGb3JFdmVudChsb2NrZXIsIGV2ZW50VHlwZSk7CiB9CiAKLWJvb2wgVk1UcmFwczo6dGFr
ZVRyYXAoVk1UcmFwczo6RXZlbnRUeXBlIGV2ZW50VHlwZSkKK2F1dG8gVk1UcmFwczo6dGFrZVRv
cFByaW9yaXR5VHJhcChWTVRyYXBzOjpNYXNrIG1hc2spIC0+IEV2ZW50VHlwZQogewogICAgIGF1
dG8gbG9ja2VyID0gaG9sZExvY2sobV9sb2NrKTsKLSAgICBpZiAoaGFzVHJhcEZvckV2ZW50KGxv
Y2tlciwgZXZlbnRUeXBlKSkgewotICAgICAgICBjbGVhclRyYXBGb3JFdmVudChsb2NrZXIsIGV2
ZW50VHlwZSk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KLWF1dG8gVk1UcmFwczo6dGFrZVRvcFByaW9yaXR5VHJhcCgpIC0+IEV2ZW50VHlwZQot
ewogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTnVtYmVyT2ZFdmVudFR5cGVzOyArK2kpIHsKICAg
ICAgICAgRXZlbnRUeXBlIGV2ZW50VHlwZSA9IHN0YXRpY19jYXN0PEV2ZW50VHlwZT4oaSk7Ci0g
ICAgICAgIGlmICh0YWtlVHJhcChldmVudFR5cGUpKQorICAgICAgICBpZiAoaGFzVHJhcEZvckV2
ZW50KGxvY2tlciwgZXZlbnRUeXBlLCBtYXNrKSkgeworICAgICAgICAgICAgY2xlYXJUcmFwRm9y
RXZlbnQobG9ja2VyLCBldmVudFR5cGUpOwogICAgICAgICAgICAgcmV0dXJuIGV2ZW50VHlwZTsK
KyAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gSW52YWxpZDsKIH0KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNVHJhcHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9WTVRyYXBzLmgJKHJldmlzaW9uIDIxMzI1MCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNVHJhcHMuaAkod29ya2luZyBjb3B5KQpAQCAtMzMs
MzAgKzMzLDYyIEBAIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgVk07CiAKIGNsYXNzIFZNVHJhcHMg
eworICAgIHR5cGVkZWYgdWludDhfdCBCaXRGaWVsZDsKIHB1YmxpYzoKICAgICBlbnVtIEV2ZW50
VHlwZSB7CiAgICAgICAgIC8vIFNvcnRlZCBpbiBzZXJ2aWNpbmcgcHJpb3JpdHkgb3JkZXIgZnJv
bSBoaWdoZXN0IHRvIGxvd2VzdC4KKyAgICAgICAgTmVlZERlYnVnZ2VyQnJlYWssCiAgICAgICAg
IE5lZWRUZXJtaW5hdGlvbiwKICAgICAgICAgTmVlZFdhdGNoZG9nQ2hlY2ssCiAgICAgICAgIE51
bWJlck9mRXZlbnRUeXBlcywgLy8gVGhpcyBlbnRyeSBtdXN0IGJlIGxhc3QgaW4gdGhpcyBsaXN0
LgogICAgICAgICBJbnZhbGlkCiAgICAgfTsKIAotICAgIGJvb2wgbmVlZFRyYXBIYW5kbGluZygp
IHsgcmV0dXJuIG1fbmVlZFRyYXBIYW5kbGluZzsgfQorICAgIGNsYXNzIE1hc2sgeworICAgIHB1
YmxpYzoKKyAgICAgICAgZW51bSBBbGxFdmVudFR5cGVzIHsgQWxsRXZlbnRUeXBlc1RhZyB9Owor
ICAgICAgICBNYXNrKEFsbEV2ZW50VHlwZXMpCisgICAgICAgICAgICA6IG1fbWFzayhzdGQ6Om51
bWVyaWNfbGltaXRzPEJpdEZpZWxkPjo6bWF4KCkpCisgICAgICAgIHsgfQorICAgICAgICBzdGF0
aWMgTWFzayBhbGxFdmVudFR5cGVzKCkgeyByZXR1cm4gTWFzayhBbGxFdmVudFR5cGVzVGFnKTsg
fQorCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KKyAgICAgICAgTWFz
ayhBcmd1bWVudHMuLi4gYXJncykKKyAgICAgICAgICAgIDogbV9tYXNrKDApCisgICAgICAgIHsK
KyAgICAgICAgICAgIGluaXQoYXJncy4uLik7CisgICAgICAgIH0KKworICAgICAgICBCaXRGaWVs
ZCBiaXRzKCkgY29uc3QgeyByZXR1cm4gbV9tYXNrOyB9CisKKyAgICBwcml2YXRlOgorICAgICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CisgICAgICAgIHZvaWQgaW5pdChFdmVu
dFR5cGUgZXZlbnRUeXBlLCBBcmd1bWVudHMuLi4gYXJncykKKyAgICAgICAgeworICAgICAgICAg
ICAgQVNTRVJUKGV2ZW50VHlwZSA8IE51bWJlck9mRXZlbnRUeXBlcyk7CisgICAgICAgICAgICBt
X21hc2sgfD0gKDEgPDwgZXZlbnRUeXBlKTsKKyAgICAgICAgICAgIGluaXQoYXJncy4uLik7Cisg
ICAgICAgIH0KKworICAgICAgICB2b2lkIGluaXQoKSB7IH0KKworICAgICAgICBCaXRGaWVsZCBt
X21hc2s7CisgICAgfTsKKworICAgIGJvb2wgbmVlZFRyYXBIYW5kbGluZyhNYXNrIG1hc2spIHsg
cmV0dXJuIG1fbmVlZFRyYXBIYW5kbGluZyAmIG1hc2suYml0cygpOyB9CiAgICAgdm9pZCogbmVl
ZFRyYXBIYW5kbGluZ0FkZHJlc3MoKSB7IHJldHVybiAmbV9uZWVkVHJhcEhhbmRsaW5nOyB9CiAK
ICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGZpcmVUcmFwKEV2ZW50VHlwZSk7CiAKLSAgICBi
b29sIHRha2VUcmFwKEV2ZW50VHlwZSk7Ci0gICAgRXZlbnRUeXBlIHRha2VUb3BQcmlvcml0eVRy
YXAoKTsKKyAgICBFdmVudFR5cGUgdGFrZVRvcFByaW9yaXR5VHJhcChNYXNrKTsKIAogcHJpdmF0
ZToKICAgICBWTSYgdm0oKSBjb25zdDsKIAotICAgIGJvb2wgaGFzVHJhcEZvckV2ZW50KExvY2tl
cjxMb2NrPiYsIEV2ZW50VHlwZSBldmVudFR5cGUpCisgICAgYm9vbCBoYXNUcmFwRm9yRXZlbnQo
TG9ja2VyPExvY2s+JiwgRXZlbnRUeXBlIGV2ZW50VHlwZSwgTWFzayBtYXNrKQogICAgIHsKICAg
ICAgICAgQVNTRVJUKGV2ZW50VHlwZSA8IE51bWJlck9mRXZlbnRUeXBlcyk7Ci0gICAgICAgIHJl
dHVybiAobV90cmFwc0JpdEZpZWxkICYgKDEgPDwgZXZlbnRUeXBlKSk7CisgICAgICAgIHJldHVy
biAobV90cmFwc0JpdEZpZWxkICYgbWFzay5iaXRzKCkgJiAoMSA8PCBldmVudFR5cGUpKTsKICAg
ICB9CiAgICAgdm9pZCBzZXRUcmFwRm9yRXZlbnQoTG9ja2VyPExvY2s+JiwgRXZlbnRUeXBlIGV2
ZW50VHlwZSkKICAgICB7CkBAIC03MSw4ICsxMDMsOCBAQCBwcml2YXRlOgogCiAgICAgTG9jayBt
X2xvY2s7CiAgICAgdW5pb24gewotICAgICAgICB1aW50OF90IG1fbmVlZFRyYXBIYW5kbGluZyB7
IGZhbHNlIH07Ci0gICAgICAgIHVpbnQ4X3QgbV90cmFwc0JpdEZpZWxkOworICAgICAgICBCaXRG
aWVsZCBtX25lZWRUcmFwSGFuZGxpbmcgeyAwIH07CisgICAgICAgIEJpdEZpZWxkIG1fdHJhcHNC
aXRGaWVsZDsKICAgICB9OwogCiAgICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3Rv
cjsK
</data>
<flag name="review"
          id="324890"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
          </attachment>
      

    </bug>

</bugzilla>