<?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>123082</bug_id>
          
          <creation_ts>2013-10-20 03:46:06 -0700</creation_ts>
          <short_desc>[CSS Regions] Fix WHITESPACE issues in the CSS grammar.</short_desc>
          <delta_ts>2014-02-04 01:13:56 -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>WebCore Misc.</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>https://codereview.chromium.org/25607005</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>AdobeTracked</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihai Maerean">mmaerean</reporter>
          <assigned_to name="Mihai Maerean">mmaerean</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kling</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mibalan</cc>
    
    <cc>mihnea</cc>
    
    <cc>rune</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>941676</commentid>
    <comment_count>0</comment_count>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-10-20 03:46:06 -0700</bug_when>
    <thetext>Fix WHITESPACE issues in the CSS grammar.

A single WHITESPACE token consumes consecutive spaces, but does not consume
spaces separated by comments. That means S* and S+ in CSS grammars need to
accept multiple WHITESPACE tokens. Additionally, white spaces are not
mandatory to separate an @-symbol and the rest of the prelude.

Use space non-terminal instead of WHITESPACE for S+ in calc expressions.

Use maybe_space non-terminal instead of WHITESPACE for S* after @-webkit-filter
and @-webkit-region.

This is a port from https://codereview.chromium.org/25607005, the patch by Rune Lillesveen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941752</commentid>
    <comment_count>1</comment_count>
      <attachid>214713</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-10-21 01:41:59 -0700</bug_when>
    <thetext>Created attachment 214713
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941806</commentid>
    <comment_count>2</comment_count>
      <attachid>214713</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2013-10-21 04:17:47 -0700</bug_when>
    <thetext>Comment on attachment 214713
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=214713&amp;action=review

&gt; Source/WebCore/css/CSSGrammar.y.in:1589
&gt; +    space &apos;+&apos; space {

Why are &apos;+&apos; and &apos;-&apos; treated differently than &apos;*&apos; and &apos;/&apos; below? Do you need to add space: definition above?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941824</commentid>
    <comment_count>3</comment_count>
      <attachid>214713</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-10-21 06:35:21 -0700</bug_when>
    <thetext>Comment on attachment 214713
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=214713&amp;action=review

&gt;&gt; Source/WebCore/css/CSSGrammar.y.in:1589
&gt;&gt; +    space &apos;+&apos; space {
&gt; 
&gt; Why are &apos;+&apos; and &apos;-&apos; treated differently than &apos;*&apos; and &apos;/&apos; below? Do you need to add space: definition above?

The grammar requires spaces around binary ‘+’ and ‘-’ operators. The ‘*’ and ‘/’ operators do not require spaces. http://www.w3.org/TR/css3-values/#calc-syntax

An expression like 70px+40px should return an error.
Using the same form as for * and / leads to the calc expressions without the whitespaces to succeed instead of returning an error, which breaks the css3/calc/calc-errors.html test.

I will upload a new patch that includes these comments to why explain the changes are needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941825</commentid>
    <comment_count>4</comment_count>
      <attachid>214733</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-10-21 06:39:55 -0700</bug_when>
    <thetext>Created attachment 214733
patch. incorporates the feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941848</commentid>
    <comment_count>5</comment_count>
      <attachid>214739</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-10-21 08:01:25 -0700</bug_when>
    <thetext>Created attachment 214739
patch. incorporates the feedback: add test for the &apos;-&apos; (minus) operator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941852</commentid>
    <comment_count>6</comment_count>
      <attachid>214741</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-10-21 08:10:37 -0700</bug_when>
    <thetext>Created attachment 214741
patch

replace ’ (â) character from the html page with the &apos; character.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941864</commentid>
    <comment_count>7</comment_count>
      <attachid>214741</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-10-21 08:55:39 -0700</bug_when>
    <thetext>Comment on attachment 214741
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=214741&amp;action=review

&gt; Source/WebCore/css/CSSGrammar.y.in:373
&gt; +space: WHITESPACE| space WHITESPACE ;

There should be a space between WHITESPACE and |</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941865</commentid>
    <comment_count>8</comment_count>
      <attachid>214743</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-10-21 09:02:20 -0700</bug_when>
    <thetext>Created attachment 214743
patch. incorporates the feedback: There should be a space between WHITESPACE and |</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941866</commentid>
    <comment_count>9</comment_count>
      <attachid>214743</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-21 09:02:52 -0700</bug_when>
    <thetext>Comment on attachment 214743
patch. incorporates the feedback: There should be a space between WHITESPACE and |

Rejecting attachment 214743 from commit-queue.

mmaerean@adobe.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941875</commentid>
    <comment_count>10</comment_count>
      <attachid>214743</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-21 09:47:34 -0700</bug_when>
    <thetext>Comment on attachment 214743
patch. incorporates the feedback: There should be a space between WHITESPACE and |

View in context: https://bugs.webkit.org/attachment.cgi?id=214743&amp;action=review

&gt; Source/WebCore/css/CSSGrammar.y.in:373
&gt; +/* for expressions that require at least one whitespace to be present, like the + and - operators in calc expressions */
&gt; +space: WHITESPACE | space WHITESPACE ;

I don’t understand why this is needed. WHITESPACE should match an arbitrarily long run of whitespace, so this “space” should be no different than just WHITESPACE. Can you construct a test that fails if we use WHITESPACE instead of space in calc_func_operator? If not, please don’t add this production.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941876</commentid>
    <comment_count>11</comment_count>
      <attachid>214743</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-21 09:48:57 -0700</bug_when>
    <thetext>Comment on attachment 214743
patch. incorporates the feedback: There should be a space between WHITESPACE and |

View in context: https://bugs.webkit.org/attachment.cgi?id=214743&amp;action=review

&gt; Source/WebCore/css/CSSGrammar.y.in:1592
&gt; + * The grammar requires spaces around binary â+â and â-â operators.
&gt; + * The &apos;*&apos; and &apos;/&apos; operators do not require spaces.
&gt; + * http://www.w3.org/TR/css3-values/#calc-syntax

Where’s the test coverage for this? I’d rather omit this comment but include thorough test coverage demonstrating parse failure when the + and - don’t have spaces on either side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941878</commentid>
    <comment_count>12</comment_count>
      <attachid>214743</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-21 09:51:43 -0700</bug_when>
    <thetext>Comment on attachment 214743
patch. incorporates the feedback: There should be a space between WHITESPACE and |

Clearing flags on attachment: 214743

Committed r157720: &lt;http://trac.webkit.org/changeset/157720&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941879</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-21 09:52:13 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; A single WHITESPACE token consumes consecutive spaces, but does not consume
&gt; spaces separated by comments.

So this secret is the reason we can never use WHITESPACE. But this is only in the bug report, not in the comments. That’s unnecessarily mysterious.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941880</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-21 09:53:17 -0700</bug_when>
    <thetext>I think the patch is fine to land as is, but I do think it’s got some unclear parts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941968</commentid>
    <comment_count>15</comment_count>
      <attachid>214743</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-10-21 12:27:48 -0700</bug_when>
    <thetext>Comment on attachment 214743
patch. incorporates the feedback: There should be a space between WHITESPACE and |

View in context: https://bugs.webkit.org/attachment.cgi?id=214743&amp;action=review

&gt;&gt; Source/WebCore/css/CSSGrammar.y.in:1592
&gt;&gt; + * http://www.w3.org/TR/css3-values/#calc-syntax
&gt; 
&gt; Where’s the test coverage for this? I’d rather omit this comment but include thorough test coverage demonstrating parse failure when the + and - don’t have spaces on either side.

The test you mention already exists: http://trac.webkit.org/browser/trunk/LayoutTests/css3/calc/calc-errors.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214713</attachid>
            <date>2013-10-21 01:41:59 -0700</date>
            <delta_ts>2013-10-21 06:39:55 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch123082WHITESPACECSSGrammar.diff</filename>
            <type>text/plain</type>
            <size>10994</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZDljNTljLi5mYWQyOTllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMTAt
MjAgIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBS
ZWdpb25zXSBGaXggV0hJVEVTUEFDRSBpc3N1ZXMgaW4gdGhlIENTUyBncmFtbWFyLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMDgyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhIHBvcnQg
b2YgUnVuZSBMaWxsZXN2ZWVuJ3MgcGF0Y2ggZnJvbSBodHRwczovL2NvZGVyZXZpZXcuY2hyb21p
dW0ub3JnLzI1NjA3MDA1CisKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tLXdpdGgtYXQt
cnVsZS1zeW50YXgvcGFyc2luZy1hdC1ydWxlLXZhbGlkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBjc3MzL2ZpbHRlcnMvY3VzdG9tLXdpdGgtYXQtcnVsZS1zeW50YXgvc2NyaXB0LXRlc3RzL3Bh
cnNpbmctYXQtcnVsZS12YWxpZC5qczoKKyAgICAgICAgKiBmYXN0L2Nzcy9jYWxjLWNvbW1lbnRz
LWFsbG93ZWQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvY2FsYy1j
b21tZW50cy1hbGxvd2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJr
aXQtcmVnaW9uLXN5bnRheC1zcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRheC1zcGFjZS5odG1sOiBBZGRlZC4KKwogMjAx
My0xMC0yMSAgU2FudG9zaCBNYWh0byAgPHNhbnRvc2gubWFAc2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgQVNTRVJUSU9OIEZBSUxFRDogIXN0eWxlLT5wcm9wZXJ0eUlzSW1wb3J0YW50KHByb3BlcnR5
SUQpIGluIFdlYkNvcmU6OnNldFRleHREZWNvcmF0aW9uUHJvcGVydHkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxlLXN5bnRheC9wYXJzaW5n
LWF0LXJ1bGUtdmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1
c3RvbS13aXRoLWF0LXJ1bGUtc3ludGF4L3BhcnNpbmctYXQtcnVsZS12YWxpZC1leHBlY3RlZC50
eHQKaW5kZXggOGQxODM4ZC4uMDQ4ZGRkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2N1c3RvbS13aXRoLWF0LXJ1bGUtc3ludGF4L3BhcnNpbmctYXQtcnVsZS12YWxpZC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS13aXRoLWF0
LXJ1bGUtc3ludGF4L3BhcnNpbmctYXQtcnVsZS12YWxpZC1leHBlY3RlZC50eHQKQEAgLTQ2LDYg
KzQ2LDQyIEBAIFBBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnd2lkdGgnKSBpcyAi
MTAwcHgiCiBQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJ2hlaWdodCcpIGlzICIx
MDBweCIKIFBBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDIKIAorRW1wdHkgcnVsZSwgY29tbWVu
dCBzZXBhcmF0b3JzCitALXdlYmtpdC1maWx0ZXIvKiovbXktZmlsdGVyLyoqL3sgfQorUEFTUyBj
c3NSdWxlLmNzc1RleHQgaXMgIkAtd2Via2l0LWZpbHRlciBteS1maWx0ZXIgeyB9IgorUEFTUyBj
c3NSdWxlLnR5cGUgaXMgQ1NTUnVsZS5XRUJLSVRfRklMVEVSX1JVTEUKK1BBU1MgY3NzUnVsZSBp
bnN0YW5jZW9mIFdlYktpdENTU0ZpbHRlclJ1bGUgaXMgdHJ1ZQorUEFTUyBjc3NSdWxlLmNvbnN0
cnVjdG9yID09PSBXZWJLaXRDU1NGaWx0ZXJSdWxlIGlzIHRydWUKK1BBU1MgY3NzUnVsZS5fX3By
b3RvX18gPT09IFdlYktpdENTU0ZpbHRlclJ1bGUucHJvdG90eXBlIGlzIHRydWUKK1BBU1MgZGVj
bGFyYXRpb24ubGVuZ3RoIGlzIDAKKworRW1wdHkgcnVsZSwgY29tbWVudCtzcGFjZSBzZXBhcmF0
b3JzCitALXdlYmtpdC1maWx0ZXIvKiovIG15LWZpbHRlci8qKi8geyB9CitQQVNTIGNzc1J1bGUu
Y3NzVGV4dCBpcyAiQC13ZWJraXQtZmlsdGVyIG15LWZpbHRlciB7IH0iCitQQVNTIGNzc1J1bGUu
dHlwZSBpcyBDU1NSdWxlLldFQktJVF9GSUxURVJfUlVMRQorUEFTUyBjc3NSdWxlIGluc3RhbmNl
b2YgV2ViS2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuY29uc3RydWN0b3Ig
PT09IFdlYktpdENTU0ZpbHRlclJ1bGUgaXMgdHJ1ZQorUEFTUyBjc3NSdWxlLl9fcHJvdG9fXyA9
PT0gV2ViS2l0Q1NTRmlsdGVyUnVsZS5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBkZWNsYXJhdGlv
bi5sZW5ndGggaXMgMAorCitFbXB0eSBydWxlLCBzcGFjZStjb21tZW50IHNlcGFyYXRvcnMKK0At
d2Via2l0LWZpbHRlciAvKiovbXktZmlsdGVyIC8qKi97IH0KK1BBU1MgY3NzUnVsZS5jc3NUZXh0
IGlzICJALXdlYmtpdC1maWx0ZXIgbXktZmlsdGVyIHsgfSIKK1BBU1MgY3NzUnVsZS50eXBlIGlz
IENTU1J1bGUuV0VCS0lUX0ZJTFRFUl9SVUxFCitQQVNTIGNzc1J1bGUgaW5zdGFuY2VvZiBXZWJL
aXRDU1NGaWx0ZXJSdWxlIGlzIHRydWUKK1BBU1MgY3NzUnVsZS5jb25zdHJ1Y3RvciA9PT0gV2Vi
S2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuX19wcm90b19fID09PSBXZWJL
aXRDU1NGaWx0ZXJSdWxlLnByb3RvdHlwZSBpcyB0cnVlCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0
aCBpcyAwCisKK0VtcHR5IHJ1bGUsIHNwYWNlK2NvbW1lbnQrc3BhY2Ugc2VwYXJhdG9ycworQC13
ZWJraXQtZmlsdGVyIC8qKi8gbXktZmlsdGVyIC8qKi8geyB9CitQQVNTIGNzc1J1bGUuY3NzVGV4
dCBpcyAiQC13ZWJraXQtZmlsdGVyIG15LWZpbHRlciB7IH0iCitQQVNTIGNzc1J1bGUudHlwZSBp
cyBDU1NSdWxlLldFQktJVF9GSUxURVJfUlVMRQorUEFTUyBjc3NSdWxlIGluc3RhbmNlb2YgV2Vi
S2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuY29uc3RydWN0b3IgPT09IFdl
YktpdENTU0ZpbHRlclJ1bGUgaXMgdHJ1ZQorUEFTUyBjc3NSdWxlLl9fcHJvdG9fXyA9PT0gV2Vi
S2l0Q1NTRmlsdGVyUnVsZS5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBkZWNsYXJhdGlvbi5sZW5n
dGggaXMgMAorCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBOZXN0
ZWQgZmlsdGVyIGF0LXJ1bGUgdGVzdHMuCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLXdp
dGgtYXQtcnVsZS1zeW50YXgvc2NyaXB0LXRlc3RzL3BhcnNpbmctYXQtcnVsZS12YWxpZC5qcyBi
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxlLXN5bnRheC9zY3Jp
cHQtdGVzdHMvcGFyc2luZy1hdC1ydWxlLXZhbGlkLmpzCmluZGV4IGEwMjEzOGEuLjE4ZTU5OTYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxl
LXN5bnRheC9zY3JpcHQtdGVzdHMvcGFyc2luZy1hdC1ydWxlLXZhbGlkLmpzCisrKyBiL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxlLXN5bnRheC9zY3JpcHQtdGVz
dHMvcGFyc2luZy1hdC1ydWxlLXZhbGlkLmpzCkBAIC03MCw2ICs3MCwxOCBAQCB0ZXN0RmlsdGVy
QXRSdWxlKCJSdWxlIHdpdGggYXJiaXRyYXJ5IHByb3BlcnRpZXMuIiwKICAgICAiQC13ZWJraXQt
ZmlsdGVyIG15LWZpbHRlciB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgfSIsIAogICAg
ICJALXdlYmtpdC1maWx0ZXIgbXktZmlsdGVyIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4
OyB9IiwKICAgICB7d2lkdGg6ICIxMDBweCIsIGhlaWdodDogIjEwMHB4In0pOwordGVzdEZpbHRl
ckF0UnVsZSgiRW1wdHkgcnVsZSwgY29tbWVudCBzZXBhcmF0b3JzIiwKKyAgICAiQC13ZWJraXQt
ZmlsdGVyLyoqL215LWZpbHRlci8qKi97IH0iLAorICAgICJALXdlYmtpdC1maWx0ZXIgbXktZmls
dGVyIHsgfSIpOwordGVzdEZpbHRlckF0UnVsZSgiRW1wdHkgcnVsZSwgY29tbWVudCtzcGFjZSBz
ZXBhcmF0b3JzIiwKKyAgICAiQC13ZWJraXQtZmlsdGVyLyoqLyBteS1maWx0ZXIvKiovIHsgfSIs
CisgICAgIkAtd2Via2l0LWZpbHRlciBteS1maWx0ZXIgeyB9Iik7Cit0ZXN0RmlsdGVyQXRSdWxl
KCJFbXB0eSBydWxlLCBzcGFjZStjb21tZW50IHNlcGFyYXRvcnMiLAorICAgICJALXdlYmtpdC1m
aWx0ZXIgLyoqL215LWZpbHRlciAvKioveyB9IiwKKyAgICAiQC13ZWJraXQtZmlsdGVyIG15LWZp
bHRlciB7IH0iKTsKK3Rlc3RGaWx0ZXJBdFJ1bGUoIkVtcHR5IHJ1bGUsIHNwYWNlK2NvbW1lbnQr
c3BhY2Ugc2VwYXJhdG9ycyIsCisgICAgIkAtd2Via2l0LWZpbHRlciAvKiovIG15LWZpbHRlciAv
KiovIHsgfSIsCisgICAgIkAtd2Via2l0LWZpbHRlciBteS1maWx0ZXIgeyB9Iik7CiAKIGhlYWRp
bmcoIk5lc3RlZCBmaWx0ZXIgYXQtcnVsZSB0ZXN0cy4iKTsKIHRlc3ROZXN0ZWRSdWxlcygiTmVz
dGVkIHJ1bGUuIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMtY29tbWVu
dHMtYWxsb3dlZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy1jb21t
ZW50cy1hbGxvd2VkLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uYTZmYTVhMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Nh
bGMtY29tbWVudHMtYWxsb3dlZC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8cD5Zb3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHNxdWFyZSBiZWxvdzwvcD4KKzxk
aXYgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVu
Ij48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMtY29tbWVudHMt
YWxsb3dlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy1jb21tZW50cy1hbGxvd2Vk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM1Y2E3NAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMtY29tbWVudHMtYWxsb3dlZC5o
dG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAg
ICA8dGl0bGU+Q29tbWVudHMgaW5zaWRlIGNhbGMoKSBhbGxvd2VkPC90aXRsZT4KKyAgICA8c3R5
bGU+CisgICAgICAgIGRpdiB7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47
IGZvbnQtc2l6ZTogNTBweDsgfQorICAgICAgICAjdDEgeyB3aWR0aDogY2FsYyg1MHB4ICsgMWVt
KSB9CisgICAgICAgICN0MiB7IHdpZHRoOiBjYWxjKDUwcHggKyAvKiBDb21tZW50IGFsbG93ZWQg
Ki8gMWVtKSB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPllvdSBzaG91
bGQgc2VlIGEgZ3JlZW4gc3F1YXJlIGJlbG93PC9wPgorICAgIDxkaXYgaWQ9InQxIj48L2Rpdj4K
KyAgICA8ZGl2IGlkPSJ0MiI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LXJlZ2lvbi1zeW50YXgtc3BhY2UtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1yZWdpb24tc3ludGF4LXNw
YWNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODA2
OGY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1y
ZWdpb24tc3ludGF4LXNwYWNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKworUEFTUyBD
b21tZW50IGJldHdlZW4gQC1zeW1ib2wgYW5kIGZsb3cgbmFtZSAKK1BBU1MgQ29tbWVudCArIHNw
YWNlIGJldHdlZW4gQC1zeW1ib2wgYW5kIGZsb3cgbmFtZSAKK1BBU1MgU3BhY2UgKyBjb21tZW50
IGJldHdlZW4gQC1zeW1ib2wgYW5kIGZsb3cgbmFtZSAKK1BBU1MgU3BhY2UgKyBjb21tZW50ICsg
c3BhY2UgYmV0d2VlbiBALXN5bWJvbCBhbmQgZmxvdyBuYW1lIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LXJlZ2lvbi1zeW50YXgtc3BhY2UuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRheC1zcGFjZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1MjY1OTYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LXJlZ2lvbi1zeW50YXgtc3BhY2Uu
aHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHRpdGxlPlNwYWNlcyBpbiBALXdlYmtpdC1yZWdpb24gcHJlbHVkZTwvdGl0bGU+CisgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+CisgICAgPHN0eWxlPkAtd2Via2l0LXJlZ2lvbi8qKi8jZmxvdyB7ICNpZCB7fSB9PC9z
dHlsZT4KKyAgICA8c3R5bGU+QC13ZWJraXQtcmVnaW9uLyoqLyAjZmxvdyB7ICNpZCB7fSB9PC9z
dHlsZT4KKyAgICA8c3R5bGU+QC13ZWJraXQtcmVnaW9uIC8qKi8jZmxvdyB7ICNpZCB7fSB9PC9z
dHlsZT4KKyAgICA8c3R5bGU+QC13ZWJraXQtcmVnaW9uIC8qKi8gI2Zsb3cgeyAjaWQge30gfTwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2PgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIHRlc3QoZnVuY3Rpb24oKXsKKyAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMoZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0uY3NzUnVsZXMubGVuZ3RoLCAxLCAiUnVsZSB2YWxp
ZCBhbmQgaW4gQ1NTT00uIik7CisgICAgICAgIH0sICJDb21tZW50IGJldHdlZW4gQC1zeW1ib2wg
YW5kIGZsb3cgbmFtZSIpOworCisgICAgICAgIHRlc3QoZnVuY3Rpb24oKXsKKyAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuc3R5bGVTaGVldHNbMV0uY3NzUnVsZXMubGVuZ3RoLCAx
LCAiUnVsZSB2YWxpZCBhbmQgaW4gQ1NTT00uIik7CisgICAgICAgIH0sICJDb21tZW50ICsgc3Bh
Y2UgYmV0d2VlbiBALXN5bWJvbCBhbmQgZmxvdyBuYW1lIik7CisKKyAgICAgICAgdGVzdChmdW5j
dGlvbigpeworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5zdHlsZVNoZWV0c1sy
XS5jc3NSdWxlcy5sZW5ndGgsIDEsICJSdWxlIHZhbGlkIGFuZCBpbiBDU1NPTS4iKTsKKyAgICAg
ICAgfSwgIlNwYWNlICsgY29tbWVudCBiZXR3ZWVuIEAtc3ltYm9sIGFuZCBmbG93IG5hbWUiKTsK
KworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCl7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGRv
Y3VtZW50LnN0eWxlU2hlZXRzWzNdLmNzc1J1bGVzLmxlbmd0aCwgMSwgIlJ1bGUgdmFsaWQgYW5k
IGluIENTU09NLiIpOworICAgICAgICB9LCAiU3BhY2UgKyBjb21tZW50ICsgc3BhY2UgYmV0d2Vl
biBALXN5bWJvbCBhbmQgZmxvdyBuYW1lIik7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggOTg5NmRmZi4uN2RkMWMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDEzLTEwLTIwICBNaWhhaSBNYWVyZWFuICA8bW1hZXJlYW5AYWRvYmUuY29tPgor
CisgICAgICAgIFtDU1MgUmVnaW9uc10gRml4IFdISVRFU1BBQ0UgaXNzdWVzIGluIHRoZSBDU1Mg
Z3JhbW1hci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyMzA4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoaXMgaXMgYSBwb3J0IG9mIFJ1bmUgTGlsbGVzdmVlbidzIHBhdGNoIGZyb20gaHR0cHM6Ly9j
b2RlcmV2aWV3LmNocm9taXVtLm9yZy8yNTYwNzAwNQorCisgICAgICAgIEZpeCBXSElURVNQQUNF
IGlzc3VlcyBpbiB0aGUgQ1NTIGdyYW1tYXIuCisKKyAgICAgICAgQSBzaW5nbGUgV0hJVEVTUEFD
RSB0b2tlbiBjb25zdW1lcyBjb25zZWN1dGl2ZSBzcGFjZXMsIGJ1dCBkb2VzIG5vdCBjb25zdW1l
CisgICAgICAgIHNwYWNlcyBzZXBhcmF0ZWQgYnkgY29tbWVudHMuIFRoYXQgbWVhbnMgUyogYW5k
IFMrIGluIENTUyBncmFtbWFycyBuZWVkIHRvCisgICAgICAgIGFjY2VwdCBtdWx0aXBsZSBXSElU
RVNQQUNFIHRva2Vucy4gQWRkaXRpb25hbGx5LCB3aGl0ZSBzcGFjZXMgYXJlIG5vdAorICAgICAg
ICBtYW5kYXRvcnkgdG8gc2VwYXJhdGUgYW4gQC1zeW1ib2wgYW5kIHRoZSByZXN0IG9mIHRoZSBw
cmVsdWRlLgorCisgICAgICAgIFVzZSBzcGFjZSBub24tdGVybWluYWwgaW5zdGVhZCBvZiBXSElU
RVNQQUNFIGZvciBTKyBpbiBjYWxjIGV4cHJlc3Npb25zLgorCisgICAgICAgIFVzZSBtYXliZV9z
cGFjZSBub24tdGVybWluYWwgaW5zdGVhZCBvZiBXSElURVNQQUNFIGZvciBTKiBhZnRlciBALXdl
YmtpdC1maWx0ZXIKKyAgICAgICAgYW5kIEAtd2Via2l0LXJlZ2lvbi4KKworICAgICAgICBUZXN0
czogZmFzdC9jc3MvY2FsYy1jb21tZW50cy1hbGxvd2VkLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRheC1zcGFjZS5odG1sCisKKyAgICAgICAgKiBj
c3MvQ1NTR3JhbW1hci55LmluOgorCiAyMDEzLTEwLTIxICBTYW50b3NoIE1haHRvICA8c2FudG9z
aC5tYUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiAhc3R5bGUtPnBy
b3BlcnR5SXNJbXBvcnRhbnQocHJvcGVydHlJRCkgaW4gV2ViQ29yZTo6c2V0VGV4dERlY29yYXRp
b25Qcm9wZXJ0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5p
biBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4KaW5kZXggZDY5M2IyYi4uYWY5
ODNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCkBAIC0zNjksNiArMzY5LDggQEAg
d2Via2l0X3N1cHBvcnRzX2NvbmRpdGlvbjogV0VCS0lUX1NVUFBPUlRTX0NPTkRJVElPTl9TWU0g
J3snIG1heWJlX3NwYWNlIHN1cHBvcnQKIAogI2VuZGlmCiAKK3NwYWNlOiBXSElURVNQQUNFfCBz
cGFjZSBXSElURVNQQUNFIDsKKwogbWF5YmVfc3BhY2U6IC8qIGVtcHR5ICovICVwcmVjIFVOSU1Q
T1JUQU5UX1RPSyB8IG1heWJlX3NwYWNlIFdISVRFU1BBQ0UgOwogCiBtYXliZV9zZ21sOiAvKiBl
bXB0eSAqLyB8IG1heWJlX3NnbWwgU0dNTF9DRCB8IG1heWJlX3NnbWwgV0hJVEVTUEFDRSA7CkBA
IC05NTQsNyArOTU2LDcgQEAgYmVmb3JlX3JlZ2lvbl9ydWxlOgogICAgIDsKIAogcmVnaW9uOgot
ICAgIGJlZm9yZV9yZWdpb25fcnVsZSBXRUJLSVRfUkVHSU9OX1JVTEVfU1lNIFdISVRFU1BBQ0Ug
c2VsZWN0b3JfbGlzdCBhdF9ydWxlX2hlYWRlcl9lbmQgJ3snIGF0X3J1bGVfYm9keV9zdGFydCBt
YXliZV9zcGFjZSBibG9ja192YWxpZF9ydWxlX2xpc3Qgc2F2ZV9ibG9jayB7CisgICAgYmVmb3Jl
X3JlZ2lvbl9ydWxlIFdFQktJVF9SRUdJT05fUlVMRV9TWU0gbWF5YmVfc3BhY2Ugc2VsZWN0b3Jf
bGlzdCBhdF9ydWxlX2hlYWRlcl9lbmQgJ3snIGF0X3J1bGVfYm9keV9zdGFydCBtYXliZV9zcGFj
ZSBibG9ja192YWxpZF9ydWxlX2xpc3Qgc2F2ZV9ibG9jayB7CiAgICAgICAgIE93blB0cjxWZWN0
b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+Pj4gcnVsZUxpc3QgPSBhZG9wdFB0cigkOSk7CiAgICAg
ICAgIGlmICgkNCkKICAgICAgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVSZWdpb25SdWxlKGFk
b3B0UHRyKCQ0KS5nZXQoKSwgcnVsZUxpc3QuZ2V0KCkpLmxlYWtSZWYoKTsKQEAgLTk3NSw3ICs5
NzcsNyBAQCBiZWZvcmVfZmlsdGVyX3J1bGU6CiAgICAgOwogCiBmaWx0ZXI6Ci0gICAgYmVmb3Jl
X2ZpbHRlcl9ydWxlIFdFQktJVF9GSUxURVJfUlVMRV9TWU0gV0hJVEVTUEFDRSBJREVOVCBhdF9y
dWxlX2hlYWRlcl9lbmRfbWF5YmVfc3BhY2UgJ3snIGF0X3J1bGVfYm9keV9zdGFydCBtYXliZV9z
cGFjZV9iZWZvcmVfZGVjbGFyYXRpb24gZGVjbGFyYXRpb25fbGlzdCBjbG9zaW5nX2JyYWNlIHsK
KyAgICBiZWZvcmVfZmlsdGVyX3J1bGUgV0VCS0lUX0ZJTFRFUl9SVUxFX1NZTSBtYXliZV9zcGFj
ZSBJREVOVCBhdF9ydWxlX2hlYWRlcl9lbmRfbWF5YmVfc3BhY2UgJ3snIGF0X3J1bGVfYm9keV9z
dGFydCBtYXliZV9zcGFjZV9iZWZvcmVfZGVjbGFyYXRpb24gZGVjbGFyYXRpb25fbGlzdCBjbG9z
aW5nX2JyYWNlIHsKICAgICAgICAgcGFyc2VyLT5tX2luRmlsdGVyUnVsZSA9IGZhbHNlOwogICAg
ICAgICAkJCA9IHBhcnNlci0+Y3JlYXRlRmlsdGVyUnVsZSgkNCkubGVha1JlZigpOwogICAgIH0K
QEAgLTE1ODQsMTAgKzE1ODYsMTAgQEAgY2FsY19mdW5jX3Rlcm06CiAgIDsKIAogY2FsY19mdW5j
X29wZXJhdG9yOgotICAgIFdISVRFU1BBQ0UgJysnIFdISVRFU1BBQ0UgeworICAgIHNwYWNlICcr
JyBzcGFjZSB7CiAgICAgICAgICQkID0gJysnOwogICAgIH0KLSAgICB8IFdISVRFU1BBQ0UgJy0n
IFdISVRFU1BBQ0UgeworICAgIHwgc3BhY2UgJy0nIHNwYWNlIHsKICAgICAgICAgJCQgPSAnLSc7
CiAgICAgfQogICAgIHwgY2FsY19tYXliZV9zcGFjZSAnKicgbWF5YmVfc3BhY2Ugewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214733</attachid>
            <date>2013-10-21 06:39:55 -0700</date>
            <delta_ts>2013-10-21 08:01:25 -0700</delta_ts>
            <desc>patch. incorporates the feedback.</desc>
            <filename>patch123082WHITESPACECSSGrammar.diff</filename>
            <type>text/plain</type>
            <size>11553</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZDljNTljLi5mYWQyOTllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMTAt
MjAgIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBS
ZWdpb25zXSBGaXggV0hJVEVTUEFDRSBpc3N1ZXMgaW4gdGhlIENTUyBncmFtbWFyLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMDgyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhIHBvcnQg
b2YgUnVuZSBMaWxsZXN2ZWVuJ3MgcGF0Y2ggZnJvbSBodHRwczovL2NvZGVyZXZpZXcuY2hyb21p
dW0ub3JnLzI1NjA3MDA1CisKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tLXdpdGgtYXQt
cnVsZS1zeW50YXgvcGFyc2luZy1hdC1ydWxlLXZhbGlkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBjc3MzL2ZpbHRlcnMvY3VzdG9tLXdpdGgtYXQtcnVsZS1zeW50YXgvc2NyaXB0LXRlc3RzL3Bh
cnNpbmctYXQtcnVsZS12YWxpZC5qczoKKyAgICAgICAgKiBmYXN0L2Nzcy9jYWxjLWNvbW1lbnRz
LWFsbG93ZWQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvY2FsYy1j
b21tZW50cy1hbGxvd2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJr
aXQtcmVnaW9uLXN5bnRheC1zcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRheC1zcGFjZS5odG1sOiBBZGRlZC4KKwogMjAx
My0xMC0yMSAgU2FudG9zaCBNYWh0byAgPHNhbnRvc2gubWFAc2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgQVNTRVJUSU9OIEZBSUxFRDogIXN0eWxlLT5wcm9wZXJ0eUlzSW1wb3J0YW50KHByb3BlcnR5
SUQpIGluIFdlYkNvcmU6OnNldFRleHREZWNvcmF0aW9uUHJvcGVydHkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxlLXN5bnRheC9wYXJzaW5n
LWF0LXJ1bGUtdmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1
c3RvbS13aXRoLWF0LXJ1bGUtc3ludGF4L3BhcnNpbmctYXQtcnVsZS12YWxpZC1leHBlY3RlZC50
eHQKaW5kZXggOGQxODM4ZC4uMDQ4ZGRkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2N1c3RvbS13aXRoLWF0LXJ1bGUtc3ludGF4L3BhcnNpbmctYXQtcnVsZS12YWxpZC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS13aXRoLWF0
LXJ1bGUtc3ludGF4L3BhcnNpbmctYXQtcnVsZS12YWxpZC1leHBlY3RlZC50eHQKQEAgLTQ2LDYg
KzQ2LDQyIEBAIFBBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnd2lkdGgnKSBpcyAi
MTAwcHgiCiBQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJ2hlaWdodCcpIGlzICIx
MDBweCIKIFBBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDIKIAorRW1wdHkgcnVsZSwgY29tbWVu
dCBzZXBhcmF0b3JzCitALXdlYmtpdC1maWx0ZXIvKiovbXktZmlsdGVyLyoqL3sgfQorUEFTUyBj
c3NSdWxlLmNzc1RleHQgaXMgIkAtd2Via2l0LWZpbHRlciBteS1maWx0ZXIgeyB9IgorUEFTUyBj
c3NSdWxlLnR5cGUgaXMgQ1NTUnVsZS5XRUJLSVRfRklMVEVSX1JVTEUKK1BBU1MgY3NzUnVsZSBp
bnN0YW5jZW9mIFdlYktpdENTU0ZpbHRlclJ1bGUgaXMgdHJ1ZQorUEFTUyBjc3NSdWxlLmNvbnN0
cnVjdG9yID09PSBXZWJLaXRDU1NGaWx0ZXJSdWxlIGlzIHRydWUKK1BBU1MgY3NzUnVsZS5fX3By
b3RvX18gPT09IFdlYktpdENTU0ZpbHRlclJ1bGUucHJvdG90eXBlIGlzIHRydWUKK1BBU1MgZGVj
bGFyYXRpb24ubGVuZ3RoIGlzIDAKKworRW1wdHkgcnVsZSwgY29tbWVudCtzcGFjZSBzZXBhcmF0
b3JzCitALXdlYmtpdC1maWx0ZXIvKiovIG15LWZpbHRlci8qKi8geyB9CitQQVNTIGNzc1J1bGUu
Y3NzVGV4dCBpcyAiQC13ZWJraXQtZmlsdGVyIG15LWZpbHRlciB7IH0iCitQQVNTIGNzc1J1bGUu
dHlwZSBpcyBDU1NSdWxlLldFQktJVF9GSUxURVJfUlVMRQorUEFTUyBjc3NSdWxlIGluc3RhbmNl
b2YgV2ViS2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuY29uc3RydWN0b3Ig
PT09IFdlYktpdENTU0ZpbHRlclJ1bGUgaXMgdHJ1ZQorUEFTUyBjc3NSdWxlLl9fcHJvdG9fXyA9
PT0gV2ViS2l0Q1NTRmlsdGVyUnVsZS5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBkZWNsYXJhdGlv
bi5sZW5ndGggaXMgMAorCitFbXB0eSBydWxlLCBzcGFjZStjb21tZW50IHNlcGFyYXRvcnMKK0At
d2Via2l0LWZpbHRlciAvKiovbXktZmlsdGVyIC8qKi97IH0KK1BBU1MgY3NzUnVsZS5jc3NUZXh0
IGlzICJALXdlYmtpdC1maWx0ZXIgbXktZmlsdGVyIHsgfSIKK1BBU1MgY3NzUnVsZS50eXBlIGlz
IENTU1J1bGUuV0VCS0lUX0ZJTFRFUl9SVUxFCitQQVNTIGNzc1J1bGUgaW5zdGFuY2VvZiBXZWJL
aXRDU1NGaWx0ZXJSdWxlIGlzIHRydWUKK1BBU1MgY3NzUnVsZS5jb25zdHJ1Y3RvciA9PT0gV2Vi
S2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuX19wcm90b19fID09PSBXZWJL
aXRDU1NGaWx0ZXJSdWxlLnByb3RvdHlwZSBpcyB0cnVlCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0
aCBpcyAwCisKK0VtcHR5IHJ1bGUsIHNwYWNlK2NvbW1lbnQrc3BhY2Ugc2VwYXJhdG9ycworQC13
ZWJraXQtZmlsdGVyIC8qKi8gbXktZmlsdGVyIC8qKi8geyB9CitQQVNTIGNzc1J1bGUuY3NzVGV4
dCBpcyAiQC13ZWJraXQtZmlsdGVyIG15LWZpbHRlciB7IH0iCitQQVNTIGNzc1J1bGUudHlwZSBp
cyBDU1NSdWxlLldFQktJVF9GSUxURVJfUlVMRQorUEFTUyBjc3NSdWxlIGluc3RhbmNlb2YgV2Vi
S2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuY29uc3RydWN0b3IgPT09IFdl
YktpdENTU0ZpbHRlclJ1bGUgaXMgdHJ1ZQorUEFTUyBjc3NSdWxlLl9fcHJvdG9fXyA9PT0gV2Vi
S2l0Q1NTRmlsdGVyUnVsZS5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBkZWNsYXJhdGlvbi5sZW5n
dGggaXMgMAorCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBOZXN0
ZWQgZmlsdGVyIGF0LXJ1bGUgdGVzdHMuCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLXdp
dGgtYXQtcnVsZS1zeW50YXgvc2NyaXB0LXRlc3RzL3BhcnNpbmctYXQtcnVsZS12YWxpZC5qcyBi
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxlLXN5bnRheC9zY3Jp
cHQtdGVzdHMvcGFyc2luZy1hdC1ydWxlLXZhbGlkLmpzCmluZGV4IGEwMjEzOGEuLjE4ZTU5OTYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxl
LXN5bnRheC9zY3JpcHQtdGVzdHMvcGFyc2luZy1hdC1ydWxlLXZhbGlkLmpzCisrKyBiL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxlLXN5bnRheC9zY3JpcHQtdGVz
dHMvcGFyc2luZy1hdC1ydWxlLXZhbGlkLmpzCkBAIC03MCw2ICs3MCwxOCBAQCB0ZXN0RmlsdGVy
QXRSdWxlKCJSdWxlIHdpdGggYXJiaXRyYXJ5IHByb3BlcnRpZXMuIiwKICAgICAiQC13ZWJraXQt
ZmlsdGVyIG15LWZpbHRlciB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgfSIsIAogICAg
ICJALXdlYmtpdC1maWx0ZXIgbXktZmlsdGVyIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4
OyB9IiwKICAgICB7d2lkdGg6ICIxMDBweCIsIGhlaWdodDogIjEwMHB4In0pOwordGVzdEZpbHRl
ckF0UnVsZSgiRW1wdHkgcnVsZSwgY29tbWVudCBzZXBhcmF0b3JzIiwKKyAgICAiQC13ZWJraXQt
ZmlsdGVyLyoqL215LWZpbHRlci8qKi97IH0iLAorICAgICJALXdlYmtpdC1maWx0ZXIgbXktZmls
dGVyIHsgfSIpOwordGVzdEZpbHRlckF0UnVsZSgiRW1wdHkgcnVsZSwgY29tbWVudCtzcGFjZSBz
ZXBhcmF0b3JzIiwKKyAgICAiQC13ZWJraXQtZmlsdGVyLyoqLyBteS1maWx0ZXIvKiovIHsgfSIs
CisgICAgIkAtd2Via2l0LWZpbHRlciBteS1maWx0ZXIgeyB9Iik7Cit0ZXN0RmlsdGVyQXRSdWxl
KCJFbXB0eSBydWxlLCBzcGFjZStjb21tZW50IHNlcGFyYXRvcnMiLAorICAgICJALXdlYmtpdC1m
aWx0ZXIgLyoqL215LWZpbHRlciAvKioveyB9IiwKKyAgICAiQC13ZWJraXQtZmlsdGVyIG15LWZp
bHRlciB7IH0iKTsKK3Rlc3RGaWx0ZXJBdFJ1bGUoIkVtcHR5IHJ1bGUsIHNwYWNlK2NvbW1lbnQr
c3BhY2Ugc2VwYXJhdG9ycyIsCisgICAgIkAtd2Via2l0LWZpbHRlciAvKiovIG15LWZpbHRlciAv
KiovIHsgfSIsCisgICAgIkAtd2Via2l0LWZpbHRlciBteS1maWx0ZXIgeyB9Iik7CiAKIGhlYWRp
bmcoIk5lc3RlZCBmaWx0ZXIgYXQtcnVsZSB0ZXN0cy4iKTsKIHRlc3ROZXN0ZWRSdWxlcygiTmVz
dGVkIHJ1bGUuIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMtY29tbWVu
dHMtYWxsb3dlZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy1jb21t
ZW50cy1hbGxvd2VkLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uOWJkN2FmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Nh
bGMtY29tbWVudHMtYWxsb3dlZC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8cD5Zb3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSBiZWxvdzwvcD4K
KzxkaXYgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoyMDBweDtiYWNrZ3JvdW5kLWNvbG9yOmdy
ZWVuIj48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMtY29tbWVu
dHMtYWxsb3dlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy1jb21tZW50cy1hbGxv
d2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM2MDVlZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMtY29tbWVudHMtYWxsb3dl
ZC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KyAgICA8dGl0bGU+Q29tbWVudHMgaW5zaWRlIGNhbGMoKSBhbGxvd2VkPC90aXRsZT4KKyAgICA8
c3R5bGU+CisgICAgICAgIGRpdiB7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47IGZvbnQtc2l6ZTogNTBweDsgfQorICAgICAgICAjdDEgeyB3aWR0aDogY2FsYyg1MHB4ICsg
MWVtKSB9CisgICAgICAgICN0MiB7IHdpZHRoOiBjYWxjKDUwcHggKyAvKiBDb21tZW50IGFsbG93
ZWQgKi8gMWVtKSB9CisgICAgICAgICN0MyB7IHdpZHRoOiBjYWxjKDUwcHggKiAvKiBDb21tZW50
IGFsbG93ZWQgKi8gMikgfQorICAgICAgICAjdDQgeyB3aWR0aDogY2FsYygyMDBweCAvIC8qIENv
bW1lbnQgYWxsb3dlZCAqLyAyKSB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxwPllvdSBzaG91bGQgc2VlIGEgZ3JlZW4gcmVjdGFuZ2xlIGJlbG93PC9wPgorICAgIDxkaXYg
aWQ9InQxIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0MiI+PC9kaXY+CisgICAgPGRpdiBpZD0idDMi
PjwvZGl2PgorICAgIDxkaXYgaWQ9InQ0Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRheC1zcGFj
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LXJlZ2lvbi1z
eW50YXgtc3BhY2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjI4MDY4ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
d2Via2l0LXJlZ2lvbi1zeW50YXgtc3BhY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAor
CitQQVNTIENvbW1lbnQgYmV0d2VlbiBALXN5bWJvbCBhbmQgZmxvdyBuYW1lIAorUEFTUyBDb21t
ZW50ICsgc3BhY2UgYmV0d2VlbiBALXN5bWJvbCBhbmQgZmxvdyBuYW1lIAorUEFTUyBTcGFjZSAr
IGNvbW1lbnQgYmV0d2VlbiBALXN5bWJvbCBhbmQgZmxvdyBuYW1lIAorUEFTUyBTcGFjZSArIGNv
bW1lbnQgKyBzcGFjZSBiZXR3ZWVuIEAtc3ltYm9sIGFuZCBmbG93IG5hbWUgCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRheC1zcGFjZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1yZWdpb24tc3ludGF4LXNwYWNl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDUyNjU5NgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRh
eC1zcGFjZS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKyAgICA8dGl0bGU+U3BhY2VzIGluIEAtd2Via2l0LXJlZ2lvbiBwcmVsdWRlPC90aXRs
ZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKyAgICA8c3R5bGU+QC13ZWJraXQtcmVnaW9uLyoqLyNmbG93IHsgI2lk
IHt9IH08L3N0eWxlPgorICAgIDxzdHlsZT5ALXdlYmtpdC1yZWdpb24vKiovICNmbG93IHsgI2lk
IHt9IH08L3N0eWxlPgorICAgIDxzdHlsZT5ALXdlYmtpdC1yZWdpb24gLyoqLyNmbG93IHsgI2lk
IHt9IH08L3N0eWxlPgorICAgIDxzdHlsZT5ALXdlYmtpdC1yZWdpb24gLyoqLyAjZmxvdyB7ICNp
ZCB7fSB9PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+
CisgICAgPHNjcmlwdD4KKyAgICAgICAgdGVzdChmdW5jdGlvbigpeworICAgICAgICAgICAgYXNz
ZXJ0X2VxdWFscyhkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5jc3NSdWxlcy5sZW5ndGgsIDEsICJS
dWxlIHZhbGlkIGFuZCBpbiBDU1NPTS4iKTsKKyAgICAgICAgfSwgIkNvbW1lbnQgYmV0d2VlbiBA
LXN5bWJvbCBhbmQgZmxvdyBuYW1lIik7CisKKyAgICAgICAgdGVzdChmdW5jdGlvbigpeworICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5zdHlsZVNoZWV0c1sxXS5jc3NSdWxlcy5s
ZW5ndGgsIDEsICJSdWxlIHZhbGlkIGFuZCBpbiBDU1NPTS4iKTsKKyAgICAgICAgfSwgIkNvbW1l
bnQgKyBzcGFjZSBiZXR3ZWVuIEAtc3ltYm9sIGFuZCBmbG93IG5hbWUiKTsKKworICAgICAgICB0
ZXN0KGZ1bmN0aW9uKCl7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LnN0eWxl
U2hlZXRzWzJdLmNzc1J1bGVzLmxlbmd0aCwgMSwgIlJ1bGUgdmFsaWQgYW5kIGluIENTU09NLiIp
OworICAgICAgICB9LCAiU3BhY2UgKyBjb21tZW50IGJldHdlZW4gQC1zeW1ib2wgYW5kIGZsb3cg
bmFtZSIpOworCisgICAgICAgIHRlc3QoZnVuY3Rpb24oKXsKKyAgICAgICAgICAgIGFzc2VydF9l
cXVhbHMoZG9jdW1lbnQuc3R5bGVTaGVldHNbM10uY3NzUnVsZXMubGVuZ3RoLCAxLCAiUnVsZSB2
YWxpZCBhbmQgaW4gQ1NTT00uIik7CisgICAgICAgIH0sICJTcGFjZSArIGNvbW1lbnQgKyBzcGFj
ZSBiZXR3ZWVuIEAtc3ltYm9sIGFuZCBmbG93IG5hbWUiKTsKKyAgICA8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5ODk2ZGZmLi43ZGQxYzBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTMtMTAtMjAgIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9i
ZS5jb20+CisKKyAgICAgICAgW0NTUyBSZWdpb25zXSBGaXggV0hJVEVTUEFDRSBpc3N1ZXMgaW4g
dGhlIENTUyBncmFtbWFyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTIzMDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBpcyBhIHBvcnQgb2YgUnVuZSBMaWxsZXN2ZWVuJ3MgcGF0Y2ggZnJvbSBo
dHRwczovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3JnLzI1NjA3MDA1CisKKyAgICAgICAgRml4IFdI
SVRFU1BBQ0UgaXNzdWVzIGluIHRoZSBDU1MgZ3JhbW1hci4KKworICAgICAgICBBIHNpbmdsZSBX
SElURVNQQUNFIHRva2VuIGNvbnN1bWVzIGNvbnNlY3V0aXZlIHNwYWNlcywgYnV0IGRvZXMgbm90
IGNvbnN1bWUKKyAgICAgICAgc3BhY2VzIHNlcGFyYXRlZCBieSBjb21tZW50cy4gVGhhdCBtZWFu
cyBTKiBhbmQgUysgaW4gQ1NTIGdyYW1tYXJzIG5lZWQgdG8KKyAgICAgICAgYWNjZXB0IG11bHRp
cGxlIFdISVRFU1BBQ0UgdG9rZW5zLiBBZGRpdGlvbmFsbHksIHdoaXRlIHNwYWNlcyBhcmUgbm90
CisgICAgICAgIG1hbmRhdG9yeSB0byBzZXBhcmF0ZSBhbiBALXN5bWJvbCBhbmQgdGhlIHJlc3Qg
b2YgdGhlIHByZWx1ZGUuCisKKyAgICAgICAgVXNlIHNwYWNlIG5vbi10ZXJtaW5hbCBpbnN0ZWFk
IG9mIFdISVRFU1BBQ0UgZm9yIFMrIGluIGNhbGMgZXhwcmVzc2lvbnMuCisKKyAgICAgICAgVXNl
IG1heWJlX3NwYWNlIG5vbi10ZXJtaW5hbCBpbnN0ZWFkIG9mIFdISVRFU1BBQ0UgZm9yIFMqIGFm
dGVyIEAtd2Via2l0LWZpbHRlcgorICAgICAgICBhbmQgQC13ZWJraXQtcmVnaW9uLgorCisgICAg
ICAgIFRlc3RzOiBmYXN0L2Nzcy9jYWxjLWNvbW1lbnRzLWFsbG93ZWQuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC9yZWdpb25zL3dlYmtpdC1yZWdpb24tc3ludGF4LXNwYWNlLmh0bWwKKworICAg
ICAgICAqIGNzcy9DU1NHcmFtbWFyLnkuaW46CisKIDIwMTMtMTAtMjEgIFNhbnRvc2ggTWFodG8g
IDxzYW50b3NoLm1hQHNhbXN1bmcuY29tPgogCiAgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6ICFz
dHlsZS0+cHJvcGVydHlJc0ltcG9ydGFudChwcm9wZXJ0eUlEKSBpbiBXZWJDb3JlOjpzZXRUZXh0
RGVjb3JhdGlvblByb3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jh
bW1hci55LmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgppbmRleCBkNjkz
YjJiLi5kNTUzMWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4KQEAgLTM2OSw2ICsz
NjksOSBAQCB3ZWJraXRfc3VwcG9ydHNfY29uZGl0aW9uOiBXRUJLSVRfU1VQUE9SVFNfQ09ORElU
SU9OX1NZTSAneycgbWF5YmVfc3BhY2Ugc3VwcG9ydAogCiAjZW5kaWYKIAorLyogZm9yIGV4cHJl
c3Npb25zIHRoYXQgcmVxdWlyZSBhdCBsZWFzdCBvbmUgd2hpdGVzcGFjZSB0byBiZSBwcmVzZW50
LCBsaWtlIHRoZSArIGFuZCAtIG9wZXJhdG9ycyBpbiBjYWxjIGV4cHJlc3Npb25zICovCitzcGFj
ZTogV0hJVEVTUEFDRXwgc3BhY2UgV0hJVEVTUEFDRSA7CisKIG1heWJlX3NwYWNlOiAvKiBlbXB0
eSAqLyAlcHJlYyBVTklNUE9SVEFOVF9UT0sgfCBtYXliZV9zcGFjZSBXSElURVNQQUNFIDsKIAog
bWF5YmVfc2dtbDogLyogZW1wdHkgKi8gfCBtYXliZV9zZ21sIFNHTUxfQ0QgfCBtYXliZV9zZ21s
IFdISVRFU1BBQ0UgOwpAQCAtOTU0LDcgKzk1Nyw3IEBAIGJlZm9yZV9yZWdpb25fcnVsZToKICAg
ICA7CiAKIHJlZ2lvbjoKLSAgICBiZWZvcmVfcmVnaW9uX3J1bGUgV0VCS0lUX1JFR0lPTl9SVUxF
X1NZTSBXSElURVNQQUNFIHNlbGVjdG9yX2xpc3QgYXRfcnVsZV9oZWFkZXJfZW5kICd7JyBhdF9y
dWxlX2JvZHlfc3RhcnQgbWF5YmVfc3BhY2UgYmxvY2tfdmFsaWRfcnVsZV9saXN0IHNhdmVfYmxv
Y2sgeworICAgIGJlZm9yZV9yZWdpb25fcnVsZSBXRUJLSVRfUkVHSU9OX1JVTEVfU1lNIG1heWJl
X3NwYWNlIHNlbGVjdG9yX2xpc3QgYXRfcnVsZV9oZWFkZXJfZW5kICd7JyBhdF9ydWxlX2JvZHlf
c3RhcnQgbWF5YmVfc3BhY2UgYmxvY2tfdmFsaWRfcnVsZV9saXN0IHNhdmVfYmxvY2sgewogICAg
ICAgICBPd25QdHI8VmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4+IHJ1bGVMaXN0ID0gYWRv
cHRQdHIoJDkpOwogICAgICAgICBpZiAoJDQpCiAgICAgICAgICAgICAkJCA9IHBhcnNlci0+Y3Jl
YXRlUmVnaW9uUnVsZShhZG9wdFB0cigkNCkuZ2V0KCksIHJ1bGVMaXN0LmdldCgpKS5sZWFrUmVm
KCk7CkBAIC05NzUsNyArOTc4LDcgQEAgYmVmb3JlX2ZpbHRlcl9ydWxlOgogICAgIDsKIAogZmls
dGVyOgotICAgIGJlZm9yZV9maWx0ZXJfcnVsZSBXRUJLSVRfRklMVEVSX1JVTEVfU1lNIFdISVRF
U1BBQ0UgSURFTlQgYXRfcnVsZV9oZWFkZXJfZW5kX21heWJlX3NwYWNlICd7JyBhdF9ydWxlX2Jv
ZHlfc3RhcnQgbWF5YmVfc3BhY2VfYmVmb3JlX2RlY2xhcmF0aW9uIGRlY2xhcmF0aW9uX2xpc3Qg
Y2xvc2luZ19icmFjZSB7CisgICAgYmVmb3JlX2ZpbHRlcl9ydWxlIFdFQktJVF9GSUxURVJfUlVM
RV9TWU0gbWF5YmVfc3BhY2UgSURFTlQgYXRfcnVsZV9oZWFkZXJfZW5kX21heWJlX3NwYWNlICd7
JyBhdF9ydWxlX2JvZHlfc3RhcnQgbWF5YmVfc3BhY2VfYmVmb3JlX2RlY2xhcmF0aW9uIGRlY2xh
cmF0aW9uX2xpc3QgY2xvc2luZ19icmFjZSB7CiAgICAgICAgIHBhcnNlci0+bV9pbkZpbHRlclJ1
bGUgPSBmYWxzZTsKICAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZUZpbHRlclJ1bGUoJDQpLmxl
YWtSZWYoKTsKICAgICB9CkBAIC0xNTgzLDExICsxNTg2LDE2IEBAIGNhbGNfZnVuY190ZXJtOgog
ICB8IHVuYXJ5X29wZXJhdG9yIHVuYXJ5X3Rlcm0geyAkJCA9ICQyOyAkJC5mVmFsdWUgKj0gJDE7
IH0KICAgOwogCisvKgorICogVGhlIGdyYW1tYXIgcmVxdWlyZXMgc3BhY2VzIGFyb3VuZCBiaW5h
cnkg4oCYK+KAmSBhbmQg4oCYLeKAmSBvcGVyYXRvcnMuCisgKiBUaGUg4oCYKuKAmSBhbmQg4oCY
L+KAmSBvcGVyYXRvcnMgZG8gbm90IHJlcXVpcmUgc3BhY2VzLgorICogaHR0cDovL3d3dy53My5v
cmcvVFIvY3NzMy12YWx1ZXMvI2NhbGMtc3ludGF4CisgKi8KIGNhbGNfZnVuY19vcGVyYXRvcjoK
LSAgICBXSElURVNQQUNFICcrJyBXSElURVNQQUNFIHsKKyAgICBzcGFjZSAnKycgc3BhY2Ugewog
ICAgICAgICAkJCA9ICcrJzsKICAgICB9Ci0gICAgfCBXSElURVNQQUNFICctJyBXSElURVNQQUNF
IHsKKyAgICB8IHNwYWNlICctJyBzcGFjZSB7CiAgICAgICAgICQkID0gJy0nOwogICAgIH0KICAg
ICB8IGNhbGNfbWF5YmVfc3BhY2UgJyonIG1heWJlX3NwYWNlIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214739</attachid>
            <date>2013-10-21 08:01:25 -0700</date>
            <delta_ts>2013-10-21 08:10:37 -0700</delta_ts>
            <desc>patch. incorporates the feedback: add test for the &apos;-&apos; (minus) operator.</desc>
            <filename>patch123082WHITESPACECSSGrammar.diff</filename>
            <type>text/plain</type>
            <size>11688</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZDljNTljLi5mYWQyOTllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMTAt
MjAgIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBS
ZWdpb25zXSBGaXggV0hJVEVTUEFDRSBpc3N1ZXMgaW4gdGhlIENTUyBncmFtbWFyLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMDgyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhIHBvcnQg
b2YgUnVuZSBMaWxsZXN2ZWVuJ3MgcGF0Y2ggZnJvbSBodHRwczovL2NvZGVyZXZpZXcuY2hyb21p
dW0ub3JnLzI1NjA3MDA1CisKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tLXdpdGgtYXQt
cnVsZS1zeW50YXgvcGFyc2luZy1hdC1ydWxlLXZhbGlkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBjc3MzL2ZpbHRlcnMvY3VzdG9tLXdpdGgtYXQtcnVsZS1zeW50YXgvc2NyaXB0LXRlc3RzL3Bh
cnNpbmctYXQtcnVsZS12YWxpZC5qczoKKyAgICAgICAgKiBmYXN0L2Nzcy9jYWxjLWNvbW1lbnRz
LWFsbG93ZWQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvY2FsYy1j
b21tZW50cy1hbGxvd2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJr
aXQtcmVnaW9uLXN5bnRheC1zcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRheC1zcGFjZS5odG1sOiBBZGRlZC4KKwogMjAx
My0xMC0yMSAgU2FudG9zaCBNYWh0byAgPHNhbnRvc2gubWFAc2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgQVNTRVJUSU9OIEZBSUxFRDogIXN0eWxlLT5wcm9wZXJ0eUlzSW1wb3J0YW50KHByb3BlcnR5
SUQpIGluIFdlYkNvcmU6OnNldFRleHREZWNvcmF0aW9uUHJvcGVydHkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxlLXN5bnRheC9wYXJzaW5n
LWF0LXJ1bGUtdmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1
c3RvbS13aXRoLWF0LXJ1bGUtc3ludGF4L3BhcnNpbmctYXQtcnVsZS12YWxpZC1leHBlY3RlZC50
eHQKaW5kZXggOGQxODM4ZC4uMDQ4ZGRkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2N1c3RvbS13aXRoLWF0LXJ1bGUtc3ludGF4L3BhcnNpbmctYXQtcnVsZS12YWxpZC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS13aXRoLWF0
LXJ1bGUtc3ludGF4L3BhcnNpbmctYXQtcnVsZS12YWxpZC1leHBlY3RlZC50eHQKQEAgLTQ2LDYg
KzQ2LDQyIEBAIFBBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnd2lkdGgnKSBpcyAi
MTAwcHgiCiBQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJ2hlaWdodCcpIGlzICIx
MDBweCIKIFBBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDIKIAorRW1wdHkgcnVsZSwgY29tbWVu
dCBzZXBhcmF0b3JzCitALXdlYmtpdC1maWx0ZXIvKiovbXktZmlsdGVyLyoqL3sgfQorUEFTUyBj
c3NSdWxlLmNzc1RleHQgaXMgIkAtd2Via2l0LWZpbHRlciBteS1maWx0ZXIgeyB9IgorUEFTUyBj
c3NSdWxlLnR5cGUgaXMgQ1NTUnVsZS5XRUJLSVRfRklMVEVSX1JVTEUKK1BBU1MgY3NzUnVsZSBp
bnN0YW5jZW9mIFdlYktpdENTU0ZpbHRlclJ1bGUgaXMgdHJ1ZQorUEFTUyBjc3NSdWxlLmNvbnN0
cnVjdG9yID09PSBXZWJLaXRDU1NGaWx0ZXJSdWxlIGlzIHRydWUKK1BBU1MgY3NzUnVsZS5fX3By
b3RvX18gPT09IFdlYktpdENTU0ZpbHRlclJ1bGUucHJvdG90eXBlIGlzIHRydWUKK1BBU1MgZGVj
bGFyYXRpb24ubGVuZ3RoIGlzIDAKKworRW1wdHkgcnVsZSwgY29tbWVudCtzcGFjZSBzZXBhcmF0
b3JzCitALXdlYmtpdC1maWx0ZXIvKiovIG15LWZpbHRlci8qKi8geyB9CitQQVNTIGNzc1J1bGUu
Y3NzVGV4dCBpcyAiQC13ZWJraXQtZmlsdGVyIG15LWZpbHRlciB7IH0iCitQQVNTIGNzc1J1bGUu
dHlwZSBpcyBDU1NSdWxlLldFQktJVF9GSUxURVJfUlVMRQorUEFTUyBjc3NSdWxlIGluc3RhbmNl
b2YgV2ViS2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuY29uc3RydWN0b3Ig
PT09IFdlYktpdENTU0ZpbHRlclJ1bGUgaXMgdHJ1ZQorUEFTUyBjc3NSdWxlLl9fcHJvdG9fXyA9
PT0gV2ViS2l0Q1NTRmlsdGVyUnVsZS5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBkZWNsYXJhdGlv
bi5sZW5ndGggaXMgMAorCitFbXB0eSBydWxlLCBzcGFjZStjb21tZW50IHNlcGFyYXRvcnMKK0At
d2Via2l0LWZpbHRlciAvKiovbXktZmlsdGVyIC8qKi97IH0KK1BBU1MgY3NzUnVsZS5jc3NUZXh0
IGlzICJALXdlYmtpdC1maWx0ZXIgbXktZmlsdGVyIHsgfSIKK1BBU1MgY3NzUnVsZS50eXBlIGlz
IENTU1J1bGUuV0VCS0lUX0ZJTFRFUl9SVUxFCitQQVNTIGNzc1J1bGUgaW5zdGFuY2VvZiBXZWJL
aXRDU1NGaWx0ZXJSdWxlIGlzIHRydWUKK1BBU1MgY3NzUnVsZS5jb25zdHJ1Y3RvciA9PT0gV2Vi
S2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuX19wcm90b19fID09PSBXZWJL
aXRDU1NGaWx0ZXJSdWxlLnByb3RvdHlwZSBpcyB0cnVlCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0
aCBpcyAwCisKK0VtcHR5IHJ1bGUsIHNwYWNlK2NvbW1lbnQrc3BhY2Ugc2VwYXJhdG9ycworQC13
ZWJraXQtZmlsdGVyIC8qKi8gbXktZmlsdGVyIC8qKi8geyB9CitQQVNTIGNzc1J1bGUuY3NzVGV4
dCBpcyAiQC13ZWJraXQtZmlsdGVyIG15LWZpbHRlciB7IH0iCitQQVNTIGNzc1J1bGUudHlwZSBp
cyBDU1NSdWxlLldFQktJVF9GSUxURVJfUlVMRQorUEFTUyBjc3NSdWxlIGluc3RhbmNlb2YgV2Vi
S2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuY29uc3RydWN0b3IgPT09IFdl
YktpdENTU0ZpbHRlclJ1bGUgaXMgdHJ1ZQorUEFTUyBjc3NSdWxlLl9fcHJvdG9fXyA9PT0gV2Vi
S2l0Q1NTRmlsdGVyUnVsZS5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBkZWNsYXJhdGlvbi5sZW5n
dGggaXMgMAorCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBOZXN0
ZWQgZmlsdGVyIGF0LXJ1bGUgdGVzdHMuCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLXdp
dGgtYXQtcnVsZS1zeW50YXgvc2NyaXB0LXRlc3RzL3BhcnNpbmctYXQtcnVsZS12YWxpZC5qcyBi
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxlLXN5bnRheC9zY3Jp
cHQtdGVzdHMvcGFyc2luZy1hdC1ydWxlLXZhbGlkLmpzCmluZGV4IGEwMjEzOGEuLjE4ZTU5OTYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxl
LXN5bnRheC9zY3JpcHQtdGVzdHMvcGFyc2luZy1hdC1ydWxlLXZhbGlkLmpzCisrKyBiL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxlLXN5bnRheC9zY3JpcHQtdGVz
dHMvcGFyc2luZy1hdC1ydWxlLXZhbGlkLmpzCkBAIC03MCw2ICs3MCwxOCBAQCB0ZXN0RmlsdGVy
QXRSdWxlKCJSdWxlIHdpdGggYXJiaXRyYXJ5IHByb3BlcnRpZXMuIiwKICAgICAiQC13ZWJraXQt
ZmlsdGVyIG15LWZpbHRlciB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgfSIsIAogICAg
ICJALXdlYmtpdC1maWx0ZXIgbXktZmlsdGVyIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4
OyB9IiwKICAgICB7d2lkdGg6ICIxMDBweCIsIGhlaWdodDogIjEwMHB4In0pOwordGVzdEZpbHRl
ckF0UnVsZSgiRW1wdHkgcnVsZSwgY29tbWVudCBzZXBhcmF0b3JzIiwKKyAgICAiQC13ZWJraXQt
ZmlsdGVyLyoqL215LWZpbHRlci8qKi97IH0iLAorICAgICJALXdlYmtpdC1maWx0ZXIgbXktZmls
dGVyIHsgfSIpOwordGVzdEZpbHRlckF0UnVsZSgiRW1wdHkgcnVsZSwgY29tbWVudCtzcGFjZSBz
ZXBhcmF0b3JzIiwKKyAgICAiQC13ZWJraXQtZmlsdGVyLyoqLyBteS1maWx0ZXIvKiovIHsgfSIs
CisgICAgIkAtd2Via2l0LWZpbHRlciBteS1maWx0ZXIgeyB9Iik7Cit0ZXN0RmlsdGVyQXRSdWxl
KCJFbXB0eSBydWxlLCBzcGFjZStjb21tZW50IHNlcGFyYXRvcnMiLAorICAgICJALXdlYmtpdC1m
aWx0ZXIgLyoqL215LWZpbHRlciAvKioveyB9IiwKKyAgICAiQC13ZWJraXQtZmlsdGVyIG15LWZp
bHRlciB7IH0iKTsKK3Rlc3RGaWx0ZXJBdFJ1bGUoIkVtcHR5IHJ1bGUsIHNwYWNlK2NvbW1lbnQr
c3BhY2Ugc2VwYXJhdG9ycyIsCisgICAgIkAtd2Via2l0LWZpbHRlciAvKiovIG15LWZpbHRlciAv
KiovIHsgfSIsCisgICAgIkAtd2Via2l0LWZpbHRlciBteS1maWx0ZXIgeyB9Iik7CiAKIGhlYWRp
bmcoIk5lc3RlZCBmaWx0ZXIgYXQtcnVsZSB0ZXN0cy4iKTsKIHRlc3ROZXN0ZWRSdWxlcygiTmVz
dGVkIHJ1bGUuIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMtY29tbWVu
dHMtYWxsb3dlZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy1jb21t
ZW50cy1hbGxvd2VkLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNTA5NDZmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Nh
bGMtY29tbWVudHMtYWxsb3dlZC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8cD5Zb3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSBiZWxvdzwvcD4K
KzxkaXYgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoyNTBweDtiYWNrZ3JvdW5kLWNvbG9yOmdy
ZWVuIj48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMtY29tbWVu
dHMtYWxsb3dlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy1jb21tZW50cy1hbGxv
d2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQ1Yzg3OAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMtY29tbWVudHMtYWxsb3dl
ZC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KyAgICA8dGl0bGU+Q29tbWVudHMgaW5zaWRlIGNhbGMoKSBhbGxvd2VkIC0gaHR0cDovL3drYi51
Zy8xMjMwODI8L3RpdGxlPgorICAgIDxzdHlsZT4KKyAgICAgICAgZGl2IHsgaGVpZ2h0OiA1MHB4
OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgZm9udC1zaXplOiA1MHB4OyB9CisgICAgICAgICN0
MSB7IHdpZHRoOiBjYWxjKDUwcHggKyAxZW0pIH0KKyAgICAgICAgI3QyIHsgd2lkdGg6IGNhbGMo
NTBweCArIC8qIENvbW1lbnQgYWxsb3dlZCAqLyAxZW0pIH0KKyAgICAgICAgI3QzIHsgd2lkdGg6
IGNhbGMoMTUwcHggLSAvKiBDb21tZW50IGFsbG93ZWQgKi8gMWVtKSB9CisgICAgICAgICN0NCB7
IHdpZHRoOiBjYWxjKDUwcHggKiAvKiBDb21tZW50IGFsbG93ZWQgKi8gMikgfQorICAgICAgICAj
dDUgeyB3aWR0aDogY2FsYygyMDBweCAvIC8qIENvbW1lbnQgYWxsb3dlZCAqLyAyKSB9CisgICAg
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPllvdSBzaG91bGQgc2VlIGEgZ3JlZW4g
cmVjdGFuZ2xlIGJlbG93PC9wPgorICAgIDxkaXYgaWQ9InQxIj48L2Rpdj4KKyAgICA8ZGl2IGlk
PSJ0MiI+PC9kaXY+CisgICAgPGRpdiBpZD0idDMiPjwvZGl2PgorICAgIDxkaXYgaWQ9InQ0Ij48
L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0NSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LXJlZ2lvbi1zeW50YXgtc3BhY2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1yZWdpb24tc3lu
dGF4LXNwYWNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4yODA2OGY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dl
YmtpdC1yZWdpb24tc3ludGF4LXNwYWNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKwor
UEFTUyBDb21tZW50IGJldHdlZW4gQC1zeW1ib2wgYW5kIGZsb3cgbmFtZSAKK1BBU1MgQ29tbWVu
dCArIHNwYWNlIGJldHdlZW4gQC1zeW1ib2wgYW5kIGZsb3cgbmFtZSAKK1BBU1MgU3BhY2UgKyBj
b21tZW50IGJldHdlZW4gQC1zeW1ib2wgYW5kIGZsb3cgbmFtZSAKK1BBU1MgU3BhY2UgKyBjb21t
ZW50ICsgc3BhY2UgYmV0d2VlbiBALXN5bWJvbCBhbmQgZmxvdyBuYW1lIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LXJlZ2lvbi1zeW50YXgtc3BhY2UuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRheC1zcGFjZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjZGJmMTYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LXJlZ2lvbi1zeW50YXgt
c3BhY2UuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisgICAgPHRpdGxlPlNwYWNlcyBpbiBALXdlYmtpdC1yZWdpb24gcHJlbHVkZSAtIGh0dHA6
Ly93a2IudWcvMTIzMDgyPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8c3R5bGU+QC13ZWJraXQt
cmVnaW9uLyoqLyNmbG93IHsgI2lkIHt9IH08L3N0eWxlPgorICAgIDxzdHlsZT5ALXdlYmtpdC1y
ZWdpb24vKiovICNmbG93IHsgI2lkIHt9IH08L3N0eWxlPgorICAgIDxzdHlsZT5ALXdlYmtpdC1y
ZWdpb24gLyoqLyNmbG93IHsgI2lkIHt9IH08L3N0eWxlPgorICAgIDxzdHlsZT5ALXdlYmtpdC1y
ZWdpb24gLyoqLyAjZmxvdyB7ICNpZCB7fSB9PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxkaXYgaWQ9ImxvZyI+PC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAgICAgdGVzdChmdW5jdGlv
bigpeworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5j
c3NSdWxlcy5sZW5ndGgsIDEsICJSdWxlIHZhbGlkIGFuZCBpbiBDU1NPTS4iKTsKKyAgICAgICAg
fSwgIkNvbW1lbnQgYmV0d2VlbiBALXN5bWJvbCBhbmQgZmxvdyBuYW1lIik7CisKKyAgICAgICAg
dGVzdChmdW5jdGlvbigpeworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5zdHls
ZVNoZWV0c1sxXS5jc3NSdWxlcy5sZW5ndGgsIDEsICJSdWxlIHZhbGlkIGFuZCBpbiBDU1NPTS4i
KTsKKyAgICAgICAgfSwgIkNvbW1lbnQgKyBzcGFjZSBiZXR3ZWVuIEAtc3ltYm9sIGFuZCBmbG93
IG5hbWUiKTsKKworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCl7CisgICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGRvY3VtZW50LnN0eWxlU2hlZXRzWzJdLmNzc1J1bGVzLmxlbmd0aCwgMSwgIlJ1bGUg
dmFsaWQgYW5kIGluIENTU09NLiIpOworICAgICAgICB9LCAiU3BhY2UgKyBjb21tZW50IGJldHdl
ZW4gQC1zeW1ib2wgYW5kIGZsb3cgbmFtZSIpOworCisgICAgICAgIHRlc3QoZnVuY3Rpb24oKXsK
KyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuc3R5bGVTaGVldHNbM10uY3NzUnVs
ZXMubGVuZ3RoLCAxLCAiUnVsZSB2YWxpZCBhbmQgaW4gQ1NTT00uIik7CisgICAgICAgIH0sICJT
cGFjZSArIGNvbW1lbnQgKyBzcGFjZSBiZXR3ZWVuIEAtc3ltYm9sIGFuZCBmbG93IG5hbWUiKTsK
KyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5ODk2ZGZmLi43
ZGQxYzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTMtMTAtMjAgIE1paGFpIE1h
ZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBSZWdpb25zXSBGaXgg
V0hJVEVTUEFDRSBpc3N1ZXMgaW4gdGhlIENTUyBncmFtbWFyLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMDgyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhIHBvcnQgb2YgUnVuZSBMaWxs
ZXN2ZWVuJ3MgcGF0Y2ggZnJvbSBodHRwczovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3JnLzI1NjA3
MDA1CisKKyAgICAgICAgRml4IFdISVRFU1BBQ0UgaXNzdWVzIGluIHRoZSBDU1MgZ3JhbW1hci4K
KworICAgICAgICBBIHNpbmdsZSBXSElURVNQQUNFIHRva2VuIGNvbnN1bWVzIGNvbnNlY3V0aXZl
IHNwYWNlcywgYnV0IGRvZXMgbm90IGNvbnN1bWUKKyAgICAgICAgc3BhY2VzIHNlcGFyYXRlZCBi
eSBjb21tZW50cy4gVGhhdCBtZWFucyBTKiBhbmQgUysgaW4gQ1NTIGdyYW1tYXJzIG5lZWQgdG8K
KyAgICAgICAgYWNjZXB0IG11bHRpcGxlIFdISVRFU1BBQ0UgdG9rZW5zLiBBZGRpdGlvbmFsbHks
IHdoaXRlIHNwYWNlcyBhcmUgbm90CisgICAgICAgIG1hbmRhdG9yeSB0byBzZXBhcmF0ZSBhbiBA
LXN5bWJvbCBhbmQgdGhlIHJlc3Qgb2YgdGhlIHByZWx1ZGUuCisKKyAgICAgICAgVXNlIHNwYWNl
IG5vbi10ZXJtaW5hbCBpbnN0ZWFkIG9mIFdISVRFU1BBQ0UgZm9yIFMrIGluIGNhbGMgZXhwcmVz
c2lvbnMuCisKKyAgICAgICAgVXNlIG1heWJlX3NwYWNlIG5vbi10ZXJtaW5hbCBpbnN0ZWFkIG9m
IFdISVRFU1BBQ0UgZm9yIFMqIGFmdGVyIEAtd2Via2l0LWZpbHRlcgorICAgICAgICBhbmQgQC13
ZWJraXQtcmVnaW9uLgorCisgICAgICAgIFRlc3RzOiBmYXN0L2Nzcy9jYWxjLWNvbW1lbnRzLWFs
bG93ZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZWdpb25zL3dlYmtpdC1yZWdpb24tc3lu
dGF4LXNwYWNlLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnkuaW46CisKIDIwMTMt
MTAtMjEgIFNhbnRvc2ggTWFodG8gIDxzYW50b3NoLm1hQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IEFTU0VSVElPTiBGQUlMRUQ6ICFzdHlsZS0+cHJvcGVydHlJc0ltcG9ydGFudChwcm9wZXJ0eUlE
KSBpbiBXZWJDb3JlOjpzZXRUZXh0RGVjb3JhdGlvblByb3BlcnR5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YW1tYXIueS5pbgppbmRleCBkNjkzYjJiLi5kNTUzMWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTR3JhbW1hci55LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFt
bWFyLnkuaW4KQEAgLTM2OSw2ICszNjksOSBAQCB3ZWJraXRfc3VwcG9ydHNfY29uZGl0aW9uOiBX
RUJLSVRfU1VQUE9SVFNfQ09ORElUSU9OX1NZTSAneycgbWF5YmVfc3BhY2Ugc3VwcG9ydAogCiAj
ZW5kaWYKIAorLyogZm9yIGV4cHJlc3Npb25zIHRoYXQgcmVxdWlyZSBhdCBsZWFzdCBvbmUgd2hp
dGVzcGFjZSB0byBiZSBwcmVzZW50LCBsaWtlIHRoZSArIGFuZCAtIG9wZXJhdG9ycyBpbiBjYWxj
IGV4cHJlc3Npb25zICovCitzcGFjZTogV0hJVEVTUEFDRXwgc3BhY2UgV0hJVEVTUEFDRSA7CisK
IG1heWJlX3NwYWNlOiAvKiBlbXB0eSAqLyAlcHJlYyBVTklNUE9SVEFOVF9UT0sgfCBtYXliZV9z
cGFjZSBXSElURVNQQUNFIDsKIAogbWF5YmVfc2dtbDogLyogZW1wdHkgKi8gfCBtYXliZV9zZ21s
IFNHTUxfQ0QgfCBtYXliZV9zZ21sIFdISVRFU1BBQ0UgOwpAQCAtOTU0LDcgKzk1Nyw3IEBAIGJl
Zm9yZV9yZWdpb25fcnVsZToKICAgICA7CiAKIHJlZ2lvbjoKLSAgICBiZWZvcmVfcmVnaW9uX3J1
bGUgV0VCS0lUX1JFR0lPTl9SVUxFX1NZTSBXSElURVNQQUNFIHNlbGVjdG9yX2xpc3QgYXRfcnVs
ZV9oZWFkZXJfZW5kICd7JyBhdF9ydWxlX2JvZHlfc3RhcnQgbWF5YmVfc3BhY2UgYmxvY2tfdmFs
aWRfcnVsZV9saXN0IHNhdmVfYmxvY2sgeworICAgIGJlZm9yZV9yZWdpb25fcnVsZSBXRUJLSVRf
UkVHSU9OX1JVTEVfU1lNIG1heWJlX3NwYWNlIHNlbGVjdG9yX2xpc3QgYXRfcnVsZV9oZWFkZXJf
ZW5kICd7JyBhdF9ydWxlX2JvZHlfc3RhcnQgbWF5YmVfc3BhY2UgYmxvY2tfdmFsaWRfcnVsZV9s
aXN0IHNhdmVfYmxvY2sgewogICAgICAgICBPd25QdHI8VmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVC
YXNlPj4+IHJ1bGVMaXN0ID0gYWRvcHRQdHIoJDkpOwogICAgICAgICBpZiAoJDQpCiAgICAgICAg
ICAgICAkJCA9IHBhcnNlci0+Y3JlYXRlUmVnaW9uUnVsZShhZG9wdFB0cigkNCkuZ2V0KCksIHJ1
bGVMaXN0LmdldCgpKS5sZWFrUmVmKCk7CkBAIC05NzUsNyArOTc4LDcgQEAgYmVmb3JlX2ZpbHRl
cl9ydWxlOgogICAgIDsKIAogZmlsdGVyOgotICAgIGJlZm9yZV9maWx0ZXJfcnVsZSBXRUJLSVRf
RklMVEVSX1JVTEVfU1lNIFdISVRFU1BBQ0UgSURFTlQgYXRfcnVsZV9oZWFkZXJfZW5kX21heWJl
X3NwYWNlICd7JyBhdF9ydWxlX2JvZHlfc3RhcnQgbWF5YmVfc3BhY2VfYmVmb3JlX2RlY2xhcmF0
aW9uIGRlY2xhcmF0aW9uX2xpc3QgY2xvc2luZ19icmFjZSB7CisgICAgYmVmb3JlX2ZpbHRlcl9y
dWxlIFdFQktJVF9GSUxURVJfUlVMRV9TWU0gbWF5YmVfc3BhY2UgSURFTlQgYXRfcnVsZV9oZWFk
ZXJfZW5kX21heWJlX3NwYWNlICd7JyBhdF9ydWxlX2JvZHlfc3RhcnQgbWF5YmVfc3BhY2VfYmVm
b3JlX2RlY2xhcmF0aW9uIGRlY2xhcmF0aW9uX2xpc3QgY2xvc2luZ19icmFjZSB7CiAgICAgICAg
IHBhcnNlci0+bV9pbkZpbHRlclJ1bGUgPSBmYWxzZTsKICAgICAgICAgJCQgPSBwYXJzZXItPmNy
ZWF0ZUZpbHRlclJ1bGUoJDQpLmxlYWtSZWYoKTsKICAgICB9CkBAIC0xNTgzLDExICsxNTg2LDE2
IEBAIGNhbGNfZnVuY190ZXJtOgogICB8IHVuYXJ5X29wZXJhdG9yIHVuYXJ5X3Rlcm0geyAkJCA9
ICQyOyAkJC5mVmFsdWUgKj0gJDE7IH0KICAgOwogCisvKgorICogVGhlIGdyYW1tYXIgcmVxdWly
ZXMgc3BhY2VzIGFyb3VuZCBiaW5hcnkg4oCYK+KAmSBhbmQg4oCYLeKAmSBvcGVyYXRvcnMuCisg
KiBUaGUg4oCYKuKAmSBhbmQg4oCYL+KAmSBvcGVyYXRvcnMgZG8gbm90IHJlcXVpcmUgc3BhY2Vz
LgorICogaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy12YWx1ZXMvI2NhbGMtc3ludGF4CisgKi8K
IGNhbGNfZnVuY19vcGVyYXRvcjoKLSAgICBXSElURVNQQUNFICcrJyBXSElURVNQQUNFIHsKKyAg
ICBzcGFjZSAnKycgc3BhY2UgewogICAgICAgICAkJCA9ICcrJzsKICAgICB9Ci0gICAgfCBXSElU
RVNQQUNFICctJyBXSElURVNQQUNFIHsKKyAgICB8IHNwYWNlICctJyBzcGFjZSB7CiAgICAgICAg
ICQkID0gJy0nOwogICAgIH0KICAgICB8IGNhbGNfbWF5YmVfc3BhY2UgJyonIG1heWJlX3NwYWNl
IHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214741</attachid>
            <date>2013-10-21 08:10:37 -0700</date>
            <delta_ts>2013-10-21 08:55:39 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch123082WHITESPACECSSGrammar.diff</filename>
            <type>text/plain</type>
            <size>11680</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZDljNTljLi5mYWQyOTllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMTAt
MjAgIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBS
ZWdpb25zXSBGaXggV0hJVEVTUEFDRSBpc3N1ZXMgaW4gdGhlIENTUyBncmFtbWFyLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMDgyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhIHBvcnQg
b2YgUnVuZSBMaWxsZXN2ZWVuJ3MgcGF0Y2ggZnJvbSBodHRwczovL2NvZGVyZXZpZXcuY2hyb21p
dW0ub3JnLzI1NjA3MDA1CisKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tLXdpdGgtYXQt
cnVsZS1zeW50YXgvcGFyc2luZy1hdC1ydWxlLXZhbGlkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBjc3MzL2ZpbHRlcnMvY3VzdG9tLXdpdGgtYXQtcnVsZS1zeW50YXgvc2NyaXB0LXRlc3RzL3Bh
cnNpbmctYXQtcnVsZS12YWxpZC5qczoKKyAgICAgICAgKiBmYXN0L2Nzcy9jYWxjLWNvbW1lbnRz
LWFsbG93ZWQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvY2FsYy1j
b21tZW50cy1hbGxvd2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy93ZWJr
aXQtcmVnaW9uLXN5bnRheC1zcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRheC1zcGFjZS5odG1sOiBBZGRlZC4KKwogMjAx
My0xMC0yMSAgU2FudG9zaCBNYWh0byAgPHNhbnRvc2gubWFAc2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgQVNTRVJUSU9OIEZBSUxFRDogIXN0eWxlLT5wcm9wZXJ0eUlzSW1wb3J0YW50KHByb3BlcnR5
SUQpIGluIFdlYkNvcmU6OnNldFRleHREZWNvcmF0aW9uUHJvcGVydHkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxlLXN5bnRheC9wYXJzaW5n
LWF0LXJ1bGUtdmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1
c3RvbS13aXRoLWF0LXJ1bGUtc3ludGF4L3BhcnNpbmctYXQtcnVsZS12YWxpZC1leHBlY3RlZC50
eHQKaW5kZXggOGQxODM4ZC4uMDQ4ZGRkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2N1c3RvbS13aXRoLWF0LXJ1bGUtc3ludGF4L3BhcnNpbmctYXQtcnVsZS12YWxpZC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS13aXRoLWF0
LXJ1bGUtc3ludGF4L3BhcnNpbmctYXQtcnVsZS12YWxpZC1leHBlY3RlZC50eHQKQEAgLTQ2LDYg
KzQ2LDQyIEBAIFBBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnd2lkdGgnKSBpcyAi
MTAwcHgiCiBQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJ2hlaWdodCcpIGlzICIx
MDBweCIKIFBBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDIKIAorRW1wdHkgcnVsZSwgY29tbWVu
dCBzZXBhcmF0b3JzCitALXdlYmtpdC1maWx0ZXIvKiovbXktZmlsdGVyLyoqL3sgfQorUEFTUyBj
c3NSdWxlLmNzc1RleHQgaXMgIkAtd2Via2l0LWZpbHRlciBteS1maWx0ZXIgeyB9IgorUEFTUyBj
c3NSdWxlLnR5cGUgaXMgQ1NTUnVsZS5XRUJLSVRfRklMVEVSX1JVTEUKK1BBU1MgY3NzUnVsZSBp
bnN0YW5jZW9mIFdlYktpdENTU0ZpbHRlclJ1bGUgaXMgdHJ1ZQorUEFTUyBjc3NSdWxlLmNvbnN0
cnVjdG9yID09PSBXZWJLaXRDU1NGaWx0ZXJSdWxlIGlzIHRydWUKK1BBU1MgY3NzUnVsZS5fX3By
b3RvX18gPT09IFdlYktpdENTU0ZpbHRlclJ1bGUucHJvdG90eXBlIGlzIHRydWUKK1BBU1MgZGVj
bGFyYXRpb24ubGVuZ3RoIGlzIDAKKworRW1wdHkgcnVsZSwgY29tbWVudCtzcGFjZSBzZXBhcmF0
b3JzCitALXdlYmtpdC1maWx0ZXIvKiovIG15LWZpbHRlci8qKi8geyB9CitQQVNTIGNzc1J1bGUu
Y3NzVGV4dCBpcyAiQC13ZWJraXQtZmlsdGVyIG15LWZpbHRlciB7IH0iCitQQVNTIGNzc1J1bGUu
dHlwZSBpcyBDU1NSdWxlLldFQktJVF9GSUxURVJfUlVMRQorUEFTUyBjc3NSdWxlIGluc3RhbmNl
b2YgV2ViS2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuY29uc3RydWN0b3Ig
PT09IFdlYktpdENTU0ZpbHRlclJ1bGUgaXMgdHJ1ZQorUEFTUyBjc3NSdWxlLl9fcHJvdG9fXyA9
PT0gV2ViS2l0Q1NTRmlsdGVyUnVsZS5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBkZWNsYXJhdGlv
bi5sZW5ndGggaXMgMAorCitFbXB0eSBydWxlLCBzcGFjZStjb21tZW50IHNlcGFyYXRvcnMKK0At
d2Via2l0LWZpbHRlciAvKiovbXktZmlsdGVyIC8qKi97IH0KK1BBU1MgY3NzUnVsZS5jc3NUZXh0
IGlzICJALXdlYmtpdC1maWx0ZXIgbXktZmlsdGVyIHsgfSIKK1BBU1MgY3NzUnVsZS50eXBlIGlz
IENTU1J1bGUuV0VCS0lUX0ZJTFRFUl9SVUxFCitQQVNTIGNzc1J1bGUgaW5zdGFuY2VvZiBXZWJL
aXRDU1NGaWx0ZXJSdWxlIGlzIHRydWUKK1BBU1MgY3NzUnVsZS5jb25zdHJ1Y3RvciA9PT0gV2Vi
S2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuX19wcm90b19fID09PSBXZWJL
aXRDU1NGaWx0ZXJSdWxlLnByb3RvdHlwZSBpcyB0cnVlCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0
aCBpcyAwCisKK0VtcHR5IHJ1bGUsIHNwYWNlK2NvbW1lbnQrc3BhY2Ugc2VwYXJhdG9ycworQC13
ZWJraXQtZmlsdGVyIC8qKi8gbXktZmlsdGVyIC8qKi8geyB9CitQQVNTIGNzc1J1bGUuY3NzVGV4
dCBpcyAiQC13ZWJraXQtZmlsdGVyIG15LWZpbHRlciB7IH0iCitQQVNTIGNzc1J1bGUudHlwZSBp
cyBDU1NSdWxlLldFQktJVF9GSUxURVJfUlVMRQorUEFTUyBjc3NSdWxlIGluc3RhbmNlb2YgV2Vi
S2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuY29uc3RydWN0b3IgPT09IFdl
YktpdENTU0ZpbHRlclJ1bGUgaXMgdHJ1ZQorUEFTUyBjc3NSdWxlLl9fcHJvdG9fXyA9PT0gV2Vi
S2l0Q1NTRmlsdGVyUnVsZS5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBkZWNsYXJhdGlvbi5sZW5n
dGggaXMgMAorCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBOZXN0
ZWQgZmlsdGVyIGF0LXJ1bGUgdGVzdHMuCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLXdp
dGgtYXQtcnVsZS1zeW50YXgvc2NyaXB0LXRlc3RzL3BhcnNpbmctYXQtcnVsZS12YWxpZC5qcyBi
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxlLXN5bnRheC9zY3Jp
cHQtdGVzdHMvcGFyc2luZy1hdC1ydWxlLXZhbGlkLmpzCmluZGV4IGEwMjEzOGEuLjE4ZTU5OTYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxl
LXN5bnRheC9zY3JpcHQtdGVzdHMvcGFyc2luZy1hdC1ydWxlLXZhbGlkLmpzCisrKyBiL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxlLXN5bnRheC9zY3JpcHQtdGVz
dHMvcGFyc2luZy1hdC1ydWxlLXZhbGlkLmpzCkBAIC03MCw2ICs3MCwxOCBAQCB0ZXN0RmlsdGVy
QXRSdWxlKCJSdWxlIHdpdGggYXJiaXRyYXJ5IHByb3BlcnRpZXMuIiwKICAgICAiQC13ZWJraXQt
ZmlsdGVyIG15LWZpbHRlciB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgfSIsIAogICAg
ICJALXdlYmtpdC1maWx0ZXIgbXktZmlsdGVyIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4
OyB9IiwKICAgICB7d2lkdGg6ICIxMDBweCIsIGhlaWdodDogIjEwMHB4In0pOwordGVzdEZpbHRl
ckF0UnVsZSgiRW1wdHkgcnVsZSwgY29tbWVudCBzZXBhcmF0b3JzIiwKKyAgICAiQC13ZWJraXQt
ZmlsdGVyLyoqL215LWZpbHRlci8qKi97IH0iLAorICAgICJALXdlYmtpdC1maWx0ZXIgbXktZmls
dGVyIHsgfSIpOwordGVzdEZpbHRlckF0UnVsZSgiRW1wdHkgcnVsZSwgY29tbWVudCtzcGFjZSBz
ZXBhcmF0b3JzIiwKKyAgICAiQC13ZWJraXQtZmlsdGVyLyoqLyBteS1maWx0ZXIvKiovIHsgfSIs
CisgICAgIkAtd2Via2l0LWZpbHRlciBteS1maWx0ZXIgeyB9Iik7Cit0ZXN0RmlsdGVyQXRSdWxl
KCJFbXB0eSBydWxlLCBzcGFjZStjb21tZW50IHNlcGFyYXRvcnMiLAorICAgICJALXdlYmtpdC1m
aWx0ZXIgLyoqL215LWZpbHRlciAvKioveyB9IiwKKyAgICAiQC13ZWJraXQtZmlsdGVyIG15LWZp
bHRlciB7IH0iKTsKK3Rlc3RGaWx0ZXJBdFJ1bGUoIkVtcHR5IHJ1bGUsIHNwYWNlK2NvbW1lbnQr
c3BhY2Ugc2VwYXJhdG9ycyIsCisgICAgIkAtd2Via2l0LWZpbHRlciAvKiovIG15LWZpbHRlciAv
KiovIHsgfSIsCisgICAgIkAtd2Via2l0LWZpbHRlciBteS1maWx0ZXIgeyB9Iik7CiAKIGhlYWRp
bmcoIk5lc3RlZCBmaWx0ZXIgYXQtcnVsZSB0ZXN0cy4iKTsKIHRlc3ROZXN0ZWRSdWxlcygiTmVz
dGVkIHJ1bGUuIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMtY29tbWVu
dHMtYWxsb3dlZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy1jb21t
ZW50cy1hbGxvd2VkLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNTA5NDZmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Nh
bGMtY29tbWVudHMtYWxsb3dlZC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8cD5Zb3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSBiZWxvdzwvcD4K
KzxkaXYgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoyNTBweDtiYWNrZ3JvdW5kLWNvbG9yOmdy
ZWVuIj48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMtY29tbWVu
dHMtYWxsb3dlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy1jb21tZW50cy1hbGxv
d2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQ1Yzg3OAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMtY29tbWVudHMtYWxsb3dl
ZC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KyAgICA8dGl0bGU+Q29tbWVudHMgaW5zaWRlIGNhbGMoKSBhbGxvd2VkIC0gaHR0cDovL3drYi51
Zy8xMjMwODI8L3RpdGxlPgorICAgIDxzdHlsZT4KKyAgICAgICAgZGl2IHsgaGVpZ2h0OiA1MHB4
OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgZm9udC1zaXplOiA1MHB4OyB9CisgICAgICAgICN0
MSB7IHdpZHRoOiBjYWxjKDUwcHggKyAxZW0pIH0KKyAgICAgICAgI3QyIHsgd2lkdGg6IGNhbGMo
NTBweCArIC8qIENvbW1lbnQgYWxsb3dlZCAqLyAxZW0pIH0KKyAgICAgICAgI3QzIHsgd2lkdGg6
IGNhbGMoMTUwcHggLSAvKiBDb21tZW50IGFsbG93ZWQgKi8gMWVtKSB9CisgICAgICAgICN0NCB7
IHdpZHRoOiBjYWxjKDUwcHggKiAvKiBDb21tZW50IGFsbG93ZWQgKi8gMikgfQorICAgICAgICAj
dDUgeyB3aWR0aDogY2FsYygyMDBweCAvIC8qIENvbW1lbnQgYWxsb3dlZCAqLyAyKSB9CisgICAg
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPllvdSBzaG91bGQgc2VlIGEgZ3JlZW4g
cmVjdGFuZ2xlIGJlbG93PC9wPgorICAgIDxkaXYgaWQ9InQxIj48L2Rpdj4KKyAgICA8ZGl2IGlk
PSJ0MiI+PC9kaXY+CisgICAgPGRpdiBpZD0idDMiPjwvZGl2PgorICAgIDxkaXYgaWQ9InQ0Ij48
L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0NSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LXJlZ2lvbi1zeW50YXgtc3BhY2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1yZWdpb24tc3lu
dGF4LXNwYWNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4yODA2OGY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dl
YmtpdC1yZWdpb24tc3ludGF4LXNwYWNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKwor
UEFTUyBDb21tZW50IGJldHdlZW4gQC1zeW1ib2wgYW5kIGZsb3cgbmFtZSAKK1BBU1MgQ29tbWVu
dCArIHNwYWNlIGJldHdlZW4gQC1zeW1ib2wgYW5kIGZsb3cgbmFtZSAKK1BBU1MgU3BhY2UgKyBj
b21tZW50IGJldHdlZW4gQC1zeW1ib2wgYW5kIGZsb3cgbmFtZSAKK1BBU1MgU3BhY2UgKyBjb21t
ZW50ICsgc3BhY2UgYmV0d2VlbiBALXN5bWJvbCBhbmQgZmxvdyBuYW1lIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LXJlZ2lvbi1zeW50YXgtc3BhY2UuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRheC1zcGFjZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjZGJmMTYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LXJlZ2lvbi1zeW50YXgt
c3BhY2UuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisgICAgPHRpdGxlPlNwYWNlcyBpbiBALXdlYmtpdC1yZWdpb24gcHJlbHVkZSAtIGh0dHA6
Ly93a2IudWcvMTIzMDgyPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8c3R5bGU+QC13ZWJraXQt
cmVnaW9uLyoqLyNmbG93IHsgI2lkIHt9IH08L3N0eWxlPgorICAgIDxzdHlsZT5ALXdlYmtpdC1y
ZWdpb24vKiovICNmbG93IHsgI2lkIHt9IH08L3N0eWxlPgorICAgIDxzdHlsZT5ALXdlYmtpdC1y
ZWdpb24gLyoqLyNmbG93IHsgI2lkIHt9IH08L3N0eWxlPgorICAgIDxzdHlsZT5ALXdlYmtpdC1y
ZWdpb24gLyoqLyAjZmxvdyB7ICNpZCB7fSB9PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxkaXYgaWQ9ImxvZyI+PC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAgICAgdGVzdChmdW5jdGlv
bigpeworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5j
c3NSdWxlcy5sZW5ndGgsIDEsICJSdWxlIHZhbGlkIGFuZCBpbiBDU1NPTS4iKTsKKyAgICAgICAg
fSwgIkNvbW1lbnQgYmV0d2VlbiBALXN5bWJvbCBhbmQgZmxvdyBuYW1lIik7CisKKyAgICAgICAg
dGVzdChmdW5jdGlvbigpeworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5zdHls
ZVNoZWV0c1sxXS5jc3NSdWxlcy5sZW5ndGgsIDEsICJSdWxlIHZhbGlkIGFuZCBpbiBDU1NPTS4i
KTsKKyAgICAgICAgfSwgIkNvbW1lbnQgKyBzcGFjZSBiZXR3ZWVuIEAtc3ltYm9sIGFuZCBmbG93
IG5hbWUiKTsKKworICAgICAgICB0ZXN0KGZ1bmN0aW9uKCl7CisgICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGRvY3VtZW50LnN0eWxlU2hlZXRzWzJdLmNzc1J1bGVzLmxlbmd0aCwgMSwgIlJ1bGUg
dmFsaWQgYW5kIGluIENTU09NLiIpOworICAgICAgICB9LCAiU3BhY2UgKyBjb21tZW50IGJldHdl
ZW4gQC1zeW1ib2wgYW5kIGZsb3cgbmFtZSIpOworCisgICAgICAgIHRlc3QoZnVuY3Rpb24oKXsK
KyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQuc3R5bGVTaGVldHNbM10uY3NzUnVs
ZXMubGVuZ3RoLCAxLCAiUnVsZSB2YWxpZCBhbmQgaW4gQ1NTT00uIik7CisgICAgICAgIH0sICJT
cGFjZSArIGNvbW1lbnQgKyBzcGFjZSBiZXR3ZWVuIEAtc3ltYm9sIGFuZCBmbG93IG5hbWUiKTsK
KyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5ODk2ZGZmLi43
ZGQxYzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTMtMTAtMjAgIE1paGFpIE1h
ZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBSZWdpb25zXSBGaXgg
V0hJVEVTUEFDRSBpc3N1ZXMgaW4gdGhlIENTUyBncmFtbWFyLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMDgyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhIHBvcnQgb2YgUnVuZSBMaWxs
ZXN2ZWVuJ3MgcGF0Y2ggZnJvbSBodHRwczovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3JnLzI1NjA3
MDA1CisKKyAgICAgICAgRml4IFdISVRFU1BBQ0UgaXNzdWVzIGluIHRoZSBDU1MgZ3JhbW1hci4K
KworICAgICAgICBBIHNpbmdsZSBXSElURVNQQUNFIHRva2VuIGNvbnN1bWVzIGNvbnNlY3V0aXZl
IHNwYWNlcywgYnV0IGRvZXMgbm90IGNvbnN1bWUKKyAgICAgICAgc3BhY2VzIHNlcGFyYXRlZCBi
eSBjb21tZW50cy4gVGhhdCBtZWFucyBTKiBhbmQgUysgaW4gQ1NTIGdyYW1tYXJzIG5lZWQgdG8K
KyAgICAgICAgYWNjZXB0IG11bHRpcGxlIFdISVRFU1BBQ0UgdG9rZW5zLiBBZGRpdGlvbmFsbHks
IHdoaXRlIHNwYWNlcyBhcmUgbm90CisgICAgICAgIG1hbmRhdG9yeSB0byBzZXBhcmF0ZSBhbiBA
LXN5bWJvbCBhbmQgdGhlIHJlc3Qgb2YgdGhlIHByZWx1ZGUuCisKKyAgICAgICAgVXNlIHNwYWNl
IG5vbi10ZXJtaW5hbCBpbnN0ZWFkIG9mIFdISVRFU1BBQ0UgZm9yIFMrIGluIGNhbGMgZXhwcmVz
c2lvbnMuCisKKyAgICAgICAgVXNlIG1heWJlX3NwYWNlIG5vbi10ZXJtaW5hbCBpbnN0ZWFkIG9m
IFdISVRFU1BBQ0UgZm9yIFMqIGFmdGVyIEAtd2Via2l0LWZpbHRlcgorICAgICAgICBhbmQgQC13
ZWJraXQtcmVnaW9uLgorCisgICAgICAgIFRlc3RzOiBmYXN0L2Nzcy9jYWxjLWNvbW1lbnRzLWFs
bG93ZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZWdpb25zL3dlYmtpdC1yZWdpb24tc3lu
dGF4LXNwYWNlLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnkuaW46CisKIDIwMTMt
MTAtMjEgIFNhbnRvc2ggTWFodG8gIDxzYW50b3NoLm1hQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IEFTU0VSVElPTiBGQUlMRUQ6ICFzdHlsZS0+cHJvcGVydHlJc0ltcG9ydGFudChwcm9wZXJ0eUlE
KSBpbiBXZWJDb3JlOjpzZXRUZXh0RGVjb3JhdGlvblByb3BlcnR5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YW1tYXIueS5pbgppbmRleCBkNjkzYjJiLi44NDQ5YzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTR3JhbW1hci55LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFt
bWFyLnkuaW4KQEAgLTM2OSw2ICszNjksOSBAQCB3ZWJraXRfc3VwcG9ydHNfY29uZGl0aW9uOiBX
RUJLSVRfU1VQUE9SVFNfQ09ORElUSU9OX1NZTSAneycgbWF5YmVfc3BhY2Ugc3VwcG9ydAogCiAj
ZW5kaWYKIAorLyogZm9yIGV4cHJlc3Npb25zIHRoYXQgcmVxdWlyZSBhdCBsZWFzdCBvbmUgd2hp
dGVzcGFjZSB0byBiZSBwcmVzZW50LCBsaWtlIHRoZSArIGFuZCAtIG9wZXJhdG9ycyBpbiBjYWxj
IGV4cHJlc3Npb25zICovCitzcGFjZTogV0hJVEVTUEFDRXwgc3BhY2UgV0hJVEVTUEFDRSA7CisK
IG1heWJlX3NwYWNlOiAvKiBlbXB0eSAqLyAlcHJlYyBVTklNUE9SVEFOVF9UT0sgfCBtYXliZV9z
cGFjZSBXSElURVNQQUNFIDsKIAogbWF5YmVfc2dtbDogLyogZW1wdHkgKi8gfCBtYXliZV9zZ21s
IFNHTUxfQ0QgfCBtYXliZV9zZ21sIFdISVRFU1BBQ0UgOwpAQCAtOTU0LDcgKzk1Nyw3IEBAIGJl
Zm9yZV9yZWdpb25fcnVsZToKICAgICA7CiAKIHJlZ2lvbjoKLSAgICBiZWZvcmVfcmVnaW9uX3J1
bGUgV0VCS0lUX1JFR0lPTl9SVUxFX1NZTSBXSElURVNQQUNFIHNlbGVjdG9yX2xpc3QgYXRfcnVs
ZV9oZWFkZXJfZW5kICd7JyBhdF9ydWxlX2JvZHlfc3RhcnQgbWF5YmVfc3BhY2UgYmxvY2tfdmFs
aWRfcnVsZV9saXN0IHNhdmVfYmxvY2sgeworICAgIGJlZm9yZV9yZWdpb25fcnVsZSBXRUJLSVRf
UkVHSU9OX1JVTEVfU1lNIG1heWJlX3NwYWNlIHNlbGVjdG9yX2xpc3QgYXRfcnVsZV9oZWFkZXJf
ZW5kICd7JyBhdF9ydWxlX2JvZHlfc3RhcnQgbWF5YmVfc3BhY2UgYmxvY2tfdmFsaWRfcnVsZV9s
aXN0IHNhdmVfYmxvY2sgewogICAgICAgICBPd25QdHI8VmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVC
YXNlPj4+IHJ1bGVMaXN0ID0gYWRvcHRQdHIoJDkpOwogICAgICAgICBpZiAoJDQpCiAgICAgICAg
ICAgICAkJCA9IHBhcnNlci0+Y3JlYXRlUmVnaW9uUnVsZShhZG9wdFB0cigkNCkuZ2V0KCksIHJ1
bGVMaXN0LmdldCgpKS5sZWFrUmVmKCk7CkBAIC05NzUsNyArOTc4LDcgQEAgYmVmb3JlX2ZpbHRl
cl9ydWxlOgogICAgIDsKIAogZmlsdGVyOgotICAgIGJlZm9yZV9maWx0ZXJfcnVsZSBXRUJLSVRf
RklMVEVSX1JVTEVfU1lNIFdISVRFU1BBQ0UgSURFTlQgYXRfcnVsZV9oZWFkZXJfZW5kX21heWJl
X3NwYWNlICd7JyBhdF9ydWxlX2JvZHlfc3RhcnQgbWF5YmVfc3BhY2VfYmVmb3JlX2RlY2xhcmF0
aW9uIGRlY2xhcmF0aW9uX2xpc3QgY2xvc2luZ19icmFjZSB7CisgICAgYmVmb3JlX2ZpbHRlcl9y
dWxlIFdFQktJVF9GSUxURVJfUlVMRV9TWU0gbWF5YmVfc3BhY2UgSURFTlQgYXRfcnVsZV9oZWFk
ZXJfZW5kX21heWJlX3NwYWNlICd7JyBhdF9ydWxlX2JvZHlfc3RhcnQgbWF5YmVfc3BhY2VfYmVm
b3JlX2RlY2xhcmF0aW9uIGRlY2xhcmF0aW9uX2xpc3QgY2xvc2luZ19icmFjZSB7CiAgICAgICAg
IHBhcnNlci0+bV9pbkZpbHRlclJ1bGUgPSBmYWxzZTsKICAgICAgICAgJCQgPSBwYXJzZXItPmNy
ZWF0ZUZpbHRlclJ1bGUoJDQpLmxlYWtSZWYoKTsKICAgICB9CkBAIC0xNTgzLDExICsxNTg2LDE2
IEBAIGNhbGNfZnVuY190ZXJtOgogICB8IHVuYXJ5X29wZXJhdG9yIHVuYXJ5X3Rlcm0geyAkJCA9
ICQyOyAkJC5mVmFsdWUgKj0gJDE7IH0KICAgOwogCisvKgorICogVGhlIGdyYW1tYXIgcmVxdWly
ZXMgc3BhY2VzIGFyb3VuZCBiaW5hcnkg4oCYK+KAmSBhbmQg4oCYLeKAmSBvcGVyYXRvcnMuCisg
KiBUaGUgJyonIGFuZCAnLycgb3BlcmF0b3JzIGRvIG5vdCByZXF1aXJlIHNwYWNlcy4KKyAqIGh0
dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdmFsdWVzLyNjYWxjLXN5bnRheAorICovCiBjYWxjX2Z1
bmNfb3BlcmF0b3I6Ci0gICAgV0hJVEVTUEFDRSAnKycgV0hJVEVTUEFDRSB7CisgICAgc3BhY2Ug
JysnIHNwYWNlIHsKICAgICAgICAgJCQgPSAnKyc7CiAgICAgfQotICAgIHwgV0hJVEVTUEFDRSAn
LScgV0hJVEVTUEFDRSB7CisgICAgfCBzcGFjZSAnLScgc3BhY2UgewogICAgICAgICAkJCA9ICct
JzsKICAgICB9CiAgICAgfCBjYWxjX21heWJlX3NwYWNlICcqJyBtYXliZV9zcGFjZSB7Cg==
</data>
<flag name="review"
          id="237327"
          type_id="1"
          status="+"
          setter="koivisto"
    />
    <flag name="commit-queue"
          id="237328"
          type_id="3"
          status="-"
          setter="koivisto"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214743</attachid>
            <date>2013-10-21 09:02:20 -0700</date>
            <delta_ts>2013-10-21 12:27:48 -0700</delta_ts>
            <desc>patch. incorporates the feedback: There should be a space between WHITESPACE and |</desc>
            <filename>patch123082WHITESPACECSSGrammar.diff</filename>
            <type>text/plain</type>
            <size>11679</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZDljNTljLi44MDQ5NjI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMTAt
MjAgIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBS
ZWdpb25zXSBGaXggV0hJVEVTUEFDRSBpc3N1ZXMgaW4gdGhlIENTUyBncmFtbWFyLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMDgyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KKworICAgICAgICBUaGlzIGlzIGEgcG9ydCBv
ZiBSdW5lIExpbGxlc3ZlZW4ncyBwYXRjaCBmcm9tIGh0dHBzOi8vY29kZXJldmlldy5jaHJvbWl1
bS5vcmcvMjU2MDcwMDUKKworICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1y
dWxlLXN5bnRheC9wYXJzaW5nLWF0LXJ1bGUtdmFsaWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGNzczMvZmlsdGVycy9jdXN0b20td2l0aC1hdC1ydWxlLXN5bnRheC9zY3JpcHQtdGVzdHMvcGFy
c2luZy1hdC1ydWxlLXZhbGlkLmpzOgorICAgICAgICAqIGZhc3QvY3NzL2NhbGMtY29tbWVudHMt
YWxsb3dlZC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9jYWxjLWNv
bW1lbnRzLWFsbG93ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3dlYmtp
dC1yZWdpb24tc3ludGF4LXNwYWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9yZWdpb25zL3dlYmtpdC1yZWdpb24tc3ludGF4LXNwYWNlLmh0bWw6IEFkZGVkLgorCiAyMDEz
LTEwLTIxICBTYW50b3NoIE1haHRvICA8c2FudG9zaC5tYUBzYW1zdW5nLmNvbT4KIAogICAgICAg
ICBBU1NFUlRJT04gRkFJTEVEOiAhc3R5bGUtPnByb3BlcnR5SXNJbXBvcnRhbnQocHJvcGVydHlJ
RCkgaW4gV2ViQ29yZTo6c2V0VGV4dERlY29yYXRpb25Qcm9wZXJ0eQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS13aXRoLWF0LXJ1bGUtc3ludGF4L3BhcnNpbmct
YXQtcnVsZS12YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3Vz
dG9tLXdpdGgtYXQtcnVsZS1zeW50YXgvcGFyc2luZy1hdC1ydWxlLXZhbGlkLWV4cGVjdGVkLnR4
dAppbmRleCA4ZDE4MzhkLi4wNDhkZGRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvY3VzdG9tLXdpdGgtYXQtcnVsZS1zeW50YXgvcGFyc2luZy1hdC1ydWxlLXZhbGlkLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tLXdpdGgtYXQt
cnVsZS1zeW50YXgvcGFyc2luZy1hdC1ydWxlLXZhbGlkLWV4cGVjdGVkLnR4dApAQCAtNDYsNiAr
NDYsNDIgQEAgUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCd3aWR0aCcpIGlzICIx
MDBweCIKIFBBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnaGVpZ2h0JykgaXMgIjEw
MHB4IgogUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMgogCitFbXB0eSBydWxlLCBjb21tZW50
IHNlcGFyYXRvcnMKK0Atd2Via2l0LWZpbHRlci8qKi9teS1maWx0ZXIvKioveyB9CitQQVNTIGNz
c1J1bGUuY3NzVGV4dCBpcyAiQC13ZWJraXQtZmlsdGVyIG15LWZpbHRlciB7IH0iCitQQVNTIGNz
c1J1bGUudHlwZSBpcyBDU1NSdWxlLldFQktJVF9GSUxURVJfUlVMRQorUEFTUyBjc3NSdWxlIGlu
c3RhbmNlb2YgV2ViS2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuY29uc3Ry
dWN0b3IgPT09IFdlYktpdENTU0ZpbHRlclJ1bGUgaXMgdHJ1ZQorUEFTUyBjc3NSdWxlLl9fcHJv
dG9fXyA9PT0gV2ViS2l0Q1NTRmlsdGVyUnVsZS5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBkZWNs
YXJhdGlvbi5sZW5ndGggaXMgMAorCitFbXB0eSBydWxlLCBjb21tZW50K3NwYWNlIHNlcGFyYXRv
cnMKK0Atd2Via2l0LWZpbHRlci8qKi8gbXktZmlsdGVyLyoqLyB7IH0KK1BBU1MgY3NzUnVsZS5j
c3NUZXh0IGlzICJALXdlYmtpdC1maWx0ZXIgbXktZmlsdGVyIHsgfSIKK1BBU1MgY3NzUnVsZS50
eXBlIGlzIENTU1J1bGUuV0VCS0lUX0ZJTFRFUl9SVUxFCitQQVNTIGNzc1J1bGUgaW5zdGFuY2Vv
ZiBXZWJLaXRDU1NGaWx0ZXJSdWxlIGlzIHRydWUKK1BBU1MgY3NzUnVsZS5jb25zdHJ1Y3RvciA9
PT0gV2ViS2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuX19wcm90b19fID09
PSBXZWJLaXRDU1NGaWx0ZXJSdWxlLnByb3RvdHlwZSBpcyB0cnVlCitQQVNTIGRlY2xhcmF0aW9u
Lmxlbmd0aCBpcyAwCisKK0VtcHR5IHJ1bGUsIHNwYWNlK2NvbW1lbnQgc2VwYXJhdG9ycworQC13
ZWJraXQtZmlsdGVyIC8qKi9teS1maWx0ZXIgLyoqL3sgfQorUEFTUyBjc3NSdWxlLmNzc1RleHQg
aXMgIkAtd2Via2l0LWZpbHRlciBteS1maWx0ZXIgeyB9IgorUEFTUyBjc3NSdWxlLnR5cGUgaXMg
Q1NTUnVsZS5XRUJLSVRfRklMVEVSX1JVTEUKK1BBU1MgY3NzUnVsZSBpbnN0YW5jZW9mIFdlYktp
dENTU0ZpbHRlclJ1bGUgaXMgdHJ1ZQorUEFTUyBjc3NSdWxlLmNvbnN0cnVjdG9yID09PSBXZWJL
aXRDU1NGaWx0ZXJSdWxlIGlzIHRydWUKK1BBU1MgY3NzUnVsZS5fX3Byb3RvX18gPT09IFdlYktp
dENTU0ZpbHRlclJ1bGUucHJvdG90eXBlIGlzIHRydWUKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3Ro
IGlzIDAKKworRW1wdHkgcnVsZSwgc3BhY2UrY29tbWVudCtzcGFjZSBzZXBhcmF0b3JzCitALXdl
YmtpdC1maWx0ZXIgLyoqLyBteS1maWx0ZXIgLyoqLyB7IH0KK1BBU1MgY3NzUnVsZS5jc3NUZXh0
IGlzICJALXdlYmtpdC1maWx0ZXIgbXktZmlsdGVyIHsgfSIKK1BBU1MgY3NzUnVsZS50eXBlIGlz
IENTU1J1bGUuV0VCS0lUX0ZJTFRFUl9SVUxFCitQQVNTIGNzc1J1bGUgaW5zdGFuY2VvZiBXZWJL
aXRDU1NGaWx0ZXJSdWxlIGlzIHRydWUKK1BBU1MgY3NzUnVsZS5jb25zdHJ1Y3RvciA9PT0gV2Vi
S2l0Q1NTRmlsdGVyUnVsZSBpcyB0cnVlCitQQVNTIGNzc1J1bGUuX19wcm90b19fID09PSBXZWJL
aXRDU1NGaWx0ZXJSdWxlLnByb3RvdHlwZSBpcyB0cnVlCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0
aCBpcyAwCisKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIE5lc3Rl
ZCBmaWx0ZXIgYXQtcnVsZSB0ZXN0cy4KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20td2l0
aC1hdC1ydWxlLXN5bnRheC9zY3JpcHQtdGVzdHMvcGFyc2luZy1hdC1ydWxlLXZhbGlkLmpzIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS13aXRoLWF0LXJ1bGUtc3ludGF4L3Njcmlw
dC10ZXN0cy9wYXJzaW5nLWF0LXJ1bGUtdmFsaWQuanMKaW5kZXggYTAyMTM4YS4uMThlNTk5NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS13aXRoLWF0LXJ1bGUt
c3ludGF4L3NjcmlwdC10ZXN0cy9wYXJzaW5nLWF0LXJ1bGUtdmFsaWQuanMKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS13aXRoLWF0LXJ1bGUtc3ludGF4L3NjcmlwdC10ZXN0
cy9wYXJzaW5nLWF0LXJ1bGUtdmFsaWQuanMKQEAgLTcwLDYgKzcwLDE4IEBAIHRlc3RGaWx0ZXJB
dFJ1bGUoIlJ1bGUgd2l0aCBhcmJpdHJhcnkgcHJvcGVydGllcy4iLAogICAgICJALXdlYmtpdC1m
aWx0ZXIgbXktZmlsdGVyIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB9IiwgCiAgICAg
IkAtd2Via2l0LWZpbHRlciBteS1maWx0ZXIgeyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7
IH0iLAogICAgIHt3aWR0aDogIjEwMHB4IiwgaGVpZ2h0OiAiMTAwcHgifSk7Cit0ZXN0RmlsdGVy
QXRSdWxlKCJFbXB0eSBydWxlLCBjb21tZW50IHNlcGFyYXRvcnMiLAorICAgICJALXdlYmtpdC1m
aWx0ZXIvKiovbXktZmlsdGVyLyoqL3sgfSIsCisgICAgIkAtd2Via2l0LWZpbHRlciBteS1maWx0
ZXIgeyB9Iik7Cit0ZXN0RmlsdGVyQXRSdWxlKCJFbXB0eSBydWxlLCBjb21tZW50K3NwYWNlIHNl
cGFyYXRvcnMiLAorICAgICJALXdlYmtpdC1maWx0ZXIvKiovIG15LWZpbHRlci8qKi8geyB9IiwK
KyAgICAiQC13ZWJraXQtZmlsdGVyIG15LWZpbHRlciB7IH0iKTsKK3Rlc3RGaWx0ZXJBdFJ1bGUo
IkVtcHR5IHJ1bGUsIHNwYWNlK2NvbW1lbnQgc2VwYXJhdG9ycyIsCisgICAgIkAtd2Via2l0LWZp
bHRlciAvKiovbXktZmlsdGVyIC8qKi97IH0iLAorICAgICJALXdlYmtpdC1maWx0ZXIgbXktZmls
dGVyIHsgfSIpOwordGVzdEZpbHRlckF0UnVsZSgiRW1wdHkgcnVsZSwgc3BhY2UrY29tbWVudCtz
cGFjZSBzZXBhcmF0b3JzIiwKKyAgICAiQC13ZWJraXQtZmlsdGVyIC8qKi8gbXktZmlsdGVyIC8q
Ki8geyB9IiwKKyAgICAiQC13ZWJraXQtZmlsdGVyIG15LWZpbHRlciB7IH0iKTsKIAogaGVhZGlu
ZygiTmVzdGVkIGZpbHRlciBhdC1ydWxlIHRlc3RzLiIpOwogdGVzdE5lc3RlZFJ1bGVzKCJOZXN0
ZWQgcnVsZS4iLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy1jb21tZW50
cy1hbGxvd2VkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjLWNvbW1l
bnRzLWFsbG93ZWQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi41MDk0NmZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2Fs
Yy1jb21tZW50cy1hbGxvd2VkLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxwPllvdSBzaG91bGQgc2VlIGEgZ3JlZW4gcmVjdGFuZ2xlIGJlbG93PC9wPgor
PGRpdiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjI1MHB4O2JhY2tncm91bmQtY29sb3I6Z3Jl
ZW4iPjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy1jb21tZW50
cy1hbGxvd2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjLWNvbW1lbnRzLWFsbG93
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDVjODc4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy1jb21tZW50cy1hbGxvd2Vk
Lmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
ICAgIDx0aXRsZT5Db21tZW50cyBpbnNpZGUgY2FsYygpIGFsbG93ZWQgLSBodHRwOi8vd2tiLnVn
LzEyMzA4MjwvdGl0bGU+CisgICAgPHN0eWxlPgorICAgICAgICBkaXYgeyBoZWlnaHQ6IDUwcHg7
IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyBmb250LXNpemU6IDUwcHg7IH0KKyAgICAgICAgI3Qx
IHsgd2lkdGg6IGNhbGMoNTBweCArIDFlbSkgfQorICAgICAgICAjdDIgeyB3aWR0aDogY2FsYyg1
MHB4ICsgLyogQ29tbWVudCBhbGxvd2VkICovIDFlbSkgfQorICAgICAgICAjdDMgeyB3aWR0aDog
Y2FsYygxNTBweCAtIC8qIENvbW1lbnQgYWxsb3dlZCAqLyAxZW0pIH0KKyAgICAgICAgI3Q0IHsg
d2lkdGg6IGNhbGMoNTBweCAqIC8qIENvbW1lbnQgYWxsb3dlZCAqLyAyKSB9CisgICAgICAgICN0
NSB7IHdpZHRoOiBjYWxjKDIwMHB4IC8gLyogQ29tbWVudCBhbGxvd2VkICovIDIpIH0KKyAgICA8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+WW91IHNob3VsZCBzZWUgYSBncmVlbiBy
ZWN0YW5nbGUgYmVsb3c8L3A+CisgICAgPGRpdiBpZD0idDEiPjwvZGl2PgorICAgIDxkaXYgaWQ9
InQyIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0MyI+PC9kaXY+CisgICAgPGRpdiBpZD0idDQiPjwv
ZGl2PgorICAgIDxkaXYgaWQ9InQ1Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRheC1zcGFjZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Via2l0LXJlZ2lvbi1zeW50
YXgtc3BhY2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjI4MDY4ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvd2Vi
a2l0LXJlZ2lvbi1zeW50YXgtc3BhY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCitQ
QVNTIENvbW1lbnQgYmV0d2VlbiBALXN5bWJvbCBhbmQgZmxvdyBuYW1lIAorUEFTUyBDb21tZW50
ICsgc3BhY2UgYmV0d2VlbiBALXN5bWJvbCBhbmQgZmxvdyBuYW1lIAorUEFTUyBTcGFjZSArIGNv
bW1lbnQgYmV0d2VlbiBALXN5bWJvbCBhbmQgZmxvdyBuYW1lIAorUEFTUyBTcGFjZSArIGNvbW1l
bnQgKyBzcGFjZSBiZXR3ZWVuIEAtc3ltYm9sIGFuZCBmbG93IG5hbWUgCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRheC1zcGFjZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3dlYmtpdC1yZWdpb24tc3ludGF4LXNwYWNlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNkYmYxNgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRheC1z
cGFjZS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKyAgICA8dGl0bGU+U3BhY2VzIGluIEAtd2Via2l0LXJlZ2lvbiBwcmVsdWRlIC0gaHR0cDov
L3drYi51Zy8xMjMwODI8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICAgIDxzdHlsZT5ALXdlYmtpdC1y
ZWdpb24vKiovI2Zsb3cgeyAjaWQge30gfTwvc3R5bGU+CisgICAgPHN0eWxlPkAtd2Via2l0LXJl
Z2lvbi8qKi8gI2Zsb3cgeyAjaWQge30gfTwvc3R5bGU+CisgICAgPHN0eWxlPkAtd2Via2l0LXJl
Z2lvbiAvKiovI2Zsb3cgeyAjaWQge30gfTwvc3R5bGU+CisgICAgPHN0eWxlPkAtd2Via2l0LXJl
Z2lvbiAvKiovICNmbG93IHsgI2lkIHt9IH08L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAg
PGRpdiBpZD0ibG9nIj48L2Rpdj4KKyAgICA8c2NyaXB0PgorICAgICAgICB0ZXN0KGZ1bmN0aW9u
KCl7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LnN0eWxlU2hlZXRzWzBdLmNz
c1J1bGVzLmxlbmd0aCwgMSwgIlJ1bGUgdmFsaWQgYW5kIGluIENTU09NLiIpOworICAgICAgICB9
LCAiQ29tbWVudCBiZXR3ZWVuIEAtc3ltYm9sIGFuZCBmbG93IG5hbWUiKTsKKworICAgICAgICB0
ZXN0KGZ1bmN0aW9uKCl7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LnN0eWxl
U2hlZXRzWzFdLmNzc1J1bGVzLmxlbmd0aCwgMSwgIlJ1bGUgdmFsaWQgYW5kIGluIENTU09NLiIp
OworICAgICAgICB9LCAiQ29tbWVudCArIHNwYWNlIGJldHdlZW4gQC1zeW1ib2wgYW5kIGZsb3cg
bmFtZSIpOworCisgICAgICAgIHRlc3QoZnVuY3Rpb24oKXsKKyAgICAgICAgICAgIGFzc2VydF9l
cXVhbHMoZG9jdW1lbnQuc3R5bGVTaGVldHNbMl0uY3NzUnVsZXMubGVuZ3RoLCAxLCAiUnVsZSB2
YWxpZCBhbmQgaW4gQ1NTT00uIik7CisgICAgICAgIH0sICJTcGFjZSArIGNvbW1lbnQgYmV0d2Vl
biBALXN5bWJvbCBhbmQgZmxvdyBuYW1lIik7CisKKyAgICAgICAgdGVzdChmdW5jdGlvbigpewor
ICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVudC5zdHlsZVNoZWV0c1szXS5jc3NSdWxl
cy5sZW5ndGgsIDEsICJSdWxlIHZhbGlkIGFuZCBpbiBDU1NPTS4iKTsKKyAgICAgICAgfSwgIlNw
YWNlICsgY29tbWVudCArIHNwYWNlIGJldHdlZW4gQC1zeW1ib2wgYW5kIGZsb3cgbmFtZSIpOwor
ICAgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDk4OTZkZmYuLjQ2
NzA3YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMy0xMC0yMCAgTWloYWkgTWFl
cmVhbiAgPG1tYWVyZWFuQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNdIEZpeCBX
SElURVNQQUNFIGlzc3VlcyBpbiB0aGUgQ1NTIGdyYW1tYXIuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjMwODIKKworICAgICAgICBSZXZpZXdlZCBi
eSBBbmRyZWFzIEtsaW5nLgorCisgICAgICAgIFRoaXMgaXMgYSBwb3J0IG9mIFJ1bmUgTGlsbGVz
dmVlbidzIHBhdGNoIGZyb20gaHR0cHM6Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9yZy8yNTYwNzAw
NQorCisgICAgICAgIEZpeCBXSElURVNQQUNFIGlzc3VlcyBpbiB0aGUgQ1NTIGdyYW1tYXIuCisK
KyAgICAgICAgQSBzaW5nbGUgV0hJVEVTUEFDRSB0b2tlbiBjb25zdW1lcyBjb25zZWN1dGl2ZSBz
cGFjZXMsIGJ1dCBkb2VzIG5vdCBjb25zdW1lCisgICAgICAgIHNwYWNlcyBzZXBhcmF0ZWQgYnkg
Y29tbWVudHMuIFRoYXQgbWVhbnMgUyogYW5kIFMrIGluIENTUyBncmFtbWFycyBuZWVkIHRvCisg
ICAgICAgIGFjY2VwdCBtdWx0aXBsZSBXSElURVNQQUNFIHRva2Vucy4gQWRkaXRpb25hbGx5LCB3
aGl0ZSBzcGFjZXMgYXJlIG5vdAorICAgICAgICBtYW5kYXRvcnkgdG8gc2VwYXJhdGUgYW4gQC1z
eW1ib2wgYW5kIHRoZSByZXN0IG9mIHRoZSBwcmVsdWRlLgorCisgICAgICAgIFVzZSBzcGFjZSBu
b24tdGVybWluYWwgaW5zdGVhZCBvZiBXSElURVNQQUNFIGZvciBTKyBpbiBjYWxjIGV4cHJlc3Np
b25zLgorCisgICAgICAgIFVzZSBtYXliZV9zcGFjZSBub24tdGVybWluYWwgaW5zdGVhZCBvZiBX
SElURVNQQUNFIGZvciBTKiBhZnRlciBALXdlYmtpdC1maWx0ZXIKKyAgICAgICAgYW5kIEAtd2Vi
a2l0LXJlZ2lvbi4KKworICAgICAgICBUZXN0czogZmFzdC9jc3MvY2FsYy1jb21tZW50cy1hbGxv
d2VkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVnaW9ucy93ZWJraXQtcmVnaW9uLXN5bnRh
eC1zcGFjZS5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTR3JhbW1hci55LmluOgorCiAyMDEzLTEw
LTIxICBTYW50b3NoIE1haHRvICA8c2FudG9zaC5tYUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBB
U1NFUlRJT04gRkFJTEVEOiAhc3R5bGUtPnByb3BlcnR5SXNJbXBvcnRhbnQocHJvcGVydHlJRCkg
aW4gV2ViQ29yZTo6c2V0VGV4dERlY29yYXRpb25Qcm9wZXJ0eQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFt
bWFyLnkuaW4KaW5kZXggZDY5M2IyYi4uNmRhNWQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0dyYW1tYXIueS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1h
ci55LmluCkBAIC0zNjksNiArMzY5LDkgQEAgd2Via2l0X3N1cHBvcnRzX2NvbmRpdGlvbjogV0VC
S0lUX1NVUFBPUlRTX0NPTkRJVElPTl9TWU0gJ3snIG1heWJlX3NwYWNlIHN1cHBvcnQKIAogI2Vu
ZGlmCiAKKy8qIGZvciBleHByZXNzaW9ucyB0aGF0IHJlcXVpcmUgYXQgbGVhc3Qgb25lIHdoaXRl
c3BhY2UgdG8gYmUgcHJlc2VudCwgbGlrZSB0aGUgKyBhbmQgLSBvcGVyYXRvcnMgaW4gY2FsYyBl
eHByZXNzaW9ucyAqLworc3BhY2U6IFdISVRFU1BBQ0UgfCBzcGFjZSBXSElURVNQQUNFIDsKKwog
bWF5YmVfc3BhY2U6IC8qIGVtcHR5ICovICVwcmVjIFVOSU1QT1JUQU5UX1RPSyB8IG1heWJlX3Nw
YWNlIFdISVRFU1BBQ0UgOwogCiBtYXliZV9zZ21sOiAvKiBlbXB0eSAqLyB8IG1heWJlX3NnbWwg
U0dNTF9DRCB8IG1heWJlX3NnbWwgV0hJVEVTUEFDRSA7CkBAIC05NTQsNyArOTU3LDcgQEAgYmVm
b3JlX3JlZ2lvbl9ydWxlOgogICAgIDsKIAogcmVnaW9uOgotICAgIGJlZm9yZV9yZWdpb25fcnVs
ZSBXRUJLSVRfUkVHSU9OX1JVTEVfU1lNIFdISVRFU1BBQ0Ugc2VsZWN0b3JfbGlzdCBhdF9ydWxl
X2hlYWRlcl9lbmQgJ3snIGF0X3J1bGVfYm9keV9zdGFydCBtYXliZV9zcGFjZSBibG9ja192YWxp
ZF9ydWxlX2xpc3Qgc2F2ZV9ibG9jayB7CisgICAgYmVmb3JlX3JlZ2lvbl9ydWxlIFdFQktJVF9S
RUdJT05fUlVMRV9TWU0gbWF5YmVfc3BhY2Ugc2VsZWN0b3JfbGlzdCBhdF9ydWxlX2hlYWRlcl9l
bmQgJ3snIGF0X3J1bGVfYm9keV9zdGFydCBtYXliZV9zcGFjZSBibG9ja192YWxpZF9ydWxlX2xp
c3Qgc2F2ZV9ibG9jayB7CiAgICAgICAgIE93blB0cjxWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJh
c2U+Pj4gcnVsZUxpc3QgPSBhZG9wdFB0cigkOSk7CiAgICAgICAgIGlmICgkNCkKICAgICAgICAg
ICAgICQkID0gcGFyc2VyLT5jcmVhdGVSZWdpb25SdWxlKGFkb3B0UHRyKCQ0KS5nZXQoKSwgcnVs
ZUxpc3QuZ2V0KCkpLmxlYWtSZWYoKTsKQEAgLTk3NSw3ICs5NzgsNyBAQCBiZWZvcmVfZmlsdGVy
X3J1bGU6CiAgICAgOwogCiBmaWx0ZXI6Ci0gICAgYmVmb3JlX2ZpbHRlcl9ydWxlIFdFQktJVF9G
SUxURVJfUlVMRV9TWU0gV0hJVEVTUEFDRSBJREVOVCBhdF9ydWxlX2hlYWRlcl9lbmRfbWF5YmVf
c3BhY2UgJ3snIGF0X3J1bGVfYm9keV9zdGFydCBtYXliZV9zcGFjZV9iZWZvcmVfZGVjbGFyYXRp
b24gZGVjbGFyYXRpb25fbGlzdCBjbG9zaW5nX2JyYWNlIHsKKyAgICBiZWZvcmVfZmlsdGVyX3J1
bGUgV0VCS0lUX0ZJTFRFUl9SVUxFX1NZTSBtYXliZV9zcGFjZSBJREVOVCBhdF9ydWxlX2hlYWRl
cl9lbmRfbWF5YmVfc3BhY2UgJ3snIGF0X3J1bGVfYm9keV9zdGFydCBtYXliZV9zcGFjZV9iZWZv
cmVfZGVjbGFyYXRpb24gZGVjbGFyYXRpb25fbGlzdCBjbG9zaW5nX2JyYWNlIHsKICAgICAgICAg
cGFyc2VyLT5tX2luRmlsdGVyUnVsZSA9IGZhbHNlOwogICAgICAgICAkJCA9IHBhcnNlci0+Y3Jl
YXRlRmlsdGVyUnVsZSgkNCkubGVha1JlZigpOwogICAgIH0KQEAgLTE1ODMsMTEgKzE1ODYsMTYg
QEAgY2FsY19mdW5jX3Rlcm06CiAgIHwgdW5hcnlfb3BlcmF0b3IgdW5hcnlfdGVybSB7ICQkID0g
JDI7ICQkLmZWYWx1ZSAqPSAkMTsgfQogICA7CiAKKy8qCisgKiBUaGUgZ3JhbW1hciByZXF1aXJl
cyBzcGFjZXMgYXJvdW5kIGJpbmFyeSDigJgr4oCZIGFuZCDigJgt4oCZIG9wZXJhdG9ycy4KKyAq
IFRoZSAnKicgYW5kICcvJyBvcGVyYXRvcnMgZG8gbm90IHJlcXVpcmUgc3BhY2VzLgorICogaHR0
cDovL3d3dy53My5vcmcvVFIvY3NzMy12YWx1ZXMvI2NhbGMtc3ludGF4CisgKi8KIGNhbGNfZnVu
Y19vcGVyYXRvcjoKLSAgICBXSElURVNQQUNFICcrJyBXSElURVNQQUNFIHsKKyAgICBzcGFjZSAn
Kycgc3BhY2UgewogICAgICAgICAkJCA9ICcrJzsKICAgICB9Ci0gICAgfCBXSElURVNQQUNFICct
JyBXSElURVNQQUNFIHsKKyAgICB8IHNwYWNlICctJyBzcGFjZSB7CiAgICAgICAgICQkID0gJy0n
OwogICAgIH0KICAgICB8IGNhbGNfbWF5YmVfc3BhY2UgJyonIG1heWJlX3NwYWNlIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>