<?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>142887</bug_id>
          
          <creation_ts>2015-03-19 17:38:46 -0700</creation_ts>
          <short_desc>role progress bar does not support indeterminate state</short_desc>
          <delta_ts>2015-04-07 22:58:02 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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="chris fleizach">cfleizach</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>mpeechatt</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1078696</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-03-19 17:38:46 -0700</bug_when>
    <thetext>Summary:
When creating a progress bar using role progress bar, I want to be able to create a indeterminate progress bar. For this I do NOT specify the aria-valuenow attribute as documented in aria-valuenow. http://www.w3.org/TR/wai-aria/states_and_properties#aria-valuenow

I did however specify valuemin (0) and valuemax (100), as the progress bar might become determinate at some point. When doing this, VoiceOver tells me that the current value is 0, which is not what I was expecting.

Steps to Reproduce:
&lt;div class=&quot;oo-ui-widget oo-ui-widget-enabled oo-ui-progressBarWidget&quot; role=&quot;progressbar&quot; aria-valuemin=&quot;0&quot; aria-valuemax=&quot;100&quot;&gt;&lt;div class=&quot;oo-ui-progressBarWidget-bar&quot; style=&quot;width: 33%;&quot;&gt;&lt;/div&gt;&lt;/div&gt;

Expected Results:


Actual Results:
Was able to workaround by also removing valuemin and valuemax, but that does not seem like the appropriate requirement here I think.

Version:
Yosemite 10.10.1

-----------------------

The only author requirement is to leave out the valuenow attr. VO should convey and unknown value regardless of whether the min and max are specified.

https://w3c.github.io/aria/aria/aria.html#progressbar

------------------------

WebKit is reporting a writable AXValue of 0

&lt;rdar://problem/19621710&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081022</commentid>
    <comment_count>1</comment_count>
      <attachid>249689</attachid>
    <who name="">mpeechatt</who>
    <bug_when>2015-03-29 12:40:08 -0700</bug_when>
    <thetext>Created attachment 249689
test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081023</commentid>
    <comment_count>2</comment_count>
    <who name="">mpeechatt</who>
    <bug_when>2015-03-29 12:41:39 -0700</bug_when>
    <thetext>See attached test case. VoiceOver returns 0 percent, despite progress bars not including aria value now attribute. VoiceOver will recognize them as indeterminate if you remove aria min and max attributes, but aria documentation says author should only need to exclude aria value now attribute to make it indeterminate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081024</commentid>
    <comment_count>3</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-03-29 12:55:19 -0700</bug_when>
    <thetext>I think that discrepancy is fine. Our job is to translate from web standards to Apple accessibility platforms. This case sounds like it falls within those parameters

(In reply to comment #2)
&gt; See attached test case. VoiceOver returns 0 percent, despite progress bars
&gt; not including aria value now attribute. VoiceOver will recognize them as
&gt; indeterminate if you remove aria min and max attributes, but aria
&gt; documentation says author should only need to exclude aria value now
&gt; attribute to make it indeterminate.

(In reply to comment #2)
&gt; See attached test case. VoiceOver returns 0 percent, despite progress bars
&gt; not including aria value now attribute. VoiceOver will recognize them as
&gt; indeterminate if you remove aria min and max attributes, but aria
&gt; documentation says author should only need to exclude aria value now
&gt; attribute to make it indeterminate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082162</commentid>
    <comment_count>4</comment_count>
      <attachid>249957</attachid>
    <who name="">mpeechatt</who>
    <bug_when>2015-04-01 20:35:53 -0700</bug_when>
    <thetext>Created attachment 249957
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082182</commentid>
    <comment_count>5</comment_count>
      <attachid>249957</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-04-01 23:30:19 -0700</bug_when>
    <thetext>Comment on attachment 249957
patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Fixes: Bug 142887 - role progress bar does not support indeterminate state 

This line should remove Fixes. 
It should match the other entries in ChangeLog

&gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:865
&gt; +        return 0.0f;

I don&apos;t think we can make this assumption for each platform. I think this is a platform implementation detail, so we should move this logic in the WebAXObjectWrapperMac.

It&apos;s possible that GTK does not follow the same convention

&gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:881
&gt; +    if (isProgressIndicator())

I don&apos;t think we want to return 0 unconditionally for minValue if it&apos;s a progressIndicator

&gt; Source/WebCore/accessibility/AccessibilityProgressIndicator.cpp:92
&gt; +        if (progress &amp;&amp; progress-&gt;position() &gt;= 0)

why was this change necessary?

&gt; Source/WebCore/accessibility/AccessibilityProgressIndicator.cpp:103
&gt; +    // Indeterminate progress bar should return 0.

this comment doesn&apos;t seem necessary, since there&apos;s it doesn&apos;t explain anything that&apos;s happening in the code at this locus

&gt; LayoutTests/ChangeLog:3
&gt; +        Test that checks if indeterminate progress indicators return

this change log should follow the other WebCore change log, where there&apos;s a Bug name, then URL

Then put comments below the Reviewed by line

&gt; LayoutTests/accessibility/progressbar-indeterminate.html:16
&gt; +    description(&quot;Make sure progress indicators that don&apos;t have a value return 0 for min and max. This ensures VoiceOver says indeterminate instead of 0.&quot;);

Since this is a test that will implement a Mac platform specific implementation, we should put this in the platform/mac/accessibility folder

&gt; LayoutTests/accessibility/progressbar-indeterminate.html:19
&gt; +          // div element given progressbar role

when should make this comment a full sentence (capitalize first letter, ends with period)

&gt; LayoutTests/accessibility/progressbar-indeterminate.html:31
&gt; +          shouldBe(&quot;obj.minValue&quot;, &quot;0&quot;);

you should verify that in fact you are messaging the progressbar2 element here with some shouldBe line (just in case you&apos;re still messaging the old one)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082764</commentid>
    <comment_count>6</comment_count>
      <attachid>250124</attachid>
    <who name="">mpeechatt</who>
    <bug_when>2015-04-03 22:25:29 -0700</bug_when>
    <thetext>Created attachment 250124
patch

Moved logic to WebAccessibilityObjectWrapperMac.mm. Return 0 if getting max value from an indeterminate progress indicator. LayoutTest ensures 0 is returned for max value of a div element and progress element, both indeterminate with role progressbar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082765</commentid>
    <comment_count>7</comment_count>
      <attachid>250124</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-04-03 22:37:24 -0700</bug_when>
    <thetext>Comment on attachment 250124
patch

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

&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:2501
&gt;          return [NSNumber numberWithFloat:m_object-&gt;minValueForRange()];

don&apos;t we need to do the same thing for the min value for indeterminate items?

&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:2506
&gt; +            return [NSNumber numberWithFloat:0.0f];

this can be written as
@0

&gt; LayoutTests/platform/mac/accessibility/progressbar-indeterminate-expected.txt:8
&gt; +PASS prog1.maxValue is 0

i think we need to test the min value too right</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082769</commentid>
    <comment_count>8</comment_count>
      <attachid>250125</attachid>
    <who name="">mpeechatt</who>
    <bug_when>2015-04-04 00:06:43 -0700</bug_when>
    <thetext>Created attachment 250125
patch

Added the same logic for when accessing min value attribute. If it is indeterminate, return 0. 
Added a shouldBe check for min value. I also set test elements aria min and max attributes to non zero values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082770</commentid>
    <comment_count>9</comment_count>
      <attachid>250126</attachid>
    <who name="">mpeechatt</who>
    <bug_when>2015-04-04 00:09:31 -0700</bug_when>
    <thetext>Created attachment 250126
patch

Fixed a typo in the test (max and max should be min and max)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082864</commentid>
    <comment_count>10</comment_count>
      <attachid>250126</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-04-04 23:37:00 -0700</bug_when>
    <thetext>Comment on attachment 250126
patch

looks good. thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082865</commentid>
    <comment_count>11</comment_count>
      <attachid>250126</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-04 23:38:42 -0700</bug_when>
    <thetext>Comment on attachment 250126
patch

Rejecting attachment 250126 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 250126, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
unexpectedly ends in middle of line
patch: **** malformed patch at line 36:  

fatal: pathspec &apos;LayoutTests/platform/mac/accessibility/progressbar-indeterminate.html&apos; did not match any files
Failed to git add LayoutTests/platform/mac/accessibility/progressbar-indeterminate.html. at /Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply line 448.

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Chris Fleizach&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.appspot.com/results/4803418535231488</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082868</commentid>
    <comment_count>12</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2015-04-04 23:45:42 -0700</bug_when>
    <thetext>I think you need to add a patch where you do an svn add on the new files first</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083051</commentid>
    <comment_count>13</comment_count>
      <attachid>250195</attachid>
    <who name="">mpeechatt</who>
    <bug_when>2015-04-05 23:20:09 -0700</bug_when>
    <thetext>Created attachment 250195
patch

I made sure there were no untracked files before I ran svn diff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083555</commentid>
    <comment_count>14</comment_count>
      <attachid>250195</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-07 22:57:58 -0700</bug_when>
    <thetext>Comment on attachment 250195
patch

Clearing flags on attachment: 250195

Committed r182520: &lt;http://trac.webkit.org/changeset/182520&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083556</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-07 22:58:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>249689</attachid>
            <date>2015-03-29 12:40:08 -0700</date>
            <delta_ts>2015-03-29 12:40:08 -0700</delta_ts>
            <desc>test case</desc>
            <filename>test1.html</filename>
            <type>text/html</type>
            <size>1155</size>
            <attacher>mpeechatt</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDx0aXRsZT5JbmRldGVybWluYXRlIFBy
b2dyZXNzIEluZGljYXRvciBWb2ljZU92ZXIgVGVzdCBDYXNlPC90aXRsZT4KICAgIDwhLS0gY29t
cGlsZWQgYW5kIG1pbmlmaWVkIENTUyBCb290c3RyYXAgdjMuMy40IC0tPgogICAgPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3Rz
dHJhcC8zLjMuNC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiPgo8L2hlYWQ+Cjxib2R5PgogICAgPGg0
PiYjNjA7cHJvZ3Jlc3MmIzYyOyB0YWc8L2g0PgogICAgPHByb2dyZXNzIHJvbGU9InByb2dyZXNz
YmFyIiBhcmlhLXZhbHVlbWluPSI3NSIgYXJpYS12YWx1ZW1heD0iMTAwIiBzdHlsZT0id2lkdGg6
IDUwJSI+PC9wcm9ncmVzcz4KICAgIDxwPkV4cGVjdGVkIE91dHB1dDogImluZGV0ZXJtaW5hdGUs
IHByb2dyZXNzIGluZGljYXRvciI8L3A+CgogICAgPGg0PiYjNjA7ZGl2JiM2MjsgdGFnIChzdHls
ZWQgd2l0aCBib290c3RyYXApPC9oND4KICAgIDxkaXYgY2xhc3M9InByb2dyZXNzIHByb2dyZXNz
LXN0cmlwZWQgYWN0aXZlIiBzdHlsZT0id2lkdGg6IDUwJSI+CiAgICAgIDxkaXYgY2xhc3M9InBy
b2dyZXNzLWJhciIgcm9sZT0icHJvZ3Jlc3NiYXIiIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFs
dWVtYXg9IjEwMCIgc3R5bGU9IndpZHRoOiAxMDAlIj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4K
ICAgIDxwPkV4cGVjdGVkIE91dHB1dDogImluZGV0ZXJtaW5hdGUsIHByb2dyZXNzIGluZGljYXRv
ciI8L3A+CiAgICA8aHI+CiAgICA8cD4gQnVnIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4ODciPjE0Mjg4NzwvYT46IHJvbGUgcHJvZ3Jlc3MgYmFy
IGRvZXMgbm90IHN1cHBvcnQgaW5kZXRlcm1pbmF0ZSBzdGF0ZTwvcD4KICAgIDxvbD4KICAgICAg
ICA8bGk+QWN0aXZhdGUgVm9pY2VPdmVyPC9saT4KICAgICAgICA8bGk+TmF2aWdhdGUgc2VsZWN0
aW9uIHRvIGVhY2ggcHJvZ3Jlc3MgaW5kaWNhdG9yPC9saT4KICAgICAgICA8bGk+Q29tcGFyZSBW
b2ljZU92ZXIgb3V0cHV0IHdpdGggZXhwZWN0ZWQgb3V0cHV0PC9saT4KICAgIDwvb2w+ICAgIAo8
L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249957</attachid>
            <date>2015-04-01 20:35:53 -0700</date>
            <delta_ts>2015-04-03 22:25:29 -0700</delta_ts>
            <desc>patch</desc>
            <filename>file_142887.txt</filename>
            <type>text/plain</type>
            <size>6047</size>
            <attacher>mpeechatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgyMjY2KQ0KKysrIFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwyMSBAQA0KKzIwMTUtMDQtMDEgIE1p
Y2hhZWwgUGVlY2hhdHQgIDxtcGVlY2hhdHRAZ21haWwuY29tPg0KKyAgICAgICAgDQorICAgICAg
ICBGaXhlczogQnVnIDE0Mjg4NyAtIHJvbGUgcHJvZ3Jlc3MgYmFyIGRvZXMgbm90IHN1cHBvcnQg
aW5kZXRlcm1pbmF0ZSBzdGF0ZSANCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDI4ODcNCisNCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLg0KKw0KKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1pbmRldGVy
bWluYXRlLmh0bWwNCisNCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdC5jcHA6DQorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6
Om1heFZhbHVlRm9yUmFuZ2UpOiBSZXR1cm5zIDAgZm9yDQorICAgICAgICBtYXggdmFsdWUgaWYg
cHJvZ3Jlc3MgaW5kaWNhdG9yIGhhcyBubyB2YWx1ZSBzcGVjaWZpZWQNCisgICAgICAgIChXZWJD
b3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6bWluVmFsdWVGb3JSYW5nZSk6IFJldHVybnMg
MCBmb3INCisgICAgICAgIG1pbiB2YWx1ZSBvZiBhbGwgcHJvZ3Jlc3MgaW5kaWNhdG9ycw0KKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5jcHA6
DQorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjptYXhW
YWx1ZUZvclJhbmdlKTogUmV0dXJucw0KKyAgICAgICAgMCBmb3IgbWF4IHZhbHVlIGlmIHByb2dy
ZXNzIGluZGljYXRvciBpcyBpbmRldGVybWluYXRlDQorDQogMjAxNS0wNC0wMSAgQ29tbWl0IFF1
ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+DQogDQogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByMTgyMjQ3Lg0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAJKHJldmlzaW9uIDE4
MjIzMikNCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTg2MCw2ICs4NjAsMTAgQEAgZmxvYXQgQWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3Q6Om1heFZhbHVlRg0KICAgICBpZiAoIWlzUmFuZ2VDb250cm9s
KCkpDQogICAgICAgICByZXR1cm4gMC4wZjsNCiANCisgICAgLy8gSW5kZXRlcm1pYW50ZSBQcm9n
cmVzcyBJbmRpY2F0b3INCisgICAgaWYgKGlzUHJvZ3Jlc3NJbmRpY2F0b3IoKSAmJiAhaGFzQXR0
cmlidXRlKGFyaWFfdmFsdWVub3dBdHRyKSkNCisgICAgICAgIHJldHVybiAwLjBmOw0KKw0KICAg
ICByZXR1cm4gZ2V0QXR0cmlidXRlKGFyaWFfdmFsdWVtYXhBdHRyKS50b0Zsb2F0KCk7DQogfQ0K
IA0KQEAgLTg3NCw2ICs4NzgsOSBAQCBmbG9hdCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6bWlu
VmFsdWVGDQogICAgIGlmICghaXNSYW5nZUNvbnRyb2woKSkNCiAgICAgICAgIHJldHVybiAwLjBm
Ow0KIA0KKyAgICBpZiAoaXNQcm9ncmVzc0luZGljYXRvcigpKQ0KKyAgICAgICAgcmV0dXJuIDAu
MGY7DQorDQogICAgIHJldHVybiBnZXRBdHRyaWJ1dGUoYXJpYV92YWx1ZW1pbkF0dHIpLnRvRmxv
YXQoKTsNCiB9DQogDQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IuY3BwCShyZXZp
c2lvbiAxODIyMzIpDQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UHJvZ3Jlc3NJbmRpY2F0b3IuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtODgsNyArODgsOCBA
QCBmbG9hdCBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6Om1hDQogICAgICAgICByZXR1
cm4gMC4wOw0KIA0KICAgICBpZiAobV9yZW5kZXJlci0+aXNQcm9ncmVzcygpKSB7DQotICAgICAg
ICBpZiAoSFRNTFByb2dyZXNzRWxlbWVudCogcHJvZ3Jlc3MgPSBwcm9ncmVzc0VsZW1lbnQoKSkN
CisgICAgICAgIEhUTUxQcm9ncmVzc0VsZW1lbnQqIHByb2dyZXNzID0gcHJvZ3Jlc3NFbGVtZW50
KCk7DQorICAgICAgICBpZiAocHJvZ3Jlc3MgJiYgcHJvZ3Jlc3MtPnBvc2l0aW9uKCkgPj0gMCkN
CiAgICAgICAgICAgICByZXR1cm4gbmFycm93UHJlY2lzaW9uVG9GbG9hdChwcm9ncmVzcy0+bWF4
KCkpOw0KICAgICB9DQogICAgIA0KQEAgLTk5LDYgKzEwMCw3IEBAIGZsb2F0IEFjY2Vzc2liaWxp
dHlQcm9ncmVzc0luZGljYXRvcjo6bWENCiAgICAgfQ0KICNlbmRpZg0KIA0KKyAgICAvLyBJbmRl
dGVybWluYXRlIHByb2dyZXNzIGJhciBzaG91bGQgcmV0dXJuIDAuDQogICAgIHJldHVybiAwLjA7
DQogfQ0KIA0KQEAgLTE1Miw0ICsxNTQsMyBAQCBFbGVtZW50KiBBY2Nlc3NpYmlsaXR5UHJvZ3Jl
c3NJbmRpY2F0b3I6DQogfQ0KIA0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUNCi0NCkluZGV4OiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE4MjI2NikNCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkNCkBAIC0xLDMgKzEsMTQgQEANCisyMDE1LTA0LTAxICBNaWNoYWVsIFBlZWNoYXR0ICA8
bXBlZWNoYXR0QGdtYWlsLmNvbT4NCisNCisgICAgICAgIFRlc3QgdGhhdCBjaGVja3MgaWYgaW5k
ZXRlcm1pbmF0ZSBwcm9ncmVzcyBpbmRpY2F0b3JzIHJldHVybg0KKyAgICAgICAgMCBmb3IgbWlu
IGFuZCBtYXggdmFsdWVzLCBlbnN1cmluZyBwcm9wZXIgVm9pY2VPdmVyIG91dHB1dA0KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Mjg4Nw0KKw0KKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLg0KKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L3Byb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUuaHRtbDogQWRk
ZWQuDQorDQogMjAxNS0wNC0wMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5v
cmc+DQogDQogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTgyMjQ3Lg0KSW5kZXg6
IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1leHBl
Y3RlZC50eHQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3Byb2dy
ZXNzYmFyLWluZGV0ZXJtaW5hdGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQ0KKysrIExheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsMTUgQEANCitYDQorDQorTWFrZSBzdXJlIHBy
b2dyZXNzIGluZGljYXRvcnMgdGhhdCBkb24ndCBoYXZlIGEgdmFsdWUgcmV0dXJuIDAgZm9yIG1p
biBhbmQgbWF4LiBUaGlzIGVuc3VyZXMgVm9pY2VPdmVyIHNheXMgaW5kZXRlcm1pbmF0ZSBpbnN0
ZWFkIG9mIDAuDQorDQorT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLg0KKw0KKw0KK1BBU1Mgb2Jq
Lm1pblZhbHVlIGlzIDANCitQQVNTIG9iai5tYXhWYWx1ZSBpcyAwDQorUEFTUyBvYmoubWluVmFs
dWUgaXMgMA0KK1BBU1Mgb2JqLm1heFZhbHVlIGlzIDANCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlDQorDQorVEVTVCBDT01QTEVURQ0KKw0KSW5kZXg6IExheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS5odG1sDQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0g
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLmh0bWwJ
KHJldmlzaW9uIDApDQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1p
bmRldGVybWluYXRlLmh0bWwJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsMzkgQEANCis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+DQorPGh0bWw+DQorPGhl
YWQ+DQorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
DQorPC9oZWFkPg0KKzxib2R5IGlkPSJib2R5Ij4NCisNCis8ZGl2IHRhYmluZGV4PSIwIiBpZD0i
cHJvZ3Jlc3NiYXIxIiByb2xlPSJwcm9ncmVzc2JhciIgYXJpYS12YWx1ZW1pbj0iMCIgYXJpYS12
YWx1ZW1heD0iMTAwIj5YPC9kaXY+DQorPHByb2dyZXNzIHRhYmluZGV4PSIwIiBpZD0icHJvZ3Jl
c3NiYXIyIiByb2xlPSJwcm9ncmVzc2JhciIgYXJpYS12YWx1ZW1pbj0iNzUiIGFyaWEtdmFsdWVt
YXg9IjEwMCI+PC9wcm9ncmVzcz4NCisNCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4NCis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4NCisNCis8c2NyaXB0Pg0KKw0KKyAgICBkZXNjcmlwdGlvbigi
TWFrZSBzdXJlIHByb2dyZXNzIGluZGljYXRvcnMgdGhhdCBkb24ndCBoYXZlIGEgdmFsdWUgcmV0
dXJuIDAgZm9yIG1pbiBhbmQgbWF4LiBUaGlzIGVuc3VyZXMgVm9pY2VPdmVyIHNheXMgaW5kZXRl
cm1pbmF0ZSBpbnN0ZWFkIG9mIDAuIik7DQorDQorICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIpIHsNCisgICAgICAgICAgLy8gZGl2IGVsZW1lbnQgZ2l2ZW4gcHJvZ3Jlc3Ni
YXIgcm9sZQ0KKyAgICAgICAgICAvLyBpbmRldGVybWluYXRlIGJlY2F1c2Ugbm8gYXNzaWduZWQg
dmFsdWUNCisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb2dyZXNzYmFyMSIp
LmZvY3VzKCk7DQorICAgICAgICAgIHZhciBvYmogPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5m
b2N1c2VkRWxlbWVudDsNCisNCisgICAgICAgICAgc2hvdWxkQmUoIm9iai5taW5WYWx1ZSIsICIw
Iik7DQorICAgICAgICAgIHNob3VsZEJlKCJvYmoubWF4VmFsdWUiLCAiMCIpOw0KKw0KKyAgICAg
ICAgICAvLyBpbmRldGVybWluYXRlIHByb2dyZXNzIGVsZW1lbnQNCisgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInByb2dyZXNzYmFyMiIpLmZvY3VzKCk7DQorICAgICAgICAgIG9i
aiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50Ow0KKw0KKyAgICAgICAg
ICBzaG91bGRCZSgib2JqLm1pblZhbHVlIiwgIjAiKTsNCisgICAgICAgICAgc2hvdWxkQmUoIm9i
ai5tYXhWYWx1ZSIsICIwIik7DQorICAgIH0NCisNCis8L3NjcmlwdD4NCisNCis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+DQorPC9ib2R5Pg0KKzwv
aHRtbD4=
</data>
<flag name="review"
          id="274803"
          type_id="1"
          status="-"
          setter="cfleizach"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250124</attachid>
            <date>2015-04-03 22:25:29 -0700</date>
            <delta_ts>2015-04-04 00:06:43 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>4773</size>
            <attacher>mpeechatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA0LTAzICBNaWNoYWVs
IFBlZWNoYXR0ICA8bXBlZWNoYXR0QGdtYWlsLmNvbT4KKworICAgICAgICBCdWcgMTQyODg3IC0g
cm9sZSBwcm9ncmVzcyBiYXIgZG9lcyBub3Qgc3VwcG9ydCBpbmRldGVybWluYXRlIHN0YXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4ODcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbGF0
Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLmh0bWwKKwor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
TWFjLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3Np
YmlsaXR5QXR0cmlidXRlVmFsdWU6XSk6CisgICAgICAgIFdoZW4gZ2V0dGluZyBtYXggdmFsdWUg
b2YgYW4gaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBpbmRpY2F0b3IsIHJldHVybiAwLgorICAgICAg
ICBUaGlzIGlzIHNvIFZvaWNlT3ZlciB3aWxsIHJlY29nbml6ZSBpdCBhcyBpbmRldGVybWluYXRl
LgorCiAyMDE1LTA0LTAzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgW0NvbnRlbnQgRXh0ZW5zaW9uc10gQWRkIG1lbW9yeSByZXBvcnRpbmcu
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQkocmV2aXNpb24g
MTgyMzAzKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI1MDAsOCArMjUwMCwx
MiBAQCAtIChpZClhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6KE5TU3RyCiAgICAgaWYgKFth
dHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5TWluVmFsdWVBdHRy
aWJ1dGVdKQogICAgICAgICByZXR1cm4gW05TTnVtYmVyIG51bWJlcldpdGhGbG9hdDptX29iamVj
dC0+bWluVmFsdWVGb3JSYW5nZSgpXTsKICAgICAKLSAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNF
cXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlNYXhWYWx1ZUF0dHJpYnV0ZV0pCisgICAgaWYg
KFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5TWF4VmFsdWVB
dHRyaWJ1dGVdKSB7CisgICAgICAgIC8vIEluZGV0ZXJtaW5hdGUgcHJvZ3Jlc3MgaW5kaWNhdG9y
IHNob3VsZCByZXR1cm4gMC4KKyAgICAgICAgaWYgKG1fb2JqZWN0LT5pc1Byb2dyZXNzSW5kaWNh
dG9yKCkgJiYgIW1fb2JqZWN0LT5oYXNBdHRyaWJ1dGUoYXJpYV92YWx1ZW5vd0F0dHIpKQorICAg
ICAgICAgICAgcmV0dXJuIFtOU051bWJlciBudW1iZXJXaXRoRmxvYXQ6MC4wZl07CiAgICAgICAg
IHJldHVybiBbTlNOdW1iZXIgbnVtYmVyV2l0aEZsb2F0Om1fb2JqZWN0LT5tYXhWYWx1ZUZvclJh
bmdlKCldOworICAgIH0KICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3Ry
aW5nOiBOU0FjY2Vzc2liaWxpdHlIZWxwQXR0cmlidXRlXSkKICAgICAgICAgcmV0dXJuIFtzZWxm
IGJhc2VBY2Nlc3NpYmlsaXR5SGVscFRleHRdOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTgyMzQxKQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTUtMDQtMDMgIE1pY2hhZWwgUGVlY2hhdHQgIDxtcGVlY2hhdHRAZ21haWwuY29tPgorCisg
ICAgICAgIEJ1ZyAxNDI4ODcgLSByb2xlIHByb2dyZXNzIGJhciBkb2VzIG5vdCBzdXBwb3J0IGlu
ZGV0ZXJtaW5hdGUgc3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0Mjg4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvcHJvZ3Jlc3NiYXItaW5kZXRl
cm1pbmF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9hY2Nl
c3NpYmlsaXR5L3Byb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUuaHRtbDogQWRkZWQuCisKIDIwMTUt
MDQtMDMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
ZmFzdC9maXhlZC1sYXlvdXQvZml4ZWQtbGF5b3V0Lmh0bWwgaXMgZmxha3kKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3Byb2dyZXNzYmFyLWluZGV0ZXJtaW5h
dGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9h
Y2Nlc3NpYmlsaXR5L3Byb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvcHJvZ3Jl
c3NiYXItaW5kZXRlcm1pbmF0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxMyBAQAorWAorCitUaGlzIHRlc3RzIHRoYXQgZWxlbWVudHMgd2l0aCBwcm9ncmVzc2JhciBy
b2xlIHJldHVybiBhIG1heCB2YWx1ZSBvZiAwIGlmIGluZGV0ZXJtaW5hdGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHByb2cxLm1heFZhbHVlIGlzIDAKK1BBU1MgcHJv
ZzIubWF4VmFsdWUgaXMgMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5
L3Byb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0
eS9wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzMSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9ImJvZHkiPgorCis8ZGl2IHRhYmlu
ZGV4PSIwIiBpZD0icHJvZ3Jlc3NiYXIxIiByb2xlPSJwcm9ncmVzc2JhciIgYXJpYS12YWx1ZW1p
bj0iMCIgYXJpYS12YWx1ZW1heD0iMTAwIj5YPC9kaXY+Cis8cHJvZ3Jlc3MgdGFiaW5kZXg9IjAi
IGlkPSJwcm9ncmVzc2JhcjIiIHJvbGU9InByb2dyZXNzYmFyIiBhcmlhLXZhbHVlbWluPSI3NSIg
YXJpYS12YWx1ZW1heD0iMTAwIj48L3Byb2dyZXNzPgorCis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3RzIHRoYXQgZWxlbWVudHMgd2l0aCBwcm9ncmVzc2JhciByb2xlIHJldHVybiBh
IG1heCB2YWx1ZSBvZiAwIGlmIGluZGV0ZXJtaW5hdGUuIik7CisKKyAgICBpZiAod2luZG93LmFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgICAgLy8gRGl2IGVsZW1lbnQgZ2l2ZW4g
cHJvZ3Jlc3NiYXIgcm9sZSwgd2l0aCBubyB2YWx1ZS4KKyAgICAgICAgICB2YXIgcHJvZzEgPSBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInByb2dyZXNzYmFy
MSIpOworICAgICAgICAgIHNob3VsZEJlKCJwcm9nMS5tYXhWYWx1ZSIsICIwIik7CisKKyAgICAg
ICAgICAvLyBJbmRldGVybWluYXRlIHByb2dyZXNzIGVsZW1lbnQuCisgICAgICAgICAgdmFyIHBy
b2cyID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJwcm9n
cmVzc2JhcjIiKTsKKyAgICAgICAgICBzaG91bGRCZSgicHJvZzIubWF4VmFsdWUiLCAiMCIpOwor
ICAgIH0KKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250125</attachid>
            <date>2015-04-04 00:06:43 -0700</date>
            <delta_ts>2015-04-04 00:09:31 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>5490</size>
            <attacher>mpeechatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA0LTAzICBNaWNoYWVs
IFBlZWNoYXR0ICA8bXBlZWNoYXR0QGdtYWlsLmNvbT4KKworICAgICAgICBCdWcgMTQyODg3IC0g
cm9sZSBwcm9ncmVzcyBiYXIgZG9lcyBub3Qgc3VwcG9ydCBpbmRldGVybWluYXRlIHN0YXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4ODcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbGF0
Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLmh0bWwKKwor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
TWFjLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3Np
YmlsaXR5QXR0cmlidXRlVmFsdWU6XSk6CisgICAgICAgIFdoZW4gZ2V0dGluZyBtaW4gb3IgbWF4
IHZhbHVlIG9mIGFuIGluZGV0ZXJtaW5hdGUgcHJvZ3Jlc3MgaW5kaWNhdG9yLCByZXR1cm4gMC4K
KyAgICAgICAgVGhpcyBpcyBzbyBWb2ljZU92ZXIgd2lsbCByZWNvZ25pemUgaXQgYXMgaW5kZXRl
cm1pbmF0ZS4KKwogMjAxNS0wNC0wMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIFtDb250ZW50IEV4dGVuc2lvbnNdIEFkZCBtZW1vcnkgcmVw
b3J0aW5nLgpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHJl
dmlzaW9uIDE4MjMwMykKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNDk2LDEy
ICsyNDk2LDIwIEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTooTlNTdHIKICAg
ICAgICAgY29uc3QgdW5pY2hhciBjaCA9IDB4MjcxMzsgLy8g4pyTIHVzZWQgb24gTWFjIGZvciBz
ZWxlY3RlZCBtZW51IGl0ZW1zLgogICAgICAgICByZXR1cm4gKG1fb2JqZWN0LT5pc0NoZWNrZWQo
KSkgPyBbTlNTdHJpbmcgc3RyaW5nV2l0aENoYXJhY3RlcnM6JmNoIGxlbmd0aDoxXSA6IG5pbDsK
ICAgICB9Ci0KLSAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vz
c2liaWxpdHlNaW5WYWx1ZUF0dHJpYnV0ZV0pCisgICAgCisgICAgaWYgKFthdHRyaWJ1dGVOYW1l
IGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5TWluVmFsdWVBdHRyaWJ1dGVdKSB7Cisg
ICAgICAgIC8vIEluZGV0ZXJtaW5hdGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIHNob3VsZCByZXR1cm4g
MC4KKyAgICAgICAgaWYgKG1fb2JqZWN0LT5pc1Byb2dyZXNzSW5kaWNhdG9yKCkgJiYgIW1fb2Jq
ZWN0LT5oYXNBdHRyaWJ1dGUoYXJpYV92YWx1ZW5vd0F0dHIpKQorICAgICAgICAgICAgcmV0dXJu
IEAwOwogICAgICAgICByZXR1cm4gW05TTnVtYmVyIG51bWJlcldpdGhGbG9hdDptX29iamVjdC0+
bWluVmFsdWVGb3JSYW5nZSgpXTsKKyAgICB9CiAgICAgCi0gICAgaWYgKFthdHRyaWJ1dGVOYW1l
IGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5TWF4VmFsdWVBdHRyaWJ1dGVdKQorICAg
IGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eU1heFZh
bHVlQXR0cmlidXRlXSkgeworICAgICAgICAvLyBJbmRldGVybWluYXRlIHByb2dyZXNzIGluZGlj
YXRvciBzaG91bGQgcmV0dXJuIDAuCisgICAgICAgIGlmIChtX29iamVjdC0+aXNQcm9ncmVzc0lu
ZGljYXRvcigpICYmICFtX29iamVjdC0+aGFzQXR0cmlidXRlKGFyaWFfdmFsdWVub3dBdHRyKSkK
KyAgICAgICAgICAgIHJldHVybiBAMDsKICAgICAgICAgcmV0dXJuIFtOU051bWJlciBudW1iZXJX
aXRoRmxvYXQ6bV9vYmplY3QtPm1heFZhbHVlRm9yUmFuZ2UoKV07CisgICAgfQogICAgIAogICAg
IGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eUhlbHBB
dHRyaWJ1dGVdKQogICAgICAgICByZXR1cm4gW3NlbGYgYmFzZUFjY2Vzc2liaWxpdHlIZWxwVGV4
dF07CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODIzNDEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNC0wMyAgTWljaGFlbCBQZWVj
aGF0dCAgPG1wZWVjaGF0dEBnbWFpbC5jb20+CisKKyAgICAgICAgQnVnIDE0Mjg4NyAtIHJvbGUg
cHJvZ3Jlc3MgYmFyIGRvZXMgbm90IHN1cHBvcnQgaW5kZXRlcm1pbmF0ZSBzdGF0ZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyODg3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
YWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvcHJvZ3Jlc3NiYXItaW5k
ZXRlcm1pbmF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgVGVzdCB0aGF0IGNoZWNrcyBpZiAwIGlz
IHJldHVybmVkIGZvciBpbmRldGVybWlhdGUgcHJvZ3Jlc3MgaW5kaWNhdG9ycyB3aGVuCisgICAg
ICAgIGFyaWEgbWluIGFuZCBtYXggdmFsdWVzIGFyZSBub24gemVyby4KKwogMjAxNS0wNC0wMyAg
VGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBmYXN0L2Zp
eGVkLWxheW91dC9maXhlZC1sYXlvdXQuaHRtbCBpcyBmbGFreQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2li
aWxpdHkvcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1p
bmRldGVybWluYXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1IEBA
CitYCisKK1RoaXMgdGVzdHMgdGhhdCBlbGVtZW50cyB3aXRoIHByb2dyZXNzYmFyIHJvbGUgcmV0
dXJuIDAgZm9yIG1heCBhbmQgbWF4IHZhbHVlLCBpZiBpbmRldGVybWluYXRlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBwcm9nMS5tYXhWYWx1ZSBpcyAwCitQQVNTIHBy
b2cxLm1pblZhbHVlIGlzIDAKK1BBU1MgcHJvZzIubWF4VmFsdWUgaXMgMAorUEFTUyBwcm9nMi5t
aW5WYWx1ZSBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvcHJv
Z3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3Byb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3By
b2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+CisKKzxkaXYgdGFiaW5kZXg9
IjAiIGlkPSJwcm9ncmVzc2JhcjEiIHJvbGU9InByb2dyZXNzYmFyIiBhcmlhLXZhbHVlbWluPSIz
NSIgYXJpYS12YWx1ZW1heD0iMTAwIj5YPC9kaXY+Cis8cHJvZ3Jlc3MgdGFiaW5kZXg9IjAiIGlk
PSJwcm9ncmVzc2JhcjIiIHJvbGU9InByb2dyZXNzYmFyIiBhcmlhLXZhbHVlbWluPSI3NSIgYXJp
YS12YWx1ZW1heD0iMTAwIj48L3Byb2dyZXNzPgorCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3RzIHRoYXQgZWxlbWVudHMgd2l0aCBwcm9ncmVzc2JhciByb2xlIHJldHVybiAwIGZv
ciBtYXggYW5kIG1heCB2YWx1ZSwgaWYgaW5kZXRlcm1pbmF0ZS4iKTsKKworICAgIGlmICh3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgICAvLyBEaXYgZWxlbWVudCBn
aXZlbiBwcm9ncmVzc2JhciByb2xlLCB3aXRoIG5vIHZhbHVlLgorICAgICAgICAgIHZhciBwcm9n
MSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgicHJvZ3Jl
c3NiYXIxIik7CisgICAgICAgICAgc2hvdWxkQmUoInByb2cxLm1heFZhbHVlIiwgIjAiKTsKKyAg
ICAgICAgICBzaG91bGRCZSgicHJvZzEubWluVmFsdWUiLCAiMCIpOworCisgICAgICAgICAgLy8g
SW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBlbGVtZW50LgorICAgICAgICAgIHZhciBwcm9nMiA9IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgicHJvZ3Jlc3NiYXIy
Iik7CisgICAgICAgICAgc2hvdWxkQmUoInByb2cyLm1heFZhbHVlIiwgIjAiKTsKKyAgICAgICAg
ICBzaG91bGRCZSgicHJvZzIubWluVmFsdWUiLCAiMCIpOworICAgIH0KKzwvc2NyaXB0PgorCis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250126</attachid>
            <date>2015-04-04 00:09:31 -0700</date>
            <delta_ts>2015-04-05 23:20:09 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>5490</size>
            <attacher>mpeechatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MjM0MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA0LTAzICBNaWNoYWVs
IFBlZWNoYXR0ICA8bXBlZWNoYXR0QGdtYWlsLmNvbT4KKworICAgICAgICBCdWcgMTQyODg3IC0g
cm9sZSBwcm9ncmVzcyBiYXIgZG9lcyBub3Qgc3VwcG9ydCBpbmRldGVybWluYXRlIHN0YXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4ODcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbGF0
Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLmh0bWwKKwor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
TWFjLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3Np
YmlsaXR5QXR0cmlidXRlVmFsdWU6XSk6CisgICAgICAgIFdoZW4gZ2V0dGluZyBtaW4gb3IgbWF4
IHZhbHVlIG9mIGFuIGluZGV0ZXJtaW5hdGUgcHJvZ3Jlc3MgaW5kaWNhdG9yLCByZXR1cm4gMC4K
KyAgICAgICAgVGhpcyBpcyBzbyBWb2ljZU92ZXIgd2lsbCByZWNvZ25pemUgaXQgYXMgaW5kZXRl
cm1pbmF0ZS4KKwogMjAxNS0wNC0wMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIFtDb250ZW50IEV4dGVuc2lvbnNdIEFkZCBtZW1vcnkgcmVw
b3J0aW5nLgpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHJl
dmlzaW9uIDE4MjMwMykKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNDk2LDEy
ICsyNDk2LDIwIEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTooTlNTdHIKICAg
ICAgICAgY29uc3QgdW5pY2hhciBjaCA9IDB4MjcxMzsgLy8g4pyTIHVzZWQgb24gTWFjIGZvciBz
ZWxlY3RlZCBtZW51IGl0ZW1zLgogICAgICAgICByZXR1cm4gKG1fb2JqZWN0LT5pc0NoZWNrZWQo
KSkgPyBbTlNTdHJpbmcgc3RyaW5nV2l0aENoYXJhY3RlcnM6JmNoIGxlbmd0aDoxXSA6IG5pbDsK
ICAgICB9Ci0KLSAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vz
c2liaWxpdHlNaW5WYWx1ZUF0dHJpYnV0ZV0pCisgICAgCisgICAgaWYgKFthdHRyaWJ1dGVOYW1l
IGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5TWluVmFsdWVBdHRyaWJ1dGVdKSB7Cisg
ICAgICAgIC8vIEluZGV0ZXJtaW5hdGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIHNob3VsZCByZXR1cm4g
MC4KKyAgICAgICAgaWYgKG1fb2JqZWN0LT5pc1Byb2dyZXNzSW5kaWNhdG9yKCkgJiYgIW1fb2Jq
ZWN0LT5oYXNBdHRyaWJ1dGUoYXJpYV92YWx1ZW5vd0F0dHIpKQorICAgICAgICAgICAgcmV0dXJu
IEAwOwogICAgICAgICByZXR1cm4gW05TTnVtYmVyIG51bWJlcldpdGhGbG9hdDptX29iamVjdC0+
bWluVmFsdWVGb3JSYW5nZSgpXTsKKyAgICB9CiAgICAgCi0gICAgaWYgKFthdHRyaWJ1dGVOYW1l
IGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5TWF4VmFsdWVBdHRyaWJ1dGVdKQorICAg
IGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eU1heFZh
bHVlQXR0cmlidXRlXSkgeworICAgICAgICAvLyBJbmRldGVybWluYXRlIHByb2dyZXNzIGluZGlj
YXRvciBzaG91bGQgcmV0dXJuIDAuCisgICAgICAgIGlmIChtX29iamVjdC0+aXNQcm9ncmVzc0lu
ZGljYXRvcigpICYmICFtX29iamVjdC0+aGFzQXR0cmlidXRlKGFyaWFfdmFsdWVub3dBdHRyKSkK
KyAgICAgICAgICAgIHJldHVybiBAMDsKICAgICAgICAgcmV0dXJuIFtOU051bWJlciBudW1iZXJX
aXRoRmxvYXQ6bV9vYmplY3QtPm1heFZhbHVlRm9yUmFuZ2UoKV07CisgICAgfQogICAgIAogICAg
IGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eUhlbHBB
dHRyaWJ1dGVdKQogICAgICAgICByZXR1cm4gW3NlbGYgYmFzZUFjY2Vzc2liaWxpdHlIZWxwVGV4
dF07CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODIzNDEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNC0wMyAgTWljaGFlbCBQZWVj
aGF0dCAgPG1wZWVjaGF0dEBnbWFpbC5jb20+CisKKyAgICAgICAgQnVnIDE0Mjg4NyAtIHJvbGUg
cHJvZ3Jlc3MgYmFyIGRvZXMgbm90IHN1cHBvcnQgaW5kZXRlcm1pbmF0ZSBzdGF0ZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyODg3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
YWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvcHJvZ3Jlc3NiYXItaW5k
ZXRlcm1pbmF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgVGVzdCB0aGF0IGNoZWNrcyBpZiAwIGlz
IHJldHVybmVkIGZvciBpbmRldGVybWlhdGUgcHJvZ3Jlc3MgaW5kaWNhdG9ycyB3aGVuCisgICAg
ICAgIGFyaWEgbWluIGFuZCBtYXggdmFsdWVzIGFyZSBub24gemVyby4KKwogMjAxNS0wNC0wMyAg
VGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBmYXN0L2Zp
eGVkLWxheW91dC9maXhlZC1sYXlvdXQuaHRtbCBpcyBmbGFreQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2li
aWxpdHkvcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1p
bmRldGVybWluYXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1IEBA
CitYCisKK1RoaXMgdGVzdHMgdGhhdCBlbGVtZW50cyB3aXRoIHByb2dyZXNzYmFyIHJvbGUgcmV0
dXJuIDAgZm9yIG1pbiBhbmQgbWF4IHZhbHVlLCBpZiBpbmRldGVybWluYXRlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBwcm9nMS5tYXhWYWx1ZSBpcyAwCitQQVNTIHBy
b2cxLm1pblZhbHVlIGlzIDAKK1BBU1MgcHJvZzIubWF4VmFsdWUgaXMgMAorUEFTUyBwcm9nMi5t
aW5WYWx1ZSBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvcHJv
Z3Jlc3NiYXItaW5kZXRlcm1pbmF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3Byb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3By
b2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMy
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+CisKKzxkaXYgdGFiaW5kZXg9
IjAiIGlkPSJwcm9ncmVzc2JhcjEiIHJvbGU9InByb2dyZXNzYmFyIiBhcmlhLXZhbHVlbWluPSIz
NSIgYXJpYS12YWx1ZW1heD0iMTAwIj5YPC9kaXY+Cis8cHJvZ3Jlc3MgdGFiaW5kZXg9IjAiIGlk
PSJwcm9ncmVzc2JhcjIiIHJvbGU9InByb2dyZXNzYmFyIiBhcmlhLXZhbHVlbWluPSI3NSIgYXJp
YS12YWx1ZW1heD0iMTAwIj48L3Byb2dyZXNzPgorCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3RzIHRoYXQgZWxlbWVudHMgd2l0aCBwcm9ncmVzc2JhciByb2xlIHJldHVybiAwIGZv
ciBtaW4gYW5kIG1heCB2YWx1ZSwgaWYgaW5kZXRlcm1pbmF0ZS4iKTsKKworICAgIGlmICh3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgICAvLyBEaXYgZWxlbWVudCBn
aXZlbiBwcm9ncmVzc2JhciByb2xlLCB3aXRoIG5vIHZhbHVlLgorICAgICAgICAgIHZhciBwcm9n
MSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgicHJvZ3Jl
c3NiYXIxIik7CisgICAgICAgICAgc2hvdWxkQmUoInByb2cxLm1heFZhbHVlIiwgIjAiKTsKKyAg
ICAgICAgICBzaG91bGRCZSgicHJvZzEubWluVmFsdWUiLCAiMCIpOworCisgICAgICAgICAgLy8g
SW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBlbGVtZW50LgorICAgICAgICAgIHZhciBwcm9nMiA9IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgicHJvZ3Jlc3NiYXIy
Iik7CisgICAgICAgICAgc2hvdWxkQmUoInByb2cyLm1heFZhbHVlIiwgIjAiKTsKKyAgICAgICAg
ICBzaG91bGRCZSgicHJvZzIubWluVmFsdWUiLCAiMCIpOworICAgIH0KKzwvc2NyaXB0PgorCis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+
</data>
<flag name="review"
          id="274964"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
    <flag name="commit-queue"
          id="274965"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250195</attachid>
            <date>2015-04-05 23:20:09 -0700</date>
            <delta_ts>2015-04-07 22:57:58 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5486</size>
            <attacher>mpeechatt</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4MjM2NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA0LTAzICBNaWNoYWVsIFBlZWNoYXR0
ICA8bXBlZWNoYXR0QGdtYWlsLmNvbT4KKworICAgICAgICBCdWcgMTQyODg3IC0gcm9sZSBwcm9n
cmVzcyBiYXIgZG9lcyBub3Qgc3VwcG9ydCBpbmRldGVybWluYXRlIHN0YXRlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4ODcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9hY2Nl
c3NpYmlsaXR5L3Byb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1pbmRldGVy
bWluYXRlLmh0bWw6IEFkZGVkLgorICAgICAgICBUZXN0IHRoYXQgY2hlY2tzIGlmIDAgaXMgcmV0
dXJuZWQgZm9yIGluZGV0ZXJtaWF0ZSBwcm9ncmVzcyBpbmRpY2F0b3JzIHdoZW4KKyAgICAgICAg
YXJpYSBtaW4gYW5kIG1heCB2YWx1ZXMgYXJlIG5vbiB6ZXJvLgorCiAyMDE1LTA0LTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFNraXAgZmFzdC9m
aXhlZC1sYXlvdXQvZml4ZWQtbGF5b3V0Lmh0bWwgb24gV2luZG93cy4KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3Byb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nl
c3NpYmlsaXR5L3Byb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvcHJvZ3Jlc3Ni
YXItaW5kZXRlcm1pbmF0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
NSBAQAorWAorCitUaGlzIHRlc3RzIHRoYXQgZWxlbWVudHMgd2l0aCBwcm9ncmVzc2JhciByb2xl
IHJldHVybiAwIGZvciBtaW4gYW5kIG1heCB2YWx1ZSwgaWYgaW5kZXRlcm1pbmF0ZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcHJvZzEubWF4VmFsdWUgaXMgMAorUEFT
UyBwcm9nMS5taW5WYWx1ZSBpcyAwCitQQVNTIHByb2cyLm1heFZhbHVlIGlzIDAKK1BBU1MgcHJv
ZzIubWluVmFsdWUgaXMgMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5
L3Byb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0
eS9wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9ImJvZHkiPgorCis8ZGl2IHRhYmlu
ZGV4PSIwIiBpZD0icHJvZ3Jlc3NiYXIxIiByb2xlPSJwcm9ncmVzc2JhciIgYXJpYS12YWx1ZW1p
bj0iMzUiIGFyaWEtdmFsdWVtYXg9IjEwMCI+WDwvZGl2PgorPHByb2dyZXNzIHRhYmluZGV4PSIw
IiBpZD0icHJvZ3Jlc3NiYXIyIiByb2xlPSJwcm9ncmVzc2JhciIgYXJpYS12YWx1ZW1pbj0iNzUi
IGFyaWEtdmFsdWVtYXg9IjEwMCI+PC9wcm9ncmVzcz4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0cyB0aGF0IGVsZW1lbnRzIHdpdGggcHJvZ3Jlc3NiYXIgcm9sZSByZXR1cm4g
MCBmb3IgbWluIGFuZCBtYXggdmFsdWUsIGlmIGluZGV0ZXJtaW5hdGUuIik7CisKKyAgICBpZiAo
d2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgICAgLy8gRGl2IGVsZW1l
bnQgZ2l2ZW4gcHJvZ3Jlc3NiYXIgcm9sZSwgd2l0aCBubyB2YWx1ZS4KKyAgICAgICAgICB2YXIg
cHJvZzEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInBy
b2dyZXNzYmFyMSIpOworICAgICAgICAgIHNob3VsZEJlKCJwcm9nMS5tYXhWYWx1ZSIsICIwIik7
CisgICAgICAgICAgc2hvdWxkQmUoInByb2cxLm1pblZhbHVlIiwgIjAiKTsKKworICAgICAgICAg
IC8vIEluZGV0ZXJtaW5hdGUgcHJvZ3Jlc3MgZWxlbWVudC4KKyAgICAgICAgICB2YXIgcHJvZzIg
PSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInByb2dyZXNz
YmFyMiIpOworICAgICAgICAgIHNob3VsZEJlKCJwcm9nMi5tYXhWYWx1ZSIsICIwIik7CisgICAg
ICAgICAgc2hvdWxkQmUoInByb2cyLm1pblZhbHVlIiwgIjAiKTsKKyAgICB9Cis8L3NjcmlwdD4K
KworPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgyMzY2KQor
KysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTUtMDQtMDMgIE1pY2hhZWwgUGVlY2hhdHQgIDxtcGVlY2hhdHRAZ21haWwuY29tPgor
CisgICAgICAgIEJ1ZyAxNDI4ODcgLSByb2xlIHByb2dyZXNzIGJhciBkb2VzIG5vdCBzdXBwb3J0
IGluZGV0ZXJtaW5hdGUgc3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0Mjg4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3Byb2dyZXNzYmFy
LWluZGV0ZXJtaW5hdGUuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpdKToKKyAgICAgICAg
V2hlbiBnZXR0aW5nIG1pbiBvciBtYXggdmFsdWUgb2YgYW4gaW5kZXRlcm1pbmF0ZSBwcm9ncmVz
cyBpbmRpY2F0b3IsIHJldHVybiAwLgorICAgICAgICBUaGlzIGlzIHNvIFZvaWNlT3ZlciB3aWxs
IHJlY29nbml6ZSBpdCBhcyBpbmRldGVybWluYXRlLgorCiAyMDE1LTA0LTA1ICBHeXV5b3VuZyBL
aW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgVXNlIGNvbnN0YW50cyBv
ZiBzcWxpdGUzIGRpcmVjdGx5IGZvciBzdGF0dXMgb2YgU1FMIHJlc3VsdCBpbiB3ZWJkYXRhYmFz
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0JKHJldmlzaW9u
IDE4MjM2NikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNDk2LDEyICsyNDk2
LDIwIEBACiAgICAgICAgIGNvbnN0IHVuaWNoYXIgY2ggPSAweDI3MTM7IC8vIOKckyB1c2VkIG9u
IE1hYyBmb3Igc2VsZWN0ZWQgbWVudSBpdGVtcy4KICAgICAgICAgcmV0dXJuIChtX29iamVjdC0+
aXNDaGVja2VkKCkpID8gW05TU3RyaW5nIHN0cmluZ1dpdGhDaGFyYWN0ZXJzOiZjaCBsZW5ndGg6
MV0gOiBuaWw7CiAgICAgfQotCi0gICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmlu
ZzogTlNBY2Nlc3NpYmlsaXR5TWluVmFsdWVBdHRyaWJ1dGVdKQorICAgIAorICAgIGlmIChbYXR0
cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eU1pblZhbHVlQXR0cmli
dXRlXSkgeworICAgICAgICAvLyBJbmRldGVybWluYXRlIHByb2dyZXNzIGluZGljYXRvciBzaG91
bGQgcmV0dXJuIDAuCisgICAgICAgIGlmIChtX29iamVjdC0+aXNQcm9ncmVzc0luZGljYXRvcigp
ICYmICFtX29iamVjdC0+aGFzQXR0cmlidXRlKGFyaWFfdmFsdWVub3dBdHRyKSkKKyAgICAgICAg
ICAgIHJldHVybiBAMDsKICAgICAgICAgcmV0dXJuIFtOU051bWJlciBudW1iZXJXaXRoRmxvYXQ6
bV9vYmplY3QtPm1pblZhbHVlRm9yUmFuZ2UoKV07CisgICAgfQogICAgIAotICAgIGlmIChbYXR0
cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eU1heFZhbHVlQXR0cmli
dXRlXSkKKyAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2li
aWxpdHlNYXhWYWx1ZUF0dHJpYnV0ZV0pIHsKKyAgICAgICAgLy8gSW5kZXRlcm1pbmF0ZSBwcm9n
cmVzcyBpbmRpY2F0b3Igc2hvdWxkIHJldHVybiAwLgorICAgICAgICBpZiAobV9vYmplY3QtPmlz
UHJvZ3Jlc3NJbmRpY2F0b3IoKSAmJiAhbV9vYmplY3QtPmhhc0F0dHJpYnV0ZShhcmlhX3ZhbHVl
bm93QXR0cikpCisgICAgICAgICAgICByZXR1cm4gQDA7CiAgICAgICAgIHJldHVybiBbTlNOdW1i
ZXIgbnVtYmVyV2l0aEZsb2F0Om1fb2JqZWN0LT5tYXhWYWx1ZUZvclJhbmdlKCldOworICAgIH0K
ICAgICAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2li
aWxpdHlIZWxwQXR0cmlidXRlXSkKICAgICAgICAgcmV0dXJuIFtzZWxmIGJhc2VBY2Nlc3NpYmls
aXR5SGVscFRleHRdOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>