<?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>39823</bug_id>
          
          <creation_ts>2010-05-27 02:34:05 -0700</creation_ts>
          <short_desc>Handle edge cases in HTML5 entity parsing</short_desc>
          <delta_ts>2010-05-28 11:47:23 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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>39259</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>231196</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-27 02:34:05 -0700</bug_when>
    <thetext>Handle edge cases in HTML5 entity parsing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231199</commentid>
    <comment_count>1</comment_count>
      <attachid>57213</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-27 02:38:59 -0700</bug_when>
    <thetext>Created attachment 57213
Work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231631</commentid>
    <comment_count>2</comment_count>
      <attachid>57312</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-28 03:37:05 -0700</bug_when>
    <thetext>Created attachment 57312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231761</commentid>
    <comment_count>3</comment_count>
      <attachid>57312</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-28 10:14:26 -0700</bug_when>
    <thetext>Comment on attachment 57312
Patch

Should we rip entity handling out into its own class and share code between this and the old tok?

I see a bunch of new failures.  I guess this adds a bunch of tests but doesn&apos;t fix them all?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231786</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-28 10:46:00 -0700</bug_when>
    <thetext>&gt; Should we rip entity handling out into its own class and share code between this and the old tok?

The problem is that entity handling depends on the state of the lexer.  We could abstract that if we wanted to, however.

&gt; I see a bunch of new failures.  I guess this adds a bunch of tests but doesn&apos;t fix them all?

Those are failures in the existing parser.  The new parser passes all the new tests.  (There are two existing entity tests that fail in both the old and new parser, but that&apos;s another story.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231805</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-28 11:17:20 -0700</bug_when>
    <thetext>Committed r60369: &lt;http://trac.webkit.org/changeset/60369&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231838</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-28 11:47:23 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/60369 might have broken Tiger Intel Release
The following changes are on the blame list:
http://trac.webkit.org/changeset/60368
http://trac.webkit.org/changeset/60369
http://trac.webkit.org/changeset/60370
http://trac.webkit.org/changeset/60366
http://trac.webkit.org/changeset/60367</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57213</attachid>
            <date>2010-05-27 02:38:59 -0700</date>
            <delta_ts>2010-05-28 03:37:01 -0700</delta_ts>
            <desc>Work in progress</desc>
            <filename>bug-39823-20100527023857.patch</filename>
            <type>text/plain</type>
            <size>12580</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwNDMxZmFiYWVmZjc5MzM3MmNmMmVlYjYxZjYzOTlhNjAwM2VhYTRiLi4wNDllODNj
ZWY5MWM1Y2E5YzVhZGI1YmE1M2M3MjI1MGQ4YmY3ZGUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcgQEAK
IDIwMTAtMDUtMjcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAorICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIYW5kbGUgZWRnZSBjYXNlcyBp
biBIVE1MNSBlbnRpdHkgcGFyc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Mzk4MjMKKworICAgICAgICBUZXN0cyBhIGJ1bmNoIG9mIHRoZSBlZGdl
IGNhc2VzIG9mIGVudGl0eSBoYW5kbGluZyBpbiB0aGUgSFRNTDUKKyAgICAgICAgc3BlY2lmaWNh
dGlvbi4KKworICAgICAgICAqIGh0bWw1bGliL3Jlc291cmNlcy9lbnRpdGllczAxLmRhdDoKKwor
MjAxMC0wNS0yNyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCiAgICAgICAgIFJl
dmlld2VkIGJ5IEVyaWMgU2VpZGVsLgogCiAgICAgICAgIFJlbW92ZSBjdXN0b20gd2Via2l0IHJ1
bm5lciBhbmQgdXBkYXRlIG5vcm1hbCBydW5uZXIgd2l0aCBvdXIgbmlmdHkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0bWw1bGliL3Jlc291cmNlcy9lbnRpdGllczAxLmRhdCBiL0xheW91dFRl
c3RzL2h0bWw1bGliL3Jlc291cmNlcy9lbnRpdGllczAxLmRhdAppbmRleCAyNjhhNzZlN2NlN2Ew
ODRjMjdiYWRkMGMyYjQ2MmM2YjI3NWMyM2VlLi4zMzk4Y2NkZDljNWEwMjg2Y2RjNjcyOWExN2Y5
YjlkYTI1NmVhZDc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odG1sNWxpYi9yZXNvdXJjZXMv
ZW50aXRpZXMwMS5kYXQKKysrIGIvTGF5b3V0VGVzdHMvaHRtbDVsaWIvcmVzb3VyY2VzL2VudGl0
aWVzMDEuZGF0CkBAIC0xNzgsMyArMTc4LDQ0NSBAQCBGT08mI3g0MVpPTwogfCAgIDxoZWFkPgog
fCAgIDxib2R5PgogfCAgICAgIkZPT0FaT08iCisKKyNkYXRhCitGT08mI3gwMDAwO1pPTworI2Vy
cm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAg
IkZPT++/vVpPTyIKKworI2RhdGEKK0ZPTyYjeDAwMEQ7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQK
K3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9PCitaT08iCisKKyNk
YXRhCitGT08mI3gwMDc4O1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxo
ZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT3haT08iCisKKyNkYXRhCitGT08mI3gwMDc5O1pP
TworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5Pgor
fCAgICAgIkZPT3laT08iCisKKyNkYXRhCitGT08mI3gwMDgwO1pPTworI2Vycm9ycworI2RvY3Vt
ZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT+KCrFpPTyIK
KworI2RhdGEKK0ZPTyYjeDAwODE7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8
ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P77+9Wk9PIgorCisjZGF0YQorRk9PJiN4
MDA4MjtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8
Ym9keT4KK3wgICAgICJGT0/igJpaT08iCisKKyNkYXRhCitGT08mI3gwMDgzO1pPTworI2Vycm9y
cworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZP
T8aSWk9PIgorCisjZGF0YQorRk9PJiN4MDA4NDtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8
aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/igJ5aT08iCisKKyNkYXRh
CitGT08mI3gwMDg1O1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFk
PgorfCAgIDxib2R5PgorfCAgICAgIkZPT+KAplpPTyIKKworI2RhdGEKK0ZPTyYjeDAwODY7Wk9P
CisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8
ICAgICAiRk9P4oCgWk9PIgorCisjZGF0YQorRk9PJiN4MDA4NztaT08KKyNlcnJvcnMKKyNkb2N1
bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/igKFaT08i
CisKKyNkYXRhCitGT08mI3gwMDg4O1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgor
fCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT8uGWk9PIgorCisjZGF0YQorRk9PJiN4
MDA4OTtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8
Ym9keT4KK3wgICAgICJGT0/igLBaT08iCisKKyNkYXRhCitGT08mI3gwMDhBO1pPTworI2Vycm9y
cworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZP
T8WgWk9PIgorCisjZGF0YQorRk9PJiN4MDA4QjtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8
aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/igLlaT08iCisKKyNkYXRh
CitGT08mI3gwMDhDO1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFk
PgorfCAgIDxib2R5PgorfCAgICAgIkZPT8WSWk9PIgorCisjZGF0YQorRk9PJiN4MDA4RDtaT08K
KyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wg
ICAgICJGT0/vv71aT08iCisKKyNkYXRhCitGT08mI3gwMDhFO1pPTworI2Vycm9ycworI2RvY3Vt
ZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT8W9Wk9PIgor
CisjZGF0YQorRk9PJiN4MDA4RjtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wg
ICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/vv71aT08iCisKKyNkYXRhCitGT08mI3gw
MDhHO1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxi
b2R5PgorfCAgICAgIkZPT0c7Wk9PIgorCisjZGF0YQorRk9PJiN4MDA5MDtaT08KKyNlcnJvcnMK
KyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/v
v71aT08iCisKKyNkYXRhCitGT08mI3gwMDkxO1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxo
dG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT+KAmFpPTyIKKworI2RhdGEK
K0ZPTyYjeDAwOTI7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8ICAgPGhlYWQ+
Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P4oCZWk9PIgorCisjZGF0YQorRk9PJiN4MDA5MztaT08K
KyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wg
ICAgICJGT0/igJxaT08iCisKKyNkYXRhCitGT08mI3gwMDk0O1pPTworI2Vycm9ycworI2RvY3Vt
ZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT+KAnVpPTyIK
KworI2RhdGEKK0ZPTyYjeDAwOTU7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8
ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P4oCiWk9PIgorCisjZGF0YQorRk9PJiN4
MDA5NjtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8
Ym9keT4KK3wgICAgICJGT0/igJNaT08iCisKKyNkYXRhCitGT08mI3gwMDk3O1pPTworI2Vycm9y
cworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZP
T+KAlFpPTyIKKworI2RhdGEKK0ZPTyYjeDAwOTg7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wg
PGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9Py5xaT08iCisKKyNkYXRh
CitGT08mI3gwMDk5O1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFk
PgorfCAgIDxib2R5PgorfCAgICAgIkZPT+KEolpPTyIKKworI2RhdGEKK0ZPTyYjeDAwOUE7Wk9P
CisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8
ICAgICAiRk9PxaFaT08iCisKKyNkYXRhCitGT08mI3gwMDlCO1pPTworI2Vycm9ycworI2RvY3Vt
ZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT+KAulpPTyIK
KworI2RhdGEKK0ZPTyYjeDAwOUM7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8
ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9PxZNaT08iCisKKyNkYXRhCitGT08mI3gw
MDlEO1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxi
b2R5PgorfCAgICAgIkZPT++/vVpPTyIKKworI2RhdGEKK0ZPTyYjeDAwOUU7Wk9PCisjZXJyb3Jz
CisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P
xb5aT08iCisKKyNkYXRhCitGT08mI3gwMDlGO1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxo
dG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT8W4Wk9PIgorCisjZGF0YQor
Rk9PJiN4MDBBMDtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4K
K3wgICA8Ym9keT4KK3wgICAgICJGT08gWk9PIgorCisjZGF0YQorRk9PJiN4RDdGRjtaT08KKyNl
cnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAg
ICJGT0/tn79aT08iCisKKyNkYXRhCitGT08mI3hEODAwO1pPTworI2Vycm9ycworI2RvY3VtZW50
Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT++/vVpPTyIKKwor
I2RhdGEKK0ZPTyYjeEQ4MDE7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8ICAg
PGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P77+9Wk9PIgorCisjZGF0YQorRk9PJiN4REZG
RTtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9k
eT4KK3wgICAgICJGT0/vv71aT08iCisKKyNkYXRhCitGT08mI3hERkZGO1pPTworI2Vycm9ycwor
I2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT++/
vVpPTyIKKworI2RhdGEKK0ZPTyYjeEUwMDA7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0
bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P7oCAWk9PIgorCisjZGF0YQor
Rk9PJiN4MTBGRkZFO1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFk
PgorfCAgIDxib2R5PgorfCAgICAgIkZPT/SPv75aT08iCisKKyNkYXRhCitGT08mI3gxMDg3RDQ7
Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+
Cit8ICAgICAiRk9P9IiflFpPTyIKKworI2RhdGEKK0ZPTyYjeDEwRkZGRjtaT08KKyNlcnJvcnMK
KyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/0
j7+/Wk9PIgorCisjZGF0YQorRk9PJiN4MTEwMDAwO1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8
IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT++/vVpPTyIKKworI2Rh
dGEKK0ZPTyYjeEZGRkZGRjtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8
aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/vv71aT08iCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDljNjM5YjRiODQwMWZlY2MzNTVj
NzU5NWZhMDlhMGUxNTllNjRjYTQuLmU3NGFhYjMwNTg0Y2NjOTFmYTljOTAxZTM2N2Y1ZGVjYWYx
OWU1NzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTAtMDUtMjcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBIYW5kbGUgZWRnZSBjYXNlcyBpbiBIVE1MNSBlbnRpdHkgcGFyc2luZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk4MjMKKworICAgICAgICBUaGUg
SFRNTDUgc3BlY2lmaWNhdGlvbiB0ZWxscyB1cyB0byBoYW5kbGUgSFRNTCBlbnRpdGllcyBpbiBh
IHNvbWV3aGF0CisgICAgICAgIGNvbXBsaWNhdGVkIHdheS4gIFRoaXMgcGF0Y2ggYXR0ZW1wdHMg
dG8gY29ycmVjdGx5IGhhbmRsZSBudW1lcmljCisgICAgICAgIGVudGl0aWVzLiAgU29tZSBvZiB0
aGlzIGNvZGUgaXMgZHVwbGljYXRlZCBmcm9tIEhUTUxUb2tlbml6ZXIuCisKKyAgICAgICAgKiBo
dG1sL0hUTUw1TGV4ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE5hbWVzOjopOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE5hbWVzOjphZGp1c3RFbnRpdHkpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE5hbWVzOjpsZWdhbEVudGl0eUZvcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNUxl
eGVyOjpjb25zdW1lRW50aXR5KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUw1TGV4ZXI6OnByb2Nl
c3NFbnRpdHkpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTDVMZXhlcjo6bmV4dFRva2VuKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUw1TGV4ZXI6OmVtaXRDb2RlUG9pbnQpOgorICAgICAgICAqIGh0
bWwvSFRNTDVMZXhlci5oOgorCiAyMDEwLTA1LTI2ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL0hUTUw1TGV4ZXIuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUw1TGV4ZXIuY3BwCmlu
ZGV4IGM2YzQxOTc1Y2Y3NGM5YjYwOWQ4Mzg0YzM3MGM2Y2MxNDQxNWNlY2MuLjk1YjFjNmEwMzkw
MmZkNjA5MDExODJiZTZlY2U3MThhOWVmYzhhZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9I
VE1MNUxleGVyLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTDVMZXhlci5jcHAKQEAgLTU5LDYg
KzU5LDEzIEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKIG5hbWVzcGFjZSB7CiAKK3N0
YXRpYyBjb25zdCBVQ2hhciB3aW5kb3dzTGF0aW4xRXh0ZW5zaW9uQXJyYXlbMzJdID0geworICAg
IDB4MjBBQywgMHgwMDgxLCAweDIwMUEsIDB4MDE5MiwgMHgyMDFFLCAweDIwMjYsIDB4MjAyMCwg
MHgyMDIxLCAvLyA4MC04NworICAgIDB4MDJDNiwgMHgyMDMwLCAweDAxNjAsIDB4MjAzOSwgMHgw
MTUyLCAweDAwOEQsIDB4MDE3RCwgMHgwMDhGLCAvLyA4OC04RgorICAgIDB4MDA5MCwgMHgyMDE4
LCAweDIwMTksIDB4MjAxQywgMHgyMDFELCAweDIwMjIsIDB4MjAxMywgMHgyMDE0LCAvLyA5MC05
NworICAgIDB4MDJEQywgMHgyMTIyLCAweDAxNjEsIDB4MjAzQSwgMHgwMTUzLCAweDAwOUQsIDB4
MDE3RSwgMHgwMTc4LCAvLyA5OC05RgorfTsKKwogaW5saW5lIFVDaGFyIHRvTG93ZXJDYXNlKFVD
aGFyIGNjKQogewogICAgIEFTU0VSVChjYyA+PSAnQScgJiYgY2MgPD0gJ1onKTsKQEAgLTgyLDEx
ICs4OSwyMCBAQCBpbmxpbmUgYm9vbCB2ZWN0b3JFcXVhbHNTdHJpbmcoY29uc3QgVmVjdG9yPFVD
aGFyLCAzMj4mIHZlY3RvciwgY29uc3QgU3RyaW5nJiBzdAogICAgIHJldHVybiAhbWVtY21wKHN0
cmluZ0RhdGEsIHZlY3RvckRhdGEsIHZlY3Rvci5zaXplKCkgKiBzaXplb2YoVUNoYXIpKTsKIH0K
IAotaW5saW5lIFVDaGFyIGxlZ2FsRW50aXR5Rm9yKHVuc2lnbmVkIHZhbHVlKQoraW5saW5lIFVD
aGFyIGFkanVzdEVudGl0eSh1bnNpZ25lZCB2YWx1ZSkKK3sKKyAgICBpZiAoKHZhbHVlICYgfjB4
MUYpICE9IDB4MDA4MCkKKyAgICAgICAgcmV0dXJuIGM7CisgICAgcmV0dXJuIHdpbmRvd3NMYXRp
bjFFeHRlbnNpb25BcnJheVt2YWx1ZSAtIDB4ODBdOworfQorCitpbmxpbmUgdW5zaWduZWQgbGVn
YWxFbnRpdHlGb3IodW5zaWduZWQgdmFsdWUpCiB7Ci0gICAgLy8gRklYTUU6IFRoZXJlIGlzIGEg
dGFibGUgd2l0aCBtb3JlIGV4Y2VwdGlvbnMgaW4gdGhlIEhUTUw1IHNwZWNpZmljYXRpb24uCisg
ICAgLy8gRklYTUU6IEEgbnVtYmVyIG9mIHNwZWNpZmljIGVudGl0eSB2YWx1ZXMgZ2VuZXJhdGUg
cGFyc2UgZXJyb3JzLgogICAgIGlmICh2YWx1ZSA9PSAwIHx8IHZhbHVlID4gMHgxMEZGRkYgfHwg
KHZhbHVlID49IDB4RDgwMCAmJiB2YWx1ZSA8PSAweERGRkYpKQogICAgICAgICByZXR1cm4gMHhG
RkZEOworICAgIGlmICh2YWx1ZSA8IDB4RkZGRikKKyAgICAgICAgcmV0dXJuIGFkanVzdEVudGl0
eSh2YWx1ZSk7CiAgICAgcmV0dXJuIHZhbHVlOwogfQogCkBAIC0xNDIsNyArMTU4LDcgQEAgdm9p
ZCBIVE1MNUxleGVyOjpyZXNldCgpCiAgICAgbV9hZGRpdGlvbmFsQWxsb3dlZENoYXJhY3RlciA9
ICdcMCc7CiB9CiAKLVVDaGFyIEhUTUw1TGV4ZXI6OmNvbnN1bWVFbnRpdHkoU2VnbWVudGVkU3Ry
aW5nJiBzb3VyY2UsIGJvb2wmIG5vdEVub3VnaENoYXJhY3RlcnMpCit1bnNpZ25lZCBIVE1MNUxl
eGVyOjpjb25zdW1lRW50aXR5KFNlZ21lbnRlZFN0cmluZyYgc291cmNlLCBib29sJiBub3RFbm91
Z2hDaGFyYWN0ZXJzKQogewogICAgIEFTU0VSVChtX3N0YXRlICE9IENoYXJhY3RlclJlZmVyZW5j
ZUluQXR0cmlidXRlVmFsdWVTdGF0ZSB8fCBtX2FkZGl0aW9uYWxBbGxvd2VkQ2hhcmFjdGVyID09
ICciJyB8fCBtX2FkZGl0aW9uYWxBbGxvd2VkQ2hhcmFjdGVyID09ICdcJycgfHwgbV9hZGRpdGlv
bmFsQWxsb3dlZENoYXJhY3RlciA9PSAnPicpOwogICAgIEFTU0VSVCghbm90RW5vdWdoQ2hhcmFj
dGVycyk7CkBAIC0yODUsNiArMzAxLDE3IEBAIFVDaGFyIEhUTUw1TGV4ZXI6OmNvbnN1bWVFbnRp
dHkoU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UsIGJvb2wmIG5vdEVub3VnaENoYXJhY3RlCiAgICAg
cmV0dXJuIDA7CiB9CiAKK2lubGluZSBib29sIEhUTUw1TGV4ZXI6OnByb2Nlc3NFbnRpdHkoU2Vn
bWVudGVkU3RyaW5nJiBzb3VyY2UpCit7CisgICAgYm9vbCBub3RFbm91Z2hDaGFyYWN0ZXJzID0g
ZmFsc2U7CisgICAgdW5zaWduZWQgdmFsdWUgPSBjb25zdW1lRW50aXR5KHNvdXJjZSwgbm90RW5v
dWdoQ2hhcmFjdGVycyk7CisgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgZW1pdENoYXJhY3Rlcign
JicpOworICAgIGVsc2UKKyAgICAgICAgZW1pdEVudGl0eSh2YWx1ZSk7CisgICAgcmV0dXJuICFu
b3RFbm91Z2hDaGFyYWN0ZXJzOworfQorCiBib29sIEhUTUw1TGV4ZXI6Om5leHRUb2tlbihTZWdt
ZW50ZWRTdHJpbmcmIHNvdXJjZSwgSFRNTDVUb2tlbiYgdG9rZW4pCiB7CiAgICAgLy8gSWYgd2Ug
aGF2ZSBhIHRva2VuIGluIHByb2dyZXNzLCB0aGVuIHdlJ3JlIHN1cHBvc2VkIHRvIGJlIGNhbGxl
ZCBiYWNrCkBAIC0zMjMsMTEgKzM1MCw4IEBAIGJvb2wgSFRNTDVMZXhlcjo6bmV4dFRva2VuKFNl
Z21lbnRlZFN0cmluZyYgc291cmNlLCBIVE1MNVRva2VuJiB0b2tlbikKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQ2hhcmFjdGVyUmVmZXJlbmNlSW5EYXRhU3Rh
dGU6IHsKLSAgICAgICAgICAgIGJvb2wgbm90RW5vdWdoQ2hhcmFjdGVycyA9IGZhbHNlOwotICAg
ICAgICAgICAgVUNoYXIgZW50aXR5ID0gY29uc3VtZUVudGl0eShzb3VyY2UsIG5vdEVub3VnaENo
YXJhY3RlcnMpOwotICAgICAgICAgICAgaWYgKG5vdEVub3VnaENoYXJhY3RlcnMpCisgICAgICAg
ICAgICBpZiAoIXByb2Nlc3NFbnRpdHkoc291cmNlKSkKICAgICAgICAgICAgICAgICByZXR1cm4g
c2hvdWxkRW1pdEJ1ZmZlcmVkQ2hhcmFjdGVyVG9rZW4oc291cmNlKTsKLSAgICAgICAgICAgIGVt
aXRDaGFyYWN0ZXIoZW50aXR5ID8gZW50aXR5IDogJyYnKTsKICAgICAgICAgICAgIG1fc3RhdGUg
PSBEYXRhU3RhdGU7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQpAQCAtMzQxLDEx
ICszNjUsOCBAQCBib29sIEhUTUw1TGV4ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTdHJpbmcmIHNv
dXJjZSwgSFRNTDVUb2tlbiYgdG9rZW4pCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
ICAgICAgICBjYXNlIENoYXJhY3RlclJlZmVyZW5jZUluUkNEQVRBU3RhdGU6IHsKLSAgICAgICAg
ICAgIGJvb2wgbm90RW5vdWdoQ2hhcmFjdGVycyA9IGZhbHNlOwotICAgICAgICAgICAgVUNoYXIg
ZW50aXR5ID0gY29uc3VtZUVudGl0eShzb3VyY2UsIG5vdEVub3VnaENoYXJhY3RlcnMpOwotICAg
ICAgICAgICAgaWYgKG5vdEVub3VnaENoYXJhY3RlcnMpCisgICAgICAgICAgICBpZiAoIXByb2Nl
c3NFbnRpdHkoc291cmNlKSkKICAgICAgICAgICAgICAgICByZXR1cm4gc2hvdWxkRW1pdEJ1ZmZl
cmVkQ2hhcmFjdGVyVG9rZW4oc291cmNlKTsKLSAgICAgICAgICAgIGVtaXRDaGFyYWN0ZXIoZW50
aXR5ID8gZW50aXR5IDogJyYnKTsKICAgICAgICAgICAgIG1fc3RhdGUgPSBSQ0RBVEFTdGF0ZTsK
ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CkBAIC05NzYsMTEgKzk5Nyw4IEBAIGJv
b2wgSFRNTDVMZXhlcjo6bmV4dFRva2VuKFNlZ21lbnRlZFN0cmluZyYgc291cmNlLCBIVE1MNVRv
a2VuJiB0b2tlbikKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2Ug
Q2hhcmFjdGVyUmVmZXJlbmNlSW5BdHRyaWJ1dGVWYWx1ZVN0YXRlOiB7Ci0gICAgICAgICAgICBi
b29sIG5vdEVub3VnaENoYXJhY3RlcnMgPSBmYWxzZTsKLSAgICAgICAgICAgIFVDaGFyIGVudGl0
eSA9IGNvbnN1bWVFbnRpdHkoc291cmNlLCBub3RFbm91Z2hDaGFyYWN0ZXJzKTsKLSAgICAgICAg
ICAgIGlmIChub3RFbm91Z2hDaGFyYWN0ZXJzKQorICAgICAgICAgICAgaWYgKCFwcm9jZXNzRW50
aXR5KHNvdXJjZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHNob3VsZEVtaXRCdWZmZXJlZENo
YXJhY3RlclRva2VuKHNvdXJjZSk7Ci0gICAgICAgICAgICBtX3Rva2VuLT5hcHBlbmRUb0F0dHJp
YnV0ZVZhbHVlKGVudGl0eSA/IGVudGl0eSA6ICcmJyk7CiAgICAgICAgICAgICAvLyBXZSdyZSBz
dXBwb3NlZCB0byBzd2l0Y2ggYmFjayB0byB0aGUgYXR0cmlidXRlIHZhbHVlIHN0YXRlIHRoYXQK
ICAgICAgICAgICAgIC8vIHdlIHdlcmUgaW4gd2hlbiB3ZSB3ZXJlIHN3aXRjaGVkIGludG8gdGhp
cyBzdGF0ZS4gIFJhdGhlciB0aGFuCiAgICAgICAgICAgICAvLyBrZWVwaW5nIHRyYWNrIG9mIHRo
aXMgZXhwbGljdGx5LCB3ZSBvYnNlcnZlIHRoYXQgdGhlIHByZXZpb3VzCkBAIC0xNDkxLDYgKzE1
MDksMTYgQEAgaW5saW5lIHZvaWQgSFRNTDVMZXhlcjo6ZW1pdENoYXJhY3RlcihVQ2hhciBjaGFy
YWN0ZXIpCiAgICAgbV90b2tlbi0+YXBwZW5kVG9DaGFyYWN0ZXIoY2hhcmFjdGVyKTsKIH0KIAor
aW5saW5lIHZvaWQgSFRNTDVMZXhlcjo6ZW1pdENvZGVQb2ludCh1bnNpZ25lZCB2YWx1ZSkKK3sK
KyAgICBpZiAodmFsdWUgPCAweEZGRkYpIHsKKyAgICAgICAgZW1pdENoYXJhY3Rlcih2YWx1ZSkK
KyAgICAgICAgcmV0dXJuCisgICAgfQorICAgIGVtaXRDaGFyYWN0ZXIoVTE2X0xFQUQodmFsdWUp
KTsKKyAgICBlbWl0Q2hhcmFjdGVyKFUxNl9UUkFJTCh2YWx1ZSkpOworfQorCiBpbmxpbmUgdm9p
ZCBIVE1MNUxleGVyOjplbWl0UGFyc2VFcnJvcigpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MNUxleGVyLmggYi9XZWJDb3JlL2h0bWwvSFRN
TDVMZXhlci5oCmluZGV4IGVmZDkxNTMwMDFmMGMwYzZmMDBmYTFiOTNiMGU3MjRjMjBkYTYyYzYu
LjY0ZThiYmVjMGY2YTE3NTYyNTllNDkzNWI5MzNmNTRjZmM3NzhhMTUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9IVE1MNUxleGVyLmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUw1TGV4ZXIuaApA
QCAtMTI2LDggKzEyNiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGlubGluZSB2
b2lkIGVtaXRDaGFyYWN0ZXIoVUNoYXIpOwogICAgICAgICBpbmxpbmUgdm9pZCBlbWl0UGFyc2VF
cnJvcigpOwogICAgICAgICBpbmxpbmUgdm9pZCBlbWl0Q3VycmVudFRva2VuKCk7CisgICAgICAg
IGlubGluZSB2b2lkIGVtaXRDb2RlUG9pbnQodW5zaWduZWQpOwogCi0gICAgICAgIFVDaGFyIGNv
bnN1bWVFbnRpdHkoU2VnbWVudGVkU3RyaW5nJiwgYm9vbCYgbm90RW5vdWdoQ2hhcmFjdGVycyk7
CisgICAgICAgIHVuc2lnbmVkIGNvbnN1bWVFbnRpdHkoU2VnbWVudGVkU3RyaW5nJiwgYm9vbCYg
bm90RW5vdWdoQ2hhcmFjdGVycyk7CisgICAgICAgIGlubGluZSBib29sIEhUTUw1TGV4ZXI6OnBy
b2Nlc3NFbnRpdHkoU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UpOwogCiAgICAgICAgIGlubGluZSBi
b29sIHRlbXBvcmFyeUJ1ZmZlcklzKGNvbnN0IFN0cmluZyYpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57312</attachid>
            <date>2010-05-28 03:37:05 -0700</date>
            <delta_ts>2010-05-28 10:14:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39823-20100528033703.patch</filename>
            <type>text/plain</type>
            <size>13346</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwNDMxZmFiYWVmZjc5MzM3MmNmMmVlYjYxZjYzOTlhNjAwM2VhYTRiLi42NjRiM2Fm
MmQyOGI1M2E5YTJlMGJkYzZiMzJlZjU5ZmE3MWY5ZjJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTggQEAK
IDIwMTAtMDUtMjcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAorICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIYW5kbGUgZWRnZSBjYXNlcyBp
biBIVE1MNSBlbnRpdHkgcGFyc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Mzk4MjMKKworICAgICAgICBUZXN0cyBhIGJ1bmNoIG9mIHRoZSBlZGdl
IGNhc2VzIG9mIGVudGl0eSBoYW5kbGluZyBpbiB0aGUgSFRNTDUKKyAgICAgICAgc3BlY2lmaWNh
dGlvbi4KKworICAgICAgICAqIGh0bWw1bGliL3Jlc291cmNlcy9lbnRpdGllczAxLmRhdDoKKyAg
ICAgICAgKiBodG1sNWxpYi9ydW5uZXItZXhwZWN0ZWQudHh0OgorCisyMDEwLTA1LTI3ICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBT
ZWlkZWwuCiAKICAgICAgICAgUmVtb3ZlIGN1c3RvbSB3ZWJraXQgcnVubmVyIGFuZCB1cGRhdGUg
bm9ybWFsIHJ1bm5lciB3aXRoIG91ciBuaWZ0eQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHRt
bDVsaWIvcmVzb3VyY2VzL2VudGl0aWVzMDEuZGF0IGIvTGF5b3V0VGVzdHMvaHRtbDVsaWIvcmVz
b3VyY2VzL2VudGl0aWVzMDEuZGF0CmluZGV4IDI2OGE3NmU3Y2U3YTA4NGMyN2JhZGQwYzJiNDYy
YzZiMjc1YzIzZWUuLjkyNjY0MmUyZTIyNzExMWFjNzM5NmQ0YjVmNzI4ZGU2Y2Y4ZTU3MTQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0bWw1bGliL3Jlc291cmNlcy9lbnRpdGllczAxLmRhdAor
KysgYi9MYXlvdXRUZXN0cy9odG1sNWxpYi9yZXNvdXJjZXMvZW50aXRpZXMwMS5kYXQKQEAgLTE3
OCwzICsxNzgsNDM1IEBAIEZPTyYjeDQxWk9PCiB8ICAgPGhlYWQ+CiB8ICAgPGJvZHk+CiB8ICAg
ICAiRk9PQVpPTyIKKworI2RhdGEKK0ZPTyYjeDAwMDA7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQK
K3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P77+9Wk9PIgorCisj
ZGF0YQorRk9PJiN4MDAwRDtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8
aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT08NWk9PIgorCisjZGF0YQorRk9PJiN4MDA3ODta
T08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4K
K3wgICAgICJGT094Wk9PIgorCisjZGF0YQorRk9PJiN4MDA3OTtaT08KKyNlcnJvcnMKKyNkb2N1
bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT095Wk9PIgor
CisjZGF0YQorRk9PJiN4MDA4MDtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wg
ICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/igqxaT08iCisKKyNkYXRhCitGT08mI3gw
MDgxO1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxi
b2R5PgorfCAgICAgIkZPT8KBWk9PIgorCisjZGF0YQorRk9PJiN4MDA4MjtaT08KKyNlcnJvcnMK
KyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/i
gJpaT08iCisKKyNkYXRhCitGT08mI3gwMDgzO1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxo
dG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT8aSWk9PIgorCisjZGF0YQor
Rk9PJiN4MDA4NDtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4K
K3wgICA8Ym9keT4KK3wgICAgICJGT0/igJ5aT08iCisKKyNkYXRhCitGT08mI3gwMDg1O1pPTwor
I2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAg
ICAgIkZPT+KAplpPTyIKKworI2RhdGEKK0ZPTyYjeDAwODY7Wk9PCisjZXJyb3JzCisjZG9jdW1l
bnQKK3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P4oCgWk9PIgor
CisjZGF0YQorRk9PJiN4MDA4NztaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wg
ICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/igKFaT08iCisKKyNkYXRhCitGT08mI3gw
MDg4O1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxi
b2R5PgorfCAgICAgIkZPT8uGWk9PIgorCisjZGF0YQorRk9PJiN4MDA4OTtaT08KKyNlcnJvcnMK
KyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/i
gLBaT08iCisKKyNkYXRhCitGT08mI3gwMDhBO1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxo
dG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT8WgWk9PIgorCisjZGF0YQor
Rk9PJiN4MDA4QjtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4K
K3wgICA8Ym9keT4KK3wgICAgICJGT0/igLlaT08iCisKKyNkYXRhCitGT08mI3gwMDhDO1pPTwor
I2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAg
ICAgIkZPT8WSWk9PIgorCisjZGF0YQorRk9PJiN4MDA4RDtaT08KKyNlcnJvcnMKKyNkb2N1bWVu
dAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/CjVpPTyIKKwor
I2RhdGEKK0ZPTyYjeDAwOEU7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8ICAg
PGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9Pxb1aT08iCisKKyNkYXRhCitGT08mI3gwMDhG
O1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5
PgorfCAgICAgIkZPT8KPWk9PIgorCisjZGF0YQorRk9PJiN4MDA5MDtaT08KKyNlcnJvcnMKKyNk
b2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/CkFpP
TyIKKworI2RhdGEKK0ZPTyYjeDAwOTE7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+
Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P4oCYWk9PIgorCisjZGF0YQorRk9P
JiN4MDA5MjtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wg
ICA8Ym9keT4KK3wgICAgICJGT0/igJlaT08iCisKKyNkYXRhCitGT08mI3gwMDkzO1pPTworI2Vy
cm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAg
IkZPT+KAnFpPTyIKKworI2RhdGEKK0ZPTyYjeDAwOTQ7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQK
K3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P4oCdWk9PIgorCisj
ZGF0YQorRk9PJiN4MDA5NTtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8
aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/igKJaT08iCisKKyNkYXRhCitGT08mI3gwMDk2
O1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5
PgorfCAgICAgIkZPT+KAk1pPTyIKKworI2RhdGEKK0ZPTyYjeDAwOTc7Wk9PCisjZXJyb3JzCisj
ZG9jdW1lbnQKK3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P4oCU
Wk9PIgorCisjZGF0YQorRk9PJiN4MDA5ODtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRt
bD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/LnFpPTyIKKworI2RhdGEKK0ZP
TyYjeDAwOTk7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8
ICAgPGJvZHk+Cit8ICAgICAiRk9P4oSiWk9PIgorCisjZGF0YQorRk9PJiN4MDA5QTtaT08KKyNl
cnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAg
ICJGT0/FoVpPTyIKKworI2RhdGEKK0ZPTyYjeDAwOUI7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQK
K3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P4oC6Wk9PIgorCisj
ZGF0YQorRk9PJiN4MDA5QztaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8
aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/Fk1pPTyIKKworI2RhdGEKK0ZPTyYjeDAwOUQ7
Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+
Cit8ICAgICAiRk9Pwp1aT08iCisKKyNkYXRhCitGT08mI3gwMDlFO1pPTworI2Vycm9ycworI2Rv
Y3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT8W+Wk9P
IgorCisjZGF0YQorRk9PJiN4MDA5RjtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4K
K3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/FuFpPTyIKKworI2RhdGEKK0ZPTyYj
eDAwQTA7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAg
PGJvZHk+Cit8ICAgICAiRk9PwqBaT08iCisKKyNkYXRhCitGT08mI3hEN0ZGO1pPTworI2Vycm9y
cworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZP
T+2fv1pPTyIKKworI2RhdGEKK0ZPTyYjeEQ4MDA7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wg
PGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P77+9Wk9PIgorCisjZGF0
YQorRk9PJiN4RDgwMTtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVh
ZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/vv71aT08iCisKKyNkYXRhCitGT08mI3hERkZFO1pP
TworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5Pgor
fCAgICAgIkZPT++/vVpPTyIKKworI2RhdGEKK0ZPTyYjeERGRkY7Wk9PCisjZXJyb3JzCisjZG9j
dW1lbnQKK3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P77+9Wk9P
IgorCisjZGF0YQorRk9PJiN4RTAwMDtaT08KKyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4K
K3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wgICAgICJGT0/ugIBaT08iCisKKyNkYXRhCitGT08m
I3gxMEZGRkU7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8
ICAgPGJvZHk+Cit8ICAgICAiRk9P9I+/vlpPTyIKKworI2RhdGEKK0ZPTyYjeDEwODdENDtaT08K
KyNlcnJvcnMKKyNkb2N1bWVudAorfCA8aHRtbD4KK3wgICA8aGVhZD4KK3wgICA8Ym9keT4KK3wg
ICAgICJGT0/0iJ+UWk9PIgorCisjZGF0YQorRk9PJiN4MTBGRkZGO1pPTworI2Vycm9ycworI2Rv
Y3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFkPgorfCAgIDxib2R5PgorfCAgICAgIkZPT/SPv79a
T08iCisKKyNkYXRhCitGT08mI3gxMTAwMDA7Wk9PCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0
bWw+Cit8ICAgPGhlYWQ+Cit8ICAgPGJvZHk+Cit8ICAgICAiRk9P77+9Wk9PIgorCisjZGF0YQor
Rk9PJiN4RkZGRkZGO1pPTworI2Vycm9ycworI2RvY3VtZW50Cit8IDxodG1sPgorfCAgIDxoZWFk
PgorfCAgIDxib2R5PgorfCAgICAgIkZPT++/vVpPTyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0bWw1bGliL3J1bm5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odG1sNWxpYi9ydW5u
ZXItZXhwZWN0ZWQudHh0CmluZGV4IDkxM2QwOWEwZDc0MGE2NzE1OGYwZTM3MGJjMDc5YjNmNzI4
YzAwMzIuLjQ1ZDNlZDgxNGE3OGE1MzcyZDZjN2U2NmJhYzYyYjVlY2ZiZTY3ZTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0bWw1bGliL3J1bm5lci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaHRtbDVsaWIvcnVubmVyLWV4cGVjdGVkLnR4dApAQCAtNDM1LDYgKzQzNSwxNCBAQCBy
ZXNvdXJjZXMvc2NyaXB0ZGF0YTAxLmRhdDoKIHJlc291cmNlcy9lbnRpdGllczAxLmRhdDoKIDIK
IDUKKzIxCisyMgorNTkKKzYwCis2MQorNjIKKzY3Cis2OAogCiByZXNvdXJjZXMvY29tbWVudHMw
MS5kYXQ6CiAzCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDljNjM5YjRiODQwMWZlY2MzNTVjNzU5NWZhMDlhMGUxNTllNjRjYTQuLmU3NGFh
YjMwNTg0Y2NjOTFmYTljOTAxZTM2N2Y1ZGVjYWYxOWU1NzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTAt
MDUtMjcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIYW5kbGUgZWRnZSBjYXNlcyBpbiBIVE1M
NSBlbnRpdHkgcGFyc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Mzk4MjMKKworICAgICAgICBUaGUgSFRNTDUgc3BlY2lmaWNhdGlvbiB0ZWxscyB1
cyB0byBoYW5kbGUgSFRNTCBlbnRpdGllcyBpbiBhIHNvbWV3aGF0CisgICAgICAgIGNvbXBsaWNh
dGVkIHdheS4gIFRoaXMgcGF0Y2ggYXR0ZW1wdHMgdG8gY29ycmVjdGx5IGhhbmRsZSBudW1lcmlj
CisgICAgICAgIGVudGl0aWVzLiAgU29tZSBvZiB0aGlzIGNvZGUgaXMgZHVwbGljYXRlZCBmcm9t
IEhUTUxUb2tlbml6ZXIuCisKKyAgICAgICAgKiBodG1sL0hUTUw1TGV4ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE5hbWVzOjopOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE5hbWVzOjph
ZGp1c3RFbnRpdHkpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE5hbWVzOjpsZWdhbEVudGl0eUZv
cik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNUxleGVyOjpjb25zdW1lRW50aXR5KToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUw1TGV4ZXI6OnByb2Nlc3NFbnRpdHkpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTDVMZXhlcjo6bmV4dFRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUw1TGV4ZXI6
OmVtaXRDb2RlUG9pbnQpOgorICAgICAgICAqIGh0bWwvSFRNTDVMZXhlci5oOgorCiAyMDEwLTA1
LTI2ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1TGV4ZXIuY3BwIGIv
V2ViQ29yZS9odG1sL0hUTUw1TGV4ZXIuY3BwCmluZGV4IGM2YzQxOTc1Y2Y3NGM5YjYwOWQ4Mzg0
YzM3MGM2Y2MxNDQxNWNlY2MuLmEzOTJlM2Y0YmUwMTNlMGQ0MGY5MTE1ZDM0ZGFkMjViMzgwYjNi
YmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MNUxleGVyLmNwcAorKysgYi9XZWJDb3Jl
L2h0bWwvSFRNTDVMZXhlci5jcHAKQEAgLTU5LDYgKzU5LDEzIEBAIHVzaW5nIG5hbWVzcGFjZSBI
VE1MTmFtZXM7CiAKIG5hbWVzcGFjZSB7CiAKK3N0YXRpYyBjb25zdCBVQ2hhciB3aW5kb3dzTGF0
aW4xRXh0ZW5zaW9uQXJyYXlbMzJdID0geworICAgIDB4MjBBQywgMHgwMDgxLCAweDIwMUEsIDB4
MDE5MiwgMHgyMDFFLCAweDIwMjYsIDB4MjAyMCwgMHgyMDIxLCAvLyA4MC04NworICAgIDB4MDJD
NiwgMHgyMDMwLCAweDAxNjAsIDB4MjAzOSwgMHgwMTUyLCAweDAwOEQsIDB4MDE3RCwgMHgwMDhG
LCAvLyA4OC04RgorICAgIDB4MDA5MCwgMHgyMDE4LCAweDIwMTksIDB4MjAxQywgMHgyMDFELCAw
eDIwMjIsIDB4MjAxMywgMHgyMDE0LCAvLyA5MC05NworICAgIDB4MDJEQywgMHgyMTIyLCAweDAx
NjEsIDB4MjAzQSwgMHgwMTUzLCAweDAwOUQsIDB4MDE3RSwgMHgwMTc4LCAvLyA5OC05RgorfTsK
KwogaW5saW5lIFVDaGFyIHRvTG93ZXJDYXNlKFVDaGFyIGNjKQogewogICAgIEFTU0VSVChjYyA+
PSAnQScgJiYgY2MgPD0gJ1onKTsKQEAgLTgyLDExICs4OSwyMCBAQCBpbmxpbmUgYm9vbCB2ZWN0
b3JFcXVhbHNTdHJpbmcoY29uc3QgVmVjdG9yPFVDaGFyLCAzMj4mIHZlY3RvciwgY29uc3QgU3Ry
aW5nJiBzdAogICAgIHJldHVybiAhbWVtY21wKHN0cmluZ0RhdGEsIHZlY3RvckRhdGEsIHZlY3Rv
ci5zaXplKCkgKiBzaXplb2YoVUNoYXIpKTsKIH0KIAotaW5saW5lIFVDaGFyIGxlZ2FsRW50aXR5
Rm9yKHVuc2lnbmVkIHZhbHVlKQoraW5saW5lIFVDaGFyIGFkanVzdEVudGl0eSh1bnNpZ25lZCB2
YWx1ZSkKK3sKKyAgICBpZiAoKHZhbHVlICYgfjB4MUYpICE9IDB4MDA4MCkKKyAgICAgICAgcmV0
dXJuIHZhbHVlOworICAgIHJldHVybiB3aW5kb3dzTGF0aW4xRXh0ZW5zaW9uQXJyYXlbdmFsdWUg
LSAweDgwXTsKK30KKworaW5saW5lIHVuc2lnbmVkIGxlZ2FsRW50aXR5Rm9yKHVuc2lnbmVkIHZh
bHVlKQogewotICAgIC8vIEZJWE1FOiBUaGVyZSBpcyBhIHRhYmxlIHdpdGggbW9yZSBleGNlcHRp
b25zIGluIHRoZSBIVE1MNSBzcGVjaWZpY2F0aW9uLgorICAgIC8vIEZJWE1FOiBBIG51bWJlciBv
ZiBzcGVjaWZpYyBlbnRpdHkgdmFsdWVzIGdlbmVyYXRlIHBhcnNlIGVycm9ycy4KICAgICBpZiAo
dmFsdWUgPT0gMCB8fCB2YWx1ZSA+IDB4MTBGRkZGIHx8ICh2YWx1ZSA+PSAweEQ4MDAgJiYgdmFs
dWUgPD0gMHhERkZGKSkKICAgICAgICAgcmV0dXJuIDB4RkZGRDsKKyAgICBpZiAodmFsdWUgPCAw
eEZGRkYpCisgICAgICAgIHJldHVybiBhZGp1c3RFbnRpdHkodmFsdWUpOwogICAgIHJldHVybiB2
YWx1ZTsKIH0KIApAQCAtMTQyLDcgKzE1OCw3IEBAIHZvaWQgSFRNTDVMZXhlcjo6cmVzZXQoKQog
ICAgIG1fYWRkaXRpb25hbEFsbG93ZWRDaGFyYWN0ZXIgPSAnXDAnOwogfQogCi1VQ2hhciBIVE1M
NUxleGVyOjpjb25zdW1lRW50aXR5KFNlZ21lbnRlZFN0cmluZyYgc291cmNlLCBib29sJiBub3RF
bm91Z2hDaGFyYWN0ZXJzKQordW5zaWduZWQgSFRNTDVMZXhlcjo6Y29uc3VtZUVudGl0eShTZWdt
ZW50ZWRTdHJpbmcmIHNvdXJjZSwgYm9vbCYgbm90RW5vdWdoQ2hhcmFjdGVycykKIHsKICAgICBB
U1NFUlQobV9zdGF0ZSAhPSBDaGFyYWN0ZXJSZWZlcmVuY2VJbkF0dHJpYnV0ZVZhbHVlU3RhdGUg
fHwgbV9hZGRpdGlvbmFsQWxsb3dlZENoYXJhY3RlciA9PSAnIicgfHwgbV9hZGRpdGlvbmFsQWxs
b3dlZENoYXJhY3RlciA9PSAnXCcnIHx8IG1fYWRkaXRpb25hbEFsbG93ZWRDaGFyYWN0ZXIgPT0g
Jz4nKTsKICAgICBBU1NFUlQoIW5vdEVub3VnaENoYXJhY3RlcnMpOwpAQCAtMjg1LDYgKzMwMSwx
OSBAQCBVQ2hhciBIVE1MNUxleGVyOjpjb25zdW1lRW50aXR5KFNlZ21lbnRlZFN0cmluZyYgc291
cmNlLCBib29sJiBub3RFbm91Z2hDaGFyYWN0ZQogICAgIHJldHVybiAwOwogfQogCitpbmxpbmUg
Ym9vbCBIVE1MNUxleGVyOjpwcm9jZXNzRW50aXR5KFNlZ21lbnRlZFN0cmluZyYgc291cmNlKQor
eworICAgIGJvb2wgbm90RW5vdWdoQ2hhcmFjdGVycyA9IGZhbHNlOworICAgIHVuc2lnbmVkIHZh
bHVlID0gY29uc3VtZUVudGl0eShzb3VyY2UsIG5vdEVub3VnaENoYXJhY3RlcnMpOworICAgIGlm
IChub3RFbm91Z2hDaGFyYWN0ZXJzKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCF2
YWx1ZSkKKyAgICAgICAgZW1pdENoYXJhY3RlcignJicpOworICAgIGVsc2UKKyAgICAgICAgZW1p
dENvZGVQb2ludCh2YWx1ZSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgSFRNTDVMZXhl
cjo6bmV4dFRva2VuKFNlZ21lbnRlZFN0cmluZyYgc291cmNlLCBIVE1MNVRva2VuJiB0b2tlbikK
IHsKICAgICAvLyBJZiB3ZSBoYXZlIGEgdG9rZW4gaW4gcHJvZ3Jlc3MsIHRoZW4gd2UncmUgc3Vw
cG9zZWQgdG8gYmUgY2FsbGVkIGJhY2sKQEAgLTMyMywxMSArMzUyLDggQEAgYm9vbCBIVE1MNUxl
eGVyOjpuZXh0VG9rZW4oU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UsIEhUTUw1VG9rZW4mIHRva2Vu
KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBDaGFyYWN0ZXJS
ZWZlcmVuY2VJbkRhdGFTdGF0ZTogewotICAgICAgICAgICAgYm9vbCBub3RFbm91Z2hDaGFyYWN0
ZXJzID0gZmFsc2U7Ci0gICAgICAgICAgICBVQ2hhciBlbnRpdHkgPSBjb25zdW1lRW50aXR5KHNv
dXJjZSwgbm90RW5vdWdoQ2hhcmFjdGVycyk7Ci0gICAgICAgICAgICBpZiAobm90RW5vdWdoQ2hh
cmFjdGVycykKKyAgICAgICAgICAgIGlmICghcHJvY2Vzc0VudGl0eShzb3VyY2UpKQogICAgICAg
ICAgICAgICAgIHJldHVybiBzaG91bGRFbWl0QnVmZmVyZWRDaGFyYWN0ZXJUb2tlbihzb3VyY2Up
OwotICAgICAgICAgICAgZW1pdENoYXJhY3RlcihlbnRpdHkgPyBlbnRpdHkgOiAnJicpOwogICAg
ICAgICAgICAgbV9zdGF0ZSA9IERhdGFTdGF0ZTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICB9CkBAIC0zNDEsMTEgKzM2Nyw4IEBAIGJvb2wgSFRNTDVMZXhlcjo6bmV4dFRva2VuKFNl
Z21lbnRlZFN0cmluZyYgc291cmNlLCBIVE1MNVRva2VuJiB0b2tlbikKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQ2hhcmFjdGVyUmVmZXJlbmNlSW5SQ0RBVEFT
dGF0ZTogewotICAgICAgICAgICAgYm9vbCBub3RFbm91Z2hDaGFyYWN0ZXJzID0gZmFsc2U7Ci0g
ICAgICAgICAgICBVQ2hhciBlbnRpdHkgPSBjb25zdW1lRW50aXR5KHNvdXJjZSwgbm90RW5vdWdo
Q2hhcmFjdGVycyk7Ci0gICAgICAgICAgICBpZiAobm90RW5vdWdoQ2hhcmFjdGVycykKKyAgICAg
ICAgICAgIGlmICghcHJvY2Vzc0VudGl0eShzb3VyY2UpKQogICAgICAgICAgICAgICAgIHJldHVy
biBzaG91bGRFbWl0QnVmZmVyZWRDaGFyYWN0ZXJUb2tlbihzb3VyY2UpOwotICAgICAgICAgICAg
ZW1pdENoYXJhY3RlcihlbnRpdHkgPyBlbnRpdHkgOiAnJicpOwogICAgICAgICAgICAgbV9zdGF0
ZSA9IFJDREFUQVN0YXRlOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KQEAgLTk3
NywxMCArMTAwMCwxNyBAQCBib29sIEhUTUw1TGV4ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTdHJp
bmcmIHNvdXJjZSwgSFRNTDVUb2tlbiYgdG9rZW4pCiAgICAgICAgIH0KICAgICAgICAgY2FzZSBD
aGFyYWN0ZXJSZWZlcmVuY2VJbkF0dHJpYnV0ZVZhbHVlU3RhdGU6IHsKICAgICAgICAgICAgIGJv
b2wgbm90RW5vdWdoQ2hhcmFjdGVycyA9IGZhbHNlOwotICAgICAgICAgICAgVUNoYXIgZW50aXR5
ID0gY29uc3VtZUVudGl0eShzb3VyY2UsIG5vdEVub3VnaENoYXJhY3RlcnMpOworICAgICAgICAg
ICAgdW5zaWduZWQgdmFsdWUgPSBjb25zdW1lRW50aXR5KHNvdXJjZSwgbm90RW5vdWdoQ2hhcmFj
dGVycyk7CiAgICAgICAgICAgICBpZiAobm90RW5vdWdoQ2hhcmFjdGVycykKICAgICAgICAgICAg
ICAgICByZXR1cm4gc2hvdWxkRW1pdEJ1ZmZlcmVkQ2hhcmFjdGVyVG9rZW4oc291cmNlKTsKLSAg
ICAgICAgICAgIG1fdG9rZW4tPmFwcGVuZFRvQXR0cmlidXRlVmFsdWUoZW50aXR5ID8gZW50aXR5
IDogJyYnKTsKKyAgICAgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICAgICAgbV90b2tl
bi0+YXBwZW5kVG9BdHRyaWJ1dGVWYWx1ZSgnJicpOworICAgICAgICAgICAgZWxzZSBpZiAodmFs
dWUgPCAweEZGRkYpCisgICAgICAgICAgICAgICAgbV90b2tlbi0+YXBwZW5kVG9BdHRyaWJ1dGVW
YWx1ZSh2YWx1ZSk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX3Rva2Vu
LT5hcHBlbmRUb0F0dHJpYnV0ZVZhbHVlKFUxNl9MRUFEKHZhbHVlKSk7CisgICAgICAgICAgICAg
ICAgbV90b2tlbi0+YXBwZW5kVG9BdHRyaWJ1dGVWYWx1ZShVMTZfVFJBSUwodmFsdWUpKTsKKyAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIC8vIFdlJ3JlIHN1cHBvc2VkIHRvIHN3aXRjaCBiYWNr
IHRvIHRoZSBhdHRyaWJ1dGUgdmFsdWUgc3RhdGUgdGhhdAogICAgICAgICAgICAgLy8gd2Ugd2Vy
ZSBpbiB3aGVuIHdlIHdlcmUgc3dpdGNoZWQgaW50byB0aGlzIHN0YXRlLiAgUmF0aGVyIHRoYW4K
ICAgICAgICAgICAgIC8vIGtlZXBpbmcgdHJhY2sgb2YgdGhpcyBleHBsaWN0bHksIHdlIG9ic2Vy
dmUgdGhhdCB0aGUgcHJldmlvdXMKQEAgLTE0OTEsNiArMTUyMSwxNiBAQCBpbmxpbmUgdm9pZCBI
VE1MNUxleGVyOjplbWl0Q2hhcmFjdGVyKFVDaGFyIGNoYXJhY3RlcikKICAgICBtX3Rva2VuLT5h
cHBlbmRUb0NoYXJhY3RlcihjaGFyYWN0ZXIpOwogfQogCitpbmxpbmUgdm9pZCBIVE1MNUxleGVy
OjplbWl0Q29kZVBvaW50KHVuc2lnbmVkIHZhbHVlKQoreworICAgIGlmICh2YWx1ZSA8IDB4RkZG
RikgeworICAgICAgICBlbWl0Q2hhcmFjdGVyKHZhbHVlKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICBlbWl0Q2hhcmFjdGVyKFUxNl9MRUFEKHZhbHVlKSk7CisgICAgZW1pdENoYXJhY3Rl
cihVMTZfVFJBSUwodmFsdWUpKTsKK30KKwogaW5saW5lIHZvaWQgSFRNTDVMZXhlcjo6ZW1pdFBh
cnNlRXJyb3IoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvSFRNTDVMZXhlci5oIGIvV2ViQ29yZS9odG1sL0hUTUw1TGV4ZXIuaAppbmRleCBlZmQ5
MTUzMDAxZjBjMGM2ZjAwZmExYjkzYjBlNzI0YzIwZGE2MmM2Li42YjA0ODk5YzlhN2UyNjY2NzQw
ZWM2YWMyMjIzYjUyODgzYTM5NThmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTDVMZXhl
ci5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MNUxleGVyLmgKQEAgLTEyNiw4ICsxMjYsMTAgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBpbmxpbmUgdm9pZCBlbWl0Q2hhcmFjdGVyKFVD
aGFyKTsKICAgICAgICAgaW5saW5lIHZvaWQgZW1pdFBhcnNlRXJyb3IoKTsKICAgICAgICAgaW5s
aW5lIHZvaWQgZW1pdEN1cnJlbnRUb2tlbigpOworICAgICAgICBpbmxpbmUgdm9pZCBlbWl0Q29k
ZVBvaW50KHVuc2lnbmVkKTsKIAotICAgICAgICBVQ2hhciBjb25zdW1lRW50aXR5KFNlZ21lbnRl
ZFN0cmluZyYsIGJvb2wmIG5vdEVub3VnaENoYXJhY3RlcnMpOworICAgICAgICB1bnNpZ25lZCBj
b25zdW1lRW50aXR5KFNlZ21lbnRlZFN0cmluZyYsIGJvb2wmIG5vdEVub3VnaENoYXJhY3RlcnMp
OworICAgICAgICBpbmxpbmUgYm9vbCBwcm9jZXNzRW50aXR5KFNlZ21lbnRlZFN0cmluZyYgc291
cmNlKTsKIAogICAgICAgICBpbmxpbmUgYm9vbCB0ZW1wb3JhcnlCdWZmZXJJcyhjb25zdCBTdHJp
bmcmKTsKIAo=
</data>
<flag name="review"
          id="41867"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>