<?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>40886</bug_id>
          
          <creation_ts>2010-06-20 10:08:40 -0700</creation_ts>
          <short_desc>Web Inspector: Backend Should Provide Full Supported CSS Properties List</short_desc>
          <delta_ts>2010-08-24 15:35:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>me</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>240457</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-06-20 10:08:40 -0700</bug_when>
    <thetext>Would be useful to have a full list calculated in the backend, so
that the frontend doesn&apos;t calculate it every page load. Places
that would be affected (for the better) are:

  - console autocompletion (injected side)
  InjectedScript._hiddenStyleProperties
  bug 38448

  - styles autocompletion (sidebar)
  WebInspector.CSSCompletions (bug 
  bug 17374

  - css tokenizer (highlighting)
  WebInspector.SourceCSSTokenizer._propertyKeywords
  http://trac.webkit.org/browser/trunk/WebCore/inspector/front-end/SourceCSSTokenizer.re2js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240583</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-06-20 21:58:33 -0700</bug_when>
    <thetext>This is what I see so far:

  window.getComputedStyle (no shorthands)
    - provides a list without shorthands, but with non-typical CSS properties
       such as SVG and dashboard styles. This is in effect using properties from
       any .in file with &quot;CSSProperty&quot; in the name, but it then strips shorthand
       properties.

  CSSTokenizer&apos;s list (shorthands, but missing some)
    - this is using everything from CSSProperty.in but not SVG, etc.

So, a total list of all styles, including shorthands, can come from:

    shell&gt; find . -name &apos;*CSSProperty*.in&apos;
    ./css/CSSPropertyNames.in
    ./css/DashboardSupportCSSPropertyNames.in
    ./css/SVGCSSPropertyNames.in
    ./css/WCSSPropertyNames.in

There is already a global list generated with all of the above, it
is generated via css/makeprop.pl. The derived files are:

  .../DerivedSources/WebCore/CSSPropertyNames.cpp
  .../DerivedSources/WebCore/CSSPropertyNames.gperf
  .../DerivedSources/WebCore/CSSPropertyNames.h
  .../DerivedSources/WebCore/CSSPropertyNames.in

Inside .cpp we have this nice, global, list of all the CSS properties
that getComputedStyle provides, including shorthands!

Was it that easy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240612</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-06-21 00:07:02 -0700</bug_when>
    <thetext>I got this working, but making asynchronous calls to the backend to get the
supported list of CSS properties probably isn&apos;t what we want (although I
could get it to work). I&apos;ll continue in this direction for a bit.

I think it would be nice to just run a script and generate a JavaScript file
for us. So I think later I will try this approach. The problem here is it
won&apos;t help with the Injected side, but the need for it on the injected
side (for now) can be fixed in a different way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240643</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-06-21 03:10:44 -0700</bug_when>
    <thetext>&gt; I think it would be nice to just run a script and generate a JavaScript file
&gt; for us. So I think later I will try this approach. The problem here is it
&gt; won&apos;t help with the Injected side, but the need for it on the injected
&gt; side (for now) can be fixed in a different way.

Just expose it in the CSSPropertyNames.h and pass data to injected script via the InjectedScriptHost interface (should probably be a lazy getter). Then you can get the data on the inspected page side and everybody is happy!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245502</commentid>
    <comment_count>4</comment_count>
      <attachid>60276</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-07-01 12:55:18 -0700</bug_when>
    <thetext>Created attachment 60276
[PATCH] InspectorFrontendHost Provides the List

This is no longer needed for the injected script side. This is only currently
needed for the frontend side.

@Pavel. I used ScriptArray and InspectorArray because this was a local call.
Do you agree with that, or should I have gone async?

Tests looked good, but I&apos;m rebasing and testing now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245503</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-01 12:57:14 -0700</bug_when>
    <thetext>Attachment 60276 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/inspector/InspectorFrontendHost.cpp:39:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245608</commentid>
    <comment_count>6</comment_count>
      <attachid>60304</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-07-01 15:41:13 -0700</bug_when>
    <thetext>Created attachment 60304
[PATCH] Addressed Style Issue and Rebased

Tests passed just fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245809</commentid>
    <comment_count>7</comment_count>
      <attachid>60304</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-07-02 01:06:15 -0700</bug_when>
    <thetext>Comment on attachment 60304
[PATCH] Addressed Style Issue and Rebased

WebCore/inspector/InspectorFrontendHost.cpp:35
 +  #include &quot;CSSPropertyNames.h&quot;
This should not be defined in a front-end host. Imagine the remote debugging scenario. Frontend host is a simple stub there. What you really need is to fetch the actual list of properties from the inspected side.

WebCore/inspector/InspectorFrontendHost.cpp:206
 +  ScriptArray InspectorFrontendHost::supportedCSSProperties()
ScriptArray will soon go away. But you can still use it in InspectorController - we will migrate everything alltogether. However, using debuggerWorld her is a hack - if you implement it properly on the inspected page side, you will not have such a problem - there is a factory for ScriptArrays.

WebCore/inspector/front-end/CSSCompletions.js:3
 +  WebInspector.CSSCompletions.startsWith = function(prefix)
Nit: When did we get this file... I think we should merge it with CSSStyleModel!

WebCore/inspector/front-end/SourceCSSTokenizer.js: 
 +      this._propertyKeywords = [
Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267161</commentid>
    <comment_count>8</comment_count>
      <attachid>64933</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-08-20 00:47:41 -0700</bug_when>
    <thetext>Created attachment 64933
[PATCH] List Generated on Backend

&gt; This should not be defined in a front-end host. [...] What you really
&gt; need is to fetch the actual list of properties from the inspected side.
&gt; 
&gt; ScriptArray will soon go away. [...]

Done by rebasing.

&gt; WebCore/inspector/front-end/CSSCompletions.js:3
&gt;  +  WebInspector.CSSCompletions.startsWith = function(prefix)
&gt; Nit: When did we get this file... I think we should merge it with CSSStyleModel!

Hmm, I didn&apos;t address this yet. I think CSSCompletions, being
a special array is a bad idea (it required me to individually
copy over elements). I think this &quot;special array&quot; concept should
be removed, and it can be merged into CSSStyleModel as a
separate patch.

-----

Maybe, instead of &quot;fetching it&quot; from the Frontend, it should just be an automatic
[notify] from the backend once the frontend is connected? Let me know what
you think about that idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268318</commentid>
    <comment_count>9</comment_count>
      <attachid>64933</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-23 23:00:41 -0700</bug_when>
    <thetext>Comment on attachment 64933
[PATCH] List Generated on Backend

Nice patch! Saves footprint too!

WebCore/inspector/front-end/inspector.js:561
 +      // As a DOMAgent method, this needs to happen after the frontend has loaded and the agent is available.
Nit: You did not make it a domAgent method, but are stating so in the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268342</commentid>
    <comment_count>10</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-08-23 23:43:14 -0700</bug_when>
    <thetext>&gt; WebCore/inspector/front-end/inspector.js:561
&gt;  +      // As a DOMAgent method, this needs to happen after the frontend has loaded and the agent is available.
&gt; Nit: You did not make it a domAgent method, but are stating so in the comment.

Hmm, I&quot;ll take a look at putting this on the front end&apos;s DOM Agent, or maybe some other more appropriate place. It is just the backend&apos;s Dom agent that needs to be created, which isn&apos;t done until that frontend host loaded call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268858</commentid>
    <comment_count>11</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-08-24 15:35:37 -0700</bug_when>
    <thetext>Committed r65942
	M	WebCore/ChangeLog
	M	WebCore/inspector/InspectorDOMAgent.h
	M	WebCore/inspector/Inspector.idl
	M	WebCore/inspector/front-end/SourceCSSTokenizer.js
	M	WebCore/inspector/front-end/CSSCompletions.js
	M	WebCore/inspector/front-end/SourceCSSTokenizer.re2js
	M	WebCore/inspector/front-end/inspector.js
	M	WebCore/inspector/InspectorDOMAgent.cpp
	M	WebCore/css/makeprop.pl
r65942 = 6e1dd170c5b9f7416d6f63d11db82e09fd707f6d
http://trac.webkit.org/changeset/65942</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60276</attachid>
            <date>2010-07-01 12:55:18 -0700</date>
            <delta_ts>2010-07-01 15:41:13 -0700</delta_ts>
            <desc>[PATCH] InspectorFrontendHost Provides the List</desc>
            <filename>css-prop-list.patch</filename>
            <type>text/plain</type>
            <size>17660</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTViMWNkZS4uYjVkZmNkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wNy0wMSAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVja0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEJhY2tlbmQgU2hvdWxkIFByb3ZpZGUg
RnVsbCBTdXBwb3J0ZWQgQ1NTIFByb3BlcnRpZXMgTGlzdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4ODYKKworICAgICAgICBDb3ZlcmVkIGJ5IGV4
aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogY3NzL21ha2Vwcm9wLnBsOiBtb3ZlZCBDU1MgcHJv
cGVydGllcyB0byB0aGUgaGVhZGVyIGZpbGUuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhv
c3Q6OnN1cHBvcnRlZENTU1Byb3BlcnRpZXMpOiBhY2Nlc3NvciBmcm9tIHRoZSBmcm9udGVuZC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmg6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGw6IGV4cG9zZSB0aGUgYWNjZXNzb3Iu
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NDb21wbGV0aW9ucy5qczogdXNlIHRo
ZSBsaXN0IG9mIHN1cHBvcnQgcHJvcGVydGllcyBmcm9tIHRoZSBiYWNrZW5kLgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLmpzOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzOiAgdXNlIHRoZSBsaXN0
IG9mIHN1cHBvcnQgcHJvcGVydGllcyBmcm9tIHRoZSBiYWNrZW5kLgorCiAyMDEwLTA2LTIwICBB
bmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgRGFuIEJlcm5zdGVpbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsIGIv
V2ViQ29yZS9jc3MvbWFrZXByb3AucGwKaW5kZXggMGZkMWYwOC4uODgxMGU4ZCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKKysrIGIvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwK
QEAgLTk1LDYgKzk1LDEyIEBAIHByaW50IEhFQURFUiAiY29uc3QgaW50IGZpcnN0Q1NTUHJvcGVy
dHkgPSAkZmlyc3Q7XG4iOwogcHJpbnQgSEVBREVSICJjb25zdCBpbnQgbnVtQ1NTUHJvcGVydGll
cyA9ICRudW07XG4iOwogcHJpbnQgSEVBREVSICJjb25zdCBzaXplX3QgbWF4Q1NTUHJvcGVydHlO
YW1lTGVuZ3RoID0gJG1heExlbjtcbiI7CiAKK3ByaW50IEhFQURFUiAiY29uc3QgY2hhciogY29u
c3QgcHJvcGVydHlOYW1lU3RyaW5nc1skbnVtXSA9IHtcbiI7Citmb3JlYWNoIG15ICRuYW1lIChA
bmFtZXMpIHsKKyAgcHJpbnQgSEVBREVSICJcIiRuYW1lXCIsXG4iOworfQorcHJpbnQgSEVBREVS
ICJ9O1xuIjsKKwogcHJpbnQgSEVBREVSIDw8ICJFT0YiOwogCiBjb25zdCBjaGFyKiBnZXRQcm9w
ZXJ0eU5hbWUoQ1NTUHJvcGVydHlJRCk7CkBAIC0xMDgsMTQgKzExNCw4IEBAIGNsb3NlIEhFQURF
UjsKIHN5c3RlbSgiZ3BlcmYgLS1rZXktcG9zaXRpb25zPVwiKlwiIC1EIC1uIC1zIDIgQ1NTUHJv
cGVydHlOYW1lcy5ncGVyZiA+IENTU1Byb3BlcnR5TmFtZXMuY3BwIikgPT0gMCB8fCBkaWUgImNh
bGxpbmcgZ3BlcmYgZmFpbGVkOiAkPyI7CiAKIG9wZW4gQywgIj4+Q1NTUHJvcGVydHlOYW1lcy5j
cHAiIHx8IGRpZSAiQ291bGQgbm90IG9wZW4gQ1NTUHJvcGVydHlOYW1lcy5jcHAgZm9yIHdyaXRp
bmciOwotcHJpbnQgQyAic3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBwcm9wZXJ0eU5hbWVTdHJp
bmdzWyRudW1dID0ge1xuIjsKLQotZm9yZWFjaCBteSAkbmFtZSAoQG5hbWVzKSB7Ci0gIHByaW50
IEMgIlwiJG5hbWVcIixcbiI7Ci19Ci0KIHByaW50IEMgPDwgIkVPRiI7Ci19OworCiBjb25zdCBj
aGFyKiBnZXRQcm9wZXJ0eU5hbWUoQ1NTUHJvcGVydHlJRCBpZCkKIHsKICAgICBpZiAoaWQgPCBm
aXJzdENTU1Byb3BlcnR5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9z
dC5jcHAKaW5kZXggNzBmYzNhZC4uNWEwOWI4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiQ29udGV4
dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDb250cm9sbGVyLmgiCiAjaW5jbHVk
ZSAiQ29udGV4dE1lbnVQcm92aWRlci5oIgorI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIK
ICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFt
ZUxvYWRlci5oIgpAQCAtMjAyLDYgKzIwMywxNyBAQCBTdHJpbmcgSW5zcGVjdG9yRnJvbnRlbmRI
b3N0OjpoaWRkZW5QYW5lbHMoKQogICAgIHJldHVybiBtX2NsaWVudC0+aGlkZGVuUGFuZWxzKCk7
CiB9CiAKK1NjcmlwdEFycmF5IEluc3BlY3RvckZyb250ZW5kSG9zdDo6c3VwcG9ydGVkQ1NTUHJv
cGVydGllcygpCit7CisgICAgQVNTRVJUKG1fZnJvbnRlbmRQYWdlKTsKKyAgICBTY3JpcHRTdGF0
ZSogZnJvbnRlbmRTY3JpcHRTdGF0ZSA9IHNjcmlwdFN0YXRlRnJvbVBhZ2UoZGVidWdnZXJXb3Js
ZCgpLCBtX2Zyb250ZW5kUGFnZSk7CisgICAgU2NyaXB0QXJyYXkgcHJvcGVydGllcyA9IFNjcmlw
dEFycmF5OjpjcmVhdGVOZXcoZnJvbnRlbmRTY3JpcHRTdGF0ZSk7CisgICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBudW1DU1NQcm9wZXJ0aWVzOyArK2kpCisgICAgICAgIHByb3BlcnRpZXMuc2V0KGks
IFN0cmluZyhwcm9wZXJ0eU5hbWVTdHJpbmdzW2ldKSk7CisKKyAgICByZXR1cm4gcHJvcGVydGll
czsKK30KKwogdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmNvcHlUZXh0KGNvbnN0IFN0cmlu
ZyYgdGV4dCkKIHsKICAgICBQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZCgpLT53cml0ZVBs
YWluVGV4dCh0ZXh0KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kSG9zdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgK
aW5kZXggNGQzZTBkMS4uNTMzM2FhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmgKQEAgLTcwLDYgKzcwLDcgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGxvY2Fs
aXplZFN0cmluZ3NVUkwoKTsKICAgICBTdHJpbmcgaGlkZGVuUGFuZWxzKCk7CisgICAgU2NyaXB0
QXJyYXkgc3VwcG9ydGVkQ1NTUHJvcGVydGllcygpOwogCiAgICAgdm9pZCBjb3B5VGV4dChjb25z
dCBTdHJpbmcmIHRleHQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuaWRsIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRI
b3N0LmlkbAppbmRleCAxMTM5YTFjLi4yYzBlNTBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5pZGwKQEAgLTQ0LDYgKzQ0LDcgQEAgbW9kdWxlIGNvcmUgewog
CiAgICAgICAgIERPTVN0cmluZyBsb2NhbGl6ZWRTdHJpbmdzVVJMKCk7CiAgICAgICAgIERPTVN0
cmluZyBoaWRkZW5QYW5lbHMoKTsKKyAgICAgICAgRE9NT2JqZWN0IHN1cHBvcnRlZENTU1Byb3Bl
cnRpZXMoKTsKIAogICAgICAgICB2b2lkIGNvcHlUZXh0KGluIERPTVN0cmluZyB0ZXh0KTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRpb25zLmpz
IGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRpb25zLmpzCmluZGV4IDU0
ODU0NjQuLjk1YWI3M2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9D
U1NDb21wbGV0aW9ucy5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTQ29t
cGxldGlvbnMuanMKQEAgLTEsMjcgKzEsNCBAQAotV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25z
ID0gKGZ1bmN0aW9uKCkgewotICAgIHZhciB1c2VkID0ge307Ci0gICAgdmFyIHByb3BlcnRpZXMg
PSBbXTsKLSAgICB2YXIgc3R5bGUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGU7Ci0g
ICAgdmFyIGxpc3QgPSBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudCwgIiIpOwotICAgIHZhciBsZW5ndGggPSBsaXN0Lmxlbmd0aDsK
LSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQotICAgICAgICB1c2VkW3Byb3Bl
cnRpZXNbaV0gPSBsaXN0W2ldXSA9IHRydWU7Ci0KLSAgICBmb3IgKHZhciBpID0gMCwgZW5kID0g
bGVuZ3RoOyBpIDwgbGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIHByb3BlcnR5V29yZHMgPSBw
cm9wZXJ0aWVzW2ldLnNwbGl0KCItIik7Ci0gICAgICAgIHZhciBqID0gcHJvcGVydHlXb3Jkcy5s
ZW5ndGg7Ci0gICAgICAgIHdoaWxlICgtLWopIHsKLSAgICAgICAgICAgIHByb3BlcnR5V29yZHMu
cG9wKCk7Ci0gICAgICAgICAgICB2YXIgc2hvcnRoYW5kID0gcHJvcGVydHlXb3Jkcy5qb2luKCIt
Iik7Ci0gICAgICAgICAgICBpZiAoIShzaG9ydGhhbmQgaW4gdXNlZCkgJiYgc3R5bGVbc2hvcnRo
YW5kXSAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgICAgICAgICAgdXNlZFtzaG9ydGhhbmRdID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzW2VuZCsrXSA9IHNob3J0aGFuZDsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIHJldHVybiBwcm9wZXJ0aWVzLnNv
cnQoKTsKLX0pKCk7CitXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMgPSBJbnNwZWN0b3JGcm9u
dGVuZEhvc3Quc3VwcG9ydGVkQ1NTUHJvcGVydGllcygpLnNvcnQoKTsKIAogV2ViSW5zcGVjdG9y
LkNTU0NvbXBsZXRpb25zLnN0YXJ0c1dpdGggPSBmdW5jdGlvbihwcmVmaXgpCiB7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLmpzIGIv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXplci5qcwppbmRleCBm
N2Q3ZDUxLi5lZmZjZWMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
U291cmNlQ1NTVG9rZW5pemVyLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
b3VyY2VDU1NUb2tlbml6ZXIuanMKQEAgLTQ1LDU3ICs0NSw3IEBAIFdlYkluc3BlY3Rvci5Tb3Vy
Y2VDU1NUb2tlbml6ZXIgPSBmdW5jdGlvbigpCiB7CiAgICAgV2ViSW5zcGVjdG9yLlNvdXJjZVRv
a2VuaXplci5jYWxsKHRoaXMpOwogCi0gICAgdGhpcy5fcHJvcGVydHlLZXl3b3JkcyA9IFsKLSAg
ICAgICAgImJhY2tncm91bmQiLCAiYmFja2dyb3VuZC1hdHRhY2htZW50IiwgImJhY2tncm91bmQt
Y2xpcCIsICJiYWNrZ3JvdW5kLWNvbG9yIiwgImJhY2tncm91bmQtaW1hZ2UiLAotICAgICAgICAi
YmFja2dyb3VuZC1vcmlnaW4iLCAiYmFja2dyb3VuZC1wb3NpdGlvbiIsICJiYWNrZ3JvdW5kLXBv
c2l0aW9uLXgiLCAiYmFja2dyb3VuZC1wb3NpdGlvbi15IiwKLSAgICAgICAgImJhY2tncm91bmQt
cmVwZWF0IiwgImJhY2tncm91bmQtcmVwZWF0LXgiLCAiYmFja2dyb3VuZC1yZXBlYXQteSIsICJi
YWNrZ3JvdW5kLXNpemUiLCAiYm9yZGVyIiwKLSAgICAgICAgImJvcmRlci1ib3R0b20iLCAiYm9y
ZGVyLWJvdHRvbS1jb2xvciIsICJib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIiwgImJvcmRlci1i
b3R0b20tcmlnaHQtcmFkaXVzIiwKLSAgICAgICAgImJvcmRlci1ib3R0b20tc3R5bGUiLCAiYm9y
ZGVyLWJvdHRvbS13aWR0aCIsICJib3JkZXItY29sbGFwc2UiLCAiYm9yZGVyLWNvbG9yIiwgImJv
cmRlci1sZWZ0IiwKLSAgICAgICAgImJvcmRlci1sZWZ0LWNvbG9yIiwgImJvcmRlci1sZWZ0LXN0
eWxlIiwgImJvcmRlci1sZWZ0LXdpZHRoIiwgImJvcmRlci1yYWRpdXMiLCAiYm9yZGVyLXJpZ2h0
IiwKLSAgICAgICAgImJvcmRlci1yaWdodC1jb2xvciIsICJib3JkZXItcmlnaHQtc3R5bGUiLCAi
Ym9yZGVyLXJpZ2h0LXdpZHRoIiwgImJvcmRlci1zcGFjaW5nIiwgImJvcmRlci1zdHlsZSIsCi0g
ICAgICAgICJib3JkZXItdG9wIiwgImJvcmRlci10b3AtY29sb3IiLCAiYm9yZGVyLXRvcC1sZWZ0
LXJhZGl1cyIsICJib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyIsICJib3JkZXItdG9wLXN0eWxlIiwK
LSAgICAgICAgImJvcmRlci10b3Atd2lkdGgiLCAiYm9yZGVyLXdpZHRoIiwgImJvdHRvbSIsICJj
YXB0aW9uLXNpZGUiLCAiY2xlYXIiLCAiY2xpcCIsICJjb2xvciIsICJjb250ZW50IiwKLSAgICAg
ICAgImNvdW50ZXItaW5jcmVtZW50IiwgImNvdW50ZXItcmVzZXQiLCAiY3Vyc29yIiwgImRpcmVj
dGlvbiIsICJkaXNwbGF5IiwgImVtcHR5LWNlbGxzIiwgImZsb2F0IiwKLSAgICAgICAgImZvbnQi
LCAiZm9udC1mYW1pbHkiLCAiZm9udC1zaXplIiwgImZvbnQtc3RyZXRjaCIsICJmb250LXN0eWxl
IiwgImZvbnQtdmFyaWFudCIsICJmb250LXdlaWdodCIsCi0gICAgICAgICJoZWlnaHQiLCAibGVm
dCIsICJsZXR0ZXItc3BhY2luZyIsICJsaW5lLWhlaWdodCIsICJsaXN0LXN0eWxlIiwgImxpc3Qt
c3R5bGUtaW1hZ2UiLCAibGlzdC1zdHlsZS1wb3NpdGlvbiIsCi0gICAgICAgICJsaXN0LXN0eWxl
LXR5cGUiLCAibWFyZ2luIiwgIm1hcmdpbi1ib3R0b20iLCAibWFyZ2luLWxlZnQiLCAibWFyZ2lu
LXJpZ2h0IiwgIm1hcmdpbi10b3AiLCAibWF4LWhlaWdodCIsCi0gICAgICAgICJtYXgtd2lkdGgi
LCAibWluLWhlaWdodCIsICJtaW4td2lkdGgiLCAib3BhY2l0eSIsICJvcnBoYW5zIiwgIm91dGxp
bmUiLCAib3V0bGluZS1jb2xvciIsICJvdXRsaW5lLW9mZnNldCIsCi0gICAgICAgICJvdXRsaW5l
LXN0eWxlIiwgIm91dGxpbmUtd2lkdGgiLCAib3ZlcmZsb3ciLCAib3ZlcmZsb3cteCIsICJvdmVy
Zmxvdy15IiwgInBhZGRpbmciLCAicGFkZGluZy1ib3R0b20iLAotICAgICAgICAicGFkZGluZy1s
ZWZ0IiwgInBhZGRpbmctcmlnaHQiLCAicGFkZGluZy10b3AiLCAicGFnZSIsICJwYWdlLWJyZWFr
LWFmdGVyIiwgInBhZ2UtYnJlYWstYmVmb3JlIiwKLSAgICAgICAgInBhZ2UtYnJlYWstaW5zaWRl
IiwgInBvaW50ZXItZXZlbnRzIiwgInBvc2l0aW9uIiwgInF1b3RlcyIsICJyZXNpemUiLCAicmln
aHQiLCAic2l6ZSIsICJzcmMiLAotICAgICAgICAidGFibGUtbGF5b3V0IiwgInRleHQtYWxpZ24i
LCAidGV4dC1kZWNvcmF0aW9uIiwgInRleHQtaW5kZW50IiwgInRleHQtbGluZS10aHJvdWdoIiwg
InRleHQtbGluZS10aHJvdWdoLWNvbG9yIiwKLSAgICAgICAgInRleHQtbGluZS10aHJvdWdoLW1v
ZGUiLCAidGV4dC1saW5lLXRocm91Z2gtc3R5bGUiLCAidGV4dC1saW5lLXRocm91Z2gtd2lkdGgi
LCAidGV4dC1vdmVyZmxvdyIsICJ0ZXh0LW92ZXJsaW5lIiwKLSAgICAgICAgInRleHQtb3Zlcmxp
bmUtY29sb3IiLCAidGV4dC1vdmVybGluZS1tb2RlIiwgInRleHQtb3ZlcmxpbmUtc3R5bGUiLCAi
dGV4dC1vdmVybGluZS13aWR0aCIsICJ0ZXh0LXJlbmRlcmluZyIsCi0gICAgICAgICJ0ZXh0LXNo
YWRvdyIsICJ0ZXh0LXRyYW5zZm9ybSIsICJ0ZXh0LXVuZGVybGluZSIsICJ0ZXh0LXVuZGVybGlu
ZS1jb2xvciIsICJ0ZXh0LXVuZGVybGluZS1tb2RlIiwKLSAgICAgICAgInRleHQtdW5kZXJsaW5l
LXN0eWxlIiwgInRleHQtdW5kZXJsaW5lLXdpZHRoIiwgInRvcCIsICJ1bmljb2RlLWJpZGkiLCAi
dW5pY29kZS1yYW5nZSIsICJ2ZXJ0aWNhbC1hbGlnbiIsCi0gICAgICAgICJ2aXNpYmlsaXR5Iiwg
IndoaXRlLXNwYWNlIiwgIndpZG93cyIsICJ3aWR0aCIsICJ3b3JkLWJyZWFrIiwgIndvcmQtc3Bh
Y2luZyIsICJ3b3JkLXdyYXAiLCAiei1pbmRleCIsICJ6b29tIiwKLSAgICAgICAgIi13ZWJraXQt
YW5pbWF0aW9uIiwgIi13ZWJraXQtYW5pbWF0aW9uLWRlbGF5IiwgIi13ZWJraXQtYW5pbWF0aW9u
LWRpcmVjdGlvbiIsICItd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbiIsCi0gICAgICAgICItd2Vi
a2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQiLCAiLXdlYmtpdC1hbmltYXRpb24tbmFtZSIs
ICItd2Via2l0LWFuaW1hdGlvbi1wbGF5LXN0YXRlIiwKLSAgICAgICAgIi13ZWJraXQtYW5pbWF0
aW9uLXRpbWluZy1mdW5jdGlvbiIsICItd2Via2l0LWFwcGVhcmFuY2UiLCAiLXdlYmtpdC1iYWNr
ZmFjZS12aXNpYmlsaXR5IiwKLSAgICAgICAgIi13ZWJraXQtYmFja2dyb3VuZC1jbGlwIiwgIi13
ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUiLCAiLXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbiIs
ICItd2Via2l0LWJhY2tncm91bmQtc2l6ZSIsCi0gICAgICAgICItd2Via2l0LWJpbmRpbmciLCAi
LXdlYmtpdC1ib3JkZXItZml0IiwgIi13ZWJraXQtYm9yZGVyLWhvcml6b250YWwtc3BhY2luZyIs
ICItd2Via2l0LWJvcmRlci1pbWFnZSIsCi0gICAgICAgICItd2Via2l0LWJvcmRlci1yYWRpdXMi
LCAiLXdlYmtpdC1ib3JkZXItdmVydGljYWwtc3BhY2luZyIsICItd2Via2l0LWJveC1hbGlnbiIs
ICItd2Via2l0LWJveC1kaXJlY3Rpb24iLAotICAgICAgICAiLXdlYmtpdC1ib3gtZmxleCIsICIt
d2Via2l0LWJveC1mbGV4LWdyb3VwIiwgIi13ZWJraXQtYm94LWxpbmVzIiwgIi13ZWJraXQtYm94
LW9yZGluYWwtZ3JvdXAiLAotICAgICAgICAiLXdlYmtpdC1ib3gtb3JpZW50IiwgIi13ZWJraXQt
Ym94LXBhY2siLCAiLXdlYmtpdC1ib3gtcmVmbGVjdCIsICItd2Via2l0LWJveC1zaGFkb3ciLCAi
LXdlYmtpdC1ib3gtc2l6aW5nIiwKLSAgICAgICAgIi13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVy
IiwgIi13ZWJraXQtY29sdW1uLWJyZWFrLWJlZm9yZSIsICItd2Via2l0LWNvbHVtbi1icmVhay1p
bnNpZGUiLCAiLXdlYmtpdC1jb2x1bW4tY291bnQiLAotICAgICAgICAiLXdlYmtpdC1jb2x1bW4t
Z2FwIiwgIi13ZWJraXQtY29sdW1uLXJ1bGUiLCAiLXdlYmtpdC1jb2x1bW4tcnVsZS1jb2xvciIs
ICItd2Via2l0LWNvbHVtbi1ydWxlLXN0eWxlIiwKLSAgICAgICAgIi13ZWJraXQtY29sdW1uLXJ1
bGUtd2lkdGgiLCAiLXdlYmtpdC1jb2x1bW4td2lkdGgiLCAiLXdlYmtpdC1jb2x1bW5zIiwgIi13
ZWJraXQtZm9udC1zaXplLWRlbHRhIiwKLSAgICAgICAgIi13ZWJraXQtZm9udC1zbW9vdGhpbmci
LCAiLXdlYmtpdC1oaWdobGlnaHQiLCAiLXdlYmtpdC1saW5lLWJyZWFrIiwgIi13ZWJraXQtbGlu
ZS1jbGFtcCIsCi0gICAgICAgICItd2Via2l0LW1hcmdpbi1ib3R0b20tY29sbGFwc2UiLCAiLXdl
YmtpdC1tYXJnaW4tY29sbGFwc2UiLCAiLXdlYmtpdC1tYXJnaW4tc3RhcnQiLCAiLXdlYmtpdC1t
YXJnaW4tdG9wLWNvbGxhcHNlIiwKLSAgICAgICAgIi13ZWJraXQtbWFycXVlZSIsICItd2Via2l0
LW1hcnF1ZWUtZGlyZWN0aW9uIiwgIi13ZWJraXQtbWFycXVlZS1pbmNyZW1lbnQiLCAiLXdlYmtp
dC1tYXJxdWVlLXJlcGV0aXRpb24iLAotICAgICAgICAiLXdlYmtpdC1tYXJxdWVlLXNwZWVkIiwg
Ii13ZWJraXQtbWFycXVlZS1zdHlsZSIsICItd2Via2l0LW1hc2siLCAiLXdlYmtpdC1tYXNrLWF0
dGFjaG1lbnQiLAotICAgICAgICAiLXdlYmtpdC1tYXNrLWJveC1pbWFnZSIsICItd2Via2l0LW1h
c2stY2xpcCIsICItd2Via2l0LW1hc2stY29tcG9zaXRlIiwgIi13ZWJraXQtbWFzay1pbWFnZSIs
Ci0gICAgICAgICItd2Via2l0LW1hc2stb3JpZ2luIiwgIi13ZWJraXQtbWFzay1wb3NpdGlvbiIs
ICItd2Via2l0LW1hc2stcG9zaXRpb24teCIsICItd2Via2l0LW1hc2stcG9zaXRpb24teSIsCi0g
ICAgICAgICItd2Via2l0LW1hc2stcmVwZWF0IiwgIi13ZWJraXQtbWFzay1yZXBlYXQteCIsICIt
d2Via2l0LW1hc2stcmVwZWF0LXkiLCAiLXdlYmtpdC1tYXNrLXNpemUiLAotICAgICAgICAiLXdl
YmtpdC1tYXRjaC1uZWFyZXN0LW1haWwtYmxvY2txdW90ZS1jb2xvciIsICItd2Via2l0LW5ic3At
bW9kZSIsICItd2Via2l0LXBhZGRpbmctc3RhcnQiLAotICAgICAgICAiLXdlYmtpdC1wZXJzcGVj
dGl2ZSIsICItd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbiIsICItd2Via2l0LXBlcnNwZWN0aXZl
LW9yaWdpbi14IiwgIi13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luLXkiLAotICAgICAgICAiLXdl
YmtpdC1ydGwtb3JkZXJpbmciLCAiLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdCIs
ICItd2Via2l0LXRleHQtZmlsbC1jb2xvciIsICItd2Via2l0LXRleHQtc2VjdXJpdHkiLAotICAg
ICAgICAiLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0IiwgIi13ZWJraXQtdGV4dC1zdHJva2UiLCAi
LXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvciIsICItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoIiwK
LSAgICAgICAgIi13ZWJraXQtdHJhbnNmb3JtIiwgIi13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbiIs
ICItd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4teCIsICItd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4t
eSIsCi0gICAgICAgICItd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4teiIsICItd2Via2l0LXRyYW5z
Zm9ybS1zdHlsZSIsICItd2Via2l0LXRyYW5zaXRpb24iLCAiLXdlYmtpdC10cmFuc2l0aW9uLWRl
bGF5IiwKLSAgICAgICAgIi13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbiIsICItd2Via2l0LXRy
YW5zaXRpb24tcHJvcGVydHkiLCAiLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiIs
Ci0gICAgICAgICItd2Via2l0LXVzZXItZHJhZyIsICItd2Via2l0LXVzZXItbW9kaWZ5IiwgIi13
ZWJraXQtdXNlci1zZWxlY3QiLCAiLXdlYmtpdC12YXJpYWJsZS1kZWNsYXJhdGlvbi1ibG9jayIK
LSAgICBdLmtleVNldCgpOworICAgIHRoaXMuX3Byb3BlcnR5S2V5d29yZHMgPSBJbnNwZWN0b3JG
cm9udGVuZEhvc3Quc3VwcG9ydGVkQ1NTUHJvcGVydGllcygpLmtleVNldCgpOwogICAgIAogICAg
IHRoaXMuX3ZhbHVlS2V5d29yZHMgPSBbCiAgICAgICAgICJhYm92ZSIsICJhYnNvbHV0ZSIsICJh
Y3RpdmVib3JkZXIiLCAiYWN0aXZlY2FwdGlvbiIsICJhZmFyIiwgImFmdGVyLXdoaXRlLXNwYWNl
IiwgImFoZWFkIiwgImFsaWFzIiwgImFsbCIsICJhbGwtc2Nyb2xsIiwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIucmUyanMgYi9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzCmluZGV4IDZi
YTlmNjAuLjY0ZGViOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
b3VyY2VDU1NUb2tlbml6ZXIucmUyanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NvdXJjZUNTU1Rva2VuaXplci5yZTJqcwpAQCAtNDQsNTcgKzQ0LDcgQEAgV2ViSW5zcGVjdG9y
LlNvdXJjZUNTU1Rva2VuaXplciA9IGZ1bmN0aW9uKCkKIHsKICAgICBXZWJJbnNwZWN0b3IuU291
cmNlVG9rZW5pemVyLmNhbGwodGhpcyk7CiAKLSAgICB0aGlzLl9wcm9wZXJ0eUtleXdvcmRzID0g
WwotICAgICAgICAiYmFja2dyb3VuZCIsICJiYWNrZ3JvdW5kLWF0dGFjaG1lbnQiLCAiYmFja2dy
b3VuZC1jbGlwIiwgImJhY2tncm91bmQtY29sb3IiLCAiYmFja2dyb3VuZC1pbWFnZSIsCi0gICAg
ICAgICJiYWNrZ3JvdW5kLW9yaWdpbiIsICJiYWNrZ3JvdW5kLXBvc2l0aW9uIiwgImJhY2tncm91
bmQtcG9zaXRpb24teCIsICJiYWNrZ3JvdW5kLXBvc2l0aW9uLXkiLAotICAgICAgICAiYmFja2dy
b3VuZC1yZXBlYXQiLCAiYmFja2dyb3VuZC1yZXBlYXQteCIsICJiYWNrZ3JvdW5kLXJlcGVhdC15
IiwgImJhY2tncm91bmQtc2l6ZSIsICJib3JkZXIiLAotICAgICAgICAiYm9yZGVyLWJvdHRvbSIs
ICJib3JkZXItYm90dG9tLWNvbG9yIiwgImJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMiLCAiYm9y
ZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiLAotICAgICAgICAiYm9yZGVyLWJvdHRvbS1zdHlsZSIs
ICJib3JkZXItYm90dG9tLXdpZHRoIiwgImJvcmRlci1jb2xsYXBzZSIsICJib3JkZXItY29sb3Ii
LCAiYm9yZGVyLWxlZnQiLAotICAgICAgICAiYm9yZGVyLWxlZnQtY29sb3IiLCAiYm9yZGVyLWxl
ZnQtc3R5bGUiLCAiYm9yZGVyLWxlZnQtd2lkdGgiLCAiYm9yZGVyLXJhZGl1cyIsICJib3JkZXIt
cmlnaHQiLAotICAgICAgICAiYm9yZGVyLXJpZ2h0LWNvbG9yIiwgImJvcmRlci1yaWdodC1zdHls
ZSIsICJib3JkZXItcmlnaHQtd2lkdGgiLCAiYm9yZGVyLXNwYWNpbmciLCAiYm9yZGVyLXN0eWxl
IiwKLSAgICAgICAgImJvcmRlci10b3AiLCAiYm9yZGVyLXRvcC1jb2xvciIsICJib3JkZXItdG9w
LWxlZnQtcmFkaXVzIiwgImJvcmRlci10b3AtcmlnaHQtcmFkaXVzIiwgImJvcmRlci10b3Atc3R5
bGUiLAotICAgICAgICAiYm9yZGVyLXRvcC13aWR0aCIsICJib3JkZXItd2lkdGgiLCAiYm90dG9t
IiwgImNhcHRpb24tc2lkZSIsICJjbGVhciIsICJjbGlwIiwgImNvbG9yIiwgImNvbnRlbnQiLAot
ICAgICAgICAiY291bnRlci1pbmNyZW1lbnQiLCAiY291bnRlci1yZXNldCIsICJjdXJzb3IiLCAi
ZGlyZWN0aW9uIiwgImRpc3BsYXkiLCAiZW1wdHktY2VsbHMiLCAiZmxvYXQiLAotICAgICAgICAi
Zm9udCIsICJmb250LWZhbWlseSIsICJmb250LXNpemUiLCAiZm9udC1zdHJldGNoIiwgImZvbnQt
c3R5bGUiLCAiZm9udC12YXJpYW50IiwgImZvbnQtd2VpZ2h0IiwKLSAgICAgICAgImhlaWdodCIs
ICJsZWZ0IiwgImxldHRlci1zcGFjaW5nIiwgImxpbmUtaGVpZ2h0IiwgImxpc3Qtc3R5bGUiLCAi
bGlzdC1zdHlsZS1pbWFnZSIsICJsaXN0LXN0eWxlLXBvc2l0aW9uIiwKLSAgICAgICAgImxpc3Qt
c3R5bGUtdHlwZSIsICJtYXJnaW4iLCAibWFyZ2luLWJvdHRvbSIsICJtYXJnaW4tbGVmdCIsICJt
YXJnaW4tcmlnaHQiLCAibWFyZ2luLXRvcCIsICJtYXgtaGVpZ2h0IiwKLSAgICAgICAgIm1heC13
aWR0aCIsICJtaW4taGVpZ2h0IiwgIm1pbi13aWR0aCIsICJvcGFjaXR5IiwgIm9ycGhhbnMiLCAi
b3V0bGluZSIsICJvdXRsaW5lLWNvbG9yIiwgIm91dGxpbmUtb2Zmc2V0IiwKLSAgICAgICAgIm91
dGxpbmUtc3R5bGUiLCAib3V0bGluZS13aWR0aCIsICJvdmVyZmxvdyIsICJvdmVyZmxvdy14Iiwg
Im92ZXJmbG93LXkiLCAicGFkZGluZyIsICJwYWRkaW5nLWJvdHRvbSIsCi0gICAgICAgICJwYWRk
aW5nLWxlZnQiLCAicGFkZGluZy1yaWdodCIsICJwYWRkaW5nLXRvcCIsICJwYWdlIiwgInBhZ2Ut
YnJlYWstYWZ0ZXIiLCAicGFnZS1icmVhay1iZWZvcmUiLAotICAgICAgICAicGFnZS1icmVhay1p
bnNpZGUiLCAicG9pbnRlci1ldmVudHMiLCAicG9zaXRpb24iLCAicXVvdGVzIiwgInJlc2l6ZSIs
ICJyaWdodCIsICJzaXplIiwgInNyYyIsCi0gICAgICAgICJ0YWJsZS1sYXlvdXQiLCAidGV4dC1h
bGlnbiIsICJ0ZXh0LWRlY29yYXRpb24iLCAidGV4dC1pbmRlbnQiLCAidGV4dC1saW5lLXRocm91
Z2giLCAidGV4dC1saW5lLXRocm91Z2gtY29sb3IiLAotICAgICAgICAidGV4dC1saW5lLXRocm91
Z2gtbW9kZSIsICJ0ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSIsICJ0ZXh0LWxpbmUtdGhyb3VnaC13
aWR0aCIsICJ0ZXh0LW92ZXJmbG93IiwgInRleHQtb3ZlcmxpbmUiLAotICAgICAgICAidGV4dC1v
dmVybGluZS1jb2xvciIsICJ0ZXh0LW92ZXJsaW5lLW1vZGUiLCAidGV4dC1vdmVybGluZS1zdHls
ZSIsICJ0ZXh0LW92ZXJsaW5lLXdpZHRoIiwgInRleHQtcmVuZGVyaW5nIiwKLSAgICAgICAgInRl
eHQtc2hhZG93IiwgInRleHQtdHJhbnNmb3JtIiwgInRleHQtdW5kZXJsaW5lIiwgInRleHQtdW5k
ZXJsaW5lLWNvbG9yIiwgInRleHQtdW5kZXJsaW5lLW1vZGUiLAotICAgICAgICAidGV4dC11bmRl
cmxpbmUtc3R5bGUiLCAidGV4dC11bmRlcmxpbmUtd2lkdGgiLCAidG9wIiwgInVuaWNvZGUtYmlk
aSIsICJ1bmljb2RlLXJhbmdlIiwgInZlcnRpY2FsLWFsaWduIiwKLSAgICAgICAgInZpc2liaWxp
dHkiLCAid2hpdGUtc3BhY2UiLCAid2lkb3dzIiwgIndpZHRoIiwgIndvcmQtYnJlYWsiLCAid29y
ZC1zcGFjaW5nIiwgIndvcmQtd3JhcCIsICJ6LWluZGV4IiwgInpvb20iLAotICAgICAgICAiLXdl
YmtpdC1hbmltYXRpb24iLCAiLXdlYmtpdC1hbmltYXRpb24tZGVsYXkiLCAiLXdlYmtpdC1hbmlt
YXRpb24tZGlyZWN0aW9uIiwgIi13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uIiwKLSAgICAgICAg
Ii13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCIsICItd2Via2l0LWFuaW1hdGlvbi1u
YW1lIiwgIi13ZWJraXQtYW5pbWF0aW9uLXBsYXktc3RhdGUiLAotICAgICAgICAiLXdlYmtpdC1h
bmltYXRpb24tdGltaW5nLWZ1bmN0aW9uIiwgIi13ZWJraXQtYXBwZWFyYW5jZSIsICItd2Via2l0
LWJhY2tmYWNlLXZpc2liaWxpdHkiLAotICAgICAgICAiLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXAi
LCAiLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZSIsICItd2Via2l0LWJhY2tncm91bmQtb3Jp
Z2luIiwgIi13ZWJraXQtYmFja2dyb3VuZC1zaXplIiwKLSAgICAgICAgIi13ZWJraXQtYmluZGlu
ZyIsICItd2Via2l0LWJvcmRlci1maXQiLCAiLXdlYmtpdC1ib3JkZXItaG9yaXpvbnRhbC1zcGFj
aW5nIiwgIi13ZWJraXQtYm9yZGVyLWltYWdlIiwKLSAgICAgICAgIi13ZWJraXQtYm9yZGVyLXJh
ZGl1cyIsICItd2Via2l0LWJvcmRlci12ZXJ0aWNhbC1zcGFjaW5nIiwgIi13ZWJraXQtYm94LWFs
aWduIiwgIi13ZWJraXQtYm94LWRpcmVjdGlvbiIsCi0gICAgICAgICItd2Via2l0LWJveC1mbGV4
IiwgIi13ZWJraXQtYm94LWZsZXgtZ3JvdXAiLCAiLXdlYmtpdC1ib3gtbGluZXMiLCAiLXdlYmtp
dC1ib3gtb3JkaW5hbC1ncm91cCIsCi0gICAgICAgICItd2Via2l0LWJveC1vcmllbnQiLCAiLXdl
YmtpdC1ib3gtcGFjayIsICItd2Via2l0LWJveC1yZWZsZWN0IiwgIi13ZWJraXQtYm94LXNoYWRv
dyIsICItd2Via2l0LWJveC1zaXppbmciLAotICAgICAgICAiLXdlYmtpdC1jb2x1bW4tYnJlYWst
YWZ0ZXIiLCAiLXdlYmtpdC1jb2x1bW4tYnJlYWstYmVmb3JlIiwgIi13ZWJraXQtY29sdW1uLWJy
ZWFrLWluc2lkZSIsICItd2Via2l0LWNvbHVtbi1jb3VudCIsCi0gICAgICAgICItd2Via2l0LWNv
bHVtbi1nYXAiLCAiLXdlYmtpdC1jb2x1bW4tcnVsZSIsICItd2Via2l0LWNvbHVtbi1ydWxlLWNv
bG9yIiwgIi13ZWJraXQtY29sdW1uLXJ1bGUtc3R5bGUiLAotICAgICAgICAiLXdlYmtpdC1jb2x1
bW4tcnVsZS13aWR0aCIsICItd2Via2l0LWNvbHVtbi13aWR0aCIsICItd2Via2l0LWNvbHVtbnMi
LCAiLXdlYmtpdC1mb250LXNpemUtZGVsdGEiLAotICAgICAgICAiLXdlYmtpdC1mb250LXNtb290
aGluZyIsICItd2Via2l0LWhpZ2hsaWdodCIsICItd2Via2l0LWxpbmUtYnJlYWsiLCAiLXdlYmtp
dC1saW5lLWNsYW1wIiwKLSAgICAgICAgIi13ZWJraXQtbWFyZ2luLWJvdHRvbS1jb2xsYXBzZSIs
ICItd2Via2l0LW1hcmdpbi1jb2xsYXBzZSIsICItd2Via2l0LW1hcmdpbi1zdGFydCIsICItd2Vi
a2l0LW1hcmdpbi10b3AtY29sbGFwc2UiLAotICAgICAgICAiLXdlYmtpdC1tYXJxdWVlIiwgIi13
ZWJraXQtbWFycXVlZS1kaXJlY3Rpb24iLCAiLXdlYmtpdC1tYXJxdWVlLWluY3JlbWVudCIsICIt
d2Via2l0LW1hcnF1ZWUtcmVwZXRpdGlvbiIsCi0gICAgICAgICItd2Via2l0LW1hcnF1ZWUtc3Bl
ZWQiLCAiLXdlYmtpdC1tYXJxdWVlLXN0eWxlIiwgIi13ZWJraXQtbWFzayIsICItd2Via2l0LW1h
c2stYXR0YWNobWVudCIsCi0gICAgICAgICItd2Via2l0LW1hc2stYm94LWltYWdlIiwgIi13ZWJr
aXQtbWFzay1jbGlwIiwgIi13ZWJraXQtbWFzay1jb21wb3NpdGUiLCAiLXdlYmtpdC1tYXNrLWlt
YWdlIiwKLSAgICAgICAgIi13ZWJraXQtbWFzay1vcmlnaW4iLCAiLXdlYmtpdC1tYXNrLXBvc2l0
aW9uIiwgIi13ZWJraXQtbWFzay1wb3NpdGlvbi14IiwgIi13ZWJraXQtbWFzay1wb3NpdGlvbi15
IiwKLSAgICAgICAgIi13ZWJraXQtbWFzay1yZXBlYXQiLCAiLXdlYmtpdC1tYXNrLXJlcGVhdC14
IiwgIi13ZWJraXQtbWFzay1yZXBlYXQteSIsICItd2Via2l0LW1hc2stc2l6ZSIsCi0gICAgICAg
ICItd2Via2l0LW1hdGNoLW5lYXJlc3QtbWFpbC1ibG9ja3F1b3RlLWNvbG9yIiwgIi13ZWJraXQt
bmJzcC1tb2RlIiwgIi13ZWJraXQtcGFkZGluZy1zdGFydCIsCi0gICAgICAgICItd2Via2l0LXBl
cnNwZWN0aXZlIiwgIi13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luIiwgIi13ZWJraXQtcGVyc3Bl
Y3RpdmUtb3JpZ2luLXgiLCAiLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW4teSIsCi0gICAgICAg
ICItd2Via2l0LXJ0bC1vcmRlcmluZyIsICItd2Via2l0LXRleHQtZGVjb3JhdGlvbnMtaW4tZWZm
ZWN0IiwgIi13ZWJraXQtdGV4dC1maWxsLWNvbG9yIiwgIi13ZWJraXQtdGV4dC1zZWN1cml0eSIs
Ci0gICAgICAgICItd2Via2l0LXRleHQtc2l6ZS1hZGp1c3QiLCAiLXdlYmtpdC10ZXh0LXN0cm9r
ZSIsICItd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yIiwgIi13ZWJraXQtdGV4dC1zdHJva2Utd2lk
dGgiLAotICAgICAgICAiLXdlYmtpdC10cmFuc2Zvcm0iLCAiLXdlYmtpdC10cmFuc2Zvcm0tb3Jp
Z2luIiwgIi13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbi14IiwgIi13ZWJraXQtdHJhbnNmb3JtLW9y
aWdpbi15IiwKLSAgICAgICAgIi13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbi16IiwgIi13ZWJraXQt
dHJhbnNmb3JtLXN0eWxlIiwgIi13ZWJraXQtdHJhbnNpdGlvbiIsICItd2Via2l0LXRyYW5zaXRp
b24tZGVsYXkiLAotICAgICAgICAiLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uIiwgIi13ZWJr
aXQtdHJhbnNpdGlvbi1wcm9wZXJ0eSIsICItd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0
aW9uIiwKLSAgICAgICAgIi13ZWJraXQtdXNlci1kcmFnIiwgIi13ZWJraXQtdXNlci1tb2RpZnki
LCAiLXdlYmtpdC11c2VyLXNlbGVjdCIsICItd2Via2l0LXZhcmlhYmxlLWRlY2xhcmF0aW9uLWJs
b2NrIgotICAgIF0ua2V5U2V0KCk7CisgICAgdGhpcy5fcHJvcGVydHlLZXl3b3JkcyA9IEluc3Bl
Y3RvckZyb250ZW5kSG9zdC5zdXBwb3J0ZWRDU1NQcm9wZXJ0aWVzKCkua2V5U2V0KCk7CiAgICAg
CiAgICAgdGhpcy5fdmFsdWVLZXl3b3JkcyA9IFsKICAgICAgICAgImFib3ZlIiwgImFic29sdXRl
IiwgImFjdGl2ZWJvcmRlciIsICJhY3RpdmVjYXB0aW9uIiwgImFmYXIiLCAiYWZ0ZXItd2hpdGUt
c3BhY2UiLCAiYWhlYWQiLCAiYWxpYXMiLCAiYWxsIiwgImFsbC1zY3JvbGwiLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60304</attachid>
            <date>2010-07-01 15:41:13 -0700</date>
            <delta_ts>2010-08-20 00:47:41 -0700</delta_ts>
            <desc>[PATCH] Addressed Style Issue and Rebased</desc>
            <filename>css-prop-list2.patch</filename>
            <type>text/plain</type>
            <size>17606</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTIxMDU3YS4uMmMzYTUyNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wNy0wMSAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVja0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEJhY2tlbmQgU2hvdWxkIFByb3ZpZGUg
RnVsbCBTdXBwb3J0ZWQgQ1NTIFByb3BlcnRpZXMgTGlzdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4ODYKKworICAgICAgICBDb3ZlcmVkIGJ5IGV4
aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogY3NzL21ha2Vwcm9wLnBsOiBtb3ZlZCBDU1MgcHJv
cGVydGllcyB0byB0aGUgaGVhZGVyIGZpbGUuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhv
c3Q6OnN1cHBvcnRlZENTU1Byb3BlcnRpZXMpOiBhY2Nlc3NvciBmcm9tIHRoZSBmcm9udGVuZC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmg6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGw6IGV4cG9zZSB0aGUgYWNjZXNzb3Iu
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NDb21wbGV0aW9ucy5qczogdXNlIHRo
ZSBsaXN0IG9mIHN1cHBvcnQgcHJvcGVydGllcyBmcm9tIHRoZSBiYWNrZW5kLgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLmpzOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzOiAgdXNlIHRoZSBsaXN0
IG9mIHN1cHBvcnQgcHJvcGVydGllcyBmcm9tIHRoZSBiYWNrZW5kLgorCiAyMDEwLTA3LTAxICBY
YW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHdXN0
YXZvIE5vcm9uaGEuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbCBiL1dlYkNv
cmUvY3NzL21ha2Vwcm9wLnBsCmluZGV4IDBmZDFmMDguLjg4MTBlOGQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvY3NzL21ha2Vwcm9wLnBsCisrKyBiL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCkBAIC05
NSw2ICs5NSwxMiBAQCBwcmludCBIRUFERVIgImNvbnN0IGludCBmaXJzdENTU1Byb3BlcnR5ID0g
JGZpcnN0O1xuIjsKIHByaW50IEhFQURFUiAiY29uc3QgaW50IG51bUNTU1Byb3BlcnRpZXMgPSAk
bnVtO1xuIjsKIHByaW50IEhFQURFUiAiY29uc3Qgc2l6ZV90IG1heENTU1Byb3BlcnR5TmFtZUxl
bmd0aCA9ICRtYXhMZW47XG4iOwogCitwcmludCBIRUFERVIgImNvbnN0IGNoYXIqIGNvbnN0IHBy
b3BlcnR5TmFtZVN0cmluZ3NbJG51bV0gPSB7XG4iOworZm9yZWFjaCBteSAkbmFtZSAoQG5hbWVz
KSB7CisgIHByaW50IEhFQURFUiAiXCIkbmFtZVwiLFxuIjsKK30KK3ByaW50IEhFQURFUiAifTtc
biI7CisKIHByaW50IEhFQURFUiA8PCAiRU9GIjsKIAogY29uc3QgY2hhciogZ2V0UHJvcGVydHlO
YW1lKENTU1Byb3BlcnR5SUQpOwpAQCAtMTA4LDE0ICsxMTQsOCBAQCBjbG9zZSBIRUFERVI7CiBz
eXN0ZW0oImdwZXJmIC0ta2V5LXBvc2l0aW9ucz1cIipcIiAtRCAtbiAtcyAyIENTU1Byb3BlcnR5
TmFtZXMuZ3BlcmYgPiBDU1NQcm9wZXJ0eU5hbWVzLmNwcCIpID09IDAgfHwgZGllICJjYWxsaW5n
IGdwZXJmIGZhaWxlZDogJD8iOwogCiBvcGVuIEMsICI+PkNTU1Byb3BlcnR5TmFtZXMuY3BwIiB8
fCBkaWUgIkNvdWxkIG5vdCBvcGVuIENTU1Byb3BlcnR5TmFtZXMuY3BwIGZvciB3cml0aW5nIjsK
LXByaW50IEMgInN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgcHJvcGVydHlOYW1lU3RyaW5nc1sk
bnVtXSA9IHtcbiI7Ci0KLWZvcmVhY2ggbXkgJG5hbWUgKEBuYW1lcykgewotICBwcmludCBDICJc
IiRuYW1lXCIsXG4iOwotfQotCiBwcmludCBDIDw8ICJFT0YiOwotfTsKKwogY29uc3QgY2hhciog
Z2V0UHJvcGVydHlOYW1lKENTU1Byb3BlcnR5SUQgaWQpCiB7CiAgICAgaWYgKGlkIDwgZmlyc3RD
U1NQcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3Bw
CmluZGV4IDcwZmMzYWQuLmFhMTFiOTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmNwcApAQCAtMzIsNiArMzIsNyBAQAogCiAjaWYgRU5BQkxFKElOU1BFQ1RP
UikKIAorI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKICNpbmNsdWRlICJDb250ZXh0TWVu
dS5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51
Q29udHJvbGxlci5oIgpAQCAtMjAyLDYgKzIwMywxNyBAQCBTdHJpbmcgSW5zcGVjdG9yRnJvbnRl
bmRIb3N0OjpoaWRkZW5QYW5lbHMoKQogICAgIHJldHVybiBtX2NsaWVudC0+aGlkZGVuUGFuZWxz
KCk7CiB9CiAKK1NjcmlwdEFycmF5IEluc3BlY3RvckZyb250ZW5kSG9zdDo6c3VwcG9ydGVkQ1NT
UHJvcGVydGllcygpCit7CisgICAgQVNTRVJUKG1fZnJvbnRlbmRQYWdlKTsKKyAgICBTY3JpcHRT
dGF0ZSogZnJvbnRlbmRTY3JpcHRTdGF0ZSA9IHNjcmlwdFN0YXRlRnJvbVBhZ2UoZGVidWdnZXJX
b3JsZCgpLCBtX2Zyb250ZW5kUGFnZSk7CisgICAgU2NyaXB0QXJyYXkgcHJvcGVydGllcyA9IFNj
cmlwdEFycmF5OjpjcmVhdGVOZXcoZnJvbnRlbmRTY3JpcHRTdGF0ZSk7CisgICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBudW1DU1NQcm9wZXJ0aWVzOyArK2kpCisgICAgICAgIHByb3BlcnRpZXMuc2V0
KGksIFN0cmluZyhwcm9wZXJ0eU5hbWVTdHJpbmdzW2ldKSk7CisKKyAgICByZXR1cm4gcHJvcGVy
dGllczsKK30KKwogdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmNvcHlUZXh0KGNvbnN0IFN0
cmluZyYgdGV4dCkKIHsKICAgICBQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZCgpLT53cml0
ZVBsYWluVGV4dCh0ZXh0KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LmgKaW5kZXggNGQzZTBkMS4uNTMzM2FhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmgKQEAgLTcwLDYgKzcwLDcgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGxv
Y2FsaXplZFN0cmluZ3NVUkwoKTsKICAgICBTdHJpbmcgaGlkZGVuUGFuZWxzKCk7CisgICAgU2Ny
aXB0QXJyYXkgc3VwcG9ydGVkQ1NTUHJvcGVydGllcygpOwogCiAgICAgdm9pZCBjb3B5VGV4dChj
b25zdCBTdHJpbmcmIHRleHQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuaWRsIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmlkbAppbmRleCAxMTM5YTFjLi4yYzBlNTBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwKQEAgLTQ0LDYgKzQ0LDcgQEAgbW9kdWxlIGNvcmUg
ewogCiAgICAgICAgIERPTVN0cmluZyBsb2NhbGl6ZWRTdHJpbmdzVVJMKCk7CiAgICAgICAgIERP
TVN0cmluZyBoaWRkZW5QYW5lbHMoKTsKKyAgICAgICAgRE9NT2JqZWN0IHN1cHBvcnRlZENTU1By
b3BlcnRpZXMoKTsKIAogICAgICAgICB2b2lkIGNvcHlUZXh0KGluIERPTVN0cmluZyB0ZXh0KTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRpb25z
LmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRpb25zLmpzCmluZGV4
IDU0ODU0NjQuLjk1YWI3M2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9DU1NDb21wbGV0aW9ucy5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NT
Q29tcGxldGlvbnMuanMKQEAgLTEsMjcgKzEsNCBAQAotV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRp
b25zID0gKGZ1bmN0aW9uKCkgewotICAgIHZhciB1c2VkID0ge307Ci0gICAgdmFyIHByb3BlcnRp
ZXMgPSBbXTsKLSAgICB2YXIgc3R5bGUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGU7
Ci0gICAgdmFyIGxpc3QgPSBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmRvY3VtZW50RWxlbWVudCwgIiIpOwotICAgIHZhciBsZW5ndGggPSBsaXN0Lmxlbmd0
aDsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQotICAgICAgICB1c2VkW3By
b3BlcnRpZXNbaV0gPSBsaXN0W2ldXSA9IHRydWU7Ci0KLSAgICBmb3IgKHZhciBpID0gMCwgZW5k
ID0gbGVuZ3RoOyBpIDwgbGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIHByb3BlcnR5V29yZHMg
PSBwcm9wZXJ0aWVzW2ldLnNwbGl0KCItIik7Ci0gICAgICAgIHZhciBqID0gcHJvcGVydHlXb3Jk
cy5sZW5ndGg7Ci0gICAgICAgIHdoaWxlICgtLWopIHsKLSAgICAgICAgICAgIHByb3BlcnR5V29y
ZHMucG9wKCk7Ci0gICAgICAgICAgICB2YXIgc2hvcnRoYW5kID0gcHJvcGVydHlXb3Jkcy5qb2lu
KCItIik7Ci0gICAgICAgICAgICBpZiAoIShzaG9ydGhhbmQgaW4gdXNlZCkgJiYgc3R5bGVbc2hv
cnRoYW5kXSAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgICAgICAgICAgdXNlZFtzaG9ydGhhbmRd
ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzW2VuZCsrXSA9IHNob3J0aGFuZDsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIHJldHVybiBwcm9wZXJ0aWVz
LnNvcnQoKTsKLX0pKCk7CitXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMgPSBJbnNwZWN0b3JG
cm9udGVuZEhvc3Quc3VwcG9ydGVkQ1NTUHJvcGVydGllcygpLnNvcnQoKTsKIAogV2ViSW5zcGVj
dG9yLkNTU0NvbXBsZXRpb25zLnN0YXJ0c1dpdGggPSBmdW5jdGlvbihwcmVmaXgpCiB7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLmpz
IGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXplci5qcwppbmRl
eCBmN2Q3ZDUxLi5lZmZjZWMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU291cmNlQ1NTVG9rZW5pemVyLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanMKQEAgLTQ1LDU3ICs0NSw3IEBAIFdlYkluc3BlY3Rvci5T
b3VyY2VDU1NUb2tlbml6ZXIgPSBmdW5jdGlvbigpCiB7CiAgICAgV2ViSW5zcGVjdG9yLlNvdXJj
ZVRva2VuaXplci5jYWxsKHRoaXMpOwogCi0gICAgdGhpcy5fcHJvcGVydHlLZXl3b3JkcyA9IFsK
LSAgICAgICAgImJhY2tncm91bmQiLCAiYmFja2dyb3VuZC1hdHRhY2htZW50IiwgImJhY2tncm91
bmQtY2xpcCIsICJiYWNrZ3JvdW5kLWNvbG9yIiwgImJhY2tncm91bmQtaW1hZ2UiLAotICAgICAg
ICAiYmFja2dyb3VuZC1vcmlnaW4iLCAiYmFja2dyb3VuZC1wb3NpdGlvbiIsICJiYWNrZ3JvdW5k
LXBvc2l0aW9uLXgiLCAiYmFja2dyb3VuZC1wb3NpdGlvbi15IiwKLSAgICAgICAgImJhY2tncm91
bmQtcmVwZWF0IiwgImJhY2tncm91bmQtcmVwZWF0LXgiLCAiYmFja2dyb3VuZC1yZXBlYXQteSIs
ICJiYWNrZ3JvdW5kLXNpemUiLCAiYm9yZGVyIiwKLSAgICAgICAgImJvcmRlci1ib3R0b20iLCAi
Ym9yZGVyLWJvdHRvbS1jb2xvciIsICJib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIiwgImJvcmRl
ci1ib3R0b20tcmlnaHQtcmFkaXVzIiwKLSAgICAgICAgImJvcmRlci1ib3R0b20tc3R5bGUiLCAi
Ym9yZGVyLWJvdHRvbS13aWR0aCIsICJib3JkZXItY29sbGFwc2UiLCAiYm9yZGVyLWNvbG9yIiwg
ImJvcmRlci1sZWZ0IiwKLSAgICAgICAgImJvcmRlci1sZWZ0LWNvbG9yIiwgImJvcmRlci1sZWZ0
LXN0eWxlIiwgImJvcmRlci1sZWZ0LXdpZHRoIiwgImJvcmRlci1yYWRpdXMiLCAiYm9yZGVyLXJp
Z2h0IiwKLSAgICAgICAgImJvcmRlci1yaWdodC1jb2xvciIsICJib3JkZXItcmlnaHQtc3R5bGUi
LCAiYm9yZGVyLXJpZ2h0LXdpZHRoIiwgImJvcmRlci1zcGFjaW5nIiwgImJvcmRlci1zdHlsZSIs
Ci0gICAgICAgICJib3JkZXItdG9wIiwgImJvcmRlci10b3AtY29sb3IiLCAiYm9yZGVyLXRvcC1s
ZWZ0LXJhZGl1cyIsICJib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyIsICJib3JkZXItdG9wLXN0eWxl
IiwKLSAgICAgICAgImJvcmRlci10b3Atd2lkdGgiLCAiYm9yZGVyLXdpZHRoIiwgImJvdHRvbSIs
ICJjYXB0aW9uLXNpZGUiLCAiY2xlYXIiLCAiY2xpcCIsICJjb2xvciIsICJjb250ZW50IiwKLSAg
ICAgICAgImNvdW50ZXItaW5jcmVtZW50IiwgImNvdW50ZXItcmVzZXQiLCAiY3Vyc29yIiwgImRp
cmVjdGlvbiIsICJkaXNwbGF5IiwgImVtcHR5LWNlbGxzIiwgImZsb2F0IiwKLSAgICAgICAgImZv
bnQiLCAiZm9udC1mYW1pbHkiLCAiZm9udC1zaXplIiwgImZvbnQtc3RyZXRjaCIsICJmb250LXN0
eWxlIiwgImZvbnQtdmFyaWFudCIsICJmb250LXdlaWdodCIsCi0gICAgICAgICJoZWlnaHQiLCAi
bGVmdCIsICJsZXR0ZXItc3BhY2luZyIsICJsaW5lLWhlaWdodCIsICJsaXN0LXN0eWxlIiwgImxp
c3Qtc3R5bGUtaW1hZ2UiLCAibGlzdC1zdHlsZS1wb3NpdGlvbiIsCi0gICAgICAgICJsaXN0LXN0
eWxlLXR5cGUiLCAibWFyZ2luIiwgIm1hcmdpbi1ib3R0b20iLCAibWFyZ2luLWxlZnQiLCAibWFy
Z2luLXJpZ2h0IiwgIm1hcmdpbi10b3AiLCAibWF4LWhlaWdodCIsCi0gICAgICAgICJtYXgtd2lk
dGgiLCAibWluLWhlaWdodCIsICJtaW4td2lkdGgiLCAib3BhY2l0eSIsICJvcnBoYW5zIiwgIm91
dGxpbmUiLCAib3V0bGluZS1jb2xvciIsICJvdXRsaW5lLW9mZnNldCIsCi0gICAgICAgICJvdXRs
aW5lLXN0eWxlIiwgIm91dGxpbmUtd2lkdGgiLCAib3ZlcmZsb3ciLCAib3ZlcmZsb3cteCIsICJv
dmVyZmxvdy15IiwgInBhZGRpbmciLCAicGFkZGluZy1ib3R0b20iLAotICAgICAgICAicGFkZGlu
Zy1sZWZ0IiwgInBhZGRpbmctcmlnaHQiLCAicGFkZGluZy10b3AiLCAicGFnZSIsICJwYWdlLWJy
ZWFrLWFmdGVyIiwgInBhZ2UtYnJlYWstYmVmb3JlIiwKLSAgICAgICAgInBhZ2UtYnJlYWstaW5z
aWRlIiwgInBvaW50ZXItZXZlbnRzIiwgInBvc2l0aW9uIiwgInF1b3RlcyIsICJyZXNpemUiLCAi
cmlnaHQiLCAic2l6ZSIsICJzcmMiLAotICAgICAgICAidGFibGUtbGF5b3V0IiwgInRleHQtYWxp
Z24iLCAidGV4dC1kZWNvcmF0aW9uIiwgInRleHQtaW5kZW50IiwgInRleHQtbGluZS10aHJvdWdo
IiwgInRleHQtbGluZS10aHJvdWdoLWNvbG9yIiwKLSAgICAgICAgInRleHQtbGluZS10aHJvdWdo
LW1vZGUiLCAidGV4dC1saW5lLXRocm91Z2gtc3R5bGUiLCAidGV4dC1saW5lLXRocm91Z2gtd2lk
dGgiLCAidGV4dC1vdmVyZmxvdyIsICJ0ZXh0LW92ZXJsaW5lIiwKLSAgICAgICAgInRleHQtb3Zl
cmxpbmUtY29sb3IiLCAidGV4dC1vdmVybGluZS1tb2RlIiwgInRleHQtb3ZlcmxpbmUtc3R5bGUi
LCAidGV4dC1vdmVybGluZS13aWR0aCIsICJ0ZXh0LXJlbmRlcmluZyIsCi0gICAgICAgICJ0ZXh0
LXNoYWRvdyIsICJ0ZXh0LXRyYW5zZm9ybSIsICJ0ZXh0LXVuZGVybGluZSIsICJ0ZXh0LXVuZGVy
bGluZS1jb2xvciIsICJ0ZXh0LXVuZGVybGluZS1tb2RlIiwKLSAgICAgICAgInRleHQtdW5kZXJs
aW5lLXN0eWxlIiwgInRleHQtdW5kZXJsaW5lLXdpZHRoIiwgInRvcCIsICJ1bmljb2RlLWJpZGki
LCAidW5pY29kZS1yYW5nZSIsICJ2ZXJ0aWNhbC1hbGlnbiIsCi0gICAgICAgICJ2aXNpYmlsaXR5
IiwgIndoaXRlLXNwYWNlIiwgIndpZG93cyIsICJ3aWR0aCIsICJ3b3JkLWJyZWFrIiwgIndvcmQt
c3BhY2luZyIsICJ3b3JkLXdyYXAiLCAiei1pbmRleCIsICJ6b29tIiwKLSAgICAgICAgIi13ZWJr
aXQtYW5pbWF0aW9uIiwgIi13ZWJraXQtYW5pbWF0aW9uLWRlbGF5IiwgIi13ZWJraXQtYW5pbWF0
aW9uLWRpcmVjdGlvbiIsICItd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbiIsCi0gICAgICAgICIt
d2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQiLCAiLXdlYmtpdC1hbmltYXRpb24tbmFt
ZSIsICItd2Via2l0LWFuaW1hdGlvbi1wbGF5LXN0YXRlIiwKLSAgICAgICAgIi13ZWJraXQtYW5p
bWF0aW9uLXRpbWluZy1mdW5jdGlvbiIsICItd2Via2l0LWFwcGVhcmFuY2UiLCAiLXdlYmtpdC1i
YWNrZmFjZS12aXNpYmlsaXR5IiwKLSAgICAgICAgIi13ZWJraXQtYmFja2dyb3VuZC1jbGlwIiwg
Ii13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUiLCAiLXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdp
biIsICItd2Via2l0LWJhY2tncm91bmQtc2l6ZSIsCi0gICAgICAgICItd2Via2l0LWJpbmRpbmci
LCAiLXdlYmtpdC1ib3JkZXItZml0IiwgIi13ZWJraXQtYm9yZGVyLWhvcml6b250YWwtc3BhY2lu
ZyIsICItd2Via2l0LWJvcmRlci1pbWFnZSIsCi0gICAgICAgICItd2Via2l0LWJvcmRlci1yYWRp
dXMiLCAiLXdlYmtpdC1ib3JkZXItdmVydGljYWwtc3BhY2luZyIsICItd2Via2l0LWJveC1hbGln
biIsICItd2Via2l0LWJveC1kaXJlY3Rpb24iLAotICAgICAgICAiLXdlYmtpdC1ib3gtZmxleCIs
ICItd2Via2l0LWJveC1mbGV4LWdyb3VwIiwgIi13ZWJraXQtYm94LWxpbmVzIiwgIi13ZWJraXQt
Ym94LW9yZGluYWwtZ3JvdXAiLAotICAgICAgICAiLXdlYmtpdC1ib3gtb3JpZW50IiwgIi13ZWJr
aXQtYm94LXBhY2siLCAiLXdlYmtpdC1ib3gtcmVmbGVjdCIsICItd2Via2l0LWJveC1zaGFkb3ci
LCAiLXdlYmtpdC1ib3gtc2l6aW5nIiwKLSAgICAgICAgIi13ZWJraXQtY29sdW1uLWJyZWFrLWFm
dGVyIiwgIi13ZWJraXQtY29sdW1uLWJyZWFrLWJlZm9yZSIsICItd2Via2l0LWNvbHVtbi1icmVh
ay1pbnNpZGUiLCAiLXdlYmtpdC1jb2x1bW4tY291bnQiLAotICAgICAgICAiLXdlYmtpdC1jb2x1
bW4tZ2FwIiwgIi13ZWJraXQtY29sdW1uLXJ1bGUiLCAiLXdlYmtpdC1jb2x1bW4tcnVsZS1jb2xv
ciIsICItd2Via2l0LWNvbHVtbi1ydWxlLXN0eWxlIiwKLSAgICAgICAgIi13ZWJraXQtY29sdW1u
LXJ1bGUtd2lkdGgiLCAiLXdlYmtpdC1jb2x1bW4td2lkdGgiLCAiLXdlYmtpdC1jb2x1bW5zIiwg
Ii13ZWJraXQtZm9udC1zaXplLWRlbHRhIiwKLSAgICAgICAgIi13ZWJraXQtZm9udC1zbW9vdGhp
bmciLCAiLXdlYmtpdC1oaWdobGlnaHQiLCAiLXdlYmtpdC1saW5lLWJyZWFrIiwgIi13ZWJraXQt
bGluZS1jbGFtcCIsCi0gICAgICAgICItd2Via2l0LW1hcmdpbi1ib3R0b20tY29sbGFwc2UiLCAi
LXdlYmtpdC1tYXJnaW4tY29sbGFwc2UiLCAiLXdlYmtpdC1tYXJnaW4tc3RhcnQiLCAiLXdlYmtp
dC1tYXJnaW4tdG9wLWNvbGxhcHNlIiwKLSAgICAgICAgIi13ZWJraXQtbWFycXVlZSIsICItd2Vi
a2l0LW1hcnF1ZWUtZGlyZWN0aW9uIiwgIi13ZWJraXQtbWFycXVlZS1pbmNyZW1lbnQiLCAiLXdl
YmtpdC1tYXJxdWVlLXJlcGV0aXRpb24iLAotICAgICAgICAiLXdlYmtpdC1tYXJxdWVlLXNwZWVk
IiwgIi13ZWJraXQtbWFycXVlZS1zdHlsZSIsICItd2Via2l0LW1hc2siLCAiLXdlYmtpdC1tYXNr
LWF0dGFjaG1lbnQiLAotICAgICAgICAiLXdlYmtpdC1tYXNrLWJveC1pbWFnZSIsICItd2Via2l0
LW1hc2stY2xpcCIsICItd2Via2l0LW1hc2stY29tcG9zaXRlIiwgIi13ZWJraXQtbWFzay1pbWFn
ZSIsCi0gICAgICAgICItd2Via2l0LW1hc2stb3JpZ2luIiwgIi13ZWJraXQtbWFzay1wb3NpdGlv
biIsICItd2Via2l0LW1hc2stcG9zaXRpb24teCIsICItd2Via2l0LW1hc2stcG9zaXRpb24teSIs
Ci0gICAgICAgICItd2Via2l0LW1hc2stcmVwZWF0IiwgIi13ZWJraXQtbWFzay1yZXBlYXQteCIs
ICItd2Via2l0LW1hc2stcmVwZWF0LXkiLCAiLXdlYmtpdC1tYXNrLXNpemUiLAotICAgICAgICAi
LXdlYmtpdC1tYXRjaC1uZWFyZXN0LW1haWwtYmxvY2txdW90ZS1jb2xvciIsICItd2Via2l0LW5i
c3AtbW9kZSIsICItd2Via2l0LXBhZGRpbmctc3RhcnQiLAotICAgICAgICAiLXdlYmtpdC1wZXJz
cGVjdGl2ZSIsICItd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbiIsICItd2Via2l0LXBlcnNwZWN0
aXZlLW9yaWdpbi14IiwgIi13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luLXkiLAotICAgICAgICAi
LXdlYmtpdC1ydGwtb3JkZXJpbmciLCAiLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVj
dCIsICItd2Via2l0LXRleHQtZmlsbC1jb2xvciIsICItd2Via2l0LXRleHQtc2VjdXJpdHkiLAot
ICAgICAgICAiLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0IiwgIi13ZWJraXQtdGV4dC1zdHJva2Ui
LCAiLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvciIsICItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRo
IiwKLSAgICAgICAgIi13ZWJraXQtdHJhbnNmb3JtIiwgIi13ZWJraXQtdHJhbnNmb3JtLW9yaWdp
biIsICItd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4teCIsICItd2Via2l0LXRyYW5zZm9ybS1vcmln
aW4teSIsCi0gICAgICAgICItd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4teiIsICItd2Via2l0LXRy
YW5zZm9ybS1zdHlsZSIsICItd2Via2l0LXRyYW5zaXRpb24iLCAiLXdlYmtpdC10cmFuc2l0aW9u
LWRlbGF5IiwKLSAgICAgICAgIi13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbiIsICItd2Via2l0
LXRyYW5zaXRpb24tcHJvcGVydHkiLCAiLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlv
biIsCi0gICAgICAgICItd2Via2l0LXVzZXItZHJhZyIsICItd2Via2l0LXVzZXItbW9kaWZ5Iiwg
Ii13ZWJraXQtdXNlci1zZWxlY3QiLCAiLXdlYmtpdC12YXJpYWJsZS1kZWNsYXJhdGlvbi1ibG9j
ayIKLSAgICBdLmtleVNldCgpOworICAgIHRoaXMuX3Byb3BlcnR5S2V5d29yZHMgPSBJbnNwZWN0
b3JGcm9udGVuZEhvc3Quc3VwcG9ydGVkQ1NTUHJvcGVydGllcygpLmtleVNldCgpOwogICAgIAog
ICAgIHRoaXMuX3ZhbHVlS2V5d29yZHMgPSBbCiAgICAgICAgICJhYm92ZSIsICJhYnNvbHV0ZSIs
ICJhY3RpdmVib3JkZXIiLCAiYWN0aXZlY2FwdGlvbiIsICJhZmFyIiwgImFmdGVyLXdoaXRlLXNw
YWNlIiwgImFoZWFkIiwgImFsaWFzIiwgImFsbCIsICJhbGwtc2Nyb2xsIiwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIucmUyanMgYi9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzCmluZGV4
IDZiYTlmNjAuLjY0ZGViOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Tb3VyY2VDU1NUb2tlbml6ZXIucmUyanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NvdXJjZUNTU1Rva2VuaXplci5yZTJqcwpAQCAtNDQsNTcgKzQ0LDcgQEAgV2ViSW5zcGVj
dG9yLlNvdXJjZUNTU1Rva2VuaXplciA9IGZ1bmN0aW9uKCkKIHsKICAgICBXZWJJbnNwZWN0b3Iu
U291cmNlVG9rZW5pemVyLmNhbGwodGhpcyk7CiAKLSAgICB0aGlzLl9wcm9wZXJ0eUtleXdvcmRz
ID0gWwotICAgICAgICAiYmFja2dyb3VuZCIsICJiYWNrZ3JvdW5kLWF0dGFjaG1lbnQiLCAiYmFj
a2dyb3VuZC1jbGlwIiwgImJhY2tncm91bmQtY29sb3IiLCAiYmFja2dyb3VuZC1pbWFnZSIsCi0g
ICAgICAgICJiYWNrZ3JvdW5kLW9yaWdpbiIsICJiYWNrZ3JvdW5kLXBvc2l0aW9uIiwgImJhY2tn
cm91bmQtcG9zaXRpb24teCIsICJiYWNrZ3JvdW5kLXBvc2l0aW9uLXkiLAotICAgICAgICAiYmFj
a2dyb3VuZC1yZXBlYXQiLCAiYmFja2dyb3VuZC1yZXBlYXQteCIsICJiYWNrZ3JvdW5kLXJlcGVh
dC15IiwgImJhY2tncm91bmQtc2l6ZSIsICJib3JkZXIiLAotICAgICAgICAiYm9yZGVyLWJvdHRv
bSIsICJib3JkZXItYm90dG9tLWNvbG9yIiwgImJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMiLCAi
Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiLAotICAgICAgICAiYm9yZGVyLWJvdHRvbS1zdHls
ZSIsICJib3JkZXItYm90dG9tLXdpZHRoIiwgImJvcmRlci1jb2xsYXBzZSIsICJib3JkZXItY29s
b3IiLCAiYm9yZGVyLWxlZnQiLAotICAgICAgICAiYm9yZGVyLWxlZnQtY29sb3IiLCAiYm9yZGVy
LWxlZnQtc3R5bGUiLCAiYm9yZGVyLWxlZnQtd2lkdGgiLCAiYm9yZGVyLXJhZGl1cyIsICJib3Jk
ZXItcmlnaHQiLAotICAgICAgICAiYm9yZGVyLXJpZ2h0LWNvbG9yIiwgImJvcmRlci1yaWdodC1z
dHlsZSIsICJib3JkZXItcmlnaHQtd2lkdGgiLCAiYm9yZGVyLXNwYWNpbmciLCAiYm9yZGVyLXN0
eWxlIiwKLSAgICAgICAgImJvcmRlci10b3AiLCAiYm9yZGVyLXRvcC1jb2xvciIsICJib3JkZXIt
dG9wLWxlZnQtcmFkaXVzIiwgImJvcmRlci10b3AtcmlnaHQtcmFkaXVzIiwgImJvcmRlci10b3At
c3R5bGUiLAotICAgICAgICAiYm9yZGVyLXRvcC13aWR0aCIsICJib3JkZXItd2lkdGgiLCAiYm90
dG9tIiwgImNhcHRpb24tc2lkZSIsICJjbGVhciIsICJjbGlwIiwgImNvbG9yIiwgImNvbnRlbnQi
LAotICAgICAgICAiY291bnRlci1pbmNyZW1lbnQiLCAiY291bnRlci1yZXNldCIsICJjdXJzb3Ii
LCAiZGlyZWN0aW9uIiwgImRpc3BsYXkiLCAiZW1wdHktY2VsbHMiLCAiZmxvYXQiLAotICAgICAg
ICAiZm9udCIsICJmb250LWZhbWlseSIsICJmb250LXNpemUiLCAiZm9udC1zdHJldGNoIiwgImZv
bnQtc3R5bGUiLCAiZm9udC12YXJpYW50IiwgImZvbnQtd2VpZ2h0IiwKLSAgICAgICAgImhlaWdo
dCIsICJsZWZ0IiwgImxldHRlci1zcGFjaW5nIiwgImxpbmUtaGVpZ2h0IiwgImxpc3Qtc3R5bGUi
LCAibGlzdC1zdHlsZS1pbWFnZSIsICJsaXN0LXN0eWxlLXBvc2l0aW9uIiwKLSAgICAgICAgImxp
c3Qtc3R5bGUtdHlwZSIsICJtYXJnaW4iLCAibWFyZ2luLWJvdHRvbSIsICJtYXJnaW4tbGVmdCIs
ICJtYXJnaW4tcmlnaHQiLCAibWFyZ2luLXRvcCIsICJtYXgtaGVpZ2h0IiwKLSAgICAgICAgIm1h
eC13aWR0aCIsICJtaW4taGVpZ2h0IiwgIm1pbi13aWR0aCIsICJvcGFjaXR5IiwgIm9ycGhhbnMi
LCAib3V0bGluZSIsICJvdXRsaW5lLWNvbG9yIiwgIm91dGxpbmUtb2Zmc2V0IiwKLSAgICAgICAg
Im91dGxpbmUtc3R5bGUiLCAib3V0bGluZS13aWR0aCIsICJvdmVyZmxvdyIsICJvdmVyZmxvdy14
IiwgIm92ZXJmbG93LXkiLCAicGFkZGluZyIsICJwYWRkaW5nLWJvdHRvbSIsCi0gICAgICAgICJw
YWRkaW5nLWxlZnQiLCAicGFkZGluZy1yaWdodCIsICJwYWRkaW5nLXRvcCIsICJwYWdlIiwgInBh
Z2UtYnJlYWstYWZ0ZXIiLCAicGFnZS1icmVhay1iZWZvcmUiLAotICAgICAgICAicGFnZS1icmVh
ay1pbnNpZGUiLCAicG9pbnRlci1ldmVudHMiLCAicG9zaXRpb24iLCAicXVvdGVzIiwgInJlc2l6
ZSIsICJyaWdodCIsICJzaXplIiwgInNyYyIsCi0gICAgICAgICJ0YWJsZS1sYXlvdXQiLCAidGV4
dC1hbGlnbiIsICJ0ZXh0LWRlY29yYXRpb24iLCAidGV4dC1pbmRlbnQiLCAidGV4dC1saW5lLXRo
cm91Z2giLCAidGV4dC1saW5lLXRocm91Z2gtY29sb3IiLAotICAgICAgICAidGV4dC1saW5lLXRo
cm91Z2gtbW9kZSIsICJ0ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSIsICJ0ZXh0LWxpbmUtdGhyb3Vn
aC13aWR0aCIsICJ0ZXh0LW92ZXJmbG93IiwgInRleHQtb3ZlcmxpbmUiLAotICAgICAgICAidGV4
dC1vdmVybGluZS1jb2xvciIsICJ0ZXh0LW92ZXJsaW5lLW1vZGUiLCAidGV4dC1vdmVybGluZS1z
dHlsZSIsICJ0ZXh0LW92ZXJsaW5lLXdpZHRoIiwgInRleHQtcmVuZGVyaW5nIiwKLSAgICAgICAg
InRleHQtc2hhZG93IiwgInRleHQtdHJhbnNmb3JtIiwgInRleHQtdW5kZXJsaW5lIiwgInRleHQt
dW5kZXJsaW5lLWNvbG9yIiwgInRleHQtdW5kZXJsaW5lLW1vZGUiLAotICAgICAgICAidGV4dC11
bmRlcmxpbmUtc3R5bGUiLCAidGV4dC11bmRlcmxpbmUtd2lkdGgiLCAidG9wIiwgInVuaWNvZGUt
YmlkaSIsICJ1bmljb2RlLXJhbmdlIiwgInZlcnRpY2FsLWFsaWduIiwKLSAgICAgICAgInZpc2li
aWxpdHkiLCAid2hpdGUtc3BhY2UiLCAid2lkb3dzIiwgIndpZHRoIiwgIndvcmQtYnJlYWsiLCAi
d29yZC1zcGFjaW5nIiwgIndvcmQtd3JhcCIsICJ6LWluZGV4IiwgInpvb20iLAotICAgICAgICAi
LXdlYmtpdC1hbmltYXRpb24iLCAiLXdlYmtpdC1hbmltYXRpb24tZGVsYXkiLCAiLXdlYmtpdC1h
bmltYXRpb24tZGlyZWN0aW9uIiwgIi13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uIiwKLSAgICAg
ICAgIi13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCIsICItd2Via2l0LWFuaW1hdGlv
bi1uYW1lIiwgIi13ZWJraXQtYW5pbWF0aW9uLXBsYXktc3RhdGUiLAotICAgICAgICAiLXdlYmtp
dC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uIiwgIi13ZWJraXQtYXBwZWFyYW5jZSIsICItd2Vi
a2l0LWJhY2tmYWNlLXZpc2liaWxpdHkiLAotICAgICAgICAiLXdlYmtpdC1iYWNrZ3JvdW5kLWNs
aXAiLCAiLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZSIsICItd2Via2l0LWJhY2tncm91bmQt
b3JpZ2luIiwgIi13ZWJraXQtYmFja2dyb3VuZC1zaXplIiwKLSAgICAgICAgIi13ZWJraXQtYmlu
ZGluZyIsICItd2Via2l0LWJvcmRlci1maXQiLCAiLXdlYmtpdC1ib3JkZXItaG9yaXpvbnRhbC1z
cGFjaW5nIiwgIi13ZWJraXQtYm9yZGVyLWltYWdlIiwKLSAgICAgICAgIi13ZWJraXQtYm9yZGVy
LXJhZGl1cyIsICItd2Via2l0LWJvcmRlci12ZXJ0aWNhbC1zcGFjaW5nIiwgIi13ZWJraXQtYm94
LWFsaWduIiwgIi13ZWJraXQtYm94LWRpcmVjdGlvbiIsCi0gICAgICAgICItd2Via2l0LWJveC1m
bGV4IiwgIi13ZWJraXQtYm94LWZsZXgtZ3JvdXAiLCAiLXdlYmtpdC1ib3gtbGluZXMiLCAiLXdl
YmtpdC1ib3gtb3JkaW5hbC1ncm91cCIsCi0gICAgICAgICItd2Via2l0LWJveC1vcmllbnQiLCAi
LXdlYmtpdC1ib3gtcGFjayIsICItd2Via2l0LWJveC1yZWZsZWN0IiwgIi13ZWJraXQtYm94LXNo
YWRvdyIsICItd2Via2l0LWJveC1zaXppbmciLAotICAgICAgICAiLXdlYmtpdC1jb2x1bW4tYnJl
YWstYWZ0ZXIiLCAiLXdlYmtpdC1jb2x1bW4tYnJlYWstYmVmb3JlIiwgIi13ZWJraXQtY29sdW1u
LWJyZWFrLWluc2lkZSIsICItd2Via2l0LWNvbHVtbi1jb3VudCIsCi0gICAgICAgICItd2Via2l0
LWNvbHVtbi1nYXAiLCAiLXdlYmtpdC1jb2x1bW4tcnVsZSIsICItd2Via2l0LWNvbHVtbi1ydWxl
LWNvbG9yIiwgIi13ZWJraXQtY29sdW1uLXJ1bGUtc3R5bGUiLAotICAgICAgICAiLXdlYmtpdC1j
b2x1bW4tcnVsZS13aWR0aCIsICItd2Via2l0LWNvbHVtbi13aWR0aCIsICItd2Via2l0LWNvbHVt
bnMiLCAiLXdlYmtpdC1mb250LXNpemUtZGVsdGEiLAotICAgICAgICAiLXdlYmtpdC1mb250LXNt
b290aGluZyIsICItd2Via2l0LWhpZ2hsaWdodCIsICItd2Via2l0LWxpbmUtYnJlYWsiLCAiLXdl
YmtpdC1saW5lLWNsYW1wIiwKLSAgICAgICAgIi13ZWJraXQtbWFyZ2luLWJvdHRvbS1jb2xsYXBz
ZSIsICItd2Via2l0LW1hcmdpbi1jb2xsYXBzZSIsICItd2Via2l0LW1hcmdpbi1zdGFydCIsICIt
d2Via2l0LW1hcmdpbi10b3AtY29sbGFwc2UiLAotICAgICAgICAiLXdlYmtpdC1tYXJxdWVlIiwg
Ii13ZWJraXQtbWFycXVlZS1kaXJlY3Rpb24iLCAiLXdlYmtpdC1tYXJxdWVlLWluY3JlbWVudCIs
ICItd2Via2l0LW1hcnF1ZWUtcmVwZXRpdGlvbiIsCi0gICAgICAgICItd2Via2l0LW1hcnF1ZWUt
c3BlZWQiLCAiLXdlYmtpdC1tYXJxdWVlLXN0eWxlIiwgIi13ZWJraXQtbWFzayIsICItd2Via2l0
LW1hc2stYXR0YWNobWVudCIsCi0gICAgICAgICItd2Via2l0LW1hc2stYm94LWltYWdlIiwgIi13
ZWJraXQtbWFzay1jbGlwIiwgIi13ZWJraXQtbWFzay1jb21wb3NpdGUiLCAiLXdlYmtpdC1tYXNr
LWltYWdlIiwKLSAgICAgICAgIi13ZWJraXQtbWFzay1vcmlnaW4iLCAiLXdlYmtpdC1tYXNrLXBv
c2l0aW9uIiwgIi13ZWJraXQtbWFzay1wb3NpdGlvbi14IiwgIi13ZWJraXQtbWFzay1wb3NpdGlv
bi15IiwKLSAgICAgICAgIi13ZWJraXQtbWFzay1yZXBlYXQiLCAiLXdlYmtpdC1tYXNrLXJlcGVh
dC14IiwgIi13ZWJraXQtbWFzay1yZXBlYXQteSIsICItd2Via2l0LW1hc2stc2l6ZSIsCi0gICAg
ICAgICItd2Via2l0LW1hdGNoLW5lYXJlc3QtbWFpbC1ibG9ja3F1b3RlLWNvbG9yIiwgIi13ZWJr
aXQtbmJzcC1tb2RlIiwgIi13ZWJraXQtcGFkZGluZy1zdGFydCIsCi0gICAgICAgICItd2Via2l0
LXBlcnNwZWN0aXZlIiwgIi13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luIiwgIi13ZWJraXQtcGVy
c3BlY3RpdmUtb3JpZ2luLXgiLCAiLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW4teSIsCi0gICAg
ICAgICItd2Via2l0LXJ0bC1vcmRlcmluZyIsICItd2Via2l0LXRleHQtZGVjb3JhdGlvbnMtaW4t
ZWZmZWN0IiwgIi13ZWJraXQtdGV4dC1maWxsLWNvbG9yIiwgIi13ZWJraXQtdGV4dC1zZWN1cml0
eSIsCi0gICAgICAgICItd2Via2l0LXRleHQtc2l6ZS1hZGp1c3QiLCAiLXdlYmtpdC10ZXh0LXN0
cm9rZSIsICItd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yIiwgIi13ZWJraXQtdGV4dC1zdHJva2Ut
d2lkdGgiLAotICAgICAgICAiLXdlYmtpdC10cmFuc2Zvcm0iLCAiLXdlYmtpdC10cmFuc2Zvcm0t
b3JpZ2luIiwgIi13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbi14IiwgIi13ZWJraXQtdHJhbnNmb3Jt
LW9yaWdpbi15IiwKLSAgICAgICAgIi13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbi16IiwgIi13ZWJr
aXQtdHJhbnNmb3JtLXN0eWxlIiwgIi13ZWJraXQtdHJhbnNpdGlvbiIsICItd2Via2l0LXRyYW5z
aXRpb24tZGVsYXkiLAotICAgICAgICAiLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uIiwgIi13
ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eSIsICItd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1
bmN0aW9uIiwKLSAgICAgICAgIi13ZWJraXQtdXNlci1kcmFnIiwgIi13ZWJraXQtdXNlci1tb2Rp
ZnkiLCAiLXdlYmtpdC11c2VyLXNlbGVjdCIsICItd2Via2l0LXZhcmlhYmxlLWRlY2xhcmF0aW9u
LWJsb2NrIgotICAgIF0ua2V5U2V0KCk7CisgICAgdGhpcy5fcHJvcGVydHlLZXl3b3JkcyA9IElu
c3BlY3RvckZyb250ZW5kSG9zdC5zdXBwb3J0ZWRDU1NQcm9wZXJ0aWVzKCkua2V5U2V0KCk7CiAg
ICAgCiAgICAgdGhpcy5fdmFsdWVLZXl3b3JkcyA9IFsKICAgICAgICAgImFib3ZlIiwgImFic29s
dXRlIiwgImFjdGl2ZWJvcmRlciIsICJhY3RpdmVjYXB0aW9uIiwgImFmYXIiLCAiYWZ0ZXItd2hp
dGUtc3BhY2UiLCAiYWhlYWQiLCAiYWxpYXMiLCAiYWxsIiwgImFsbC1zY3JvbGwiLAo=
</data>
<flag name="review"
          id="47711"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64933</attachid>
            <date>2010-08-20 00:47:41 -0700</date>
            <delta_ts>2010-08-23 23:00:41 -0700</delta_ts>
            <desc>[PATCH] List Generated on Backend</desc>
            <filename>css-prop-list-3.patch</filename>
            <type>text/plain</type>
            <size>20936</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MjE4ZGQ3YS4uNmM5MDA4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMC0wOC0yMCAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVja0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEJhY2tlbmQgU2hvdWxkIFByb3ZpZGUg
RnVsbCBTdXBwb3J0ZWQgQ1NTIFByb3BlcnRpZXMgTGlzdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA4ODYKKworICAgICAgICBUaGlzIGFsbG93cyB0
aGUgYmFja2VuZCB0byBzZW5kIHRoZSBmcm9udC1lbmQgaXRzIGNvbXBsZXRlIGxpc3Qgb2YKKyAg
ICAgICAgc3VwcG9ydGVkIENTUyBQcm9wZXJ0aWVzLiBUaGlzIGlzIHVzZWQgaW4gQ1NTIEF1dG9j
b21wbGV0aW9uIGFuZAorICAgICAgICBDU1MgU3ludGF4IEhpZ2hsaWdodGluZyB0byBzaG93IHdo
aWNoIHN0eWxlcyBhcmUgc3VwcG9ydGVkLgorCisgICAgICAgICogY3NzL21ha2Vwcm9wLnBsOiBt
b3ZlZCBDU1MgcHJvcGVydGllcyB0byB0aGUgaGVhZGVyIGZpbGUuCisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3Rvci5pZGw6IGV4cG9zZSBnZXRTdXBwb3J0ZWRDU1NQcm9wZXJ0aWVzLgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JET01BZ2VudDo6Z2V0U3VwcG9ydGVkQ1NTUHJvcGVydGllcyk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9DU1NDb21wbGV0aW9ucy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NDb21w
bGV0aW9ucy5fZmlyc3RJbmRleE9mUHJlZml4KTogaGFuZGxlIGEgcG9zc2libGUgZXJyb3IgY2Fz
ZSBiZWZvcmUgcHJvcGVydGllcyBoYXZlIGxvYWRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
U1NDb21wbGV0aW9ucy5fbG9hZCk6IGZpbGwgdXAgdGhlIHNwZWNpYWwgYXJyYXkgd2l0aCB0aGUg
cmVjZWl2ZWQgcHJvcGVydGllcy4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJj
ZUNTU1Rva2VuaXplci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6
ZXIpOiB1c2UgdGhlIGxpc3Qgb2Ygc3VwcG9ydCBwcm9wZXJ0aWVzIGZyb20gdGhlIGJhY2tlbmQu
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIucmUyanM6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6IHJlcXVlc3QgdGhl
IGxpc3Qgb2Ygc3VwcG9ydGVkIENTUyBwcm9wZXJ0aWVzIG9uIGxvYWQuCisgICAgICAgIChXZWJJ
bnNwZWN0b3IuZG9Mb2FkZWREb25lKToKKwogMjAxMC0wOC0xOSAgVmluY2VudCBTY2hlaWIgIDxz
Y2hlaWJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwgYi9XZWJDb3JlL2Nzcy9tYWtlcHJv
cC5wbAppbmRleCAwZmQxZjA4Li44ODEwZThkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9tYWtl
cHJvcC5wbAorKysgYi9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbApAQCAtOTUsNiArOTUsMTIgQEAg
cHJpbnQgSEVBREVSICJjb25zdCBpbnQgZmlyc3RDU1NQcm9wZXJ0eSA9ICRmaXJzdDtcbiI7CiBw
cmludCBIRUFERVIgImNvbnN0IGludCBudW1DU1NQcm9wZXJ0aWVzID0gJG51bTtcbiI7CiBwcmlu
dCBIRUFERVIgImNvbnN0IHNpemVfdCBtYXhDU1NQcm9wZXJ0eU5hbWVMZW5ndGggPSAkbWF4TGVu
O1xuIjsKIAorcHJpbnQgSEVBREVSICJjb25zdCBjaGFyKiBjb25zdCBwcm9wZXJ0eU5hbWVTdHJp
bmdzWyRudW1dID0ge1xuIjsKK2ZvcmVhY2ggbXkgJG5hbWUgKEBuYW1lcykgeworICBwcmludCBI
RUFERVIgIlwiJG5hbWVcIixcbiI7Cit9CitwcmludCBIRUFERVIgIn07XG4iOworCiBwcmludCBI
RUFERVIgPDwgIkVPRiI7CiAKIGNvbnN0IGNoYXIqIGdldFByb3BlcnR5TmFtZShDU1NQcm9wZXJ0
eUlEKTsKQEAgLTEwOCwxNCArMTE0LDggQEAgY2xvc2UgSEVBREVSOwogc3lzdGVtKCJncGVyZiAt
LWtleS1wb3NpdGlvbnM9XCIqXCIgLUQgLW4gLXMgMiBDU1NQcm9wZXJ0eU5hbWVzLmdwZXJmID4g
Q1NTUHJvcGVydHlOYW1lcy5jcHAiKSA9PSAwIHx8IGRpZSAiY2FsbGluZyBncGVyZiBmYWlsZWQ6
ICQ/IjsKIAogb3BlbiBDLCAiPj5DU1NQcm9wZXJ0eU5hbWVzLmNwcCIgfHwgZGllICJDb3VsZCBu
b3Qgb3BlbiBDU1NQcm9wZXJ0eU5hbWVzLmNwcCBmb3Igd3JpdGluZyI7Ci1wcmludCBDICJzdGF0
aWMgY29uc3QgY2hhciAqIGNvbnN0IHByb3BlcnR5TmFtZVN0cmluZ3NbJG51bV0gPSB7XG4iOwot
Ci1mb3JlYWNoIG15ICRuYW1lIChAbmFtZXMpIHsKLSAgcHJpbnQgQyAiXCIkbmFtZVwiLFxuIjsK
LX0KLQogcHJpbnQgQyA8PCAiRU9GIjsKLX07CisKIGNvbnN0IGNoYXIqIGdldFByb3BlcnR5TmFt
ZShDU1NQcm9wZXJ0eUlEIGlkKQogewogICAgIGlmIChpZCA8IGZpcnN0Q1NTUHJvcGVydHkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmlkbAppbmRleCAxYzY2YjU5Li5hMDI3ZjFjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvci5pZGwKQEAgLTE5NCw2ICsxOTQsNyBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIFto
YW5kbGVyPURPTV0gdm9pZCB0b2dnbGVTdHlsZUVuYWJsZWQoaW4gbG9uZyBjYWxsSWQsIGluIGxv
bmcgc3R5bGVJZCwgaW4gU3RyaW5nIHByb3BlcnR5TmFtZSwgaW4gYm9vbGVhbiBkaXNhYmxlZCwg
b3V0IFZhbHVlIHN0eWxlKTsKICAgICAgICAgW2hhbmRsZXI9RE9NXSB2b2lkIHNldFJ1bGVTZWxl
Y3RvcihpbiBsb25nIGNhbGxJZCwgaW4gbG9uZyBydWxlSWQsIGluIFN0cmluZyBzZWxlY3Rvciwg
aW4gbG9uZyBzZWxlY3RlZE5vZGVJZCwgb3V0IFZhbHVlIHJ1bGUsIG91dCBib29sZWFuIHNlbGVj
dG9yQWZmZWN0c05vZGUpOwogICAgICAgICBbaGFuZGxlcj1ET01dIHZvaWQgYWRkUnVsZShpbiBs
b25nIGNhbGxJZCwgaW4gU3RyaW5nIHNlbGVjdG9yLCBpbiBsb25nIHNlbGVjdGVkTm9kZUlkLCBv
dXQgVmFsdWUgcnVsZSwgb3V0IGJvb2xlYW4gc2VsZWN0b3JBZmZlY3RzTm9kZSk7CisgICAgICAg
IFtoYW5kbGVyPURPTV0gdm9pZCBnZXRTdXBwb3J0ZWRDU1NQcm9wZXJ0aWVzKGluIGxvbmcgY2Fs
bElkLCBvdXQgQXJyYXkgY3NzUHJvcGVydGllcyk7CiAKICAgICAgICAgW2hhbmRsZXI9Q29udHJv
bGxlcl0gdm9pZCBnZXRDb29raWVzKGluIGxvbmcgY2FsbElkLCBvdXQgQXJyYXkgY29va2llcywg
b3V0IFN0cmluZyBjb29raWVzU3RyaW5nKTsKICAgICAgICAgW2hhbmRsZXI9Q29udHJvbGxlcl0g
dm9pZCBkZWxldGVDb29raWUoaW4gU3RyaW5nIGNvb2tpZU5hbWUsIGluIFN0cmluZyBkb21haW4p
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IDYyNDMyOTkuLmJi
Njc0YTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNw
cAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTM1LDYg
KzM1LDcgQEAKIAogI2luY2x1ZGUgIkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIgogI2lu
Y2x1ZGUgIkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgiCisjaW5jbHVkZSAiQ1NTUHJvcGVy
dHlOYW1lcy5oIgogI2luY2x1ZGUgIkNTU1J1bGUuaCIKICNpbmNsdWRlICJDU1NSdWxlTGlzdC5o
IgogI2luY2x1ZGUgIkNTU1N0eWxlUnVsZS5oIgpAQCAtMTI5Nyw2ICsxMjk4LDE0IEBAIHZvaWQg
SW5zcGVjdG9yRE9NQWdlbnQ6OmFkZFJ1bGUoY29uc3QgU3RyaW5nJiBzZWxlY3RvciwgbG9uZyBz
ZWxlY3RlZE5vZGVJZCwgUmVmCiAgICAgKnJ1bGVPYmplY3QgPSBidWlsZE9iamVjdEZvclJ1bGUo
bm9kZS0+b3duZXJEb2N1bWVudCgpLCBuZXdSdWxlKTsKIH0KIAordm9pZCBJbnNwZWN0b3JET01B
Z2VudDo6Z2V0U3VwcG9ydGVkQ1NTUHJvcGVydGllcyhSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBj
c3NQcm9wZXJ0aWVzKQoreworICAgIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gcHJvcGVydGllcyA9
IEluc3BlY3RvckFycmF5OjpjcmVhdGUoKTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bUNT
U1Byb3BlcnRpZXM7ICsraSkKKyAgICAgICAgcHJvcGVydGllcy0+cHVzaFN0cmluZyhwcm9wZXJ0
eU5hbWVTdHJpbmdzW2ldKTsKKyAgICAqY3NzUHJvcGVydGllcyA9IHByb3BlcnRpZXMucmVsZWFz
ZSgpOworfQorCiBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gSW5zcGVjdG9yRE9NQWdlbnQ6
OmJ1aWxkT2JqZWN0Rm9yU3R5bGUoQ1NTU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUsIGJvb2wgYmlu
ZCkKIHsKICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiByZXN1bHQgPSBJbnNwZWN0b3JPYmpl
Y3Q6OmNyZWF0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggNTMx
N2EyMi4uYzViN2EwMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCkBAIC0x
MjYsNiArMTI2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHRvZ2dsZVN0
eWxlRW5hYmxlZChsb25nIHN0eWxlSWQsIGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1lLCBib29s
IGRpc2FibGVkLCBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBzdHlsZU9iamVjdCk7CiAgICAgICAg
IHZvaWQgc2V0UnVsZVNlbGVjdG9yKGxvbmcgcnVsZUlkLCBjb25zdCBTdHJpbmcmIHNlbGVjdG9y
LCBsb25nIHNlbGVjdGVkTm9kZUlkLCBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBydWxlT2JqZWN0
LCBib29sKiBzZWxlY3RvckFmZmVjdHNOb2RlKTsKICAgICAgICAgdm9pZCBhZGRSdWxlKGNvbnN0
IFN0cmluZyYgc2VsZWN0b3IsIGxvbmcgc2VsZWN0ZWROb2RlSWQsIFJlZlB0cjxJbnNwZWN0b3JW
YWx1ZT4qIHJ1bGVPYmplY3QsIGJvb2wqIHNlbGVjdG9yQWZmZWN0c05vZGUpOworICAgICAgICB2
b2lkIGdldFN1cHBvcnRlZENTU1Byb3BlcnRpZXMoUmVmUHRyPEluc3BlY3RvckFycmF5PiogY3Nz
UHJvcGVydGllcyk7CiAKICAgICAgICAgLy8gTWV0aG9kcyBjYWxsZWQgZnJvbSB0aGUgSW5zcGVj
dG9yQ29udHJvbGxlci4KICAgICAgICAgdm9pZCBzZXREb2N1bWVudChEb2N1bWVudCogZG9jdW1l
bnQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRp
b25zLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRpb25zLmpzCmlu
ZGV4IDU0ODU0NjQuLjk0ODA0NjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9DU1NDb21wbGV0aW9ucy5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q1NTQ29tcGxldGlvbnMuanMKQEAgLTEsMjcgKzEsNCBAQAotV2ViSW5zcGVjdG9yLkNTU0NvbXBs
ZXRpb25zID0gKGZ1bmN0aW9uKCkgewotICAgIHZhciB1c2VkID0ge307Ci0gICAgdmFyIHByb3Bl
cnRpZXMgPSBbXTsKLSAgICB2YXIgc3R5bGUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5
bGU7Ci0gICAgdmFyIGxpc3QgPSBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgIiIpOwotICAgIHZhciBsZW5ndGggPSBsaXN0Lmxl
bmd0aDsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQotICAgICAgICB1c2Vk
W3Byb3BlcnRpZXNbaV0gPSBsaXN0W2ldXSA9IHRydWU7Ci0KLSAgICBmb3IgKHZhciBpID0gMCwg
ZW5kID0gbGVuZ3RoOyBpIDwgbGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIHByb3BlcnR5V29y
ZHMgPSBwcm9wZXJ0aWVzW2ldLnNwbGl0KCItIik7Ci0gICAgICAgIHZhciBqID0gcHJvcGVydHlX
b3Jkcy5sZW5ndGg7Ci0gICAgICAgIHdoaWxlICgtLWopIHsKLSAgICAgICAgICAgIHByb3BlcnR5
V29yZHMucG9wKCk7Ci0gICAgICAgICAgICB2YXIgc2hvcnRoYW5kID0gcHJvcGVydHlXb3Jkcy5q
b2luKCItIik7Ci0gICAgICAgICAgICBpZiAoIShzaG9ydGhhbmQgaW4gdXNlZCkgJiYgc3R5bGVb
c2hvcnRoYW5kXSAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgICAgICAgICAgdXNlZFtzaG9ydGhh
bmRdID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzW2VuZCsrXSA9IHNob3J0aGFu
ZDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIHJldHVybiBwcm9wZXJ0
aWVzLnNvcnQoKTsKLX0pKCk7CitXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMgPSBbXTsKIAog
V2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLnN0YXJ0c1dpdGggPSBmdW5jdGlvbihwcmVmaXgp
CiB7CkBAIC00NSw2ICsyMiw4IEBAIFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5fZmlyc3RJ
bmRleE9mUHJlZml4ID0gZnVuY3Rpb24ocHJlZml4KQogewogICAgIGlmICghcHJlZml4KQogICAg
ICAgICByZXR1cm4gLTE7CisgICAgaWYgKCF0aGlzLmxlbmd0aCkKKyAgICAgICAgcmV0dXJuIC0x
OwogCiAgICAgdmFyIG1heEluZGV4ID0gdGhpcy5sZW5ndGggLSAxOwogICAgIHZhciBtaW5JbmRl
eCA9IDA7CkBAIC0xMDAsMyArNzksMTAgQEAgV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLl9j
bG9zZXN0ID0gZnVuY3Rpb24oc3RyLCBwcmVmaXgsIHNoaWZ0KQogICAgIGogPSAoaiArIHByb3Bl
cnRpZXNXaXRoUHJlZml4Lmxlbmd0aCArIHNoaWZ0KSAlIHByb3BlcnRpZXNXaXRoUHJlZml4Lmxl
bmd0aDsKICAgICByZXR1cm4gcHJvcGVydGllc1dpdGhQcmVmaXhbal07CiB9CisKK1dlYkluc3Bl
Y3Rvci5DU1NDb21wbGV0aW9ucy5fbG9hZCA9IGZ1bmN0aW9uKHByb3BlcnRpZXMpCit7CisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wZXJ0aWVzLmxlbmd0aDsgKytpKQorICAgICAgICBXZWJJ
bnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMucHVzaChwcm9wZXJ0aWVzW2ldKTsKKyAgICBXZWJJbnNw
ZWN0b3IuQ1NTQ29tcGxldGlvbnMuc29ydCgpOworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXplci5qcyBiL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanMKaW5kZXggMjE3OTk4Mi4uODIxNDllMCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXpl
ci5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVy
LmpzCkBAIC00NSw2MCArNDUsOCBAQCBXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyID0g
ZnVuY3Rpb24oKQogewogICAgIFdlYkluc3BlY3Rvci5Tb3VyY2VUb2tlbml6ZXIuY2FsbCh0aGlz
KTsKIAotICAgIHRoaXMuX3Byb3BlcnR5S2V5d29yZHMgPSBbCi0gICAgICAgICJiYWNrZ3JvdW5k
IiwgImJhY2tncm91bmQtYXR0YWNobWVudCIsICJiYWNrZ3JvdW5kLWNsaXAiLCAiYmFja2dyb3Vu
ZC1jb2xvciIsICJiYWNrZ3JvdW5kLWltYWdlIiwKLSAgICAgICAgImJhY2tncm91bmQtb3JpZ2lu
IiwgImJhY2tncm91bmQtcG9zaXRpb24iLCAiYmFja2dyb3VuZC1wb3NpdGlvbi14IiwgImJhY2tn
cm91bmQtcG9zaXRpb24teSIsCi0gICAgICAgICJiYWNrZ3JvdW5kLXJlcGVhdCIsICJiYWNrZ3Jv
dW5kLXJlcGVhdC14IiwgImJhY2tncm91bmQtcmVwZWF0LXkiLCAiYmFja2dyb3VuZC1zaXplIiwg
ImJvcmRlciIsCi0gICAgICAgICJib3JkZXItYm90dG9tIiwgImJvcmRlci1ib3R0b20tY29sb3Ii
LCAiYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyIsICJib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1
cyIsCi0gICAgICAgICJib3JkZXItYm90dG9tLXN0eWxlIiwgImJvcmRlci1ib3R0b20td2lkdGgi
LCAiYm9yZGVyLWNvbGxhcHNlIiwgImJvcmRlci1jb2xvciIsICJib3JkZXItbGVmdCIsCi0gICAg
ICAgICJib3JkZXItbGVmdC1jb2xvciIsICJib3JkZXItbGVmdC1zdHlsZSIsICJib3JkZXItbGVm
dC13aWR0aCIsICJib3JkZXItcmFkaXVzIiwgImJvcmRlci1yaWdodCIsCi0gICAgICAgICJib3Jk
ZXItcmlnaHQtY29sb3IiLCAiYm9yZGVyLXJpZ2h0LXN0eWxlIiwgImJvcmRlci1yaWdodC13aWR0
aCIsICJib3JkZXItc3BhY2luZyIsICJib3JkZXItc3R5bGUiLAotICAgICAgICAiYm9yZGVyLXRv
cCIsICJib3JkZXItdG9wLWNvbG9yIiwgImJvcmRlci10b3AtbGVmdC1yYWRpdXMiLCAiYm9yZGVy
LXRvcC1yaWdodC1yYWRpdXMiLCAiYm9yZGVyLXRvcC1zdHlsZSIsCi0gICAgICAgICJib3JkZXIt
dG9wLXdpZHRoIiwgImJvcmRlci13aWR0aCIsICJib3R0b20iLCAiY2FwdGlvbi1zaWRlIiwgImNs
ZWFyIiwgImNsaXAiLCAiY29sb3IiLCAiY29udGVudCIsCi0gICAgICAgICJjb3VudGVyLWluY3Jl
bWVudCIsICJjb3VudGVyLXJlc2V0IiwgImN1cnNvciIsICJkaXJlY3Rpb24iLCAiZGlzcGxheSIs
ICJlbXB0eS1jZWxscyIsICJmbG9hdCIsCi0gICAgICAgICJmb250IiwgImZvbnQtZmFtaWx5Iiwg
ImZvbnQtc2l6ZSIsICJmb250LXN0cmV0Y2giLCAiZm9udC1zdHlsZSIsICJmb250LXZhcmlhbnQi
LCAiZm9udC13ZWlnaHQiLAotICAgICAgICAiaGVpZ2h0IiwgImxlZnQiLCAibGV0dGVyLXNwYWNp
bmciLCAibGluZS1oZWlnaHQiLCAibGlzdC1zdHlsZSIsICJsaXN0LXN0eWxlLWltYWdlIiwgImxp
c3Qtc3R5bGUtcG9zaXRpb24iLAotICAgICAgICAibGlzdC1zdHlsZS10eXBlIiwgIm1hcmdpbiIs
ICJtYXJnaW4tYm90dG9tIiwgIm1hcmdpbi1sZWZ0IiwgIm1hcmdpbi1yaWdodCIsICJtYXJnaW4t
dG9wIiwgIm1heC1oZWlnaHQiLAotICAgICAgICAibWF4LXdpZHRoIiwgIm1pbi1oZWlnaHQiLCAi
bWluLXdpZHRoIiwgIm9wYWNpdHkiLCAib3JwaGFucyIsICJvdXRsaW5lIiwgIm91dGxpbmUtY29s
b3IiLCAib3V0bGluZS1vZmZzZXQiLAotICAgICAgICAib3V0bGluZS1zdHlsZSIsICJvdXRsaW5l
LXdpZHRoIiwgIm92ZXJmbG93IiwgIm92ZXJmbG93LXgiLCAib3ZlcmZsb3cteSIsICJwYWRkaW5n
IiwgInBhZGRpbmctYm90dG9tIiwKLSAgICAgICAgInBhZGRpbmctbGVmdCIsICJwYWRkaW5nLXJp
Z2h0IiwgInBhZGRpbmctdG9wIiwgInBhZ2UiLCAicGFnZS1icmVhay1hZnRlciIsICJwYWdlLWJy
ZWFrLWJlZm9yZSIsCi0gICAgICAgICJwYWdlLWJyZWFrLWluc2lkZSIsICJwb2ludGVyLWV2ZW50
cyIsICJwb3NpdGlvbiIsICJxdW90ZXMiLCAicmVzaXplIiwgInJpZ2h0IiwgInNpemUiLCAic3Jj
IiwKLSAgICAgICAgInRhYmxlLWxheW91dCIsICJ0ZXh0LWFsaWduIiwgInRleHQtZGVjb3JhdGlv
biIsICJ0ZXh0LWluZGVudCIsICJ0ZXh0LWxpbmUtdGhyb3VnaCIsICJ0ZXh0LWxpbmUtdGhyb3Vn
aC1jb2xvciIsCi0gICAgICAgICJ0ZXh0LWxpbmUtdGhyb3VnaC1tb2RlIiwgInRleHQtbGluZS10
aHJvdWdoLXN0eWxlIiwgInRleHQtbGluZS10aHJvdWdoLXdpZHRoIiwgInRleHQtb3ZlcmZsb3ci
LCAidGV4dC1vdmVybGluZSIsCi0gICAgICAgICJ0ZXh0LW92ZXJsaW5lLWNvbG9yIiwgInRleHQt
b3ZlcmxpbmUtbW9kZSIsICJ0ZXh0LW92ZXJsaW5lLXN0eWxlIiwgInRleHQtb3ZlcmxpbmUtd2lk
dGgiLCAidGV4dC1yZW5kZXJpbmciLAotICAgICAgICAidGV4dC1zaGFkb3ciLCAidGV4dC10cmFu
c2Zvcm0iLCAidGV4dC11bmRlcmxpbmUiLCAidGV4dC11bmRlcmxpbmUtY29sb3IiLCAidGV4dC11
bmRlcmxpbmUtbW9kZSIsCi0gICAgICAgICJ0ZXh0LXVuZGVybGluZS1zdHlsZSIsICJ0ZXh0LXVu
ZGVybGluZS13aWR0aCIsICJ0b3AiLCAidW5pY29kZS1iaWRpIiwgInVuaWNvZGUtcmFuZ2UiLCAi
dmVydGljYWwtYWxpZ24iLAotICAgICAgICAidmlzaWJpbGl0eSIsICJ3aGl0ZS1zcGFjZSIsICJ3
aWRvd3MiLCAid2lkdGgiLCAid29yZC1icmVhayIsICJ3b3JkLXNwYWNpbmciLCAid29yZC13cmFw
IiwgInotaW5kZXgiLCAiem9vbSIsCi0gICAgICAgICItd2Via2l0LWFuaW1hdGlvbiIsICItd2Vi
a2l0LWFuaW1hdGlvbi1kZWxheSIsICItd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb24iLCAiLXdl
YmtpdC1hbmltYXRpb24tZHVyYXRpb24iLAotICAgICAgICAiLXdlYmtpdC1hbmltYXRpb24taXRl
cmF0aW9uLWNvdW50IiwgIi13ZWJraXQtYW5pbWF0aW9uLW5hbWUiLCAiLXdlYmtpdC1hbmltYXRp
b24tcGxheS1zdGF0ZSIsCi0gICAgICAgICItd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rp
b24iLCAiLXdlYmtpdC1hcHBlYXJhbmNlIiwgIi13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eSIs
Ci0gICAgICAgICItd2Via2l0LWJhY2tncm91bmQtY2xpcCIsICItd2Via2l0LWJhY2tncm91bmQt
Y29tcG9zaXRlIiwgIi13ZWJraXQtYmFja2dyb3VuZC1vcmlnaW4iLCAiLXdlYmtpdC1iYWNrZ3Jv
dW5kLXNpemUiLAotICAgICAgICAiLXdlYmtpdC1iaW5kaW5nIiwgIi13ZWJraXQtYm9yZGVyLWVu
ZCIsICItd2Via2l0LWJvcmRlci1lbmQtY29sb3IiLCAiLXdlYmtpdC1ib3JkZXItZW5kLXN0eWxl
IiwgIi13ZWJraXQtYm9yZGVyLWVuZC13aWR0aCIsCi0gICAgICAgICItd2Via2l0LWJvcmRlci1m
aXQiLCAiLXdlYmtpdC1ib3JkZXItaG9yaXpvbnRhbC1zcGFjaW5nIiwgIi13ZWJraXQtYm9yZGVy
LWltYWdlIiwKLSAgICAgICAgIi13ZWJraXQtYm9yZGVyLXJhZGl1cyIsICItd2Via2l0LWJvcmRl
ci1zdGFydCIsICItd2Via2l0LWJvcmRlci1zdGFydC1jb2xvciIsICItd2Via2l0LWJvcmRlci1z
dGFydC1zdHlsZSIsCi0gICAgICAgICItd2Via2l0LWJvcmRlci1zdGFydC13aWR0aCIsIi13ZWJr
aXQtYm9yZGVyLXZlcnRpY2FsLXNwYWNpbmciLCAiLXdlYmtpdC1ib3gtYWxpZ24iLCAiLXdlYmtp
dC1ib3gtZGlyZWN0aW9uIiwKLSAgICAgICAgIi13ZWJraXQtYm94LWZsZXgiLCAiLXdlYmtpdC1i
b3gtZmxleC1ncm91cCIsICItd2Via2l0LWJveC1saW5lcyIsICItd2Via2l0LWJveC1vcmRpbmFs
LWdyb3VwIiwKLSAgICAgICAgIi13ZWJraXQtYm94LW9yaWVudCIsICItd2Via2l0LWJveC1wYWNr
IiwgIi13ZWJraXQtYm94LXJlZmxlY3QiLCAiLXdlYmtpdC1ib3gtc2hhZG93IiwgIi13ZWJraXQt
Ym94LXNpemluZyIsCi0gICAgICAgICItd2Via2l0LWNvbHVtbi1icmVhay1hZnRlciIsICItd2Vi
a2l0LWNvbHVtbi1icmVhay1iZWZvcmUiLCAiLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlIiwg
Ii13ZWJraXQtY29sdW1uLWNvdW50IiwKLSAgICAgICAgIi13ZWJraXQtY29sdW1uLWdhcCIsICIt
d2Via2l0LWNvbHVtbi1ydWxlIiwgIi13ZWJraXQtY29sdW1uLXJ1bGUtY29sb3IiLCAiLXdlYmtp
dC1jb2x1bW4tcnVsZS1zdHlsZSIsCi0gICAgICAgICItd2Via2l0LWNvbHVtbi1ydWxlLXdpZHRo
IiwgIi13ZWJraXQtY29sdW1uLXdpZHRoIiwgIi13ZWJraXQtY29sdW1ucyIsICItd2Via2l0LWZv
bnQtc2l6ZS1kZWx0YSIsCi0gICAgICAgICItd2Via2l0LWZvbnQtc21vb3RoaW5nIiwgIi13ZWJr
aXQtaGlnaGxpZ2h0IiwgIi13ZWJraXQtbGluZS1icmVhayIsICItd2Via2l0LWxpbmUtY2xhbXAi
LAotICAgICAgICAiLXdlYmtpdC1tYXJnaW4tYm90dG9tLWNvbGxhcHNlIiwgIi13ZWJraXQtbWFy
Z2luLWNvbGxhcHNlIiwgIi13ZWJraXQtbWFyZ2luLWVuZCIsICItd2Via2l0LW1hcmdpbi1zdGFy
dCIsICItd2Via2l0LW1hcmdpbi10b3AtY29sbGFwc2UiLAotICAgICAgICAiLXdlYmtpdC1tYXJx
dWVlIiwgIi13ZWJraXQtbWFycXVlZS1kaXJlY3Rpb24iLCAiLXdlYmtpdC1tYXJxdWVlLWluY3Jl
bWVudCIsICItd2Via2l0LW1hcnF1ZWUtcmVwZXRpdGlvbiIsCi0gICAgICAgICItd2Via2l0LW1h
cnF1ZWUtc3BlZWQiLCAiLXdlYmtpdC1tYXJxdWVlLXN0eWxlIiwgIi13ZWJraXQtbWFzayIsICIt
d2Via2l0LW1hc2stYXR0YWNobWVudCIsCi0gICAgICAgICItd2Via2l0LW1hc2stYm94LWltYWdl
IiwgIi13ZWJraXQtbWFzay1jbGlwIiwgIi13ZWJraXQtbWFzay1jb21wb3NpdGUiLCAiLXdlYmtp
dC1tYXNrLWltYWdlIiwKLSAgICAgICAgIi13ZWJraXQtbWFzay1vcmlnaW4iLCAiLXdlYmtpdC1t
YXNrLXBvc2l0aW9uIiwgIi13ZWJraXQtbWFzay1wb3NpdGlvbi14IiwgIi13ZWJraXQtbWFzay1w
b3NpdGlvbi15IiwKLSAgICAgICAgIi13ZWJraXQtbWFzay1yZXBlYXQiLCAiLXdlYmtpdC1tYXNr
LXJlcGVhdC14IiwgIi13ZWJraXQtbWFzay1yZXBlYXQteSIsICItd2Via2l0LW1hc2stc2l6ZSIs
Ci0gICAgICAgICItd2Via2l0LW1hdGNoLW5lYXJlc3QtbWFpbC1ibG9ja3F1b3RlLWNvbG9yIiwg
Ii13ZWJraXQtbmJzcC1tb2RlIiwgIi13ZWJraXQtcGFkZGluZy1lbmQiLCAiLXdlYmtpdC1wYWRk
aW5nLXN0YXJ0IiwKLSAgICAgICAgIi13ZWJraXQtcGVyc3BlY3RpdmUiLCAiLXdlYmtpdC1wZXJz
cGVjdGl2ZS1vcmlnaW4iLCAiLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW4teCIsICItd2Via2l0
LXBlcnNwZWN0aXZlLW9yaWdpbi15IiwKLSAgICAgICAgIi13ZWJraXQtcnRsLW9yZGVyaW5nIiwg
Ii13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3QiLCAiLXdlYmtpdC10ZXh0LWZpbGwt
Y29sb3IiLCAiLXdlYmtpdC10ZXh0LXNlY3VyaXR5IiwKLSAgICAgICAgIi13ZWJraXQtdGV4dC1z
aXplLWFkanVzdCIsICItd2Via2l0LXRleHQtc3Ryb2tlIiwgIi13ZWJraXQtdGV4dC1zdHJva2Ut
Y29sb3IiLCAiLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aCIsCi0gICAgICAgICItd2Via2l0LXRy
YW5zZm9ybSIsICItd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4iLCAiLXdlYmtpdC10cmFuc2Zvcm0t
b3JpZ2luLXgiLCAiLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luLXkiLAotICAgICAgICAiLXdlYmtp
dC10cmFuc2Zvcm0tb3JpZ2luLXoiLCAiLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGUiLCAiLXdlYmtp
dC10cmFuc2l0aW9uIiwgIi13ZWJraXQtdHJhbnNpdGlvbi1kZWxheSIsCi0gICAgICAgICItd2Vi
a2l0LXRyYW5zaXRpb24tZHVyYXRpb24iLCAiLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5Iiwg
Ii13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24iLAotICAgICAgICAiLXdlYmtpdC11
c2VyLWRyYWciLCAiLXdlYmtpdC11c2VyLW1vZGlmeSIsICItd2Via2l0LXVzZXItc2VsZWN0Iiwg
Ii13ZWJraXQtdmFyaWFibGUtZGVjbGFyYXRpb24tYmxvY2siCi0gICAgXS5rZXlTZXQoKTsKLSAg
ICAKKyAgICB0aGlzLl9wcm9wZXJ0eUtleXdvcmRzID0gV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRp
b25zLmtleVNldCgpOworCiAgICAgdGhpcy5fdmFsdWVLZXl3b3JkcyA9IFsKICAgICAgICAgImFi
b3ZlIiwgImFic29sdXRlIiwgImFjdGl2ZWJvcmRlciIsICJhY3RpdmVjYXB0aW9uIiwgImFmYXIi
LCAiYWZ0ZXItd2hpdGUtc3BhY2UiLCAiYWhlYWQiLCAiYWxpYXMiLCAiYWxsIiwgImFsbC1zY3Jv
bGwiLAogICAgICAgICAiYWx0ZXJuYXRlIiwgImFsd2F5cyIsImFtaGFyaWMiLCAiYW1oYXJpYy1h
YmVnZWRlIiwgImFudGlhbGlhc2VkIiwgImFwcHdvcmtzcGFjZSIsICJhcXVhIiwgImFyYWJpYy1p
bmRpYyIsICJhcm1lbmlhbiIsCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NvdXJjZUNTU1Rva2VuaXplci5yZTJqcwppbmRleCA2YmE5ZjYwLi5iNGQzZWVmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpz
CisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIucmUy
anMKQEAgLTQ0LDU4ICs0NCw4IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIgPSBm
dW5jdGlvbigpCiB7CiAgICAgV2ViSW5zcGVjdG9yLlNvdXJjZVRva2VuaXplci5jYWxsKHRoaXMp
OwogCi0gICAgdGhpcy5fcHJvcGVydHlLZXl3b3JkcyA9IFsKLSAgICAgICAgImJhY2tncm91bmQi
LCAiYmFja2dyb3VuZC1hdHRhY2htZW50IiwgImJhY2tncm91bmQtY2xpcCIsICJiYWNrZ3JvdW5k
LWNvbG9yIiwgImJhY2tncm91bmQtaW1hZ2UiLAotICAgICAgICAiYmFja2dyb3VuZC1vcmlnaW4i
LCAiYmFja2dyb3VuZC1wb3NpdGlvbiIsICJiYWNrZ3JvdW5kLXBvc2l0aW9uLXgiLCAiYmFja2dy
b3VuZC1wb3NpdGlvbi15IiwKLSAgICAgICAgImJhY2tncm91bmQtcmVwZWF0IiwgImJhY2tncm91
bmQtcmVwZWF0LXgiLCAiYmFja2dyb3VuZC1yZXBlYXQteSIsICJiYWNrZ3JvdW5kLXNpemUiLCAi
Ym9yZGVyIiwKLSAgICAgICAgImJvcmRlci1ib3R0b20iLCAiYm9yZGVyLWJvdHRvbS1jb2xvciIs
ICJib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIiwgImJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVz
IiwKLSAgICAgICAgImJvcmRlci1ib3R0b20tc3R5bGUiLCAiYm9yZGVyLWJvdHRvbS13aWR0aCIs
ICJib3JkZXItY29sbGFwc2UiLCAiYm9yZGVyLWNvbG9yIiwgImJvcmRlci1sZWZ0IiwKLSAgICAg
ICAgImJvcmRlci1sZWZ0LWNvbG9yIiwgImJvcmRlci1sZWZ0LXN0eWxlIiwgImJvcmRlci1sZWZ0
LXdpZHRoIiwgImJvcmRlci1yYWRpdXMiLCAiYm9yZGVyLXJpZ2h0IiwKLSAgICAgICAgImJvcmRl
ci1yaWdodC1jb2xvciIsICJib3JkZXItcmlnaHQtc3R5bGUiLCAiYm9yZGVyLXJpZ2h0LXdpZHRo
IiwgImJvcmRlci1zcGFjaW5nIiwgImJvcmRlci1zdHlsZSIsCi0gICAgICAgICJib3JkZXItdG9w
IiwgImJvcmRlci10b3AtY29sb3IiLCAiYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyIsICJib3JkZXIt
dG9wLXJpZ2h0LXJhZGl1cyIsICJib3JkZXItdG9wLXN0eWxlIiwKLSAgICAgICAgImJvcmRlci10
b3Atd2lkdGgiLCAiYm9yZGVyLXdpZHRoIiwgImJvdHRvbSIsICJjYXB0aW9uLXNpZGUiLCAiY2xl
YXIiLCAiY2xpcCIsICJjb2xvciIsICJjb250ZW50IiwKLSAgICAgICAgImNvdW50ZXItaW5jcmVt
ZW50IiwgImNvdW50ZXItcmVzZXQiLCAiY3Vyc29yIiwgImRpcmVjdGlvbiIsICJkaXNwbGF5Iiwg
ImVtcHR5LWNlbGxzIiwgImZsb2F0IiwKLSAgICAgICAgImZvbnQiLCAiZm9udC1mYW1pbHkiLCAi
Zm9udC1zaXplIiwgImZvbnQtc3RyZXRjaCIsICJmb250LXN0eWxlIiwgImZvbnQtdmFyaWFudCIs
ICJmb250LXdlaWdodCIsCi0gICAgICAgICJoZWlnaHQiLCAibGVmdCIsICJsZXR0ZXItc3BhY2lu
ZyIsICJsaW5lLWhlaWdodCIsICJsaXN0LXN0eWxlIiwgImxpc3Qtc3R5bGUtaW1hZ2UiLCAibGlz
dC1zdHlsZS1wb3NpdGlvbiIsCi0gICAgICAgICJsaXN0LXN0eWxlLXR5cGUiLCAibWFyZ2luIiwg
Im1hcmdpbi1ib3R0b20iLCAibWFyZ2luLWxlZnQiLCAibWFyZ2luLXJpZ2h0IiwgIm1hcmdpbi10
b3AiLCAibWF4LWhlaWdodCIsCi0gICAgICAgICJtYXgtd2lkdGgiLCAibWluLWhlaWdodCIsICJt
aW4td2lkdGgiLCAib3BhY2l0eSIsICJvcnBoYW5zIiwgIm91dGxpbmUiLCAib3V0bGluZS1jb2xv
ciIsICJvdXRsaW5lLW9mZnNldCIsCi0gICAgICAgICJvdXRsaW5lLXN0eWxlIiwgIm91dGxpbmUt
d2lkdGgiLCAib3ZlcmZsb3ciLCAib3ZlcmZsb3cteCIsICJvdmVyZmxvdy15IiwgInBhZGRpbmci
LCAicGFkZGluZy1ib3R0b20iLAotICAgICAgICAicGFkZGluZy1sZWZ0IiwgInBhZGRpbmctcmln
aHQiLCAicGFkZGluZy10b3AiLCAicGFnZSIsICJwYWdlLWJyZWFrLWFmdGVyIiwgInBhZ2UtYnJl
YWstYmVmb3JlIiwKLSAgICAgICAgInBhZ2UtYnJlYWstaW5zaWRlIiwgInBvaW50ZXItZXZlbnRz
IiwgInBvc2l0aW9uIiwgInF1b3RlcyIsICJyZXNpemUiLCAicmlnaHQiLCAic2l6ZSIsICJzcmMi
LAotICAgICAgICAidGFibGUtbGF5b3V0IiwgInRleHQtYWxpZ24iLCAidGV4dC1kZWNvcmF0aW9u
IiwgInRleHQtaW5kZW50IiwgInRleHQtbGluZS10aHJvdWdoIiwgInRleHQtbGluZS10aHJvdWdo
LWNvbG9yIiwKLSAgICAgICAgInRleHQtbGluZS10aHJvdWdoLW1vZGUiLCAidGV4dC1saW5lLXRo
cm91Z2gtc3R5bGUiLCAidGV4dC1saW5lLXRocm91Z2gtd2lkdGgiLCAidGV4dC1vdmVyZmxvdyIs
ICJ0ZXh0LW92ZXJsaW5lIiwKLSAgICAgICAgInRleHQtb3ZlcmxpbmUtY29sb3IiLCAidGV4dC1v
dmVybGluZS1tb2RlIiwgInRleHQtb3ZlcmxpbmUtc3R5bGUiLCAidGV4dC1vdmVybGluZS13aWR0
aCIsICJ0ZXh0LXJlbmRlcmluZyIsCi0gICAgICAgICJ0ZXh0LXNoYWRvdyIsICJ0ZXh0LXRyYW5z
Zm9ybSIsICJ0ZXh0LXVuZGVybGluZSIsICJ0ZXh0LXVuZGVybGluZS1jb2xvciIsICJ0ZXh0LXVu
ZGVybGluZS1tb2RlIiwKLSAgICAgICAgInRleHQtdW5kZXJsaW5lLXN0eWxlIiwgInRleHQtdW5k
ZXJsaW5lLXdpZHRoIiwgInRvcCIsICJ1bmljb2RlLWJpZGkiLCAidW5pY29kZS1yYW5nZSIsICJ2
ZXJ0aWNhbC1hbGlnbiIsCi0gICAgICAgICJ2aXNpYmlsaXR5IiwgIndoaXRlLXNwYWNlIiwgIndp
ZG93cyIsICJ3aWR0aCIsICJ3b3JkLWJyZWFrIiwgIndvcmQtc3BhY2luZyIsICJ3b3JkLXdyYXAi
LCAiei1pbmRleCIsICJ6b29tIiwKLSAgICAgICAgIi13ZWJraXQtYW5pbWF0aW9uIiwgIi13ZWJr
aXQtYW5pbWF0aW9uLWRlbGF5IiwgIi13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbiIsICItd2Vi
a2l0LWFuaW1hdGlvbi1kdXJhdGlvbiIsCi0gICAgICAgICItd2Via2l0LWFuaW1hdGlvbi1pdGVy
YXRpb24tY291bnQiLCAiLXdlYmtpdC1hbmltYXRpb24tbmFtZSIsICItd2Via2l0LWFuaW1hdGlv
bi1wbGF5LXN0YXRlIiwKLSAgICAgICAgIi13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlv
biIsICItd2Via2l0LWFwcGVhcmFuY2UiLCAiLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5IiwK
LSAgICAgICAgIi13ZWJraXQtYmFja2dyb3VuZC1jbGlwIiwgIi13ZWJraXQtYmFja2dyb3VuZC1j
b21wb3NpdGUiLCAiLXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbiIsICItd2Via2l0LWJhY2tncm91
bmQtc2l6ZSIsCi0gICAgICAgICItd2Via2l0LWJpbmRpbmciLCAiLXdlYmtpdC1ib3JkZXItZml0
IiwgIi13ZWJraXQtYm9yZGVyLWhvcml6b250YWwtc3BhY2luZyIsICItd2Via2l0LWJvcmRlci1p
bWFnZSIsCi0gICAgICAgICItd2Via2l0LWJvcmRlci1yYWRpdXMiLCAiLXdlYmtpdC1ib3JkZXIt
dmVydGljYWwtc3BhY2luZyIsICItd2Via2l0LWJveC1hbGlnbiIsICItd2Via2l0LWJveC1kaXJl
Y3Rpb24iLAotICAgICAgICAiLXdlYmtpdC1ib3gtZmxleCIsICItd2Via2l0LWJveC1mbGV4LWdy
b3VwIiwgIi13ZWJraXQtYm94LWxpbmVzIiwgIi13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXAiLAot
ICAgICAgICAiLXdlYmtpdC1ib3gtb3JpZW50IiwgIi13ZWJraXQtYm94LXBhY2siLCAiLXdlYmtp
dC1ib3gtcmVmbGVjdCIsICItd2Via2l0LWJveC1zaGFkb3ciLCAiLXdlYmtpdC1ib3gtc2l6aW5n
IiwKLSAgICAgICAgIi13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVyIiwgIi13ZWJraXQtY29sdW1u
LWJyZWFrLWJlZm9yZSIsICItd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGUiLCAiLXdlYmtpdC1j
b2x1bW4tY291bnQiLAotICAgICAgICAiLXdlYmtpdC1jb2x1bW4tZ2FwIiwgIi13ZWJraXQtY29s
dW1uLXJ1bGUiLCAiLXdlYmtpdC1jb2x1bW4tcnVsZS1jb2xvciIsICItd2Via2l0LWNvbHVtbi1y
dWxlLXN0eWxlIiwKLSAgICAgICAgIi13ZWJraXQtY29sdW1uLXJ1bGUtd2lkdGgiLCAiLXdlYmtp
dC1jb2x1bW4td2lkdGgiLCAiLXdlYmtpdC1jb2x1bW5zIiwgIi13ZWJraXQtZm9udC1zaXplLWRl
bHRhIiwKLSAgICAgICAgIi13ZWJraXQtZm9udC1zbW9vdGhpbmciLCAiLXdlYmtpdC1oaWdobGln
aHQiLCAiLXdlYmtpdC1saW5lLWJyZWFrIiwgIi13ZWJraXQtbGluZS1jbGFtcCIsCi0gICAgICAg
ICItd2Via2l0LW1hcmdpbi1ib3R0b20tY29sbGFwc2UiLCAiLXdlYmtpdC1tYXJnaW4tY29sbGFw
c2UiLCAiLXdlYmtpdC1tYXJnaW4tc3RhcnQiLCAiLXdlYmtpdC1tYXJnaW4tdG9wLWNvbGxhcHNl
IiwKLSAgICAgICAgIi13ZWJraXQtbWFycXVlZSIsICItd2Via2l0LW1hcnF1ZWUtZGlyZWN0aW9u
IiwgIi13ZWJraXQtbWFycXVlZS1pbmNyZW1lbnQiLCAiLXdlYmtpdC1tYXJxdWVlLXJlcGV0aXRp
b24iLAotICAgICAgICAiLXdlYmtpdC1tYXJxdWVlLXNwZWVkIiwgIi13ZWJraXQtbWFycXVlZS1z
dHlsZSIsICItd2Via2l0LW1hc2siLCAiLXdlYmtpdC1tYXNrLWF0dGFjaG1lbnQiLAotICAgICAg
ICAiLXdlYmtpdC1tYXNrLWJveC1pbWFnZSIsICItd2Via2l0LW1hc2stY2xpcCIsICItd2Via2l0
LW1hc2stY29tcG9zaXRlIiwgIi13ZWJraXQtbWFzay1pbWFnZSIsCi0gICAgICAgICItd2Via2l0
LW1hc2stb3JpZ2luIiwgIi13ZWJraXQtbWFzay1wb3NpdGlvbiIsICItd2Via2l0LW1hc2stcG9z
aXRpb24teCIsICItd2Via2l0LW1hc2stcG9zaXRpb24teSIsCi0gICAgICAgICItd2Via2l0LW1h
c2stcmVwZWF0IiwgIi13ZWJraXQtbWFzay1yZXBlYXQteCIsICItd2Via2l0LW1hc2stcmVwZWF0
LXkiLCAiLXdlYmtpdC1tYXNrLXNpemUiLAotICAgICAgICAiLXdlYmtpdC1tYXRjaC1uZWFyZXN0
LW1haWwtYmxvY2txdW90ZS1jb2xvciIsICItd2Via2l0LW5ic3AtbW9kZSIsICItd2Via2l0LXBh
ZGRpbmctc3RhcnQiLAotICAgICAgICAiLXdlYmtpdC1wZXJzcGVjdGl2ZSIsICItd2Via2l0LXBl
cnNwZWN0aXZlLW9yaWdpbiIsICItd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbi14IiwgIi13ZWJr
aXQtcGVyc3BlY3RpdmUtb3JpZ2luLXkiLAotICAgICAgICAiLXdlYmtpdC1ydGwtb3JkZXJpbmci
LCAiLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdCIsICItd2Via2l0LXRleHQtZmls
bC1jb2xvciIsICItd2Via2l0LXRleHQtc2VjdXJpdHkiLAotICAgICAgICAiLXdlYmtpdC10ZXh0
LXNpemUtYWRqdXN0IiwgIi13ZWJraXQtdGV4dC1zdHJva2UiLCAiLXdlYmtpdC10ZXh0LXN0cm9r
ZS1jb2xvciIsICItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoIiwKLSAgICAgICAgIi13ZWJraXQt
dHJhbnNmb3JtIiwgIi13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbiIsICItd2Via2l0LXRyYW5zZm9y
bS1vcmlnaW4teCIsICItd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4teSIsCi0gICAgICAgICItd2Vi
a2l0LXRyYW5zZm9ybS1vcmlnaW4teiIsICItd2Via2l0LXRyYW5zZm9ybS1zdHlsZSIsICItd2Vi
a2l0LXRyYW5zaXRpb24iLCAiLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5IiwKLSAgICAgICAgIi13
ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbiIsICItd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHki
LCAiLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiIsCi0gICAgICAgICItd2Via2l0
LXVzZXItZHJhZyIsICItd2Via2l0LXVzZXItbW9kaWZ5IiwgIi13ZWJraXQtdXNlci1zZWxlY3Qi
LCAiLXdlYmtpdC12YXJpYWJsZS1kZWNsYXJhdGlvbi1ibG9jayIKLSAgICBdLmtleVNldCgpOwot
ICAgIAorICAgIHRoaXMuX3Byb3BlcnR5S2V5d29yZHMgPSBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxl
dGlvbnMua2V5U2V0KCk7CisKICAgICB0aGlzLl92YWx1ZUtleXdvcmRzID0gWwogICAgICAgICAi
YWJvdmUiLCAiYWJzb2x1dGUiLCAiYWN0aXZlYm9yZGVyIiwgImFjdGl2ZWNhcHRpb24iLCAiYWZh
ciIsICJhZnRlci13aGl0ZS1zcGFjZSIsICJhaGVhZCIsICJhbGlhcyIsICJhbGwiLCAiYWxsLXNj
cm9sbCIsCiAgICAgICAgICJhbHRlcm5hdGUiLCAiYWx3YXlzIiwiYW1oYXJpYyIsICJhbWhhcmlj
LWFiZWdlZGUiLCAiYW50aWFsaWFzZWQiLCAiYXBwd29ya3NwYWNlIiwgImFxdWEiLCAiYXJhYmlj
LWluZGljIiwgImFybWVuaWFuIiwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
LmpzCmluZGV4IDUyYWU3MzguLmQ5YmJkNTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5qcwpAQCAtNTU3LDYgKzU1Nyw5IEBAIFdlYkluc3BlY3Rvci5kb0xvYWRlZERv
bmUgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5leHRlbnNpb25TZXJ2ZXIuaW5pdEV4dGVuc2lvbnMo
KTsKIAogICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5sb2FkZWQoKTsKKworICAgIC8vIEFzIGEg
RE9NQWdlbnQgbWV0aG9kLCB0aGlzIG5lZWRzIHRvIGhhcHBlbiBhZnRlciB0aGUgZnJvbnRlbmQg
aGFzIGxvYWRlZCBhbmQgdGhlIGFnZW50IGlzIGF2YWlsYWJsZS4KKyAgICBJbnNwZWN0b3JCYWNr
ZW5kLmdldFN1cHBvcnRlZENTU1Byb3BlcnRpZXMoV2ViSW5zcGVjdG9yLkNhbGxiYWNrLndyYXAo
V2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLl9sb2FkKSk7CiB9CiAKIFdlYkluc3BlY3Rvci5h
ZGRQYW5lbFRvb2xiYXJJY29uID0gZnVuY3Rpb24odG9vbGJhckVsZW1lbnQsIHBhbmVsLCBwcmV2
aW91c1Rvb2xiYXJJdGVtKQo=
</data>
<flag name="review"
          id="53604"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>