<?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>10676</bug_id>
          
          <creation_ts>2006-09-01 11:11:10 -0700</creation_ts>
          <short_desc>@charset rules not accessible via DOM</short_desc>
          <delta_ts>2006-09-04 11:27:36 -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>CSS</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>54568</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-09-01 11:11:10 -0700</bug_when>
    <thetext>When a CSS file has a @charset declaration, it is not accessible via DOM (so, document.styleSheets[0].cssRules[0] is actually the second rule).

A tricky part is that IE doesn&apos;t make it accessible either... but it uses a non-standard property, CSSStyleSheet.rules, so we can apparently work around this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54569</commentid>
    <comment_count>1</comment_count>
      <attachid>10350</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-09-01 11:28:13 -0700</bug_when>
    <thetext>Created attachment 10350
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54717</commentid>
    <comment_count>2</comment_count>
      <attachid>10350</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-09-03 12:13:22 -0700</bug_when>
    <thetext>Comment on attachment 10350
proposed patch

Do we really need those empty blocks in the yacc source? It looks cleaner to me with no block at all when there&apos;s no code.

I&apos;m really not a fan of boolean parameters like omitCharsetRules, but I don&apos;t have anything better to suggest. It should be omitCharsetRules with an &quot;s&quot; by the way.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54721</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-09-03 12:30:12 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Do we really need those empty blocks in the yacc source? It looks cleaner to me
&gt; with no block at all when there&apos;s no code.

I was getting type mismatch errors before I added empty blocks. Perhaps I&apos;m just missing a better way to avoid them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54781</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-09-04 11:27:36 -0700</bug_when>
    <thetext>Committed revision 16217.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10350</attachid>
            <date>2006-09-01 11:28:13 -0700</date>
            <delta_ts>2006-09-03 12:13:22 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>10676r1_patch.txt</filename>
            <type>text/plain</type>
            <size>16625</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2MTczKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDYtMDktMDEgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBueXBvcC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdCBmb3IgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDY3NgorICAgICAgICBAY2hhcnNldCBydWxlcyBub3QgYWNjZXNzaWJsZSB2
aWEgRE9NCisKKyAgICAgICAgKiBmYXN0L2VuY29kaW5nL2Nzcy1jaGFyc2V0LWRvbS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZW5jb2RpbmcvY3NzLWNoYXJzZXQtZG9tLmh0
bWw6IEFkZGVkLgorCiAyMDA2LTA4LTMxICBBbGljZSBMaXUgIDxhbGljZS5saXVAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9l
bmNvZGluZy9jc3MtY2hhcnNldC1kb20tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZW5jb2RpbmcvY3NzLWNoYXJzZXQtZG9tLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZW5jb2RpbmcvY3NzLWNoYXJzZXQtZG9tLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5IEBACitUZXN0IGZvciBidWcgMTA2NzY6
IEBjaGFyc2V0IHJ1bGVzIG5vdCBhY2Nlc3NpYmxlIHZpYSBET00KKworY3NzVGV4dDogQGNoYXJz
ZXQgInV0Zi04IjsKK2VuY29kaW5nOiB1dGYtOAorUmVzZXR0aW5nIGVuY29kaW5nLi4uCitjc3NU
ZXh0OiBAY2hhcnNldCAia29pOC1yIjsKK2VuY29kaW5nOiBrb2k4LXIKKworCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2VuY29kaW5nL2Nzcy1jaGFyc2V0LWRvbS1leHBl
Y3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpO
YW1lOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9l
bmNvZGluZy9jc3MtY2hhcnNldC1kb20uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2VuY29kaW5nL2Nzcy1jaGFyc2V0LWRvbS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9lbmNvZGluZy9jc3MtY2hhcnNldC1kb20uaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwzMiBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0
bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUxIiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiLz4KKyAg
ICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJjc3MtY2hhcnNl
dC5jc3MiIGNoYXJzZXQ9IndpbmRvd3MtMTI1MSI+CisgICAgPCEtLSBUaGUgZG9jdW1lbnQgY2hh
cnNldCBhbmQgbGluayBjaGFyc2V0IGhhdmUgbG93ZXIgcHJpb3JpdHkgdGhhbiBAY2hhcnNldCwg
c28gdGhleSAKKyAgICAgICAgIHNob3VsZG4ndCBhZmZlY3QgYW55dGhpbmcuIC0tPgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cDovL2J1
Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY3NiI+YnVnIDEwNjc2PC9h
PjoKK0BjaGFyc2V0IHJ1bGVzIG5vdCBhY2Nlc3NpYmxlIHZpYSBET008L3A+CisKKzxwIGlkPSJy
ZXN1bHQiPjwvcD4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiB0ZXN0
KCkgeworICB0cnkgeworICAgIGNoYXJzZXRSdWxlID0gZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0u
Y3NzUnVsZXNbMF07CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVy
SFRNTCA9ICJjc3NUZXh0OiAiICsgY2hhcnNldFJ1bGUuY3NzVGV4dCArICI8YnI+ZW5jb2Rpbmc6
ICIgKyBjaGFyc2V0UnVsZS5lbmNvZGluZzsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cmVzdWx0IikuaW5uZXJIVE1MICs9ICI8YnI+UmVzZXR0aW5nIGVuY29kaW5nLi4uIjsKKyAgICBj
aGFyc2V0UnVsZS5lbmNvZGluZyA9ICJrb2k4LXIiOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gIjxicj5jc3NUZXh0OiAiICsgY2hhcnNldFJ1bGUu
Y3NzVGV4dCArICI8YnI+ZW5jb2Rpbmc6ICIgKyBjaGFyc2V0UnVsZS5lbmNvZGluZzsKKyAgfSBj
YXRjaCAoZXgpIHsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikudGV4dENv
bnRlbnQgPSBleC50b1N0cmluZygpOworICB9Cit9Cis8L3NjcmlwdD4KKworPC9ib2R5PgorPC9o
dG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9jc3Mt
Y2hhcnNldC1kb20uaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0
L2h0bWwKCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0No
YW5nZUxvZwkocmV2aXNpb24gMTYxNzMpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDA2LTA5LTAxICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAbnlwb3AuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2
NzYKKyAgICAgICAgQGNoYXJzZXQgcnVsZXMgbm90IGFjY2Vzc2libGUgdmlhIERPTQorCisgICAg
ICAgIFRlc3Q6IGZhc3QvZW5jb2RpbmcvY3NzLWNoYXJzZXQtZG9tLmh0bWwKKworICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQgQ1NTQ2hhcnNldFJ1bGUu
Y3BwCisgICAgICAgICogYmluZGluZ3MvanMva2pzX2Nzcy5jcHA6CisgICAgICAgIChLSlM6OkRP
TUNTU1N0eWxlU2hlZXQ6OmdldFZhbHVlUHJvcGVydHkpOgorICAgICAgICBTZXBhcmF0ZWQgUnVs
ZXMgYW5kIENzc1J1bGVzLCBzaW5jZSBub3cgdGhleSBiZWhhdmUgZGlmZmVyZW50bHkuCisKKyAg
ICAgICAgKiBjc3MvQ1NTQ2hhcnNldFJ1bGUuaDogTWFrZSB0aGUgY29uc3RydWN0b3IgdGFrZSBh
biBlbmNvZGluZy4KKyAgICAgICAgKiBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwOiBBZGRlZC4KKwor
ICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnk6IENyZWF0ZSBDU1NTdHlsZXNoZWV0UnVsZXMgYXMg
bmVjZXNzYXJ5LgorCisgICAgICAgICogY3NzL0NTU1J1bGVMaXN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1J1bGVMaXN0OjpDU1NSdWxlTGlzdCk6CisgICAgICAgICogY3NzL0NTU1J1bGVM
aXN0Lmg6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTU3R5bGVTaGVldDo6Y3NzUnVsZXMpOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0
Lmg6CisgICAgICAgIFNraXAgY2hhcnNldCBydWxlcyBpbiBJRSBjb21wYXRpYmlsaXR5IG1vZGUu
CisKKyAgICAgICAgKiBjc3MvU3R5bGVCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJh
c2U6OmlzQ2hhcnNldFJ1bGUpOiBGaXhlZCBhIHR5cG8uCisKKyAgICAgICAgKiBjc3MvY3NzcGFy
c2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y3JlYXRlQ2hhcnNldFJ1bGUp
OgorICAgICAgICAqIGNzcy9jc3NwYXJzZXIuaDoKKyAgICAgICAgQWRkZWQgY3JlYXRlQ2hhcnNl
dFJ1bGUoKS4KKwogMjAwNi0wOS0wMSAgQWRlbGUgUGV0ZXJzb24gIDxhZGVsZUBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSm9obi4KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNjE0NSkKKysrIFdlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNzQxLDYgKzE3
NDEsNyBAQAogCQlERDc2M0JCMjA5OTJDMkM5MDA3NDBCOEUgLyogbGlieG1sMi5keWxpYiBpbiBG
cmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERENzYzQkIxMDk5
MkMyQzkwMDc0MEI4RSAvKiBsaWJ4bWwyLmR5bGliICovOyB9OwogCQlERDdDREYyNTBBMjNDRjk4
MDAwNjk5MjggLyogQ1NTVW5rbm93blJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE4MEU2Q0NFMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NVbmtub3du
UnVsZS5oICovOyB9OwogCQlFMTA1MkMzMjBBNEQ3MDAxMDA3MkQ5OUIgLyogRE9NRXZlbnRzTm9u
c3RhbmRhcmQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMTA1MkMzMTBBNEQ3MDAxMDA3MkQ5OUIgLyogRE9NRXZlbnRzTm9uc3RhbmRhcmQubW0gKi87
IH07CisJCUUxMDZEQTE2MEFBODlCODgwMEEwRTUxRCAvKiBDU1NDaGFyc2V0UnVsZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTA2REExNTBBQTg5
Qjg4MDBBMEU1MUQgLyogQ1NTQ2hhcnNldFJ1bGUuY3BwICovOyB9OwogCQlFMTQ4NDJERTBBNjc0
OTM0MDA3RTREMzkgLyogU3RyZWFtaW5nVGV4dERlY29kZXJJQ1UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNDg0MkREMEE2NzQ5MzQwMDdFNEQzOSAv
KiBTdHJlYW1pbmdUZXh0RGVjb2RlcklDVS5oICovOyB9OwogCQlFMTQ4NDJGRjBBNjc0QTMxMDA3
RTREMzkgLyogU3RyZWFtaW5nVGV4dERlY29kZXJJQ1UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE0ODQyRkUwQTY3NEEzMTAwN0U0RDM5IC8qIFN0
cmVhbWluZ1RleHREZWNvZGVySUNVLmNwcCAqLzsgfTsKIAkJRTE0ODQzMkYwQTY3NEZDMjAwN0U0
RDM5IC8qIFN0cmVhbWluZ1RleHREZWNvZGVyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTQ4NDMyRTBBNjc0RkMyMDA3RTREMzkgLyogU3RyZWFt
aW5nVGV4dERlY29kZXJNYWMuaCAqLzsgfTsKQEAgLTM3MDEsNiArMzcwMiw3IEBACiAJCURCMjND
MkNBMEE1MDhEMjkwMDI0ODlFQiAvKiBJbmRlbnRPdXRkZW50Q29tbWFuZC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5kZW50T3V0ZGVudENvbW1hbmQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREQ3NjNCQjEwOTkyQzJDOTAwNzQwQjhFIC8qIGxpYnhtbDIu
ZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAi
Y29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYnhtbDIuZHlsaWI7IHBhdGggPSAvdXNy
L2xpYi9saWJ4bWwyLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQlFMTA1
MkMzMTBBNEQ3MDAxMDA3MkQ5OUIgLyogRE9NRXZlbnRzTm9uc3RhbmRhcmQubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NRXZlbnRzTm9uc3RhbmRhcmQubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUxMDZEQTE1MEFBODlCODgwMEEwRTUxRCAv
KiBDU1NDaGFyc2V0UnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ1NTQ2hhcnNldFJ1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTQ4
NDJERDBBNjc0OTM0MDA3RTREMzkgLyogU3RyZWFtaW5nVGV4dERlY29kZXJJQ1UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RyZWFtaW5nVGV4dERlY29kZXJJQ1UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE0ODQyRkUwQTY3NEEzMTAwN0U0RDM5IC8qIFN0
cmVhbWluZ1RleHREZWNvZGVySUNVLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFN0cmVhbWluZ1RleHREZWNvZGVySUNVLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTE0ODQzMkUwQTY3NEZDMjAwN0U0RDM5IC8qIFN0cmVhbWluZ1RleHREZWNvZGVy
TWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBT
dHJlYW1pbmdUZXh0RGVjb2Rlck1hYy5oOyBwYXRoID0gbWFjL1N0cmVhbWluZ1RleHREZWNvZGVy
TWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NzM4LDYgKzU3NDAsNyBAQAog
CQkJCUE4MEU2Q0JCMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCAq
LywKIAkJCQlBODBFNkNERDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQm9yZGVySW1hZ2VWYWx1ZS5o
ICovLAogCQkJCUE4MEU2Q0NGMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NDaGFyc2V0UnVsZS5oICov
LAorCQkJCUUxMDZEQTE1MEFBODlCODgwMEEwRTUxRCAvKiBDU1NDaGFyc2V0UnVsZS5jcHAgKi8s
CiAJCQkJQkNFQTQ3N0MwOTdDQUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHAgKi8sCiAJCQkJQkNFQTQ3N0QwOTdDQUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5oICovLAogCQkJCUE4MEU2Q0JEMEExOTg5Q0EwMDdGQjhDNSAvKiBD
U1NGb250RmFjZVJ1bGUuY3BwICovLApAQCAtNzkwMSw2ICs3OTA0LDcgQEAKIAkJCQk4NTlBOUM0
QzBBQTVFM0JEMDBCNjk0QjIgLyogRE9NSFRNTElzSW5kZXhFbGVtZW50Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJODU5QTlDNEUwQUE1RTNCRDAwQjY5NEIyIC8qIERPTUhUTUxNZXRhRWxlbWVudC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTg1OUE5QzUwMEFBNUUzQkQwMEI2OTRCMiAvKiBET01IVE1M
U3R5bGVFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJRTEwNkRBMTYwQUE4OUI4ODAwQTBF
NTFEIC8qIENTU0NoYXJzZXRSdWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogV2ViQ29yZS9i
aW5kaW5ncy9qcy9ranNfY3NzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pz
L2tqc19jc3MuY3BwCShyZXZpc2lvbiAxNjE0NSkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMva2pz
X2Nzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYxMSw4ICs2MTEsOSBAQCBKU1ZhbHVlKiBET01D
U1NTdHlsZVNoZWV0OjpnZXRWYWx1ZVByb3BlCiAgIGNhc2UgT3duZXJSdWxlOgogICAgIHJldHVy
biB0b0pTKGV4ZWMsIHN0YXRpY19jYXN0PENTU1N0eWxlU2hlZXQqPihpbXBsKCkpLT5vd25lclJ1
bGUoKSk7CiAgIGNhc2UgQ3NzUnVsZXM6Ci0gIGNhc2UgUnVsZXM6CiAgICAgcmV0dXJuIHRvSlMo
ZXhlYywgc3RhdGljX2Nhc3Q8Q1NTU3R5bGVTaGVldCo+KGltcGwoKSktPmNzc1J1bGVzKCkpOwor
ICBjYXNlIFJ1bGVzOgorICAgIHJldHVybiB0b0pTKGV4ZWMsIHN0YXRpY19jYXN0PENTU1N0eWxl
U2hlZXQqPihpbXBsKCkpLT5jc3NSdWxlcyh0cnVlKSk7CiAgIGRlZmF1bHQ6CiAgICAgYXNzZXJ0
KDApOwogICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTQ2hh
cnNldFJ1bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNw
cAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNwcAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw0MyBAQAorLyoqCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUg
RE9NIGltcGxlbWVudGF0aW9uIGZvciBLREUuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFw
cGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQWxleGV5IFByb3NrdXJ5
YWtvdiAoYXBAbWFjcnVsZXMucnUpCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0x
MzA3LCBVU0EuCisgKi8KKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NDaGFyc2V0
UnVsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NTU0NoYXJzZXRSdWxlOjpDU1NDaGFy
c2V0UnVsZShTdHlsZUJhc2UqIHBhcmVudCwgY29uc3QgU3RyaW5nJiBlbmNvZGluZykgCisgICAg
OiBDU1NSdWxlKHBhcmVudCkKKyAgICAsIG1fZW5jb2RpbmcoZW5jb2RpbmcpCit7CisgICAgbV90
eXBlID0gQ0hBUlNFVF9SVUxFOworfQorCitDU1NDaGFyc2V0UnVsZTo6fkNTU0NoYXJzZXRSdWxl
KCkKK3sKK30KKworU3RyaW5nIENTU0NoYXJzZXRSdWxlOjpjc3NUZXh0KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gIkBjaGFyc2V0IFwiIiArIG1fZW5jb2RpbmcgKyAiXCI7IjsKK30KKworfQoKUHJv
cGVydHkgY2hhbmdlcyBvbjogV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTmFtZTogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IFdlYkNvcmUvY3NzL0NT
U0NoYXJzZXRSdWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUu
aAkocmV2aXNpb24gMTYxNDUpCisrKyBXZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMiwxMyArMzIsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
Q1NTQ2hhcnNldFJ1bGUgOiBwdWJsaWMgQ1NTUnVsZQogewogcHVibGljOgotICAgIENTU0NoYXJz
ZXRSdWxlKFN0eWxlQmFzZSogcGFyZW50KSA6IENTU1J1bGUocGFyZW50KSB7IG1fdHlwZSA9IENI
QVJTRVRfUlVMRTsgfQorICAgIENTU0NoYXJzZXRSdWxlKFN0eWxlQmFzZSogcGFyZW50LCBjb25z
dCBTdHJpbmcmIGVuY29kaW5nKTsKKyAgICB2aXJ0dWFsIH5DU1NDaGFyc2V0UnVsZSgpOwogCiAg
ICAgdmlydHVhbCBib29sIGlzQ2hhcnNldFJ1bGUoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmly
dHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OwogCiAgICAgU3RyaW5nIGVuY29kaW5nKCkgY29u
c3QgeyByZXR1cm4gbV9lbmNvZGluZzsgfQotICAgIHZvaWQgc2V0RW5jb2RpbmcoU3RyaW5nIF9l
bmNvZGluZykgeyBtX2VuY29kaW5nID0gX2VuY29kaW5nOyB9CisgICAgdm9pZCBzZXRFbmNvZGlu
Zyhjb25zdCBTdHJpbmcmIGVuY29kaW5nKSB7IG1fZW5jb2RpbmcgPSBlbmNvZGluZzsgfQogCiBw
cm90ZWN0ZWQ6CiAgICAgU3RyaW5nIG1fZW5jb2Rpbmc7CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NH
cmFtbWFyLnkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CShyZXZpc2lv
biAxNjE0NSkKKysrIFdlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQkod29ya2luZyBjb3B5KQpAQCAt
MjI3LDYgKzIyNyw3IEBAIHN0YXRpYyBpbnQgY3NzeXlsZXgoWVlTVFlQRSAqeXlsdmFsKSB7IHIK
IAogJXR5cGUgPHJlbGF0aW9uPiBjb21iaW5hdG9yCiAKKyV0eXBlIDxydWxlPiBjaGFyc2V0CiAl
dHlwZSA8cnVsZT4gcnVsZXNldAogJXR5cGUgPHJ1bGU+IG1lZGlhCiAldHlwZSA8cnVsZT4gaW1w
b3J0CkBAIC0zNDMsMTAgKzM0NCwyMiBAQCBtYXliZV9zZ21sOgogCiBtYXliZV9jaGFyc2V0Ogog
ICAgLyogZW1wdHkgKi8KLSAgfCBDSEFSU0VUX1NZTSBtYXliZV9zcGFjZSBTVFJJTkcgbWF5YmVf
c3BhY2UgJzsnCi0gIHwgQ0hBUlNFVF9TWU0gZXJyb3IgaW52YWxpZF9ibG9jawotICB8IENIQVJT
RVRfU1lNIGVycm9yICc7JwotIDsKKyAgfCBjaGFyc2V0IHsKKyAgfQorOworCitjaGFyc2V0Ogor
ICBDSEFSU0VUX1NZTSBtYXliZV9zcGFjZSBTVFJJTkcgbWF5YmVfc3BhY2UgJzsnIHsKKyAgICAg
Q1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKTsKKyAgICAgJCQg
PSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIgKj4ocGFyc2VyKS0+Y3JlYXRlQ2hhcnNldFJ1bGUoJDMp
OworICAgICBpZiAoJCQgJiYgcC0+c3R5bGVFbGVtZW50ICYmIHAtPnN0eWxlRWxlbWVudC0+aXND
U1NTdHlsZVNoZWV0KCkpCisgICAgICAgICBwLT5zdHlsZUVsZW1lbnQtPmFwcGVuZCgkJCk7Cisg
IH0KKyAgfCBDSEFSU0VUX1NZTSBlcnJvciBpbnZhbGlkX2Jsb2NrIHsKKyAgfQorICB8IENIQVJT
RVRfU1lNIGVycm9yICc7JyB7CisgIH0KKzsKIAogaW1wb3J0X2xpc3Q6CiAgLyogZW1wdHkgKi8K
SW5kZXg6IFdlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2Nzcy9DU1NSdWxlTGlzdC5jcHAJKHJldmlzaW9uIDE2MTQ1KQorKysgV2ViQ29yZS9jc3MvQ1NT
UnVsZUxpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMyArMzIsMTMgQEAgQ1NTUnVsZUxp
c3Q6OkNTU1J1bGVMaXN0KCkKIHsKIH0KIAotQ1NTUnVsZUxpc3Q6OkNTU1J1bGVMaXN0KFN0eWxl
TGlzdCogbHN0KQorQ1NTUnVsZUxpc3Q6OkNTU1J1bGVMaXN0KFN0eWxlTGlzdCogbHN0LCBib29s
IG9taXRDaGFyc2V0UnVsZSkKIHsKICAgICBpZiAobHN0KSB7CiAgICAgICAgIHVuc2lnbmVkIGxl
biA9IGxzdC0+bGVuZ3RoKCk7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW47
ICsraSkgewogICAgICAgICAgICAgU3R5bGVCYXNlKiBzdHlsZSA9IGxzdC0+aXRlbShpKTsKLSAg
ICAgICAgICAgIGlmIChzdHlsZS0+aXNSdWxlKCkpCisgICAgICAgICAgICBpZiAoc3R5bGUtPmlz
UnVsZSgpICYmICEob21pdENoYXJzZXRSdWxlICYmIHN0eWxlLT5pc0NoYXJzZXRSdWxlKCkpKQog
ICAgICAgICAgICAgICAgIGFwcGVuZChzdGF0aWNfY2FzdDxDU1NSdWxlKj4oc3R5bGUpKTsKICAg
ICAgICAgfQogICAgIH0KSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9jc3MvQ1NTUnVsZUxpc3QuaAkocmV2aXNpb24gMTYxNDUpCisrKyBXZWJD
b3JlL2Nzcy9DU1NSdWxlTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBAIGNs
YXNzIENTU1J1bGVMaXN0IDogcHVibGljIFNoYXJlZDxDU1NSdWwKIHsKIHB1YmxpYzoKICAgICBD
U1NSdWxlTGlzdCgpOwotICAgIENTU1J1bGVMaXN0KFN0eWxlTGlzdCopOworICAgIENTU1J1bGVM
aXN0KFN0eWxlTGlzdCosIGJvb2wgb21pdENoYXJzZXRSdWxlID0gZmFsc2UpOwogICAgIH5DU1NS
dWxlTGlzdCgpOwogCiAgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sc3RD
U1NSdWxlcy5jb3VudCgpOyB9CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNwcAkocmV2aXNpb24gMTYx
NDUpCisrKyBXZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
OTgsOSArOTgsOSBAQCB1bnNpZ25lZCBDU1NTdHlsZVNoZWV0OjphZGRSdWxlKGNvbnN0IFN0CiAg
ICAgcmV0dXJuIGluc2VydFJ1bGUoc2VsZWN0b3IgKyAiIHsgIiArIHN0eWxlICsgIiB9IiwgaW5k
ZXgsIGVjKTsKIH0KIAotQ1NTUnVsZUxpc3QgKkNTU1N0eWxlU2hlZXQ6OmNzc1J1bGVzKCkKK0NT
U1J1bGVMaXN0ICpDU1NTdHlsZVNoZWV0Ojpjc3NSdWxlcyhib29sIG9taXRDaGFyc2V0UnVsZSkK
IHsKLSAgICByZXR1cm4gbmV3IENTU1J1bGVMaXN0KHRoaXMpOworICAgIHJldHVybiBuZXcgQ1NT
UnVsZUxpc3QodGhpcywgb21pdENoYXJzZXRSdWxlKTsKIH0KIAogdm9pZCBDU1NTdHlsZVNoZWV0
OjpkZWxldGVSdWxlKHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKSW5kZXg6IFdl
YkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NT
dHlsZVNoZWV0LmgJKHJldmlzaW9uIDE2MTQ1KQorKysgV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVl
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IFN0cmluZyB0eXBlKCkgY29uc3QgeyByZXR1cm4gInRleHQvY3NzIjsgfQogCiAgICAgQ1NTUnVs
ZSogb3duZXJSdWxlKCkgY29uc3Q7Ci0gICAgQ1NTUnVsZUxpc3QqIGNzc1J1bGVzKCk7CisgICAg
Q1NTUnVsZUxpc3QqIGNzc1J1bGVzKGJvb2wgb21pdENoYXJzZXRSdWxlID0gZmFsc2UpOwogICAg
IHVuc2lnbmVkIGluc2VydFJ1bGUoY29uc3QgU3RyaW5nJiBydWxlLCB1bnNpZ25lZCBpbmRleCwg
RXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgZGVsZXRlUnVsZSh1bnNpZ25lZCBpbmRleCwgRXhj
ZXB0aW9uQ29kZSYpOwogICAgIHVuc2lnbmVkIGFkZFJ1bGUoY29uc3QgU3RyaW5nJiBzZWxlY3Rv
ciwgY29uc3QgU3RyaW5nJiBzdHlsZSwgaW50IGluZGV4LCBFeGNlcHRpb25Db2RlJik7CkluZGV4
OiBXZWJDb3JlL2Nzcy9TdHlsZUJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9TdHls
ZUJhc2UuaAkocmV2aXNpb24gMTYxNDUpCisrKyBXZWJDb3JlL2Nzcy9TdHlsZUJhc2UuaAkod29y
a2luZyBjb3B5KQpAQCAtNTQsNyArNTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBpc1J1bGVMaXN0KCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmly
dHVhbCBib29sIGlzUnVsZSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBpc1N0eWxlUnVsZSgpIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBp
c0NoYXJldFJ1bGUoKSB7IHJldHVybiBmYWxzZTsgfQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXND
aGFyc2V0UnVsZSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0lt
cG9ydFJ1bGUoKSB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNNZWRp
YVJ1bGUoKSB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGb250RmFj
ZVJ1bGUoKSB7IHJldHVybiBmYWxzZTsgfQpJbmRleDogV2ViQ29yZS9jc3MvY3NzcGFyc2VyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9jc3NwYXJzZXIuY3BwCShyZXZpc2lvbiAxNjE0
NSkKKysrIFdlYkNvcmUvY3NzL2Nzc3BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYg
KzI2LDcgQEAKIAogI2luY2x1ZGUgIkNTU0JvcmRlckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJD
U1NJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKICNpbmNsdWRlICJD
U1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTSW5oZXJpdGVkVmFsdWUuaCIKICNpbmNsdWRl
ICJDU1NJbml0aWFsVmFsdWUuaCIKQEAgLTMwMDYsNiArMzAwNywxNyBAQCBNZWRpYUxpc3QqIENT
U1BhcnNlcjo6Y3JlYXRlTWVkaWFMaXN0KCkKICAgICByZXR1cm4gbGlzdDsKIH0KIAorQ1NTUnVs
ZSogQ1NTUGFyc2VyOjpjcmVhdGVDaGFyc2V0UnVsZShjb25zdCBQYXJzZVN0cmluZyYgY2hhcnNl
dCkKK3sKKyAgICBpZiAoIXN0eWxlRWxlbWVudCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYg
KCFzdHlsZUVsZW1lbnQtPmlzQ1NTU3R5bGVTaGVldCgpKQorICAgICAgICByZXR1cm4gMDsKKyAg
ICBDU1NDaGFyc2V0UnVsZSogcnVsZSA9IG5ldyBDU1NDaGFyc2V0UnVsZShzdHlsZUVsZW1lbnQs
IGRvbVN0cmluZyhjaGFyc2V0KSk7CisgICAgbV9wYXJzZWRTdHlsZU9iamVjdHMuYXBwZW5kKHJ1
bGUpOworICAgIHJldHVybiBydWxlOworfQorCiBDU1NSdWxlKiBDU1NQYXJzZXI6OmNyZWF0ZUlt
cG9ydFJ1bGUoY29uc3QgUGFyc2VTdHJpbmcmIFVSTCwgTWVkaWFMaXN0KiBtZWRpYSkKIHsKICAg
ICBpZiAoIW1lZGlhKQpJbmRleDogV2ViQ29yZS9jc3MvY3NzcGFyc2VyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9jc3MvY3NzcGFyc2VyLmgJKHJldmlzaW9uIDE2MTQ1KQorKysgV2ViQ29yZS9j
c3MvY3NzcGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw2ICsxNzksNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIFZhbHVlJiBzaW5rRmxvYXRpbmdWYWx1ZShWYWx1ZSYpOwog
CiAgICAgICAgIE1lZGlhTGlzdCogY3JlYXRlTWVkaWFMaXN0KCk7CisgICAgICAgIENTU1J1bGUq
IGNyZWF0ZUNoYXJzZXRSdWxlKGNvbnN0IFBhcnNlU3RyaW5nJik7CiAgICAgICAgIENTU1J1bGUq
IGNyZWF0ZUltcG9ydFJ1bGUoY29uc3QgUGFyc2VTdHJpbmcmLCBNZWRpYUxpc3QqKTsKICAgICAg
ICAgQ1NTUnVsZSogY3JlYXRlTWVkaWFSdWxlKE1lZGlhTGlzdCosIENTU1J1bGVMaXN0Kik7CiAg
ICAgICAgIENTU1J1bGVMaXN0KiBjcmVhdGVSdWxlTGlzdCgpOwo=
</data>
<flag name="review"
          id="3291"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>