<?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>121977</bug_id>
          
          <creation_ts>2013-09-26 13:54:11 -0700</creation_ts>
          <short_desc>Regression: AX: &lt;table&gt;&lt;caption&gt; no longer exposed as AXTitle.</short_desc>
          <delta_ts>2013-10-03 16:28:05 -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>Accessibility</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Craig">jcraig</reporter>
          <assigned_to name="Samuel White">samuel_white</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>bdakin</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>jdiggs</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mario</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>933679</commentid>
    <comment_count>0</comment_count>
      <attachid>212741</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2013-09-26 13:54:11 -0700</bug_when>
    <thetext>Created attachment 212741
test case 

Regression: AX: &lt;table&gt;&lt;caption&gt; no longer exposed as AXTitle.

Table caption in attached file is exposed as AXTable-&gt;AXTitle in Safari 6, but not in the WebKit nightlies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933680</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-09-26 13:54:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/15091139&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935162</commentid>
    <comment_count>2</comment_count>
      <attachid>213114</attachid>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2013-10-01 13:08:14 -0700</bug_when>
    <thetext>Created attachment 213114
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935257</commentid>
    <comment_count>3</comment_count>
      <attachid>213114</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-10-01 16:12:33 -0700</bug_when>
    <thetext>Comment on attachment 213114
Patch.

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

r- to add the missing checks and to share more code between the two methods.

&gt; Source/WebCore/accessibility/AccessibilityTable.cpp:555
&gt; +void AccessibilityTable::titleElementText(Vector&lt;AccessibilityText&gt;&amp; textOrder) const
&gt; +{

Seems like there are some checks missing here that appear in other methods, namely:

if (!isAccessibilityTable())
    return;

if (!m_renderer)
    return

&gt; Source/WebCore/accessibility/AccessibilityTable.cpp:561
&gt; +    Node* node = this-&gt;node();
&gt; +    if (node &amp;&amp; isHTMLTableElement(node)) {
&gt; +        HTMLTableCaptionElement* caption = toHTMLTableElement(node)-&gt;caption();
&gt; +        if (caption)
&gt; +            textOrder.append(AccessibilityText(caption-&gt;innerText(), LabelByElementText));
&gt; +    }

Instead of duplicating this code from AccessibilityTable::title(), try to share the code in AccessibilityTable::title() with this method.

Also, shouldn&apos;t you use m_renderer-&gt;node() instead of this-&gt;node() as in AccessibilityTable::title() below?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935266</commentid>
    <comment_count>4</comment_count>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2013-10-01 16:38:04 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 213114 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=213114&amp;action=review
&gt; 
&gt; r- to add the missing checks and to share more code between the two methods.
&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityTable.cpp:555
&gt; &gt; +void AccessibilityTable::titleElementText(Vector&lt;AccessibilityText&gt;&amp; textOrder) const
&gt; &gt; +{
&gt; 
&gt; Seems like there are some checks missing here that appear in other methods, namely:
&gt; 
&gt; if (!isAccessibilityTable())
&gt;     return;
This check was omitted because isAccessibilityTable always returns true if we have a caption. In hindsight, I shouldn&apos;t depend on that heuristic to remain constant so I&apos;ll add an explicit isAccessibilityTable check as requested.
&gt; 
&gt; if (!m_renderer)
&gt;     return
node() is just a convenience method on AccessibilityObject that contains the above renderer check.
&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityTable.cpp:561
&gt; &gt; +    Node* node = this-&gt;node();
&gt; &gt; +    if (node &amp;&amp; isHTMLTableElement(node)) {
&gt; &gt; +        HTMLTableCaptionElement* caption = toHTMLTableElement(node)-&gt;caption();
&gt; &gt; +        if (caption)
&gt; &gt; +            textOrder.append(AccessibilityText(caption-&gt;innerText(), LabelByElementText));
&gt; &gt; +    }
&gt; 
&gt; Instead of duplicating this code from AccessibilityTable::title(), try to share the code in AccessibilityTable::title() with this method.
Line 602 of AccessibilityObject.h notes that title() will be deprecated:

// Accessibility Text - (To be deprecated).
    virtual String accessibilityDescription() const { return String(); }
    virtual String title() const { return String(); }
    virtual String helpText() const { return String(); }

In fact I believe this regression is due to us moving away from title() and over to the accessibilityText stack. Therefore, I chose to avoid it to make the refactor easier moving forward. I can leverage it for now if you think this is premature.

&gt; 
&gt; Also, shouldn&apos;t you use m_renderer-&gt;node() instead of this-&gt;node() as in AccessibilityTable::title() below?

Thanks for the feedback David!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935617</commentid>
    <comment_count>5</comment_count>
      <attachid>213217</attachid>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2013-10-02 17:09:26 -0700</bug_when>
    <thetext>Created attachment 213217
Updated patch.

Removed redundant code per review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935647</commentid>
    <comment_count>6</comment_count>
      <attachid>213217</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-02 20:46:08 -0700</bug_when>
    <thetext>Comment on attachment 213217
Updated patch.

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

Looks generally good, but with a lot of “style changes” we probably don’t want.

&gt; Source/WebCore/accessibility/AccessibilityImageMapLink.h:64
&gt; +    virtual void accessibilityText(Vector&lt;AccessibilityText&gt;&amp;) OVERRIDE;

Why does this need to be public? It is good to have overriding functions be private, even if the function they are overriding is public. It helps us detect people calling functions directly on derived classes but paying virtual dispatch overhead. In general, most virtual function overrides should be private.

&gt; Source/WebCore/accessibility/AccessibilityMediaControls.h:50
&gt; +    virtual void accessibilityText(Vector&lt;AccessibilityText&gt;&amp;) OVERRIDE;

Same comment.

&gt; Source/WebCore/accessibility/AccessibilityNodeObject.h:125
&gt; +    virtual void accessibilityText(Vector&lt;AccessibilityText&gt;&amp;) OVERRIDE;

Why does this function need to be public now? It was private before.

Strange that this function is non-const, but all the other nearly identical ones are const. Not new to this patch, though.

Also, as an aside, WebKit coding style would name this function getAccessibilityText. We use the prefix &quot;get&quot; to mean &quot;returns a value through an out argument&quot;. Since you didn’t add this function, that doesn’t need to be fixed in this patch.

&gt; Source/WebCore/accessibility/AccessibilityNodeObject.h:196
&gt; +    virtual void titleElementText(Vector&lt;AccessibilityText&gt;&amp;) const;
&gt; +    virtual void alternativeText(Vector&lt;AccessibilityText&gt;&amp;) const;
&gt; +    virtual void visibleText(Vector&lt;AccessibilityText&gt;&amp;) const;
&gt; +    virtual void helpText(Vector&lt;AccessibilityText&gt;&amp;) const;

Why do these functions need to be public now? They were private before.

Why do all of these functions need to be virtual now? Only titleElementText is now being overridden, so I would suggest making only it be virtual.

&gt; Source/WebCore/accessibility/AccessibilityTable.h:96
&gt; +    virtual void titleElementText(Vector&lt;AccessibilityText&gt;&amp;) const OVERRIDE;

Should be private, not protected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936012</commentid>
    <comment_count>7</comment_count>
      <attachid>213308</attachid>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2013-10-03 15:50:15 -0700</bug_when>
    <thetext>Created attachment 213308
Updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936016</commentid>
    <comment_count>8</comment_count>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2013-10-03 15:54:43 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 213217 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=213217&amp;action=review
&gt; 
&gt; Looks generally good, but with a lot of “style changes” we probably don’t want.
&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityImageMapLink.h:64
&gt; &gt; +    virtual void accessibilityText(Vector&lt;AccessibilityText&gt;&amp;) OVERRIDE;
&gt; 
&gt; Why does this need to be public? It is good to have overriding functions be private, even if the function they are overriding is public. It helps us detect people calling functions directly on derived classes but paying virtual dispatch overhead. In general, most virtual function overrides should be private.

Fixed, thanks.

&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityMediaControls.h:50
&gt; &gt; +    virtual void accessibilityText(Vector&lt;AccessibilityText&gt;&amp;) OVERRIDE;
&gt; 
&gt; Same comment.

Same.

&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityNodeObject.h:125
&gt; &gt; +    virtual void accessibilityText(Vector&lt;AccessibilityText&gt;&amp;) OVERRIDE;
&gt; 
&gt; Why does this function need to be public now? It was private before.

I suspect that subclasses will augment the results returned by accessibilityText rather than doing a complete override. However, this was just a suspicion so we shouldn&apos;t make this change until that need becomes more clear. Thanks for pointing that out.

&gt; 
&gt; Strange that this function is non-const, but all the other nearly identical ones are const. Not new to this patch, though.

Agreed. I made titleElementText const for this reason.

&gt; 
&gt; Also, as an aside, WebKit coding style would name this function getAccessibilityText. We use the prefix &quot;get&quot; to mean &quot;returns a value through an out argument&quot;. Since you didn’t add this function, that doesn’t need to be fixed in this patch.

Noted. Thanks for the tip.

&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityNodeObject.h:196
&gt; &gt; +    virtual void titleElementText(Vector&lt;AccessibilityText&gt;&amp;) const;
&gt; &gt; +    virtual void alternativeText(Vector&lt;AccessibilityText&gt;&amp;) const;
&gt; &gt; +    virtual void visibleText(Vector&lt;AccessibilityText&gt;&amp;) const;
&gt; &gt; +    virtual void helpText(Vector&lt;AccessibilityText&gt;&amp;) const;
&gt; 
&gt; Why do these functions need to be public now? They were private before.

Same reasoning as above. I suspect augmentation will be necessary. Reverted until needs become more clear.

&gt; 
&gt; Why do all of these functions need to be virtual now? Only titleElementText is now being overridden, so I would suggest making only it be virtual.

Fixed.

&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityTable.h:96
&gt; &gt; +    virtual void titleElementText(Vector&lt;AccessibilityText&gt;&amp;) const OVERRIDE;
&gt; 
&gt; Should be private, not protected.

Fixed.


Thanks for taking a look Darin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936025</commentid>
    <comment_count>9</comment_count>
      <attachid>213308</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-03 16:28:02 -0700</bug_when>
    <thetext>Comment on attachment 213308
Updated patch.

Clearing flags on attachment: 213308

Committed r156867: &lt;http://trac.webkit.org/changeset/156867&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936026</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-03 16:28:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>212741</attachid>
            <date>2013-09-26 13:54:11 -0700</date>
            <delta_ts>2013-09-26 13:54:11 -0700</delta_ts>
            <desc>test case </desc>
            <filename>basic-content-formatting.html</filename>
            <type>text/html</type>
            <size>1096</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8dGl0bGU+Rm9ybWF0dGluZyBUZXN0PC90aXRsZT4KPC9oZWFkPgo8Ym9k
eT4KCjxoMT5Db250ZW50IEZvcm1hdHRpbmcgVGVzdDwvaDE+Cgo8YnIgLz4KPHA+VGhpcyB0ZXN0
IGNvdmVycyB0YWJsZXMsIGxpc3RzLCBkZWZpbml0aW9ucywgYW5kIHBhcmFncmFwaHMuPC9wPgoK
PGJyIC8+CjxoMj5UYWJsZSBUZXN0PC9oMj4KCjxiciAvPg0KPHRhYmxlIGJvcmRlcj0iMyIgY2Vs
bHBhZGRpbmc9IjUiID4KPGNhcHRpb24+R2FtZSBQYXJ0aWNpcGFudHM8L2NhcHRpb24+Cgk8dHI+
DQoJCTx0aD5GaXJzdCBOYW1lPC90aD4NCgkJPHRoPkxhc3QgTmFtZTwvdGg+CQkNCgkJPHRoPlBv
aW50czwvdGg+DQoJPC90cj4NCgk8dHI+DQoJCTx0ZD5KaWxsPC90ZD4NCgkJPHRkPlNtaXRoPC90
ZD4JCQ0KCQk8dGQ+NTA8L3RkPg0KCTwvdHI+DQoJPHRyPg0KCQk8dGQ+Sm9obm55PC90ZD4NCgkJ
PHRkPkFwcGxlc2VlZDwvdGQ+CQkNCgkJPHRkPjk0PC90ZD4NCgk8L3RyPg0KCTx0cj4NCgkJPHRk
PlRvZGQ8L3RkPg0KCQk8dGQ+QW5kZXJzb248L3RkPgkJDQoJCTx0ZD44MDwvdGQ+DQoJPC90cj4N
Cgk8dHI+DQoJCTx0ZD5BZGFtPC90ZD4NCgkJPHRkPldpbmNoZXN0ZXI8L3RkPgkJDQoJCTx0ZD42
NzwvdGQ+DQoJPC90cj4NCjwvdGFibGU+Cgo8YnIgLz4KPGgyPlVub3JkZXJlZCBMaXN0IFRlc3Q8
L2gyPgoKPGJyIC8+Cjx1bD4KPGxpPmlUdW5lczwvbGk+CjxsaT5pUG9kPC9saT4KPGxpPk1hYzwv
bGk+CjxsaT5pUGhvbmU8L2xpPgo8bGk+aVBhZDwvbGk+CjwvdWw+Cgo8YnIgLz4KPGgyPk9yZGVy
ZWQgTGlzdCBUZXN0PC9oMj4KCjxiciAvPgo8b2w+CjxsaT5pVHVuZXM8L2xpPgo8bGk+aVBvZDwv
bGk+CjxsaT5NYWM8L2xpPgo8bGk+aVBob25lPC9saT4KPGxpPmlQYWQ8L2xpPgo8L29sPgoKPGJy
IC8+CjxoMj5EZWZpbml0aW9uIFRlc3Q8L2gyPgoKPGJyIC8+CjxkbD4KPGR0PmlQYWQ8L2R0Pgo8
ZGQ+U21hbGwgcGVyc29uYWwgdG91Y2ggc2NyZWVuIGRldmljZSB0aGF0IGlzIHVzZWQgdG8gcHJv
dmlkZSBhIHRvdWNoIGludGVyZmFjZSB0byBhcHBzIGFuZCBtZWRpYS48L2RkPgo8L2RsPg0KCjwv
Ym9keT4KPC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213114</attachid>
            <date>2013-10-01 13:08:14 -0700</date>
            <delta_ts>2013-10-02 17:09:26 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>table-title.patch</filename>
            <type>text/plain</type>
            <size>9265</size>
            <attacher name="Samuel White">samuel_white</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUlt
YWdlTWFwTGluay5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
SW1hZ2VNYXBMaW5rLmgKaW5kZXggNDYwMGUzYy4uY2NmYTEyOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmgK
QEAgLTYxLDYgKzYxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmtlZCgpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIFN0cmluZyB0aXRsZSgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgU3RyaW5nIGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0OworICAg
IHZpcnR1YWwgdm9pZCBhY2Nlc3NpYmlsaXR5VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+
JikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJlbnRPYmpl
Y3QoKSBjb25zdDsKICAgICAKICAgICB2aXJ0dWFsIFN0cmluZyBzdHJpbmdWYWx1ZUZvck1TQUEo
KSBjb25zdDsKQEAgLTc2LDcgKzc3LDYgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgUGF0aCBl
bGVtZW50UGF0aCgpIGNvbnN0OwogICAgIFJlbmRlckVsZW1lbnQqIGltYWdlTWFwTGlua1JlbmRl
cmVyKCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIGFjY2Vzc2liaWxpdHlUZXh0KFZlY3RvcjxB
Y2Nlc3NpYmlsaXR5VGV4dD4mKTsKICAgICB2aXJ0dWFsIGJvb2wgaXNJbWFnZU1hcExpbmsoKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzUGF0aCgpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmggYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmgKaW5kZXggMzM3ZWM1Yy4u
Yzk0MTg1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5TWVkaWFDb250cm9scy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaApAQCAtNDcsMTMgKzQ3LDEzIEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgU3RyaW5nIHRpdGxlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcg
YWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGFjY2Vz
c2liaWxpdHlUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIFN0cmluZyBoZWxwVGV4dCgpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGlj
aXQgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbChSZW5kZXJPYmplY3QqKTsKICAgICBNZWRpYUNv
bnRyb2xFbGVtZW50VHlwZSBjb250cm9sVHlwZSgpIGNvbnN0OwogICAgIFN0cmluZyBjb250cm9s
VHlwZU5hbWUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgYWNjZXNzaWJpbGl0eVRleHQoVmVj
dG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpOwogICAgIHZpcnR1YWwgYm9vbCBjb21wdXRlQWNjZXNz
aWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAppbmRleCA3NDY5
ZjIyLi43ZDk2ZmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcApAQCAtMTE4MSw3ICsxMTgxLDcgQEAgQWNj
ZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6Om1lbnVCdXR0b25Gb3JN
ZW51KCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAotdm9pZCBBY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdDo6dGl0bGVFbGVtZW50VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+JiB0ZXh0T3Jk
ZXIpCit2b2lkIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojp0aXRsZUVsZW1lbnRUZXh0KFZlY3Rv
cjxBY2Nlc3NpYmlsaXR5VGV4dD4mIHRleHRPcmRlcikgY29uc3QKIHsKICAgICBOb2RlKiBub2Rl
ID0gdGhpcy0+bm9kZSgpOwogICAgIGlmICghbm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaCBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaAppbmRleCAzY2E1NGQ0
Li5kN2YwMGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oCkBAIC0xMjIsNiArMTIyLDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdW5zaWduZWQgaGllcmFyY2hpY2FsTGV2ZWwoKSBjb25zdDsKICAgICB2aXJ0dWFs
IFN0cmluZyB0ZXh0VW5kZXJFbGVtZW50KEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW9k
ZSA9IEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW9kZSgpKSBjb25zdDsKICAgICB2aXJ0
dWFsIFN0cmluZyBhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKSBjb25zdDsKKyAgICB2aXJ0dWFs
IHZvaWQgYWNjZXNzaWJpbGl0eVRleHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgU3RyaW5nIGhlbHBUZXh0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBT
dHJpbmcgdGl0bGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyB0ZXh0KCkgY29uc3Q7CkBA
IC0xODgsMTUgKzE4OSwxNSBAQCBwcm90ZWN0ZWQ6CiAgICAgRWxlbWVudCogbWVudUVsZW1lbnRG
b3JNZW51QnV0dG9uKCkgY29uc3Q7CiAgICAgRWxlbWVudCogbWVudUl0ZW1FbGVtZW50Rm9yTWVu
dSgpIGNvbnN0OwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG1lbnVCdXR0b25Gb3JNZW51KCkg
Y29uc3Q7CisgICAgCisgICAgdmlydHVhbCB2b2lkIHRpdGxlRWxlbWVudFRleHQoVmVjdG9yPEFj
Y2Vzc2liaWxpdHlUZXh0PiYpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBhbHRlcm5hdGl2ZVRl
eHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCB2
aXNpYmxlVGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+JikgY29uc3Q7CisgICAgdmlydHVh
bCB2b2lkIGhlbHBUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mKSBjb25zdDsKIAogcHJp
dmF0ZToKICAgICBOb2RlKiBtX25vZGU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWNjZXNzaWJpbGl0
eVRleHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpOwotICAgIHZvaWQgdGl0bGVFbGVtZW50
VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+Jik7Ci0gICAgdm9pZCBhbHRlcm5hdGl2ZVRl
eHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpIGNvbnN0OwotICAgIHZvaWQgdmlzaWJsZVRl
eHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpIGNvbnN0OwotICAgIHZvaWQgaGVscFRleHQo
VmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpIGNvbnN0OwogICAgIFN0cmluZyBhbHRlcm5hdGl2
ZVRleHRGb3JXZWJBcmVhKCkgY29uc3Q7CiAgICAgdm9pZCBhcmlhTGFiZWxlZEJ5VGV4dChWZWN0
b3I8QWNjZXNzaWJpbGl0eVRleHQ+JikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVB
Y2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAKaW5kZXggODUyODY1OC4uN2VjNGIz
N2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlUYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5VGFibGUuY3BwCkBAIC01NTAsNyArNTUwLDE3IEBAIGJvb2wgQWNjZXNzaWJpbGl0eVRhYmxl
Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CiAgICAgICAgIAogICAgIHJl
dHVybiBmYWxzZTsKIH0KLSAgICAKKwordm9pZCBBY2Nlc3NpYmlsaXR5VGFibGU6OnRpdGxlRWxl
bWVudFRleHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYgdGV4dE9yZGVyKSBjb25zdAorewor
ICAgIE5vZGUqIG5vZGUgPSB0aGlzLT5ub2RlKCk7CisgICAgaWYgKG5vZGUgJiYgaXNIVE1MVGFi
bGVFbGVtZW50KG5vZGUpKSB7CisgICAgICAgIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50KiBjYXB0
aW9uID0gdG9IVE1MVGFibGVFbGVtZW50KG5vZGUpLT5jYXB0aW9uKCk7CisgICAgICAgIGlmIChj
YXB0aW9uKQorICAgICAgICAgICAgdGV4dE9yZGVyLmFwcGVuZChBY2Nlc3NpYmlsaXR5VGV4dChj
YXB0aW9uLT5pbm5lclRleHQoKSwgTGFiZWxCeUVsZW1lbnRUZXh0KSk7CisgICAgfQorfQorCiBT
dHJpbmcgQWNjZXNzaWJpbGl0eVRhYmxlOjp0aXRsZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFpc0Fj
Y2Vzc2liaWxpdHlUYWJsZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVRhYmxlLmgKaW5kZXggZjE5NDVlOGUuLjIzY2VmZmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUuaApAQCAtOTIs
NiArOTIsOCBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNUYWJsZUV4cG9zYWJs
ZVRocm91Z2hBY2Nlc3NpYmlsaXR5KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVB
Y2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QgT1ZFUlJJREU7CisgICAgCisgICAgdmlydHVh
bCB2b2lkIHRpdGxlRWxlbWVudFRleHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpIGNvbnN0
IE9WRVJSSURFOwogfTsKICAgICAKIGlubGluZSBBY2Nlc3NpYmlsaXR5VGFibGUqIHRvQWNjZXNz
aWJpbGl0eVRhYmxlKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtdGl0bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS10aXRsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmM5ZWYyNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtdGl0bGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTQgQEAKK0hpZ2ggU2NvcmVzCitTY29yZQlOYW1lCis5OTk5CUJpbGwKKzk5OTgJVGVkCitUaGlz
IHRlc3RzIHRoYXQgdGFibGUgQVhUaXRsZSBpcyBleHBvc2VkIGNvcnJlY3RseS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdGFibGUudGl0bGUgaXMgJ0FYVGl0bGU6IEhp
Z2ggU2NvcmVzJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtdGl0bGUu
aHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtdGl0bGUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjVjOWI2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS10aXRsZS5odG1sCkBAIC0wLDAgKzEsNDAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHRpdGxlPlRhYmxlIFRpdGxlPC90aXRs
ZT4KKzwvaGVhZD4KKzxib2R5PgorCis8dGFibGUgYm9yZGVyPSIxIiBpZD0idGFibGUiPgorPGNh
cHRpb24+SGlnaCBTY29yZXM8L2NhcHRpb24+Cis8dHI+Cis8dGg+U2NvcmU8L3RoPgorPHRoPk5h
bWU8L3RoPgorPC90cj4KKzx0cj4KKzx0ZD45OTk5PC90ZD4KKzx0ZD5CaWxsPC90ZD4KKzwvdHI+
Cis8dHI+Cis8dGQ+OTk5ODwvdGQ+Cis8dGQ+VGVkPC90ZD4KKzwvdHI+Cis8L3RhYmxlPgorCis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2Ny
aXB0PgorICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgdGFibGUgQVhUaXRsZSBpcyBl
eHBvc2VkIGNvcnJlY3RseS4iKTsKKyAgICAKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlD
b250cm9sbGVyKSB7CisgICAgICAgIHZhciB0YWJsZSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZCgidGFibGUiKTsKKyAgICAgICAgCisgICAgICAgIHNob3Vs
ZEJlKCJ0YWJsZS50aXRsZSIsICInQVhUaXRsZTogSGlnaCBTY29yZXMnIik7CisgICAgfQorPC9z
Y3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlNDk2N2QwLi4zNTQ0YTJlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTMtMTAtMDEgIFNhbXVlbCBXaGl0ZSAgPHNhbXVlbF93aGl0ZUBh
cHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbjogQVg6IDx0YWJsZT48Y2FwdGlvbj4gbm8g
bG9uZ2VyIGV4cG9zZWQgYXMgQVhUaXRsZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyMTk3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3QgdG8gdmVyaWZ5IHRoYXQgdGFibGUgZWxlbWVu
dHMgY29ycmVjdGx5IGRlcml2ZSB0aGVpciBBWFRpdGxlIGZyb20gdGhlaXIgYXNzb2NpYXRlZCBj
YXB0aW9uIGVsZW1lbnQuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3RhYmxlLXRpdGxlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS90YWJsZS10aXRsZS5o
dG1sOiBBZGRlZC4KKwogMjAxMy0xMC0wMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRA
YXBwbGUuY29tPgogCiAgICAgICAgIENlbnRlciBtaXNzcGVsbGluZyBkb3RzIGFjcm9zcyB3aWR0
aCBvZiB3b3JkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTVmMjY0NC4uYTUyMmUzNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI3IEBACisyMDEzLTEwLTAxICBTYW11ZWwgV2hpdGUgIDxzYW11ZWxfd2hpdGVAYXBw
bGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb246IEFYOiA8dGFibGU+PGNhcHRpb24+IG5vIGxv
bmdlciBleHBvc2VkIGFzIEFYVGl0bGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjE5NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTb21lIGNsZWFudXAgb2YgYWNjZXNzaWJpbGl0eVRleHQuIE5vdGFi
bHksIHN1YmNsYXNzZXMgd2VyZSB1bm5lY2Vzc2FyaWx5IHJlZGVjbGFyaW5nIHRoaXMgbWV0aG9k
IGFzIGJvdGggcHJpdmF0ZSBhbmQKKyAgICAgICAgcHJvdGVjdGVkLiBBZGRlZCBPVkVSUklERSBr
ZXl3b3JkIHRvIHRoZXNlIHN1YmNsYXNzZXMgYXMgbmVlZGVkLiBNb3ZlZCBhY2Nlc3NpYmlsaXR5
VGV4dCB3b3JrZXIgbWV0aG9kcyAodGl0bGVFbGVtZW50VGV4dCwKKyAgICAgICAgYWx0ZXJuYXRp
dmVUZXh0LCB2aXNpYmxlVGV4dCwgaGVscFRleHQpIHRvIHZpcnR1YWwgcHJvdGVjdGVkIG1ldGhv
ZHMgc28gd2UgY2FuIGRvIHN1YmNsYXNzIG92ZXJyaWRlcyBpbiBjYXNlcyBsaWtlIHRoaXMKKyAg
ICAgICAgYnVnLiBUaGF0IGlzLCBBY2Nlc3NpYmlsaXR5VGFibGUgY2FuIGxldmVyYWdlIHRoZSBl
eGlzdGluZyBtYWNoaW5lcnkgZm9yIGFsdGVybmF0aXZlVGV4dCwgdmlzaWJsZVRleHQsIGFuZCBo
ZWxwVGV4dCwKKyAgICAgICAgYnV0IHdlIGRvIHNvbWUgY3VzdG9tIHdvcmsgT05MWSBpbiB0aXRs
ZUVsZW1lbnRUZXh0LgorCisgICAgICAgIFRlc3Q6IGFjY2Vzc2liaWxpdHkvdGFibGUtdGl0bGUu
aHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5r
Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5o
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OnRpdGxlRWxlbWVudFRl
eHQpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaDoK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VGFibGU6OnRpdGxlRWxlbWVudFRleHQpOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmg6CisKIDIwMTMtMTAtMDEgIEFu
ZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIExlYWYgRXZlbnRUYXJn
ZXQgc3ViY2xhc3NlcyBzaG91bGQgYmUgRklOQUwuCg==
</data>
<flag name="review"
          id="235429"
          type_id="1"
          status="-"
          setter="ddkilzer"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213217</attachid>
            <date>2013-10-02 17:09:26 -0700</date>
            <delta_ts>2013-10-03 15:50:15 -0700</delta_ts>
            <desc>Updated patch.</desc>
            <filename>table-title.patch</filename>
            <type>text/plain</type>
            <size>9134</size>
            <attacher name="Samuel White">samuel_white</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUlt
YWdlTWFwTGluay5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
SW1hZ2VNYXBMaW5rLmgKaW5kZXggNDYwMGUzYy4uY2NmYTEyOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmgK
QEAgLTYxLDYgKzYxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmtlZCgpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIFN0cmluZyB0aXRsZSgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgU3RyaW5nIGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0OworICAg
IHZpcnR1YWwgdm9pZCBhY2Nlc3NpYmlsaXR5VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+
JikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJlbnRPYmpl
Y3QoKSBjb25zdDsKICAgICAKICAgICB2aXJ0dWFsIFN0cmluZyBzdHJpbmdWYWx1ZUZvck1TQUEo
KSBjb25zdDsKQEAgLTc2LDcgKzc3LDYgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgUGF0aCBl
bGVtZW50UGF0aCgpIGNvbnN0OwogICAgIFJlbmRlckVsZW1lbnQqIGltYWdlTWFwTGlua1JlbmRl
cmVyKCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIGFjY2Vzc2liaWxpdHlUZXh0KFZlY3RvcjxB
Y2Nlc3NpYmlsaXR5VGV4dD4mKTsKICAgICB2aXJ0dWFsIGJvb2wgaXNJbWFnZU1hcExpbmsoKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzUGF0aCgpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmggYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmgKaW5kZXggMzM3ZWM1Yy4u
Yzk0MTg1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5TWVkaWFDb250cm9scy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaApAQCAtNDcsMTMgKzQ3LDEzIEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgU3RyaW5nIHRpdGxlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcg
YWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGFjY2Vz
c2liaWxpdHlUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIFN0cmluZyBoZWxwVGV4dCgpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGlj
aXQgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbChSZW5kZXJPYmplY3QqKTsKICAgICBNZWRpYUNv
bnRyb2xFbGVtZW50VHlwZSBjb250cm9sVHlwZSgpIGNvbnN0OwogICAgIFN0cmluZyBjb250cm9s
VHlwZU5hbWUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgYWNjZXNzaWJpbGl0eVRleHQoVmVj
dG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpOwogICAgIHZpcnR1YWwgYm9vbCBjb21wdXRlQWNjZXNz
aWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAppbmRleCA3NDY5
ZjIyLi43ZDk2ZmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcApAQCAtMTE4MSw3ICsxMTgxLDcgQEAgQWNj
ZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6Om1lbnVCdXR0b25Gb3JN
ZW51KCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAotdm9pZCBBY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdDo6dGl0bGVFbGVtZW50VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+JiB0ZXh0T3Jk
ZXIpCit2b2lkIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojp0aXRsZUVsZW1lbnRUZXh0KFZlY3Rv
cjxBY2Nlc3NpYmlsaXR5VGV4dD4mIHRleHRPcmRlcikgY29uc3QKIHsKICAgICBOb2RlKiBub2Rl
ID0gdGhpcy0+bm9kZSgpOwogICAgIGlmICghbm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaCBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaAppbmRleCAzY2E1NGQ0
Li5kN2YwMGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oCkBAIC0xMjIsNiArMTIyLDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdW5zaWduZWQgaGllcmFyY2hpY2FsTGV2ZWwoKSBjb25zdDsKICAgICB2aXJ0dWFs
IFN0cmluZyB0ZXh0VW5kZXJFbGVtZW50KEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW9k
ZSA9IEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW9kZSgpKSBjb25zdDsKICAgICB2aXJ0
dWFsIFN0cmluZyBhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKSBjb25zdDsKKyAgICB2aXJ0dWFs
IHZvaWQgYWNjZXNzaWJpbGl0eVRleHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgU3RyaW5nIGhlbHBUZXh0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBT
dHJpbmcgdGl0bGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyB0ZXh0KCkgY29uc3Q7CkBA
IC0xODgsMTUgKzE4OSwxNSBAQCBwcm90ZWN0ZWQ6CiAgICAgRWxlbWVudCogbWVudUVsZW1lbnRG
b3JNZW51QnV0dG9uKCkgY29uc3Q7CiAgICAgRWxlbWVudCogbWVudUl0ZW1FbGVtZW50Rm9yTWVu
dSgpIGNvbnN0OwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG1lbnVCdXR0b25Gb3JNZW51KCkg
Y29uc3Q7CisgICAgCisgICAgdmlydHVhbCB2b2lkIHRpdGxlRWxlbWVudFRleHQoVmVjdG9yPEFj
Y2Vzc2liaWxpdHlUZXh0PiYpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBhbHRlcm5hdGl2ZVRl
eHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCB2
aXNpYmxlVGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+JikgY29uc3Q7CisgICAgdmlydHVh
bCB2b2lkIGhlbHBUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mKSBjb25zdDsKIAogcHJp
dmF0ZToKICAgICBOb2RlKiBtX25vZGU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWNjZXNzaWJpbGl0
eVRleHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpOwotICAgIHZvaWQgdGl0bGVFbGVtZW50
VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+Jik7Ci0gICAgdm9pZCBhbHRlcm5hdGl2ZVRl
eHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpIGNvbnN0OwotICAgIHZvaWQgdmlzaWJsZVRl
eHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpIGNvbnN0OwotICAgIHZvaWQgaGVscFRleHQo
VmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpIGNvbnN0OwogICAgIFN0cmluZyBhbHRlcm5hdGl2
ZVRleHRGb3JXZWJBcmVhKCkgY29uc3Q7CiAgICAgdm9pZCBhcmlhTGFiZWxlZEJ5VGV4dChWZWN0
b3I8QWNjZXNzaWJpbGl0eVRleHQ+JikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVB
Y2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAKaW5kZXggODUyODY1OC4uMjBiZGNh
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
VGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVRhYmxlLmNwcApAQCAtNTUwLDcgKzU1MCwxNCBAQCBib29sIEFjY2Vzc2liaWxpdHlUYWJsZTo6
Y29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAogICAgICAgICAKICAgICByZXR1
cm4gZmFsc2U7CiB9Ci0gICAgCisKK3ZvaWQgQWNjZXNzaWJpbGl0eVRhYmxlOjp0aXRsZUVsZW1l
bnRUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mIHRleHRPcmRlcikgY29uc3QKK3sKKyAg
ICBTdHJpbmcgdGl0bGUgPSB0aGlzLT50aXRsZSgpOworICAgIGlmICghdGl0bGUuaXNFbXB0eSgp
KQorICAgICAgICB0ZXh0T3JkZXIuYXBwZW5kKEFjY2Vzc2liaWxpdHlUZXh0KHRpdGxlLCBMYWJl
bEJ5RWxlbWVudFRleHQpKTsKK30KKwogU3RyaW5nIEFjY2Vzc2liaWxpdHlUYWJsZTo6dGl0bGUo
KSBjb25zdAogewogICAgIGlmICghaXNBY2Nlc3NpYmlsaXR5VGFibGUoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5oCmluZGV4IGYxOTQ1
ZThlLi4yM2NlZmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlUYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVRhYmxlLmgKQEAgLTkyLDYgKzkyLDggQEAgcHJvdGVjdGVkOgogCiAgICAgdmly
dHVhbCBib29sIGlzVGFibGVFeHBvc2FibGVUaHJvdWdoQWNjZXNzaWJpbGl0eSgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgYm9vbCBjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0IE9W
RVJSSURFOworICAgIAorICAgIHZpcnR1YWwgdm9pZCB0aXRsZUVsZW1lbnRUZXh0KFZlY3RvcjxB
Y2Nlc3NpYmlsaXR5VGV4dD4mKSBjb25zdCBPVkVSUklERTsKIH07CiAgICAgCiBpbmxpbmUgQWNj
ZXNzaWJpbGl0eVRhYmxlKiB0b0FjY2Vzc2liaWxpdHlUYWJsZShBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBvYmplY3QpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLXRp
dGxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtdGl0bGUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjOWVmMjcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLXRpdGxl
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitIaWdoIFNjb3JlcworU2NvcmUJTmFtZQor
OTk5OQlCaWxsCis5OTk4CVRlZAorVGhpcyB0ZXN0cyB0aGF0IHRhYmxlIEFYVGl0bGUgaXMgZXhw
b3NlZCBjb3JyZWN0bHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRh
YmxlLnRpdGxlIGlzICdBWFRpdGxlOiBIaWdoIFNjb3JlcycKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L3RhYmxlLXRpdGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3RhYmxlLXRpdGxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDI1
YzliNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUt
dGl0bGUuaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
Kzx0aXRsZT5UYWJsZSBUaXRsZTwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworPHRhYmxlIGJv
cmRlcj0iMSIgaWQ9InRhYmxlIj4KKzxjYXB0aW9uPkhpZ2ggU2NvcmVzPC9jYXB0aW9uPgorPHRy
PgorPHRoPlNjb3JlPC90aD4KKzx0aD5OYW1lPC90aD4KKzwvdHI+Cis8dHI+Cis8dGQ+OTk5OTwv
dGQ+Cis8dGQ+QmlsbDwvdGQ+Cis8L3RyPgorPHRyPgorPHRkPjk5OTg8L3RkPgorPHRkPlRlZDwv
dGQ+Cis8L3RyPgorPC90YWJsZT4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
cyB0aGF0IHRhYmxlIEFYVGl0bGUgaXMgZXhwb3NlZCBjb3JyZWN0bHkuIik7CisgICAgCisgICAg
aWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICB2YXIgdGFibGUg
PSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInRhYmxlIik7
CisgICAgICAgIAorICAgICAgICBzaG91bGRCZSgidGFibGUudGl0bGUiLCAiJ0FYVGl0bGU6IEhp
Z2ggU2NvcmVzJyIpOworICAgIH0KKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ODY1ZDI4MS4uOWM4YWRkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTEwLTAyICBTYW0g
V2hpdGUgIDxzYW11ZWxfd2hpdGVAYXBwbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb246IEFY
OiA8dGFibGU+PGNhcHRpb24+IG5vIGxvbmdlciBleHBvc2VkIGFzIEFYVGl0bGUuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE5NzcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0IHRvIHZl
cmlmeSB0aGF0IHRhYmxlIGVsZW1lbnRzIGNvcnJlY3RseSBkZXJpdmUgdGhlaXIgQVhUaXRsZSBm
cm9tIHRoZWlyIGFzc29jaWF0ZWQgY2FwdGlvbiBlbGVtZW50LgorCisgICAgICAgICogYWNjZXNz
aWJpbGl0eS90YWJsZS10aXRsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvdGFibGUtdGl0bGUuaHRtbDogQWRkZWQuCisKIDIwMTMtMTAtMDEgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgVGlsZWQgZHJhd2luZyBH
cmFwaGljc0xheWVyIHRyZWUgZHVtcHMgc2hvdWxkIG1hdGNoIG5vbi10aWxlZCBtb3JlIGNsb3Nl
bHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA5ZDM1MmEyLi43NmUxNDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjcgQEAKKzIwMTMtMTAtMDIgIFNhbSBXaGl0ZSAgPHNhbXVlbF93aGl0ZUBhcHBsZS5jb20+CisK
KyAgICAgICAgUmVncmVzc2lvbjogQVg6IDx0YWJsZT48Y2FwdGlvbj4gbm8gbG9uZ2VyIGV4cG9z
ZWQgYXMgQVhUaXRsZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyMTk3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNvbWUgY2xlYW51cCBvZiBhY2Nlc3NpYmlsaXR5VGV4dC4gTm90YWJseSwgc3ViY2xh
c3NlcyB3ZXJlIHVubmVjZXNzYXJpbHkgcmVkZWNsYXJpbmcgdGhpcyBtZXRob2QgYXMgYm90aCBw
cml2YXRlIGFuZAorICAgICAgICBwcm90ZWN0ZWQuIEFkZGVkIE9WRVJSSURFIGtleXdvcmQgdG8g
dGhlc2Ugc3ViY2xhc3NlcyBhcyBuZWVkZWQuIE1vdmVkIGFjY2Vzc2liaWxpdHlUZXh0IHdvcmtl
ciBtZXRob2RzICh0aXRsZUVsZW1lbnRUZXh0LAorICAgICAgICBhbHRlcm5hdGl2ZVRleHQsIHZp
c2libGVUZXh0LCBoZWxwVGV4dCkgdG8gdmlydHVhbCBwcm90ZWN0ZWQgbWV0aG9kcyBzbyB3ZSBj
YW4gZG8gc3ViY2xhc3Mgb3ZlcnJpZGVzIGluIGNhc2VzIGxpa2UgdGhpcworICAgICAgICBidWcu
IFRoYXQgaXMsIEFjY2Vzc2liaWxpdHlUYWJsZSBjYW4gbGV2ZXJhZ2UgdGhlIGV4aXN0aW5nIG1h
Y2hpbmVyeSBmb3IgYWx0ZXJuYXRpdmVUZXh0LCB2aXNpYmxlVGV4dCwgYW5kIGhlbHBUZXh0LAor
ICAgICAgICBidXQgd2UgZG8gc29tZSBjdXN0b20gd29yayBPTkxZIGluIHRpdGxlRWxlbWVudFRl
eHQuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS90YWJsZS10aXRsZS5odG1sCisKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsuaDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmg6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6dGl0bGVFbGVtZW50VGV4dCk6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlUYWJsZTo6dGl0bGVFbGVtZW50VGV4dCk6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUuaDoKKwogMjAxMy0xMC0wMSAgU2FtIFdlaW5pZyAg
PHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIENvbnZlcnQgUGFnZUdyb3VwIHRvIHVzaW5nIHN0
ZDo6dW5pcXVlX3B0cgo=
</data>
<flag name="review"
          id="235553"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213308</attachid>
            <date>2013-10-03 15:50:15 -0700</date>
            <delta_ts>2013-10-03 16:28:02 -0700</delta_ts>
            <desc>Updated patch.</desc>
            <filename>table-title.patch</filename>
            <type>text/plain</type>
            <size>7744</size>
            <attacher name="Samuel White">samuel_white</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUlt
YWdlTWFwTGluay5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
SW1hZ2VNYXBMaW5rLmgKaW5kZXggNDYwMGUzYy4uYWYxN2VlZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmgK
QEAgLTc2LDcgKzc2LDcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgUGF0aCBlbGVtZW50UGF0
aCgpIGNvbnN0OwogICAgIFJlbmRlckVsZW1lbnQqIGltYWdlTWFwTGlua1JlbmRlcmVyKCkgY29u
c3Q7Ci0gICAgdmlydHVhbCB2b2lkIGFjY2Vzc2liaWxpdHlUZXh0KFZlY3RvcjxBY2Nlc3NpYmls
aXR5VGV4dD4mKTsKKyAgICB2aXJ0dWFsIHZvaWQgYWNjZXNzaWJpbGl0eVRleHQoVmVjdG9yPEFj
Y2Vzc2liaWxpdHlUZXh0PiYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc0ltYWdlTWFw
TGluaygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNQ
YXRoKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbHMuaAppbmRleCAz
MzdlYzVjLi43OThhZmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlNZWRpYUNvbnRyb2xzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5oCkBAIC01Myw4ICs1MywxMCBAQCBw
cm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgQWNjZXNzaWJpbGl0eU1lZGlhQ29udHJvbChSZW5kZXJP
YmplY3QqKTsKICAgICBNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBjb250cm9sVHlwZSgpIGNvbnN0
OwogICAgIFN0cmluZyBjb250cm9sVHlwZU5hbWUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQg
YWNjZXNzaWJpbGl0eVRleHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpOwogICAgIHZpcnR1
YWwgYm9vbCBjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0OworCitwcml2YXRl
OgorICAgIHZpcnR1YWwgdm9pZCBhY2Nlc3NpYmlsaXR5VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0
eVRleHQ+JikgT1ZFUlJJREU7CiB9OwogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKaW5kZXggNzQ2OWYyMi4u
N2Q5NmZhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAgLTExODEsNyArMTE4MSw3IEBAIEFjY2Vzc2li
aWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjptZW51QnV0dG9uRm9yTWVudSgp
IGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKLXZvaWQgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6
OnRpdGxlRWxlbWVudFRleHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYgdGV4dE9yZGVyKQor
dm9pZCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6dGl0bGVFbGVtZW50VGV4dChWZWN0b3I8QWNj
ZXNzaWJpbGl0eVRleHQ+JiB0ZXh0T3JkZXIpIGNvbnN0CiB7CiAgICAgTm9kZSogbm9kZSA9IHRo
aXMtPm5vZGUoKTsKICAgICBpZiAoIW5vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmgKaW5kZXggM2NhNTRkNC4uMmJl
MjdlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU5vZGVPYmplY3QuaApAQCAtMTkyLDggKzE5Miw4IEBAIHByb3RlY3RlZDoKIHByaXZh
dGU6CiAgICAgTm9kZSogbV9ub2RlOwogCi0gICAgdmlydHVhbCB2b2lkIGFjY2Vzc2liaWxpdHlU
ZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mKTsKLSAgICB2b2lkIHRpdGxlRWxlbWVudFRl
eHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpOworICAgIHZpcnR1YWwgdm9pZCBhY2Nlc3Np
YmlsaXR5VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+JikgT1ZFUlJJREU7CisgICAgdmly
dHVhbCB2b2lkIHRpdGxlRWxlbWVudFRleHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYpIGNv
bnN0OwogICAgIHZvaWQgYWx0ZXJuYXRpdmVUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4m
KSBjb25zdDsKICAgICB2b2lkIHZpc2libGVUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4m
KSBjb25zdDsKICAgICB2b2lkIGhlbHBUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVRhYmxlLmNwcAppbmRleCA4NTI4NjU4Li4yMGJkY2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUuY3BwCkBAIC01NTAsNyArNTUw
LDE0IEBAIGJvb2wgQWNjZXNzaWJpbGl0eVRhYmxlOjpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdu
b3JlZCgpIGNvbnN0CiAgICAgICAgIAogICAgIHJldHVybiBmYWxzZTsKIH0KLSAgICAKKwordm9p
ZCBBY2Nlc3NpYmlsaXR5VGFibGU6OnRpdGxlRWxlbWVudFRleHQoVmVjdG9yPEFjY2Vzc2liaWxp
dHlUZXh0PiYgdGV4dE9yZGVyKSBjb25zdAoreworICAgIFN0cmluZyB0aXRsZSA9IHRoaXMtPnRp
dGxlKCk7CisgICAgaWYgKCF0aXRsZS5pc0VtcHR5KCkpCisgICAgICAgIHRleHRPcmRlci5hcHBl
bmQoQWNjZXNzaWJpbGl0eVRleHQodGl0bGUsIExhYmVsQnlFbGVtZW50VGV4dCkpOworfQorCiBT
dHJpbmcgQWNjZXNzaWJpbGl0eVRhYmxlOjp0aXRsZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFpc0Fj
Y2Vzc2liaWxpdHlUYWJsZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVRhYmxlLmgKaW5kZXggZjE5NDVlOGUuLmUzY2UzYjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUuaApAQCAtOTIs
NiArOTIsOSBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNUYWJsZUV4cG9zYWJs
ZVRocm91Z2hBY2Nlc3NpYmlsaXR5KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVB
Y2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QgT1ZFUlJJREU7CisKK3ByaXZhdGU6CisgICAg
dmlydHVhbCB2b2lkIHRpdGxlRWxlbWVudFRleHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYp
IGNvbnN0IE9WRVJSSURFOwogfTsKICAgICAKIGlubGluZSBBY2Nlc3NpYmlsaXR5VGFibGUqIHRv
QWNjZXNzaWJpbGl0eVRhYmxlKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtdGl0bGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS10aXRsZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmM5ZWYyNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtdGl0bGUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTQgQEAKK0hpZ2ggU2NvcmVzCitTY29yZQlOYW1lCis5OTk5CUJpbGwKKzk5OTgJVGVk
CitUaGlzIHRlc3RzIHRoYXQgdGFibGUgQVhUaXRsZSBpcyBleHBvc2VkIGNvcnJlY3RseS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdGFibGUudGl0bGUgaXMgJ0FYVGl0
bGU6IEhpZ2ggU2NvcmVzJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUt
dGl0bGUuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtdGl0bGUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjVjOWI2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS10aXRsZS5odG1sCkBAIC0wLDAg
KzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHRpdGxlPlRhYmxlIFRpdGxl
PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8dGFibGUgYm9yZGVyPSIxIiBpZD0idGFibGUi
PgorPGNhcHRpb24+SGlnaCBTY29yZXM8L2NhcHRpb24+Cis8dHI+Cis8dGg+U2NvcmU8L3RoPgor
PHRoPk5hbWU8L3RoPgorPC90cj4KKzx0cj4KKzx0ZD45OTk5PC90ZD4KKzx0ZD5CaWxsPC90ZD4K
KzwvdHI+Cis8dHI+Cis8dGQ+OTk5ODwvdGQ+Cis8dGQ+VGVkPC90ZD4KKzwvdHI+Cis8L3RhYmxl
PgorCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgdGFibGUgQVhUaXRs
ZSBpcyBleHBvc2VkIGNvcnJlY3RseS4iKTsKKyAgICAKKyAgICBpZiAod2luZG93LmFjY2Vzc2li
aWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIHZhciB0YWJsZSA9IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidGFibGUiKTsKKyAgICAgICAgCisgICAgICAg
IHNob3VsZEJlKCJ0YWJsZS50aXRsZSIsICInQVhUaXRsZTogSGlnaCBTY29yZXMnIik7CisgICAg
fQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlNDk2N2QwLi5mMzhhNWVhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMTAtMDMgIFNhbXVlbCBXaGl0ZSAgPHNhbXVlbF93
aGl0ZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbjogQVg6IDx0YWJsZT48Y2FwdGlv
bj4gbm8gbG9uZ2VyIGV4cG9zZWQgYXMgQVhUaXRsZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTk3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3QgdG8gdmVyaWZ5IHRoYXQgdGFibGUg
ZWxlbWVudHMgY29ycmVjdGx5IGRlcml2ZSB0aGVpciBBWFRpdGxlIGZyb20gdGhlaXIgYXNzb2Np
YXRlZCBjYXB0aW9uIGVsZW1lbnQuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3RhYmxlLXRp
dGxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS90YWJsZS10
aXRsZS5odG1sOiBBZGRlZC4KKwogMjAxMy0xMC0wMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIENlbnRlciBtaXNzcGVsbGluZyBkb3RzIGFjcm9z
cyB3aWR0aCBvZiB3b3JkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTVmMjY0NC4uZDAwMWQyZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTEwLTAzICBTYW11ZWwgV2hpdGUgIDxzYW11ZWxfd2hp
dGVAYXBwbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb246IEFYOiA8dGFibGU+PGNhcHRpb24+
IG5vIGxvbmdlciBleHBvc2VkIGFzIEFYVGl0bGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE5NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTb21lIGNsZWFudXAgb2YgYWNjZXNzaWJpbGl0eVRleHQu
IE5vdGFibHksIHN1YmNsYXNzZXMgd2VyZSB1bm5lY2Vzc2FyaWx5IHJlZGVjbGFyaW5nIHRoaXMg
bWV0aG9kIGFzIGJvdGggcHJpdmF0ZSBhbmQKKyAgICAgICAgcHJvdGVjdGVkLiBBZGRlZCBPVkVS
UklERSBrZXl3b3JkIHRvIHRoZXNlIHN1YmNsYXNzZXMgYXMgbmVlZGVkLiBNb3ZlZCB0aXRsZUVs
ZW1lbnRUZXh0IHRvIHZpcnR1YWwgc28gd2UgY2FuIGRvIHN1YmNsYXNzCisgICAgICAgIG92ZXJy
aWRlcyBpbiBjYXNlcyBsaWtlIHRoaXMgYnVnLiBUaGF0IGlzLCBBY2Nlc3NpYmlsaXR5VGFibGUg
Y2FuIGxldmVyYWdlIHRoZSBleGlzdGluZyBtYWNoaW5lcnkgZm9yIGFsdGVybmF0aXZlVGV4dCwK
KyAgICAgICAgdmlzaWJsZVRleHQsIGFuZCBoZWxwVGV4dCwgYnV0IHdlIGRvIHNvbWUgY3VzdG9t
IHdvcmsgT05MWSBpbiB0aXRsZUVsZW1lbnRUZXh0LgorCisgICAgICAgIFRlc3Q6IGFjY2Vzc2li
aWxpdHkvdGFibGUtdGl0bGUuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5SW1hZ2VNYXBMaW5rLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5TWVkaWFDb250cm9scy5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU5vZGVPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmpl
Y3Q6OnRpdGxlRWxlbWVudFRleHQpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU5vZGVPYmplY3QuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlU
YWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VGFibGU6OnRpdGxlRWxl
bWVudFRleHQpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmg6
CisKIDIwMTMtMTAtMDEgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIExlYWYgRXZlbnRUYXJnZXQgc3ViY2xhc3NlcyBzaG91bGQgYmUgRklOQUwuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>